KR20220123083A - 모바일 네트워크의 실시간 모니터링 및 최적화를 위한 시스템 및 방법 - Google Patents

모바일 네트워크의 실시간 모니터링 및 최적화를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220123083A
KR20220123083A KR1020227026423A KR20227026423A KR20220123083A KR 20220123083 A KR20220123083 A KR 20220123083A KR 1020227026423 A KR1020227026423 A KR 1020227026423A KR 20227026423 A KR20227026423 A KR 20227026423A KR 20220123083 A KR20220123083 A KR 20220123083A
Authority
KR
South Korea
Prior art keywords
network
data
congestion
cell
information
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020227026423A
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 오팡가 네트웍스, 인크.
Publication of KR20220123083A publication Critical patent/KR20220123083A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/37Slow start
    • 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/12Discovery or management of network topologies
    • 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/0852Delays
    • 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
    • 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/0888Throughput
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/084Load balancing or load distribution among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

네트워크의 일부에 대한 크라우드 소싱 실시간 정보(Crowd-sourced real-time information)를 사용하여 네트워크를 모니터링하고 최적화할 수 있다. 상기 실시간 정보는, 네트워크에서 데이터 세션을 모니터링하고 상기 데이터 세션의 IP 주소를 셀 식별자(cell identifiers)에 매핑하는 매핑 정보를 사용하는 방식으로 생성되는, 무선 네트워크의 셀과 같은 공유 채널에 대한 정보를 포함할 수 있다. 상기 네트워크 혼잡을 관리하기 위한 프로세스는, 상기 실시간 정보를 사용하여 셀에 대한 혼잡 프로파일을 생성 및/또는 업데이트할 수 있고, 상기 혼잡 프로파일은 혼잡 제어 알고리즘의 파라미터를 선택 및 설정하는 데 사용될 수 있다. 상기 실시간 정보는 각각의 셀에 대한 모니터링 레벨, 각 셀에서 비디오 스트림의 성능, 셀이 성능 이상을 경험하고 있다는 것, 또는 이들의 조합을 실시간으로 결정하는 데 사용될 수 있다. 크라우드 소싱 실시간 정보는 미세한 시간 단위(예: 매 초)로 제공될 수 있다.

Description

모바일 네트워크의 실시간 모니터링 및 최적화를 위한 시스템 및 방법
관련 출원에 대한 상호 참조
[0001] 본 출원은 2019년 12월 31일에 출원된 미국 가출원번호 62/956,104, 2019년 12월 31일에 출원된 미국 가출원번호 62/956,135, 및 2019년 12월 31일에 출원된 미국 가출원번호 62/956,138의 우선권 이익을 주장하며, 이들 각각은 모든 목적을 위해 그 전체가 본 명세서에 인용형식으로 병합된다.
[0002] 데이터 전송 프로토콜은 전송 측정(예: 데이터 손실, 레이턴시, 쓰루풋)을 기반으로 데이터 패킷 전송 레이트(rate)를 증가 또는 감소시키는 프로토콜 스택에 공정한 배분(fair-share) 콤퍼넌트를 구현할 수 있다. 공정 배분(fair-share) 구현은 전송 프로토콜(예: TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등) 간에 다를 수 있지만 목표는 실질적으로 동일하며 이하와 같다: 각 공유 데이터 전송 환경(shared data transport environment)에서 동일한 액세스 권한을 부여하는 목표. 예를 들어, 10Mbps 전송 환경과 5개의 고유한 데이터 전송 연결(data transport connections)이 있는 경우 공정 배분(fair-share) 콤퍼넌트는 각 데이터 전송 세션에 ~2Mbps를 제공하여 공정한 네트워크 환경을 제공한다.
[0003] TCP는 원래 인터넷 프로토콜 중 하나로 개발되었다. TCP와 함께 사용되는 혼잡 제어 알고리즘(Congestion control algorithms)을 사용하면 연결(connection)이 채널 용량(channel capacity)을 탐지(probe)하고 다른 연결에 "충돌"할 때 이를 검색할 수 있다. 그 다음 상기 연결은 수신기에 대한 단일의 RTT(round-trip time) 동안(수신기의 "혼잡 윈도우" 동안) 전송된 데이터를 수신기에 얼마나 보낼 수 있는 지를 지속적으로 적응(adapt)하여 다른 연결을 압도하지 않고 진정한 공정한 배분를 이룰 수 있다.
[0004] 도 13은 TCP 혼잡 제어 알고리즘의 느린 시작 단계(slow start stage) 및 혼잡 회피 단계(congestion avoidance stage)를 도시한다. 그래프는 인터넷과 같은 일반적인 유선 WAN 연결에서 알고리즘의 동작을 반영한다. 여기서 "유선(wired)"은 광섬유 및/또는 점-대-점 무선, 또는 실제 전선 뿐만 아니라 광학 링크를 포함할 수 있다.
[0005] TCP 혼잡 제어 알고리즘은 느린 시작 단계(slow start stage) - 이 단계에서 초기에 작은 혼잡 윈도우는 패킷이 손실될 때까지(즉, 패킷에 대한 ACK(acknowledgement)가 적시에 수신되지 않을 때까지) RTT 마다 두 배 씩 지수적으로 증가함 - 에서 동작을 시작한다. 이는 패킷 손실이 네트워크의 혼잡(congestion)으로 인한 것이라는 가정에 기반한다.
[0006] 상기 TCP 혼잡 제어 알고리즘은, 상기 느린 시작 단계에서 패킷 손실이 검출되면, 혼잡 회피 단계(congestion avoidance stage)로 전환한다. 혼잡 회피 단계 동안, 상기 혼잡 윈도우 크기는 패킷 손실이 검출될 때까지 선형적으로(예를 들어, 각 RTT마다 1 MSS만큼) 증가한다. 패킷 손실에 대한 응답으로, 상기 혼잡 윈도우 크기는 0.5와 같이 1보다 작은 값을 곱하여 줄인다. 상기 혼잡 윈도우 크기가 감소한 후, 패킷 손실이 다시 검출될 때까지 RTT마다 선형적으로 증가하며 이 시점에서 다시 곱셈 감소가 수행된다.
[0007] RAN(Radio Access Network)과 유선 WAN(예: 인터넷)은 도 13에 도시된 것과 유사한 동작을 갖는 표준 데이터 전송 프로토콜에 문제가 되는 근본적인 차이점이 있다. 예를 들어, 상기 RAN은 일반적으로 RTT (round trip time) 측정(예: 60-500ms)에서 더 큰 변동성을 갖는 더 높은 레이턴시 네트워크인 반면, 인터넷은 더 일관되고 일반적으로 더 낮은 RTT 측정치(예: 40-60ms)를 제공한다. RAN을 사용하는 데이터 전송이 존재하는 조건은 매우 가변적이며 결국에는 공유 네트워크 "공정 배분(fair-share)" 정책에 영향을 미치지 않는 변수를 기반으로 데이터 전송 세션이 데이터 전송 레이트(rate)를 지속적으로 조정할 수 있다. 예를 들어, RTT는 위에서 설명한, 네트워크의 한 부분이 설계상 높고 가변적인 레이턴시 네트워크인, 시나리오에서 공유 데이터 전송 네트워크의 혼잡을 측정하는 좋지 않은 방법이다.
[0008] 일부 혼잡 제어 프로세스는 패킷을 삭제하여 혼잡의 존재를 알릴 수 있다. 그러나 RAN과 같은 네트워크에서는 일시적인 간섭 등 다양한 이유로 패킷이 드롭(drop)될 수 있다. 일시적인 간섭으로 인해 패킷이 드롭되는 것을 혼잡으로 잘못 해석하면 RAN 용량을 충분히 활용하지 못하고 데이터 전송 성능이 저하될 수 있다.
[0009] 따라서 종래의 TCP 혼잡 제어 알고리즘은 RAN에 적합하지 않다. 첫째, 해당 알고리즘은 유선 네트워크보다 RAN에서 훨씬 더 높을 수 있는 RTT에 민감하다. 둘째, 해당 알고리즘은 손실된 모든 패킷이 네트워크 혼잡의 결과라고 가정하지만 RAN의 경우에는 그렇지 않다. 이 두 가지 요인으로 인해 해당 알고리즘은 혼잡을 방지하고 시간이 지남에 따라 성능이 더 크게 변하는 것을 방지하는 데 필요한 것보다 더 낮은 평균 쓰루풋을 제공한다.
[0010] 또한 이러한 TCP 혼잡 제어 알고리즘은 전송이 수행되는 채널의 다른 사용자에 대한 정보나 해당 채널의 상태를 사용하지 않는다. 따라서 이 알고리즘은, 채널 상태 및 점유에 관계없이 각 연결에 대해 동일한 초기 혼잡 윈도우 값을 사용하여, 연결이 설정될 때마다 "처음부터" 공정한 배분(fair share)을 학습하게 하므로, 결과적으로 "느린 시작" 시간이 길어지고 평균 쓰루풋은 낮아진다.
[0011] 모바일 네트워크는, 표준 개방형 통신 인터페이스에서 작동하는 동안, 독점(공급업체별) 정보 데이터베이스를 유지 관리하고 폐쇄형 시스템을 효과적으로 형성하는 다양한 콤퍼넌트로 구성된다. 네트워크 옵티마이저와 같은 외부 콤퍼넌트는 실시간 네트워크 상태(예: 쓰루풋, 사용자 수 등)에 대한 전체적 조망이 불가능하며 해당 콤퍼넌트에서 제공하는 제한된 정보에 의존해야 한다. 제한된 정보가 제공되는 것은 긴 간격(예: 평균 1시간)에 대해서만 수행된다. 모바일 네트워크의 변동성이 매우 높기 때문에 1시간 평균은 옵티마이저가 의미 있는 조치를 취할 수 있는 적절한 시기적절한 정보를 제공하지 못할 수 있다.
[0012] 본 명세서에서 사용되는 바와 같이, "혼잡 정책(congestion policy)"이라는 용어는 처리할 수 있는 것보다 더 많은 데이터를 운반할 때 네트워크 노드 또는 링크의 서비스 품질 저하를 방지하거나 완화하기 위해 적용되는 알고리즘이다. 일 실시예에서, 상기 혼잡 정책은 전송 계층(transport layer)에 의해 네트워크에 배치되는 트래픽을 제어함으로써 송신자가 네트워크를 압도하는 것을 방지하는 혼잡 제어 알고리즘을 지칭한다. 다른 실시예에서, 상기 혼잡 정책은 또한 송신기가 수신기를 압도하는 것을 방지하는 플로우 제어 알고리즘(flow control algorithms)을 포함할 수 있다.
[0013] 관련 기술의 모바일 네트워크 분석 시스템(Mobile network analytics systems)은 "무선 인식(radio aware)"이 아니므로, 더 나은 네트워크 계획/관리에 필요한 KPI(Key Performance Indicators; 핵심 성과 지시자)를 무선 액세스 네트워크(RAN) 운영자에게 제공하지 않는다. 결과적으로 RAN 운영자는 무선 공급업체 시스템에서 보고하는 장기 평균 KPI)에 전적으로 의존할 수 있다.
[0014] RAN 및 하이브리드 RAN/WAN 네트워크의 특성에 맞는 혼잡 정책이 필요하다. 또한, 인터넷과 같은 WAN과 비교하여 RAN에서 사용할 수 있는 추가 정보를 활용하여 네트워크 상태의 실시간 변화에 적응하는 혼잡 정책을 갖는 것이 유리할 것이다.
[0015] 또한 최적화 프로그램은 지역 또는 공유 채널에 대한 실시간 상태 정보가 없기 때문에 다른 지역 또는 공유 채널(예: 셀) 내에서 취해야 할 조치에 대한 통찰력이 부족하다.
[0016] RAN의 모니터링 및 관리를 개선하기 위해 데이터 세션과 네트워크 위치 간의 발견된 관계를 활용할 필요가 있다.
[0017] 실시예들은 실시간 네트워크 토폴로지 정보를 이용한 네트워크 최적화에 관한 것이다. 일 실시예에서, 네트워크 토폴로지 정보는 예를 들어, 미국특허출원번호 16/363,749( 발명의명칭: 가상화된 네트워킹 환경에서의 조정 데이터 공유)에서 획득될 수 있다. 최종 사용자의 네트워크 토폴로지에 대한 실시간 지식은 네트워크 최적화에 효과적으로 사용될 수 있다.
[0018] 일 실시예에서, 네트워크 토폴로지 정보(채널 혼잡 프로파일이거나 이를 포함할 수 있음)는, 공유 네트워크 채널(예를 들어, 셀 또는 eNodeB) 상의 가입자(가입된 다바이스)로부터의 크라우드 소싱 정보(가입자 쓰루풋, 가입자 레이턴시, 전송 계층 혼잡 파라미터 및 애플리케이션 계층 혼잡 파라미터를 포함하지만 이에 제한되지 않음)의 집합 또는 하위 집합이며, RAN 파라미터(QCI(QoS Class Identifier) 등), 유효성 지시자 및 이 정보에서 파생된 메트릭을 포함할 수 있다.
[0019] 일 실시예에서, 상기 네트워크 토폴로지 정보는 외부 및 내부 소스로부터의 크라우드 소싱 데이터(crowd-sourced data)를 사용하여 획득될 수 있고 최적화 설정(optimization settings)을 적응적으로 구동하는 데 사용될 수 있다. 예를 들어, 상기 네트워크 토폴로지 정보를 기반으로, TCP 최적화는 혼잡 윈도우 알고리즘의 느린 시작 단계(slow start stage)를 단축하거나 건너뛸 수 있으며, 초기 혼잡 윈도우(initial congestion window)를 혼잡 회피 단계(congestion avoidance stage)에 해당하는 크기로 설정할 수 있고, 혼잡 윈도우에 관련된 톱니바퀴(saw-tooth) 프로세스를 줄일 수 있고, 최소한의 시간에 공유 채널의 사용자 사이에서 최적의 공정 배분 대역폭(fair-share bandwidth)에 도달할 수 있다.
[0020] 개시된 실시예의 목적은 실시간 추적 정보(real-time tracking information)를 사용하여 모바일 통신 네트워크의 모니터링 및 관리를 개선하는 것이며, 여기서 실시간 추적 정보는, 데이터 세션을 측정하고, 데이터 세션의 엔드포인트가 각각 상주하는 네트워크 위치 식별자(예를 들어, RAN 상에서 셀 식별자)를 결정하고, 상기 데이터 세션의 측정 값을 각각의 네트워크 위치 식별자와 연관(associating)시키는 방식으로 생성된다.
[0021] 개시된 실시예의 다른 목적은, 하나 이상의 데이터 세션 및 연관된 네트워크 위치 식별자(예를 들어, 셀의 식별자)로부터의 데이터 세션 분석을 포함하는 네트워크 토폴로지 정보를 실시간으로 사용하여 네트워크의 현재 상태에 관련된 크라우드 소싱 정보를 생성하는 데 있으며, 여기서 네트워크 위치 식별자는 하나 이상의 데이터 세션의 엔드포인트의 네트워크 위치를 결정하기 위해 네트워크 위치 매핑 정보에 대한 IP 주소를 사용하여 결정된다. 생성된 크라우드 소싱 정보는, 네트워크 내의 셀에 대한 실시간 크라우드 소싱 프로파일 및 네트워크에 대한 실시간 모니터링 통계를 포함할 수 있다. 실시간 크라우드 소스 프로파일을 사용하여 네트워크의 효율성을 개선할 수 있다. 예를 들어, 상기 실시간 크라우드 소스 프로파일은 혼잡 제어 알고리즘을 현재 네트워크 조건에 자동으로 조정하는 데 사용될 수 있다. 실시간 모니터링 통계는 증가된 조사를 위해 셀을 식별하는 데 사용될 수 있다. 예를 들어, 셀에 문제가 있는 행동의 가능성이 증가했음을 자동으로 검출하고 이에 대한 응답으로 셀의 모니터링을 증가시킨다.
[0022] 도 1은 일 실시예에 따른 통신 네트워크를 도시한다.
[0023] 도 2는 일부 실시예에 관련된 통신 프로토콜 스택을 도시한다.
[0024] 도 3은 일 실시예에 따른 통신 네트워크에서의 데이터 전송을 도시한다.
[0025] 도 4는 일 실시예에 따른 전송 최적화 시스템의 동작을 도시한다.
[0026] 도 5는 일 실시예에 따른 컴퓨터 시스템을 도시한다.
[0027] 도 6은 일 실시예에 따른 전송 최적화를 위해 혼잡 정보를 이용하는 과정을 도시한다.
[0028] 도 7은 다른 실시예에 따른 전송 최적화를 위해 혼잡 정보를 이용하는 과정을 도시한다.
[0029] 도 8은 일 실시예에 따른 새로운 연결의 초기 혼잡 관련 속성을 결정하는 과정을 도시한다 .
[0030] 도 9a는 일 실시예에 따른 혼잡 프로파일 데이터 획득을 위한 프로세스를 예시한다.
[0031] 도 9b는 일 실시예에 따른, 플로우 측정을 수행하기 위한 프로세스를 예시한다.
[0032] 도 9c는 일 실시예에 따른 혼잡 프로파일 데이터 샘플 적격성을 결정하기 위한 프로세스를 예시한다.
[0033] 도 10은 일 실시예에 따른 혼잡 프로파일 관련 크라우드 소싱 데이터를 이용하여 결정된 결과의 데이터 유효성을 결정하는 과정을 도시한다.
[0034] 도 11은 일 실시예에 따른, 셀 식별자에 대응하는 크라우드 소스 데이터를 획득하기 위한 프로세스를 도시한다.
[0035] 도 12는 일 실시예에 따른 새로운 연결을 위한 초기 혼잡 윈도우 알고리즘 및 초기 혼잡 윈도우를 결정하는 과정을 도시한다.
[0036] 도 13은 TCP 혼잡 제어 알고리즘의 느린 시작 단계 및 혼잡 회피 단계를 도시한다.
[0037] 도 14는 일 실시예에 따른 통신 네트워크를 도시한다.
[0038] 도 15는 일 실시예에 따른 데이터 플로우를 도시한다.
[0039] 도 16은 일 실시예에 따른 4세대(4G) LTE(Long Term Evolution) 무선 네트워크를 도시한다.
[0040] 도 17은 일 실시예에 따른 5G(5th Generation) 무선 네트워크를 도시한다.
[0041] 도 18은 일 실시예에 따른, 공유 채널에 대한 크라우드 소싱 프로파일을 생성 및/또는 업데이트하는 프로세스를 예시한다 .
[0042] 도 19는 일 실시예에 따른 모니터링 통계를 생성 및/또는 업데이트하기 위한 프로세스를 도시한다.
[0043] 도 20은 일 실시예에 따른 통신 네트워크를 도시한다.
[0044] 도 21은 일 실시예에 따른 모니터링 시스템의 데이터 플로우를 도시한다 .
[0045] 도 22는 일 실시예에 따른 비디오를 포함하는 데이터 플로우를 모니터링하기 위한 프로세스를 예시한다 .
[0046] 도 23은 일 실시예에 따른 네트워크를 모니터링하기 위한 프로세스를 도시한다 .
[0047] 도 24는 일 실시예에 따른 통신 네트워크를 도시한다.
[0048] 실시예는 사용자 장비(UE)의 새로운 TCP 데이터 세션에 대한 ICWA(Initial Congestion Window Algorithm; 초기 혼잡 윈도우 알고리즘)를 결정하고 상기 ICWA에 대한 파라미터를 설정하기 위해, 네트워크의 현재 상태에 대한 크라우드 소싱 정보(crowd-sourced information)를 사용한다. 예를 들어, 현재 조건에 응답하여 본 실시예는, 무엇보다도, 일반적인 ICWA의 "느린 시작" 단계를 건너뛰는 ICWA를 사용하고, UE에 대해 더 큰 ICW(Initial Congestion Window; 초기 혼잡 윈도우)를 설정하고, UE의 광고(advertised)된 수신 윈도우를 확대하고, 상기 느린 시작 단계에서 혼잡 회피 단계(congestion avoidance stage)로 변경하기 위한 다른 임계값을 설정하고, 동적으로 혼잡 윈도우의 성장률을 변경하고, 또는 상술한 동작의 조합을 수행할 수 있다.
[0049] 본 개시의 실시예는 데이터 세션으로도 지칭될 수 있는 데이터 전송 세션(data transport sessions)을 가속 또는 감속하는 것에 관한 것이다. 예를 들어, 네트워크에서 새로운 데이터 전송 세션이 생성되고 네트워크 상태에 대한 정보가 네트워크가 용량 미만으로 잘 작동하고 있음을 나타내는 경우, 데이터 전송은 일반적인 초기 혼잡 윈도우보다 더 큰 윈도우를 사용하고, 초기에 혼잡 윈도우의 크기를 관리하는 데 지나치게 많이 사용되는 "느린 시작" 알고리즘을 건너 뛰면서 "혼잡 회피(congestion avoidance)" 알고리즘에 따라 혼잡 윈도우의 크기 관리를 시작할 수 있다. 네트워크 상태에 관한 정보는 특히 네트워크에 의해 운반되는 데이터 전송 세션으로부터 유도된 "크라우드 소싱(crowd sourced)" 정보 를 사용하여 결정될 수 있으며 , 이 데이터 전송 세션은 네트워크의 특정 부분(예를 들어, 특정 셀)에 매핑될 수 있다.
[0050] 일 실시예에서, 상기 네트워크 토폴로지 정보는 네트워크 최적화 시스템에 의해 관리되는 네트워크에서 각각의 공유 채널(예를 들어, 분기 경로(divergent path) 또는 셀 채널)에 대한 초기 혼잡 윈도우를 동적으로 설정하기 위해 사용된다. 상기 네트워크 토폴로지 정보는 주어진 공유 채널의 사용자 수, 활성 사용자 수, 공유 채널의 크기, 공유 채널 유형(예: 3G, 4G 등) 및 공유 채널과 관련된 기타 정보를 포함할 수 있다. 여기서, 사용자는 휴대폰과 같은 UE(User Equipment)에 해당할 수 있다.
[0051] 예를 들어, 새로운 사용자가 공유 채널에 연결하고 해당 사용자가 상기 네트워크 토폴로지 정보를 기반으로 현재 활성인 유일한 사용자로 결정되면, 해당 사용자에 대한 초기 혼잡 윈도우는 전체 대역폭을 완전히 활용하도록 설정될 수 있고, 이에 따라 혼잡 제어 알고리즘의 느린 시작 단계를 완전히 건너뛸 수 있다. 시간적으로 다른 순간에, 상기 초기 혼잡 윈도우는 다른 순간을 위한 개별적인 현재 네트워크 토폴로지 정보를 기반으로 상기 공유 채널에 연결하는 사용자에 대해 다르게 설정될 수 있다.
[0052] 또한, 공유 채널(즉, 셀)에 접속하는 사용자가 많은 경우, 크라우드 소싱 데이터 기반의 상기 네트워크 토폴로지 정보를 이용하여 상기 공유 채널의 신규 사용자에 대한 초기 혼잡 윈도우를 설정할 수 있다. 즉, 상기 초기 혼잡 윈도우는 상기 공유 채널에서 다른 사용자가 경험한 성능을 기반으로 새로운 사용자에 대해 설정될 수 있으며, 이는 혼잡 제어 알고리즘의 느린 시작 단계를 줄이거나 제거할 수 있다.
[0053] 추가적으로, 각각의 공유 채널은 현재 네트워크 토폴로지 정보에 기초하여 각각의 초기 혼잡 윈도우가 제공될 수 있다. 실시예에서, 각각의 공유 채널에 대한 초기 혼잡 윈도우는 동적으로 매초 또는 몇 분의 일 초일 수 있다.
[0054] 일 실시예에서, 최적화 시스템은 클라이언트로부터 광고(advertised)된 클라이언트 수신 윈도우를 수신하고, 그것을 구성 가능한 인자에 의해 스케일링하고, 스케일링된 수신 윈도우를 광고된 수신 윈도우로서 서버 측에 광고한다. 이렇게 하면 시스템이 클라이언트보다 빠르게 서버에서 데이터를 ACK할 수 있으므로, 시스템이 광고된 클라이언트 수신 윈도우보다 빠른 레이트(rate)로 클라이언트에 데이터를 전달할 수 있다. 이러한 최적화 시스템은 버퍼 병목 현상을 제거한다. 이후 클라이언트가 이후에 더 빠른 레이트(rate)로 수신할 수 있게 되면 시스템은 서버에 추가 데이터를 요청할 필요 없이 최적화 시스템에 버퍼링된 데이터를 더 빠른 레이트(rate)로 전송한다. 최적화 시스템에서 요청한 스케일링 또는 추가 데이터의 양은 상기 네트워크 토폴로지 정보(예: 사용자 셀 위치 및 목표 쓰루풋 추정치), 데이터 볼륨 전달(data volume delivery), 애플리케이션 유형, 사용자 이동성 정도 또는 정적 설정을 기반으로 할 수 있다. 즉, 상기 최적화 시스템은 상기 네트워크 토폴로지 및 기타 관련 요소에 대한 이해를 기반으로 동적으로 서버에 얼마나 더 많은 데이터를 요청할 것인지 설정할 수 있다. 관련 기술의 TCP 프록시는 특히 공유 채널의 사용자 수 및 활성 사용자 수와 같은 네트워크 토폴로지 정보의 대부분을 모르기 때문에 정적 설정을 적용하고 설정을 동적으로 조정하지 않는다.
[0055] 일 실시예에서, 클라이언트 인터넷 측 수신 윈도우를 스케일링하기 위해 사용되는 스케일-업 인자(scale-up factor)는 eNodeB의 목표 쓰루풋 추정 정확도 및 버퍼 크기에 기초하여 조정될 수 있다.
[0056] 일 실시예에서, 상기 초기 혼잡 윈도우를 설정한 후, 혼잡 제어 프로세스는 혼잡 회피 단계(congestion avoidance stage)로 진입하는 것이 방지된다. 상기 혼잡 회피 단계는 RTT당 단일 패킷의 혼잡 윈도우를 증가시키며, 이는 혼잡 회피를 위한 최적 크기에 도달할 때까지 상당한 지연을 초래할 수 있다. 따라서, 혼잡 제어는 일 실시예에 따라 느린 시작 단계로 시작하도록 프로토콜을 설정한다.
[0057] 일 실시예에서, 상기 혼잡 제어 프로세스는 초기에 "EHS"(exponential head start: 지수 헤드 스타트)를 사용하여 "빠른" 느린 시작 단계(또는 수정된 성장 단계(modified growth stage))로 프로토콜을 설정한다. 본 실시예의 상기 "빠른" 느린 시작 단계에서, 상기 초기 혼잡 윈도우는 더 높은 초기 크기로 설정되고, 혼잡 회피 단계에 도달하거나 혼잡 이벤트가 발생할 때까지 RTT당 기하급수적으로 증가하는 단계 크기(예: 2 패킷, 4 패킷, 8 패킷 …)로 그 값이 증가한다. 즉, 상술한 "빠른" 느린 시작 단계에서
<수학식 1A>
CW(0) = EHS_size,
<수학식 1B>
CW(n) = CW(n-1) + initial_step_size × 2n,
여기서 CW(0)은 상기 초기 혼잡 윈도우이고, n은 1 이상의 정수이고, CW(n)은 상기 초기 혼잡 윈도우가 설정된 이후 n RTT(Round Trip Times)가 경과한 후의 혼잡 윈도우이고, EHS_size는 MSS (Maximum Segment Size, 최대 세그먼트 크기)의 2배 이상일 수 있는 구성 가능한 파라미터이고, initial_step_size는 하나 이상의 MSS와 동일할 수 있는 구성 가능한 파라미터이다. EHS_size, initial_step_size, 또는 둘 모두는, 사전에 결정되거나, 채널의 현재 조건에 따라 결정될 수 있다.
[0058] 일 실시예에서, 수정된 성장 단계(modified growth stage)의 속도는 주어진 시점에서 대응하는 공유 채널에 대한 네트워크 토폴로지 정보에 기초하여 동적으로 조정된다. 예를 들어, 초기 성장은 RTT당 4개의 패킷으로 설정될 수 있고 그 다음 해당 공유 채널에 대한 네트워크 토폴로지 정보에 대한 변경에 기초하여 RTT당 2개의 패킷으로 조정될 수 있다.
[0059] 일 실시예에서, 느린 시작 단계(slow start stage)가 끝날 때 혼잡 제어는 혼잡 회피 단계(congestion avoidance stage)에 들어가는 대신 위에서 설명된 바와 같이 수정된 성장 단계(modified growth stage)를 적용하고, 이에 의해 패킷은 주어진 지점에서 네트워크 토폴로지 정보에 기초하여 RTT당 1 이상 증가할 수 있다.
[0060] 일 실시예에서, eNodeB가 클라이언트로 전송되는 더 큰 데이터 버스트를 수용할 수 있는 큰 버퍼를 가질 수 있기 때문에, 상기 혼잡 제어 프로세스가 혼잡 윈도우에 대한 최적의 혼잡 회피 값을 언더슈트(undershoot)보다 오버슈트(overshoot )할 가능성이 더 크도록, 상기 초기 혼잡 윈도우는 적극적으로 설정될 수 있다. 따라서, 일 실시예에서, 광고된 클라이언트 수신 윈도우에 대한 스케일-업 인자(scale-up factor)는 초기 혼잡 윈도우를 오버슈트하도록 구성된다. 상기 스케일-업 인자는 목표 쓰루풋 추정 정확도 메트릭(Target Throughput Estimate Accuracy Metric)을 기반으로 정적으로 또는 자동으로 설정할 수 있다. 추정치가 정확할수록 스케일-업 인자(scale-up factor)는 더 보수적이다. 덜 정확하다는 것은 사용자가 적다는 것을 의미하고 공유가 적다는 것을 의미하므로 스케일-업 인자(scale-up factor)가 더 높을 수 있다.
[0061] 일 실시예에서, 상기 목표 쓰루풋은 네트워크로부터 샘플링된 데이터를 사용하고, 특정 셀(ECI)에 대한 크라우드 소싱 데이터를 결합하고, 각 사용자에 대한 실제 공정 배분 쓰루풋(fair share throughput)이 무엇인지 학습하는 방식으로 초기 혼잡 윈도우를 위해 추정된다. 이 추정치의 정확도는 활성 사용자 세션에서 가져온 데이터 샘플의 수에 따라 결정된다. 사용자가 많을수록 세션이 많아지고 추정치가 더 정확해집니다.
[0062] 일 실시예에서, 목표 쓰루풋 정확도 테이블(target throughput accuracy table)이 생성된다. 이 표는 목표 쓰루풋 추정치(Target Throughput Estimate)의 정확도와 활성 사용자 수 및 활성 데이터 세션 샘플의 상관 관계를 보여준다. 정확도 레벨은 이 표에서 유도될 수 있다.
[0063] 또한, 5MHz 셀에 대한 적절한 추정치를 달성하기 위해 적절한 사용자 수로 간주될 수 있는 것으로 간주될 수 있는 것이 20MHz 셀에 대해 충분하지 않을 수 있기 때문에, 이 테이블은 셀 크기(예: 5Mhz 셀, 10MHz, 20MHz 등)를 기반으로 설정될 수 있다.
[0064] 일 실시예에서, 각각의 ECI(또는 공유 채널)는 (예를 들어, 더 낮은 사용 시간 동안) 셀의 피크 쓰루풋 능력을 학습하기 위해 모니터링된다. ECI에 대한 셀 크기 버킷(cell size buckets)은 모니터링된 피크 쓰루풋(peak throughput)에 기초하여 결정될 수 있고 각각의 ECI에 대한 셀 크기 레벨(cell size level), 예를 들어, 셀 크기 레벨 1, 2, 3 등을 할당할 수 있다. 이러한 크기 레벨은 대역폭(MHz)에 대응할 수 있다. 이 정보는 목표 쓰루풋 정확도(Target Throughput Accuracy) 메트릭 뿐만아니라 목표 쓰루풋 추정기(Target Throughput Estimator)를 기본으로 초기 혼잡 윈도우 알고리즘에서 사용될 수 있다.
[0065] 일 실시예에서, 대역폭 추정을 위해 RTT에 대한 최대 경계가 설정된다. 예를 들어, RTT가 2초인 경우 그 값은 최대값(예: 0.5초)으로 조정되어 0.5초를 초과하는 값을 0.5초로 설정한다.
[0066] 활성 사용자 수가 특정 임계값(셀 크기 추정치(Cell Size Estimate)를 기반으로 할 수 있음) 아래로 떨어지면 느린 시작을 걱정할 만큼 사용자가 충분하지 않다. 일 실시예에서, 임계값은 활성 사용자의 수 및 셀 크기를 기반으로 하거나, 또는 활성 사용자의 수 대 활성 사용자의 최대 수의 비율을 기반으로 설정된다. 이러한 상황에서 목표 쓰루풋(Target Throughput)은 매우 크게 설정되거나(예: 100Mbps) 셀 크기 레벨(Cell Size Level)에 대해 보고된 최대 쓰루풋으로 설정된다.
[0067] 일 실시예에서, 최적화 시스템은 현재 사용자 쓰루풋에 대한 더 많은 정보를 제공하는 외부 시스템으로부터 추가 측정값(쓰루풋 또는 RTT 레이턴시와 같은)을 획득하고, 이를 목표 쓰루풋 추정치를 위한 크라우드 데이터(crowd data)의 일부로 사용한다.
[0068] 예를 들어 TCP 옵티마이저는 대용량 파일(elephants)에 대한 상태 -상태 쓰루풋을 초 단위로 측정할 수 있다. 이는 일반적으로 전체 네트워크 채널을 요구하고 더 큰 데이터 버스트를 갖는 데이터 세션에 대해 측정되기 때문에 매우 우수한 데이터 샘플이다. 이러한 엘리펀트(Elephant) 쓰루풋 샘플에 대한 정보는 최적화 시스템에서 얻을 수 있다. 또한 상기 최적화 시스템은 이러한 샘플에 가중치를 적용할 수 있다.
[0069] 상기 최적화 시스템은 UDP-QUIC 데이터에 대한 정상 상태 샘플을 얻을 수도 있다.
[0070] 일 실시예에서, 최적화 시스템은 어떤 셀에 사용자가 있고 어떤 셀이 사용자가 없는지를 결정하기 위해 이력 크라우드 소스 정보(historical crowd source information)를 사용한다. 상기 시스템은 임계값(예를 들어, 활성 사용자, 평균 쓰루풋 등)에 기초하여 다가오는 간격 동안 셀이 최적화되어야 하는지 여부를 결정할 수 있다. 셀에 최적화가 필요하지 않은 경우 해당 시스템은 해당 셀 내에서 사용자 세션을 직접 전달하므로 시스템 컴퓨팅 리소스가 절약된다.
[0071] 또한 시스템이 가입자 플로우(subscriber flow)가 더 큰 플로우임을 검출하면 해당 플로우 최적화를 중지하고 시스템 리소스를 절약하기로 결정할 수 있는데, 이는 전송 최적화가 초기 혼잡 윈도우 개선이 가장 큰 영향을 미치는 작은 플로우에 대한 성능 이득을 제공할 가능성이 더 높기 때문이다. 본 실시예에서, 실시예에 대응하는 초기 혼잡 윈도우 알고리즘은 엘리펀트(Elephant) 플로우로 결정된 플로우에는 적용되지 않는다.
[0072] 도 1은 일 실시예에 따른 통신 네트워크(100)를 도시한다. 네트워크(100)는 광역 네트워크(WAN)(102)(예를 들어, 인터넷), 복수의 셀룰러 무선 액세스 네트워크(RAN)(104A 및 104B), 케이블 또는 DSL 기반 인터넷 액세스 네트워크(IAN)(106), 및 WAN(102)에 연결된 복수의 서버(114A, 114B)를 포함한다. 그러나, 실시예는 이에 제한되지 않는다.
[0073] 상기 WAN(102)은 서로 직접 또는 간접적으로 통신하는 복수의 라우터(110A, 110B), 제1 게이트웨이(112A) 및 제2 게이트웨이(112B)를 포함한다. 상기 라우터(110A, 110B)는 프로토콜 스택의 네트워킹 계층(예를 들어, TCP/IP 프로토콜 스택의 인터넷 프로토콜(IP) 계층)에서 동작하여 패킷을 라우팅한다. 즉, 상기 라우터(110A, 110B)는 IP 데이터그램의 IP 헤더에 제공된 정보를 이용하여 기능을 수행한다.
[0074] 상기 게이트웨이(112A, 112B)는 프로토콜 스택의 전송 계층(transport layer) 이상에서 동작한다. 예를 들어, 상기 게이트웨이(112A, 112B)는 UDP(User Datagram Protocol) 헤더, TCP(Transmission Control Protocol) 헤더 및/또는 다른 전송 계층 프로토콜 헤더의 정보를 사용하여 동작할 수 있으며, 상기 전송 계층 프로토콜 헤더는 상기 IP 데이터그램의 IP 데이터 내에 캡슐화(encapsulated)될 수 있다.
[0075] 상기 제1 게이트웨이(112A)는 또한 RAN(104A 및 104B)에 대한 집합 포인트(aggregation point)로서 기능할 수 있다. 또한, 상기 제1 게이트웨이(112A)는 상기 RAN(104A 및 104B)에 대한 전송 관리 및 모니터링 및 제어 기능을 제공할 수 있다. 상기 제1 게이트웨이(112A)는 백홀 네트워크(backhaul network)를 통해 상기 RAN(104A, 104B)과 통신할 수 있다.
[0076] 일 실시예에서, 상기 제1 게이트웨이(112A)는, 상기 RAN(104A 및 104B) 상의 혼잡에 응답하여 공정 배분(fair-share) 전송 프로토콜의 실시간 최적화를 포함하여, 상기 RAN(104A 및 104B)에 대한 전송 최적화(transport optimization)를 제공한다. 상기 제1 게이트웨이(112A)는 쓰루풋, 레이턴시, 왕복 시간(RTT), 지터(jitter), 경쟁하는 동시 플로우(concurrent flows)의 수 등에 대한 정보와 같은 RAN(104A 및 104B) 각각의 트래픽에 대한 실시간 정보를 수신할 수 있으며, 또한, 상기 공정 배분 전송 프로토콜의 실시간 최적화를 수행하기 위한를 위한 실시간 정보를 사용할 수 있다.
[0077] 유사하게, 상기 게이트웨이(112B)는 상기 IAN(106)에 대한 집합 포인트(aggregation point)로서 기능할 수 있고, 상기 AN(106)에 대한 전송 관리, 모니터링 및 제어 기능을 제공하고, 또한, 상기 IAN(106)의 혼잡에 대한 응답으로 공정 배분(fair-share) 전송 프로토콜의 실시간 최적화를 포함하는 상기 AN(106)에 대한 전송 최적화(transport optimization)를 제공할 수 있다.
[0078] 상기 제1 RAN(104A)은 제1 기지국(120A) 및 공유된 무선 주파수(RF) 자원을 통해 상기 제1 기지국(120A)과 무선으로 통신하는 복수의 사용자 장비(UE)(122A, 122B, 122C)를 포함한다. 상기 제2 RAN(104B)은 제2 기지국(120B) 및 공유 RF 자원을 통해 제2 기지국(120B)과 무선으로 통신하는 복수의 UE(122D, 122E)를 포함한다. 상기 UE(122A 내지 122E)는 상기 기지국(120A 및 120B) 및 상기 제1 게이트웨이(112A)를 통해 상기 WAN(102)과 통신한다. 상기 기지국(120A, 120B)은 eNodeB(Evolved Node B), BTS(Base Transceiver Station) 등일 수 있고, 상기 UE(122A 내지 122E)는 셀룰러 폰, 무선 핫스팟, 셀룰러 모뎀이 있는 컴퓨터 등일 수 있지만, 실시예는 이에 제한되지 않는다.
[0079] 상기 IAN(106)은 상기 제2 게이트웨이(112B)에 복수의 근거리 통신망(LAN)(130A, 130B)을 연결하는 공유 유선 리소스(108)(예를 들어, 동축 케이블, 광섬유 케이블 등, 또는 이들의 조합)를 포함한다. 상기 LAN(130A 및 130B) 상의 장치는 상기 공유 유선 리소스(108)의 유한한 대역폭을 놓고 경쟁할 수 있다.
[0080] 제1 LAN(130A)은 상기 공유 유선 리소스(108)를 통해 상기 제1 LAN(130A) 상의 장치들을 상기 WAN(102)에 연결하기 위한 결합된 모뎀 및 라우터(132)를 포함할 수 있다. 복수의 네트워크 장치(134A, 134B, 134C)는, 예를 들어 구리선을 통한 1000Base-T 이더넷에 의해, 결합된 모뎀 및 라우터(132)에 연결될 수 있다.
[0081] 제2 LAN(130B)은, 상기 공유 유선 리소스(108)를 통해 제2 LAN(130B) 상의 장치들을 상기 WAN(102)에 연결하기 위하여, 결합된 모뎀, 라우터, 및 무선 액세스 포인트(AP)(136)를 포함할 수 있다. 따라서 상기 제2 LAN(130B)은 무선 LAN일 있다. 복수의 스테이션(STA)(138A, 138B, 138C)은 예를 들어, 공유 무선 주파수 자원을 사용하는 Wi-Fi™ 기술을 사용하는 결합된 모뎀, 라우터, AP(136)에 무선으로 연결될 수 있다.
[0082] 제1 및 제2 서버(114A, 114B)는 상기 WAN(102)에 연결된 장치에 서비스를 제공할 수 있다. 제공될 수 있는 서비스의 예는 클라우드 컴퓨팅, 클라우드 스토리지, 소셜 네트워킹, 스트리밍 비디오 등을 포함한다. 상기 제1 및 제2 서버(114A, 114B) 각각은 특정 유형의 콘텐츠를 전달할 수 있다. 예를 들어, 상기 제1 서버(114A)는 전용(dedicated) 주문형 비디오(video-on-demand) 서버일 수 있으며, 이 경우 상기 서버(114A)로부터 오는 트래픽은 비디오 트래픽인 것으로 추정될 수 있다.
[0083] 도 2는 일부 실시예에 관련된 통신 프로토콜 스택을 도시한다. 왼쪽은 7개의 레이어로 구성된 OSI(Open System Interconnect) 프로토콜 스택 모델(이하 OSI 스택), 및 4개의 레이어를 포함하는 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 스택 모델(이하 TCP/IP 스택)이다. 상기 OSI 스택의 최하위 2개 레벨(물리적 및 데이터링크)은 TCP/IP 스택의 최하위 레벨(이더넷)에 해당하고, OSI 스택의 최상위 3개 계층(어플리케이션, 프레젠테이션 및 세션)은 TCP/IP 스택의 어플리케이션 계층에 해당한다.
[0084] 상기 OSI 스택의 물리 계층은 신호의 물리적 커넥터 및 전기 사양(electrical specification)을 처리하며 디지털 신호가 전송되는 매체(예: 연선, 동축 케이블, 광섬유, 무선 등)에 해당한다.
[0085] 상기 OSI 스택의 데이터 링크 계층은 데이터(즉, 프레임) 및 한 호스트에서 다른 호스트로 프레임을 전송하기 위해 물리적 계층의 원시 비트를 논리적 구조화된 패킷으로 변환하는 작업을 처리한다.
[0086] 상기 TCP/IP 스택의 이더넷 계층은 OSI 스택의 물리적 계층과 데이터링크 계층 모두의 기능을 제공한다.
[0087] 상기 OSI 스택의 네트워킹 계층은 목적지와 소스를 지정하기 위해 머신의 네트워크 계층 주소를 사용하여 네트워크의 시스템 간 데이터 전송(즉, 종단 간(end-to-end) 전송)을 처리한다. 라우터는 이 레벨에서 작동하여 트래픽을 관리하고 지시한다. 상기 TCP/IP 스택의 IP 레벨은 이러한 기능을 제공한다.
[0088] 상기 OSI 스택의 전송 계층은 시스템에서 실행 중인 소스 프로세스와 목적지(destination) 프로세스 간에 데이터를 전송한다. 일반적으로 연결 지향(connection-oriented) 및 비연결의 두 가지 연결 모드가 인식된다.
[0089] 상기 연결 지향 모드는 전용 가상 회로(dedicated virtual circuit)를 설정하고 다양한 등급의 보장된 전달(guaranteed delivery)을 제공하여 수신된 데이터가 전송된 데이터와 동일하도록 한다. 상기 TCP/IP 스택의 TCP는 상기 연결 지향 전송 계층 모드에 해당한다.
[0090] 비연결 모드(Connectionless mode)는 데이터 소스에 오류를 알리지 않고 데이터의 완전한 손실을 포함하는 오류 수정 기능이 내장되지 않은 최선-노력의 서비스(best-effort service)만 제공한다. 논리적 연결이 없고 엔드포인트(endpoints) 사이에 트랜잭션의 지속적인 상태가 존재하지 않으므로, 상기 비연결 모드는 낮은 오버헤드를 제공하고 음성 및 비디오 전송과 같이 타이밍이 중요한 어플리케이션에 대해 잠재적으로 더 나은 실시간 성능을 제공한다. 상기 TCP/IP 스택의 UDP는 비연결 전송 계층 모드에 해당한다.
[0091] OSI 스택의 세션 계층은 컴퓨터 간의 연결을 제어한다. 로컬 및 원격 어플리케이션 간의 연결을 설정, 관리 및 종료할 수 있으며 다른 기능 중에서 전이중(full-duplex), 반이중(half-duplex) 또는 단방향(simplex) 동작을 제공할 수 있다. OSI 스택의 프레젠테이션 계층은 애플리케이션 계층의 데이터 유형을 정의 및 암호화/복호화하며 JPEG, MPEG 및 GIF와 같은 프로토콜을 포함할 수 있다. OSI 스택의 어플리케이션 계층은 각 어플리케이션이 다른 어플리케이션과 통신하는 방법을 추적하고 목적지(destination) 및 소스 주소를 특정 어플리케이션에 연결할 수 있다. TCP/IP 스택의 애플리케이션 계층은 OSI 스택의 세션, 프레젠테이션 및 애플리케이션 계층의 기능에 해당한다.
[0092] 도 3은 일 실시예에 따른 통신 네트워크(300)에서의 데이터 전송을 도시한다. 도 3의 예시적인 예에서, 정보는 라우터(306) 및 게이트웨이(310)를 통해 UE(304)와 서버(308) 사이에서 흐르지만, 실시예는 이에 한정되지 않으며, 통상적으로 UE(304)는 적어도 하나의 게이트웨이(308) 및 복수의 라우터를 통해 상기 서버(308)와 통신한다.
[0093] 도 3에 도시된 바와 같이, RAN(318)의 기지국(302)은 상기 UE (304)에 무선 통신을 제공하고, RAN(318)의 혼잡 관련 정보(316)를 상기 게이트웨이(310)에 제공한다. 일례에서, 인접한 기지국 또는 UE와 같은 다른 노드들은, 상기 게이트웨이(310)로 상기 혼잡 관련 정보를 제공할 수 있다. 또한 대안적으로, 상기 게이트웨이(310)는 내부 메커니즘 또는 내부에서 실행되는 프로세스로부터 상기 혼잡 관련 정보를 얻을 수 있다. 상기 혼잡 관련 정보(316)는 실시간 전송 혼잡 메트릭(real-time transport congestion metrics)을 포함할 수 있다. 예를 들어, 상기 기지국(302)은 RAN(318)의 eNodeB일 수 있고, 상기 eNodeB에 의해 서빙되는 모든 데이터 전송 세션과 관련된 혼잡 메트릭을 제공할 수 있다.
[0094] 상기 혼잡 관련 정보(316)에 포함된 상기 실시간 전송 혼잡 메트릭은 현재 전송 네트워크를 공유하는 사용자의 수, 각 사용자의 실시간 쓰루풋; 과도한 자원 요구(즉, 혼잡)로 인한 과부하로 인해 데이터 패킷 처리에 발생하는 지연; 무선 환경의 CQI(Channel Quality Indicator); 데이터 전송 세션의 출발지와 목적지에 대한 사용자 정보, 및 데이터 전송 세션의 우선 순위 레벨(priority levels)을 포함할 수 있다. 그러나 실시예가 이에 한정되는 것은 아니다.
[0095] 상기 UE(304)로부터 그리고 상기 UE(304)에게로 흐르는 정보는, 상기 UE(304) 상의 OSI 스택의 모든 7개 계층(또는 동등한 TCP/IP 계층)에 의해 처리될 수 있고, 상기 서버(308) 상의 OSI 스택의 모든 7개 계층(또는 동등한 TCP/IP 계층)에 의해 처리될 수 있다.
[0096] 상기 라우터(306)에서, UE(304)로부터 그리고 UE(304)에게로 흐르는 정보는 OSI 스택의 하위 3개 계층(또는 TCP/IP 스택의 이더넷 및 IP 계층)에 의해서만 처리될 수 있다. 예를 들어, 상기 라우터(306)는 패킷의 IP 데이터에 인코딩된 정보를 사용하지 않고 패킷의 IP 헤더의 정보를 사용하여 라우터를 통해 흐르는 패킷을 처리할 수 있다.
[0097] 대조적으로, 상기 게이트웨이(310)에서, 상기 패킷은 네트워크 계층 프레임의 데이터에 포함된 헤더가 전송 계층(314)의 헤더에 있는 정보에 따라 처리될 수 있다. 예를 들어, 상기 게이트웨이(310)는 IP 프레임의 IP 데이터에 포함된 TCP 또는 UDP 헤더에 따라 패킷을 처리할 수 있다. 또한, 상기 게이트웨이(310)는 상기 전송 계층(314) 헤더를 변경할 수 있고, 상기 혼잡 관련 정보(316)에 따라 위 동작을 수행할 수 있다.
[0098] 상기 게이트웨이(310)는 상기 기지국(302)으로부터 혼잡 관련 정보를 수신하는 것 외에도 하나 이상의 다른 네트워크 노드로부터 혼잡 관련 정보(316)를 수신할 수 있다.
[0099] 일 실시예에서, 상기 게이트웨이(310)는 혼잡 관련 정보(316)에 응답하여 전송 계층(314)의 헤더를 해석하고 변경함으로써 네트워크 관리 기능을 제공하는 전송 최적화 프로세스(312)를 포함한다. 실시예에서, 상기 게이트웨이(310) 또는 외부 데이터베이스에 저장된 전송 혼잡 프로토콜에 따라 상기 네트워크 관리 기능을 수행할 수 있다. 상기 네트워크 관리 기능은 데이터 전송 세션 기반으로 수행될 수 있다. 상기 네트워크 관리 기능에는 네트워크의 혼잡을 방지하기 위해 데이터 전송 세션에서 사용하는 패킷 레이트(따라서 대역폭)를 제어하는 것이 포함될 수 있다.
[0100] 일 실시예에서, 상기 게이트웨이(310)는 RAN(318)을 WAN과 연결하는 경계 트래픽(border traffic) 집합 포인트(aggregation point)의 일부이다. 예를 들어, 3GPP(3rd Generation Partnership Project) 표준 모바일 네트워크에서 집합 포인트는 PDN(Packet Data Network)-Gateway 코어 엘리멘트 및 외부 인터넷에 연결되는 sGi-LAN의 일부이다. 다른 실시예에서, 상기 집합 포인트는 게이트웨이 GPRS 지원 노드(GPRS support node; GGSN)-게이트웨이에 연결하고 외부 인터넷 외부에 연결하는 Gi-LAN의 일부이다. 그러나, 다른 실시예에서 게이트웨이(310)는 다른 곳에 위치한다.
[0101] 일 실시예에서, 상기 전송 최적화 프로세스(312)와 같은 혼잡 인식 전송 최적화 솔루션을 구현하는 장치는 도 3에 도시된 바와 같이 데이터 전송 세션에 따라 직접 배치될 수 있다. 다른 실시예에서, 상기 전송 최적화 프로세스(312)를 구현하는 디바이스는 데이터 전송 세션을 운반하는 경로 밖에 있을 수 있으며, 이 경우 상기 디바이스는 원하는 전송 최적화를 달성하기 위해 다른 네트워크 요소에 제어 메시지를 송수신할 수 있다.
[0102] 일부 실시예에서, 상기 게이트웨이(310)는 RAN(318)을 포함하는 하나 이상의 네트워크에 서비스를 제공하는 콘텐츠 전달 네트워크의 일부일 수 있다. 다양한 실시예에 따르면, 상기 게이트웨이(310)는 UE(304)와 서버(308) 사이의 (또는 이를 포함하는) 엔드포인트 또는 네트워크 노드에 위치할 수 있다.
[0103] 실시예에서, 상기 게이트웨이(310)는 UE(304)를 포함하는 하나 이상의 사용자 디바이스를 서비스하는 기지국, 기지국 제어기, 또는 액세스 포인트에 위치할 수 있다.
[0104] 일 실시예에서, 상기 전송 최적화 프로세스(312)는 상기 데이터 전송 세션과 연관된 애플리케이션 또는 애플리케이션의 유형에 따라 네트워크 관리 기능을 수행한다. 예를 들어, 데이터 전송 세션이 주문형 비디오 전용 서버에 대한 연결로 결정될 때, 상기 전송 최적화 프로세스(312)는 상기 네트워크 관리 기능을 수행하기 위해 비디오 스트림에 특정한 공정 배분(fair-share) 정책을 사용할 수 있다.
[0105] 일 실시예에서, 상기 전송 최적화 프로세스(312)가 데이터 전송 세션과 관련된 혼잡 관련 정보(316)를 수신하지 않을 때(예를 들어, 혼잡 인식 전송 노드가 존재하지 않거나 혼잡 인식 전송 노드가 다른 네트워크에 혼잡 관련 정보를 보낼 수 없는 경우) 노드) 그 후 전송 최적화 프로세스(312)는 자신의 혼잡 검출 방법을 구현할 수 있다.
[0106] 혼잡 관련 정보가 외부 노드로부터 전달되거나 내부적으로 유도되는지 여부에 관계없이, 상기 전송 최적화 프로세스(312)는 상기 전송 네트워크의 발산 경로(diverging paths)와 관련하여 혼잡 정보의 캐시(cache)를 유지 및 업데이트한다. 데이터 전송 세션에는 공통 집합 포인트(common aggregation point) 있을 수 있지만 네트워크 전체에는 종종 다른 혼잡 프로필을 구성할 수 있는 분기 경로(diverging paths)가 있으므로 상기 전송 최적화 솔루션으로 구분해야 한다.
[0107] TCP를 사용하는 데이터 전송 세션의 경우, 전송 최적화 프로세스(312)는 적절한 시작 혼잡 윈도우 크기 조정을 찾기 위해 혼잡 핵심 성능 지시자(Key Performance Indicator; KPI) 캐시에 질의할 수 있으며, 이는 데이터 전송 세션이 전송 네트워크 리소스의 공정 배분을 획득하기 위해 얼마나 빠르게 패킷 전송을 시작하여야 하는지를 제어한다. 상기 전송 최적화 프로세스(312)가 계속해서 상기 데이터 전송 세션을 최적화 함에 따라, 업데이트된 혼잡 메트릭(congestion metrics)을 수신하거나 유도하고 혼잡 레벨에 상응하도록 데이터 전송 세션의 전송 레이트(rate)를 지속적으로 업데이트한다.
[0108] 혼잡한 전송 네트워크에 존재하는 TCP 데이터 전송 세션의 경우, 공정 배분 윈도우(fair-share window)는 혼잡 레벨에 적합한 레이트(rate)로 유지될 수 있다. 예를 들어, 10Mbps 전송 링크가 5개의 동시 데이터 전송 세션에 의해 적당히 혼잡되면(~50%), 상기 전송 최적화 프로세스(312)는 전송 쓰루풋을, 상기 전송 네트워크 능력(transport networks capability)의 각 데이터 전송 세션의 공정 배분(fair-share)으로, 신속하게 설정할 수 있다. 대조적으로, 최적화되지 않은 기존의 경쟁 TCP 데이터 세션은, 전송 속도를 지속적으로 높이려고 시도하고 본질적으로 개별 최대 쓰루풋을 달성하기 위하여 서로 경쟁하는 방식으로, 상기 전송 네트워크의 혼잡을 증가시킬 수 있다.
[0109] 프로토콜 스택(즉, 빠른 UDP 인터넷 연결(Quick UDP Internet Connection; QUIC) 프로토콜)의 일부로서 공정 배분 알고리즘(fair-share algorithm)을 구현하는 UDP 전송 프로토콜의 경우, 상기 혼잡 인식 전송 최적화 프로세스(312)는 이전에 설명된 감속 기술(deceleration technique)을 최고 관리 프로토콜로 수행할 수 있다. 혼잡한 전송 네트워크에서 공정 배분 UDP 데이터 세션이 설정되면 상기 전송 최적화 프로세스(312)는 데이터 전송 세션이 전송할 수 있는 레이트(rate)를 줄이고 상기 실시간 전송 혼잡 메트릭(real-time transport congestion metrics)을 기반으로 허용된 전송 레이트(rate)를 지속적으로 업데이트할 수 있다.
[0110] 도 4는 일 실시예에 따른 전송 최적화 시스템(400)의 동작을 도시한다. 전송 최적화 시스템 (400)은 게이트웨이(402), 서버(406), 및 RAN(410)을 포함한다. 상기 RAN(410)은 UE(414)에 데이터 통신을 제공하는 기지국(412)을 포함한다.
[0111] 상기 기지국(412)은 RAN(410)을 위한 혼잡 관련 데이터(418)를 게이트웨이(402 )에 제공한다. 상기 혼잡 관련 데이터(418)는 쓰루풋, 레이턴시, 왕복 시간(RTT), 지터, 트래픽 유형(예: 짧고 긴 패킷의 개수 등), 경쟁하는 동시 플로우 수에 관한 정보 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 상기 게이트웨이(402)는 - 상기 게이트웨이(402)와 다른 장치들 사이의 개별 링크에 관한 혼잡 정보 및 상기 네트워크의 다른 부분에 관한 혼잡 정보와 같은 - 수신된 혼잡 관련 데이터(418)에 추가적인 정보를 추가(add)할 수 있다.
[0112] 상기 UE(414)는 상기 RAN(410)을 통해 제1 TCP 데이터 패킷(420)을 데이터 전송 세션의 일부로서 상기 게이트웨이(402)에 전송할 수 있다. 상기 제1 TCP 데이터 패킷(420)은 상기 서버(406)로의 전달을 위한 것이다. 상기 게이트웨이(402)는 상기 데이터 전송 세션 및 혼잡 관련 데이터(418)와 연관된 혼잡 프로토콜을 사용하여 상기 데이터 전송 세션에 의해 사용되는 대역폭이 감소되어야 한다고 결정할 수 있다.
[0113] 일 실시예에서, 상기 데이터 전송 세션에 의해 사용되는 대역폭이 감소되어야 한다는 결정에 응답하여, 상기 게이트웨이(402)는 제2 TCP 데이터 패킷(422)을 생성하기 위해 TCP 헤더의 명시적 혼잡 알림(Explicit Congestion Notification; ECN) 비트를 '11'로 설정함으로써 상기 제1 TCP 데이터 패킷(420)을 수정한다. 상기 제2 TCP 데이터 패킷(422)은 상기 서버(406)로 라우팅된다.
[0114] 상기 제2 TCP 데이터 패킷(422)에 응답하여, 상기 서버(406)는 상기 UE(414)로의 전달을 위한 제1 ACK (Acknowledgement)(424)을 전송한다. 상기 제1 ACK(424)은 1로 설정된 ECN 에코(ECN Echo; ECE) 비트를 포함한다.
[0115] 상기 게이트웨이는 제2 ACK(426)로서 상기 제1 ACK(424)를 상기 UE(414)로 포워드하는바, 상기 제2 ACK(426)는 TCP 레벨에서 상기 제1 ACK(424)와 동일하다.
[0116] 상기 ECN 에코 비트가 1로 설정된 제2 TCP ACK(426)를 수신한 것에 응답하여, 상기 UE(414)는 상기 데이터 전송 세션과 관련된 혼잡 윈도우(416)의 크기를 감소시켜, 상기 데이터 전송 세션의 패킷 레이트(따라서 대역폭)를 감소시킨다.
[0117] 도 5는 실시예를 구현하는데 사용될 수 있는 컴퓨터 시스템(500)을 도시한다. 컴퓨터 시스템 (500)은, 예를 들어, 비일시적 컴퓨터 판독 가능 매체(non-transitory computer readable medium)에 저장된 컴퓨터 프로그래밍 명령을 실행함으로써 실시예를 구현할 수 있다.
[0118] 컴퓨터 시스템 (500)은 프로세서(502), 메모리(504), 입력 인터페이스 및 장치(514), 출력 인터페이스 및 장치(516), 및 스토리지(510) 중 하나 이상을 포함할 수 있으며, 이들 각각은 버스(bus), 패브릭(fabric) 또는 기타 상호 연결 기술을 통해 서로 통신한다. 상기 컴퓨터 시스템(500)은 또한 네트워크에 연결된 하나 이상의 네트워크 인터페이스(512)를 포함할 수 있다. 예를 들어, 상기 컴퓨터 시스템(500)이 라우터 또는 게이트웨이를 구현하는데 사용될 때, 상기 컴퓨터 시스템(500)은 컴퓨터 시스템(500)의 각각의 물리 계층 네트워크 연결을 위한 네트워크 인터페이스(512)를 포함할 수 있다.
[0119] 상기 프로세서(502)는 상기 메모리(504) 및/또는 상기 스토리지(510)에 저장된 처리 명령을 실행하는 중앙 처리 장치(CPU) 또는 반도체 장치일 수 있다. 상기 메모리(504) 및 스토리지(510)는 다양한 형태의 휘발성 또는 비휘발성 스토리지 미디어를 포함할 수 있다. 예를 들어, 상기 메모리(504)는 읽기 전용 메모리(ROM)(508) 및 랜덤 액세스 메모리(RAM)(506)를 포함할 수 있고, 상기 스토리지는 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD) 등을 포함할 수 있다
[0120] 도 6은 일 실시예에 따른 전송 최적화를 위해 혼잡 정보를 사용하는 프로세스(600)를 도시한다. 상기 프로세스(600)는 도 4의 상기 전송 최적화 시스템(400)과 같은 전송 최적화 시스템에서 수행될 수 있고, 특히 그러한 시스템의 트래픽 관리자에 의해 수행될 수 있다. 상기 프로세스(600)는 전송 혼잡 프로파일 룩업(lookup)을 사용하여 혼잡 인식 공정 배분 대역폭 제어를 구현한다. 도 3의 전송 최적화 프로세스(312)의 실시예는 상기 프로세스(600)를 포함할 수 있다.
[0121] S602에서, 상기 프로세스(600)는 새로운 데이터 전송 세션을 검출한다. 상기 데이터 전송 세션은, 예를 들어, 사용자 디바이스(도 4의 UE(414)와 같은)에 의해 개시(initiate)되고 상기 사용자 디바이스를 서버(도 4의 서버(406)와 같은)에 연결하는 TCP 세션일 수 있다. 그러나 실시예가 이에 한정되는 것은 아니다.
[0122] 상기 프로세스(600)는 전송 레벨 패킷(transport-level packets)을 모니터링함으로써 새로운 데이터 전송 세션을 검출할 수 있다. 예를 들어, 상기 프로세스(600)는 SYN, SYN+ACK, 및 ACK 메시지로 구성된 TCP "3방향 핸드셰이크"를 검출함으로써 새로운 TCP 데이터 전송 세션을 검출할 수 있다. TCP 데이터 전송 세션의 경우, 상기 프로세스(600)는 메시지의 IP 헤더에 있는 소스 및 목적지(destination) 주소와 상기 메시지의 TCP 헤더에 있는 소스 및 목적지 포트를 사용하여 메시지가 상기 데이터 전송 세션과 연관되어 있는지 여부를 결정할 수 있다.
[0123] 상기 프로세스(600)는 또한 예를 들어 UDP 및 QUIC 데이터 전송 세션 등을 검출할 수 있다. 실시예에서, 상기 프로세스(600)는 임의의 전송 계층 프로토콜의 데이터 전송 세션을 검출할 수 있다.
[0124] S604에서, 상기 프로세스(600)는 검출된 데이터 전송 세션이 공정 배분 프로토콜인지 여부를 결정한다. 예를 들어 TCP 및 QUIC는 공정 배분 프로토콜이고 UDP는 공정 배분 프로토콜이 아니다. 검출된 데이터 전송 세션이 공정 배분 프로토콜이 아닌 경우, S604에서 상기 프로세스(600)는 종료되고; 그렇지 않으면, 상기 프로세스(600)는 S606으로 진행한다.
[0125] S606에서, 상기 프로세스(600)는 데이터 전송 세션에 적용 가능한 전송 혼잡 프로파일이 있는지 여부를 결정하기 위해 룩업(lookup) 동작을 수행한다. 상기 프로세스(600)는 특정 서브네트워크(도 4의 RAN(410), 또는 도 1의 RAN(104A, 104B) 및 IAN(106) 중 하나)의 전송 혼잡 프로파일에 대해 상기 룩업 동작을 수행하는바, 상기 특정 서브네트워크의 데이터 전송 세션의 엔드포인트는 멤버이다.
[0126] 예를 들어, 도 4의 UE(414)가 도 4가 상기 데이터 전송 세션의 엔드포인트인 경우, 상기 프로세스(600)는 도 4의 RAN(410)에 대한 전송 혼잡 프로파일의 데이터베이스에서 전송 혼잡 프로파일을 룩업(look up)하고 상기 UE(414)가 멤버임을 선택할 수 있다. 다른 예에서, 도 1의 네트워크 장치(134A)가 도 1이 데이터 전송 세션의 엔드포인트인 경우, 상기 프로세스(600)는 도 1의 IAN(106)에 대한 전송 혼잡 프로파일의 데이터베이스에서 전송 혼잡 프로파일을 룩업(look up)하고 선택할 수 있다.
[0127] S608에서, 적용 가능한 전송 혼잡 프로토콜이 S606에서 발견되면, 상기 프로세스(600)는 S610으로 진행하고; 그렇지 않으면, 상기 프로세스(600)는 S612로 진행한다.
[0128] S610에서, 상기 프로세스(600)는 상기 데이터 전송 세션에 적용 가능한 적절한 공정 배분 정책(fair-share policy)을 찾아 선택하고, S606에서 선택된 전송 혼잡 프로토콜의 출력을 사용하여 상기 공정 배분 정책을 상기 데이터 전송 세션에 적용한다. 그 다음, 상기 프로세스(600)는 S640으로 진행한다.
[0129] 상기 공정 배분 정책을 적용하는 것은 대역내(in-band) 또는 대역외(out-of-band) 시그널링에 의해 데이터 전송 세션에 의해 사용되는 대역폭을 제어하는 것을 포함할 수 있다. 예를 들어, 상기 프로세스(600)는 도 4에 도시된 바와 같이 TCP 패킷의 ECN 비트를 '11'로 설정하여 데이터 전송 세션의 TCP 데이터 패킷을 수정함으로써 상기 데이터 전송 세션의 대역폭을 제어할 수 있다. 다른 예에서, 상기 프로세스(600)는 ACK 메시지의 ECN 에코(Echo) 비트를 '1'로 설정함으로써 상기 데이터 전송 세션의 ACK 메시지를 수정함으로써 상기 데이터 전송 세션의 대역폭을 제어할 수 있다.
[0130] 상기 프로세스(600)는 관련 기술의 혼잡 관리 솔루션에 비교하여 이용 가능한 추가 정보를 활용한다. 그 결과, 관련 기술의 솔루션에 의해 혼잡의 지시(indication)로 간주될 일부 지시(indication)는 상기 프로세스(600)에 의해 혼잡의 지시로 간주되지 않을 수 있으며, 관련 기술의 솔루션이 인식하지 못하는 일부 지시는 혼잡의 지시로 간주될 수 있다. 따라서, 상기 프로세스(600)는 상기 네트워크의 현재 조건에 기초하여 실시간으로 혼잡 관련 조정을 동적으로 수행할 수 있다.
[0131] 예를 들어, 일시적인 간섭으로 인해 RAN의 패킷 레이턴시가 16ms에서 90ms로 증가하는 경우, 관련 기술의 혼잡 관리 솔루션은 이를 혼잡을 고려하여 그에 따라 혼잡 윈도우를 조정할 수 있다. 대조적으로, 상기 프로세스(600)의 실시예에서, 일시적 간섭에 의해 야기된 레이턴시의 증가는 반드시 혼잡의 지시(indication)로 간주되지 않을 것이고, 따라서 반드시 혼잡 윈도우에 대한 조정을 야기할 필요는 없지만, 동시 사용자 수의 증가(따라서 전송되는 데이터 양의 증가)는 혼잡의 지시(indication)로 간주되며 하나 이상의 혼잡 윈도우를 조정할 수 있다. 이러한 방식으로, 상기 프로세스(600)는 혼잡으로 인한 것이 아니라 허용 가능한 정상 변동인 성능 지시(indication)의 변동과, 성능 지시 상의 변동, 및 그 조합의 변동을 구별한다.
[0132] S612에서, S608에서 발견된 전송 혼잡 프로파일이 없는 것에 응답하여, 상기 프로세스(600)는 디폴트(default) 공정 배분 정책에 기초하여 전송 혼잡 프로파일을 생성한다. 그 다음, 프로세스(600)는 생성된 전송 혼잡 프로파일을 적절한 데이터베이스에 저장할 수 있다. 예를 들어, 데이터 전송 세션이 엔드포인트로서 RAN의 사용자 디바이스를 가질 때, 상기 프로세스(600)는 RAN을 위한 전송 혼잡 프로파일의 데이터베이스 내에 생성된 전송 혼잡 프로파일을 저장할 수 있다.
[0133] S614에서, 상기 프로세스(600)는 생성된 전송 혼잡 프로파일과 관련된 트래픽을 모니터링하고 적절한 혼잡 레벨을 결정하기 위해 혼잡 분석을 수행하기 시작한다.
[0134] S616에서, 상기 프로세스(600)는 S614에서 결정된 혼잡 레벨에 따라 생성된 전송 혼잡 프로파일을 적응(adapt)시킨다. 일반적으로 단일 전송 세션에 영향을 주는 변수가 많기 때문에 두 세션이 동일하지 않는다. 따라서 더 큰 전송 네트워크에 대한 정보 및 각 세션에 대해 측정된 정보를 기반으로, 각 전송 세션에 대해 적절한 혼잡 프로파일을 채택(adopt)해야 한다. 예를 들어, 동일한 eNodeB 셀 사이트(cell site)의 두 세션은 상기 셀 사이트에 대한 신호 강도로 인해 두 개의 다른 TCP 혼잡 프로파일을 가질 수 있다. 즉, 두 세션이 동일한 셀 사이트에 있더라도 각 세션에는 자체 조건에 채택되는 서로 다른 혼잡 프로파일이 제공된다. 그 다음, 상기 프로세스(600)는 S642로 진행한다.
[0135] S640에서, 상기 프로세스(600)는 상기 데이터 전송 세션이 종료되었는지 여부를 결정한다. 상기 데이터 전송 세션이 종료되면 상기 프로세스(600)가 종료되고; 그렇지 않으면 상기 프로세스(600)는 S610으로 진행한다.
[0136] S642에서, 상기 프로세스(600)는 상기 데이터 전송 세션이 종료되었는지 여부를 결정한다. 상기 데이터 전송 세션이 종료되면 상기 프로세스(600)가 종료되고; 그렇지 않으면 상기 프로세스(600)는 S612로 진행한다. 일 실시예에서, 세션이 종료될 때(예를 들어, S640 또는 S642에서), 그 세션의 혼잡 프로파일은 후속 세션에 의한 사용을 위해 데이터베이스에 추가된다.
[0137] 도 7은 다른 실시예에 따른 전송 최적화를 위해 혼잡 정보를 사용하는 프로세스(700)를 도시한다. 상기 프로세스(700)는 애플리케이션 및 전송 네트워크 혼잡 모두를 인식한다. 즉, 상기 데이터 전송 세션을 관리할 때 상기 데이터 전송 세션이 통과하는 네트워크의 현재 혼잡 레벨과 상기 데이터 전송 세션을 사용하는 어플리케이션을 모두 고려한다. 도 3의 전송 최적화 프로세스(312)의 실시예는 다음과 같다. 도 3은 상기 프로세스(600)를 포함할 수 있다.
[0138] 상기 프로세스(700)는 전송 네트워크 혼잡 레벨 및 요청 애플리케이션(requesting application) 모두에 기초하여 공정 배분 정책을 구현할 수 있다. 예를 들어, 전송 세션이 QUIC 프로토콜을 사용하여 YouTube® 애플리케이션에 의해 설정되었다면, 상기 프로세스(700)는 애플리케이션 특정 요구사항(application specific requirements) 및 KPI 뿐만 아니라 전송 네트워크의 혼잡 레벨에 기초하여 적절한 전송 레이트(transmit rate)를 결정할 수 있다. 상기 YouTube QUIC 데이터 세션이 혼잡한 네트워크를 통과했다면, 상기 프로세스(700)는 YouTube와 같은 비디오 애플리케이션이 초기 버퍼링 시간을 줄이기 위해 첫 번째 프레임까지의 빠른 시간에 의존(rely-on)한다는 것을 알면서, 상기 YouTube QUIC 데이터 세션에 대한 더 빠른 쓰루풋을 초기에 허용할 수 있다. 그런 다음 특정 시간 또는 데이터 양이 애플리케이션에 전달된 후, 상기 프로세스(700)는 상기 YouTube QUIC 데이터 세션의 데이터 레이트를 줄여서 다른 애플리케이션 유형이 채널 리소스에 대해 우선순위(priority)를 가질 수 있도록 하는바, 이 경우 YouTube와 같은 비디오 애플리케이션이 비디오 애플리케이션에 부정적인 영향을 미치지 않으면서 전송 네트워크 성능의 변동을 견딜 수 있는 버퍼링된 시스템으로 작동한다는 지식에 다시 의존(rely-on)할 수 있다.
[0139] 일 실시예에서, 상기 프로세스(700)는 이들 세션의 특정 특성에 기초하여 동일한 네트워크(예를 들어, 동일한 셀 사이트)와 연관된 하나 이상의 세션을 우선순위화할 수 있다. 예를 들어, 동일한 셀 사이트에 복수의 세션이 있는 경우, 상기 프로세스(700)는 더 적은 시간, 더 적은 바이트 또는 둘 다 동안 전송되어온 세션의 플로우(flows)를 가속화하기 위해 연장된 기간 동안 전송되었던 플로우 중 하나 이상의 전송 레이트를 일시적으로 감소시킬 수 있다. 이것은 이러한 가속화된 세션이 전송을 더 빨리 완료하고 상기 셀 사이트에서 네트워크 리소스에 대한 경합을 줄임으로써, 사용 가능한 네트워크 리소스를 더 큰 지속적(persistent) 세션으로 늘릴 수 있다. 구현에서, 상기 프로세스(700)는, 복수의 세션이 교차 트래픽 경합(cross-traffic contention)으로 인해 동일한 셀 사이트에 대한 네트워크 전송 지연을 야기하는 경우, 가속화된 플로우에 대한 하나 이상의 세션의 우선순위를 지정한다.
[0140] 일 실시예에서, 상기 프로세스(700)는 상기 데이터 전송 세션의 엔드포인트의 IP 주소로부터 애플리케이션의 종류를 결정할 수 있다. 예를 들어, 엔드포인트로서 YouTube® 비디오 서버와 연관된 IP 주소를 갖는 데이터 전송 세션은 주문형 비디오 애플리케이션을 위한 데이터를 전달하는 것으로 간주될 수 있는 반면, 엔드포인트로서 World of Warcraft® 서버에 연관된 IP 주소를 갖는 데이터 전송 세션은 온라인 실시간 게임 애플리케이션을 위한 데이터를 전달하는 것으로 간주될 수 있다.
[0141] S702, S704 및 S706에서 프로세스(700)에 의해 수행되는 동작은 S702, S704 및 S706에서 프로세스(600)에 의해 수행되는 동작에 대응하므로, 간략화를 위해 그에 대한 설명을 생략한다.
[0142] S706에서, 상기 프로세스(700)는 상기 데이터 전송 세션에 적용 가능한 전송 혼잡 프로파일이 있는지 여부를 결정하기 위해 룩업(lookup) 동작을 수행한다. 상기 프로세스(700)는, 도 6 의 S606에서 설명된 바와 같이, 상기 데이터 전송 세션의 엔드포인트가 멤버(member)인 특정 서브네트워크의 전송 혼잡 프로파일에 대한 룩업 동작을 수행할 수 있다.
[0143] S708과 같이, 적용 가능한 전송 혼잡 프로토콜이 S706에서 발견되면, S708에서 상기 프로세스(700)는 S724로 진행하고; 그렇지 않으면, S708에서 상기 프로세스(700)는 S720으로 진행한다.
[0144] S720에서, 상기 프로세스(700)는, S708에서 발견된 전송 혼잡 프로파일이 없는 것에 응답하여, 디폴트 공정 배분 정책에 기초하여 전송 혼잡 프로파일을 생성한다. 그 다음, 상기 프로세스(700)는 생성된 전송 혼잡 프로파일을 적절한 데이터베이스에 저장할 수 있다. 예를 들어, 데이터 전송 세션이 엔드포인트로서 RAN의 사용자 디바이스를 가질 때, 상기 프로세스(700)는 RAN에 대한 전송 혼잡 프로파일의 데이터베이스에 생성된 전송 혼잡 프로파일을 저장할 수 있다.
[0145] S722에서, 상기 프로세스(700)는 생성된 전송 혼잡 프로파일과 관련된 트래픽을 모니터링하고 적절한 혼잡 레벨을 결정하기 위해 혼잡 분석을 수행하기 시작한다. 일 실시예에서, 혼잡 정책이 미리 알려지지 않은 세션에 대해 S722가 수행된다. 상기 세션의 특성을 측정하여 혼잡 레벨을 결정하고 상기 혼잡 레벨을 줄이기 위한 적절한 조치를 결정한다.
[0146] S724에서, 상기 프로세스(700)는 상기 데이터 전송 세션을 담당하는 애플리케이션을 식별한다. 상기 프로세스(700)는, 예를 들어 상기 데이터 전송 세션에서 전달되는 데이터의 콘텐츠를 조사하는 방식, 애플리케이션의 알려진 행동 패턴을 인식하는 방식, 또는 상기 데이터 전송 세션의 엔드포인트의 IP 주소에 대해 역방향 DNS(Domain Name Service) 룩업(lookup) 동작을 수행하는 방식을 통해 상기 애플리케이션을 식별할 수 있다.
[0147] S730에서, 상기 프로세스(700)는 S724에서 식별된 애플리케이션에 대한 애플리케이션 특정 공정 배분 정책이 존재하는지 여부를 결정한다. S724에서 애플리케이션이 식별되지 않은 경우, 상기 프로세스(700)는 상기 데이터 전송 세션을 위한 애플리케이션 특정(application-specific) 공정 배분 정책이 존재하지 않는다고 결정한다. 애플리케이션이 S724에서 식별된 경우, 상기 프로세스(700)는 애플리케이션 특정 공정 배분 정책의 데이터베이스를 확인하여 결정된 애플리케이션에 대해 하나가 존재하는지 여부를 결정한다.
[0148] 일 실시예에서, 애플리케이션 특정 공정 배분 정책의 데이터베이스는 서브 네트워크 또는 서브 네트워크 유형에 따라 구체화될 수 있는바, 예를 들어, 그러한 정책의 제1 데이터베이스는 RAN에 대해 존재할 수 있고 그러한 정책의 제2 데이터베이스는 케이블 IAN에 대해 존재할 수 있다. 사용되는 데이터베이스는 상기 데이터 전송 세션을 전달하거나 상기 데이터 전송 세션의 엔드포인트와 연관된(associated) 서브 네트워크의 유형에 따라 결정될 수 있다.
[0149] 상기 프로세스(700)가 상기 데이터 전송 세션을 위한 애플리케이션별 공정 배분 정책이 존재하지 않는다고 결정할 때, 상기 프로세스(700)는 S736으로 진행하고; 그렇지 않으면 상기 프로세스(700)는 S732로 진행한다.
[0150] S732에서, 상기 프로세스(700)는 S724에서 식별된 애플리케이션에 대응하는 애플리케이션 혼잡 프로파일을 검색한다.
[0151] S734에서, 상기 프로세스(700)는 S724에서 결정된 애플리케이션에 적용 가능한 적절한 공정 배분 정책을 룩업(조회) 및 선택하고, S706에서 선택된 전송 혼잡 프로토콜의 출력을 사용하여 상기 데이터 전송 세션에 상기 공정 배분 정책을 적용한다. 그 다음, 프로세스(700)는 S738로 진행한다.
[0152] S736에서, 상기 프로세스(700)는 상기 데이터 전송 세션에 적용 가능한 적절한 공정 배분 정책을 찾아 선택하고, S706에서 선택된 전송 혼잡 프로토콜의 출력을 사용하여 공정 배분 정책을 데이터 전송 세션에 적용한다. 그 다음, 상기 프로세스(700)는 S738로 진행한다.
[0153] S738에서, 상기 프로세스(700)는 네트워크 상태가 지속적으로 변하기 때문에 실시간 혼잡 메트릭을 기반으로 전송 혼잡 프로파일을 업데이트하고, 이에 따라 동일한 네트워크의 새로운 플로우(flow)로부터의 정보를 기반으로 상기 혼잡 프로파일이 업데이트될 필요가 있다.
[0154] S740에서, 상기 프로세스(700)는 상기 데이터 전송 세션이 종료되었는지 여부를 결정한다. 상기 데이터 전송 세션이 종료되면, S740과 같이 상기 프로세스(700)가 종료되고; 그렇지 않으면 상기 프로세스(700)는 S730으로 진행한다.
[0155] 이하에서 사용되는 바와 같이,'가입자(subscriber)'는 시스템에 가입된 UE를 의미한다. '채널'은 무선 네트워크의 셀과 같은 무선 통신 채널을 의미한다. 셀은 eNodeB의 섹터의 캐리어(즉, 600MHz, 700MHz, 850MHz, 1700/2100MHz, 1900MHz, 2300MHz, 또는 다른 캐리어 주파수와 연관된 대역폭과 같은 동작 대역폭)에 대응할 수 있고, 예를 들어, 3개의 섹터를 갖고 각 섹터에서 850 및 39,000MHZ 캐리어를 지원하는 eNodeB는 각각 고유 식별자를 갖는 6개의 셀을 갖는다. 셀의 고유 식별자는 E-UTRAN(Evolved UMTS Terrestrial Radio Access) ECI(Cell Identifier) 또는 ECGI(E-UTRAN Global Cell Identifier)일 수 있다.
[0156] 미국 특허 출원번호 16/363,749 (발명의 명칭 COORDINATED DATA SHARING IN VIRTUALIZED NETWORKING ENVIRONMENTS; 출원일 2019년 3월 25일; 공개번호 2019/0296991 A1)는 데이터 세션의 엔드포인트(IP 주소로 지시됨)와 네트워크 내에서 해당 엔드포인트의 위치(예: ECI 또는 ECGI로 식별되는 셀) 간의 관계를 발견하는 기술을 제공한다. 해당 내용에서 개시된 바와 같이, 제어 인터페이스(4G LTE 무선 네트워크의 S1-MME 인터페이스와 같은) 상의 메시지는 데이터 세션에서 사용되는 IP 주소와 상기 무선 네트워크(즉, 셀)의 부분을 지시하는 식별자(예를 들어, ECI) 사이의 매핑을 결정하기 위해 모니터링될 수 있다. 상기의 매핑은 매핑 데이터베이스에 저장되고, UE가 네트워크 내에서 이동하고 데이터 세션이 시작 및 종료될 때 업데이트된다. 그런 다음 데이터 세션을 분석하여 데이터 세션 분석(data session analytics)을 결정할 수 있다. 상기 데이터 세션 분석에는 데이터 세션 쓰루풋, 크기, 레이턴시 및 상기 데이터 세션의 IP 주소가 포함될 수 있다. 상기 매핑 데이터베이스의 정보는, 무선 네트워크 부분의 식별자(예: 셀을 식별하는 ECI)를 상기 데이터 세션 분석에 추가하는 데 사용될 수 있다. ECI-태깅된(ECI-tagged) 데이터 세션 분석은 이후 본 개시의 실시예에서 샘플로서 사용될 수 있다.
[0157] 도 8은 일 실시예에 따른 새로운 연결의 초기 혼잡에 관련된 속성을 결정하기 위한 프로세스(800)를 도시한다. 상기 프로세스(800)는 도 3의 전송 최적화(312)와 같은 최적화 시스템, UE에 의해 수행되는 통신 프록시(proxy) 프로그램 또는 이들의 조합을 사용하여 수행될 수 있으나, 실시 예는 이에 제한되지 않는다. 상기 프로세스(800)는 디바이스의 인터넷 측 수신 윈도우를 스케일링하고, 초기 혼잡 윈도우(initial congestion window)를 결정하고, 초기 혼잡 윈도우 알고리즘을 선택하거나, 또는 이들의 조합에 의해 동작할 수 있다.
[0158] 상기 프로세스(800)는 요청된 새로운 연결에 응답하여 S802에서 시작한다.
[0159] S804에서, 상기 프로세스(800)는 연결이 TCP(Transmission Control Protocol) 연결인지 여부를 결정한다. 상기 연결이 TCP 연결인 것으로 결정되면, S804에서 상기 프로세스(800)는 S806으로 진행하고; 그렇지 않으면, 상기 프로세스(800)는 S808로 진행한다.
[0160] S806에서, 상기 프로세스(800)는 UE의 광고(Advertised)된 TCP 윈도우가 효과적으로 확대되도록 한다.
[0161] 일 실시예에서, 상기 프로세스(800)는 UE(예를 들어, 서버)의 전송 세션의 다른 엔드포인트인 다른 디바이스를 위한 SYN 패킷을 UE로부터 수신하는 방식으로, TCP 3-방향 핸드셰이크의 일부로서 UE의 광고(advertised)된 TCP 수신 윈도우를 효과적으로 확대(enlarge)한다. 상기 SYN 패킷은 상기 UE의 광고된 TCP 수신 윈도우(예: 인터넷 측 수신 윈도우)를 포함한다. 그 다음, 상기 프로세스(800)는 상기 SYN 패킷에서 광고된 TCP 수신 윈도우를 구성 가능한 인자(예를 들어, 4)만큼 스케일링하고, 스케일링된 광고된 TCP 윈도우를 포함하는 SYN 패킷을 상기 서버에 포워딩할 수 있다. 일 실시예에서, 상기 서버가 SYN/ACK 패킷을 상기 UE에 전송하는 방식으로 상기 SYN 패킷에 응답하고 상기 UE가 ACK 패킷으로 응답한 이후에, 상기 프로세스(800)는 상기 UE로부터 상기 ACK 패킷을 수신하고, 상기 광고된 TCP 수신 윈도우를 스케일링하고, 상기 스케일링된 광고된 TCP 수신 윈도우를 포함하는 ACK 패킷을 상기 서버로 송신한다.
[0162] 일 실시예에서, 상기 전송 세션에서 UE로부터 서버로의 후속 패킷은 또한 스케일링된 그들의 광고된 TCP 윈도우를 가질 수 있다. 또한, 최적화 시스템은 UE가 패킷을 수신할 수 있을 때 UE에 전달하기 위해, 스케일링된 광고된 TCP 수신 윈도우에 따라, 상기 전송 세션에서 상기 서버로부터의 패킷을 버퍼링하고 ACK 응답을 할 수 있다. 이것은 상기 최적화 시스템이 UE보다 더 빨리 서버로부터 데이터를 ACK할 수 있게 하여, 상기 시스템이 UE의 광고된 클라이언트 수신 윈도우에서 가능한 것보다 더 빠른 속도로 데이터를 UE에 전달할 수 있게 한다.
[0163] 상기 최적화 시스템은 이러한 방식으로 버퍼 병목 현상을 제거할 수 있다. 클라이언트가 이후에 더 빠른 속도로 수신할 수 있으면 상기 시스템은 서버에 추가 데이터를 요청할 필요 없이 더 빠른 속도로 최적화 시스템에 저장된 데이터를 보낸다.
[0164] 상기 최적화 시스템에서 요청한 스케일링 또는 추가 데이터의 양은, 네트워크 토폴로지 정보(예: 사용자 셀 위치 및 목표 쓰루풋 추정치), 데이터 볼륨 전달(data volume delivery), 애플리케이션 타입, 사용자 이동성 정도, 정적 설정(static setting), 또는 이들의 조합에 기반할 수 있다. 즉, 상기 최적화 시스템은 네트워크 토폴로지 및 기타 관련 요소에 대한 이해(understanding)를 기반으로 상기 서버에 얼마나 더 많은 데이터를 동적으로 요청할 것인지 설정한다.
[0165] 이러한 특징은 정적 설정을 적용하면서 동적으로 설정을 조정하지 않는 TCP 프록시에 비해 향상된 성능을 제공하는바, 이는 특히 그러한 TCP 프록시는 많은 네트워크 토폴로지 정보(예: 공유 채널 상의 사용자 수 및 활성 사용자 수) 등에 대해 모르기 때문이다.
[0166] S806을 수행한 후, 상기 프로세스(800)는 S808로 진행한다.
[0167] S808에서, 상기 프로세스(800)는 상기 연결에 의해 사용되는 채널에 대해 혼잡 프로파일이 존재하는지 여부를 결정한다. 여기서 채널은 E-UTRAN 셀 식별자(ECI) 또는 E-UTRAN EGCI(Global Cell Identifier)에 의해 식별되는 RAN의 셀에 해당할 수 있다. 일 실시예에서, 혼잡 프로파일이 존재하는지 여부는 도 6의 프로세스(600)의 단계 S606에서 설명된 바와 같이 결정될 수 있다. 상기 연결에 의해 사용되는 채널에 대한 혼잡 프로파일이 존재한다는 결정에 응답하여, S808에서 상기 프로세스(800)는 S812로 진행하고; 그렇지 않으면 상기 프로세스(800)는 S810으로 진행한다.
[0168] 실시예에서, 채널에 대한 유효한 혼잡 프로파일은 직전 간격(예를 들어, 마지막 30초)에서 이용 가능한 충분한 양의 관련 데이터가 있는 경우에만 존재할 수 있다. 충분한 양의 데이터는 채널의 플로우(즉, 연결)를 모니터링하여 얻은 충분한 수의 데이터 샘플에 해당할 수 있다.
[0169] S810에서, 상기 프로세스(800)는 상기 프로세스(800)의 후속 단계들을 위해 선택된 혼잡 프로파일로서 글로벌 디폴트 혼잡 프로파일(global default congestion profile)을 사용하기로 결정한다. 상기 글로벌 디폴트 혼잡 프로파일은, 상기 프로세스(800)가 어떤 채널을 통해 세션이 전송되고 있는지 모르거나, 해당 채널에 대한 정보가 없거나, 또는 해당 채널에 대한 부실 또는 유효하지 않은 정보만 가지고 있는 경우 (여기서 부실 정보는 미리 결정된 시간보다 오래된 정보임)에 사용되는, 상기 최적화 시스템의 미리 정해진 혼잡 프로파일일 수 있다. 일 실시예에서, 상기 디폴트 혼잡 프로파일은 초기 느린 시작 단계를 포함하는 혼잡 프로파일을 포함할 수 있다. 그 다음, 상기 프로세스(800)는 S820으로 진행한다.
[0170] S812에서, 상기 프로세스(800)는 상기 채널에 대한 기존 혼잡 프로파일이 유효한지 여부를 결정한다. 실시예에서, 예를 들어 상기 채널로부터 너무 적은 최근 샘플에 기초하는 경우(또는 어떠한 최근 샘플도 없는 경우) 즉 너무 낡은 경우, 혼잡 프로파일은 유효하지 않을 수 있다. 일 실시예에서, 혼잡 프로파일은 채널로부터의 최근 샘플이 통계적 기준(statistical criteria)을 만족하지 않는 경우(예를 들어 샘플의 분산 또는 표준 편차가 너무 높은 경우) 유효하지 않을 수 있다. 상기 채널에 대한 혼잡 프로파일이 유효하다는 결정에 응답하여; S812에서 상기 프로세스(800)는 S816으로 진행하고; 그렇지 않으면 상기 프로세스(800)는 S814로 진행한다.
[0171] S814에서, 상기 프로세스(800)는 상기 프로세스(800)의 후속 단계들을 위해 선택된 혼잡 프로파일로서 채널에 대한 디폴트 혼잡 프로파일(default congestion profile)을 사용하기로 결정한다. 일 실시예에서, 상기 채널에 대한 상기 디폴트 혼잡 프로파일은 상기 채널의 유형 또는 특성(예: 크기)에 상응하는 상기 최적화 시스템의 미리 결정된 혼잡 프로파일일 수 있다. 일 실시예에서, 상기 채널에 대한 상기 디폴트 혼잡 프로파일은 상기 채널에 대한 이력 학습 프로파일(historical learned profile)일 수 있다. 그 다음, 상기 프로세스(800)는 S820으로 진행한다 .
[0172] S816에서, 상기 프로세스(800)는 상기 프로세스(800)의 후속 단계들을 위해 선택된 혼잡 프로파일로서, 상기 채널에 대한 기존의 유효한 혼잡 프로파일을 사용하기로 결정한다. 그 후, 상기 프로세스(800 )는 S820으로 진행한다.
[0173] S820에서, 상기 프로세스(800)는 접속하는 가입자(즉, 가입된 디바이스)에 대한 목표 쓰루풋을 결정하기 위해 선택된 혼잡 프로파일을 사용한다. 가입자에 대한 목표 쓰루풋은 상기 가입자가 만든 모든 연결에 대한 결합된 목표 쓰루풋에 해당할 수 있다.
[0174] 일 실시예에서, 상기 가입자 목표 스루풋(subscriber target throughput)은 상기 네트워크로부터 샘플링된 데이터를 사용하거나, 또는 상기 UE가 개시(initiate)한 셀(특정 ECI 또는 EGCI에 대응)에 매핑되는 복수의 연결로부터의 크라우드 소싱 데이터를 사용하거나, 또는 양자를 모두 사용하여 추정될 수 있다.
[0175] S822에서, 상기 프로세스(800)는 S820에서 결정된 가입자 목표 쓰루풋을 스케일-업 인자(scale-up factor)에 의해 스케일링한다. S822에서 사용된 상기 스케일-업 인자(scale-up factor)는 S806에서 사용된 스케일링 인자와 다를 수 있으며, 상기 네트워크 파라미터 및 프로파일 유효성 메트릭(profile validity metrics)에 기초할 수 있다. 공정 배분 레이트(fair share rate)에 의해 지시(indication)되는 것보다 더 높은 초기 혼잡 윈도우를 설정하는 것이 일반적으로 더 나은 것으로 관찰되었기 때문에 상기 스케일-업 인자(scale-up factor)는 1보다 클 수 있다.
[0176] 실시예에서, 상기 스케일-업 인자(scale-up factor)는 정적으로 설정될 수 있다.
[0177] 실시예에서, 상기 스케일-업 인자는 셀 내의 사용자의 수 또는 셀의 eNodeB의 버퍼 크기와 같은 네트워크 인자에 따라 수정될 수 있다.
[0178] 실시예에서, 상기 스케일-업 인자(scale-up factor)는 목표 쓰루풋 추정 정확도 메트릭(Target Throughput Estimate Accuracy Metric)과 같은 목표 쓰루풋 추정치의 정확도 추정치에 기초하여 조정될 수 있으며, 여기서 더 높은 쓰루풋 추정 정확도는 보다 보수적인(conservative) 스케일-업 인자에 대응한다. 상기 목표 쓰루풋 추정 정확도는 셀의 활성 사용자 수에 따라 결정될 수 있으며, 여기서 사용자 수가 많을수록 쓰루풋 추정 정확도가 높고, 목표 쓰루풋 추정 정확도가 낮을수록 셀의 사용자 수가 적다. 셀에 더 적은 수의 사용자가 있을 때 채널에 대한 경쟁이 적고 따라서 연결에 대한 쓰루풋이 더 높을 수 있다.
[0179] 상기 목표 쓰루풋 추정 정확도는 또한 대역폭(예: 5Mhz 셀, 10MHz 셀, 20MHz 셀 등)에 해당하는 셀 크기에 따라 결정될 수 있으며, 여기서 주어진 정확도 레벨을 설정하는 데 필요한 사용자의 수는 셀에 따라 증가한다. 크기. 예를 들어, 5MHz 셀에 대한 적절한 추정치를 달성하기 위한 적절한 사용자 수는 20MHz 셀에 대한 적절한 추정치를 달성하기에 충분하지 않을 수 있다.
[0180] 따라서, 실시예에서, 상기 초기 혼잡 윈도우는 혼잡 회피를 위한 최적의 혼잡 윈도우를 언더슈트(undershoot)보다 오버슈트(overshoot)할 가능성이 더 크도록 적극적(aggressively)으로 설정할 수 있다. 이는 eNodeB는 클라이언트에 대한 더 큰 데이터 버스트를 수용할 수 있는 큰 버퍼를 가질 수 있기 때문이다. 따라서, 일 실시예에서, 상기 스케일-업 인자(scale-up factor)는 초기 혼잡 윈도우에서 오버슈트하도록 구성된다.
[0181] S824에서, 상기 프로세스(800)는 스케일링된 상기 가입자 쓰루풋 목표에 기초하여 연결에 대한 목표 쓰루풋을 추정한다. 따라서 상기 프로세스(800)는 연결 스루풋 목표(connection throughput target)를 생성하기 위해, 상기 가입자와 연관된 하나 이상의 연결 사이에서 스케일링된 상기 가입자 스루풋 목표를 나눌 수 있다.
[0182] S824에서, 상기 프로세스(800)는 선택된 혼잡 프로파일, S824에서 결정된 연결에 대한 목표 스루풋, 또는 둘 모두에 따라 상기 연결에 대한 혼잡 파라미터를 설정한다. 상기 혼잡 파라미터를 설정하는 것은 초기에 느린 시작 단계(slow start stage)가 사용되는지 여부를 설정하는 것을 포함할 수 있다. 초기에 느린 시작 단계(slow start stage)가 사용되는 경우, 상기 혼잡 파라미터를 설정하는 것은 상기 혼잡 회피 단계로의 전환을 위한 임계 혼잡 윈도우 크기(threshold congestion window size)를 설정하는 것을 포함할 수 있다.
[0183] 상기 혼잡 파라미터를 설정하는 것은 상기 초기 혼잡 윈도우를 설정하는 것을 포함할 수 있다. 일 실시예에서, 상기 초기 혼잡 윈도우 크기는 상기 연결에 대한 RTT(round-trip time)에 의해 나뉜 연결에 대한 목표 스루풋에 따라 결정된다.
[0184] 도 9a는 일 실시예에 따른 혼잡 프로파일 데이터 획득 프로세스(900A)를 예시한다. 상기 프로세스(900A)는 도 3의 전송 최적화(312)와 같은 최적화 시스템을 사용하여 수행될 수 있다.
[0185] S902에서 플로우 측정 트리거(flow measurement trigger)가 발생한다. 일 실시예에서, 플로우 측정 트리거는 네트워크의 특성(즉, 통계)을 주기적으로 모니터링하고 평가하는 프로세스의 결과로 발생할 수 있다. 샘플링 기간(period)은 설정 가능할 수 있다. 예를 들어, 프로세스는 15분마다 선택된 특성 세트를 샘플링할 수 있다. 하나 이상의 통계가 미리 정해진 기준을 만족하는 경우, 플로우 측정이 수행될 수 있다. 예를 들어, 실시예에서, 주기적으로 실행되는 모니터링 프로세스가 해당 셀의 평균 사용자 쓰루풋이 3MBps 미만임을 검출하는 경우 플로우 측정이 트리거될 수 있지만, 실시예는 이에 제한되지 않는다. 상기 플로우 측정이 트리거되면 네트워크 특성의 샘플이 채취될 수 있다. 샘플은 플로우 측정을 촉발한 모니터링과 비교하여 증가된 시간 단위로 채취될 수 있다. 예를 들어, 샘플은 15분에 한 번이 아니라 초당 여러 번 데이터를 수집할 수 있다.
[0186] S904에서, 상기 프로세스(900A)는 S902에서 수집된 샘플이 가입자에 대한 집계 측정치에 포함될 자격이 있는지 여부를 결정한다. 샘플이 포함될 적격이 있는지 여부는 예를 들어 샘플의 기간이 충분한지, 샘플이 활동의 버스트에서 나온 것인지, 쓰루풋이 혼잡 윈도우에 의해 제한되는 동안 샘플이 수집되었는지, 해당 샘플에 대해 얼마나 많은 데이터가 버퍼링되었는지, 샘플이 수집된 기간 동안 플로우에 이상(재전송과 같은)이 있었는지 여부 또는 이들의 조합에 따라 결정될 수 있지만, 실시예는 이에 제한되지 않는다.
[0187] 샘플이 적격으로 결정되면, S904에서 상기 프로세스(900A)는 S906으로 진행한다. 상기 샘플이 부적격으로 결정되면, S904에서 상기 프로세스(900A)가 종료된다.
[0188] S906에서, 상기 프로세스(900A)는 가입자를 위한 샘플의 집합에 적격 샘플을 추가한 다음 S912로 진행한다.
[0189] 샘플을 획득하기 위한 다른 옵션에서, S910에서 상기 프로세스(900A)는 현재 사용자 쓰루풋에 대한 추가 정보를 제공하는 외부 시스템으로부터 측정값(예를 들어, 쓰루풋 또는 RTT 레이턴시)을 수신한다.
[0190] 예를 들어, 실시예에서, 상기 프로세스(900A)는 (엘리펀트(Elephant) 플로우에 의해 운반되는 것과 같은) 큰 파일에 대한 쓰루풋의 측정치를 외부 시스템으로부터 초 단위로 수신할 수 있다. 이는 일반적으로 전체 네트워크 채널을 요구하고 더 큰 데이터 버스트를 갖는 데이터 세션에 대해 측정되기 때문에 매우 우수한 데이터 샘플일 수 있다.
[0191] 다른 예에 대해, 실시예에서, 상기 프로세스(900A)는 UDP-QUIC(User Datagram Protocol- Quick UDP Internet Connection) 데이터 세션에 대한 측정을 수신할 수 있다. 이러한 샘플을 수신하고 사용하면 TCP 기반 ICWA(initial congestion window algorithm; 초기 혼잡 윈도우 알고리즘)에서 UDP 및 QUIC 데이터 세션에 대한 지식 부족을 해결할 수 있다.
[0192] S910에서 외부 측정을 수신하면, 상기 프로세스(900A)는 S912로 진행한다.
[0193] S912에서, 상기 프로세스(900A)는 S902 및 S910을 통해 수신된 측정에 각각의 가중치를 적용한다. 상기 프로세스(900A)는 S914로 진행한다. 일 실시예에서, 상기 측정값은 예를 들어 스트림의 타입(예를 들어, TCP, UDP, QUIC)에 따르는 것 같이 데이터 소스의 가능한 관련성에 따라 가중될 수 있으며, 상기 측정값은 측정값을 제공하는 외부 시스템의 적절성 및/또는 신뢰성, 측정을 수행한 플로우의 크기, 또는 이들의 조합에 대응할 수 있지만, 실시예는 이에 제한되지 않는다. 상기 가중치는 관련 네트워크 상태의 신뢰할 수 있는 지시자(indicators)가 될 가능성이 있는 측정에 더 많은 중요성을 두도록 작동한다.
[0194] S914에서, 상기 프로세스(900A)는 측정이 시작된 채널(예를 들어, ECI에 대응하는 셀)의 혼잡 프로파일에 사용되는 측정의 데이터베이스에 가중 측정을 전송한다. 일 실시예에서, 혼잡 프로파일은 ECI 및 시간에 의해 윈도우화되는 복수의 측정치를 포함한다. 이 문서의 다른 곳에서 설명된 바와 같이, 혼잡 프로파일은 데이터 스트림의 ICWA(initial congestion window algorithm; 초기 혼잡 윈도우 알고리즘)를 결정하거나, 및/또는 상기 ICWA의 하나 이상의 파라미터를 설정하는 데 사용될 수 있다.
[0195] 상기 데이터베이스는 ECI에 대응하는 셀의 세션들로부터 수집된 데이터의 ECI 크라우드 소싱 데이터 데이터베이스일 수 있다. 그런 다음 상기 데이터베이스는 예를 들어 셀의 실시간 조건에 따라 TCP 초기 혼잡 윈도우 알고리즘(ICWA)을 선택하고 파라미터화하는 데 사용될 수 있다.
[0196] 가중 측정을 데이터베이스에 보고한 후, S914에서 상기 프로세스(900A)가 종료된다.
[0197] 도 9b는 일 실시예에 따른 측정 프로세스(900B)를 예시한다. 상기 프로세스(900B)는 도 9의 상기 프로세스(900A)에 측정치를 제공하는데 사용될 수 있지만, 본 실시예가 이에 한정되는 것은 아니다. 각 샘플은 샘플링 간격에 따라 주기적으로 취한 샘플들 중 주기적 샘플일 수도 있고, 혼잡 이벤트에 응답하여 취하는 혼잡 기반 샘플일 수도 있다.
[0198] S920에서, 상기 프로세스(900B)는 혼잡 모니터링이 수행되고 있는 데이터 플로우(혼잡 인식 플로우)에 혼잡 이벤트(congestion event)가 직면했다는 지시(indication)를 수신한다. 혼잡 이벤트는 손실된 패킷의 재전송, 스퓨리어스(spurious) 재전송의 검출, 혼잡 윈도우의 디플레이션, (deflation) 중복 ACK 수신, 또는 기타 TCP 혼잡 이벤트일 수 있지만, 실시예는 이에 제한되지 않는다. 혼잡 이벤트의 지시(indication)에 응답하여, 상기 프로세스(900B)는 S922로 진행한다.
[0199] S922에서, 상기 프로세스(900B)는 상기 혼잡에 대응하는 네트워크가 혼잡 기반 샘플링(congestion-based sampling)에 적합한지 여부를 결정한다. 네트워크가 혼잡 기반 샘플링에 적합한지 여부는, 예를 들어, 상기 네트워크의 종류, 상기 네트워크에서 활성화된 UE의 수, 및 상기 네트워크의 부하 레벨에 따라 결정될 수 있다. 예를 들어, 실시예에서, 혼잡 이외의 이유로 패킷을 잃을 수 있는 RAN(Radio Access Networks) 및 기타 네트워크, 활성 상태인 UE 수가 적은 네트워크 및/또는 부하가 적은 네트워크는 혼잡 기반 샘플링에 적합한 것으로 간주되지 않을 수 있다.
[0200] 상기 네트워크가 혼잡 기반 샘플링에 적합하다고 결정되면, S922에서, 상기 프로세스(900B)는 S924로 진행하고; 그렇지 않으면 상기 프로세스(900B)가 종료된다.
[0201] S924에서, 상기 프로세스(900B)는 네트워크 측정의 샘플을 취하고, 적격성 스크리닝(eligibility screening) 및 데이터베이스로의 통합(integration)을 위해 상기 샘플을 프로세스(예를 들어, 도 9a의 프로세스(900A)와 같은)에 제출한다.
[0202] S926에서, 상기 프로세스(900B)는 샘플링 간격이 경과되었다는 지시(indication) 를 수신하는바, 이 샘플링 간격은 S926의 수행 직전에 시작되었을 수 있다. 상기 샘플링 간격이 경과했다는 지시(indication)에 응답하여, 상기 프로세스(900B)는 S928로 진행한다.
[0203] S928에서, 상기 프로세스(900B)는 상기 혼잡에 대응하는 상기 네트워크가 주기적 샘플링에 적합한지 여부를 결정한다. 예를 들어, 혼잡 기반 샘플링이 충분하거나 네트워크 트래픽이 산발적(sporadic)이어서 주기적 샘플링으로 정확하게 특성화될 가능성이 없는 경우 네트워크는 주기적 샘플링에 적합하지 않은 것으로 간주될 수 있다.
[0204] 실시예에서, 네트워크는 혼잡 기반 샘플링(congestion-based sampling)과 주기적 샘플링(periodic sampling) 모두에 적합할 수 있다.
[0205] 상기 네트워크가 혼잡 기반 샘플링에 적합하다고 결정되면, S928에서, 상기 프로세스(900B)는 S924로 진행하고; 그렇지 않으면 상기 프로세스(900B)가 종료된다.
[0206] 도 9c는 일 실시예에 따른 혼잡 샘플 적격성(congestion sample eligibility)을 결정하기 위한 프로세스(900C)를 예시한다. 상기 프로세스(900C)는 도 9B의 프로세스(900B)의 S924에서 사용될 수 있다. 상기 프로세스(900C)는 예를 들어 게이트웨이의 전송 옵티마이저에 의해 수행될 수 있다.
[0207] S940에서, 상기 프로세스( 900C)는 TCP 데이터 스트림으로부터 데이터 샘플을 캡처한다. 상기 TCP 데이터 스트림은 데이터 세션에 해당할 수 있다.
[0208] S942에서, 상기 프로세스(900C)는 상기 TCP 데이터 스트림의 연결 파라미터를 사용하여, 데이터 샘플이 획득되었을 때 TCP 데이터 스트림의 거동(behavior)이 TCP 데이터 스트림을 운반하는 채널의 정상 상태 성능(steady-state performance)에 대응하는지 여부를 결정한다. 상기 거동(behavior)이 정상 상태 성능에 해당하는지 여부는, 상기 TCP 데이터 스트림의 크기, 상기 TCP 데이터 스트림에 해당하는 연결이 피어(peer)의 수신 윈도우에 의해 병목 현상이 발생하는지 여부, 상기 연결이 느린 시작에 빠졌는지 여부, 선택된 혼잡 제어 알고리즘을 기초로 변화할 수 있는 혼잡 제어 알고리즘 파라미터, 또는 이들의 조합에 따라 결정될 수 있지만, 실시예는 이에 제한되지 않는다.
[0209] S946에서, 상기 프로세스(900C)는 상기 TCP 데이터 스트림에 대응하는 연결이 현재 데이터 샘플의 소스로서 적격인지 여부를 결정한다. 상기 연결의 적격성은 상기 데이터 샘플이 획득되었을 때 상기 TCP 데이터 스트림의 거동(behavior)이 S942에서 결정된 바와 같이 상기 TCP 데이터 스트림을 운반하는 채널의 정상 상태 성능에 대응하는지 여부에 따라 결정될 수 있다.
[0210] 상기 연결이 적격인 경우, S946에서 상기 프로세스(900C)는 S948로 진행하고; 그렇지 않으면, 상기 프로세스(900C)는 S954로 진행한다.
[0211] S948에서, 상기 프로세스(900C)는 상기 데이터 샘플이 채널에 대한 혼잡 프로파일을 결정하는데 사용하기에 적격인지 여부와 관련될 수 있는 데이터 샘플의 특성을 평가한다. S948에서 평가된 데이터 샘플의 특성은 패킷 간 시간 간격(inter-packet time gap), 버스트 지속 시간(burst duration) 또는 둘 다를 포함할 수 있으나, 실시 예는 이에 제한되지 않는다.
[0212] S950에서, S948에서 평가된 특성은 데이터 샘플이 혼잡 프로파일을 결정하는 데 사용하기에 적격인지 여부를 결정하는 데 사용된다. 일 실시예에서, 데이터 샘플은 대응하는 패킷 간 시간 간격(inter-packet time gap)이 시간 간격 임계값을 초과할 때 적격이 아닐 수 있다. 일 실시예에서, 데이터 샘플은 대응하는 버스트 길이가 버스트 지속 기간 임계값 미만인 경우 적격이 아닐 수 있다.
[0213] 예시적인 실시예에서, 상기 프로세스(900C)는 다음과 같이 S942 내지 S950에 대략 대응하는 이하의 단계들을 수행할 수 있다:
- 혼잡 회피 알고리즘이 혼잡 회피 단계에 있고 현재 사용 가능한 최대 채널 쓰루풋("병목 쓰루풋(bottleneck throughput)")에 도달하는 지점까지 혼잡 윈도우가 증가하여 혼잡 이벤트를 일으키는 경우, TCP 연결이 샘플링에 적격인지를 결정하는 단계;
- 상기 연결이 적합할 때, 상기 혼잡 이벤트가 발생한 시간의 상기 TCP 혼잡 파라미터(예: 상기 혼잡 윈도우의 크기, 상기 연결의 RTT(왕복 레이턴시) 또는 둘 다)를 기반으로 병목 쓰루풋(bottleneck throughput)을 추정하는 단계;
- 상기 TCP 데이터 스트림의 크기, 상기 연결이 피어의 수신 윈도우에 의해 병목 현상(bottlenecked)이 발생하는지 여부, 상기 연결이 상기 느린 시작 단계(slow-start stage)로 떨어졌는지 여부, 혼잡 제어 알고리즘 파라미터, 또는 이들의 조합과 같은, 상기 TCP 연결의 속성에 따라 추정되는 병목 쓰루풋의 유효성을 확인하는 단계; 및
- 상기 추정된 병목 스루풋이 유효한 것으로 결정되면, 상기 추정된 병목 스루풋을 셀 혼잡 프로파일에 통합하는 단계.
[0214] 상기 데이터 샘플이 적격인 경우, S950에서 상기 프로세스(900C)는 S952로 진행하고; 그렇지 않으면, 상기 프로세스(900C)는 S954로 진행한다.
[0215] S952에서, 상기 프로세스(900C)는 채널에 대한 혼잡 프로파일을 생성하거나 업데이트하기 위해 상기 데이터 샘플을 사용한다.
[0216] S954에서, 상기 프로세스(900C)는 상기 데이터 샘플을 사용하지 않고 종료된다.
[0217] 도 10은 일 실시예에 따른 혼잡 프로파일 관련 크라우드 소싱 데이터(congestion profile related crowd-sourced data)를 사용하여 결정된 결과의 데이터 유효성을 결정하기 위한 프로세스(1000)를 예시한다.
[0218] S1002에서, 프로세스(1000)는 시간 윈도우에 따라 혼잡 프로파일 관련 크라우드 소싱 데이터를 제한한다. 예를 들어, 데이터는 지난 30초 동안 채취한 샘플로 제한될 수 있다. 이렇게 하면 네트워크의 현재 상태를 반영하지 않을 수 있는 오래된 데이터가 다음 단계에 사용되는 것을 방지할 수 있다.
[0219] S1004에서, 상기 프로세스(1000)는 시간 윈도우 크라우드 소싱 데이터(time-windowed crowd-sourced data)에 신호 처리 기능을 적용함으로써 가입자에 대한 추정된 특성을 결정한다. 상기 추정된 특성은 추정된 공정 배분 대역폭(fair-share bandwidth), 추정된 목표 쓰루풋 등일 수 있다. 상기 신호 처리는 평균 계산, 분산 또는 표준 편차 계산 등과 같은 통계적 연산을 포함할 수 있으나, 실시 예는 이에 제한되지 않는다.
[0220] S1006에서, 상기 프로세스(1000)는 상기 가입자에 대한 추정된 특성에 대한 데이터 유효성 지시자(indicators)를 계산한다. 상기 데이터 유효성 지시자는 목표 쓰루풋 정확도 메트릭과 같은 정확도 메트릭을 포함할 수 있다. 상기 데이터 유효성 지시자는 상기 시간 윈도우 크라우드 소싱 데이터(time-windowed crowd-sourced data)의 샘플 수, 상기 시간 윈도우 크라우드 소싱 데이터의 통계적 속성(예: 분산), 상기 시간 윈도우 크라우드 소싱 데이터 상에서 샘플로 표시되는 활성 사용자 수, 상기 시간 윈도우 크라우드 소싱 데이터의 샘플로 표시되는 특정 셀의 활성 사용자 수, 상기 시간 윈도우 크라우드 소싱 데이터의 샘플로 표시되는 데이터 세션 수, 상기 시간 윈도우 크라우드 소싱 데이터의 샘플에 의해 표현되는 특정 셀의 데이터 세션의 수, 셀 크기(셀의 대역폭과 상관될 수 있음), 또는 이들의 조합을 기초로 결정될 수 있지만, 실시예는 이에 제한되지 않는다.
[0221] S1008에서, 상기 프로세스(1000)는 S1002로 진행하기 전에 S1002의 가장 최근 수행에서 시작하는 데이터 업데이트 간격과 같은 데이터 업데이트 간격(data update interval)이 경과할 때까지 대기한다. 일 실시예에서, 상기 데이터 업데이트 간격(data update interval)은 S1002에서 데이터를 시간 윈도우(time-window)하는 데 사용되는 간격 또는 그 일부일 수 있지만, 실시예는 이에 제한되지 않는다.
[0222] 도 11은 일 실시예에 따른, 데이터 세션으로부터 ECI 크라우드 소스 데이터를 획득하기 위한 프로세스(1100)를 예시한다. 상기 프로세스(1100)는 전송 최적화 기능을 포함하는 게이트웨이에 의해 수행될 수 있지만, 실시예는 이에 제한되지 않는다. 상기 프로세스(1100)는 동일한 셀(크라우드 소싱)의 데이터 세션으로부터 수집된 데이터에 머신 러닝(Machine Learning; ML) 클러스터링 기술을 적용하여 각각의 셀에 대한 채널 추정 모델을 생성할 수 있다. 셀 내의 각 데이터 세션은 모델(예: 쓰루풋, 레이턴시)에 기여하여 셀 조건이 변경됨에 따라 실시간 모델을 허락할 수 있다. 채널 추정 모델은 각 셀 내의 서로 다른 조건에 대해 생성된다. 일 실시예에서, 상기 프로세스(1100)에 의해 생성된 모델은 ICWA의 파라미터를 결정하고 설정하기 위해 사용될 수 있다.
[0223] S1102에서, 상기 프로세스(1100)는 상기 데이터 세션이 전송되는 네트워크 부분(즉, 셀)에 대한 식별자(여기서는 ECI)를 결정한다. 상기 ECI는 데이터 세션의 엔드포인트에 해당하는 IP 주소와, ECI 및 IP 주소 간의 매핑을 포함하는 데이터베이스를 이용하여 결정될 수 있다. 상기 IP 주소는 셀 내 UE의 IP 주소일 수 있다.
[0224] S1104에서, 상기 프로세스(1100)는 상기 데이터 세션으로부터 새로운 샘플을 기록한다. 상기 샘플은 ECI에 의해 식별된 셀의 채널 상태와 관련된 측정을 포함할 수 있다.
[0225] S1106에서, 상기 프로세스(1100)는 본 명세서에서 크라우드 소싱 데이터로 지칭되는 ECI에 대한 샘플들의 컬렉션에 새로운 샘플을 추가한다. 샘플 컬렉션에는 셀을 통해 전송되는 다른 데이터 세션의 샘플이 포함될 수 있다.
[0226] S1108에서, 상기 프로세스(1100)는 크라우드 소싱 데이터를 필터링하기 위해 2차 통계(예: 분산), 3차 통계(예: 왜도), 기계 학습 등을 적용할 수 있다. 상기 필터링은 셀의 상태를 나타내지 않을 가능성이 높은 데이터를 제거하도록 작동할 수 있다. 예를 들어, S1108에서 상기 프로세스(1100)는 훈련된 신경망에 의해 이상값으로 인식된 샘플, 2차원 데이터세트의 중심 밖에 있는 샘플, 또는 편차의 중심 95% 밖에 있는 샘플을 필터링할 수 있다.
[0227] 크라우드 소싱 데이터를 필터링한 후, S1108에서 상기 프로세스(1100)는 필터링되지 않은 샘플의 통계적 특성(예를 들어, 평균, 분산 등)을 생성할 수 있다.
[0228] S1110에서, 상기 프로세스(1100)는 S1108의 결과를 사용하여 ECI에 대한 추정 모델을 업데이트한다. 상기 추정 모델은 ECI가 지시하는 셀에 대한 채널 혼잡 프로파일을 포함할 수 있다.
[0229] 도 12는 일 실시예에 따른, 새로운 연결을 위한 초기 혼잡 윈도우 알고리즘(ICWA) 및 그 파라미터를 결정하기 위한 프로세스(1200)를 도시한다.
[0230] 상기 프로세스(1200)는 가입자가 데이터 세션에 대한 새로운 TCP 연결을 요청할 때 S1202에서 시작한다.
[0231] S1204에서, 상기 프로세스(1200)는 가입자의 현재 셀을 결정하고, 상기 데이터 세션의 가입자-단 엔드포인트(subscriber-end endpoint)의 IP 주소를 사용하여 새로운 데이터 세션에 대응하는 ECI를 결정한다.
[0232] S1206에서, 상기 프로세스(1200)는 S1204에서 결정된 ECI를 사용하여 ECI에 대응하는 셀에 대한 채널 추정 모델을 획득한다. 상기 채널 추정 모델은 도 11의 프로세스(1100)를 사용하여 생성된 채널 추정 모델일 수 있다. 상기 채널 추정 모델은 상기 셀에 대한 혼잡 프로파일을 포함할 수 있다.
[0233] S1208에서, 상기 프로세스(1200)는 상기 데이터 세션에 사용할 ICWA 및 ICWA의 파라미터를 결정할 수 있다. 상기 ICWA의 파라미터는 초기 혼잡 윈도우(initial congestion window)를 포함할 수 있다.
[0234] 일 실시예는 네트워크 또는 셀 상태의 실시간 보기(real time view)를 얻기 위하여 크라우드소싱된 정보(crowdsourced information)의 사용을 통해 무선 네트워크 개선 및 모니터링을 가능하게 하도록 조각들을 모으는 이동성 시스템에 관한 것이다. 본 명세서에서 사용되는 바와 같이, 상기 실시간 보기(real time view)는, 예를 들어 실제 네트워크/셀 상태의 10초 이하의 지연(delay)인 네트워크/셀 상태의 실질적으로 즉각적인 보기를 의미한다. 상기 네트워크/셀 상태의 실질적으로 즉각적인 보기는, 구현에 따라 예를 들어 5초, 2초 또는 1초 이하의 지연을 가질 수 있다.
[0235] 실시예에서, IP-to-ECI 매핑 정보는 네트워크 데이터 평면 에이전트에 제공된다. 상기 데이터 평면 에이전트는 데이터 세션에 대한 자세한 통계(예: 쓰루풋, 데이터 크기, 전송 시간 및 기간 등)를 수집한다. 상기 데이터 평면 에이전트는 IP:ECI 매핑 정보를 사용하여, 그것이 수집하는 통계/메트릭에 ECI를 삽입한다. 이제 통계는 네트워크 토폴로지(예: ECI 당(per ECI))를 기반으로 집계되고, 크라우드(crowd)에서 패턴과 추세를 추출하기 위해 분석될 수 있다. 이러한 크라우드 소싱 데이터는 최적화를 개선하기 위해 상기 크라우드 정보를 적용하는 알고리즘으로 피드백된다. 또한 이것은 네트워크 모니터링 시스템으로 피드백되는바, 상기 네트워크 모니터링 시스템은 상기 네트워크 부분의 세부 모니터링을 위해 변화하는 네트워크 상태를 검출할 수 있다.
[0236] 실시예는 측정된 데이터 세션 성능과 함께 네트워크 위치 식별자(예를 들어, ECI) 정보에 대한 데이터 세션 IP를 활용하여, 주어진 네트워크 토폴로지에 대한 정보의 "크라우드(crowd)"를 생성하는 시스템에 관한 것일 수 있다. 그런 다음 해당 정보는 최적화 및 네트워크 모니터링 목적으로 사용된다.
[0237] 모바일 네트워크는, 무선 인터페이스를 통해 모바일 디바이스에 대한 사용자 트래픽 송수신, 인터넷과의 트래픽 전달, 네트워크 전체에서 이동할 때 디바이스의 이동성 제어, 그리고 다양한 기타 기능을 담당하는 다양한 콤퍼넌트로 구성된다. 이러한 콤퍼넌트 중 일부는 표준 사양(예: 3GPP 표준 기관)을 따른다.
[0238] 도 14는 3GPP 표준 기구의 사양에 따른 콤퍼넌트를 포함하는 실시예에 따른 통신 네트워크(1400)를 도시한다. 이들의 예는 무엇보다도 모바일 서빙 게이트웨이(Serving Gateway; SGW)(1426), 패킷 게이트웨이(Packet Gateway; PGW)(1428) 및 이동성 관리 엔티티(Management Entity; MME)(1424)일 것이다. 이러한 콤퍼넌트는 eNodeB(extended Node B)(1420)와 연관된 사용자 장비(UE), 상기 eNodeB(1420) 또는 다른 eNodeB와 연관된 다른 UE, 및 인터넷(1440) 간의 통신(음성 및 데이터 통신 포함)을 제공하기 위해 통신 네트워크(1400)에 의해 사용된다. 이러한 콤퍼넌트는 EPC(Evolved Packet Core)로 알려진 것의 일부를 구성한다. 이러한 콤퍼넌트는 사용자 지정 하드웨어에서 구현되거나 가상화된 환경에서 VNF(virtual network functions; 가상 네트워크 기능)로 구현될 수도 있다.
[0239] 표준 콤퍼넌트는 또한 표준 인터페이스를 통해 정보를 보내고 받는다. 예를 들어, 도. 도 14는 일부 콤퍼넌트 사이의 인터페이스의 전부는 아니지만 일부를 도시한다. 일부 인터페이스는 사용자 데이터를 전달하기 위한 것이고(예: S1-U 및 SGi), 일부는 네트워크 제어 신호용(예: S1-MME 및 S11)용이며, 일부는 둘 다(예: S5)를 위해 사용된다.
[0240] 도 14에 도시된 트래픽 매니저(1410) 및 분석 수집기(Analytics Collector)(1412)와 같은 동일한 데이터 인터페이스에서 작동하는 모바일 네트워크에 다른 많은 비표준 콤퍼넌트 및 애플리케이션이 존재할 수도 있다.
[0241] 무선 네트워크 내에서 사용자 이동성 제어는 eNodeB(1420), MME(1424) 및 SGW(1426)의 중요한 기능이다. 3GPP LTE 네트워크에서, eNodeB(1420)는 MME(1424)와 UE의 이동 및 관련 데이터 세션에 관한 정보(예: 다른 지역, 셀, 무선 액세스 네트워크 유형 간의 변경)를 네트워크를 통해 교환한다. 또한, MME(1424)는 UE 네트워킹 세부사항(예를 들어, UE IP 주소, IMSI, 전화번호, 서비스 품질 파라미터, 및 무선 베어러 규칙)에 관한 정보를 SGW(1426)와 교환한다.
[0242] 상기 MME(1424)는 UE 또는 데이터 세션 식별 정보를 수신하고 해당 세션에 대한 이동성 업데이트도 수신하기 때문에, 상기 MME(1424)는 모든 데이터 세션에 대한 UE 위치 정보를 포함한다. 그러나 상기 MME(1424)는 이러한 정보를 공유하기 위한 공통 인터페이스를 제공하지 않는다. 게다가, 정보의 일부는 암호화된 데이터 필드를 통해서만 상기 MME(1424)에 이용 가능하다.
[0243] 이것은 비-MME 콤퍼넌트가 네트워크에서 데이터 세션이 전송되는 위치(예: 셀 사이트 또는 분기 경로)를 학습하는 표준 방법이 없음을 의미한다. 특정 LTE 예는, 비-MME 콤퍼넌트가 데이터 세션이 전송되고 있는 셀(E-UTRAN 셀 식별자(ECI)에 의해 식별됨)을 알지 못하는 것이다. 미국 특허 출원번호 16/363,749(발명의 명칭 COORDINATED DATA SHARING IN VIRTUALIZED NETWORKING ENVIRONMENTS; 공개번호 US 2019/0296991 A1)은 이러한 정보를 획득하고 현재 UE 위치(E-UTRAN Cell Identifier 또는 ECI)에 대한 데이터 세션 IP 주소의 매핑을 생성하는 방법을 설명한다.
[0244] 예를 들어, 실시예는 S1AP(S1 Application Protocol) 세션 테이블, GPRS(General Packet Radio Service) 터널링 프로토콜(GTP) 세션 테이블, S1AP 세션을 GTP 세션과 연관시키는 세션 연결 테이블(session linking table) 및 위치 추적 테이블을 유지(maintain)할 수 있다. 이 실시예는, 공개번호 US 2019/0296991 A1와 같이, 관련 S1AP 및 GTP 메시지를 모니터링하여 테이블을 유지할 수 있다.
[0245] 상기 세션 연결 테이블은 GTP 세션에서 전송되는 데이터 패킷의 인터넷 프로토콜(IP) 주소를 MME UE S1AP ID, eNodeB UE S1AP ID 또는 둘 모두에 매핑하는 데 사용될 수 있다. 상기 MME UE S1AP ID, eNodeB UE S1AP ID, 또는 둘 모두는 ECI를 결정하기 위해 위치 추적 테이블과 함께 사용될 수 있다.
[0246] 일 실시예에서, 데이터 평면 에이전트는 GTP 세션에서 전송되는 데이터 패킷에 관한 정보를 ECI에 의해 식별된 위치(예: 셀)에 대한 네트워크 측정 분석에 병합할 수 있다.
[0247] 이러한 분석을 사용하여 언제든지 해당 셀을 설명하는 네트워크 셀의 크라우드소싱 프로필(crowdsourced profile)을 생성할 수 있다. 상기 프로파일은, 예를 들어, 셀 내의 평균 UE 쓰루풋, 셀 내의 활성 UE의 수, 셀 내의 총 데이터 볼륨, 연결되었지만 활성 전송하지 않는 UE 등을 포함할 수 있다. 이 프로파일은 혼잡 윈도우 알고리즘 최적화와 같은 네트워크 최적화에 사용할 수 있다.
[0248] 이러한 분석을 사용하여 네트워크 레벨에서 모니터링할 수 있는 통계를 생성할 수도 있다. 예를 들어, 어떤 데이터 세션이 동일한 셀에 있는지 그리고 어떤 데이터 세션이 현재 데이터를 전송하고 있는지를 알면, 실시예는 초당 기반으로(또는 실질적으로 순간적으로) 활성 UE의 수를 보고할 수 있다. 이 정보는, 다른 방식으로는 네트워크의 어느 곳에서도 초당 기준으로 사용될 수 없다. 또한 연결된 UE, 데이터 볼륨, 레이턴시 등을 초당 기준으로 보고할 수 있다.
[0249] 도 15는 일 실시예에 따른 데이터 플로우(1500)를 예시한다. 단계 S1502, S1504, 및 S1508 및 데이터베이스(1506)의 실시예의 세부사항은 미국출원번호 16/363,749(출원공개번호 US 2019/0296991 A1)에 설명되며, 이에 따라 각 단계에 대한 간략한 개요가 간결함을 위해 본 출원에서 제공된다.
[0250] S1502에서, 제어 인터페이스(도 16에 도시된 것과 같은 4G LTE 무선 네트워크의 S1-MME 인터페이스 또는 도 17에 도시된 것과 같은 5G 무선 네트워크의 N2 및/또는 N11 인터페이스) 상의 메시지는, 데이터 세션에 사용되는 IP 주소와 무선 네트워크의 일부를 지시(indicate)하는 지시자(예: 셀을 지시하는 ECI) 간의 매핑을 결정하기 위하여 모니터링된다. 상기 매핑은 ECI 매핑 데이터베이스(1506)에 대한 데이터 세션과 같은 매핑 데이터베이스에 저장되고 UE가 네트워크 내에서 이동하고 데이터 세션이 시작 및 종료될 때 업데이트된다.
[0251] S1504에서, 데이터 세션 분석을 결정하기 위해 데이터 세션이 분석된다. 상기 데이터 세션 분석에는 데이터 세션의 쓰루풋, 크기, 레이턴시 및 그 IP 주소가 포함될 수 있다. 상기 데이터 세션 분석은 예를 들어, 4G LTE 무선 네트워크의 S1-U 인터페이스 또는 5G 무선 네트워크의 N3 인터페이스로부터의 메시지를 분석함으로써 수행될 수 있다.
[0252] S1508에서, ECI 매핑 데이터베이스(1506)에 대한 데이터 세션 상의 정보는 상기 무선 네트워크의 일부의 식별자(예를 들어, 셀을 식별하는 ECI)를 S1504에서 생성된 데이터 세션 분석에 추가하는 데 사용된다. 그런 다음 ECI 태그된(ECI-tagged) 데이터 세션 분석이 S1510 및 S1512에서 사용된다.
[0253] S1510에서 상기 ECI 태그된(ECI-tagged) 데이터 세션 분석을 사용하여 공유 채널(예: 셀)에 대한 크라우드 소싱 프로필을 생성한다. 일 실시예에서, 크라우드 소싱 프로파일은 아래에 설명된 대로 도 18에 도시된 프로세스를 사용하여 생성된다. 상기 크라우드 소싱 프로파일은 셀 내의 평균 UE 스루풋, 셀 내의 활성 UE의 수, 셀 내의 총 데이터 볼륨, 연결되었지만 활발하게 전송하지 않는 UE의 수 등을 포함할 수 있다.
[0254] S1512에서, 무선 네트워크의 부분(셀과 같은)에 대한 각각의 모니터링 통계가 생성된다. 일 실시예에서, 각각의 모니터링 통계는 아래와 같이 도 19에 도시된 프로세스를 사용하여 생성된다. 모니터링 통계의 예는 다수의 연결된 UE, 다수의 활성 UE(즉, 현재 연결되지만 유휴 UE(idle UE)와 구별되는 데이터를 전송 및/또는 수신하는 UE), 데이터 볼륨, 지연 통계 등을 포함한다.
[0255] 일 실시예에서, 데이터 평면 에이전트/옵티마이저(예를 들어, 도 16에서 도면 번호 1630에 의해 식별되고 도 17에서 도면 번호 1726와 같음)는 상기 무선 네트워크의 성능을 최적화하기 위해 모니터링 통계를 사용할 수 있다. 예를 들어, 상기 데이터 평면 에이전트/옵티마이저는 S1510에서 생성된 프로파일, S1512에서 생성된 모니터링 통계, 또는 둘 모두에 따라 혼잡 관리 프로토콜을 적응시킬 수 있다.
[0256] 도 16은 일 실시예에 따른 4세대 (4G) LTE(Long Term Evolution) 무선 네트워크(1600)(이하, 4G 네트워크(1600))를 도시한다.
[0257] 4G 네트워크(1600)는 하나 이상의 eNodeB(extended Node B)를 포함하는 적어도 하나의 무선 액세스 네트워크(1606)를 포함하며, 여기서 제1, 제2 및 제3 eNodeB(1620A, 1620B, 1620C)로 도시된다. RAN(1606)은 S1-AP 프로토콜을 사용하여 S1-MME 인터페이스를 사용하여 스위치(1626)와 제어 정보를 통신하는 반면, eNodeB(1620A, 1620B, 1620C)는 GTP-U 프로토콜을 사영하여 S1-U 인터페이스를 사용하여 상기 스위치(1626)와 사용자 평면 데이터를 통신한다.
[0258] 상기 스위치(1626)는 제어 평면(GTP-C)용 GPRS 터널링 프로토콜을 사용하여 하나 이상의 제어 평면 인터페이스(S11)를 통해 이동성 관리 엔진(1624)과 제어 정보를 교환한다. 상기 스위치(1626)는 또한 S1-U 인터페이스를 사용하여 데이터 평면 에이전트/옵티마이저(1630)와 통신하고 S5 인터페이스를 사용하여 서빙 게이트웨이/패킷 게이트웨이(SGW/PGW)(1628)와 통신한다. 상기 S5 인터페이스는 사용자 평면 터널링 및 터널 관리 기능을 제공하고 RAN(1606)에서 작동하는 UE에 다른 IP 서비스를 제공하기 위해 서빙 게이트웨이가 다수의 PDN(packet data network) 게이트웨이에 연결할 수 있도록 하고 GTP-U를 사용하여 사용자 데이터를 교환한다.
[0259] 상기 스위치(1626)는 또한 상기 RAN(1606)과 상기 스위치(1626) 사이의 S1-MME 인터페이스 및 상기 MME(1624)와 상기 스위치(1626) 사이의 S11 인터페이스로부터의 미러링된 정보와 함께 IP-to-ECI 추적기(1632)를 제공한다.
[0260] 상기 SGW/PGW(1628), 데이터 평면 에이전트/옵티마이저(1630), IP-to-ECI 추적기(1632), 및 옵티마이저(1636)는 인터넷 프로토콜(IP)을 사용하는 SGi 인터페이스를 통해 정보를 교환한다. 상기 ECI 추적기(1632)에 대한 IP는 또한 SGi 인터페이스를 사용하여 네트워크 모니터링 에이전트(1634)와 통신할 수 있다.
[0261] 상기 옵티마이저(1636)는 경계 라우터/NAT(Network Address Translation; 네트워크 주소 변환) 엔진(1638)을 통해 인터넷(1640)으로 패킷을 송수신한다.
[0262] 상기 IP-to-ECI 추적기(1632)는 스위치(1626)로부터의 업스트림 및 다운스트림 정보를 모니터링하여 IP 주소와 ECI 간의 관계를 결정하고 유지한다.
[0263] 상기 네트워크 모니터링 에이전트 (1630)는 S1510 단계, S1512 단계 또는 도 15의 1500 과정 모두를 수행할 수 있다. 도 15에 도시된 바와 같이, 이들 단계 중 하나 또는 둘 모두로부터의 결과를 상기 데이터 평면 에이전트/옵티마이저(1630), 옵티마이저(1636), 또는 둘 모두에 제공할 수 있다.
[0264] 상기 MME(1624), 스위치(1626), SGW/PGW(1628), 데이터 평면 에이전트/옵티마이저(1630), IP-to-ECI 추적기(1632), 네트워크 모니터링 에이전트(1634), 옵티마이저(1636) 및 경계 라우터/NAT 장치(1638) 각각은 특정 하드웨어, 적절한 인터페이스를 갖는 공유 컴퓨팅 장치에서 실행되는 소프트웨어, 또는 이들의 조합을 사용하여 구현된다.
[0265] 도 17은 일 실시예에 따른 5세대 (5G) 무선 네트워크(1700)(이하, 5G 네트워크(1700))를 도시한다.
[0266] 5G 네트워크(1700)는 AUSF(Authentication Server Function)(1704), AMF(Access and Mobility Management Function)(1706), UDM(Unified Data Management)(1708), SMF(Session Management Function)(1710), UPF(User Plane Function)(1712), PCF(Policy Control Function)(1714), 및 AF(Application Function) (1716)을 포함한다. 상기 5G 네트워크(1700)는 또한 상기 경계 라우터/NAT 장치(1718), IP-to-ECI 추적기(1724), 데이터 평면 에이전트/ 옵티마이저(1726), 네트워크 모니터링 및 분석 기능(1728), 및 옵티마이저(1730)를 포함할 수 있다. 상기 경계 라우터/NAT 장치(1718)는 5G 네트워크(1700)를 인터넷(1740)과 같은 WAN(Wide Area Lan)에 연결한다.
[0267] RAN(1701)은 UE(1722), 제1 eNodeB(1720A), 및 제2 eNodeB(1720B)를 포함한다. 상기 UE(1722 )는 스위치(1702)를 통해 라우팅된 NAS(Non-Access Stratum) 인터페이스 N1 인터페이스를 사용하여 상기 AMF(1706)와 통신한다. 상기 제1 및 제2 eNodeB(1720A, 1720B) 각각은 상기 스위치(1702)를 통해 라우팅되는 RAN 제어 평면(CP) 인터페이스 N2를 사용하여 상기 AMF(1706)와 통신하고 상기 스위치(1702)를 통해 라우팅되는 N3 인터페이스를 사용하여 UPF상기 (1712)와 통신한다.
[0268] 상기 AMF(1706)는 RAN CP 인터페이스 N2의 종단(termination), NAS 인터페이스 N1의 종단, NAS 암호화 및 무결성 보호, 등록 관리, 연결 관리, 도달 가능성(reachability) 관리, 이동성 관리, 상기 UE(1722) 및 SMF(1710) 사이의 SM 메시지에 대한 전송 및 프록시 서비스, 액세스 권한 부여, SEAF(Security Anchor Functionality), 위치 서비스 관리, UE 이동성 이벤트 알림 및 기타 기능을 제공할 수 있다.
[0269] 상기 UPF 1712는 Intra-/Inter-RAT 이동성을 위한 앵커 포인트, 데이터 네트워크에 대한 상호 연결의 외부 PDU 세션 포인트, 패킷 라우팅 및 포워딩, 패킷 검사, 정책 규칙 시행의 UP 부분, 트래픽 사용 보고, 사용자 평면에 대한 QoS (Quality of Service) 처리, DL 상의 반사 QoS 마킹(reflective QoS marking), 업링크 트래픽 검증, 업링크 및 다운링크의 전송 레벨 패킷 마킹, 다운링크 패킷 버퍼링 및 다운링크 데이터 알림 트리거링 및 기타 기능을 제공한다. 상기 UPF(1712)는 N3 인터페이스를 통해 eNodeB(1720A 및 1720B)와 통신한다. 상기 N3 인터페이스는 5G용 헤더 확장과 함께 GPRS 터널링 프로토콜(GTP)을 사용하거나, 세그먼트 라우팅(IPv6 SRv6 또는 NSH(Network Server Heading))을 사용하거나, 정보 중심 네트워킹(Information Centric Networking; ICN) 프로토콜을 사용할 수 있다. 상기 UPF(1712)는 N9 인터페이스를 통해 다른 UPF와 통신할 수 있다.
[0270] 상기 SMF(1710)는 세션 관리, UE IP 주소 할당 및 관리, UP 기능의 선택 및 제어, 적절한 목적지로 트래픽을 라우팅하기 위한 UPF에서의 트래픽 조정 구성, 정책 시행 및 QoS의 제어 부분, 다운링크 데이터 알림을 제공한다. 상기 SMF(1710)는 N10 인터페이스를 사용하여 상기 UDM(1710)과 통신하고, N11 인터페이스를 사용하여 상기 스위치(1702)를 통해 상기 AMF(1706)와 통신하고, N7 인터페이스를 사용하여 상기 PCF(1714)와 통신하고, N4 인터페이스를 사용하여 상기 UPF(1712)와 통신할 수 있다.
[0271] 상기 PCF(1714)는 네트워크 동작을 제어하는 통합 정책 프레임워크(unified policy framework)를 지원하고 이를 시행하기 위해 제어 평면 기능에 정책 규칙을 제공하고, UDR(Unified Data Repository)에 저장된 정책 결정과 관련된 구독 정보에 액세스한다.
[0272] 상기 UDM (1708)은 3GPP AKA(Authenticate Key Exchange) 인증 자격 증명 생성, 사용자 식별 처리, 가입 데이터(예: 로밍 제한)를 기반으로 한 액세스 권한 부여, UE의 NF 등록 관리 서비스, 서비스/세션 연속성 지원, MT-SMS 전달 지원, 구독 관리 및 SMS 관리를 제공한다.
[0273] 상기 AUSF(1704)는 보안 및 개인 정보 보호에 대한 3GPP 서비스 및 시스템 측면(SA) 작업그룹3(WG3)에 의해 지정된 인증 서버 기능(Authentication Server Function; AUSF)을 제공한다.
[0274] AF 1716은 트래픽 라우팅, 액세스 네트워크 노출 기능에 대한 애플리케이션 영향을 제공하고 정책 제어를 위한 정책 프레임워크와 상호 작용한다.
[0275] 네트워크 모니터링 및 분석 기능(1728)은 도 15의 프로세스(1500)의 단계 S1510, 단계 S1512, 또는 둘 다를 수행할 수 있다. 도 15에 도시된 바와 같이, 이들 단계 중 하나 또는 둘 모두로부터의 결과를 데이터 평면 에이전트/ 옵티마이저(1726), 옵티마이저(1730), 또는 둘 모두에 제공할 수 있다.
[0276] 상기 AUSF(1704), AMF(1706), UDM(1708), SMF(1710), UPF(1712), PCF(1714), AF(1716), 경계 라우터/NAT 장치(1718), IP-to-ECI 추적기(1724), 데이터 평면 에이전트/ 옵티마이저(1726), 네트워크 모니터링 및 분석 기능(1728), 및 옵티마이저(1730)는 특수 하드웨어, 적절한 인터페이스를 갖는 각각의 또는 공유 컴퓨팅 장치에서 실행되는 소프트웨어, 또는 이들의 조합을 사용하여 구현될 수 있다.
[0277] 일 실시예에서, 상기 스위치(1702)는 UE(1722)와 AMF(1706) 사이의 N1 인터페이스로부터, eNodeB들(1720A 및 1720B)과 AMF(1706) 사이의 N2 인터페이스로부터, 그리고 N11 인터페이스로부터 미러링된 정보를 IP-to-ECI 추적기(1724)에 제공한다. 상기 스위치(1702)는 또한 미러링된 데이터를 네트워크 모니터링 및 분석 기능(Network Monitoring & Analytics function)(1728)에 제공하는바, 상기 미러링된 데이터는 eNodeB(1720A 및 1720B)와 데이터 평면 옵티마이저/에이전트(1726) 및/또는 상기 UPF(1712) 사이의 N3 인터페이스로부터 유래한다.
[0278] 간결함 및 명확성을 위해, 본 개시내용의 실시예를 개시하는 데 필요하지 않고/있거나 당업계에 잘 알려진 5G 네트워크(1700) 내의 일부 인터페이스 및 상호작용에 대한 설명은 설명되지 않는다.
[0279] 일 실시예에서, 시스템은 사용자 이동성, 사용자 세션 ID, 및 데이터 세션 성능(가능하게는 상이한 시스템 콤퍼넌트로부터의) 정보를 모바일 무선 네트워크의 최적화 또는 모니터링을 위해 활용될 수 있는 하나 이상의 데이터 모델에 통합한다. 상기 데이터 모델은 각각의 셀과 같은 모바일 무선 네트워크의 각 부분과 연관될 수 있다. 상기 데이터 모델은 예를 들어 활성 사용자(또는 UE) 및 평균 사용자(또는 UE) 쓰루풋과 같은 각 셀에 대해 초당 기준으로 메트릭(이하 "네트워크 토폴로지 정보"로 지칭됨)을 제공할 수 있지만, 실시예는 이에 한정되지 않는다.
[0280] 상기 네트워크 토폴로지 정보는 네트워크 효율성을 향상시키는 데 사용될 수 있다. 예를 들어 크라우드 소싱 데이터를 기반으로 네트워크 최적화를 활성화하는 데 사용할 수 있다. 실시예에서, 사용자 데이터 세션을 모니터링 및/또는 제어하는 어떠한 최적화 시스템(예를 들어, 도 16의 4G 네트워크(1600)의 데이터 평면 옵티마이저/에이전트(1630) 또는 도 17의 5G 네트워크(1700)의 데이터 평면 옵티마이저/에이전트(1726)와 같음)도 동일한 셀에서 일치하는 사용자 데이터 세션을 알 수 있다. 일치하는 데이터 세션은 해당 셀의 최적화에 적용하기 위해 정보를 추출할 수 있는 크라우드(crowd) 역할을 한다.
[0281] 상기 네트워크 토폴로지 정보는 네트워크 연구 및 네트워크의 문제 지점의 식별을 위해 모니터(예를 들어, 도 16의 4G 네트워크(1600)의 네트워크 모니터링 에이전트(1634), 또는 도 17의 5G 네트워크(1700)의 네트워크 모니터링 및 분석 기능(1728)과 같음)에 실시간 네트워크 성능을 보고하는 데 사용할 수도 있습니다.
[0282] 도 18은 일 실시예에 따른, 공유 채널에 대한 크라우드 소싱 프로파일을 생성 및/또는 업데이트하는 프로세스(1800)를 예시한다 .상기 프로세스(1800)는 네트워킹 모니터링 에이전트(예를 들어, 도 16의 네트워크 모니터링 에이전트(1634) 또는 도 17의 네트워킹 모니터링 및 분석 기능(1728)와 같음)에 의해 수행될 수 있고, 또한 자동 네트워크 옵티마이저(예를 들어, 도 16의 데이터 평면 에이전트/옵티마이저(1630) 및/또는 옵티마이저(1636), 또는 도 17의 데이터 평면 에이전트/옵티마이저 기능(1726) 및/또는 옵티마이저(1730)와 같음)에 의해 사용되는 정보를 생성할 수 있으나, 본 실시예는 이에 제한되지 않는다.
[0283] 상기 프로세스(1800)는 실시간으로 제공되는 네트워크에 대한 정보를 미세한 시간 단위(예: 매초)로 실시간으로 수행할 수 있지만, 실시 예는 이에 제한되지 않는다.
[0284] S1802에서, 상기 프로세스(1800)는 데이터 세션과 연관된 네트워크 위치 지시자(여기서는 ECI)를 결정한다. 상기 네트워크 위치는 데이터 세션의 엔드포인트가 연계되는 RAN의 셀일 수 있다. 상기 엔드포인트는 데이터 세션의 목적지(destination)일 수 있다.
[0285] 상기 네트워크 위치 지시자는 도 15와 관련하여 설명된 바와 같이 ECI로 태깅된(tagged) 데이터 세션 분석으로부터 결정될 수 있다. 상기 태깅된 데이터 세션 분석은 도 15와 관련하여 설명된 바와 같이 상기 네트워크의 제어 정보 및 데이터 세션의 측정치로부터 도출될 수 있다.
[0286] S1804에서, 상기 프로세스(1800)는 데이터 세션으로부터의 측정에 대응하는 새로운 데이터 샘플을 기록한다. 상기 샘플은 상기 ECI에 의해 식별된 셀의 채널 상태와 관련된 측정을 포함할 수 있다.
[0287] S1806에서, 상기 프로세스(1800)는 본 명세서에서 크라우드 소싱 데이터로 지칭되는 ECI에 대한 샘플들의 컬렉션에 새로운 샘플을 추가한다. 상기 샘플 컬렉션에는 셀을 통해 전송되는 다른 데이터 세션의 샘플이 포함될 수 있다.
[0288] S1808에서, 프로세스(1800)는 크라우드 소싱 데이터를 필터링하기 위해 2차 통계(예: 분산), 3차 통계(예: 왜도(skewness)), 기계 학습 등을 적용할 수 있다. 상기 필터링은 셀의 현재 상태를 나타내지 않을 가능성이 높은 데이터를 제거하도록 작동할 수 있다. 예를 들어, S1808에서 상기 프로세스(1800)는 훈련된 신경망에 의해 이상값으로 인식된 샘플, 2차원 데이터세트의 중심 밖에 있는 샘플, 편차의 중심 95% 밖에 있는 샘플, 또는 이들의 조합을 필터링할 수 있다. 그러나 실시예는 이에 제한되지 않는다.
[0289] 상기 크라우드 소싱 데이터를 필터링한 후, S1808에서 상기 프로세스(1800)는 필터링되지 않은 샘플의 통계적 특성(예를 들어, 평균, 분산 등)을 생성할 수 있다.
[0290] S1810에서, 상기 프로세스(1800)는 S1808의 결과를 사용하여 ECI에 대한 추정 모델을 업데이트한다. 상기 추정 모델은 ECI가 지시하는 셀에 대한 채널 혼잡 프로파일을 포함할 수 있다. 상기 추정 모델은, 예를 들어, 셀 내 평균 사용자 쓰루풋, 셀 내 활성 사용자 수, 셀 내 총 데이터 볼륨, 연결되었지만 활성 전송하지 않는 사용자 또는 이들의 조합을 포함할 수 있지만, 실시예는 이에 제한되지 않는다.
[0291] 도 19는 일 실시예에 따른 모니터링 통계를 생성하기 위한 프로세스(1900)를 예시한다. 상기 프로세스(1900)는 네트워킹 모니터링 에이전트(예를 들어, 도 16의 네트워크 모니터링 에이전트(1634) 또는 도 17의 네트워킹 모니터링 및 분석 기능(1728))에 의해 수행될 수 있고 잠재적으로 문제가 있는 네트워크 위치 및 조건(예: 과부하 또는 저하된 셀)의 자동 검출에 사용될 수 있지만, 실시예는 이에 제한되지 않는다.
[0292] 상기 프로세스(1900)는 상기 네트워크의 모든 관련 부분에 대해(예를 들어, 네트워크의 모든 셀에 대해) 또는 네트워크의 관련 부분의 지정된 서브세트(예를 들어, 성능 문제의 이력이 있는 셀)에 대해 각각 수행될 수 있다. 그러나 실시예가 이에 제한되지 않는다. 상기 프로세스(1900)는 실시간으로 제공되는 네트워크 정보를 이용하여 미세한 시간 단위(예를 들어, 1초마다)로 실시간으로 수행될 수 있으나, 실시 예는 이에 제한되지 않는다.
[0293] S1902에서, 상기 프로세스(1900)는 네트워크의 목표 부분(이 예에서는 셀)의 식별자(이 예에서는 ECI)로 태깅된(tagged) 데이터 세션의 분석(예를 들어, 데이터 세션의 측정 또는 이러한 측정에서 파생된 통계)을 식별한다.
[0294] S1904에서, 상기 프로세스(1900)는 S1902에서 식별된 데이터 세션 분석으로부터 원하는 데이터를 추출한다. 상기 데이터 세션에서 원하는 데이터는 데이터 세션 분석을 필터링하여 결정할 수 있다. 상기 필터링은 상기 데이터 세션 분석을 필터링하기 위하여, 통계 기능, 머신 러닝 또는 이들의 조합을 적용할 수 있지만, 실시예는 이에 제한되지 않는다. 상기 필터링은 셀의 현재 상태를 나타내지 않을 가능성이 높은 데이터를 제거하도록 작동할 수 있다. 예를 들어, 상기 필터링은 훈련된 신경망에 의해 이상값으로 인식되는 샘플, 2차원 데이터 세트의 중심 외부에 있는 샘플, 편차의 중심 95% 외부에 있는 샘플, 또는 이들의 조합을 필터링할 수 있지만, 실시예는 이에 한정되지 않는다.
[0295] S1906에서, 상기 프로세스(1900)는 S1904에서 생성된 추출된 데이터를 분석한다. 상기 추출된 데이터를 분석하는 것은, 추출 데이터의 1차 통계(예: 평균), 2차 통계(예: 분산), 3차 통계(예: 왜도), 또는 이들의 조합을 생성하는 것을 포함할 수 있다. 예를 들어, S1906에서 상기 프로세스(1900)는 셀에 대한 평균 사용자(또는 UE) 쓰루풋, 셀에 대한 사용자/UE 쓰루풋의 분포, 활성 사용자 또는 UE의 수, 연결된 사용자 또는 UE의 수, 상기 셀에 대한 데이터 볼륨에 관련된 통계, 상기 셀에 대한 레이턴시에 관한 통계 등을 생성할 수 있다.
[0296] S1908에서, 상기 프로세스(1900)는 S1906에서 수행된 분석의 결과, S1904에서 추출된 데이터, 또는 둘 모두를 네트워크 모니터링 프로세스에 제공한다. 상기 프로세스(1900)는 미세한 시간 단위로(예를 들어, 1초 간격으로) 실시간으로 이 정보를 네트워크 모니터링 프로세스에 제공할 수 있다.
[0297] 상기 네트워크 모니터링 시스템은 상기 결과를 사용하여 셀의 성능 문제 식별, 셀의 성능 문제 예측, 셀의 성능 문제의 원인 결정, 셀의 통신 최적화, 셀의 모니터링 레벨 결정, 미래의 네트워크 자원 사용 최적화를 위한 기회의 식별 등 또는 이들의 조합을 수행할 수 있지만, 실시예는 이에 제한되지 않는다.
[0298] 일 실시예에서, 시스템은 짧은 간격(예를 들어, 관련 기술의 최상의 무선 벤더 KPI 보고 간격과 일치하는 15분)에서 개별 셀에 대한 최상위 통계를 제공한다. 상기 시스템은 네트워크에서 문제 셀을 자동으로 검출할 수 있고 문제 셀에 대해 더 세분화된(예: 초 당) 통계를 제공할 수 있다.
[0299] 도 20은 일 실시예에 따른 통신 네트워크(2000)를 도시한다. 상기 네트워크(2000)는 WAN(2002)(예를 들어, 인터넷), MTS(Mobile Telecommunication System)(2006), WAN(2002)에 부착된 제1 및 제2 서버(2014A, 2014B)를 포함한다. 상기 MTS(2006)는 제1 및 제2 무선 액세스 네트워크(RAN)(2004A, 2004B)를 서로 연결하고 WAN(2002)에 연결하는 MTS 기반구조(2008)를 포함한다. 상기 MTS 기반구조(2008)는 WAN(2002)과 MTS(2006) 사이에서 통신을 수행하는 게이트웨이(2012)를 포함할 수 있다
[0300] 상기 WAN(2002)은 모두 서로 직접 또는 간접적으로 통신하는 복수의 라우터(2010A, 2010B, 2010C)를 포함한다. 상기 라우터(2010A, 2010B, 2010C)는 프로토콜 스택의 네트워킹 계층에서 작동하여 패킷을 라우팅하는바, 예를 들어, TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 스택의 IP 계층에서 라우팅할 수 있다. 상기 라우터(2010A, 2010B, 2010C)는 IP 데이터그램의 IP 헤더에 제공된 정보를 사용하여 기능을 수행한다.
[0301] 상기 게이트웨이(2012)는 제3 라우터(2010C)와 연결되어 프로토콜 스택의 전송 계층 또는 그 이상의 계층(layer)에서 동작한다. 예를 들어, 상기 게이트웨이(2012)는 UDP(User Datagram Protocol) 헤더, TCP 헤더, 및/또는 다른 전송 계층 프로토콜 헤더의 정보를 사용하여 동작할 수 있으며, 상기 전송 계층 프로토콜 헤더는 IP 데이터그램의 IP 데이터에 캡슐화된다.
[0302] 일 실시예에서, 상기 게이트웨이(2012)는 상용 서버 하드웨어에서 실행되는 게이트웨이 VNF(Virtual Network Function)를 사용하여 구현될 수 있다. 그러한 실시예에서, 추가적인 VNF가 상기 게이트웨이(2012) 상에 제공될 수 있다.
[0303] 예를 들어, 상기 게이트웨이(2012)는 또한 RAN(2004A 및 2004B)에 대한 집합 포인트(aggregation point)로서 기능할 수 있다. 또한, 상기 게이트웨이(2012)는 RAN(2004A 및 2004B)에 대한 전송 관리 및 모니터링 및 제어 기능을 제공할 수 있고, 예를 들어, 상기 MTS(2006)의 혼잡에 응답하여 공정 배분 전송 프로토콜의 실시간 최적화를 포함하는 상기 MTS(2006)에 대한 전송 최적화를 제공할 수 있다. 상기 게이트웨이(2012)는 백홀 네트워크를 통해 RAN(2004A 및 2004B)과 통신할 수 있다.
[0304] 제1 RAN(2004A)은 기지국(2020A) 및 상기 제1 RAN(2004A)의 하나 이상의 공유 무선 주파수(RF) 자원을 통해 상기 제1 기지국(2020A)과 무선으로 통신하는 복수의 사용자 장비(UE)(2022A, 2022B)를 포함한다. 제2 RAN(2004B)은 기지국(2020B) 및 상기 제2 RAN(2004B)의 하나 이상의 공유 RF 자원을 통해 제2 기지국(2020B)과 무선으로 통신하는 복수의 UE(2022C, 2022D)를 포함한다. UE(2022A 내지 2022D)는 상기 기지국(2020A 및 2020B) 및 상기 게이트웨이(2012)를 통해 상기 WAN(2002)과 통신한다. 상기 기지국(2020A 및 2020B)은 eNodeB(evolved Node B), BTS(Base Transceiver Station) 등일 수 있고, 상기 UE(2022A 내지 2022D)는 셀룰러 폰, 무선 핫스팟, 셀룰러 모뎀을 갖는 컴퓨터 등일 수 있지만, 실시예는 이에 제한되지 않는다.
[0305] MTS 기반구조(MTS infrastructure)(2008)는 상기 제1 기지국(2020A), 상기 제2 기지국(2020B), 및 상기 게이트웨이(2012)를 연결하는 통신 링크(예를 들어, 동축 케이블, 광섬유 케이블 등, 또는 이들의 조합)를 포함할 수 있다. 상기 MTS 기반구조(2008) 본 실시예를 구현하기 위한 리소스를 포함할 수 있고; 실시예에서 이러한 자원은 상기 게이트웨이(2012)를 포함할 수 있다.
[0306] 상기 제1 및 제2 서버(2014A, 2014B)는 상기 WAN(2002)에 연결된 장치에 서비스를 제공할 수 있다. 제공될 수 있는 서비스의 예는 클라우드 컴퓨팅, 클라우드 스토리지, 소셜 네트워킹, 스트리밍 비디오 등을 포함한다.
[0307] 도 21은 일 실시예에 따른 모니터링 시스템(2100)의 데이터 플로우를 도시한다. 상기 모니터링 시스템(2100)은 관련 기술에서 사용할 수 없는 입도(granularity) 및 규모(scale)로 실시간 네트워크 메트릭을 수집 및 보고할 수 있는 모바일 운영자 네트워크(예를 들어, 도 20의 MTS 기반구조(2008)와 같음)의 코어(core)에 설치될 수 있다. 예를 들어, 상기 모니터링 시스템(2100)은 도 16의 4G 네트워크(1600)의 네트워크 모니터링 에이전트(1634) 또는 도 17의 5G 네트워크(1700)의 네트워크 모니터링 및 분석 기능(1728)에서 이를 사용하여 구현될 수 있다.
[0308] S2106에서, 상기 모니터링 시스템(2100)은 셀 단위로 사용자(즉, UE)의 현재 위치를 포함하는 사용자 추적 정보(user tracking information)(2102)를 수신할 수 있다. 상기 사용자 추적 정보는 도 16의 4G 네트워크(1600)의 S1-MME 및/또는 S11 인터페이스에 대한 정보, 또는 도 17의 5G 네트워크(1700)의 N1, N2, 및/또는 N11 인터페이스로부터의 정보와 같은 네트워크의 제어 평면 정보(control plane information)로부터 유도될 수 있다.
[0309] 3G 네트워크를 포함하는 실시예에서, 상기 모니터링 시스템(2100)은 표준 S1-MME 및 S11 제어 인터페이스의 미러(mirror)를 모니터링한다. 상기 모니터링 시스템(2100)은 디바이스 터널 정보(device tunnel information)를 사용자 IP 주소와 매치(match)시켜 셀 레벨에서 사용자 위치를 획득하는바, 여기서 사용자 위치는 UE 위치와 동의어로 간주된다. 사용자가 상기 네트워크 주변을 이동할 때, 상기 시스템은 각 셀에 어떤 장치가 있는지에 대한 시간적 및 공간적 세분화된(즉, 매우 세분화된) 보기를 제공하기 위해 그들의 움직임을 추적한다. 사용자 데이터는 분석 집합(analytics aggregations)을 위해 셀별로 그룹화된다.
[0310] S2106에서, 상기 모니터링 시스템(2100)은 또한 eNodeB 및 ECI 식별 메트릭(2104)을 수신할 수 있다. 4G 네트워크에서, 상기 eNodeB 및 ECI 식별 메트릭(2104)은 S1-U 인터페이스로부터의 정보를 포함할 수 있다. 5G 네트워크에서, 상기 eNodeB 및 ECI 식별 메트릭(2104)은 N2 인터페이스로부터의 정보를 포함할 수 있다. 상기 eNodeB 및 ECI 식별 메트릭(2104)은 예를 들어, 셀에 의해 전송되는 데이터 세션에 관한 통계 및 측정을 포함할 수 있지만, 실시예는 이에 제한되지 않는다.
[0311] S2106에서, 상기 모니터링 시스템(2100)은 상기 사용자 추적 정보(user tracking information)(2102)와 상기 eNodeB 및 ECI 식별 메트릭(2104)의 조합을 필터링 및 분석한다. 상기 분석은 이상을 검출하는 것을 포함할 수 있다. 일 실시예에서, 도 15의 데이터 플로우(1500)는 도 15는 S2106의 일부로 구현된다.
[0312] 상기 필터링 및 분석은 셀 단위로 수행될 수 있다. 상기 필터링 및 분석은 실시간, 즉 필터링 및 분석 중인 정보를 수집한 후 최소한의 지연으로 수행될 수 있다. 실시예에서, 상기 최소 지연은 예를 들어, 1, 2, 5 또는 15초일 수 있으나, 실시예는 이에 제한되지 않는다.
[0313] S2108에서, 상기 모니터링 시스템(2100)은 상기 필터링된 데이터 및/또는 필터링된 데이터를 분석한 결과를 외부 시스템으로 내보낼 수 있고, 또한 검출된 이상 징후의 지시(indication)를 상기 외부 시스템에 제공할 수 있다.
[0314] S2110에서, 상기 모니터링 시스템(2100)은 필터링된 데이터 및/또는 필터링된 데이터의 분석 결과를 대시보드(dashboard)의 운영자에게 지시(indication)하기 위해 내보낼 수 있다. 또한 상기 대시보드를 통해 운영자에게 신호를 보낼 검출된 이상 징후의 지시(indication)를 제공할 수 있다.
[0315] 일 실시예에서, 상기 모니터링 시스템(2100)은 모든 모니터링된 eNodeB 및 셀( EC )에 대한 통계를 규칙적인 간격으로(예를 들어, 15분마다) 집계한다. 상기 간격은 구현에 따라 구성될 수 있다. 이것은 네트워크의 최상위 보기(top-level view)를 제공하고 데이터 필터링이 모든 셀에 적용될 수 있도록 한다.
[0316] 상기와 같이 집계된 통계는 비디오 성능 메트릭, 평균 사용자 쓰루풋, 평균 활성 사용자, 셀 혼잡 비율, 트래픽 구성, 또는 이들의 조합을 포함할 수 있지만 이에 국한되지 않는다. 분석은 빠른 액세스(fast access) 및 커스텀 메트릭 집계(custom metric aggregations)를 위해 빅 데이터 데이터베이스 클러스터(예: ElasticSearch 데이터베이스)에 저장될 수 있다.
[0317] 모니터링 되는 네트워크의 코어로부터 트래픽을 모니터링 하는 동안, 상기 모니터링 시스템(2100)은 알려진 도메인(예: YouTube, Netflix)에 대한 비디오를 검출하고 기계 학습 패턴 인식(Machine Learning pattern recognition)을 사용하여 비디오 플레이어 버퍼 채우기 레벨(video player buffer fill levels)을 추정하여, 도 22에 도시된 바와 같이, 시작 시간, 정지, 및 해상도 변경 지시자(resolution change indicators)를 검출할 수 있다.
[0318] 도 22는 일 실시예에 따른, 비디오를 포함하는 데이터 플로우를 모니터링하기 위한 프로세스(2200)를 예시한다. 상기 프로세스(2200)는 모니터링 시스템(2100)의 일부로서 수행될 수 있다.
[0319] 일 실시예에서, 상기 프로세스(2200)는 네트워크 트래픽에 대해 수집된 실시간 분석(-time analytics)을 활용하여, 어떤 네트워크 상호작용이 비디오 스트림인지 검출하고 비디오의 평균 비디오 처리량, 평균 비디오 시작 시간 및 평균 해상도에 대해 보고하고 비디오 재생에서 스톨(stall)을 검출한다. 네트워크 상호작용의 DNS 목적지를 검출함으로써, 상기 프로세스(2200)는 가장 일반적인 비디오 서빙 목적지의 최신 목록을 유지하기 위해 기계 학습을 사용할 수 있다. 이것은 데이터 전송을 시작하자마자 네트워크의 어떤 상호 작용이 비디오 스트림인지 식별하는 데 사용할 수 있다.
[0320] 새로운 플로우(즉, 새로운 데이터 세션)가 검출되는 것에 응답하여, S2202에서 상기 프로세스(2200)는 비디오 서빙 소스(video serving sources)의 목록에 대해 데이터 세션에 대한 데이터의 소스를 확인할 수 있다. 예를 들어, 상기 프로세스(2200)는 데이터 플로우에서 패킷의 IP 주소와, 비디오를 제공하는 서버의 DNS 레코드의 주기적으로 또는 지속적으로 업데이트되는 데이터베이스(2204)로부터 획득된 IP 주소를 비교할 수 있다. 그 다음, 상기 프로세스(2200)는 S2206으로 진행한다.
[0321] S2206 에서, 상기 프로세스(2200)는 상기 플로우가 비디오 플로우인지 여부를 결정한다. 예를 들어, 상기 프로세스(2200)는, 상기 플로우의 소스의 IP 주소가 데이터베이스(2204)로부터 획득된 비디오 소스의 IP 주소에 매칭될 때, 상기 플로우가 비디오 플로우라고 결정할 수 있다.
[0322] 또한, 상기 프로세스(2200)는 상기 플로우에 대한 통계의 패턴이 머신 러닝(machine learning)을 통해 학습된 비디오 플로우에 대한 패턴과 일치하는 경우, 상기 플로우가 비디오 플로우임을 결정할 수 있으며, 이는 훈련된 신경망(neural network)을 사용하는 실시예에서 결정될 수 있다. 일 실시예에서, 상기 프로세스(2200)가 기계 학습을 사용하여 플로우가 비디오 플로우라고 결정할 때, 상기 프로세스(2200)는 상기 플로우의 소스의 IP 주소가 비디오 소스의 IP 주소임을 지시(indicate)하도록 상기 데이터베이스(2204)를 업데이트할 수 있다.
[0323] 상기 플로우가 비디오 플로우로 결정되면, S2206에서 상기 프로세스(2200)는 S2210으로 진행하고; 그렇지 않으면, 상기 프로세스(2200)가 종료된다.
[0324] S2210에서, 상기 프로세스(2200)는 상기 플로우가 종료될 때까지 실행되는 복수의 서브프로세스를 개시한다. 상기 복수의 서브프로세스는 데이터 수집 서브프로세스(SP2212), 버퍼 추적 서브프로세스(SP2214), 비트 레이트 추정 서브프로세스(SP2216), 비디오 해상도 검출 서브프로세스(SP2218) 및 통계 수집 서브프로세스(SP2220)를 포함한다.
[0325] 상기 데이터 수집 서브프로세스 (SP2212)는 상기 플로우에 대한 초당 데이터 전송 레이트(second by second data transfer rate; SxS Rate Data transfer rate)을 수집하고, 상기 버퍼 추적 서브프로세스(SP2214) 및 상기 비트 레이트 추정 서브프로세스(SP2216)에 상기 SxS 늦은 데이터(second by second rate data; SxS Rate Data)를 증명할 수 있다. 상기 자료수집 서브프로세스 (SP2212)는 또한 상기 플로우에 대한 평균 비디오 쓰루풋을 결정하고 상기 통계 수집 서브프로세스 (SP2220)에 상기 평균 비디오 쓰루풋을 제공할 수 있다.
[0326] 상기 버퍼 추적 서부 프로세스(SP2214)는 상기 SxS 늦은 데이터(second by second rate data) 및 상기 비디오 해상도 검출 서부 프로세스(SP2218)에 의해 제공되는 검출된 비디오 해상도를 이용하여, 버퍼의 재생 위치(playback position)에 대한 버퍼의 입력 위치(input position)를 초 단위로 추적할 수 있다. 예를 들어, 상기 SxS 늦은 데이터가 상기 검출된 비디오 해상도와 연관된 비트 레이트보다 큰 데이터 늦음을 지시(indicate)할 때, 상기 버퍼 추적 서브프로세스(SP2214)는 상기 버퍼의 재생 위치가 상기 버퍼의 입력 위치로부터 더 멀어졌다고 결정할 수 있고, 상기 SxS 늦은 데이터가 상기 검출된 비디오 해상도와 연관된 비트 레이트보다 작은 데이터 늦음을 지시(indicate)할 때, 상기 버퍼 추적 서브프로세스(SP2214)는 상기 버퍼의 재생 위치가 상기 버퍼의 입력 위치에 더 가까워졌다고 결정할 수 있다.
[0327] 예를 들어 상기 버퍼의 재생 위치가 상기 버퍼의 입력 위치의 경우에, 상기 버퍼 추적 서브프로세스(SP2214)는, 상기 재생 위치에 대한 상기 버퍼 위치를 사용하여, 상기 버퍼가 스트리밍할 데이터가 부족한지 아닌지를 추적하여 스톨(stall)을 결정하는 것과 같은 추가 정보를 결정할 수 있다. 상기 버퍼 추적 서브프로세스(SP2214)는 상기 스톨이 검출되었다는 지시(indications)를 상기 통계 수집 서브프로세스(SP2220)에 제공할 수 있다.
[0328] 상기 버퍼 추적 서브프로세스(SP2214)는 또한 상기 비디오의 평균 시작 시간(즉, 비디오의 제1 데이터가 상기 버퍼에 의해 수신된 제1 시간과 상기 제1 데이터가 상기 버퍼로부터 재생되는 제2 시간 사이의 시간)을 결정할 수 있다. 상기 평균 시작 시각은 상기 SxS 늦은 데이터, 및 상기 검출된 비디오 해상도에 대응하는 인코딩 늦은 데 기초하여 계산될 수 있다. 예를 들어, 일 실시예에서, 상기 버퍼 추적 서브프로세스(SP2214)에는 재생이 시작되기 전에 버퍼링 될 비디오의 양에 대응하는 초 단위의 프리버퍼 간격(prebuffer interval)이 제공될 수 있고; 상기 버퍼 추적 서브프로세스(SP2214)는 프리버퍼 간격에 상기 검출된 비디오 해상도에 해당하는 인코딩 레이트를 곱하여 데이터의 양(비트 단위)을 결정할 수 있고; 또한 상기 버퍼 추적 서브프로세스(SP2214)는 상기 데이터의 양을 상기 SxS 레이트 데이터 또는 그 평균으로 나누어 평균 시작 시간을 결정할 수 있다. 상기 버퍼 추적 서브 프로세스(SP2214)는 상기 결정된 평균 시작 시간을 상기 통계 수집 서브 프로세스(SP2220)에 제공할 수 있다.
[0329] 상기 SxS 레이트 데이터(SxS Rate Data)를 이용하여, 상기 비트 레이트 추정 서브프로세스(SP2216)는 상기 비디오 플레이어에 의해 보여지는 비트 레이트를 추정하고, 상기 비디오 해상도 검출 서브프로세스(SP2218)에 비트 레이트 추정치를 제공할 수 있다. 실시예에서, 상기 비트레이트 추정치는 인코딩 레이트 추정치이다. 상기 비트레이트 추정치는 상기 데이터 세션의 속성을 관찰함으로써 결정되거나, 상기 데이터 세션의 데이터 전송 레이트로부터 추론될 수 있다. 상기 비트 전송률 추정치는 시간 경과에 따른 상기 SxS 전송률 데이터의 변화에 따라 변경될 수 있다.
[0330] 상기 비디오 해상도 검출 서브프로세스(SP2218)는 상기 버퍼 추적 서브프로세스(SP2214)에 의해 제공되는 버퍼 필 레벨(buffer fill level) 및 버퍼 데이터 소비 정보(buffer data consumption)와, 상기 비트레이트 추정에 기초하여 비디오 해상도를 검출할 수 있다. 상기 비디오 해상도 검출 서브프로세스(SP2218)는 상기 비디오 해상도를 결정하기 위해 대응하는 비트레이트에 표준 해상도(standard resolution)의 데이터베이스를 사용할 수 있다. 예를 들어, 상기 비트레이트 추정치가 1.3메가비트/초일 때, 상기 비디오 해상도 검출 서브프로세스(SP2218)는 비디오 해상도가 480p라고 추론할 수 있고, 상기 비트레이트 추정치가 초당 5메가비트일 때, 상기 비디오 해상도 검출 서브프로세스(SP2218)는 비디오가 해상도는 1080p라고 추론할 수 있다. 상기 검출된 비디오 해상도는 시간 경과에 따른 비트레이트 추정치의 변화에 따라 변경될 수 있다.
[0331] 상기 비디오 해상도 검출 서브프로세스(SP2218)는 상기 검출된 비디오 해상도를 상기 버퍼 추적 서브프로세스(SP2214) 및 통계 수집 서브프로세스(SP2220)에 제공할 수 있다.
[0332] 상기 통계 수집 서브 프로세스(SP2220)는 자신에게 제공된 정보를 수집하고, 수집된 정보를 처리하고, 처리된 정보를 외부 시스템 또는 대시보드에 제공할 수 있다.
[0333] 프로세스(2200)의 S2210단계는 병렬로 실행되는 복수의 협력 서브 프로세스로서 설명되지만 , 실시예는 이에 제한되지 않는다. 예를 들어, 다른 실시예에서, S221의 서브프로세스는 단일 프로세스에서 순차적으로 실행되는 각각의 단계일 수 있다.
[0334] 도 23은 일 실시예에 따른 네트워크를 모니터링하기 위한 프로세스(2300)를 도시한다. 상기 프로세스(2300)는 이상 모니터 서브프로세스(anomaly monitor subprocesses)(SP2302) 및 수집 서브프로세스(SP2322)를 포함한다. 서브프로세스 SP2302 및 SP2322는 향상된 모니터링을 위해 특정 셀의 자동 선택을 제공한다.
[0335] 상기 프로세스(2300)는 네트워크 내의 복수의 셀 각각에 대해 수행될 수 있다. 관련 기술의 모니터링 프로세스와 달리, 상기 프로세스(2300)는, 도 15의 데이터 플로우(1500) 또는 도 21의 모니터링 시스템(2100)에 의해 생성될 수 있는 것과 같은 실시간 데이터 를 포함할 수 있는 셀당 실시간 집계 분석을 모니터링한다. 상기 프로세스(2300)는 상기 네트워크 모니터링 에이전트(1634)에 의해 도 16의 4G 네트워크(1600)에서 수행될 수 있다. 상기 프로세스(2300)는 상기 네트워크 모니터링 및 분석 기능(428)에 의해 도 4의 5G 네트워크(400)에서 수행될 수 있다.
[0336] 일 실시예 에서, 프로세스(2300)는, 모든 셀로 하여금 너무 많은 데이터를 저장하게 할 필요 없이, 모니터링될 수 있도록 낮은 입도(granularity)(예: 15분)를 갖는 구성 가능한 이상 검출 간격(anomaly detection interval)으로, 이상을 검출하기 위해 복수의 셀을 모니터링한다. 셀에서 가능한 이상을 검출하면, 상기 프로세스(2300)는 셀에 대한 보고 간격을 정상 간격(예: 15분)에서 향상된 간격(예: 1초)으로 변경할 수 있다.
[0337] 예를 들어, 상기 프로세스(2300)는 "3Mbps 미만의 평균 사용자 쓰루풋"과 같은 미리 결정된 기준을 트리거하는 eNodeB 또는 셀을 모니터링할 수 있다. 이러한 셀에 대해, 상기 시스템은 향상된 입도(granularity)(예: 초 당) 메트릭을 수집할 수 있다. 조건이 계속 트리거되는 한, 구성 가능한 기간 동안 상기 향상된 입도 메트릭이 수집될 수 있다. 상기 프로세스(2300)는 디스크 공간 가용성에 대한 모니터링을 자체 규제할 수 있다.
[0338] 상기 이상 모니터 서브 프로세스(SP2302)는 해당 셀의 측정된 조건((예를 들어, 도 15의 데이터 플로우(1500)에 의해 생성될 수 있는 실시간 정보 및/또는 도 22의 프로세스(2200)에 의해 수집된 비디오 흐름 관련 정보)에 대한 데이터 보고(data reporting))을 이용하여 셀을 위한 데이터 보고(data reporting)가 일반 간격으로 수행되는지 향상된 간격(enhanced interval)으로 수행되는지를 결정한다.
[0339] S2304에서, 상기 이상 모니터 서브 프로세스(SP2302)는 이상 검출 타이머(anomaly detection timer)의 만료를 기다린다. 상기 이상 검출 타이머의 만료에 응답하여, 상기 이상 모니터 서브 프로세스(SP2302)는 S2306으로 진행한다.
[0340] S2306에서, 상기 이상 모니터 서브프로세스(SP2302)는 셀의 측정된 조건이 하나 이상의 트랩(trap) 중 어느 하나에 대한 조건을 충족하는지 여부를 결정한다. 예를 들어 트랩은, 평균 사용자 쓰루풋이 쓰루풋 목표보다 작은지 여부, HD 비디오로 전달된 비디오 플로우의 평균 백분율(percentage)이 HD 비디오 전달 목표보다 작은 지 여부, 활성 셀의 사용자가 정상적인 활성 사용자 범위 밖에 있는지 여부, 셀의 비디오 플로우의 백분율이 선호하는 비디오 비율 백분율 밖에 있는지 여부, 셀에 있는 비디오 플로우의 평균 해상도가 범위 밖에 있는지 여부, 버퍼링된 데이터 흐름에 대한 버퍼 스톨 레이트(buffer stall rate)가 범위를 벗어났는지 여부, 웹 서비스(예: 특정 소셜 미디어 사이트, 쇼핑 사이트, 스트리밍 비디오 사이트 등)의 로드 시간이 각각의 로드 시간 목표보다 느린지 여부, 다른 측정된 셀 조건이 각각의 정상 범위를 벗어나는지 여부, 또는 위의 조합일 수 있다. 상기 트랩 검출에 사용되는 범위는 미리 정해진 것일 수도 있고, 셀의 특성(셀의 대역폭 또는 셀에 대해 학습된 이력 규범(historical norms) 등)에 따라 결정될 수도 있다.
[0341] 상기 셀의 측정된 조건이 상기 트랩에 대한 조건을 만족할 때, S2306에서 상기 이상 모니터 서브프로세스(SP2302)는 S2308로 진행하고; 그렇지 않으면 상기 이상 모니터 서브프로세스(SP2302)는 S2310으로 진행한다.
[0342] S2308에서, 상기 이상 모니터 서브 프로세스(SP2302)는 상기 수집 서브 프로세스(SP2322)에 대한 보고 간격을 향상된 간격(여기서는 1초)으로 설정한다. 이상 모니터 서브 프로세스(SP2302)는 이후 S2312로 진행한다.
[0343] S2310에서, 상기 이상 모니터 서브 프로세스(SP2302)는 상기 수집 서브 프로세스 SP2322에 대한 보고 간격을 정상 간격(여기서는 15분)으로 설정한다. 상기 이상 모니터 서브 프로세스(SP2302)는 이후 S2312로 진행한다.
[0344] S2312에서, 상기 이상 모니터 서브 프로세스(SP2302)는 이상 검출 타이머(anomaly detection timer)를 이상 검출 간격 이후 만료되도록 설정하고 S2304로 진행한다.
[0345] 상기 수집 서브프로세스(SP2322)는 비정상 모니터 서브프로세스(SP2302)에서 설정한 보고 간격을 사용하여 셀에 대한 데이터를 정상 간격(normal interval) 또는 향상된 간격(enhanced interval)으로 보고한다.
[0346] S2326에서, 상기 수집 서브프로세스(SP2322)는 상기 수집 서브프로세스(SP2322)가 모니터링 하고 있는 셀과 관련된 데이터 플로우에 관한 성능 데이터를 수신한다. 상기 데이터 플로우는 셀 내의 UE에게 데이터를 전달하는 데이터 플로우일 수 있다. 상기 성능 데이터는 도 15의 데이터 플로우(1500)으로부터 생성된 데이터이거나, 도 21의 상기 모니터링 시스템(2100)에 의해 생성된 데이터일 수 있으나, 실시예가 이에 한정되는 것은 아니다.
[0347] S2330에서, 상기 수집 서브프로세스(SP2322)는 수신된 성능 데이터를 상기 셀의 ECI와 연관된 데이터의 버킷(bucket)에 추가한다.
[0348] S2332에서, 상기 수집 서브 프로세스(SP2322)는 보고 간격이 만료되었는지 여부를 판단한다. 상기 보고 간격이 만료되면 S2332에서 상기 수집 서브프로세스 SP2322가 S2334로 진행한다. 그렇지 않으면 상기 수집 서브프로세스 SP2322는 S2326으로 돌아간다.
[0349] S2334에서 상기 수집 서브프로세스(SP2322)는 데이터를 보고한 마지막 시간 이후 수집된 데이터를 보고하고, 상기 ECI와 관련된 상기 데이터의 버킷을 비우고, 상기 보고 간격을 다시 시작하고, S2326으로 돌아간다.
[0350] 도 32에 도시된 프로세스(2300)에서, 15분마다 셀에 대한 데이터를 보고하여 셀의 일반 모니터링(normal monitoring)을 수행하고, 1초마다 셀에 대한 데이터를 보고하여 셀의 향상된 모니터링(enhanced monitoring)을 수행한다. 그러나 실시예는 이러한 구체적인 간격으로 제한되지 않는다. 또한, 도 23에 도시된 예시적인 프로세스에서는, 2개의 모니터링 레벨(15분의 정상 간격 및 1초의 향상된 간격)이 도시되어 있으나, 이에 한정되는 것은 아니다. 예를 들어, 일 실시예에서 상기 프로세스(2300)는 각각이 정상 간격과 상이한 각각의 향상된 간격에 대응하고 각각이 모니터링 레벨과 각각 연관된 트랩 조건에 의해 트리거되는 복수의 향상된 모니터링 레벨을 포함할 수 있다.
[0351] 상기 프로세스(2300)는 두 개의 협력하는 서브 프로세스가 병렬로 실행되는 것으로 설명되지만, 실시예는 이에 제한되지 않는다. 예를 들어, 다른 실시예에서, 프로세스(2300)의 서브프로세스의 단계는 각각의 모니터링된 셀에 대해 수행되는 단일 프로세스로 병합될 수 있다.
[0352] 도 24는 일 실시예에 따른 통신 네트워크(2400)를 도시한다.
[0353] 상기 통신 네트워크(2400)는 eNodeB(2420), 스위치(2426), MME(2424) 및 SGW/PGW(2428)를 포함하는 RAN(2406)을 포함한다. RAN(2406), eNodeB(2420), 스위치(2426), MME(2424) 및 SGW/PGW(2428)는 각각 도 16의 RAN(1606), eNodeB(1620A), 스위치(1626), MME(1624), 및 SGW/PGW(1628)에 대응한다. 따라서, 상기 RAN(2406), eNodeB(2420), 스위치(2426), MME(2424), 및 SGW/PGW(2428)의 설명은 간결함을 위해 생략된다.
[0354] 상기 통신 네트워크(2400)는 모니터링 시스템(2434) 및 실시간 분석 시스템(2412)을 더 포함한다. 상기 모니터링 시스템(2434) 및 상기 실시간 분석 시스템(2412 )은 하나 이상의 베어메탈 상용 기성품(bare-metal commercial off-the-shelf; COTS) 서버를 사용하여 배치거나 또는 가상화된 환경에서 하나 이상의 VNF(Virtual Network Functions; 가상 네트워크 기능)로으 사용될 수 있다.
[0355] 상기 모니터링 시스템(2434)은 사용을 추적하고 네트워크 셀을 프로파일링하기 위해 표준 3GPP 인터페이스(여기서는 S1 -U, S1-MME 및 S11 인터페이스)에서 데이터를 미러링하는 미러 데이터(mirror data)를 수신하고, 상기 미러 데이터를 기반으로 실시간 데이터를 생성할 수 있다. 상기 실시간 데이터는 상기 통신 네트워크(2400)의 상태, 특히 상기 통신 네트워크 (2400)의 셀의 상태 에 대한 실시간 분석을 생성하기 위해 상기 실시간 분석 시스템(2412)에 의해 사용될 수 있다.
[0356] 상기 실시간 분석은 상기 통신 네트워크(2400)를 관리하는데 사용하기 위해 오퍼레이터 OSS(Operations Support Systems)(2414)에 제공될 수 있다. 상기 오퍼레이터 OSS는 SON(Self-Configuring and Self-Organizing Network)으로서 상기 통신 네트워크(2400)를 운영하는 것을 지원할 수 있는바, 상기 SON은 상기 실시간 분석 시스템(2412)에 의해 제공되는 실시간 분석을 사용하여 상기 통신 네트워크(2400)의 자동 제어 및 구성을 수행할 수 있다.
[0357] 상기 실시간 분석은 상기 통신 네트워크(2400)의 셀들의 현재 상태를 운영자에게 효율적으로 전달하기 위해 외부 대시보드(2416)에 제공될 수 있다.
[0358] 실시예는 짧은 간격(예를 들어, 15분 이하)으로 통신 네트워크의 각 셀에 대한 각각의 최상위 통계를 제공할 수 있다.
[0359] 실시예는 표준 인터페이스로부터의 데이터를 사용하여 네트워크에서 문제 셀을 자동으로 검출하는 시스템을 관련 기술의 시스템에서 이용 가능한 것 이상으로 세분화된 공간 및/또는 토폴로지 입도(topological granularity)로 제공할 수 있다. 예를 들어, 실시예는 (게이트웨이와 같은) 네트워크의 중간에서 획득된 데이터로부터 특정 셀의 비디오 성능을 검출하고 그 데이터를 사용하여 셀의 문제를 검출할 수 있지만, 실시예는 이에 제한되지 않는다.
[0360] 실시예는 문제 셀을 식별하고 문제 셀로서 식별된 각각의 셀에 대한 미세한 시간적 입도 통계(예를 들어, 초당 통계)를 제공할 수 있다. 미세한 시간 단위 통계는 평균 사용자 쓰루풋, 평균 활성 사용자, 평균 연결 사용자, 비디오 성능 메트릭(시작 시간, 정지 속도, 해상도 등), 트래픽 구성, 셀 혼잡 레벨 또는 이들의 조합을 포함할 수 있지만, 실시예는 이에 제한되지 않는다.
[0361] 실시예는 네트워크의 문제 지점을 식별하고, 문제를 일으킬 수 있는 트래픽을 연구하고, 새로 배치된 셀의 성능 모니터링을 수행하여 올바르게 작동하는지 확인하는 데 사용될 수 있다.
[0362] 실시예는 eNodeB의 섹터에서 어떤 캐리어(즉, 섹터에서 어떤 셀)가 과도하게 활용되거나 과소 활용될 수 있는지를 결정하기 위해 스펙트럼 부하 균형 분석을 수행하는 데 사용될 수 있다. 섹터의 각 셀이 해당 용량의 유사한 백분율로 작동할 때 섹터는 스펙트럼 부하 균형을 맞출 수 있다. 스펙트럼 부하 균형 분석(spectral load balance analysis)은 섹터에서 지원되는 캐리어 전체에 걸쳐 섹터의 로드 균형을 유지하는 데 사용될 수 있으며, 다른 용도를 위해 해당 셀의 대역폭을 해제하기 위하여 덜 사용되어 더 이상 사용되지 않을 수 있는 캐리어(예를 들어 해당 섹터의 다른 셀로 트래픽을 이동시킨)를 식별하는 데 사용할 수 있다
[0363] 실시예는 컴퓨터 구현 방법 또는 컴퓨터 실행 가능 명령어가 저장된 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 일 실시예에서, 프로세서에 의해 실행될 때, 컴퓨터 판독 가능한 명령어는 본 개시의 적어도 하나의 양상에 따른 방법을 수행할 수 있다.
[0364] 본 개시의 다양한 실시예에서, 데이터 전송은 네트워크의 현재 상태에 적응하도록 실시간으로 업데이트되는 하나 이상의 동적 변수를 사용하는 전송 최적화 프로세스에 의해 잠재적인 혼잡이 존재하는 경우에 최적화된다. 상기 네트워크는 전송 최적화 프로세스가 고려할 수 있는 고유한 특성을 각각 갖는 복수의 서브네트워크를 포함할 수 있다. 또한 상기 전송 최적화 프로세스는 서브 네트워크의 고유한 특성과 특히 혼잡이 각 서브 네트워크에서 어떻게 영향을 미치고 검출될 수 있는지와 관련된 서브 네트워크의 정보를 사용할 수 있다. 상기 서브 네트워크는 RAN(Radio Access Network), 케이블 IAN(Internet Access networks), DSL(Digital Subscriber Line) IAN, 광섬유 IAN 등을 포함할 수 있다.
[0365] 상기 전송 최적화 프로세스는, TCP 세션의 대역폭을 증가(즉, 가속)하거나 대역폭을 감소(즉, 감속)하기 위해, TCP 세션의 혼잡 윈도우를 제어하기 위해 TCP 구현에 입력을 제공할 수 있다. 예를 들어, 상기 전송 최적화 프로세스는 느린 시작 단계(slow start stage)를 건너뛰거나, 더 큰 초기 혼잡 윈도우(initial congestion window)로 느린 시작 단계를 시작하거나, 혼잡 회피 단계(congestion avoidance stage) 동안에 상기 혼잡 윈도우가 증가하거나 감소하는 또는 증감하는 각각의 양을 변경하거나, 이들의 조합을 수행하기 위해, 상기 TCP 구현을 지시(direct)할 수 있다.
[0366] 본 발명이 현재 실용적인 실시예로 간주되는 것과 관련하여 설명되었지만, 실시예는 개시된 실시예에 제한되지 않고, 반대로 첨부된 청구범위의 범위 내에 포함된 다양한 수정 및 등가 배열을 포함할 수 있다. 프로세스에 설명된 작업 순서는 예시이며 일부 작업은 재정렬될 수 있다. 또한, 둘 이상의 실시예가 조합될 수 있다.

Claims (20)

  1. 네트워크 효율성을 최적화하기 위한 방법으로서,
    공유 채널(shared channel)을 위한 네트워크 토폴로지 정보(network topology information)를 획득하되, 상기 네트워크 토폴로지 정보는 상기 채널을 통해 전송되는 제어 및 데이터 패킷을 모니터링하여 얻은 정보를 포함하는, 단계;
    상기 공유 채널을 사용하는 연결(connection)을 위하여, 혼잡 제어 알고리즘(congestion control algorithm), 상기 혼잡 제어 알고리즘의 파라미터, 또는 둘 다를 결정하는 단계; 및
    상기 혼잡 제어 알고리즘, 상기 혼잡 제어 알고리즘의 파라미터, 또는 둘 모두에 따라 상기 연결의 데이터 흐름(data flow)을 관리하는 단계
    를 포함하는
    방법.
  2. 제1항에 있어서, 상기 혼잡 제어 알고리즘을 결정하는 단계는:
    상기 연결을 설정(establish)하는 요청에 응답하여, 상기 네트워크 토폴로지 정보를 사용하여 ICWA(Initial Congestion Window Algorithm)를 결정하는 단계
    를 포함하는
    방법.
  3. 제2항에 있어서, 상기 ICWA를 결정하는 단계는, 상기 네트워크 토폴로지 정보에 따라 느린 시작 단계(slow start stage)가 없는 알고리즘을 선택하는 단계를 포함하는
    방법.
  4. 제2항에 있어서, 상기 ICWA를 결정하는 단계는, 상기 네트워크 토폴로지 정보에 따라 빠른 느린 시작 단계(fast slow start stage)를 갖는 알고리즘을 선택하는 단계를 포함하고,
    초기 혼잡 윈도우(initial congestion window)는 제1 파라미터에 따라 설정되고, 상기 혼잡 윈도우는 시간이 지남에 따라 기하급수적으로(exponentially) 증가하는,
    방법.
  5. 제1항에 있어서, 상기 혼잡 제어 알고리즘의 파라미터를 결정하는 단계는, 상기 네트워크 토폴로지 정보에 따라 초기 혼잡 윈도우의 크기를 결정하는 단계를 포함하는
    방법.
  6. 제1항에 있어서, 상기 네트워크 토폴로지 정보의 변경에 응답하여 상기 혼잡 제어 알고리즘의 파라미터를 업데이트하는 단계
    를 더 포함하는
    방법.
  7. 제1항에 있어서,
    상기 네트워크 토폴로지 정보에 포함되는 혼잡 프로파일(congestion profile)을 사용하여, 상기 혼잡 제어 알고리즘(congestion control algorithm), 상기 혼잡 제어 알고리즘의 파라미터, 또는 둘 다를 결정하는 단계를 포함하되,
    상기 혼잡 프로파일은, 상기 공유 채널에 의해 전달되는 데이터 스트림의 하나 이상의 혼잡 관련 시간 윈도우 측정(congestion-related time-windowed measurements), 및 상기 공유 채널의 식별자를 포함하는
    방법.
  8. 제1항에 있어서,
    상기 네트워크 토폴로지 정보에 따라, 디바이스로부터 수신된 광고된(advertised) 수신 윈도우(receive window)를 스케일링(scaling)하고, 상기 스케일된(scaled) 광고된 수신 윈도우를 제2 엔드포인트(endpoint)로 전송하여, 상기 디바이스의 광고된 수신 윈도우를 확대하도록 결정하되, 상기 디바이스는 상기 연결의 제1 엔드포인트(endpoint)인, 단계
    를 더 포함하는
    방법.
  9. 제1항에 있어서,
    상기 네트워크 토폴로지 정보를 사용하여, 상기 공유 채널을 위한 유효한 혼잡 프로파일(valid congestion profile)이 존재하지 않음을 결정하는 단계; 및
    상기 공유 채널에 대한 유효한 혼잡 프로파일이 존재하지 않는다는 결정에 응답하여, 글로벌 디폴트(global default) 혼잡 프로파일 또는 상기 공유 채널의 특성에 따라 결정된 디폴트 혼잡 프로파일을 사용하여 상기 혼잡 제어 알고리즘, 상기 혼잡 제어 알고리즘의 파라미터, 또는 둘 다를 결정하는 단계
    를 더 포함하는
    방법.
  10. 제1항에 있어서, 상기 혼잡 제어 알고리즘, 상기 혼잡 제어 알고리즘의 파라미터, 또는 둘 다를 결정하는 단계는,
    상기 네트워크 토폴로지 정보를 사용하여, 상기 연결의 엔드포인트인 다바이스를 위한 타겟 쓰루풋(target throughput)을 결정하는 단계;
    상기 다바이스를 위한 상기 타겟 쓰루풋(target throughput)을 사용하여, 상기 연결을 위한 타겟 쓰루풋을 결정하되, 상기 연결을 위한 타겟 쓰루풋은 상기 디바이스를 위한 타겟 쓰루풋과 상이한, 단계; 및
    상기 연결을 위한 타겟 쓰루풋에 따라, 상기 혼잡 제어 알고리즘, 상기 혼잡 제어 알고리즘의 파라미터 또는 둘 다를 결정하는 단계
    를 포함하는
    방법.
  11. 네트워크 토폴로지 정보를 생성하는 방법에 있어서,
    복수의 데이터 세션 측정치(data session measurements), 및 상기 데이터 세션 측정치와 각각 연관된 복수의 네트워크 부분 식별자(network portion identifiers)를 포함하는 실시간 정보를 획득하되,
    각 데이터 세션 측정은 네트워크를 통해 전송된 각 데이터 세션의 측정을 포함하고,
    각 네트워크 부분 식별자는 각 데이터 스트림의 엔드포인트(endpoint)에 대응하는 네트워크 부분의 식별자를 포함하고, 인터넷 프로토콜(IP) 주소에서 네트워크 부분 식별자로의 매핑(IP address to network portion identifier mappings)을 사용하여 각 데이터 스트림의 인터넷 프로토콜(IP) 주소를 상기 네트워크 부분 식별자로 매핑하여 결정되는, 단계; 및
    상기 복수의 데이터 세션 측정치 및 상기 복수의 개별 네트워크 부분 식별자를 사용하여 네트워크 부분에 대한 네트워크 토폴로지 정보를 실시간으로 생성하는 단계
    를 포함하는
    방법.
  12. 제11항에 있어서, 상기 실시간 정보를 획득하는 단계는,
    제1 데이터 세션의 제1 데이터 세션 측정치를 획득하는 단계;
    상기 인터넷 프로토콜(IP) 주소에서 네트워크 부분 식별자로의 매핑(IP address to network portion identifier mappings)을 수신하는 단계;
    상기 제1 데이터 세션의 제1 IP 주소를 결정하는 단계;
    상기 인터넷 프로토콜(IP) 주소에서 네트워크 부분 식별자로의 매핑, 및 상기 제1 IP 주소를 사용하여, 제1 네트워크 부분 식별자를 결정하는 단계; 및
    상기 제1 네트워크 부분 식별자를 상기 제1 데이터 세션과 연관(associating)시키는 단계
    를 포함하는
    방법.
  13. 제12항에 있어서, 상기 제1 IP 주소는 상기 제1 데이터 세션의 엔드포인트인 사용자 디바이스의 IP 주소
    인 방법.
  14. 제11항에 있어서, 상기 네트워크 부분은 상기 네트워크의 셀(cell)이고,
    상기 네트워크 토폴로지 정보는 상기 셀 내에서 하나 이상의 조건(condition)을 지시하는 상기 셀의 크라우드 소싱 프로파일(crowd-sourced profile)을 포함하고,
    상기 셀의 상기 크라우드 소싱 프로파일은, 상기 셀 내 평균 사용자 쓰루풋, 상기 셀 내 활성 사용자 수, 상기 셀 내 총 데이터 볼륨, 연결되었지만 활성 전송은 하지 않는 사용자 수, 또는 이들의 조합을 포함하는
    방법.
  15. 제11항에 있어서, 상기 네트워크 부분은 셀이고,
    상기 네트워크 토폴로지 정보는 상기 셀에 관한 통계를 포함하고, 상기 통계는 상기 셀을 위한 평균 사용자 쓰루풋, 상기 셀을 위한 사용자 쓰루풋 분포(distribution), 상기 셀 내의 활성 사용자의 수, 상기 셀 내의 연결 사용자의 수, 상기 셀을 위한 평균 사용자 장비(UE) 쓰루풋, 상기 셀을 위한 UE 쓰루풋 분포, 상기 셀 내의 활성 UE의 수, 상기 셀 내의 연결 UE의 수, 상기 셀을 위한 데이터 볼륨에 관한 통계, 상기 셀을 위한 레이턴시(latency)에 관한 통계, 또는 이들의 조합을 포함하는
    방법.
  16. 제11항에 있어서, 상기 복수의 데이터 세션 측정치는 상기 네트워크의 사용자 데이터 평면을 모니터링함으로써 획득되고,
    상기 인터넷 프로토콜(IP) 주소에서 네트워크 부분 식별자로의 매핑(IP address to network portion identifier mappings)은 상기 네트워크의 제어 평면의 사용자 이동성(user mobility) 및 데이터 세션 식별자 정보를 모니터링함으로써 획득되는
    방법.
  17. 네트워크를 모니터링하는 방법에 있어서,
    상기 네트워크의 복수의 셀 각각에서 UE를 추적함으로써 사용자 장비(UE) 위치 정보를 생성하는 단계; 및
    상기 UE 위치 정보를 사용하여, 실시간 네트워크 메트릭(real-time network metrics)을 생성하되, 상기 실시간 네트워크 메트릭은 상기 복수의 셀을 위한 개별 실시간 성능 정보(real-time performance information)를 포함하는, 단계

    포함하는
    방법.
  18. 제17항에 있어서,
    상기 실시간 네트워크 메트릭을 사용하여 비정상 성능을 갖는 복수의 셀 중 하나를 실시간으로 식별하는 단계
    를 포함하는
    방법.
  19. 제17항에 있어서,
    실시간 네트워크 메트릭을 사용하여, 상기 복수의 셀 내 중 하나가 성능 이상을 경험하고 있는지 여부를 결정하는 단계;
    상기 셀이 성능 이상을 경험하고 있다는 결정에 응답하여, 강화된 간격(enhanced interval)으로 상기 셀에 대한 성능 정보를 보고하는 단계; 및
    상기 셀이 성능 이상을 경험하고 있지 않다는 결정에 응답하여, 정상 간격(normal interval)으로 셀에 대한 성능 정보를 보고하되, 상기 정상 간격은 상기 강화된 간격보다 긴, 단계
    를 포함하는
    방법.
  20. 제17항에 있어서,
    상기 실시간 네트워크 메트릭을 사용하여, 상기 복수의 셀 중 하나의 데이터 스트림이 비디오 데이터를 운반하고 있음을 결정하는 단계;
    상기 실시간 네트워크 메트릭을 사용하여, 상기 데이터 스트림에 대한 S x S (second by second) 레이트 데이터를 결정하는 단계;
    상기 S x S 레이트 데이터를 사용하여, 비디오 통계를 결정하되, 상기 비디오 통계는 상기 비디오 데이터에 대한 비트레이트 추정치를 포함하는 비디오 통계, 상기 비디오 데이터의 비디오 해상도, 평균 비디오 쓰루풋, 상기 비디오 데이터에 대응하는 버퍼 채우기 레벨(buffer fill level), 상기 비디오 데이터에 대응하는 평균 시작 시간, 상기 비디오 데이터에 대응하는 스톨 정보(stall information), 또는 이들의 조합을 포함하는, 단계; 및
    상기 비디오 통계를 실시간으로 보고하는 단계
    를 포함하는
    방법.

KR1020227026423A 2019-12-31 2020-12-31 모바일 네트워크의 실시간 모니터링 및 최적화를 위한 시스템 및 방법 Withdrawn KR20220123083A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962956138P 2019-12-31 2019-12-31
US201962956135P 2019-12-31 2019-12-31
US201962956104P 2019-12-31 2019-12-31
US62/956,104 2019-12-31
US62/956,138 2019-12-31
US62/956,135 2019-12-31
PCT/US2020/067733 WO2021138604A1 (en) 2019-12-31 2020-12-31 Systems and methods for real-time monitoring and optimization of mobile networks

Publications (1)

Publication Number Publication Date
KR20220123083A true KR20220123083A (ko) 2022-09-05

Family

ID=76546880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227026423A Withdrawn KR20220123083A (ko) 2019-12-31 2020-12-31 모바일 네트워크의 실시간 모니터링 및 최적화를 위한 시스템 및 방법

Country Status (5)

Country Link
US (3) US11329922B2 (ko)
EP (1) EP4085685A4 (ko)
JP (1) JP2023509426A (ko)
KR (1) KR20220123083A (ko)
WO (1) WO2021138604A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250128636A (ko) 2024-02-21 2025-08-28 고려대학교 산학협력단 6g 코어 망에서의 nf 간 int 아이템별 샘플링 비율 결정 장치 및 방법
KR20250137299A (ko) 2024-03-11 2025-09-18 고려대학교 산학협력단 6g 코어망에서의 네트워크 기능 간 int 인코딩 아이템 전송 처리 장치 및 방법
KR20250137305A (ko) 2024-03-11 2025-09-18 고려대학교 산학협력단 6g 코어 망에서의 nf 간 int 아이템별 샘플링 비율을 고려한 확률론적 모니터링 장치 및 방법
KR20250137300A (ko) 2024-03-11 2025-09-18 고려대학교 산학협력단 인-밴드 네트워크 텔레메트리 아이템 인코딩 장치 및 방법
KR20250148272A (ko) 2024-04-05 2025-10-14 고려대학교 산학협력단 6g 코어 망에서의 네트워크 기능 간 다중 인-밴드 네트워크 텔레메트리 데이터 인코딩 장치 및 방법
KR20250159849A (ko) 2024-05-03 2025-11-11 고려대학교 산학협력단 6g 코어 망에서의 네트워크 이상 탐지를 위한 선택적 인-밴드 네트워크 텔레메트리 데이터 수집 장치 및 방법
US12549475B2 (en) 2023-03-28 2026-02-10 Electronics And Telecommunications Research Institute Apparatus and method for performing session management in mobile communication system
KR20260019940A (ko) 2024-08-02 2026-02-10 고려대학교 산학협력단 6g 코어 망에서의 혼잡 정도에 따른 동적 인-밴드 네트워크 텔레메트리 수집 장치 및 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11329922B2 (en) * 2019-12-31 2022-05-10 Opanga Networks, Inc. System and method for real-time mobile networks monitoring
CN113014630B (zh) * 2021-02-10 2025-03-28 腾讯科技(深圳)有限公司 实现通信连续性的方法及相关设备
US12556601B1 (en) * 2021-02-17 2026-02-17 Aviatrix Systems, Inc. Multi-cloud network traffic filtering service
US12212479B2 (en) * 2022-09-30 2025-01-28 At&T Intellectual Property I, L.P. Estimation of network latency based on aggregated performance data
KR102797055B1 (ko) * 2022-11-11 2025-04-21 강원대학교산학협력단 Udp 플러딩 공격으로터 자유로울 수 있는 quic 기반 통신 시스템
US20240430212A1 (en) * 2023-06-22 2024-12-26 Microsoft Technology Licensing, Llc Scheduling mechanisms for approximating fine-grained, per-flow rate adjustments and cycle-granularity inter-packet spacing in network applications
US20250126515A1 (en) * 2023-10-17 2025-04-17 T-Mobile Innovations Llc Pre-caching content using network capacity and other metrics
US20250379820A1 (en) * 2024-06-05 2025-12-11 At&T Intellectual Property I, L.P. Analyzing network performance at an adaptive granularity

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377987B1 (en) * 1999-04-30 2002-04-23 Cisco Technology, Inc. Mechanism for determining actual physical topology of network based on gathered configuration information representing true neighboring devices
US6704288B1 (en) * 1999-10-07 2004-03-09 General Instrument Corporation Arrangement for discovering the topology of an HFC access network
EP1211843A1 (en) * 2000-11-30 2002-06-05 Hewlett-Packard Company, A Delaware Corporation Process and apparatus for automatic topology discovery
US7304948B1 (en) * 2000-12-29 2007-12-04 Nortel Networks Limited Congestion control for signalling transport protocols
US6744730B2 (en) * 2001-11-30 2004-06-01 Nokia Corporation Throughput enhancement after interruption
WO2003081873A1 (en) * 2002-03-22 2003-10-02 Nokia Corporation Method, system and device for controlling a transmission window size
US7082584B2 (en) * 2003-04-30 2006-07-25 Lsi Logic Corporation Automated analysis of RTL code containing ASIC vendor rules
US20050052992A1 (en) * 2003-08-01 2005-03-10 Cloonan Thomas J. Method and system for dynamically managing cable data bandwidth based on channel congestion state and subscriber usage profile
US7609640B2 (en) * 2003-12-19 2009-10-27 Nokia Corporation Methods and applications for avoiding slow-start restart in transmission control protocol network communications
US20060059256A1 (en) * 2004-09-10 2006-03-16 Nokia Corporation Signaling a state of a transmission link via a transport control protocol
US7787366B2 (en) * 2005-02-02 2010-08-31 Interdigital Technology Corporation Method and apparatus for controlling wireless medium congestion by adjusting contention window size and disassociating selected mobile stations
US20090227251A1 (en) * 2008-03-05 2009-09-10 Huawei Technologies Co., Inc. System and method for automatically monitoring and managing wireless network performance
US8116247B2 (en) * 2008-03-11 2012-02-14 Nokia Siemens Networks Oy Adaptive mechanism for dynamic reconfiguration of mesh networks
GB2461132B (en) 2008-06-27 2013-02-13 Gnodal Ltd Method of data delivery across a network
CN101686497B (zh) 2008-09-24 2013-04-17 华为技术有限公司 小区负荷均衡方法、小区负荷评估方法及装置
KR20100078431A (ko) * 2008-12-30 2010-07-08 주식회사 동부하이텍 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
WO2011080714A2 (en) * 2009-12-31 2011-07-07 Allot Communications Ltd. Device, system and method of media delivery optimization
US9001663B2 (en) * 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment
US20120123867A1 (en) * 2010-05-11 2012-05-17 Scott Hannan Location Event Advertising
US9184983B2 (en) * 2010-08-26 2015-11-10 Futurewei Technologies, Inc. Cross-stratum optimization protocol
KR101781159B1 (ko) * 2010-12-20 2017-09-22 한국전자통신연구원 데이터 분배 서비스에서 경량 멀티캐스트를 제공하는 방법 및 장치
US20120163167A1 (en) * 2010-12-27 2012-06-28 Symbol Technologies, Inc. Transmission control protocol optimization systems and methods for wireless networks
CN102143078B (zh) * 2011-03-29 2013-10-02 华为技术有限公司 一种报文处理方法、转发设备及系统
KR101503042B1 (ko) * 2011-04-22 2015-03-16 주식회사 케이티 부하 분산 방법, 이를 수행하는 펨토 기지국 및 펨토 기지국 관리 시스템
WO2013052651A2 (en) * 2011-10-04 2013-04-11 North Carolina State University Receiver-based methods, systems, and computer readable media for controlling tcp sender behavior in cellular communications networks with large buffer sizes
US8724904B2 (en) * 2011-10-25 2014-05-13 International Business Machines Corporation Anomaly detection in images and videos
US20130250853A1 (en) * 2012-03-20 2013-09-26 Qualcomm Incorporated Methods and apparatuses to improve round trip time in transfer control protocol using accelerated acknowledgement messages
EP2704380A1 (en) * 2012-09-03 2014-03-05 Telefonaktiebolaget L M Ericsson (publ) Congestion signalling in a communications network
US9300541B2 (en) * 2012-09-28 2016-03-29 Time Warner Cable Enterprises Llc System and method for automatically learning and maintaining IP address allocation topology
US9100285B1 (en) 2012-12-18 2015-08-04 Juniper Networks, Inc. Dynamic control channel establishment for software-defined networks having centralized control
US9131390B2 (en) * 2013-02-28 2015-09-08 Verizon Patent And Licensing Inc. Optimization of transmission control protocol (TCP) connections in a wireless network
WO2014135185A1 (en) * 2013-03-04 2014-09-12 Nokia Solutions And Networks Oy User plane congestion control
US20160065419A1 (en) * 2013-04-09 2016-03-03 Nokia Solutions And Networks Oy Method and apparatus for generating insight into the customer experience of web based applications
US8885466B1 (en) * 2013-06-17 2014-11-11 Seven Networks, Inc. Systems for selective activation of network management policies of mobile devices in a mobile network
US9282041B2 (en) * 2013-07-16 2016-03-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Congestion profiling of computer network devices
US9516541B2 (en) * 2013-09-17 2016-12-06 Intel IP Corporation Congestion measurement and reporting for real-time delay-sensitive applications
US9565577B2 (en) * 2013-11-21 2017-02-07 At&T Intellectual Property I, L.P. Method and apparatus for maximizing network capacity of cell sites in a wireless network
US9918258B2 (en) * 2013-11-26 2018-03-13 At&T Intellectual Property I, L.P. Anomaly correlation mechanism for analysis of handovers in a communication network
US20160380898A1 (en) * 2013-11-27 2016-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Controlling a transmission control protocol window size
US10043137B1 (en) * 2014-01-06 2018-08-07 Nuu:Bit, Inc. Dynamically optimized transport system
US10470198B2 (en) * 2014-03-14 2019-11-05 Interdigital Patent Holdings, Inc. Method and apparatus for dual-band mesh operations
US20150271225A1 (en) * 2014-03-18 2015-09-24 Qualcomm Incorporated Transport accelerator implementing extended transmission control functionality
CN107078967A (zh) * 2014-09-16 2017-08-18 华为技术有限公司 调度器、发送器、接收器、网络节点及其方法
US9794181B2 (en) * 2014-12-05 2017-10-17 Verizon Digital Media Services Inc. Dynamic initial congestion window modification
CN105763474B (zh) * 2014-12-19 2019-10-25 华为技术有限公司 数据传输方法和装置
US9456362B2 (en) * 2015-01-19 2016-09-27 Viavi Solutions Uk Limited Techniques for dynamic network optimization using geolocation and network modeling
US9929956B2 (en) * 2015-02-26 2018-03-27 Citrix Systems, Inc. System for bandwidth optimization with initial congestion window determination
CN105991462B (zh) * 2015-03-02 2019-05-28 华为技术有限公司 传输控制协议tcp数据包的发送方法、发送装置和系统
GB2536241A (en) * 2015-03-09 2016-09-14 Vodafone Ip Licensing Ltd Self-organising network engine for per user optimisation in a telecommunications network
JP2016174268A (ja) * 2015-03-17 2016-09-29 株式会社日立製作所 ネットワークシステム、ネットワークシステムの制御方法、通信装置、及びプログラム
EP3304831B1 (en) * 2015-06-03 2021-11-10 VID SCALE, Inc. Enhancing performance of multi-path communications
US10158575B2 (en) * 2015-06-17 2018-12-18 Citrix Systems, Inc. System for bandwidth optimization with high priority traffic awareness and control
US10063406B2 (en) * 2015-07-15 2018-08-28 TUPL, Inc. Automatic customer complaint resolution
US20170094454A1 (en) * 2015-09-25 2017-03-30 Qualcomm Incorporated. Efficiency crowdsourcing of wireless network-related data
US10419968B2 (en) * 2016-03-30 2019-09-17 International Business Machines Corporation Dynamic selection of TCP congestion control for improved performances
US10361963B2 (en) * 2016-05-10 2019-07-23 Verizon Patent And Licensing Inc. Controlling a congestion window size
US20170339022A1 (en) * 2016-05-17 2017-11-23 Brocade Communications Systems, Inc. Anomaly detection and prediction in a packet broker
WO2017210642A1 (en) * 2016-06-03 2017-12-07 Opanga Networks, Inc. Radio access type detection using traffic metrics
EP3306878A1 (en) * 2016-10-05 2018-04-11 Alcatel Lucent A networked application component with credit based congestion control, and corresponding method
EP3533162B1 (en) * 2016-10-28 2021-04-07 Telefonaktiebolaget LM Ericsson (PUBL) Handling of data packet transfer via a proxy
JP6822076B2 (ja) * 2016-11-08 2021-01-27 日本電気株式会社 無線リソース割り当て装置、無線リソース割り当て方法、及び、無線リソース割り当てプログラム
US10064073B2 (en) * 2016-11-11 2018-08-28 International Business Machines Corporation Optimizing bandwidth of cognitive radios
CN108270682B (zh) * 2016-12-30 2022-06-24 华为技术有限公司 一种报文传输方法、终端、网络设备及通信系统
WO2018133924A1 (en) * 2017-01-17 2018-07-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for analysing performance of a telecommunications network
US10986516B2 (en) 2017-03-10 2021-04-20 Huawei Technologies Co., Ltd. System and method of network policy optimization
US10298279B2 (en) * 2017-04-05 2019-05-21 Isco International, Llc Method and apparatus for increasing performance of communication paths for communication nodes
EP4451197A3 (en) * 2017-04-27 2024-11-13 Snap Inc. Map-based graphical user interface indicating geospatial activity metrics
US10412049B2 (en) * 2017-10-20 2019-09-10 Syniverse Technologies, Llc Traffic rerouting and filtering in packet core networks
US10904788B2 (en) * 2017-10-24 2021-01-26 Cisco Technology, Inc. Controlling a congestion window value for a wireless device in a heterogeneous network
US10897489B2 (en) * 2017-12-07 2021-01-19 Mcom Media Comunications Dmcc Managing content casting
US10931587B2 (en) * 2017-12-08 2021-02-23 Reniac, Inc. Systems and methods for congestion control in a network
US10887778B2 (en) * 2017-12-22 2021-01-05 At&T Intellectual Property I, L.P. Proactively adjusting network infrastructure in response to reporting of real-time network performance
CN110022264B (zh) * 2018-01-08 2020-09-08 华为技术有限公司 控制网络拥塞的方法、接入设备和计算机可读存储介质
EP3725126B1 (en) * 2018-01-15 2023-11-29 Huawei Technologies Co., Ltd. Devices and methods for managing communication in a v2x communication network
WO2019169273A1 (en) * 2018-03-02 2019-09-06 Futurewei Technologies, Inc. Method of traffic and congestion control for a network with quality of service
CN109996210B (zh) * 2018-04-02 2020-07-24 京东方科技集团股份有限公司 车联网的拥塞窗口控制方法、装置和设备
US20190372897A1 (en) * 2018-05-31 2019-12-05 T-Mobile Usa, Inc. Systems and methods for congestion measurements in data networks via qos availability
US10917797B2 (en) * 2018-08-17 2021-02-09 Spectrum Effect Inc. Method and system for detecting and resolving anomalies in a wireless network
US11678252B2 (en) * 2018-10-05 2023-06-13 Huawei Technologies Co., Ltd. Quality of service information notification to user equipment, users, and application server
JP7111173B2 (ja) * 2018-10-29 2022-08-02 日本電気株式会社 情報処理装置
EP3664398A1 (en) * 2018-12-06 2020-06-10 InterDigital CE Patent Holdings Network equipment and method for delivering data packets
EP4380229A3 (en) * 2018-12-17 2024-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for congestion control in a telecommunications network
WO2020126018A1 (en) * 2018-12-20 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Buffer status reporting in wireless communication systems
CN110120896B (zh) * 2019-04-15 2020-12-25 北京达佳互联信息技术有限公司 网络延迟控制方法、装置、电子设备及存储介质
US11012361B2 (en) * 2019-08-29 2021-05-18 Hughes Network Systems, Llc Managing transmission control protocol (TCP) traffic
CN110728823A (zh) * 2019-10-09 2020-01-24 中兴健康科技有限公司 一种低功耗往返监护的路径感知电子围栏系统
US11546789B2 (en) * 2019-11-22 2023-01-03 T-Mobile Usa, Inc. Cell map built and used by mobile devices
US11190448B2 (en) * 2019-11-26 2021-11-30 Verizon Patent And Licensing Inc. Transport congestion control optimization based on network context
US11388109B2 (en) * 2019-12-05 2022-07-12 At&T Intellectual Property I, L.P. Hierarchical capacity management in a virtualization environment
US11329922B2 (en) * 2019-12-31 2022-05-10 Opanga Networks, Inc. System and method for real-time mobile networks monitoring
US12273270B2 (en) * 2020-01-28 2025-04-08 Intel Corporation Congestion management techniques
US11337108B2 (en) * 2020-02-19 2022-05-17 Verizon Patent And Licensing Inc. Uplink congestion control based on SIP messaging
US11496403B2 (en) * 2020-02-24 2022-11-08 Cloudflare, Inc. Modifying the congestion control algorithm applied to a connection based on request characteristics
US11483249B2 (en) * 2020-09-29 2022-10-25 Edgecast Inc. Systems and methods for dynamic optimization of network congestion control
US20220210084A1 (en) * 2022-03-16 2022-06-30 Intel Corporation Timestamp synchronization between host and network interface device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12549475B2 (en) 2023-03-28 2026-02-10 Electronics And Telecommunications Research Institute Apparatus and method for performing session management in mobile communication system
KR20250128636A (ko) 2024-02-21 2025-08-28 고려대학교 산학협력단 6g 코어 망에서의 nf 간 int 아이템별 샘플링 비율 결정 장치 및 방법
KR20250137299A (ko) 2024-03-11 2025-09-18 고려대학교 산학협력단 6g 코어망에서의 네트워크 기능 간 int 인코딩 아이템 전송 처리 장치 및 방법
KR20250137305A (ko) 2024-03-11 2025-09-18 고려대학교 산학협력단 6g 코어 망에서의 nf 간 int 아이템별 샘플링 비율을 고려한 확률론적 모니터링 장치 및 방법
KR20250137300A (ko) 2024-03-11 2025-09-18 고려대학교 산학협력단 인-밴드 네트워크 텔레메트리 아이템 인코딩 장치 및 방법
KR20250148272A (ko) 2024-04-05 2025-10-14 고려대학교 산학협력단 6g 코어 망에서의 네트워크 기능 간 다중 인-밴드 네트워크 텔레메트리 데이터 인코딩 장치 및 방법
KR20250159849A (ko) 2024-05-03 2025-11-11 고려대학교 산학협력단 6g 코어 망에서의 네트워크 이상 탐지를 위한 선택적 인-밴드 네트워크 텔레메트리 데이터 수집 장치 및 방법
KR20260019940A (ko) 2024-08-02 2026-02-10 고려대학교 산학협력단 6g 코어 망에서의 혼잡 정도에 따른 동적 인-밴드 네트워크 텔레메트리 수집 장치 및 방법

Also Published As

Publication number Publication date
US11785442B2 (en) 2023-10-10
US20210203606A1 (en) 2021-07-01
EP4085685A1 (en) 2022-11-09
US11438272B2 (en) 2022-09-06
EP4085685A4 (en) 2024-05-29
US20210203558A1 (en) 2021-07-01
WO2021138604A1 (en) 2021-07-08
JP2023509426A (ja) 2023-03-08
US20210203710A1 (en) 2021-07-01
US11329922B2 (en) 2022-05-10

Similar Documents

Publication Publication Date Title
KR20220123083A (ko) 모바일 네트워크의 실시간 모니터링 및 최적화를 위한 시스템 및 방법
JP6553196B2 (ja) トラフィックフローの監視
CN110383877B (zh) 网络策略优化的系统和方法
EP2904834B1 (en) Method and system for radio service optimization using active probing over transport networks
WO2019242664A1 (zh) 一种资源管理方法及装置
US7477602B2 (en) Estimator for end-to-end throughput of wireless networks
US7286474B2 (en) Method and apparatus for performing admission control in a communication network
EP2907329B1 (en) Performance monitoring of control and provisioning of wireless access points (capwap) control channels
US9510354B2 (en) Method and a device for low intrusive fast estimation of the bandwidth available between two IP nodes
KR20140102653A (ko) 확장된 자기 최적화 네트워크에서의 정책 및 과금 규칙 기능부
AU2005209770A1 (en) Method and apparatus for characterizing an end-to-end path of a packet-based network
JPWO2009081576A1 (ja) 通信装置、通信方法及びプログラム
US20260019351A1 (en) Data processing node device and information transmission method performed in same device
CN104753812B (zh) 通信系统中的应用质量管理
US11212687B2 (en) Method and system for controlling an operation of a communication network to reduce latency
CN104702445B (zh) 用户网络的优化方法及系统
WO2024114192A1 (zh) 业务质量管理方法及装置
KR20200083582A (ko) 실시간 전송 네트워크 혼잡 조건에 기초하여 데이터 전송 네트워크 프로토콜을 가속 또는 감속하기 위한 시스템 및 방법
KR20150030708A (ko) 통신 시스템에서 협력 애플리케이션을 위한 시스템 및 방법
Magalhães A* transport layer approach to host mobility
CN118316995B (zh) 一种通信方法及通信装置
Bergfeldt et al. Real‐time bandwidth measurements over mobile connections
Enghardt et al. Metrics for access network selection
EP4702778A1 (en) Transport reporting by radio for analytics
Savoric Identifying and evaluating the potential of reusing network information from different flows

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

PC1203 Withdrawal of no request for examination

St.27 status event code: N-1-6-B10-B12-nap-PC1203

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000