KR20150079463A - 협력형 통신 시스템 내 애플리케이션 품질 관리 - Google Patents

협력형 통신 시스템 내 애플리케이션 품질 관리 Download PDF

Info

Publication number
KR20150079463A
KR20150079463A KR1020140193534A KR20140193534A KR20150079463A KR 20150079463 A KR20150079463 A KR 20150079463A KR 1020140193534 A KR1020140193534 A KR 1020140193534A KR 20140193534 A KR20140193534 A KR 20140193534A KR 20150079463 A KR20150079463 A KR 20150079463A
Authority
KR
South Korea
Prior art keywords
application
data stream
node
terminal node
quality metric
Prior art date
Application number
KR1020140193534A
Other languages
English (en)
Other versions
KR102234927B1 (ko
Inventor
하이보 쑤
고피나스 무랄리 치나탐비
데이비드 겔
케니스 엘. 스탠우드
에릭 콜반
Original Assignee
와이-랜 랩스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/143,800 external-priority patent/US20140153392A1/en
Application filed by 와이-랜 랩스, 인코포레이티드 filed Critical 와이-랜 랩스, 인코포레이티드
Publication of KR20150079463A publication Critical patent/KR20150079463A/ko
Application granted granted Critical
Publication of KR102234927B1 publication Critical patent/KR102234927B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • 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
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5067Customer-centric QoS measurements
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • 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/20Traffic policing
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

통신 네트워크 내 애플리케이션 매니저 노드는 통신 네트워크 내 데이터 통신을 모니터링하도록 구성된 트랜시버 모듈, 및 트랜시버에 결합된 프로세서를 포함하며, 그 프로세서는 적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 적어도 하나의 단말 노드로부터 수신하고, 애플리케이션 정보에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하고, 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 애플리케이션 정보에 적어도 일부 기반하여 액세스 노드와 연관된 종합적 품질 메트릭값을 결정하고, 그리고 종합적 품질 메트릭값에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하도록 구성된다.

Description

협력형 통신 시스템 내 애플리케이션 품질 관리{APPLICATION QUALITY MANAGEMENT IN A COOPERATIVE COMMUNICATION SYSTEM}
관련 출원에 대한 상호 참조
본 출원은 2011년 12월 22일자로 출원된 미국 가출원 제61/579,324호(발명의 명칭: "Congestion Induced Video Scaling") 및 2012년 6월 12일자로 출원된 미국 가출원 제61/658,774호(발명의 명칭: "System and Method for Cooperative Applications in a Communication System")의 유익을 주장하는, 2012년 10월 16일자로 출원된 미국 특허 출원 제13/653,239호(발명의 명칭: "Systems and Methods for Cooperative Applications in Communication Systems")의 일부계속출원인, 2013년 1월 17일자로 출원된 미국 특허 출원 제13/744,101호(발명의 명칭: "Systems and Methods for Cooperative Applications in Communication Systems")의 일부계속출원이며, 이들 모두는 참조로 본 명세서에 편입되는 것이다.
본 발명은 일반적으로는 통신 시스템 분야, 및 통신 시스템 내 협력형 애플리케이션의 구현, 사용 및 관리에 관한 것이다.
인터넷 프로토콜(IP) 네트워크와 같은 통신 네트워크에 있어서, 각각의 노드 및 서브네트는 어느 소정 시각에라도 효과적으로 전송될 수 있는 데이터량에 대한 제한을 갖는다. 유선 네트워크에서, 이것은 보통은 장비 능력의 함수이다. 예를 들어, 기가비트 이더넷 링크가 전송할 수 있는 초당 트래픽은 1십억 비트에 불과하다. 무선 네트워크에 있어서, 용량은 사용되는 통신 프로토콜, 송신 기술 및 채널 대역폭에 의해 제한된다. 무선 네트워크는 송신과 수신 시스템 간 신호의 품질 및 서비스 구역에 할당된 스펙트럼의 양에 의해 더 제약된다. 이들 태양은 동적일 수 있기 때문에, 무선 시스템의 용량은 시간에 따라 달라질 수 있다.
역사적으로, 통신 시스템은, LTE 시스템 내 패킷 게이트웨이(packet gateway: P-GW)에서와 같이, 코어 내 서비스 클래스(class of service: CoS)에 의해 트래픽을 차별하여 왔다. 이것은 오퍼레이터의 자신의 또는 조정된 컨텐트 배송 네트워크(content delivery network: CDN)로부터의 음성 및 비디오와 같은 오퍼레이터 제공 서비스가 보증 비트 레이트(guaranteed bit rate: GBR)와 같은 서비스 품질(quality of service: QoS) 보증을 받을 수 있는 이점을 갖는다. 오퍼레이터 제공 서비스와 연관되지 않은 트래픽은 전형적으로는 덜 차별화되어, 이종 트래픽이 동일 CoS로 그룹화되기에 이른다. 더욱, 이러한 트래픽은 보통은 최선 노력 기반으로 자원이 제공되고, 트래픽을 발생시키는 특정 애플리케이션의 QoS 요구를 무시하고, 최종 사용자에 의해 인지되는 체감 품질(quality of experience: QoE)을 무시한다.
부가적 통신 트래픽은 오버-더-톱(over-the-top: OTT) 서비스, 즉, 오퍼레이터 제공 또는 조정되지 않은 서비스로부터일 수 있다. 스카이프 인터넷 전화(voice over internet protocol: VoIP), 유튜브 점진적 다운로드 비디오, 넷플릭스 스트리밍 비디오, 및 판도라 라디오 스트리밍 오디오가 OTT 서비스의 예들이다. OTT 음성 및 비디오 서비스는 이메일, 소셜 네트워킹 및 파일 전송과 함께 최선 노력 트래픽으로서 함께 그룹화되려는 경향이 있다. 네트워크가 정체되게 될 때, OTT 서비스는 모두 전형적으로는 최종 사용자에 의해 인지되는 품질에서의 충격에 무관하게 동일하게 취급된다. 그것들은 전형적으로는 동일 CoS로서 스케줄링된다. 부가적으로, OTT 서비스는 전형적으로는 동일한 논리 베어러로 그룹화된다. 오늘날의 통신 시스템에 있어서, 수락 제어는 논리 베어러 기반으로 그 베어러 상에서의 서비스의 혼합을 고려하지 않고 수행된다. 결과적으로, 음성, 스트리밍 비디오 및 스트리밍 오디오와 같은 실시간 서비스는 이메일과 같은 비-실시간 서비스에 비해 QoE가 상당히 저하된 것으로 인지된다.
통신 시스템 내 협력형 애플리케이션을 위한 방법, 디바이스 및 시스템이 제공된다. 일 태양에 있어서, 본 발명은 통신 네트워크 내 데이터 통신을 모니터링하도록 구성된 트랜시버 모듈, 및 트랜시버에 결합된 프로세서를 포함하는, 통신 네트워크 내 애플리케이션 매니저 노드를 제공하며, 그 프로세서는 적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 적어도 하나의 단말 노드로부터 수신하고, 애플리케이션 정보에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하고, 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 애플리케이션 정보에 적어도 일부 기반하여 액세스 노드와 연관된 종합적 품질 메트릭값을 결정하고, 그리고 종합적 품질 메트릭값에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하도록 구성된다.
다른 일 태양에 있어서, 본 발명은 통신 네트워크를 통하여 액세스 노드 내외로 데이터 패킷을 송수신하도록 구성된 트랜시버 모듈, 및 트랜시버에 결합된 프로세서를 포함하는, 액세스 노드를 갖는 통신 네트워크 내 단말 노드를 제공하며, 그 프로세서는 통신 네트워크를 통하여 액세스 노드 내외로 송수신되는 데이터 패킷을 모니터링함으로써 적어도 하나의 애플리케이션 데이터 스트림을 검출하고, 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 애플리케이션 정보를 결정하고, 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 통신 네트워크를 통하여 송신하고, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 통신 네트워크를 통하여 수신하고, 그리고 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 적어도 하나의 경감 명령어를 구현하도록 구성된다.
다른 일 태양에 있어서, 본 발명은 통신 네트워크에서 애플리케이션 품질의 관리를 위한 방법을 제공하며, 그 방법은 적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 적어도 하나의 단말 노드로부터 수신하는 단계, 애플리케이션 정보에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하는 단계, 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 애플리케이션 정보에 적어도 일부 기반하여 종합적 품질 메트릭값을 결정하는 단계, 및 종합적 품질 메트릭값에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하는 단계를 포함한다.
다른 일 태양에 있어서, 본 발명은 통신 네트워크 내 단말 노드에서 애플리케이션 품질을 관리하기 위한 방법을 제공하며, 그 방법은 통신 네트워크를 통하여 액세스 노드 내외로 송수신되는 데이터 패킷을 모니터링함으로써 적어도 하나의 애플리케이션 데이터 스트림을 검출하는 단계, 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 애플리케이션 정보를 결정하는 단계, 및 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 통신 네트워크를 통하여 송신하는 단계를 포함한다. 그 방법은 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 통신 네트워크를 통하여 수신하는 단계, 및 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 적어도 하나의 경감 명령어를 구현하는 단계를 더 포함한다.
본 발명의 다른 특징 및 이점은 본 발명의 태양을 예로써 예시하는 이하의 설명으로부터 명백해지는 것이다.
본 발명의 상세는, 그 구조에 대해서도 그 동작에 대해서도, 유사한 참조 숫자가 유사한 부분을 가리키는 수반 도면의 검토에 의해 부분적으로 얻어질 수 있다.
도 1은 여기에서 개시되는 방법 및 시스템이 본 발명의 태양에 따라 구현될 수 있는 통신 네트워크의 블록 선도;
도 2는 본 발명의 태양에 따른 액세스 노드의 블록 선도;
도 3은 본 발명의 태양에 따른 단말 노드의 블록 선도;
도 4는 본 발명의 태양에 따른 액세스 노드의 태양의 예시도;
도 5는 본 발명의 태양에 따라 제어 플레인 관계(control plane relationship)를 도시하는 통신 시스템의 블록 선도;
도 6은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트의 블록 선도;
도 7은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 통신 시스템의 블록 선도;
도 8은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 다른 통신 시스템의 블록 선도;
도 9는 본 발명의 태양에 따른 패킷 검사 모듈의 블록 선도;
도 10은 본 발명의 태양에 따른 체감 품질 매니저 모듈을 포함하는 통신 네트워크 환경의 블록 선도;
도 11은 본 발명의 추가적 태양에 따른 체감 품질 매니저 모듈을 포함하는 통신 네트워크 환경의 블록 선도;
도 12는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도;
도 13은 본 발명의 태양에 따른 체감 품질 매니저 모듈의 블록 선도;
도 14는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 기능성을 묘사하는 순서도;
도 15는 본 발명의 태양에 따른 체감 품질 매니저 모듈의 기능성을 묘사하는 순서도;
도 16은 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 기능성을 묘사하는 순서도;
도 17은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도; 및
도 18은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 기능성을 묘사하는 순서도.
애플리케이션 요구를 알고 있는 스케줄링 및 수락 제어 기능을 갖는 통신 시스템을 위한 방법 및 시스템이 제공된다. 사용자 장비 애플리케이션과 애플리케이션-인식 기지국(또는 다른 네트워크 노드) 간 통신 및 협력은 사용자의 체감 품질(QoE)을 개선할 수 있다. 그 시스템 및 방법은 용량 및 스펙트럼 제약형 다중-액세스 통신 시스템에 있어서 특히 유용하다. 일 태양에 있어서, 여기에서 개시되는 시스템 및 방법은 이종 애플리케이션으로부터의 데이터 스트림 또는 흐름과 연관되는 서비스 클래스와 사용될 수 있다.
여기에서 개시되는 시스템 및 방법은 유선 및 무선 기술을 포함하는 다양한 용량-제한된 통신 시스템에 적용될 수 있다. 예컨대, 여기에서 개시되는 시스템 및 방법은 (롱 텀 에볼루션(LTE), LTE 어드밴스트 및 와이맥스를 포함하는) 셀룰러 2G, 3G, 4G, 셀룰러 백홀, 와이파이, 울트라 모바일 브로드밴드(UMB), 케이블 모뎀 및 다른 점 대 점 또는 점 대 다점 유선 또는 무선 기술과 사용될 수 있다. 간결하게 보여주기 위해, 특정 기술 및 표준의 체계 및 술어를 사용하여 다양한 실시예들이 설명된다. 그렇지만, 여기에서 설명되는 시스템 및 방법은 다른 기술 및 표준에 광범위하게 적용가능하다.
도 1은 여기에서 개시되는 방법 및 시스템이 본 발명의 태양에 따라 구현될 수 있는 통신 네트워크의 블록 선도이다. 매크로 기지국(110)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되어 있다. 일 실시예에 있어서, 백홀 커넥션(170)은 양방향 링크 또는 2개의 단방향 링크이다. 네트워크(102)로부터 매크로 기지국(110)으로의 방향은 다운스트림 또는 다운링크(DL) 방향이라고 지칭된다. 매크로 기지국(110)으로부터 코어 네트워크(102)로의 방향은 업스트림 또는 업링크(UL) 방향이라고 지칭된다. 가입자 지국(150(1), 150(4))은 매크로 기지국(110)을 통해 코어 네트워크(102)에 접속할 수 있다. 가입자 지국(150)과 매크로 기지국(110) 간 무선 링크(190)는 일 실시예에서는 양방향 점 대 다점 링크이다. 매크로 기지국(110)으로부터 가입자 지국(150)으로의 무선 링크(190)의 방향은 다운링크 또는 다운스트림 방향이라고 지칭된다. 가입자 지국(150)으로부터 매크로 기지국(110)으로의 무선 링크(190)의 방향은 업링크 또는 업스트림 방향이라고 지칭된다. 가입자 지국은 때로는 사용자 장비(UE), 사용자, 사용자 디바이스, 핸드셋, 단말 노드 또는 사용자 단말이라고 지칭되고 보통은 스마트 폰 또는 태블릿과 같은 모바일 디바이스이다. 가입자 지국(150)은 브리지처럼 매크로 기지국(110)과 같은 기지국을 사용하여 무선 링크(190)를 통해 컨텐트에 액세스한다. 다시 말하자면, 일반적으로 기지국은 그 기지국이 데이터 및 제어 메시지의 소스 또는 데이터 및 제어 메시지에 대한 수신지가 아니면서 가입자 지국(150)과 코어 네트워크(102) 간 사용자 애플리케이션 데이터 및 어떠한 사용자 애플리케이션 제어 메시지라도 넘겨준다.
도 1에 예시된 네트워크 구성에 있어서, 사무소 빌딩(120(1))은 커버리지 음영(104)을 야기한다. 피코 지국(130)은 커버리지 음영(104)에서 가입자 지국(150(2), 150(5))에 커버리지를 제공할 수 있다. 피코 지국(130)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되어 있다. 가입자 지국(150(2), 150(5))은 매크로 기지국(110)과 가입자 지국(150(1), 150(4)) 간 무선 링크(190)와 동일하거나 유사한 링크를 통해 피코 지국(130)에 접속될 수 있다.
사무소 빌딩(120(2))에 있어서, 기업용 펨토셀(140)은 가입자 지국(150(3), 150(6))에 빌딩-내 커버리지를 제공한다. 기업용 펨토셀(140)은 기업용 게이트웨이(103)에 의해 제공된 광대역 커넥션(160)을 이용함으로써 인터넷 서비스 제공자 네트워크(101)를 통해 코어 네트워크(102)에 접속할 수 있다.
희소 통신 자원을 할당하는데 도움을 주기 위해, 종래 통신 시스템은, LTE 시스템 내 패킷 게이트웨이(P-GW)에서와 같이, 코어 네트워크 내 서비스 클래스(CoS)에 의해 트래픽을 차별하여 왔다. CoS 내에서 트래픽은 보통은 자원 할당을 스케줄링할 목적으로는 유사하게 취급된다. CoS 내에서 트래픽은 보통은 자원 할당을 스케줄링할 목적으로는 유사하게 취급된다. 이것은 오퍼레이터의 자신의 또는 조정된 컨텐트 배송 네트워크(CDN)로부터의 음성 및 비디오와 같은 오퍼레이터 제공 서비스가 보증 비트 레이트(GBR)와 같은 QoS 보증을 받을 수 있게 한다.
오퍼레이터 제공 서비스와 연관되지 않은 트래픽은 오버-더-톱(OTT) 트래픽이라고 지칭될 수 있다. 종래 시스템은 전형적으로는 다양한 유형의 OTT 트래픽 간 차등은 전혀 또는 거의 갖고 있지 않다. 그리하여, 이종 트래픽이 동일 CoS로 그룹화될 수 있다. 더욱, 이러한 트래픽에는, 예를 들어 보증 비트 레이트 없이, 최선 노력 기반으로 자원이 제공된다. 그리하여, 종래 시스템은 OTT 트래픽을 발생시키는 특정 애플리케이션의 QoS 요구를 무시하고, 최종 사용자에 의해 인지되는 체감 품질(QoE)을 무시한다. 특히, 스카이프 인터넷 전화(VoIP), 유튜브 점진적 다운로드 비디오, 넷플릭스 스트리밍 비디오, 페이스타임 대화형 비디오, 및 판도라 라디오 스트리밍 오디오와 같은 OTT 음성 및 비디오 서비스는 이메일, 소셜 네트워킹 및 파일 전송과 함께 최선 노력 트래픽으로서 함께 그룹화되었을 수 있다. 네트워크가 정체되게 될 때, 이들 서비스는 모두 전형적으로는 최종 사용자에 의해 인지되는 품질에서의 충격에 무관하게 동일하게 취급된다. 결과적으로, 실시간 서비스(예를 들어, 음성, 스트리밍 비디오 및 스트리밍 오디오)는 비-실시간 서비스(예를 들어, 이메일)에 비해 QoE가 상당한 저하된 것으로 인지된다.
도 1의 통신 네트워크에 있어서 그리고 다른 유선 및 무선 네트워크에 있어서, 하나 이상의 데이터 스트림 또는 서비스에는 중요도 및 소망의 성능 레벨이 배정될 수 있다. 중요도 및 소망의 성능 레벨은 각각의 데이터 스트림으로부터의 패킷을 스케줄링 그룹 및 데이터 큐에 배정하는데 사용될 수 있다. 또한 스케줄링 알고리즘은 어느 큐(및 그래서 어느 데이터 스트림 및 패킷)를 다른 것들에 우선하여 취급할지 결정하도록 그 정보를 사용할 수 있다.
스케줄링 알고리즘은 각각의 큐의 소망의 서비스 레벨 및 중요도를 전하도록 스케줄링 가중치를 사용할 수 있다. 예를 들어, 가중 라운드 로빈(weighted round robin: WRR) 및 가중 공정 큐잉(weighted fair queuing: WFQ) 스케줄링 방법이 사용될 수 있으며, 그 둘 다는 데이터 큐 간 서비스를 조절하도록 가중치를 사용한다. 스케줄링 알고리즘은 또한 각각의 큐의 중요도 및 소망의 서비스 레벨을 크레디트 및 데빗의 사용을 통해 전할 수 있다. 예를 들어, 비례 공정 스케줄러(proportional fair scheduler: PFS) 방법은 데이터 큐 간 서비스를 조절하도록 크레디트 및 데빗을 사용할 수 있다. 스케줄링 알고리즘은 가중치를 사용하고 그 가중치를 스케줄링 라운드 동안 서비스 제공받을 바이트 또는 패킷의 번호의 형태로 크레디트로 변환할 수 있다.
통신 네트워크 내 노드는 스케줄러에서 자원을 할당하는데 사용된 가중치 또는 크레디트를 동적으로 수정하도록 애플리케이션 인자(application factor: AF)를 사용함으로써 QoE를 개선할 수 있다. AF는 현재 세션 QoE 레벨과 관련될 수 있다. 더 큰 AF는 낮은 QoE를 갖는 세션에 적용될 수 있고 그로써 자원 할당을 증가시킨다. 반대로, 더 작은 AF는 높은 QoE를 갖는 세션에 적용될 수 있고 그로써 그 세션에 배정되는 자원을 감축하고 다른 세션에 의한 사용을 위해 자원을 풀어준다. 통신 네트워크 내 디바이스는 2012년 9월 7일자로 출원된 미국 특허 출원 제13/607,559호(발명의 명칭: "Systems and Methods for Congestion Detection for use in Prioritizing and Scheduling Packets in a Communication Network")에 설명된 스케줄링을 위한 방법을 사용할 수 있으며, 그것은 참조에 의해 여기에 편입되는 것이다.
(매크로 기지국(110), 피코 지국(130), 기업용 게이트웨이(103), 기업용 펨토셀(140), 코어 네트워크(102) 내 디바이스, 및 인터넷 서비스 제공자 네트워크(101) 내 디바이스와 같은) 도 1의 네트워크 내 통신 노드 및 가입자 지국(150)은 애플리케이션 관련 정보를 통신할 수 있다. 가입자 지국 내 애플리케이션과 통신 노드 내 애플리케이션 에이전트 간 협력은 사용자 체감을 포함하여 통신 네트워크의 성능을 개선할 수 있다. 애플리케이션 관련 정보는 통신 노드를 통과하는 패킷의 검사를 통해 유도될 수 있다. 많은 애플리케이션에 대하여, 더 효율적이고 개선된 통신을 감안할 수 있는 가입자 지국 내 애플리케이션에 거주하는, 클라이언트 측 버퍼 점유율과 같은, 부가적 정보가 존재할 수 있다. 유사하게, 예를 들어 스케줄러 및 수락 제어 기능에서 통신 노드에 의한 개선된 성능의 결과를 차례로 초래할 더 지능적 자원 요청을 하는데 애플리케이션을 도와줄 수 있는 통신 노드 내 이용가능한, 정체 상태 정보와 같은, 정보가 존재할 수 있다. 예를 들어, 통신 시스템은 통신 채널 자원 할당을 개선하도록 그리고 어느 세션을 수락, 거부 또는 수정할지 결정하도록 애플리케이션 정보 및 정체 정보를 사용할 수 있다.
애플리케이션 관련 통신 또는 클라이언트 측 애플리케이션과 통신 노드 스케줄링 및 수락 제어 기능 간 협력은 사용자에 대한 QoE를 개선할 수 있다. 애플리케이션 관련 통신 및 협력은 QoS 자원 보증이 이용가능할 때에도 QoE를 개선할 수 있다. 예를 들어, 자원 보증은 정체, 피크 대 평균 비트 레이트, 및 애플리케이션 간 데이터의 이종성과 같은 순시적 조건을 포괄하고 있지는 않을 수 있다.
도 2는 본 발명의 태양에 따른 액세스 노드(275)의 기능적 블록 선도이다. 다양한 실시예에 있어서, 액세스 노드(275)는 모바일 와이맥스 기지국, GSM(global system for mobile) 무선 기지국 트랜시버(BTS), UMTS(Universal Mobile Telecommunications System) 노드 B, LTE 진화형 노드 B(eNB 또는 eNodeB), 케이블 모뎀 헤드 엔드, 또는 다양한 형태 인수의 다른 유선 또는 무선 액세스 노드일 수 있다. 예를 들어, 도 1의 매크로 기지국(110), 피코 지국(130) 또는 기업용 펨토셀(140)은, 예를 들어, 도 2의 액세스 노드(275)에 의해 제공될 수 있다. 액세스 노드(275)는 프로세서 모듈(281)을 포함한다. 프로세서 모듈(281)은 송수신기(트랜시버) 모듈(279), 백홀 인터페이스 모듈(285) 및 저장 모듈(283)에 결합되어 있다.
송수신기 모듈(279)은 다른 디바이스와 통신을 송신 및 수신하도록 구성된다. 여러 실시예에 있어서, 통신은 무선으로 송신 및 수신된다. 그러한 실시예에 있어서, 일반적으로 액세스 노드(275)는 라디오 신호의 송신 및 수신을 위한 하나 이상의 안테나를 포함한다. 다른 실시예에 있어서, 통신은 유선 또는 광케이블과 같은 물리 커넥션을 통해 송신 및 수신된다. 송수신기 모듈(279)의 통신은 단말 노드와 하는 것일 수 있다.
백홀 인터페이스 모듈(285)은 액세스 노드(275)와 코어 네트워크 간 통신을 제공한다. 통신은 백홀 커넥션, 예를 들어, 도 1의 백홀 커넥션(170)을 통해서일 수 있다. 송수신기 모듈(279)을 통해 수신된 통신은, 프로세싱 후에, 백홀 커넥션 상에서 송신될 수 있다. 유사하게, 백홀 커넥션으로부터 수신된 통신은 송수신기 모듈(279)에 의해 송신될 수 있다. 도 2의 액세스 노드(275)가 단일 백홀 인터페이스 모듈(285)을 갖는 것으로 도시되어 있기는 하지만, 액세스 노드(275)의 다른 실시예는 다수의 백홀 인터페이스 모듈을 포함할 수 있다. 유사하게, 액세스 노드(275)는 다수의 송수신기 모듈을 포함할 수 있다. 다수의 백홀 인터페이스 모듈 및 송수신기 모듈은 서로 다른 프로토콜에 따라 동작할 수 있다.
프로세서 모듈(281)은 액세스 노드(275)에 의해 수신 및 송신되는 통신을 프로세싱할 수 있다. 저장 모듈(283)은 프로세서 모듈(281)에 의한 사용을 위해 데이터를 저장한다. 저장 모듈(283)은 또한 프로세서 모듈(281)에 의한 실행을 위해 컴퓨터 판독가능 명령어를 저장하도록 사용될 수 있다. 컴퓨터 판독가능 명령어는 액세스 노드(275)의 다양한 기능을 달성하도록 액세스 노드(275)에 의해 사용될 수 있다. 일 실시예에 있어서, 저장 모듈(283) 또는 저장 모듈(283)의 부분들은 비-일시적 머신 판독가능 매체라고 생각될 수 있다. 간결한 설명을 위해, 액세스 노드(275) 또는 그 실시예는 소정 기능성을 갖는 것으로 설명된다. 일부 실시예에 있어서 이러한 기능성은 저장 모듈(283), 송수신기 모듈(279) 및 백홀 인터페이스 모듈(285)과 함께 프로세서 모듈(281)에 의해 달성됨을 인식할 것이다. 더욱, 명령어를 실행하는 것에 부가하여, 프로세서 모듈(281)은 소정 기능을 달성하기 위해 특정 목적 하드웨어를 포함할 수 있다.
액세스 노드(275)는 다른 디바이스와 애플리케이션 관련 정보를 통신할 수 있다. 액세스 노드(275)는 다른 디바이스로부터 애플리케이션 관련 정보를 수신하거나, 다른 디바이스에 애플리케이션 관련 정보를 송신하거나, 그 둘 다 할 수 있다. 예를 들어, 단말 노드 내 애플리케이션은 단말 노드의 사용자에 대한 QoE를 개선하도록 액세스 노드(275)와 협력적으로 동작할 수 있다.
도 3은 본 발명의 태양에 따른 단말 노드(255)의 기능적 블록 선도이다. 다양한 실시예에 있어서, 단말 노드(255)는 모바일 와이맥스 기지국, GSM 셀룰러 폰, UMTS 셀룰러 폰, LTE 사용자 장비, 케이블 모뎀, 또는 다양한 형태 인수의 다른 유선 또는 무선 단말 노드일 수 있다. 도 1의 가입자 지국(150)은, 예를 들어, 도 3의 단말 노드(255)에 의해 제공될 수 있다. 단말 노드(255)는 프로세서 모듈(261)을 포함한다. 프로세서 모듈(261)은 송수신기 모듈(트랜시버)(259), 사용자 인터페이스 모듈(265) 및 저장 모듈(263)에 결합되어 있다.
송수신기 모듈(259)은 다른 디바이스와 통신을 송신 및 수신하도록 구성된다. 예를 들어, 송수신기 모듈(259)은 도 2의 액세스 노드(275)와 그 송수신기 모듈(279)을 통하여 통신할 수 있다. 통신이 무선인 실시예에 있어서, 단말 노드(255)는 일반적으로는 라디오 신호의 송신 및 수신을 위한 하나 이상의 안테나를 포함한다. 다른 실시예에 있어서, 통신은 유선 또는 광케이블과 같은 물리 커넥션을 통해 송신 및 수신된다. 도 3의 단말 노드(255)가 단일 송수신기 모듈(259)을 갖는 것으로 도시되어 있기는 하지만, 단말 노드(255)의 다른 실시예는 다수의 송수신기 모듈을 포함할 수 있다. 다수의 송수신기 모듈은 여러 다른 프로토콜에 따라 동작할 수 있다.
단말 노드(255)는, 여러 실시예에서는, 사람(사용자)에 데이터를 제공하고 그로부터 데이터를 수신한다. 따라서, 단말 노드(255)는 사용자 인터페이스 모듈(265)을 포함한다. 사용자 인터페이스 모듈(265)은 사람과 통신하기 위한 모듈을 포함한다. 사용자 인터페이스 모듈(265)은, 일 실시예에서는, 사용자와의 음성 통신을 위한 마이크로폰 및 스피커, 사용자에게 시각적 정보를 제공하기 위한 스크린, 및 사용자로부터 영숫자 커맨드 및 데이터를 수용하기 위한 키패드를 포함한다. 일부 실시예에서는, 영숫자 입력에 부가하여 그래픽 입력을 허용하도록 키패드와 조합하여 또는 그 대신에 터치 스크린이 사용될 수 있다. 대안의 실시예에 있어서, 사용자 인터페이스 모듈(265)은 단말 노드(255)를 컴퓨터에 인터페이싱하도록 컴퓨터 인터페이스, 예를 들어, 범용 직렬 버스(USB) 인터페이스를 포함한다. 예를 들어, 단말 노드(255)는 사용자 인터페이스 모듈(265)을 통하여 노트북 컴퓨터에 접속될 수 있는 동글 형태일 수 있다. 컴퓨터와 동글의 조합은 또한 단말 노드로 생각될 수 있다. 사용자 인터페이스 모듈(265)은 다른 구성을 가질 수 있고, 바이브레이터, 카메라 및 라이트와 같은 기능을 포함할 수 있다.
프로세서 모듈(261)은 단말 노드(255)에 의해 수신 및 송신되는 통신을 프로세싱할 수 있다. 프로세서 모듈(261)은 또한 사용자 인터페이스 모듈(265)로의 출력 및 그로부터의 입력을 프로세싱할 수 있다. 저장 모듈(263)은 프로세서 모듈(261)에 의한 사용을 위해 데이터를 저장한다. 저장 모듈(263)은 또한 프로세서 모듈(261)에 의한 실행을 위해 컴퓨터 판독가능 명령어를 저장하도록 사용될 수 있다. 컴퓨터 판독가능 명령어는 단말 노드(255)의 다양한 기능을 달성하도록 단말 노드(255)에 의해 사용될 수 있다. 일 실시예에 있어서, 저장 모듈(263) 또는 저장 모듈(263)의 부분들은 비-일시적 머신 판독가능 매체라고 생각될 수 있다. 간결한 설명을 위해, 단말 노드(255) 또는 그 실시예는 소정 기능성을 갖는 것으로 설명된다. 일부 실시예에 있어서 이러한 기능성은 저장 모듈(263), 송수신기 모듈(259) 및 사용자 인터페이스 모듈(265)과 함께 프로세서 모듈(261)에 의해 달성됨을 인식할 것이다. 더욱, 명령어를 실행하는 것에 부가하여, 프로세서 모듈(261)은 소정 기능을 달성하기 위해 특정 목적 하드웨어를 포함할 수 있다.
단말 노드(255)는 다른 디바이스와 애플리케이션 관련 정보를 통신할 수 있다. 단말 노드(255)는 다른 디바이스로부터 애플리케이션 관련 정보를 수신하거나, 다른 디바이스에 애플리케이션 관련 정보를 송신하거나, 그 둘 다 할 수 있다. 예를 들어, 액세스 노드 내 애플리케이션 에이전트는 단말 노드의 사용자에 대한 QoE를 개선하도록 단말 노드(255)와 협력적으로 동작할 수 있다.
도 4는 본 발명의 태양에 따른 액세스 노드(475)의 태양의 예시도이다. 액세스 노드(475)는 단말 노드(455) 및 코어 네트워크(410)와 통신한다. 도 1의 매크로 기지국(110), 피코 지국(130), 기업용 펨토셀(140) 또는 기업용 게이트웨이(103)는, 일부 실시예에서는, 액세스 노드(475)를 사용하여 구현된다. 액세스 노드(475)는 예를 들어 도 2의 액세스 노드(275)를 사용하여 구현될 수 있다. 코어 네트워크(410)는 또한 서비스 제공자 네트워크, 인터넷 또는 네트워크 조합일 수 있다. 이해를 돕기 위하여, 도 4에서는, 실선이 사용자 데이터를 표현하고 파선이 제어 데이터를 표현한다. 사용자 데이터와 제어 데이터 간 구별은 액세스 노드(475)의 관점으로부터이다. 액세스 노드(475)는 브리지로서 역할하므로, 액세스 노드(475)에 의해 사용자 데이터로서 인지되는 코어 네트워크(410) 내, 비디오 서버와 같은, 소정 엔티티로의 단말 노드(455)로부터의 제어 데이터가 존재할 수 있다.
도 4의 액세스 노드(475)는 단말 노드(455)와 코어 네트워크(410) 및 그 외 내 엔티티(예를 들어, 비디오 서버와 같이 인터넷을 통하여 액세스되는 엔티티) 간 통신을 용이하게 한다. 단말 노드(455) 내 애플리케이션(451)은 액세스 노드(475)를 통하여 코어 네트워크(410) 내에 있거나 그에 접속된 서버 애플리케이션과 통신한다. 애플리케이션(451)은 단말 노드(455)의 사용자에게 소정 기능성 또는 서비스를 제공한다. 예를 들어, 애플리케이션(451)은 단말 노드(455)에 의해 실행되는 소프트웨어 프로그램일 수 있다. 단말 노드(455) 내 애플리케이션(451)은 또한 액세스 노드(475) 내 애플리케이션 에이전트(470)와 통신한다. 애플리케이션(451)은, 예를 들어, 저장 모듈(263)로부터의 명령어를 사용하여 도 3의 단말 노드(255)의 프로세서 모듈(261)에 의해 제공되는 모듈일 수 있다. 애플리케이션 에이전트(470)는, 예를 들어, 저장 모듈(283)로부터의 명령어를 사용하여 도 2의 액세스 노드(275)의 프로세서 모듈(281)에 의해 제공되는 모듈일 수 있다.
애플리케이션(451) 및 애플리케이션 에이전트(470)는 앱-에이전트 협력형 통신 제어 경로(403)를 통하여 통신한다. 애플리케이션(451)과 애플리케이션 에이전트(470) 간 통신은 개선된 통신 시스템 성능, 예를 들어, 단말 노드(455)의 사용자에 대한 개선된 QoE를 제공할 수 있다. 앱-에이전트 협력형 통신 제어 경로(403) 상에서 통신을 제공하는 애플리케이션은 강화형 또는 협력형 애플리케이션으로 생각될 수 있다.
도 4가 각각의 엘리먼트의 단일 사례를 예시하고 있기는 하지만, 일 실시예에서는, 다양한 엘리먼트의 다수의 사례가 있을 수 있다. 예를 들어, 액세스 노드는 다수의 단말 노드와 동시다발적으로 통신할 수 있고, 단말 노드의 각각은 하나 이상의 액세스 노드 내 하나 이상의 애플리케이션 에이전트와 동시다발적으로 협력할 수 있는 다수의 애플리케이션을 가질 수 있다.
액세스 노드(475)는 패킷 검사 모듈(429), 스케줄러 모듈(430) 및 송수신 모듈(트랜시버)(479)을 포함한다. 패킷 검사 모듈(429), 스케줄러 모듈(430) 및 송수신 모듈(479)은 단말 노드(455)와 통신함에 있어서 액세스 노드(475)에 의해 사용된다. 송수신 모듈(479)은 단말 노드(455)와의 통신을 제공한다. 송수신 모듈(479)은, 예를 들어, 라디오 액세스 네트워크 물리 계층을 구현할 수 있다. 액세스 노드(475)는 또한 다양한 태양의 자원 제어를 맡고 있는 자원 제어 모듈(480)을 포함한다. 애플리케이션 에이전트(470)는 또한 자원 제어 모듈(480)과 통신할 수 있다.
패킷 검사 모듈(429)은 코어 네트워크(410)와 단말 노드(455) 간 데이터 경로에 있다. 다운링크 방향에 있어서, 패킷 검사 모듈(429)은 코어 네트워크(410)로부터의 데이터를 수신하고 그 데이터로 무엇을 할지 결정한다. 예를 들어, 단말 노드(455)로 향하는 사용자 데이터는 송수신 모듈(479)을 통해 단말 노드(455)로의 송신을 위해 스케줄러 모듈(430)에서 큐 내로 차별 분리될 수 있다. 큐 내로의 차별은, 논리 링크, IP 소스 및 수신지 주소, 또는 애플리케이션 클래스와 같이, 사용자 데이터와 연관된 다양한 특성에 기반할 수 있다. 일 실시예에 있어서, 패킷 검사 모듈(429)은 데이터 브리지/중계 모듈의 일부분이거나 그에 결합되어 있다. 패킷 검사 모듈(429)은 또한 데이터 브리지/중계 모듈 전에 또는 후에 수행되는 라우팅 기능을 포함할 수 있다.
코어 네트워크로부터의 일부 데이터는 액세스 노드(475)의 제어 및 구성을 위해 의도된 제어 데이터일 수 있다. 이 데이터는 액세스 노드(475)의 다양한 제어 또는 관리 모듈, 예를 들어, 자원 제어 모듈(480)로 향할 수 있다.
스케줄러 모듈(430)은 액세스 노드(475)와 단말 노드(455) 간 통신 링크를 가로질러 물리 자원을 할당하는데 필요한 기능성 중 일부 또는 전부를 구현한다. 스케줄러 모듈(430)은 전형적으로는 매체 액세스 제어(MAC) 계층과 연관되거나 그 일부분이다. 다운링크 방향에 대하여, 스케줄러 모듈(430)은 어느 데이터를 그리고 어느 시점에 송신할지 결정한다. 자원은 예를 들어 부반송파 및 타임슬롯으로서 할당될 수 있다. 스케줄러 모듈(430)은 또한 단말 노드(455)로부터의 업링크 자원 요청을 프로세싱하고 업링크 대역폭을 승인할 수 있다. 스케줄러 모듈(430)은, 특정 사용자 데이터에 할당할 자원량을 결정하기 위해, 변조 및 코딩 스킴과 같이, 송수신 모듈(479)로부터의 PHY 정보를 사용할 수 있다. 스케줄러 모듈(430)은 또한 통신 링크 상에서 일어나고 있는 정체 또는 정체 모니터링에 관한 통계(예를 들어, 버퍼 점유율 및 출구 레이트)에 대해 자원 제어 모듈(480)에 알려줄 수 있다. 일 실시예에 있어서, 스케줄러 모듈(430)은 자원 제어 모듈(480)로부터, 가중치 및 크레디트에 대한 변경과 같은, 스케줄러 파라미터에 대한 업데이트를 수신할 수 있다.
패킷 검사 모듈(429)은 또한 애플리케이션을 검출하고 애플리케이션 클래스, 특정 애플리케이션, 데이터 레이트 및 듀레이션과 같은 애플리케이션 정보를 자원 제어 모듈(480)에 제공할 수 있다. 일 실시예에 있어서, 패킷 검사 모듈(429)은 수락 제어 응답 정보를 수신하고 특정 커넥션 또는 세션에 대한 패킷 차단과 같은 수락 제어 응답을 구현하는데 도움을 줄 수 있다.
도 4에 도시된 자원 제어 모듈(480)은 자원 추정 모듈(481), 정체 모니터링 모듈(482), 수락 제어 응답 모듈(483) 및 스케줄러 파라미터 계산 모듈(484)을 포함한다. 자원 추정 모듈(481)은 현재 활성 애플리케이션의 예상된 자원 요구를 추정한다. 자원 추정 모듈(481)은, 예상된 자원 요구를 추정하도록, 예상된 데이터 레이트와 같은 애플리케이션 파라미터, 및 변조에서의 변경 및 단말 노드(455)에 대한 코딩과 같은 PHY 파라미터를 사용할 수 있다. 자원에서의 어떠한 과잉이라도 현재 활성 애플리케이션에 할당되는 자원을 증가시키도록 이용가능하거나 새로운 애플리케이션에 이용가능할 수 있다.
정체 모니터링 모듈(482)은 현재 정체 상태를 모니터링한다. 현재 정체 상태는 자원 추정 모듈(481)에 의해 수행되는 자원 추정으로부터 달라질 수 있다. 예를 들어, 데이터 레이트에서의 단기적 변화가 일어날 때(예를 들어, 가변 데이터 레이트 스트리밍 비디오에 대하여 데이터 레이트에서의 피크), 스케줄러 모듈(430)로부터의 정보는 장기적 자원 추정이 정체를 나타내지 않더라도 현재 정체를 나타낼 수 있다(예를 들어, 애플리케이션에 대한 버퍼 점유율 증가 또는 애플리케이션에 대한 버퍼 출구 레이트 감소). 정체 모니터링 모듈(482)은 또한 정체를 예측하는데 사용될 수 있는 정체 이력 정보를 유지하고 있을 수 있다.
수락 제어 응답 모듈(483)은 논리 링크, 커넥션 및/또는 스트림을 수락, 거부, 지연 또는 수정하도록 제어 응답을 생성하고 그로써 세션에 대한 제어 응답을 생성할 수 있다. 수락 제어 응답 모듈(483)은 다양한 정보, 예를 들어, 정책(예를 들어, 사용자의 우선순위 또는 수용가능한 사용자 QoE 레벨), 서비스 레벨 협약(service level agreement: SLA) 정보, 애플리케이션 파라미터(예를 들어, 특정 애플리케이션 또는 데이터 레이트), 자원 추정, 앱-에이전트 협력형 통신 및 정체 표시자를 사용하여 제어 응답을 생성할 수 있다.
스케줄러 파라미터 계산 모듈(484)은 가중치 및 크레디트와 같이 스케줄러 파라미터에 대한 수정을 계산할 수 있다. 스케줄러 파라미터 계산 모듈(484)은 다양한 정보, 예를 들어, 앱-에이전트 협력형 통신, 정책, SLA 정보, 애플리케이션 파라미터, 자원 추정, 정체 표시자 및 제어 응답(예를 들어, 수락 제어 응답)을 사용하여 그 수정을 계산할 수 있다.
송수신 모듈(479)은, 업링크 및 다운링크 데이터 전송을 용이하게 하는 것에 부가하여, 단말 노드(455)와의 통신과 연관된 변조, 코딩 및 신호 대 잡음비(SNR)와 같은 물리 계층(PHY) 파라미터 및 상태를 모니터링하거나 유지하고 있을 수 있다. 단말 노드와 통신할 수 있는 액세스 노드(475)의 능력은 PHY 파라미터 및 상태에 일부 의존한다. PHY 파라미터 및 상태에 대한 정보는 스케줄링 결정을 하도록 스케줄러 모듈(430)에 그리고 스케줄러 파라미터 조절을 계산하거나 수락 제어 응답을 결정하도록 자원 제어 모듈(480)에 이용가능하게 될 수 있다. 송수신 모듈(479)은 또한 액세스 노드(475) 내 라디오 액세스 프로토콜 모듈과 단말 노드(455) 간 통신을 용이하게 하거나 발생시킬 수 있다.
업링크 방향에 있어서, 패킷 검사 모듈(429)은 송수신 모듈(479)을 통하여 단말 노드(455)로부터 사용자 데이터를 수신하고 사용자 데이터를 코어 네트워크(410)에 포워딩한다. 패킷 검사 모듈(429)은 또한 애플리케이션 에이전트(470)를 수신지로 하는 단말 노드(455)로부터의 통신을 수신한다. 패킷 검사 모듈(429)은 이들 통신을 식별하고 그들을 애플리케이션 에이전트(470)에 포워딩할 수 있다.
애플리케이션 에이전트(470) 및 애플리케이션(451)은 앱-에이전트 협력형 통신 제어 경로(403)를 확립한다. 앱-에이전트 협력형 통신 제어 경로(403)는 예를 들어 TCP 커넥션일 수 있다. 앱-에이전트 협력형 통신 제어 경로(403)는 앱-에이전트 협력형 통신을 교환하는데 사용된다. 앱-에이전트 협력형 통신 제어 경로(403) 상의 데이터의 라우팅은 패킷 검사 모듈(429)에 의해 용이하게 될 수 있다. 대안으로, 그 라우팅은 액세스 노드(475)의 내부 또는 외부에 있을 수 있는 라우팅 기능에 의해 용이하게 될 수 있다.
애플리케이션(451)으로부터 애플리케이션 에이전트(470)로의 앱-에이전트 협력형 통신은, 예를 들어, 액세스 노드(475)가 수락 제어 및 스케줄링을 개선할 수 있게 하는 정보를 포함할 수 있다. 애플리케이션 에이전트(470)와 애플리케이션(451) 간 통신은, 예를 들어, 부가적 정보를 자원 제어 모듈(480)에 제공할 수 있다.
앱-에이전트 협력형 통신의 소개용 일례는 애플리케이션(451)이 유튜브 스트리밍 비디오를 단말 노드(455)의 사용자에 제공하는 통신 네트워크를 고려한다. 스트리밍 비디오는 여러 다른 연관된 데이터 레이트를 갖는 다수의 포맷으로 이용가능할 수 있다. 포맷에 대한 정보는 포맷에 대한 정보를 자원 제어 모듈에 차례로 제공할 수 있는 유튜브 인식 애플리케이션 에이전트에 유튜브 특정 애플리케이션에 의해 통신될 수 있다. 자원 제어 모듈은 어느 포맷이, 있다면, 가용 자원의 현재 추정치와 맞는지 나타내는 수락 제어 응답을 발생시키도록 애플리케이션 정보를 사용할 수 있다. 유튜브 인식 애플리케이션 에이전트는 어느 포맷이 현재 허용가능한지 지정하여 유튜브 특정 애플리케이션으로의 앱-에이전트 협력형 통신 내로 수락 제어 응답을 프로세싱할 수 있다. 다양한 실시예에 있어서, 포맷의 특정 선택은 애플리케이션 에이전트에 의해 또는 애플리케이션에 의해 이루어져 애플리케이션 에이전트에 다시 통신될 수 있다. 애플리케이션 에이전트는 선택된 포맷 및 연관된 데이터 레이트를 자원 제어 모듈에 알려줄 수 있다. 자원 제어 모듈은 선택된 포맷을 반영하도록 자원 추정치 및 스케줄러 파라미터를 업데이트한다.
도 4는 다양한 통신 노드 내 모듈의 특정 분산 및 다양한 모듈로의 기능의 특정 할당을 예시하고 있다. 여러 다른 배열이 또한 사용될 수 있다. 예를 들어, 패킷 검사 모듈(429), 애플리케이션 에이전트(470) 및 자원 제어 모듈(480) 중 일부 또는 전부는 코어 네트워크 내 게이트웨이 노드에, 예를 들어, LTE 네트워크 내 서빙 게이트웨이(S-GW) 또는 패킷 게이트웨이(P-GW)에 있을 수 있다. 부가적으로, 액세스 노드(475)와 코어 네트워크(410)와 단말 노드(455) 간 중간 디바이스가 있을 수 있다. 애플리케이션과 애플리케이션 에이전트와 그들 관련 기능의 여러 조합이 또한 사용될 수 있다. 예를 들어, 모든 애플리케이션과 통신하는 하나의 애플리케이션 에이전트, 각각의 특정 애플리케이션에 대해 하나의 애플리케이션 에이전트(예를 들어, 유튜브 애플리케이션 에이전트, 판도라 애플리케이션 에이전트 등), 각각의 단말 노드에 대해 하나의 애플리케이션 에이전트, 또는 각각의 애플리케이션에 대해 하나의 애플리케이션 에이전트(예를 들어, 제1 단말 노드에 대해 유튜브 애플리케이션 에이전트 그리고 제2 단말 노드에 대해 다른 유튜브 애플리케이션 에이전트)가 있을 수 있다. 다수의 애플리케이션 및 애플리케이션 에이전트가 존재할 때, 각각의 쌍의 애플리케이션과 애플리케이션 에이전트 간에는 개개의 통신 커넥션(예를 들어, TCP/IP 커넥션)이 있을 수 있다. 대안으로, 다수의 애플리케이션과 애플리케이션 에이전트 간 통신은 취합되고 감축된 수의 커넥션을 통하여 반송될 수 있다. 예를 들어, 단일 TCP/IP 커넥션이 특정 단말 노드에 대해 다수의 애플리케이션 에이전트와 애플리케이션 간 통신하도록 사용될 수 있다.
애플리케이션 에이전트(470)는 커넥션-지향 및 바이트 스트림 기반 프로토콜을 사용하여, 예를 들어, TCP 스택의 인스턴스를 사용함으로써 TCP/IP 커넥션 및 다른 커넥션에 대해 커넥션 라이프 사이클 관리 및 세그먼트 버퍼링 및 재정렬을 수행할 수 있다. 대안으로, 앱-에이전트 협력형 통신은 단순화된 통신 커넥션, 예를 들어, UDP/IP를 사용할 수 있다.
도 5는 본 발명의 태양에 따라 제어 플레인 관계를 보여주는 통신 시스템의 블록 선도이다. 통신 시스템은 단말 노드(555), 액세스 노드(575) 및 애플리케이션 서버(590)를 포함한다. 단말 노드(555)는 애플리케이션 서버(590) 내 서버 애플리케이션(592)과 통신하는 애플리케이션(551)을 포함한다. 통신은 액세스 노드(575)를 통해서이다. 애플리케이션(551)은 또한 액세스 노드(575) 내 애플리케이션 에이전트(570)와 통신한다.
도 5의 예시적 프로토콜, 제어 플레인 관계 및 다른 설명은 도 4의 액세스 노드(475)와 관련된 태양을 더 이해하도록 사용될 수 있다. 도 4의 액세스 노드(475)는 도 5의 액세스 노드(575)와 동일 또는 유사할 수 있다. 도 4의 단말 노드(455)는 도 5의 단말 노드(555)와 동일 또는 유사할 수 있다. 유사하게, 액세스 노드(575)와 애플리케이션 서버(590) 간 통신은 도 4의 코어 네트워크(410)와 동일 또는 유사한 네트워크를 이용할 수 있다. 더욱, 도 5의 애플리케이션 서버(590)는 도 1의 통신 네트워크의 코어 네트워크(102) 또는 인터넷 서비스 제공자 네트워크(101)와 동일 또는 유사한 네트워크에 있거나 그에 접속되어 있을 수 있다. 애플리케이션 서버는 또한 별개로 위치한 서버의 네트워크일 수 있다. 도 4의 통신 시스템이 LTE 프로토콜 스택을 사용하고 있기는 하지만, 다른 통신 시스템이 다른 프로토콜 스택을 사용할 수 있다. 더 많거나 더 적은 프로토콜 계층이 있을 수 있고, 계층명 및 술어는 다를 수 있고, 그 기능성이 다를 수 있고, 어느 계층에 기능이 거주하는지 다를 수 있다.
통신 네트워크 내 디바이스는 흔히 다-계층형 프로토콜을 통해 통신 경로 상에서 통신한다. 통신 디바이스 내 프로토콜 스택은 프로토콜을 구현한다. 예를 들어, 애플리케이션 데이터 경로(501)는 각각의 디바이스 내 프로토콜 스택을 사용하여 액세스 노드(575)를 통하여 애플리케이션 서버(590)와 단말 노드(555) 간 통신을 전한다. 사용자 애플리케이션 데이터 및 제어를 넘겨주기 위한 프로토콜 스택에 부가하여, 사용자 애플리케이션을 지원하고 있는 통신 링크를 구현 및 관리하기 위한 프로토콜 스택이 있을 수 있다.
도 5의 액세스 노드(575)는 단말 노드(555)와 액세스 노드(575) 간 제어 플레인 통신을 위한 라디오 액세스 네트워크(RAN) 제어 플레인 프로토콜을 구현하도록 RAN 제어 플레인 프로토콜 스택을 포함한다. 액세스 노드(575) 내 RAN 제어 플레인 프로토콜은, 예를 들어, 저장 모듈(283)로부터의 명령어를 사용하는 도 2의 액세스 노드(275)의 프로세서 모듈(281)을 사용하여 구현될 수 있다. 액세스 노드(575) 내 RAN 제어 플레인 프로토콜 스택은 RAN 물리(PHY) 계층 모듈(525), 매체 액세스 제어(MAC) 계층 모듈(520), 라디오 링크 제어(RLC) 계층 모듈(515), 패킷 데이터 컨버전스(PDCP) 계층 모듈(510), 라디오 자원 제어(RRC) 계층 모듈(505)을 포함한다. 액세스 노드(575) 내 이들 프로토콜 스택 계층의 각각은 단말 노드(555) 내 동등 계층을 갖는다. 그리하여, 단말 노드(555) 내 RAN 제어 플레인 프로토콜 스택은 PHY 계층 모듈(525'), MAC 계층 모듈(520'), RLC 계층 모듈(515'), PDCP 계층 모듈(510') 및 RRC 계층 모듈(505')을 포함한다.
제어 플레인에 있어서, RAN 제어 정보는 전형적으로는 동일 노드 내 더 높거나 더 낮은 계층 간 교환되어, 액세스 노드(575) 상의 계층과 단말 노드(555) 상의 대응하는 계층 간 피투피 제어 링크를 논리적으로 생성한다. RAN 제어 경로(502)는 단말 노드(555)와 액세스 노드(575)의 동등 계층들을 접속한다. 도 5는 단일 단말 노드(555)를 예시하고 있기는 하지만, 액세스 노드(575) 상의 RAN 제어 플레인 계층은 다수 단말 노드 상의 다수 동등물로의 논리 제어 링크를 가질 수 있다.
동등 RAN 제어 플레인 계층 모듈은 2개의 디바이스 간 통신 링크를 제어 및 동작시키는데 필요한 제어 정보를 교환한다. 이러한 제어 정보는 액세스 노드(575) 및 단말 노드(555) 내에서 기원 및 종료되고 통신 링크 동작 및 관리에 특정적이다. 대조적으로, 사용자 애플리케이션 데이터 및 애플리케이션 제어 메시징은 단말 노드(555) 및 애플리케이션 서버(590) 상에서 기원 및 종료된다. 액세스 노드(575)의 관점으로부터, 사용자 애플리케이션 데이터 및 애플리케이션 제어 메시징은 제어 플레인보다는 데이터 플레인 상에서 전송되는 것으로 생각될 수 있다.
액세스 노드(575)의 RAN 물리 계층 모듈(525)은 단말 노드(555)의 RAN 물리 계층 모듈(525')과 제어 메시지 동등 관계를 갖는다. 액세스 노드(575)의 RAN 물리 계층 모듈(525)은, 예를 들어, 단말 노드(555)의 RAN 물리 계층 모듈(525')의 송신 전력 변화를 요청할 수 있다. 단말 노드(555)의 RAN 물리 계층 모듈(525')은 신호 대 잡음비(SNR) 측정치와 같은 라디오 링크 품질 메트릭을 액세스 노드(575) 상의 RAN 물리 계층 모듈(525)에 보낼 수 있다. 액세스 노드(575)의 MAC 계층 모듈(520)은 단말 노드(555)의 MAC 계층 모듈(520')과 제어 메시지 동등 관계를 갖는다. MAC 계층 모듈은, 예를 들어, 자원 요청 및 승인을 교환한다. 액세스 노드(575)의 RLC 계층 모듈(515)은 단말 노드(555)의 RLC 계층 모듈(515')과 제어 메시지 동등 관계를 갖는다. RLC 계층 모듈은, 예를 들어, 데이터 세그멘테이션 및 리어셈블리 정보를 교환할 수 있다. 액세스 노드(575)의 PDCP 계층 모듈(510)은 단말 노드(555)의 PDCP 계층 모듈(510')과 제어 메시지 피더 관계를 갖는다. PDCP 계층 모듈은, 예를 들어, 암호화 및 압축 정보를 교환한다. 액세스 노드(575)의 RRC 계층 모듈(505)은 액세스 노드(575)의 RRC 계층 모듈(505')과 제어 메시지 동등 관계를 갖는다. RRC 계층 모듈은, 예를 들어, 논리 링크의 서비스 품질(QoS) 파라미터를 교환할 수 있다.
제어 경로(502)를 사용하는 동등 계층들 간 정보의 교환은 하나 이상의 논리, 전송 및 물리 채널의 사용에 기반할 수 있다. LTE에 있어서, 예를 들어, 셀-와이드 시스템 정보는 액세스 노드(575) 내 RRC 계층 모듈(505)에서 정의되고 하나 이상의 시스템 정보 블록(system information block: SIB) 및 마스터 정보 블록(master information block: MIB)으로서 형성된 데이터 세트를 통하여 단말 노드(555)에 통신된다. MIB 및 SIB는 논리 브로드캐스트 제어 채널(broadcast control channel: BCCH), 전송 브로드캐스트 채널(broadcast channel: BCH) 및 마지막으로 물리 브로드캐스트 채널(physical broadcast channel: PBCH) 및 물리 다운링크 공유형 채널(physical downlink shared channel: PDSCH)을 통해 스택 아래로 넘겨진다. 특정 단말 노드로 보내져야 하는 제어 채널 정보는 시그널링 라디오 베어러(signaling radio bearer: SRB) 커넥션을 통하여 통신되고 논리 다운링크 제어 채널(downlink control channel: DCCH), 전송 다운링크 공유형 채널(DL-SCH) 및 물리 다운링크 공유형 채널(PDSCH)을 사용하여 스택에 의해 전해진다.
애플리케이션(551)과 서버 애플리케이션(592) 간 통신을 위하여, 단말 노드(555) 상의 전송 및 접속 프로토콜 모듈(550') 및 애플리케이션 서버(590) 상의 동등 전송 및 접속 프로토콜 모듈(550)은 애플리케이션 데이터 경로(501)를 확립하도록 사용된다. 애플리케이션 데이터 경로(501)는 애플리케이션 제어 데이터 및 애플리케이션 사용자 데이터를 전송한다. 다양한 실시예에 있어서, 애플리케이션 데이터 경로(501)는 애플리케이션 제어 데이터 및 애플리케이션 사용자 데이터에 대해 동일 또는 다른 전송 및 접속 프로토콜을 사용할 수 있다. 부가적으로, 프로토콜 스택의 동일 또는 다른 인스턴스(예를 들어, 소프트웨어 프로세스)가 애플리케이션 제어 데이터 및 애플리케이션 사용자 데이터에 대해 사용될 수 있다.
애플리케이션 데이터 경로(501)는 RAN 프로토콜 스택에 의해 사용자 데이터를 통신하는 것으로 보일 수 있다. RAN 제어 경로(502) 상의 데이터와는 달리, 애플리케이션 데이터 경로(501) 상의 단말 노드(555)로부터의 데이터는 액세스 노드(575)에서 종료되지 않는다. 대신에, 애플리케이션 데이터 경로(501) 상의 데이터는 애플리케이션 서버(590)로의 궁극적 전송을 위한 통신 링크에 데이터 브리지/중계 모듈(530)에 의해 브리지된다. 애플리케이션이 앱-에이전트 협력형 통신을 제공하지 않을 때, 모든 애플리케이션 트래픽은 다음 노드로 브리징될 수 있다. 그러한 애플리케이션에 대하여, 애플리케이션 제어는 애플리케이션과 연관된 서버 애플리케이션 간 통신으로 제한될 수 있다.
애플리케이션 서버(590)로의 전송은, 예를 들어, 게이트웨이 노드 또는 라우터 노드를 통해 액세스 노드(575)로부터의 다수의 링크를 관련시킬 수 있다. 액세스 노드(575)는 추가적 물리 계층 모듈(565)을 통하여 제1 업스트림 통신 노드와 통신하도록 추가적 전송 및 접속 프로토콜 모듈(563)을 사용할 수 있다. 전송 및 접속 프로토콜 모듈(563)은, 예를 들어, 진화형 제너럴 패킷 라디오 서비스(GPRS) 터널링 프로토콜(eGTP)를 사용할 수 있다. 물리 계층 모듈(565)은, 예를 들어, 마이크로파 백홀 또는 캐리어 이더넷 링크 상에서 데이터를 송신할 수 있다. 애플리케이션 서버(590)에서, 데이터는 물리 계층 모듈(597)을 통하여 수신되어 전송 및 접속 프로토콜 모듈(550)에 건네진다. 따라서, 애플리케이션 서버(590) 내 전송 및 접속 프로토콜 모듈(550)은 액세스 노드(575) 내 전송 및 접속 프로토콜 모듈(563)에서 사용된 프로토콜에 필적하는 프로토콜을 제공하고 단말 노드(555)와의 통신을 위한 프로토콜에 부가하여 애플리케이션 서버(590)와 액세스 노드(575) 간 다른 통신 노드와의 통신을 위한 프로토콜을 제공할 수 있다.
애플리케이션 데이터 경로(501) 상의 데이터, RAN 제어 경로(502) 상의 데이터, 앱-에이전트 협력형 통신 제어 경로(503) 상의 데이터는 RAN 프로토콜 스택을 통하여 단말 노드(555)와 액세스 노드(575) 간 전송된다. 그렇지만, 액세스 노드(575) 내 패킷 검사 모듈(529)은 앱-에이전트 협력형 통신을 애플리케이션 에이전트(570)에게로 전환시킬 수 있다. 앱-에이전트 협력형 통신 제어 경로(503) 상에서 메시지를 생성 및 통신하는 것은 단말 노드(555) 내 전송 및 접속 프로토콜 모듈(550')에서 사용된 프로토콜에 필적하는 액세스 노드(575) 내 부가적 프로토콜을 이용할 수 있다. 부가적 프로토콜은, 예를 들어, 패킷 검사 모듈(529) 또는 애플리케이션 에이전트(570)에 의해 제공될 수 있다.
네트워크는 하나의 계층의 기능을 다른 계층에 의해 제공된 것들로부터 추상화하도록 프로토콜의 계층을 사용한다. 계층의 추상화는 여러 다른 네트워크에 대한 애플리케이션의 이식성을 더 크게 할 수 있다. 네트워크 내 패킷의 흐름의 개시 및 후속 종료는 특정 애플리케이션 또는 서비스에 의해 트리거링될 수 있다. 최종-사용자 애플리케이션 또는 서비스의 사용에 관한 제어 및 사용자 데이터 패킷의 흐름은 세션이라고 칭한다. 세션의 예는 랩톱으로부터 스카이프 애플리케이션을 사용하는 인터넷 프로토콜을 통한 음성(VoIP) 통화, 안드로이드-기반 모바일 폰 상에서 실행되는 유튜브 앱을 사용하는 스트리밍 비디오 재생, 및 애플 아이챗 애플리케이션을 사용하는 2-방향 비디오 통화를 포함한다.
애플리케이션 서버 또는 프록시 서버와 같은 네트워크 노드, 및 스마트 폰, 태블릿 또는 랩톱 컴퓨터와 같은 단말 노드가 세션을 개시하거나 그에 참가할 수 있다. 노드는 하나 이상의 세션을 동시에 호스팅할 수 있다. 그 세션들은 서로로부터 독립적일 수도(예를 들어, 페이스북과 이메일을 동시에 사용하는 사용자) 서로 관련될 수도(예를 들어, 2개의 비디오 스트리밍 세션을 낳는 브라우징 세션) 있다. 세션은 2개의 노드 간 확립될 수 있다. 대안으로, 세션은, 예를 들어, 멀티캐스트 및 브로드캐스트 패킷 프로토콜의 사용을 통해 하나의 노드와 여러 노드 간 관계로서 보일 수 있다.
세션은 다양한 기준에 의해 특성 표시 또는 카테고리 분류될 수 있다. 특정 애플리케이션은 사용자에 의해 개시되었고 그 세션의 론칭을 책임지고 있는 구체적 애플리케이션을 지칭할 수 있다. 특정 애플리케이션의 예는 유튜브 앱, 크롬 인터넷 브라우저 및 스카이프 음성 통화 소프트웨어를 포함한다. 더 일반적으로, 애플리케이션 클래스는 특정 세션에 의해 서비스 제공되는 종합적 기능을 설명하도록 사용될 수 있다. 예시의 애플리케이션 클래스는 스트리밍 비디오, 음성 통화, 인터넷 브라우징, 이메일 및 게이밍을 포함한다.
세션은 동일하거나 잠재적으로 서로 다른 기저 커넥션을 사용하는 하나 이상의 독립적 데이터 스트림으로 이루어질 수 있다. 예컨대, 단일의 VoIP 폰 통화 세션에는 2개의 데이터 스트림이 들어있을 수 있다. 하나의 데이터 스트림은 사용자 데이터그램 프로토콜(UDP) 커넥션을 사용하여 양방향 음성 트래픽(즉, 페이로드 또는 데이터 플레인 패킷)을 서비스 제공할 수 있다. 제2 데이터 스트림은, 예를 들어, 세션 개시 프로토콜(SIP)을 사용할 때와 같이 통화 설정/해제(즉, 시그널링 또는 제어 플레인 패킷)를 취급하도록 하나 이상의 전송 제어 프로토콜(TCP) 커넥션을 사용할 수 있다. 비디오 스카이프의 예에 있어서는, 세션을 시작, 정지 및 그렇지 않으면 제어하도록 SIP 시그널링을 반송하는 하나의 스트림, 실시간 전송 프로토콜(RTP)을 사용하여 음성 패킷을 반송하는 제2 스트림, 및 RTP를 사용하여 비디오 패킷을 반송하는 제3 스트림이 있을 수 있다.
애플리케이션이 단말 노드 상에서 사용자에 의해 개시될 때, 애플리케이션은 애플리케이션과 연관된 애플리케이션 서버 간 제어 시그널링으로 시작할 수 있다. 예를 들어, 유튜브 앱이 시작될 때, 그것은 다수의 동시적 하이퍼텍스트 트랜스퍼 프로토콜(HTTP) 요청으로 유튜브 피드 서버로부터 이용가능한 비디오 피드 선택에 관한 정보를 요청한다. 유튜브 피드 서버는 HTTP 응답으로 압축된 포맷으로 피드에 대한 데이터로 답한다. 각각의 HTTP 요청/응답은 단말 노드 상의 TCP 스택과 유튜브 서버 상의 TCP 스택 간 TCP 확립(예를 들어, SYN, SYN-ACK, 및 ACK 메시지) 프로토콜을 통하여 설정되는 별개 TCP 커넥션 상에서 수행된다. 비디오 피드 데이터가 수신되고 나면, 유튜브 앱은 다수의 동시적 HTTP GET 요청을 사용하여 피드 데이터에 열거된 비디오에 대하여 유튜브 이미지 서버로부터 썸네일 이미지를 조회할 수 있다. 유튜브 이미지 서버는 요청된 썸네일 이미지를 HTTP 응답으로 제공한다. 각각의 썸네일 요청/응답은 그 자신의 별개 TCP 커넥션 상에서 반송된다.
비디오 피드 및 서치 결과 내 각각의 비디오에 대하여, 비디오의 여러 다른 포맷에 대한 다수의 URL(uniform resource locator)이 제공된다. 유튜브 앱은 그 능력 및 사용자 구성 및 선호도에 기반하여 어느 포맷을 사용할지 정한다. 유튜브 앱은 선택된 포맷의 비디오의 URL로 HTTP GET 요청을 서버에 보낸다. 유튜브 서버는 요청된 비디오를 HTTP 응답으로 되돌려 보낸다. HTTP 응답은 여러 IP 패킷으로 세그멘팅된다. HTTP 응답의 제1 IP 패킷은 HTTP 응답 상태 코드(200 = OK)를 반송한다. HTTP 응답 헤더의 일례가 아래에 나타난다.
Figure pat00001
위 예에 있어서, HTTP 응답 헤더 "Content-Type"는 응답에 MP4 포맷 비디오가 포함되어 있음을 나타낸다. HTTP 응답 헤더 "Content-Length"는 HTTP 응답에 포함된 MP4 비디오의 길이가 약 57MB임을 나타낸다.
도 6은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트의 블록 선도이다. 애플리케이션 에이전트는 액세스 노드(675)와 연관되어 있다; 애플리케이션은 단말 노드(655)와 연관되어 있다. 단말 노드(655) 내 애플리케이션은 액세스 노드(675) 내 애플리케이션 에이전트와 협력적으로 동작한다. 애플리케이션 에이전트 및 애플리케이션은, 예를 들어, 도 4의 통신 시스템에서 사용될 수 있다. 도 6의 액세스 노드(675)는 다양한 실시예에서는 도 4의 액세스 노드(475)와 동일 또는 유사할 수 있고, 도 6의 단말 노드(655)는 다양한 실시예에서는 도 4의 단말 노드(455)와 동일 또는 유사할 수 있다.
액세스 노드(675)는 마스터 애플리케이션 에이전트(670)를 포함한다. 마스터 애플리케이션 에이전트(670)는 단말 노드(655) 내 마스터 애플리케이션(651)과 통신한다. 일 실시예에 있어서, 마스터 애플리케이션(651)은 단말 노드(455)의 운영 체제의 일부분이다. 마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 액세스 노드(675) 내 특정 애플리케이션 에이전트(671(1)-671(n))와 단말 노드(655) 내 특정 애플리케이션(653(1)-653(n)) 간 통신을 용이하게 한다.
마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 단일 TCP 커넥션을 사용하여 모든 특정 애플리케이션 에이전트(671)와 특정 애플리케이션 간 통신을 용이하게 할 수 있다. IP 경로는, 일 실시예에서는, 마스터 애플리케이션(651)과 마스터 애플리케이션 에이전트(670) 간 확립된다.
마스터 애플리케이션(651)과 마스터 애플리케이션 에이전트(670)는 연관된 액세스 또는 단말 노드의 IP 주소와 동일할 수도 동일하지 않을 수도 있는 그 동등물의 IP 주소를 다양한 기술에 의해 인식할 수 있다. 예를 들어, 액세스 노드는 단말 노드가 네트워크에 들어갈 때 단말 노드의 IP 주소를 확립 또는 발견할 수 있다. 많은 실시예에 있어서, 다수의 동시다발적으로 동작하는 단말 노드가 존재할 수 있고 따라서 마스터 애플리케이션 에이전트(670)는 다수의 동등 노드 주소를 인식하고 있다. 주소 결정 프로토콜(ARP)은 ARP 기능이 기반할 수 있는 적합한 기저 계층 2 주소가 이용가능할 때(예를 들어, 이더넷 MAC 주소) 사용될 수 있다. 대안으로, 마스터 애플리케이션 에이전트(670)는 동적 배정 기술, 예를 들어, 동적 호스트 구성 프로토콜(DHCP)을 사용하여 마스터 애플리케이션(651)에 주소를 배정할 수 있다. 대안으로, IP 경로 정보는, 예를 들어, 관리 커넥션을 통하여 오퍼레이터에 의해 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670) 내로 프로그래밍될 수 있다. 다른 대안으로, 액세스 노드(675)는 마스터 애플리케이션 에이전트(670)의 IP 주소를 광고한다. IP 주소는 RAN을 제어하도록 이미 준비되어 있는 제어 채널의 증강으로서 광고될 수 있다(예를 들어, RAN 제어 경로를 사용). 예를 들어, 액세스 노드(675)는 단말 노드가 네트워크에 합류할 때 그들에 대한 네트워크 엔트리 응답에 주소를 포함하거나 브로드캐스트 제어 채널(예를 들어, LTE 시스템 정보 블록(SIB) 채널) 상에 주소를 브로드캐스팅할 수 있다.
IP 주소는 액세스 노드 및 연관된 단말 노드에 의해 정의된 네트워크 밖에서 라우팅가능할 필요가 있지 않을 수 있다. 그리하여, 다양한 주지의, 비-라우팅가능 IP 주소가 사용될 수 있다. LTE 네트워크 내 비-라우팅가능 IP 주소의 배정은 eNodeB 물리 셀 아이디(PCI)에 기반할 수 있다. 예를 들어, eNodeB 내 마스터 애플리케이션 에이전트의 IP 주소에는 그 9-비트 PCI값에 대응하여 (9 최하위 비트의) 9-비트 오프셋 더하기 172.16.0.0의 베이스 주소가 배정될 수 있다. 255의 PCI값을 갖는 eNodeB 내 마스터 애플리케이션 에이전트에는 172.16.0.255의 IP 주소가 배정될 것이다. eNodeB PCI가 eNodeB의 서비스 제공 범위 내 모든 UE에 브로드캐스팅되므로, 마스터 애플리케이션 에이전트 IP 주소는 RAN 시그널링 오버헤드 없이 UE에 의해 계산가능할 것이다. 이러한 기술은 또한 IPv6 주소지정에 적용될 수 있다.
유사하게, LTE 사용자 장비 내 마스터 애플리케이션의 IP 주소도 비-라우팅가능 주소일 수 있다. 비-라우팅가능 주소는 베이스 주소(IPv4 또는 IPv6를 사용) 더하기 오프셋의 조합으로부터 형성될 수 있다. 오프셋은, 예를 들어, 디폴트 라디오 베어러 식별자 또는 임시 모바일 가입 아이디(M-TMSI)에 기반할 수 있다. 주소지정 스킴이 마스터 애플리케이션 에이전트에 의해 알려져 있을 수 있으므로, 마스터 애플리케이션의 IP 주소는 RAN 시그널링 오버헤드 없이 알려져 있을 수 있다.
대안으로, 앱-에이전트 협력형 통신의 일부분으로서 보내진 IP 데이터그램은 전부-영 (0.0.0.0) 소스 주소와 브로드캐스트 또는 멀티캐스트 수신지 주소의 조합을 사용할 수 있다. 일 실시예에 있어서, 마스터 애플리케이션 에이전트(670)로부터 마스터 애플리케이션(651)으로의 통신은 0.0.0.0의 IP 소스 주소 및 255.255.255.255의 브로드캐스트 수신지 주소를 사용할 수 있다. 대안으로, 멀티캐스트 주소가, 224.0.0.0과 239.255.255.255 범위 사이에서, 수신지 주소로 사용될 수 있다. 일 실시예에 있어서, 멀티캐스트 또는 브로드캐스트 수신지 주소는, 위에서 설명된 기술을 사용하여 배정 및 발견되고 나면, 적합한 유니캐스트 IP 주소에 의해 교체될 수 있다. 유사한 방법 및 주소가 특정 애플리케이션 에이전트(671) 및 특정 애플리케이션(653)에 대해 사용될 수 있다. 위에서 설명된 IPv4 주소지정 방법은 IPv6 네트워크 내에서의 작업으로까지 확장될 수 있다.
일 실시예에 있어서, 마스터 애플리케이션(651)과 마스터 애플리케이션 에이전트(670) 간 통신은 라디오 액세스 기술(RAT)에 특정적인 제어 통신 채널을 통해서이다. 그 통신은, 예를 들어, 개별 또는 브로드캐스트 메시지를 사용할 수 있다. 새로운 특정 애플리케이션을 용이하게 하기 위해, 애플리케이션 특정 메시지에 대해 컨테이너를 제공하는 RAT 특정 메시지가 사용될 수 있다. 예를 들어, LTE 네트워크에서는, 도 5를 참조하면, 애플리케이션(551) 및 애플리케이션 에이전트(570) 내외로 메시지를 반송하도록 하나 이상의 시그널링 라디오 베어러(SRB)가 사용될 수 있다. 일 실시예에 있어서, 메시지는 제3 세대 파트너십 프로그램(3GPP) 표준에 의해 정의된 바와 같이 하나 이상의 기존 SRB 상에서 반송될 수 있다. 대안으로, 메시지는 애플리케이션과 애플리케이션 에이전트 간 메시지를 반송할 목적으로 확립된 하나 이상의 SRB 상에서 반송될 수 있다. 그러한 시나리오에 있어서, 액세스 노드(575) 내 패킷 검사 모듈(529)은 3GPP 표준에 의해 정의된 바와 같이 MME에 메시지를 포워딩하기보다는 단말 노드(555)와 액세스 노드(575) 간 SRB 상에서 보내진 앱-에이전트 협력형 통신 메시지를 인터셉트, 프로세싱 및 응답할 수 있다.
대안의 실시예에 있어서, 앱-에이전트 협력형 통신은 액세스 노드(575)와 단말 노드(555) 간 애플리케이션 데이터 트래픽을 통신할 목적으로 확립된 기존 또는 전용 사용자 데이터 플레인 통신 채널을 사용할 수 있다. 이 경우에 있어서, 논리 앱-에이전트 협력형 통신 제어 경로(503) 상의 앱-에이전트 협력형 통신 및 논리 애플리케이션 데이터 경로(501) 상의 사용자 데이터 트래픽은 동일한 사용자 데이터 플레인 통신 채널 상에 거주할 수 있다. 예를 들어, LTE 네트워크에 있어서, 앱-에이전트 협력형 통신은 기존 디폴트 데이터 라디오 베어러(data radio bearer: DRB) 또는 전용 DRB 상에서 반송되고, 코어 네트워크에 포워딩하기보다는 액세스 노드에서의 소비를 위해 표시 또는 마크표시될 수 있다. 대안으로, 앱-에이전트 협력형 통신을 반송할 목적으로 새로운 전용 DRB가 생성될 수 있다. 부가적으로, 앱-에이전트 협력형 통신은 다수의 DRB 또는 하나 이상의 SRB와 하나 이상의 DRB의 조합 상에서 반송될 수 있다. 예를 들어, 여러 다른 베어러가 여러 다른 특정 애플리케이션 또는 특정 애플리케이션 그룹과 연관될 수 있다.
일 실시예에 있어서, 앱-에이전트 협력형 통신을 반송할 목적에 전용인 DRB는 단말 노드(555)와 코어 네트워크 간 시그널링을 사용함이 없이 생성될 수 있다. 예를 들어, LTE 네트워크에 있어서, 앱-에이전트 협력형 통신을 반송할 목적에 전용인 DRB는 코어 네트워크에 위치하는 이동성 관리 엔티티(Mobility Management Entity: MME)의 관련 없이 생성될 수 있어서 그로써 시그널링을 감축하고 네트워크의 효율을 개선한다. 그러한 시나리오에 있어서, 액세스 노드(575) 내 패킷 검사 모듈(529)은 각각 메시지 및 데이터 트래픽을 시그널링하기 위한 3GPP 표준에 의해 정의된 바와 같이 MME 또는 S-GW에 메시지를 포워딩하기보다는 단말 노드(555)와 액세스 노드(575) 간 보내진 앱-에이전트 협력형 통신 메시지를 인터셉트, 프로세싱 및 응답할 수 있다.
마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 또한 앱-에이전트 협력형 통신을 프로세싱할 수 있다. 예를 들어, 마스터 애플리케이션 에이전트(670) 또는 마스터 애플리케이션(651)은 특정 애플리케이션 에이전트(671)와 특정 애플리케이션(653) 간 통신되는 정보는 조정, 조합 또는 그렇지 않으면 조작할 수 있다.
마스터 애플리케이션(651)은 특정 애플리케이션(653)이 앱-에이전트 협력형 통신을 인식하고 있거나 그에 관련될 필요가 없도록 앱-에이전트 협력형 통신을 프로세싱할 수 있다. 이것은 기존 특정 애플리케이션이 수정 없이 앱-에이전트 협력형 통신으로부터 혜택을 볼 수 있게 할 수 있다.
일 실시예에 있어서, 마스터 애플리케이션(651)은 단말 노드 상의 애플리케이션과 서버 애플리케이션 간 스트리밍 비디오 통신을 인터셉트하고 시스템 용량의 제한에 기반하여 가용 비디오 표현을 필터링할 수 있다. 예를 들어, 위에서 설명된 유튜브 스트리밍 비디오 예를 고려해보라. 스트리밍 비디오는 각각 연관된 데이터 레이트를 갖는 다수의 포맷 및 표현으로 이용가능할 수 있다. 예를 들어, 유튜브 서버는, HTTP GET 커맨드를 통하여, 유튜브 애플리케이션(특정 애플리케이션(653)의 일례)이 여러 다른 비트 레이트를 각각 갖는 파일 세트 중으로부터 재생 파일을 선택할 수 있게 하는 점진적 다운로드 포맷을 사용할 수 있다. 가용 포맷 및 비트 레이트의 리스트가 URL(재생 파일당 하나씩)의 리스트를 통하여 전해지고 통상 유튜브 서버로부터 유튜브 애플리케이션으로 보내진다. 리스트는 마스터 애플리케이션(651)에 의해 인터셉트되어 유튜브 애플리케이션에 넘겨지기 전에 가용 용량의 제한에 기반하여 필터링될 수 있다.
필터링은 수개의 형태를 취할 수 있다. 일 실시예에 있어서, 마스터 애플리케이션(651)에 의해 인터셉트된 가용 포맷의 리스트는 앱-에이전트 협력형 통신을 통하여 마스터 애플리케이션 에이전트(670) 또는 특정 애플리케이션 에이전트(671) 중 하나에 보내진다. 그 포맷은 마스터 애플리케이션 에이전트(670) 또는 특정 애플리케이션 에이전트(671)에 의해 필터링될 수 있다. 필터링은 자원 제어 모듈(예를 들어, 도 4의 자원 제어 모듈(480))과의 자문 후에 있을 수 있다. 예를 들어, 정체 기간 동안, 자원 제어 모듈은 모든 비디오 스트리밍을 1 Mbps보다 작은 비트 레이트로 제한하는 수락 제어 응답을 제공할 수 있다. 마스터 애플리케이션 에이전트(670) 또는 특정 애플리케이션 에이전트(671)는 필터링된 리스트를 마스터 애플리케이션에 다시 보내기 전에 1 Mbps보다 더 큰 비트 레이트를 갖는 모든 스트리밍 옵션(예를 들어, URL들)을 가용 포맷의 리스트로부터 삭제하도록 이 정보를 사용한다. 대안의 일 실시예에 있어서, 마스터 애플리케이션 에이전트(670)는 스트리밍 비디오 비트 레이트에 대한 현재 한계를 설명하는 주기적 업데이트를 앱-에이전트 협력형 통신을 통하여 마스터 애플리케이션(651)에 제공할 수 있다. 차례로, 마스터 애플리케이션(651)은 비트 레이트 옵션을 그것들을 유튜브 특정 앱에 보내기 전에 로컬 필터링하도록 이 정보를 사용한다. 위의 기술은 HTTP를 통한 동적 적응형 스트리밍(DASH), 마이크로소프트의 스무드 스트리밍, 애플의 라이브 스트리밍 및 어도비의 동적 스트리밍과 같이 멀티-비트레이트 스트림을 관련시키는 어느 비디오 재생 기술에라도 적용될 수 있다.
다수의 다른 애플리케이션에 공통일 수 있는 정보 또는 요청은 취합될 수 있다. 예를 들어, 마스터 애플리케이션 에이전트(670)는 현재 정체 및 과잉 자원 헤드룸을 마스터 애플리케이션(651)에 제공할 수 있다. 그 후 마스터 애플리케이션(651)은 정체 및 자원 헤드룸 정보를 특정 애플리케이션(653)에 공급할 수 있다.
부가적으로, 공통 질의, 예를 들어, 특정 데이터 레이트에서의 특정 애플리케이션 클래스(예를 들어, 음성, 비디오)가 소망 QoS 레벨로 지원될 수 있는지는 각각의 특정 애플리케이션 및 특정 애플리케이션 에이전트에서보다는 단일 마스터 애플리케이션-마스터 애플리케이션 에이전트 쌍에서 획일적으로 구현될 수 있다. 서비스를 종료 또는 수정하는 것들과 같은 수락 제어 응답은 부가적으로는 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670)에서 구현될 수 있다.
공통 애플리케이션-발생된 협력형 통신을 지원하는 것에 부가하여, 마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 어느 앱-에이전트 협력형 통신이라도 통과시킬 수 있다. 즉, 특정 쌍의 특정 애플리케이션(653) 및 특정 애플리케이션 에이전트(671)에 특정한 협력형 통신은 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670)를 통과할 수 있다. 예를 들어, 비디오 클라이언트 재생 버퍼 상태에 대한 협력형 통신은 특정 애플리케이션(653) 중 하나로부터 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670)를 통해 특정 애플리케이션 에이전트(671) 중 하나로 지나갈 수 있다.
마스터 애플리케이션 에이전트 또는 마스터 애플리케이션의 사용은 시그널링 오버헤드를 감축하고 애플리케이션 개발자의 부담을 줄일 수 있다. 또한 이것은, 자원 제어 모듈과 같은, 액세스 노드(675)에서의 다른 기능과 애플리케이션 에이전트(들)(671)를 인터페이싱하는 복잡도를 감축할 수 있다.
도 6에 도시된 애플리케이션 에이전트 및 애플리케이션에 대한 여러 변형이 가능하다. 예를 들어, 마스터 애플리케이션은 마스터 애플리케이션 에이전트를 포함하지 않는 액세스 노드 내 특정 애플리케이션 에이전트와 직접 통신할 수 있다. 유사하게, 마스터 애플리케이션 에이전트는 마스터 애플리케이션 에이전트를 포함하지 않는 단말 노드 내 특정 애플리케이션과 직접 통신할 수 있다. 부가적으로, 액세스 노드는 마스터 애플리케이션 에이전트와 더불어, 특정 애플리케이션과 직접 통신하는 하나 이상의 애플리케이션 에이전트도 가질 수 있고, 단말 노드는 마스터 애플리케이션과 더불어, 특정 애플리케이션 에이전트와 직접 통신하는 하나 이상의 애플리케이션도 가질 수 있다. 더욱, 위에서 다룬 스킴(또는 그 변형)은 마스터 애플리케이션 에이전트 또는 마스터 애플리케이션의 부재시에도 사용될 수 있다.
액세스 노드 내 마스터 애플리케이션 에이전트의 존부는 기존 브로드캐스트 제어 채널 내, 예를 들어, LTE SIB 또는 MIB 메시지 내 데이터 필드 또는 비트를 사용하여 시그널링될 수 있다. 데이터 필드 또는 비트는 메시지 내 기존의 그러나 미사용의 위치를 사용할 수 있다. 대안으로, 기존 SIB 메시지 내 새로운 필드 또는 전적으로 새로운 SIB가 마스터 애플리케이션 에이전트의 존재를 나타낼 목적으로 생성될 수 있다.
일 실시예에 있어서, 액세스 노드(675)는 단말 노드(655)에 후속적으로 알려주는 코어 네트워크 내 엘리먼트에 통신을 통하여 마스터 애플리케이션 에이전트(670)의 존부를 통신한다. 예를 들어, LTE 네트워크에 있어서, eNB는 eNB 상의 마스터 애플리케이션 에이전트의 존부를 나타내는 메시지를 3GPP 정의된 S1 통신 채널을 사용하여 EPC 코어 네트워크에 위치한 MME 서버에 보낼 수 있다. 3GPP S1-설정/eNodeB 구성 업데이트는 TLV(type-length-value) 포맷을 사용하는 새로운 필드 및 ASN.1 확장 마커의 사용에 의해 애플리케이션 에이전트 지원을 나타내도록 강화될 수 있다. S1 메시지의 수신시, MME는 3GPP NAS 메시지를 통하여 UE에 존부 정보를 보낼 수 있다. 여러 다른 시그널링 방법이 또한 사용될 수 있다.
단말 노드(655)는, 일 실시예에서는, 코어 네트워크 내 엘리먼트에 통신을 통하여 마스터 애플리케이션(651)의 존부를 시그널링할 수 있다. 예를 들어, LTE UE는 MME에 보내지는 NAS 메시지를 통하여 마스터 애플리케이션(651)의 존재를 시그널링할 수 있다. 예를 들어, UE 특정 S1-초기 컨텐트 설정/E-RAB 설정/수정 메시지는 TLV 포맷의 옵션 엘리먼트로서 존재 정보를 포함하도록 수정될 수 있다. MME에 의해 수신에 뒤이어, 그 후 MME는 적합한 eNB와 정보를 통신한다.
일 실시예에 있어서, 액세스 노드(675)는 RAN 프로토콜 스택의 일 계층의 패킷 헤더에 존재 비트를 부가함으로써 마스터 애플리케이션 에이전트(670)의 존부를 통신할 수 있다(예를 들어, 도 5에 예시된 패킷 데이터 컨버전스 계층, 라디오 링크 제어 계층 또는 매체 액세스 제어 계층에 대해 정의된 패킷 포맷). 유사한 기술이 마스터 애플리케이션(651)의 존재를 액세스 노드(675)에 나타내도록 단말 노드(655)에 의해 사용될 수 있다.
앱-에이전트 협력형 통신은 여러모로 사용될 수 있다. 이하의 단락은 앱-에이전트 협력형 통신의 예들을 설명한다. 많은 예들이 특정 애플리케이션 및 특정 네트워크 기술에 대하여 설명되고 있지만, 그 예들 및 변형례는 다른 애플리케이션 및 다른 네트워크 기술에 광범위하게 적용가능함을 이해해야 한다. 유사하게, 많은 예들이 액세스 노드 내 애플리케이션 에이전트와 단말 노드 내 애플리케이션 간 앱-에이전트 협력형 통신에 대하여 설명되고 있지만, 그 예들 및 변형례는 다른 디바이스에 광범위하게 적용가능함을 이해해야 한다.
앱-에이전트 협력형 통신은 통신 네트워크 조건, 예를 들어, RAN 조건을 변화시키도록 비디오 통신을 적응시키는데 사용될 수 있다. 실시간 비디오 스트리밍 프로토콜에 있어서, 예를 들어, 애플리케이션 에이전트는 통신 시스템이 가용 자원을 더 많이 또는 더 적게 갖고 있을 때를 연관된 실시간 스트리밍 비디오 애플리케이션에 알려줄 수 있다. 애플리케이션 에이전트는, 예를 들어, 자원 가용성을 통신함으로써 또는 비디오에 대한 새로운 선호되는 또는 최대 데이터 레이트 또는 해상도를 통신함으로써 네트워크 조건에 대해 애플리케이션에 알려줄 수 있다. 비디오의 다음 블록 또는 세그먼트를 요청할 때, 애플리케이션은 비디오를 자원 변화에 적응시키기 위하여 다른 평균 또는 피크 비트 레이트 또는 다른 해상도를 갖는 세그먼트를 요청할 수 있다.
일 실시예에 있어서, 애플리케이션 에이전트는 추정된 장래 자원 가용성에 대하여 하나 이상의 비디오 애플리케이션에 알려줄 수 있다. 장래 자원 가용성의 추정치는 정의된 기간(예를 들어, 다음 2초)에 걸쳐 단일 수(예를 들어, 2Mbps)로서 통신될 수 있다. 대안으로, 멀티-포인트 추정이 더 긴 수평선에 걸친 시간과 장래 용량 간 관계를 묘사하도록 사용될 수 있다. 멀티-포인트 추정의 일례를 아래 표에 나타낸다. 표 상태에서 제2 칼럼은 제1 칼럼에 주어진 시간에서의 용량을 추정하였다.
Figure pat00002
비디오 애플리케이션은 추정된 장래 용량을 사용하여 다음 비디오 세그먼트를 선택할 수 있고 그래서 비트 레이트는 세그먼트 듀레이션 동안 추정된 장래 비트 레이트 용량에 또는 그 아래에 있다. 예를 들어, 3개의 다른 비트 레이트: 0.7 Mbps, 1.3 Mbps 및 2.5 Mbps로 이용가능한 2-초 세그먼트를 갖는 비디오 스트림을 고려해본다. 추정된 장래 비트 레이트가 1.5 Mbps로부터 1.0 Mbps로 감축될 것이라고 비디오 애플리케이션에 알려지면, 그때 1.3 Mbps 세그먼트를 인출하고 있었던 애플리케이션은 다음 기회에는 0.7 Mbps 세그먼트를 선택할 수 있다.
비디오 애플리케이션은 장래 용량이 적절히 더 커질 수 있다고 그리고 현재 로컬 버퍼 점유율이 더 큰 용량이 이용가능하게 될 때까지 멎음-없는 동작을 보장하기에 충분하다고(예를 들어, 로컬 버퍼가 공백이지 않을 것이라고) 예상될 때 현재 용량보다 더 큰 비트 레이트를 옹호하도록 추정된 장래 비트 레이트를 사용할 수 있다. 예를 들어, 2.0 Mbps 세그먼트를 인출하고 있고 그 로컬 버퍼에 10초의 비디오를 저장해 둔 비디오 애플리케이션을 고려해본다. 그때 애플리케이션은, 용량이 2.0 Mbps의 현재(시간=0)값으로부터 시간 3초에 0.5 Mbps의 최소값으로 떨어지고 그 후 장래에는 용량이 빠르게 회복되어 현재값을 능가할 것이라고 예측하는, 위 예의 표에 나타낸 추정된 장래 용량을 수신한다. 용량 부족분(즉, 추정된 용량이 현재 세그먼트 비트 레이트보다 더 작음)이 로컬 버퍼링된 비디오의 양보다 더 짧으면, 애플리케이션은 현재 용량보다 더 큰 비트 레이트를 갖는 세그먼트를 계속 인출할 수 있다. 위 예에 있어서, 용량 미달은 t=1초에서 시작하여 t=4초에서 끝나고 그래서 3초이다. 로컬 버퍼 점유율이 10초이면, 비디오 애플리케이션은 계속 2.0 Mbps 세그먼트를 인출할 것이다.
반대로, 장래 자원이 줄어들고 있을 수 있다는 추정은 감축에 앞서 비디오의 다음 세그먼트에 대한 비트 레이트를 감축하도록 비디오 애플리케이션에 의해 사용될 수 있고, 그로써 클라이언트 버퍼 점유율을 증가시키고 다가오는 감축의 충격(예를 들어, 재생 멎음)을 줄인다.
다양한 방법이 장래 자원 가용성을 추정하도록 사용될 수 있다. 예를 들어, 자원 가용성의 이력이 자원 추정 모듈에 저장될 수 있다. 하루 중 시간, 일주 중 요일 및 다른 이벤트에 대한 자원 가용성의 상관은 애플리케이션 에이전트가 장래 자원이 현재 자원보다 더 클지 더 작을지 예측 가능하게 할 수 있다. 예를 들어, 주요 주간 고속도로를 서비스 제공하는 LTE eNB는 아침 및 저녁 평일 통근 기간 동안 피크 수요를 알 수 있다. 이력 데이터에 기반하여, 애플리케이션 에이전트는, 예를 들어, 통근 교통량이 늘어남에 따라 다음 30분에 걸쳐 분당 2%의 평균 레이트로 사용자당 자원이 떨어질 것이라고 예측할 수 있다.
부가적으로, 특정 단말 노드와 액세스 노드 간 자원 가용성이 시변 채널 조건의 반복 패턴에 기반하여 추정될 수 있다. 예를 들어, 액세스 노드(475) 내 자원 추정 모듈(481)은 특정 단말의 DL 및 UL 변조 및 코딩 스킴(MCS)을 추적하고 반복 패턴이 존재함을 결정할 수 있다. 예를 들어, 사용자의 채널 조건(및 이리하여 가용 용량)은 오후 5시쯤에는 매일 5분 주기로 우수함으로부터 불량함으로 그리고 다시 우수함으로 바뀔 수 있다. 그러한 패턴은 사무소 근로자가 그들의 책상을 떠나 그들의 차로 걸어가는 것에 기인할 수 있다. 일 실시예에 있어서, 액세스 노드는 하루 중 시간과 같은 지식을 사용하고 최근 채널 이력(예를 들어, 마지막 1분)을 이력상(예를 들어, 5분 주기로 확립된) 채널 패턴과 매칭시켜 사용자가 재차 그러한 패턴 중에 있다고 결정할 수 있다. 패턴이 검출되고 나면, 장래 용량은 검출된 이력 패턴 내 현재 위치로부터 앞으로 투영함으로써 추정될 수 있다.
장래 자원 가용성의 추정은 또한 외삽을 통하여 이루어질 수 있다. 예를 들어, (단말 노드당으로도 그리고 액세스 노드 전체에 대해서도) 최근 용량의 선형 퇴보는 가까운 장래에서의 용량을 예측하도록 사용될 수 있다. 다른 형태의 이력 곡선 피팅(예를 들어, 다항식, 지수)이 또한 자원 가용성을 외삽하도록 사용될 수 있다.
앱-에이전트 협력형 통신은 액세스 노드로부터의 통신의 스케줄링을 조절하도록 사용될 수 있다.
애플리케이션-인식 스케줄링을 사용하는 디바이스는 앱-에이전트 협력형 통신으로부터 애플리케이션에 대한 정보를 획득할 수 있다. 앱-에이전트 협력형 통신을 통하여 획득된 애플리케이션에 대한 정보는 그렇지 않았더라면 획득하기 어렵거나 불가능하였을 수 있다. 앱-에이전트 협력형 통신은 협력형 애플리케이션에 대한 애플리케이션 검출 및 애플리케이션 정보 검출 필요성을 줄이거나 없앨 수 있다. 예를 들어, 2012년 9월 7일자로 출원된 미국 특허 출원 제13/607,559호(발명의 명칭: "Systems and Methods for Congestion Detection for use in Prioritizing and Scheduling Packets in a Communication Network")에 설명된 바와 같은 애플리케이션 검출 및 애플리케이션 정보 검출을 수행할 수 있는 디바이스가 앱-에이전트 협력형 통신을 제공하는 애플리케이션과 통신할 때는 더 적은 검출을 수행할 수 있다. 협력은 또한 애플리케이션의 상태에 대해 더 정확한 정보를 제공할 수 있다. 비디오 세션에 대하여, 예를 들어, 앱-에이전트 협력형 통신은 비디오가 초기 버퍼링 상태인지, 재생/관람 상태인지, 일시정지 상태인지, 정지 상태인지, 되감기 상태인지 또는 고속 전진 상태인지 통신할 수 있다. 액세스 노드는 스케줄링 및 수락 제어 결정에 있어서 비디오 상태를 사용할 수 있다.
낮은 초기 버퍼링 시간(재생이 시작될 때와 초기 데이터 요청 간 버퍼링 기간의 듀레이션)은 스트리밍 비디오의 재생 동안 사용자 QoE에 중요하다. 일 실시예에 있어서, 액세스 노드에 의해 스트리밍 비디오 세션에 적용된 스케줄링 자원은 초기 버퍼링 시간을 감축하도록 일시적으로 증가될 수 있다. 이것은 초기 버퍼링 기간 동안 스트리밍 비디오 세션에 대해 AF를 증가시킴으로써 달성될 수 있다. 초기 버퍼링 기간에 대한 정보는 앱-에이전트 협력형 통신을 통하여 액세스 노드에 통신될 수 있다. 초기 버퍼링 기간에 대한 정보는, 예를 들어, 단말 노드가 초기 버퍼링 기간 내 비디오 및 재생을 시작하기 전에 수신되어야 하는 바이트 수("남아있는 바이트")를 갖고 있음을 포함할 수 있다. 스케줄링 자원은 남아있는 바이트의 송신이 완료될 때까지 증가될 수 있다. 부가적으로, 새로운 사용자에 의해 이루어질 수 있는 수락 제어 요청은 하나 이상의 기존 사용자에 대한 하나 이상의 비디오 세션의 초기 버퍼링 기간이 완료될 때까지 연기될 수 있다. 액세스 노드는 비디오 스트림에 할당된 현재 또는 예측된 자원(예를 들어, 초당 바이트로 표현됨)으로 남아있는 바이트를 나눔으로써 초기 버퍼링 기간의 완료 시간을 계산할 수 있다.
앱-에이전트 협력형 통신은 비디오 클라이언트 애플리케이션으로부터 재생 버퍼 상태, 로컬 비디오 버퍼 점유율, 및 동결 표시를 통신할 수 있다. 액세스 노드 내 스케줄러 파라미터는 따라서 조절될 수 있다. 일 실시예에 있어서, 액세스 노드에 의해 비디오 세션에 할당된 통신 자원은 단말 노드로부터 앱-에이전트 협력형 통신을 통하여 통신된 바와 같은 현재 버퍼 점유율에 기반할 수 있다. 예를 들어, 낮은 버퍼 점유율을 보고하여 멎음의 위험이 있는 단말 노드를 고려해본다. 그러한 경우에 있어서, 액세스 노드는 연관된 패킷에 대해 AF 또는 스케줄링 우선순위를 증가시킴으로써 비디오 세션에 할당된 자원을 증가시킬 수 있다. 반대로, 높은 버퍼 점유율을 보고하는 단말 노드를 고려해본다. 이러한 비디오 세션에 대하여, 스케줄링 자원은 AF 또는 스케줄링 우선순위의 감소를 통하여 감소되고 그로써 다른 세션을 위해 자원을 풀어줄 수 있다.
앱-에이전트 협력형 통신은 수락 제어 결정에서 사용될 수 있다. 앱-에이전트 협력형 통신은 애플리케이션-인식 수락 제어 시스템에 대한 자원 수요의 더 정확한 픽처를 생성하도록 사용될 수 있다. 예를 들어, 스트리밍 비디오 클라이언트와 같이 단말 노드 상의 협력형 애플리케이션은 앱-에이전트 협력형 통신을 사용하여 스트리밍 비디오 세션의 평균 비트 레이트 및 듀레이션을 보고할 수 있다. 그러한 정보는 현재 및 장래 자원 수요를 계산함에 있어서 액세스 노드에 의해 사용될 수 있다. 액세스 노드 용량으로부터 자원 수요를 뺌으로써, 수락을 요청하는 새로운 서비스에 적용될 수 있는 가용 과잉 용량의 척도가 생성된다.
앱-에이전트 협력형 통신은 수정된 버전의 세션을 수락하기 위해 증가된 옵션을 제공하거나 또는 다른 세션을 수정하여 새로운 세션을 허용하기 위해 증가된 옵션을 제공하도록 사용될 수 있다. 예를 들어, 단말 노드 상의 협력형 애플리케이션은 앱-에이전트 협력형 통신을 사용함으로써 비디오 클립에 이용가능한 비트 레이트 옵션 세트(예를 들어, 세션 초기화 동안 "HTTP를 통한 동적 적응형 스트리밍" 또는 DASH 서버에 의해 DASH 애플리케이션에 송신되는 렌더링 비트 레이트 리스트)를 통신할 수 있다. 가용 과잉 용량에 기반하여, 액세스 노드는 리스트 내 더 높은 비트 레이트 옵션 중 하나 이상의 사용을 없애거나 금할 수 있다. 감축된 리스트는 다시 단말 노드에 통신되어 감축된 비트 레이트 옵션 세트를 애플리케이션에 제공할 수 있다. 이것은 액세스 노드의 가용 용량의 제약 내에서 신뢰할만한 비디오 재생을 감안한다. 부가적으로 또는 대안으로, 다수의 단말 노드를 갖는 네트워크에 있어서, 위의 DASH 세션과 같은 새로운 비디오 세션의 지원은 이미 진행 중인 하나 이상의 비디오 세션에 업데이트된 비트 레이트 리스트를 보내는 것을 포함할 수 있다. 예를 들어, 새로운 제10 DASH 비디오 세션(제9 진행중 세션과 부가될 제10 세션)을 지원하기 위하여, 액세스 노드는 제10 세션에 이용가능한 최대 비트 레이트를 감축함과 더불어 또한 제10 세션을 지원하기에 충분한 용량을 풀어주기 위해 (더 낮은 최대 비트 레이트 옵션을 갖는) 업데이트된 비트 레이트 리스트를 진행중 제9 세션 중 하나 이상에 보낼 수 있다. 증가하는 과잉 용량의 시간 동안, 위의 방법은 사용자 QoE를 개선하기 위하여 역으로 될 수 있다(즉, 최대 허용가능한 비트 레이트를 증가시킴으로써 비트 레이트 리스트를 확대할 수 있다). 부가적으로, 수락 제어가 세션당 단위보다는 거친 논리 베어러 단위로 지정되는 LTE와 같은 시스템에 있어서, 앱-에이전트 협력형 통신은 세션당 단위로 거부 및 수정으로 응답하는 더 미세한 수락 제어를 생성하도록 사용될 수 있다.
앱-에이전트 협력형 통신은 핸드오버 동안 사용될 수 있다. 앱-에이전트 협력형 통신으로부터의 정보는 핸드오버 동안 사용자 체감 품질(QoE)을 최적화하도록 사용될 수 있다. 예를 들어, 애플리케이션에서 버퍼링되는 데이터는 핸드오버 동안 버퍼링 공백화를 회피하기 위해 핸드오버 이전에 증가될 수 있다. 핸드오버가 협력형 비디오 애플리케이션을 실행하고 있는 단말 노드에 대해 예상되고 액세스 노드가, 앱-에이전트 협력형 통신을 통해, 부가적 용량을 비디오 클라이언트 재생 버퍼가 갖고 있음을 인식하고 있을 때, 액세스 노드 내 스케줄러 파라미터는 핸드오버 직전에 단말 노드에서 버퍼링되는 비디오 데이터량을 증가시키도록 조절될 수 있다. 또한 핸드오버 타이밍은 애플리케이션에 편한 시간 동안, 즉, 통신에서의 어느 인터럽트 또는 지연이라도 QoE에 더 적은 충격을 주는 시간 동안 핸드오버가 일어나도록 제어될 수 있다. 예를 들어, 핸드오버가 예상되지만 즉시 필요한 것은 아니면, 핸드오버는 비디오가 일시정지되었음을 애플리케이션이 애플리케이션 에이전트에 나타낼 때 즉시 개시될 수 있다. 유사하게, 애플리케이션 에이전트는 핸드오버가 완료된 후까지 송신 또는 수신 요청을 연기하도록 이메일 애플리케이션 또는 브라우저 애플리케이션과 같이 지연 용인 정보를 통신하고 있는 애플리케이션에 명령할 수 있다. 앱-에이전트 협력형 통신을 통한 핸드오버 개선은 핸드오버 동안 손실 또는 손상된 재송신 데이터 대비 통신 네트워크에 대해서도 그리고 애플리케이션에 대해서도 효율을 개선할 수 있다.
앱-에이전트 협력형 통신은 비디오 품질을 평가하도록 사용될 수 있다. 예를 들어, 앱-에이전트 협력형 통신은 RTP 제어 프로토콜(RTCP) 보고로부터의 정보를 통신할 수 있다. RTCP 보고에는 비디오 품질의 평가을 허용하는 정보가 들어있다. 액세스 노드는 (예를 들어, 패킷 검사 모듈을 사용하여) RTCP 보고로부터 정보를 검출 및 추출할 수 있으면서, 동일 또는 유사 정보가 애플리케이션으로부터 애플리케이션 에이전트로 넘겨져, 액세스 노드에서 필요로 되는 계산상 자원을 감축할 수 있다. 비디오 품질 정보의 가용성은 스케줄러 파라미터 및 자원 할당을 조절하도록 사용될 수 있다. 예를 들어, 액세스 노드는 품질을 그것이 불충분하면 개선하도록 비디오 애플리케이션에 대한 스케줄러 우선순위를 증가시킬 수 있거나 품질이 임계값 위에 있으면 다른 애플리케이션에 자원을 재할당할 수 있다.
앱-에이전트 협력형 통신은 스케줄링 확인응답에서 사용될 수 있다. 앱-에이전트 협력형 통신으로부터의 정보는, 예를 들어, TCP 확인응답(ACK) 메시지를 스케줄링하는데 사용될 수 있다. 업링크 상의 TCP ACK 메시지의 개선된 스케줄링은 그 전송 및 접속 프로토콜 중 하나로서 TCP를 사용하여 애플리케이션에 대해 멎음 또는 다운링크 데이터 기아를 야기할 수 있는 상태를 회피 또는 시정할 수 있다. 액세스 노드는 액세스 노드가 단말 노드에 업링크 대역폭을 할당할 때 TCP ACK 메시지의 타이밍에 대한 정보를 사용할 수 있다. 협력형 애플리케이션이 TCP ACK 메시지의 예상된 발생에 관한 정보를 제공하면 TCP ACK 메시지에 대한 업링크 대역폭 할당의 더 정밀한 타이밍이 가능할 수 있다. 대역폭 할당에 사용되는 통신 대역폭은 또한 감축될 수 있다.
부가적으로, 변조 및 코딩 스킴의 강건함은 TCP ACK 메시지가 예상될 때 증가될 수 있다. 대안으로, 협력형 애플리케이션은 멎음 또는 동결을 방지하기 위하여 데이터가 수신되지 않았더라도 타임아웃 후에 TCP ACK 메시지를 보낼 수 있다. 타임아웃 발생은, 예를 들어, 장래 성능을 개선하도록 스케줄러 파라미터를 조절하는데 사용하기 위해 애플리케이션 에이전트에 보고될 수 있다. 애플리케이션 에이전트는 정체 조건을 애플리케이션에 보고하여 그것이 데이터가 수신되지 않았더라도 타임아웃 후에 TCP ACK 메시지를 보내도록 그 타임아웃 임계값을 변경 가능하게 할 수 있다. 임계값을 변경하는 것은, 예를 들어, 비디오의 다음 세그먼트가 장래 정체를 회피하도록 더 낮은 레이트로 요청될 수 있고 현재 비디오 세그먼트의 나머지에 대한 동결 가능성이 높을 때 일어날 수 있다.
앱-에이전트 협력형 통신은 서비스 차별화에서 사용될 수 있다. 앱-에이전트 협력형 통신으로부터의 정보는, 예를 들어, 검출이 어렵거나 불가능하였을 서비스 시나리오를 구분하도록 사용될 수 있다. 협력형 이메일 애플리케이션은, 예를 들어, 무슨 이벤트가 이메일 동기화를 트리거링하였는지 대응하는 애플리케이션 에이전트에 나타낼 수 있다. 이메일 동기화가 타임아웃 또는 어떤 다른 머신-발생된 자극에 의해 트리거링될 때, 액세스 노드는 다운링크 데이터 및 대응하는 업링크 프로토콜을 스케줄링하는데 비교적 낮은 우선순위를 줄 수 있고, 이메일 동기화가 사용자 액션에 의해 트리거링될 때, 액세스 노드는 다운링크 데이터 및 대응하는 업링크 프로토콜을 스케줄링하는데 비교적 높은 우선순위를 줄 수 있다. 일 실시예에 있어서, 낮은 또는 높은 우선순위 배정은 스케줄러에서 서비스에 더 작거나 더 큰 AF를 적용함으로써 확립될 수 있고, 그로써 서비스에 이용가능하게 되는 자원을 증가 또는 감소시킨다. 그리하여, 더 높은 우선순위는 사용자가 기다리고 있을 때 사용되고 더 낮은 우선순위는 사용자가 기다리고 있지 않을 때 사용된다. 따라서, 단말 노드로부터 액세스 노드로의 앱-애플리케이션 협력형 통신은 통신 요청의 자극, 예를 들어, 사용자가 요청된 데이터를 기다리고 있는지에 대한 정보를 포함할 수 있다.
유사하게, 애플리케이션은 사용자가 비디오 관람을 명시적으로 요청하고 있는지(예를 들어, 사용자가 비디오 링크를 클릭하였음) 우연히 웹페이지에 매립된 비디오(예를 들어, 사용자가 우연히 매립된 비디오를 갖는 뉴스 기사로의 링크를 선택하였음)와 구분할 수 있다. 사용자가 비디오를 명시적으로 선택할 때, 비디오의 QoE는 더 중요하고 스케줄러는 앱-에이전트 협력형 통신으로부터의 정보에 기반하여 따라서 스케줄러 파라미터를 조절할 수 있다. 대조적으로, 비디오가 부차적일 때, 스케줄러는 이야기의 글에 우선순위를 더 줄 수 있다. 유사한 고려사항이, 예를 들어, 심한 정체 동안 수락 제어 결정에 사용될 수 있다.
더욱, 세션 내 다수의 미디어를 조합하는 애플리케이션은 애플리케이션 에이전트에 미디어의 상대적 중요도를 시그널링할 수 있다. 비디오 통화 애플리케이션은, 예를 들어, 세션의 음성 부분을 비디오 부분보다 더 중요하다고 여길 수 있다. 음성 부분에 대해서도 비디오 부분에 대해서도 자원이 불충분하면, 액세스 노드는 비디오 부분이 저하 또는 거부되는 한편 오디오 부분의 품질을 보존하도록 앱-에이전트 협력형 통신에서 수신된 상대적 중요도에 대한 정보를 사용할 수 있다.
앱-에이전트 협력형 통신은 트래픽 그루밍에 의해 야기되는 감축된 QoE를 회피하도록 사용될 수 있다. 단말 노드 내외로의 트래픽 레이트는 다수의 방법으로 제한될 수 있다. 트래픽 레이트 한계가 초과될 때, 트래픽 그루밍은 일부 패킷 누락 또는 지연으로 트리거링될 수 있다. 트래픽 그루밍은 단말 노드의 애플리케이션의 요구를 인식하고 있지 않은 통신 노드에서 일어날 수 있다. 그리하여 그러한 통신 노드는 QoE에 대한 효과에 관하지 않고 패킷을 지연 또는 누락시킬 것이다. 앱-에이전트 협력형 통신은 그루밍을 트리거링할 수 있는 과도한 데이터를 요청하는 것을 회피하도록 애플리케이션에 의해 사용될 수 있다. 그루밍을 트리거링하지 않음으로써, QoE는 개선될 수 있다. 통신에 대한 다른 능력이 단말 노드에 유사하게 시그널링될 수 있고, 단말 노드는 따라서 그 요청을 조절할 수 있다.
일례의 레이트 한계는 LTE 시스템이 단말 노드(LTE 명명법으로는 사용자 장비)에 적용하는 취합 최대 비트 레이트(AMBR)이다. AMBR은, 과잉 시스템 자원이 존재하더라도, 단말 노드에 할당될 수 있는 대역폭 자원을 지배한다. LTE 패킷 게이트웨이는 평균 데이터 레이트가 AMBR에 불과함을 보장하도록, 패킷을 지연 또는 폐기하여, 단말 노드로 가고 있는 데이터를 그루밍하도록 프로비저닝되는 것이 보통이다.
단말 노드에 대한 트래픽 레이트는 또한 서비스 레벨 협약(SLA)에 의해 계약상 제한될 수 있다. SLA 한계는 다양한 레벨, 예를 들어, 단말 노드, 논리 링크, 베어러 또는 커넥션에서 적용될 수 있다.
단말 노드는 그 레이트 한계에 대한 지식을 제한되어 갖고 있거나 전혀 갖고 있지 않을 수 있다. 예를 들어, 단말은 그 AMBR은 알고 있지만 SLA 한계는 그렇지 않을 수 있다. 일반적으로 개개의 애플리케이션은 레이트 한계를 알고 있지 않다. 더욱, 개개의 애플리케이션은 어느 다른 애플리케이션이 활성인지 또는 레이트 한계 대비 다른 애플리케이션의 자원 수요를 알고 있지 않을 것이다. 예를 들어, 비디오 애플리케이션은 특정 비디오 해상도가 레이트 한계 초과를 야기하고 그리하여 단말 노드 상의 모든 애플리케이션에 대해 패킷의 지연 및 폐기를 트리거링할 것인지 알고 있지 않을 수 있다.
일 실시예에 있어서, 예를 들어 도 6에 도시된 바와 같은 마스터 애플리케이션 또는 마스터 애플리케이션 에이전트는 누적 애플리케이션 자원 요청을 추적하고 레이트 한계 대비 누적 자원을 추적할 수 있다. 다른 모듈, 예를 들어, 단말 노드의 운영 체제의 일부분 또는 RAN 프로토콜 스택의 일부분(예를 들어, LTE에 대해 라디오 자원 제어(RRC) 또는 라디오 자원 관리(RRM))이 애플리케이션에 의한 사용을 위해 누적 애플리케이션 자원 요청을 추적할 수 있다. 협력형 애플리케이션은 이용가능한 남아있는 데이터 레이트를 결정하고 데이터에 대한 그 요청을 안내하는데 레이트 정보를 사용하도록 마스터 애플리케이션, 마스터 애플리케이션 에이전트 또는 다른 모듈과 통신할 수 있다. 다양한 실시예에 있어서, 누적 자원 요청은 액세스 노드 또는 단말 노드에서 추적될 수 있다. 애플리케이션이 자원 할당 및 레이트 한계 정보를 결정하는 메커니즘은 어디서 정보가 이용가능한지에 따라 달라진다. 예를 들어, 애플리케이션은 단말 노드에 대한 자원 이용 및 레이트 한계 및 그 활성 애플리케이션 모음을 추적하는 RAN 프로토콜 스택 내 모듈과 통신하는 애플리케이션 에이전트와 통신할 수 있다.
앱-에이전트 협력형 통신은 통신 네트워크의 성능을 분석하도록 사용될 수 있다. 성능과 관련된 정보는 앱-에이전트 협력형 통신으로부터 수집될 수 있다. 예를 들어, 애플리케이션이 비디오 멎음, 오디오 멎음 또는 버퍼 언더-런에 대한 정보를 통신할 때, 정보는 단말 노드, 액세스 노드 및 통신 시스템의 다른 구역의 성능을 분석하도록 사용될 수 있다. 애플리케이션은 부가적으로는 각각의 비디오 또는 오디오 세션의 재생, 시작 및 정지 시간의 연대표 또는 재생 멎음의 수 및 듀레이션을 통신할 수 있다. 애플리케이션은, 예를 들어, 평균평가점(MOS)의 형태로 비디오 또는 오디오 재생 품질의 추정치를 통신할 수 있다. 부가적으로, 애플리케이션은 단말 노드에서 측정된 패킷-레벨 서비스 품질(QoS) 메트릭, 예를 들어, 패킷 지연 및 지터를 통신할 수 있다. 또한 애플리케이션은 네트워크 성능에 대한 심한 불만, 예를 들어, 한번 이상의 브라우저 또는 애플리케이션 리프레시, 동일 링크 또는 커맨드에 대한 중복 '클릭' 또는 '터치', 또는 불량 네트워크 품질 또는 불량 애플리케이션 응답성의 기간에 뒤이어 애플리케이션의 사용자 셧다운을 시그널링할 수 있는 사용자-레벨 (인간의) 액션을 보고할 수 있다. 다양한 정보는 여러 다른 애플리케이션 또는 애플리케이션의 여러 다른 혼합에 대해 수용가능한 정체 레벨을 결정하도록 사용될 수 있다. 정보는 또한 언제 더 많은 자원을 네트워크에 부가할지 결정하도록 오퍼레이터에 의해 사용될 수 있다.
앱-에이전트 협력형 통신은 많은 다른 유형의 정보에 대해 사용될 수 있고, 많은 다른 유형의 애플리케이션과 사용될 수 있고, 많은 다른 태양의 통신 네트워크를 개선하도록 사용될 수 있음이 이들 예로부터 명확하다.
도 7은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 통신 시스템의 블록 선도이다. 단말 노드(755)는 애플리케이션(751)을 호스팅한다. 애플리케이션(751)은 단말 노드(755)의 사용자에게 서비스의 제공을 용이하게 하도록 애플리케이션 서버(790)와 통신할 수 있다. 통신 시스템의 다양한 엘리먼트는 위에서 설명된 유사한 명칭의 엘리먼트와 동일 또는 유사할 수 있다.
도 7에 도시된 통신 시스템 내 단말 노드(755)는 라디오 링크(720)를 통해 액세스 노드(775)와 통신한다. 액세스 노드(775)는 게이트웨이 노드(795)에 접속되어 있다. 게이트웨이 노드(795)는 라우터 노드(793)로의 접속성을 통해 인터넷으로의 액세스를 제공한다. 라우터 노드(793)는 애플리케이션 서버(790)로의 액세스를 제공한다. 그리하여, 애플리케이션(751)은 액세스 노드(775), 게이트웨이 노드(795) 및 라우터 노드(793)를 통해 애플리케이션 데이터 경로(701)를 사용하여 애플리케이션 서버(790)와 통신할 수 있다. 애플리케이션 데이터 경로(701)는 애플리케이션 사용자 데이터(예를 들어, 비디오 데이터) 및 애플리케이션 제어 데이터(예를 들어, 가능한 가용 비디오 및 그들 포맷에 관한 정보)를 전송한다. 액세스 노드(775)는 애플리케이션 데이터 경로(701) 상의 통신에 대한 브리지로서 역할하여, 그것을 단말 노드(755)와 통신 시스템 내 다음 노드 간 넘겨준다.
애플리케이션(751)은 또한 앱-에이전트 협력형 통신 제어 경로(703)를 사용하여 액세스 노드(775) 내 애플리케이션 에이전트(770)와 통신한다. 앱-에이전트 협력형 통신 제어 경로(703)는 라디오 링크(720)를 통하여 송신된다. 애플리케이션(751)과 애플리케이션 에이전트(770) 간 앱-에이전트 협력형 통신 제어 경로(703) 상의 통신은, 예를 들어, 스케줄링, 수락 제어, 효율 및 응답성을 개선하도록 사용될 수 있다.
도 8은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 다른 통신 시스템의 블록 선도이다. 도 8의 통신 시스템은 도 7의 통신 시스템과 유사하고, 도 7의 통신 시스템 내 유사-명칭의 디바이스에 대응하는 단말 노드(855), 액세스 노드(875), 게이트웨이 노드(895), 라우터 노드(893), 및 애플리케이션 서버(890)를 포함한다. 단말 노드(855)는 라디오 링크(820)를 통하여 액세스 노드(875)와 통신한다. 액세스 노드(875)는 게이트웨이 노드(895)에 접속되어 있다. 게이트웨이 노드(895)는 라우터 노드(893)로의 접속성을 통해 인터넷으로의 액세스를 제공한다. 라우터 노드(893)는 애플리케이션 서버(890)로의 액세스를 제공한다.
단말 노드(855) 내 애플리케이션(851)은 액세스 노드(875), 게이트웨이 노드(895) 및 라우터 노드(893)를 통해 애플리케이션 데이터 경로(801)를 사용하여 애플리케이션 서버(890)와 통신할 수 있다. 애플리케이션(851)은 또한 앱-에이전트 협력형 통신 제어 경로(803)를 사용하여 애플리케이션 에이전트(870)와 통신한다. 도 8의 통신 시스템에 있어서, 애플리케이션 에이전트(870)는 게이트웨이 노드(895)에 있다. 애플리케이션 에이전트(870)로부터의 정보는 액세스 노드(875)에 제공될 수 있다. 앱-에이전트 협력형 정보는, 예를 들어, 액세스 노드(875) 내 스케줄러 및 자원 제어 모듈에 공급될 수 있다. 액세스 노드(875)는, 예를 들어, 스케줄링, 수락 제어, 효율 및 응답성을 개선하도록 앱-에이전트 협력형 정보를 사용할 수 있다.
다른 실시예에 있어서, 애플리케이션 에이전트는 라우터 노드(893)에 또는 다른 네트워크 노드에 위치하고 있을 수 있다. 애플리케이션 에이전트의 기능은 또한 다수의 디바이스에 걸쳐 분산되어 있을 수 있다.
부가적으로, 앱-에이전트 협력형 통신 제어 경로(803)가 IP 경로를 통하여 있으면, 그 경로는 부가적 통신 노드를 통해서일 수 있다. 예를 들어, 협력형 통신은 라우터 노드(893)를 통해 라우팅될 수 있다. 액세스 노드(875) 밖에 애플리케이션 에이전트를 위치시키는 것은 액세스 노드(875)에서의 업링크 패킷 검사 요건을 없애거나 줄일 수 있다. 원격으로 위치하는 애플리케이션 에이전트는 또한 다수의 액세스 노드에 대하여 기능을 수행할 수 있다.
도 9는 본 발명의 태양에 따른 패킷 검사 모듈의 블록 선도이다. 도 4의 액세스 노드(475)의 패킷 검사 모듈(429)은, 예를 들어, 도 9의 패킷 검사 모듈에 의해 제공될 수 있다. 패킷 검사 모듈은, 일 실시예에서는, DL 앱-에이전트 협력형 통신 메시지의 배치를 검출 및 결정하도록 도 4의 단말 노드(455)에 포함되어 있다. 패킷 검사 모듈은, 예를 들어, 메시지가 무시되어야 한다고 또는 메시지가 마스터 애플리케이션 또는 더 구체적 애플리케이션 중 하나에 보내져야 한다고 결정할 수 있다. 패킷 검사 모듈은 코어 네트워크 또는 인터넷에 거주하는, 애플리케이션 서버와 같은, 다른 엔티티와 RAN 프로토콜 스택 간 데이터 경로에서 사용될 수 있다.
업링크 데이터는 (예를 들어, 라디오 링크 상에서) 제1 경로(921)를 통하여 패킷 검사 모듈로 오고 (예를 들어, 백홀 커넥션 상에서) 제2 경로(922)를 통하여 패킷 검사 모듈로부터 포워딩될 수 있다. 다운링크 데이터는 제2 경로(922)를 통하여 패킷 검사 모듈로 오고 제1 경로(921)를 통하여 패킷 검사 모듈로부터 포워딩될 수 있다.
패킷 검사 모듈은 제1 경로(921) 및 제2 경로(922) 상의 트래픽을 모니터링할 수 있는 트래픽 모니터링 모듈(925)을 포함한다. 트래픽 모니터링 모듈(925)은 애플리케이션 에이전트를 수신지로 하는 애플리케이션으로부터의 앱-에이전트 협력형 통신을 식별한다. 특히, 트래픽 모니터링 모듈(925)은 앱-에이전트 협력형 통신을 식별하도록 제1 경로(921) 상의 업링크 트래픽을 모니터링할 수 있다. 앱-에이전트 협력형 통신은, 예를 들어, IP 주소를 사용하여 식별될 수 있다. 예를 들어, 트래픽 모니터링 모듈(925) 및 협력형 통신 검출 모듈(928)은 앱-에이전트 협력형 통신에 배정된 멀티캐스트 또는 브로드캐스트 소스 또는 수신지 주소가 들어있는 그들 UL 패킷을 검출함으로써 앱-에이전트 협력형 통신을 식별하도록 패킷 검사를 사용할 수 있다. 이러한 검출은 위에서 설명된 멀티캐스트 또는 브로드캐스트 방법과 사용될 수 있다.
패킷 검사 모듈은, 대안으로 또는 부가적으로, 다른 트래픽에 의해 사용되지 않는 또는 앱-에이전트 협력형 통신에 명시적으로 배정되는 하나 이상의 고유 TCP/UDP 소스 또는 수신지 포트 번호의 검출을 통해 앱-에이전트 협력형 통신을 식별할 수 있다. 이러한 기술은 UL 및 DL 앱-에이전트 협력형 통신 둘 다에 적용될 수 있다. 단일 특정 애플리케이션과 특정 애플리케이션 에이전트, 특정 애플리케이션 그룹과 특정 애플리케이션 에이전트 그룹, 그리고 다양한 조합 간 협력형 통신의 소스 또는 수신지를 식별하도록 단일 고유 포트 번호가 사용될 수 있다.
일 실시예에 있어서, 트래픽 모니터링 모듈(925)은 도 5의 액세스 노드(575) 내 패킷 검사 모듈(529)에 의해 제공되고 (예를 들어, 단말 노드(555) 내 전송 및 접속 프로토콜 모듈(550')에 의해 설정된) 고유 IP 데이터그램 프로토콜 유형의 사용을 검출함으로써 UL 앱-에이전트 협력형 통신을 검출할 수 있다. 예를 들어, 프로토콜 유형은 미배정된 값(예를 들어, 143과 252 사이의 수)으로 설정될 수 있다. 유사한 방법이 DL 앱-에이전트 협력형 통신을 검출하도록 사용될 수 있다.
다양한 실시예에 있어서, IP 주소, 소스 포트, 수신지 포트 및 프로토콜 유형의 다양한 조합이 UL 및 DL 앱-에이전트 협력형 통신의 목적으로 고유 커넥션을 생성하도록 사용된다.
트래픽 모니터링 모듈(925)은 또한 다른 목적으로 패킷 검사 모듈에서의 트래픽을 모니터링할 수 있고, 패킷 검사 모듈은 다른 목적을 다루도록 다른 논리 모듈(927)을 포함할 수 있다. 패킷 검사 모듈은 또한 제1 및 제2 경로 상의 트래픽과 연관된 애플리케이션에 대한 정보를 검출할 수 있다. 패킷 검사, 트래픽 모니터링 및 애플리케이션-인식 통신 시스템이 추가적 예들은 2012년 7월 13일자로 출원된 미국 특허 출원 제13/549,106호(발명의 명칭: "Systems and Methods for Detection for Prioritizing and Scheduling Packets in a Communication Network"), 2012년 5월 1일자로 출원된 미국 가출원 제61/640,984호(발명의 명칭: "Application Aware Admission Control") 및 2012년 10월 4일자로 출원된 미국 특허 출원 제13/644,650호(발명의 명칭: "Congestion Induced Video Scaling")에서 찾아볼 수 있으며, 그들은 참조에 의해 여기에 편입되는 것이다.
다른 논리 모듈(927)은 애플리케이션 데이터 트래픽에 사용되는 IP 주소, 포트 번호 및 프로토콜 유형을 추적할 수 있다. 예를 들어, 도 5의 통신 네트워크에 있어서, 다른 논리 모듈(927)은 애플리케이션 데이터 경로(501) 상에서 IP 주소, 포트 번호 및 프로토콜 유형을 추적할 수 있다. 다른 논리 모듈(927)은 앱-에이전트 협력형 통신에 사용되는 IP 주소, 포트 번호 및 프로토콜 유형과 애플리케이션 데이터 트래픽에 사용되는 IP 주소, 포트 번호 및 프로토콜 유형 간 상충을 검출할 수 있다. 앱-에이전트 협력형 통신에 의해 사용되는 IP 주소, 포트 번호 및 프로토콜 유형의 조합이 애플리케이션 데이터 트래픽에 의해 사용되는 조합과 동일한 경우에, 다른 논리 모듈(927)은 새로운 미사용 조합을 선택하고 이러한 새로운 조합을 영향받은 단말 노드에 통신할 수 있다. 새로운 조합은 네트워크 오퍼레이터에 의해 제공된 리스트로부터 선택될 수 있다.
앱-에이전트 협력형 통신 트래픽은 협력형 통신 검출 모듈(928)로 전환된다. 앱-에이전트 협력형 통신 트래픽은 트래픽 모니터링 모듈(925)에 의해 전환될 수 있다. 협력형 통신 검출 모듈(928)은 앱-에이전트 협력형 통신 상에 추가적 프로세싱을 제공한다. 추가적 프로세싱의 일례는 트래픽을 적합한 애플리케이션 에이전트에 트래픽을 포워딩하는 것이다. 추가적 프로세싱은 또한, 예를 들어, 협력형 통신 검출 모듈(928)이 그에 포워딩된 트래픽이 패킷 검사 모듈과 연관된 애플리케이션 에이전트에 대한 것이 아니라고 결정할 때에는 프로세싱 없음을 포함할 수 있다.
도 9에 예시된 바와 같은 패킷 검사 모듈은 상태 모듈(926)을 포함할 수 있다. 상태 모듈(926)은 애플리케이션과 애플리케이션 에이전트 간 접속성의 인스턴스에 관한 정보를 추적할 수 있다. 정보는, 예를 들어, 상태(예를 들어, 접속, 접속해제, 활성, 유휴), 현재 자원 예상치, 및 이력 데이터(예를 들어, 사용된 자원 대비 요청된 자원)를 포함할 수 있다.
다른 태양에 있어서, 시스템, 방법 및 디바이스는 그러한 애플리케이션의 사용자에 대해 체감 품질을 증가시키도록 사용자 장비에서 동작하는, 다른 특정 애플리케이션뿐만 아니라, 협력형 특정 애플리케이션의 관리에 대해 설명된다. 도 10은 본 발명의 태양에 따른 체감 품질 매니저 모듈을 포함하는 일례의 통신 네트워크 환경의 블록 선도이다. 도 10에 있어서, 통신 네트워크 환경은 하나 이상의 컨텐트 서버(1010)가 제공될 수 있는 인터넷(1000)을 포함할 수 있다. 그러한 컨텐트 서버는 최종 사용자에게 웹 페이지, 사진, 비디오, 파일 등을 제공하는 제3자 컨텐트 서버일 수도 있고, 가입에 의해서와 같이 제한된 최종 사용자 그룹에 그러한 정보를 제공하는 프라이빗 컨텐트 서버일 수도 있다. 통신 네트워크 환경은, 도 10에 도시된 예에서는, PDN 게이트웨이(P-GW)(1030), 서빙 게이트웨이(S-GW)(1040), 이동성 관리 엔티티(MME)(1060) 및 하나 이상의 액세스 노드(AN)(1050)를 또한 포함하는 네트워크 아키텍처에 포함되어 있는 체감 품질(QoE) 매니저 모듈(1020)을 더 포함할 수 있다. 각각의 액세스 노드(AN)(1050)는, 액세스 노드와 단말 노드 간 통신 링크를 통하여, TN1(1071) 및 TN2(1072)와 같은, 하나 이상의 단말 노드(TN)와 통신할 수 있으며, 여기서 통신 링크는 무선 통신 링크 또는 유선 통신 링크일 수 있다. 무선 통신 링크는 CDMA, OFDM, LTE, WiMAX 등과 같은 여러 기지의 무선 통신 프로토콜 중 어느 하나에 따라 동작할 수 있다. 유사하게, 유선 통신 링크는 이더넷, DOCSIS, DSL(digital subscriber line), FTTH(fiber to the home), HFC(hybrid fiber coax) 등과 같은 여러 기지의 유선 통신 방법 중 어느 하나에 따라 동작할 수 있다.
도 10에 도시된 예시적 통신 네트워크 환경에 있어서, TN(1071, 1072)에서 동작하는 특정 애플리케이션은 그러한 애플리케이션의 사용자에 대한 체감 품질을 유지 또는 증가시키도록 관리된다. 일례의 구성에 있어서, 마스터 애플리케이션(도 10에 도시하지 않음)은 TN(1071, 1072)의 각각에서 동작하되, 마스터 애플리케이션은 TN에 보내지고 있는 다운링크 데이터 스트림의 애플리케이션 다운링크 스트림 활동을 검출 및 특징짓고 현재 단말 노드 상태를 특징짓도록 동작한다. 그 후 마스터 애플리케이션은 각각의 검출된 다운링크 데이터 스트림에 대한 스트림 중요도 메트릭 및 스트림 품질 메트릭을 결정한다. 도 10의 예시적 구성에 있어서, 그 후 마스터 애플리케이션은 그 단말 노드와 연관된 각각의 검출된 다운링크 데이터 스트림에 대한 스트림 중요도 메트릭 및 스트림 품질 메트릭을 액세스 노드(1050)를 통하여 클라우드-기반 QoE 매니저 모듈(1020)에 보낸다. QoE 매니저 모듈(1020)이 도 10에서는 P-GW(1030)와 인터넷(1000) 사이에 위치결정되어 있지만, 다른 태양에서는, 예를 들어, QoE 매니저 모듈(1020)이 S-GW(1040)와 액세스 노드(1050) 사이와 같이 통신 네트워크 환경 내 다른 위치에 위치결정될 수 있음을 인식해야 한다. 일 태양에 있어서, QoE 매니저 모듈(1020)은 QoE 매니저 모듈(1020)이 QoE 매니저 모듈(1020)에 의해 관리되고 있는 특정 애플리케이션을 갖는, TN(1071, 1072)의 각각과 같은, 단말 노드의 각각으로의 그리고/또는 그로부터의 데이터 스트림 트래픽을 모니터링, 액세스, 복사 및/또는 인터셉트 가능하게 하는 통신 네트워크 환경 내 소정 위치에 위치결정될 수 있다. 이에 관하여, 본 발명의 태양에 의하면, QoE 매니저 모듈(1020)은 관리되는 특정 애플리케이션과 관련된 다운링크 및/또는 업링크 데이터 스트림을 관리할 수 있다. 부가적으로, QoE 매니저 모듈(1020)에 관하여 설명된 기능성은, 예를 들어, 전적으로 P-GW(1030) 내와 같은 통신 네트워크 환경 내 수개의 디바이스 중에 분산되거나 또는 P-GW(1030), S-GW(1040), 액세스 노드(1050) 및/또는 다른 디바이스 및 모듈 중 어느 중에 분산될 수 있다.
QoE 매니저 모듈(1020)은 각각의 단말 노드와 연관된 각각의 검출된 다운링크 데이터 스트림에 대한 스트림 중요도 메트릭 및 스트림 품질 메트릭을 액세스 노드(1050)를 통하여 수신한다. 이러한 방식으로, QoE 매니저 모듈(1020)은 모든 단말 노드로부터 이 정보를 수집하고, 단말 노드의 각각을 각각의 액세스 노드와 연관된 셀에 매핑한다. 일 태양에 있어서, QoE 매니저 모듈(1020)은 이러한 수집된 정보를 사용하여 각각의 셀에 대한 종합적 셀 품질 메트릭을 결정하고, 종합적 셀 품질 메트릭이 임계값 아래에 있으면, QoE 매니저 모듈(1020)은 각각의 데이터 스트림에 대한 스트림 중요도 메트릭 및 스트림 품질 메트릭에 기반하여 단말 노드 중 하나 이상과 연관된 하나 이상의 데이터 스트림에 대한 경감 옵션을 결정한다. 경감 옵션은 예를 들어 데이터 스트림에서 보내지는 데이터 패킷을 감축 또는 정지하는 것과 같은 많은 옵션 중 하나일 수 있거나, 데이터 스트림 중 어느 것에 대해 어떠한 현재 액션도 취하지 않고 상태를 계속 모니터링하는 것일 수 있다. 일부 태양에 있어서, 경감 옵션은 QoE 매니저 모듈(1020)에서든(예를 들어, 트래픽 그루밍, 패킷 폐기 및/또는 지연) 또는 경감 옵션이 적용되는 데이터 스트림과 연관된 단말 노드에서든(예를 들어, 패킷 폐기 및/또는 지연), 또는 QoE 매니저 모듈(1020)과 단말 노드 둘 다에서든 수행될 수 있다. 이러한 방식으로, 예를 들어, QoE 매니저 모듈(1020)은 소정 액세스 노드(예를 들어, RAN 셀)와 연관된 단말 노드와 연관된 특정 애플리케이션의 사용자에 대한 체감 품질을 유지 또는 증가시키려 시도할 수 있다. 태양들에 있어서, 예를 들어, QoE 매니저 모듈(1020)은 소정 액세스 노드(예를 들어, RAN 셀)와 연관된 모든 단말 노드에 걸쳐 검출된 데이터 스트림에 대한 또는 특정 단말 노드와 연관된 검출된 데이터 스트림에 대한 체감 품질을 최적화하려 시도할 수 있다.
도 11은 본 발명의 다른 태양에 따른 체감 품질 매니저 모듈을 포함하는 일례의 통신 네트워크 환경의 블록 선도이다. 위에서 언급된 바와 같이, 도 10에 도시된 QoE 매니저 모듈(1020)은 통신 네트워크 환경 내 다른 위치에 위치결정될 수 있다. 도 11에 있어서, QoE 매니저 모듈(1120)은, 예를 들어, 하나 이상의 컨텐트 서버(1110)가 또한 위치하고 있을 수 있는 인터넷(1100)에 제공될 수 있다. PDN 게이트웨이(P-GW)(1130), 서빙 게이트웨이(S-GW)(1140), 이동성 관리 엔티티(MME)(1160) 및 하나 이상의 액세스 노드(AN)(1150)와 같은 다른 네트워크 노드가 인터넷(1100)과 통신하고 있는 모바일 기반구조(1190)에 제공된다. 각각의 액세스 노드(AN)(1150)는, 액세스 노드와 단말 노드 간 통신 링크를 통하여, TN1(1171) 및 TN2(1172)와 같은 하나 이상의 단말 노드(TN)와 통신할 수 있으며, 여기서 통신 링크는 도 10에 관하여 위에서 설명된 바와 같이 무선 통신 링크 또는 유선 통신 링크일 수 있다. 도 11의 QoE 매니저 모듈(1120)은 도 10에 관하여 위에서 설명된 것과 유사한 방식으로 동작할 수 있지만, P-GW(1130), S-GW(1140), MME(1160) 및 액세스 노드(들)(1150)를 포함하는 모바일 기반구조의 일부분은 아니다.
위에서 언급된 바와 같이, 마스터 애플리케이션 모듈은 통신 환경 내 각각의 단말 노드에서 동작할 수 있다. 일 태양에 있어서, 마스터 애플리케이션 모듈은 특정 애플리케이션과 TCP/IP 스택 사이에서 단말 노드에 위치하고 있을 수 있고, 특정 애플리케이션과 관련된 애플리케이션 데이터 스트림을 모니터링 및 관리하도록 사용될 수 있다. 일 태양에 있어서, 마스터 애플리케이션 모듈은 특정 애플리케이션과 운영 체제 사이에서 별개 계층에 위치하고 있을 수 있거나, 운영 체제의 일부분으로서 구현될 수 있다.
애플리케이션 데이터 스트림은 단말 노드에서 동작하고 있는 특정 애플리케이션을 지원하는 그 단말 노드 내/외로의 통신 데이터의 흐름일 수 있다. 예를 들어, 애플리케이션 데이터 스트림은 액세스 노드를 통하여 컨텐트 서버로부터 단말 노드로 비디오 데이터 패킷의 흐름일 수 있으며, 애플리케이션 데이터 스트림은 단말 노드에서 동작하고 있는 비디오 애플리케이션을 지원하고 있다. 태양들에 있어서, 하나보다 많은 애플리케이션 데이터 스트림이 단말 노드에서 동작하고 있는 특정 애플리케이션의 단일 인스턴스와 연관될 수 있다. 단말 노드에서 동작하고 있는 특정 애플리케이션은 마스터 애플리케이션 모듈과 통신 및 조정하는 협력형 특정 애플리케이션일 수 있거나, 마스터 애플리케이션 모듈과 통신 또는 조정하지 않은 비-협력형 특정 애플리케이션일 수 있다. 일례의 태양에 있어서, 단말 노드 내 마스터 애플리케이션 모듈은 TCP와 HTTP 스택 사이 어느 포인트에서 TCP 패킷을 모니터링하고 그리고/또는 액세스할 수 있으며, 여기서 TCP 패킷은 단말 노드에서 동작하고 있는 특정 애플리케이션을 지원하고 있는 데이터 패킷이다. 단말 노드 내 마스터 애플리케이션 모듈은 또한 단말 노드의 애플리케이션 계층에서 동작하고 있는 협력형 특정 애플리케이션과 인터페이싱하여 그로써 특정 애플리케이션으로부터 정보를 획득하고 그리고/또는 특정 애플리케이션에 명령어 및/또는 데이터를 보낼 수 있다. 이에 관하여, 여기에서 설명되는 마스터 애플리케이션 모듈의 기능 일부 또는 전부는 옵션으로서는 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션 중 일부 또는 전부에 위치하고 있을 수 있다.
도 12는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도이다. 도 12에 있어서, 마스터 애플리케이션 모듈(1200)의 일례의 실시예에는 데이터, 정보 및/또는 명령어 및 커맨드를 공유하도록 서로 통신하고 있는 수개의 모듈이 들어있다. 일 태양에 있어서, 마스터 애플리케이션 모듈(1200)의 그 예의 실시예는, 국한되는 것은 아니지만, 단말 노드(TN) 인터페이스 모듈(1210), 특성 평가 모듈(1220), 스트림 메트릭 결정 모듈(1230), 다른 로직(1240), 스트림 검출 및 분류 모듈(1250), QoE 매니저 통신 모듈(1260), QoE 응답 모듈(1270) 및 트래픽 인터페이스 모듈(1280)을 포함하는 수개의 모듈이 들어있다.
일례의 태양에 있어서, 단말 노드 인터페이스 모듈(1210)은 단말 노드에서 동작하는 협력형 특정 애플리케이션과 통신하도록 그리고 특정 애플리케이션과 연관되어 있는 각각의 검출된 데이터 스트림에 대한 데이터 스트림 품질을 계산하는데 사용되는 현재 애플리케이션 특성 및 메트릭을 결정하도록 단말 노드의 애플리케이션 계층과 인터페이싱한다. 또한 단말 노드 인터페이스 모듈(1210)은 검출된 애플리케이션 데이터 스트림 스트림에 대한 서비스 품질(QoS) 및 셀 아이디(ID) 정보(예를 들어, QCI 및 Cell_ID)를 획득하도록, 예를 들어 LTE-기반 시스템 내 LTE Uu 스택과 같은, 단말 노드의 네트워크 인터페이스와 인터페이싱할 수 있다. 예를 들어, 그러한 정보는 각각의 검출된 애플리케이션 데이터 스트림에 대하여 또는 검출된 스트림의 각각의 그룹에 대하여 획득될 수 있다. 이에 관하여, 이들 기능을 수행하는 것은 반드시 각각의 데이터 스트림마다에 적용되는 것은 아닐 수 있고, 대신에 데이터 스트림의 서브세트(일부 또는 전부)의 각각에 적용될 수 있다. 단말 노드 인터페이스 모듈(1210)은 또한, 예를 들어, 단말 노드 특성 및 다른 애플리케이션 특성을 획득하도록 다른 단말 노드 서비스와 인터페이싱하여, 예를 들어 어느 특정 애플리케이션이 디스플레이 전경에 있는지 운영 체제로부터 결정할 수 있다. 일 태양에 있어서, 단말 노드 인터페이스 모듈(1210)은 또한, 아래에 더 상세히 논의되는 바와 같이, 경감 액션을 구현하도록 사용될 수 있다.
일례의 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 단말 노드 인터페이스 모듈(1210)로부터 데이터 패킷을 수신하고 그들을 검사하여 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관되어 있는 데이터 스트림에 그들이 속하는지 결정하도록 기능한다. 예를 들어, 스트림 검출 및 분류 모듈(1250)은, 예를 들어 TCP/IP 커넥션의 확립과 같은 데이터 커넥션의 개시 및 종료, 및 예를 들어 새로 확립된 커넥션을 가로질러 흐르고 있는 데이터 트래픽과 같은 데이터 스트림을 검출하도록 데이터 패킷을 검사할 수 있다. 일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 식별된 데이터 스트림 중 하나 이상을 단말 노드에서 동작하고 있는 대응하는 특정 애플리케이션에 연관시킨다. 예를 들어, 스트림 검출 및 분류 모듈(1250)은 고유 TCP/IP 커넥션 상에서 각각 반송되는 3개의 식별된 HTTP 데이터 스트림을 단말 노드에서 동작하고 있는 단일 특정 애플리케이션과 연관시킬 수 있다. 데이터 패킷 검사에 기반하여, 스트림 검출 및 분류 모듈(1250)은 식별된 데이터 스트림 중 하나 이상을 애플리케이션 클래스 및/또는 특정 애플리케이션으로 분류할 수 있다. 예를 들어, 스트림 검출 및 분류 모듈(1250)은 데이터 스트림의 데이터 패킷이 비디오 데이터를 반송하고 있기 때문에 데이터 스트림을 비디오 클래스로 분류할 수 있고, 스트림 검출 및 분류 모듈(1250)은 데이터 스트림을, 데이터 스트림의 특정 특성에 기반하여, 예를 들어 넷플릭스와 같은 특정 애플리케이션으로 더 분류할 수 있다. 당업자는 데이터 스트림을 분류하는 그리고 특히 데이터 스트림 내 하나 이상의 데이터 패킷의 검사에 기반하여 그러한 분류를 결정하는 기존 방법 및 기술에 대해 알고 있을 것이다.
일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션으로부터의 애플리케이션 시그널링을 사용함으로써 위 설명된 기능을 수행할 수 있다. 예를 들어, 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션은 협력형 특정 애플리케이션이 새로운 데이터 스트림을 개시하고 있다는 표시를 스트림 검출 및 분류 모듈(1250)에 보낼 수 있고, 그 표시는 또한, 예를 들어, 새로운 데이터 스트림과 연관된 애플리케이션 클래스 및 특정 애플리케이션과 같이 새로운 데이터 스트림과 관련된 정보를 포함할 수 있다. 일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 새로운 데이터 스트림과 관련된, 예를 들어 소켓 정보와 같은, 커넥션 정보를 결정하도록 데이터 패킷 검사를 사용할 수 있다.
스트림 검출 및 분류 모듈(1250)은 기지의 데이터 패킷 검사 및 분류 기술을 사용할 수 있다. 일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 미국 특허 출원 공개 공보 제2012/0327779A1호(발명의 명칭: "Systems And Methods For Congestion Detection For Use In Prioritizing And Scheduling Packets In A Communication Network")에 설명된 데이터 패킷 검사 및 분류 기술을 사용할 수 있고, 그것은 참조에 의해 여기에 편입되는 것이다. 예를 들어, 미국 특허 출원 공개 공보 제2012/0327779A1호 중, 무엇보다도, 도 4A 내지 도 4C에 그리고 적어도 문단 [0056], [0057], [0060], [0061] 및 [0077] 내지 [0091]에 설명된 분류/큐잉 모듈에 대해 설명된 검사 및 분류 기술이 여기에서 설명되는 태양 및 실시예에서 구현될 수 있다. 일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 또한 데이터 스트림 정보 및/또는 메트릭을, 예를 들어 HTTP, TCP 및/또는 IP 헤더 정보 및 파일 메타데이터 등을 특성 평가 모듈(1220)에, 또는 예를 들어 서비스 제공되는 비트레이트를 컴퓨팅하도록 사용될 수 있는 바이트 카운터 및 패킷 도착 정보 등을 스트림 메트릭 결정 모듈(1230)에 제공할 수 있다.
일 태양에 있어서, 특성 평가 모듈(1220)은 하나 이상의 검출된 데이터 스트림과 연관되어 있는 각각의 특정 애플리케이션에 대한 현재 애플리케이션 특성 세트를 결정할 수 있다. 예를 들어, 현재 애플리케이션 특성 데이터 세트는 연관된 특정 애플리케이션이 특정 애플리케이션이 동작하고 있는 단말 노드의 사용자에 의해 개시되었는지 또는 연관된 특정 애플리케이션이 사용자 개시 없이 단말 노드 자체에 의해 개시되었는지 나타내는 개시 유형을 포함할 수 있다. 현재 애플리케이션 특성 데이터 세트는 또한 연관된 특정 애플리케이션이 현재에 연관된 단말 노드의 디스플레이의 전경에 있는지 또는 배경에 있는지의 표시를 포함할 수 있고, 또한 특정 애플리케이션이 기다리고 있는 응답이 컨텐트 서버와 같은 다른 엔티티로부터인지 또는 단말 노드의 사용자로부터인지를 포함할 수 있다. 일 태양에 있어서, 특성 평가 모듈(1220)은 그것이 특정 애플리케이션에 대한 현재 애플리케이션 특성 데이터 세트 중 일부 또는 전부를 결정할 수 있는 정보를 획득하도록 연관된 단말 노드의 운영 체제에 액세스할 수 있다. 추가적 태양에 있어서, 특성 평가 모듈(1220)은 스트림 검출 및 분류 모듈(1250)로부터 데이터 스트림 정보 및/또는 메트릭을 수신하고 특정 애플리케이션에 대한 현재 애플리케이션 특성 데이터 세트 중 일부 또는 전부의 그 결정에 있어서 이러한 정보 및/또는 메트릭을 사용할 수 있다. 일 태양에 있어서, 특성 평가 모듈(1220)은 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션으로부터 간접적으로 또는 직접적으로 애플리케이션 정보를 수신하고 그 후 그 특정 애플리케이션에 대한 현재 애플리케이션 특성 데이터 세트 중 일부 또는 전부의 결정에 있어서 이러한 정보를 사용할 수 있다.
일 태양에 있어서, 특성 평가 모듈(1220)에 의해 결정된 현재 애플리케이션 특성 데이터 세트는 다음 중 하나 이상을 포함할 수 있다:
- 애플리케이션 클래스 메트릭:
Figure pat00003
예시값: 대화형 음성, 대화형 비디오, 스트리밍 오디오, 스트리밍 빕디오, 양방향성 게이밍, 브라우저 데이터, 네이티브 애플리케이션 데이터, 및 모름
Figure pat00004
결정: 대역-내 패킷 검사 기술(위에서 설명함)이 트래픽 인터페이스 모듈(1280)을 통하여 모니터링된 데이터 패킷에 적용될 수 있다
- 스트림 개시 메트릭:
Figure pat00005
예시값: 사용자에 의한 개시 및 머신에 의한 개시
Figure pat00006
결정: 스트림 개시 유형의 메트릭은 연관된 협력형 특정 애플리케이션으로부터 수신될 수 있다. 다른 일 태양에 있어서, 이것은 데이터 스트림과 연관된 결정된 애플리케이션 클래스로부터 추론될 수 있다(예를 들어, 단일 스트리밍 비디오 스트림을 갖는 특정 애플리케이션은 사용자에 의해 개시된다고 상정될 수 있다). 데이터 스트림의 개시는 대응하는 특정 애플리케이션의 개시와 똑같을 수도 있고 그렇지 않을 수도 있음을 유념해야 한다. 예를 들어, 사용자-개시된 특정 애플리케이션은 사용자에 의해 개시되는 푸시-업데이트를 가질 수도 있고 또한 머신에 의해 개시되는 용례 보고를 가질 수도 있다(특정 애플리케이션의 개시와는 별개임).
- 사용자 인터페이스(UI) 업데이트 계류중 메트릭:
Figure pat00007
예시값: 계류중, 계류중 아님, 적용불가
Figure pat00008
결정: 이것은 데이터 스트림이 현재, 스크린 리프레시와 같은, 계류중 UI 업데이트와 연관되어 있는지 여부를 가리킨다. UI 업데이트 계류중의 표시는, 예를 들어 인터넷 브라우저 또는 네이티브 애플리케이션과 같은, 연관된 협력형 특정 애플리케이션으로부터 수신될 수 있다. 이것은 또한 애플리케이션 데이터 스트림 내 데이터 패킷으로부터 파싱될 수 있다. 이러한 표시는, 예를 들어 대화형 음성과 같이, 모든 애플리케이션 클래스에 적용가능한 것은 아닐 수 있음을 유념한다.
- 디스플레이 위치 메트릭:
Figure pat00009
예시값: 전경, 배경
Figure pat00010
결정: 이러한 메트릭은 애플리케이션 데이터 스트림과 연관된 특정 애플리케이션이 단말 노드 상에서 UI 배경에서 디스플레이되고 있는지 또는 전경에서 디스플레이되고 있는지를 가리킨다. 디스플레이 위치는 연관된 협력형 특정 애플리케이션으로부터 수신될 수 있다. 또한, 디스플레이 위치 표시는 단말 노드 내 운영 체제로부터 획득될 수 있다.
- 네트워크 서비스 품질(QoS) 메트릭:
Figure pat00011
예시값: QCI = 1-9
Figure pat00012
결정: 이러한 메트릭은, 단말 노드 인터페이스 모듈(1210)을 통하여, 단말 노드 내 네트워크 스택(예를 들어, LTE Uu 스택)으로부터 획득될 수 있다. 국한되는 것은 아니지만, 보증 비트 레이트(GBR) 클래스 또는 비-보증 비트 레이트(비-GBR) 클래스와 같이 QoS에 대한 대안이 사용될 수 있다.
- 버퍼 마진 메트릭:
Figure pat00013
예시값: 0 = 모름, 1-15값(8 = 중립)
Figure pat00014
결정: 버퍼 마진 메트릭은 데이터 스트리밍 서비스에 대한 버퍼 점유율(BO) 마진을 가리킨다. 이러한 메트릭은 연관된 협력형 특정 애플리케이션으로부터 획득될 수 있다. 비디오 스트리밍의 경우에, 메트릭은 BO 추정을 사용함으로써 결정될 수 있다. 예를 들어, BO 추정은 미국 특허 출원 제13/789,462호(발명의 명칭: "Systems And Methods For Using Client-Side Video Buffer Occupancy For Enhanced Quality Of Experience In A Communication Network")에 설명된 방법 및 기술을 사용함으로써 획득될 수 있으며, 그것은 참조에 의해 여기에 편입되는 것이다. 스트리밍 오디오 BO 추정은 유사한 기술을 통하여 획득될 수 있다.
일례의 태양에 있어서, 특성 평가 모듈(1220)은 또한 단말 노드에 대한 단말 노드 특성 데이터 세트를 결정할 수 있고, 그것은 단말 노드의 상태와 관련된 현재 특성 데이터를 포함할 수 있다. 단말 노드 특성 데이터 세트는, 국한되는 것은 아니지만, 연관된 단말 노드에 사용자가 주고 있는 주의 레벨, 단말 노드의 사용자에 배정된 서비스 레벨 협약(SLA)을 나타내는 사용자 SLA, 및 사용되고 있는 단말 노드의 유형을 나타내는 단말 노드 유형 메트릭(예를 들어, 태블릿, 스마트폰, 피처폰, 대형 디스플레이 TV, 산업용 M2M 모듈 등)을 포함할 수 있다. 일 태양에 있어서, 특성 평가 모듈(1220)은 그것이 현재 단말 노드 특성 데이터 중 일부 또는 전부를 결정할 수 있는 정보를 획득하도록 연관된 단말 노드의 운영 체제에 액세스할 수 있다. 예를 들어, 특성 평가 모듈(1220)은, 특정 애플리케이션과 관련되어 있는 단말 노드의 그래픽 사용자 인터페이스에 의해, 수신된 사용자 입력의 유형 및 수신된 사용자 입력의 시간과 관련된 운영 체제로부터의 이력 데이터를 획득하고, 그 후 이 정보를 사용하여 특정 애플리케이션과 연관된 사용자 주의 메트릭을 결정할 수 있다. 운영 체제로부터의 다른 정보가 또한, 예를 들어, 폰 위치 또는 움직임의 표시, 단말 노드의 디스플레이가 꺼졌는지 또는 타임 아웃 되었는지의 표시, 단말 노드 내 카메라 또는 다른 센서로부터의 디스플레이의 사용자 눈 추적의 표시를 포함하는 사용자 주의 메트릭을 결정하는데 도움을 줄 수 있다. 운영 체제로부터의 그리고/또는 단말 노드로부터의 데이터 및 정보의 다른 기지의 유형이 현재 단말 노드 특성 데이터 세트의 일부 또는 전부의 결정에 이용될 수 있음을 인식해야 한다.
일 태양에 있어서, 특성 평가 모듈(1220)에 의해 결정된 현재 단말 노드 특성 데이터 세트는 다음 중 하나 이상을 포함할 수 있다:
- 사용자 주의(UA) 메트릭:
Figure pat00015
예시값: 주의, 방치, 적용불가, 모름
Figure pat00016
결정: 일 태양에 있어서, UA 메트릭에 대한 적용불가값은, 비디오 모니터링 또는 다른 머신-대-머신(M2M) 애플리케이션과 같이, 무인 특정 애플리케이션에 대하여 사용될 수 있음을 유념한다. 부가적으로, UA 메트릭은 또한 대형 스크린 스마트폰 및 태블릿과 같이 다수의 특정 애플리케이션으로부터의 정보를 동시에 디스플레이할 수 있는 그들 단말 노드 디바이스에 대한, 단말 노드 특성이라기보다는, 애플리케이션 특성일 수 있다.
Figure pat00017
위에서 논의된 바와 같이, 사용자 주의와 관련된 정보는 단말 노드의 운영 체제로부터 그리고/또는 가속도계, 카메라 등과 같은 단말 노드 내 다양한 유형의 센서로부터 획득될 수 있다. 예를 들어, 사용자가 존재하고 주의를 기울이고 있는지 평가하도록 그리고 단말 노드의 디스플레이 상의 주의의 대상을 나타내도록 전방 대향 카메라를 통하여 시선 추적(눈 추적) 정보가 획득될 수 있다. 예를 들어, 2010년 ACM 출판, 페이지 15-20, 휴대용 모바일(MobiHeld 10)에 대한 네트워킹, 시스템 및 애플리케이션에 관한 ACM SIGCOMM 워크샵 제2 절차, E.Miluzzo, T.Wang 및 A.Campbell의 "Eyephone: Activating Mobile Phones with Your Eyes"를 참조하라. 가속도계 데이터는, 단말 노드가 위로 향하고 있는지 거꾸로 있는지와 같은, 단말 노드의 오리엔테이션을 결정하도록 사용될 수 있다. 예를 들어, http://stackoverflow.com/questions/7590996/detecting-the-device-upside-down를 참조하라. 주머니-안에 있음 또는 가방-안에 있음 검출은 단말 노드 내 센서로부터의 정보에 기반하여 결정될 수 있다. 예를 들어, http://www.cs.dartmouth.edu/~campbell/papers/miluzzo-phonesense.pdf를 참조하라. 유사하게, 손-안에-폰 있음 검출은 또한 단말 노드 내 센서로부터의 정보에 기반하여 결정될 수 있다. 예를 들어, http://www.cs.dartmouth.edu/~campbell/papers/miluzzo-phonesense.pdf를 참조하라. "마지막 사용자 상호작용" 타이머는 동작하고 있는 양방향성 애플리케이션이 '케케묵었는지'(사용자에 의해 방치되었는지) 결정하도록 연관된 특정 애플리케이션으로부터 직접 또는 운영 체제로부터 정보에 기반하여 이용될 수 있다. 스크린 세이버 모드 또는 스크린-오프 모드 정보는 단말 노드의 방치된 상태를 나타내도록 단말 노드 내 OS로부터 획득될 수 있다.
Figure pat00018
위의 설명된 방법 및 기술 중 하나 이상이 UA값을 결정하도록, 예를 들어, 논리 조합과 같은 조합으로 사용될 수 있음을 유념해야 한다. 부가적으로, 논리 조합은 또한 UA 메트릭값을 더 정제하도록 각각의 방법에 의해 보고된 신뢰값(또는 간격)을 이용할 수 있다.
- 네트워크 서비스 레벨 협약(SLA) 메트릭:
Figure pat00019
예시값: 골드, 실버, 브론즈
Figure pat00020
결정: 이 단말 노드에 배정된 SLA는, 예를 들어, LTE 네트워크 내 LTE Uu 스택으로부터와 같이, 네트워크 스택으로부터 요청될 수 있다. 예를 들어, SLA는, 네트워크의 오퍼레이터에 의해 단말 노드/사용자에 배정되는, 단말 노드에 대한 배정된 서비스 레벨일 수 있다.
일례의 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 특성 평가 모듈(1220)로부터 획득된 현재 단말 노드 특성 데이터 세트 및 현재 애플리케이션 특성 데이터 세트, 및 다른 정보를 이용하여 각각의 데이터 스트림과 연관된 하나 이상의 메트릭을 결정한다. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 각각의 검출된 데이터 스트림과 연관된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭을 적어도 포함하는 데이터 스트림 메트릭을 결정한다. 일례의 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 다음에 따라 대응하는 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정한다.
Figure pat00021
여기서 f{}는 현재 단말 노드 특성 데이터와 현재 애플리케이션 특성 데이터의 가중 합산일 수 있다.
Figure pat00022
여기서 x = appID, y = streamID, z = terminalnodeID, 및 c1..c8은 각각의 연관된 특성의 상대적 중요도를 증가/감소시키도록 사용되는 가중 계수이며, 연관된 특성의 효과를 없애는 영 가중치의 사용을 포함한다. 애플리케이션 특성 및 단말 노드 특성은 각각, 디스플레이의 용이함을 위해 위에서는 도시하지 않았지만, x, y, z의 함수이다. 당업자는 위에 열거된 함수에서 설명된 변수가 계산에서의 사용을 위해 수로서 표현될 수 있음을 알고 있을 것이다. 위에서 열거된 함수는 예시적인 것이고 다른 포맷 및 항으로 표현될 수 있으며, 다른 부가적 파라미터 및/또는 변수, 또는 더 적은 파라미터 및/또는 변수를 포함할 수 있다. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 데이터 스트림의 지연 공차에 적어도 일부 기반하여 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정할 수 있다. 일 태양에 있어서, 그러한 지연 공차는 데이터 스트림의 애플리케이션 클래스에 의해 나타내거나, 그로부터 유도될 수 있다.
일례의 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 대응하는 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 데이터 스트림에 대응하는 특정 애플리케이션과 연관된 사용자 체감의 정규화된 실시간 추정치로서 결정한다. 이에 관하여, 아래에 주어지는 예 및 VMOS 추정과 같이 사용자 체감 메트릭을 결정하기 위한 기지의 방법 및 기술이 다른 기지의 기술과 함께 사용될 수 있다. 예를 들어, 참조에 의해 여기에 편입되어 있는 2013년 Spirent Communications "OTT vs OTT: Comparing Video Chat Experience"를 참조하라. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 각각의 데이터 스트림과 연관된 애플리케이션 클래스 및, 옵션으로서는, 특정 애플리케이션에도 의존하여 여러 다른 데이터 스트림에 대해 다르게 데이터 스트림 품질 메트릭을 결정할 수 있다. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 데이터 패킷 지연, 폐기, 재송신 등과 같이 데이터 스트림과 관련된 데이터 전송 품질 정보에 기반하는 계산을 사용하여 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 다른 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 협력형 비디오 스트리밍 애플리케이션으로부터의 비디오 평균평가점(VMOS) 추정치와 같이 협력형 특정 애플리케이션으로부터 수신되는 메트릭에 기반하여 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 다른 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 대응하는 협력형 특정 애플리케이션으로부터 수신되는 메트릭(들)의 조합에 기반하여 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 예를 들어, 협력형 비디오 애플리케이션은 목표 비디오 비트레이트를 제공할 수 있고 그 후 스트림 메트릭 결정 모듈(1230)은 이 목표 비디오 비트레이트를 실제(또는 추정) 서비스 제공되는 비트레이트값에 비교하여 연관된 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 다른 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은, 도 1 내지 도 9에 관하여 위에서 설명된 바와 같이, 예를 들어 액세스 노드 내 애플리케이션 에이전트에 의해 제공되는 정보를 포함하는, 네트워크 내 다른 노드로부터 획득된 메트릭 정보를 포함시킴으로써 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다.
위에서 언급된 바와 같이, 스트림 메트릭 결정 모듈(1230)은 애플리케이션 클래스에 의존하여 여러 다른 데이터 스트림에 대해 다르게 데이터 스트림 품질 메트릭을 결정할 수 있다. 여러 다른 애플리케이션 클래스에 대하여, 이용될 수 있는 정보, 및 여러 다른 품질 메트릭 결정 기술의 예가 아래에 제공된다:
- 애플리케이션 클래스: 대화형 음성
Figure pat00023
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 패킷 지터값, TCP 재송신 백분율값, 패킷 라운드 트립 시간값, 및 서비스 제공되는 비트레이트 대 목표 비트레이트 메트릭(시간 기간에 걸친 평균) 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure pat00024
협력형 특정 애플리케이션으로부터 획득된 메트릭: 평균평가점(MOS) 추정치, 분실 데이터의 시간 백분율값, 및 애플리케이션 동결의 시간 백분율, 발생 수 및/또는 듀레이션값(즉, 대화형 음성이 누락되거나 왜곡되는 시간 기간), 및 목표 비트레이트.
Figure pat00025
주의: 위에서 언급된 패킷 지터값 사용은 고정-주기 패킷 송신의 사용을 상정한다. 또한, 스트림 검출 및 분류 모듈(1250)로부터 획득된 패킷 레벨 정보(예를 들어, IP, UDP, TCP, HTTP, SIP)에 기반하여 대화형 음성에 대한 MOS 추정치를 컴퓨팅하도록 기지의 기술이 사용될 수 있다.
- 애플리케이션 클래스: 대화형 비디오(대화형 음성을 포함할 수 있음)
Figure pat00026
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 패킷 지터값, 패킷 재송신 백분율값, 패킷 라운드 트립 시간값, 및 서비스 제공되는 비트레이트 대 목표 비트레이트 메트릭(시간 기간에 걸친 평균) 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure pat00027
협력형 특정 애플리케이션으로부터 획득된 메트릭: 비디오 평균평가점(VMOS) 추정치, 분실 데이터의 수량 또는 시간 백분율값, 및 애플리케이션 동결의 듀레이션 또는 발생의 수량 또는 시간 백분율값(즉, 음성 및/또는 비디오가 동결되거나, 누락되거나, 왜곡되는 시간 기간), 및 목표 비트레이트.
Figure pat00028
주의: 이 애플리케이션 클래스의 오디오 부분은 별개의 데이터 스트림 상에서 반송될 수도 있고 그렇지 않을 수도 있다.
- 애플리케이션 클래스: 스트리밍 오디오
Figure pat00029
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 서비스 제공되는 비트레이트 대 목표 비트레이트값, 및 BO 추정값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다. BO 추정값은 스트리밍 비디오 클래스에 대하여 위에서 언급된 것들과 유사한 BO 추정 방법에 의해 결정될 수 있다. 일 태양에 있어서, BO 추정은 현재 시간과 상영 타임스탬프 간 상대적 비교에 기반할 수 있다.
Figure pat00030
협력형 특정 애플리케이션으로부터 획득된 메트릭: 평균평가점(MOS) 추정치, 분실 데이터의 시간 백분율값, 및 애플리케이션 동결의 듀레이션 또는 발생의 수량 또는 시간 백분율값, 및 목표 비트레이트.
- 애플리케이션 클래스: 스트리밍 비디오
Figure pat00031
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은, 예를 들어 참조에 의해 여기에 편입되어 있는 ITU Standard J.247 "Objective perceptual multimedia video quality measurement in the presence of a full reference"(이하 "사이테크닉스 모델"이라고 함)에 설명된 품질 메트릭 방법 및 기술과 같은, 대역-내 비디오 품질 메트릭 결정 방법들 중 하나 이상을 획득 및 사용할 수 있다. 다른 일 태양에 있어서, 대역-내 비디오 품질 메트릭 결정 방법은 위에서 논의된 바와 같은 BO 추정 기술에 기반할 수 있다. 품질 메트릭은 또한 스트리밍 비디오 상영의 오디오 스트림에 대해 결정될 수 있다.
Figure pat00032
협력형 특정 애플리케이션으로부터 획득된 메트릭: 비디오 평균평가점(VMOS) 추정치, 분실 데이터의 시간 백분율값, 및 애플리케이션 동결의 듀레이션 또는 발생의 수량 또는 시간 백분율값, 및 목표 비트레이트. 부가적으로, 협력형 특정 애플리케이션은 스트리밍 비디오 상영과 연관되어 있는 오디오 스트림에 대한 품질 메트릭을 제공할 수 있다.
- 애플리케이션 클래스: 양방향성 게이밍
Figure pat00033
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 패킷 재송신 백분율값, 패킷 라운드-트립-시간값(예를 들어, SRTT), 및 HTTP 요청과 제1 HTTP 응답 간 시간값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure pat00034
협력형 특정 애플리케이션으로부터 획득된 메트릭: 라운드-트립 커맨드-응답 레이턴시값.
- 애플리케이션 클래스: 브라우저 데이터
Figure pat00035
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 HTTP 요청과 제1 HTTP 응답 간 시간값, 및 서비스 제공되는 평균 비트 레이트값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure pat00036
협력형 특정 애플리케이션으로부터 획득된 메트릭: 요청 사이즈에 의해 정규화(예를 들어, MB당 초)될 수 있는 사용자(또는 머신) 요청과 스크린 리프레시 간 시간값.
- 애플리케이션 클래스: 네이티브 애플리케이션 데이터
Figure pat00037
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 HTTP 요청과 제1 HTTP 응답 간 시간값, 및 서비스 제공되는 평균 비트 레이트값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure pat00038
협력형 특정 애플리케이션으로부터 획득된 메트릭: 요청 사이즈에 의해 정규화(예를 들어, MB당 초)될 수 있는 사용자(또는 머신) 요청과 스크린 리프레시 간 시간값.
- 애플리케이션 클래스: 모름
Figure pat00039
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 HTTP 요청과 제1 HTTP 응답 간 시간값, 및 서비스 제공되는 평균 비트 레이트값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure pat00040
협력형 특정 애플리케이션으로부터 획득된 메트릭: 모름 클래스에는 적용가능하지 않음
일례의 태양에 있어서, QoE 매니저 통신 모듈(1260)은, 도 10의 QoE 매니저 모듈(1020)과 같은, 네트워크 내 QoE 매니저 모듈에 보내기 위한 단말 노드 업데이트 메시지를 발생시키도록 동작할 수 있다. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 각각의 데이터 스트림과 연관된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭, 및 단말 노드 아이디 및 연관된 액세스 노드 아이디, 및 단말 노드 및 연관된 액세스 노드와 관련된 다른 정보 중 적어도 하나 이상을 포함하는 단말 노드 업데이트 메시지를 발생시킬 수 있다. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 QoE 매니저 모듈로부터 경감 명령어 메시지를 수신할 수 있고, 경감 명령어 메시지에 들어있는 경감 명령어의 구현을 도울 수 있다.
일 태양에 있어서, QoE 매니저 통신 모듈(1260)에 의해 준비된 단말 노드 업데이트 메시지는 특정 서비스 클래스(CoS) 또는 서비스 품질(QoS)의 서브세트 내에 있는 데이터 스트림에 대해서만 보내질 수 있다. 예를 들어, QoE 매니저 통신 모듈(1260)은 다음 기준 내에 있는 데이터 스트림에 대해서만 단말 노드 업데이트 메시지를 준비하고 보낼 수 있을 뿐이다: LTE QCI=6-9, 비-GBR, 최선 노력 스트림. 이러한 예는, 예를 들어 GBR 스트림을 적절히 관리할 eNB 계층2 스케줄러와 같이, 다른 자원 할당 시스템이 더 높은 중요도 스트림의 품질 보장을 맡고 있을 것이라고 상정한다.
일 태양에 있어서, QoE 매니저 통신 모듈(1260)에 의해 준비된 단말 노드 업데이트 메시지는 트리거링될 때에만 보내질 수 있다. 그러한 트리거에 대한 옵션은 다음과 같다: 주기적으로; (도 10의 QoE 매니저 모듈(1020)과 같은) QoE 매니저 모듈로부터 요청 수신시에; 데이터 스트림 상태 또는 데이터 스트림 특성에서의 변화 또는 업데이트에 기반하여; 그리고 새로운 서비스 제공 액세스 노드로의 핸드오프에 기반하여. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 단말 노드 업데이트 메시지를 단말 노드의 아웃바운드 트래픽 스트림에 삽입하여 그것이 (도 10의 QoE 매니저 모듈(1020)과 같은) QoE 매니저 모듈에 포워딩하기 위한 액세스 노드에 보내지도록 트래픽 인터페이스 모듈(1280)을 이용함으로써 단말 노드 업데이트 메시지를 보낼 수 있다. 협력형 특정 애플리케이션에 관하여 위에서 논의된 것들 또는 당업계에 알려져 있는 다른 기술과 같은, 연관된 액세스 노드를 통하여 단말 노드로부터 외부 모듈로 메시지를 보내기 위한 기술이 사용될 수 있다. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 단말 노드 업데이트 메시지를 그 전체로 보낼 수도 있고, 업데이트 정보를 분할하여 그것을 다수의 메시지로 보낼 수도 있다. 일 태양에 있어서, 단말 노드 업데이트 메시지에는, 단말 노드 또는 모든 데이터 스트림에 관련된 모든 가능한 정보라기보다는, 단말 특성 또는 데이터 스트림의 데이터 스트림 특성에서의 변화와 관련한 정보만이 들어있을 수 있다.
일례의 태양에 있어서, 단말 노드 업데이트 메시지는 각각의 데이터 스트림에 대하여 다음 데이터 필드 중 하나 이상을 포함할 수 있다:
- 데이터 필드: TerminalNodeID
Figure pat00041
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure pat00042
설명: 단말 노드에 대한 식별자.
Figure pat00043
예: MAC 주소, IP 주소(공공인 경우), IMSI 또는 다른 고유 ID 중 하나일 수 있음.
- 데이터 필드: AppID
Figure pat00044
소스: 스트림 검출 및 분류 모듈(1250)에 의해 배정됨.
Figure pat00045
설명: 데이터 스트림과 연관된 특정 애플리케이션의 로컬 고유 식별자.
Figure pat00046
예: 특정 애플리케이션의 OS 프로세스 ID 및 타임스탬프의 n-비트 해시일 수 있음.
- 데이터 필드: StreamID
Figure pat00047
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure pat00048
설명: 데이터 스트림의 식별자. 5-투플 정보(IP 소스, IP 수신지, 포트 소스, 포트 수신지, 프로토콜)의 n-비트 해시일 수 있음. 이 데이터 필드는 그것이 스트림 분류 데이터 필드에 대해 리던던트로 생각될 수 있기 때문에 옵션일 수 있다.
- 데이터 필드: StreamClassification
Figure pat00049
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure pat00050
설명: 이것은 데이터 패킷을 특정 데이터 스트림에 연관시키기 위해 패킷 검사를 수행하도록 QoE 매니저 모듈에 정보를 제공한다. 이 데이터 필드는 데이터 스트림의 5-투플 정보(IP 소스 주소, IP 수신지 주소, IP 소스 포트, IP 수신지 포트, 프로토콜)의 연접일 수 있다.
- 데이터 필드: Cell_ID
Figure pat00051
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure pat00052
설명: 단말 노드와 연관된 액세스 노드의 식별자.
Figure pat00053
예: 이 데이터 필드는 예를 들어 LTE eNB에 대한 글로벌 셀 ID일 수 있다.
- 데이터 필드: 데이터 스트림 중요도 메트릭
Figure pat00054
소스: 스트림 메트릭 결정 모듈(1230)에 의해 결정됨.
Figure pat00055
설명: (위에서 설명된) 데이터 스트림에 대한 중요도 표시자. 이 데이터 필드는 데이터 스트림 중요도 메트릭의 계산에서 사용되는 메트릭 중 하나 이상에 의해 대신 교체되어 그로써 QoE 매니저 모듈이 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 자체 컴퓨팅 가능하게 할 수 있다.
Figure pat00056
예: 이 데이터 필드는 4 비트값일 수 있다.
- 데이터 필드: 데이터 스트림 품질 메트릭
Figure pat00057
소스: 스트림 메트릭 결정 모듈(1230)에 의해 결정됨.
Figure pat00058
설명: (위에서 설명된) 데이터 스트림에 대한 품질 표시자. 이 데이터 필드는 데이터 스트림 품질 메트릭의 계산에서 사용되는 메트릭 중 하나 이상에 의해 대신 교체되어 그로써 QoE 매니저 모듈이 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 자체 컴퓨팅 가능하게 할 수 있다.
Figure pat00059
예: 이 데이터 필드는 4 비트값일 수 있다.
- 데이트 필드: 핸드오버 메트릭
Figure pat00060
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure pat00061
설명: 단말 노드가 어느 다른 액세스 노드로 핸드오버 되었음의 표시. 이 데이터 필드는 연관된 데이터 스트림을 새로운 셀(액세스 노드)에 리-매핑하도록 QoE 매니저 모듈에 의해 사용될 수 있다. 일 태양에 있어서, 이 데이터 필드는 단말 노드 인터페이스 모듈(1210)에 의해 새로운 Cell_ID(액세스 노드)의 검출에 뒤이어 제1 단말 노드 업데이트 메시지에서 보내진다.
Figure pat00062
예: 이 데이터 필드는 1 비트값일 수 있다.
일례의 태양에 있어서, QoE 응답 모듈(1270)은, 도 10의 QoE 매니저 모듈(1020)과 같은 네트워크 내 QoE 매니저 모듈로부터, 하나 이상의 데이터 스트림과 연관되어 단말 노드에서 실행될 경감 명령어가 들어있는 QoE 경감 명령어 메시지를 수신하도록 동작할 수 있다. 일 태양에 있어서, QoE 응답 모듈(1270)은 하나 이상의 데이터 스트림과 연관되어 있는 경감 명령어를 실행하도록 동작할 수 있다. 그러한 경감 명령어는, 예를 들어, 특정 애플리케이션과 연관된 데이터 패킷을 지연 또는 폐기하도록 트래픽 인터페이스 모듈(1280)과 조정하는 것, 및 특정 애플리케이션의 동작을 종료 또는 그렇지 않으면 조절하도록 단말 노드 인터페이스 모듈(1210)과 조정하는 것을 포함할 수 있다.
일 태양에 있어서, 트래픽 인터페이스 모듈(1280)은 IP와 TCP 계층 사이, 또는 예를 들어 TCP와 HTTP 계층 사이 어느 포인트에서와 같이, 데이터 패킷을 모니터링하고 그리고/또는 액세스하도록 대역-내, 사용자 플레인 트래픽 인터페이스로서 동작한다. 트래픽 인터페이스 모듈(1280)에 의해 모니터링된 데이터 패킷은 그 후 스트림 검출 및 분류 모듈(1250)에 의해 검사될 수 있다. 일 태양에 있어서, 트래픽 인터페이스 모듈(1280)은 또한 단말 노드 업데이트 메시지와 같이 QoE 매니저 통신 모듈(1260)로부터 제공된 메시지를 단말 노드의 사용자 플레인 트래픽에 삽입하도록 동작할 수 있다. 트래픽 인터페이스 모듈(1280)은 또한 QoE 응답 모듈(1270)에 의해 지시된 바와 같은 경감 옵션을 구현하는 것을 수행하거나 돕도록 동작할 수 있다. 예를 들어, 트래픽 인터페이스 모듈(1280)은 연관된 특정 애플리케이션에 도달하지 못하게 데이터 스트림의 데이터 패킷을 지연시킬 수도 있고, 특정 애플리케이션과 연관된 데이터 스트림의 데이터 패킷을 폐기할 수도 있다. 트래픽 인터페이스 모듈(1280)은 또한 도 1 내지 도 9에 관하여 위에서 설명된 방법을 사용하여 또는 다른 기지의 방법을 사용하여, 도 10의 QoE 매니저 모듈(1020)과 같은, 네트워크 내 QoE 매니저 모듈 내/외로 통신하도록 동작할 수 있다. 예를 들어, 트래픽 인터페이스 모듈(1280)은 TCP/IP 소켓, 원격 프로시저 콜을 사용하여 또는 다른 기지의 통신 기술을 사용하여 네트워크 내 QoE 매니저 모듈 내/외로 통신할 수 있다.
일례의 태양에 있어서, 다른 로직 모듈(1240)은 마스터 애플리케이션 모듈(1200) 내 다른 모듈이 여기서 설명된 바와 같은 그들 기능 및 통신을 실행하는 것을 돕는데 필요한 로직 및 기능성을 포함할 수 있다.
위에서 언급된 바와 같이, 일례의 태양에 있어서 QoE 매니저 모듈은 네트워크 환경 내 복수의 액세스 노드와 연관된 다양한 단말 노드로부터 데이터 스트림 정보를 수집하고 그 후 그 수집된 정보를 사용하여 경감 액션이 각각의 셀에 대한 종합적 체감 품질 메트릭을 유지 또는 증가시키기 위하여 데이터 스트림 중 하나 이상에 필요한지 결정한다. 일 태양에 있어서, QoE 매니저 모듈은 액세스 노드와 연관된 데이터 스트림 전부 또는 일부에 대한 종합적 체감 품질 메트릭을 유지 또는 증가시키도록 동작한다. 일 태양에 있어서, QoE 매니저 모듈은 각각의 데이터 스트림을 셀에 매핑하고, 각각의 셀에 대한 종합적 셀-와이드 품질 메트릭(CQM)을 계산하고, 경감 액션이 셀 중 어느 하나 내 데이터 스트림에 대해 필요한지 결정하고, 로컬으로든 적합한 단말 노드(들)에 명령어를 보냄으로써든 경감 액션을 개시하도록 그 수집된 데이터 스트림 정보를 사용한다. QoE 매니저 모듈은 도 10의 QoE 매니저 모듈(1020)과 같이 그 자신의 전용 네트워크 노드에 구현될 수도 있고, 그 기능성은, 예를 들어 도 10의 P-게이트웨이(1030), S-게이트웨이(1040), MME(1060) 및 액세스 노드(1050)와 같이, 다른 네트워크 기능을 수행하도록 또한 구성되어 있는 하나 이상의 네트워크 노드에 구현될 수도 있다. QoE 매니저 모듈은 특정 셀에 서비스 제공하는 모든 데이터 스트림이 통과할 네트워크 환경 내 소정 포인트에 위치하고 있을 수 있다. 예를 들어, LTE 네트워크 환경에 있어서, QoE 매니저 모듈은 LTE 네트워크 오퍼레이터가 단일 PDN을 사용하면 P-게이트웨이와 인터넷 사이에 위치하고 있을 수 있다. 다른 일례에 있어서, LTE 네트워크 환경에서, QoE 매니저 모듈은 P-게이트웨이와 S-게이트웨이 사이에 위치하고 있을 수 있다.
대안의 태양에 있어서, QoE 매니저 모듈은 소망 데이터 스트림 서브세트가 통과할 소정 포인트에 위치하고 있을 수 있다. 예를 들어, LTE 네트워크 환경에 있어서, QoE 매니저 모듈은 멀티-PDN 네트워크에서 최선 노력 (통신사 후원 없는) 데이터 트래픽을 서비스 제공하고 있는 하나의 P-게이트웨이와 인터넷 사이에 위치하고 있을 수 있다. 그러한 일례에 있어서, 시스템은 예를 들어 최선 노력, QCI=9 데이터 스트림 트래픽일 수 있는, 하나의 P-게이트웨이를 통과하는 그들 데이터 스트림을 관리하는 것으로 한정된다. 위에서 언급된 바와 같이, QoE 매니저 모듈 기능은, 경감 모듈 및 트래픽 인터페이스 모듈(1280)을 제외하고는, 위에서 설명된 네트워크 위치 포인트 중 하나에 위치할 필요가 있는 인터넷 상 어디에라도 클라우드-기반 방식으로 분산될 수 있다. 대안의 태양에 있어서, 클라우드-기반 QoE 매니저는, 예를 들어 각각의 데이터 스트림에 MBR을 적용하는 eNB, PCEF 또는 P-게이트웨이와 같이, 데이터 스트림 트래픽 그루밍 및/또는 폴리싱을 할 수 있는 기존 네트워크 기반구조 노드에 정책 변화를 통신할 수 있다.
도 13은 본 발명의 태양에 따른 체감 품질(QoE) 매니저 모듈의 블록 선도이다. 일례의 태양에 있어서, 도 13의 체감 품질(QoE) 매니저 모듈(1300)은, 국한되는 것은 아니지만, 트래픽 인터페이스 모듈(1370), 매퍼 모듈(1310), 메트릭 결정 모듈(1320), 다른 로직 모듈(1330), 업데이트 수신 모듈(1340), 경감 모듈(1350) 및 통신 모듈(1360)을 포함하는 수개의 모듈을 포함한다.
일례의 태양에 있어서, 트래픽 인터페이스 모듈(1370)은, 예를 들어 컨텐트 서버(1010)와 UE1(1071)과 UE2(1071) 중 하나 이상 간 데이터 트래픽과 같은, 네트워크 환경 내 데이터 스트림 트래픽을 모니터링, 복사, 지연 및/또는 폐기할 수 있는 대역-내, 사용자 플레인 트래픽 인터페이스이다. 일 태양에 있어서, 트래픽 인터페이스 모듈(1370)은, 업데이트 수신 모듈(1340)에 의한 사용을 위해, 네트워크 환경 내 단말 노드로부터 그것에 보내지는 단말 노드 업데이트 메시지를 식별 및 수신하도록 데이터 트래픽을 모니터링할 수 있다. 트래픽 인터페이스 모듈(1370)은 또한, 데이터 스트림의 데이터 패킷의 지연 또는 폐기와 같이, 메트릭 결정 모듈(1320) 및 경감 모듈(1350)에 의해 지시된 바와 같이 하나 이상의 데이터 스트림 상에 경감 액션을 지원할 수 있다. 트래픽 인터페이스 모듈(1370)은 또한, 하나 이상의 데이터 스트림에 대항하여 로컬 경감 액션을 취하도록 각각의 단말 노드에 명령하는 경감 명령어 메시지와 같이, 통신 모듈(1360)로부터 보내지는 네트워크 트래픽 흐름에 메시지를 삽입함으로써 경감 액션을 지원할 수 있다. 트래픽 인터페이스 모듈(1370)은 또한, 예를 들어 위에서 논의된 바와 같은 협력형 애플리케이션 통신 기술에 의해서 또는 다른 기지의 통신 방법에 의해서와 같이, 단말 노드 내외로의 통신을 용이하게 하고 지원할 수 있다.
일례의 태양에 있어서, 업데이트 수신 모듈(1340)은 트래픽 인터페이스 모듈(1370)로부터 그것에 보내지는 단말 노드 업데이트 메시지를 수신하고 그 후 각각의 수신된 단말 노드 업데이트 메시지에 들어있는 정보가 QoE 매니저 모듈(1300) 내 다른 모듈에 의해 사용될 수 있도록 각각의 수신된 단말 노드 업데이트 메시지를 파싱할 수 있다.
일례의 태양에 있어서, 매퍼 모듈(1310)은 업데이트 수신 모듈(1340)로부터 매퍼 모듈(1310)에 보내지는 각각의 수신된 단말 노드 업데이트 메시지에 들어있는 정보에 기반하여 그 대응하는 셀 또는 액세스 노드로의 각각의 데이터 스트림의 관계형 매핑을 업데이트 및 유지할 수 있다. 일 태양에 있어서, 액세스 노드는, 예를 들어 라우터와 같이, 단말 노드 내/외로 데이터 스트림 트래픽이 통과하는 네트워크 내 다른 유형의 노드일 수 있다. 일 태양에 있어서, 매퍼 모듈(1310)은 그 연관된 셀 또는 액세스 노드와 각각의 데이터 스트림의 관계 매핑을 발생, 업데이트 및 유지하도록 단말 노드 업데이트 메시지 내 각각의 데이터 스트림에 대한 cell_ID 데이터 필드를 이용할 수 있다. 매퍼 모듈(1310)은 또한 그 연관된 단말 노드와 각각의 데이터 스트림의 그리고 단말 노드에서 동작하고 있는 그 연관된 특정 애플리케이션과 각각의 데이터 스트림의 관계 매핑을 발생, 업데이트 및 유지할 수 있다. 이들 관계는 단말 노드 업데이트 메시지에 들어있는 정보로부터 결정 및 유도될 수 있다. 매퍼 모듈(1310)은 테이블, 스프레드시트, SQL 데이터베이스 등의 데이터베이스와 같은 데이터 파일에 매핑 정보의 저장, 또는 포인터, 링크된 리스트, 데이터베이스 질의와 같은 논리 매핑, 또는 다른 기지의 데이터 매핑 방법을 제어하고 용이하게 할 수 있다. 일 태양에 있어서, 매퍼 모듈(1310)은 새로운 단말 노드 업데이트 메시지가 업데이트 수신 모듈(1340)에 의해 수신됨에 따라 매핑 정보를 업데이트하고 그로써, 예를 들어 단말 노드 업데이트 메시지 내 핸드오버 메트릭 데이터 필드에 의해서와 같이, 새롭게 수신된 단말 노드 업데이트 메시지 중 하나 이상에 단말 노드 핸드오버가 표시될 때 데이터 스트림 대 셀 매핑을 업데이트할 것이다. 일 태양에 있어서, 매퍼 모듈(1310)은 모든 수신된 단말 노드 업데이트 메시지마다로부터 cell_ID 데이터 필드를 체크하여 cell_ID가 terminal_ID에 대해 변화되었는지 결정하고, 그로써 단말 노드가 핸드오버를 통해 다른 셀로 갔음을 나타낸다.
일례의 태양에 있어서, 메트릭 결정 모듈(1320)은 액세스 노드와 연관되어 있는 단말 노드 업데이트 메시지로부터의 보고된 데이터 스트림 전부 또는 일부에 기반하여 종합적 품질 메트릭값을 결정한다. 일 태양에 있어서, 종합적 품질 메트릭값은 액세스 노드의 셀과 연관된 보고된 데이터 스트림 전부에 기반할 수 있다. 일 태양에 있어서, 메트릭 결정 모듈(1320)은 각각의 셀에 대한 종합적 품질 메트릭값의 결정에서 사용하기 위해, 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭과 같이, 업데이트 수신 모듈(1340)에 의해 제공된 단말 노드 업데이트 메시지 정보 및 "데이터 스트림 대 액세스 노드" 매핑 정보를 수신 또는 액세스한다. 종합적 품질 메트릭값은 특정 액세스 노드와 연관된 데이터 스트림 전부 또는 일부에 대한 데이터 스트림 품질 메트릭의 평균값 또는 중앙값으로서 결정될 수 있다. 일 태양에 있어서, 종합적 품질 메트릭값은, 예를 들어, QCI=9를 갖는 것들과 같이 최선 노력 커넥션과 연관되어 있는 데이터 스트림에 대해서만과 같이, 액세스 노드의 특정 셀과 연관된 모든 데이터 스트림의 서브세트에 대해서만 결정될 수 있다.
일 태양에 있어서, 종합적 품질 메트릭값은 종합적 품질 메트릭값의 결정에서 사용되는 각각의 데이터 스트림과 연관되어 있는 데이터 스트림 중요도 메트릭, 서비스 품질(QoS)값 또는 서비스 레벨 협약(SLA)값에 기반하여 수정 또는 조절될 수 있다. 예를 들어, SLA값, QoS값 또는 데이터 스트림 중요도 메트릭은 단말 노드 업데이트 메시지 내 각각의 데이터 스트림과 연관된 데이터 필드로서 제공될 수 있고, 그 후 종합적 품질 메트릭값 결정에서 각각의 데이터 스트림의 데이터 스트림 품질 메트릭에 가중치가 적용될 수 있는데, 여기서 가중치는 데이터 스트림에 대한 데이터 스트림 중요도 메트릭, QoS값 또는 SLA값에 기반한다. 이러한 방식으로, 골드 SLA와 같이 높은 SLA 사용자의 중요도는 결정된 종합적 품질 메트릭값을 더 심하게 가중할 것이고, 결정된 높은 SLA 사용자가 낮은 데이터 스트림 품질 메트릭을 체감하고 있으면 그때 그것은 더 영향을 미쳐 더 낮은 종합적 품질 메트릭값의 결과를 초래하여 그 후 경감 액션의 결과를 초래할 수 있을 것이다. 일 태양에 있어서, 각각의 액세스 노드에 대한 종합적 품질 메트릭값 결정은, 슬라이딩 타임 윈도우에 걸쳐 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 평균함으로써와 같이, 소정 시간 듀레이션에 걸쳐 결정될 수 있다. 일 태양에 있어서, 종합적 품질 메트릭값은 주기적 단위로 결정될 수도 있고, 각각의 단말 노드 업데이트 메시지의 수신시 결정될 수도 있다. 일 태양에 있어서, 종합적 품질 메트릭값은 예를 들어 3개의 단말 노드 업데이트 메시지와 같이 최소 수의 단말 노드 업데이트 메시지의 수신 후에, 그리고/또는 예를 들어 5초와 같이 마지막 결정 이후 최소 시간 기간이 경과한 후에 결정될 수 있다. 일 태양에 있어서, 종합적 품질 메트릭값 결정은 QoE 매니저 모듈에 의해 또는 연관된 단말 노드에 의해 경감 옵션의 구현을 통하여 의도적으로 저하되고 있는 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 배제할 수 있다.
일 태양에 있어서, 메트릭 결정 모듈(1320)은 또한 종합적 품질이 소망 레벨 아래에 있는지 결정하도록 각각의 결정된 종합적 품질 메트릭값을 임계값에 비교할 수 있다. 각각의 데이터 스트림 그룹, 셀 또는 액세스 노드에 대한 임계값은, 예를 들어, 연관된 데이터 스트림의 유형에 기반하여, 동일할 수도 있고 다를 수도 있다. 일 태양에서는, 임계값(QMV_thresh)이 확립되고, 종합적 품질 메트릭값이 QMV_thresh 아래로 떨어지면, 타이머(T)가 시작되고 그 셀에 대해 경감이 개시된다. 그 후, 종합적 품질 메트릭값이 QMV_thresh 위로 올라가면, 타이머(T)가 리셋되고 셀에 대한 경감이 종료된다. 임계값 체크는 경감 액션을 취하기 전에 종합적 품질 메트릭값이 임계값 아래이어야 하는 (T를 사용하는) 최소 듀레이션(To)을 더 포함할 수 있고 또한 종합적 품질 메트릭값의 히스테리시스를 포함할 수 있다. 당업자는, 임계값에 종합적 품질 메트릭값 저하값의 비교, 또는 종합적 품질 메트릭값과 하나 이상의 경감 액션 간 매핑의 사용과 같이, 경감 액션이 소망된다고 결정하도록 다른 기지의 방법 및 기술을 어떻게 사용할지 알고 있을 것이다.
일 태양에 있어서, 경감 모듈(1350)은 데이터 스트림과 연관된 종합적 품질 메트릭값이 소망 레벨 아래에 있다는 메트릭 결정 모듈(1320)로부터의 표시에 기반하여 하나 이상의 데이터 스트림에 액션을 적용하기 위해 복수의 경감 옵션 중으로부터 경감 옵션을 결정하도록 동작할 수 있다. 복수의 경감 옵션 중으로부터 선택하는 것에 부가하여, 경감 모듈(1350)은 또한 경감 옵션이 적용되어야 하는 경감 레벨을 나타낼 수 있다. 예를 들어, 데이터 패킷을 폐기하는 경감 옵션에 대하여, 연관된 경감 레벨은 폐기 데이터 패킷 옵션을 적용할 시간 듀레이션, 폐기 데이터 패킷 옵션을 적용할 데이터 스트림 수, 및 데이터 패킷 폐기 레이트 중 하나 이상일 수 있다. 일 태양에 있어서, 경감 옵션의 선택은 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션의 함수일 수도 있고 그리고/또는 종합적 품질 메트릭값의 값의 함수일 수도 있다.
복수의 경감 옵션은, 예를 들어 트래픽 인터페이스 모듈(1370)에 의한 데이터 패킷 지연 및/또는 폐기와 같이, QoE 매니저 모듈(1300)에서의 기술 및/또는 프로시저의 로컬 구현을 수반할 수도 있고, 예를 들어 데이터 스트림(들)과 연관된 특정 애플리케이션의 종료와 같이, 데이터 스트림(들)과 연관된 단말 노드에서의 기술 및/또는 프로시저의 구현을 수반할 수도 있다. 이에 관하여, 경감 모듈(1350)은 단말 노드에서 하나 이상의 데이터 스트림에 적용될 경감 옵션 및 옵션으로서는 경감 레벨을 포함하는 경감 명령어 메시지를 적합한 단말 노드(들)에 보낼 수 있다. 일 태양에 있어서, 경감 옵션 중 하나는 셀에서 어떠한 경감 액션도 취하지 않는 것 및 그 셀에 대한 종합적 품질 메트릭값을 계속 모니터링하는 것이다.
일 태양에 있어서, 경감 모듈(1350)에 의한 선택을 위한 복수의 경감 옵션은 다수 티어의 경감 액션으로 이루어질 수 있다. 예를 들어, 경감 옵션은, 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션이 증가함에 따라 더 강한 경감 액션을 갖는 각각의 티어와 같이, 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션에 기반하여 여러 다른 티어의 경감 액션으로 배열될 수 있다. 유사하게, 경감 옵션은, 종합적 품질 메트릭값이 임계값 더 아래로 됨에 따라 더 강한 경감 액션을 갖는 각각의 티어와 같이, 종합적 품질 메트릭값의 값에 기반하여 여러 다른 티어의 경감 액션으로 배열될 수 있다. 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션(T)에 기반하여 3개 티어의 경감 옵션을 보여주는 일례의 태양이 아래에 설명된다; 그렇지만 그보다는 경감 옵션 티어는 현재 종합적 품질 메트릭값에 기반할 수도 있고 T와 종합적 품질 메트릭값(QMV) 둘 다의 조합에 기반할 수도 있음을 유념한다.
- 경감 티어: 라이트
Figure pat00063
임계값 아래 시간 QMV: 5초 미만
Figure pat00064
QoE 매니저 모듈에서의 경감 옵션: (1) 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 데이터 스트림으로 시작하여, 데이터 스트림의 서브세트 상에 데이터 패킷 지연 및/또는 폐기를 구현한다; (2) 가장 낮은 데이터 스트림 중요도 메트릭으로 시작하여, 데이터 스트림의 서브세트에 대해 업링크 확인응답(ACK) 지연 및/또는 폐기를 구현한다.
Figure pat00065
단말 노드에서의 경감 옵션: (1) 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 데이터 스트림으로 시작하여, 데이터 스트림의 서브세트 상에 데이터 패킷 지연 및/또는 폐기를 구현한다; (2) 가장 낮은 데이터 스트림 중요도 메트릭으로 시작하여, 데이터 스트림의 서브세트에 대해 업링크 확인응답(ACK) 지연 및/또는 폐기를 구현한다.
- 경감 티어: 미디움
Figure pat00066
임계값 아래 시간 QMV: 5초와 20초 사이
Figure pat00067
QoE 매니저 모듈에서의 경감 옵션: "라이트" 경감 티어와 동일하다, 더하여 (3) 단말 노드 업데이트 메시지에 들어있는 부가적 데이터 스트림 정보에 기반하여, 단말 노드 내 새로 론칭된 특정 애플리케이션과 같이, 특정 애플리케이션과 연관된 새로운 데이터 스트림의 개시 요청의 지연 및/또는 폐기를 구현한다.
Figure pat00068
단말 노드에서의 경감 옵션: "라이트" 경감 티어와 동일하다, 더하여 (3) 단말 노드 내 새로 론칭된 특정 애플리케이션과 같이, 특정 애플리케이션과 연관된 새로운 데이터 스트림의 개시 요청의 지연 및/또는 폐기를 구현한다. 일 태양에 있어서, 협력형 특정 애플리케이션은 새로운 데이터 스트림에 대한 그 요청이 거부된다고 명령받을 수 있고, 새로운 데이터 스트림에 대한 어떠한 요청도 개시하지 않도록 명령받을 수 있다.
- 경감 티어: 헤비
Figure pat00069
임계값 아래 시간 QMV: 20초 초과
Figure pat00070
QoE 매니저 모듈에서의 경감 옵션: "미디움" 경감 티어와 동일하다, 더하여 (4) 예를 들어 특정 구체적 애플리케이션과 연관된 모든 스트림에 대한 모든 데이터 패킷을 폐기함으로써와 같이, 가장 낮은 데이터 스트림 중요도 메트릭과 연관된 특정 애플리케이션으로 시작하여, 셀 내 데이터 스트림과 연관된 특정 애플리케이션의 서브세트의 종료를 구현한다. 일 태양에 있어서, 특정 구체적 애플리케이션과 연관되어 있는 모든 스트림에 대한 모든 데이터 패킷의 무한 지연의 구현은 효과적으로는 특정 애플리케이션을 종료시킬 것이다.
Figure pat00071
단말 노드에서의 경감 옵션: "미디움" 경감 티어와 동일하다, 더하여 (4) 가장 낮은 데이터 스트림 중요도 메트릭과 연관된 특정 애플리케이션으로 시작하여, 셀 내 데이터 스트림과 연관된 특정 애플리케이션의 서브세트의 종료를 구현한다. 일 태양에 있어서, 종료될 특정 구체적 애플리케이션은 협력형 특정 애플리케이션이고 QoE 매니저 모듈은 협력형 특정 애플리케이션에 의해 수신되는 경감 명령어 메시지를 연관된 단말 노드에 보내고 그 결과 협력형 특정 애플리케이션은 스스로 종료되고, 옵션으로서는 임박한 종료에 대해 경고하도록 사용자 메시지를 또한 디스플레이할 수 있다. 일 태양에 있어서, QoE 매니저 모듈은 특정 구체적 애플리케이션과 연관된 모든 스트림에 대한 모든 데이터 패킷을 인터셉트 및 폐기하도록 그 연관된 단말 노드 내 마스터 애플리케이션 모듈에 경감 명령어 메시지를 보낼 수 있다. 일 태양에 있어서, 연관된 단말 노드 내 마스터 애플리케이션 모듈로의 경감 명령어 메시지는 특정 구체적 애플리케이션과 연관되어 있는 모든 스트림에 대한 모든 데이터 패킷의 무한 지연을 구현하여 효과적으로는 특정 애플리케이션을 종료시키게 되도록 명령할 수 있다.
위에서 언급된 바와 같이, 경감 옵션의 선택에 부가하여, 경감 모듈(1350)은 또한, 예를 들어 경감 강도 및 또는 경감 시간 듀레이션과 같이, 경감 옵션이 적용되어야 하는 레벨을 나타낼 수 있다. 일 태양에 있어서, 경감 옵션을 구현할 시간 듀레이션 및 경감 옵션을 구현할 강도 레벨은 (1) 종합적 품질 메트릭값(QMV)이 임계값 아래인 시간 듀레이션(T) 및/또는 (2) 종합적 품질 메트릭값 자체의 함수일 수 있다. 경감 옵션에 대한 강도 레벨은, 예를 들어, 경감 옵션을 구현할 데이터 스트림의 수 또는 백분율, 폐기할 데이터 패킷의 백분율 레벨, 및/또는 데이터 패킷을 지연시킬 지연 시간일 수 있다. 일 태양에 있어서, 예를 들어, 데이터 패킷 지연 및/또는 폐기를 사용하여 경감할 스트림의 백분율의 결정은 아래 표 A에 기반할 수 있다.
Figure pat00072
일 태양에 있어서, 예를 들어, 경감되는 데이터 스트림에 대해 폐기할 데이터 패킷의 백분율의 결정은 아래 표 B에 기반할 수 있다.
Figure pat00073
일례의 태양에 있어서, 통신 모듈(1360)은, 단말 노드에서 하나 이상의 데이터 스트림에 적용될, 경감 모듈(1350)에 의해 선택된 경감 옵션 및 옵션으로서는 경감 레벨을 포함하는 경감 명령어 메시지를 발생시키고 적합한 단말 노드(들)에, 트래픽 인터페이스 모듈(1370)을 통하여, 보내도록 동작할 수 있다. 이러한 방식으로, 통신 모듈(1360)은 단말 노드 레벨에서 전적으로 또는 부분적으로 구현될 경감 옵션을 지원한다. 예를 들어, 특정 경감 옵션은 하나 이상의 데이터 스트림의 데이터 패킷을 폐기함으로써 QoE 매니저 모듈(1300)에서의 로컬 경감과 직접 관련되고 또한 하나 이상의 데이터 스트림의 데이터 패킷을 지연시키도록 단말 노드에서의 경감 액션과 직접 관련될 수 있다. 그러한 일례에 있어서, 통신 모듈(1360)은, 하나 이상의 데이터 스트림의 패킷을 지연시키도록 단말 노드에 명령하는 경감 옵션을 포함하는 경감 명령어 메시지를 발생시키고 적합한 단말 노드에, 트래픽 인터페이스 모듈(1370)을 통하여, 보낸다. 대안의 태양에 있어서, QoE 매니저 모듈(1300)에 관하여 위에서 설명된 것과 유사한 방식으로, 통신 모듈(1360)은, 종합적 품질 메트릭값 및/또는 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션과 같이, 원시 데이터를 포함하는 경감 명령어 메시지를 발생시키고 적합한 단말 노드에, 트래픽 인터페이스 모듈(1370)을 통하여, 보낼 수 있고, 그 후 단말 노드 내 마스터 애플리케이션 모듈은 원시 데이터를 사용하여 무슨 경감 옵션을 취할지 결정할 수 있다.
일례의 태양에 있어서, 다른 로직 모듈(1330)은 QoE 매니저 모듈(1300) 내 다른 모듈이 여기서 설명된 바와 같은 그들 기능 및 통신을 실행하는 것을 돕는데 필요한 로직 및 기능성을 포함할 수 있다.
도 14는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 탑-레벨 기능성을 묘사하는 순서도이다. 단계(1401)에서, 단말 노드는 그것이 단말 노드에서 동작하고 있는 특정 애플리케이션에 서비스 제공하고 있다고 검출하는 각각의 데이터 스트림에 대한 애플리케이션 데이터 스트림 정보를 업데이트한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 트래픽 인터페이스 모듈(1280) 및 스트림 검출 및 분류 모듈(1250)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단계(1403)에서, 단말 노드는 현재 애플리케이션 특성 데이터 세트 및 단말 노드 특성 데이터 세트를 업데이트한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 특성 평가 모듈(1220)을 이용함으로써 이러한 태스크를 수행한다. 단계(1405)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고, 단계(1407)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 스트림 메트릭 결정 모듈(1230)을 이용함으로써 이러한 태스크를 수행한다.
다음으로, 단말 노드는 단말 노드 업데이트 메시지를 발생시켜 네트워크 내 하나 이상의 다른 노드에서 구현되는 QoE 매니저 모듈에 보낸다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 QoE 매니저 통신 모듈(1260) 및 트래픽 인터페이스 모듈(1280)을 이용함으로써 이러한 태스크를 수행한다. 단계(1411)에서 단말 노드는, 단계(1401)에서의 프로세스의 시작으로 복귀하기 전에, OS 또는 협력형 특정 애플리케이션으로부터의 메시지의 수신과 같이, 트리거 이벤트의 발생이든 주기적 시간 기간이든 기다린다. 위에서 설명된 도 14의 단계 중 하나 이상은 옵션일 수 있음과, 도 14의 단계 중 하나 이상을 수행할지 여부의 결정은 도 14의 프로시저의 시작을 트리거링한 조건 또는 이벤트의 유형에 의존할 수 있음을 유념해야 한다.
도 15는 본 발명의 태양에 따른 체감 품질 매니저 모듈의 탑-레벨 기능성을 묘사하는 순서도이다. 단계(1501)에서, QoE 매니저 모듈은 네트워크 내 다양한 단말 노드로부터 단말 노드 업데이트 메시지를 수신한다. 예를 들어, 도 13에 관하여 위에서 설명된 바와 같이, QoE 매니저 모듈(1300)은 업데이트 수신 모듈(1340) 및 트래픽 인터페이스 모듈(1370)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단계(1503)에서, QoE 매니저 모듈은 각각의 데이터 스트림을 그 연관된 셀에, 그리고 각각의 데이터 스트림을 그 연관된 단말 노드에 관련시키는 관계 맵을 업데이트한다. 예를 들어, 도 13에 관하여 위에서 설명된 바와 같이, QoE 매니저 모듈(1300)은 업데이트 수신 모듈(1340) 및 트래픽 인터페이스 모듈(1370)을 이용함으로써 이러한 태스크를 수행한다. 단계(1505)에서, QoE 매니저 모듈은 수신된 단말 노드 업데이트 메시지로부터 추출되는 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭에 기반하여 각각의 셀에 대한 종합적 품질 메트릭값을 결정한다. 예를 들어, 도 13에 관하여 위에서 설명된 바와 같이, QoE 매니저 모듈(1300)은 메트릭 결정 모듈(1320)을 이용함으로써 이러한 태스크를 수행한다. 그 후, 단계(1507)에서, QoE 매니저 모듈은 종합적 품질 메트릭값에 기반하여 셀 내 데이터 스트림 중 하나 이상에 대한 경감 옵션을 결정하며, 여기서 경감 옵션은 어떠한 액션도 취하지 않는 것일 수 있다. 예를 들어, 도 13에 관하여 위에서 설명된 바와 같이, QoE 매니저 모듈(1300)은 경감 모듈(1350)을 이용함으로써 이러한 태스크를 수행한다. 그 후, 단계(1509)에서, QoE 매니저 모듈은 셀 내 데이터 스트림 중 하나 이상에 대해 경감 옵션을 실행하며, 그것은 QoE 매니저 모듈에 의해 로컬로 또는 연관된 단말 노드에서 구현될 수 있다. 예를 들어, 도 13에 관하여 위에서 설명된 바와 같이, QoE 매니저 모듈(1300)은 경감 모듈(1350), 트래픽 인터페이스 모듈(1370) 및 옵션으로서는 통신 모듈(1360)을 이용함으로써 이러한 태스크를 수행한다. 위에서 설명된 도 15의 단계 중 하나 이상은 옵션일 수 있음과, 도 15의 단계 중 하나 이상을 수행할지 여부의 결정은 도 15의 프로시저의 시작에서의 조건 또는 이벤트의 유형에 의존할 수 있음을 유념해야 한다.
도 16은 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 탑-레벨 경감 기능성을 묘사하는 순서도이다. 단계(1601)에서, 단말 노드는 단말 노드와 연관된 하나 이상의 데이터 스트림 상에 경감 옵션을, 부분적으로든 전적으로든, 구현할 명령어가 들어있는 경감 명령어 메시지를 QoE 매니저 모듈로부터 수신한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 단말 노드 내 마스터 애플리케이션 모듈(1200)은 QoE 매니저 통신 모듈(1260) 및 트래픽 인터페이스 모듈(1280)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단말 노드는 단계(1603)에서 단말 노드와 연관된 하나 이상의 데이터 스트림 상에 경감 명령어 메시지에서 수신된 경감 옵션을 실행한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 단말 노드 내 마스터 애플리케이션 모듈(1200)은 QoE 응답 모듈(1270), 트래픽 인터페이스 모듈(1280) 및 옵션으로서는 단말 노드 인터페이스 모듈(1210)을 이용함으로써 이러한 태스크를 수행한다. 이러한 방식으로, 단말 노드는 데이터 스트림의 품질을 모니터링하고 필요하다면 하나 이상의 데이터 스트림 상에 경감 액션을 취하여 단말 노드 사용자에 대한 체감 품질을 유지 또는 증가시키도록 QoE 매니저 모듈과 협력형 방식으로 동작할 수 있다. 위에서 설명된 태양 및 실시예는 단말 노드에서 동작하고 있는 특정 애플리케이션과 관련된 다운링크 데이터 스트림의 모니터링 및 관리에 관련될 수 있기는 하지만, QoE 매니저 모듈 및 마스터 애플리케이션 모듈(들)은 단말 노드에서 동작하고 있는 그러한 특정 애플리케이션과 관련된 업링크 데이터 스트림을 모니터링 및 관리하도록 유사하게 협력할 수 있음을 유념한다. 그러한 시나리오에서는, 컨텐트 서버가 단말 노드에 위치하고 있을 수 있고, 클라이언트 애플리케이션이 네트워크 내 다른 노드에 위치하고 있을 수 있다.
대안의 태양에 있어서, 네트워크 환경 내 단말 노드는 단말 노드 내 특정 애플리케이션과 연관된 데이터 스트림의 품질을 모니터링하고 필요하다면 하나 이상의 데이터 스트림 상에 경감 액션을 취하여 단말 노드 내 그러한 특정 애플리케이션 중 하나 이상과 연관된 체감 품질을 유지 또는 증가시키도록 각각 단독으로 행동할 수 있다. 이러한 태양에 있어서, 단말 노드는 QoE 매니저 모듈의 도움 없이 단독으로 동작하고 대신에 QoE 매니저 모듈에 관하여 위에서 설명된 특징 및 기능 중 일부를 단말 노드에 직접 구현한다. 이러한 방식으로, 각각의 단말 노드는 각각의 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림의 품질을 모니터링 및 조절하도록 로컬 동작한다.
도 17은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도이다. 도 17의 마스터 애플리케이션 모듈(1700)은 단말 노드가 QoE 매니저 모듈의 도움 없이 단독으로 동작하여, 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림의 품질을 로컬 모니터링 및 조절하는 위에서 언급된 대안의 태양에 따라 동작하도록 구성된다. 마스터 애플리케이션 모듈(1700)은 도 12의 마스터 애플리케이션 모듈(1200)에 관하여 앞서 위에서 설명된 동일한 모듈 중 여럿을 포함하고 있음을 도 17에서 알 수 있다. 각각의 동일한 모듈의 기능성은, 이러한 대안의 태양에 있어서 일부 차이점이 적용될 수 있는 경우를 제외하고는, 간결함을 위해 여기서 반복되지 않는다. 이러한 대안의 태양에 있어서 핵심 차이점 중 하나는 도 12의 마스터 애플리케이션 모듈(1200) 내 QoE 응답 모듈(1270) 및 QoE 매니저 통신 모듈(1260)이 도 17의 마스터 애플리케이션 모듈(1700)에는 포함되어 있지 않다는 것이다. 대신에, 아래에 더 충분히 설명되는 바와 같이, 단말 노드와 연관된 데이터 스트림에 대한 종합적 품질 메트릭에 기반하여, 있다면, 경감 옵션을 결정 및 실행하도록 마스터 애플리케이션 모듈(1700)에 경감 모듈(1760)이 제공된다.
도 12에 도시된 것들과 동일한 모듈의 상세한 기능성을 반복함이 없이, 마스터 애플리케이션 모듈(1700)에 대한 프로세스 흐름의 간략한 개요는 스트림 검출 및 분류 모듈(1750) 및 트래픽 인터페이스 모듈(1780)이 단말 노드에서 동작하고 있는 특정 애플리케이션을 지원하는 데이터 스트림을 검출, 식별 및 분류하고, 그 후 특성 평가 모듈(1720)이, 단말 노드 인터페이스 모듈(1710)로부터의 가능한 지원으로, 각각의 데이터 스트림에 대한 현재 애플리케이션 특성 데이터 세트 및 현재 단말 노드 특성 데이터 세트를 다른 관련 정보와 함께 식별하는 것이다. 스트림 메트릭 결정 모듈(1730)은 다른 관련 정보와 함께 현재 애플리케이션 특성 데이터 세트 및 현재 단말 노드 특성 데이터 세트에 기반하여 각각의 데이터 스트림에 대한 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭을 결정하고, 그 후 단말 노드와 연관된 데이터 스트림 중 일부 또는 전부에 대한 종합적 (단말 노드 와이드) 품질 메트릭을 더 결정한다. 이에 관하여, 스트림 메트릭 결정 모듈(1730)은 도 13의 QoE 매니저 모듈(1300)의 메트릭 결정 모듈(1320)에 관하여 위에서 설명된 기술 및 방법 중 어느 하나에 따라 데이터 스트림 품질 메트릭, 데이터 스트림 중요도 메트릭 및 종합적 (단말 노드 와이드) 품질 메트릭을 결정할 수 있다. 도 17의 이러한 대안의 태양에 있어서 차이점은, 도 13의 메트릭 결정 모듈(1320)에 의해 결정되는 종합적 품질 메트릭값이 네트워크 내 액세스 노드에 대응하는 모든 단말 노드와 연관된 데이터 스트림 중 일부 또는 전부에 대한 데이터 스트림 품질 메트릭에 기반하는 것과는 대조적으로, 종합적 (단말 노드 와이드) 품질 메트릭이 특정 단말 노드와 연관된 데이터 스트림만에 대한 데이터 스트림 품질 메트릭에 기반한다는 것이다. 그 후 스트림 메트릭 결정 모듈(1730)은 도 13의 메트릭 결정 모듈(1320)에 관하여 위에서 설명된 기술 및 방법을 사용하여 종합적 (단말 노드 와이드) 품질 메트릭을 임계값에 비교할 수 있다.
경감 모듈(1760)은 임계값 대비 종합적 (단말 노드 와이드) 품질 메트릭의 비교의 결과를 사용하여 단말 노드와 연관된 데이터 스트림 중 하나 이상에 적용할 경감 옵션을 결정한다. 위에서 언급된 바와 같이, 경감 옵션 중 하나는 어떠한 현재 액션도 취하지 않는 것 및 종합적 품질 메트릭을 계속 모니터링하는 것이다. 경감 모듈(1350)에 관하여 위에서 설명된 경감 옵션 유형, 및 경감 옵션의 결정을 위한 기술 및 방법은 경감 모듈(1760)에 의해 사용될 수 있고 여기서는 간결함을 위해 반복되지 않는다. 단말 노드에 의해 구현 및/또는 적용될 수 있는 위에서 설명된 그들 경감 옵션이 사용될 수 있다. 이에 관하여, 경감 모듈(1760)은, 트래픽 인터페이스 모듈(1780) 및 단말 노드 인터페이스 모듈(1710) 중 하나 이상과 조정하여, 그 후 단말 노드와 연관된 하나 이상의 데이터 스트림 상에 결정된 경감 옵션을 실행할 수 있다. 도 13의 경감 모듈(1350)에 관하여 위에서 설명된 바와 같이, 구현의 듀레이션 및 레벨(강도)을 포함하는 경감 옵션의 실행의 방식이 도 17의 경감 모듈(1760)에 의해 경감 옵션을 실행하도록 이용될 수 있다.
도 18은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 탑-레벨 기능성을 묘사하는 순서도이다. 특히, 도 18의 순서도는 도 17의 마스터 애플리케이션 모듈(1700)에 대응한다. 단계(1801)에서, 단말 노드는 그것이 단말 노드에서 동작하고 있는 특정 애플리케이션에 서비스 제공하고 있다고 검출하는 각각의 데이터 스트림에 대한 애플리케이션 데이터 스트림 정보를 업데이트한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 트래픽 인터페이스 모듈(1780) 및 스트림 검출 및 분류 모듈(1750)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단계(1803)에서, 단말 노드는 현재 애플리케이션 특성 데이터 세트 및 현재 단말 노드 특성 데이터 세트를 업데이트한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 특성 평가 모듈(1720)을 이용함으로써 이러한 태스크를 수행한다. 단계(1805)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고, 단계(1807)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 스트림 메트릭 결정 모듈(1730)을 이용함으로써 이들 태스크를 수행한다. 다음으로, 단계(1809)에서, 단말 노드는 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림 중 하나 이상과 관련된 데이터 스트림 품질 메트릭, 데이터 스트림 중요도 메트릭 및 다른 정보에 기반하여 종합적 (단말 와이드) 품질 메트릭을 결정한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은, 종합적 (단말 와이드) 품질 메트릭을 임계값에 비교하는 것에 부가하여, 스트림 메트릭 결정 모듈(1730)을 이용함으로써 이들 태스크를 수행한다.
그 후, 단계(1811)에서, 단말 노드는 종합적 품질 메트릭값에 기반하여 단말 노드와 연관된 데이터 스트림 중 하나 이상에 대한 경감 옵션을 결정하며, 여기서 경감 옵션은 어떠한 액션도 취하지 않는 것일 수 있다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 경감 모듈(1760)을 이용함으로써 이러한 태스크를 수행한다. 단계(1813)에서, 단말노드는 셀과 연관된 데이터 스트림 중 하나 이상에 대해 경감 옵션을 실행한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 경감 모듈(1760), 트래픽 인터페이스 모듈(1780) 및 옵션으로서는 단말 노드 인터페이스 모듈(1710)을 이용함으로써 이러한 태스크를 수행한다. 이러한 방식으로, 각각의 단말 노드는 각각의 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림의 품질을 모니터링 및 조절하도록 독립적으로 로컬 동작할 수 있다.
도 17 및 도 18에 관하여 위에서 설명된 태양 및 실시예는 단말 노드에서 동작하고 있는 특정 애플리케이션과 관련된 다운링크 데이터 스트림의 모니터링 및 관리에 관련될 수 있기는 하지만, 마스터 애플리케이션 모듈(들)은 단말 노드에서 동작하고 있는 그러한 특정 애플리케이션과 관련된 업링크 데이터 스트림을 모니터링 및 관리하도록 유사하게 협력할 수 있음을 유념한다. 그러한 시나리오에서는, 컨텐트 서버가 단말 노드에 위치하고 있을 수 있고, 클라이언트 애플리케이션이 네트워크 내 다른 노드에 위치하고 있을 수 있다.
전술한 시스템 및 방법 및 연관된 디바이스 및 모듈은 여러 변형이 쉽게 가능하다. 부가적으로, 명확함과 간결함을 위해, 시스템 및 방법의 많은 설명이 단순화되었다. 예를 들어, 도면들은 일반적으로는 각각의 유형의 디바이스 중 하나(예를 들어, 하나의 액세스 노드, 하나의 단말 노드)를 예시하지만, 통신 시스템은 각각의 유형의 디바이스를 여럿 가질 수 있다. 유사하게, 많은 설명은 LTE와 같은 특정 무선 표준의 구조 및 술어를 사용하고 있다. 그렇지만, 개시된 시스템 및 방법은, 예를 들어, 하이브리드 광섬유-동축 케이블 모뎀 시스템을 포함하여 더 광범위하게 적용가능하다.
당업자는 본 명세서에서 개시되는 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 모듈, 유닛 및 알고리즘 단계가 흔히 전자적 하드웨어, 컴퓨터 소프트웨어 또는 그들 조합으로 구현될 수 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 호환가능성을 명확히 예시하기 위해, 다양한 예시적 컴포넌트, 블록, 모듈 및 단계가 일반적으로 그 기능성의 관점에서 위에 설명되었다. 그러한 기능성이 하드웨어로 구현될지 또는 소프트웨어로 구현될지는 전반적 시스템에 부과된 특정 제약에 의존한다. 당업자는 설명된 기능성을 각각의 특정 시스템에 대해 다양한 방식으로 구현할 수 있지만, 그러한 구현 결정은 본 발명의 범위로부터의 벗어남을 야기하는 것으로 해석되어서는 안 된다. 부가적으로, 유닛, 모듈, 블록 또는 단계 내 기능의 그룹화는 설명의 용이함을 위한 것이다. 특정 기능 또는 단계는 본 발명으로부터 벗어남이 없이 하나의 유닛, 모듈 또는 블록으로부터 이동될 수 있다.
여기에 개시된 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 유닛, 단계 및 모듈은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그래밍 가능한 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능한 논리 디바이스와 같은 프로세서, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트 또는 여기에서 설명된 기능을 수행하도록 설계된 그 어떠한 조합으로라도 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로는, 프로세서는 어떠한 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 머신이라도 될 수 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 함께 하나 이상의 마이크로프로세서, 또는 어떠한 다른 그러한 구성으로라도 구현될 수 있다.
여기에서 개시된 실시예와 연관하여 설명된 블록 또는 모듈의 프로세스 및 알고리즘 또는 방법의 단계는 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 둘의 조합으로 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM 또는 어떠한 다른 형태의 저장 매체에라도 거주할 수 있다. 일례의 저장 매체는 프로세서가 그 저장 매체에 정보를 쓰고 그리고 그로부터 정보를 읽을 수 있게 되도록 프로세서에 결합될 수 있다. 대안으로, 저장 매체는 프로세서에 일체일 수 있다. 프로세서 및 저장 매체는 ASIC에 거주할 수 있다. 부가적으로, 결합된 것으로 설명되어 있는 디바이스, 블록 또는 모듈은 중개 디바이스, 블록 또는 모듈을 통하여 결합되어 있을 수 있다. 유사하게, 제1 디바이스는 제1 디바이스와 제2 디바이스를 결합하는 중개 디바이스가 존재할 때 그리고 또한 제1 디바이스가 데이터의 궁극적 수신지를 모르고 있을 때 데이터를 제2 디바이스에 송신(또는 그로부터 수신)하는 것으로 설명되어 있을 수 있다.
개시된 실시예의 위 설명은 어느 당업자라도 본 발명을 하거나 사용할 수 있게 하도록 제공된다. 이들 실시예에 대한 다양한 수정이 당업자에게는 쉽게 명백할 것이고 여기에서 설명되는 포괄적 원리는 본 발명의 취지 또는 범위로부터 벗어남이 없이 다른 실시예에 적용될 수 있다. 그리하여, 여기에서 제시된 설명 및 도면은 본 발명의 현재 바람직한 실시예를 표현하고 그래서 본 발명에 의해 광범위하게 고려되는 대상 사항을 표현하는 것으로 이해되어야 한다. 더욱, 본 발명의 범위는 당업자에게 자명하게 될 수 있는 다른 실시예를 전적으로 아우르고 따라서 본 발명은 첨부 청구범위 이외의 어떠한 것에 의해서도 제한되지 않음이 이해된다.

Claims (84)

  1. 통신 네트워크 내 애플리케이션 매니저 노드로서,
    상기 통신 네트워크 내 데이터 통신을 모니터링하도록 구성된 트랜시버 모듈; 및
    상기 트랜시버에 결합된 프로세서를 포함하되, 상기 프로세서는:
    적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 상기 적어도 하나의 단말 노드로부터 수신하고,
    상기 애플리케이션 정보에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하고,
    상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하여 종합적 품질 메트릭값을 결정하고, 그리고
    상기 종합적 품질 메트릭값에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하도록 구성되는 것인 애플리케이션 매니저 노드.
  2. 제1항에 있어서, 상기 관계 맵은 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보를 상기 애플리케이션 매니저 노드에 송신한 상기 적어도 하나의 단말 노드 중 하나와 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각 간 관계를 더 포함하는 것인 애플리케이션 매니저 노드.
  3. 제1항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하는 것인 애플리케이션 매니저 노드.
  4. 제1항에 있어서, 상기 프로세서는 상기 적어도 하나의 경감 옵션을 개시하도록 더 구성되는 것인 애플리케이션 매니저 노드.
  5. 제1항에 있어서, 상기 종합적 품질 메트릭값은 임계값에 비교되고 경감 선택은 상기 종합적 품질 메트릭값이 상기 임계값을 교차하면 수행되는 것인 애플리케이션 매니저 노드.
  6. 제1항에 있어서, 상기 액세스 노드 및 상기 단말 노드가 통하여 통신하는 통신 링크는 무선 네트워크 및 유선 네트워크 중 하나인 것인 애플리케이션 매니저 노드.
  7. 제1항에 있어서, 상기 애플리케이션 정보는 상기 적어도 하나의 단말 노드로부터 수신되는 비주기적 보고 및 주기적 보고 중 하나인 것인 애플리케이션 매니저 노드.
  8. 제1항에 있어서, 상기 애플리케이션 정보는 애플리케이션 정보 및 단말 노드 정보를 포함하고, 상기 종합적 품질 메트릭값은 상기 애플리케이션 정보 및 상기 단말 노드 정보에 기반하여 결정되는 것인 애플리케이션 매니저 노드.
  9. 제1항에 있어서, 상기 애플리케이션 정보는 대응하는 애플리케이션과 연관된 적어도 하나의 데이터 스트림 중 하나 이상에 관련된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭 중 적어도 하나를 포함하는 것인 애플리케이션 매니저 노드.
  10. 제1항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드의 셀과 연관되어 있는 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 셀-와이드 품질 메트릭값인 것인 애플리케이션 매니저 노드.
  11. 제10항에 있어서, 상기 종합적 품질 메트릭값의 결정은 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 데이터 스트림 품질 메트릭의 평균값에 기반하는 것인 애플리케이션 매니저 노드.
  12. 제10항에 있어서, 상기 종합적 품질 메트릭값을 결정할 때 각각의 데이터 스트림 품질 메트릭에 가중치가 적용되고, 각각의 가중치는 서비스 레벨 협약(service level agreement: SLA)값, 서비스 품질(quality of service: QoS)값 및 데이터 스트림 중요도 메트릭 중 적어도 하나에 기반하는 것인 애플리케이션 매니저 노드.
  13. 제1항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관된 상기 적어도 하나의 애플리케이션 데이터 스트림의 서브세트의 각각에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 것인 애플리케이션 매니저 노드.
  14. 제5항에 있어서, 상기 적어도 하나의 경감 옵션의 선택은 상기 종합적 품질 메트릭값이 최소 시간 듀레이션 동안 상기 임계값 아래에 머무르면 수행되는 것인 애플리케이션 매니저 노드.
  15. 제4항에 있어서, 상기 적어도 하나의 경감 옵션의 개시는 상기 경감 옵션이 구현되어야 할 상기 애플리케이션 데이터 스트림과 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나에 경감 명령어 메시지를 송신하는 것을 포함하는 것인 애플리케이션 매니저 노드.
  16. 제15항에 있어서, 상기 경감 명령어 메시지는 상기 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값 아래에 있었던 시간 듀레이션 중 적어도 하나를 포함하는 것인 애플리케이션 매니저 노드.
  17. 제1항에 있어서, 상기 적어도 하나의 경감 옵션은 데이터 패킷을 지연시키는 것, 데이터 패킷을 폐기하는 것, 확인응답을 지연시키는 것, 확인응답을 폐기하는 것, 새로운 데이터 스트림 개시 요청을 지연시키는 것, 새로운 데이터 스트림 개시 요청을 폐기하는 것, 애플리케이션을 종료시키는 것, 및 어떠한 액션도 취하지 않는 것 중 하나 이상을 포함하는 것인 애플리케이션 매니저 노드.
  18. 제1항에 있어서, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 상기 적어도 하나의 경감 옵션의 선택은 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 애플리케이션 매니저 노드.
  19. 제4항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값이 임계값 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 애플리케이션 매니저 노드.
  20. 제4항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값에 기반하여 구현되는 것인 애플리케이션 매니저 노드.
  21. 액세스 노드를 갖는 통신 네트워크 내 단말 노드로서,
    상기 통신 네트워크를 통하여 상기 액세스 노드 내외로 데이터 패킷을 송수신하도록 구성된 트랜시버 모듈; 및
    상기 트랜시버에 결합된 프로세서를 포함하되, 상기 프로세서는,
    상기 통신 네트워크를 통하여 상기 액세스 노드 내외로 송수신되는 상기 데이터 패킷을 모니터링함으로써 적어도 하나의 애플리케이션 데이터 스트림을 검출하고,
    검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 상기 애플리케이션 정보를 결정하고,
    상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 상기 통신 네트워크를 통하여 송신하고,
    상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 상기 통신 네트워크를 통하여 수신하고, 그리고
    상기 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 상기 적어도 하나의 경감 명령어를 구현하도록 구성되는 것인 단말 노드.
  22. 제21항에 있어서, 상기 통신 네트워크는 무선 통신 네트워크 및 유선 통신 네트워크 중 하나인 것인 단말 노드.
  23. 제21항에 있어서, 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보는 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하여 결정되는 것인 단말 노드.
  24. 제21항에 있어서, 상기 애플리케이션 정보는 상기 액세스 노드로부터 애플리케이션 매니저 노드로의 전송을 위해 상기 액세스 노드에 송신되는 것인 단말 노드.
  25. 제21항에 있어서, 상기 프로세서는 상기 각각의 애플리케이션 데이터 스트림과 연관된 하나 이상의 데이터 패킷을 검사하고 상기 하나 이상의 데이터 패킷의 검사에 기반하여 상기 애플리케이션 데이터 스트림에 애플리케이션 클래스값을 배정함으로써 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상을 분류하도록 더 구성되고, 상기 애플리케이션 클래스값은 상기 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함되는 것인 단말 노드.
  26. 제21항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보의 결정은 상기 애플리케이션 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고 상기 데이터 스트림 중요도 메트릭을 상기 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함시키는 것을 포함하는 것인 단말 노드.
  27. 제26항에 있어서, 상기 프로세서는 상기 각각의 애플리케이션 데이터 스트림과 연관된 애플리케이션의 현재 특성에 기반하는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 현재 애플리케이션 특성 데이터 세트, 및 상기 단말 노드의 현재 특성에 기반하는 현재 단말 노드 특성 데이터 세트 중 적어도 하나를 발생시키도록 더 구성되는 것인 단말 노드.
  28. 제27항에 있어서, 상기 데이터 스트림 중요도 메트릭은 상기 현재 애플리케이션 특성 데이터 세트 및 상기 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하는 것인 단말 노드.
  29. 제27항에 있어서, 상기 현재 애플리케이션 특성 데이터 세트는 애플리케이션 클래스값, 스트림 개시 유형값, 업데이트 계류중 값, 디스플레이 위치값, 네트워크 서비스 품질(QoS)값 및 버퍼 마진값 중 적어도 하나 이상을 포함하는 것인 단말 노드.
  30. 제27항에 있어서, 상기 현재 단말 노드 특성 데이터 세트는 사용자 주의값 및 서비스 레벨 협약(SLA)값 및 단말 노드 유형 중 적어도 하나 이상을 포함하는 것인 단말 노드.
  31. 제26항에 있어서, 상기 데이터 스트림 품질 메트릭은 상기 애플리케이션 데이터 스트림과 연관된 분실된 또는 지연된 데이터 패킷의 표시에 적어도 일부 기반하는 것인 단말 노드.
  32. 제26항에 있어서, 상기 데이터 스트림 품질 메트릭은 대응하는 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 상기 애플리케이션으로부터 수신된 애플리케이션 품질 메트릭값에 적어도 일부 기반하는 것인 단말 노드.
  33. 제21항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보는 상기 데이터 스트림에 관련된 애플리케이션 특성 데이터 세트 및 단말 노드 특성 데이터 세트 중 적어도 하나를 포함하는 것인 단말 노드.
  34. 제21항에 있어서, 상기 애플리케이션 정보는 주기적 단위 및 비주기적 단위 중 하나로 상기 단말 노드로부터 상기 액세스 노드로 송신되는 것인 단말 노드.
  35. 제21항에 있어서, 상기 애플리케이션 정보는 상기 단말 노드와 연관된 단말 노드 아이디, 상기 액세스 노드와 연관된 셀 아이디, 및 핸드오버 메트릭값 중 하나 이상을 더 포함하는 것인 단말 노드.
  36. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 데이터 패킷 지연 명령어, 데이터 패킷 폐기 명령어, 확인응답 지연 명령어, 확인응답 폐기 명령어, 새로운 데이터 스트림 요청 지연 명령어, 새로운 데이터 스트림 요청 폐기 명령어, 및 애플리케이션 종료 명령어 중 하나 이상을 포함하는 것인 단말 노드.
  37. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값 아래에 있는 시간 듀레이션 중 적어도 하나를 포함하고, 상기 적어도 하나의 경감 명령어의 구현은 상기 종합적 품질 메트릭값 및 상기 시간 듀레이션 중 상기 적어도 하나에 기반하여 경감 액션을 결정하는 것을 포함하는 것인 단말 노드.
  38. 제21항에 있어서, 상기 적어도 하나의 경감 명령어의 구현은 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 단말 노드.
  39. 제38항에 있어서, 상기 적어도 하나의 경감 명령어 중 각각의 하나는 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 상기 애플리케이션 데이터 스트림 상에 구현되고, 그 후 연속하여 다음의 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 적어도 하나의 다른 애플리케이션 데이터 스트림에 대해 구현되는 것인 단말 노드.
  40. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 구현의 시간 듀레이션이 증가함에 따라 증가하는 수의 연관된 애플리케이션 데이터 스트림 상에 구현되는 것인 단말 노드.
  41. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 품질 메트릭값이 임계값 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 단말 노드.
  42. 제21항에 있어서, 상기 적어도 하나의 경감 명령어의 구현 레벨은 품질 메트릭값에 기반하는 것인 단말 노드.
  43. 통신 네트워크에서 애플리케이션 품질의 관리를 위한 방법으로서, 상기 방법은,
    적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 상기 적어도 하나의 단말 노드로부터 수신하는 단계;
    상기 애플리케이션 정보에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하는 단계;
    상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하여 종합적 품질 메트릭값을 결정하는 단계; 및
    상기 종합적 품질 메트릭값에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하는 단계를 포함하는 것인 방법.
  44. 제43항에 있어서, 상기 관계 맵은 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보를 애플리케이션 매니저 노드에 송신한 상기 적어도 하나의 단말 노드 중 하나와 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각 간 관계를 더 포함하는 것인 방법.
  45. 제43항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하는 것인 방법.
  46. 제43항에 있어서, 상기 적어도 하나의 경감 옵션을 개시하는 단계를 더 포함하는 방법.
  47. 제43항에 있어서, 상기 종합적 품질 메트릭값은 임계값에 비교되고 경감 선택은 상기 종합적 품질 메트릭값이 상기 임계값을 교차하면 수행되는 것인 방법.
  48. 제43항에 있어서, 상기 액세스 노드 및 상기 단말 노드가 통하여 통신하는 통신 링크는 무선 네트워크 및 유선 네트워크 중 하나인 것인 방법.
  49. 제43항에 있어서, 상기 애플리케이션 정보는 상기 적어도 하나의 단말 노드로부터 수신되는 비주기적 보고 및 주기적 보고 중 하나인 것인 방법.
  50. 제43항에 있어서, 상기 애플리케이션 정보는 애플리케이션 정보 및 단말 노드 정보를 포함하고, 상기 종합적 품질 메트릭값은 상기 애플리케이션 정보 및 상기 단말 노드 정보에 기반하여 결정되는 것인 방법.
  51. 제43항에 있어서, 상기 애플리케이션 정보는 대응하는 애플리케이션과 연관된 적어도 하나의 데이터 스트림 중 하나 이상에 관련된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭 중 적어도 하나를 포함하는 것인 방법.
  52. 제43항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드의 셀과 연관되어 있는 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 셀-와이드 품질 메트릭값인 것인 방법.
  53. 제52항에 있어서, 상기 종합적 품질 메트릭값을 결정하는 단계는 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 상기 데이터 스트림 품질 메트릭의 평균값에 기반하는 것인 방법.
  54. 제52항에 있어서, 상기 종합적 품질 메트릭값을 결정할 때 각각의 데이터 스트림 품질 메트릭에 가중치가 적용되고, 각각의 가중치는 서비스 레벨 협약(SLA)값, 서비스 품질(QoS)값 및 데이터 스트림 중요도 메트릭 중 적어도 하나에 기반하는 것인 방법.
  55. 제43항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관된 상기 적어도 하나의 애플리케이션 데이터 스트림의 서브세트의 각각에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 것인 방법.
  56. 제47항에 있어서, 상기 적어도 하나의 경감 옵션을 선택하는 단계는 상기 종합적 품질 메트릭값이 최소 시간 듀레이션 동안 상기 임계값 아래에 머무르면 수행되는 것인 방법.
  57. 제46항에 있어서, 상기 적어도 하나의 경감 옵션을 개시하는 단계는 상기 경감 옵션이 구현되어야 할 상기 애플리케이션 데이터 스트림과 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나에 경감 명령어 메시지를 송신하는 단계를 포함하는 것인 방법.
  58. 제57항에 있어서, 상기 경감 명령어 메시지는 상기 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값 아래에 있었던 시간 듀레이션 중 적어도 하나를 포함하는 것인 방법.
  59. 제43항에 있어서, 상기 적어도 하나의 경감 옵션은 데이터 패킷을 지연시키는 것, 데이터 패킷을 폐기하는 것, 확인응답을 지연시키는 것, 확인응답을 폐기하는 것, 새로운 데이터 스트림 개시 요청을 지연시키는 것, 새로운 데이터 스트림 개시 요청을 폐기하는 것, 애플리케이션을 종료시키는 것, 및 어떠한 액션도 취하지 않는 것 중 하나 이상을 포함하는 것인 방법.
  60. 제43항에 있어서, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 상기 적어도 하나의 경감 옵션을 선택하는 단계는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 방법.
  61. 제46항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값이 임계값 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 방법.
  62. 제46항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값에 기반하여 구현되는 것인 방법.
  63. 통신 네트워크 내 단말 노드에서 애플리케이션 품질을 관리하기 위한 방법으로서, 상기 방법은,
    상기 통신 네트워크를 통하여 액세스 노드 내외로 송수신되는 데이터 패킷을 모니터링함으로써 적어도 하나의 애플리케이션 데이터 스트림을 검출하는 단계;
    검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 상기 애플리케이션 정보를 결정하는 단계;
    상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 상기 통신 네트워크를 통하여 송신하는 단계;
    상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 상기 통신 네트워크를 통하여 수신하는 단계; 및
    상기 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 상기 적어도 하나의 경감 명령어를 구현하는 단계를 포함하는 것인 방법.
  64. 제63항에 있어서, 상기 통신 네트워크는 무선 통신 네트워크 및 유선 통신 네트워크 중 하나인 것인 방법.
  65. 제63항에 있어서, 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보는 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하여 결정되는 것인 방법.
  66. 제63항에 있어서, 상기 애플리케이션 정보는 상기 액세스 노드로부터 애플리케이션 매니저 노드로의 전송을 위해 상기 액세스 노드에 송신되는 것인 방법.
  67. 제63항에 있어서, 상기 각각의 애플리케이션 데이터 스트림과 연관된 하나 이상의 데이터 패킷을 검사하고 상기 하나 이상의 데이터 패킷의 검사에 기반하여 상기 애플리케이션 데이터 스트림에 애플리케이션 클래스값을 배정함으로써 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상을 분류하고, 상기 애플리케이션 클래스값을 상기 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함시키는 단계를 더 포함하는 방법.
  68. 제63항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보를 결정하는 단계는 상기 애플리케이션 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고 상기 데이터 스트림 중요도 메트릭을 상기 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함시키는 단계를 포함하는 것인 방법.
  69. 제68항에 있어서, 상기 각각의 애플리케이션 데이터 스트림과 연관된 애플리케이션의 현재 특성에 기반하는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 현재 애플리케이션 특성 데이터 세트, 및 상기 단말 노드의 현재 특성에 기반하는 현재 단말 노드 특성 데이터 세트 중 적어도 하나를 발생시키는 단계를 더 포함하는 방법.
  70. 제69항에 있어서, 상기 데이터 스트림 중요도 메트릭은 상기 현재 애플리케이션 특성 데이터 세트 및 상기 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하는 것인 방법.
  71. 제69항에 있어서, 상기 현재 애플리케이션 특성 데이터 세트는 애플리케이션 클래스값, 스트림 개시 유형값, 업데이트 계류중 값, 디스플레이 위치값, 네트워크 서비스 품질(QoS)값 및 버퍼 마진값 중 적어도 하나 이상을 포함하는 것인 방법.
  72. 제69항에 있어서, 상기 현재 단말 노드 특성 데이터 세트는 사용자 주의값 및 서비스 레벨 협약(SLA)값 및 단말 노드 유형 중 적어도 하나 이상을 포함하는 것인 방법.
  73. 제68항에 있어서, 상기 데이터 스트림 품질 메트릭은 상기 애플리케이션 데이터 스트림과 연관된 분실된 또는 지연된 데이터 패킷의 표시에 적어도 일부 기반하는 것인 방법.
  74. 제68항에 있어서, 상기 데이터 스트림 품질 메트릭은 대응하는 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 상기 애플리케이션으로부터 수신된 애플리케이션 품질 메트릭값에 적어도 일부 기반하는 것인 방법.
  75. 제63항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보는 상기 데이터 스트림에 관련된 애플리케이션 특성 데이터 세트 및 단말 노드 특성 데이터 세트 중 적어도 하나를 포함하는 것인 방법.
  76. 제63항에 있어서, 상기 애플리케이션 정보는 주기적 단위 및 비주기적 단위 중 하나로 상기 단말 노드로부터 상기 액세스 노드로 송신되는 것인 방법.
  77. 제63항에 있어서, 상기 애플리케이션 정보는 상기 단말 노드와 연관된 단말 노드 아이디, 상기 액세스 노드와 연관된 셀 아이디, 및 핸드오버 메트릭값 중 하나 이상을 더 포함하는 것인 방법.
  78. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 데이터 패킷 지연 명령어, 데이터 패킷 폐기 명령어, 확인응답 지연 명령어, 확인응답 폐기 명령어, 새로운 데이터 스트림 요청 지연 명령어, 새로운 데이터 스트림 요청 폐기 명령어, 및 애플리케이션 종료 명령어 중 하나 이상을 포함하는 것인 방법.
  79. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값 아래에 있는 시간 듀레이션 중 적어도 하나를 포함하고, 상기 적어도 하나의 경감 명령어를 구현하는 단계는 상기 종합적 품질 메트릭값 및 상기 시간 듀레이션 중 상기 적어도 하나에 기반하여 경감 액션을 결정하는 단계를 포함하는 것인 방법.
  80. 제63항에 있어서, 상기 적어도 하나의 경감 명령어를 구현하는 단계는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 방법.
  81. 제80항에 있어서, 상기 적어도 하나의 경감 명령어는 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 상기 애플리케이션 데이터 스트림 상에 구현되고, 그 후 연속하여 다음의 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 적어도 하나의 다른 애플리케이션 데이터 스트림에 대해 구현되는 것인 방법.
  82. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 구현의 시간 듀레이션이 증가함에 따라 증가하는 수의 연관된 애플리케이션 데이터 스트림 상에 구현되는 것인 방법.
  83. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 품질 메트릭값이 임계값 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 방법.
  84. 제63항에 있어서, 상기 적어도 하나의 경감 명령어의 구현 레벨은 품질 메트릭값에 기반하는 것인 방법.
KR1020140193534A 2013-12-30 2014-12-30 협력형 통신 시스템 내 애플리케이션 품질 관리 KR102234927B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/143,800 US20140153392A1 (en) 2011-12-22 2013-12-30 Application quality management in a cooperative communication system
US14/143,800 2013-12-30

Publications (2)

Publication Number Publication Date
KR20150079463A true KR20150079463A (ko) 2015-07-08
KR102234927B1 KR102234927B1 (ko) 2021-04-02

Family

ID=53396023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140193534A KR102234927B1 (ko) 2013-12-30 2014-12-30 협력형 통신 시스템 내 애플리케이션 품질 관리

Country Status (2)

Country Link
KR (1) KR102234927B1 (ko)
FR (1) FR3016108B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101956882B1 (ko) * 2017-11-01 2019-06-19 국민대학교산학협력단 비트맵 기반의 분산 네트워크 빈발 이벤트 수집 장치 및 방법, 이를 저장하는 기록매체
KR102628952B1 (ko) * 2022-09-20 2024-01-23 최수정 쿠폰 발급을 통한 결제 중개 시스템의 동작 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3049150B1 (fr) * 2016-03-21 2019-06-07 Societe Francaise Du Radiotelephone-Sfr Procede et systeme d'optimisation de debit individualise au sein d'un reseau de telecommunications
CN111953552B (zh) * 2019-05-14 2022-12-13 华为技术有限公司 数据流的分类方法和报文转发设备
CN112616177B (zh) * 2020-12-25 2023-07-21 Oppo广东移动通信有限公司 网络控制方法、装置、存储介质以及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055708A1 (en) * 2003-09-04 2005-03-10 Kenneth Gould Method to block unauthorized network traffic in a cable data network
US20090238098A1 (en) * 2008-03-21 2009-09-24 Zhijun Cai Method and system for the indication of long drx in a wireless network
US20100177650A1 (en) * 2007-03-30 2010-07-15 Wittgreffe John P Data network monitoring system and method
US20130100819A1 (en) * 2011-10-19 2013-04-25 Qualcomm Incorporated Selectively acquiring and advertising a connection between a user equipment and a wireless local area network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854958B2 (en) * 2011-12-22 2014-10-07 Cygnus Broadband, Inc. Congestion induced video scaling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055708A1 (en) * 2003-09-04 2005-03-10 Kenneth Gould Method to block unauthorized network traffic in a cable data network
US20100177650A1 (en) * 2007-03-30 2010-07-15 Wittgreffe John P Data network monitoring system and method
US20090238098A1 (en) * 2008-03-21 2009-09-24 Zhijun Cai Method and system for the indication of long drx in a wireless network
US20130100819A1 (en) * 2011-10-19 2013-04-25 Qualcomm Incorporated Selectively acquiring and advertising a connection between a user equipment and a wireless local area network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101956882B1 (ko) * 2017-11-01 2019-06-19 국민대학교산학협력단 비트맵 기반의 분산 네트워크 빈발 이벤트 수집 장치 및 방법, 이를 저장하는 기록매체
KR102628952B1 (ko) * 2022-09-20 2024-01-23 최수정 쿠폰 발급을 통한 결제 중개 시스템의 동작 방법

Also Published As

Publication number Publication date
FR3016108B1 (fr) 2019-06-28
KR102234927B1 (ko) 2021-04-02
FR3016108A1 (ko) 2015-07-03

Similar Documents

Publication Publication Date Title
US10623928B2 (en) Terminal node, method, storage medium for video data transmission
US20140155043A1 (en) Application quality management in a communication system
US20140153392A1 (en) Application quality management in a cooperative communication system
JP7238933B2 (ja) 受信した体感品質情報に基づくリソース割り当ての最適化
US10097946B2 (en) Systems and methods for cooperative applications in communication systems
CN109417534B (zh) 通信网络服务质量能力开放方法和装置
KR102013729B1 (ko) 통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템
US10028167B2 (en) Optimizing quality of service in a content distribution network using software defined networking
US9414256B2 (en) Apparatus and methods for improved packet flow mobility
WO2017193970A1 (en) Method and system for providing guaranteed quality of service and quality of experience channel
KR101489414B1 (ko) 통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템
KR20170093938A (ko) 통신들의 경험 품질 시행
US20120327779A1 (en) Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
CN104753812B (zh) 通信系统中的应用质量管理
US20130227106A1 (en) Method and apparatus for video session management
CN109041112B (zh) 接入节点和操作接入节点的方法
KR102234927B1 (ko) 협력형 통신 시스템 내 애플리케이션 품질 관리
JP2009105949A5 (ko)
EP2859769B1 (en) Systems and methods for cooperative applications in communication systems

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right