KR102626273B1 - 네트워크 이상 검출 - Google Patents

네트워크 이상 검출 Download PDF

Info

Publication number
KR102626273B1
KR102626273B1 KR1020217039075A KR20217039075A KR102626273B1 KR 102626273 B1 KR102626273 B1 KR 102626273B1 KR 1020217039075 A KR1020217039075 A KR 1020217039075A KR 20217039075 A KR20217039075 A KR 20217039075A KR 102626273 B1 KR102626273 B1 KR 102626273B1
Authority
KR
South Korea
Prior art keywords
control message
network
features
label
prediction model
Prior art date
Application number
KR1020217039075A
Other languages
English (en)
Other versions
KR20220002602A (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 구글 엘엘씨
Publication of KR20220002602A publication Critical patent/KR20220002602A/ko
Application granted granted Critical
Publication of KR102626273B1 publication Critical patent/KR102626273B1/ko

Links

Classifications

    • 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
    • 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/1425Traffic logging, e.g. anomaly detection
    • 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/0823Errors, e.g. transmission errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield 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/0677Localisation of faults
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/042Public Land Mobile systems, e.g. cellular systems
    • 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/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

방법(300)은 셀룰러 네트워크(100)로부터 제어 메시지(128)를 수신하는 단계 및 제어 메시지로부터 하나 이상의 피처들(222)을 추출하는 단계를 포함한다. 방법은 또한 피처 입력으로서 제어 메시지로부터 추출된 하나 이상의 피처들을 수신하도록 구성된 예측 모델(232)을 사용하여 제어 메시지에 대한 잠재적 라벨(234)을 예측하는 단계를 포함한다. 여기서, 예측 모델은 각각의 트레이닝 제어 메시지가 하나 이상의 대응하는 피처들 및 실제 라벨(224)을 포함하는 트레이닝 제어 메시지들의 세트(226)에 대해 트레이닝된다. 상기 방법은 잠재적 라벨의 확률(P)이 신뢰 임계치(236)를 충족하는지를 결정하는 단계를 더 포함한다. 방법은 또한 제어 메시지가 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 제어 메시지를 분석하는 단계를 포함한다. 제어 메시지가 네트워크 성능에 영향을 미치는 경우, 방법은 네트워크 성능 문제를 네트워크 엔터티(40)에 통신하는 단계를 포함한다.

Description

네트워크 이상 검출
본 개시는 네트워크 이상 검출에 관한 것이다.
셀룰러 통신 네트워크는 음성, 비디오, 패킷 데이터, 메시징 및 브로드캐스트와 같은 통신 콘텐츠를 모바일 디바이스 및 데이터 단말과 같은 가입자 디바이스들에 제공한다. 셀룰러 통신 네트워크는 분산된 지리적 영역에 걸쳐 다수의 가입자 디바이스에 대한 통신을 지원할 수 있는 다수의 기지국을 포함할 수 있다. 일반적으로, 모바일폰과 같은 사용자 디바이스가 한 기지국의 근접에서 다른 기지국으로 이동할 때, 셀룰러 네트워크의 모바일 및 고정 컴포넌트는 무선 측정 및 제어 메시지를 교환하여, 모바일 디바이스가 항상 인터넷이나 음성 서비스와 같은 외부 네트워크와 송수신할 준비가 되어 있는 것을 보장한다. 그러나, 불행하게도, 이러한 측정 및 제어 메시지에 유해한 영향을 미치는 셀룰러 통신 네트워크의 경우 네트워크 성능 문제가 발생할 수 있다. 따라서 네트워크 성능 문제를 검출하는 정확한 방법이 없으면 셀룰러 네트워크는 사용자 디바이스가 네트워크 능력에 따라 신뢰할 수 있는 방식으로 데이터를 수신하고 전송할 수 있는 것을 보정할 수 없다.
본 개시의 일 양태는 네트워크 이상을 검출하기 위한 방법을 제공한다. 방법은 데이터 프로세싱 하드웨어에서, 셀룰러 네트워크로부터 제어 메시지를 수신하는 단계를 포함한다. 방법은 데이터 프로세싱 하드웨어에 의해, 제어 메시지로부터 하나 이상의 피처들을 추출하는 단계를 더 포함한다. 방법은 또한 데이터 프로세싱 하드웨어에 의해, 피처 입력으로서 제어 메시지로부터 추출된 하나 이상의 피처들을 수신하도록 구성된 예측 모델을 사용하여 제어 메시지에 대한 잠재적 라벨을 예측하는 단계를 포함한다. 여기서, 예측 모델은 각각의 트레이닝 제어 메시지가 하나 이상의 대응하는 피처들 및 실제 라벨을 포함하는 트레이닝 제어 메시지들의 세트에 대해 트레이닝된다. 방법은 데이터 프로세싱 하드웨어에 의해, 잠재적 라벨의 확률이 신뢰 임계치를 충족하는지를 결정하는 단계를 더 포함한다. 또한 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 제어 메시지가 상기 셀룰러 네트워크의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제에 대응하는지 여부를 결정하기 위해 상기 제어 메시지를 분석하는 단계를 더 포함한다. 상기 제어 메시지가 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제에 대응하는 경우, 방법은 데이터 프로세싱 하드웨어에 의해, 상기 네트워크 성능 문제를 네트워크 성능 문제(202)에 책임이 있는 네트워크 엔터티에게 통신하는 단계를 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 상기 예측 모델을 사용하여 상기 잠재적 라벨을 예측하는 단계는 잠재적 라벨들에 대한 확률 분포를 예측하는 단계를 포함하고, 상기 예측된 잠재적 라벨은 잠재적 라벨들에 대한 확률 분포에서 잠재적 라벨들 중 하나를 포함한다. 이러한 구현예에서, 잠재적 라벨을 예측하는 단계는 잠재적 라벨에 대한 확률 분포에서 가장 높은 확률과 연관된 잠재적 라벨을 선택하는 단계를 포함한다. 일부 예에서, 예측 모델은 하나 이상의 유형들의 라벨들을 예측하도록 구성된 멀티 클래스 분류 모델을 포함한다. 예측 모델은 심층 신경 네트워크 또는 순환 신경 네트워크를 포함할 수 있다. 각각의 트레이닝 제어 메시지의 실제 라벨은 트레이닝 제어 메시지와 연관된 사용자 장비(UE) 디바이스에 대한 유형 할당 코드(TAC) 또는 셀룰러 네트워크의 네트워크 엘리먼트에 대한 식별자를 포함할 수 있다. 일부 구성예에서, 셀룰러 네트워크는 일반 패킷 무선 서비스 터널링 프로토콜(GTP-C) 또는 다이어미터 프로토콜에 따라 제어 메시지를 통신한다. 선택적으로, 제어 메시지는 단일 네트워크 세션 동안 상기 셀룰러 네트워크의 사용자에 의해 송신된 복수의 제어 메시지들 중 하나에 대응한다. 일부 예시에서, 제어 메시지로부터 추출된 하나 이상의 피처들은 메시지 유형이 상기 셀룰러 네트워크의 사용자에 의한 단일 세션 내에서 발생한 횟수를 표현하는 메시지 유형 요약 벡터를 포함한다. 일부 구현예에서, 피처들은 셀룰러 네트워크의 사용자에 의해 단일 세션과 연관된 기간에 전송된 데이터의 양을 포함한다.
일부 예에서, 제어 메시지가 각각의 네트워크 성능 문제에 대응하지 못하는 경우, 방법은 데이터 프로세싱 하드웨어에서, 셀룰러 네트워크로부터 후속 제어 메시지를 수신하는 단계 및 상기 데이터 프로세싱 하드웨어에 의해, 상기 후속 제어 메시지로부터 하나 이상의 대응하는 피처들을 추출하는 단계를 포함한다. 또한 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 후속 제어 메시지로부터 추출된 하나 이상의 대응하는 피처들 중 적어도 하나가 상기 제어 메시지로부터 추출된 하나 이상의 피처들과 일치하는지 식별하는 단계 및, 상기 후속 제어 메시지에 대한 대응하는 잠재적 라벨을 예측하기 위해 상기 예측 모델을 사용하기 전에, 상기 데이터 프로세싱 하드웨어에 의해, 상기 후속 제어 메시지로부터 추출된 상기 하나 이상의 피처들 중 상기 식별된 적어도 하나의 대응하는 피처를 상기 예측 모델에 대한 피처 입력들로서 사용하는 것으로부터 제거하는 단계를 더 포함한다.
일부 구현예에서, 제어 메시지가 각각의 네트워크 성능 문제에 대응하지 못하는 경우, 방법은 데이터 프로세싱 하드웨어에 의해, 제어 메시지로부터 추출된 하나 이상의 피처들을 식별하는 단계를 더 포함한다. 여기에서, 방법은 또한 후속 제어 메시지에 대한 대응하는 잠재적 라벨을 예측하기 위해 예측 모델을 사용하기 전에, 상기 데이터 프로세싱 하드웨어에 의해, 상기 제어 메시지로부터 추출된 상기 식별된 하나 이상의 피처들 중 임의의 것과 일치하는 하나 이상의 대응하는 피처들을 포함하는 각 트레이닝 제어 메시지를 제거함으로써 상기 트레이닝 제어 메시지들의 세트를 수정하는 단계; 및 상기 데이터 프로세싱 하드웨어에 의해, 트레이닝 제어 메시지의 수정된 세트로 상기 예측 모델을 재트레이닝하는 단계를 더 포함한다.
본 개시의 다른 양태는 네트워크 이상 검출을 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어와 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들 저장한다. 동작은 셀룰러 네트워크로부터 제어 메시지를 수신하는 동작을 포함한다. 동작은 제어 메시지로부터 하나 이상의 피처들을 추출하는 동작을 더 포함한다. 동작은 또한 피처 입력으로서 제어 메시지로부터 추출된 하나 이상의 피처들을 수신하도록 구성된 예측 모델을 사용하여 제어 메시지에 대한 잠재적 라벨을 예측하는 동작을 포함한다. 여기서, 예측 모델은 각각의 트레이닝 제어 메시지가 하나 이상의 대응하는 피처들 및 실제 라벨을 포함하는 트레이닝 제어 메시지들의 세트에 대해 트레이닝된다. 동작은 잠재적 라벨의 확률이 신뢰 임계치(236)를 충족하는지를 결정하는 동작을 더 포함한다. 또한 동작은 상기 제어 메시지가 상기 셀룰러 네트워크의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제에 대응하는지 여부를 결정하기 위해 상기 제어 메시지를 분석하는 동작 및 상기 제어 메시지가 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제에 대응하는 경우, 상기 네트워크 성능 문제를 네트워크 성능 문제에 책임이 있는 네트워크 엔터티에게 통신하는 동작을 포함한다.
본 양태는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 상기 예측 모델을 사용하여 상기 잠재적 라벨을 예측하는 단계는 잠재적 라벨들에 대한 확률 분포를 예측하는 단계를 포함하고, 상기 예측된 잠재적 라벨은 잠재적 라벨들에 대한 확률 분포에서 잠재적 라벨들 중 하나를 포함한다. 이러한 구현예에서, 잠재적 라벨을 예측하는 단계는 잠재적 라벨에 대한 확률 분포에서 가장 높은 확률과 연관된 잠재적 라벨을 선택하는 단계를 포함한다. 일부 예에서, 예측 모델은 하나 이상의 유형들의 라벨들을 예측하도록 구성된 멀티 클래스 분류 모델을 포함한다. 예측 모델은 심층 신경 네트워크 또는 순환 신경 네트워크를 포함할 수 있다. 각각의 트레이닝 제어 메시지의 실제 라벨은 트레이닝 제어 메시지와 연관된 사용자 장비(UE) 디바이스에 대한 유형 할당 코드(TAC) 또는 셀룰러 네트워크의 네트워크 엘리먼트에 대한 식별자를 포함할 수 있다. 일부 구성예에서, 셀룰러 네트워크는 일반 패킷 무선 서비스 터널링 프로토콜(GTP-C) 또는 다이어미터 프로토콜에 따라 제어 메시지를 통신한다. 선택적으로, 제어 메시지는 단일 네트워크 세션 동안 상기 셀룰러 네트워크의 사용자에 의해 송신된 복수의 제어 메시지들 중 하나에 대응한다. 일부 예시에서, 제어 메시지로부터 추출된 하나 이상의 피처들은 메시지 유형이 상기 셀룰러 네트워크의 사용자에 의한 단일 세션 내에서 발생한 횟수를 표현하는 메시지 유형 요약 벡터를 포함한다. 일부 구현예에서, 피처들은 셀룰러 네트워크의 사용자에 의해 단일 세션과 연관된 기간에 전송된 데이터의 양을 포함한다.
일부 예에서, 제어 메시지가 각각의 네트워크 성능 문제에 대응하지 못하는 경우, 동작은 셀룰러 네트워크로부터 후속 제어 메시지를 수신하는 동작 및 상기 후속 제어 메시지로부터 하나 이상의 대응하는 피처들을 추출하는 동작을 포함한다. 여기서, 동작은 상기 후속 제어 메시지로부터 추출된 하나 이상의 대응하는 피처들 중 적어도 하나가 상기 제어 메시지로부터 추출된 하나 이상의 피처들과 일치하는지 식별하는 동작; 및 상기 후속 제어 메시지에 대한 대응하는 잠재적 라벨을 예측하기 위해 상기 예측 모델을 사용하기 전에, 상기 후속 제어 메시지로부터 추출된 상기 하나 이상의 피처들 중 상기 식별된 적어도 하나의 대응하는 피처를 상기 예측 모델에 대한 피처 입력들로서 사용하는 것으로부터 제거하는 동작을 더 포함한다.
일부 구현예에서, 제어 메시지가 각각의 네트워크 성능 문제에 대응하지 못하는 경우, 동작은 제어 메시지로부터 추출된 하나 이상의 피처들을 식별하는 동작을 더 포함한다. 여기에서, 동작은 또한 후속 제어 메시지에 대한 대응하는 잠재적 라벨을 예측하기 위해 예측 모델을 사용하기 전에, 상기 제어 메시지로부터 추출된 상기 식별된 하나 이상의 피처들 중 임의의 것과 일치하는 하나 이상의 대응하는 피처들을 포함하는 각 트레이닝 제어 메시지를 제거함으로써 상기 트레이닝 제어 메시지들의 세트를 수정하는 동작; 및 트레이닝 제어 메시지의 수정된 세트로 상기 예측 모델을 재트레이닝하는 동작을 더 포함한다.
본 개시의 하나 이상의 구현예의 세부 내용이 첨부 도면과 아래의 설명에서 기술된다. 다른 양태, 구성, 객체 및 이점은 아래의 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 예시적 통신 네트워크의 개략도이다.
도 2a 내지 도 2d는 도 1의 통신 네트워크에 대한 예시적 이상 검출기의 개략도이다.
도 3는 네트워크 이상을 검출하기 위한 예시적 방법의 흐름도이다.
도 4는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
셀룰러 네트워크는 일련의 네트워크 문제(예: 하드웨어 성능 저하, 네트워크 엘리먼트 간의 잘못된 구성, 네트워크 장비에 대한 신뢰할 수 없는 업데이트 또는 업그레이드 등)로 인해 어려움을 겪을 수 있다. 네트워크 문제는 네트워크 성능에 영향을 미치고 셀룰러 네트워크의 사용자(즉, 셀룰러 네트워크의 가입자)가 셀룰러 네트워크에 대한 열악한 사용자 경험을 갖게 할 수 있다. 열악한 사용자 경험은 사용자의 불만을 야기할 수 있으며 네트워크 성능 문제를 해결하기 위한 수단으로 사용자가 네트워크 운영자(즉, 네트워크 제공자)를 전환할 수도 있다.
네트워크 제공자(또는 사업자)는 네트워크 문제가 고객 충성도에 영향을 미치고 셀룰러 서비스에 해로운 영향을 미칠 수 있기 때문에 이러한 문제를 해결할 유인이 있다. 네트워크 문제를 해결하지 않으면, 이러한 문제로 인해 네트워크 운영자 비즈니스에 비용이 발생하고, 네트워크 운영자의 영업상 신용 및/또는 브랜드가 잠재적으로 손상될 수 있다. 그러나 종종 네트워크 운영자는 네트워크 성능 문제를 직접 경험하지 않는다. 즉, 셀룰러 네트워크의 사용자는 일반적으로 네트워크 성능 문제의 영향을 받는 사용자이다. 이는 네트워크 운영자가 네트워크 문제가 발생했을 때 보고하기 위해 네트워크 사용자에게 의존해야 하는 경우가 많다는 것을 의미한다. 그러나 네트워크 문제를 해결하기 위한 사용자 보고에는 몇 가지 문제가 있다. 우선, 네트워크 사용자는 자신이 겪고 있는 문제가 셀룰러 네트워크로 인한 것일 수 있음을 인식할 뿐만 아니라 어떤 방식으로든 네트워크 운영자에게 문제를 보고하는데 시간을 할애해야 한다. 분명히 이 접근 방식은 이상적이지 않은 성능을 경험하고 있음을 인식하지 못하는 사용자에게는 잘 작동하지 않을 것이다. 예를 들어, 사용자는 평균 이하의 네트워크 성능에 익숙해지거나 네트워크 성능이 더 좋아야 한다는 사실을 깨닫지 못한다. 여기서 이러한 유형의 사용자는 네트워크 운영자에게 네트워크 성능 문제가 있음을 알리지 않고 단순히 다른 제공자가 더 나은 성능을 가져올 수 있다고 생각되는 셀룰러 네트워크 제공자로 변경할 수 있다. 다시 말해, 원래의 셀룰러 제공자는 문제를 해결할 기회가 전혀 없을 수 있다. 또한 사용자가 네트워크 성능 문제를 네트워크 운영자에게 보고하면 네트워크 운영자는 보고된 문제에 대한 조사를 수행한다. 이러한 조사는 보고된 모든 문제를 조사/해결할 수 있는 리소스가 부족하기 때문에 일부 사용자 문제를 해결하지 못한 상태로 남겨둘 수 있는 노동 집약적인 프로세스일 수 있다. 특히, 네트워크 운영자는 보고된 사용자 문제를 조사하기보다 셀룰러 네트워크 운영에 노동 자원을 우선순위로 두는 경우가 많다.
또 다른 접근 방식은 네트워크 운영자가 셀룰러 네트워크를 모니터링하여 네트워크 성능 문제를 나타낼 수 있는 이상을 검출하는 것이다. 이상은 셀룰러 네트워크에 대한 신호를 보내는 동안 고유한 발생(또는 다른 행동)을 지칭한다. 여기서, 이상 자체는 고유한 발생이 유해한 행동(예: 네트워크 성능 문제)을 나타내는 발생인지 또는 무해한 행동(예: 네트워크 성능 문제가 아님)을 나타내는 발생인지 여부에 대해 애그노스틱(agnostic)이다. 그러나 이상을 식별함으로써, 네트워크 운영자는 이상을 분석하여 이상이 네트워크 성능 문제에 해당하는지 여부를 결정할 수 있다.
셀룰러 네트워크 내에서 이상 징후를 검출하는 것은 전통적으로 단점이 있었다. 예를 들어, 셀룰러 사용 및 트래픽에 따라 셀룰러 네트워크는 엄청난 양의 로그 데이터(예: 네트워크 로그, 프로세스 간 로그, 사용 통계 등)를 가질 수 있다. 엄청난 양의 데이터를 선별하여 이상을 식별하는 것은 리소스를 많이 소모할 수 있다. 따라서, 네트워크 성능에 영향을 미치는 이상이 검출되면, 이상을 검출하는 엔터티(예: 네트워크 운영자)는 다른 경우에 동일하거나 유사한 이상을 보다 쉽게 검출하는 규칙을 개발할 수 있다. 따라서 이러한 전통적인 형태의 이상 검출은 정상 행동과의 편차를 식별하는 하나 이상의 규칙을 생성한다. 예를 들어, 규칙은 특정 메시지 유형이 일반적으로 초당 5회 발생한다고 정의한다. 특정 메시지 유형이 초당 다소간 발생하는 경우 이 규칙을 통해 시스템은 이 편차를 이상으로 검출할 수 있다. 불행하게도, 이 형태의 이상 검출의 문제는 엔터티가 지정된 정상 범위를 벗어난 행동을 가진 이상을 식별하기 위해 먼저 정상적인 행동으로 간주되는 것을 지정해야 한다는 것이다. 여기에서 이 방법은 알려진 규칙에 의해 지시된 알려진 이상에 대해서만 작동한다. 다시 말해, 네트워크 성능에 영향을 미치는 새로운 이상은 규칙이 새로운 이상(또는 새로운 이상 대신 발생해야 하는 정상적인 행동)을 구체적으로 처리할 때까지 검출되지 않는다. 이 접근 방식에는 성능 문제를 일으킬 수 있는 새로운 이상을 예측할 수 있는 능력이 없다. 따라서 예측적 이상 검출기는 네트워크 성능 문제를 검출하기 위해 더 정확하게 이상을 사용할 수 있다.
도 1은 LTE(Long-Term Evolution) 네트워크, 5G 네트워크 및/또는 GPRS(General Packet Radio Service), GSM Evolution을 위한 GSM/EDGE(Enhanced Data Rates for Mobile Communications/Enhanced Data Rates for GSM Evolution), UMTS/HSPA(Universal Mobile Telecommunication System/High Speed Packet Access)와 같은 3rd Generation Partnership Project(3GPP), LTE 및 LTE 고급 네트워크 기술에 의해 지정된 다수의 액세스 기술을 지원하는 다중 액세스 네트워크일 수 있는 통신 네트워크(100)(셀룰러 네트워크라고도 함)를 도시한다. 셀룰러 네트워크(100)(예: LTE 네트워크)는 모바일폰 및 데이터 단말과 같은 가입자 디바이스들(102, 102a-b)과 기지국(104) 사이의 고속 데이터 패킷의 무선 통신을 가능하게 한다. 가입자 디바이스(102)는 사용자 장비(UE) 디바이스 및/또는 모바일 디바이스(102)로 상호교환적으로 지칭될 수 있다. 예를 들어, LTE는 GSM/EDGE 및 UMTS/HSPA 네트워크 기술을 기반으로 하는 무선 통신 표준으로, 코어 네트워크 개선 외에도 다양한 무선 인터페이스를 사용하여 통신 용량과 속도를 증가시키도록 구성된다. 상이한 유형의 셀룰러 네트워크(100)는 UE 디바이스(102)가 데이터(예를 들어, 데이터 패킷)를 통신할 수 있도록 다양한 대역폭에서 상이한 대역/주파수를 지원할 수 있다. 예를 들어 LTE는 1.4MHz에서 20MHz까지 확장 가능한 캐리어 대역폭을 지원하고 주파수 분할 이중화(FDD)와 시분할 이중화(TDD)를 모두 지원하는 반면 5G는 일부 대역폭이 LTE와 겹치는 5MHz~100MHz 범위의 대역폭을 지원한다.
UE 디바이스들(102)은 네트워크(100)를 통해 음성/데이터를 송신 및/또는 수신할 수 있는 임의의 통신 디바이스일 수 있다. UE 디바이스들(102)은 랩톱, 태블릿, 스마트폰, 및 웨어러블 컴퓨팅 디바이스(예를 들어, 헤드셋 및/또는 시계)와 같은 모바일 컴퓨팅 디바이스를 포함할 수 있지만, 이에 한정되지 않는다. UE 디바이스들(102)은 또한 데스크톱 컴퓨터, 스마트 스피커/디스플레이, 차량, 게임 디바이스, 텔레비전 또는 다른 기기(예를 들어, 네트워크로 연결된 홈 자동화 디바이스 및 가전제품)에 포함된 컴퓨팅 디바이스와 같은 다른 폼 팩터를 갖는 다른 컴퓨팅 디바이스를 포함할 수 있다. UE 디바이스들(102)은 통신 네트워크(100)의 네트워크 운영자에 의해 제공되는 네트워크 서비스에 가입한다. 네트워크 운영자는 또한 모바일 네트워크 오퍼레이터(MNO), 무선 서비스 제공자, 무선 캐리어, 셀룰러 회사 또는 모바일 네트워크 캐리어로 지칭될 수 있다.
UE 디바이스들(102)은 통신 네트워크(100)(또는 5G/3G/2G 네트워크)를 통해 PDN(Packet Data Network)과 같은 외부 네트워크(30)와 통신할 수 있다. 도 1을 참조하면, 통신 네트워크(100)는 제1 부분인 E-UTRAN(Evolved Universal Terrestrial Radio Access Network) 부분(106) 및 제2 부분인 EPC(Evolved Packet Core) 부분(108)을 포함하는 LTE 네트워크이다. 제1 부분(106)은 모바일 네트워크, UE 디바이스들(102) 및 다수의 기지국(104)을 위한 3GPP의 LTE 업그레이드 경로의 무선 인터페이스(110)(즉, e-UTRA(Evolved Universal Terrestrial Radio Access))를 포함한다. LTE 무선 인터페이스(110)는 다운링크에 대해 OFDMA(orthogonal frequency-division multiple access) 무선 액세스를 사용하고 업링크에 대해 SC-FDMA(Single-carrier FDMA)를 사용한다. 따라서, 제1 부분(106)은 하나 이상의 기지국(104)을 통해 무선 인터페이스(110)를 통해 외부 네트워크(30)로부터 UE 디바이스(102)로의 데이터 패킷 및/또는 다른 표면의 무선 통신을 지원하는 무선 액세스 네트워크(RAN)를 제공한다.
각각의 기지국(104)은 진화된 노드 B(eNode B 또는 eNB로도 지칭됨)를 포함할 수 있다. eNB(104)는 UE 디바이스들(102)과 직접 통신하기 위해 무선 인터페이스(110)(예를 들어, 모바일폰 네트워크)에 연결하는 하드웨어를 포함한다. 예를 들어, eNB(104)는 UE 디바이스들(102)에 다운링크 LTE/3G/5G 신호들(예를 들어, 통신)을 송신하고, 무선 인터페이스(110)를 통해 UE 디바이스들(102)로부터 업링크 LTE/3G/5G 신호들을 수신할 수 있다. 기지국(104)은 하나 이상의 UE 디바이스들(102)이 기지국(104)을 통해 네트워크(100)와 통신하는 영역에 대응하는 연관된 커버리지 영역(104)을 가질 수 있다. eNB(104)는 EPC(108)와 통신하기 위해 S1 인터페이스를 사용한다. S1 인터페이스는 MME(Mobility Management Entity)(112)와 통신하기 위한 S1-MME 인터페이스 및 SGW(Serving Gateway)(116)와 인터페이스하기 위한 S1-U 인터페이스를 포함할 수 있다. 따라서, S1 인터페이스는 EPC(108)와 통신하기 위한 백홀 링크와 연관된다.
EPC(108)는 LTE 네트워크(100) 상에서 음성 및 데이터를 수렴하도록 구성된 프레임워크를 제공한다. EPC(108)는 인터넷 프로토콜(IP) 서비스 아키텍처에서 음성과 데이터를 통합하며 음성은 또 다른 IP 애플리케이션으로 취급된다. EPC(108)는 MME(112), 서빙 GPRS 지원 노드(SGSN)(114), SGW(116), 정책 및 과금 규칙 기능(PCRF)(118), 홈 가입자 서버(HSS)(120) 및 PGW(Packet Data Node Gateway)와 같은 여러 네트워크 엘리먼트를 포함하지만 이에 한정되지 않는다. PGW(122)는 네트워크 게이트웨이 디바이스(122)로도 지칭될 수 있으며, 네트워크가 3G 네트워크에 해당하는 경우, 네트워크 게이트웨이 디바이스(122)는 PGW(122) 대신 게이트웨이 GPRS 지원 노드(GGSN)(122)를 포함한다. 선택적으로, 네트워크가 5G 또는 5G+ 네트워크에 대응하는 경우, 네트워크 게이트웨이 디바이스(122)는 5G 및/또는 5G+ 네트워크에 의해 정의된 명명 규칙을 갖는 게이트웨이 노드를 포함할 수 있다. MME(112), SGSN(114), SGW(116), PCRF(118), HSS(120), 및 PGW(122)는 독립형 컴포넌트들일 수 있거나, 상기 컴포넌트들 중 적어도 2개가 함께 통합될 수 있다. EPC(108)는 UE 디바이스(102) 및 외부 네트워크(30)와 통신하여 그 사이에서 데이터 패킷을 라우팅한다.
네트워크(100)는 UE 디바이스(102), 기지국(104) 및 다양한 네트워크 엘리먼트(예를 들어, MME(112), SGSN(114), SGW(116), PCRF(118), HSS(120), 및 PGW(122))가 네트워크(100)를 사용하는 동안 서로 협력한다. 정보는 네트워크(100) 전체에 걸쳐 이러한 인터페이스를 따라 흐르고 일반적으로 이러한 인터페이스는 사용자 평면과 제어 평면으로 분할될 수 있다. 사용자 평면은 사용자 평면 트래픽을 라우팅하고 PDCP(Packet Data Convergence Protocol), RLC(Radio Link Control) 및 MAC(Medium Access Control)과 같은 하위 레이어를 가지는 기지국(104)과 UE 디바이스(102) 사이의 사용자 평면 프로토콜 스택을 포함한다. 네트워크 엘리먼트들 사이에 실선으로 도시된 사용자 평면에 특정적인 몇몇 인터페이스들은 다음과 같다: 핸드오버 동안 베어러 사용자 평면 터널링 및 기지국간 경로 스위칭을 위한 기지국(104)과 SGW(116) 사이의 S1-U 인터페이스; 2G 액세스 또는 3G 액세스를 갖는 UE 디바이스(102)와 제어 및 이동성 지원 및 일부 경우에 사용자 평면 터널링을 위한 PGW(122) 사이의 S4 인터페이스; 및 운영자 구성 옵션으로서 사용자 평면 터널링을 위한 E-UTRAN 부분(106)(예를 들어, UE 디바이스(102))과 SGW(116) 사이의 S12 인터페이스(미도시). 다른 유형의 통신 네트워크(예를 들어, 3G, 5G 등)는 네트워크(100)에 대해 도 1에 도시된 것 외에 다른 사용자 평면 인터페이스를 포함할 수 있다.
제어 평면은 제어 평면 프로토콜을 사용하여 사용자 평면 기능을 제어하고 지원하는 역할을 한다. 특히, 제어 평면은 E-UTRAN 액세스 연결(예를 들어, 네트워크(100)의 E-UTRAN 부분(106)로부터 부착 및 분리)을 제어하고, 설정된 네트워크 액세스 연결의 속성(예를 들어, IP 주소의 활성화)을 제어하고, (예를 들어, 사용자 이동성을 지원하기 위해) 설정된 네트워크 연결의 라우팅 경로를 제어하고, 및/또는 (예를 들어, UE 디바이스(102)의 사용자에 의한) 네트워크(100)에 대한 요구에 기초하여 네트워크 리소스의 할당을 제어한다. 네트워크 엘리먼트들 사이에 점선으로 도시된 제어 평면에 특정적인 몇몇 인터페이스는 다음과 같다: 시그널링 메시지의 전달을 보장하는 기지국(104)과 MME(112) 사이의 S1-MME 인터페이스; 유휴 및/또는 활성 상태에서 3GPP 액세스 네트워크 간 이동성을 위한 사용자/베어러 정보 교환을 가능하게 하는 SGSN(114)과 MME(112) 사이의 S3 인터페이스; SGW(116)와 PGW(122) 사이의 S5/S8 인터페이스, 여기서 S5 인터페이스는 UE 디바이스(102) 이동성에 기초한 재배치를 제공하고 PDN의 비연장 게이트웨이에 연결하기 위해 비로밍 시나리오에서 사용되고, S8 인터페이스 PLMN(public land mobile networks)에 연결한다; MME(112)들 간의 핸드오버를 조정하는 S10 인터페이스; 신호 메시지를 전송하기 위한 MME(112)와 SGW(116) 사이의 S11 인터페이스; 사용자 액세스와 관련된 가입 및 인증 데이터의 전송을 가능하게 하는 MME(112)와 HSS(120) 사이의 S6a 인터페이스; 사용자 액세스와 관련된 가입 및 인증 데이터의 전송도 가능하게 하는 HSS(120)와 SGSN(114) 사이의 S6d 인터페이스; 및 UE 디바이스(102) 신원 체크를 지원하는 S13 인터페이스(미도시). 다른 유형의 통신 네트워크(예를 들어, 3G, 5G 등)가 네트워크(100)에 대해 도 1에 도시된 것 외에 다른 제어 평면 인터페이스를 포함할 수 있다.
특정한 UE 디바이스(102)가 네트워크(100)에 연결되면, 하나 이상의 제어 메시지들(128)은 다양한 네트워크 엘리먼트들 사이에서(예를 들어, 진화된 패킷 코어(108)의 네트워크 엘리먼트들과 E-UTRAN 부분(106) 사이) 전송된다. 예를 들어, 도 1에 도시된 바와 같이, 기지국(104)은 새로운 UE 디바이스(102)가 네트워크(100)에 연결을 시도하고 있음을 표시하는 제어 메시지(128)를 MME(112)에 전송한다. 다른 예로서, SGW(116)는 외부 네트워크(30)로부터의 데이터가 특정한 UE 디바이스(102)에 도착했고 UE 디바이스(102)가 대기 중인 데이터를 수락하기 위한 터널을 설정하기 위해 웨이크될 필요(또는 페이징될 필요가 있음)를 표시하는 제어 메시지(128)를 MME(112)에 전송한다. 제어 평면 인터페이스는 일반 패킷 무선 서비스 터널링 제어(GTP-C) 프로토콜 또는 다이어미터 프로토콜과 같은 제어 평면 프로토콜을 사용하여 이러한 제어 메시지(128)를 전송할 수 있다. 제어 메시지(128)를 전송하는데 사용되는 프로토콜의 유형은 인터페이스에 따라 다를 수 있다. 예를 들어 S3, S5/S8 및 S10 인터페이스는 GTP-C 프로토콜을 사용하는 반면 S11, S6a, S6d 및 S13 인터페이스는 다이어미터 프로토콜을 사용한다.
MME(112)는 LTE 네트워크(100)에 대한 핵심 제어 노드이다. MME(112)는 세션 및 상태를 관리하고 네트워크(100)를 통해 UE 디바이스(102)를 인증 및 추적한다. 예를 들어, MME(112)는 비 액세스 계층(NAS)에 대한 시그널링 및 보안의 제어, UE 디바이스(102)의 인증 및 이동성 관리, UE 디바이스(102)에 대한 게이트웨이의 선택 및 베어러 관리 기능과 같은(단, 이제 제한되지 않음) 다양한 기능을 수행할 수 있다. SGSN(114)은 MME(112)와 유사한 방식으로 작동할 수 있다. 예를 들어, SGSN(114)은 UE 디바이스(102)의 위치를 추적하고, 보안 및 액세스 제어 기능을 수행한다. 일부 예에서, SGSN(114)은 (예를 들어, 대기 모드 UE 디바이스(102)의) 이동성 관리, 논리적 링크 관리, 인증, 과금 기능 및/또는 과부하 상황 처리를 담당한다. SGW(116)는 데이터 라우팅 및 포워딩뿐만 아니라 이동성 앵커링과 같은 사용자 디바이스(102)를 위한 IP 데이터 전송과 관련된 다양한 기능을 수행한다. SGW(116)는 모바일 디바이스(102)에 대한 데이터 패킷의 버퍼링, 라우팅 및 포워딩과 같은 기능을 수행할 수 있다.
PCRF(118)는 EPC(108)에서 실시간 정책 규칙 및 과금을 담당하는 노드이다. 일부 예에서, PCRF(118)는 정책 결정을 내리기 위해 가입자 데이터베이스(즉, UE 디바이스 사용자)에 액세스하도록 구성된다. 서비스 품질 관리는 PCRF(118)와 네트워크 게이트웨이 디바이스(122) 사이의 동적 정책 인터렉션에 의해 제어될 수 있다. PCRF(118)에 의한 시그널링은 EPS 베어러(즉, UE 디바이스(102)와 PGW(122) 사이의 가상 연결)의 속성을 설정하거나 수정할 수 있다. VoLTE(Voice over LTE)와 같은 일부 구성에서, PCRF(118)는 호출을 설정하고 요청된 대역폭을 구성된 속성을 갖는 호출 베어러에 분배하기 위한 네트워크 리소스를 할당한다.
HSS(120)는 모든 UE 디바이스 사용자 데이터를 포함하는 모든 UE 디바이스들(102)의 데이터베이스를 지칭한다. 일반적으로 HSS(120)는 호 및 세션 설정을 위한 인증을 담당한다. 즉, HSS(120)는 사용자 액세스 및 UE 컨텍스트 인증을 위한 가입 및 인증 데이터를 전달하도록 구성된다. HSS(120)는 MME(112)와 인터렉션하여 UE 디바이스(102) 및/또는 UE 디바이스 사용자를 인증한다. MME는 다이어미터 프로토콜을 사용하여(예를 들어, S6a 인터페이스를 통해) PLMN 상에서 HSS(120)와 통신한다.
PGW(122)(즉, 네트워크 게이트웨이 디바이스)는 인터넷 프로토콜(IP) 주소 할당, UE 디바이스(102)에 대한 데이터 연결 유지, UE 디바이스(102)에 대한 패킷 필터링, 서비스 수준 게이팅 제어 및 속도 강제, 클라이언트와 서버를 위한 DHCP(Dynamic Host Configuration Protocol) 기능, 게이트웨이 GGSN(General Packet Radio Service) 기능과 같은(단, 이에 제한되지 않음) 다양한 기능을 수행한다.
일부 구현예에서, 네트워크 게이트웨이 디바이스(122)의 데이터 프로세싱 하드웨어(124)(예를 들어, PGW 또는 GGSN 또는 5G 및/또는 5G+ 네트워크에 의해 정의된 다른 명명 규칙을 갖는 게이트웨이 노드)는 적어도 하나의 UE 디바이스(102)와 연관된 제어 메시지(128)를 수신한다. 데이터 프로세싱 하드웨어(124)는 적어도 하나의 UE 디바이스(102)가 기지국(104)의 커버리지 영역(104) 내에서 네트워크(100)와 갖는 인터렉션(들)에 기초하여 제어 메시지(128)를 수신할 수 있다.
도 1을 더 참조하면, 통신 네트워크(100)는 또한 이상 검출기(200)를 포함한다. 일부 예에서, 이상 검출기(200)는 네트워크 게이트웨이 디바이스(122)(예를 들어, PGW 또는 GGSN 또는 5G 및/또는 5G+ 네트워크들에 의해 정의된 다른 명명 규칙을 갖는 게이트웨이 노드)의 일부이다. 예를 들어, 네트워크 게이트웨이 디바이스(122)의 데이터 프로세싱 하드웨어(124) 및/또는 메모리 하드웨어(126)는 이상 검출기(200)를 호스팅하고 이상 검출기(200)의 기능을 실행한다. 일부 구현예에서, 이상 검출기(200)는 E-UTRAN 부분(106) 및 EPC(108)와 통신하지만, 외부 네트워크(30)(예를 들어, 외부 네트워크(30)에 대응하는 데이터 프로세싱 하드웨어)에 상주한다. 즉, 외부 네트워크(30)는 자체 데이터 프로세싱 하드웨어 또는 공유 데이터 프로세싱 하드웨어(예: 네트워크 게이트웨이 디바이스(122)와 공유)를 갖는 분산 시스템(예: 클라우드 환경)일 수 있다. 다른 구성에서, 네트워크 게이트웨이 디바이스(122) 이외의 네트워크 엘리먼트는 이상 검출기(200)를 구현한다. 추가적으로 또는 대안적으로, 이상 검출기(200)는 네트워크(100)의 하나 이상의 네트워크 엘리먼트에 걸쳐 상주한다.
일반적으로, 이상 검출기(200)는 하나 이상의 제어 메시지들(128)에 기초하여 네트워크(100) 내에서 발생하는 이상을 검출하도록 구성된다. 검출된 이상으로, 이상 검출기(200)는 이상이 네트워크(100)의 성능에 영향을 미치는 네트워크 성능 문제(202)에 대응하는지 여부를 분석한다. 다시 말해서, 이상 검출기(200)는 네트워크(100) 내에서 고유한 발생(즉, 이상)을 식별하고 고유한 발생이 네트워크(100)의 성능에 해로운지(또는 사용자 경험에 부정적인 영향을 미치는지) 여부를 결정한다. 이상 검출기(200)가 검출된 이상이 네트워크 성능에 영향을 미친다는 것을 식별할 때, 이상 검출기(200)는 네트워크 성능 문제(202)에 책임이 있는 네트워크 엔터티(40)에게 알리거나 네트워크 성능 문제(202)에 책임이 있는 엔터티와 알거나 통신하는 엔터티에 릴레이하도록 구성된다. 예를 들어, 이상 검출기(200)는 검출된 이상에 대응하는 네트워크 성능 문제(202)를 네트워크 운영자에게 시그널링하거나 알릴 수 있다. 일부 구현예에서, 이상 검출기(200)는 네트워크 이상을 표시한 하나 이상의 제어 메시지들(128)을 네트워크 엔터티(40)에 통신한다. 여기서, 네트워크 엔터티(40)는 네트워크 문제(202)를 해결하는 것을 돕기 위해 하나 이상의 제어 메시지들(128)을 추가로 분석할 수 있다.
도 2a 내지 도 2d를 참조하면, 이상 검출기(200)는 일반적으로 수집기(210), 추출기(220), 예측기(230) 및 분석기(240)를 포함한다. 수집기(210)는 네트워크(100)로부터 적어도 하나의 제어 메시지(128)를 수신하도록 구성된다. 일부 구현에서, 수집기(210)는 제어 메시지(128)에 대응하는 데이터를 로깅하기 위한 중앙 데이터베이스로서 기능하기 위해 네트워크(100)로부터 제어 메시지(128)를 수집하는 데이터 저장소(212)를 포함한다. 수집기(210)로, 이상 검출기(200)는 이상을 검출하는데 사용될 수 있는 트레이닝 데이터(예를 들어, 트레이닝 제어 메시지들)를 생성하기 위해 다양한 방식으로 제어 메시지(128)를 프로세싱할 수 있다. 예를 들어, 수집기(210)는 UE 디바이스(102)의 단일 세션으로부터 (예를 들어, 데이터 저장소(212) 내에서) 제어 메시지(128)를 함께 그룹화한다. 일부 예에서, 세션은 사용자가 (UE 디바이스(102)를 통해) CreateSessionRequest 또는 CreatePdpRequest 메시지를 개시할 때부터 사용자가 DeleteSessionResponse 또는 DeletePdpContextRequest 메시지로 세션을 종료할 때까지의 기간을 지칭한다. 다른 예로서, 수집기(210)는 특정 기간(예를 들어, 세션 동안) 내에 (예를 들어, 업링크 방향, 다운링크 방향, 또는 둘 모두로) 전송된 데이터(129)의 양을 나타내기 위해 제어 메시지(128)를 함께 그룹화한다. 이러한 제어 메시지(128)를 함께 그룹화하여 수집기(210)는 특정 기간 동안 데이터(129)의 총량의 표현을 형성한다.
다른 구성에서, 수집기(210)는 제어 메시지들(128)이 시계열(예를 들어, t0-t3.0-t3)로 함께 연결되도록 로그 데이터를 시퀀스로 수집한다. 여기서, 제어 메시지(128)의 스트링은 엔터티(예를 들어, 특정 사용자 또는 UE 디바이스(102))에 의해 또는 엔터티의 세션에 의해 집계될 수 있다. 이러한 시퀀스가 너무 길어지면, 수집기(210)는 이러한 시퀀스를 고정 길이의 하위 시퀀스로 해부하고, 원래 시퀀스의 임의의 식별자를 각 하위 시퀀스에 연관시키도록 구성될 수 있다. 그렇지 않으면, 시퀀스는 수집기(210)가 해부할 때 시퀀스를 하나 이상의 서브-시퀀스로 전송하는데 실패할 라벨(예를 들어, 특정 엔터티 또는 UE 디바이스(102))을 가질 수 있다.
추출기(220)는 하나 이상의 제어 메시지(128) 및/또는 제어 메시지(128)에 대응하는 로그 데이터로부터 정보를 추출하도록 구성된다. 추출기(220)는 하나 이상의 제어 메시지(128)(또는 그 일부)로부터 하나 이상의 피처들(222) 및/또는 하나 이상의 라벨(224)을 추출할 수 있다. 각각의 피처(222) 및/또는 라벨(224)은 제어 메시지(128)로부터 유도된 특성을 지칭한다. 일부 예에서, 라벨(224)은 네트워크(100)의 3GPP 표준화로 인해 일반적으로 난독화된 네트워크 엘리먼트, UE 디바이스(102), UE 디바이스의 사용자, 또는 기지국(104)의 특성이다. 다시 말해서, 추출기(220)가 제어 메시지(128)(또는 제어 메시지(128)와 관련된 로그 데이터)로부터 직접 실제 라벨(224)을 생성할 수 있지만, 네트워크(100)가 3GPP 호환인 경우 단순히 하나 이상의 제어 메시지(128)로부터 실제 라벨(224)을 컨텍스트적으로 결정할 수 없어야 한다. 라벨(224)의 하나의 그러한 예는 무선 디바이스(예를 들어, UE 디바이스(102)의 이동 전화 유형)를 식별하는 유형 할당 코드(TAC)이다. 라벨(224)의 다른 예는 네트워크(100)의 네트워크 엘리먼트에 대응하는 식별자(예를 들어, MME 식별자, BSIC(Base Station Identity Code), IMEI(International Mobile Equipment Identity), E-UTRAN 셀 식별자(ECI)/E-UTRAN 셀 글로벌 식별자(ECGI) 등)를 포함할 수 있지만, 이에 제한되지 않는다.
다른 한편으로, 피처(222)는 라벨(224)을 형성하는 특징과 상이한 제어 메시지(128)로부터 유도된 또 다른 특징에 대응한다. 여기서, 라벨(224)과 달리, 제어 메시지(128)의 피처(222)는 네트워크(100)가 3GPP 호환인 경우에도 식별 가능할 수 있다. 피처들(222)의 일부 예는 제어 메시지 유형(예를 들어, 정수로 표시됨), GTP-C 메시지에 대한 원인 유형, 인접한 메시지 사이에 경과된 시간의 양(예를 들어, 수집기(210)가 제어 메시지(128)를 시퀀싱할 때)을 포함한다. 일부 예에서, 추출기(220)는 상이한 제어 메시지 프로토콜들로부터 상이한 피처들(222)을 추출한다. 예를 들어, GTP-C 메시지에서 추출된 피처들(222)은 다이어미터 메시지에서 추출된 피처들(222)과 다를 수 있다. 일부 예에서, 추출기(220)에 의해 추출된 피처들(222)은 새로운 피처들(222)을 생성하기 위해 교차된다. 피처들(222)의 교차는 2개 이상의 피처들(222)의 일부의 조합을 지칭한다. 예를 들어, 추출기(220)는 메시지 유형 피처(222) 및 원인 값 피처(222)를 교차하여 메시지 유형-원인 값 피처(222)를 생성한다. 피처들(222)을 교차함으로써, 추출기(220)는 이상을 검출하는 이상 검출기(200)의 능력을 잠재적으로 증가시키는 추가 트레이닝 데이터 세트를 제공할 수 있다.
추출기(220)가 피처(222) 및/또는 라벨(224)을 추출하는지 여부는 이상 검출기(200)의 단계에 의존할 수 있다. 제1 단계(예: 트레이닝 단계)에서 이상 검출기(200)는 네트워크 이상을 예측할 수 있도록 트레이닝한다. 이상 검출기(200)를 트레이닝하기 위해, 추출기(220)는 수집기(210)에서 하나 이상의 제어 메시지(128)로부터 정보를 추출한다. 추출된 정보는 하나 이상의 피처들(222) 및 실제 라벨(224)을 포함하는 트레이닝 제어 메시지(226)를 형성한다. 실제 라벨(224)을 트레이닝 제어 메시지(226)와 함께 정답(ground truth)으로 포함함으로써, 이상 검출기(200)는 어떤 피처들(222)이 어떤 라벨(224)에 대응할 수 있는지를 학습한다. 제2 단계(예를 들어, 추론)에서, 이상 검출기(200)가 트레이닝된 후, 추출기(220)는 더 이상 피처들(222) 및 라벨(224) 모두를 포함하는 트레이닝 제어 메시지(226)를 제공하지 않는다. 대신에, 추출기(220)는 제어 메시지(128)로부터 하나 이상의 피처들(222)을 추출하고 라벨(224)을 예측하기 위해 트레이닝된 이상 검출기(200)에 의존한다. 다시 말해서, 각 제어 메시지(128)를 프로세싱하여 그로부터 실제 라벨(224)을 추출하는 것은 시간에 민감하고 따라서 실시간으로 실용적이지 않기 때문에 트레이닝된 이상 검출기(200)는 제어 메시지(128)에서 추출된 피처들(222)만을 피처 입력들로서 사용하여 잠재적인 라벨(234)을 예측할 수 있다.
예측기(230)는 추출기(220)에 의해 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)과 연관된 제어 메시지(128)에 대한 잠재적 라벨(234)을 예측하기 위해 예측 모델(232)을 사용하도록 구성된다. 이상적으로는, 3GPP의 표준화 때문에, 예측기(230)가 주어진 제어 메시지(128)에 대해 잠재적인 라벨(234)이 실제 라벨(224)과 일치하는(즉, 정확하게 예측하는) 예측 P를 생성하는 것이 불가능해야 한다. 따라서, 예측기(230)가 적어도 하나의 제어 메시지(128)(예를 들어, 제어 메시지(128)의 피처들(222))로부터 실제 라벨(224)과 일치하는 잠재적인 라벨(234)을 예측할 때, 이 일치는 제어 메시지(들)(128) 및 라벨들(224, 234) 사이에 고유한 상관(즉, 검출된 이상)을 표시한다.
예측기(230)가 정확한 예측(P)을 생성할 때, 분석기(240)는 관련 제어 메시지(128) 및/또는 제어 메시지(128)에 대응하는 로그 데이터를 분석한다. 여기서, 분석기(240)는 제어 메시지(128)가 네트워크(100)의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 제어 메시지(128)를 분석한다. 다시 말해서, 분석기(240)는 검출된 이상이 유해한 행동으로 인한 고유한 상관 관계인지 또는 검출된 이상이 네트워크 성능 또는 사용자 경험에 거의 또는 전혀 영향을 미치지 않는 단순한 고유한 행동인지 여부를 결정한다. 분석기(240)가 제어 메시지(128)의 검출된 이상이 네트워크 성능에 영향을 미친다고 결정할 때, 분석기(240)는 이러한 유해한 행동이 수정되도록 플래그를 지정한다. 행동을 수정하기 위해, 분석기(240)는 네트워크 성능 문제(202)에 책임이 있는 네트워크 엔터티(40)(예를 들어, 네트워크 운영자 또는 UE 디바이스 제공자)에 네트워크 성능 문제(202)를 전달할 수 있다.
일부 구성에서 분석기(240)는 클러스터링을 수행한다. 클러스터링은 조사하기 위해 네트워크(100)에서 너무 많은 변칙이 발생하는 경우에 유리할 수 있다. 분석기(240)는 검출된 모든 이상을 조사하는 대신에, 검출된 이상을 유사한 그룹으로 클러스터링한다. 그룹으로 클러스터링함으로써, 분석기(240)는 잠재적으로 네트워크(100)에 더 해로운 영향을 미칠 수 있는 더 큰 클러스터의 우선순위를 정할 수 있다(예를 들어, 네트워크 영향 또는 네트워크 영향의 가능성/확률에 의해 클러스터를 순위화함). 더욱이, 분석기(240)가 검출된 이상이 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 인간 분석에 의존할 때, 분석기(240)는 차원 감소를 수행하기 위해 오토인코더를 사용할 수 있다. 오토인코더에 의한 차원 감소는 큰 데이터 세트의 중복 기능을 연관시켜 큰 데이터 세트(즉, 많은 수의 이상)를 줄이도록 구성된다. 여기서 오토인코더는 경사하강법에 따라 트레이닝된 신경 네트워크로서 데이터 세트에서 새로운 구조나 고유성을 식별하려고 시도하여 차원 감소를 수행한다. 다시 말해서, 오토인코더는 분석되어야 하는 네트워크 성능 문제(202)와 더 관련될 가능성이 더 높을 수 있는 네트워크(100)에 대한 보다 고유한 이상을 분리할 수 있다. 클러스터링과 오토인코딩을 결합하여 많은 수의 이상을 더 작은 그룹(클러스터)으로 만든 다음 추가로 축소하여 인적 및/또는 계산 리소스를 효율적으로 사용할 수 있다.
예측기(230)는 예측 모델(232)을 사용하여 잠재적 라벨(234)을 예측한다. 일부 예들에서, 예측 모델(232)은 신경 네트워크(예를 들어, 심층 신경 네트워크(DNN), 순환 신경 네트워크(RNN), 또는 컨볼루션 신경 네트워크(CNN))이다. 예측 P를 생성하기 위해 예측 모델(232)은 모델 트레이닝을 거친다. 여기서, 예측 모델(232)에 대한 트레이닝은 제어 메시지(128) 및/또는 이들의 관련된 로그 데이터에 대응하는 예(또한 트레이닝 데이터 또는 트레이닝 데이터 세트라고도 함)를 사용하여 발생한다. 일부 구현예에서, 추출기(220)는 예측 모델(232)(예를 들어, 도 2b에 도시됨)을 트레이닝하기 위한 예로서 트레이닝 제어 메시지(226)의 세트(228)를 생성한다. 일부 구성에서, 각각의 트레이닝 제어 메시지(226)는 수집기(210)에서 프로세싱되는 제어 메시지(128)에 대응한다. 추출기(220)는 제어 메시지(128)에 대한 실제 라벨(224)과 함께 제어 메시지(128)로부터 하나 이상의 피처들(222)을 추출함으로써 각각의 트레이닝 제어 메시지(226)를 형성할 수 있다. 일부 예에서, 하나 이상의 제어 메시지(128)가 동일한 라벨(224)을 가질 때, 이러한 제어 메시지들(128)의 피처들(222)은 트레이닝 제어 메시지(226)의 하나의 예 또는 세트(228)로 결합된다. 예를 들어, 추출기(220)는 조합에 포함된 제어 메시지(128)의 각 유형을 고려하기 위해 메시지 유형 벡터 요약을 생성한다. 메시지 유형 벡터 요약은 (예를 들어, 단일 세션 내에서) 특정한 제어 메시지(128)가 발생한 횟수를 나타내는 각각의 가능한 메시지 유형에 대한 하나의 엔트리를 포함할 수 있다.
예측 모델(232)을 트레이닝하기 위해, 예측기(230)는 트레이닝 제어 메시지들(226)의 세트(228)를 트레이닝 세트(226T) 및 검증 세트(226V)로 분할한다. 일부 예에서, 트레이닝 세트(226T) 및 검증 세트(226V)에 더하여, 트레이닝 제어 메시지들(226)은 또한 테스트 세트로 분할된다. 예측 모델(232)은 트레이닝 세트(226T)에 대해 트레이닝하면서 검증 세트(226V)를 사용하여 트레이닝을 중단할 때를 결정한다(예를 들어, 과적합을 방지하기 위해). 예측 모델(232)의 성능이 특정 임계치에 도달하거나 검증 세트(226V)에 대한 예측 모델(232)의 성능이 감소하는 것을 멈출 때 트레이닝이 중단될 수 있다. 일부 예에서, 트레이닝 세트(226T)는 예측 모델(232)에 대한 최종 성능을 평가한다. 일부 구현예에서, 예측 모델(232)은 멀티클래스 분류 모델로서 트레이닝된다. 멀티 클래스 분류 모델로서, 예측 모델(232)은 각 클래스에 대한 확률(PB)에 대한 의견을 나타내는 확률 분포(PBdis)를 출력한다. 예를 들어, 예측 모델(232)이 TAC를 예측할 때, 예측 모델(232)이 TAC의 각 클래스에 대한 확률 분포를 출력하도록 각 TAC는 상이한 클래스가 될 것이다.
일부 예에서, 예측 모델(232)을 트레이닝하고 평가하는 프로세스는 발생할 수 있는 새로운 네트워크 문제(202)의 조기 검출을 제공하기 위해 연속적으로 발생한다. 트레이닝이 완료되면, 트레이닝으로부터의 예측 P는 예측 모델(232)로 피드백될 수 있다. 이들 예측(P)은 트레이닝 세트(226T), 검증 세트(226V), 테스트 세트, 또는 이들의 임의의 조합에 대응할 수 있다. 다시 말해서, 예측 모델(232)은 트레이닝 데이터(예를 들어, 트레이닝 제어 메시지(226)의 세트(228))에 대한 트레이닝으로부터의 예측(P)을 평가하도록 구성된다. 이 접근 방식은 예측 모델(232)이 트레이닝을 완료하고 잠재적 라벨(234)을 예측할 준비가 되었음을 보장할 수 있다.
도 2b 및 도 2d를 참조하면, 일부 예에서, 예측기(230)의 예측 모델(232)은 잠재적 라벨(234)의 예측 P에 대한 확률 PB를 생성한다. 잠재적 라벨(234)의 확률(PB)을 평가하기 위해, 예측기(230)는 신뢰 임계치(236)를 적용할 수 있다. 신뢰 임계치(236)는 잠재적 라벨(234)의 확률(PB)이 유해한 행동에 대해 분석기(240)에 의한 평가를 필요로 하는 이상에 대응한다는 신뢰 수준을 나타낸다. 다시 말해서, 잠재적 라벨(234)의 예측 확률(PB)이 신뢰 임계치(236)를 만족할 때, 예측기(230)는 잠재적 라벨(234)에 대응하는 제어 메시지(128)를 분석기(240)에 통신한다. 예를 들어, 신뢰 임계치(236)가 90%일 때, 90%보다 큰 TAC를 나타내는 잠재적 라벨(234)의 예측 P에 대한 확률 PB는 추가 분석을 위해 분석기(240)에 전달되어야 하는 확신 예측 P를 나타낸다.
일부 구성에서, 예측 모델(232)은 잠재적 라벨(234a-n)에 대한 확률 분포(PBdis)를 출력/예측한다. 이러한 구성에서, 확률 분포(PBdis)의 각각의 잠재적 라벨(234a-n)은 대응하는 확률(PB)을 포함한다. 일부 예에서, 예측기(230)는 잠재적 라벨들(234a-n)에 대한 확률 분포(PBdis)에서 가장 높은 확률(PB)을 갖는 잠재적 라벨(234a-n)을 선택함으로써 잠재적 라벨(234)을 예측한다. 도 2b 및 2d에 도시된 예에서, 잠재적 라벨(234a)은 잠재적 라벨(234a-n)에 대한 확률 분포(PBdis)에서 91%(91%)의 가장 높은 확률 PB를 가지며, 따라서 예측기(230)는 잠재적 라벨(234a)을 선택하고 확률 PB( 91%)에서 신뢰 임계치(90%)와 비교한다. 따라서, 이 예에서, 예측기(230)는 선택된 잠재적 라벨(234a)의 확률 PB가 신뢰 임계치(236)를 충족한다고 결정하고 대응하는 제어 메시지(128)를 분석기(240)에 전달하여, 제어 메시지(128)가 네트워크 성능에 영향을 주는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정한다. 일부 시나리오에서, 예측기(230)는 신뢰 임계치(236)를 충족하는 대응 확률(PB)을 갖는 확률 분포(PBdis) 내의 각각의 잠재적 라벨(234a-n)을 분석기(240)에 통신한다.
일부 구성에서, 예측 모델(232)은 순차 데이터에 대해 (DNN 모델보다) 더 적합한 RNN 모델이다. RNN 모델의 경우, 추출기(220)는 피처들(222)에 대한 시퀀스를 생성한다. 다시 말해서, 추출기(220)는 순차 제어 메시지들(128)(또는 순차 제어 메시지(128)로부터의 순차적 피처들(222))로부터 트레이닝 제어 메시지(226)를 형성할 수 있다. 순차적 피처들(222)과 함께, 각 시퀀스는 순차적 피처들(222)이 트레이닝 데이터 세트, 검증 데이터 세트 및 테스트 데이터 세트로 분할되도록 하는 트레이닝 예일 수 있다. 순차적 데이터를 선호하는 것 외에도 RNN 모델은 이전에 설명된 예측 모델(232)과 비교적 유사하게 동작한다.
일부 예에서, 예측 모델(232)은 유사하게 수행하는 상이한 잠재적 라벨들(234)을 구별하는데 어려움을 갖는다. 예를 들어, TAC를 예측할 때, 동일하게 수행하는 여러 TAC(예를 들어, 3개의 TAC)가 있을 수 있다. 이러한 동일한 행동은 예측 모델(232)이 TAC가 3개의 TAC 중 하나라는 것은 확실하게 알지만 정확히 어떤 TAC인지 예측할 수 없게 한다. 이 문제를 극복하기 위해, 예측기(230)는 유사하게(예를 들어, 3개의 TAC와 같이) 수행하는 라벨(234)의 그룹을 식별하기 위해 주 컴포넌트 분석(PCA)을 사용할 수 있다. PCA를 사용하여, 잠재적 라벨(234)의 예측 P는 PCA가 라벨(224)의 어느 그룹이 공통적으로 함께 예측되는지 식별하는 벡터일 수 있다. 예를 들어, PCA는 이 세 TAC들 중 주 컴포넌트 벡터가 함께 그룹화(또는 고려)되어야 함을 나타내는 강한 피크를 가질 것이기 때문에 세 TAC가 함께 고려되어야만 함을 식별한다.
도 2c 및 도 2d를 참조하면, 이상 검출기(200)는 필터(250)를 포함할 수 있다. 필터(250)는 유사한 검출된 이상에 대한 중복 분석을 방지하도록 구성된다. 즉, 이상 검출기(200)는 이상이 검출되면 필터(250)를 생성한다. 필터(250)는 유해한 행동의 이상 또는 무해한 행동(즉, 수용 가능한 행동)의 이상을 위한 것일 수 있다. 분석기(240)가 이상에 대응하는 제어 메시지(128)가 네트워크 성능에 영향을 미치는지 여부를 결정하면, 유사한 제어 메시지(128) 또는 유사한 제어 메시지(128)의 시퀀스에 대해 이와 동일한 분석을 수행하는 것은 이상 검출 리소스가 새로운 이상 또는 분석될 필요가 있는 이상을 검출하는 것을 연기시킬 수 있다. 따라서, 필터(250)는 반복 분석을 방지하려고 한다. 예를 들어, 분석기(240)가 제어 메시지(128)가 네트워크 성능에 영향을 미치는 각각의 네트워크 문제(202)에 대응한다고 결정하면, 각각의 네트워크 문제(202) 및/또는 제어 메시지(128)는 책임이 있는 네트워크 엔터티(40)에 보고된다. 여기서, 각각의 네트워크 문제(202)가 보고되었고 책임 있는 네트워크 엔터티(40)에 의해 적절한 시기에 처리될 것이기 때문에 유사한 제어 메시지(128)를 재분석하고 네트워크 엔터티(40)에 보고하는 것은 중복될 것이다. 다른 한편으로, 분석기(240)가 제어 메시지가 네트워크 성능에 영향을 미치지 않는다고 결정하면, 제어 메시지(128)와 연관된 이상은 무해하고, 따라서 수용가능하다. 따라서 후속 유사한 제어 메시지(128)를 재분석하는 것은 무의미하다.
이상 검출기(200)는 일반적으로 2개의 시나리오에서 필터(250)를 적용할 수 있다: (1) 예측 모델(232)에 입력하기 전에 제어 메시지(128)로부터 추출된 피처들(222)에 대해; 또는 (2) 예측 모델(232)을 트레이닝하는데 사용되는 트레이닝 제어 메시지들(226)의 세트(228)에 대해. 일부 예(즉, 제1 시나리오)에서, 이상 검출기(200)는 예측 모델(232)이 트레이닝된 후, 그러나 후속 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)이 후속 잠재적 라벨(234)의 예측 P를 위해 트레이닝된 예측 모델(232)에 입력되기 전에 필터(250)를 적용한다. 여기서, 이상 검출기(200)는 후속 제어 메시지(128)로부터 추출된 하나 이상의 대응하는 피처들(222) 중 적어도 하나가 네트워크 이상(즉, 예측된 잠재적 라벨(234)이 신뢰 임계치(236)을 충족함)을 표시하는 예측된 잠재적 라벨(234)을 가지는 이전 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)과 일치하는지 식별한다. 그 후, 예측 모델(232)을 사용하여 후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234)을 예측하기 전에, 이상 검출기(200)는 필터(250)를 적용하여 후속 제어 메시지(128)로부터 추출된 하나 이상의 대응하는 피처들(222) 중 식별된 적어도 하나를 예측 모델(232)에 대한 피처 입력들로서 사용하는 것으로부터 제거한다. 따라서, 잠재적 라벨(234)에 대한 예측기(230)에서 예측 모델(232)에 의해 출력된 임의의 예측 P는 분석기(240)가 네트워크 이상이 무해하거나 네트워크 성능에 영향을 미쳤다고 판단했는지 여부와 관계없이, 네트워크 이상을 나타내는 예측된 잠재적 라벨(234)을 갖는 이전 제어 메시지(128)로부터 추출된 피처들(222)에 기초하지 않을 것이다. 예를 들어, 도 2c는 후속 제어 메시지(128)에 대한 잠재적 라벨(234)을 예측하기 위해 예측기(230)에 통신되는 3개의 피처들(222) 중 하나를 제거 및/또는 차단하는 회색의 필터(250)를 도시한다.
도 2d에서와 같은 다른 예들(즉, 제2 시나리오)에서, 이상 검출기(200)는 예측 모델(232)을 재트레이닝하여, 네트워크 이상을 나타내는 잠재적 라벨(234)의 예측 P를 갖는 것으로 이전에 식별된 제어 메시지(128)로부터 추출된 임의의 피처들(222)이 트레이닝 제어 메시지들의 세트(228)로부터 제거되도록 한다. 이 접근법은 제어 메시지(128)가 네트워크 성능 문제(202)에 대응하는지 여부에 관계없이도 적용될 수 있다. 예측 모델(232)을 재트레이닝하기 위해, 이상 검출기(200)는 먼저 네트워크 이상을 나타내는 잠재적인 라벨(234)을 갖는 사전 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)을 식별한다. 그 다음, 예측 모델(232)을 사용하여 후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234) P를 예측하기 전에, 이상 검출기(200)는 이전의 제어 메시지(128)로부터 추출된 식별된 하나 이상의 피처들(222) 중 임의의 것과 일치하는 하나 이상의 대응하는 대응 메시지(226)를 포함하는 각각의 트레이닝 제어 메시지(226)를 제거함으로써 트레이닝 제어 메시지들(226)의 세트(228)를 수정한다. 그 후, 이상 검출기(200)는 트레이닝 제어 메시지들(226)의 수정된 세트(228)에 대해 예측 모델(232)을 재트레이닝한다. 예를 들어, 도 2d는 트레이닝 제어 메시지(226)의 재트레이닝 세트(즉, 수정된 세트(228))로부터 3개의 트레이닝 제어 메시지들(226) 중 하나를 제거함으로써 트레이닝 제어 메시지(226)의 세트(228)를 수정하는 필터(250)를 도시한다. 하나 이상의 트레이닝 제어 메시지(226)가 제거되면, 필터(250)는 예측 모델(232)을 트레이닝 제어 메시지(226)의 수정된 세트(228) 중 하나로 재트레이닝한다. 다시 말해서, 예측 모델(232)이 어떤 피처들(222)이 이상을 나타내는지 검출하도록 트레이닝되지 않은 경우, 이상은 후속적으로 검출되지 않고 따라서 무시될 것이다.
추가적으로 또는 대안적으로, 검출된 이상이 각각의 네트워크 성능 문제(202)를 나타내고 네트워크 성능 문제(202)가 후속적으로 해결되었을 때, 이상 검출기(200)는 해결된 네트워크 성능 문제(202)와 관련된 임의의 필터(250)를 제거하도록 구성될 수 있다. 예측 모델(232)이 RNN 모델인 구성에서, 이상 검출기(200)는 필터(250)를 선택적으로 적용할 수 있다. 다시 말해서, 필터(250)는 피처(222)로서 전체 시퀀스를 제거하지 않고, 검출된 이상의 특정한 제어 메시지(들)(128)에 대응하는 피처들(222)의 시퀀스의 일부를 제거할 수 있다. 이점적으로, 필터(250)는 시퀀스를 더 작은 시퀀스들로 분할하기 전에 시퀀스의 이 부분을 제거할 수 있다. 예를 들어, 필터(250)가 짧은 기간에 너무 많은 CreateSessionRequest 메시지가 있는 경우를 식별하면, 이러한 개별 메시지들은 완전히 또는 부분적으로 제거될 수 있다.
도 3는 네트워크 이상을 검출하기 위한 예시적 방법(300)의 블록도를 도시한다. 동작(302)에서, 방법(300)은 셀룰러 네트워크(100)로부터 제어 메시지(128)를 수신한다. 동작(304)에서, 방법(300)은 제어 메시지(128)로부터 하나 이상의 피처들(222)을 추출한다. 동작(306)에서, 방법(300)은 또한 피처 입력으로서 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)을 수신하도록 구성된 예측 모델(232)을 사용하여 제어 메시지에 대한 잠재적 라벨(234)을 예측한다. 예측 모델(232)은 각각의 트레이닝 제어 메시지(225)가 하나 이상의 대응하는 피처들(222) 및 실제 라벨(224)을 포함하는 트레이닝 제어 메시지(226)의 세트에 대해 트레이닝된다. 동작(308)에서, 방법(300)은 잠재적 라벨(234)의 확률(PB)이 신뢰 임계치(236)를 충족하는지 결정한다. 동작(310)에서, 방법(300)은 제어 메시지(128)가 셀룰러 네트워크(100)의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 제어 메시지(128)를 분석한다. 동작(312)에서, 제어 메시지(128)가 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제에 대응하는 경우, 방법(300)은 네트워크 성능 문제(202)를 네트워크 성능 문제(202)에 책임이 있는 네트워크 엔터티(40)에 통신한다.
일부 예에서, 제어 메시지(128)가 각각의 네트워크 성능 문제(202)에 대응하지 않으면, 방법(300)은 셀룰러 네트워크(100)로부터 후속 제어 메시지(128)를 수신하고 후속 제어 메시지(128)로부터 하나 이상의 대응하는 피처들(222)을 추출한다. 이러한 예에서, 방법(300)은 후속 제어 메시지(128)로부터 추출된 하나 이상의 대응하는 피처들(222) 중 적어도 하나가 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)과 일치하는지 식별한다. 여기서, 예측 모델(232)을 사용하여 후속 제어 메시지에 대한 대응하는 잠재적 라벨(234)을 예측하기 전에, 방법(300)은 후속 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222) 중 식별된 적어도 하나를 예측 모델(232)에 대한 피처 입력으로부터 제거한다. 일부 구현예에서, 제어 메시지(128)가 각각의 네트워크 성능 문제(202)에 대응하는지 않으면, 방법(300)은 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)을 식별한다. 여기서, 하나 이상의 피처들(222)을 식별하는 것에 추가하여, 방법(300)은 후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234)을 예측하기 위해 예측 모델(232)을 사용하기 전에, 제어 메시지(128)로부터 추출된 식별된 하나 이상의 피처들(222) 중 임의의 것과 일치하는 대응하는 피처들 중 하나 이상을 포함하는 각 트레이닝 제어 메시지(226)를 제거하고, 트레이닝 제어 메시지들(226)의 수정된 세트(228)로 예측 모델(232)을 재트레이닝함으로써 트레이닝 제어 메시지들(226)의 세트(228)를 수정한다.
도 4는 본 문서에 기술된 시스템(예: 이상 검출기(200)) 및 방법(예: 방법(300))을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스(400)의 개략도이다. 컴퓨팅 디바이스(400)는 랩톱, 데스크톱, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 디바이스(400)는 프로세서(410)(즉, 데이터 프로세싱 하드웨어), 메모리(420)(즉, 메모리 하드웨어), 저장 디바이스(430), 메모리(420) 및 고속 확장 포트(450)에 연결되는 고속 인터페이스/제어기(440) 및 저속 버스(470) 및 저장 디바이스(430)에 연결되는 저속 인터페이스/제어기(460)를 포함한다. 컴포넌트들(410, 420, 430, 440, 450 및 460) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(410)는 메모리(420) 또는 저장 디바이스(430)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(440)에 연결된 디스플레이(480)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(400)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(420)는 컴퓨팅 디바이스(400) 내에 비일시적으로 정보를 저장한다. 메모리(420)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(420)는 컴퓨팅 디바이스(400)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
저장 디바이스(430)는 컴퓨팅 디바이스(400)에 대한 대형 스토리지를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(430)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(420), 저장 디바이스(430) 또는 프로세서(410)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 제어기(440)는 컴퓨팅 디바이스(400)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(460)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예에서, 고속 제어기(440)는 메모리(420), 디스플레이(480)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(450)에 연결된다. 일부 구현예에서, 저속 제어기(460)는 저장 디바이스(430) 및 저속 확장 포트(490)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(490)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(400a)로서 또는 그러한 서버(400a)의 그룹에서 여러 번, 랩톱 컴퓨터(400b)로서 또는 랙 서버 시스템(400c)의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 비일시적 컴퓨터 판독가능 매체, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 "기계 판독가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 또는 터치 스크린과 같은 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들도 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 방법(300)으로서,
    데이터 프로세싱 하드웨어(124)에서, 셀룰러 네트워크(100)로부터 제어 메시지(128)를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 제어 메시지(128)로부터 하나 이상의 피처들(222)을 추출하는 단계;
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 제어 메시지(128)로부터 하나 이상의 추출된 피처들(222)을 피처 입력들로서 수신하도록 구성된 예측 모델(232)을 사용하여 상기 제어 메시지(128)에 대한 잠재적 라벨(234)을 예측하는 단계, 상기 예측 모델(232)은 트레이닝 제어 메시지들(226)의 세트에 대해 트레이닝되며, 각 트레이닝 제어 메시지(226)는 하나 이상의 대응하는 피처들(222) 및 실제 라벨(224)을 포함하며;
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 잠재적 라벨(234)의 확률(P)이 신뢰 임계치(236)를 충족하는지를 결정하는 단계;
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 제어 메시지(128)가 상기 셀룰러 네트워크(100)의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 상기 제어 메시지(128)를 분석하는 단계; 및
    상기 제어 메시지(128)가 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는 경우, 상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 네트워크 성능 문제(202)를 네트워크 성능 문제(202)에 책임이 있는 네트워크 엔터티(40)에게 통신하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 예측 모델(232)을 사용하여 상기 잠재적 라벨(234)을 예측하는 단계는 잠재적 라벨들(234)에 대한 확률 분포(PBdis)를 예측하는 단계를 포함하고, 상기 예측된 잠재적 라벨(234)은 잠재적 라벨들(234)에 대한 확률 분포(PBdis)에서 잠재적 라벨들(234) 중 하나를 포함하는, 방법.
  3. 청구항 2에 있어서, 상기 잠재적 라벨(234)을 예측하는 단계는 상기 잠재적 라벨들(234)에 대한 확률 분포(PBdis)에서 가장 높은 확률(P)과 연관된 상기 잠재적 라벨(234)을 선택하는 단계를 포함하는, 방법.
  4. 청구항 1에 있어서, 상기 제어 메시지(128)가 각각의 네트워크 성능 문제(202)에 대응하지 못하는 경우:
    상기 데이터 프로세싱 하드웨어(124)에서, 상기 셀룰러 네트워크(100)로부터 후속 제어 메시지(128)를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 후속 제어 메시지(128)로부터 하나 이상의 대응하는 피처들(222)을 추출하는 단계;
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 후속 제어 메시지(128)로부터 추출된 하나 이상의 대응하는 피처들(222) 중 적어도 하나가 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)과 일치하는지 식별하는 단계; 및
    상기 후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234)을 예측하기 위해 상기 예측 모델(232)을 사용하기 전에, 상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 후속 제어 메시지(128)로부터 추출된 상기 하나 이상의 대응하는 피처들(222) 중 상기 식별된 적어도 하나의 대응하는 피처를 상기 예측 모델(232)에 대한 피처 입력들로서 사용하는 것으로부터 제거하는 단계를 더 포함하는, 방법.
  5. 청구항 1에 있어서, 상기 제어 메시지(128)가 각각의 네트워크 성능 문제(202)에 대응하지 못하는 경우:
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)을 식별하는 단계; 및
    후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234)을 예측하기 위해 상기 예측 모델(232)을 사용하기 전에:
    상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 제어 메시지(128)로부터 추출된 상기 식별된 하나 이상의 피처들(222) 중 임의의 것과 일치하는 하나 이상의 대응하는 피처들(222)을 포함하는 각 트레이닝 제어 메시지(226)를 제거함으로써 상기 트레이닝 제어 메시지들(226)의 세트를 수정하는 단계; 및
    상기 데이터 프로세싱 하드웨어(124)에 의해, 트레이닝 제어 메시지(226)의 수정된 세트(228)로 상기 예측 모델(232)을 재트레이닝하는 단계를 더 포함하는, 방법.
  6. 청구항 1에 있어서, 상기 예측 모델(232)은 하나 이상의 유형의 라벨들을 예측하도록 구성된 멀티-클래스 분류 모델을 포함하는, 방법.
  7. 청구항 1에 있어서, 각 트레이닝 제어 메시지(226)의 실제 라벨(224)은 상기 트레이닝 제어 메시지(226)와 연관된 사용자 장비(UE) 디바이스(102)에 대한 유형 할당 코드(TAC)를 포함하는, 방법.
  8. 청구항 1에 있어서, 각 트레이닝 제어 메시지(226)의 실제 라벨(224)은 상기 셀룰러 네트워크(100)의 네트워크 엘리먼트에 대한 식별자를 포함하는, 방법.
  9. 청구항 1에 있어서, 상기 셀룰러 네트워크(100)는 일반 패킷 무선 서비스 터널링 프로토콜(GTP-C)에 따라 상기 제어 메시지(128)를 통신하는, 방법.
  10. 청구항 1에 있어서, 상기 셀룰러 네트워크(100)는 다이어미터 프로토콜에 따라 상기 제어 메시지(128)를 통신하는, 방법.
  11. 청구항 1에 있어서, 상기 제어 메시지(128)는 단일 네트워크 세션 동안 상기 셀룰러 네트워크(100)의 사용자에 의해 송신된 복수의 제어 메시지들(128) 중 하나에 대응하는, 방법.
  12. 청구항 1에 있어서, 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)은 메시지 유형이 상기 셀룰러 네트워크(100)의 사용자에 의한 단일 세션 내에서 발생한 횟수를 표현하는 메시지 유형 요약 벡터를 포함하는, 방법.
  13. 청구항 1에 있어서, 상기 피처들(222)은 상기 셀룰러 네트워크(100)의 사용자에 의한 단일 세션과 연관된 기간에 전송된 데이터의 양을 포함하는, 방법.
  14. 청구항 1에 있어서, 상기 예측 모델(232)은 심층 신경 네트워크 또는 순환 신경 네트워크를 포함하는, 방법.
  15. 청구항 1에 있어서, 상기 제어 메시지(128)가 상기 셀룰러 네트워크(100)의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 상기 제어 메시지(128)를 분석하는 단계는, 상기 제어 메시지(128)를 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222) 중 각각의 피처를 공유하는 클러스터로 클러스터링하는 단계를 포함하는, 방법.
  16. 네트워크 게이트웨이 디바이스(100)에 있어서,
    데이터 프로세싱 하드웨어(124); 및
    상기 데이터 프로세싱 하드웨어(124)와 통신하는 메모리 하드웨어(126)를 포함하며, 상기 메모리 하드웨어(126)는 상기 데이터 프로세싱 하드웨어(124)에 의해 실행될 때 상기 데이터 프로세싱 하드웨어(124)로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은:
    셀룰러 네트워크(100)로부터 제어 메시지(128)를 수신하는 동작;
    상기 제어 메시지(128)로부터 하나 이상의 피처들(222)을 추출하는 동작;
    상기 제어 메시지(128)로부터 하나 이상의 추출된 피처들(222)을 피처 입력들로서 수신하도록 구성된 예측 모델(232)을 사용하여 상기 제어 메시지(128)에 대한 잠재적 라벨(234)을 예측하는 동작, 상기 예측 모델(232)은 트레이닝 제어 메시지들(226)의 세트에 대해 트레이닝되며, 각 트레이닝 제어 메시지(226)는 하나 이상의 대응하는 피처들(222) 및 실제 라벨(224)을 포함하며;
    상기 잠재적 라벨(234)의 확률(P)이 신뢰 임계치(236)를 충족하는지를 결정하는 동작;
    상기 제어 메시지(128)가 상기 셀룰러 네트워크(100)의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 상기 제어 메시지(128)를 분석하는 동작; 및
    상기 제어 메시지(128)가 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는 경우, 상기 데이터 프로세싱 하드웨어(124)에 의해, 상기 네트워크 성능 문제(202)를 네트워크 성능 문제(202)에 책임이 있는 네트워크 엔터티(40)에게 통신하는 동작을 포함하는, 네트워크 게이트웨이 디바이스.
  17. 청구항 16에 있어서, 상기 예측 모델(232)을 사용하여 상기 잠재적 라벨(234)을 예측하는 동작은 잠재적 라벨들(234)에 대한 확률 분포(PBdis)를 예측하는 동작을 포함하고, 상기 예측된 잠재적 라벨(234)은 잠재적 라벨들(234)에 대한 확률 분포(PBdis)에서 잠재적 라벨들(234) 중 하나를 포함하는, 네트워크 게이트웨이 디바이스.
  18. 청구항 17에 있어서, 상기 잠재적 라벨(234)을 예측하는 동작은 상기 잠재적 라벨들(234)에 대한 확률 분포(PBdis)에서 가장 높은 확률(P)과 연관된 상기 잠재적 라벨(234)을 선택하는 동작을 포함하는, 네트워크 게이트웨이 디바이스.
  19. 청구항 16에 있어서, 상기 제어 메시지(128)가 각각의 네트워크 성능 문제(202)에 대응하지 못하는 경우:
    상기 셀룰러 네트워크(100)로부터 후속 제어 메시지(128)를 수신하는 동작;
    상기 후속 제어 메시지(128)로부터 하나 이상의 대응하는 피처들(222)을 추출하는 동작;
    상기 후속 제어 메시지(128)로부터 추출된 하나 이상의 대응하는 피처들(222) 중 적어도 하나가 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)과 일치하는지 식별하는 동작; 및
    상기 후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234)을 예측하기 위해 상기 예측 모델(232)을 사용하기 전에, 상기 후속 제어 메시지(128)로부터 추출된 상기 하나 이상의 대응하는 피처들(222) 중 상기 식별된 적어도 하나의 대응하는 피처를 상기 예측 모델(232)에 대한 피처 입력들로서 사용하는 것으로부터 제거하는 동작을 더 포함하는, 네트워크 게이트웨이 디바이스.
  20. 청구항 16에 있어서, 상기 제어 메시지(128)가 각각의 네트워크 성능 문제(202)에 대응하지 못하는 경우:
    상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)을 식별하는 동작; 및
    후속 제어 메시지(128)에 대한 대응하는 잠재적 라벨(234)을 예측하기 위해 상기 예측 모델(232)을 사용하기 전에:
    상기 제어 메시지(128)로부터 추출된 상기 식별된 하나 이상의 피처들(222) 중 임의의 것과 일치하는 하나 이상의 대응하는 피처들(222)을 포함하는 각 트레이닝 제어 메시지(226)를 제거함으로써 상기 트레이닝 제어 메시지들(226)의 세트를 수정하는 동작; 및
    트레이닝 제어 메시지(226)의 수정된 세트(228)로 상기 예측 모델(232)을 재트레이닝하는 동작을 더 포함하는, 네트워크 게이트웨이 디바이스.
  21. 청구항 16에 있어서, 상기 예측 모델(232)은 하나 이상의 유형의 라벨들을 예측하도록 구성된 멀티-클래스 분류 모델을 포함하는, 네트워크 게이트웨이 디바이스.
  22. 청구항 16에 있어서, 각 트레이닝 제어 메시지(226)의 실제 라벨(224)은 상기 트레이닝 제어 메시지(226)와 연관된 사용자 장비(UE) 디바이스(102)에 대한 유형 할당 코드(TAC)를 포함하는, 네트워크 게이트웨이 디바이스.
  23. 청구항 16에 있어서, 각 트레이닝 제어 메시지(226)의 실제 라벨(224)은 상기 셀룰러 네트워크(100)의 네트워크 엘리먼트에 대한 식별자를 포함하는, 네트워크 게이트웨이 디바이스.
  24. 청구항 16에 있어서, 상기 셀룰러 네트워크(100)는 일반 패킷 무선 서비스 터널링 프로토콜(GTP-C)에 따라 상기 제어 메시지(128)를 통신하는, 네트워크 게이트웨이 디바이스.
  25. 청구항 16에 있어서, 상기 셀룰러 네트워크(100)는 다이어미터 프로토콜에 따라 상기 제어 메시지(128)를 통신하는, 네트워크 게이트웨이 디바이스.
  26. 청구항 16에 있어서, 상기 제어 메시지(128)는 단일 네트워크 세션 동안 상기 셀룰러 네트워크(100)의 사용자에 의해 송신된 복수의 제어 메시지들(128) 중 하나에 대응하는, 네트워크 게이트웨이 디바이스.
  27. 청구항 16에 있어서, 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222)은 메시지 유형이 상기 셀룰러 네트워크(100)의 사용자에 의한 단일 세션 내에서 발생한 횟수를 표현하는 메시지 유형 요약 벡터를 포함하는, 네트워크 게이트웨이 디바이스.
  28. 청구항 16에 있어서, 상기 피처들(222)은 상기 셀룰러 네트워크(100)의 사용자에 의한 단일 세션과 연관된 기간에 전송된 데이터의 양을 포함하는, 네트워크 게이트웨이 디바이스.
  29. 청구항 16에 있어서, 상기 예측 모델(232)은 심층 신경 네트워크 또는 순환 신경 네트워크를 포함하는, 네트워크 게이트웨이 디바이스.
  30. 청구항 16에 있어서, 상기 제어 메시지(128)가 상기 셀룰러 네트워크(100)의 네트워크 성능에 영향을 미치는 각각의 네트워크 성능 문제(202)에 대응하는지 여부를 결정하기 위해 상기 제어 메시지(128)를 분석하는 동작은, 상기 제어 메시지(128)를 상기 제어 메시지(128)로부터 추출된 하나 이상의 피처들(222) 중 각각의 피처를 공유하는 클러스터로 클러스터링하는 동작을 포함하는, 네트워크 게이트웨이 디바이스.
KR1020217039075A 2019-04-29 2019-11-22 네트워크 이상 검출 KR102626273B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/397,082 2019-04-29
US16/397,082 US10891546B2 (en) 2019-04-29 2019-04-29 Network anomaly detection
PCT/US2019/062763 WO2020222872A1 (en) 2019-04-29 2019-11-22 Network anomaly detection

Publications (2)

Publication Number Publication Date
KR20220002602A KR20220002602A (ko) 2022-01-06
KR102626273B1 true KR102626273B1 (ko) 2024-01-17

Family

ID=68887153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217039075A KR102626273B1 (ko) 2019-04-29 2019-11-22 네트워크 이상 검출

Country Status (6)

Country Link
US (4) US10891546B2 (ko)
EP (2) EP3954099B1 (ko)
JP (1) JP7344314B2 (ko)
KR (1) KR102626273B1 (ko)
CN (2) CN116455787A (ko)
WO (1) WO2020222872A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958585B2 (en) 2018-12-31 2021-03-23 Juniper Networks, Inc. Methods and apparatus for facilitating fault detection and/or predictive fault detection
US11930484B2 (en) 2019-03-26 2024-03-12 Charter Communications Operating, Llc Methods and apparatus for system information management in a wireless system
US10891546B2 (en) 2019-04-29 2021-01-12 Google Llc Network anomaly detection
US11138059B2 (en) 2019-09-25 2021-10-05 Juniper Networks, Inc. Log analysis in vector space
WO2021137182A1 (en) * 2019-12-31 2021-07-08 Edgehawk Security Ltd. Techniques for disaggregated detection and mitigation of distributed denial-of-service attacks
US11412406B2 (en) 2020-02-13 2022-08-09 Charter Communications Operating, Llc Apparatus and methods for user device buffer management in wireless networks
US11564155B2 (en) * 2020-04-07 2023-01-24 Charter Communications Operating, Llc Apparatus and methods for interworking in wireless networks
US11057865B1 (en) 2020-05-20 2021-07-06 Charter Communications Operating, Llc Apparatus and methods for enhanced paging in wireless networks
EP4006760B1 (en) * 2020-09-29 2023-06-28 Rakuten Group, Inc. Anomaly determination system, anomaly determination method, and program
US11765188B2 (en) * 2020-12-28 2023-09-19 Mellanox Technologies, Ltd. Real-time detection of network attacks
GB2610562A (en) * 2021-09-08 2023-03-15 British Telecomm Anomalous activity mitigation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320816A1 (en) 2009-03-13 2011-12-29 Rutgers, The State University Of New Jersey Systems and method for malware detection
US20160065444A1 (en) 2014-08-26 2016-03-03 Arbor Networks, Inc. Anomaly detection based on combinations of cause value, message type, response time (gtp-c)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836536B2 (en) 2002-06-17 2004-12-28 Hobbes Huang Clamp device integrating test device for telephone and network cables
US8131107B2 (en) * 2008-05-12 2012-03-06 General Electric Company Method and system for identifying defects in NDT image data
JP2010056682A (ja) * 2008-08-26 2010-03-11 National Institute Of Information & Communication Technology 電子メール受信装置及び電子メール受信方法、電子メール送信装置及び電子メール送信方法、メール送信サーバ
WO2010076832A1 (en) 2008-12-31 2010-07-08 Telecom Italia S.P.A. Anomaly detection for packet-based networks
US8836536B2 (en) 2011-07-29 2014-09-16 Hewlett-Packard Development Company, L. P. Device characterization system and methods
US9087303B2 (en) * 2012-02-19 2015-07-21 International Business Machines Corporation Classification reliability prediction
US9319911B2 (en) 2013-08-30 2016-04-19 International Business Machines Corporation Adaptive monitoring for cellular networks
US9690933B1 (en) * 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
WO2016108963A1 (en) * 2014-12-30 2016-07-07 Battelle Memorial Institute Temporal anomaly detection on automotive networks
US10713594B2 (en) * 2015-03-20 2020-07-14 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism
EP3326330B1 (en) * 2015-07-22 2021-10-20 Dynamic Network Services, Inc. Methods, systems, and apparatus to generate information transmission performance alerts
US10220167B2 (en) * 2016-03-24 2019-03-05 Cisco Technology, Inc. Mechanisms to prevent anomaly detectors from learning anomalous patterns
US20170279685A1 (en) * 2016-03-25 2017-09-28 Cisco Technology, Inc. Adjusting anomaly detection operations based on network resources
AU2017283549A1 (en) * 2016-06-13 2019-01-24 Xevo Inc. Method and system for providing behavior of vehicle operator using virtuous cycle
US10193915B2 (en) 2016-09-30 2019-01-29 Oath Inc. Computerized system and method for automatically determining malicious IP clusters using network activity data
CN109194616B (zh) * 2018-08-01 2020-03-10 北京科技大学 一种针对变频矢量控制装置的工业信息安全防护系统
CN108965340B (zh) * 2018-09-25 2020-05-05 网御安全技术(深圳)有限公司 一种工业控制系统入侵检测方法及系统
US10891546B2 (en) * 2019-04-29 2021-01-12 Google Llc Network anomaly detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320816A1 (en) 2009-03-13 2011-12-29 Rutgers, The State University Of New Jersey Systems and method for malware detection
US20160065444A1 (en) 2014-08-26 2016-03-03 Arbor Networks, Inc. Anomaly detection based on combinations of cause value, message type, response time (gtp-c)

Also Published As

Publication number Publication date
US10891546B2 (en) 2021-01-12
JP2022530166A (ja) 2022-06-27
US11861453B2 (en) 2024-01-02
KR20220002602A (ko) 2022-01-06
US11507837B2 (en) 2022-11-22
CN116455787A (zh) 2023-07-18
US20210133574A1 (en) 2021-05-06
EP3954099B1 (en) 2024-01-10
WO2020222872A1 (en) 2020-11-05
EP4236240A2 (en) 2023-08-30
EP4236240A3 (en) 2023-10-04
CN113748656B (zh) 2023-04-21
US20230054625A1 (en) 2023-02-23
JP7344314B2 (ja) 2023-09-13
US20240127055A1 (en) 2024-04-18
EP3954099A1 (en) 2022-02-16
CN113748656A (zh) 2021-12-03
US20200342311A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
KR102626273B1 (ko) 네트워크 이상 검출
US11683716B2 (en) Communication apparatus, system, method, allocation apparatus, and non-transitory recording medium
US11582589B2 (en) Wireless network policy manager for a service mesh
US9071998B2 (en) Optimizing performance information collection
US20180198812A1 (en) Context-Based Detection of Anomalous Behavior in Network Traffic Patterns
US20210185071A1 (en) Providing security through characterizing mobile traffic by domain names
US11394618B2 (en) Systems and methods for validation of virtualized network functions
KR20130125389A (ko) 네트워크 분석을 위한 방법 및 장치
US11234161B2 (en) Method and system for network slice usage service
US11784877B2 (en) Systems and methods to control operation of virtualized networks
US20230007038A1 (en) Systems and methods for automated quantitative risk and threat calculation and remediation
US11700568B2 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core
CN112788661A (zh) 网络数据的处理方法、网元及系统
CN115462118A (zh) 移动网络中的负载平衡和服务选择
US10757538B1 (en) Location-based enterprise policy application within a mobile network
US11917533B2 (en) Method and system for network slice usage subscription
US20200177512A1 (en) Network architecture with control plane node
US20240146750A1 (en) Multifaceted detection of fraudulent data usage

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right