KR102359687B1 - Cyber remote management device for multi-client - Google Patents

Cyber remote management device for multi-client Download PDF

Info

Publication number
KR102359687B1
KR102359687B1 KR1020200152028A KR20200152028A KR102359687B1 KR 102359687 B1 KR102359687 B1 KR 102359687B1 KR 1020200152028 A KR1020200152028 A KR 1020200152028A KR 20200152028 A KR20200152028 A KR 20200152028A KR 102359687 B1 KR102359687 B1 KR 102359687B1
Authority
KR
South Korea
Prior art keywords
buffer
relay
client
processing unit
leader
Prior art date
Application number
KR1020200152028A
Other languages
Korean (ko)
Inventor
위철혁
Original Assignee
위철혁
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 위철혁 filed Critical 위철혁
Priority to KR1020200152028A priority Critical patent/KR102359687B1/en
Application granted granted Critical
Publication of KR102359687B1 publication Critical patent/KR102359687B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a cyber remote management device for multi-clients which comprises: a multi-client topology processing unit for setting a topology for a plurality of relay groups; a leader determining unit that determines, for each of the plurality of relay groups, a specific client member as a leader based on relay data processing performance; a work thread processing unit that generates a work thread that manages a master buffer; and a data transmission processing unit that receives buffer state information about a slave buffer of the client member belonging to a relay group through the leader to determine a relay order and controls the work thread based on the buffer state information to relay a file image to the leader.

Description

멀티 클라이언트용 사이버 원격관리 장치{CYBER REMOTE MANAGEMENT DEVICE FOR MULTI-CLIENT}Cyber remote management device for multi-client {CYBER REMOTE MANAGEMENT DEVICE FOR MULTI-CLIENT}

본 발명은 사이버 원격관리 기술에 관한 것으로, 보다 상세하게는 복수의 릴레이 그룹들에 대해 데이터 처리 성능에 따라 동적으로 마스터-슬레이브 네트워크를 구성하여 효율적인 원격 관리를 제공할 수 있는 멀티 클라이언트용 사이버 원격관리 장치에 관한 것이다.The present invention relates to a cyber remote management technology, and more particularly, to a multi-client cyber remote management that can provide efficient remote management by dynamically configuring a master-slave network according to data processing performance for a plurality of relay groups. It's about the device.

일반적으로 네트워크란 복수대의 컴퓨터를 물리적으로 연결한 것으로, 공간적인 거리에 따라 LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 등으로 구분될 수 있다. 종래의 원격관리 시스템은 관리자의 제어 시스템인 PC나 서버를 다수의 관리대상 시스템과 네트워크 망으로 연결하고, ASF(Alert Standard Format) 또는 Intel(R) AMT(TM)(Active Management Technology) 등을 이용하여 전원 싸이클, 시스템 재원관리, 시스템 관리 도구, 업데이트 및 문제 발생시 치료 등의 동작을 수행하였다.In general, a network is a physical connection of a plurality of computers, and may be classified into a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), etc. according to a spatial distance. The conventional remote management system connects a PC or server, which is the administrator's control system, with a number of management target systems through a network network, and uses ASF (Alert Standard Format) or Intel(R) AMT(TM) (Active Management Technology), etc. Thus, operations such as power cycle, system resource management, system management tool, update, and problem treatment were performed.

종래의 네트워크를 이용한 원격관리 시스템에 있어서, 호스트 컴퓨터는 복수대의 컴퓨터로 구성된 클라이언트 컴퓨터를 원격에서 제어 및 모니터링 할 수 있다. 이를 위해, 복수의 클라이언트컴퓨터에서 각각 실행되는 복수의 응용프로그램을 호스트컴퓨터에서 단독으로 실행시키고 그 결과를 클라이언트 컴퓨터에 제공하여 클라이언트 컴퓨터를 터미널화 할 수 있도록 복수의 클라이언트 컴퓨터들의 입출력장치를 호스트 컴퓨터가 제어한다. 이때, 호스트 컴퓨터는 클라이언트 컴퓨터의 시스템을 동작시키면서 호스트 컴퓨터의 주변장치를 이용하여 클라이언트 컴퓨터를 모니터할 수 있다.In a conventional remote management system using a network, a host computer can remotely control and monitor a client computer composed of a plurality of computers. To this end, the host computer separately executes a plurality of application programs that are each executed on the plurality of client computers, and provides the results to the client computer so that the input/output devices of the plurality of client computers can be terminalized by the host computer. control In this case, the host computer may monitor the client computer using a peripheral device of the host computer while operating the system of the client computer.

한국등록특허 제10-1331223호 (2013.11.11)Korean Patent No. 10-1331223 (2013.11.11)

본 발명의 일 실시예는 복수의 릴레이 그룹들에 대해 데이터 처리 성능에 따라 동적으로 마스터-슬레이브 네트워크를 구성하여 효율적인 원격 관리를 제공할 수 있는 멀티 클라이언트용 사이버 원격관리 장치를 제공하고자 한다.An embodiment of the present invention is to provide a multi-client cyber remote management apparatus capable of providing efficient remote management by dynamically configuring a master-slave network according to data processing performance for a plurality of relay groups.

본 발명의 일 실시예는 슬레이브 버퍼에 관한 버퍼 상태 정보를 기초로 임계 버퍼량 및 버퍼 대기시간을 가변적으로 설정하여 파일 이미지의 릴레이 속도를 제어하는 멀티 클라이언트용 사이버 원격관리 장치를 제공하고자 한다.An embodiment of the present invention is to provide a multi-client cyber remote management apparatus for controlling a relay speed of a file image by variably setting a threshold buffer amount and a buffer waiting time based on buffer status information about a slave buffer.

실시예들 중에서, 멀티 클라이언트용 사이버 원격관리 장치는 복수의 클라이언트 단말들 각각의 데이터 전송 처리 속도를 기초로 각각은 적어도 하나의 클라이언트 구성원으로 구성된 복수의 릴레이 그룹들에 대한 토폴로지를 설정하는 멀티 클라이언트 토폴로지 처리부; 상기 복수의 릴레이 그룹들 각각에 관해, 해당 릴레이 그룹에서의 릴레이 데이터 처리 성능을 기초로 특정 클라이언트 구성원을 리더로서 결정하는 리더 결정부; 상기 복수의 릴레이 그룹들의 개수에 비례하고 해당 리더의 릴레이 데이터 처리 성능을 기초로 설정된 마스터 버퍼를 관리하는 작업 쓰레드를 생성하는 작업 쓰레드 처리부; 및 상기 리더를 통해 상기 릴레이 그룹에 속한 클라이언트 구성원의 슬레이브 버퍼에 관한 버퍼 상태 정보를 수신하여 릴레이 순서를 결정하고 상기 버퍼 상태 정보를 기초로 상기 작업 쓰레드를 제어하여 상기 리더에 파일 이미지를 릴레이하는 데이터 전송 처리부를 포함한다.Among the embodiments, the multi-client cyber remote management apparatus sets a topology for a plurality of relay groups each comprising at least one client member based on the data transmission processing speed of each of the plurality of client terminals. processing unit; a leader determining unit for each of the plurality of relay groups, determining a specific client member as a leader based on relay data processing performance in the corresponding relay group; a work thread processing unit that generates a work thread that is proportional to the number of the plurality of relay groups and manages a master buffer set based on the relay data processing performance of a corresponding reader; and data for receiving buffer status information about a slave buffer of a client member belonging to the relay group through the reader, determining a relay order, and relaying a file image to the reader by controlling the work thread based on the buffer status information It includes a transmission processing unit.

상기 멀티 클라이언트 토폴로지 처리부는 상기 데이터 전송 처리 속도를 기초로 복수의 클라이언트 단말들을 분류하여 클라이언트 클러스터를 구성하고, 특정 클라이언트 클러스터에 집중되지 않도록 상기 적어도 하나의 클라이언트 구성원을 선택할 수 있다.The multi-client topology processing unit may configure a client cluster by classifying a plurality of client terminals based on the data transmission processing speed, and may select the at least one client member so as not to focus on a specific client cluster.

상기 리더 결정부는 상기 해당 릴레이 그룹에서의 네트워크 전송속도, CPU 처리속도, 메모리 처리속도 및 버퍼량을 기초로 상기 마스터 버퍼의 처리 지연을 최소화 할 수 있는 클라이언트 구성원을 상기 리더로서 선출할 수 있다.The leader determining unit may select, as the leader, a client member capable of minimizing the processing delay of the master buffer based on the network transmission speed, CPU processing speed, memory processing speed, and buffer amount in the corresponding relay group.

상기 작업 쓰레드 처리부는 상기 복수의 릴레이 그룹들 각각에 일대일 관계를 형성하도록 상기 작업 쓰레드를 생성하고, 상기 릴레이 데이터 처리 성능을 기초로 상기 마스터 버퍼의 크기를 결정할 수 있다.The working thread processing unit may generate the working thread to form a one-to-one relationship with each of the plurality of relay groups, and determine the size of the master buffer based on the relay data processing performance.

상기 데이터 전송 처리부는 상기 슬레이브 버퍼에 관한 버퍼 상태 정보를 기초로 상기 슬레이브 버퍼의 임계 버퍼량 및 버퍼 대기시간을 가변적으로 설정하여, 상기 파일 이미지의 릴레이 속도를 제어할 수 있다.The data transmission processing unit may control the relay speed of the file image by variably setting a threshold buffer amount and a buffer waiting time of the slave buffer based on buffer status information about the slave buffer.

상기 데이터 전송 처리부는 상기 임계 버퍼량의 한계에 도달하는 것을 검출하여 상기 임계 버퍼량의 여유가 제1 기준까지 감소되면 상기 버퍼 대기시간을 증가시키고, 상기 임계 버퍼량의 여유가 제2 기준까지 증가되면 상기 버퍼 대기시간을 감소시킬 수 있다.The data transmission processing unit detects that the limit of the threshold buffer amount is reached, and increases the buffer waiting time when the margin of the critical buffer amount is reduced to a first criterion, and the margin of the critical buffer amount is increased to a second criterion This can reduce the buffer waiting time.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a specific embodiment should include all of the following effects or only the following effects, so the scope of the disclosed technology should not be understood as being limited thereby.

본 발명의 일 실시예에 따른 멀티 클라이언트용 사이버 원격관리 장치는 복수의 릴레이 그룹들에 대해 데이터 처리 성능에 따라 동적으로 마스터-슬레이브 네트워크를 구성하여 효율적인 원격 관리를 제공할 수 있다.The cyber remote management apparatus for multi-client according to an embodiment of the present invention can provide efficient remote management by dynamically configuring a master-slave network according to data processing performance for a plurality of relay groups.

본 발명의 일 실시예에 따른 멀티 클라이언트용 사이버 원격관리 장치는 슬레이브 버퍼에 관한 버퍼 상태 정보를 기초로 임계 버퍼량 및 버퍼 대기시간을 가변적으로 설정하여 파일 이미지의 릴레이 속도를 제어할 수 있다.The cyber remote management apparatus for multi-client according to an embodiment of the present invention may control the relay speed of a file image by variably setting a threshold buffer amount and a buffer waiting time based on buffer status information on a slave buffer.

도 1은 본 발명에 따른 멀티 클라이언트용 사이버 원격관리 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 사이버 원격관리 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1에 있는 사이버 원격관리 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 멀티 클라이언트용 사이버 원격관리 방법을 설명하는 순서도이다.
1 is a view for explaining a cyber remote management system for multi-client according to the present invention.
FIG. 2 is a diagram for explaining a system configuration of the cyber remote management device of FIG. 1 .
FIG. 3 is a view for explaining a functional configuration of the cyber remote management device shown in FIG. 1 .
4 is a flowchart illustrating a cyber remote management method for a multi-client according to the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiment described in the text. That is, since the embodiment may have various changes and may have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such effects, it should not be understood that the scope of the present invention is limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as “first” and “second” are for distinguishing one component from another, and the scope of rights should not be limited by these terms. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected to” another component, it may be directly connected to the other component, but it should be understood that other components may exist in between. On the other hand, when it is mentioned that a certain element is "directly connected" to another element, it should be understood that the other element does not exist in the middle. Meanwhile, other expressions describing the relationship between elements, that is, "between" and "between" or "neighboring to" and "directly adjacent to", etc., should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression is to be understood as including the plural expression unless the context clearly dictates otherwise, and terms such as "comprises" or "have" refer to the embodied feature, number, step, action, component, part or these It is intended to indicate that a combination exists, and it should be understood that it does not preclude the possibility of the existence or addition of one or more other features or numbers, steps, operations, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, identification numbers (eg, a, b, c, etc.) are used for convenience of description, and identification numbers do not describe the order of each step, and each step clearly indicates a specific order in context. Unless otherwise specified, it may occur in a different order from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. In addition, the computer-readable recording medium is distributed in a computer system connected to a network, so that the computer-readable code can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless otherwise defined. Terms defined in general used in the dictionary should be interpreted as having the meaning consistent with the context of the related art, and cannot be interpreted as having an ideal or excessively formal meaning unless explicitly defined in the present application.

도 1은 본 발명에 따른 멀티 클라이언트용 사이버 원격관리 시스템을 설명하는 도면이다.1 is a view for explaining a cyber remote management system for multi-client according to the present invention.

도 1을 참조하면, 멀티 클라이언트용 사이버 원격관리 시스템(100)은 클라이언트 단말(110), 사이버 원격관리 장치(130) 및 데이터베이스(150)를 포함할 수 있다.Referring to FIG. 1 , the multi-client cyber remote management system 100 may include a client terminal 110 , a cyber remote management device 130 , and a database 150 .

클라이언트 단말(110)은 사이버 원격관리를 위한 데이터 전송 과정에 참여하여 데이터 릴레이 연산을 수행하는 컴퓨팅 장치에 해당할 수 있다. 클라이언트 단말(110)은 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 클라이언트 단말(110)은 사이버 원격관리 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 클라이언트 단말(110)들은 사이버 원격관리 장치(130)와 동시에 연결될 수 있다.The client terminal 110 may correspond to a computing device that performs a data relay operation by participating in a data transmission process for cyber remote management. The client terminal 110 may be implemented as a smartphone, a notebook computer, or a computer, but is not limited thereto, and may be implemented in various devices such as a tablet PC. The client terminal 110 may be connected to the cyber remote management apparatus 130 through a network, and the plurality of client terminals 110 may be simultaneously connected to the cyber remote management apparatus 130 .

사이버 원격관리 장치(130)는 복수의 릴레이 그룹들에 대해 데이터 처리 성능에 따라 동적으로 마스터-슬레이브 네트워크를 구성하여 효율적인 원격 관리를 제공할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다.The cyber remote management device 130 may be implemented as a server corresponding to a computer or program capable of providing efficient remote management by dynamically configuring a master-slave network according to data processing performance for a plurality of relay groups.

사이버 원격관리 장치(130)는 클라이언트 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 클라이언트 단말(110)과 통신을 수행할 수 있다. 또한, 사이버 원격관리 장치(130)는 외부 시스템(도 1에 미도시함)과 연결되어 동작할 수 있고, 예를 들어 외부 보안 시스템이나 클라우드 시스템 등과 연결될 수 있다.The cyber remote management device 130 may be connected to the client terminal 110 through a wired network or a wireless network such as Bluetooth or WiFi, and may communicate with the client terminal 110 through the network. In addition, the cyber remote management device 130 may operate in connection with an external system (not shown in FIG. 1 ), for example, may be connected to an external security system or a cloud system.

데이터베이스(150)는 사이버 원격관리 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 클라이언트 단말(110)들에 관한 정보를 저장할 수 있고, 데이터 전송에 참여하는 릴레이 그룹들에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 사이버 원격관리 장치(130)가 복수의 릴레이 그룹을 통해 데이터 전송을 처리하여 원격관리를 제어하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 150 may correspond to a storage device for storing various types of information required in the operation process of the cyber remote management device 130 . The database 150 may store information about the client terminals 110 and may store information about relay groups participating in data transmission, but is not limited thereto, and the cyber remote management device 130 includes a plurality of Information collected or processed in various forms can be stored in the process of controlling remote management by processing data transmission through the relay group of

도 2는 도 1에 있는 사이버 원격관리 장치의 시스템 구성을 설명하는 도면이다.FIG. 2 is a diagram for explaining a system configuration of the cyber remote management device shown in FIG. 1 .

도 2를 참조하면, 사이버 원격관리 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.Referring to FIG. 2 , the cyber remote management device 130 may be implemented to include a processor 210 , a memory 230 , a user input/output unit 250 , and a network input/output unit 270 .

프로세서(210)는 사이버 원격관리 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 사이버 원격관리 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 사이버 원격관리 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor 210 may execute a procedure for processing each step in the process in which the cyber remote management device 130 operates, and manage the memory 230 that is read or written throughout the process, and the memory ( 230) may schedule a synchronization time between the volatile memory and the non-volatile memory. The processor 210 may control the overall operation of the cyber remote management device 130 , and is electrically connected to the memory 230 , the user input/output unit 250 , and the network input/output unit 270 to control the flow of data therebetween. can do. The processor 210 may be implemented as a central processing unit (CPU) of the cyber remote management device 130 .

메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 사이버 원격관리 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The memory 230 is implemented as a non-volatile memory, such as a solid state drive (SSD) or a hard disk drive (HDD), and may include an auxiliary storage device used to store overall data required for the cyber remote management device 130 , , and may include a main memory implemented as a volatile memory such as random access memory (RAM).

사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 사이버 원격관리 장치(130)는 독립적인 서버로서 수행될 수 있다.The user input/output unit 250 may include an environment for receiving a user input and an environment for outputting specific information to the user. For example, the user input/output unit 250 may include an input device including an adapter such as a touch pad, a touch screen, an on-screen keyboard, or a pointing device, and an output device including an adapter such as a monitor or a touch screen. In an embodiment, the user input/output unit 250 may correspond to a computing device accessed through remote access, and in such a case, the cyber remote management device 130 may be implemented as an independent server.

네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.The network input/output unit 270 includes an environment for connecting with an external device or system through a network, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a VAN (Wide Area Network) (VAN). It may include an adapter for communication such as Value Added Network).

도 3은 도 1에 있는 사이버 원격관리 장치의 기능적 구성을 설명하는 도면이다.FIG. 3 is a view for explaining a functional configuration of the cyber remote management device shown in FIG. 1 .

도 3을 참조하면, 사이버 원격관리 장치(130)는 토폴로지 처리부(310), 리더 결정부(330), 작업 쓰레드 처리부(350), 데이터 전송 처리부(370) 및 제어부(390)를 포함할 수 있다.Referring to FIG. 3 , the cyber remote management device 130 may include a topology processing unit 310 , a leader determination unit 330 , a work thread processing unit 350 , a data transmission processing unit 370 , and a control unit 390 . .

토폴로지 처리부(310)는 복수의 클라이언트 단말(110)들 각각의 데이터 전송 처리 속도를 기초로 각각은 적어도 하나의 클라이언트 구성원으로 구성된 복수의 릴레이 그룹들에 대한 토폴로지(topology)를 설정할 수 있다. 클라이언트 단말(110)은 네트워크 속도, 연산장치의 성능, 메모리 용량, 네트워크 어댑터 종류 등의 다양한 조건에 따라 서로 다른 처리 속도를 가지고 데이터 전송 동작을 수행할 수 있다. 토폴로지 처리부(310)는 각 단말의 전송 능력과 처리 능력을 통합적으로 고려하여 그룹화 할 수 있고, 그룹화의 결과로 생성된 릴레이 그룹들을 연결하여 데이터 전송을 위한 네트워크 토폴로지를 생성할 수 있다. The topology processing unit 310 may set a topology for a plurality of relay groups each composed of at least one client member based on the data transmission processing speed of each of the plurality of client terminals 110 . The client terminal 110 may perform a data transmission operation with different processing speeds according to various conditions such as network speed, performance of a computing device, memory capacity, and type of network adapter. The topology processing unit 310 may group by collectively considering the transmission capability and processing capability of each terminal, and may connect the relay groups generated as a result of the grouping to generate a network topology for data transmission.

여기에서, 토폴로지(topology)는 컴퓨터 네트워크의 요소들을 물리적으로 연결한 것으로, 해당 연결 방식이나 연결 결과를 나타내는 것으로 정의될 수 있다. 토폴로지 처리부(310)는 네트워크로 연결가능한 복수의 클라이언트 단말(110)들을 대상으로 복수의 릴레이 그룹을 정의하여 데이터 전송 과정에서 활용할 수 있다.Here, a topology refers to a physical connection of elements of a computer network, and may be defined as indicating a corresponding connection method or connection result. The topology processing unit 310 may define a plurality of relay groups for a plurality of client terminals 110 connectable through a network and utilize them in a data transmission process.

일 실시예에서, 토폴로지 처리부(310)는 데이터 전송 처리 속도를 기초로 복수의 클라이언트 단말(110)들을 분류하여 클라이언트 클러스터를 구성하고, 특정 클라이언트 클러스터에 집중되지 않도록 적어도 하나의 클라이언트 구성원을 선택할 수 있다. 한편, 토폴로지 처리부(310)에 의해 수행되는 클라이언트 단말(110)들에 관한 그룹화 과정에는 다양한 파라미터들이 활용될 수 있다.In an embodiment, the topology processing unit 310 configures a client cluster by classifying the plurality of client terminals 110 based on the data transmission processing speed, and selects at least one client member so as not to be concentrated on a specific client cluster. . Meanwhile, various parameters may be used in the grouping process of the client terminals 110 performed by the topology processing unit 310 .

예를 들어, 토폴로지 처리부(310)는 클라이언트 단말(110)의 네트워크 전송속도를 기준으로 클라이언트 단말(110)들에 관한 등급화를 수행할 수 있고, 등급화된 결과를 반영하여 각 등급에서 소정의 개수만큼 추출된 클라이언트 단말(110)들을 통합하여 동일한 릴레이 그룹의 클라이언트 구성원으로 결정할 수 있다. 즉, 토폴로지 처리부(310)는 등급별로 고르게 분포된 릴레이 그룹을 생성함으로써 클라이언트 단말(110)들이 특정 클라이언트 클러스터에 집중되지 않도록 유도할 수 있다.For example, the topology processing unit 310 may grade the client terminals 110 based on the network transmission speed of the client terminal 110 , and reflect the graded result in each grade. By integrating the number of extracted client terminals 110, it can be determined as a client member of the same relay group. That is, the topology processing unit 310 may induce the client terminals 110 not to be concentrated on a specific client cluster by creating a relay group evenly distributed for each grade.

일 실시예에서, 토폴로지 처리부(310)는 적어도 하나의 클라이언트 구성원이 데이터 전송 처리 속도를 기초로 역순차적으로 정렬되도록 특정 클라이언트 클러스터를 결정할 수 있다. 토폴로지 처리부(310)는 클라이언트 단말(110)들에 관한 그룹화를 수행하는 과정에서 클라이언트 단말(110)들을 특정 기준에 따라 정렬한 후 그룹화 동작을 수행할 수 있다. 정렬 과정에 적용되는 기준들은 데이터 전송 처리 속도, 연산 속도, 메모리 용량, 데이터 트래픽의 평균량 등을 포함할 수 있다. 토폴로지 처리부(310)는 클라이언트 클러스터를 생성하기 위하여 복수의 기준들을 동시에 적용할 수도 있다.In an embodiment, the topology processing unit 310 may determine a specific client cluster such that at least one client member is arranged in reverse order based on a data transmission processing speed. The topology processing unit 310 may perform a grouping operation after aligning the client terminals 110 according to a specific criterion in the process of grouping the client terminals 110 . Criteria applied to the sorting process may include data transmission processing speed, operation speed, memory capacity, average amount of data traffic, and the like. The topology processing unit 310 may simultaneously apply a plurality of criteria to generate a client cluster.

리더 결정부(330)는 복수의 릴레이 그룹들 각각에 관해, 해당 릴레이 그룹에서의 릴레이 데이터 처리 성능을 기초로 특정 클라이언트 구성원을 리더로서 결정할 수 있다. 즉, 단일 릴레이 그룹은 내부적으로 하나의 마스터(master) 역할을 수행하는 클라이언트 구성원과 다수의 슬레이브(slave) 역할을 수행하는 클라이언트 구성원을 포함할 수 있다. 특히, 마스터 역할을 수행하는 클라이언트 구성원은 해당 릴레이 그룹의 리더로 결정되어 특별한 역할을 수행할 수 있다. 리더 결정부(330)는 전체적인 성능에 상대적으로 큰 영향을 줄 수 있는 점을 고려하여 특정 성능을 기준으로 그룹 리더를 결정할 수 있다. 예를 들어, 리더 결정부(330)는 릴레이 데이터 처리 성능을 기준으로 클라이언트 구성원들을 정렬한 후 가장 좋은 성능을 가진 클라이언트 구성원을 리더로 결정할 수 있다.The leader determiner 330 may determine a specific client member as a leader with respect to each of the plurality of relay groups based on relay data processing performance in the corresponding relay group. That is, a single relay group may include a client member internally performing one master role and a client member performing a plurality of slave roles. In particular, the client member performing the master role is determined as the leader of the corresponding relay group and can perform a special role. The leader determiner 330 may determine the group leader based on a specific performance in consideration of the fact that it may have a relatively large influence on overall performance. For example, the leader determiner 330 may determine the client member having the best performance as the leader after sorting the client members based on the relay data processing performance.

일 실시예에서, 리더 결정부(330)는 해당 릴레이 그룹에서의 네트워크 전송속도, CPU 처리속도, 메모리 처리속도 및 버퍼량을 기초로 마스터 버퍼의 처리 지연을 최소화 할 수 있는 클라이언트 구성원을 리더로서 선출할 수 있다. 여기에서, 마스터 버퍼는 해당 릴레이 그룹에서 리더로 결정된 클라이언트 단말(110)의 내부 메모리 상에 할당되어 정의되는 버퍼 공간으로서 특정 메모리 영역에 해당할 수 있다.In one embodiment, the leader determining unit 330 selects, as a leader, a client member capable of minimizing the processing delay of the master buffer based on the network transmission speed, CPU processing speed, memory processing speed, and buffer amount in the corresponding relay group. can do. Here, the master buffer is a buffer space allocated and defined on the internal memory of the client terminal 110 determined as a leader in the corresponding relay group, and may correspond to a specific memory area.

즉, 리더 결정부(330)는 릴레이 데이터 처리 성능에 영향을 줄 수 있는 다양한 파라미터들을 고려하여 해당 릴레이 그룹 내에서 가장 최적의 성능을 제공할 수 있는 클라이언트 단말(110)을 리더로서 결정할 수 있다. 특히, 리더로 결정된 클라이언트 단말(110)은 마스터 버퍼를 위한 메모리 공간을 제공할 수 있으며, 해당 마스터 버퍼 내에서 데이터가 대기하는 시간을 최소화하여 처리 지연을 줄일 수 있다. 한편, 버퍼 내의 처리 지연에 영향을 줄 수 있는 파라미터는 네트워크 전송속도, CPU 처리속도, 메모리 처리속도 및 평균 버퍼량 등을 포함할 수 있다.That is, the leader determiner 330 may determine, as a leader, the client terminal 110 that can provide the most optimal performance in the relay group in consideration of various parameters that may affect relay data processing performance. In particular, the client terminal 110 determined as the leader may provide a memory space for the master buffer, and may reduce the processing delay by minimizing the waiting time for data in the corresponding master buffer. Meanwhile, parameters that may affect the processing delay in the buffer may include a network transmission speed, a CPU processing speed, a memory processing speed, an average buffer amount, and the like.

작업 쓰레드 처리부(350)는 복수의 릴레이 그룹들의 개수에 비례하고 해당 리더의 릴레이 데이터 처리 성능을 기초로 설정된 마스터 버퍼를 관리하는 작업 쓰레드를 생성할 수 있다. 즉, 작업 쓰레드는 복수의 릴레이 그룹들에 대응되어 생성될 수 있으며, 마스터 버퍼에 관한 관리 동작을 처리할 수 있다. 작업 쓰레드는 작업 쓰레드 처리부(350)에 의해 생성될 수 있고, 특정 릴레이 그룹에 할당되어 동작할 수 있다. 이때, 특정 릴레이 그룹에 할당된 작업 쓰레드의 경우 해당 그룹 내에 존재하는 클라이언트 단말(110)들의 자원을 활용하여 동작할 수 있으며, 작업 쓰레드 처리부(350)는 특정 작업 쓰레드의 할당과 실행을 위한 릴레이 그룹과 클라이언트 단말(110)을 각각 결정할 수 있고, 그 동작에 관한 명령을 통합적으로 제어할 수 있다.The work thread processing unit 350 may generate a work thread that is proportional to the number of a plurality of relay groups and manages a master buffer set based on the relay data processing performance of the corresponding reader. That is, a work thread may be created corresponding to a plurality of relay groups, and may process a management operation related to the master buffer. The work thread may be created by the work thread processing unit 350 and may be assigned to a specific relay group to operate. At this time, in the case of a work thread assigned to a specific relay group, it can operate by utilizing the resources of the client terminals 110 existing in the group, and the work thread processing unit 350 is a relay group for allocating and executing a specific work thread. and the client terminal 110 can be determined, respectively, and commands related to their operation can be controlled integrally.

일 실시예에서, 작업 쓰레드 처리부(350)는 복수의 릴레이 그룹들 각각에 일대일 관계를 형성하도록 작업 쓰레드를 생성하고, 릴레이 데이터 처리 성능을 기초로 마스터 버퍼의 크기를 결정할 수 있다. 작업 쓰레드는 마스터 버퍼를 관리하기 위한 것으로 각 릴레이 그룹 내에 하나의 마스터 버퍼가 존재하는 경우 각 릴레이 그룹에 일대일로 대응되어 생성될 수 있다. 또한, 작업 쓰레드 처리부(350)는 작업 쓰레드를 생성하는 과정에서 해당 작업 쓰레드가 할당될 릴레이 그룹의 릴레이 데이터 처리 성능에 따라 마스터 버퍼의 크기를 함께 설정할 수 있다. 즉, 작업 쓰레드는 해당 릴레이 그룹에 대한 정보와 마스터 버퍼의 크기에 관한 정보를 포함하여 생성될 수 있고, 릴레이 그룹에 할당된 경우 해당 릴레이 그룹의 리더에 해당하는 클라이언트 단말(110)에게 마스터 버퍼의 크기에 대한 정보를 전달할 수 있다.In an embodiment, the working thread processing unit 350 may generate a working thread to form a one-to-one relationship with each of the plurality of relay groups, and determine the size of the master buffer based on relay data processing performance. The work thread is for managing the master buffer, and when there is one master buffer in each relay group, it can be created in one-to-one correspondence with each relay group. In addition, the work thread processing unit 350 may set the size of the master buffer together according to the relay data processing performance of the relay group to which the corresponding work thread is to be allocated in the process of creating the work thread. That is, the working thread may be created including information about the corresponding relay group and information about the size of the master buffer, and when assigned to the relay group, the master buffer is sent to the client terminal 110 corresponding to the leader of the relay group. You can pass information about the size.

데이터 전송 처리부(370)는 리더를 통해 릴레이 그룹에 속한 클라이언트 구성원의 슬레이브 버퍼에 관한 버퍼 상태 정보를 수신하여 릴레이 순서를 결정하고 버퍼 상태 정보를 기초로 작업 쓰레드를 제어하여 리더에 파일 이미지를 릴레이할 수 있다. 즉, 릴레이 그룹 내에서 리더에 해당하는 클라이언트 구성원이 다른 클라이언트 구성원의 버퍼 상태 정보를 수집할 수 있고, 해당 버퍼 상태 정보를 기초로 해당 릴레이 그룹 내에서의 릴레이 순서를 동적으로 결정할 수 있다. 데이터 전송 처리부(370)는 파일에 관한 데이터 전송을 위해 데이터 전송 순서에 따라 특정 릴레이 그룹에 대해 파일 이미지를 전달할 수 있으며, 파일 이미지는 해당 릴레이 그룹의 리더 단말에게 전달되고, 리더에 의해 해당 릴레이 그룹 내에서의 릴레이 동작이 처리될 수 있다.The data transmission processing unit 370 receives the buffer status information about the slave buffers of the client members belonging to the relay group through the reader, determines the relay order, and controls the working thread based on the buffer status information to relay the file image to the reader. can That is, a client member corresponding to a leader in a relay group may collect buffer status information of other client members, and may dynamically determine a relay order in a corresponding relay group based on the buffer status information. The data transmission processing unit 370 may transmit a file image to a specific relay group according to a data transmission order for file-related data transmission, and the file image is transmitted to a leader terminal of the corresponding relay group, and the corresponding relay group by the reader A relay operation within can be handled.

일 실시예에서, 데이터 전송 처리부(370)는 슬레이브 버퍼에 관한 버퍼 상태 정보를 기초로 슬레이브 버퍼의 임계 버퍼량 및 버퍼 대기시간을 가변적으로 설정하여, 파일 이미지의 릴레이 속도를 제어할 수 있다. 보다 구체적으로, 데이터 전송 처리부(370)는 릴레이 그룹의 리더를 통해 버퍼 상태 정보를 통합 수신할 수 있고, 이를 기초로 해당 릴레이 그룹의 슬레이브 버퍼에 대한 동적 제어를 수행할 수 있다. 즉, 슬레이브 버퍼의 크기는 임계 버퍼량을 통해 조절될 수 있고, 슬레이브 버퍼가 복수개로 설정된 경우 각 슬레이브 버퍼에 대한 버퍼 대기시간을 슬레이브 버퍼 별로 설정할 수 있다.In an embodiment, the data transmission processing unit 370 may control the relay speed of the file image by variably setting the threshold buffer amount and the buffer waiting time of the slave buffer based on the buffer status information about the slave buffer. More specifically, the data transmission processing unit 370 may integrally receive buffer state information through the leader of the relay group, and perform dynamic control on the slave buffer of the corresponding relay group based on this. That is, the size of the slave buffer can be adjusted through the threshold buffer amount, and when a plurality of slave buffers are set, the buffer waiting time for each slave buffer can be set for each slave buffer.

예를 들어, 특정 슬레이브 버퍼에 대해 릴레이 동작이 개시된 경우 해당 슬레이브 버퍼로 릴레이 데이터가 전달되어 저장될 수 있고, 만약 해당 슬레이브 버퍼에 릴레이 데이터가 추가되는 경우 임계 버퍼량을 초과한다면 설정된 버퍼 대기시간 동안 해당 슬레이브 버퍼에 공간이 확보될 때까지 대기할 수 있다. 이후 버퍼 대기시간이 초과되는 경우 해당 릴레이 데이터는 다른 슬레이브 버퍼에 재할당되는 과정이 반복적으로 수행될 수 있으며, 데이터 전송 처리부(370)는 릴레이 순서 조정을 통한 릴레이 속도 제어 뿐만 아니라 임계 버퍼량 및 버퍼 대기시간의 조정을 통해서도 릴레이 속도를 제어할 수 있다.For example, when a relay operation is initiated for a specific slave buffer, relay data can be delivered and stored in the corresponding slave buffer. It can wait until space is secured in the corresponding slave buffer. After that, when the buffer waiting time is exceeded, the process of reallocating the relay data to another slave buffer may be repeatedly performed, and the data transmission processing unit 370 controls the relay speed through relay order adjustment as well as the threshold buffer amount and buffer The relay speed can also be controlled by adjusting the waiting time.

일 실시예에서, 데이터 전송 처리부(370)는 버퍼 상태 정보로서 버퍼 크기, 버퍼 평균 사용율, 마스터 버퍼와 슬레이브 버퍼 간의 크기 비율, 슬레이브 버퍼의 전체 개수 및 현재 가용 개수를 기초로 각 슬레이브 버퍼의 임계 버퍼량 및 버퍼 대기시간을 가변적으로 설정할 수 있다. 다른 실시예에서, 데이터 전송 처리부(370)는 다음의 수학식을 통해 각 슬레이브 버퍼의 임계 버퍼량을 가변적으로 설정할 수 있다.In one embodiment, the data transmission processing unit 370 is buffer status information, based on the buffer size, the average buffer usage rate, the size ratio between the master buffer and the slave buffer, the total number of slave buffers, and the current available number of each slave buffer threshold buffer The amount and buffer waiting time can be set variably. In another embodiment, the data transmission processing unit 370 may variably set the threshold buffer amount of each slave buffer through the following equation.

[수학식][Equation]

Figure 112020121863243-pat00001
Figure 112020121863243-pat00001

여기에서, W는 임계 버퍼량, k는 비례계수, S는 버퍼 크기, U는 버퍼 평균 사용율, Sm은 마스터 버퍼의 크기, Ss는 슬레이브 버퍼의 크기에 해당할 수 있다. 한편, 데이터 전송 처리부(370)는 상기 수학식을 통해 도출된 값에 대해 슬레이브 버퍼의 전체 개수와 현재 가용 개수 간의 비율을 비례계수와 함께 적용하여 임계 버퍼량을 정형화 할 수 있다.Here, W may correspond to a critical buffer amount, k is a proportionality coefficient, S is a buffer size, U is an average buffer usage rate, Sm is a size of a master buffer, and Ss is a size of a slave buffer. Meanwhile, the data transmission processing unit 370 may standardize the threshold buffer amount by applying a ratio between the total number of slave buffers and the currently available number to the value derived through the above equation along with a proportional coefficient.

일 실시예에서, 데이터 전송 처리부(370)는 임계 버퍼량의 한계에 도달하는 것을 검출하여 임계 버퍼량의 여유가 제1 기준까지 감소되면 버퍼 대기시간을 증가시키고, 임계 버퍼량의 여유가 제2 기준까지 증가되면 버퍼 대기시간을 감소시킬 수 있다. 데이터 전송 처리부(370)는 슬레이브 버퍼의 임계 버퍼량이 한계에 도달하기 전 단계에서 버퍼 대기시간을 동적으로 조절하여 릴레이 순서에 대한 조정이 없더라도 릴레이 속도를 유연하게 제어할 수 있다. In one embodiment, the data transmission processing unit 370 detects that the limit of the threshold buffer amount is reached, and when the margin of the threshold buffer amount is reduced to the first reference, increases the buffer waiting time, and the margin of the threshold buffer amount is the second If it is increased to the standard, it is possible to reduce the buffer latency. The data transmission processing unit 370 dynamically adjusts the buffer waiting time in a step before the threshold buffer amount of the slave buffer reaches the limit, so that the relay speed can be flexibly controlled even if there is no adjustment of the relay order.

즉, 임계 버퍼량의 여유가 제1 기준까지 감소되는 경우 이후 추가되는 릴레이 데이터에 대한 수용 능력이 감소될 수 있고, 해당 릴레이 그룹 내에서 릴레이 데이터의 재할당에 따른 릴레이 속도 감소가 발생할 수 있다. 따라서, 데이터 전송 처리부(370)는 임계 버퍼량의 여유에 관한 변화 정도에 따라 버퍼 대기시간을 동적으로 변경하여 릴레이 속도를 조절할 수 있다. 한편, 제2 기준은 제1 기준보다 높게 설정될 수 있으며, 제1 및 제2 기준들은 사이버 원격관리 장치(130)에 의해 사전에 설정되어 활용될 수 있다.That is, when the margin of the threshold buffer amount is reduced to the first criterion, the capacity for relay data added thereafter may be reduced, and the relay speed may be reduced due to reallocation of relay data in the corresponding relay group. Accordingly, the data transmission processing unit 370 may adjust the relay speed by dynamically changing the buffer waiting time according to the degree of change regarding the margin of the threshold buffer amount. Meanwhile, the second criterion may be set higher than the first criterion, and the first and second criteria may be previously set and utilized by the cyber remote management device 130 .

제어부(390)는 사이버 원격관리 장치(130)의 전체적인 동작을 제어하고, 토폴로지 처리부(310), 리더 결정부(330), 작업 쓰레드 처리부(350), 데이터 전송 처리부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit 390 controls the overall operation of the cyber remote management device 130 , and controls flow or data between the topology processing unit 310 , the leader determination unit 330 , the work thread processing unit 350 , and the data transmission processing unit 370 . You can manage the flow.

도 4는 본 발명에 따른 멀티 클라이언트용 사이버 원격관리 방법을 설명하는 순서도이다.4 is a flowchart illustrating a cyber remote management method for multi-client according to the present invention.

도 4를 참조하면, 사이버 원격관리 장치(130)는 토폴로지 처리부(310)를 통해 복수의 클라이언트 단말(110)들 각각의 데이터 전송 처리 속도를 기초로 각각은 적어도 하나의 클라이언트 구성원으로 구성된 복수의 릴레이 그룹들에 대한 토폴로지를 설정할 수 있다(단계 S410). 사이버 원격관리 장치(130)는 리더 결정부(330)를 통해 복수의 릴레이 그룹들 각각에 관해, 해당 릴레이 그룹에서의 릴레이 데이터 처리 성능을 기초로 특정 클라이언트 구성원을 리더로서 결정할 수 있다(단계 S430).Referring to FIG. 4 , the cyber remote management device 130 includes a plurality of relays each configured of at least one client member based on the data transmission processing speed of each of the plurality of client terminals 110 through the topology processing unit 310 . It is possible to set the topology for the groups (step S410). The cyber remote management device 130 may determine a specific client member as a leader for each of the plurality of relay groups through the leader determining unit 330 based on the relay data processing performance in the corresponding relay group (step S430). .

또한, 사이버 원격관리 장치(130)는 작업 쓰레드 처리부(350)를 통해 복수의 릴레이 그룹들의 개수에 비례하고 해당 리더의 릴레이 데이터 처리 성능을 기초로 설정된 마스터 버퍼를 관리하는 작업 쓰레드를 생성할 수 있다(단계 S450). 사이버 원격관리 장치(130)는 데이터 전송 처리부(370)를 통해 리더를 통해 릴레이 그룹에 속한 클라이언트 구성원의 슬레이브 버퍼에 관한 버퍼 상태 정보를 수신하여 릴레이 순서를 결정하고 버퍼 상태 정보를 기초로 작업 쓰레드를 제어하여 리더에 파일 이미지를 릴레이할 수 있다(단계 S470).In addition, the cyber remote management device 130 may generate a work thread that is proportional to the number of the plurality of relay groups and manages the master buffer set based on the relay data processing performance of the corresponding reader through the work thread processing unit 350 . (Step S450). The cyber remote management device 130 receives the buffer status information about the slave buffers of the client members belonging to the relay group through the reader through the data transmission processing unit 370, determines the relay order, and creates a work thread based on the buffer status information. By controlling it, the file image can be relayed to the reader (step S470).

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be done.

100: 사이버 원격관리 시스템
110: 클라이언트 단말 130: 사이버 원격관리 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 토폴로지 처리부 330: 리더 결정부
350: 작업 쓰레드 처리부 370: 데이터 전송 처리부
390: 제어부
100: cyber remote management system
110: client terminal 130: cyber remote management device
150: database
210: processor 230: memory
250: user input/output unit 270: network input/output unit
310: topology processing unit 330: leader decision unit
350: work thread processing unit 370: data transmission processing unit
390: control unit

Claims (6)

복수의 클라이언트 단말들 각각의 데이터 전송 처리 속도를 기초로 각각은 적어도 하나의 클라이언트 구성원으로 구성된 복수의 릴레이 그룹들에 대한 토폴로지를 설정하는 토폴로지 처리부;
상기 복수의 릴레이 그룹들 각각에 관해, 해당 릴레이 그룹에서의 릴레이 데이터 처리 성능을 기초로 특정 클라이언트 구성원을 리더로서 결정하는 리더 결정부;
상기 복수의 릴레이 그룹들의 개수에 비례하고 해당 리더의 릴레이 데이터 처리 성능을 기초로 설정된 마스터 버퍼를 관리하는 작업 쓰레드를 생성하는 작업 쓰레드 처리부; 및
상기 리더를 통해 상기 릴레이 그룹에 속한 클라이언트 구성원의 슬레이브 버퍼에 관한 버퍼 상태 정보를 수신하여 릴레이 순서를 결정하고 상기 버퍼 상태 정보를 기초로 상기 작업 쓰레드를 제어하여 상기 리더에 파일 이미지를 릴레이하는 데이터 전송 처리부를 포함하되,
상기 작업 쓰레드 처리부는 상기 복수의 릴레이 그룹들 각각에 일대일 관계를 형성하도록 상기 작업 쓰레드를 생성하고, 상기 릴레이 데이터 처리 성능을 기초로 상기 마스터 버퍼의 크기를 결정하며,
상기 데이터 전송 처리부는 상기 슬레이브 버퍼에 관한 버퍼 상태 정보를 기초로 상기 슬레이브 버퍼의 임계 버퍼량 및 버퍼 대기시간을 가변적으로 설정하여 상기 파일 이미지의 릴레이 속도를 제어하고, 상기 임계 버퍼량의 한계에 도달하는 것을 검출하여 상기 임계 버퍼량의 여유가 제1 기준까지 감소되면 상기 버퍼 대기시간을 증가시키고 상기 임계 버퍼량의 여유가 제2 기준까지 증가되면 상기 버퍼 대기시간을 감소시키며, 다음의 수학식을 통해 각 슬레이브 버퍼의 임계 버퍼량을 가변적으로 설정하는 것을 특징으로 하는 멀티 클라이언트용 사이버 원격관리 장치.
[수학식]
Figure 112021152026812-pat00006

(여기에서, W는 임계 버퍼량, k는 비례계수, S는 버퍼 크기, U는 버퍼 평균 사용율, Sm은 마스터 버퍼의 크기, Ss는 슬레이브 버퍼의 크기에 해당함)
a topology processing unit configured to set a topology for a plurality of relay groups, each of which consists of at least one client member, based on the data transmission processing speed of each of the plurality of client terminals;
a leader determining unit for each of the plurality of relay groups, determining a specific client member as a leader based on relay data processing performance in the corresponding relay group;
a work thread processing unit that generates a work thread that is proportional to the number of the plurality of relay groups and manages a master buffer set based on a relay data processing performance of a corresponding reader; and
Data transmission for relaying a file image to the reader by receiving buffer status information about a slave buffer of a client member belonging to the relay group through the reader, determining a relay order, and controlling the work thread based on the buffer status information including a processing unit,
The working thread processing unit generates the working thread to form a one-to-one relationship with each of the plurality of relay groups, and determines the size of the master buffer based on the relay data processing performance,
The data transmission processing unit controls the relay speed of the file image by variably setting the threshold buffer amount and buffer waiting time of the slave buffer based on the buffer status information on the slave buffer, and reaches the limit of the threshold buffer amount , increasing the buffer waiting time when the margin of the critical buffer amount is reduced to the first criterion by detecting that A cyber remote management device for multi-client, characterized in that it variably sets the threshold buffer amount of each slave buffer through
[Equation]
Figure 112021152026812-pat00006

(Where W is the critical buffer amount, k is the proportionality factor, S is the buffer size, U is the average buffer usage rate, Sm is the size of the master buffer, and Ss is the size of the slave buffer)
제1항에 있어서, 상기 토폴로지 처리부는
상기 데이터 전송 처리 속도를 기초로 복수의 클라이언트 단말들을 분류하여 클라이언트 클러스터를 구성하고, 특정 클라이언트 클러스터에 집중되지 않도록 상기 적어도 하나의 클라이언트 구성원을 선택하는 것을 특징으로 하는 멀티 클라이언트용 사이버 원격관리 장치.
The method of claim 1, wherein the topology processing unit
and configuring a client cluster by classifying a plurality of client terminals based on the data transmission processing speed, and selecting the at least one client member so as not to be concentrated on a specific client cluster.
제1항에 있어서, 상기 리더 결정부는
상기 해당 릴레이 그룹에서의 네트워크 전송속도, CPU 처리속도, 메모리 처리속도 및 버퍼량을 기초로 상기 마스터 버퍼의 처리 지연을 최소화 할 수 있는 클라이언트 구성원을 상기 리더로서 선출하는 것을 특징으로 하는 멀티 클라이언트용 사이버 원격관리 장치.
The method of claim 1, wherein the leader determining unit
Multi-client cyber, characterized in that, based on the network transmission speed, CPU processing speed, memory processing speed and buffer amount in the relay group, a client member capable of minimizing the processing delay of the master buffer is elected as the leader remote management device.
삭제delete 삭제delete 삭제delete
KR1020200152028A 2020-11-13 2020-11-13 Cyber remote management device for multi-client KR102359687B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200152028A KR102359687B1 (en) 2020-11-13 2020-11-13 Cyber remote management device for multi-client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200152028A KR102359687B1 (en) 2020-11-13 2020-11-13 Cyber remote management device for multi-client

Publications (1)

Publication Number Publication Date
KR102359687B1 true KR102359687B1 (en) 2022-02-08

Family

ID=80252667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200152028A KR102359687B1 (en) 2020-11-13 2020-11-13 Cyber remote management device for multi-client

Country Status (1)

Country Link
KR (1) KR102359687B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010081438A (en) * 2008-09-26 2010-04-08 Kyocera Corp Relay device and buffer volume control method
KR101331223B1 (en) 2006-09-06 2013-11-18 삼성전자주식회사 Computer, Remote Control System, Control Method of Computer And Remote Control Method, Computer Network
KR20170083215A (en) * 2016-01-08 2017-07-18 에스케이텔레콤 주식회사 Cluster-based Network Configuration Method and Apparatus Therefor
KR20190051585A (en) * 2017-11-07 2019-05-15 이요셉 Sever and network system using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101331223B1 (en) 2006-09-06 2013-11-18 삼성전자주식회사 Computer, Remote Control System, Control Method of Computer And Remote Control Method, Computer Network
JP2010081438A (en) * 2008-09-26 2010-04-08 Kyocera Corp Relay device and buffer volume control method
KR20170083215A (en) * 2016-01-08 2017-07-18 에스케이텔레콤 주식회사 Cluster-based Network Configuration Method and Apparatus Therefor
KR20190051585A (en) * 2017-11-07 2019-05-15 이요셉 Sever and network system using the same

Similar Documents

Publication Publication Date Title
US8214661B2 (en) Using a control policy to implement power saving features
WO2018120993A1 (en) Method and device for allocating distributed system task
US7656806B2 (en) Storage system, path management method and path management device
US20170017524A1 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
EP3255553A1 (en) Transmission control method and device for direct memory access
JP6190969B2 (en) Multi-tenant resource arbitration method
KR101827369B1 (en) Apparatus and method for managing data stream distributed parallel processing service
EP2725862A1 (en) Resource allocation method and resource management platform
US8285929B2 (en) Management computer
US10387051B2 (en) Acquisition of IOPS and MBPS limits independently at a scheduler in a scheduler hierarchy
US9384205B1 (en) Auto adaptive deduplication to cloud based storage
JP2016528626A (en) Power balancing to increase working density and improve energy efficiency
US20160364167A1 (en) Storage management device, storage management method, and computer-readable recording medium
US8301805B2 (en) Managing I/O request in a storage system
US20120066413A1 (en) Storage apparatus for controlling running of commands and method therefor
US8482766B2 (en) Automatic adjustment print job submission mechanism
US20190026142A1 (en) Information processing apparatus, control method and storage medium
KR20150007698A (en) Load distribution system for virtual desktop service
US8482767B2 (en) Print job submission with sleep mechanism
JP2010108114A (en) Method of improving or managing performance of storage system, system, apparatus, and program
KR102359687B1 (en) Cyber remote management device for multi-client
KR102359681B1 (en) Cyber remote management device for multi-client
US20230195336A1 (en) Storage management system and storage management method
US11388050B2 (en) Accelerating machine learning and profiling over a network
CN110971647A (en) Node migration method of big data system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant