KR102429832B1 - 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법 - Google Patents

네트워크 환경 분석 기반 원격 접속 서비스 제공 방법 Download PDF

Info

Publication number
KR102429832B1
KR102429832B1 KR1020220036241A KR20220036241A KR102429832B1 KR 102429832 B1 KR102429832 B1 KR 102429832B1 KR 1020220036241 A KR1020220036241 A KR 1020220036241A KR 20220036241 A KR20220036241 A KR 20220036241A KR 102429832 B1 KR102429832 B1 KR 102429832B1
Authority
KR
South Korea
Prior art keywords
user terminal
user
network environment
application program
confirmed
Prior art date
Application number
KR1020220036241A
Other languages
English (en)
Inventor
김재근
Original Assignee
주식회사 데이터시스
김재근
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 데이터시스, 김재근 filed Critical 주식회사 데이터시스
Priority to KR1020220036241A priority Critical patent/KR102429832B1/ko
Application granted granted Critical
Publication of KR102429832B1 publication Critical patent/KR102429832B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

일실시예에 따르면, 장치에 의해 수행되는, 네트워크 환경의 분석을 기반으로 원격 접속 서비스를 제공하는 방법에 있어서, 제1 사용자 단말이 제1 사용자 계정을 통해 로그인 되면, 상기 제1 사용자 단말과 상기 장치 간의 통신 속도를 확인하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 미리 설정된 제1 기준 속도 보다 빠른지 여부를 확인하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 안정 상태로 분석하는 단계; 및 상기 제1 사용자 단말의 네트워크 환경이 안정 상태로 분석되면, 상기 제1 사용자 계정을 이용하여 클라우드 상에 생성되어 있는 제1 사용자의 워크 스페이스를 확인하고, 상기 제1 사용자 단말이 상기 제1 사용자의 워크 스페이스에 원격 접속되도록 제어하는 단계를 포함하는, 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법이 제공된다.

Description

네트워크 환경 분석 기반 원격 접속 서비스 제공 방법 {METHOD, DEVICE AND SYSTEM FOR PROVIDING REMOTE ACCESS SERVICE BASED ON ANALYSIS OF NETWORK ENVIRONMENT}
아래 실시예들은 네트워크 환경의 분석을 기반으로 원격 접속 서비스를 제공하기 위한 기술에 관한 것이다.
최근, 4차 산업혁명 도래에 따른 기술적 니즈 외에 코로나 확산 이후 다양한 외부 요인이 더해져, 클라우드를 이용하여 유연하게 업무를 처리할 수 있는 가상 데스크톱에 대한 수요가 급증하고 있다.
즉, 원격 접속과 가상화 접속 환경에 대해서 사용자가 신경을 쓰지 않고, 업무에만 집중할 수 있는 원격 접속 서비스가 개발되고 있다.
원격 근무자의 업무 수행을 위해서는 원격 접속 뿐만 아니라 실제 업무에 필요한 기기와 업무 프로그램들이 함께 설치되어 있어야 하고, IT 운용 예산에 제한을 받지 않아야 한다.
하지만, 원격 접속으로 근무를 진행하는데 있어, 네트워크 환경에 따라 지연 시간이 발생하는 문제가 있으므로, 지연 시간을 최소화할 수 있는 근무 환경 구축이 필요한 상황이다.
따라서, 상술한 문제점을 해결하기 위해, 네트워크 환경 상태에 따라 원격 서비스를 제공하고자 하는 기술에 대한 요구가 증대되고 있어, 이와 관련된 기술에 대한 연구가 요구된다.
한국등록특허 제10-2351795호 한국등록특허 제10-2032677호 한국등록특허 제10-1916422호 한국등록특허 제10-1742710호
일실시예에 따르면, 제1 사용자 단말이 제1 사용자 계정을 통해 로그인 되면, 제1 사용자 단말과 장치 간의 통신 속도를 확인하고, 제1 사용자 단말과 장치 간의 통신 속도가 미리 설정된 제1 기준 속도 보다 빠른지 여부를 확인하고, 제1 사용자 단말과 장치 간의 통신 속도가 제1 기준 속도 보다 빠른 것으로 확인되면, 제1 사용자 단말의 네트워크 환경을 안정 상태로 분석하고, 제1 사용자 단말의 네트워크 환경이 안정 상태로 분석되면, 제1 사용자 계정을 이용하여 클라우드 상에 생성되어 있는 제1 사용자의 워크 스페이스를 확인하고, 제1 사용자 단말이 제1 사용자의 워크 스페이스에 원격 접속되도록 제어하는, 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법, 장치 및 시스템을 제공하기 위한 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
일실시예에 따르면, 장치에 의해 수행되는, 네트워크 환경의 분석을 기반으로 원격 접속 서비스를 제공하는 방법에 있어서, 제1 사용자 단말이 제1 사용자 계정을 통해 로그인 되면, 상기 제1 사용자 단말과 상기 장치 간의 통신 속도를 확인하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 미리 설정된 제1 기준 속도 보다 빠른지 여부를 확인하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 안정 상태로 분석하는 단계; 및 상기 제1 사용자 단말의 네트워크 환경이 안정 상태로 분석되면, 상기 제1 사용자 계정을 이용하여 클라우드 상에 생성되어 있는 제1 사용자의 워크 스페이스를 확인하고, 상기 제1 사용자 단말이 상기 제1 사용자의 워크 스페이스에 원격 접속되도록 제어하는 단계를 포함하는, 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법이 제공된다.
상기 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법은, 상기 제1 사용자의 워크 스페이스에 원격 접속되도록 제어하는 단계 이후, 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 큰 값으로 설정된 제2 기준 속도 보다 빠른지 여부를 확인하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제2 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 우수 상태로 분석하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제2 기준 속도 보다 느린 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 양호 상태로 분석하는 단계; 상기 제1 사용자 단말의 네트워크 환경이 우수 상태로 분석되면, 우수 상태에서 실행 가능한 것으로 설정되어 있는 응용프로그램의 리스트인 제1 리스트를 획득하는 단계; 상기 제1 사용자 단말이 상기 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램에 대한 실행을 요청하면, 상기 제1 리스트에 상기 제1 응용프로그램이 포함되어 있는지 여부를 확인하는 단계; 상기 제1 리스트에 상기 제1 응용프로그램이 포함되어 있는 것으로 확인되면, 상기 제1 사용자의 워크 스페이스 상에서 상기 제1 응용프로그램이 실행되도록 제어하는 단계; 및 상기 제1 사용자 단말의 네트워크 환경이 양호 상태로 분석되면, 상기 제1 사용자의 워크 스페이스에 저장되어 있는 파일의 다운이 가능한 것을 알려주는 알림 메시지를 상기 제1 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
상기 제1 응용프로그램이 실행되도록 제어하는 단계는, 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제2 기준 속도 보다 큰 값으로 설정된 제3 기준 속도 보다 빠른지 여부를 확인하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제3 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 응용프로그램에 대한 이용 권한을 1레벨로 설정하는 단계; 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제3 기준 속도 보다 느린 것으로 확인되면, 상기 제1 응용프로그램에 대한 이용 권한을 2레벨로 설정하는 단계; 상기 제1 응용프로그램에 대한 이용 권한이 1레벨로 설정되어 있는 경우, 상기 제1 응용프로그램을 통해 열린 파일에 대한 정보의 확인 및 변경이 가능하도록, 상기 제1 사용자의 워크 스페이스 상에서 실행된 상기 제1 응용프로그램의 이용 권한을 설정하는 단계; 및 상기 제1 응용프로그램에 대한 이용 권한이 2레벨로 설정되어 있는 경우, 상기 제1 응용프로그램을 통해 열린 파일에 대한 정보의 확인만 가능하도록, 상기 제1 사용자의 워크 스페이스 상에서 실행된 상기 제1 응용프로그램의 이용 권한을 설정하는 단계를 포함할 수 있다.
일실시예에 따르면, 제1 사용자 단말이 제1 사용자 계정을 통해 로그인 되면, 제1 사용자 단말과 장치 간의 통신 속도를 확인하고, 제1 사용자 단말과 장치 간의 통신 속도가 미리 설정된 제1 기준 속도 보다 빠른지 여부를 확인하고, 제1 사용자 단말과 장치 간의 통신 속도가 제1 기준 속도 보다 빠른 것으로 확인되면, 제1 사용자 단말의 네트워크 환경을 안정 상태로 분석하고, 제1 사용자 단말의 네트워크 환경이 안정 상태로 분석되면, 제1 사용자 계정을 이용하여 클라우드 상에 생성되어 있는 제1 사용자의 워크 스페이스를 확인하고, 제1 사용자 단말이 제1 사용자의 워크 스페이스에 원격 접속되도록 제어함으로써, 네트워크 환경 상태에 따라 원격 서비스를 제공할 수 있는 효과가 있다.
한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 네트워크 환경의 분석을 기반으로 원격 접속 서비스를 제공하는 과정을 설명하기 위한 순서도이다.
도 3은 일실시예에 따른 네트워크 상태에 따라 응용프로그램을 실행할 수 있는 자격을 부여하는 과정을 설명하기 위한 순서도이다.
도 4는 일실시예에 따른 사용자의 워크 스페이스 상에서 응용프로그램이 실행되도록 제어하는 과정을 설명하기 위한 순서도이다.
도 5는 일실시예에 따른 네트워크 상태에 따라 응용프로그램의 이용 권한을 설정하는 과정을 설명하기 위한 순서도이다.
도 6은 일실시예에 따른 네트워크 환경이 불안정 상태일 때의 대응 방안을 제공하는 과정을 설명하기 위한 순서도이다.
도 7은 일실시예에 따른 제1 인공 신경망의 학습을 설명하기 위한 도면이다.
도 8은 일실시예에 따른 장치의 구성의 예시도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따른 시스템은 통신망을 통해 서로 통신 가능한 복수의 사용자 단말(100) 및 장치(200)를 포함할 수 있다.
먼저, 통신망은 유선 및 무선 등과 같이 그 통신 양태를 가리지 않고 구성될 수 있으며, 서버와 서버 간의 통신과 서버와 단말 간의 통신이 수행되도록 다양한 형태로 구현될 수 있다.
복수의 사용자 단말(100) 각각은 데스크탑 컴퓨터, 노트북, 태블릿, 스마트폰 등일 수 있다. 바람직하게, 도 1에 도시된 바와 같이, 제1 사용자 단말(110), 제2 사용자 단말(120), 제3 사용자 단말(130) 등은 스마트폰일 수 있으며, 실시예에 따라 달리 채용될 수도 있다.
복수의 사용자 단말(100) 각각은 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 복수의 사용자 단말(100)은 장치(200)와 유무선으로 통신하도록 구성될 수 있다.
복수의 사용자 단말(100) 각각은 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 운영하는 웹 페이지에 접속되거나, 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 개발·배포한 애플리케이션이 설치될 수 있다. 복수의 사용자 단말(100) 각각은 웹 페이지 또는 애플리케이션을 통해 장치(200)와 연동될 수 있다.
복수의 사용자 단말(100) 각각은 장치(200)에서 제공하는 웹 페이지, 애플리케이션을 등을 통해 장치(200)에 접속할 수 있다.
이하에서는 설명의 편의상, 제1 사용자 단말(110)의 동작을 위주로 설명하지만, 제2 사용자 단말(120) 등의 다른 사용자 단말에서 제1 사용자 단말(110)의 동작을 대신 수행할 수 있는 것은 물론이다.
장치(200)는 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 보유한 자체 서버일수도 있고, 클라우드 서버일 수도 있고, 분산된 노드(node)들의 p2p(peer-to-peer) 집합일 수도 있다. 장치(200)는 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 장치(200)는 추론 기능을 수행하는 적어도 하나 이상의 인공 신경망을 구비할 수 있다.
장치(200)는 복수의 사용자 단말(100)과 유무선으로 통신하도록 구성될 수 있으며, 복수의 사용자 단말(100) 각각의 동작을 제어하고, 복수의 사용자 단말(100) 각각의 화면에 어느 정보를 표시할 것인지에 대해 제어할 수 있다.
한편, 설명의 편의를 위해 도 1에서는 복수의 사용자 단말(100) 중 제1 사용자 단말(110), 제2 사용자 단말(120) 및 제3 사용자 단말(130)만을 도시하였으나, 단말들의 수는 실시예에 따라 얼마든지 달라질 수 있다. 장치(200)의 처리 용량이 허용하는 한, 단말들의 수는 특별한 제한이 없다.
일실시예에 따르면, 장치(200)는 복수의 사용자 단말(100) 각각의 네트워크 환경을 분석하여, 사용자 단말 별로 분석된 네트워크 환경을 기반으로, 복수의 사용자 단말(100)로 원격 접속 서비스를 제공할 수 있다. 여기서, 원격 접속 서비스는 사용자가 PC나 노트북을 통해 작업하지만 실제 컴퓨팅 환경은 데이터 센터에 구축된 서버에서 운영되는 VDI(Virtual Desktop Infrastructure) 방식을 통해 제공될 수 있으며, 이를 SaaS 형태로 만든 DaaS(Desktop as a Service) 방식을 통해 제공될 수도 있다.
즉, 장치(200)는 데이터를 인터넷과 연결된 중앙컴퓨터에 저장해서 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수 있는 클라우드 서비스를 제공할 수 있고, 단말에 소프트웨어를 설치하지 않아도 클라우드 환경에서 응용프로그램의 실행이 가능한 SaaS(Software as a Service)를 제공할 수 있다.
일실시예에 따르면, 장치(200)는 인공지능을 기반으로 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부를 검출할 수 있다.
본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.
기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.
인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.
이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.
컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.
도 2는 일실시예에 따른 네트워크 환경의 분석을 기반으로 원격 접속 서비스를 제공하는 과정을 설명하기 위한 순서도이다.
도 2를 참조하면, 먼저, S201 단계에서, 장치(200)는 제1 사용자 단말(110)이 제1 사용자 계정을 통해 로그인 되면, 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 확인할 수 있다. 이때, 장치(200)는 제1 사용자 계정을 통해 제1 사용자가 원격 접속 서비스를 이용하기 위해 가입된 회원인지 여부를 확인할 수 있으며, 제1 사용자가 원격 접속 서비스의 회원으로 확인되면, 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 확인할 수 있다.
장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 확인할 때, 제1 기간 동안 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 측정한 후, 제1 기간 동안의 평균 통신 속도를 제1 사용자 단말(110)과 장치(200) 간의 통신 속도로 확인할 수 있다. 여기서, 제1 기간은 실시예에 따라 상이하게 설정될 수 있다.
S202 단계에서, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제1 기준 속도 보다 빠른지 여부를 확인할 수 있다. 여기서, 제1 기준 속도는 실시예에 따라 상이하게 설정될 수 있다.
S202 단계에서 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제1 기준 속도 보다 빠른 것으로 확인되면, S203 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 안정 상태로 분석할 수 있다.
예를 들어, 제1 기준 속도가 10Mbps로 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 12Mbps로 확인되면, 제1 사용자 단말(110)의 네트워크 환경을 안정 상태로 분석할 수 있다.
S205 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 안정 상태로 분석되면, 제1 사용자 계정을 이용하여 클라우드 상에 생성되어 있는 제1 사용자의 워크 스페이스를 확인할 수 있다. 여기서, 제1 사용자의 워크 스페이스는 제1 사용자에게 제공된 클라우드 스토리지로, 제1 사용자의 워크 스페이스를 통해 SaaS(Software as a Service)와 같은 클라우드 서비스가 제공될 수 있으며, 제1 사용자는 인터넷이 연결된 기기를 이용하여 시간과 공간의 제약 없이, 언제, 어디서든지 손쉽게 제1 사용자의 워크 스페이스로의 접근이 가능하다.
S206 단계에서, 장치(200)는 제1 사용자 단말(110)이 제1 사용자의 워크 스페이스에 원격 접속되도록 제어할 수 있다.
즉, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제1 기준 속도 보다 빠른 경우에만, 제1 사용자 단말(110)이 제1 사용자의 워크 스페이스에 원격 접속할 수 있는 자격을 부여하여, 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제1 기준 속도 보다 빠른 것으로 확인되면, 제1 사용자 단말(110)이 제1 사용자의 워크 스페이스에 원격 접속되도록 제어할 수 있다.
한편, S202 단계에서 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제1 기준 속도 보다 느린 것으로 확인되면, S204 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 불안정 상태로 분석할 수 있다.
예를 들어, 제1 기준 속도가 10Mbps로 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 8Mbps로 확인되면, 제1 사용자 단말(110)의 네트워크 환경을 불안정 상태로 분석할 수 있다.
제1 사용자 단말(110)의 네트워크 환경이 불안정 상태로 분석되면, S601 단계가 수행될 수 있으며, 이와 관련된 자세한 설명은 도 6을 참조하여 후술하기로 한다.
도 3은 일실시예에 따른 네트워크 상태에 따라 응용프로그램을 실행할 수 있는 자격을 부여하는 과정을 설명하기 위한 순서도이다.
도 3을 참조하면, S206 단계 이후, S301 단계에서, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 확인할 수 있다.
S302 단계에서, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제2 기준 속도 보다 빠른지 여부를 확인할 수 있다. 여기서, 제2 기준 속도는 제1 기준 속도 보라 큰 값으로 설정될 수 있다.
S302 단계에서 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제2 기준 속도 보다 빠른 것으로 확인되면, S303 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 우수 상태로 분석할 수 있다.
예를 들어, 제1 기준 속도가 10Mbps로 설정되어 있고, 제2 기준 속도가 15Mbps로 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 17Mbps로 확인되면, 제1 사용자 단말(110)의 네트워크 환경을 우수 상태로 분석할 수 있다.
S305 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 우수 상태로 분석되면, 우수 상태에서 실행 가능한 것으로 설정되어 있는 응용프로그램의 리스트인 제1 리스트를 획득할 수 있다. 이를 위해, 네트워크 상태 별로 실행 가능한 응용프로그램들이 장치(200)를 운영하는 업체에 의해 미리 설정될 수 있다.
예를 들어, 우수 상태에서 실행 가능한 응용프로그램으로, 제1 응용프로그램, 제2 응용프로그램 및 제3 응용프로그램이 설정되어 있는 경우, 장치(200)는 제1 응용프로그램, 제2 응용프로그램 및 제3 응용프로그램을 포함하는 제1 리스트를 획득할 수 있다.
일실시예에 따르면, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제2-1 기준 속도 보다 빠른지 여부를 확인할 수 있다. 여기서, 제2-1 기준 속도는 제2 기준 속도 보라 큰 값으로 설정될 수 있다.
이후, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제2-1 기준 속도 보다 빠른 것으로 확인되면, 제1 사용자 단말(110)의 네트워크 환경을 최우수 상태로 분석하고, 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제2-1 기준 속도 보다 느리지만 제2 기준 속도 보다 빠른 것으로 확인되면, 제1 사용자 단말(110)의 네트워크 환경을 우수 상태로 분석할 수 있다.
이후, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 우수 상태로 분석되면, 우수 상태에서 실행 가능한 것으로 설정되어 있는 응용프로그램의 리스트인 제1 리스트를 획득할 수 있고, 제1 사용자 단말(110)의 네트워크 환경이 최우수 상태로 분석되면, 최우수 상태에서 실행 가능한 것으로 설정되어 있는 응용프로그램의 리스트인 제2 리스트를 획득할 수 있다. 이때, 제1 리스트에 포함된 응용프로그램의 수는 제2 리스트에 포함된 응용프로그램의 수 보다 더 많으며, 제2 리스트에는 리소스를 많이 사용하는 응용프로그램만 포함될 수 있다.
예를 들어, 우수 상태에서 실행 가능한 응용프로그램으로, 제1 응용프로그램, 제2 응용프로그램 및 제3 응용프로그램이 설정되어 있고, 최우수 상태에서 실행 가능한 응용프로그램으로, 제1 응용프로그램 및 제2 응용프로그램이 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 우수 상태로 분석되면, 제1 응용프로그램, 제2 응용프로그램 및 제3 응용프로그램을 포함하는 제1 리스트를 획득하고, 제1 사용자 단말(110)의 네트워크 환경이 최우수 상태로 분석되면, 제1 응용프로그램 및 제2 응용프로그램을 포함하는 제2 리스트를 획득할 수 있다.
S306 단계에서, 장치(200)는 제1 리스트가 획득되면, 제1 사용자의 워크 스페이스 상에서 제1 리스트에 포함되어 있는 응용프로그램의 실행이 가능한 것을 알려주는 알림 메시지를 제1 사용자 단말(110)로 전송할 수 있다. 이때, 알림 메시지는 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)의 화면에 표시될 수 있다.
한편, S302 단계에서 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제2 기준 속도 보다 느린 것으로 확인되면, S304 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 양호 상태로 분석할 수 있다.
예를 들어, 제1 기준 속도가 10Mbps로 설정되어 있고, 제2 기준 속도가 15Mbps로 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 13Mbps로 확인되면, 제1 사용자 단말(110)의 네트워크 환경을 양호 상태로 분석할 수 있다.
S307 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 양호 상태로 분석되면, 제1 사용자의 워크 스페이스 상에서 응용프로그램의 실행이 불가능하지만 제1 사용자의 워크 스페이스에 저장되어 있는 파일의 다운이 가능한 것을 알려주는 알림 메시지를 제1 사용자 단말(110)로 전송할 수 있다. 이때, 알림 메시지는 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)의 화면에 표시될 수 있다.
도 4는 일실시예에 따른 사용자의 워크 스페이스 상에서 응용프로그램이 실행되도록 제어하는 과정을 설명하기 위한 순서도이다.
도 4를 참조하면, S306 단계 이후, S401 단계에서, 장치(200)는 제1 사용자 단말(110)이 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램에 대한 실행을 요청하면, 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)로부터 제1 응용프로그램에 대한 실행 요청을 수신할 수 있다.
S402 단계에서, 장치(200)는 제1 리스트에 제1 응용프로그램이 포함되어 있는지 여부를 확인할 수 있다.
S402 단계에서 제1 리스트에 제1 응용프로그램이 포함되어 있는 것으로 확인되면, S403 단계에서, 장치(200)는 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램이 실행되도록 제어할 수 있다. 이때, 제1 응용프로그램의 실행 화면은 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)의 화면에 표시될 수 있다.
S402 단계에서 제1 리스트에 제1 응용프로그램이 포함되어 있지 않은 것으로 확인되면, S404 단계에서, 장치(200)는 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램의 실행이 불가능한 것을 알려주는 알림 메시지를 제1 사용자 단말(110)로 전송할 수 있다. 이때, 알림 메시지는 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)의 화면에 표시될 수 있다.
도 5는 일실시예에 따른 네트워크 상태에 따라 응용프로그램의 이용 권한을 설정하는 과정을 설명하기 위한 순서도이다.
도 5를 참조하면, S402 단계에서 제1 리스트에 제1 응용프로그램이 포함되어 있는 것으로 확인되면, S501 단계에서, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 확인할 수 있다.
S502 단계에서, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제3 기준 속도 보다 빠른지 여부를 확인할 수 있다. 여기서, 제3 기준 속도는 제2 기준 속도 보라 큰 값으로 설정될 수 있다.
S502 단계에서 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제3 기준 속도 보다 빠른 것으로 확인되면, S503 단계에서, 장치(200)는 제1 응용프로그램에 대한 이용 권한을 1레벨로 설정할 수 있다.
예를 들어, 제1 기준 속도가 10Mbps로 설정되어 있고, 제2 기준 속도가 15Mbps로 설정되어 있고, 제3 기준 속도가 20Mbps로 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 22Mbps로 확인되면, 제1 응용프로그램에 대한 이용 권한을 1레벨로 설정할 수 있다.
S505 단계에서, 장치(200)는 제1 응용프로그램에 대한 이용 권한이 1레벨로 설정되어 있는 경우, 제1 응용프로그램을 통해 열린 파일에 대한 정보의 확인 및 변경이 가능하도록, 제1 사용자의 워크 스페이스 상에서 실행된 제1 응용프로그램의 이용 권한을 설정할 수 있다.
즉, 장치(200)는 제1 응용프로그램에 대한 이용 권한을 1레벨로 설정한 상태에서, 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램이 실행되도록 제어할 수 있으며, 이때, 제1 응용프로그램을 통해 제1 파일이 열리게 되면, 제1 파일에 대한 정보의 확인 뿐만 아니라 제1 파일에 대한 정보의 수정, 삽입, 삭제 등의 편집까지 가능하도록, 제1 응용프로그램에 대한 이용 권한을 부여할 수 있다.
한편, S502 단계에서 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 제3 기준 속도 보다 느린 것으로 확인되면, S504 단계에서, 장치(200)는 제1 응용프로그램에 대한 이용 권한을 2레벨로 설정할 수 있다.
예를 들어, 제1 기준 속도가 10Mbps로 설정되어 있고, 제2 기준 속도가 15Mbps로 설정되어 있고, 제3 기준 속도가 20Mbps로 설정되어 있는 경우, 장치(200)는 제1 사용자 단말(110)과 장치(200) 간의 통신 속도가 18Mbps로 확인되면, 제1 응용프로그램에 대한 이용 권한을 2레벨로 설정할 수 있다.
S506 단계에서, 장치(200)는 제1 응용프로그램에 대한 이용 권한이 2레벨로 설정되어 있는 경우, 제1 응용프로그램을 통해 열린 파일에 대한 정보의 확인만 가능하도록, 제1 사용자의 워크 스페이스 상에서 실행된 제1 응용프로그램의 이용 권한을 설정할 수 있다.
즉, 장치(200)는 제1 응용프로그램에 대한 이용 권한을 2레벨로 설정한 상태에서, 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램이 실행되도록 제어할 수 있으며, 이때, 제1 응용프로그램을 통해 제1 파일이 열리게 되면, 제1 파일에 대한 정보의 확인만 가능하고, 제1 파일에 대한 정보의 편집이 불가능하도록, 제1 응용프로그램에 대한 이용 권한을 부여할 수 있다.
도 6은 일실시예에 따른 네트워크 환경이 불안정 상태일 때의 대응 방안을 제공하는 과정을 설명하기 위한 순서도이다.
도 6을 참조하면, S204 단계 이후, S601 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 불안정 상태로 분석되면, 제1 사용자 단말(110)로부터 제1 사용자 단말(110)의 네트워크 트래픽에 대한 모니터링 정보를 수신할 수 있다. 여기서, 제1 사용자 단말(110)의 네트워크 트래픽에 대한 모니터링 정보는 제1 사용자 단말(110)이 어느 포트를 통해 시간당 얼마만큼의 트래픽을 발생시켰는지에 대한 모니터링 정보 등을 포함할 수 있다.
S602 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 트래픽에 대한 모니터링 정보를 장치(200) 내에서 미리 학습된 제1 인공 신경망에 적용할 수 있다.
일실시예에 따르면, 제1 인공 신경망은 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 입력 받은 후, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력하는 알고리즘일 수 있다.
S603 단계에서, 장치(200)는 제1 인공 신경망의 출력을 기초로, 제1 사용자 단말(110)에 공격으로 추정되는 접근이 감지되었는지 여부를 검출할 수 있다.
예를 들어, 장치(200)는 제1 사용자 단말(110)의 네트워크 트래픽에 대한 모니터링 정보를 제1 인공 신경망에 적용하여, 제1 인공 신경망의 출력을 확인한 결과, 출력값이 “0”으로 확인되면, 제1 사용자 단말(110)에 공격으로 추정되는 접근이 감지되지 않은 것으로 검출하고, 출력값이 “1”로 확인되면, 제1 사용자 단말(110)에 공격으로 추정되는 접근이 감지된 것으로 검출할 수 있다.
제1 인공 신경망은 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 통해, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 분석하도록 학습될 수 있다. 제1 인공 신경망은 도 7을 참조하여 후술되는 방법을 통해 학습될 수 있다. 이를 통해, 제1 인공 신경망은 사용자 단말의 네트워크 트래픽에 대한 변동 상태를 고려하여, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지를 분석하여 출력할 수 있다.
S604 단계에서, 장치(200)는 기준 기간 동안 제1 사용자 단말(110)에 공격으로 추정되는 접근이 몇 번 감지되었는지 확인하여, 제1 사용자 단말(110)이 기준 기간 동안 공격받은 횟수인 제1 공격 횟수를 산출할 수 있다. 여기서, 기준 기간은 실시예에 따라 상이하게 설정될 수 있으며, 기준 기간 동안 S601 단계부터 S603 단계까지의 과정이 반복 수행될 수 있다. 이를 통해, 장치(200)는 기준 기간 동안 제1 사용자 단말(110)에 공격으로 추정되는 접근이 몇 번 감지되었는지 확인하여, 제1 공격 횟수를 산출할 수 있다.
S605 단계에서, 장치(200)는 제1 공격 횟수가 산출되면, 제1 공격 횟수가 제1 기준 횟수 보다 적은지 여부를 확인할 수 있다. 여기서, 제1 기준 횟수는 기준 기간의 길이에 비례하여 상이하게 설정될 수 있다.
S605 단계에서 제1 공격 횟수가 제1 기준 횟수 보다 적은 것으로 확인되면, S607 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 정상 상태로 분석할 수 있다.
S607 단계 이후, S201 단계로 되돌아가, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 정상 상태로 분석되면, 제1 사용자 단말(110)과 장치(200) 간의 통신 속도를 다시 확인하여, 제1 사용자 단말(110)의 네트워크 환경이 안정 상태인지 여부를 다시 분석할 수 있다.
S605 단계에서 제1 공격 횟수가 제1 기준 횟수 보다 많은 것으로 확인되면, S606 단계에서, 장치(200)는 제1 공격 횟수가 제2 기준 횟수 보다 적은지 여부를 확인할 수 있다. 여기서, 제2 기준 횟수는 제1 기준 횟수 보다 많은 값으로 설정될 수 있다.
S606 단계에서 제1 공격 횟수가 제2 기준 횟수 보다 적은 것으로 확인되면, S608 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 경고 상태로 분석할 수 있다.
S606 단계에서 제1 공격 횟수가 제2 기준 횟수 보다 많은 것으로 확인되면, S609 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경을 위험 상태로 분석할 수 있다.
S610 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 경고 상태로 분석되면, 제1 사용자 단말(110)의 네트워크 환경 재설정을 권고하는 알림 메시지를 제1 사용자 단말(110)로 전송할 수 있다. 이때, 알림 메시지는 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)의 화면에 표시될 수 있다.
S611 단계에서, 장치(200)는 제1 사용자 단말(110)의 네트워크 환경이 위험 상태로 분석되면, 제1 사용자 단말(110)의 초기화를 권고하는 알림 메시지를 제1 사용자 단말(110)로 전송할 수 있다. 이때, 알림 메시지는 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)의 화면에 표시될 수 있다.
즉, 장치(200)는 제1 사용자 단말(110)의 네트워크 연결 상태를 분석한 결과, 제1 공격 횟수가 제1 기준 횟수 보다 많고 제2 기준 횟수 보다 적은 경우, 제1 사용자 단말(110)의 네트워크 환경을 경고 상태로 분석하여, 제1 사용자 단말(110)의 네트워크 환경 재설정이 필요한 것으로 판단할 수 있으며, 제1 공격 횟수가 제2 기준 횟수 보다 많은 경우, 제1 사용자 단말(110)의 네트워크 환경을 위험 상태로 분석하여, 제1 사용자 단말(110)의 기기 초기화가 필요한 것으로 판단할 수 있다.
도 7은 일실시예에 따른 제1 인공 신경망의 학습을 설명하기 위한 도면이다.
일실시예에 따르면, 제1 인공 신경망은 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 입력 받은 후, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력하는 알고리즘일 수 있다. 제1 인공 신경망의 학습이 이루어지는 장치는 학습된 제1 인공 신경망을 이용하여 사용자 단말이 공격을 받았는지 여부를 분석하는 장치(200)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 제1 인공 신경망이 학습되는 과정을 설명한다.
먼저, S701 단계에서, 장치(200)는 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 기초로 입력을 생성할 수 있다.
구체적으로, 장치(200)는 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 제1 인공 신경망의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.
S702 단계에서, 장치(200)는 제1 인공 신경망에 입력을 적용할 수 있다. 제1 인공 신경망은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제1 인공 신경망은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다.
강화 학습에 따라 학습되는 제1 인공 신경망은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다. 예를 들어, 제1 보상은 사용자 단말의 네트워크 트래픽이 과다하게 발생할수록 사용자 단말에 공격으로 추정되는 접근이 감지된 것으로 검출하면 보상값이 높아질 수 있으며, 제2 보상은 동일한 IP 주소로 과다한 접속이 이루어질수록 사용자 단말에 공격으로 추정되는 접근이 감지된 것으로 검출하면 보상값이 높아질 수 있다.
S703 단계에서, 장치(200)는 제1 인공 신경망으로부터 출력을 획득할 수 있다. 제1 인공 신경망의 출력은 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과이다.
제1 인공 신경망은 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 통해, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 분석하여, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력할 수 있다.
S704 단계에서, 장치(200)는 제1 인공 신경망의 출력을 평가하여 보상을 지급할 수 있다. 이때, 출력의 평가는 제1 보상, 제2 보상 등으로 나뉠 수 있다.
구체적으로, 장치(200)는 사용자 단말의 네트워크 트래픽이 과다하게 발생할수록 사용자 단말에 공격으로 추정되는 접근이 감지된 것으로 검출하면 제1 보상을 많이 수여하고, 동일한 IP 주소로 과다한 접속이 이루어질수록 사용자 단말에 공격으로 추정되는 접근이 감지된 것으로 검출하면 제2 보상을 많이 수여할 수 있다.
S705 단계에서, 장치(200)는 평가를 기초로 제1 인공 신경망을 갱신할 수 있다.
구체적으로, 장치(200)는 제1 인공 신경망이 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 통해 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부를 분석하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제1 인공 신경망을 갱신할 수 있다.
한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다.
장치(200)는 상기와 같은 제1 인공 신경망의 학습 과정을 반복함으로써, 제1 인공 신경망을 점진적으로 갱신시킬 수 있다. 이를 통해, 장치(200)는 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 통해, 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력하는 제1 인공 신경망을 학습시킬 수 있다.
즉, 장치(200)는 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 통해 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부에 대해 분석할 때, 제1 보상, 제2 보상 등을 통한 강화 학습을 반영하여, 분석 기준을 조정함으로써, 제1 인공 신경망을 학습시킬 수 있다.
일실시예에 따르면, 장치(200)는 제1 사용자 단말(110)이 제1 사용자의 워크 스페이스에 원격 접속되면, 제1 사용자 단말(110)에 로그인 되어 있는 제1 사용자 계정을 확인하고, 제1 사용자 계정을 통해 데이터베이스에 저장된 사용자 정보를 조회하여, 데이터베이스로부터 제1 사용자 정보를 획득할 수 있다. 여기서, 제1 사용자 정보는 제1 사용자에 대한 사용자 정보로, 제1 사용자의 프로파일 정보, 콘텐츠 재생 내역 등을 더 포함할 수 있다.
이후, 장치(200)는 제1 사용자 단말(110)이 제1 사용자의 워크 스파이스 상에서 제1 사용자의 워크 스페이스에 등록되어 있는 제1 콘텐츠에 대한 재생을 요청하면, 제1 사용자의 워크 스페이스에 접속한 제1 사용자 단말(110)로부터 제1 콘텐츠에 대한 재생 요청을 수신할 수 있다. 여기서, 제1 콘텐츠는 다른 사용자들과 공유하기 위해 클라우드 상에 등록된 콘텐츠로, 특정 주제로 제작되어 배포된 콘텐츠일 수 있다.
구체적으로, 장치(200)는 제1 사용자의 워크 스페이스에 공유 콘텐츠로 등록되어 있는 복수의 콘텐츠 중 어느 하나인 제1 콘텐츠가 선택되면, 제1 사용자 단말(110)로부터 제1 콘텐츠에 대한 재생 요청을 수신할 수 있다.
이후, 장치(200)는 제1 콘텐츠를 확인하여, 제1 콘텐츠 정보를 획득할 수 있다. 이때, 장치(200)는 제1 콘텐츠에 대한 재생 요청을 통해 제1 콘텐츠를 확인하고, 데이터베이스에 저장된 콘텐츠 정보를 조회하여, 데이터베이스로부터 제1 콘텐츠 정보를 획득할 수 있다. 여기서, 제1 콘텐츠 정보는 제1 콘텐츠에 대한 콘텐츠 정보로, 제1 콘텐츠의 속성 정보, 사용자 이용 내역 등을 포함할 수 있다.
이후, 장치(200)는 제1 콘텐츠 정보를 통해 제1 콘텐츠의 사용자 재생 내역을 획득할 수 있다. 여기서, 제1 콘텐츠 정보는 제1 콘텐츠를 재생한 사용자의 재생 내역을 포함할 수 있으며, 제1 콘텐츠의 사용자 재생 내역은 어느 사용자가 제1 콘텐츠를 얼마나 오래 재생하였는지에 대한 내역을 포함할 수 있다.
예를 들어, 제1 사용자 단말(110)의 화면에서 제1 콘텐츠가 재생된 경우, 제1 콘텐츠의 재생이 시작된 시점부터 제1 콘텐츠의 재생이 종료되는 시점까지, 제1 콘텐츠의 재생 시간으로 측정되어, 제1 사용자 및 제1 콘텐츠의 재생 시간이 제1 콘텐츠의 사용자 재생 내역에 추가될 수 있다.
이후, 장치(200)는 제1 콘텐츠의 사용자 재생 내역을 기초로, 사용자 별로 집중 시간을 확인할 수 있다.
예를 들어, 제1 콘텐츠의 사용자 재생 내역에 제1 사용자, 제2 사용자 및 제3 사용자가 제1 콘텐츠를 재생하여 시청한 사용자로 등록되어 있는 경우, 장치(200)는 제1 사용자의 집중 시간, 제2 사용자의 집중 시간 및 제3 사용자의 집중 시간을 각각 확인할 수 있다. 여기서, 집중 시간은 제1 콘텐츠가 재생되는 동안 화면을 주시하고 있는지 여부에 따라 사용자 별로 측정될 수 있다.
이후, 장치(200)는 사용자 별로 확인된 집중 시간의 평균값을 통해, 제1 콘텐츠의 평균 집중 시간을 산출할 수 있다.
예를 들어, 제1 사용자가 제1 콘텐츠를 집중하여 시청한 시간이 30분, 제2 사용자가 제1 콘텐츠를 집중하여 시청한 시간이 45분, 제3 사용자가 제1 콘텐츠를 집중하여 시청한 시간이 60분인 경우, 장치(200)는 제1 콘텐츠의 평균 집중 시간을 45분으로 산출할 수 있다.
이후, 장치(200)는 제1 콘텐츠의 평균 집중 시간의 길이에 따라, 기준 시간을 설정할 수 있다.
예를 들어, 장치(200)는 제1 콘텐츠의 평균 집중 시간이 30분인 경우, 기준 시간을 5분으로 설정하고, 제1 콘텐츠의 평균 집중 시간이 60분인 경우, 기준 시간을 10분으로 설정할 수 있다. 기준 시간을 설정하는 기준은 실시예에 따라 상이하게 설정될 수 있다.
이후, 장치(200)는 제1 콘텐츠의 평균 집중 시간에서 기준 시간을 차감한 값으로, 사용자 허용 범위의 최소 시간을 산출할 수 있다.
예를 들어, 장치(200)는 제1 콘텐츠의 평균 집중 시간이 30분이고, 기준 시간이 5분인 경우, 사용자 허용 범위의 최소 시간을 25분으로 산출할 수 있다.
이후, 장치(200)는 제1 콘텐츠의 평균 집중 시간에 기준 시간을 가산한 값으로, 사용자 허용 범위의 최대 시간을 산출할 수 있다.
예를 들어, 장치(200)는 제1 콘텐츠의 평균 집중 시간이 30분이고, 기준 시간이 5분인 경우, 사용자 허용 범위의 최대 시간을 35분으로 산출할 수 있다.
이후, 장치(200)는 사용자 허용 범위의 최소 시간 및 사용자 허용 범위의 최대 시간을 기초로, 사용자 허용 범위를 설정할 수 있다.
예를 들어, 장치(200)는 제1 콘텐츠의 평균 집중 시간이 30분인 경우, 사용자 허용 범위를 25분 내지 35분의 범위로 설정할 수 있다.
장치(200)는 제1 사용자 계정을 확인하여 제1 사용자 정보를 획득하고, 제1 콘텐츠를 확인하여 제1 콘텐츠 정보를 획득한 후, 제1 사용자 정보 및 제1 콘텐츠 정보를 기초로, 제1 콘텐츠에 대한 제1 사용자의 집중 시간을 예측할 수 있다. 여기서, 제1 사용자의 집중 시간은 제1 사용자가 제1 콘텐츠를 집중하여 시청하는 시간을 의미할 수 있다.
이후, 장치(200)는 제1 사용자의 집중 시간이 사용자 허용 범위 내에 포함되는지 여부를 확인할 수 있다. 여기서, 사용자 허용 범위는 상술한 바와 같이, 평균 집중 시간에 따라 상이하게 설정될 수 있다.
제1 사용자의 정독 시간이 사용자 허용 범위 내에 포함되는 것으로 확인되면, 장치(200)는 제1 콘텐츠를 제1 사용자 단말(110)로 제공하고, 제1 사용자 단말(110)의 화면에서 제1 콘텐츠가 재생되어 표시되도록, 제1 사용자 단말(110)의 동작을 제어할 수 있다.
즉, 장치(200)는 제1 사용자 단말(110)로부터 제1 콘텐츠에 대한 재생 요청이 수신된 경우, 제1 콘텐츠에 대한 제1 사용자의 집중 시간을 예측한 결과, 제1 사용자의 집중 시간이 사용자 허용 범위 내에 포함되는 것으로 확인되면, 제1 콘텐츠가 제1 사용자에게 적합한 콘텐츠로 판단하여, 제1 콘텐츠를 제1 사용자 단말(110)로 제공할 수 있다.
제1 사용자의 집중 시간이 사용자 허용 범위 내에 포함되지 않고 사용자 허용 범위를 벗어나는 것으로 확인되면, 장치(200)는 제1 사용자의 집중 시간이 사용자 허용 범위의 최소 시간 보다 짧은지 여부를 확인할 수 있다.
제1 사용자의 집중 시간이 사용자 허용 범위의 최소 시간 보다 짧은 것으로 확인되면, 장치(200)는 제2 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 제공하고, 제1 사용자 단말(110)의 화면에 제2 콘텐츠에 대한 추천 정보가 표시되도록, 제1 사용자 단말(110)의 동작을 제어할 수 있다. 여기서, 제2 콘텐츠는 제1 콘텐츠와 주제가 동일하면서 제1 콘텐츠 보다 짧은 시간으로 구성된 콘텐츠다.
예를 들어, 제1 콘텐츠는 제1 주제에 대한 콘텐츠로 60분 길이로 구성된 콘텐츠이고, 제2 콘텐츠는 제1 주제에 대한 콘텐츠로 50분 길이로 구성된 콘텐츠인 경우, 장치(200)는 제1 사용자의 집중 시간이 사용자 허용 범위의 최소 시간 보다 짧은 것으로 확인되면, 데이터베이스에 저장된 콘텐츠 정보를 조회하여, 제1 콘텐츠 보다 짧은 시간으로 구성된 제2 콘텐츠를 확인할 수 있으며, 제2 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 제공할 수 있다.
즉, 장치(200)는 제1 사용자 단말(110)로부터 제1 콘텐츠에 대한 재생 요청이 수신된 경우, 제1 콘텐츠에 대한 제1 사용자의 집중 시간을 예측한 결과, 제1 사용자의 집중 시간이 사용자 허용 범위를 벗어나는 것으로 확인되면, 제1 콘텐츠가 제1 사용자에게 적합하지 않은 콘텐츠로 판단하고, 제1 사용자의 집중 시간이 사용자 허용 범위의 최소 시간 보다 짧은 것으로 확인되면, 제1 콘텐츠 보다 짧은 시간으로 구성된 제2 콘텐츠가 제1 사용자에게 적합한 콘텐츠로 판단하여, 제2 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 제공할 수 있다. 이때, 장치(200)는 제1 콘텐츠를 제1 사용자 단말(110)로 제공하면서, 제2 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 더 제공할 수 있다.
한편, 제1 사용자의 집중 시간이 사용자 허용 범위의 최소 시간 보다 긴 것으로 확인되면, 제1 사용자의 집중 시간이 사용자 허용 범위를 벗어난 것으로 확인되어, 제1 사용자의 집중 시간이 사용자 허용 범위의 최대 시간 보다 긴 것으로 확인될 수 있으며, 제1 사용자의 집중 시간이 사용자 허용 범위의 최대 시간 보다 긴 것으로 확인되면, 장치(200)는 제3 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 제공하고, 제1 사용자 단말(110)의 화면에 제3 콘텐츠에 대한 추천 정보가 표시되도록, 제1 사용자 단말(110)의 동작을 제어할 수 있다. 여기서, 제3 콘텐츠는 제1 콘텐츠와 주제가 동일하면서 제1 콘텐츠 보다 긴 시간으로 구성된 콘텐츠다.
예를 들어, 제1 콘텐츠는 제1 주제에 대한 콘텐츠로 60분 길이로 구성된 콘텐츠이고, 제3 콘텐츠는 제1 주제에 대한 콘텐츠로 70분 길이로 구성된 콘텐츠인 경우, 장치(200)는 제1 사용자의 집중 시간이 사용자 허용 범위의 최대 시간 보다 긴 것으로 확인되면, 데이터베이스에 저장된 콘텐츠 정보를 조회하여, 제1 콘텐츠 보다 긴 시간으로 구성된 제3 콘텐츠를 확인할 수 있으며, 제3 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 제공할 수 있다.
즉, 장치(200)는 제1 사용자 단말(110)로부터 제1 콘텐츠에 대한 재생 요청이 수신된 경우, 제1 콘텐츠에 대한 제1 사용자의 집중 시간을 예측한 결과, 제1 사용자의 집중 시간이 사용자 허용 범위를 벗어나는 것으로 확인되면, 제1 콘텐츠가 제1 사용자에게 적합하지 않은 콘텐츠로 판단하고, 제1 사용자의 집중 시간이 사용자 허용 범위의 최대 시간 보다 긴 것으로 확인되면, 제1 콘텐츠 보다 긴 시간으로 구성된 제3 콘텐츠가 제1 사용자에게 적합한 콘텐츠로 판단하여, 제3 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 제공할 수 있다. 이때, 장치(200)는 제1 콘텐츠를 제1 사용자 단말(110)로 제공하면서, 제3 콘텐츠에 대한 추천 정보를 제1 사용자 단말(110)로 더 제공할 수 있다.
도 8은 일실시예에 따른 장치의 구성의 예시도이다.
일실시예에 따른 장치(200)는 프로세서(210) 및 메모리(220)를 포함한다. 프로세서(210)는 도 1 내지 도 7을 참조하여 전술된 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 7을 참조하여 전술된 적어도 하나의 방법을 수행할 수 있다. 장치(200)를 이용하는 자 또는 단체는 도 1 내지 도 7을 참조하여 전술된 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.
메모리(220)는 전술된 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(220)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(210)는 프로그램을 실행하고, 장치(200)를 제어할 수 있다. 프로세서(210)에 의하여 실행되는 프로그램의 코드는 메모리(220)에 저장될 수 있다. 장치(200)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.
장치(200)는 인공 신경망을 학습시키거나, 학습된 인공 신경망을 이용하는데 사용될 수 있다. 메모리(220)는 학습 중인 또는 학습된 인공 신경망을 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 인공 신경망 알고리즘을 학습시키거나 실행시킬 수 있다. 인공 신경망을 학습시키는 장치(200)와 학습된 인공 신경망을 이용하는 장치(200)는 동일할 수도 있고 개별적일 수도 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (3)

  1. 장치에 의해 수행되는, 네트워크 환경의 분석을 기반으로 원격 접속 서비스를 제공하는 방법에 있어서,
    제1 사용자 단말이 제1 사용자 계정을 통해 로그인 되면, 상기 제1 사용자 단말과 상기 장치 간의 통신 속도를 확인하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 미리 설정된 제1 기준 속도 보다 빠른지 여부를 확인하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 안정 상태로 분석하는 단계;
    상기 제1 사용자 단말의 네트워크 환경이 안정 상태로 분석되면, 상기 제1 사용자 계정을 이용하여 클라우드 상에 생성되어 있는 제1 사용자의 워크 스페이스를 확인하고, 상기 제1 사용자 단말이 상기 제1 사용자의 워크 스페이스에 원격 접속되도록 제어하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 느린 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 불안정 상태로 분석하는 단계;
    상기 제1 사용자 단말의 네트워크 환경이 불안정 상태로 분석되면, 상기 제1 사용자 단말로부터 상기 제1 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 수신하는 단계;
    상기 제1 사용자 단말의 네트워크 트래픽에 대한 모니터링 정보를 제1 인공 신경망에 적용하여, 상기 제1 인공 신경망의 출력을 기초로, 상기 제1 사용자 단말에 공격으로 추정되는 접근이 감지되었는지 여부를 검출하는 단계;
    미리 설정된 기준 기간 동안 상기 제1 사용자 단말에 공격으로 추정되는 접근이 몇 번 감지되었는지 확인하여, 상기 제1 사용자 단말이 상기 기준 기간 동안 공격받은 횟수인 제1 공격 횟수를 산출하는 단계;
    상기 제1 공격 횟수가 미리 설정된 제1 기준 횟수 보다 적은지 여부를 확인하는 단계;
    상기 제1 공격 횟수가 상기 제1 기준 횟수 보다 적은 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 정상 상태로 분석하는 단계;
    상기 제1 공격 횟수가 상기 제1 기준 횟수 보다 많은 것으로 확인되면, 상기 제1 공격 횟수가 미리 설정된 제2 기준 횟수 보다 적은지 여부를 확인하는 단계;
    상기 제1 공격 횟수가 상기 제2 기준 횟수 보다 적은 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 경고 상태로 분석하는 단계;
    상기 제1 공격 횟수가 상기 제2 기준 횟수 보다 많은 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 위험 상태로 분석하는 단계;
    상기 제1 사용자 단말의 네트워크 환경이 정상 상태로 분석되면, 상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 빠른지 여부를 다시 확인하는 단계;
    상기 제1 사용자 단말의 네트워크 환경이 경고 상태로 분석되면, 상기 제1 사용자 단말의 네트워크 환경 재설정을 권고하는 알림 메시지를 상기 제1 사용자 단말로 전송하는 단계; 및
    상기 제1 사용자 단말의 네트워크 환경이 위험 상태로 분석되면, 상기 제1 사용자 단말의 초기화를 권고하는 알림 메시지를 상기 제1 사용자 단말로 전송하는 단계를 포함하는,
    네트워크 환경 분석 기반 원격 접속 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 제1 사용자의 워크 스페이스에 원격 접속되도록 제어하는 단계 이후,
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제1 기준 속도 보다 큰 값으로 설정된 제2 기준 속도 보다 빠른지 여부를 확인하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제2 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 우수 상태로 분석하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제2 기준 속도 보다 느린 것으로 확인되면, 상기 제1 사용자 단말의 네트워크 환경을 양호 상태로 분석하는 단계;
    상기 제1 사용자 단말의 네트워크 환경이 우수 상태로 분석되면, 우수 상태에서 실행 가능한 것으로 설정되어 있는 응용프로그램의 리스트인 제1 리스트를 획득하는 단계;
    상기 제1 사용자 단말이 상기 제1 사용자의 워크 스페이스 상에서 제1 응용프로그램에 대한 실행을 요청하면, 상기 제1 리스트에 상기 제1 응용프로그램이 포함되어 있는지 여부를 확인하는 단계;
    상기 제1 리스트에 상기 제1 응용프로그램이 포함되어 있는 것으로 확인되면, 상기 제1 사용자의 워크 스페이스 상에서 상기 제1 응용프로그램이 실행되도록 제어하는 단계; 및
    상기 제1 사용자 단말의 네트워크 환경이 양호 상태로 분석되면, 상기 제1 사용자의 워크 스페이스에 저장되어 있는 파일의 다운이 가능한 것을 알려주는 알림 메시지를 상기 제1 사용자 단말로 전송하는 단계를 더 포함하는,
    네트워크 환경 분석 기반 원격 접속 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 제1 응용프로그램이 실행되도록 제어하는 단계는,
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제2 기준 속도 보다 큰 값으로 설정된 제3 기준 속도 보다 빠른지 여부를 확인하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제3 기준 속도 보다 빠른 것으로 확인되면, 상기 제1 응용프로그램에 대한 이용 권한을 1레벨로 설정하는 단계;
    상기 제1 사용자 단말과 상기 장치 간의 통신 속도가 상기 제3 기준 속도 보다 느린 것으로 확인되면, 상기 제1 응용프로그램에 대한 이용 권한을 2레벨로 설정하는 단계;
    상기 제1 응용프로그램에 대한 이용 권한이 1레벨로 설정되어 있는 경우, 상기 제1 응용프로그램을 통해 열린 파일에 대한 정보의 확인 및 변경이 가능하도록, 상기 제1 사용자의 워크 스페이스 상에서 실행된 상기 제1 응용프로그램의 이용 권한을 설정하는 단계; 및
    상기 제1 응용프로그램에 대한 이용 권한이 2레벨로 설정되어 있는 경우, 상기 제1 응용프로그램을 통해 열린 파일에 대한 정보의 확인만 가능하도록, 상기 제1 사용자의 워크 스페이스 상에서 실행된 상기 제1 응용프로그램의 이용 권한을 설정하는 단계를 포함하는,
    네트워크 환경 분석 기반 원격 접속 서비스 제공 방법.
KR1020220036241A 2022-03-23 2022-03-23 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법 KR102429832B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220036241A KR102429832B1 (ko) 2022-03-23 2022-03-23 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220036241A KR102429832B1 (ko) 2022-03-23 2022-03-23 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR102429832B1 true KR102429832B1 (ko) 2022-08-08

Family

ID=82845481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220036241A KR102429832B1 (ko) 2022-03-23 2022-03-23 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR102429832B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657333B1 (ko) * 2005-08-27 2006-12-14 삼성전자주식회사 무선채널 품질 측정방법 및 그 측정장치
KR20080072004A (ko) * 2005-12-02 2008-08-05 루센트 테크놀러지스 인크 기업 네트워크들에 보안 원격 액세스를 제공하는 방법 및장치
KR101742710B1 (ko) 2010-12-23 2017-06-02 에스케이텔레콤 주식회사 원격지원 서비스 제공 시스템, 그 장치 및 방법
KR101916422B1 (ko) 2012-02-23 2019-01-30 엘지전자 주식회사 휴대 단말기 및 그를 이용한 원격제어방법
KR102032677B1 (ko) 2019-03-07 2019-10-15 (주)뉴젠솔루션 UPnP를 이용한 내부 네트워크 서버 원격 연결 서비스 방법 및 시스템
KR20210129220A (ko) * 2019-03-09 2021-10-27 아너 디바이스 컴퍼니 리미티드 네트워크 연결 처리 방법, 관련 장치 및 컴퓨터 저장 매체
KR102351795B1 (ko) 2021-10-06 2022-01-17 주식회사 파이오링크 클라우드 환경에서 네트워크 장비들을 원격으로 관리하는 방법 및 이를 이용한 클라우드 터미널 컨트롤 서버

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657333B1 (ko) * 2005-08-27 2006-12-14 삼성전자주식회사 무선채널 품질 측정방법 및 그 측정장치
KR20080072004A (ko) * 2005-12-02 2008-08-05 루센트 테크놀러지스 인크 기업 네트워크들에 보안 원격 액세스를 제공하는 방법 및장치
KR101742710B1 (ko) 2010-12-23 2017-06-02 에스케이텔레콤 주식회사 원격지원 서비스 제공 시스템, 그 장치 및 방법
KR101916422B1 (ko) 2012-02-23 2019-01-30 엘지전자 주식회사 휴대 단말기 및 그를 이용한 원격제어방법
KR102032677B1 (ko) 2019-03-07 2019-10-15 (주)뉴젠솔루션 UPnP를 이용한 내부 네트워크 서버 원격 연결 서비스 방법 및 시스템
KR20210129220A (ko) * 2019-03-09 2021-10-27 아너 디바이스 컴퍼니 리미티드 네트워크 연결 처리 방법, 관련 장치 및 컴퓨터 저장 매체
KR102351795B1 (ko) 2021-10-06 2022-01-17 주식회사 파이오링크 클라우드 환경에서 네트워크 장비들을 원격으로 관리하는 방법 및 이를 이용한 클라우드 터미널 컨트롤 서버

Similar Documents

Publication Publication Date Title
KR102404511B1 (ko) 인공지능 기반 사용자 맞춤형 상품 정보 추천 방법, 장치 및 시스템
CN112651511A (zh) 一种训练模型的方法、数据处理的方法以及装置
KR102553041B1 (ko) 인공지능 모델 기반 사용자 및 인테리어 공급자 매칭 플랫폼 서비스 제공 방법, 장치 및 시스템
KR20190029083A (ko) 신경망 학습 방법 및 이를 적용한 장치
US20190385061A1 (en) Closed loop model-based action learning with model-free inverse reinforcement learning
KR102531879B1 (ko) 인공지능 기반 기업용 전자 장비의 유지 보수를 위한 이벤트 발생 예측 및 모니터링 방법, 장치 및 시스템
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
KR102423285B1 (ko) 광고 컨텐츠 기획 및 제작 방법, 장치 및 시스템
KR102539679B1 (ko) 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템
KR102546871B1 (ko) 인공지능 모델 기반 b2b 식자재 및 부자재의 유통의 주문 히스토리의 패턴 분석을 통한 주문 정보 추천 방법, 장치 및 시스템
KR102430988B1 (ko) 인공지능 기반 호스트 방화벽의 정책 설정 제어 방법, 장치 및 시스템
KR102499234B1 (ko) 인공지능 기반 배달기사 배차 방법, 장치 및 시스템
KR102601446B1 (ko) 인공지능 모델을 활용한 인플루언서 기반 판매 제품매칭 플랫폼 서비스 제공 방법, 장치 및 시스템
Zhang et al. Deep reinforcement learning for stock prediction
da Silva et al. Online machine learning for auto-scaling in the edge computing
KR102463875B1 (ko) 빅데이터를 활용한 사용자 맞춤 심리 치료 콘텐츠 제공 방법, 장치 및 시스템
KR102536063B1 (ko) 인공지능 기반 기업용 매출 및 매입 정산 솔루션 제공 방법, 장치 및 시스템
KR102429832B1 (ko) 네트워크 환경 분석 기반 원격 접속 서비스 제공 방법
KR102551298B1 (ko) 건물 관리를 위한 인력 배정 자동화 및 평가 방법, 장치 및 시스템
KR102474974B1 (ko) 인공지능 기반 브랜드 분석 방법, 장치 및 시스템
KR102426803B1 (ko) 인공지능 기반 제품의 해외 판매 페이지 자동 업로드 방법, 장치 및 시스템
KR102447426B1 (ko) 초개인화를 위한 퍼스널 컬러와 타임라인 기반 행동 데이터를 분석하여 라이프스타일 가이드 정보를 추천하는 방법, 장치 및 시스템
KR102321408B1 (ko) 개인화된 메모패드 서비스 제공 방법, 장치 및 시스템
KR102453919B1 (ko) 인공지능 기반 문화 콘텐츠 관련 가이드 음원의 검증 방법, 장치 및 시스템
CN114676753A (zh) 用于生成在线预测模型的方法、设备、介质及程序产品

Legal Events

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