KR102206493B1 - System for providing management service based on device big data - Google Patents

System for providing management service based on device big data Download PDF

Info

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
Application number
KR1020200100970A
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 KR1020200100970A priority Critical patent/KR102206493B1/en
Application granted granted Critical
Publication of KR102206493B1 publication Critical patent/KR102206493B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • H04L67/322
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/61Scheduling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer 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

One embodiment of the present invention provides a system for providing a device management service based on big data of a device. The system comprises: at least one server; a first user device; a second user device; and an operating server. Therefore, the convenience of a manager managing the server and a user using the user device can be increased.

Description

디바이스의 빅데이터에 기반하여 디바이스 관리 서비스를 제공하는 시스템{SYSTEM FOR PROVIDING MANAGEMENT SERVICE BASED ON DEVICE BIG DATA}A system that provides device management services based on device big data {SYSTEM FOR PROVIDING MANAGEMENT SERVICE BASED ON DEVICE BIG DATA}

본 발명은 디바이스의 빅데이터에 기반하여 디바이스 관리 서비스를 제공하는 시스템에 관한 것이다.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 first application 1 It is determined whether to instruct to install on the user device, and if it is determined to instruct to install the first application on the first user device, the first application is installed on the first user device by the first user device. The transmission/reception unit is controlled to transmit installation instruction information indicating that, but the first time point may indicate a time point at which the operation server receives the first information.

본 발명의 다양한 실시예들에 따르면, 서버 및 사용자 디바이스를 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있다.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 operation server 110 and at least one server 120 may communicate with each other through the network 100 (or communication network). For example, when the operation server 110 transmits data to the network 100, the network 100 may transmit (transmit) the data to the operation server 110.

일 실시예에서, 제1 사용자 디바이스(130) 또는 상기 제2 사용자 디바이스(140)와 적어도 하나의 서버(120)는 네트워크(100)(또는 통신망)를 통해서 상호 통신할 수 있다. 예를 들어, 상기 제1 사용자 디바이스(130)가 네트워크(100)로 데이터를 전송하면, 네트워크(100)는 상기 적어도 하나의 서버(120)로 상기 데이터를 전달(전송)할 수 있다.In an embodiment, the first user device 130 or the second user device 140 and the at least one server 120 may communicate with each other through the network 100 (or communication network). For example, when the first user device 130 transmits data to the network 100, the network 100 may transmit (transmit) the data to the at least one server 120.

일 실시예에서, 제1 사용자 디바이스(130) 또는 상기 제2 사용자 디바이스(140)와 운영 서버(110)는 네트워크(100)(또는 통신망)를 통해서 상호 통신할 수 있다. 예를 들어, 상기 제1 사용자 디바이스(130)가 네트워크(100)에게 데이터를 전송하면, 네트워크(100)는 상기 운영 서버(120)에게 상기 데이터를 전달(전송)할 수 있다.In one embodiment, the first user device 130 or the second user device 140 and the operation server 110 may communicate with each other through the network 100 (or communication network). For example, when the first user device 130 transmits data to the network 100, the network 100 may transmit (transmit) the data to the operation server 120.

한편, 상기 운영 서버(110), 상기 적어도 하나의 서버(120), 상기 제1 사용자 디바이스(130) 및 상기 제2 사용자 디바이스(140) 중 적어도 하나가 상기 네트워크(100)를 거치지 않고 상호 통신할 수 있음은, 상기 D2D 통신에 관한 설명에서 전술한 바 있다.Meanwhile, at least one of the operation server 110, the at least one server 120, the first user device 130 and the second user device 140 communicates with each other without going through the network 100. Yes, it has been described above in the description of the D2D communication.

이하 도 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 operation server 110 and the at least one server 120, the first user device 130, and the second user device 140 Based on the operation server 110, the method of managing at least one of the at least one server 120, the first user device 130, and the second user device 140 is specifically reviewed.

도 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 operation server 301 shown in FIG. 3, the operation server 401 shown in FIG. 4, or the operation server 500 shown in FIG. 5. In one example, the operations disclosed in the flowchart of FIG. 2 may correspond to some of the operations disclosed in FIGS. 3 and 4.

단계 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 operation server 301 according to an embodiment may receive first information on the first application requested to be installed by the first user device 303 (S310).

단계 S320에서, 일 실시예에 따른 운영 서버(301)는, 상기 적어도 하나의 서버(302)로부터, 상기 적어도 하나의 서버(302)의 제1 시점의 CPU 정보, 상기 제1 시점의 메모리 정보, 상기 제1 시점의 로드 평균(load average) 정보 및 상기 제1 시점의 트래픽(traffic) 정보를 수신할 수 있다.In step S320, the operation server 301 according to an embodiment, from the at least one server 302, CPU information of the first time point of the at least one server 302, 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.

단계 S330에서, 일 실시예에 따른 운영 서버(301)는, 상기 운영 서버(301)의 데이터베이스(DB)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버(301)의 데이터베이스에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(303)에 설치하도록 지시할지 여부를 결정할 수 있다.In step S330, the operation server 301 according to an embodiment, the malicious code retention probability information of the first application stored in the database (DB) of the operation server 301, the first information, the first time point 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 are stored in the database of the operation server 301 (Artificial Intelligence Learning model), it is possible to determine whether to instruct to install the first application on the first user device 303.

단계 S340에서, 일 실시예에 따른 운영 서버(301)는, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(303)에 설치하도록 지시하기로 결정된 것을 기반으로, 상기 제1 사용자 디바이스(303)로 상기 제1 애플리케이션을 상기 제1 사용자 디바이스(303)에 설치할 것을 지시하는 설치 지시 정보를 전송할 수 있다.In step S340, the operation server 301 according to an embodiment, based on the determination to instruct to install the first application on the first user device 303, the first user device 303 Installation instruction information instructing to install the first application on the first user device 303 may be transmitted.

도 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 operation server 500 according to an embodiment may include a database 510, a transmission/reception unit 520, and a processor 530. However, in some cases, all of the components shown in FIG. 5 may not be essential components of the operating server 500, and the operating server 500 may be configured by more or less components than the components shown in FIG. 5. Can be implemented.

일 실시예에 따른 운영 서버(500)에서 데이터베이스(510), 송수신부(520) 및 프로세서(530)는 각각 별도의 칩(chip)으로 구현되거나, 적어도 둘 이상의 구성 요소가 하나의 칩을 통해 구현될 수도 있다.In the operation server 500 according to an embodiment, the database 510, the transceiver 520, and the processor 530 are each implemented as a separate chip, or at least two or more components are implemented through a single chip. It could be.

데이터베이스(DB, 510)는 송수신부(520) 또는 프로세서(530)로부터 전달 받은 데이터를 저장할 수 있다. 일 실시예에서, 데이터베이스(510)는 적어도 하나의 프로그램을 저장할 수 있다. 일 예시에서, 상기 적어도 하나의 프로그램은, 프로세서(530)가 학습 모델을 실행할 때 이용될 수 있다.The databases DB and 510 may store data received from the transceiver 520 or the processor 530. In one embodiment, the database 510 may store at least one program. In one example, the at least one program may be used when the processor 530 executes a learning model.

송수신부(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 processor 530 according to an embodiment may control the overall operation of the operation server 500. In one example, the processor 530 may overall control the database 510 and the transceiver 520 by executing programs stored in the database 510 of the operation server 500. In one example, the processor 530 may perform some of the operations of the operation server 500 described above in FIGS. 1 to 4 by executing programs stored in the database 510 of the operation server 500.

일 실시예에 따른 프로세서(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 processor 530 according to an embodiment may control the transmission/reception unit 520 to receive first information on a first application requested to be installed by the first user device from the first user device. In addition, the processor 530 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 the first time point The transmission/reception unit 520 may be controlled to receive traffic information of one point in time. In addition, the processor 530 is stored in the database 510 of the operation server 500, the malicious code retention probability information of the first application, the first information, the CPU information of the first time point, the first time point Applying the memory information, 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 510 of the operation server 500, It may be determined whether to instruct to install the first application on the first user device. In addition, the processor 530 is an installation instructing the first user device to install the first application on the first user device, based on the decision to instruct the first application to be installed on the first user device. The transmission/reception unit 520 may be controlled to transmit the indication information. In one example, the first time point may represent a time point at which the operation server receives the first information.

일 실시예에 따른 프로세서(530)는, 상기 제1 사용자 디바이스로부터, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치한 결과 악성 코드가 발견되었음을 나타내는 악성 코드 발견 정보를 수신하도록 송수신부(520)를 제어할 수 있다. The processor 530 according to an embodiment includes a transmission/reception unit 520 to receive malicious code discovery information indicating that a malicious code is found as a result of installing the first application on the first user device from the first user device. Can be controlled.

또한, 프로세서(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 processor 530 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. Also, the processor 530 may control the transceiver 520 to receive second information on the first application requested to be installed by the second user device from the second user device. In addition, the processor 530 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 of the second time point The transceiver 520 may be controlled to receive information. In addition, the processor 530 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 It may be determined whether to instruct to install the first application on the second user device by applying the traffic information of the second viewpoint to the AI learning model. In one example, the second time point may indicate a time point at which the operation server receives the second information.

일 실시예에 따른 프로세서(530)는, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않도록 지시하기로 결정된 것을 기반으로, 상기 제2 사용자 디바이스로 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하지 않을 것을 지시하는 미설치 지시 정보를 전송하도록 송수신부(520)를 제어할 수 있다.Processor 530 according to an embodiment, based on the determination to instruct not to install the first application on the second user device, the second user device to the first application to the second user device The transmission/reception unit 520 may be controlled to transmit uninstalled instruction information indicating not to be installed.

이하 도 6에서는, 프로세서(530)의 구성의 일 예시에 대해 설명하고, 프로세서(530)가 AI 학습 모델을 이용하는 방법에 대해 구체적으로 설명하기로 한다.In FIG. 6, an example of the configuration of the processor 530 will be described, and a method of the processor 530 using the AI learning model will be described in detail.

도 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 processor 530 according to an embodiment includes a data acquisition unit 532, a training data selection unit 534, a learning model execution unit 536, and a learning result providing unit 538. can do. However, in some cases, all of the components shown in FIG. 5 may not be essential components of the processor 530, and the processor 530 may be implemented by more or less components than the components shown in FIG. I can.

당해 기술 분야의 통상의 기술자는, 도 6에 도시된 프로세서(530)의 구성은 상기 운영 서버(500)가 AI 학습 모델을 기반으로 기계 학습을 수행할 때 이용될 수 있는 프로세서(530)의 모듈들의 일 예시에 불과하고, 상기 운영 서버(500)가 반드시 기계 학습을 수행하는 것은 아니므로, 따라서 도 6에 도시된 프로세서(530)의 모듈들의 일부 또는 전부가 상기 프로세서(530)에 포함되지 않을 수도 있음을 용이하게 이해할 것이다.Those of ordinary skill in the art, the configuration of the processor 530 shown in FIG. 6 is a module of the processor 530 that can be used when the operation server 500 performs machine learning based on an AI learning model. They are only an example, and since the operation server 500 does not necessarily perform machine learning, some or all of the modules of the processor 530 shown in FIG. 6 may not be included in the processor 530. It will be easily understood that it may be.

일 실시예에 따른 데이터 획득부(532)는, 사용자의 의도를 판단하고, 연관 정보를 제공하고, 대체 동작을 추천하기 위해 필요한 데이터를 획득할 수 있다. 또는, 데이터 획득부(532)는, 사용자의 의도를 판단하고, 연관 정보를 제공하고, 대체 동작을 추천하기 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.The data acquisition unit 532 according to an embodiment may determine a user's intention, provide related information, and acquire data necessary to recommend an alternative operation. Alternatively, the data acquisition unit 532 may determine the user's intention, provide related information, and acquire necessary data for learning to recommend an alternative operation.

일 예시에서, 데이터 획득부(532)는, 예를 들어 사용자 음성, 이미지 정보, 소정의 컨텍스트 정보 중 적어도 하나를 획득할 수 있다. 일 예시에서, 데이터 획득부(532)는, 획득된 데이터를 기 정의된(pre-defined) 포맷으로 전환(convert)할 수 있다. In one example, the data acquisition unit 532 may acquire at least one of, for example, user voice, image information, and predetermined context information. In one example, the data acquisition unit 532 may convert the acquired data into a pre-defined format.

일 실시예에 따른 학습 데이터 선택부(534)는, 데이터 획득부(532)가 획득한 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 예를 들어, 학습 데이터 선택부(534)는 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천을 위한 기 정의된 기준에 따라, 데이터 획득부(532)가 획득한 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또는, 학습 데이터 선택부(534)는 학습 모델 실행부(536)에 의한 학습을 기반으로 기 정의된 기준에 따라 데이터를 선택할 수도 있다.The learning data selection unit 534 according to an embodiment may select data necessary for learning from among data acquired by the data acquisition unit 532. For example, the learning data selection unit 534 is data necessary for learning from among the data acquired by the data acquisition unit 532 according to predefined criteria for determining a user's intention, providing related information, and recommending an alternative action. You can choose Alternatively, the learning data selection unit 534 may select data according to a predefined criterion based on learning by the learning model execution unit 536.

일 실시예에 따른 학습 모델 실행부(536)는, 학습 데이터를 기반으로 사용자의 의도를 어떻게 판단하고, 연관 정보를 어떻게 결정하고, 대체 동작을 어떻게 추천할 지에 관한 기준을 학습할 수 있다. 또한, 학습 모델 실행부(536)는 사용자의 의도 판단, 연관 정보의 결정 및 대체 동작의 추천을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.The learning model execution unit 536 according to an embodiment may learn a criterion for how to determine a user's intention, determine related information, and recommend an alternative operation based on the training data. In addition, the learning model execution unit 536 may learn a criterion for which training data to be used for determining a user's intention, determining related information, and recommending a replacement operation.

또한, 학습 모델 실행부(536)는 사용자의 의도 판단, 연관 정보의 결정 및 대체 동작의 추천에 이용되는 AI 학습 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, AI 학습 모델은 미리 구축된 모델일 수 있다. 예를 들어, AI 학습 모델은 기본 학습 데이터(예를 들어, 샘플 데이터 등)을 입력 받아 미리 구축된 모델일 수 있다.In addition, the learning model execution unit 536 may train an AI learning model used for determining a user's intention, determining related information, and recommending a replacement operation, using the learning data. In this case, the AI learning model may be a pre-built model. For example, the AI learning model may be a model built in advance by receiving basic training data (eg, sample data, etc.).

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 model execution unit 536 according to an embodiment, when a plurality of pre-built AI learning models exist, determines an AI learning model to be trained with an AI learning model having a high correlation between the input training data and the basic training data. I can. In this case, the basic training data may be pre-classified by data type, and the AI training model may be pre-built for each data type. For example, basic training data is classified based on various criteria such as the region where the training data was created, the time when the training data was created, the size of the training data, the genre of the training data, the creator of the training data, and the type of objects in the training data. Can be.

일 실시예에 따른 학습 모델 실행부(536)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 AI 학습 모델을 학습시킬 수 있다.The learning model execution unit 536 according to an embodiment may train an AI learning model using, for example, a learning algorithm including error back-propagation or gradient descent. I can.

일 실시예에 따른 학습 모델 실행부(536)는, 예를 들어 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, AI 학습 모델을 학습시킬 수 있다. 또한, 학습 모델 실행부(536)는, 예를 들어 별다른 지도없이 사용자의 의도를 판단하고, 연관 정보를 제공하고, 대체 동작을 추천하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 수행할 수 있다. 상기 비지도 학습을 통하여, 학습 모델 실행부(536)는 AI 학습 모델을 학습시킬 수 있다. 또한, 학습 모델 실행부(536)는, 예를 들어, 학습에 따른 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, AI 학습 모델을 학습시킬 수 있다.The learning model execution unit 536 according to an embodiment may train an AI learning model through, for example, supervised learning using training data as an input value. In addition, the learning model execution unit 536 determines the user's intention by self-learning the type of data necessary to determine the user's intention, provide related information, and recommend an alternative operation without any guidance, for example, Unsupervised learning of discovering a criterion for providing related information and recommending a replacement operation may be performed. Through the unsupervised learning, the learning model execution unit 536 may train the AI learning model. In addition, the learning model execution unit 536, for example, through reinforcement learning using feedback on whether the user's intention determination according to the learning, the provision of related information, and the recommendation result of the replacement action are correct, AI learning model can be trained.

일 실시예에 따른 학습 모델 실행부(536)는, 상기 운영 서버(500)의 데이터베이스(510)에 저장된 상기 제1 애플리케이션의 악성 코드 보유 확률 정보, 상기 제1 정보, 상기 제1 시점의 상기 CPU 정보, 상기 제1 시점의 상기 메모리 정보, 상기 제1 시점의 상기 로드 평균 정보 및 상기 제1 시점의 상기 트래픽 정보를, 상기 운영 서버(500)의 데이터베이스(510)에 저장된 AI 학습 모델(Artificial Intelligence learning model)에 적용하여, 상기 제1 애플리케이션을 상기 제1 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다.The learning model execution unit 536 according to an embodiment includes probability information of a malicious code retention of the first application stored in the database 510 of the operation server 500, the first information, and the CPU at the first time point. 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 are stored in the database 510 of the operation server 500 (Artificial Intelligence learning model), it is possible to determine whether to instruct to install the first application on the first user device.

일 실시예에 따른 학습 모델 실행부(536)는, 전술된 악성 코드 발견 정보 및 전술된 제1 애플리케이션의 악성 코드 보유 확률 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션의 수정된 악성 코드 보유 확률 정보를 획득할 수 있다.The learning model execution unit 536 according to an embodiment applies the above-described malicious code discovery information and the above-described 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.

일 실시예에 따른 학습 모델 실행부(536)는, 상기 수정된 악성 코드 보유 확률 정보, 상기 제2 정보, 상기 제2 시점의 상기 CPU 정보, 상기 제2 시점의 상기 메모리 정보, 상기 제2 시점의 상기 로드 평균 정보 및 상기 제2 시점의 상기 트래픽 정보를 상기 AI 학습 모델에 적용하여, 상기 제1 애플리케이션을 상기 제2 사용자 디바이스에 설치하도록 지시할지 여부를 결정할 수 있다.The learning model execution unit 536 according to an embodiment 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 second time point It may be determined whether to instruct to install the first application on the second user device by applying the load average information of and the traffic information of the second time point to the AI learning model.

일 실시예에서, 상기 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 model execution unit 536. The learning result providing unit 538 may provide the (machine) learning result to the database 510 or the transmitting/receiving unit 520.

일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. 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
KR1020200100970A 2020-08-12 2020-08-12 System for providing management service based on device big data KR102206493B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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