KR102206493B1 - System for providing management service based on device big data - Google Patents
System for providing management service based on device big data Download PDFInfo
- Publication number
- KR102206493B1 KR102206493B1 KR1020200100970A KR20200100970A KR102206493B1 KR 102206493 B1 KR102206493 B1 KR 102206493B1 KR 1020200100970 A KR1020200100970 A KR 1020200100970A KR 20200100970 A KR20200100970 A KR 20200100970A KR 102206493 B1 KR102206493 B1 KR 102206493B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- time point
- user device
- server
- application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H04L67/322—
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 디바이스의 빅데이터에 기반하여 디바이스 관리 서비스를 제공하는 시스템에 관한 것이다.The present invention relates to a system for providing a device management service based on big data of a device.
네트워크 기술의 발달에 따라 다양한 서버들 및 디바이스들을 관리할 필요성이 증가하면서, 다양한 서버들 및 디바이스들을 관리하기 위한 운영 서버의 필요성이 증가하고 있다.As the need to manage various servers and devices increases with the development of network technology, the need for an operation server for managing various servers and devices is increasing.
특히, 디바이스를 이용하는 사용자 및 다양한 서버들을 관리하는 관리자의 편의를 증대하기 위해, 서버 및 디바이스를 관리하는 방법을 다각화하는 시도가 계속되고 있다.In particular, in order to increase the convenience of a user who uses a device and an administrator who manages various servers, attempts to diversify a method of managing servers and devices are continuing.
본 발명의 다양한 실시예들은, 서버 및 사용자 디바이스의 관리 방법 및 이를 수행하는 장치(예를 들어, 서버)를 제공한다.Various embodiments of the present invention provide a method for managing a server and a user device, and an apparatus (eg, a server) for performing the same.
본 발명의 일 실시예에 따르면, 운영 서버가 적어도 하나의 서버 및 상기 적어도 하나의 서버와 통신하는 제 1 사용자 디바이스 및 제 2 사용자 디바이스를 관리하는 방법이 제공된다. 상기 방법은, 상기 제 1 사용자 디바이스로부터, 상기 제 1 사용자 디바이스에 의해 설치 요청된 제 1 애플리케이션에 대한 제 1 정보를 수신하는 단계, 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제 1 시점의 CPU 정보, 상기 제 1 시점의 메모리 정보, 상기 제 1 시점의 로드 평균(load average) 정보 및 상기 제 1 시점의 트래픽(traffic) 정보를 수신하는 단계, 상기 운영 서버의 데이터베이스(DB)에 저장된 상기 제 1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제 1 정보, 상기 제 1 시점의 상기 CPU 정보, 상기 제 1 시점의 상기 메모리 정보, 상기 제 1 시점의 상기 로드 평균 정보 및 상기 제 1 시점의 상기 트래픽 정보를, 상기 운영 서버의 데이터베이스에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치하도록 지시할지 여부를 결정하는 단계 및 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제 1 사용자 디바이스로 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치할 것을 지시하는 설치 지시 정보를 전송하는 단계를 포함하되, 상기 제 1 시점은 상기 운영 서버가 상기 제 1 정보를 수신한 시점을 나타낼 수 있다.According to an embodiment of the present invention, there is provided a method in which an operation server manages at least one server and a first user device and a second user device communicating with the at least one server. The method comprises the steps of receiving, from the first user device, first information about a first application requested to be installed by the first user device, from the at least one server, a first time point of the at least one server Receiving CPU information, memory information at the first time point, load average information at the first time point, and traffic information at the first time point, stored in the database (DB) of the operation server Malicious code retention probability information of the first application, the first information, the CPU information at the first time point, the memory information at the first time point, the load average information at the first time point, and the first time point Applying the traffic information to an AI learning model stored in the database of the operation server, determining whether to instruct the first application to be installed on the first user device, and the first application And transmitting, to the first user device, installation instruction information instructing to install the first application on the first user device, based on the decision to instruct to install on the first user device, the first The first time point may indicate a time point at which the operation server receives the first information.
일 실시예에서, 상기 방법은, 상기 제 1 사용자 디바이스로부터, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치한 결과 악성 코드가 발견되었음을 나타내는 악성 코드 발견 정보를 수신하는 단계 및 상기 악성 코드 발견 정보 및 상기 제 1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제 1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득하는 단계를 더 포함할 수 있다.In one embodiment, the method includes receiving, from the first user device, malicious code discovery information indicating that a malicious code has been found as a result of installing the first application on the first user device, and the malicious code discovery information And applying the malicious code retention probability information of the first application to the AI learning model to obtain modified malicious code retention probability information of the first application.
일 실시예에서, 상기 방법은, 상기 제 2 사용자 디바이스로부터, 상기 제 2 사용자 디바이스에 의해 설치 요청된 상기 제 1 애플리케이션에 대한 제 2 정보를 수신하는 단계, 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제 2 시점의 CPU 정보, 상기 제 2 시점의 메모리 정보, 상기 제 2 시점의 로드 평균 정보 및 상기 제 2 시점의 트래픽 정보를 수신하는 단계, 상기 수정된 악성 코드 보유 확률 정보, 상기 제 2 정보, 상기 제 2 시점의 상기 CPU 정보, 상기 제 2 시점의 상기 메모리 정보, 상기 제 2 시점의 상기 로드 평균 정보 및 상기 제 2 시점의 상기 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하도록 지시할지 여부를 결정하는 단계를 더 포함하되, 상기 제 2 시점은 상기 운영 서버가 상기 제 2 정보를 수신한 시점을 나타낼 수 있다.In one embodiment, the method includes receiving, from the second user device, second information on the first application requested to be installed by the second user device, from the at least one server, the at least one Receiving CPU information of the second time point of the server, memory information at the second time point, load average information at the second time point, and traffic information at the second time point, the modified malicious code retention probability information, the second time point 2 information, the CPU information at the second time point, the memory information at the second time point, the load average information at the second time point, and the traffic information at the second time point are applied to the AI learning model, 1 further comprising the step of determining whether to instruct the installation of the application on the second user device, wherein the second time point may indicate a time point at which the operation server receives the second information.
일 실시예에서, 상기 방법은, 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않도록 지시하기로 결정된 것을 기반으로, 상기 제 2 사용자 디바이스로 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않을 것을 지시하는 미설치 지시 정보를 전송하는 단계를 더 포함할 수 있다.In one embodiment, the method does not install the first application on the second user device by the second user device, based on a decision to instruct not to install the first application on the second user device. It may further include the step of transmitting non-installation instruction information indicating not to.
일 실시예에서, 상기 악성 코드 발견 정보는, 상기 악성 코드가 발견되었음을 나타내는 1비트의 플래그 정보, 상기 악성 코드의 종류에 대한 정보, 상기 악성 코드의 치명도에 대한 정보 및 상기 악성 코드가 처음으로 발견된 연도에 대한 정보를 포함할 수 있다.In one embodiment, the malicious code discovery information includes 1-bit flag information indicating that the malicious code is found, information on the type of the malicious code, information on the fatality of the malicious code, and the malicious code is first found. It may contain information about the year in which it was made.
일 실시예에서, 상기 제 1 시점과 상기 제 2 시점 간의 시간 간격이 기 정의된 시간 간격 이하인 것을 기반으로, 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않도록 지시하기로 결정될 수 있다.In an embodiment, based on a time interval between the first time point and the second time point being equal to or less than a predefined time interval, it may be determined to instruct not to install the first application on the second user device.
일 실시예에서, 상기 방법은, 상기 제 2 사용자 디바이스로부터, 상기 제 2 사용자 디바이스에 의해 설치 요청된 상기 제 2 애플리케이션에 대한 제 3 정보를 수신하는 단계, 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제 3 시점의 CPU 정보, 상기 제 3 시점의 메모리 정보, 상기 제 3 시점의 로드 평균 정보 및 상기 제 3 시점의 트래픽 정보를 수신하는 단계, 상기 제 3 시점의 CPU 정보, 상기 제 3 시점의 메모리 정보, 상기 제 3 시점의 로드 평균 정보 및 상기 제 3 시점의 트래픽 정보를 기반으로, 상기 적어도 하나의 서버의 서버 자원 퀄리티 정보를 결정하는 단계 및 상기 적어도 하나의 서버의 상기 서버 자원 퀄리티 정보가 나타내는 값이 기 정의된 임계치 이하인 것을 기반으로, 상기 제 2 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않도록 지시하기로 결정하는 단계를 더 포함할 수 있다. 이때 상기 제 3 시점은 상기 운영 서버가 상기 제 3 정보를 수신한 시점을 나타낼 수 있다.In one embodiment, the method comprises receiving, from the second user device, third information on the second application requested to be installed by the second user device, from the at least one server, the at least one Receiving CPU information of the third time point of the server, memory information at the third time point, load average information at the third time point, and traffic information at the third time point, CPU information at the third time point, the third Determining server resource quality information of the at least one server based on memory information at a time point, load average information at the third time point, and traffic information at the third time point, and the server resource quality of the at least one server It may further include determining to instruct not to install the second application on the second user device, based on the fact that the value indicated by the information is less than or equal to a predefined threshold. In this case, the third time point may indicate a time point when the operation server receives the third information.
일 실시예에서, 상기 AI 학습 모델은, 머신 러닝(machine learning) 기반의 악성 코드 패턴 학습을 적용하기 위한 것일 수 있다.In one embodiment, the AI learning model may be for applying machine learning-based malware pattern learning.
본 발명의 일 실시예에 따르면, 적어도 하나의 서버 및 상기 적어도 하나의 서버와 통신하는 제 1 사용자 디바이스 및 제 2 사용자 디바이스를 관리하는 운영 서버가 제공된다. 상기 운영 서버는, 적어도 하나의 프로그램을 저장하는 데이터베이스(database), 송수신부(transceiver) 및 프로세서(processor)를 포함하되, 상기 프로세서는, 상기 제 1 사용자 디바이스로부터 상기 제 1 사용자 디바이스에 의해 설치 요청된 제 1 애플리케이션에 대한 제 1 정보를 수신하도록 상기 송수신부를 제어하고, 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제 1 시점의 CPU 정보, 상기 제 1 시점의 메모리 정보, 상기 제 1 시점의 로드 평균 정보 및 상기 제 1 시점의 트래픽 정보를 수신하도록 상기 송수신부를 제어하고, 상기 데이터베이스에 저장된 상기 제 1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제 1 정보, 상기 제 1 시점의 상기 CPU 정보, 상기 제 1 시점의 상기 메모리 정보, 상기 제 1 시점의 상기 로드 평균 정보 및 상기 제 1 시점의 상기 트래픽 정보를, 상기 운영 서버의 데이터베이스에 저장된 AI 학습 모델에 적용하여, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치하도록 지시할지 여부를 결정하고, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치하도록 지시하기로 결정된 경우, 상기 제 1 사용자 디바이스로 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치할 것을 지시하는 설치 지시 정보를 전송하도록 상기 송수신부를 제어하되, 상기 제 1 시점은 상기 운영 서버가 상기 제 1 정보를 수신한 시점을 나타낼 수 있다.According to an embodiment of the present invention, there is provided at least one server and an operation server that manages a first user device and a second user device communicating with the at least one server. The operation server includes a database storing at least one program, a transceiver, and a processor, wherein the processor requests installation from the first user device by the first user device. Controls the transmission/reception unit to receive first information on the first application, and from the at least one server, CPU information of a first time point of the at least one server, memory information of the first time point, the first time point The transmission/reception unit is controlled to receive the load average information and the traffic information of the first point of time, and the malicious code retention probability information of the first application stored in the database, the first information, the CPU information of the first point of time, By applying the memory information at the first time point, the load average information at the first time point, and the traffic information at the first time point to an AI learning model stored in the database of the operation server, the
본 발명의 다양한 실시예들에 따르면, 서버 및 사용자 디바이스를 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있다.According to various embodiments of the present disclosure, it is possible to diversify a method of managing a server and a user device, thereby increasing the convenience of a manager managing a server and a user using a user device.
본 발명에 따른 효과는 상기 기재한 효과에 제한되지 않으며, 기재하지 않은 또 다른 효과들은 이하의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects according to the present invention are not limited to the above-described effects, and other effects that are not described will be clearly understood by those of ordinary skill in the art from the following description.
도 1은 운영 서버, 적어도 하나의 서버 및 사용자 디바이스들 간의 통신 구조의 일 예시를 나타낸다.
도 2는 일 실시예에 따른 운영 서버의 동작을 도시하는 흐름도이다.
도 3은 일 실시예에 따른 운영 서버, 적어도 하나의 서버 및 사용자 디바이스가 데이터를 송수신하는 과정을 도시하는 흐름도이다.
도 4는 다른 일 실시예에 따른 운영 서버, 적어도 하나의 서버 및 사용자 디바이스들이 데이터를 송수신하는 과정을 도시하는 흐름도이다.
도 5는 일 실시예에 따른 운영 서버의 구성을 도시하는 블록도이다.
도 6은 일 실시예에 따른 프로세서의 구성을 도시하는 블록도이다.1 shows an example of a communication structure between an operation server, at least one server, and user devices.
2 is a flow chart showing the operation of the operation server according to an embodiment.
3 is a flowchart illustrating a process of transmitting and receiving data between an operation server, at least one server, and a user device according to an embodiment.
4 is a flowchart illustrating a process of transmitting and receiving data between an operation server, at least one server, and user devices according to another embodiment.
5 is a block diagram showing the configuration of an operation server according to an embodiment.
6 is a block diagram illustrating a configuration of a processor according to an embodiment.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term "and/or" includes a combination of a plurality of related stated items or any of a plurality of related stated items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate an overall understanding, the same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.
도 1은 운영 서버, 적어도 하나의 서버 및 사용자 디바이스들 간의 통신 구조의 일 예시를 나타낸다.1 shows an example of a communication structure between an operation server, at least one server, and user devices.
본 명세서에서 “사용자 디바이스”는 스마트폰, 핸드폰, 스마트 TV, 셋톱박스(set-top box), 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 데스크톱, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device), 에어컨, 전자 레인지, 오디오, DVD 플레이어 등을 포함하는 다양한 기기로 구현될 수 있다.In the present specification, the “user device” refers to a smartphone, a mobile phone, a smart TV, a set-top box, a tablet PC, a digital camera, a camcorder, a laptop computer, a desktop, an e-book terminal, a digital broadcasting terminal, Personal Digital Assistants (PDAs), Portable Multimedia Players (PMPs), navigation, MP3 players, wearable devices, air conditioners, microwave ovens, audio, DVD players, and the like can be implemented with various devices.
본 명세서에서 “운영 서버”는 네트워크를 통해 외부 장치들 또는 외부 서버들과 통신하는 서버(server)의 일종으로서, 외부 장치들 또는 외부 서버들을 운용하기 위한 서버를 나타낼 수 있다. 일 예시에서, 상기 운영 서버는, 일반적인 서버용 하드웨어에 도스, 윈도우, 리눅스, 유닉스, 매킨토시 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있다.In the present specification, the “operation server” is a type of server that communicates with external devices or external servers through a network, and may refer to a server for operating external devices or external servers. In one example, the operation server may be implemented using a web server program that is variously provided according to operating systems such as DOS, Windows, Linux, Unix, and Macintosh in general server hardware.
본 명세서에서 “적어도 하나의 서버”는 네트워크를 통해 외부 장치들 또는 외부 서버들과 통신하는 서버(server)의 일종이다. 일 예시에서, 상기 적어도 하나의 서버는, 일반적인 서버용 하드웨어에 도스, 윈도우, 리눅스, 유닉스, 매킨토시 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있다.In this specification, “at least one server” is a type of server that communicates with external devices or external servers through a network. In one example, the at least one server may be implemented using a web server program that is variously provided according to operating systems such as DOS, Windows, Linux, Unix, and Macintosh in general server hardware.
본 명세서에서 상기 사용자 디바이스, 상기 운영 서버 및 상기 적어도 하나의 서버는, 통신망을 통해 상호 통신할 수 있다. 상기 통신망은, 예를 들어 무선 통신망 또는 유선 통신망일 수 있다. 상기 무선 통신망은, 예를 들어 LTE(Long Term Evolution) RAT(Radio Access Technology), NR(New Radio) RAT, WiFi 등에 기반한 통신망일 수 있다.In the present specification, the user device, the operation server, and the at least one server may communicate with each other through a communication network. The communication network may be, for example, a wireless communication network or a wired communication network. The wireless communication network may be, for example, a communication network based on Long Term Evolution (LTE) Radio Access Technology (RAT), New Radio (NR) RAT, WiFi, or the like.
일 예시에서, 상기 사용자 디바이스, 상기 운영 서버 및 상기 적어도 하나의 서버는, 상호 D2D(Device-to-Device) 통신을 수행할 수 있고, 기지국(예를 들어, gNB 및/또는 eNB)과 UU 통신을 수행할 수 있다. 상기 D2D 통신 또는 상기 UU 통신을 수행하기 위한 TDMA(time division multiple access) 및 FDMA(frequency division multiples access) 시스템에서, 정확한 시간 및 주파수 동기화가 요구될 수 있다. 시간 및 주파수 동기화가 정확하게 되지 않으면, 심볼 간 간섭(Inter Symbol Interference, ISI) 및 반송파 간 간섭(Inter Carrier Interference, ICI)으로 인해 시스템 성능이 저하될 수 있다. 일 예시에 따른 D2D 통신에서는 시간/주파수 동기화를 위해, 물리 계층에서는 동기 신호(synchronization signal)를 사용할 수 있고, RLC(radio link control) 계층에서는 MIB(master information block)를 사용할 수 있다.In one example, the user device, the operation server, and the at least one server may perform mutual D2D (Device-to-Device) communication, and UU communication with a base station (eg, gNB and/or eNB) Can be done. In a time division multiple access (TDMA) and frequency division multiples access (FDMA) system for performing the D2D communication or the UU communication, accurate time and frequency synchronization may be required. If time and frequency synchronization is not accurate, system performance may be degraded due to inter-symbol interference (ISI) and inter-carrier interference (ICI). In D2D communication according to an example, for time/frequency synchronization, a synchronization signal may be used in a physical layer, and a master information block (MIB) may be used in a radio link control (RLC) layer.
D2D 통신 과정에서, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 GNSS(global navigation satellite systems)에 직접적으로 동기화 되거나, 또는 GNSS에 직접적으로 동기화된 (네트워크 커버리지 내의 또는 네트워크 커버리지 밖의) 단말을 통해 비간접적으로 GNSS에 동기화 될 수 있다. GNSS가 동기화 소스로 설정된 경우, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 UTC(Coordinated Universal Time) 및 (미리) 설정된 DFN(Direct Frame Number) 오프셋을 사용하여 DFN 및 서브프레임 번호를 계산할 수 있다. In the D2D communication process, the user device, the operation server, and/or the at least one server are directly synchronized with GNSS (global navigation satellite systems) or directly synchronized with GNSS (in or out of network coverage). It can be synchronized to the GNSS indirectly through the terminal. When GNSS is set as a synchronization source, the user device, the operation server, and/or the at least one server use a UTC (Coordinated Universal Time) and a (pre) set DFN (Direct Frame Number) offset to DFN and subframe number Can be calculated.
또는, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 기지국에 직접 동기화되거나, 기지국에 시간/주파수 동기화된 다른 단말에게 동기화될 수 있다. 예를 들어, 상기 기지국은 eNB 또는 gNB일 수 있다. 예를 들어, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버가 네트워크 커버리지 내에 있는 경우, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 기지국이 제공하는 동기화 정보를 수신하고, 상기 기지국에 직접 동기화될 수 있다. 그 후, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 동기화 정보를 인접한 다른 단말에게 제공할 수 있다. 기지국 타이밍이 동기화 기준으로 설정된 경우, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 동기화 및 하향링크 측정을 위해 해당 주파수에 연관된 셀(상기 주파수에서 셀 커버리지 내에 있는 경우), 프라이머리 셀 또는 서빙 셀(상기 주파수에서 셀 커버리지 바깥에 있는 경우)을 따를 수 있다.Alternatively, the user device, the operation server, and/or the at least one server may be directly synchronized with the base station or may be synchronized with another terminal in time/frequency synchronization with the base station. For example, the base station may be an eNB or a gNB. For example, when the user device, the operation server and/or the at least one server are within network coverage, the user device, the operation server and/or the at least one server receive synchronization information provided by the base station. And, it can be directly synchronized to the base station. Thereafter, the user device, the operation server, and/or the at least one server may provide synchronization information to other adjacent terminals. When the base station timing is set as a synchronization criterion, the user device, the operation server, and/or the at least one server are a cell associated with a corresponding frequency for synchronization and downlink measurement (if within cell coverage at the frequency), primary The cell or serving cell (if it is outside the cell coverage at the frequency) may be followed.
기지국(예를 들어, 서빙 셀)은 D2D 또는 SL 통신에 사용되는 반송파에 대한 동기화 설정을 제공할 수 있다. 이 경우, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 상기 기지국으로부터 수신한 동기화 설정을 따를 수 있다. 만약, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버가 상기 D2D 또는 SL 통신에 사용되는 반송파에서 어떤 셀도 검출하지 못했고, 서빙 셀로부터 동기화 설정도 수신하지 못했다면, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 미리 설정된 동기화 설정을 따를 수 있다.The base station (eg, serving cell) may provide synchronization settings for a carrier used for D2D or SL communication. In this case, the user device, the operation server, and/or the at least one server may follow the synchronization setting received from the base station. If the user device, the operation server, and/or the at least one server did not detect any cell in the carrier used for the D2D or SL communication, and did not receive synchronization settings from the serving cell, the user device, The operation server and/or the at least one server may follow a preset synchronization setting.
또는, 상기 사용자 디바이스, 상기 운영 서버 및/또는 상기 적어도 하나의 서버는 기지국이나 GNSS로부터 직접 또는 간접적으로 동기화 정보를 획득하지 못한 다른 단말에게 동기화될 수도 있다. 동기화 소스 및 선호도는 단말에게 미리 설정될 수 있다. 또는, 동기화 소스 및 선호도는 기지국에 의하여 제공되는 제어 메시지를 통해 설정될 수 있다.Alternatively, the user device, the operation server, and/or the at least one server may be synchronized to another terminal that has not directly or indirectly obtained synchronization information from a base station or GNSS. The synchronization source and preference may be preset to the terminal. Alternatively, the synchronization source and preference may be set through a control message provided by the base station.
일 실시예에서, 운영 서버(110)와 적어도 하나의 서버(120)는 네트워크(100)(또는 통신망)를 통해서 상호 통신할 수 있다. 예를 들어, 상기 운영 서버(110)가 네트워크(100)로 데이터를 전송하면, 네트워크(100)는 상기 운영 서버(110)로 상기 데이터를 전달(전송)할 수 있다.In one embodiment, the
일 실시예에서, 제1 사용자 디바이스(130) 또는 상기 제2 사용자 디바이스(140)와 적어도 하나의 서버(120)는 네트워크(100)(또는 통신망)를 통해서 상호 통신할 수 있다. 예를 들어, 상기 제1 사용자 디바이스(130)가 네트워크(100)로 데이터를 전송하면, 네트워크(100)는 상기 적어도 하나의 서버(120)로 상기 데이터를 전달(전송)할 수 있다.In an embodiment, the
일 실시예에서, 제1 사용자 디바이스(130) 또는 상기 제2 사용자 디바이스(140)와 운영 서버(110)는 네트워크(100)(또는 통신망)를 통해서 상호 통신할 수 있다. 예를 들어, 상기 제1 사용자 디바이스(130)가 네트워크(100)에게 데이터를 전송하면, 네트워크(100)는 상기 운영 서버(120)에게 상기 데이터를 전달(전송)할 수 있다.In one embodiment, the
한편, 상기 운영 서버(110), 상기 적어도 하나의 서버(120), 상기 제1 사용자 디바이스(130) 및 상기 제2 사용자 디바이스(140) 중 적어도 하나가 상기 네트워크(100)를 거치지 않고 상호 통신할 수 있음은, 상기 D2D 통신에 관한 설명에서 전술한 바 있다.Meanwhile, at least one of the
이하 도 2 내지 도 5에 대한 설명에서는, 상기 운영 서버(110)와 상기 적어도 하나의 서버(120), 상기 제1 사용자 디바이스(130) 및 상기 제2 사용자 디바이스(140) 중 적어도 하나 간의 통신을 기반으로 상기 운영 서버(110)가 상기 적어도 하나의 서버(120), 상기 제1 사용자 디바이스(130) 및 상기 제2 사용자 디바이스(140) 중 적어도 하나를 관리하는 방법에 대하여 구체적으로 검토한다.In the following description of FIGS. 2 to 5, communication between the
도 2는 일 실시예에 따른 운영 서버의 동작을 도시하는 흐름도이다.2 is a flow chart showing the operation of the operation server according to an embodiment.
도 2의 흐름도에 개시된 동작들은, 본 발명의 다양한 실시예들과 결합하여 수행될 수 있다. 일 예시에서, 도 2의 흐름도에 개시된 동작들은, 도 3에 개시된 운영 서버(301), 도 4에 개시된 운영 서버(401) 또는 도 5에 도시된 운영 서버(500)에 의해 수행될 수 있다. 일 예시에서, 도 2의 흐름도에 개시된 동작들은, 도 3 및 도 4에 개시된 동작들 중 일부와 대응될 수 있다.The operations disclosed in the flowchart of FIG. 2 may be performed in combination with various embodiments of the present invention. In one example, the operations disclosed in the flowchart of FIG. 2 may be performed by the
단계 S210에서, 일 실시예에 따른 운영 서버는, 상기 제1 사용자 디바이스로부터, 상기 제1 사용자 디바이스에 의해 설치 요청된 제1 애플리케이션에 대한 제1 정보를 수신할 수 있다.In step S210, the operation server according to an embodiment may receive, from the first user device, first information on the first application requested to be installed by the first user device.
일 예시에서, 상기 제1 사용자 디바이스의 사용자가 상기 제1 애플리케이션의 설치 파일의 다운로드를 시도함으로써, 상기 제1 애플리케이션에 대한 설치 요청이 입력될 수 있다.In one example, when the user of the first user device attempts to download the installation file of the first application, a request for the installation of the first application may be input.
일 예시에서, 상기 제1 사용자 디바이스는 스마트폰일 수 있고, 상기 제1 애플리케이션은 스마트폰 앱(APP)일 수 있다. 다른 일 예시에서, 상기 제1 사용자 디바이스는 PC일 수 있고, 상기 제1 애플리케이션은 동영상 재생 플레이어일 수 있다.In one example, the first user device may be a smartphone, and the first application may be a smartphone app (APP). In another example, the first user device may be a PC, and the first application may be a video player.
단계 S220에서, 일 실시예에 따른 운영 서버는, 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제1 시점의 CPU 정보, 상기 제1 시점의 메모리 정보, 상기 제1 시점의 로드 평균(load average) 정보 및 상기 제1 시점의 트래픽(traffic) 정보를 수신할 수 있다.In step S220, the operation server according to an embodiment, from the at least one server, the CPU information of the first time point of the at least one server, the memory information of the first time point, the load average (load average) information and traffic information of the first view may be received.
일 예시에서, 상기 제1 시점은 상기 운영 서버가 상기 제1 정보를 수신한 시점을 나타낼 수 있다. 다른 일 예시에서, 상기 제1 시점은 상기 운영 서버가 상기 제1 정보를 수신한 시점으로부터 기 정의된 시간이 경과한 시점을 나타낼 수 있다.In one example, the first time point may represent a time point at which the operation server receives the first information. In another example, the first time point may represent a time point when a predetermined time has elapsed from the time point when the operation server receives the first information.
단계 S230에서, 일 실시예에 따른 운영 서버는, 상기 운영 서버의 데이터베이스(DB)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버의 데이터베이스에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다.In step S230, the operation server according to an embodiment, the malicious code retention probability information of the first application stored in the database (DB) of the operation server, the first information, the CPU information at the first time point, the first By applying the memory information at the first time point, the load average information at the first time point, and the traffic information at the first time point to an AI learning model stored in the database of the operation server, the first It may be determined whether to instruct the application to be installed on the first user device.
일 예시에서, 상기 제1 애플리케이션의 상기 악성 코드 보유 확률 정보는, 이전 히스토리에서 상기 제1 애플리케이션이 악성 코드를 보유하고 있었거나, 상기 제1 애플리케이션에 의해 악성 코드가 발생했던 경우를 종합적으로 고려하여 생성될 수 있다. In one example, the malicious code retention probability information of the first application is comprehensively considered when the first application has a malicious code or a malicious code is generated by the first application in the previous history. Can be created.
일 실시예에서, 상기 AI 학습 모델은, 머신 러닝(machine learning) 기반의 악성 코드 패턴 학습을 적용하기 위한 것일 수 있다.In one embodiment, the AI learning model may be for applying machine learning-based malware pattern learning.
단계 S240에서, 일 실시예에 따른 운영 서버는, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제1 사용자 디바이스로 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치할 것을 지시하는 설치 지시 정보를 전송할 수 있다.In step S240, the operation server according to an embodiment, based on the decision to instruct to install the first application on the first user device, the first application to the first user device You can send installation instruction information instructing you to install it on.
일 예시에서, 상기 설치 지시 정보는 플래그(flag) 형태로 나타날 수 있다. 다른 일 예시에서, 상기 설치 지시 정보는 상기 제1 사용자 디바이스가 상기 제1 애플리케이션을 설치하는 것을 트리거(trigger)하는 시그널링일 수 있다. In one example, the installation instruction information may appear in the form of a flag. In another example, the installation instruction information may be a signaling triggering that the first user device installs the first application.
일 실시예에 따른 운영 서버는, 상기 제1 사용자 디바이스로부터, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치한 결과 악성 코드가 발견되었음을 나타내는 악성 코드 발견 정보를 수신할 수 있다. 일 예시에서, 상기 악성 코드 발견 정보는, 상기 악성 코드가 발견되었음을 나타내는 1비트의 플래그 정보, 상기 악성 코드의 종류에 대한 정보, 상기 악성 코드의 치명도에 대한 정보 및 상기 악성 코드가 처음으로 발견된 연도에 대한 정보 중 적어도 하나를 포함할 수 있다.The operation server according to an embodiment may receive, from the first user device, malicious code discovery information indicating that a malicious code has been found as a result of installing the first application on the first user device. In one example, the malicious code discovery information includes 1-bit flag information indicating that the malicious code was found, information on the type of the malicious code, information on the fatality of the malicious code, and the malicious code It may include at least one of information about the year.
일 실시예에 따른 운영 서버는, 상기 악성 코드 발견 정보 및 상기 제1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득할 수 있다.The operation server according to an embodiment may obtain modified malicious code retention probability information of the first application by applying the malicious code discovery information and malicious code retention probability information of the first application to the AI learning model. have.
일 실시예에 따른 운영 서버는, 상기 제2 사용자 디바이스로부터, 상기 제2 사용자 디바이스에 의해 설치 요청된 상기 제1 애플리케이션에 대한 제2 정보를 수신할 수 있다. 또한, 운영 서버는 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제2 시점의 CPU 정보, 상기 제2 시점의 메모리 정보, 상기 제2 시점의 로드 평균 정보 및 상기 제2 시점의 트래픽 정보를 수신할 수 있다. 또한, 운영 서버는 상기 수정된 악성 코드 보유 확률 정보, 상기 제2 정보, 상기 제2 시점의 상기 CPU 정보, 상기 제2 시점의 상기 메모리 정보, 상기 제2 시점의 상기 로드 평균 정보 및 상기 제2 시점의 상기 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다. The operation server according to an embodiment may receive second information on the first application requested to be installed by the second user device from the second user device. In addition, the operation server from the at least one server, the CPU information of the second time point of the at least one server, the memory information of the second time point, the load average information of the second time point, and the traffic information of the second time point Can receive. In addition, the operation server includes the modified malicious code retention probability information, the second information, the CPU information at the second time point, the memory information at the second time point, the load average information at the second time point, and the second It may be determined whether to instruct the installation of the first application on the second user device by applying the traffic information at the time point to the AI learning model.
일 예시에서, 상기 제2 시점은 상기 운영 서버가 상기 제2 정보를 수신한 시점을 나타낼 수 있다. 다른 일 예시에서, 상기 제2 시점은 상기 운영 서버가 상기 제2 정보를 수신한 시점으로부터 기 정의된 시간이 경과한 시점을 나타낼 수 있다.In one example, the second time point may indicate a time point at which the operation server receives the second information. In another example, the second time point may represent a time point when a predetermined time has elapsed from the time point when the operation server receives the second information.
일 실시예에 따른 운영 서버는, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않도록 지시하기로 결정된 것을 기반으로, 상기 제2 사용자 디바이스로 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않을 것을 지시하는 미설치 지시 정보를 전송할 수 있다.The operation server according to an embodiment does not install the first application on the second user device by the second user device, based on a decision to instruct not to install the first application on the second user device. It is possible to transmit uninstalled instruction information indicating not to.
일 예시에서, 상기 미설치 지시 정보는 플래그 형태로 나타날 수 있다. 다른 일 예시에서, 상기 미설치 지시 정보는 상기 제2 사용자 디바이스가 상기 제1 애플리케이션 설치를 취소하는 것을 트리거하는 시그널링일 수 있다.In one example, the non-installation instruction information may appear in the form of a flag. In another example, the non-installation instruction information may be signaling triggering that the second user device cancels the installation of the first application.
일 실시예에서, 상기 제1 시점과 상기 제2 시점 간의 시간 간격이 기 정의된 시간 간격 이하인 것을 기반으로, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않도록 지시하기로 결정될 수 있다.In an embodiment, it may be determined to instruct not to install the first application on the second user device based on the fact that the time interval between the first time point and the second time point is less than or equal to a predetermined time interval.
일 실시예에 따른 운영 서버는, 상기 제2 사용자 디바이스로부터, 상기 제2 사용자 디바이스에 의해 설치 요청된 상기 제2 애플리케이션에 대한 제3 정보를 수신할 수 있다. 또한, 운영 서버는 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제3 시점의 CPU 정보, 상기 제3 시점의 메모리 정보, 상기 제3 시점의 로드 평균 정보 및 상기 제3 시점의 트래픽 정보를 수신할 수 있다. 또한, 운영 서버는 상기 제3 시점의 CPU 정보, 상기 제3 시점의 메모리 정보, 상기 제3 시점의 로드 평균 정보 및 상기 제3 시점의 트래픽 정보를 기반으로, 상기 적어도 하나의 서버의 서버 자원 퀄리티 정보를 결정할 수 있다. 또한, 운영 서버는 상기 적어도 하나의 서버의 상기 서버 자원 퀄리티 정보가 나타내는 값이 기 정의된 임계치 이하인 것을 기반으로, 상기 제2 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않도록 지시하기로 결정할 수 있다. The operation server according to an embodiment may receive, from the second user device, third information about the second application requested to be installed by the second user device. In addition, the operation server from the at least one server, the CPU information at the third time point of the at least one server, the memory information at the third time point, the load average information at the third time point, and the traffic information at the third time point. Can receive. In addition, based on the CPU information at the third time point, the memory information at the third time point, the load average information at the third time point, and the traffic information at the third time point, the server resource quality of the at least one server Information can be determined. Further, the operation server may determine to instruct not to install the second application on the second user device based on the fact that the value indicated by the server resource quality information of the at least one server is less than or equal to a predefined threshold.
이때, 상기 제3 시점은 상기 운영 서버가 상기 제3 정보를 수신한 시점을 나타낼 수 있다. 다른 일 예시에서, 상기 제3 시점은 상기 운영 서버가 상기 제3 정보를 수신한 시점으로부터 기 정의된 시간이 경과한 시점을 나타낼 수 있다.In this case, the third time point may indicate a time point at which the operation server receives the third information. In another example, the third time point may represent a time point when a predetermined time has elapsed from the time point when the operation server receives the third information.
도 3은 일 실시예에 따른 운영 서버, 적어도 하나의 서버 및 사용자 디바이스가 데이터를 송수신하는 과정을 도시하는 흐름도이다.3 is a flowchart illustrating a process of transmitting and receiving data between an operation server, at least one server, and a user device according to an embodiment.
도 3에서는, 도 2에서 전술된 내용에 대한 설명을 생략하거나, 간단히 서술하기로 한다.In FIG. 3, the description of the contents described above in FIG. 2 will be omitted or briefly described.
단계 S310에서, 일 실시예에 따른 운영 서버(301)는, 제1 사용자 디바이스(303)에 의해 설치 요청된 제1 애플리케이션에 대한 제1 정보를 수신할 수 있다(S310). In step S310, the
단계 S320에서, 일 실시예에 따른 운영 서버(301)는, 상기 적어도 하나의 서버(302)로부터, 상기 적어도 하나의 서버(302)의 제1 시점의 CPU 정보, 상기 제1 시점의 메모리 정보, 상기 제1 시점의 로드 평균(load average) 정보 및 상기 제1 시점의 트래픽(traffic) 정보를 수신할 수 있다.In step S320, the
단계 S330에서, 일 실시예에 따른 운영 서버(301)는, 상기 운영 서버(301)의 데이터베이스(DB)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버(301)의 데이터베이스에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(303)에 설치하도록 지시할지 여부를 결정할 수 있다.In step S330, the
단계 S340에서, 일 실시예에 따른 운영 서버(301)는, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(303)에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제1 사용자 디바이스(303)로 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(303)에 설치할 것을 지시하는 설치 지시 정보를 전송할 수 있다.In step S340, the
도 4는 다른 일 실시예에 따른 운영 서버, 적어도 하나의 서버 및 사용자 디바이스들이 데이터를 송수신하는 과정을 도시하는 흐름도이다.4 is a flowchart illustrating a process of transmitting and receiving data between an operation server, at least one server, and user devices according to another exemplary embodiment.
도 4에서는, 도 2 또는 도 3에서 전술된 내용에 대한 설명을 생략하거나, 간단히 서술하기로 한다.In FIG. 4, the description of the contents described above in FIG. 2 or 3 will be omitted or briefly described.
단계 S410에서, 일 실시예에 따른 운영 서버(401)는, 제1 사용자 디바이스(403)에 의해 설치 요청된 제1 애플리케이션에 대한 제1 정보를 수신할 수 있다(S410). In step S410, the operation server 401 according to an embodiment may receive first information on the first application requested to be installed by the first user device 403 (S410).
단계 S420에서, 일 실시예에 따른 운영 서버(401)는, 상기 적어도 하나의 서버(402)로부터, 상기 적어도 하나의 서버(402)의 제1 시점의 CPU 정보, 상기 제1 시점의 메모리 정보, 상기 제1 시점의 로드 평균(load average) 정보 및 상기 제1 시점의 트래픽(traffic) 정보를 수신할 수 있다.In step S420, the operation server 401 according to an embodiment, from the at least one server 402, CPU information of the first time point of the at least one server 402, the memory information of the first time point, Load average information of the first view and traffic information of the first view may be received.
단계 S430에서, 일 실시예에 따른 운영 서버(401)는, 상기 운영 서버(401)의 데이터베이스(DB)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버(401)의 데이터베이스에 저장된 AI 학습 모델에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(403)에 설치하도록 지시할지 여부를 결정할 수 있다.In step S430, the operation server 401 according to an embodiment, the malicious code retention probability information of the first application stored in the database (DB) of the operation server 401, the first information, the first time point Applying the CPU information, the memory information at the first time point, the load average information at the first time point, and the traffic information at the first time point, to an AI learning model stored in the database of the operation server 401, It may be determined whether to instruct to install the first application on the first user device 403.
단계 S440에서, 일 실시예에 따른 운영 서버(401)는, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(403)에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제1 사용자 디바이스(403)로 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(403)에 설치할 것을 지시하는 설치 지시 정보를 전송할 수 있다.In step S440, the operation server 401 according to an embodiment, based on the determination to instruct to install the first application on the first user device 403, the first user device 403 Installation instruction information instructing to install the first application on the first user device 403 may be transmitted.
단계 S450에서, 일 실시예에 따른 운영 서버(401)는, 상기 제1 사용자 디바이스(403)로부터, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(403)에 설치한 결과 악성 코드가 발견되었음을 나타내는 악성 코드 발견 정보를 수신할 수 있다.In step S450, the operation server 401 according to an embodiment, from the first user device 403, the malicious code indicating that a malicious code was found as a result of installing the first application on the first user device 403 You can receive code discovery information.
단계 S460에서, 일 실시예에 따른 운영 서버(401)는, 상기 악성 코드 발견 정보 및 상기 제1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득할 수 있다.In step S460, the operation server 401 according to an embodiment applies the malicious code discovery information and the malicious code retention probability information of the first application to the AI learning model, and the modified malicious code of the first application It is possible to obtain possession probability information.
단계 S470에서, 일 실시예에 따른 운영 서버(401)는, 상기 제2 사용자 디바이스(404)로부터, 상기 제2 사용자 디바이스(404)에 의해 설치 요청된 상기 제1 애플리케이션에 대한 제2 정보를 수신할 수 있다.In step S470, the operation server 401 according to an embodiment receives, from the second user device 404, second information on the first application requested for installation by the second user device 404 can do.
단계 S480에서, 일 실시예에 따른 운영 서버(401)는, 상기 적어도 하나의 서버(402)로부터, 상기 적어도 하나의 서버(402)의 제2 시점의 CPU 정보, 상기 제2 시점의 메모리 정보, 상기 제2 시점의 로드 평균 정보 및 상기 제2 시점의 트래픽 정보를 수신할 수 있다.In step S480, the operation server 401 according to an embodiment, from the at least one server 402, CPU information of the second time point of the at least one server 402, the memory information of the second time point, The load average information at the second time point and traffic information at the second time point may be received.
단계 S490에서, 일 실시예에 따른 운영 서버(401)는, 상기 수정된 악성 코드 보유 확률 정보, 상기 제2 정보, 상기 제2 시점의 상기 CPU 정보, 상기 제2 시점의 상기 메모리 정보, 상기 제2 시점의 상기 로드 평균 정보 및 상기 제2 시점의 상기 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스(404)에 설치하도록 지시할지 여부를 결정할 수 있다.In step S490, the operation server 401 according to an embodiment, the modified malicious code retention probability information, the second information, the CPU information at the second time point, the memory information at the second time point, the second It is possible to determine whether to instruct to install the first application on the second user device 404 by applying the load average information at the second time point and the traffic information at the second time point to the AI learning model.
일 실시예에서, 상기 제2 시점은 상기 운영 서버(401)가 상기 제2 정보를 수신한 시점을 나타낼 수 있다.In an embodiment, the second time point may indicate a time point at which the operation server 401 receives the second information.
일 실시예에 따른 운영 서버(401)는, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스(404)에 설치하도록 지시할지 여부에 대한 상기 결정을 기반으로, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스(404)에 설치하도록 지시하거나, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스(404)에 설치하지 않도록 지시할 수 있다.Based on the determination as to whether to instruct the first application to be installed on the second user device 404, the operation server 401 according to an embodiment may transfer the first application to the second user device ( It may be instructed to install the first application on the second user device 404 or not to install the first application on the second user device 404.
도 5는 일 실시예에 따른 운영 서버의 구성을 도시하는 블록도이다.5 is a block diagram showing the configuration of an operation server according to an embodiment.
도 5에 도시된 바와 같이, 일 실시예에 따른 운영 서버(500)는 데이터베이스(510), 송수신부(520) 및 프로세서(530)를 포함할 수 있다. 그러나, 경우에 따라서는 도 5에 도시된 구성 요소 모두가 운영 서버(500)의 필수 구성 요소가 아닐 수 있고, 운영 서버(500)는 도 5에 도시된 구성 요소보다 많거나 적은 구성 요소에 의해 구현될 수 있다. 5, the
일 실시예에 따른 운영 서버(500)에서 데이터베이스(510), 송수신부(520) 및 프로세서(530)는 각각 별도의 칩(chip)으로 구현되거나, 적어도 둘 이상의 구성 요소가 하나의 칩을 통해 구현될 수도 있다.In the
데이터베이스(DB, 510)는 송수신부(520) 또는 프로세서(530)로부터 전달 받은 데이터를 저장할 수 있다. 일 실시예에서, 데이터베이스(510)는 적어도 하나의 프로그램을 저장할 수 있다. 일 예시에서, 상기 적어도 하나의 프로그램은, 프로세서(530)가 학습 모델을 실행할 때 이용될 수 있다.The databases DB and 510 may store data received from the transceiver 520 or the
송수신부(520)는 외부 장치와 통신을 수행할 수 있다. 일 예시에서, 송신부(520)는 외부 장치(예를 들어, 사용자 디바이스)와 데이터를 송수신할 수 있다.The transceiver 520 may perform communication with an external device. In an example, the transmission unit 520 may transmit and receive data with an external device (eg, a user device).
일 실시예에 따른 프로세서(530)는 운영 서버(500)의 전반적인 동작을 제어할 수 있다. 일 예시에서, 프로세서(530)는 운영 서버(500)의 데이터베이스(510)에 저장된 프로그램들을 실행함으로써, 데이터베이스(510) 및 송수신부(520) 등을 전반적으로 제어할 수 있다. 일 예시에서, 프로세서(530)는 운영 서버(500)의 데이터베이스(510)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 4에서 전술된 운영 서버(500)의 동작의 일부를 수행할 수 있다.The
일 실시예에 따른 프로세서(530)는, 상기 제1 사용자 디바이스로부터, 상기 제1 사용자 디바이스에 의해 설치 요청된 제1 애플리케이션에 대한 제1 정보를 수신하도록 송수신부(520)를 제어할 수 있다. 또한, 프로세서(530)는 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제1 시점의 CPU 정보, 상기 제1 시점의 메모리 정보, 상기 제1 시점의 로드 평균(load average) 정보 및 상기 제1 시점의 트래픽(traffic) 정보를 수신하도록 송수신부(520)를 제어할 수 있다. 또한, 프로세서(530)는 상기 운영 서버(500)의 데이터베이스(510)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버(500)의 데이터베이스(510)에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다. 또한, 프로세서(530)는 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제1 사용자 디바이스로 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치할 것을 지시하는 설치 지시 정보를 전송하도록 송수신부(520)를 제어할 수 있다. 일 예시에서, 상기 제1 시점은 상기 운영 서버가 상기 제1 정보를 수신한 시점을 나타낼 수 있다. The
일 실시예에 따른 프로세서(530)는, 상기 제1 사용자 디바이스로부터, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치한 결과 악성 코드가 발견되었음을 나타내는 악성 코드 발견 정보를 수신하도록 송수신부(520)를 제어할 수 있다. The
또한, 프로세서(530)는 상기 악성 코드 발견 정보 및 상기 제1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득할 수 있다. 또한, 프로세서(530)는 상기 제2 사용자 디바이스로부터, 상기 제2 사용자 디바이스에 의해 설치 요청된 상기 제1 애플리케이션에 대한 제2 정보를 수신하도록 송수신부(520)를 제어할 수 있다. 또한, 프로세서(530)는 상기 적어도 하나의 서버로부터, 상기 적어도 하나의 서버의 제2 시점의 CPU 정보, 상기 제2 시점의 메모리 정보, 상기 제2 시점의 로드 평균 정보 및 상기 제2 시점의 트래픽 정보를 수신하도록 송수신부(520)를 제어할 수 있다. 또한, 프로세서(530)는 상기 수정된 악성 코드 보유 확률 정보, 상기 제2 정보, 상기 제2 시점의 상기 CPU 정보, 상기 제2 시점의 상기 메모리 정보, 상기 제2 시점의 상기 로드 평균 정보 및 상기 제2 시점의 상기 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다. 일 예시에서, 상기 제2 시점은 상기 운영 서버가 상기 제2 정보를 수신한 시점을 나타낼 수 있다. In addition, the
일 실시예에 따른 프로세서(530)는, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않도록 지시하기로 결정된 것을 기반으로, 상기 제2 사용자 디바이스로 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않을 것을 지시하는 미설치 지시 정보를 전송하도록 송수신부(520)를 제어할 수 있다.
이하 도 6에서는, 프로세서(530)의 구성의 일 예시에 대해 설명하고, 프로세서(530)가 AI 학습 모델을 이용하는 방법에 대해 구체적으로 설명하기로 한다.In FIG. 6, an example of the configuration of the
도 6은 일 실시예에 따른 프로세서의 구성을 도시하는 블록도이다.6 is a block diagram illustrating a configuration of a processor according to an embodiment.
도 6에 도시된 바와 같이, 일 실시예에 따른 프로세서(530)는 데이터획득부(532), 학습 데이터 선택부(534), 학습 모델 실행부(536) 및 학습 결과 제공부(538)를 포함할 수 있다. 그러나, 경우에 따라서는 도 5에 도시된 구성 요소 모두가 프로세서(530)의 필수 구성 요소가 아닐 수 있고, 프로세서(530)는 도 6에 도시된 구성 요소보다 많거나 적은 구성 요소에 의해 구현될 수 있다. As shown in FIG. 6, the
당해 기술 분야의 통상의 기술자는, 도 6에 도시된 프로세서(530)의 구성은 상기 운영 서버(500)가 AI 학습 모델을 기반으로 기계 학습을 수행할 때 이용될 수 있는 프로세서(530)의 모듈들의 일 예시에 불과하고, 상기 운영 서버(500)가 반드시 기계 학습을 수행하는 것은 아니므로, 따라서 도 6에 도시된 프로세서(530)의 모듈들의 일부 또는 전부가 상기 프로세서(530)에 포함되지 않을 수도 있음을 용이하게 이해할 것이다.Those of ordinary skill in the art, the configuration of the
일 실시예에 따른 데이터 획득부(532)는, 사용자의 의도를 판단하고, 연관 정보를 제공하고, 대체 동작을 추천하기 위해 필요한 데이터를 획득할 수 있다. 또는, 데이터 획득부(532)는, 사용자의 의도를 판단하고, 연관 정보를 제공하고, 대체 동작을 추천하기 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.The
일 예시에서, 데이터 획득부(532)는, 예를 들어 사용자 음성, 이미지 정보, 소정의 컨텍스트 정보 중 적어도 하나를 획득할 수 있다. 일 예시에서, 데이터 획득부(532)는, 획득된 데이터를 기 정의된(pre-defined) 포맷으로 전환(convert)할 수 있다. In one example, the
일 실시예에 따른 학습 데이터 선택부(534)는, 데이터 획득부(532)가 획득한 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 예를 들어, 학습 데이터 선택부(534)는 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천을 위한 기 정의된 기준에 따라, 데이터 획득부(532)가 획득한 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또는, 학습 데이터 선택부(534)는 학습 모델 실행부(536)에 의한 학습을 기반으로 기 정의된 기준에 따라 데이터를 선택할 수도 있다.The learning
일 실시예에 따른 학습 모델 실행부(536)는, 학습 데이터를 기반으로 사용자의 의도를 어떻게 판단하고, 연관 정보를 어떻게 결정하고, 대체 동작을 어떻게 추천할 지에 관한 기준을 학습할 수 있다. 또한, 학습 모델 실행부(536)는 사용자의 의도 판단, 연관 정보의 결정 및 대체 동작의 추천을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.The learning
또한, 학습 모델 실행부(536)는 사용자의 의도 판단, 연관 정보의 결정 및 대체 동작의 추천에 이용되는 AI 학습 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, AI 학습 모델은 미리 구축된 모델일 수 있다. 예를 들어, AI 학습 모델은 기본 학습 데이터(예를 들어, 샘플 데이터 등)을 입력 받아 미리 구축된 모델일 수 있다.In addition, the learning
AI 학습 모델은, 학습 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. AI 학습 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 AI 학습 모델로서 사용될 수 있으나, 실시예는 이에 한정되지 않는다.The AI learning model may be constructed in consideration of the application field of the learning model, the purpose of learning, or the computer performance of the device. The AI learning model may be, for example, a model based on a neural network. For example, a model such as a deep neural network (DNN), a recurrent neural network (RNN), or a bidirectional recurrent deep neural network (BRDNN) may be used as an AI learning model, but embodiments are not limited thereto.
일 실시예에 따른 학습 모델 실행부(536)는, 미리 구축된 AI 학습 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 AI 학습 모델을 학습할 AI 학습 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, AI 학습 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다. The learning
일 실시예에 따른 학습 모델 실행부(536)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 AI 학습 모델을 학습시킬 수 있다.The learning
일 실시예에 따른 학습 모델 실행부(536)는, 예를 들어 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, AI 학습 모델을 학습시킬 수 있다. 또한, 학습 모델 실행부(536)는, 예를 들어 별다른 지도없이 사용자의 의도를 판단하고, 연관 정보를 제공하고, 대체 동작을 추천하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 수행할 수 있다. 상기 비지도 학습을 통하여, 학습 모델 실행부(536)는 AI 학습 모델을 학습시킬 수 있다. 또한, 학습 모델 실행부(536)는, 예를 들어, 학습에 따른 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, AI 학습 모델을 학습시킬 수 있다.The learning
일 실시예에 따른 학습 모델 실행부(536)는, 상기 운영 서버(500)의 데이터베이스(510)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버(500)의 데이터베이스(510)에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다.The learning
일 실시예에 따른 학습 모델 실행부(536)는, 전술된 악성 코드 발견 정보 및 전술된 제1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득할 수 있다.The learning
일 실시예에 따른 학습 모델 실행부(536)는, 상기 수정된 악성 코드 보유 확률 정보, 상기 제2 정보, 상기 제2 시점의 상기 CPU 정보, 상기 제2 시점의 상기 메모리 정보, 상기 제2 시점의 상기 로드 평균 정보 및 상기 제2 시점의 상기 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다.The learning
일 실시예에서, 상기 AI 학습 모델은, 머신 러닝(machine learning) 기반의 악성 코드 패턴 학습을 적용하기 위한 것일 수 있다.In one embodiment, the AI learning model may be for applying machine learning-based malware pattern learning.
일 실시예에 따른 학습 결과 제공부(538)는, 상기 학습 모델 실행부(536)에서 학습된 AI 학습 모델을 기반으로, (기계) 학습 결과를 도출 또는 획득할 수 있다. 학습 결과 제공부(538)는, 상기 (기계) 학습 결과를 데이터베이스(510) 또는 송수신부(520)로 제공할 수 있다. The learning result providing unit 538 according to an embodiment may derive or obtain a (machine) learning result based on the AI learning model learned by the learning
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. Some embodiments may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery medium.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시 예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.So far, the present invention has been looked at around its preferred embodiments. Those of ordinary skill in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Accordingly, the scope of the present invention is not limited to the above-described embodiments, but should be construed to include various embodiments within the scope equivalent to those described in the claims.
Claims (1)
LTE(Long Term Evolution) RAT(Radio Access Technology), NR(New Radio) RAT 또는 WiFi에 기반하여 상기 적어도 하나의 서버와 통신하는 제 1 사용자 디바이스;
상기 LTE RAT, 상기 NR RAT 또는 상기 WiFi에 기반하여 상기 적어도 하나의 서버와 통신하는 제 2 사용자 디바이스; 및
상기 제 1 사용자 디바이스 및 상기 제 2 사용자 디바이스를 관리하는 운영 서버; 를 포함하고,
상기 제 1 사용자 디바이스 및 상기 제 2 사용자 디바이스 중 적어도 어느 하나는 스마트폰(smart phone), 노트북(laptop computer) 또는 데스크톱 컴퓨터(desktop computer)이고,
상기 운영 서버는,
상기 제 1 사용자 디바이스에 의해 설치 요청된 제 1 애플리케이션에 대한 제 1 정보를 상기 제 1 사용자 디바이스로부터 수신하고,
상기 적어도 하나의 서버의 제 1 시점의 CPU 정보, 상기 제 1 시점의 메모리 정보, 상기 제 1 시점의 로드 평균(load average) 정보 및 상기 제 1 시점의 트래픽(traffic) 정보를 상기 적어도 하나의 서버로부터 수신하고,
상기 운영 서버의 데이터베이스(DB)에 저장된 상기 제 1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제 1 정보, 상기 제 1 시점의 상기 CPU 정보, 상기 제 1 시점의 상기 메모리 정보, 상기 제 1 시점의 상기 로드 평균 정보 및 상기 제 1 시점의 상기 트래픽 정보를, 상기 운영 서버의 데이터베이스에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치하도록 지시할지 여부를 결정하되, 상기 AI 학습 모델은 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 중 적어도 어느 하나에 기반하고,
상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치할 것을 지시하는 설치 지시 정보를 상기 제 1 사용자 디바이스에게 전송하고,
상기 제 1 시점은 상기 운영 서버가 상기 제 1 정보를 수신한 시점을 나타내고,
상기 운영 서버는,
상기 제 1 사용자 디바이스로부터, 상기 제 1 애플리케이션을 상기 제 1 사용자 디바이스에 설치한 결과 악성 코드가 발견되었음을 나타내는 악성 코드 발견 정보를 수신하고,
상기 악성 코드 발견 정보 및 상기 제 1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제 1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득하고,
상기 제 2 사용자 디바이스에 의해 설치 요청된 상기 제 1 애플리케이션에 대한 제 2 정보를 상기 제 2 사용자 디바이스로부터 수신하고,
상기 적어도 하나의 서버의 제 2 시점의 CPU 정보, 상기 제 2 시점의 메모리 정보, 상기 제 2 시점의 로드 평균 정보 및 상기 제 2 시점의 트래픽 정보를 상기 적어도 하나의 서버로부터 수신하고,
상기 수정된 악성 코드 보유 확률 정보, 상기 제 2 정보, 상기 제 2 시점의 상기 CPU 정보, 상기 제 2 시점의 상기 메모리 정보, 상기 제 2 시점의 로드 평균 정보 및 상기 제 2 시점의 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하도록 지시할지 여부를 결정하는 단계를 더 포함하되,
상기 제 2 시점은 상기 운영 서버가 상기 제 2 정보를 수신한 시점을 나타내고,
상기 운영 서버는,
상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않도록 지시하기로 결정된 것을 기반으로, 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않을 것을 지시하는 미설치 지시 정보를 상기 제 2 사용자 디바이스에게 전송하고,
상기 악성 코드 발견 정보는 상기 악성 코드가 발견되었음을 나타내는 1 비트의 플래그 정보, 상기 악성 코드의 종류에 대한 정보, 상기 악성 코드의 치명도에 대한 정보 및 상기 악성 코드가 처음으로 발견된 연도에 대한 정보를 포함하고,
상기 운영 서버는,
상기 제 1 시점과 상기 제 2 시점 간의 시간 간격이 기 정의된 시간 간격 이하인 것으로 판단되면, 상기 제 1 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않도록 지시하기로 결정하는 것을 특징으로 하고,
상기 운영 서버는,
상기 제 2 사용자 디바이스에 의해 설치 요청된 제 2 애플리케이션에 대한 제 3 정보를 상기 제 2 사용자 디바이스로부터 수신하고,
상기 적어도 하나의 서버의 제 3 시점의 CPU 정보, 상기 제 3 시점의 메모리 정보, 상기 제 3 시점의 로드 평균 정보 및 상기 제 3 시점의 트래픽 정보를 상기 적어도 하나의 서버로부터 수신하고,
상기 제 3 시점의 CPU 정보, 상기 제 3 시점의 메모리 정보, 상기 제 3 시점의 로드 평균 정보 및 상기 제 3 시점의 트래픽 정보를 기반으로, 상기 적어도 하나의 서버의 자원 품질 정보(resource quality information)를 결정하고,
상기 적어도 하나의 서버의 상기 자원 품질 정보가 나타내는 값이 기 정의된 임계치 이하인 것을 기반으로, 상기 제 2 애플리케이션을 상기 제 2 사용자 디바이스에 설치하지 않도록 지시하기로 결정하고,
상기 제 3 시점은 상기 운영 서버가 상기 제 3 정보를 수신한 시점을 나타내는,
시스템At least one server;
A first user device communicating with the at least one server based on LTE (Long Term Evolution) Radio Access Technology (RAT), New Radio (NR) RAT, or WiFi;
A second user device communicating with the at least one server based on the LTE RAT, the NR RAT, or the WiFi; And
An operation server that manages the first user device and the second user device; Including,
At least one of the first user device and the second user device is a smart phone, a laptop computer, or a desktop computer,
The operation server,
Receiving from the first user device first information on the first application requested to be installed by the first user device,
CPU information of a first time point of the at least one server, memory information of the first time point, load average information of the first time point, and traffic information of the first time point of the at least one server Receive from,
The malicious code retention probability information of the first application stored in the database (DB) of the operation server, the first information, the CPU information at the first time point, the memory information at the first time point, the first time point Whether to instruct to install the first application on the first user device by applying the load average information and the traffic information at the first time point to an AI learning model stored in the database of the operation server However, the AI learning model is based on at least one of DNN (Deep Neural Network), RNN (Recurrent Neural Network), and BRDNN (Bidirectional Recurrent Deep Neural Network),
On the basis of the decision to instruct the first application to be installed on the first user device, installation instruction information instructing to install the first application on the first user device is transmitted to the first user device,
The first time point indicates a time point at which the operation server receives the first information,
The operation server,
Receiving, from the first user device, malicious code discovery information indicating that a malicious code has been found as a result of installing the first application on the first user device,
Applying the malicious code discovery information and the malicious code retention probability information of the first application to the AI learning model to obtain modified malicious code retention probability information of the first application,
Receiving second information on the first application requested to be installed by the second user device from the second user device,
CPU information at a second time point of the at least one server, memory information at the second time point, load average information at the second time point, and traffic information at the second time point are received from the at least one server,
The modified malicious code retention probability information, the second information, the CPU information at the second time point, the memory information at the second time point, the load average information at the second time point, and the traffic information at the second time point, Applying to the AI learning model, further comprising determining whether to instruct to install the first application on the second user device,
The second point in time indicates a point in time when the operation server receives the second information,
The operation server,
Based on a decision to instruct not to install the first application on the second user device, non-installation instruction information instructing not to install the first application on the second user device is transmitted to the second user device and,
The malicious code discovery information includes 1-bit flag information indicating that the malicious code was found, information on the type of the malicious code, information on the fatality of the malicious code, and information on the year when the malicious code was first discovered. Including,
The operation server,
If it is determined that the time interval between the first time point and the second time point is less than or equal to a predefined time interval, it is characterized in that it is determined to instruct not to install the first application on the second user device,
The operation server,
Receiving from the second user device third information on the second application requested to be installed by the second user device,
CPU information at a third time point of the at least one server, memory information at the third time point, load average information at the third time point, and traffic information at the third time point are received from the at least one server,
Resource quality information of the at least one server based on the CPU information at the third time point, the memory information at the third time point, the load average information at the third time point, and the traffic information at the third time point. To determine,
Based on the fact that the value indicated by the resource quality information of the at least one server is less than or equal to a predefined threshold, it is determined to instruct not to install the second application on the second user device,
The third time point represents a time point at which the operation server receives the third information,
system
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200100970A KR102206493B1 (en) | 2020-08-12 | 2020-08-12 | System for providing management service based on device big data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200100970A KR102206493B1 (en) | 2020-08-12 | 2020-08-12 | System for providing management service based on device big data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200064298A Division KR102146883B1 (en) | 2020-05-28 | 2020-05-28 | System for managing server and user device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102206493B1 true KR102206493B1 (en) | 2021-01-22 |
Family
ID=74309879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200100970A KR102206493B1 (en) | 2020-08-12 | 2020-08-12 | System for providing management service based on device big data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102206493B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160033579A (en) * | 2014-09-18 | 2016-03-28 | 삼성전자주식회사 | System and method for providing service via application |
KR20170087007A (en) * | 2016-01-19 | 2017-07-27 | 삼성전자주식회사 | Electronic Apparatus for detecting Malware and Method thereof |
-
2020
- 2020-08-12 KR KR1020200100970A patent/KR102206493B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160033579A (en) * | 2014-09-18 | 2016-03-28 | 삼성전자주식회사 | System and method for providing service via application |
KR20170087007A (en) * | 2016-01-19 | 2017-07-27 | 삼성전자주식회사 | Electronic Apparatus for detecting Malware and Method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220294706A1 (en) | Methods, apparatus and machine-readable media relating to machine-learning in a communication network | |
CN115119331A (en) | Reinforcement learning for multi-access traffic management | |
US10554788B2 (en) | Remote management of application settings | |
US20170230308A1 (en) | Cloud-based service resource provisioning based on network characteristics | |
US10491535B2 (en) | Adaptive data synchronization | |
CN103023928A (en) | P2P (peer-to-peer) node matching system and method | |
US11284347B2 (en) | Activation system information transmission method, apparatus, and device | |
US20230224226A1 (en) | Methods and Apparatus Relating to Machine-Learning in a Communications Network | |
KR20130114678A (en) | Pre-fetching of assets to user equipment | |
WO2021051747A1 (en) | Data update method, system and device, electronic device, and computer storage medium | |
US20190236470A1 (en) | User behavior determination from corroborating control data | |
CN113039817B (en) | Method and apparatus for providing services in a home area data network | |
US10983850B1 (en) | Real-time application programming interface anomaly detection and mitigation | |
US9723480B2 (en) | Information processing device, server device, data communication system, data communication method, and computer-readable storage medium storing data communication program | |
KR102146883B1 (en) | System for managing server and user device | |
WO2022001555A1 (en) | Wireless resource management method, storage medium, and electronic device | |
CN112585904B (en) | Background data transmission processing | |
US20230283470A1 (en) | Service Request Handling | |
KR102206493B1 (en) | System for providing management service based on device big data | |
US20230308903A1 (en) | Communication related to federated learning | |
US20190238644A1 (en) | User identification for digital experience controls | |
US20220303227A1 (en) | Facilitating identification of background browsing traffic in browsing history data in advanced networks | |
US20200374180A1 (en) | Methods and systems for recovery of network elements in a communication network | |
US11489897B2 (en) | Method and apparatus for adjusting streaming media content based on context | |
KR102180105B1 (en) | Method and apparatus for determining malicious software for software installed on device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |