KR102234927B1 - Application quality management in a cooperative communication system - Google Patents

Application quality management in a cooperative communication system Download PDF

Info

Publication number
KR102234927B1
KR102234927B1 KR1020140193534A KR20140193534A KR102234927B1 KR 102234927 B1 KR102234927 B1 KR 102234927B1 KR 1020140193534 A KR1020140193534 A KR 1020140193534A KR 20140193534 A KR20140193534 A KR 20140193534A KR 102234927 B1 KR102234927 B1 KR 102234927B1
Authority
KR
South Korea
Prior art keywords
application
data stream
terminal node
node
quality metric
Prior art date
Application number
KR1020140193534A
Other languages
Korean (ko)
Other versions
KR20150079463A (en
Inventor
하이보 쑤
고피나스 무랄리 치나탐비
데이비드 겔
케니스 엘. 스탠우드
에릭 콜반
Original Assignee
타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/143,800 external-priority patent/US20140153392A1/en
Application filed by 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 filed Critical 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Publication of KR20150079463A publication Critical patent/KR20150079463A/en
Application granted granted Critical
Publication of KR102234927B1 publication Critical patent/KR102234927B1/en

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

Abstract

통신 네트워크 내 애플리케이션 매니저 노드는 통신 네트워크 내 데이터 통신을 모니터링하도록 구성된 트랜시버 모듈, 및 트랜시버에 결합된 프로세서를 포함하며, 그 프로세서는 적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 적어도 하나의 단말 노드로부터 수신하고, 애플리케이션 정보에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하고, 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 애플리케이션 정보에 적어도 일부 기반하여 액세스 노드와 연관된 종합적 품질 메트릭값을 결정하고, 그리고 종합적 품질 메트릭값에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하도록 구성된다.The application manager node in the communication network includes a transceiver module configured to monitor data communication in the communication network, and a processor coupled to the transceiver, the processor comprising at least one application associated with at least one application running in at least one terminal node. Receive application information related to the application data stream from at least one terminal node, and update a relationship map including a relationship between each of the at least one application data stream and an access node based on the application information, and at least one terminal node Determining a comprehensive quality metric value associated with the access node based at least in part on application information received from one or more of, and at least one mitigation option for at least one of the at least one application data stream based on the comprehensive quality metric Is configured to choose.

Description

협력형 통신 시스템 내 애플리케이션 품질 관리{APPLICATION QUALITY MANAGEMENT IN A COOPERATIVE COMMUNICATION SYSTEM}Application quality management in a cooperative communication system {APPLICATION QUALITY MANAGEMENT IN A COOPERATIVE COMMUNICATION SYSTEM}

관련 출원에 대한 상호 참조Cross-reference to related applications

본 출원은 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")의 일부계속출원이며, 이들 모두는 참조로 본 명세서에 편입되는 것이다.
This application is filed on December 22, 2011, US Provisional Application No. 61/579,324 (invention title: "Congestion Induced Video Scaling") and US Provisional Application No. 61/658,774, filed on June 12, 2012 (invention US Patent Application No. 13/653,239, filed on October 16, 2012, claiming the benefits of "Systems and Methods for Cooperative Applications in a Communication System" (name of the invention: "Systems and Methods for Cooperative Applications in a Communication System") Applications in Communication Systems"), which is a continuing application in part of U.S. Patent Application No. 13/744,101, filed January 17, 2013 (name of the invention: "Systems and Methods for Cooperative Applications in Communication Systems"). , All of these are incorporated herein by reference.

본 발명은 일반적으로는 통신 시스템 분야, 및 통신 시스템 내 협력형 애플리케이션의 구현, 사용 및 관리에 관한 것이다.The present invention relates generally to the field of communication systems, and to the implementation, use and management of cooperative applications in communication systems.

인터넷 프로토콜(IP) 네트워크와 같은 통신 네트워크에 있어서, 각각의 노드 및 서브네트는 어느 소정 시각에라도 효과적으로 전송될 수 있는 데이터량에 대한 제한을 갖는다. 유선 네트워크에서, 이것은 보통은 장비 능력의 함수이다. 예를 들어, 기가비트 이더넷 링크가 전송할 수 있는 초당 트래픽은 1십억 비트에 불과하다. 무선 네트워크에 있어서, 용량은 사용되는 통신 프로토콜, 송신 기술 및 채널 대역폭에 의해 제한된다. 무선 네트워크는 송신과 수신 시스템 간 신호의 품질 및 서비스 구역에 할당된 스펙트럼의 양에 의해 더 제약된다. 이들 태양은 동적일 수 있기 때문에, 무선 시스템의 용량은 시간에 따라 달라질 수 있다.In a communication network such as an Internet Protocol (IP) network, each node and subnet has a limitation on the amount of data that can be effectively transmitted at any predetermined time. In a wired network, this is usually a function of equipment capabilities. For example, a Gigabit Ethernet link can transmit only 1 billion bits of traffic per second. In wireless networks, capacity is limited by the communication protocol, transmission technology and channel bandwidth used. Wireless networks are further constrained by the quality of the signal between the transmitting and receiving systems and the amount of spectrum allocated to the service area. Because these aspects can be dynamic, the capacity of a wireless system can vary over time.

역사적으로, 통신 시스템은, 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)을 무시한다.Historically, communication systems have differentiated traffic by a class of service (CoS) within a core, as in a packet gateway (P-GW) within an LTE system. This means that operator-provided services, such as voice and video from the operator's own or coordinated content delivery network (CDN), have a quality of service (QoS) such as a guaranteed bit rate (GBR). It has the advantage of getting a guarantee. Traffic that is not associated with operator-provided services is typically less differentiated, leading to heterogeneous traffic being grouped into the same CoS. Moreover, such traffic is usually provided with resources on a best effort basis, ignoring the QoS requirements of specific applications that generate the traffic, and ignoring the quality of experience (QoE) perceived by the end user.

부가적 통신 트래픽은 오버-더-톱(over-the-top: OTT) 서비스, 즉, 오퍼레이터 제공 또는 조정되지 않은 서비스로부터일 수 있다. 스카이프 인터넷 전화(voice over internet protocol: VoIP), 유튜브 점진적 다운로드 비디오, 넷플릭스 스트리밍 비디오, 및 판도라 라디오 스트리밍 오디오가 OTT 서비스의 예들이다. OTT 음성 및 비디오 서비스는 이메일, 소셜 네트워킹 및 파일 전송과 함께 최선 노력 트래픽으로서 함께 그룹화되려는 경향이 있다. 네트워크가 정체되게 될 때, OTT 서비스는 모두 전형적으로는 최종 사용자에 의해 인지되는 품질에서의 충격에 무관하게 동일하게 취급된다. 그것들은 전형적으로는 동일 CoS로서 스케줄링된다. 부가적으로, OTT 서비스는 전형적으로는 동일한 논리 베어러로 그룹화된다. 오늘날의 통신 시스템에 있어서, 수락 제어는 논리 베어러 기반으로 그 베어러 상에서의 서비스의 혼합을 고려하지 않고 수행된다. 결과적으로, 음성, 스트리밍 비디오 및 스트리밍 오디오와 같은 실시간 서비스는 이메일과 같은 비-실시간 서비스에 비해 QoE가 상당히 저하된 것으로 인지된다.The additional communication traffic may be from an over-the-top (OTT) service, ie, an operator provided or uncoordinated service. Skype over internet protocol (VoIP), YouTube progressive download video, Netflix streaming video, and Pandora Radio streaming audio are examples of OTT services. OTT voice and video services tend to be grouped together as best effort traffic along with email, social networking and file transfer. When the network becomes congested, all OTT services are typically treated the same regardless of the impact on the quality perceived by the end user. They are typically scheduled as the same CoS. Additionally, OTT services are typically grouped into the same logical bearer. In today's communication systems, admission control is performed on a logical bearer basis, without considering the mixing of services on that bearer. As a result, real-time services such as voice, streaming video and streaming audio are perceived to have significantly lower QoE compared to non-real-time services such as email.

통신 시스템 내 협력형 애플리케이션을 위한 방법, 디바이스 및 시스템이 제공된다. 일 태양에 있어서, 본 발명은 통신 네트워크 내 데이터 통신을 모니터링하도록 구성된 트랜시버 모듈, 및 트랜시버에 결합된 프로세서를 포함하는, 통신 네트워크 내 애플리케이션 매니저 노드를 제공하며, 그 프로세서는 적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 적어도 하나의 단말 노드로부터 수신하고, 애플리케이션 정보에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하고, 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 애플리케이션 정보에 적어도 일부 기반하여 액세스 노드와 연관된 종합적 품질 메트릭값을 결정하고, 그리고 종합적 품질 메트릭값에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하도록 구성된다.Methods, devices and systems are provided for collaborative applications in communication systems. In one aspect, the present invention provides an application manager node in a communication network, comprising a transceiver module configured to monitor data communication in the communication network, and a processor coupled to the transceiver, the processor operating in at least one terminal node. Receiving application information related to at least one application data stream associated with at least one application being executed from at least one terminal node, and including a relationship between each of the at least one application data stream and an access node based on the application information Update the relationship map, determine a comprehensive quality metric value associated with the access node based at least in part on application information received from one or more of the at least one terminal node, and based on the comprehensive quality metric value, at least one application data Configured to select at least one mitigation option for one or more of the streams.

다른 일 태양에 있어서, 본 발명은 통신 네트워크를 통하여 액세스 노드 내외로 데이터 패킷을 송수신하도록 구성된 트랜시버 모듈, 및 트랜시버에 결합된 프로세서를 포함하는, 액세스 노드를 갖는 통신 네트워크 내 단말 노드를 제공하며, 그 프로세서는 통신 네트워크를 통하여 액세스 노드 내외로 송수신되는 데이터 패킷을 모니터링함으로써 적어도 하나의 애플리케이션 데이터 스트림을 검출하고, 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 애플리케이션 정보를 결정하고, 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 통신 네트워크를 통하여 송신하고, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 통신 네트워크를 통하여 수신하고, 그리고 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 적어도 하나의 경감 명령어를 구현하도록 구성된다.In another aspect, the present invention provides a terminal node in a communication network having an access node, comprising a transceiver module configured to transmit and receive data packets in and out of an access node through a communication network, and a processor coupled to the transceiver, the The processor detects at least one application data stream by monitoring data packets transmitted and received in and out of the access node through the communication network, and for each of the detected at least one application data stream, a terminal associated with each application data stream As application information related to an application running in the node, application information including a data stream quality metric for each application data stream is determined, and application information for each of the detected at least one application data stream is transmitted to the communication network Transmit via, and receive at least one mitigation instruction associated with one or more of the at least one application data stream through the communication network, and implement at least one mitigation instruction for the associated one or more of the at least one application data stream. It is composed.

다른 일 태양에 있어서, 본 발명은 통신 네트워크에서 애플리케이션 품질의 관리를 위한 방법을 제공하며, 그 방법은 적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 적어도 하나의 단말 노드로부터 수신하는 단계, 애플리케이션 정보에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하는 단계, 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 애플리케이션 정보에 적어도 일부 기반하여 종합적 품질 메트릭값을 결정하는 단계, 및 종합적 품질 메트릭값에 기반하여, 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하는 단계를 포함한다.In another aspect, the present invention provides a method for managing application quality in a communication network, the method comprising an application related to at least one application data stream associated with at least one application operating in at least one terminal node. Receiving information from at least one terminal node, updating a relationship map including a relationship between each of at least one application data stream and an access node, based on the application information, from at least one of the at least one terminal node Determining a comprehensive quality metric value based at least in part on the received application information, and selecting at least one mitigation option for one or more of the at least one application data stream based on the comprehensive quality metric value. .

다른 일 태양에 있어서, 본 발명은 통신 네트워크 내 단말 노드에서 애플리케이션 품질을 관리하기 위한 방법을 제공하며, 그 방법은 통신 네트워크를 통하여 액세스 노드 내외로 송수신되는 데이터 패킷을 모니터링함으로써 적어도 하나의 애플리케이션 데이터 스트림을 검출하는 단계, 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 애플리케이션 정보를 결정하는 단계, 및 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 통신 네트워크를 통하여 송신하는 단계를 포함한다. 그 방법은 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 통신 네트워크를 통하여 수신하는 단계, 및 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 적어도 하나의 경감 명령어를 구현하는 단계를 더 포함한다.In another aspect, the present invention provides a method for managing application quality in a terminal node in a communication network, the method comprising monitoring data packets transmitted and received in and out of an access node through a communication network, thereby providing at least one application data stream. Detecting, for each of the detected at least one application data stream, a data stream for each application data stream as application information related to an application running in a terminal node associated with each application data stream Determining application information including a quality metric, and transmitting application information for each of the detected at least one application data stream through the communication network. The method includes receiving, via a communication network, at least one mitigation instruction associated with one or more of the at least one application data stream, and implementing at least one mitigation instruction for the associated one or more of the at least one application data stream. It further includes.

본 발명의 다른 특징 및 이점은 본 발명의 태양을 예로써 예시하는 이하의 설명으로부터 명백해지는 것이다.Other features and advantages of the present invention will become apparent from the following description illustrating aspects of the present invention by way of example.

본 발명의 상세는, 그 구조에 대해서도 그 동작에 대해서도, 유사한 참조 숫자가 유사한 부분을 가리키는 수반 도면의 검토에 의해 부분적으로 얻어질 수 있다.
도 1은 여기에서 개시되는 방법 및 시스템이 본 발명의 태양에 따라 구현될 수 있는 통신 네트워크의 블록 선도;
도 2는 본 발명의 태양에 따른 액세스 노드의 블록 선도;
도 3은 본 발명의 태양에 따른 단말 노드의 블록 선도;
도 4는 본 발명의 태양에 따른 액세스 노드의 태양의 예시도;
도 5는 본 발명의 태양에 따라 제어 플레인 관계(control plane relationship)를 도시하는 통신 시스템의 블록 선도;
도 6은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트의 블록 선도;
도 7은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 통신 시스템의 블록 선도;
도 8은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 다른 통신 시스템의 블록 선도;
도 9는 본 발명의 태양에 따른 패킷 검사 모듈의 블록 선도;
도 10은 본 발명의 태양에 따른 체감 품질 매니저 모듈을 포함하는 통신 네트워크 환경의 블록 선도;
도 11은 본 발명의 추가적 태양에 따른 체감 품질 매니저 모듈을 포함하는 통신 네트워크 환경의 블록 선도;
도 12는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도;
도 13은 본 발명의 태양에 따른 체감 품질 매니저 모듈의 블록 선도;
도 14는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 기능성을 묘사하는 순서도;
도 15는 본 발명의 태양에 따른 체감 품질 매니저 모듈의 기능성을 묘사하는 순서도;
도 16은 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 기능성을 묘사하는 순서도;
도 17은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도; 및
도 18은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 기능성을 묘사하는 순서도.
Details of the present invention can be obtained in part by review of accompanying drawings in which similar reference numerals indicate similar parts, both for their structure and for their operation.
1 is a block diagram of a communication network in which the methods and systems disclosed herein may be implemented in accordance with aspects of the present invention;
2 is a block diagram of an access node in accordance with an aspect of the present invention;
3 is a block diagram of a terminal node according to an aspect of the present invention;
4 is an illustration of an aspect of an access node in accordance with an aspect of the present invention;
5 is a block diagram of a communication system showing a control plane relationship in accordance with an aspect of the present invention;
6 is a block diagram of an application and an application agent in accordance with an aspect of the present invention;
7 is a block diagram of a communication system with an application and an application agent in accordance with an aspect of the present invention;
8 is a block diagram of another communication system with an application and an application agent in accordance with an aspect of the present invention;
9 is a block diagram of a packet inspection module according to an aspect of the present invention;
10 is a block diagram of a communication network environment including a sensory quality manager module according to an aspect of the present invention;
11 is a block diagram of a communication network environment including a sensory quality manager module according to an additional aspect of the present invention;
12 is a block diagram of a master application module in a terminal node supporting haptic quality management according to an aspect of the present invention;
13 is a block diagram of a sensory quality manager module according to an aspect of the present invention;
14 is a flow chart depicting the functionality of a master application module in a terminal node supporting haptic quality management in accordance with an aspect of the present invention;
15 is a flow chart depicting the functionality of a sensory quality manager module in accordance with an aspect of the present invention;
16 is a flow chart depicting the functionality of a master application module in a terminal node supporting haptic quality management in accordance with an aspect of the present invention;
17 is a block diagram of a master application module in a terminal node performing haptic quality management according to an aspect of the present invention; And
18 is a flow chart depicting the functionality of a master application module in a terminal node performing haptic quality management in accordance with an aspect of the present invention.

애플리케이션 요구를 알고 있는 스케줄링 및 수락 제어 기능을 갖는 통신 시스템을 위한 방법 및 시스템이 제공된다. 사용자 장비 애플리케이션과 애플리케이션-인식 기지국(또는 다른 네트워크 노드) 간 통신 및 협력은 사용자의 체감 품질(QoE)을 개선할 수 있다. 그 시스템 및 방법은 용량 및 스펙트럼 제약형 다중-액세스 통신 시스템에 있어서 특히 유용하다. 일 태양에 있어서, 여기에서 개시되는 시스템 및 방법은 이종 애플리케이션으로부터의 데이터 스트림 또는 흐름과 연관되는 서비스 클래스와 사용될 수 있다.A method and system is provided for a communication system with scheduling and admission control functions that are aware of application needs. Communication and cooperation between user equipment applications and application-aware base stations (or other network nodes) can improve the quality of experience (QoE) of users. The systems and methods are particularly useful for capacity and spectrum constrained multiple-access communication systems. In one aspect, the systems and methods disclosed herein may be used with classes of service that are associated with data streams or flows from heterogeneous applications.

여기에서 개시되는 시스템 및 방법은 유선 및 무선 기술을 포함하는 다양한 용량-제한된 통신 시스템에 적용될 수 있다. 예컨대, 여기에서 개시되는 시스템 및 방법은 (롱 텀 에볼루션(LTE), LTE 어드밴스트 및 와이맥스를 포함하는) 셀룰러 2G, 3G, 4G, 셀룰러 백홀, 와이파이, 울트라 모바일 브로드밴드(UMB), 케이블 모뎀 및 다른 점 대 점 또는 점 대 다점 유선 또는 무선 기술과 사용될 수 있다. 간결하게 보여주기 위해, 특정 기술 및 표준의 체계 및 술어를 사용하여 다양한 실시예들이 설명된다. 그렇지만, 여기에서 설명되는 시스템 및 방법은 다른 기술 및 표준에 광범위하게 적용가능하다.The systems and methods disclosed herein can be applied to a variety of capacity-limited communication systems including wired and wireless technologies. For example, the systems and methods disclosed herein include cellular 2G, 3G, 4G, cellular backhaul, Wi-Fi, ultra mobile broadband (UMB), cable modems and others (including Long Term Evolution (LTE), LTE Advanced and WiMAX). It can be used with point-to-point or point-to-multipoint wired or wireless technologies. For the sake of brevity, various embodiments are described using specific techniques and standards of systems and predicates. However, the systems and methods described herein are widely applicable to other technologies and standards.

도 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 is a block diagram of a communication network in which the methods and systems disclosed herein may be implemented in accordance with aspects of the present invention. The macro base station 110 is connected to the core network 102 through a backhaul connection 170. In one embodiment, the backhaul connection 170 is a bidirectional link or two unidirectional links. The direction from the network 102 to the macro base station 110 is referred to as a downstream or downlink (DL) direction. The direction from the macro base station 110 to the core network 102 is referred to as an upstream or uplink (UL) direction. The subscriber stations 150(1) and 150(4) may access the core network 102 through the macro base station 110. The radio link 190 between the subscriber station 150 and the macro base station 110 is a two-way point-to-multipoint link in one embodiment. The direction of the radio link 190 from the macro base station 110 to the subscriber station 150 is referred to as a downlink or downstream direction. The direction of the radio link 190 from the subscriber station 150 to the macro base station 110 is referred to as an uplink or upstream direction. A subscriber station is sometimes referred to as a user equipment (UE), a user, a user device, a handset, a terminal node or a user terminal, and is usually a mobile device such as a smart phone or tablet. The subscriber station 150 accesses the content over the radio link 190 using a base station such as the macro base station 110 as a bridge. In other words, in general, a base station passes user application data and any user application control messages between subscriber station 150 and core network 102 without the base station being the source of data and control messages or the destination for data and control messages. give.

도 1에 예시된 네트워크 구성에 있어서, 사무소 빌딩(120(1))은 커버리지 음영(104)을 야기한다. 피코 지국(130)은 커버리지 음영(104)에서 가입자 지국(150(2), 150(5))에 커버리지를 제공할 수 있다. 피코 지국(130)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되어 있다. 가입자 지국(150(2), 150(5))은 매크로 기지국(110)과 가입자 지국(150(1), 150(4)) 간 무선 링크(190)와 동일하거나 유사한 링크를 통해 피코 지국(130)에 접속될 수 있다.In the network configuration illustrated in FIG. 1, office building 120(1) causes coverage shading 104. The pico station 130 may provide coverage to the subscriber stations 150(2) and 150(5) in the coverage shade 104. The pico station 130 is connected to the core network 102 through a backhaul connection 170. The subscriber stations 150(2) and 150(5) are the same or similar to the radio link 190 between the macro base station 110 and the subscriber stations 150(1) and 150(4). ) Can be accessed.

사무소 빌딩(120(2))에 있어서, 기업용 펨토셀(140)은 가입자 지국(150(3), 150(6))에 빌딩-내 커버리지를 제공한다. 기업용 펨토셀(140)은 기업용 게이트웨이(103)에 의해 제공된 광대역 커넥션(160)을 이용함으로써 인터넷 서비스 제공자 네트워크(101)를 통해 코어 네트워크(102)에 접속할 수 있다.For office building 120(2), enterprise femtocell 140 provides in-building coverage to subscriber stations 150(3), 150(6). The enterprise femtocell 140 may access the core network 102 through the Internet service provider network 101 by using the broadband connection 160 provided by the enterprise gateway 103.

희소 통신 자원을 할당하는데 도움을 주기 위해, 종래 통신 시스템은, LTE 시스템 내 패킷 게이트웨이(P-GW)에서와 같이, 코어 네트워크 내 서비스 클래스(CoS)에 의해 트래픽을 차별하여 왔다. CoS 내에서 트래픽은 보통은 자원 할당을 스케줄링할 목적으로는 유사하게 취급된다. CoS 내에서 트래픽은 보통은 자원 할당을 스케줄링할 목적으로는 유사하게 취급된다. 이것은 오퍼레이터의 자신의 또는 조정된 컨텐트 배송 네트워크(CDN)로부터의 음성 및 비디오와 같은 오퍼레이터 제공 서비스가 보증 비트 레이트(GBR)와 같은 QoS 보증을 받을 수 있게 한다.To help allocate scarce communication resources, conventional communication systems have discriminated against traffic by a class of service (CoS) within a core network, as in a packet gateway (P-GW) within an LTE system. Within the CoS, traffic is usually treated similarly for the purpose of scheduling resource allocation. Within the CoS, traffic is usually treated similarly for the purpose of scheduling resource allocation. This enables operator-provided services such as voice and video from the operator's own or coordinated content delivery network (CDN) to receive QoS guarantees such as Guaranteed Bit Rate (GBR).

오퍼레이터 제공 서비스와 연관되지 않은 트래픽은 오버-더-톱(OTT) 트래픽이라고 지칭될 수 있다. 종래 시스템은 전형적으로는 다양한 유형의 OTT 트래픽 간 차등은 전혀 또는 거의 갖고 있지 않다. 그리하여, 이종 트래픽이 동일 CoS로 그룹화될 수 있다. 더욱, 이러한 트래픽에는, 예를 들어 보증 비트 레이트 없이, 최선 노력 기반으로 자원이 제공된다. 그리하여, 종래 시스템은 OTT 트래픽을 발생시키는 특정 애플리케이션의 QoS 요구를 무시하고, 최종 사용자에 의해 인지되는 체감 품질(QoE)을 무시한다. 특히, 스카이프 인터넷 전화(VoIP), 유튜브 점진적 다운로드 비디오, 넷플릭스 스트리밍 비디오, 페이스타임 대화형 비디오, 및 판도라 라디오 스트리밍 오디오와 같은 OTT 음성 및 비디오 서비스는 이메일, 소셜 네트워킹 및 파일 전송과 함께 최선 노력 트래픽으로서 함께 그룹화되었을 수 있다. 네트워크가 정체되게 될 때, 이들 서비스는 모두 전형적으로는 최종 사용자에 의해 인지되는 품질에서의 충격에 무관하게 동일하게 취급된다. 결과적으로, 실시간 서비스(예를 들어, 음성, 스트리밍 비디오 및 스트리밍 오디오)는 비-실시간 서비스(예를 들어, 이메일)에 비해 QoE가 상당한 저하된 것으로 인지된다.Traffic that is not associated with an operator-provided service may be referred to as over-the-top (OTT) traffic. Conventional systems typically have little or no difference between the various types of OTT traffic. Thus, heterogeneous traffic can be grouped into the same CoS. Moreover, such traffic is provided with resources on a best effort basis, for example without guaranteed bit rate. Thus, the conventional system ignores the QoS requirements of specific applications that generate OTT traffic, and ignores the perceived quality of experience (QoE) by the end user. In particular, OTT voice and video services such as Skype Internet Telephony (VoIP), YouTube progressive download video, Netflix streaming video, FaceTime interactive video, and Pandora Radio streaming audio as best effort traffic along with email, social networking and file transfer. May have been grouped together. When the network becomes congested, all of these services are typically treated the same regardless of the impact on the quality perceived by the end user. As a result, real-time services (eg, voice, streaming video and streaming audio) are perceived to have a significant drop in QoE compared to non-real-time services (eg, email).

도 1의 통신 네트워크에 있어서 그리고 다른 유선 및 무선 네트워크에 있어서, 하나 이상의 데이터 스트림 또는 서비스에는 중요도 및 소망의 성능 레벨이 배정될 수 있다. 중요도 및 소망의 성능 레벨은 각각의 데이터 스트림으로부터의 패킷을 스케줄링 그룹 및 데이터 큐에 배정하는데 사용될 수 있다. 또한 스케줄링 알고리즘은 어느 큐(및 그래서 어느 데이터 스트림 및 패킷)를 다른 것들에 우선하여 취급할지 결정하도록 그 정보를 사용할 수 있다.In the communication network of FIG. 1 and in other wired and wireless networks, one or more data streams or services may be assigned an importance and a desired level of performance. The importance and desired performance level can be used to assign packets from each data stream to the scheduling group and data queue. The scheduling algorithm can also use that information to determine which queues (and thus which data streams and packets) to treat in preference to others.

스케줄링 알고리즘은 각각의 큐의 소망의 서비스 레벨 및 중요도를 전하도록 스케줄링 가중치를 사용할 수 있다. 예를 들어, 가중 라운드 로빈(weighted round robin: WRR) 및 가중 공정 큐잉(weighted fair queuing: WFQ) 스케줄링 방법이 사용될 수 있으며, 그 둘 다는 데이터 큐 간 서비스를 조절하도록 가중치를 사용한다. 스케줄링 알고리즘은 또한 각각의 큐의 중요도 및 소망의 서비스 레벨을 크레디트 및 데빗의 사용을 통해 전할 수 있다. 예를 들어, 비례 공정 스케줄러(proportional fair scheduler: PFS) 방법은 데이터 큐 간 서비스를 조절하도록 크레디트 및 데빗을 사용할 수 있다. 스케줄링 알고리즘은 가중치를 사용하고 그 가중치를 스케줄링 라운드 동안 서비스 제공받을 바이트 또는 패킷의 번호의 형태로 크레디트로 변환할 수 있다.The scheduling algorithm can use scheduling weights to convey the desired service level and importance of each queue. For example, weighted round robin (WRR) and weighted fair queuing (WFQ) scheduling methods can be used, both of which use weights to adjust services between data queues. The scheduling algorithm can also convey the importance and desired service level of each queue through the use of credits and debits. For example, the proportional fair scheduler (PFS) method can use credits and debits to control services between data queues. The scheduling algorithm may use a weight and convert the weight into a credit in the form of a number of bytes or packets to be served during the scheduling round.

통신 네트워크 내 노드는 스케줄러에서 자원을 할당하는데 사용된 가중치 또는 크레디트를 동적으로 수정하도록 애플리케이션 인자(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")에 설명된 스케줄링을 위한 방법을 사용할 수 있으며, 그것은 참조에 의해 여기에 편입되는 것이다.Nodes in the communication network can improve QoE by using an application factor (AF) to dynamically modify the weight or credit used to allocate resources in the scheduler. AF may be related to the current session QoE level. A larger AF can be applied to sessions with low QoE, thereby increasing resource allocation. Conversely, smaller AFs can be applied to sessions with high QoE, thereby reducing the resources allocated to that session and releasing resources for use by other sessions. Devices in a communications network are described in US Patent Application No. 13/607,559 filed September 7, 2012 (name of the invention: "Systems and Methods for Congestion Detection for use in Prioritizing and Scheduling Packets in a Communication Network"). You can use a method for scheduling, which is incorporated herein by reference.

(매크로 기지국(110), 피코 지국(130), 기업용 게이트웨이(103), 기업용 펨토셀(140), 코어 네트워크(102) 내 디바이스, 및 인터넷 서비스 제공자 네트워크(101) 내 디바이스와 같은) 도 1의 네트워크 내 통신 노드 및 가입자 지국(150)은 애플리케이션 관련 정보를 통신할 수 있다. 가입자 지국 내 애플리케이션과 통신 노드 내 애플리케이션 에이전트 간 협력은 사용자 체감을 포함하여 통신 네트워크의 성능을 개선할 수 있다. 애플리케이션 관련 정보는 통신 노드를 통과하는 패킷의 검사를 통해 유도될 수 있다. 많은 애플리케이션에 대하여, 더 효율적이고 개선된 통신을 감안할 수 있는 가입자 지국 내 애플리케이션에 거주하는, 클라이언트 측 버퍼 점유율과 같은, 부가적 정보가 존재할 수 있다. 유사하게, 예를 들어 스케줄러 및 수락 제어 기능에서 통신 노드에 의한 개선된 성능의 결과를 차례로 초래할 더 지능적 자원 요청을 하는데 애플리케이션을 도와줄 수 있는 통신 노드 내 이용가능한, 정체 상태 정보와 같은, 정보가 존재할 수 있다. 예를 들어, 통신 시스템은 통신 채널 자원 할당을 개선하도록 그리고 어느 세션을 수락, 거부 또는 수정할지 결정하도록 애플리케이션 정보 및 정체 정보를 사용할 수 있다.The network of FIG. 1 (such as macro base station 110, pico station 130, enterprise gateway 103, enterprise femtocell 140, devices in core network 102, and devices in Internet service provider network 101) My communication node and subscriber station 150 may communicate application-related information. Cooperation between the application in the subscriber station and the application agent in the communication node can improve the performance of the communication network, including user experience. Application-related information may be derived through inspection of packets passing through the communication node. For many applications, there may be additional information, such as client-side buffer occupancy, residing in the application in the subscriber station that can allow for more efficient and improved communication. Similarly, information, such as congestion status information, available within the communication node, which can assist the application in making more intelligent resource requests, which in turn will result in improved performance by the communication node, for example in the scheduler and admission control functions. Can exist. For example, a communication system may use application information and congestion information to improve communication channel resource allocation and to determine which session to accept, reject or modify.

애플리케이션 관련 통신 또는 클라이언트 측 애플리케이션과 통신 노드 스케줄링 및 수락 제어 기능 간 협력은 사용자에 대한 QoE를 개선할 수 있다. 애플리케이션 관련 통신 및 협력은 QoS 자원 보증이 이용가능할 때에도 QoE를 개선할 수 있다. 예를 들어, 자원 보증은 정체, 피크 대 평균 비트 레이트, 및 애플리케이션 간 데이터의 이종성과 같은 순시적 조건을 포괄하고 있지는 않을 수 있다. Application-related communication or cooperation between client-side applications and communication node scheduling and admission control functions can improve QoE for users. Application-related communication and cooperation can improve QoE even when QoS resource guarantees are available. For example, resource guarantees may not cover instantaneous conditions such as congestion, peak-to-average bit rate, and heterogeneity of data between applications.

도 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)에 결합되어 있다. 2 is a functional block diagram of an access node 275 in accordance with an aspect of the present invention. In various embodiments, the access node 275 is a mobile WiMAX base station, a global system for mobile (GSM) radio base station transceiver (BTS), a Universal Mobile Telecommunications System (UMTS) node B, an LTE evolution node B (eNB or eNodeB), It may be a cable modem head end, or other wired or wireless access node of various form factors. For example, the macro base station 110, the pico station 130, or the enterprise femtocell 140 of FIG. 1 may be provided by, for example, the access node 275 of FIG. 2. The access node 275 includes a processor module 281. The processor module 281 is coupled to a transceiver (transceiver) module 279, a backhaul interface module 285 and a storage module 283.

송수신기 모듈(279)은 다른 디바이스와 통신을 송신 및 수신하도록 구성된다. 여러 실시예에 있어서, 통신은 무선으로 송신 및 수신된다. 그러한 실시예에 있어서, 일반적으로 액세스 노드(275)는 라디오 신호의 송신 및 수신을 위한 하나 이상의 안테나를 포함한다. 다른 실시예에 있어서, 통신은 유선 또는 광케이블과 같은 물리 커넥션을 통해 송신 및 수신된다. 송수신기 모듈(279)의 통신은 단말 노드와 하는 것일 수 있다.The transceiver module 279 is configured to transmit and receive communications with other devices. In various embodiments, communications are transmitted and received wirelessly. In such embodiments, the access node 275 generally includes one or more antennas for transmission and reception of radio signals. In another embodiment, the communication is transmitted and received over a physical connection such as a wired or optical cable. Communication of the transceiver module 279 may be performed with a terminal node.

백홀 인터페이스 모듈(285)은 액세스 노드(275)와 코어 네트워크 간 통신을 제공한다. 통신은 백홀 커넥션, 예를 들어, 도 1의 백홀 커넥션(170)을 통해서일 수 있다. 송수신기 모듈(279)을 통해 수신된 통신은, 프로세싱 후에, 백홀 커넥션 상에서 송신될 수 있다. 유사하게, 백홀 커넥션으로부터 수신된 통신은 송수신기 모듈(279)에 의해 송신될 수 있다. 도 2의 액세스 노드(275)가 단일 백홀 인터페이스 모듈(285)을 갖는 것으로 도시되어 있기는 하지만, 액세스 노드(275)의 다른 실시예는 다수의 백홀 인터페이스 모듈을 포함할 수 있다. 유사하게, 액세스 노드(275)는 다수의 송수신기 모듈을 포함할 수 있다. 다수의 백홀 인터페이스 모듈 및 송수신기 모듈은 서로 다른 프로토콜에 따라 동작할 수 있다.The backhaul interface module 285 provides communication between the access node 275 and the core network. Communication may be through a backhaul connection, for example backhaul connection 170 of FIG. 1. Communication received via the transceiver module 279 may, after processing, be transmitted on the backhaul connection. Similarly, communications received from the backhaul connection may be transmitted by the transceiver module 279. Although the access node 275 of FIG. 2 is shown as having a single backhaul interface module 285, other embodiments of the access node 275 may include multiple backhaul interface modules. Similarly, the access node 275 may include multiple transceiver modules. A plurality of backhaul interface modules and transceiver modules may operate according to different protocols.

프로세서 모듈(281)은 액세스 노드(275)에 의해 수신 및 송신되는 통신을 프로세싱할 수 있다. 저장 모듈(283)은 프로세서 모듈(281)에 의한 사용을 위해 데이터를 저장한다. 저장 모듈(283)은 또한 프로세서 모듈(281)에 의한 실행을 위해 컴퓨터 판독가능 명령어를 저장하도록 사용될 수 있다. 컴퓨터 판독가능 명령어는 액세스 노드(275)의 다양한 기능을 달성하도록 액세스 노드(275)에 의해 사용될 수 있다. 일 실시예에 있어서, 저장 모듈(283) 또는 저장 모듈(283)의 부분들은 비-일시적 머신 판독가능 매체라고 생각될 수 있다. 간결한 설명을 위해, 액세스 노드(275) 또는 그 실시예는 소정 기능성을 갖는 것으로 설명된다. 일부 실시예에 있어서 이러한 기능성은 저장 모듈(283), 송수신기 모듈(279) 및 백홀 인터페이스 모듈(285)과 함께 프로세서 모듈(281)에 의해 달성됨을 인식할 것이다. 더욱, 명령어를 실행하는 것에 부가하여, 프로세서 모듈(281)은 소정 기능을 달성하기 위해 특정 목적 하드웨어를 포함할 수 있다.Processor module 281 may process communications received and transmitted by access node 275. The storage module 283 stores data for use by the processor module 281. The storage module 283 may also be used to store computer readable instructions for execution by the processor module 281. Computer readable instructions may be used by the access node 275 to accomplish various functions of the access node 275. In one embodiment, storage module 283 or portions of storage module 283 may be considered a non-transitory machine-readable medium. For the sake of brevity, the access node 275 or an embodiment thereof is described as having certain functionality. It will be appreciated that in some embodiments this functionality is achieved by processor module 281 with storage module 283, transceiver module 279 and backhaul interface module 285. Moreover, in addition to executing instructions, processor module 281 may include special purpose hardware to achieve certain functions.

액세스 노드(275)는 다른 디바이스와 애플리케이션 관련 정보를 통신할 수 있다. 액세스 노드(275)는 다른 디바이스로부터 애플리케이션 관련 정보를 수신하거나, 다른 디바이스에 애플리케이션 관련 정보를 송신하거나, 그 둘 다 할 수 있다. 예를 들어, 단말 노드 내 애플리케이션은 단말 노드의 사용자에 대한 QoE를 개선하도록 액세스 노드(275)와 협력적으로 동작할 수 있다.The access node 275 may communicate application-related information with other devices. The access node 275 may receive application-related information from another device, transmit application-related information to another device, or both. For example, an application within a terminal node may work cooperatively with the access node 275 to improve QoE for users of the terminal node.

도 3은 본 발명의 태양에 따른 단말 노드(255)의 기능적 블록 선도이다. 다양한 실시예에 있어서, 단말 노드(255)는 모바일 와이맥스 기지국, GSM 셀룰러 폰, UMTS 셀룰러 폰, LTE 사용자 장비, 케이블 모뎀, 또는 다양한 형태 인수의 다른 유선 또는 무선 단말 노드일 수 있다. 도 1의 가입자 지국(150)은, 예를 들어, 도 3의 단말 노드(255)에 의해 제공될 수 있다. 단말 노드(255)는 프로세서 모듈(261)을 포함한다. 프로세서 모듈(261)은 송수신기 모듈(트랜시버)(259), 사용자 인터페이스 모듈(265) 및 저장 모듈(263)에 결합되어 있다.3 is a functional block diagram of a terminal node 255 according to an aspect of the present invention. In various embodiments, the terminal node 255 may be a mobile WiMAX base station, a GSM cellular phone, a UMTS cellular phone, an LTE user equipment, a cable modem, or other wired or wireless terminal node of various form factors. The subscriber station 150 of FIG. 1 may be provided, for example, by the terminal node 255 of FIG. 3. The terminal node 255 includes a processor module 261. The processor module 261 is coupled to a transceiver module (transceiver) 259, a user interface module 265 and a storage module 263.

송수신기 모듈(259)은 다른 디바이스와 통신을 송신 및 수신하도록 구성된다. 예를 들어, 송수신기 모듈(259)은 도 2의 액세스 노드(275)와 그 송수신기 모듈(279)을 통하여 통신할 수 있다. 통신이 무선인 실시예에 있어서, 단말 노드(255)는 일반적으로는 라디오 신호의 송신 및 수신을 위한 하나 이상의 안테나를 포함한다. 다른 실시예에 있어서, 통신은 유선 또는 광케이블과 같은 물리 커넥션을 통해 송신 및 수신된다. 도 3의 단말 노드(255)가 단일 송수신기 모듈(259)을 갖는 것으로 도시되어 있기는 하지만, 단말 노드(255)의 다른 실시예는 다수의 송수신기 모듈을 포함할 수 있다. 다수의 송수신기 모듈은 여러 다른 프로토콜에 따라 동작할 수 있다.The transceiver module 259 is configured to transmit and receive communications with other devices. For example, the transceiver module 259 may communicate through the access node 275 of FIG. 2 and its transceiver module 279. In embodiments where the communication is wireless, the terminal node 255 generally includes one or more antennas for transmitting and receiving radio signals. In another embodiment, the communication is transmitted and received over a physical connection such as a wired or optical cable. Although the terminal node 255 of FIG. 3 is shown as having a single transceiver module 259, other embodiments of the terminal node 255 may include multiple transceiver modules. Multiple transceiver modules can operate according to several different protocols.

단말 노드(255)는, 여러 실시예에서는, 사람(사용자)에 데이터를 제공하고 그로부터 데이터를 수신한다. 따라서, 단말 노드(255)는 사용자 인터페이스 모듈(265)을 포함한다. 사용자 인터페이스 모듈(265)은 사람과 통신하기 위한 모듈을 포함한다. 사용자 인터페이스 모듈(265)은, 일 실시예에서는, 사용자와의 음성 통신을 위한 마이크로폰 및 스피커, 사용자에게 시각적 정보를 제공하기 위한 스크린, 및 사용자로부터 영숫자 커맨드 및 데이터를 수용하기 위한 키패드를 포함한다. 일부 실시예에서는, 영숫자 입력에 부가하여 그래픽 입력을 허용하도록 키패드와 조합하여 또는 그 대신에 터치 스크린이 사용될 수 있다. 대안의 실시예에 있어서, 사용자 인터페이스 모듈(265)은 단말 노드(255)를 컴퓨터에 인터페이싱하도록 컴퓨터 인터페이스, 예를 들어, 범용 직렬 버스(USB) 인터페이스를 포함한다. 예를 들어, 단말 노드(255)는 사용자 인터페이스 모듈(265)을 통하여 노트북 컴퓨터에 접속될 수 있는 동글 형태일 수 있다. 컴퓨터와 동글의 조합은 또한 단말 노드로 생각될 수 있다. 사용자 인터페이스 모듈(265)은 다른 구성을 가질 수 있고, 바이브레이터, 카메라 및 라이트와 같은 기능을 포함할 수 있다.The terminal node 255, in various embodiments, provides data to and receives data from a person (user). Accordingly, the terminal node 255 includes a user interface module 265. The user interface module 265 includes a module for communicating with a person. The user interface module 265, in one embodiment, includes a microphone and speaker for voice communication with a user, a screen for providing visual information to the user, and a keypad for receiving alphanumeric commands and data from the user. In some embodiments, a touch screen may be used in combination with or instead of a keypad to allow graphical input in addition to alphanumeric input. In an alternative embodiment, the user interface module 265 includes a computer interface, eg, a universal serial bus (USB) interface, to interface the terminal node 255 to the computer. For example, the terminal node 255 may be in the form of a dongle that can be connected to a notebook computer through the user interface module 265. The combination of a computer and a dongle can also be thought of as a terminal node. The user interface module 265 may have different configurations and may include functions such as a vibrator, a camera, and a light.

프로세서 모듈(261)은 단말 노드(255)에 의해 수신 및 송신되는 통신을 프로세싱할 수 있다. 프로세서 모듈(261)은 또한 사용자 인터페이스 모듈(265)로의 출력 및 그로부터의 입력을 프로세싱할 수 있다. 저장 모듈(263)은 프로세서 모듈(261)에 의한 사용을 위해 데이터를 저장한다. 저장 모듈(263)은 또한 프로세서 모듈(261)에 의한 실행을 위해 컴퓨터 판독가능 명령어를 저장하도록 사용될 수 있다. 컴퓨터 판독가능 명령어는 단말 노드(255)의 다양한 기능을 달성하도록 단말 노드(255)에 의해 사용될 수 있다. 일 실시예에 있어서, 저장 모듈(263) 또는 저장 모듈(263)의 부분들은 비-일시적 머신 판독가능 매체라고 생각될 수 있다. 간결한 설명을 위해, 단말 노드(255) 또는 그 실시예는 소정 기능성을 갖는 것으로 설명된다. 일부 실시예에 있어서 이러한 기능성은 저장 모듈(263), 송수신기 모듈(259) 및 사용자 인터페이스 모듈(265)과 함께 프로세서 모듈(261)에 의해 달성됨을 인식할 것이다. 더욱, 명령어를 실행하는 것에 부가하여, 프로세서 모듈(261)은 소정 기능을 달성하기 위해 특정 목적 하드웨어를 포함할 수 있다.The processor module 261 may process communications received and transmitted by the terminal node 255. Processor module 261 may also process output to and input from user interface module 265. The storage module 263 stores data for use by the processor module 261. The storage module 263 can also be used to store computer readable instructions for execution by the processor module 261. Computer-readable instructions may be used by the terminal node 255 to achieve various functions of the terminal node 255. In one embodiment, storage module 263 or portions of storage module 263 may be considered a non-transitory machine-readable medium. For concise description, the terminal node 255 or its embodiment is described as having certain functionality. It will be appreciated that in some embodiments such functionality is achieved by processor module 261 with storage module 263, transceiver module 259 and user interface module 265. Furthermore, in addition to executing instructions, processor module 261 may include special purpose hardware to achieve certain functions.

단말 노드(255)는 다른 디바이스와 애플리케이션 관련 정보를 통신할 수 있다. 단말 노드(255)는 다른 디바이스로부터 애플리케이션 관련 정보를 수신하거나, 다른 디바이스에 애플리케이션 관련 정보를 송신하거나, 그 둘 다 할 수 있다. 예를 들어, 액세스 노드 내 애플리케이션 에이전트는 단말 노드의 사용자에 대한 QoE를 개선하도록 단말 노드(255)와 협력적으로 동작할 수 있다.The terminal node 255 may communicate application-related information with other devices. The terminal node 255 may receive application-related information from another device, transmit application-related information to another device, or both. For example, an application agent in the access node may work cooperatively with the terminal node 255 to improve QoE for users of the terminal node.

도 4는 본 발명의 태양에 따른 액세스 노드(475)의 태양의 예시도이다. 액세스 노드(475)는 단말 노드(455) 및 코어 네트워크(410)와 통신한다. 도 1의 매크로 기지국(110), 피코 지국(130), 기업용 펨토셀(140) 또는 기업용 게이트웨이(103)는, 일부 실시예에서는, 액세스 노드(475)를 사용하여 구현된다. 액세스 노드(475)는 예를 들어 도 2의 액세스 노드(275)를 사용하여 구현될 수 있다. 코어 네트워크(410)는 또한 서비스 제공자 네트워크, 인터넷 또는 네트워크 조합일 수 있다. 이해를 돕기 위하여, 도 4에서는, 실선이 사용자 데이터를 표현하고 파선이 제어 데이터를 표현한다. 사용자 데이터와 제어 데이터 간 구별은 액세스 노드(475)의 관점으로부터이다. 액세스 노드(475)는 브리지로서 역할하므로, 액세스 노드(475)에 의해 사용자 데이터로서 인지되는 코어 네트워크(410) 내, 비디오 서버와 같은, 소정 엔티티로의 단말 노드(455)로부터의 제어 데이터가 존재할 수 있다.4 is an exemplary diagram of an aspect of an access node 475 in accordance with an aspect of the present invention. The access node 475 communicates with the terminal node 455 and the core network 410. The macro base station 110, pico station 130, enterprise femtocell 140, or enterprise gateway 103 of FIG. 1 is implemented using an access node 475, in some embodiments. The access node 475 may be implemented using, for example, the access node 275 of FIG. 2. The core network 410 may also be a service provider network, the Internet, or a combination of networks. For better understanding, in FIG. 4, a solid line represents user data and a broken line represents control data. The distinction between user data and control data is from the point of view of the access node 475. Since the access node 475 serves as a bridge, control data from the terminal node 455 to a predetermined entity, such as a video server, exists in the core network 410 recognized as user data by the access node 475. I can.

도 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)에 의해 제공되는 모듈일 수 있다.The access node 475 of FIG. 4 facilitates communication between the terminal node 455 and the core network 410 and other internal entities (eg, entities accessed through the Internet, such as a video server). The application 451 in the terminal node 455 communicates with a server application in or connected to the core network 410 through the access node 475. The application 451 provides a predetermined functionality or service to a user of the terminal node 455. For example, the application 451 may be a software program executed by the terminal node 455. The application 451 in the terminal node 455 also communicates with the application agent 470 in the access node 475. The application 451 may be, for example, a module provided by the processor module 261 of the terminal node 255 of FIG. 3 using a command from the storage module 263. The application agent 470 may be, for example, a module provided by the processor module 281 of the access node 275 of FIG. 2 using instructions from the storage module 283.

애플리케이션(451) 및 애플리케이션 에이전트(470)는 앱-에이전트 협력형 통신 제어 경로(403)를 통하여 통신한다. 애플리케이션(451)과 애플리케이션 에이전트(470) 간 통신은 개선된 통신 시스템 성능, 예를 들어, 단말 노드(455)의 사용자에 대한 개선된 QoE를 제공할 수 있다. 앱-에이전트 협력형 통신 제어 경로(403) 상에서 통신을 제공하는 애플리케이션은 강화형 또는 협력형 애플리케이션으로 생각될 수 있다.The application 451 and the application agent 470 communicate through an app-agent cooperative communication control path 403. Communication between the application 451 and the application agent 470 may provide improved communication system performance, for example, improved QoE for a user of the terminal node 455. An application that provides communication on the app-agent cooperative communication control path 403 may be considered an enhanced or cooperative application.

도 4가 각각의 엘리먼트의 단일 사례를 예시하고 있기는 하지만, 일 실시예에서는, 다양한 엘리먼트의 다수의 사례가 있을 수 있다. 예를 들어, 액세스 노드는 다수의 단말 노드와 동시다발적으로 통신할 수 있고, 단말 노드의 각각은 하나 이상의 액세스 노드 내 하나 이상의 애플리케이션 에이전트와 동시다발적으로 협력할 수 있는 다수의 애플리케이션을 가질 수 있다.Although FIG. 4 illustrates a single instance of each element, in one embodiment, there may be multiple instances of various elements. For example, an access node may concurrently communicate with multiple end nodes, and each of the end nodes may have multiple applications capable of concurrently cooperating with one or more application agents in one or more access nodes. have.

액세스 노드(475)는 패킷 검사 모듈(429), 스케줄러 모듈(430) 및 송수신 모듈(트랜시버)(479)을 포함한다. 패킷 검사 모듈(429), 스케줄러 모듈(430) 및 송수신 모듈(479)은 단말 노드(455)와 통신함에 있어서 액세스 노드(475)에 의해 사용된다. 송수신 모듈(479)은 단말 노드(455)와의 통신을 제공한다. 송수신 모듈(479)은, 예를 들어, 라디오 액세스 네트워크 물리 계층을 구현할 수 있다. 액세스 노드(475)는 또한 다양한 태양의 자원 제어를 맡고 있는 자원 제어 모듈(480)을 포함한다. 애플리케이션 에이전트(470)는 또한 자원 제어 모듈(480)과 통신할 수 있다. The access node 475 includes a packet inspection module 429, a scheduler module 430, and a transmit/receive module (transceiver) 479. The packet inspection module 429, the scheduler module 430, and the transmit/receive module 479 are used by the access node 475 in communicating with the terminal node 455. The transmission/reception module 479 provides communication with the terminal node 455. The transmission/reception module 479 may implement, for example, a radio access network physical layer. The access node 475 also includes a resource control module 480 responsible for controlling various aspects of the resource. The application agent 470 may also communicate with the resource control module 480.

패킷 검사 모듈(429)은 코어 네트워크(410)와 단말 노드(455) 간 데이터 경로에 있다. 다운링크 방향에 있어서, 패킷 검사 모듈(429)은 코어 네트워크(410)로부터의 데이터를 수신하고 그 데이터로 무엇을 할지 결정한다. 예를 들어, 단말 노드(455)로 향하는 사용자 데이터는 송수신 모듈(479)을 통해 단말 노드(455)로의 송신을 위해 스케줄러 모듈(430)에서 큐 내로 차별 분리될 수 있다. 큐 내로의 차별은, 논리 링크, IP 소스 및 수신지 주소, 또는 애플리케이션 클래스와 같이, 사용자 데이터와 연관된 다양한 특성에 기반할 수 있다. 일 실시예에 있어서, 패킷 검사 모듈(429)은 데이터 브리지/중계 모듈의 일부분이거나 그에 결합되어 있다. 패킷 검사 모듈(429)은 또한 데이터 브리지/중계 모듈 전에 또는 후에 수행되는 라우팅 기능을 포함할 수 있다.The packet inspection module 429 is in a data path between the core network 410 and the terminal node 455. In the downlink direction, the packet inspection module 429 receives data from the core network 410 and determines what to do with the data. For example, user data destined for the terminal node 455 may be differentiated into a queue in the scheduler module 430 for transmission to the terminal node 455 through the transmission/reception module 479. The discrimination into the queue may be based on various characteristics associated with user data, such as logical link, IP source and destination address, or application class. In one embodiment, packet inspection module 429 is part of or coupled to a data bridge/relay module. The packet inspection module 429 may also include a routing function performed before or after the data bridge/relay module.

코어 네트워크로부터의 일부 데이터는 액세스 노드(475)의 제어 및 구성을 위해 의도된 제어 데이터일 수 있다. 이 데이터는 액세스 노드(475)의 다양한 제어 또는 관리 모듈, 예를 들어, 자원 제어 모듈(480)로 향할 수 있다.Some data from the core network may be control data intended for control and configuration of the access node 475. This data may be directed to various control or management modules of the access node 475, for example, the resource control module 480.

스케줄러 모듈(430)은 액세스 노드(475)와 단말 노드(455) 간 통신 링크를 가로질러 물리 자원을 할당하는데 필요한 기능성 중 일부 또는 전부를 구현한다. 스케줄러 모듈(430)은 전형적으로는 매체 액세스 제어(MAC) 계층과 연관되거나 그 일부분이다. 다운링크 방향에 대하여, 스케줄러 모듈(430)은 어느 데이터를 그리고 어느 시점에 송신할지 결정한다. 자원은 예를 들어 부반송파 및 타임슬롯으로서 할당될 수 있다. 스케줄러 모듈(430)은 또한 단말 노드(455)로부터의 업링크 자원 요청을 프로세싱하고 업링크 대역폭을 승인할 수 있다. 스케줄러 모듈(430)은, 특정 사용자 데이터에 할당할 자원량을 결정하기 위해, 변조 및 코딩 스킴과 같이, 송수신 모듈(479)로부터의 PHY 정보를 사용할 수 있다. 스케줄러 모듈(430)은 또한 통신 링크 상에서 일어나고 있는 정체 또는 정체 모니터링에 관한 통계(예를 들어, 버퍼 점유율 및 출구 레이트)에 대해 자원 제어 모듈(480)에 알려줄 수 있다. 일 실시예에 있어서, 스케줄러 모듈(430)은 자원 제어 모듈(480)로부터, 가중치 및 크레디트에 대한 변경과 같은, 스케줄러 파라미터에 대한 업데이트를 수신할 수 있다.The scheduler module 430 implements some or all of the functionality required to allocate physical resources across a communication link between the access node 475 and the terminal node 455. The scheduler module 430 is typically associated with or is part of a medium access control (MAC) layer. For the downlink direction, the scheduler module 430 determines which data to transmit and when to transmit. Resources can be allocated as subcarriers and timeslots, for example. The scheduler module 430 may also process uplink resource requests from the terminal node 455 and authorize the uplink bandwidth. The scheduler module 430 may use PHY information from the transmission/reception module 479, such as a modulation and coding scheme, to determine the amount of resources to be allocated to specific user data. The scheduler module 430 may also inform the resource control module 480 about statistics related to monitoring of congestion or congestion occurring on the communication link (eg, buffer occupancy and egress rate). In one embodiment, the scheduler module 430 may receive an update to the scheduler parameter, such as a change to the weight and credit, from the resource control module 480.

패킷 검사 모듈(429)은 또한 애플리케이션을 검출하고 애플리케이션 클래스, 특정 애플리케이션, 데이터 레이트 및 듀레이션과 같은 애플리케이션 정보를 자원 제어 모듈(480)에 제공할 수 있다. 일 실시예에 있어서, 패킷 검사 모듈(429)은 수락 제어 응답 정보를 수신하고 특정 커넥션 또는 세션에 대한 패킷 차단과 같은 수락 제어 응답을 구현하는데 도움을 줄 수 있다.The packet inspection module 429 may also detect the application and provide application information such as application class, specific application, data rate and duration to the resource control module 480. In one embodiment, the packet inspection module 429 may help to receive admission control response information and implement an admission control response such as packet blocking for a specific connection or session.

도 4에 도시된 자원 제어 모듈(480)은 자원 추정 모듈(481), 정체 모니터링 모듈(482), 수락 제어 응답 모듈(483) 및 스케줄러 파라미터 계산 모듈(484)을 포함한다. 자원 추정 모듈(481)은 현재 활성 애플리케이션의 예상된 자원 요구를 추정한다. 자원 추정 모듈(481)은, 예상된 자원 요구를 추정하도록, 예상된 데이터 레이트와 같은 애플리케이션 파라미터, 및 변조에서의 변경 및 단말 노드(455)에 대한 코딩과 같은 PHY 파라미터를 사용할 수 있다. 자원에서의 어떠한 과잉이라도 현재 활성 애플리케이션에 할당되는 자원을 증가시키도록 이용가능하거나 새로운 애플리케이션에 이용가능할 수 있다.The resource control module 480 illustrated in FIG. 4 includes a resource estimation module 481, a congestion monitoring module 482, an admission control response module 483, and a scheduler parameter calculation module 484. The resource estimation module 481 estimates the expected resource demand of the currently active application. The resource estimation module 481 may use application parameters, such as the expected data rate, and PHY parameters, such as changes in modulation and coding for the terminal node 455, to estimate the expected resource demand. Any excess in resources may be available or available to new applications to increase the resources allocated to the currently active application.

정체 모니터링 모듈(482)은 현재 정체 상태를 모니터링한다. 현재 정체 상태는 자원 추정 모듈(481)에 의해 수행되는 자원 추정으로부터 달라질 수 있다. 예를 들어, 데이터 레이트에서의 단기적 변화가 일어날 때(예를 들어, 가변 데이터 레이트 스트리밍 비디오에 대하여 데이터 레이트에서의 피크), 스케줄러 모듈(430)로부터의 정보는 장기적 자원 추정이 정체를 나타내지 않더라도 현재 정체를 나타낼 수 있다(예를 들어, 애플리케이션에 대한 버퍼 점유율 증가 또는 애플리케이션에 대한 버퍼 출구 레이트 감소). 정체 모니터링 모듈(482)은 또한 정체를 예측하는데 사용될 수 있는 정체 이력 정보를 유지하고 있을 수 있다.The congestion monitoring module 482 monitors the current congestion state. The current congestion state may vary from resource estimation performed by the resource estimation module 481. For example, when a short-term change in data rate occurs (e.g., a peak in data rate for variable data rate streaming video), the information from the scheduler module 430 is current, even if long-term resource estimation does not indicate congestion. May indicate congestion (eg, increased buffer occupancy for the application or decreased buffer exit rate for the application). The congestion monitoring module 482 may also maintain congestion history information that can be used to predict congestion.

수락 제어 응답 모듈(483)은 논리 링크, 커넥션 및/또는 스트림을 수락, 거부, 지연 또는 수정하도록 제어 응답을 생성하고 그로써 세션에 대한 제어 응답을 생성할 수 있다. 수락 제어 응답 모듈(483)은 다양한 정보, 예를 들어, 정책(예를 들어, 사용자의 우선순위 또는 수용가능한 사용자 QoE 레벨), 서비스 레벨 협약(service level agreement: SLA) 정보, 애플리케이션 파라미터(예를 들어, 특정 애플리케이션 또는 데이터 레이트), 자원 추정, 앱-에이전트 협력형 통신 및 정체 표시자를 사용하여 제어 응답을 생성할 수 있다.The admission control response module 483 may generate a control response to accept, reject, delay, or modify a logical link, connection, and/or stream, thereby generating a control response for the session. The admission control response module 483 provides various information, for example, a policy (e.g., a user's priority or an acceptable user QoE level), service level agreement (SLA) information, application parameters (e.g., For example, a specific application or data rate), resource estimation, app-agent cooperative communication, and congestion indicators can be used to generate a control response.

스케줄러 파라미터 계산 모듈(484)은 가중치 및 크레디트와 같이 스케줄러 파라미터에 대한 수정을 계산할 수 있다. 스케줄러 파라미터 계산 모듈(484)은 다양한 정보, 예를 들어, 앱-에이전트 협력형 통신, 정책, SLA 정보, 애플리케이션 파라미터, 자원 추정, 정체 표시자 및 제어 응답(예를 들어, 수락 제어 응답)을 사용하여 그 수정을 계산할 수 있다.The scheduler parameter calculation module 484 may calculate modifications to scheduler parameters such as weights and credits. The scheduler parameter calculation module 484 uses a variety of information, e.g., app-agent cooperative communication, policy, SLA information, application parameters, resource estimation, congestion indicator and control response (e.g., admission control response). Then you can calculate the correction.

송수신 모듈(479)은, 업링크 및 다운링크 데이터 전송을 용이하게 하는 것에 부가하여, 단말 노드(455)와의 통신과 연관된 변조, 코딩 및 신호 대 잡음비(SNR)와 같은 물리 계층(PHY) 파라미터 및 상태를 모니터링하거나 유지하고 있을 수 있다. 단말 노드와 통신할 수 있는 액세스 노드(475)의 능력은 PHY 파라미터 및 상태에 일부 의존한다. PHY 파라미터 및 상태에 대한 정보는 스케줄링 결정을 하도록 스케줄러 모듈(430)에 그리고 스케줄러 파라미터 조절을 계산하거나 수락 제어 응답을 결정하도록 자원 제어 모듈(480)에 이용가능하게 될 수 있다. 송수신 모듈(479)은 또한 액세스 노드(475) 내 라디오 액세스 프로토콜 모듈과 단말 노드(455) 간 통신을 용이하게 하거나 발생시킬 수 있다.The transmit/receive module 479, in addition to facilitating uplink and downlink data transmission, also includes physical layer (PHY) parameters such as modulation, coding, and signal-to-noise ratio (SNR) associated with communication with the terminal node 455, and You may be monitoring or maintaining the condition. The ability of the access node 475 to communicate with the terminal node depends in part on the PHY parameters and state. Information about the PHY parameters and status may be made available to the scheduler module 430 to make scheduling decisions and to the resource control module 480 to calculate the scheduler parameter adjustment or determine an admission control response. The transmit/receive module 479 may also facilitate or generate communication between the radio access protocol module and the terminal node 455 in the access node 475.

업링크 방향에 있어서, 패킷 검사 모듈(429)은 송수신 모듈(479)을 통하여 단말 노드(455)로부터 사용자 데이터를 수신하고 사용자 데이터를 코어 네트워크(410)에 포워딩한다. 패킷 검사 모듈(429)은 또한 애플리케이션 에이전트(470)를 수신지로 하는 단말 노드(455)로부터의 통신을 수신한다. 패킷 검사 모듈(429)은 이들 통신을 식별하고 그들을 애플리케이션 에이전트(470)에 포워딩할 수 있다.In the uplink direction, the packet inspection module 429 receives user data from the terminal node 455 through the transmission/reception module 479 and forwards the user data to the core network 410. The packet inspection module 429 also receives communication from the terminal node 455 with the application agent 470 as a destination. The packet inspection module 429 can identify these communications and forward them to the application agent 470.

애플리케이션 에이전트(470) 및 애플리케이션(451)은 앱-에이전트 협력형 통신 제어 경로(403)를 확립한다. 앱-에이전트 협력형 통신 제어 경로(403)는 예를 들어 TCP 커넥션일 수 있다. 앱-에이전트 협력형 통신 제어 경로(403)는 앱-에이전트 협력형 통신을 교환하는데 사용된다. 앱-에이전트 협력형 통신 제어 경로(403) 상의 데이터의 라우팅은 패킷 검사 모듈(429)에 의해 용이하게 될 수 있다. 대안으로, 그 라우팅은 액세스 노드(475)의 내부 또는 외부에 있을 수 있는 라우팅 기능에 의해 용이하게 될 수 있다.The application agent 470 and the application 451 establish an app-agent cooperative communication control path 403. The app-agent cooperative communication control path 403 may be, for example, a TCP connection. The app-agent cooperative communication control path 403 is used to exchange app-agent cooperative communication. Routing of data on the app-agent cooperative communication control path 403 may be facilitated by the packet inspection module 429. Alternatively, its routing may be facilitated by a routing function that may be inside or outside the access node 475.

애플리케이션(451)으로부터 애플리케이션 에이전트(470)로의 앱-에이전트 협력형 통신은, 예를 들어, 액세스 노드(475)가 수락 제어 및 스케줄링을 개선할 수 있게 하는 정보를 포함할 수 있다. 애플리케이션 에이전트(470)와 애플리케이션(451) 간 통신은, 예를 들어, 부가적 정보를 자원 제어 모듈(480)에 제공할 수 있다.The app-agent cooperative communication from the application 451 to the application agent 470 may include, for example, information that enables the access node 475 to improve admission control and scheduling. Communication between the application agent 470 and the application 451 may provide, for example, additional information to the resource control module 480.

앱-에이전트 협력형 통신의 소개용 일례는 애플리케이션(451)이 유튜브 스트리밍 비디오를 단말 노드(455)의 사용자에 제공하는 통신 네트워크를 고려한다. 스트리밍 비디오는 여러 다른 연관된 데이터 레이트를 갖는 다수의 포맷으로 이용가능할 수 있다. 포맷에 대한 정보는 포맷에 대한 정보를 자원 제어 모듈에 차례로 제공할 수 있는 유튜브 인식 애플리케이션 에이전트에 유튜브 특정 애플리케이션에 의해 통신될 수 있다. 자원 제어 모듈은 어느 포맷이, 있다면, 가용 자원의 현재 추정치와 맞는지 나타내는 수락 제어 응답을 발생시키도록 애플리케이션 정보를 사용할 수 있다. 유튜브 인식 애플리케이션 에이전트는 어느 포맷이 현재 허용가능한지 지정하여 유튜브 특정 애플리케이션으로의 앱-에이전트 협력형 통신 내로 수락 제어 응답을 프로세싱할 수 있다. 다양한 실시예에 있어서, 포맷의 특정 선택은 애플리케이션 에이전트에 의해 또는 애플리케이션에 의해 이루어져 애플리케이션 에이전트에 다시 통신될 수 있다. 애플리케이션 에이전트는 선택된 포맷 및 연관된 데이터 레이트를 자원 제어 모듈에 알려줄 수 있다. 자원 제어 모듈은 선택된 포맷을 반영하도록 자원 추정치 및 스케줄러 파라미터를 업데이트한다.An example for an introduction to app-agent cooperative communication considers a communication network in which the application 451 provides YouTube streaming video to the user of the terminal node 455. Streaming video may be available in a number of formats with several different associated data rates. The information on the format may be communicated by a YouTube specific application to a YouTube-aware application agent that can sequentially provide information on the format to the resource control module. The resource control module may use the application information to generate an admission control response indicating which format, if any, matches the current estimate of the available resources. The YouTube-aware application agent can process the admission control response into the app-agent cooperative communication to the YouTube-specific application by specifying which formats are currently acceptable. In various embodiments, a particular selection of formats may be made by or by the application agent and communicated back to the application agent. The application agent may inform the resource control module of the selected format and associated data rate. The resource control module updates the resource estimate and scheduler parameters to reflect the selected format.

도 4는 다양한 통신 노드 내 모듈의 특정 분산 및 다양한 모듈로의 기능의 특정 할당을 예시하고 있다. 여러 다른 배열이 또한 사용될 수 있다. 예를 들어, 패킷 검사 모듈(429), 애플리케이션 에이전트(470) 및 자원 제어 모듈(480) 중 일부 또는 전부는 코어 네트워크 내 게이트웨이 노드에, 예를 들어, LTE 네트워크 내 서빙 게이트웨이(S-GW) 또는 패킷 게이트웨이(P-GW)에 있을 수 있다. 부가적으로, 액세스 노드(475)와 코어 네트워크(410)와 단말 노드(455) 간 중간 디바이스가 있을 수 있다. 애플리케이션과 애플리케이션 에이전트와 그들 관련 기능의 여러 조합이 또한 사용될 수 있다. 예를 들어, 모든 애플리케이션과 통신하는 하나의 애플리케이션 에이전트, 각각의 특정 애플리케이션에 대해 하나의 애플리케이션 에이전트(예를 들어, 유튜브 애플리케이션 에이전트, 판도라 애플리케이션 에이전트 등), 각각의 단말 노드에 대해 하나의 애플리케이션 에이전트, 또는 각각의 애플리케이션에 대해 하나의 애플리케이션 에이전트(예를 들어, 제1 단말 노드에 대해 유튜브 애플리케이션 에이전트 그리고 제2 단말 노드에 대해 다른 유튜브 애플리케이션 에이전트)가 있을 수 있다. 다수의 애플리케이션 및 애플리케이션 에이전트가 존재할 때, 각각의 쌍의 애플리케이션과 애플리케이션 에이전트 간에는 개개의 통신 커넥션(예를 들어, TCP/IP 커넥션)이 있을 수 있다. 대안으로, 다수의 애플리케이션과 애플리케이션 에이전트 간 통신은 취합되고 감축된 수의 커넥션을 통하여 반송될 수 있다. 예를 들어, 단일 TCP/IP 커넥션이 특정 단말 노드에 대해 다수의 애플리케이션 에이전트와 애플리케이션 간 통신하도록 사용될 수 있다.4 illustrates specific distribution of modules within various communication nodes and specific allocation of functions to various modules. Several other arrangements can also be used. For example, some or all of the packet inspection module 429, the application agent 470, and the resource control module 480 are in a gateway node in a core network, for example, a serving gateway (S-GW) in an LTE network or May be in the packet gateway (P-GW). Additionally, there may be an intermediate device between the access node 475 and the core network 410 and the terminal node 455. Several combinations of applications and application agents and their related functions may also be used. For example, one application agent to communicate with all applications, one application agent for each specific application (e.g. YouTube application agent, Pandora application agent, etc.), one application agent for each end node, Alternatively, there may be one application agent for each application (eg, a YouTube application agent for a first terminal node and another YouTube application agent for a second terminal node). When there are multiple applications and application agents, there may be individual communication connections (eg, TCP/IP connections) between each pair of applications and application agents. Alternatively, communication between multiple applications and application agents may be aggregated and carried over a reduced number of connections. For example, a single TCP/IP connection can be used to communicate between multiple application agents and applications for a particular terminal node.

애플리케이션 에이전트(470)는 커넥션-지향 및 바이트 스트림 기반 프로토콜을 사용하여, 예를 들어, TCP 스택의 인스턴스를 사용함으로써 TCP/IP 커넥션 및 다른 커넥션에 대해 커넥션 라이프 사이클 관리 및 세그먼트 버퍼링 및 재정렬을 수행할 수 있다. 대안으로, 앱-에이전트 협력형 통신은 단순화된 통신 커넥션, 예를 들어, UDP/IP를 사용할 수 있다.The application agent 470 uses connection-oriented and byte stream based protocols to perform connection lifecycle management and segment buffering and reordering for TCP/IP connections and other connections, for example, by using an instance of the TCP stack. I can. Alternatively, app-agent cooperative communication can use a simplified communication connection, eg UDP/IP.

도 5는 본 발명의 태양에 따라 제어 플레인 관계를 보여주는 통신 시스템의 블록 선도이다. 통신 시스템은 단말 노드(555), 액세스 노드(575) 및 애플리케이션 서버(590)를 포함한다. 단말 노드(555)는 애플리케이션 서버(590) 내 서버 애플리케이션(592)과 통신하는 애플리케이션(551)을 포함한다. 통신은 액세스 노드(575)를 통해서이다. 애플리케이션(551)은 또한 액세스 노드(575) 내 애플리케이션 에이전트(570)와 통신한다.5 is a block diagram of a communication system showing a control plane relationship in accordance with an aspect of the present invention. The communication system includes a terminal node 555, an access node 575, and an application server 590. The terminal node 555 includes an application 551 that communicates with the server application 592 in the application server 590. Communication is through the access node 575. Application 551 also communicates with application agent 570 in access node 575.

도 5의 예시적 프로토콜, 제어 플레인 관계 및 다른 설명은 도 4의 액세스 노드(475)와 관련된 태양을 더 이해하도록 사용될 수 있다. 도 4의 액세스 노드(475)는 도 5의 액세스 노드(575)와 동일 또는 유사할 수 있다. 도 4의 단말 노드(455)는 도 5의 단말 노드(555)와 동일 또는 유사할 수 있다. 유사하게, 액세스 노드(575)와 애플리케이션 서버(590) 간 통신은 도 4의 코어 네트워크(410)와 동일 또는 유사한 네트워크를 이용할 수 있다. 더욱, 도 5의 애플리케이션 서버(590)는 도 1의 통신 네트워크의 코어 네트워크(102) 또는 인터넷 서비스 제공자 네트워크(101)와 동일 또는 유사한 네트워크에 있거나 그에 접속되어 있을 수 있다. 애플리케이션 서버는 또한 별개로 위치한 서버의 네트워크일 수 있다. 도 4의 통신 시스템이 LTE 프로토콜 스택을 사용하고 있기는 하지만, 다른 통신 시스템이 다른 프로토콜 스택을 사용할 수 있다. 더 많거나 더 적은 프로토콜 계층이 있을 수 있고, 계층명 및 술어는 다를 수 있고, 그 기능성이 다를 수 있고, 어느 계층에 기능이 거주하는지 다를 수 있다.The example protocol, control plane relationships, and other descriptions of FIG. 5 may be used to further understand aspects related to the access node 475 of FIG. 4. The access node 475 of FIG. 4 may be the same as or similar to the access node 575 of FIG. 5. The terminal node 455 of FIG. 4 may be the same as or similar to the terminal node 555 of FIG. 5. Similarly, communication between the access node 575 and the application server 590 may use the same or similar network as the core network 410 of FIG. 4. Further, the application server 590 of FIG. 5 may be in or connected to the same or similar network as the core network 102 or the Internet service provider network 101 of the communication network of FIG. 1. The application server may also be a network of separately located servers. Although the communication system of FIG. 4 uses the LTE protocol stack, other communication systems may use other protocol stacks. There may be more or fewer protocol layers, layer names and predicates may be different, their functionality may be different, and in which layer the function resides may be different.

통신 네트워크 내 디바이스는 흔히 다-계층형 프로토콜을 통해 통신 경로 상에서 통신한다. 통신 디바이스 내 프로토콜 스택은 프로토콜을 구현한다. 예를 들어, 애플리케이션 데이터 경로(501)는 각각의 디바이스 내 프로토콜 스택을 사용하여 액세스 노드(575)를 통하여 애플리케이션 서버(590)와 단말 노드(555) 간 통신을 전한다. 사용자 애플리케이션 데이터 및 제어를 넘겨주기 위한 프로토콜 스택에 부가하여, 사용자 애플리케이션을 지원하고 있는 통신 링크를 구현 및 관리하기 위한 프로토콜 스택이 있을 수 있다.Devices in a communication network often communicate over a communication path through a multi-layered protocol. The protocol stack in the communication device implements the protocol. For example, the application data path 501 conveys communication between the application server 590 and the terminal node 555 through the access node 575 using a protocol stack in each device. In addition to the protocol stack for handing over user application data and control, there may be a protocol stack for implementing and managing a communication link supporting the user application.

도 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')을 포함한다.The access node 575 of FIG. 5 includes a RAN control plane protocol stack to implement a radio access network (RAN) control plane protocol for control plane communication between the terminal node 555 and the access node 575. The RAN control plane protocol in the access node 575 may be implemented using, for example, the processor module 281 of the access node 275 of FIG. 2 using instructions from the storage module 283. The RAN control plane protocol stack in the access node 575 includes a RAN physical (PHY) layer module 525, a medium access control (MAC) layer module 520, a radio link control (RLC) layer module 515, and packet data convergence. (PDCP) layer module 510, and radio resource control (RRC) layer module 505. Each of these protocol stack layers in the access node 575 has an equivalent layer in the terminal node 555. Thus, the RAN control plane protocol stack in the terminal node 555 is a PHY layer module 525', a MAC layer module 520', an RLC layer module 515', a PDCP layer module 510', and an RRC layer module ( 505').

제어 플레인에 있어서, RAN 제어 정보는 전형적으로는 동일 노드 내 더 높거나 더 낮은 계층 간 교환되어, 액세스 노드(575) 상의 계층과 단말 노드(555) 상의 대응하는 계층 간 피투피 제어 링크를 논리적으로 생성한다. RAN 제어 경로(502)는 단말 노드(555)와 액세스 노드(575)의 동등 계층들을 접속한다. 도 5는 단일 단말 노드(555)를 예시하고 있기는 하지만, 액세스 노드(575) 상의 RAN 제어 플레인 계층은 다수 단말 노드 상의 다수 동등물로의 논리 제어 링크를 가질 수 있다.In the control plane, RAN control information is typically exchanged between higher or lower layers within the same node, thereby logically creating a P-to-P control link between the layer on the access node 575 and the corresponding layer on the terminal node 555. do. The RAN control path 502 connects the peer layers of the terminal node 555 and the access node 575. Although FIG. 5 illustrates a single terminal node 555, the RAN control plane layer on the access node 575 may have logical control links to multiple equivalents on multiple terminal nodes.

동등 RAN 제어 플레인 계층 모듈은 2개의 디바이스 간 통신 링크를 제어 및 동작시키는데 필요한 제어 정보를 교환한다. 이러한 제어 정보는 액세스 노드(575) 및 단말 노드(555) 내에서 기원 및 종료되고 통신 링크 동작 및 관리에 특정적이다. 대조적으로, 사용자 애플리케이션 데이터 및 애플리케이션 제어 메시징은 단말 노드(555) 및 애플리케이션 서버(590) 상에서 기원 및 종료된다. 액세스 노드(575)의 관점으로부터, 사용자 애플리케이션 데이터 및 애플리케이션 제어 메시징은 제어 플레인보다는 데이터 플레인 상에서 전송되는 것으로 생각될 수 있다.The peer RAN control plane layer module exchanges control information necessary to control and operate a communication link between two devices. This control information originates and terminates within the access node 575 and the terminal node 555 and is specific to communication link operation and management. In contrast, user application data and application control messaging originate and terminate on terminal node 555 and application server 590. From the perspective of the access node 575, user application data and application control messaging can be thought of as being transmitted on the data plane rather than the control plane.

액세스 노드(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) 파라미터를 교환할 수 있다.The RAN physical layer module 525 of the access node 575 has a control message equivalent relationship with the RAN physical layer module 525' of the terminal node 555. The RAN physical layer module 525 of the access node 575 may request a change in transmission power of the RAN physical layer module 525' of the terminal node 555, for example. The RAN physical layer module 525' of the terminal node 555 may send a radio link quality metric, such as a signal-to-noise ratio (SNR) measure, to the RAN physical layer module 525 on the access node 575. The MAC layer module 520 of the access node 575 has a control message equivalent relationship with the MAC layer module 520' of the terminal node 555. The MAC layer module exchanges, for example, resource requests and grants. The RLC layer module 515 of the access node 575 has a control message equivalent relationship with the RLC layer module 515' of the terminal node 555. The RLC layer module may exchange data segmentation and reassembly information, for example. The PDCP layer module 510 of the access node 575 has a control message feeder relationship with the PDCP layer module 510' of the terminal node 555. The PDCP layer module exchanges, for example, encryption and compression information. The RRC layer module 505 of the access node 575 has a control message equivalent relationship with the RRC layer module 505' of the access node 575. The RRC layer module may exchange, for example, a quality of service (QoS) parameter of a logical link.

제어 경로(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)을 사용하여 스택에 의해 전해진다.The exchange of information between peer layers using control path 502 may be based on the use of one or more logical, transport and physical channels. In LTE, for example, cell-wide system information is defined in the RRC layer module 505 in the access node 575 and is one or more system information blocks (SIBs) and master information blocks (master information blocks). It is communicated to the terminal node 555 via a data set formed as an MIB). The MIB and SIB are a logical broadcast control channel (BCCH), a transport broadcast channel (BCH), and finally a physical broadcast channel (PBCH) and a physical downlink shared channel (physical). It is passed down the stack via downlink shared channel (PDSCH). Control channel information to be sent to a specific UE node is communicated through a signaling radio bearer (SRB) connection, and is a logical downlink control channel (DCCH) and a transmission downlink shared channel (DL-SCH). And a physical downlink shared channel (PDSCH).

애플리케이션(551)과 서버 애플리케이션(592) 간 통신을 위하여, 단말 노드(555) 상의 전송 및 접속 프로토콜 모듈(550') 및 애플리케이션 서버(590) 상의 동등 전송 및 접속 프로토콜 모듈(550)은 애플리케이션 데이터 경로(501)를 확립하도록 사용된다. 애플리케이션 데이터 경로(501)는 애플리케이션 제어 데이터 및 애플리케이션 사용자 데이터를 전송한다. 다양한 실시예에 있어서, 애플리케이션 데이터 경로(501)는 애플리케이션 제어 데이터 및 애플리케이션 사용자 데이터에 대해 동일 또는 다른 전송 및 접속 프로토콜을 사용할 수 있다. 부가적으로, 프로토콜 스택의 동일 또는 다른 인스턴스(예를 들어, 소프트웨어 프로세스)가 애플리케이션 제어 데이터 및 애플리케이션 사용자 데이터에 대해 사용될 수 있다.For communication between the application 551 and the server application 592, the transmission and access protocol module 550 ′ on the terminal node 555 and the equivalent transmission and access protocol module 550 on the application server 590 are provided with an application data path. Used to establish 501. The application data path 501 transmits application control data and application user data. In various embodiments, the application data path 501 may use the same or different transport and access protocols for application control data and application user data. Additionally, the same or different instances of the protocol stack (eg, software processes) may be used for application control data and application user data.

애플리케이션 데이터 경로(501)는 RAN 프로토콜 스택에 의해 사용자 데이터를 통신하는 것으로 보일 수 있다. RAN 제어 경로(502) 상의 데이터와는 달리, 애플리케이션 데이터 경로(501) 상의 단말 노드(555)로부터의 데이터는 액세스 노드(575)에서 종료되지 않는다. 대신에, 애플리케이션 데이터 경로(501) 상의 데이터는 애플리케이션 서버(590)로의 궁극적 전송을 위한 통신 링크에 데이터 브리지/중계 모듈(530)에 의해 브리지된다. 애플리케이션이 앱-에이전트 협력형 통신을 제공하지 않을 때, 모든 애플리케이션 트래픽은 다음 노드로 브리징될 수 있다. 그러한 애플리케이션에 대하여, 애플리케이션 제어는 애플리케이션과 연관된 서버 애플리케이션 간 통신으로 제한될 수 있다.The application data path 501 may be viewed as communicating user data by means of the RAN protocol stack. Unlike data on the RAN control path 502, data from the terminal node 555 on the application data path 501 is not terminated at the access node 575. Instead, data on application data path 501 is bridged by data bridge/relay module 530 to a communication link for ultimate transmission to application server 590. When an application does not provide app-agent cooperative communication, all application traffic can be bridged to the next node. For such applications, application control may be limited to communication between the application and the associated server application.

애플리케이션 서버(590)로의 전송은, 예를 들어, 게이트웨이 노드 또는 라우터 노드를 통해 액세스 노드(575)로부터의 다수의 링크를 관련시킬 수 있다. 액세스 노드(575)는 추가적 물리 계층 모듈(565)을 통하여 제1 업스트림 통신 노드와 통신하도록 추가적 전송 및 접속 프로토콜 모듈(563)을 사용할 수 있다. 전송 및 접속 프로토콜 모듈(563)은, 예를 들어, 진화형 제너럴 패킷 라디오 서비스(GPRS) 터널링 프로토콜(eGTP)를 사용할 수 있다. 물리 계층 모듈(565)은, 예를 들어, 마이크로파 백홀 또는 캐리어 이더넷 링크 상에서 데이터를 송신할 수 있다. 애플리케이션 서버(590)에서, 데이터는 물리 계층 모듈(597)을 통하여 수신되어 전송 및 접속 프로토콜 모듈(550)에 건네진다. 따라서, 애플리케이션 서버(590) 내 전송 및 접속 프로토콜 모듈(550)은 액세스 노드(575) 내 전송 및 접속 프로토콜 모듈(563)에서 사용된 프로토콜에 필적하는 프로토콜을 제공하고 단말 노드(555)와의 통신을 위한 프로토콜에 부가하여 애플리케이션 서버(590)와 액세스 노드(575) 간 다른 통신 노드와의 통신을 위한 프로토콜을 제공할 수 있다.The transmission to the application server 590 may involve multiple links from the access node 575 through, for example, a gateway node or a router node. The access node 575 may use an additional transport and access protocol module 563 to communicate with the first upstream communication node through an additional physical layer module 565. The transport and access protocol module 563 may use, for example, an evolutionary general packet radio service (GPRS) tunneling protocol (eGTP). The physical layer module 565 may transmit data over a microwave backhaul or carrier Ethernet link, for example. At the application server 590, data is received via the physical layer module 597 and passed to the transport and access protocol module 550. Accordingly, the transmission and access protocol module 550 in the application server 590 provides a protocol comparable to the protocol used in the transmission and access protocol module 563 in the access node 575 and communicates with the terminal node 555. In addition to a protocol for communication, a protocol for communication with another communication node between the application server 590 and the access node 575 may be provided.

애플리케이션 데이터 경로(501) 상의 데이터, RAN 제어 경로(502) 상의 데이터, 앱-에이전트 협력형 통신 제어 경로(503) 상의 데이터는 RAN 프로토콜 스택을 통하여 단말 노드(555)와 액세스 노드(575) 간 전송된다. 그렇지만, 액세스 노드(575) 내 패킷 검사 모듈(529)은 앱-에이전트 협력형 통신을 애플리케이션 에이전트(570)에게로 전환시킬 수 있다. 앱-에이전트 협력형 통신 제어 경로(503) 상에서 메시지를 생성 및 통신하는 것은 단말 노드(555) 내 전송 및 접속 프로토콜 모듈(550')에서 사용된 프로토콜에 필적하는 액세스 노드(575) 내 부가적 프로토콜을 이용할 수 있다. 부가적 프로토콜은, 예를 들어, 패킷 검사 모듈(529) 또는 애플리케이션 에이전트(570)에 의해 제공될 수 있다.Data on the application data path 501, data on the RAN control path 502, and data on the app-agent cooperative communication control path 503 are transmitted between the terminal node 555 and the access node 575 through the RAN protocol stack. do. However, the packet inspection module 529 in the access node 575 may convert the app-agent cooperative communication to the application agent 570. Generating and communicating messages on the app-agent cooperative communication control path 503 is an additional protocol in the access node 575 that is comparable to the protocol used in the transmission and access protocol module 550' in the terminal node 555. You can use Additional protocols may be provided, for example, by packet inspection module 529 or application agent 570.

네트워크는 하나의 계층의 기능을 다른 계층에 의해 제공된 것들로부터 추상화하도록 프로토콜의 계층을 사용한다. 계층의 추상화는 여러 다른 네트워크에 대한 애플리케이션의 이식성을 더 크게 할 수 있다. 네트워크 내 패킷의 흐름의 개시 및 후속 종료는 특정 애플리케이션 또는 서비스에 의해 트리거링될 수 있다. 최종-사용자 애플리케이션 또는 서비스의 사용에 관한 제어 및 사용자 데이터 패킷의 흐름은 세션이라고 칭한다. 세션의 예는 랩톱으로부터 스카이프 애플리케이션을 사용하는 인터넷 프로토콜을 통한 음성(VoIP) 통화, 안드로이드-기반 모바일 폰 상에서 실행되는 유튜브 앱을 사용하는 스트리밍 비디오 재생, 및 애플 아이챗 애플리케이션을 사용하는 2-방향 비디오 통화를 포함한다.Networks use layers of protocols to abstract the functionality of one layer from those provided by another layer. Layered abstraction can make the application more portable across different networks. The initiation and subsequent termination of the flow of packets in the network can be triggered by a specific application or service. The flow of user data packets and control over the use of end-user applications or services is referred to as a session. Examples of sessions include voice (VoIP) calling from a laptop over the Internet Protocol using the Skype application, streaming video playback using the YouTube app running on an Android-based mobile phone, and two-way video calling using the Apple iChat application. Includes.

애플리케이션 서버 또는 프록시 서버와 같은 네트워크 노드, 및 스마트 폰, 태블릿 또는 랩톱 컴퓨터와 같은 단말 노드가 세션을 개시하거나 그에 참가할 수 있다. 노드는 하나 이상의 세션을 동시에 호스팅할 수 있다. 그 세션들은 서로로부터 독립적일 수도(예를 들어, 페이스북과 이메일을 동시에 사용하는 사용자) 서로 관련될 수도(예를 들어, 2개의 비디오 스트리밍 세션을 낳는 브라우징 세션) 있다. 세션은 2개의 노드 간 확립될 수 있다. 대안으로, 세션은, 예를 들어, 멀티캐스트 및 브로드캐스트 패킷 프로토콜의 사용을 통해 하나의 노드와 여러 노드 간 관계로서 보일 수 있다.A network node, such as an application server or proxy server, and a terminal node, such as a smart phone, tablet, or laptop computer, may initiate or join a session. A node can host more than one session at the same time. The sessions may be independent from each other (eg, a user using Facebook and email at the same time) or related to each other (eg, a browsing session resulting in two video streaming sessions). A session can be established between two nodes. Alternatively, a session can be viewed as a relationship between one node and several nodes, for example through the use of multicast and broadcast packet protocols.

세션은 다양한 기준에 의해 특성 표시 또는 카테고리 분류될 수 있다. 특정 애플리케이션은 사용자에 의해 개시되었고 그 세션의 론칭을 책임지고 있는 구체적 애플리케이션을 지칭할 수 있다. 특정 애플리케이션의 예는 유튜브 앱, 크롬 인터넷 브라우저 및 스카이프 음성 통화 소프트웨어를 포함한다. 더 일반적으로, 애플리케이션 클래스는 특정 세션에 의해 서비스 제공되는 종합적 기능을 설명하도록 사용될 수 있다. 예시의 애플리케이션 클래스는 스트리밍 비디오, 음성 통화, 인터넷 브라우징, 이메일 및 게이밍을 포함한다.Sessions can be characterized or categorized by various criteria. A specific application may refer to a specific application initiated by the user and responsible for launching the session. Examples of specific applications include the YouTube app, Chrome Internet browser and Skype voice calling software. More generally, application classes can be used to describe the aggregate functionality served by a particular session. Example application classes include streaming video, voice calling, internet browsing, email, and gaming.

세션은 동일하거나 잠재적으로 서로 다른 기저 커넥션을 사용하는 하나 이상의 독립적 데이터 스트림으로 이루어질 수 있다. 예컨대, 단일의 VoIP 폰 통화 세션에는 2개의 데이터 스트림이 들어있을 수 있다. 하나의 데이터 스트림은 사용자 데이터그램 프로토콜(UDP) 커넥션을 사용하여 양방향 음성 트래픽(즉, 페이로드 또는 데이터 플레인 패킷)을 서비스 제공할 수 있다. 제2 데이터 스트림은, 예를 들어, 세션 개시 프로토콜(SIP)을 사용할 때와 같이 통화 설정/해제(즉, 시그널링 또는 제어 플레인 패킷)를 취급하도록 하나 이상의 전송 제어 프로토콜(TCP) 커넥션을 사용할 수 있다. 비디오 스카이프의 예에 있어서는, 세션을 시작, 정지 및 그렇지 않으면 제어하도록 SIP 시그널링을 반송하는 하나의 스트림, 실시간 전송 프로토콜(RTP)을 사용하여 음성 패킷을 반송하는 제2 스트림, 및 RTP를 사용하여 비디오 패킷을 반송하는 제3 스트림이 있을 수 있다.A session can consist of one or more independent data streams using the same or potentially different underlying connections. For example, a single VoIP phone call session may contain two streams of data. One data stream can serve two-way voice traffic (ie, payload or data plane packets) using a User Datagram Protocol (UDP) connection. The second data stream may use one or more Transmission Control Protocol (TCP) connections to handle call establishment/disconnection (i.e. signaling or control plane packets), such as when using Session Initiation Protocol (SIP). . In the example of video Skype, one stream carrying SIP signaling to start, stop, and otherwise control a session, a second stream carrying voice packets using Real Time Transport Protocol (RTP), and video using RTP. There may be a third stream carrying packets.

애플리케이션이 단말 노드 상에서 사용자에 의해 개시될 때, 애플리케이션은 애플리케이션과 연관된 애플리케이션 서버 간 제어 시그널링으로 시작할 수 있다. 예를 들어, 유튜브 앱이 시작될 때, 그것은 다수의 동시적 하이퍼텍스트 트랜스퍼 프로토콜(HTTP) 요청으로 유튜브 피드 서버로부터 이용가능한 비디오 피드 선택에 관한 정보를 요청한다. 유튜브 피드 서버는 HTTP 응답으로 압축된 포맷으로 피드에 대한 데이터로 답한다. 각각의 HTTP 요청/응답은 단말 노드 상의 TCP 스택과 유튜브 서버 상의 TCP 스택 간 TCP 확립(예를 들어, SYN, SYN-ACK, 및 ACK 메시지) 프로토콜을 통하여 설정되는 별개 TCP 커넥션 상에서 수행된다. 비디오 피드 데이터가 수신되고 나면, 유튜브 앱은 다수의 동시적 HTTP GET 요청을 사용하여 피드 데이터에 열거된 비디오에 대하여 유튜브 이미지 서버로부터 썸네일 이미지를 조회할 수 있다. 유튜브 이미지 서버는 요청된 썸네일 이미지를 HTTP 응답으로 제공한다. 각각의 썸네일 요청/응답은 그 자신의 별개 TCP 커넥션 상에서 반송된다.When an application is initiated by a user on a terminal node, the application can be started with control signaling between the application server and the associated application server. For example, when the YouTube app is launched, it requests information about the selection of available video feeds from the YouTube feed server in a number of simultaneous Hypertext Transfer Protocol (HTTP) requests. The YouTube feed server responds with data about the feed in a compressed format with an HTTP response. Each HTTP request/response is performed on a separate TCP connection established through a TCP establishment (eg, SYN, SYN-ACK, and ACK message) protocol between the TCP stack on the terminal node and the TCP stack on the YouTube server. Once the video feed data has been received, the YouTube app can use a number of simultaneous HTTP GET requests to query the thumbnail image from the YouTube image server for the videos listed in the feed data. The YouTube image server provides the requested thumbnail image as an HTTP response. Each thumbnail request/response is carried on its own separate TCP connection.

비디오 피드 및 서치 결과 내 각각의 비디오에 대하여, 비디오의 여러 다른 포맷에 대한 다수의 URL(uniform resource locator)이 제공된다. 유튜브 앱은 그 능력 및 사용자 구성 및 선호도에 기반하여 어느 포맷을 사용할지 정한다. 유튜브 앱은 선택된 포맷의 비디오의 URL로 HTTP GET 요청을 서버에 보낸다. 유튜브 서버는 요청된 비디오를 HTTP 응답으로 되돌려 보낸다. HTTP 응답은 여러 IP 패킷으로 세그멘팅된다. HTTP 응답의 제1 IP 패킷은 HTTP 응답 상태 코드(200 = OK)를 반송한다. HTTP 응답 헤더의 일례가 아래에 나타난다.For each video in the video feed and search results, multiple uniform resource locators (URLs) for different formats of the video are provided. The YouTube app decides which format to use based on its capabilities and user configuration and preferences. The YouTube app sends an HTTP GET request to the server with the URL of the video in the selected format. The YouTube server sends the requested video back in an HTTP response. HTTP responses are segmented into multiple IP packets. The first IP packet of the HTTP response carries an HTTP response status code (200 = OK). An example HTTP response header is shown below.

Figure 112014127886944-pat00001
Figure 112014127886944-pat00001

위 예에 있어서, HTTP 응답 헤더 "Content-Type"는 응답에 MP4 포맷 비디오가 포함되어 있음을 나타낸다. HTTP 응답 헤더 "Content-Length"는 HTTP 응답에 포함된 MP4 비디오의 길이가 약 57MB임을 나타낸다.In the above example, the HTTP response header "Content-Type" indicates that the MP4 format video is included in the response. The HTTP response header "Content-Length" indicates that the length of the MP4 video included in the HTTP response is about 57MB.

도 6은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트의 블록 선도이다. 애플리케이션 에이전트는 액세스 노드(675)와 연관되어 있다; 애플리케이션은 단말 노드(655)와 연관되어 있다. 단말 노드(655) 내 애플리케이션은 액세스 노드(675) 내 애플리케이션 에이전트와 협력적으로 동작한다. 애플리케이션 에이전트 및 애플리케이션은, 예를 들어, 도 4의 통신 시스템에서 사용될 수 있다. 도 6의 액세스 노드(675)는 다양한 실시예에서는 도 4의 액세스 노드(475)와 동일 또는 유사할 수 있고, 도 6의 단말 노드(655)는 다양한 실시예에서는 도 4의 단말 노드(455)와 동일 또는 유사할 수 있다.6 is a block diagram of an application and an application agent according to an aspect of the present invention. The application agent is associated with the access node 675; The application is associated with the terminal node 655. The application in the terminal node 655 operates cooperatively with the application agent in the access node 675. Application agents and applications can be used, for example, in the communication system of FIG. 4. The access node 675 of FIG. 6 may be the same as or similar to the access node 475 of FIG. 4 in various embodiments, and the terminal node 655 of FIG. 6 is the terminal node 455 of FIG. 4 in various embodiments. May be the same as or similar to

액세스 노드(675)는 마스터 애플리케이션 에이전트(670)를 포함한다. 마스터 애플리케이션 에이전트(670)는 단말 노드(655) 내 마스터 애플리케이션(651)과 통신한다. 일 실시예에 있어서, 마스터 애플리케이션(651)은 단말 노드(455)의 운영 체제의 일부분이다. 마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 액세스 노드(675) 내 특정 애플리케이션 에이전트(671(1)-671(n))와 단말 노드(655) 내 특정 애플리케이션(653(1)-653(n)) 간 통신을 용이하게 한다. The access node 675 includes a master application agent 670. The master application agent 670 communicates with the master application 651 in the terminal node 655. In one embodiment, the master application 651 is part of the operating system of the terminal node 455. The master application agent 670 and the master application 651 include a specific application agent 671(1)-671(n) in the access node 675 and a specific application 653(1)-653 (in the terminal node 655). n)) to facilitate communication between them.

마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 단일 TCP 커넥션을 사용하여 모든 특정 애플리케이션 에이전트(671)와 특정 애플리케이션 간 통신을 용이하게 할 수 있다. IP 경로는, 일 실시예에서는, 마스터 애플리케이션(651)과 마스터 애플리케이션 에이전트(670) 간 확립된다.Master application agent 670 and master application 651 may facilitate communication between all specific application agents 671 and specific applications using a single TCP connection. An IP path is established between the master application 651 and the master application agent 670 in one embodiment.

마스터 애플리케이션(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) 채널) 상에 주소를 브로드캐스팅할 수 있다.The master application 651 and the master application agent 670 may recognize, by various techniques, the IP address of the associated access or its equivalent, which may or may not be the same as the IP address of the terminal node. For example, the access node may establish or discover the IP address of the terminal node when the terminal node enters the network. In many embodiments, there may be multiple concurrently operating terminal nodes and thus the master application agent 670 is aware of multiple peer node addresses. Address Resolution Protocol (ARP) can be used when a suitable base layer 2 address on which the ARP function can be based is available (eg, Ethernet MAC address). Alternatively, the master application agent 670 may assign an address to the master application 651 using a dynamic assignment technique, such as Dynamic Host Configuration Protocol (DHCP). Alternatively, the IP route information can be programmed into the master application 651 and master application agent 670 by an operator, for example via a management connection. Alternatively, the access node 675 advertises the IP address of the master application agent 670. The IP address may be advertised as an augmentation of a control channel that is already ready to control the RAN (eg, using the RAN control path). For example, the access node 675 may include an address in a network entry response for a terminal node when it joins the network or address it on a broadcast control channel (e.g., an LTE system information block (SIB) channel). Can broadcast.

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 주소지정에 적용될 수 있다.The IP address may not need to be routable outside the network defined by the access node and associated terminal node. Thus, a variety of well-known, non-routable IP addresses can be used. The allocation of non-routable IP addresses in the LTE network may be based on the eNodeB physical cell ID (PCI). For example, the IP address of the master application agent in the eNodeB may be assigned a 9-bit offset (of 9 least significant bits) plus a base address of 172.16.0.0 corresponding to the 9-bit PCI value. The master application agent in the eNodeB with a PCI value of 255 will be assigned an IP address of 172.16.0.255. Since the eNodeB PCI is broadcast to all UEs within the service provision range of the eNodeB, the master application agent IP address will be calculated by the UE without RAN signaling overhead. These techniques can also be applied to IPv6 addressing.

유사하게, LTE 사용자 장비 내 마스터 애플리케이션의 IP 주소도 비-라우팅가능 주소일 수 있다. 비-라우팅가능 주소는 베이스 주소(IPv4 또는 IPv6를 사용) 더하기 오프셋의 조합으로부터 형성될 수 있다. 오프셋은, 예를 들어, 디폴트 라디오 베어러 식별자 또는 임시 모바일 가입 아이디(M-TMSI)에 기반할 수 있다. 주소지정 스킴이 마스터 애플리케이션 에이전트에 의해 알려져 있을 수 있으므로, 마스터 애플리케이션의 IP 주소는 RAN 시그널링 오버헤드 없이 알려져 있을 수 있다.Similarly, the IP address of the master application in the LTE user equipment may also be a non-routable address. The non-routable address can be formed from a combination of the base address (using IPv4 or IPv6) plus an offset. The offset may be based on, for example, a default radio bearer identifier or a temporary mobile subscription ID (M-TMSI). Since the addressing scheme may be known by the master application agent, the IP address of the master application may be known without RAN signaling overhead.

대안으로, 앱-에이전트 협력형 통신의 일부분으로서 보내진 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 네트워크 내에서의 작업으로까지 확장될 수 있다.Alternatively, an IP datagram sent as part of an App-Agent cooperative communication may use a combination of an all-zero (0.0.0.0) source address and a broadcast or multicast destination address. In one embodiment, communication from the master application agent 670 to the master application 651 may use an IP source address of 0.0.0.0 and a broadcast destination address of 255.255.255.255. Alternatively, a multicast address can be used as the destination address, in the range 224.0.0.0 and 239.255.255.255. In one embodiment, the multicast or broadcast destination address, once assigned and found using the techniques described above, may be replaced by a suitable unicast IP address. Similar methods and addresses may be used for specific application agent 671 and specific application 653. The IPv4 addressing method described above can be extended to work within an IPv6 network.

일 실시예에 있어서, 마스터 애플리케이션(651)과 마스터 애플리케이션 에이전트(670) 간 통신은 라디오 액세스 기술(RAT)에 특정적인 제어 통신 채널을 통해서이다. 그 통신은, 예를 들어, 개별 또는 브로드캐스트 메시지를 사용할 수 있다. 새로운 특정 애플리케이션을 용이하게 하기 위해, 애플리케이션 특정 메시지에 대해 컨테이너를 제공하는 RAT 특정 메시지가 사용될 수 있다. 예를 들어, LTE 네트워크에서는, 도 5를 참조하면, 애플리케이션(551) 및 애플리케이션 에이전트(570) 내외로 메시지를 반송하도록 하나 이상의 시그널링 라디오 베어러(SRB)가 사용될 수 있다. 일 실시예에 있어서, 메시지는 제3 세대 파트너십 프로그램(3GPP) 표준에 의해 정의된 바와 같이 하나 이상의 기존 SRB 상에서 반송될 수 있다. 대안으로, 메시지는 애플리케이션과 애플리케이션 에이전트 간 메시지를 반송할 목적으로 확립된 하나 이상의 SRB 상에서 반송될 수 있다. 그러한 시나리오에 있어서, 액세스 노드(575) 내 패킷 검사 모듈(529)은 3GPP 표준에 의해 정의된 바와 같이 MME에 메시지를 포워딩하기보다는 단말 노드(555)와 액세스 노드(575) 간 SRB 상에서 보내진 앱-에이전트 협력형 통신 메시지를 인터셉트, 프로세싱 및 응답할 수 있다.In one embodiment, communication between master application 651 and master application agent 670 is over a control communication channel specific to Radio Access Technology (RAT). The communication can, for example, use individual or broadcast messages. To facilitate new specific applications, RAT specific messages can be used that provide a container for application specific messages. For example, in an LTE network, referring to FIG. 5, one or more signaling radio bearers (SRBs) may be used to carry messages into and out of the application 551 and the application agent 570. In one embodiment, the message may be carried on one or more existing SRBs as defined by the Third Generation Partnership Program (3GPP) standard. Alternatively, messages may be carried on one or more SRBs established for the purpose of carrying messages between the application and the application agent. In such a scenario, the packet inspection module 529 in the access node 575 is an app sent on the SRB between the terminal node 555 and the access node 575 rather than forwarding the message to the MME as defined by the 3GPP standard. Agent cooperative communication messages can be intercepted, processed, and responded.

대안의 실시예에 있어서, 앱-에이전트 협력형 통신은 액세스 노드(575)와 단말 노드(555) 간 애플리케이션 데이터 트래픽을 통신할 목적으로 확립된 기존 또는 전용 사용자 데이터 플레인 통신 채널을 사용할 수 있다. 이 경우에 있어서, 논리 앱-에이전트 협력형 통신 제어 경로(503) 상의 앱-에이전트 협력형 통신 및 논리 애플리케이션 데이터 경로(501) 상의 사용자 데이터 트래픽은 동일한 사용자 데이터 플레인 통신 채널 상에 거주할 수 있다. 예를 들어, LTE 네트워크에 있어서, 앱-에이전트 협력형 통신은 기존 디폴트 데이터 라디오 베어러(data radio bearer: DRB) 또는 전용 DRB 상에서 반송되고, 코어 네트워크에 포워딩하기보다는 액세스 노드에서의 소비를 위해 표시 또는 마크표시될 수 있다. 대안으로, 앱-에이전트 협력형 통신을 반송할 목적으로 새로운 전용 DRB가 생성될 수 있다. 부가적으로, 앱-에이전트 협력형 통신은 다수의 DRB 또는 하나 이상의 SRB와 하나 이상의 DRB의 조합 상에서 반송될 수 있다. 예를 들어, 여러 다른 베어러가 여러 다른 특정 애플리케이션 또는 특정 애플리케이션 그룹과 연관될 수 있다.In an alternative embodiment, the app-agent cooperative communication may use an established or dedicated user data plane communication channel for the purpose of communicating application data traffic between the access node 575 and the terminal node 555. In this case, the app-agent cooperative communication on the logical app-agent cooperative communication control path 503 and the user data traffic on the logical application data path 501 may reside on the same user data plane communication channel. For example, in the LTE network, the app-agent cooperative communication is carried on an existing default data radio bearer (DRB) or a dedicated DRB, and is indicated for consumption at the access node rather than forwarding to the core network or Can be marked. Alternatively, a new dedicated DRB may be created for the purpose of carrying the app-agent cooperative communication. Additionally, the app-agent cooperative communication may be carried on multiple DRBs or a combination of one or more SRBs and one or more DRBs. For example, different bearers may be associated with different specific applications or specific groups of applications.

일 실시예에 있어서, 앱-에이전트 협력형 통신을 반송할 목적에 전용인 DRB는 단말 노드(555)와 코어 네트워크 간 시그널링을 사용함이 없이 생성될 수 있다. 예를 들어, LTE 네트워크에 있어서, 앱-에이전트 협력형 통신을 반송할 목적에 전용인 DRB는 코어 네트워크에 위치하는 이동성 관리 엔티티(Mobility Management Entity: MME)의 관련 없이 생성될 수 있어서 그로써 시그널링을 감축하고 네트워크의 효율을 개선한다. 그러한 시나리오에 있어서, 액세스 노드(575) 내 패킷 검사 모듈(529)은 각각 메시지 및 데이터 트래픽을 시그널링하기 위한 3GPP 표준에 의해 정의된 바와 같이 MME 또는 S-GW에 메시지를 포워딩하기보다는 단말 노드(555)와 액세스 노드(575) 간 보내진 앱-에이전트 협력형 통신 메시지를 인터셉트, 프로세싱 및 응답할 수 있다.In one embodiment, a DRB dedicated to the purpose of carrying app-agent cooperative communication may be generated without using signaling between the terminal node 555 and the core network. For example, in an LTE network, a DRB dedicated to the purpose of carrying app-agent cooperative communication can be generated without the involvement of a mobility management entity (MME) located in the core network, thereby reducing signaling. And improve the efficiency of the network. In such a scenario, the packet inspection module 529 in the access node 575 is the terminal node 555 rather than forwarding the message to the MME or S-GW as defined by the 3GPP standard for signaling message and data traffic, respectively. ) And the app-agent cooperative communication message sent between the access node 575 may be intercepted, processed, and responded.

마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 또한 앱-에이전트 협력형 통신을 프로세싱할 수 있다. 예를 들어, 마스터 애플리케이션 에이전트(670) 또는 마스터 애플리케이션(651)은 특정 애플리케이션 에이전트(671)와 특정 애플리케이션(653) 간 통신되는 정보는 조정, 조합 또는 그렇지 않으면 조작할 수 있다.Master application agent 670 and master application 651 may also process app-agent cooperative communications. For example, the master application agent 670 or the master application 651 may coordinate, combine, or otherwise manipulate information communicated between the specific application agent 671 and the specific application 653.

마스터 애플리케이션(651)은 특정 애플리케이션(653)이 앱-에이전트 협력형 통신을 인식하고 있거나 그에 관련될 필요가 없도록 앱-에이전트 협력형 통신을 프로세싱할 수 있다. 이것은 기존 특정 애플리케이션이 수정 없이 앱-에이전트 협력형 통신으로부터 혜택을 볼 수 있게 할 수 있다.The master application 651 may process the app-agent cooperative communication such that the specific application 653 does not need to be aware of or be associated with the app-agent cooperative communication. This can enable existing specific applications to benefit from app-agent cooperative communication without modification.

일 실시예에 있어서, 마스터 애플리케이션(651)은 단말 노드 상의 애플리케이션과 서버 애플리케이션 간 스트리밍 비디오 통신을 인터셉트하고 시스템 용량의 제한에 기반하여 가용 비디오 표현을 필터링할 수 있다. 예를 들어, 위에서 설명된 유튜브 스트리밍 비디오 예를 고려해보라. 스트리밍 비디오는 각각 연관된 데이터 레이트를 갖는 다수의 포맷 및 표현으로 이용가능할 수 있다. 예를 들어, 유튜브 서버는, HTTP GET 커맨드를 통하여, 유튜브 애플리케이션(특정 애플리케이션(653)의 일례)이 여러 다른 비트 레이트를 각각 갖는 파일 세트 중으로부터 재생 파일을 선택할 수 있게 하는 점진적 다운로드 포맷을 사용할 수 있다. 가용 포맷 및 비트 레이트의 리스트가 URL(재생 파일당 하나씩)의 리스트를 통하여 전해지고 통상 유튜브 서버로부터 유튜브 애플리케이션으로 보내진다. 리스트는 마스터 애플리케이션(651)에 의해 인터셉트되어 유튜브 애플리케이션에 넘겨지기 전에 가용 용량의 제한에 기반하여 필터링될 수 있다.In one embodiment, the master application 651 may intercept streaming video communication between an application on a terminal node and a server application and filter available video representations based on system capacity limitations. For example, consider the YouTube streaming video example described above. Streaming video may be available in multiple formats and representations, each with an associated data rate. For example, the YouTube server may use a progressive download format that allows a YouTube application (an example of a specific application 653) to select a playback file from among a set of files each having a different bit rate, via an HTTP GET command have. A list of available formats and bit rates is passed through a list of URLs (one per playback file) and is usually sent from a YouTube server to a YouTube application. The list may be intercepted by the master application 651 and filtered based on the limit of available capacity before being handed over to the YouTube application.

필터링은 수개의 형태를 취할 수 있다. 일 실시예에 있어서, 마스터 애플리케이션(651)에 의해 인터셉트된 가용 포맷의 리스트는 앱-에이전트 협력형 통신을 통하여 마스터 애플리케이션 에이전트(670) 또는 특정 애플리케이션 에이전트(671) 중 하나에 보내진다. 그 포맷은 마스터 애플리케이션 에이전트(670) 또는 특정 애플리케이션 에이전트(671)에 의해 필터링될 수 있다. 필터링은 자원 제어 모듈(예를 들어, 도 4의 자원 제어 모듈(480))과의 자문 후에 있을 수 있다. 예를 들어, 정체 기간 동안, 자원 제어 모듈은 모든 비디오 스트리밍을 1 Mbps보다 작은 비트 레이트로 제한하는 수락 제어 응답을 제공할 수 있다. 마스터 애플리케이션 에이전트(670) 또는 특정 애플리케이션 에이전트(671)는 필터링된 리스트를 마스터 애플리케이션에 다시 보내기 전에 1 Mbps보다 더 큰 비트 레이트를 갖는 모든 스트리밍 옵션(예를 들어, URL들)을 가용 포맷의 리스트로부터 삭제하도록 이 정보를 사용한다. 대안의 일 실시예에 있어서, 마스터 애플리케이션 에이전트(670)는 스트리밍 비디오 비트 레이트에 대한 현재 한계를 설명하는 주기적 업데이트를 앱-에이전트 협력형 통신을 통하여 마스터 애플리케이션(651)에 제공할 수 있다. 차례로, 마스터 애플리케이션(651)은 비트 레이트 옵션을 그것들을 유튜브 특정 앱에 보내기 전에 로컬 필터링하도록 이 정보를 사용한다. 위의 기술은 HTTP를 통한 동적 적응형 스트리밍(DASH), 마이크로소프트의 스무드 스트리밍, 애플의 라이브 스트리밍 및 어도비의 동적 스트리밍과 같이 멀티-비트레이트 스트림을 관련시키는 어느 비디오 재생 기술에라도 적용될 수 있다.Filtering can take several forms. In one embodiment, the list of available formats intercepted by the master application 651 is sent to either the master application agent 670 or the specific application agent 671 via app-agent cooperative communication. The format can be filtered by the master application agent 670 or a specific application agent 671. Filtering may occur after consultation with the resource control module (eg, the resource control module 480 of FIG. 4 ). For example, during a congestion period, the resource control module may provide an admission control response that limits all video streaming to a bit rate less than 1 Mbps. The master application agent 670 or specific application agent 671 retrieves all streaming options (e.g., URLs) with a bit rate greater than 1 Mbps from the list of available formats before sending the filtered list back to the master application. Use this information to delete it. In an alternative embodiment, the master application agent 670 may provide periodic updates describing the current limit to the streaming video bit rate to the master application 651 via app-agent cooperative communication. In turn, the master application 651 uses this information to locally filter the bit rate options before sending them to a YouTube specific app. The above technique can be applied to any video playback technology involving multi-bitrate streams, such as Dynamic Adaptive Streaming (DASH) over HTTP, Microsoft's Smooth Streaming, Apple's Live Streaming, and Adobe's Dynamic Streaming.

다수의 다른 애플리케이션에 공통일 수 있는 정보 또는 요청은 취합될 수 있다. 예를 들어, 마스터 애플리케이션 에이전트(670)는 현재 정체 및 과잉 자원 헤드룸을 마스터 애플리케이션(651)에 제공할 수 있다. 그 후 마스터 애플리케이션(651)은 정체 및 자원 헤드룸 정보를 특정 애플리케이션(653)에 공급할 수 있다.Information or requests that may be common to many different applications may be aggregated. For example, the master application agent 670 may provide current congestion and redundant resource headroom to the master application 651. Thereafter, the master application 651 may supply congestion and resource headroom information to the specific application 653.

부가적으로, 공통 질의, 예를 들어, 특정 데이터 레이트에서의 특정 애플리케이션 클래스(예를 들어, 음성, 비디오)가 소망 QoS 레벨로 지원될 수 있는지는 각각의 특정 애플리케이션 및 특정 애플리케이션 에이전트에서보다는 단일 마스터 애플리케이션-마스터 애플리케이션 에이전트 쌍에서 획일적으로 구현될 수 있다. 서비스를 종료 또는 수정하는 것들과 같은 수락 제어 응답은 부가적으로는 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670)에서 구현될 수 있다.Additionally, a common query, e.g., whether a particular application class (e.g., voice, video) at a particular data rate can be supported at the desired QoS level is determined by a single master application rather than at each particular application and a particular application agent. -Can be implemented uniformly in the master application agent pair. Admission control responses, such as those that terminate or modify a service, may additionally be implemented in master application 651 and master application agent 670.

공통 애플리케이션-발생된 협력형 통신을 지원하는 것에 부가하여, 마스터 애플리케이션 에이전트(670) 및 마스터 애플리케이션(651)은 어느 앱-에이전트 협력형 통신이라도 통과시킬 수 있다. 즉, 특정 쌍의 특정 애플리케이션(653) 및 특정 애플리케이션 에이전트(671)에 특정한 협력형 통신은 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670)를 통과할 수 있다. 예를 들어, 비디오 클라이언트 재생 버퍼 상태에 대한 협력형 통신은 특정 애플리케이션(653) 중 하나로부터 마스터 애플리케이션(651) 및 마스터 애플리케이션 에이전트(670)를 통해 특정 애플리케이션 에이전트(671) 중 하나로 지나갈 수 있다.In addition to supporting common application-generated cooperative communication, master application agent 670 and master application 651 can pass any app-agent cooperative communication. That is, cooperative communication specific to a specific application 653 and a specific application agent 671 of a specific pair may pass through the master application 651 and the master application agent 670. For example, cooperative communication about the video client playback buffer status may pass from one of the specific applications 653 to one of the specific application agents 671 through the master application 651 and the master application agent 670.

마스터 애플리케이션 에이전트 또는 마스터 애플리케이션의 사용은 시그널링 오버헤드를 감축하고 애플리케이션 개발자의 부담을 줄일 수 있다. 또한 이것은, 자원 제어 모듈과 같은, 액세스 노드(675)에서의 다른 기능과 애플리케이션 에이전트(들)(671)를 인터페이싱하는 복잡도를 감축할 수 있다.The use of a master application agent or master application can reduce signaling overhead and reduce the burden on application developers. This may also reduce the complexity of interfacing the application agent(s) 671 with other functions in the access node 675, such as a resource control module.

도 6에 도시된 애플리케이션 에이전트 및 애플리케이션에 대한 여러 변형이 가능하다. 예를 들어, 마스터 애플리케이션은 마스터 애플리케이션 에이전트를 포함하지 않는 액세스 노드 내 특정 애플리케이션 에이전트와 직접 통신할 수 있다. 유사하게, 마스터 애플리케이션 에이전트는 마스터 애플리케이션 에이전트를 포함하지 않는 단말 노드 내 특정 애플리케이션과 직접 통신할 수 있다. 부가적으로, 액세스 노드는 마스터 애플리케이션 에이전트와 더불어, 특정 애플리케이션과 직접 통신하는 하나 이상의 애플리케이션 에이전트도 가질 수 있고, 단말 노드는 마스터 애플리케이션과 더불어, 특정 애플리케이션 에이전트와 직접 통신하는 하나 이상의 애플리케이션도 가질 수 있다. 더욱, 위에서 다룬 스킴(또는 그 변형)은 마스터 애플리케이션 에이전트 또는 마스터 애플리케이션의 부재시에도 사용될 수 있다.Several variations on the application agent and application shown in FIG. 6 are possible. For example, a master application may communicate directly with a specific application agent in an access node that does not contain a master application agent. Similarly, the master application agent can communicate directly with a specific application in the terminal node that does not include the master application agent. Additionally, in addition to the master application agent, the access node may have one or more application agents that directly communicate with the specific application, and the terminal node may have one or more applications that directly communicate with the specific application agent in addition to the master application. . Moreover, the scheme (or variations thereof) discussed above can be used even in the absence of a master application agent or master application.

액세스 노드 내 마스터 애플리케이션 에이전트의 존부는 기존 브로드캐스트 제어 채널 내, 예를 들어, LTE SIB 또는 MIB 메시지 내 데이터 필드 또는 비트를 사용하여 시그널링될 수 있다. 데이터 필드 또는 비트는 메시지 내 기존의 그러나 미사용의 위치를 사용할 수 있다. 대안으로, 기존 SIB 메시지 내 새로운 필드 또는 전적으로 새로운 SIB가 마스터 애플리케이션 에이전트의 존재를 나타낼 목적으로 생성될 수 있다.The presence or absence of the master application agent in the access node may be signaled using a data field or bit in an existing broadcast control channel, for example, in an LTE SIB or MIB message. Data fields or bits may use existing but unused positions in the message. Alternatively, a new field in the existing SIB message or an entirely new SIB may be created for the purpose of indicating the existence of the master application agent.

일 실시예에 있어서, 액세스 노드(675)는 단말 노드(655)에 후속적으로 알려주는 코어 네트워크 내 엘리먼트에 통신을 통하여 마스터 애플리케이션 에이전트(670)의 존부를 통신한다. 예를 들어, LTE 네트워크에 있어서, eNB는 eNB 상의 마스터 애플리케이션 에이전트의 존부를 나타내는 메시지를 3GPP 정의된 S1 통신 채널을 사용하여 EPC 코어 네트워크에 위치한 MME 서버에 보낼 수 있다. 3GPP S1-설정/eNodeB 구성 업데이트는 TLV(type-length-value) 포맷을 사용하는 새로운 필드 및 ASN.1 확장 마커의 사용에 의해 애플리케이션 에이전트 지원을 나타내도록 강화될 수 있다. S1 메시지의 수신시, MME는 3GPP NAS 메시지를 통하여 UE에 존부 정보를 보낼 수 있다. 여러 다른 시그널링 방법이 또한 사용될 수 있다.In one embodiment, the access node 675 communicates the presence or absence of the master application agent 670 through communication to an element in the core network that subsequently informs the terminal node 655. For example, in an LTE network, the eNB may send a message indicating the presence or absence of a master application agent on the eNB to an MME server located in the EPC core network using a 3GPP defined S1 communication channel. The 3GPP S1-configuration/eNodeB configuration update can be enhanced to indicate application agent support by the use of ASN.1 extension markers and new fields using the TLV (type-length-value) format. Upon receipt of the S1 message, the MME may send presence information to the UE through a 3GPP NAS message. Several other signaling methods can also be used.

단말 노드(655)는, 일 실시예에서는, 코어 네트워크 내 엘리먼트에 통신을 통하여 마스터 애플리케이션(651)의 존부를 시그널링할 수 있다. 예를 들어, LTE UE는 MME에 보내지는 NAS 메시지를 통하여 마스터 애플리케이션(651)의 존재를 시그널링할 수 있다. 예를 들어, UE 특정 S1-초기 컨텐트 설정/E-RAB 설정/수정 메시지는 TLV 포맷의 옵션 엘리먼트로서 존재 정보를 포함하도록 수정될 수 있다. MME에 의해 수신에 뒤이어, 그 후 MME는 적합한 eNB와 정보를 통신한다.The terminal node 655 may, in an embodiment, signal the presence or absence of the master application 651 through communication to an element in the core network. For example, the LTE UE may signal the presence of the master application 651 through a NAS message sent to the MME. For example, the UE-specific S1-initial content configuration/E-RAB configuration/modification message may be modified to include presence information as an optional element of the TLV format. Following reception by the MME, the MME then communicates the information with the appropriate eNB.

일 실시예에 있어서, 액세스 노드(675)는 RAN 프로토콜 스택의 일 계층의 패킷 헤더에 존재 비트를 부가함으로써 마스터 애플리케이션 에이전트(670)의 존부를 통신할 수 있다(예를 들어, 도 5에 예시된 패킷 데이터 컨버전스 계층, 라디오 링크 제어 계층 또는 매체 액세스 제어 계층에 대해 정의된 패킷 포맷). 유사한 기술이 마스터 애플리케이션(651)의 존재를 액세스 노드(675)에 나타내도록 단말 노드(655)에 의해 사용될 수 있다.In one embodiment, the access node 675 may communicate the presence or absence of the master application agent 670 by adding a presence bit to the packet header of one layer of the RAN protocol stack (e.g., Packet format defined for the packet data convergence layer, radio link control layer, or medium access control layer). A similar technique may be used by the terminal node 655 to indicate to the access node 675 the presence of the master application 651.

앱-에이전트 협력형 통신은 여러모로 사용될 수 있다. 이하의 단락은 앱-에이전트 협력형 통신의 예들을 설명한다. 많은 예들이 특정 애플리케이션 및 특정 네트워크 기술에 대하여 설명되고 있지만, 그 예들 및 변형례는 다른 애플리케이션 및 다른 네트워크 기술에 광범위하게 적용가능함을 이해해야 한다. 유사하게, 많은 예들이 액세스 노드 내 애플리케이션 에이전트와 단말 노드 내 애플리케이션 간 앱-에이전트 협력형 통신에 대하여 설명되고 있지만, 그 예들 및 변형례는 다른 디바이스에 광범위하게 적용가능함을 이해해야 한다.App-agent cooperative communication can be used in many ways. The following paragraphs describe examples of app-agent cooperative communication. While many examples have been described for specific applications and specific network technologies, it should be understood that the examples and variations are broadly applicable to other applications and other network technologies. Similarly, although many examples have been described for app-agent cooperative communication between an application agent in an access node and an application in a terminal node, it should be understood that the examples and variations are broadly applicable to other devices.

앱-에이전트 협력형 통신은 통신 네트워크 조건, 예를 들어, RAN 조건을 변화시키도록 비디오 통신을 적응시키는데 사용될 수 있다. 실시간 비디오 스트리밍 프로토콜에 있어서, 예를 들어, 애플리케이션 에이전트는 통신 시스템이 가용 자원을 더 많이 또는 더 적게 갖고 있을 때를 연관된 실시간 스트리밍 비디오 애플리케이션에 알려줄 수 있다. 애플리케이션 에이전트는, 예를 들어, 자원 가용성을 통신함으로써 또는 비디오에 대한 새로운 선호되는 또는 최대 데이터 레이트 또는 해상도를 통신함으로써 네트워크 조건에 대해 애플리케이션에 알려줄 수 있다. 비디오의 다음 블록 또는 세그먼트를 요청할 때, 애플리케이션은 비디오를 자원 변화에 적응시키기 위하여 다른 평균 또는 피크 비트 레이트 또는 다른 해상도를 갖는 세그먼트를 요청할 수 있다.App-agent cooperative communication can be used to adapt video communication to change communication network conditions, eg, RAN conditions. For real-time video streaming protocols, for example, an application agent may inform an associated real-time streaming video application when the communication system has more or less resources available. The application agent may inform the application about network conditions, for example, by communicating resource availability or by communicating a new preferred or maximum data rate or resolution for video. When requesting the next block or segment of video, the application may request a segment with a different average or peak bit rate or different resolution to adapt the video to resource changes.

일 실시예에 있어서, 애플리케이션 에이전트는 추정된 장래 자원 가용성에 대하여 하나 이상의 비디오 애플리케이션에 알려줄 수 있다. 장래 자원 가용성의 추정치는 정의된 기간(예를 들어, 다음 2초)에 걸쳐 단일 수(예를 들어, 2Mbps)로서 통신될 수 있다. 대안으로, 멀티-포인트 추정이 더 긴 수평선에 걸친 시간과 장래 용량 간 관계를 묘사하도록 사용될 수 있다. 멀티-포인트 추정의 일례를 아래 표에 나타낸다. 표 상태에서 제2 칼럼은 제1 칼럼에 주어진 시간에서의 용량을 추정하였다.In one embodiment, the application agent may inform one or more video applications about the estimated future resource availability. An estimate of future resource availability may be communicated as a single number (eg, 2 Mbps) over a defined period (eg, the next 2 seconds). Alternatively, multi-point estimates can be used to describe the relationship between time and future capacity over longer horizontal lines. An example of multi-point estimation is shown in the table below. In the tabular state, the second column estimated the capacity at a given time in the first column.

Figure 112014127886944-pat00002
Figure 112014127886944-pat00002

비디오 애플리케이션은 추정된 장래 용량을 사용하여 다음 비디오 세그먼트를 선택할 수 있고 그래서 비트 레이트는 세그먼트 듀레이션 동안 추정된 장래 비트 레이트 용량에 또는 그 아래에 있다. 예를 들어, 3개의 다른 비트 레이트: 0.7 Mbps, 1.3 Mbps 및 2.5 Mbps로 이용가능한 2-초 세그먼트를 갖는 비디오 스트림을 고려해본다. 추정된 장래 비트 레이트가 1.5 Mbps로부터 1.0 Mbps로 감축될 것이라고 비디오 애플리케이션에 알려지면, 그때 1.3 Mbps 세그먼트를 인출하고 있었던 애플리케이션은 다음 기회에는 0.7 Mbps 세그먼트를 선택할 수 있다.The video application can use the estimated future capacity to select the next video segment so the bit rate is at or below the estimated future bit rate capacity during the segment duration. For example, consider a video stream with a 2-second segment available at three different bit rates: 0.7 Mbps, 1.3 Mbps and 2.5 Mbps. If the video application is informed that the estimated future bit rate will be reduced from 1.5 Mbps to 1.0 Mbps, then the application that was drawing the 1.3 Mbps segment at the time may select the 0.7 Mbps segment at the next opportunity.

비디오 애플리케이션은 장래 용량이 적절히 더 커질 수 있다고 그리고 현재 로컬 버퍼 점유율이 더 큰 용량이 이용가능하게 될 때까지 멎음-없는 동작을 보장하기에 충분하다고(예를 들어, 로컬 버퍼가 공백이지 않을 것이라고) 예상될 때 현재 용량보다 더 큰 비트 레이트를 옹호하도록 추정된 장래 비트 레이트를 사용할 수 있다. 예를 들어, 2.0 Mbps 세그먼트를 인출하고 있고 그 로컬 버퍼에 10초의 비디오를 저장해 둔 비디오 애플리케이션을 고려해본다. 그때 애플리케이션은, 용량이 2.0 Mbps의 현재(시간=0)값으로부터 시간 3초에 0.5 Mbps의 최소값으로 떨어지고 그 후 장래에는 용량이 빠르게 회복되어 현재값을 능가할 것이라고 예측하는, 위 예의 표에 나타낸 추정된 장래 용량을 수신한다. 용량 부족분(즉, 추정된 용량이 현재 세그먼트 비트 레이트보다 더 작음)이 로컬 버퍼링된 비디오의 양보다 더 짧으면, 애플리케이션은 현재 용량보다 더 큰 비트 레이트를 갖는 세그먼트를 계속 인출할 수 있다. 위 예에 있어서, 용량 미달은 t=1초에서 시작하여 t=4초에서 끝나고 그래서 3초이다. 로컬 버퍼 점유율이 10초이면, 비디오 애플리케이션은 계속 2.0 Mbps 세그먼트를 인출할 것이다.Video applications say that in the future the capacity may be reasonably larger and that the current local buffer occupancy is sufficient to ensure stop-free operation until a larger capacity becomes available (e.g. the local buffer will not be empty). It is possible to use the estimated future bit rate to advocate a bit rate greater than the current capacity when expected. For example, consider a video application that fetches a 2.0 Mbps segment and stores 10 seconds of video in its local buffer. At that time, the application predicts that the capacity will drop from the current (time = 0) value of 2.0 Mbps to the minimum value of 0.5 Mbps at 3 seconds of time, and then in the future, the capacity will recover rapidly and exceed the current value, as shown in the table above. Receive the estimated future capacity. If the capacity deficit (ie, the estimated capacity is less than the current segment bit rate) is shorter than the amount of locally buffered video, the application may continue to fetch segments with a bit rate greater than the current capacity. In the example above, the undercapacity starts at t=1 second and ends at t=4 seconds, so it is 3 seconds. If the local buffer occupancy is 10 seconds, the video application will continue to fetch the 2.0 Mbps segment.

반대로, 장래 자원이 줄어들고 있을 수 있다는 추정은 감축에 앞서 비디오의 다음 세그먼트에 대한 비트 레이트를 감축하도록 비디오 애플리케이션에 의해 사용될 수 있고, 그로써 클라이언트 버퍼 점유율을 증가시키고 다가오는 감축의 충격(예를 들어, 재생 멎음)을 줄인다.Conversely, an estimate that future resources may be declining can be used by video applications to reduce the bit rate for the next segment of video prior to reduction, thereby increasing the client buffer occupancy and impact of upcoming reductions (e.g., playback Stop).

다양한 방법이 장래 자원 가용성을 추정하도록 사용될 수 있다. 예를 들어, 자원 가용성의 이력이 자원 추정 모듈에 저장될 수 있다. 하루 중 시간, 일주 중 요일 및 다른 이벤트에 대한 자원 가용성의 상관은 애플리케이션 에이전트가 장래 자원이 현재 자원보다 더 클지 더 작을지 예측 가능하게 할 수 있다. 예를 들어, 주요 주간 고속도로를 서비스 제공하는 LTE eNB는 아침 및 저녁 평일 통근 기간 동안 피크 수요를 알 수 있다. 이력 데이터에 기반하여, 애플리케이션 에이전트는, 예를 들어, 통근 교통량이 늘어남에 따라 다음 30분에 걸쳐 분당 2%의 평균 레이트로 사용자당 자원이 떨어질 것이라고 예측할 수 있다.Various methods can be used to estimate future resource availability. For example, the history of resource availability may be stored in the resource estimation module. The correlation of resource availability to time of day, day of week, and other events can enable application agents to predict whether future resources will be larger or smaller than current resources. For example, LTE eNBs serving major interstate highways can see peak demand during morning and evening weekday commuting. Based on the historical data, the application agent can predict that resources per user will drop at an average rate of 2% per minute over the next 30 minutes over the next 30 minutes, for example as commuter traffic increases.

부가적으로, 특정 단말 노드와 액세스 노드 간 자원 가용성이 시변 채널 조건의 반복 패턴에 기반하여 추정될 수 있다. 예를 들어, 액세스 노드(475) 내 자원 추정 모듈(481)은 특정 단말의 DL 및 UL 변조 및 코딩 스킴(MCS)을 추적하고 반복 패턴이 존재함을 결정할 수 있다. 예를 들어, 사용자의 채널 조건(및 이리하여 가용 용량)은 오후 5시쯤에는 매일 5분 주기로 우수함으로부터 불량함으로 그리고 다시 우수함으로 바뀔 수 있다. 그러한 패턴은 사무소 근로자가 그들의 책상을 떠나 그들의 차로 걸어가는 것에 기인할 수 있다. 일 실시예에 있어서, 액세스 노드는 하루 중 시간과 같은 지식을 사용하고 최근 채널 이력(예를 들어, 마지막 1분)을 이력상(예를 들어, 5분 주기로 확립된) 채널 패턴과 매칭시켜 사용자가 재차 그러한 패턴 중에 있다고 결정할 수 있다. 패턴이 검출되고 나면, 장래 용량은 검출된 이력 패턴 내 현재 위치로부터 앞으로 투영함으로써 추정될 수 있다.Additionally, resource availability between a specific terminal node and an access node may be estimated based on a repetition pattern of time-varying channel conditions. For example, the resource estimation module 481 in the access node 475 may track the DL and UL modulation and coding scheme (MCS) of a specific terminal and determine that a repetition pattern exists. For example, the user's channel conditions (and thus available capacity) may change from good to bad and back to good at a 5-minute cycle every day around 5 pm. Such a pattern can be attributed to office workers leaving their desks and walking into their cars. In one embodiment, the access node uses knowledge, such as time of day, and matches the recent channel history (eg, the last minute) with a channel pattern on the history (eg, established in a 5-minute period) to allow the user to It can again be determined that is in such a pattern. Once the pattern is detected, the future capacity can be estimated by projecting forward from the current position in the detected historical pattern.

장래 자원 가용성의 추정은 또한 외삽을 통하여 이루어질 수 있다. 예를 들어, (단말 노드당으로도 그리고 액세스 노드 전체에 대해서도) 최근 용량의 선형 퇴보는 가까운 장래에서의 용량을 예측하도록 사용될 수 있다. 다른 형태의 이력 곡선 피팅(예를 들어, 다항식, 지수)이 또한 자원 가용성을 외삽하도록 사용될 수 있다.Estimation of future resource availability can also be made through extrapolation. For example, a linear regression of recent capacity (per terminal node and also for access nodes as a whole) can be used to predict capacity in the near future. Other forms of hysteresis curve fitting (eg, polynomial, exponential) can also be used to extrapolate resource availability.

앱-에이전트 협력형 통신은 액세스 노드로부터의 통신의 스케줄링을 조절하도록 사용될 수 있다.App-agent cooperative communication can be used to coordinate the scheduling of communication from the access node.

애플리케이션-인식 스케줄링을 사용하는 디바이스는 앱-에이전트 협력형 통신으로부터 애플리케이션에 대한 정보를 획득할 수 있다. 앱-에이전트 협력형 통신을 통하여 획득된 애플리케이션에 대한 정보는 그렇지 않았더라면 획득하기 어렵거나 불가능하였을 수 있다. 앱-에이전트 협력형 통신은 협력형 애플리케이션에 대한 애플리케이션 검출 및 애플리케이션 정보 검출 필요성을 줄이거나 없앨 수 있다. 예를 들어, 2012년 9월 7일자로 출원된 미국 특허 출원 제13/607,559호(발명의 명칭: "Systems and Methods for Congestion Detection for use in Prioritizing and Scheduling Packets in a Communication Network")에 설명된 바와 같은 애플리케이션 검출 및 애플리케이션 정보 검출을 수행할 수 있는 디바이스가 앱-에이전트 협력형 통신을 제공하는 애플리케이션과 통신할 때는 더 적은 검출을 수행할 수 있다. 협력은 또한 애플리케이션의 상태에 대해 더 정확한 정보를 제공할 수 있다. 비디오 세션에 대하여, 예를 들어, 앱-에이전트 협력형 통신은 비디오가 초기 버퍼링 상태인지, 재생/관람 상태인지, 일시정지 상태인지, 정지 상태인지, 되감기 상태인지 또는 고속 전진 상태인지 통신할 수 있다. 액세스 노드는 스케줄링 및 수락 제어 결정에 있어서 비디오 상태를 사용할 수 있다.A device using application-aware scheduling can obtain information about an application from the app-agent cooperative communication. The information on the application obtained through the app-agent cooperative communication may have been difficult or impossible to obtain otherwise. App-agent cooperative communication can reduce or eliminate the need for application detection and application information detection for cooperative applications. For example, as described in U.S. Patent Application No. 13/607,559, filed September 7, 2012 (title of the invention: "Systems and Methods for Congestion Detection for use in Prioritizing and Scheduling Packets in a Communication Network"). When a device capable of performing the same application detection and application information detection communicates with an application that provides an app-agent cooperative communication, less detection can be performed. Cooperation can also provide more accurate information about the state of the application. For a video session, for example, the app-agent cooperative communication can communicate whether the video is in an initial buffering state, a playback/viewing state, a pause state, a stop state, a rewind state, or a fast forward state. . The access node may use the video state in scheduling and admission control decisions.

낮은 초기 버퍼링 시간(재생이 시작될 때와 초기 데이터 요청 간 버퍼링 기간의 듀레이션)은 스트리밍 비디오의 재생 동안 사용자 QoE에 중요하다. 일 실시예에 있어서, 액세스 노드에 의해 스트리밍 비디오 세션에 적용된 스케줄링 자원은 초기 버퍼링 시간을 감축하도록 일시적으로 증가될 수 있다. 이것은 초기 버퍼링 기간 동안 스트리밍 비디오 세션에 대해 AF를 증가시킴으로써 달성될 수 있다. 초기 버퍼링 기간에 대한 정보는 앱-에이전트 협력형 통신을 통하여 액세스 노드에 통신될 수 있다. 초기 버퍼링 기간에 대한 정보는, 예를 들어, 단말 노드가 초기 버퍼링 기간 내 비디오 및 재생을 시작하기 전에 수신되어야 하는 바이트 수("남아있는 바이트")를 갖고 있음을 포함할 수 있다. 스케줄링 자원은 남아있는 바이트의 송신이 완료될 때까지 증가될 수 있다. 부가적으로, 새로운 사용자에 의해 이루어질 수 있는 수락 제어 요청은 하나 이상의 기존 사용자에 대한 하나 이상의 비디오 세션의 초기 버퍼링 기간이 완료될 때까지 연기될 수 있다. 액세스 노드는 비디오 스트림에 할당된 현재 또는 예측된 자원(예를 들어, 초당 바이트로 표현됨)으로 남아있는 바이트를 나눔으로써 초기 버퍼링 기간의 완료 시간을 계산할 수 있다.The low initial buffering time (the duration of the buffering period between when playback starts and the initial data request) is important for user QoE during playback of streaming video. In one embodiment, the scheduling resource applied to the streaming video session by the access node may be temporarily increased to reduce the initial buffering time. This can be achieved by increasing the AF for the streaming video session during the initial buffering period. Information on the initial buffering period may be communicated to the access node through the app-agent cooperative communication. The information on the initial buffering period may include, for example, that the terminal node has a video within the initial buffering period and the number of bytes ("remaining bytes") that must be received before starting playback. The scheduling resource can be increased until the transmission of the remaining bytes is complete. Additionally, admission control requests that may be made by new users may be deferred until the initial buffering period of one or more video sessions for one or more existing users is complete. The access node may calculate the completion time of the initial buffering period by dividing the remaining bytes by the current or predicted resource allocated to the video stream (eg, expressed in bytes per second).

앱-에이전트 협력형 통신은 비디오 클라이언트 애플리케이션으로부터 재생 버퍼 상태, 로컬 비디오 버퍼 점유율, 및 동결 표시를 통신할 수 있다. 액세스 노드 내 스케줄러 파라미터는 따라서 조절될 수 있다. 일 실시예에 있어서, 액세스 노드에 의해 비디오 세션에 할당된 통신 자원은 단말 노드로부터 앱-에이전트 협력형 통신을 통하여 통신된 바와 같은 현재 버퍼 점유율에 기반할 수 있다. 예를 들어, 낮은 버퍼 점유율을 보고하여 멎음의 위험이 있는 단말 노드를 고려해본다. 그러한 경우에 있어서, 액세스 노드는 연관된 패킷에 대해 AF 또는 스케줄링 우선순위를 증가시킴으로써 비디오 세션에 할당된 자원을 증가시킬 수 있다. 반대로, 높은 버퍼 점유율을 보고하는 단말 노드를 고려해본다. 이러한 비디오 세션에 대하여, 스케줄링 자원은 AF 또는 스케줄링 우선순위의 감소를 통하여 감소되고 그로써 다른 세션을 위해 자원을 풀어줄 수 있다. App-agent cooperative communication may communicate playback buffer status, local video buffer occupancy, and freeze indication from a video client application. The scheduler parameter in the access node can be adjusted accordingly. In one embodiment, the communication resources allocated to the video session by the access node may be based on the current buffer occupancy as communicated from the terminal node through the app-agent cooperative communication. For example, consider a terminal node at risk of stopping by reporting a low buffer occupancy rate. In such a case, the access node may increase the resources allocated to the video session by increasing the AF or scheduling priority for the associated packet. Conversely, consider a terminal node reporting a high buffer occupancy. For such video sessions, scheduling resources can be reduced through AF or reduction of scheduling priority, thereby releasing resources for other sessions.

앱-에이전트 협력형 통신은 수락 제어 결정에서 사용될 수 있다. 앱-에이전트 협력형 통신은 애플리케이션-인식 수락 제어 시스템에 대한 자원 수요의 더 정확한 픽처를 생성하도록 사용될 수 있다. 예를 들어, 스트리밍 비디오 클라이언트와 같이 단말 노드 상의 협력형 애플리케이션은 앱-에이전트 협력형 통신을 사용하여 스트리밍 비디오 세션의 평균 비트 레이트 및 듀레이션을 보고할 수 있다. 그러한 정보는 현재 및 장래 자원 수요를 계산함에 있어서 액세스 노드에 의해 사용될 수 있다. 액세스 노드 용량으로부터 자원 수요를 뺌으로써, 수락을 요청하는 새로운 서비스에 적용될 수 있는 가용 과잉 용량의 척도가 생성된다.App-agent cooperative communication can be used in admission control decisions. App-agent cooperative communication can be used to create a more accurate picture of the resource demand for the application-aware admission control system. For example, a cooperative application on a terminal node, such as a streaming video client, may report the average bit rate and duration of a streaming video session using app-agent cooperative communication. Such information can be used by the access node in calculating current and future resource demands. By subtracting the resource demand from the access node capacity, a measure of available excess capacity that can be applied to new services requesting acceptance is created.

앱-에이전트 협력형 통신은 수정된 버전의 세션을 수락하기 위해 증가된 옵션을 제공하거나 또는 다른 세션을 수정하여 새로운 세션을 허용하기 위해 증가된 옵션을 제공하도록 사용될 수 있다. 예를 들어, 단말 노드 상의 협력형 애플리케이션은 앱-에이전트 협력형 통신을 사용함으로써 비디오 클립에 이용가능한 비트 레이트 옵션 세트(예를 들어, 세션 초기화 동안 "HTTP를 통한 동적 적응형 스트리밍" 또는 DASH 서버에 의해 DASH 애플리케이션에 송신되는 렌더링 비트 레이트 리스트)를 통신할 수 있다. 가용 과잉 용량에 기반하여, 액세스 노드는 리스트 내 더 높은 비트 레이트 옵션 중 하나 이상의 사용을 없애거나 금할 수 있다. 감축된 리스트는 다시 단말 노드에 통신되어 감축된 비트 레이트 옵션 세트를 애플리케이션에 제공할 수 있다. 이것은 액세스 노드의 가용 용량의 제약 내에서 신뢰할만한 비디오 재생을 감안한다. 부가적으로 또는 대안으로, 다수의 단말 노드를 갖는 네트워크에 있어서, 위의 DASH 세션과 같은 새로운 비디오 세션의 지원은 이미 진행 중인 하나 이상의 비디오 세션에 업데이트된 비트 레이트 리스트를 보내는 것을 포함할 수 있다. 예를 들어, 새로운 제10 DASH 비디오 세션(제9 진행중 세션과 부가될 제10 세션)을 지원하기 위하여, 액세스 노드는 제10 세션에 이용가능한 최대 비트 레이트를 감축함과 더불어 또한 제10 세션을 지원하기에 충분한 용량을 풀어주기 위해 (더 낮은 최대 비트 레이트 옵션을 갖는) 업데이트된 비트 레이트 리스트를 진행중 제9 세션 중 하나 이상에 보낼 수 있다. 증가하는 과잉 용량의 시간 동안, 위의 방법은 사용자 QoE를 개선하기 위하여 역으로 될 수 있다(즉, 최대 허용가능한 비트 레이트를 증가시킴으로써 비트 레이트 리스트를 확대할 수 있다). 부가적으로, 수락 제어가 세션당 단위보다는 거친 논리 베어러 단위로 지정되는 LTE와 같은 시스템에 있어서, 앱-에이전트 협력형 통신은 세션당 단위로 거부 및 수정으로 응답하는 더 미세한 수락 제어를 생성하도록 사용될 수 있다.App-agent cooperative communication can be used to provide an increased option to accept a modified version of a session or modify another session to provide an increased option to allow a new session. For example, a cooperating application on a terminal node can use an app-agent cooperative communication to a set of bit rate options available for a video clip (e.g., "dynamic adaptive streaming over HTTP" or to a DASH server during session initiation. By doing so, the rendering bit rate list transmitted to the DASH application can be communicated. Based on the available excess capacity, the access node may eliminate or prohibit the use of one or more of the higher bit rate options in the list. The reduced list can be communicated back to the terminal node to provide the reduced bit rate option set to the application. This allows for reliable video playback within the constraints of the available capacity of the access node. Additionally or alternatively, for networks with multiple terminal nodes, support of a new video session, such as the DASH session above, may include sending an updated bit rate list to one or more video sessions already in progress. For example, in order to support a new tenth DASH video session (a ninth ongoing session and a tenth session to be added), the access node not only reduces the maximum bit rate available for the tenth session, but also supports the tenth session. An updated bit rate list (with a lower maximum bit rate option) can be sent to one or more of the ninth sessions in progress to free up enough capacity to do so. During times of increasing excess capacity, the above method can be reversed to improve user QoE (i.e., enlarge the bit rate list by increasing the maximum allowable bit rate). Additionally, in systems such as LTE, where admission control is specified on a per-session basis rather than on a per-session basis, app-agent cooperative communication will be used to create finer admission control that responds with rejection and modification on a per-session basis. I can.

앱-에이전트 협력형 통신은 핸드오버 동안 사용될 수 있다. 앱-에이전트 협력형 통신으로부터의 정보는 핸드오버 동안 사용자 체감 품질(QoE)을 최적화하도록 사용될 수 있다. 예를 들어, 애플리케이션에서 버퍼링되는 데이터는 핸드오버 동안 버퍼링 공백화를 회피하기 위해 핸드오버 이전에 증가될 수 있다. 핸드오버가 협력형 비디오 애플리케이션을 실행하고 있는 단말 노드에 대해 예상되고 액세스 노드가, 앱-에이전트 협력형 통신을 통해, 부가적 용량을 비디오 클라이언트 재생 버퍼가 갖고 있음을 인식하고 있을 때, 액세스 노드 내 스케줄러 파라미터는 핸드오버 직전에 단말 노드에서 버퍼링되는 비디오 데이터량을 증가시키도록 조절될 수 있다. 또한 핸드오버 타이밍은 애플리케이션에 편한 시간 동안, 즉, 통신에서의 어느 인터럽트 또는 지연이라도 QoE에 더 적은 충격을 주는 시간 동안 핸드오버가 일어나도록 제어될 수 있다. 예를 들어, 핸드오버가 예상되지만 즉시 필요한 것은 아니면, 핸드오버는 비디오가 일시정지되었음을 애플리케이션이 애플리케이션 에이전트에 나타낼 때 즉시 개시될 수 있다. 유사하게, 애플리케이션 에이전트는 핸드오버가 완료된 후까지 송신 또는 수신 요청을 연기하도록 이메일 애플리케이션 또는 브라우저 애플리케이션과 같이 지연 용인 정보를 통신하고 있는 애플리케이션에 명령할 수 있다. 앱-에이전트 협력형 통신을 통한 핸드오버 개선은 핸드오버 동안 손실 또는 손상된 재송신 데이터 대비 통신 네트워크에 대해서도 그리고 애플리케이션에 대해서도 효율을 개선할 수 있다.App-agent cooperative communication can be used during handover. Information from the app-agent cooperative communication can be used to optimize user experience quality (QoE) during handover. For example, data that is buffered in an application can be increased prior to handover to avoid buffering blanking during handover. When a handover is expected for a terminal node running a cooperative video application and the access node is aware that the video client playback buffer has additional capacity, via app-agent cooperative communication, within the access node. The scheduler parameter may be adjusted to increase the amount of video data buffered in the terminal node immediately before handover. In addition, the handover timing can be controlled so that the handover occurs during an application-friendly period, that is, during a period of time that any interruption or delay in the communication has less impact on the QoE. For example, if a handover is expected but not immediately necessary, the handover can be initiated immediately when the application indicates to the application agent that the video has been paused. Similarly, the application agent may instruct an application that is communicating delay tolerance information, such as an email application or a browser application, to postpone the request to send or receive until after the handover is complete. Handover improvements through app-agent cooperative communication can improve efficiency both for communication networks and for applications against lost or damaged retransmitted data during handover.

앱-에이전트 협력형 통신은 비디오 품질을 평가하도록 사용될 수 있다. 예를 들어, 앱-에이전트 협력형 통신은 RTP 제어 프로토콜(RTCP) 보고로부터의 정보를 통신할 수 있다. RTCP 보고에는 비디오 품질의 평가을 허용하는 정보가 들어있다. 액세스 노드는 (예를 들어, 패킷 검사 모듈을 사용하여) RTCP 보고로부터 정보를 검출 및 추출할 수 있으면서, 동일 또는 유사 정보가 애플리케이션으로부터 애플리케이션 에이전트로 넘겨져, 액세스 노드에서 필요로 되는 계산상 자원을 감축할 수 있다. 비디오 품질 정보의 가용성은 스케줄러 파라미터 및 자원 할당을 조절하도록 사용될 수 있다. 예를 들어, 액세스 노드는 품질을 그것이 불충분하면 개선하도록 비디오 애플리케이션에 대한 스케줄러 우선순위를 증가시킬 수 있거나 품질이 임계값 위에 있으면 다른 애플리케이션에 자원을 재할당할 수 있다.App-agent cooperative communication can be used to evaluate video quality. For example, an app-agent cooperative communication may communicate information from an RTP Control Protocol (RTCP) report. The RTCP report contains information that allows the evaluation of video quality. The access node can detect and extract information from the RTCP report (e.g., using a packet inspection module), while the same or similar information is passed from the application to the application agent, reducing computational resources required by the access node can do. The availability of video quality information can be used to adjust scheduler parameters and resource allocation. For example, the access node may increase the scheduler priority for a video application to improve the quality if it is insufficient, or reallocate resources to other applications if the quality is above a threshold.

앱-에이전트 협력형 통신은 스케줄링 확인응답에서 사용될 수 있다. 앱-에이전트 협력형 통신으로부터의 정보는, 예를 들어, TCP 확인응답(ACK) 메시지를 스케줄링하는데 사용될 수 있다. 업링크 상의 TCP ACK 메시지의 개선된 스케줄링은 그 전송 및 접속 프로토콜 중 하나로서 TCP를 사용하여 애플리케이션에 대해 멎음 또는 다운링크 데이터 기아를 야기할 수 있는 상태를 회피 또는 시정할 수 있다. 액세스 노드는 액세스 노드가 단말 노드에 업링크 대역폭을 할당할 때 TCP ACK 메시지의 타이밍에 대한 정보를 사용할 수 있다. 협력형 애플리케이션이 TCP ACK 메시지의 예상된 발생에 관한 정보를 제공하면 TCP ACK 메시지에 대한 업링크 대역폭 할당의 더 정밀한 타이밍이 가능할 수 있다. 대역폭 할당에 사용되는 통신 대역폭은 또한 감축될 수 있다.App-agent cooperative communication can be used in scheduling acknowledgment. Information from the app-agent cooperative communication can be used, for example, to schedule a TCP acknowledgment (ACK) message. Improved scheduling of TCP ACK messages on the uplink can use TCP as one of its transport and connection protocols to avoid or correct conditions that may cause standstill or downlink data starvation for applications. The access node can use the information about the timing of the TCP ACK message when the access node allocates uplink bandwidth to the terminal node. More precise timing of uplink bandwidth allocation for TCP ACK messages may be possible if the cooperative application provides information about the expected occurrence of TCP ACK messages. The communication bandwidth used for bandwidth allocation can also be reduced.

부가적으로, 변조 및 코딩 스킴의 강건함은 TCP ACK 메시지가 예상될 때 증가될 수 있다. 대안으로, 협력형 애플리케이션은 멎음 또는 동결을 방지하기 위하여 데이터가 수신되지 않았더라도 타임아웃 후에 TCP ACK 메시지를 보낼 수 있다. 타임아웃 발생은, 예를 들어, 장래 성능을 개선하도록 스케줄러 파라미터를 조절하는데 사용하기 위해 애플리케이션 에이전트에 보고될 수 있다. 애플리케이션 에이전트는 정체 조건을 애플리케이션에 보고하여 그것이 데이터가 수신되지 않았더라도 타임아웃 후에 TCP ACK 메시지를 보내도록 그 타임아웃 임계값을 변경 가능하게 할 수 있다. 임계값을 변경하는 것은, 예를 들어, 비디오의 다음 세그먼트가 장래 정체를 회피하도록 더 낮은 레이트로 요청될 수 있고 현재 비디오 세그먼트의 나머지에 대한 동결 가능성이 높을 때 일어날 수 있다.Additionally, the robustness of the modulation and coding scheme can be increased when a TCP ACK message is expected. Alternatively, the cooperative application can send a TCP ACK message after a timeout even if no data has been received to prevent freezing or freezing. Timeout occurrence may be reported to the application agent for use in adjusting scheduler parameters to improve future performance, for example. The application agent may report a congestion condition to the application so that it can change its timeout threshold to send a TCP ACK message after a timeout even if no data has been received. Changing the threshold may occur, for example, when the next segment of video may be requested at a lower rate to avoid congestion in the future and there is a high likelihood of freezing for the remainder of the current video segment.

앱-에이전트 협력형 통신은 서비스 차별화에서 사용될 수 있다. 앱-에이전트 협력형 통신으로부터의 정보는, 예를 들어, 검출이 어렵거나 불가능하였을 서비스 시나리오를 구분하도록 사용될 수 있다. 협력형 이메일 애플리케이션은, 예를 들어, 무슨 이벤트가 이메일 동기화를 트리거링하였는지 대응하는 애플리케이션 에이전트에 나타낼 수 있다. 이메일 동기화가 타임아웃 또는 어떤 다른 머신-발생된 자극에 의해 트리거링될 때, 액세스 노드는 다운링크 데이터 및 대응하는 업링크 프로토콜을 스케줄링하는데 비교적 낮은 우선순위를 줄 수 있고, 이메일 동기화가 사용자 액션에 의해 트리거링될 때, 액세스 노드는 다운링크 데이터 및 대응하는 업링크 프로토콜을 스케줄링하는데 비교적 높은 우선순위를 줄 수 있다. 일 실시예에 있어서, 낮은 또는 높은 우선순위 배정은 스케줄러에서 서비스에 더 작거나 더 큰 AF를 적용함으로써 확립될 수 있고, 그로써 서비스에 이용가능하게 되는 자원을 증가 또는 감소시킨다. 그리하여, 더 높은 우선순위는 사용자가 기다리고 있을 때 사용되고 더 낮은 우선순위는 사용자가 기다리고 있지 않을 때 사용된다. 따라서, 단말 노드로부터 액세스 노드로의 앱-애플리케이션 협력형 통신은 통신 요청의 자극, 예를 들어, 사용자가 요청된 데이터를 기다리고 있는지에 대한 정보를 포함할 수 있다.App-agent cooperative communication can be used in service differentiation. Information from the app-agent cooperative communication can be used, for example, to identify service scenarios that would have been difficult or impossible to detect. The cooperative email application may indicate to the corresponding application agent what event triggered email synchronization, for example. When email synchronization is triggered by a timeout or some other machine-generated stimulus, the access node can give a relatively low priority to scheduling the downlink data and the corresponding uplink protocol, and the email synchronization is triggered by a user action. When triggered, the access node can give a relatively high priority to scheduling the downlink data and the corresponding uplink protocol. In one embodiment, a low or high priority assignment may be established by applying a smaller or larger AF to the service in the scheduler, thereby increasing or decreasing the resources made available to the service. Thus, a higher priority is used when the user is waiting and a lower priority is used when the user is not waiting. Accordingly, the app-application cooperative communication from the terminal node to the access node may include a stimulus of a communication request, for example, information about whether a user is waiting for the requested data.

유사하게, 애플리케이션은 사용자가 비디오 관람을 명시적으로 요청하고 있는지(예를 들어, 사용자가 비디오 링크를 클릭하였음) 우연히 웹페이지에 매립된 비디오(예를 들어, 사용자가 우연히 매립된 비디오를 갖는 뉴스 기사로의 링크를 선택하였음)와 구분할 수 있다. 사용자가 비디오를 명시적으로 선택할 때, 비디오의 QoE는 더 중요하고 스케줄러는 앱-에이전트 협력형 통신으로부터의 정보에 기반하여 따라서 스케줄러 파라미터를 조절할 수 있다. 대조적으로, 비디오가 부차적일 때, 스케줄러는 이야기의 글에 우선순위를 더 줄 수 있다. 유사한 고려사항이, 예를 들어, 심한 정체 동안 수락 제어 결정에 사용될 수 있다.Similarly, an application may indicate whether the user is explicitly requesting to watch a video (e.g., the user has clicked on a video link) or a video accidentally embedded in a webpage (e.g., news that the user has accidentally embedded video The link to the article was selected) and can be distinguished. When the user explicitly selects the video, the QoE of the video is more important and the scheduler can adjust the scheduler parameter accordingly based on information from the app-agent cooperative communication. In contrast, when the video is secondary, the scheduler can give more priority to the text of the story. Similar considerations can be used, for example, in admission control decisions during severe congestion.

더욱, 세션 내 다수의 미디어를 조합하는 애플리케이션은 애플리케이션 에이전트에 미디어의 상대적 중요도를 시그널링할 수 있다. 비디오 통화 애플리케이션은, 예를 들어, 세션의 음성 부분을 비디오 부분보다 더 중요하다고 여길 수 있다. 음성 부분에 대해서도 비디오 부분에 대해서도 자원이 불충분하면, 액세스 노드는 비디오 부분이 저하 또는 거부되는 한편 오디오 부분의 품질을 보존하도록 앱-에이전트 협력형 통신에서 수신된 상대적 중요도에 대한 정보를 사용할 수 있다.Moreover, an application that combines multiple media in a session can signal the relative importance of the media to the application agent. A video calling application may, for example, consider the audio portion of the session to be more important than the video portion. If resources are insufficient for both the voice part and the video part, the access node can use the information about the relative importance received in the app-agent cooperative communication to preserve the quality of the audio part while the video part is degraded or denied.

앱-에이전트 협력형 통신은 트래픽 그루밍에 의해 야기되는 감축된 QoE를 회피하도록 사용될 수 있다. 단말 노드 내외로의 트래픽 레이트는 다수의 방법으로 제한될 수 있다. 트래픽 레이트 한계가 초과될 때, 트래픽 그루밍은 일부 패킷 누락 또는 지연으로 트리거링될 수 있다. 트래픽 그루밍은 단말 노드의 애플리케이션의 요구를 인식하고 있지 않은 통신 노드에서 일어날 수 있다. 그리하여 그러한 통신 노드는 QoE에 대한 효과에 관하지 않고 패킷을 지연 또는 누락시킬 것이다. 앱-에이전트 협력형 통신은 그루밍을 트리거링할 수 있는 과도한 데이터를 요청하는 것을 회피하도록 애플리케이션에 의해 사용될 수 있다. 그루밍을 트리거링하지 않음으로써, QoE는 개선될 수 있다. 통신에 대한 다른 능력이 단말 노드에 유사하게 시그널링될 수 있고, 단말 노드는 따라서 그 요청을 조절할 수 있다.App-agent cooperative communication can be used to avoid reduced QoE caused by traffic grooming. The rate of traffic to and from the terminal node can be limited in a number of ways. When the traffic rate limit is exceeded, traffic grooming can be triggered with some packet dropouts or delays. Traffic grooming may take place in a communication node that is not aware of the application request of the terminal node. Thus, such communication nodes will delay or drop packets regardless of the effect on QoE. App-agent cooperative communication can be used by applications to avoid requesting excessive data that could trigger grooming. By not triggering grooming, QoE can be improved. Other capabilities for communication can be similarly signaled to the terminal node, and the terminal node can adjust its request accordingly.

일례의 레이트 한계는 LTE 시스템이 단말 노드(LTE 명명법으로는 사용자 장비)에 적용하는 취합 최대 비트 레이트(AMBR)이다. AMBR은, 과잉 시스템 자원이 존재하더라도, 단말 노드에 할당될 수 있는 대역폭 자원을 지배한다. LTE 패킷 게이트웨이는 평균 데이터 레이트가 AMBR에 불과함을 보장하도록, 패킷을 지연 또는 폐기하여, 단말 노드로 가고 있는 데이터를 그루밍하도록 프로비저닝되는 것이 보통이다.An example rate limit is the aggregate maximum bit rate (AMBR) that the LTE system applies to terminal nodes (user equipment in LTE nomenclature). AMBR dominates bandwidth resources that can be allocated to a terminal node even if there are excess system resources. LTE packet gateways are usually provisioned to groom data going to a terminal node by delaying or discarding packets to ensure that the average data rate is only AMBR.

단말 노드에 대한 트래픽 레이트는 또한 서비스 레벨 협약(SLA)에 의해 계약상 제한될 수 있다. SLA 한계는 다양한 레벨, 예를 들어, 단말 노드, 논리 링크, 베어러 또는 커넥션에서 적용될 수 있다.Traffic rates for terminal nodes may also be contractually limited by service level agreements (SLAs). SLA limits can be applied at various levels, for example terminal nodes, logical links, bearers or connections.

단말 노드는 그 레이트 한계에 대한 지식을 제한되어 갖고 있거나 전혀 갖고 있지 않을 수 있다. 예를 들어, 단말은 그 AMBR은 알고 있지만 SLA 한계는 그렇지 않을 수 있다. 일반적으로 개개의 애플리케이션은 레이트 한계를 알고 있지 않다. 더욱, 개개의 애플리케이션은 어느 다른 애플리케이션이 활성인지 또는 레이트 한계 대비 다른 애플리케이션의 자원 수요를 알고 있지 않을 것이다. 예를 들어, 비디오 애플리케이션은 특정 비디오 해상도가 레이트 한계 초과를 야기하고 그리하여 단말 노드 상의 모든 애플리케이션에 대해 패킷의 지연 및 폐기를 트리거링할 것인지 알고 있지 않을 수 있다.The terminal node may have limited or no knowledge of the rate limit. For example, the UE knows its AMBR, but the SLA limit may not. In general, individual applications do not know the rate limit. Moreover, the individual application will not know which other application is active or the resource demand of the other application versus the rate limit. For example, a video application may not know if a particular video resolution will cause a rate limit to be exceeded and thus trigger a delay and discard of packets for all applications on the terminal node.

일 실시예에 있어서, 예를 들어 도 6에 도시된 바와 같은 마스터 애플리케이션 또는 마스터 애플리케이션 에이전트는 누적 애플리케이션 자원 요청을 추적하고 레이트 한계 대비 누적 자원을 추적할 수 있다. 다른 모듈, 예를 들어, 단말 노드의 운영 체제의 일부분 또는 RAN 프로토콜 스택의 일부분(예를 들어, LTE에 대해 라디오 자원 제어(RRC) 또는 라디오 자원 관리(RRM))이 애플리케이션에 의한 사용을 위해 누적 애플리케이션 자원 요청을 추적할 수 있다. 협력형 애플리케이션은 이용가능한 남아있는 데이터 레이트를 결정하고 데이터에 대한 그 요청을 안내하는데 레이트 정보를 사용하도록 마스터 애플리케이션, 마스터 애플리케이션 에이전트 또는 다른 모듈과 통신할 수 있다. 다양한 실시예에 있어서, 누적 자원 요청은 액세스 노드 또는 단말 노드에서 추적될 수 있다. 애플리케이션이 자원 할당 및 레이트 한계 정보를 결정하는 메커니즘은 어디서 정보가 이용가능한지에 따라 달라진다. 예를 들어, 애플리케이션은 단말 노드에 대한 자원 이용 및 레이트 한계 및 그 활성 애플리케이션 모음을 추적하는 RAN 프로토콜 스택 내 모듈과 통신하는 애플리케이션 에이전트와 통신할 수 있다.In an embodiment, for example, a master application or a master application agent as shown in FIG. 6 may track an accumulated application resource request and track an accumulated resource against a rate limit. Other modules, e.g., part of the operating system of the terminal node or part of the RAN protocol stack (e.g., Radio Resource Control (RRC) or Radio Resource Management (RRM) for LTE) are accumulated for use by the application. Application resource requests can be tracked. The cooperative application may communicate with a master application, master application agent, or other module to use the rate information to determine the remaining data rate available and guide its request for data. In various embodiments, the cumulative resource request may be tracked at an access node or a terminal node. The mechanism by which the application determines resource allocation and rate limit information depends on where the information is available. For example, an application may communicate with an application agent that communicates with a module in the RAN protocol stack that tracks resource usage and rate limits for a terminal node and its active application collection.

앱-에이전트 협력형 통신은 통신 네트워크의 성능을 분석하도록 사용될 수 있다. 성능과 관련된 정보는 앱-에이전트 협력형 통신으로부터 수집될 수 있다. 예를 들어, 애플리케이션이 비디오 멎음, 오디오 멎음 또는 버퍼 언더-런에 대한 정보를 통신할 때, 정보는 단말 노드, 액세스 노드 및 통신 시스템의 다른 구역의 성능을 분석하도록 사용될 수 있다. 애플리케이션은 부가적으로는 각각의 비디오 또는 오디오 세션의 재생, 시작 및 정지 시간의 연대표 또는 재생 멎음의 수 및 듀레이션을 통신할 수 있다. 애플리케이션은, 예를 들어, 평균평가점(MOS)의 형태로 비디오 또는 오디오 재생 품질의 추정치를 통신할 수 있다. 부가적으로, 애플리케이션은 단말 노드에서 측정된 패킷-레벨 서비스 품질(QoS) 메트릭, 예를 들어, 패킷 지연 및 지터를 통신할 수 있다. 또한 애플리케이션은 네트워크 성능에 대한 심한 불만, 예를 들어, 한번 이상의 브라우저 또는 애플리케이션 리프레시, 동일 링크 또는 커맨드에 대한 중복 '클릭' 또는 '터치', 또는 불량 네트워크 품질 또는 불량 애플리케이션 응답성의 기간에 뒤이어 애플리케이션의 사용자 셧다운을 시그널링할 수 있는 사용자-레벨 (인간의) 액션을 보고할 수 있다. 다양한 정보는 여러 다른 애플리케이션 또는 애플리케이션의 여러 다른 혼합에 대해 수용가능한 정체 레벨을 결정하도록 사용될 수 있다. 정보는 또한 언제 더 많은 자원을 네트워크에 부가할지 결정하도록 오퍼레이터에 의해 사용될 수 있다.App-agent cooperative communication can be used to analyze the performance of the communication network. Information related to performance may be collected from app-agent cooperative communication. For example, when an application communicates information about video stop, audio stop or buffer under-run, the information can be used to analyze the performance of terminal nodes, access nodes, and other areas of the communication system. The application may additionally communicate a timeline of playback, start and stop times or the number and duration of playback stops of each video or audio session. The application may communicate an estimate of the video or audio reproduction quality, for example in the form of an average score (MOS). Additionally, the application may communicate packet-level quality of service (QoS) metrics measured at the terminal node, such as packet delay and jitter. In addition, the application is subject to severe complaints about network performance, e.g., one or more browser or application refreshes, duplicate'clicks' or'touches' on the same link or command, or a period of poor network quality or poor application responsiveness. It can report user-level (human) actions that can signal user shutdown. Various information can be used to determine acceptable levels of congestion for different applications or different mixes of applications. The information can also be used by the operator to decide when to add more resources to the network.

앱-에이전트 협력형 통신은 많은 다른 유형의 정보에 대해 사용될 수 있고, 많은 다른 유형의 애플리케이션과 사용될 수 있고, 많은 다른 태양의 통신 네트워크를 개선하도록 사용될 수 있음이 이들 예로부터 명확하다.It is clear from these examples that app-agent cooperative communication can be used for many different types of information, can be used with many different types of applications, and can be used to improve the communication network of many different aspects.

도 7은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 통신 시스템의 블록 선도이다. 단말 노드(755)는 애플리케이션(751)을 호스팅한다. 애플리케이션(751)은 단말 노드(755)의 사용자에게 서비스의 제공을 용이하게 하도록 애플리케이션 서버(790)와 통신할 수 있다. 통신 시스템의 다양한 엘리먼트는 위에서 설명된 유사한 명칭의 엘리먼트와 동일 또는 유사할 수 있다. 7 is a block diagram of a communication system having an application and an application agent according to an aspect of the present invention. The terminal node 755 hosts the application 751. The application 751 may communicate with the application server 790 to facilitate provision of services to users of the terminal node 755. The various elements of the communication system may be the same or similar to the similarly named elements described above.

도 7에 도시된 통신 시스템 내 단말 노드(755)는 라디오 링크(720)를 통해 액세스 노드(775)와 통신한다. 액세스 노드(775)는 게이트웨이 노드(795)에 접속되어 있다. 게이트웨이 노드(795)는 라우터 노드(793)로의 접속성을 통해 인터넷으로의 액세스를 제공한다. 라우터 노드(793)는 애플리케이션 서버(790)로의 액세스를 제공한다. 그리하여, 애플리케이션(751)은 액세스 노드(775), 게이트웨이 노드(795) 및 라우터 노드(793)를 통해 애플리케이션 데이터 경로(701)를 사용하여 애플리케이션 서버(790)와 통신할 수 있다. 애플리케이션 데이터 경로(701)는 애플리케이션 사용자 데이터(예를 들어, 비디오 데이터) 및 애플리케이션 제어 데이터(예를 들어, 가능한 가용 비디오 및 그들 포맷에 관한 정보)를 전송한다. 액세스 노드(775)는 애플리케이션 데이터 경로(701) 상의 통신에 대한 브리지로서 역할하여, 그것을 단말 노드(755)와 통신 시스템 내 다음 노드 간 넘겨준다.The terminal node 755 in the communication system shown in FIG. 7 communicates with the access node 775 through a radio link 720. The access node 775 is connected to the gateway node 795. Gateway node 795 provides access to the Internet through connectivity to router node 793. Router node 793 provides access to application server 790. Thus, the application 751 can communicate with the application server 790 using the application data path 701 through the access node 775, the gateway node 795 and the router node 793. The application data path 701 carries application user data (eg, video data) and application control data (eg, information about available videos and their formats). The access node 775 acts as a bridge for communication on the application data path 701, passing it over between the terminal node 755 and the next node in the communication system.

애플리케이션(751)은 또한 앱-에이전트 협력형 통신 제어 경로(703)를 사용하여 액세스 노드(775) 내 애플리케이션 에이전트(770)와 통신한다. 앱-에이전트 협력형 통신 제어 경로(703)는 라디오 링크(720)를 통하여 송신된다. 애플리케이션(751)과 애플리케이션 에이전트(770) 간 앱-에이전트 협력형 통신 제어 경로(703) 상의 통신은, 예를 들어, 스케줄링, 수락 제어, 효율 및 응답성을 개선하도록 사용될 수 있다.The application 751 also communicates with the application agent 770 in the access node 775 using the app-agent cooperative communication control path 703. The app-agent cooperative communication control path 703 is transmitted through the radio link 720. Communication on the app-agent cooperative communication control path 703 between the application 751 and the application agent 770 may be used to improve scheduling, admission control, efficiency and responsiveness, for example.

도 8은 본 발명의 태양에 따른 애플리케이션 및 애플리케이션 에이전트를 갖는 다른 통신 시스템의 블록 선도이다. 도 8의 통신 시스템은 도 7의 통신 시스템과 유사하고, 도 7의 통신 시스템 내 유사-명칭의 디바이스에 대응하는 단말 노드(855), 액세스 노드(875), 게이트웨이 노드(895), 라우터 노드(893), 및 애플리케이션 서버(890)를 포함한다. 단말 노드(855)는 라디오 링크(820)를 통하여 액세스 노드(875)와 통신한다. 액세스 노드(875)는 게이트웨이 노드(895)에 접속되어 있다. 게이트웨이 노드(895)는 라우터 노드(893)로의 접속성을 통해 인터넷으로의 액세스를 제공한다. 라우터 노드(893)는 애플리케이션 서버(890)로의 액세스를 제공한다.8 is a block diagram of another communication system with an application and an application agent according to an aspect of the present invention. The communication system of FIG. 8 is similar to the communication system of FIG. 7, and a terminal node 855, an access node 875, a gateway node 895, and a router node corresponding to a pseudo-named device in the communication system of FIG. 7 893), and an application server 890. The terminal node 855 communicates with the access node 875 via a radio link 820. The access node 875 is connected to the gateway node 895. Gateway node 895 provides access to the Internet through connectivity to router node 893. A router node 893 provides access to an application server 890.

단말 노드(855) 내 애플리케이션(851)은 액세스 노드(875), 게이트웨이 노드(895) 및 라우터 노드(893)를 통해 애플리케이션 데이터 경로(801)를 사용하여 애플리케이션 서버(890)와 통신할 수 있다. 애플리케이션(851)은 또한 앱-에이전트 협력형 통신 제어 경로(803)를 사용하여 애플리케이션 에이전트(870)와 통신한다. 도 8의 통신 시스템에 있어서, 애플리케이션 에이전트(870)는 게이트웨이 노드(895)에 있다. 애플리케이션 에이전트(870)로부터의 정보는 액세스 노드(875)에 제공될 수 있다. 앱-에이전트 협력형 정보는, 예를 들어, 액세스 노드(875) 내 스케줄러 및 자원 제어 모듈에 공급될 수 있다. 액세스 노드(875)는, 예를 들어, 스케줄링, 수락 제어, 효율 및 응답성을 개선하도록 앱-에이전트 협력형 정보를 사용할 수 있다.The application 851 in the terminal node 855 may communicate with the application server 890 using the application data path 801 through the access node 875, the gateway node 895, and the router node 893. The application 851 also communicates with the application agent 870 using the app-agent cooperative communication control path 803. In the communication system of FIG. 8, the application agent 870 resides in the gateway node 895. Information from application agent 870 may be provided to access node 875. App-agent cooperation type information, for example, may be supplied to the scheduler and resource control module in the access node 875. The access node 875 may use app-agent cooperative information to improve scheduling, admission control, efficiency and responsiveness, for example.

다른 실시예에 있어서, 애플리케이션 에이전트는 라우터 노드(893)에 또는 다른 네트워크 노드에 위치하고 있을 수 있다. 애플리케이션 에이전트의 기능은 또한 다수의 디바이스에 걸쳐 분산되어 있을 수 있다.In other embodiments, the application agent may be located at router node 893 or at another network node. The functionality of the application agent may also be distributed across multiple devices.

부가적으로, 앱-에이전트 협력형 통신 제어 경로(803)가 IP 경로를 통하여 있으면, 그 경로는 부가적 통신 노드를 통해서일 수 있다. 예를 들어, 협력형 통신은 라우터 노드(893)를 통해 라우팅될 수 있다. 액세스 노드(875) 밖에 애플리케이션 에이전트를 위치시키는 것은 액세스 노드(875)에서의 업링크 패킷 검사 요건을 없애거나 줄일 수 있다. 원격으로 위치하는 애플리케이션 에이전트는 또한 다수의 액세스 노드에 대하여 기능을 수행할 수 있다.Additionally, if the app-agent cooperative communication control path 803 is through an IP path, the path may be through an additional communication node. For example, cooperative communication may be routed through a router node 893. Locating an application agent outside the access node 875 may eliminate or reduce the uplink packet inspection requirement at the access node 875. Remotely located application agents can also perform functions for multiple access nodes.

도 9는 본 발명의 태양에 따른 패킷 검사 모듈의 블록 선도이다. 도 4의 액세스 노드(475)의 패킷 검사 모듈(429)은, 예를 들어, 도 9의 패킷 검사 모듈에 의해 제공될 수 있다. 패킷 검사 모듈은, 일 실시예에서는, DL 앱-에이전트 협력형 통신 메시지의 배치를 검출 및 결정하도록 도 4의 단말 노드(455)에 포함되어 있다. 패킷 검사 모듈은, 예를 들어, 메시지가 무시되어야 한다고 또는 메시지가 마스터 애플리케이션 또는 더 구체적 애플리케이션 중 하나에 보내져야 한다고 결정할 수 있다. 패킷 검사 모듈은 코어 네트워크 또는 인터넷에 거주하는, 애플리케이션 서버와 같은, 다른 엔티티와 RAN 프로토콜 스택 간 데이터 경로에서 사용될 수 있다.9 is a block diagram of a packet inspection module according to an aspect of the present invention. The packet inspection module 429 of the access node 475 of FIG. 4 may be provided, for example, by the packet inspection module of FIG. 9. The packet inspection module, in one embodiment, is included in the terminal node 455 of FIG. 4 to detect and determine the placement of the DL App-Agent cooperative communication message. The packet inspection module may, for example, determine that the message should be ignored or that the message should be sent to either a master application or a more specific application. The packet inspection module can be used in the data path between the RAN protocol stack and another entity, such as an application server, residing in the core network or the Internet.

업링크 데이터는 (예를 들어, 라디오 링크 상에서) 제1 경로(921)를 통하여 패킷 검사 모듈로 오고 (예를 들어, 백홀 커넥션 상에서) 제2 경로(922)를 통하여 패킷 검사 모듈로부터 포워딩될 수 있다. 다운링크 데이터는 제2 경로(922)를 통하여 패킷 검사 모듈로 오고 제1 경로(921)를 통하여 패킷 검사 모듈로부터 포워딩될 수 있다.The uplink data can come to the packet inspection module via the first path 921 (e.g., on the radio link) and can be forwarded from the packet inspection module via the second path 922 (e.g., on the backhaul connection). have. The downlink data may come to the packet inspection module through the second path 922 and may be forwarded from the packet inspection module through the first path 921.

패킷 검사 모듈은 제1 경로(921) 및 제2 경로(922) 상의 트래픽을 모니터링할 수 있는 트래픽 모니터링 모듈(925)을 포함한다. 트래픽 모니터링 모듈(925)은 애플리케이션 에이전트를 수신지로 하는 애플리케이션으로부터의 앱-에이전트 협력형 통신을 식별한다. 특히, 트래픽 모니터링 모듈(925)은 앱-에이전트 협력형 통신을 식별하도록 제1 경로(921) 상의 업링크 트래픽을 모니터링할 수 있다. 앱-에이전트 협력형 통신은, 예를 들어, IP 주소를 사용하여 식별될 수 있다. 예를 들어, 트래픽 모니터링 모듈(925) 및 협력형 통신 검출 모듈(928)은 앱-에이전트 협력형 통신에 배정된 멀티캐스트 또는 브로드캐스트 소스 또는 수신지 주소가 들어있는 그들 UL 패킷을 검출함으로써 앱-에이전트 협력형 통신을 식별하도록 패킷 검사를 사용할 수 있다. 이러한 검출은 위에서 설명된 멀티캐스트 또는 브로드캐스트 방법과 사용될 수 있다.The packet inspection module includes a traffic monitoring module 925 capable of monitoring traffic on the first path 921 and the second path 922. The traffic monitoring module 925 identifies the app-agent cooperative communication from the application destined for the application agent. In particular, the traffic monitoring module 925 may monitor the uplink traffic on the first path 921 to identify the app-agent cooperative communication. App-agent cooperative communication can be identified using, for example, an IP address. For example, the traffic monitoring module 925 and the cooperative communication detection module 928 may detect those UL packets containing multicast or broadcast source or destination addresses assigned to the app-agent cooperative communication. Packet inspection can be used to identify agent-cooperative communications. This detection can be used with the multicast or broadcast method described above.

패킷 검사 모듈은, 대안으로 또는 부가적으로, 다른 트래픽에 의해 사용되지 않는 또는 앱-에이전트 협력형 통신에 명시적으로 배정되는 하나 이상의 고유 TCP/UDP 소스 또는 수신지 포트 번호의 검출을 통해 앱-에이전트 협력형 통신을 식별할 수 있다. 이러한 기술은 UL 및 DL 앱-에이전트 협력형 통신 둘 다에 적용될 수 있다. 단일 특정 애플리케이션과 특정 애플리케이션 에이전트, 특정 애플리케이션 그룹과 특정 애플리케이션 에이전트 그룹, 그리고 다양한 조합 간 협력형 통신의 소스 또는 수신지를 식별하도록 단일 고유 포트 번호가 사용될 수 있다. The packet inspection module, alternatively or additionally, is an app-through detection of one or more unique TCP/UDP source or destination port numbers not used by other traffic or explicitly assigned to app-agent cooperative communications. Agent cooperative communication can be identified. This technology can be applied to both UL and DL App-Agent cooperative communication. A single unique port number can be used to identify a single specific application and a specific application agent, a specific application group and a specific application agent group, and the source or destination of cooperative communication between various combinations.

일 실시예에 있어서, 트래픽 모니터링 모듈(925)은 도 5의 액세스 노드(575) 내 패킷 검사 모듈(529)에 의해 제공되고 (예를 들어, 단말 노드(555) 내 전송 및 접속 프로토콜 모듈(550')에 의해 설정된) 고유 IP 데이터그램 프로토콜 유형의 사용을 검출함으로써 UL 앱-에이전트 협력형 통신을 검출할 수 있다. 예를 들어, 프로토콜 유형은 미배정된 값(예를 들어, 143과 252 사이의 수)으로 설정될 수 있다. 유사한 방법이 DL 앱-에이전트 협력형 통신을 검출하도록 사용될 수 있다.In one embodiment, the traffic monitoring module 925 is provided by the packet inspection module 529 in the access node 575 of FIG. 5 (e.g., the transmission and access protocol module 550 in the terminal node 555). ') by detecting the use of the unique IP datagram protocol type), it is possible to detect the UL App-Agent cooperative communication. For example, the protocol type may be set to an unassigned value (eg, a number between 143 and 252). A similar method can be used to detect the DL App-Agent cooperative communication.

다양한 실시예에 있어서, IP 주소, 소스 포트, 수신지 포트 및 프로토콜 유형의 다양한 조합이 UL 및 DL 앱-에이전트 협력형 통신의 목적으로 고유 커넥션을 생성하도록 사용된다.In various embodiments, various combinations of IP address, source port, destination port and protocol type are used to create unique connections for purposes of UL and DL App-Agent cooperative communication.

트래픽 모니터링 모듈(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")에서 찾아볼 수 있으며, 그들은 참조에 의해 여기에 편입되는 것이다.The traffic monitoring module 925 may also monitor traffic in the packet inspection module for other purposes, and the packet inspection module may include other logic modules 927 to handle other purposes. The packet inspection module may also detect information about applications associated with traffic on the first and second paths. Additional examples of packet inspection, traffic monitoring, and application-aware communication systems are U.S. Patent Application No. 13/549,106, filed July 13, 2012 (title of the invention: "Systems and Methods for Detection for Prioritizing and Scheduling Packets in a. Communication Network"), US Provisional Application No. 61/640,984 filed May 1, 2012 (invention title: “Application Aware Admission Control”) and US Patent Application No. 13/644,650 filed Oct. 4, 2012 It can be found in the issue (title of the invention: "Congestion Induced Video Scaling"), which are incorporated herein by reference.

다른 논리 모듈(927)은 애플리케이션 데이터 트래픽에 사용되는 IP 주소, 포트 번호 및 프로토콜 유형을 추적할 수 있다. 예를 들어, 도 5의 통신 네트워크에 있어서, 다른 논리 모듈(927)은 애플리케이션 데이터 경로(501) 상에서 IP 주소, 포트 번호 및 프로토콜 유형을 추적할 수 있다. 다른 논리 모듈(927)은 앱-에이전트 협력형 통신에 사용되는 IP 주소, 포트 번호 및 프로토콜 유형과 애플리케이션 데이터 트래픽에 사용되는 IP 주소, 포트 번호 및 프로토콜 유형 간 상충을 검출할 수 있다. 앱-에이전트 협력형 통신에 의해 사용되는 IP 주소, 포트 번호 및 프로토콜 유형의 조합이 애플리케이션 데이터 트래픽에 의해 사용되는 조합과 동일한 경우에, 다른 논리 모듈(927)은 새로운 미사용 조합을 선택하고 이러한 새로운 조합을 영향받은 단말 노드에 통신할 수 있다. 새로운 조합은 네트워크 오퍼레이터에 의해 제공된 리스트로부터 선택될 수 있다.Another logic module 927 can track the IP address, port number, and protocol type used for application data traffic. For example, in the communication network of FIG. 5, another logical module 927 may track the IP address, port number and protocol type on the application data path 501. Another logic module 927 may detect a conflict between an IP address, port number, and protocol type used for app-agent cooperative communication and an IP address, port number, and protocol type used for application data traffic. If the combination of IP address, port number and protocol type used by the App-Agent cooperative communication is the same as the combination used by the application data traffic, the other logic module 927 selects a new unused combination and this new combination Can communicate to the affected terminal node. The new combination can be selected from the list provided by the network operator.

앱-에이전트 협력형 통신 트래픽은 협력형 통신 검출 모듈(928)로 전환된다. 앱-에이전트 협력형 통신 트래픽은 트래픽 모니터링 모듈(925)에 의해 전환될 수 있다. 협력형 통신 검출 모듈(928)은 앱-에이전트 협력형 통신 상에 추가적 프로세싱을 제공한다. 추가적 프로세싱의 일례는 트래픽을 적합한 애플리케이션 에이전트에 트래픽을 포워딩하는 것이다. 추가적 프로세싱은 또한, 예를 들어, 협력형 통신 검출 모듈(928)이 그에 포워딩된 트래픽이 패킷 검사 모듈과 연관된 애플리케이션 에이전트에 대한 것이 아니라고 결정할 때에는 프로세싱 없음을 포함할 수 있다. App-agent cooperative communication traffic is converted to cooperative communication detection module 928. App-agent cooperative communication traffic may be diverted by the traffic monitoring module 925. The cooperative communication detection module 928 provides additional processing on the app-agent cooperative communication. An example of further processing is forwarding the traffic to the appropriate application agent. Further processing may also include no processing, for example, when the cooperative communication detection module 928 determines that the traffic forwarded thereto is not for the application agent associated with the packet inspection module.

도 9에 예시된 바와 같은 패킷 검사 모듈은 상태 모듈(926)을 포함할 수 있다. 상태 모듈(926)은 애플리케이션과 애플리케이션 에이전트 간 접속성의 인스턴스에 관한 정보를 추적할 수 있다. 정보는, 예를 들어, 상태(예를 들어, 접속, 접속해제, 활성, 유휴), 현재 자원 예상치, 및 이력 데이터(예를 들어, 사용된 자원 대비 요청된 자원)를 포함할 수 있다.The packet inspection module as illustrated in FIG. 9 may include a status module 926. The state module 926 may track information about an instance of connectivity between an application and an application agent. The information may include, for example, a status (eg, connected, disconnected, active, idle), a current resource estimate, and historical data (eg, a requested resource versus a used resource).

다른 태양에 있어서, 시스템, 방법 및 디바이스는 그러한 애플리케이션의 사용자에 대해 체감 품질을 증가시키도록 사용자 장비에서 동작하는, 다른 특정 애플리케이션뿐만 아니라, 협력형 특정 애플리케이션의 관리에 대해 설명된다. 도 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) 등과 같은 여러 기지의 유선 통신 방법 중 어느 하나에 따라 동작할 수 있다.In another aspect, systems, methods, and devices are described for the management of cooperative specific applications, as well as other specific applications, operating on user equipment to increase the quality of experience for users of those applications. 10 is a block diagram of an exemplary communication network environment including a sensory quality manager module according to an aspect of the present invention. In FIG. 10, the communication network environment may include the Internet 1000 to which one or more content servers 1010 may be provided. Such a content server may be a third party content server that provides web pages, photos, videos, files, etc. to end users, or may be a private content server that provides such information to a limited group of end users, such as by subscription. The communication network environment is, in the example shown in FIG. 10, a PDN gateway (P-GW) 1030, a serving gateway (S-GW) 1040, a mobility management entity (MME) 1060, and one or more access nodes ( A quality of experience (QoE) manager module 1020 included in the network architecture that also includes an AN) 1050 may be further included. Each access node (AN) 1050 may communicate with one or more terminal nodes (TNs), such as TN1 (1071) and TN2 (1072), via a communication link between the access node and the terminal node, where communication The link may be a wireless communication link or a wired communication link. The wireless communication link can operate according to any one of several known wireless communication protocols such as CDMA, OFDM, LTE, and WiMAX. Similarly, the wired communication link can operate according to any one of several known wired communication methods such as Ethernet, DOCSIS, digital subscriber line (DSL), fiber to the home (FTTH), and hybrid fiber coax (HFC).

도 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) 및/또는 다른 디바이스 및 모듈 중 어느 중에 분산될 수 있다.In the exemplary communication network environment shown in FIG. 10, certain applications running on TNs 1071 and 1072 are managed to maintain or increase the quality of experience for users of those applications. In an exemplary configuration, the master application (not shown in Fig. 10) operates on each of the TNs 1071 and 1072, but the master application detects the application downlink stream activity of the downlink data stream being sent to the TN and Characterize and operate to characterize the current terminal node state. The master application then determines the stream importance metric and stream quality metric for each detected downlink data stream. In the exemplary configuration of FIG. 10, the master application then transmits the stream importance metric and stream quality metric for each detected downlink data stream associated with the terminal node through the access node 1050 to the cloud-based QoE manager module. Sent to (1020). Although the QoE manager module 1020 is positioned between the P-GW 1030 and the Internet 1000 in FIG. 10, in another aspect, for example, the QoE manager module 1020 is connected to the S-GW 1040. It should be appreciated that it may be located at other locations within the communication network environment, such as between the access nodes 1050. In one aspect, the QoE manager module 1020 includes each of the terminal nodes, such as each of the TNs 1071 and 1072, in which the QoE manager module 1020 has a specific application managed by the QoE manager module 1020. It may be located at a location within a communications network environment that enables monitoring, access, copying, and/or intercepting of data stream traffic to and/or from. In this regard, according to an aspect of the present invention, the QoE manager module 1020 may manage downlink and/or uplink data streams associated with a specific managed application. Additionally, the functionality described with respect to the QoE manager module 1020 may be distributed among several devices in a communication network environment, such as, for example, entirely within the P-GW 1030 or P-GW 1030, S It may be distributed among any of the GW 1040, the access node 1050, and/or other devices and modules.

QoE 매니저 모듈(1020)은 각각의 단말 노드와 연관된 각각의 검출된 다운링크 데이터 스트림에 대한 스트림 중요도 메트릭 및 스트림 품질 메트릭을 액세스 노드(1050)를 통하여 수신한다. 이러한 방식으로, QoE 매니저 모듈(1020)은 모든 단말 노드로부터 이 정보를 수집하고, 단말 노드의 각각을 각각의 액세스 노드와 연관된 셀에 매핑한다. 일 태양에 있어서, QoE 매니저 모듈(1020)은 이러한 수집된 정보를 사용하여 각각의 셀에 대한 종합적 셀 품질 메트릭을 결정하고, 종합적 셀 품질 메트릭이 임계값 아래에 있으면, QoE 매니저 모듈(1020)은 각각의 데이터 스트림에 대한 스트림 중요도 메트릭 및 스트림 품질 메트릭에 기반하여 단말 노드 중 하나 이상과 연관된 하나 이상의 데이터 스트림에 대한 경감 옵션을 결정한다. 경감 옵션은 예를 들어 데이터 스트림에서 보내지는 데이터 패킷을 감축 또는 정지하는 것과 같은 많은 옵션 중 하나일 수 있거나, 데이터 스트림 중 어느 것에 대해 어떠한 현재 액션도 취하지 않고 상태를 계속 모니터링하는 것일 수 있다. 일부 태양에 있어서, 경감 옵션은 QoE 매니저 모듈(1020)에서든(예를 들어, 트래픽 그루밍, 패킷 폐기 및/또는 지연) 또는 경감 옵션이 적용되는 데이터 스트림과 연관된 단말 노드에서든(예를 들어, 패킷 폐기 및/또는 지연), 또는 QoE 매니저 모듈(1020)과 단말 노드 둘 다에서든 수행될 수 있다. 이러한 방식으로, 예를 들어, QoE 매니저 모듈(1020)은 소정 액세스 노드(예를 들어, RAN 셀)와 연관된 단말 노드와 연관된 특정 애플리케이션의 사용자에 대한 체감 품질을 유지 또는 증가시키려 시도할 수 있다. 태양들에 있어서, 예를 들어, QoE 매니저 모듈(1020)은 소정 액세스 노드(예를 들어, RAN 셀)와 연관된 모든 단말 노드에 걸쳐 검출된 데이터 스트림에 대한 또는 특정 단말 노드와 연관된 검출된 데이터 스트림에 대한 체감 품질을 최적화하려 시도할 수 있다.The QoE manager module 1020 receives, through the access node 1050, a stream importance metric and a stream quality metric for each detected downlink data stream associated with each terminal node. In this way, the QoE manager module 1020 collects this information from all terminal nodes, and maps each of the terminal nodes to a cell associated with each access node. In one aspect, the QoE manager module 1020 uses this collected information to determine a comprehensive cell quality metric for each cell, and if the comprehensive cell quality metric is below a threshold, the QoE manager module 1020 Based on the stream importance metric and the stream quality metric for each data stream, mitigation options for one or more data streams associated with one or more of the terminal nodes are determined. The mitigation option may be one of many options, such as reducing or stopping data packets being sent in the data stream, for example, or it may be to continue monitoring the state without taking any current action on any of the data streams. In some aspects, the mitigation option is either in the QoE manager module 1020 (e.g., traffic grooming, packet dropping and/or delay) or at the terminal node associated with the data stream to which the mitigation option is applied (e.g., packet dropping). And/or delay), or in both the QoE manager module 1020 and the terminal node. In this way, for example, the QoE manager module 1020 may attempt to maintain or increase the quality of experience for a user of a specific application associated with a terminal node associated with a given access node (eg, RAN cell). In aspects, for example, the QoE manager module 1020 may provide a detected data stream for or associated with a specific terminal node for a detected data stream across all terminal nodes associated with a given access node (e.g., a RAN cell). You can try to optimize the quality of experience.

도 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)를 포함하는 모바일 기반구조의 일부분은 아니다.11 is a block diagram of an exemplary communication network environment including a sensory quality manager module according to another aspect of the present invention. As mentioned above, the QoE manager module 1020 shown in FIG. 10 may be located at another location within a communication network environment. Referring to FIG. 11, the QoE manager module 1120 may be provided to the Internet 1100 in which, for example, one or more content servers 1110 may also be located. Other network nodes, such as a PDN gateway (P-GW) 1130, a serving gateway (S-GW) 1140, a mobility management entity (MME) 1160, and one or more access nodes (AN) 1150, are connected to the Internet ( 1100) and is provided to the mobile infrastructure 1190 in communication. Each access node (AN) 1150 may communicate with one or more terminal nodes (TNs) such as TN1 1171 and TN2 1172 through a communication link between the access node and the terminal node, where the communication link May be a wireless communication link or a wired communication link as described above with respect to FIG. 10. The QoE manager module 1120 of FIG. 11 may operate in a manner similar to that described above with respect to FIG. 10, but the P-GW 1130, S-GW 1140, MME 1160 and access node(s) It is not part of the mobile infrastructure, including (1150).

위에서 언급된 바와 같이, 마스터 애플리케이션 모듈은 통신 환경 내 각각의 단말 노드에서 동작할 수 있다. 일 태양에 있어서, 마스터 애플리케이션 모듈은 특정 애플리케이션과 TCP/IP 스택 사이에서 단말 노드에 위치하고 있을 수 있고, 특정 애플리케이션과 관련된 애플리케이션 데이터 스트림을 모니터링 및 관리하도록 사용될 수 있다. 일 태양에 있어서, 마스터 애플리케이션 모듈은 특정 애플리케이션과 운영 체제 사이에서 별개 계층에 위치하고 있을 수 있거나, 운영 체제의 일부분으로서 구현될 수 있다.As mentioned above, the master application module can operate in each terminal node in the communication environment. In one aspect, the master application module may be located in a terminal node between a specific application and a TCP/IP stack, and may be used to monitor and manage application data streams related to a specific application. In one aspect, the master application module may be located in a separate layer between a particular application and the operating system, or may be implemented as part of the operating system.

애플리케이션 데이터 스트림은 단말 노드에서 동작하고 있는 특정 애플리케이션을 지원하는 그 단말 노드 내/외로의 통신 데이터의 흐름일 수 있다. 예를 들어, 애플리케이션 데이터 스트림은 액세스 노드를 통하여 컨텐트 서버로부터 단말 노드로 비디오 데이터 패킷의 흐름일 수 있으며, 애플리케이션 데이터 스트림은 단말 노드에서 동작하고 있는 비디오 애플리케이션을 지원하고 있다. 태양들에 있어서, 하나보다 많은 애플리케이션 데이터 스트림이 단말 노드에서 동작하고 있는 특정 애플리케이션의 단일 인스턴스와 연관될 수 있다. 단말 노드에서 동작하고 있는 특정 애플리케이션은 마스터 애플리케이션 모듈과 통신 및 조정하는 협력형 특정 애플리케이션일 수 있거나, 마스터 애플리케이션 모듈과 통신 또는 조정하지 않은 비-협력형 특정 애플리케이션일 수 있다. 일례의 태양에 있어서, 단말 노드 내 마스터 애플리케이션 모듈은 TCP와 HTTP 스택 사이 어느 포인트에서 TCP 패킷을 모니터링하고 그리고/또는 액세스할 수 있으며, 여기서 TCP 패킷은 단말 노드에서 동작하고 있는 특정 애플리케이션을 지원하고 있는 데이터 패킷이다. 단말 노드 내 마스터 애플리케이션 모듈은 또한 단말 노드의 애플리케이션 계층에서 동작하고 있는 협력형 특정 애플리케이션과 인터페이싱하여 그로써 특정 애플리케이션으로부터 정보를 획득하고 그리고/또는 특정 애플리케이션에 명령어 및/또는 데이터를 보낼 수 있다. 이에 관하여, 여기에서 설명되는 마스터 애플리케이션 모듈의 기능 일부 또는 전부는 옵션으로서는 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션 중 일부 또는 전부에 위치하고 있을 수 있다.The application data stream may be a flow of communication data in/out of the terminal node supporting a specific application running in the terminal node. For example, the application data stream may be a flow of video data packets from the content server to the terminal node through the access node, and the application data stream supports video applications running in the terminal node. In aspects, more than one application data stream may be associated with a single instance of a particular application running on a terminal node. The specific application operating in the terminal node may be a cooperative specific application that communicates and coordinates with the master application module, or may be a non-cooperated specific application that does not communicate or coordinate with the master application module. In an exemplary aspect, the master application module in the terminal node can monitor and/or access TCP packets at any point between the TCP and HTTP stack, where the TCP packets support a specific application running on the terminal node. It is a data packet. The master application module in the terminal node may also interface with a specific cooperative application operating in the application layer of the terminal node, thereby obtaining information from the specific application and/or sending commands and/or data to the specific application. In this regard, some or all of the functions of the master application module described herein may be located in some or all of the cooperative specific applications operating in the terminal node as an option.

도 12는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도이다. 도 12에 있어서, 마스터 애플리케이션 모듈(1200)의 일례의 실시예에는 데이터, 정보 및/또는 명령어 및 커맨드를 공유하도록 서로 통신하고 있는 수개의 모듈이 들어있다. 일 태양에 있어서, 마스터 애플리케이션 모듈(1200)의 그 예의 실시예는, 국한되는 것은 아니지만, 단말 노드(TN) 인터페이스 모듈(1210), 특성 평가 모듈(1220), 스트림 메트릭 결정 모듈(1230), 다른 로직(1240), 스트림 검출 및 분류 모듈(1250), QoE 매니저 통신 모듈(1260), QoE 응답 모듈(1270) 및 트래픽 인터페이스 모듈(1280)을 포함하는 수개의 모듈이 들어있다.12 is a block diagram of a master application module in a terminal node supporting haptic quality management according to an aspect of the present invention. In Fig. 12, an exemplary embodiment of a master application module 1200 includes several modules in communication with each other to share data, information and/or commands and commands. In one aspect, the exemplary embodiment of the master application module 1200 is, but is not limited to, a terminal node (TN) interface module 1210, a characteristic evaluation module 1220, a stream metric determination module 1230, and other There are several modules including a logic 1240, a stream detection and classification module 1250, a QoE manager communication module 1260, a QoE response module 1270, and a traffic interface module 1280.

일례의 태양에 있어서, 단말 노드 인터페이스 모듈(1210)은 단말 노드에서 동작하는 협력형 특정 애플리케이션과 통신하도록 그리고 특정 애플리케이션과 연관되어 있는 각각의 검출된 데이터 스트림에 대한 데이터 스트림 품질을 계산하는데 사용되는 현재 애플리케이션 특성 및 메트릭을 결정하도록 단말 노드의 애플리케이션 계층과 인터페이싱한다. 또한 단말 노드 인터페이스 모듈(1210)은 검출된 애플리케이션 데이터 스트림 스트림에 대한 서비스 품질(QoS) 및 셀 아이디(ID) 정보(예를 들어, QCI 및 Cell_ID)를 획득하도록, 예를 들어 LTE-기반 시스템 내 LTE Uu 스택과 같은, 단말 노드의 네트워크 인터페이스와 인터페이싱할 수 있다. 예를 들어, 그러한 정보는 각각의 검출된 애플리케이션 데이터 스트림에 대하여 또는 검출된 스트림의 각각의 그룹에 대하여 획득될 수 있다. 이에 관하여, 이들 기능을 수행하는 것은 반드시 각각의 데이터 스트림마다에 적용되는 것은 아닐 수 있고, 대신에 데이터 스트림의 서브세트(일부 또는 전부)의 각각에 적용될 수 있다. 단말 노드 인터페이스 모듈(1210)은 또한, 예를 들어, 단말 노드 특성 및 다른 애플리케이션 특성을 획득하도록 다른 단말 노드 서비스와 인터페이싱하여, 예를 들어 어느 특정 애플리케이션이 디스플레이 전경에 있는지 운영 체제로부터 결정할 수 있다. 일 태양에 있어서, 단말 노드 인터페이스 모듈(1210)은 또한, 아래에 더 상세히 논의되는 바와 같이, 경감 액션을 구현하도록 사용될 수 있다.In an exemplary aspect, the terminal node interface module 1210 is used to communicate with a specific cooperative application running on the terminal node and to calculate the data stream quality for each detected data stream associated with the specific application. It interfaces with the application layer of the terminal node to determine application characteristics and metrics. In addition, the terminal node interface module 1210 obtains quality of service (QoS) and cell ID (ID) information (eg, QCI and Cell_ID) for the detected application data stream stream, for example, in an LTE-based system. It can interface with a network interface of a terminal node, such as an LTE Uu stack. For example, such information may be obtained for each detected application data stream or for each group of detected streams. In this regard, performing these functions may not necessarily apply to each data stream, but instead may apply to each of a subset (some or all) of the data streams. The terminal node interface module 1210 may also interface with other terminal node services to obtain terminal node characteristics and other application characteristics, for example, to determine from the operating system which specific application is in the foreground of the display, for example. In one aspect, the terminal node interface module 1210 may also be used to implement mitigation actions, as discussed in more detail below.

일례의 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 단말 노드 인터페이스 모듈(1210)로부터 데이터 패킷을 수신하고 그들을 검사하여 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관되어 있는 데이터 스트림에 그들이 속하는지 결정하도록 기능한다. 예를 들어, 스트림 검출 및 분류 모듈(1250)은, 예를 들어 TCP/IP 커넥션의 확립과 같은 데이터 커넥션의 개시 및 종료, 및 예를 들어 새로 확립된 커넥션을 가로질러 흐르고 있는 데이터 트래픽과 같은 데이터 스트림을 검출하도록 데이터 패킷을 검사할 수 있다. 일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 식별된 데이터 스트림 중 하나 이상을 단말 노드에서 동작하고 있는 대응하는 특정 애플리케이션에 연관시킨다. 예를 들어, 스트림 검출 및 분류 모듈(1250)은 고유 TCP/IP 커넥션 상에서 각각 반송되는 3개의 식별된 HTTP 데이터 스트림을 단말 노드에서 동작하고 있는 단일 특정 애플리케이션과 연관시킬 수 있다. 데이터 패킷 검사에 기반하여, 스트림 검출 및 분류 모듈(1250)은 식별된 데이터 스트림 중 하나 이상을 애플리케이션 클래스 및/또는 특정 애플리케이션으로 분류할 수 있다. 예를 들어, 스트림 검출 및 분류 모듈(1250)은 데이터 스트림의 데이터 패킷이 비디오 데이터를 반송하고 있기 때문에 데이터 스트림을 비디오 클래스로 분류할 수 있고, 스트림 검출 및 분류 모듈(1250)은 데이터 스트림을, 데이터 스트림의 특정 특성에 기반하여, 예를 들어 넷플릭스와 같은 특정 애플리케이션으로 더 분류할 수 있다. 당업자는 데이터 스트림을 분류하는 그리고 특히 데이터 스트림 내 하나 이상의 데이터 패킷의 검사에 기반하여 그러한 분류를 결정하는 기존 방법 및 기술에 대해 알고 있을 것이다.In an exemplary aspect, the stream detection and classification module 1250 receives data packets from the terminal node interface module 1210 and examines them to determine whether they belong to a data stream associated with a specific application running on the terminal node. Function to do it. For example, the stream detection and classification module 1250 may include initiation and termination of a data connection, such as establishment of a TCP/IP connection, and data such as data traffic flowing across a newly established connection, for example. Data packets can be inspected to detect the stream. In one aspect, the stream detection and classification module 1250 associates one or more of the identified data streams to a corresponding specific application operating at the terminal node. For example, the stream detection and classification module 1250 may associate three identified HTTP data streams each carried on a unique TCP/IP connection with a single specific application running in the terminal node. Based on the data packet inspection, the stream detection and classification module 1250 may classify one or more of the identified data streams into an application class and/or a specific application. For example, the stream detection and classification module 1250 may classify the data stream into a video class because the data packet of the data stream carries video data, and the stream detection and classification module 1250 classifies the data stream, Based on the specific characteristics of the data stream, it can be further classified as a specific application, for example Netflix. Those of skill in the art will be aware of existing methods and techniques for classifying data streams and, in particular, determining such classification based on inspection of one or more data packets within the data stream.

일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션으로부터의 애플리케이션 시그널링을 사용함으로써 위 설명된 기능을 수행할 수 있다. 예를 들어, 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션은 협력형 특정 애플리케이션이 새로운 데이터 스트림을 개시하고 있다는 표시를 스트림 검출 및 분류 모듈(1250)에 보낼 수 있고, 그 표시는 또한, 예를 들어, 새로운 데이터 스트림과 연관된 애플리케이션 클래스 및 특정 애플리케이션과 같이 새로운 데이터 스트림과 관련된 정보를 포함할 수 있다. 일 태양에 있어서, 스트림 검출 및 분류 모듈(1250)은 새로운 데이터 스트림과 관련된, 예를 들어 소켓 정보와 같은, 커넥션 정보를 결정하도록 데이터 패킷 검사를 사용할 수 있다.In one aspect, the stream detection and classification module 1250 may perform the functions described above by using application signaling from a cooperative specific application operating in the terminal node. For example, a specific cooperative application running on the terminal node may send an indication to the stream detection and classification module 1250 that the specific cooperative application is starting a new data stream, and the indication is also, for example, , An application class associated with the new data stream, and information related to the new data stream, such as a specific application. In one aspect, the stream detection and classification module 1250 may use data packet inspection to determine connection information, such as socket information, associated with a new data stream.

스트림 검출 및 분류 모듈(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)에 제공할 수 있다.The stream detection and classification module 1250 may use known data packet inspection and classification techniques. In one aspect, the stream detection and classification module 1250 is in US Patent Application Publication No. 2012/0327779A1 (name of the invention: "Systems And Methods For Congestion Detection For Use In Prioritizing And Scheduling Packets In A Communication Network"). The described data packet inspection and classification techniques can be used, which are incorporated herein by reference. For example, in US Patent Application Publication No. 2012/0327779A1, among other things, in FIGS. 4A to 4C and at least paragraphs [0056], [0057], [0060], [0061] and [0077] to [0091]. The inspection and classification techniques described for the classification/queueing module described in] can be implemented in the aspects and embodiments described herein. In one aspect, the stream detection and classification module 1250 also transfers data stream information and/or metrics, such as HTTP, TCP and/or IP header information and file metadata, to the property evaluation module 1220, Alternatively, for example, a byte counter and packet arrival information that can be used to compute a service provided bit rate may be provided to the stream metric determination module 1230.

일 태양에 있어서, 특성 평가 모듈(1220)은 하나 이상의 검출된 데이터 스트림과 연관되어 있는 각각의 특정 애플리케이션에 대한 현재 애플리케이션 특성 세트를 결정할 수 있다. 예를 들어, 현재 애플리케이션 특성 데이터 세트는 연관된 특정 애플리케이션이 특정 애플리케이션이 동작하고 있는 단말 노드의 사용자에 의해 개시되었는지 또는 연관된 특정 애플리케이션이 사용자 개시 없이 단말 노드 자체에 의해 개시되었는지 나타내는 개시 유형을 포함할 수 있다. 현재 애플리케이션 특성 데이터 세트는 또한 연관된 특정 애플리케이션이 현재에 연관된 단말 노드의 디스플레이의 전경에 있는지 또는 배경에 있는지의 표시를 포함할 수 있고, 또한 특정 애플리케이션이 기다리고 있는 응답이 컨텐트 서버와 같은 다른 엔티티로부터인지 또는 단말 노드의 사용자로부터인지를 포함할 수 있다. 일 태양에 있어서, 특성 평가 모듈(1220)은 그것이 특정 애플리케이션에 대한 현재 애플리케이션 특성 데이터 세트 중 일부 또는 전부를 결정할 수 있는 정보를 획득하도록 연관된 단말 노드의 운영 체제에 액세스할 수 있다. 추가적 태양에 있어서, 특성 평가 모듈(1220)은 스트림 검출 및 분류 모듈(1250)로부터 데이터 스트림 정보 및/또는 메트릭을 수신하고 특정 애플리케이션에 대한 현재 애플리케이션 특성 데이터 세트 중 일부 또는 전부의 그 결정에 있어서 이러한 정보 및/또는 메트릭을 사용할 수 있다. 일 태양에 있어서, 특성 평가 모듈(1220)은 단말 노드에서 동작하고 있는 협력형 특정 애플리케이션으로부터 간접적으로 또는 직접적으로 애플리케이션 정보를 수신하고 그 후 그 특정 애플리케이션에 대한 현재 애플리케이션 특성 데이터 세트 중 일부 또는 전부의 결정에 있어서 이러한 정보를 사용할 수 있다.In one aspect, the feature evaluation module 1220 may determine a current set of application features for each particular application associated with one or more detected data streams. For example, the current application characteristic data set may include an initiation type indicating whether the associated specific application was launched by a user of the terminal node on which the specific application is running, or whether the associated specific application was launched by the terminal node itself without user initiation. have. The current application characteristic data set may also include an indication of whether the specific application associated with it is in the foreground or background of the display of the currently associated terminal node, and also whether the response that the particular application is waiting for is from another entity, such as a content server. Alternatively, it may include recognition from the user of the terminal node. In one aspect, the characteristic evaluation module 1220 can access the operating system of the associated terminal node to obtain information that can determine some or all of the current application characteristic data set for a particular application. In a further aspect, the characteristic evaluation module 1220 receives data stream information and/or metrics from the stream detection and classification module 1250 and determines some or all of the current application characteristic data sets for a particular application. Information and/or metrics may be used. In one aspect, the characteristic evaluation module 1220 receives application information indirectly or directly from a cooperative specific application running on the terminal node, and thereafter, some or all of the current application characteristic data sets for that specific application. You can use this information in your decisions.

일 태양에 있어서, 특성 평가 모듈(1220)에 의해 결정된 현재 애플리케이션 특성 데이터 세트는 다음 중 하나 이상을 포함할 수 있다:In one aspect, the current application characteristic data set determined by the characteristic evaluation module 1220 may include one or more of the following:

- 애플리케이션 클래스 메트릭:-Application class metrics:

Figure 112014127886944-pat00003
예시값: 대화형 음성, 대화형 비디오, 스트리밍 오디오, 스트리밍 빕디오, 양방향성 게이밍, 브라우저 데이터, 네이티브 애플리케이션 데이터, 및 모름
Figure 112014127886944-pat00003
Examples: Interactive Voice, Interactive Video, Streaming Audio, Streaming Vidio, Interactive Gaming, Browser Data, Native Application Data, and Unknown

Figure 112014127886944-pat00004
결정: 대역-내 패킷 검사 기술(위에서 설명함)이 트래픽 인터페이스 모듈(1280)을 통하여 모니터링된 데이터 패킷에 적용될 수 있다
Figure 112014127886944-pat00004
Decision: In-band packet inspection technique (described above) can be applied to data packets monitored through the traffic interface module 1280

- 스트림 개시 메트릭:-Stream initiation metric:

Figure 112014127886944-pat00005
예시값: 사용자에 의한 개시 및 머신에 의한 개시
Figure 112014127886944-pat00005
Example values: user initiated and machine initiated

Figure 112014127886944-pat00006
결정: 스트림 개시 유형의 메트릭은 연관된 협력형 특정 애플리케이션으로부터 수신될 수 있다. 다른 일 태양에 있어서, 이것은 데이터 스트림과 연관된 결정된 애플리케이션 클래스로부터 추론될 수 있다(예를 들어, 단일 스트리밍 비디오 스트림을 갖는 특정 애플리케이션은 사용자에 의해 개시된다고 상정될 수 있다). 데이터 스트림의 개시는 대응하는 특정 애플리케이션의 개시와 똑같을 수도 있고 그렇지 않을 수도 있음을 유념해야 한다. 예를 들어, 사용자-개시된 특정 애플리케이션은 사용자에 의해 개시되는 푸시-업데이트를 가질 수도 있고 또한 머신에 의해 개시되는 용례 보고를 가질 수도 있다(특정 애플리케이션의 개시와는 별개임).
Figure 112014127886944-pat00006
Decision: The metric of the stream initiation type can be received from the associated cooperative specific application. In another aspect, this can be inferred from the determined application class associated with the data stream (eg, a particular application with a single streaming video stream can be assumed to be initiated by the user). It should be noted that the initiation of the data stream may or may not be the same as the initiation of the corresponding specific application. For example, a particular user-initiated application may have push-updates initiated by the user and may also have usage reports initiated by the machine (separate from the initiation of the particular application).

- 사용자 인터페이스(UI) 업데이트 계류중 메트릭:-User Interface (UI) Update Pending Metrics:

Figure 112014127886944-pat00007
예시값: 계류중, 계류중 아님, 적용불가
Figure 112014127886944-pat00007
Example values: pending, not pending, not applicable

Figure 112014127886944-pat00008
결정: 이것은 데이터 스트림이 현재, 스크린 리프레시와 같은, 계류중 UI 업데이트와 연관되어 있는지 여부를 가리킨다. UI 업데이트 계류중의 표시는, 예를 들어 인터넷 브라우저 또는 네이티브 애플리케이션과 같은, 연관된 협력형 특정 애플리케이션으로부터 수신될 수 있다. 이것은 또한 애플리케이션 데이터 스트림 내 데이터 패킷으로부터 파싱될 수 있다. 이러한 표시는, 예를 들어 대화형 음성과 같이, 모든 애플리케이션 클래스에 적용가능한 것은 아닐 수 있음을 유념한다.
Figure 112014127886944-pat00008
Decision: This indicates whether the data stream is currently associated with a pending UI update, such as a screen refresh. The indication of a UI update pending may be received from an associated cooperative specific application, such as an internet browser or a native application, for example. It can also be parsed from data packets in the application data stream. Note that this indication may not be applicable to all application classes, for example interactive speech.

- 디스플레이 위치 메트릭:-Display position metrics:

Figure 112014127886944-pat00009
예시값: 전경, 배경
Figure 112014127886944-pat00009
Example values: Foreground, Background

Figure 112014127886944-pat00010
결정: 이러한 메트릭은 애플리케이션 데이터 스트림과 연관된 특정 애플리케이션이 단말 노드 상에서 UI 배경에서 디스플레이되고 있는지 또는 전경에서 디스플레이되고 있는지를 가리킨다. 디스플레이 위치는 연관된 협력형 특정 애플리케이션으로부터 수신될 수 있다. 또한, 디스플레이 위치 표시는 단말 노드 내 운영 체제로부터 획득될 수 있다.
Figure 112014127886944-pat00010
Decision: This metric indicates whether a particular application associated with the application data stream is being displayed on the terminal node in the UI background or in the foreground. The display location can be received from an associated cooperative specific application. In addition, the display position indication may be obtained from an operating system in the terminal node.

- 네트워크 서비스 품질(QoS) 메트릭:-Network quality of service (QoS) metrics:

Figure 112014127886944-pat00011
예시값: QCI = 1-9
Figure 112014127886944-pat00011
Example value: QCI = 1-9

Figure 112014127886944-pat00012
결정: 이러한 메트릭은, 단말 노드 인터페이스 모듈(1210)을 통하여, 단말 노드 내 네트워크 스택(예를 들어, LTE Uu 스택)으로부터 획득될 수 있다. 국한되는 것은 아니지만, 보증 비트 레이트(GBR) 클래스 또는 비-보증 비트 레이트(비-GBR) 클래스와 같이 QoS에 대한 대안이 사용될 수 있다.
Figure 112014127886944-pat00012
Decision: This metric may be obtained from a network stack (eg, an LTE Uu stack) within a terminal node through the terminal node interface module 1210. Although not limited, alternatives to QoS may be used, such as guaranteed bit rate (GBR) classes or non-guaranteed bit rate (non-GBR) classes.

- 버퍼 마진 메트릭:-Buffer margin metric:

Figure 112014127886944-pat00013
예시값: 0 = 모름, 1-15값(8 = 중립)
Figure 112014127886944-pat00013
Example values: 0 = unknown, values 1-15 (8 = neutral)

Figure 112014127886944-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 추정은 유사한 기술을 통하여 획득될 수 있다.
Figure 112014127886944-pat00014
Decision: The buffer margin metric refers to the buffer occupancy (BO) margin for the data streaming service. These metrics can be obtained from associated cooperative specific applications. In the case of video streaming, the metric can be determined by using the BO estimation. For example, BO estimation is based on the methods and techniques described in U.S. Patent Application No. 13/789,462 (title of the invention: "Systems And Methods For Using Client-Side Video Buffer Occupancy For Enhanced Quality Of Experience In A Communication Network"). It can be obtained by use, which is incorporated herein by reference. Streaming audio BO estimation can be obtained through a similar technique.

일례의 태양에 있어서, 특성 평가 모듈(1220)은 또한 단말 노드에 대한 단말 노드 특성 데이터 세트를 결정할 수 있고, 그것은 단말 노드의 상태와 관련된 현재 특성 데이터를 포함할 수 있다. 단말 노드 특성 데이터 세트는, 국한되는 것은 아니지만, 연관된 단말 노드에 사용자가 주고 있는 주의 레벨, 단말 노드의 사용자에 배정된 서비스 레벨 협약(SLA)을 나타내는 사용자 SLA, 및 사용되고 있는 단말 노드의 유형을 나타내는 단말 노드 유형 메트릭(예를 들어, 태블릿, 스마트폰, 피처폰, 대형 디스플레이 TV, 산업용 M2M 모듈 등)을 포함할 수 있다. 일 태양에 있어서, 특성 평가 모듈(1220)은 그것이 현재 단말 노드 특성 데이터 중 일부 또는 전부를 결정할 수 있는 정보를 획득하도록 연관된 단말 노드의 운영 체제에 액세스할 수 있다. 예를 들어, 특성 평가 모듈(1220)은, 특정 애플리케이션과 관련되어 있는 단말 노드의 그래픽 사용자 인터페이스에 의해, 수신된 사용자 입력의 유형 및 수신된 사용자 입력의 시간과 관련된 운영 체제로부터의 이력 데이터를 획득하고, 그 후 이 정보를 사용하여 특정 애플리케이션과 연관된 사용자 주의 메트릭을 결정할 수 있다. 운영 체제로부터의 다른 정보가 또한, 예를 들어, 폰 위치 또는 움직임의 표시, 단말 노드의 디스플레이가 꺼졌는지 또는 타임 아웃 되었는지의 표시, 단말 노드 내 카메라 또는 다른 센서로부터의 디스플레이의 사용자 눈 추적의 표시를 포함하는 사용자 주의 메트릭을 결정하는데 도움을 줄 수 있다. 운영 체제로부터의 그리고/또는 단말 노드로부터의 데이터 및 정보의 다른 기지의 유형이 현재 단말 노드 특성 데이터 세트의 일부 또는 전부의 결정에 이용될 수 있음을 인식해야 한다.In an exemplary aspect, the characteristic evaluation module 1220 may also determine a set of terminal node characteristic data for the terminal node, which may include current characteristic data related to the state of the terminal node. The terminal node characteristic data set is not limited to, but is not limited to, a user SLA indicating the level of attention the user is giving to the associated terminal node, a service level agreement (SLA) assigned to the user of the terminal node, and the type of terminal node being used. Terminal node type metrics (eg, tablets, smartphones, feature phones, large display TVs, industrial M2M modules, etc.) may be included. In one aspect, the characteristic evaluation module 1220 may access the operating system of the associated terminal node to obtain information by which it can determine some or all of the current terminal node characteristic data. For example, the characteristic evaluation module 1220 acquires historical data from the operating system related to the type of the received user input and the time of the received user input by the graphic user interface of the terminal node associated with a specific application. And then use this information to determine the user attention metric associated with a particular application. Other information from the operating system may also include, for example, an indication of the phone position or movement, an indication of whether the display of the terminal node is off or timed out, an indication of the user's eye tracking of the display from a camera or other sensor in the terminal node. It may help to determine the user attention metric including. It should be appreciated that other known types of data and information from the operating system and/or from the terminal node may be used to determine some or all of the current terminal node characteristic data sets.

일 태양에 있어서, 특성 평가 모듈(1220)에 의해 결정된 현재 단말 노드 특성 데이터 세트는 다음 중 하나 이상을 포함할 수 있다:In one aspect, the current terminal node characteristic data set determined by the characteristic evaluation module 1220 may include one or more of the following:

- 사용자 주의(UA) 메트릭:-User Attention (UA) metrics:

Figure 112014127886944-pat00015
예시값: 주의, 방치, 적용불가, 모름
Figure 112014127886944-pat00015
Example values: caution, neglect, not applicable, unknown

Figure 112014127886944-pat00016
결정: 일 태양에 있어서, UA 메트릭에 대한 적용불가값은, 비디오 모니터링 또는 다른 머신-대-머신(M2M) 애플리케이션과 같이, 무인 특정 애플리케이션에 대하여 사용될 수 있음을 유념한다. 부가적으로, UA 메트릭은 또한 대형 스크린 스마트폰 및 태블릿과 같이 다수의 특정 애플리케이션으로부터의 정보를 동시에 디스플레이할 수 있는 그들 단말 노드 디바이스에 대한, 단말 노드 특성이라기보다는, 애플리케이션 특성일 수 있다.
Figure 112014127886944-pat00016
Decision: Note that in one aspect, the non-applicable value for the UA metric may be used for unmanned specific applications, such as video monitoring or other machine-to-machine (M2M) applications. Additionally, the UA metric may also be an application characteristic, rather than a terminal node characteristic, for those terminal node devices capable of simultaneously displaying information from multiple specific applications, such as large screen smartphones and tablets.

Figure 112014127886944-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 112014127886944-pat00017
As discussed above, information related to user attention may be obtained from the operating system of the terminal node and/or from various types of sensors in the terminal node such as accelerometers, cameras, and the like. For example, gaze tracking (eye tracking) information may be obtained through the front facing camera to evaluate whether a user is present and paying attention and to indicate an object of attention on the display of the terminal node. For example, 2010 ACM Publications, pages 15-20, ACM SIGCOMM Workshop Second Procedure on Networking, Systems and Applications for Portable Mobile (MobiHeld 10), "Eyephone" by E.Miluzzo, T.Wang and A.Campbell. : See "Activating Mobile Phones with Your Eyes". The accelerometer data can be used to determine the orientation of the terminal node, such as whether the terminal node is facing up or upside down. See, for example, http://stackoverflow.com/questions/7590996/detecting-the-device-upside-down. The in-bag or in-bag detection may be determined based on information from sensors in the terminal node. See, for example, http://www.cs.dartmouth.edu/~campbell/papers/miluzzo-phonesense.pdf. Similarly, the hand-in-phone presence detection can also be determined based on information from sensors in the terminal node. See, for example, http://www.cs.dartmouth.edu/~campbell/papers/miluzzo-phonesense.pdf. The “last user interaction” timer may be used based on information from the operating system or directly from the specific application associated to determine whether the running interactive application is'obsolete' (neglected by the user). The screen saver mode or screen-off mode information may be obtained from the OS in the terminal node to indicate the neglected state of the terminal node.

Figure 112014127886944-pat00018
위의 설명된 방법 및 기술 중 하나 이상이 UA값을 결정하도록, 예를 들어, 논리 조합과 같은 조합으로 사용될 수 있음을 유념해야 한다. 부가적으로, 논리 조합은 또한 UA 메트릭값을 더 정제하도록 각각의 방법에 의해 보고된 신뢰값(또는 간격)을 이용할 수 있다.
Figure 112014127886944-pat00018
It should be noted that one or more of the methods and techniques described above may be used in combinations, for example logical combinations, to determine the UA value. Additionally, the logical combination can also use the confidence values (or intervals) reported by each method to further refine the UA metric values.

- 네트워크 서비스 레벨 협약(SLA) 메트릭:-Network Service Level Agreement (SLA) metrics:

Figure 112014127886944-pat00019
예시값: 골드, 실버, 브론즈
Figure 112014127886944-pat00019
Example values: gold, silver, bronze

Figure 112014127886944-pat00020
결정: 이 단말 노드에 배정된 SLA는, 예를 들어, LTE 네트워크 내 LTE Uu 스택으로부터와 같이, 네트워크 스택으로부터 요청될 수 있다. 예를 들어, SLA는, 네트워크의 오퍼레이터에 의해 단말 노드/사용자에 배정되는, 단말 노드에 대한 배정된 서비스 레벨일 수 있다.
Figure 112014127886944-pat00020
Decision: The SLA assigned to this terminal node may be requested from the network stack, for example from the LTE Uu stack in the LTE network. For example, the SLA may be an assigned service level for the terminal node, which is assigned to the terminal node/user by the operator of the network.

일례의 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 특성 평가 모듈(1220)로부터 획득된 현재 단말 노드 특성 데이터 세트 및 현재 애플리케이션 특성 데이터 세트, 및 다른 정보를 이용하여 각각의 데이터 스트림과 연관된 하나 이상의 메트릭을 결정한다. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 각각의 검출된 데이터 스트림과 연관된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭을 적어도 포함하는 데이터 스트림 메트릭을 결정한다. 일례의 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 다음에 따라 대응하는 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정한다.In an exemplary aspect, the stream metric determination module 1230 uses the current terminal node characteristic data set and the current application characteristic data set, and other information obtained from the characteristic evaluation module 1220, to perform at least one associated with each data stream. Determine the metric. In one aspect, the stream metric determination module 1230 determines a data stream metric including at least a data stream importance metric and a data stream quality metric associated with each detected data stream. In an exemplary aspect, the stream metric determination module 1230 determines a data stream importance metric for a corresponding data stream according to the following.

Figure 112014127886944-pat00021
Figure 112014127886944-pat00021

여기서 f{}는 현재 단말 노드 특성 데이터와 현재 애플리케이션 특성 데이터의 가중 합산일 수 있다.Here, f{} may be a weighted sum of the current terminal node characteristic data and the current application characteristic data.

Figure 112014127886944-pat00022
Figure 112014127886944-pat00022

여기서 x = appID, y = streamID, z = terminalnodeID, 및 c1..c8은 각각의 연관된 특성의 상대적 중요도를 증가/감소시키도록 사용되는 가중 계수이며, 연관된 특성의 효과를 없애는 영 가중치의 사용을 포함한다. 애플리케이션 특성 및 단말 노드 특성은 각각, 디스플레이의 용이함을 위해 위에서는 도시하지 않았지만, x, y, z의 함수이다. 당업자는 위에 열거된 함수에서 설명된 변수가 계산에서의 사용을 위해 수로서 표현될 수 있음을 알고 있을 것이다. 위에서 열거된 함수는 예시적인 것이고 다른 포맷 및 항으로 표현될 수 있으며, 다른 부가적 파라미터 및/또는 변수, 또는 더 적은 파라미터 및/또는 변수를 포함할 수 있다. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 데이터 스트림의 지연 공차에 적어도 일부 기반하여 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정할 수 있다. 일 태양에 있어서, 그러한 지연 공차는 데이터 스트림의 애플리케이션 클래스에 의해 나타내거나, 그로부터 유도될 수 있다.Where x = appID, y = streamID, z = terminalnodeID, and c 1 ..c 8 are weighting factors used to increase/decrease the relative importance of each associated feature, and the use of zero weight to eliminate the effect of the associated feature. Includes. The application characteristics and the terminal node characteristics are functions of x, y, and z, respectively, although not shown above for ease of display. Those of skill in the art will appreciate that the variables described in the functions listed above may be expressed as numbers for use in calculations. The functions listed above are exemplary and may be expressed in different formats and terms, and may include other additional parameters and/or variables, or fewer parameters and/or variables. In one aspect, the stream metric determination module 1230 may determine a data stream importance metric for the data stream based at least in part on the delay tolerance of the data stream. In one aspect, such delay tolerance may be indicated by, or derived from, the application class of the data stream.

일례의 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 대응하는 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 데이터 스트림에 대응하는 특정 애플리케이션과 연관된 사용자 체감의 정규화된 실시간 추정치로서 결정한다. 이에 관하여, 아래에 주어지는 예 및 VMOS 추정과 같이 사용자 체감 메트릭을 결정하기 위한 기지의 방법 및 기술이 다른 기지의 기술과 함께 사용될 수 있다. 예를 들어, 참조에 의해 여기에 편입되어 있는 2013년 Spirent Communications "OTT vs OTT: Comparing Video Chat Experience"를 참조하라. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 각각의 데이터 스트림과 연관된 애플리케이션 클래스 및, 옵션으로서는, 특정 애플리케이션에도 의존하여 여러 다른 데이터 스트림에 대해 다르게 데이터 스트림 품질 메트릭을 결정할 수 있다. 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 데이터 패킷 지연, 폐기, 재송신 등과 같이 데이터 스트림과 관련된 데이터 전송 품질 정보에 기반하는 계산을 사용하여 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 다른 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 협력형 비디오 스트리밍 애플리케이션으로부터의 비디오 평균평가점(VMOS) 추정치와 같이 협력형 특정 애플리케이션으로부터 수신되는 메트릭에 기반하여 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 다른 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은 대응하는 협력형 특정 애플리케이션으로부터 수신되는 메트릭(들)의 조합에 기반하여 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 예를 들어, 협력형 비디오 애플리케이션은 목표 비디오 비트레이트를 제공할 수 있고 그 후 스트림 메트릭 결정 모듈(1230)은 이 목표 비디오 비트레이트를 실제(또는 추정) 서비스 제공되는 비트레이트값에 비교하여 연관된 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다. 다른 일 태양에 있어서, 스트림 메트릭 결정 모듈(1230)은, 도 1 내지 도 9에 관하여 위에서 설명된 바와 같이, 예를 들어 액세스 노드 내 애플리케이션 에이전트에 의해 제공되는 정보를 포함하는, 네트워크 내 다른 노드로부터 획득된 메트릭 정보를 포함시킴으로써 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정할 수 있다.In an exemplary aspect, the stream metric determination module 1230 determines a data stream quality metric for a corresponding data stream as a normalized real-time estimate of user experience associated with a particular application corresponding to the data stream. In this regard, known methods and techniques for determining user experience metrics, such as the examples given below and VMOS estimation, may be used together with other known techniques. See, for example, Spirent Communications 2013 "OTT vs OTT: Comparing Video Chat Experience", incorporated herein by reference. In one aspect, the stream metric determination module 1230 may determine data stream quality metrics differently for different data streams depending on the application class associated with each data stream and, optionally, the specific application. In one aspect, the stream metric determination module 1230 may determine a data stream quality metric for the data stream using calculations based on data transmission quality information related to the data stream, such as data packet delay, discard, retransmission, and the like. In another aspect, the stream metric determination module 1230 is a data stream quality metric for the data stream based on metrics received from a cooperative specific application, such as a video average score (VMOS) estimate from a cooperative video streaming application. Can be determined. In another aspect, the stream metric determination module 1230 may determine a data stream quality metric for the data stream based on a combination of metric(s) received from a corresponding cooperative specific application. For example, a cooperative video application may provide a target video bitrate, and then the stream metric determination module 1230 compares this target video bitrate to an actual (or estimated) serviced bitrate value to determine the associated data. A data stream quality metric for the stream can be determined. In another aspect, the stream metric determination module 1230, as described above with respect to FIGS. 1-9, from another node in the network, including information provided by, for example, an application agent in the access node. By including the obtained metric information, a data stream quality metric for the data stream can be determined.

위에서 언급된 바와 같이, 스트림 메트릭 결정 모듈(1230)은 애플리케이션 클래스에 의존하여 여러 다른 데이터 스트림에 대해 다르게 데이터 스트림 품질 메트릭을 결정할 수 있다. 여러 다른 애플리케이션 클래스에 대하여, 이용될 수 있는 정보, 및 여러 다른 품질 메트릭 결정 기술의 예가 아래에 제공된다:As mentioned above, the stream metric determination module 1230 may determine the data stream quality metric differently for different data streams depending on the application class. For different application classes, examples of information that can be used, and different quality metric determination techniques are provided below:

- 애플리케이션 클래스: 대화형 음성-Application class: interactive voice

Figure 112014127886944-pat00023
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 패킷 지터값, TCP 재송신 백분율값, 패킷 라운드 트립 시간값, 및 서비스 제공되는 비트레이트 대 목표 비트레이트 메트릭(시간 기간에 걸친 평균) 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure 112014127886944-pat00023
Quality measurement technology(s): The stream metric determination module 1230 is one of a packet jitter value, a TCP retransmission percentage value, a packet round trip time value, and a service provided bitrate versus target bitrate metric (average over time period). You can acquire and use the above. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280.

Figure 112014127886944-pat00024
협력형 특정 애플리케이션으로부터 획득된 메트릭: 평균평가점(MOS) 추정치, 분실 데이터의 시간 백분율값, 및 애플리케이션 동결의 시간 백분율, 발생 수 및/또는 듀레이션값(즉, 대화형 음성이 누락되거나 왜곡되는 시간 기간), 및 목표 비트레이트.
Figure 112014127886944-pat00024
Metrics obtained from cooperative specific applications: Mean Score (MOS) estimate, time percentage value of lost data, and time percentage of application freeze, number of occurrences and/or duration values (i.e., time at which interactive speech is missing or distorted Period), and target bit rate.

Figure 112014127886944-pat00025
주의: 위에서 언급된 패킷 지터값 사용은 고정-주기 패킷 송신의 사용을 상정한다. 또한, 스트림 검출 및 분류 모듈(1250)로부터 획득된 패킷 레벨 정보(예를 들어, IP, UDP, TCP, HTTP, SIP)에 기반하여 대화형 음성에 대한 MOS 추정치를 컴퓨팅하도록 기지의 기술이 사용될 수 있다.
Figure 112014127886944-pat00025
Note: The use of packet jitter values mentioned above assumes the use of fixed-period packet transmission. In addition, known techniques can be used to compute MOS estimates for interactive voice based on packet level information (e.g., IP, UDP, TCP, HTTP, SIP) obtained from the stream detection and classification module 1250. have.

- 애플리케이션 클래스: 대화형 비디오(대화형 음성을 포함할 수 있음)-Application class: Interactive video (can contain interactive voice)

Figure 112014127886944-pat00026
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 패킷 지터값, 패킷 재송신 백분율값, 패킷 라운드 트립 시간값, 및 서비스 제공되는 비트레이트 대 목표 비트레이트 메트릭(시간 기간에 걸친 평균) 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure 112014127886944-pat00026
Quality measurement technology(s): The stream metric determination module 1230 is one of a packet jitter value, a packet retransmission percentage value, a packet round trip time value, and a service provided bitrate versus target bitrate metric (average over time period). You can acquire and use the above. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280.

Figure 112014127886944-pat00027
협력형 특정 애플리케이션으로부터 획득된 메트릭: 비디오 평균평가점(VMOS) 추정치, 분실 데이터의 수량 또는 시간 백분율값, 및 애플리케이션 동결의 듀레이션 또는 발생의 수량 또는 시간 백분율값(즉, 음성 및/또는 비디오가 동결되거나, 누락되거나, 왜곡되는 시간 기간), 및 목표 비트레이트.
Figure 112014127886944-pat00027
Metrics obtained from collaborative specific applications: Video Average Point (VMOS) estimate, quantity or time percentage value of lost data, and duration or time percentage value of duration or occurrence of application freeze (i.e., voice and/or video freezes. , Missing, or distorted time period), and the target bit rate.

Figure 112014127886944-pat00028
주의: 이 애플리케이션 클래스의 오디오 부분은 별개의 데이터 스트림 상에서 반송될 수도 있고 그렇지 않을 수도 있다.
Figure 112014127886944-pat00028
Note: The audio portion of this application class may or may not be carried on a separate data stream.

- 애플리케이션 클래스: 스트리밍 오디오-Application Class: Streaming Audio

Figure 112014127886944-pat00029
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 서비스 제공되는 비트레이트 대 목표 비트레이트값, 및 BO 추정값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다. BO 추정값은 스트리밍 비디오 클래스에 대하여 위에서 언급된 것들과 유사한 BO 추정 방법에 의해 결정될 수 있다. 일 태양에 있어서, BO 추정은 현재 시간과 상영 타임스탬프 간 상대적 비교에 기반할 수 있다.
Figure 112014127886944-pat00029
Quality measurement technique(s): The stream metric determination module 1230 may obtain and use one or more of a serviced bit rate versus a target bit rate value, and a BO estimate value. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280. The BO estimate can be determined by a BO estimation method similar to those mentioned above for the streaming video class. In one aspect, the BO estimation may be based on a relative comparison between the current time and the show timestamp.

Figure 112014127886944-pat00030
협력형 특정 애플리케이션으로부터 획득된 메트릭: 평균평가점(MOS) 추정치, 분실 데이터의 시간 백분율값, 및 애플리케이션 동결의 듀레이션 또는 발생의 수량 또는 시간 백분율값, 및 목표 비트레이트.
Figure 112014127886944-pat00030
Metrics obtained from cooperative specific applications: average rating point (MOS) estimate, time percentage value of lost data, and duration of application freezing or quantity or time percentage value of occurrence, and target bit rate.

- 애플리케이션 클래스: 스트리밍 비디오-Application Class: Streaming Video

Figure 112014127886944-pat00031
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은, 예를 들어 참조에 의해 여기에 편입되어 있는 ITU Standard J.247 "Objective perceptual multimedia video quality measurement in the presence of a full reference"(이하 "사이테크닉스 모델"이라고 함)에 설명된 품질 메트릭 방법 및 기술과 같은, 대역-내 비디오 품질 메트릭 결정 방법들 중 하나 이상을 획득 및 사용할 수 있다. 다른 일 태양에 있어서, 대역-내 비디오 품질 메트릭 결정 방법은 위에서 논의된 바와 같은 BO 추정 기술에 기반할 수 있다. 품질 메트릭은 또한 스트리밍 비디오 상영의 오디오 스트림에 대해 결정될 수 있다.
Figure 112014127886944-pat00031
Quality measurement technology(s): The stream metric determination module 1230 is, for example, ITU Standard J.247 "Objective perceptual multimedia video quality measurement in the presence of a full reference" (hereinafter referred to as " One or more of the in-band video quality metric determination methods, such as the quality metric method and technique described in "Scitechnics Model") can be obtained and used. In another aspect, the method of determining the in-band video quality metric may be based on a BO estimation technique as discussed above. The quality metric can also be determined for the audio stream of a streaming video presentation.

Figure 112014127886944-pat00032
협력형 특정 애플리케이션으로부터 획득된 메트릭: 비디오 평균평가점(VMOS) 추정치, 분실 데이터의 시간 백분율값, 및 애플리케이션 동결의 듀레이션 또는 발생의 수량 또는 시간 백분율값, 및 목표 비트레이트. 부가적으로, 협력형 특정 애플리케이션은 스트리밍 비디오 상영과 연관되어 있는 오디오 스트림에 대한 품질 메트릭을 제공할 수 있다.
Figure 112014127886944-pat00032
Metrics obtained from collaborative specific applications: Video Average Point (VMOS) estimates, time percentage values of lost data, and quantity or time percentage values of duration or occurrences of application freezes, and target bit rates. Additionally, cooperative specific applications may provide quality metrics for audio streams associated with streaming video presentations.

- 애플리케이션 클래스: 양방향성 게이밍-Application Class: Interactive Gaming

Figure 112014127886944-pat00033
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 패킷 재송신 백분율값, 패킷 라운드-트립-시간값(예를 들어, SRTT), 및 HTTP 요청과 제1 HTTP 응답 간 시간값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure 112014127886944-pat00033
Quality measurement technology(s): The stream metric determination module 1230 determines one or more of a packet retransmission percentage value, a packet round-trip-time value (eg, SRTT), and a time value between the HTTP request and the first HTTP response. Can be obtained and used. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280.

Figure 112014127886944-pat00034
협력형 특정 애플리케이션으로부터 획득된 메트릭: 라운드-트립 커맨드-응답 레이턴시값.
Figure 112014127886944-pat00034
Metrics obtained from cooperative specific applications: round-trip command-response latency values.

- 애플리케이션 클래스: 브라우저 데이터-Application class: browser data

Figure 112014127886944-pat00035
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 HTTP 요청과 제1 HTTP 응답 간 시간값, 및 서비스 제공되는 평균 비트 레이트값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure 112014127886944-pat00035
Quality measurement technology(s): The stream metric determination module 1230 may acquire and use one or more of a time value between an HTTP request and a first HTTP response, and an average bit rate value provided with a service. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280.

Figure 112014127886944-pat00036
협력형 특정 애플리케이션으로부터 획득된 메트릭: 요청 사이즈에 의해 정규화(예를 들어, MB당 초)될 수 있는 사용자(또는 머신) 요청과 스크린 리프레시 간 시간값.
Figure 112014127886944-pat00036
Metrics obtained from cooperative specific applications: The time value between a user (or machine) request and a screen refresh that can be normalized (eg, seconds per MB) by request size.

- 애플리케이션 클래스: 네이티브 애플리케이션 데이터-Application class: native application data

Figure 112014127886944-pat00037
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 HTTP 요청과 제1 HTTP 응답 간 시간값, 및 서비스 제공되는 평균 비트 레이트값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure 112014127886944-pat00037
Quality measurement technology(s): The stream metric determination module 1230 may acquire and use one or more of a time value between an HTTP request and a first HTTP response, and an average bit rate value provided with a service. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280.

Figure 112014127886944-pat00038
협력형 특정 애플리케이션으로부터 획득된 메트릭: 요청 사이즈에 의해 정규화(예를 들어, MB당 초)될 수 있는 사용자(또는 머신) 요청과 스크린 리프레시 간 시간값.
Figure 112014127886944-pat00038
Metrics obtained from cooperative specific applications: The time value between a user (or machine) request and a screen refresh that can be normalized (eg, seconds per MB) by request size.

- 애플리케이션 클래스: 모름-Application Class: Unknown

Figure 112014127886944-pat00039
품질 측정 기술(들): 스트림 메트릭 결정 모듈(1230)은 HTTP 요청과 제1 HTTP 응답 간 시간값, 및 서비스 제공되는 평균 비트 레이트값 중 하나 이상을 획득 및 사용할 수 있다. 예를 들어, 이러한 정보는 스트림 검출 및 분류 모듈(1250) 및 트래픽 인터페이스 모듈(1280)의 도움으로 획득 및/또는 유도될 수 있다.
Figure 112014127886944-pat00039
Quality measurement technology(s): The stream metric determination module 1230 may acquire and use one or more of a time value between an HTTP request and a first HTTP response, and an average bit rate value provided with a service. For example, such information may be obtained and/or derived with the aid of the stream detection and classification module 1250 and the traffic interface module 1280.

Figure 112014127886944-pat00040
협력형 특정 애플리케이션으로부터 획득된 메트릭: 모름 클래스에는 적용가능하지 않음
Figure 112014127886944-pat00040
Metrics obtained from cooperative specific applications: not applicable to unknown classes

일례의 태양에 있어서, QoE 매니저 통신 모듈(1260)은, 도 10의 QoE 매니저 모듈(1020)과 같은, 네트워크 내 QoE 매니저 모듈에 보내기 위한 단말 노드 업데이트 메시지를 발생시키도록 동작할 수 있다. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 각각의 데이터 스트림과 연관된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭, 및 단말 노드 아이디 및 연관된 액세스 노드 아이디, 및 단말 노드 및 연관된 액세스 노드와 관련된 다른 정보 중 적어도 하나 이상을 포함하는 단말 노드 업데이트 메시지를 발생시킬 수 있다. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 QoE 매니저 모듈로부터 경감 명령어 메시지를 수신할 수 있고, 경감 명령어 메시지에 들어있는 경감 명령어의 구현을 도울 수 있다.In an exemplary aspect, the QoE manager communication module 1260 may operate to generate a terminal node update message for sending to a QoE manager module in the network, such as the QoE manager module 1020 of FIG. 10. In one aspect, the QoE manager communication module 1260 includes a data stream importance metric and data stream quality metric associated with each data stream, and a terminal node ID and associated access node ID, and other information related to the terminal node and associated access node. It is possible to generate a terminal node update message including at least one of. In one aspect, the QoE manager communication module 1260 may receive a mitigation command message from the QoE manager module, and may assist in implementing the mitigation command contained in the mitigation command message.

일 태양에 있어서, QoE 매니저 통신 모듈(1260)에 의해 준비된 단말 노드 업데이트 메시지는 특정 서비스 클래스(CoS) 또는 서비스 품질(QoS)의 서브세트 내에 있는 데이터 스트림에 대해서만 보내질 수 있다. 예를 들어, QoE 매니저 통신 모듈(1260)은 다음 기준 내에 있는 데이터 스트림에 대해서만 단말 노드 업데이트 메시지를 준비하고 보낼 수 있을 뿐이다: LTE QCI=6-9, 비-GBR, 최선 노력 스트림. 이러한 예는, 예를 들어 GBR 스트림을 적절히 관리할 eNB 계층2 스케줄러와 같이, 다른 자원 할당 시스템이 더 높은 중요도 스트림의 품질 보장을 맡고 있을 것이라고 상정한다.In one aspect, the terminal node update message prepared by the QoE manager communication module 1260 may be sent only for data streams within a specific class of service (CoS) or a subset of quality of service (QoS). For example, the QoE manager communication module 1260 can only prepare and send a terminal node update message for data streams within the following criteria: LTE QCI=6-9, non-GBR, best effort stream. This example assumes that other resource allocation systems will be in charge of guaranteeing the quality of the higher importance stream, such as an eNB layer 2 scheduler that will properly manage the GBR stream.

일 태양에 있어서, QoE 매니저 통신 모듈(1260)에 의해 준비된 단말 노드 업데이트 메시지는 트리거링될 때에만 보내질 수 있다. 그러한 트리거에 대한 옵션은 다음과 같다: 주기적으로; (도 10의 QoE 매니저 모듈(1020)과 같은) QoE 매니저 모듈로부터 요청 수신시에; 데이터 스트림 상태 또는 데이터 스트림 특성에서의 변화 또는 업데이트에 기반하여; 그리고 새로운 서비스 제공 액세스 노드로의 핸드오프에 기반하여. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 단말 노드 업데이트 메시지를 단말 노드의 아웃바운드 트래픽 스트림에 삽입하여 그것이 (도 10의 QoE 매니저 모듈(1020)과 같은) QoE 매니저 모듈에 포워딩하기 위한 액세스 노드에 보내지도록 트래픽 인터페이스 모듈(1280)을 이용함으로써 단말 노드 업데이트 메시지를 보낼 수 있다. 협력형 특정 애플리케이션에 관하여 위에서 논의된 것들 또는 당업계에 알려져 있는 다른 기술과 같은, 연관된 액세스 노드를 통하여 단말 노드로부터 외부 모듈로 메시지를 보내기 위한 기술이 사용될 수 있다. 일 태양에 있어서, QoE 매니저 통신 모듈(1260)은 단말 노드 업데이트 메시지를 그 전체로 보낼 수도 있고, 업데이트 정보를 분할하여 그것을 다수의 메시지로 보낼 수도 있다. 일 태양에 있어서, 단말 노드 업데이트 메시지에는, 단말 노드 또는 모든 데이터 스트림에 관련된 모든 가능한 정보라기보다는, 단말 특성 또는 데이터 스트림의 데이터 스트림 특성에서의 변화와 관련한 정보만이 들어있을 수 있다.In one aspect, the terminal node update message prepared by the QoE manager communication module 1260 may be sent only when triggered. Options for such triggers are: Periodically; Upon receiving a request from a QoE manager module (such as QoE manager module 1020 in FIG. 10); Based on changes or updates in data stream status or data stream characteristics; And based on the handoff to the new serving access node. In one aspect, the QoE manager communication module 1260 inserts the terminal node update message into the outbound traffic stream of the terminal node, so that it has access to forward it to the QoE manager module (such as the QoE manager module 1020 in FIG. 10). The terminal node update message can be sent by using the traffic interface module 1280 to be sent to the node. Techniques for sending messages from a terminal node to an external module through an associated access node, such as those discussed above with respect to cooperative specific applications or other techniques known in the art, may be used. In one aspect, the QoE manager communication module 1260 may send the terminal node update message as a whole, or may divide the update information and send it as a plurality of messages. In one aspect, the terminal node update message may contain only information related to a change in the characteristics of the data stream of the data stream or the characteristics of the terminal, rather than all possible information related to the terminal node or all data streams.

일례의 태양에 있어서, 단말 노드 업데이트 메시지는 각각의 데이터 스트림에 대하여 다음 데이터 필드 중 하나 이상을 포함할 수 있다:In an exemplary aspect, the terminal node update message may include one or more of the following data fields for each data stream:

- 데이터 필드: TerminalNodeID-Data field: TerminalNodeID

Figure 112014127886944-pat00041
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure 112014127886944-pat00041
Source: Obtained from the network stack through the terminal node interface module 1210.

Figure 112014127886944-pat00042
설명: 단말 노드에 대한 식별자.
Figure 112014127886944-pat00042
Description: The identifier for the leaf node.

Figure 112014127886944-pat00043
예: MAC 주소, IP 주소(공공인 경우), IMSI 또는 다른 고유 ID 중 하나일 수 있음.
Figure 112014127886944-pat00043
Example: May be one of the MAC address, IP address (if public), IMSI, or some other unique ID.

- 데이터 필드: AppID -Data field: AppID

Figure 112014127886944-pat00044
소스: 스트림 검출 및 분류 모듈(1250)에 의해 배정됨.
Figure 112014127886944-pat00044
Source: assigned by stream detection and classification module 1250.

Figure 112014127886944-pat00045
설명: 데이터 스트림과 연관된 특정 애플리케이션의 로컬 고유 식별자.
Figure 112014127886944-pat00045
Description: The local unique identifier of the specific application associated with the data stream.

Figure 112014127886944-pat00046
예: 특정 애플리케이션의 OS 프로세스 ID 및 타임스탬프의 n-비트 해시일 수 있음.
Figure 112014127886944-pat00046
Example: May be an n-bit hash of a specific application's OS process ID and timestamp.

- 데이터 필드: StreamID-Data field: StreamID

Figure 112014127886944-pat00047
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure 112014127886944-pat00047
Source: Obtained from the network stack through the terminal node interface module 1210.

Figure 112014127886944-pat00048
설명: 데이터 스트림의 식별자. 5-투플 정보(IP 소스, IP 수신지, 포트 소스, 포트 수신지, 프로토콜)의 n-비트 해시일 수 있음. 이 데이터 필드는 그것이 스트림 분류 데이터 필드에 대해 리던던트로 생각될 수 있기 때문에 옵션일 수 있다.
Figure 112014127886944-pat00048
Description: The identifier of the data stream. May be an n-bit hash of 5-tuple information (IP source, IP destination, port source, port destination, protocol). This data field can be optional because it can be thought of as redundant for the stream classification data field.

- 데이터 필드: StreamClassification-Data field: StreamClassification

Figure 112014127886944-pat00049
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure 112014127886944-pat00049
Source: Obtained from the network stack through the terminal node interface module 1210.

Figure 112014127886944-pat00050
설명: 이것은 데이터 패킷을 특정 데이터 스트림에 연관시키기 위해 패킷 검사를 수행하도록 QoE 매니저 모듈에 정보를 제공한다. 이 데이터 필드는 데이터 스트림의 5-투플 정보(IP 소스 주소, IP 수신지 주소, IP 소스 포트, IP 수신지 포트, 프로토콜)의 연접일 수 있다.
Figure 112014127886944-pat00050
Description: This provides information to the QoE manager module to perform packet inspection to associate data packets with specific data streams. This data field may be a concatenation of 5-tuple information (IP source address, IP destination address, IP source port, IP destination port, protocol) of the data stream.

- 데이터 필드: Cell_ID-Data field: Cell_ID

Figure 112014127886944-pat00051
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure 112014127886944-pat00051
Source: Obtained from the network stack through the terminal node interface module 1210.

Figure 112014127886944-pat00052
설명: 단말 노드와 연관된 액세스 노드의 식별자.
Figure 112014127886944-pat00052
Description: The identifier of the access node associated with the terminal node.

Figure 112014127886944-pat00053
예: 이 데이터 필드는 예를 들어 LTE eNB에 대한 글로벌 셀 ID일 수 있다.
Figure 112014127886944-pat00053
Example: This data field may be, for example, a global cell ID for an LTE eNB.

- 데이터 필드: 데이터 스트림 중요도 메트릭-Data field: Data stream importance metric

Figure 112014127886944-pat00054
소스: 스트림 메트릭 결정 모듈(1230)에 의해 결정됨.
Figure 112014127886944-pat00054
Source: Determined by the stream metric determination module 1230.

Figure 112014127886944-pat00055
설명: (위에서 설명된) 데이터 스트림에 대한 중요도 표시자. 이 데이터 필드는 데이터 스트림 중요도 메트릭의 계산에서 사용되는 메트릭 중 하나 이상에 의해 대신 교체되어 그로써 QoE 매니저 모듈이 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 자체 컴퓨팅 가능하게 할 수 있다.
Figure 112014127886944-pat00055
Description: An indicator of importance for the data stream (described above). This data field is instead replaced by one or more of the metrics used in the calculation of the data stream importance metric, thereby enabling the QoE manager module to self-compute the data stream importance metric for the data stream.

Figure 112014127886944-pat00056
예: 이 데이터 필드는 4 비트값일 수 있다.
Figure 112014127886944-pat00056
Example: This data field can be a 4-bit value.

- 데이터 필드: 데이터 스트림 품질 메트릭-Data field: data stream quality metric

Figure 112014127886944-pat00057
소스: 스트림 메트릭 결정 모듈(1230)에 의해 결정됨.
Figure 112014127886944-pat00057
Source: Determined by the stream metric determination module 1230.

Figure 112014127886944-pat00058
설명: (위에서 설명된) 데이터 스트림에 대한 품질 표시자. 이 데이터 필드는 데이터 스트림 품질 메트릭의 계산에서 사용되는 메트릭 중 하나 이상에 의해 대신 교체되어 그로써 QoE 매니저 모듈이 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 자체 컴퓨팅 가능하게 할 수 있다.
Figure 112014127886944-pat00058
Description: A quality indicator for the data stream (described above). This data field is instead replaced by one or more of the metrics used in the calculation of the data stream quality metric, thereby enabling the QoE manager module to self-compute the data stream quality metric for the data stream.

Figure 112014127886944-pat00059
예: 이 데이터 필드는 4 비트값일 수 있다.
Figure 112014127886944-pat00059
Example: This data field can be a 4-bit value.

- 데이트 필드: 핸드오버 메트릭-Date field: Handover metric

Figure 112014127886944-pat00060
소스: 단말 노드 인터페이스 모듈(1210)을 통하여 네트워크 스택으로부터 획득됨.
Figure 112014127886944-pat00060
Source: Obtained from the network stack through the terminal node interface module 1210.

Figure 112014127886944-pat00061
설명: 단말 노드가 어느 다른 액세스 노드로 핸드오버 되었음의 표시. 이 데이터 필드는 연관된 데이터 스트림을 새로운 셀(액세스 노드)에 리-매핑하도록 QoE 매니저 모듈에 의해 사용될 수 있다. 일 태양에 있어서, 이 데이터 필드는 단말 노드 인터페이스 모듈(1210)에 의해 새로운 Cell_ID(액세스 노드)의 검출에 뒤이어 제1 단말 노드 업데이트 메시지에서 보내진다.
Figure 112014127886944-pat00061
Description: An indication that the leaf node has been handed over to some other access node. This data field can be used by the QoE manager module to re-map the associated data stream to a new cell (access node). In one aspect, this data field is sent in the first terminal node update message following detection of a new Cell_ID (access node) by the terminal node interface module 1210.

Figure 112014127886944-pat00062
예: 이 데이터 필드는 1 비트값일 수 있다.
Figure 112014127886944-pat00062
Example: This data field can be a 1-bit value.

일례의 태양에 있어서, QoE 응답 모듈(1270)은, 도 10의 QoE 매니저 모듈(1020)과 같은 네트워크 내 QoE 매니저 모듈로부터, 하나 이상의 데이터 스트림과 연관되어 단말 노드에서 실행될 경감 명령어가 들어있는 QoE 경감 명령어 메시지를 수신하도록 동작할 수 있다. 일 태양에 있어서, QoE 응답 모듈(1270)은 하나 이상의 데이터 스트림과 연관되어 있는 경감 명령어를 실행하도록 동작할 수 있다. 그러한 경감 명령어는, 예를 들어, 특정 애플리케이션과 연관된 데이터 패킷을 지연 또는 폐기하도록 트래픽 인터페이스 모듈(1280)과 조정하는 것, 및 특정 애플리케이션의 동작을 종료 또는 그렇지 않으면 조절하도록 단말 노드 인터페이스 모듈(1210)과 조정하는 것을 포함할 수 있다. In an exemplary aspect, the QoE response module 1270, from a QoE manager module in the network, such as the QoE manager module 1020 of FIG. 10, is associated with one or more data streams and contains a QoE mitigation command to be executed in a terminal node. It may be operable to receive a command message. In one aspect, the QoE response module 1270 may be operable to execute mitigation instructions associated with one or more data streams. Such mitigation instructions may include, for example, coordinating with the traffic interface module 1280 to delay or discard data packets associated with a particular application, and the terminal node interface module 1210 to terminate or otherwise adjust the operation of the particular application. And coordination.

일 태양에 있어서, 트래픽 인터페이스 모듈(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 매니저 모듈 내/외로 통신할 수 있다.In one aspect, the traffic interface module 1280 monitors and/or accesses data packets, such as at any point between the IP and TCP layers, or for example between the TCP and HTTP layers. Acts as an interface. Data packets monitored by traffic interface module 1280 may then be inspected by stream detection and classification module 1250. In one aspect, the traffic interface module 1280 may also be operable to insert a message provided from the QoE manager communication module 1260, such as a terminal node update message, into the user plane traffic of the terminal node. Traffic interface module 1280 may also operate to perform or assist in implementing mitigation options as indicated by QoE response module 1270. For example, the traffic interface module 1280 may delay a data packet of a data stream so as not to reach a specific application associated with it, or may discard a data packet of a data stream associated with a specific application. The traffic interface module 1280 may also use the method described above with respect to FIGS. 1 to 9 or other known methods, such as the QoE manager module 1020 of FIG. It can act to communicate outside. For example, the traffic interface module 1280 may communicate in/out of the QoE manager module in the network using a TCP/IP socket, a remote procedure call, or other known communication technology.

일례의 태양에 있어서, 다른 로직 모듈(1240)은 마스터 애플리케이션 모듈(1200) 내 다른 모듈이 여기서 설명된 바와 같은 그들 기능 및 통신을 실행하는 것을 돕는데 필요한 로직 및 기능성을 포함할 수 있다.In an exemplary aspect, other logic modules 1240 may include the logic and functionality necessary to help other modules in master application module 1200 execute their functions and communications as described herein.

위에서 언급된 바와 같이, 일례의 태양에 있어서 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-게이트웨이 사이에 위치하고 있을 수 있다.As mentioned above, in an exemplary aspect, the QoE manager module collects data stream information from various terminal nodes associated with a plurality of access nodes in the network environment, and then uses the collected information to perform mitigation actions in each cell. Determine if one or more of the data streams are required to maintain or increase the overall perceived quality metric for In one aspect, the QoE manager module is operative to maintain or increase the overall perceived quality metric for all or part of the data stream associated with the access node. In one aspect, the QoE manager module maps each data stream to a cell, calculates a comprehensive cell-wide quality metric (CQM) for each cell, and determines whether a mitigation action is required for the data stream in any of the cells. Determine and use the collected data stream information to initiate mitigation actions, whether locally or by sending commands to the appropriate terminal node(s). The QoE manager module may be implemented in its own dedicated network node like the QoE manager module 1020 of FIG. 10, and its functionality is, for example, the P-gateway 1030 and the S-gateway 1040 of FIG. , MME 1060 and access node 1050, may be implemented in one or more network nodes that are also configured to perform other network functions. The QoE manager module may be located at a predetermined point in a network environment through which all data streams providing services to a specific cell will pass. For example, in an LTE network environment, the QoE manager module may be located between the P-gateway and the Internet when the LTE network operator uses a single PDN. In another example, in an LTE network environment, the QoE manager module may be located between the P-gateway and the S-gateway.

대안의 태양에 있어서, QoE 매니저 모듈은 소망 데이터 스트림 서브세트가 통과할 소정 포인트에 위치하고 있을 수 있다. 예를 들어, LTE 네트워크 환경에 있어서, QoE 매니저 모듈은 멀티-PDN 네트워크에서 최선 노력 (통신사 후원 없는) 데이터 트래픽을 서비스 제공하고 있는 하나의 P-게이트웨이와 인터넷 사이에 위치하고 있을 수 있다. 그러한 일례에 있어서, 시스템은 예를 들어 최선 노력, QCI=9 데이터 스트림 트래픽일 수 있는, 하나의 P-게이트웨이를 통과하는 그들 데이터 스트림을 관리하는 것으로 한정된다. 위에서 언급된 바와 같이, QoE 매니저 모듈 기능은, 경감 모듈 및 트래픽 인터페이스 모듈(1280)을 제외하고는, 위에서 설명된 네트워크 위치 포인트 중 하나에 위치할 필요가 있는 인터넷 상 어디에라도 클라우드-기반 방식으로 분산될 수 있다. 대안의 태양에 있어서, 클라우드-기반 QoE 매니저는, 예를 들어 각각의 데이터 스트림에 MBR을 적용하는 eNB, PCEF 또는 P-게이트웨이와 같이, 데이터 스트림 트래픽 그루밍 및/또는 폴리싱을 할 수 있는 기존 네트워크 기반구조 노드에 정책 변화를 통신할 수 있다.In an alternative aspect, the QoE manager module may be located at a certain point through which the desired subset of data streams will pass. For example, in an LTE network environment, the QoE manager module may be located between the Internet and one P-gateway providing best effort (without telecommunications company sponsorship) data traffic service in a multi-PDN network. In such an example, the system is limited to managing those data streams passing through one P-gateway, which may be, for example, best effort, QCI=9 data stream traffic. As mentioned above, the QoE manager module function is distributed in a cloud-based manner anywhere on the Internet that needs to be located at one of the network location points described above, except for the mitigation module and the traffic interface module 1280. Can be. In an alternative aspect, the cloud-based QoE manager is based on an existing network capable of grooming and/or policing data stream traffic, such as an eNB, PCEF or P-gateway that applies MBR to each data stream. Policy changes can be communicated to the rescue node.

도 13은 본 발명의 태양에 따른 체감 품질(QoE) 매니저 모듈의 블록 선도이다. 일례의 태양에 있어서, 도 13의 체감 품질(QoE) 매니저 모듈(1300)은, 국한되는 것은 아니지만, 트래픽 인터페이스 모듈(1370), 매퍼 모듈(1310), 메트릭 결정 모듈(1320), 다른 로직 모듈(1330), 업데이트 수신 모듈(1340), 경감 모듈(1350) 및 통신 모듈(1360)을 포함하는 수개의 모듈을 포함한다.13 is a block diagram of a Quality of Experience (QoE) manager module according to an aspect of the present invention. In an exemplary aspect, the quality of experience (QoE) manager module 1300 of FIG. 13 is, but is not limited to, a traffic interface module 1370, a mapper module 1310, a metric determination module 1320, and another logic module ( 1330), an update receiving module 1340, a mitigation module 1350, and a communication module 1360.

일례의 태양에 있어서, 트래픽 인터페이스 모듈(1370)은, 예를 들어 컨텐트 서버(1010)와 UE1(1071)과 UE2(1071) 중 하나 이상 간 데이터 트래픽과 같은, 네트워크 환경 내 데이터 스트림 트래픽을 모니터링, 복사, 지연 및/또는 폐기할 수 있는 대역-내, 사용자 플레인 트래픽 인터페이스이다. 일 태양에 있어서, 트래픽 인터페이스 모듈(1370)은, 업데이트 수신 모듈(1340)에 의한 사용을 위해, 네트워크 환경 내 단말 노드로부터 그것에 보내지는 단말 노드 업데이트 메시지를 식별 및 수신하도록 데이터 트래픽을 모니터링할 수 있다. 트래픽 인터페이스 모듈(1370)은 또한, 데이터 스트림의 데이터 패킷의 지연 또는 폐기와 같이, 메트릭 결정 모듈(1320) 및 경감 모듈(1350)에 의해 지시된 바와 같이 하나 이상의 데이터 스트림 상에 경감 액션을 지원할 수 있다. 트래픽 인터페이스 모듈(1370)은 또한, 하나 이상의 데이터 스트림에 대항하여 로컬 경감 액션을 취하도록 각각의 단말 노드에 명령하는 경감 명령어 메시지와 같이, 통신 모듈(1360)로부터 보내지는 네트워크 트래픽 흐름에 메시지를 삽입함으로써 경감 액션을 지원할 수 있다. 트래픽 인터페이스 모듈(1370)은 또한, 예를 들어 위에서 논의된 바와 같은 협력형 애플리케이션 통신 기술에 의해서 또는 다른 기지의 통신 방법에 의해서와 같이, 단말 노드 내외로의 통신을 용이하게 하고 지원할 수 있다.In an exemplary aspect, the traffic interface module 1370 monitors data stream traffic in the network environment, such as data traffic between the content server 1010 and one or more of UE1 1071 and UE2 1071, It is an in-band, user plane traffic interface that can be copied, delayed and/or discarded. In one aspect, the traffic interface module 1370 may monitor data traffic to identify and receive a terminal node update message sent to it from a terminal node in the network environment, for use by the update receiving module 1340 . The traffic interface module 1370 may also support mitigation actions on one or more data streams as indicated by the metric determination module 1320 and the mitigation module 1350, such as delaying or discarding data packets of the data stream. have. The traffic interface module 1370 also inserts a message into the network traffic flow sent from the communication module 1360, such as a mitigation command message instructing each terminal node to take a local mitigation action against one or more data streams. By doing so, it is possible to support the mitigation action. The traffic interface module 1370 may also facilitate and support communication in and out of the terminal node, such as by cooperative application communication technology as discussed above or by other known communication methods.

일례의 태양에 있어서, 업데이트 수신 모듈(1340)은 트래픽 인터페이스 모듈(1370)로부터 그것에 보내지는 단말 노드 업데이트 메시지를 수신하고 그 후 각각의 수신된 단말 노드 업데이트 메시지에 들어있는 정보가 QoE 매니저 모듈(1300) 내 다른 모듈에 의해 사용될 수 있도록 각각의 수신된 단말 노드 업데이트 메시지를 파싱할 수 있다.In an exemplary aspect, the update receiving module 1340 receives a terminal node update message sent to it from the traffic interface module 1370, and thereafter, information contained in each of the received terminal node update messages is stored in the QoE manager module 1300. ) Each received terminal node update message can be parsed so that it can be used by other modules within.

일례의 태양에 있어서, 매퍼 모듈(1310)은 업데이트 수신 모듈(1340)로부터 매퍼 모듈(1310)에 보내지는 각각의 수신된 단말 노드 업데이트 메시지에 들어있는 정보에 기반하여 그 대응하는 셀 또는 액세스 노드로의 각각의 데이터 스트림의 관계형 매핑을 업데이트 및 유지할 수 있다. 일 태양에 있어서, 액세스 노드는, 예를 들어 라우터와 같이, 단말 노드 내/외로 데이터 스트림 트래픽이 통과하는 네트워크 내 다른 유형의 노드일 수 있다. 일 태양에 있어서, 매퍼 모듈(1310)은 그 연관된 셀 또는 액세스 노드와 각각의 데이터 스트림의 관계 매핑을 발생, 업데이트 및 유지하도록 단말 노드 업데이트 메시지 내 각각의 데이터 스트림에 대한 cell_ID 데이터 필드를 이용할 수 있다. 매퍼 모듈(1310)은 또한 그 연관된 단말 노드와 각각의 데이터 스트림의 그리고 단말 노드에서 동작하고 있는 그 연관된 특정 애플리케이션과 각각의 데이터 스트림의 관계 매핑을 발생, 업데이트 및 유지할 수 있다. 이들 관계는 단말 노드 업데이트 메시지에 들어있는 정보로부터 결정 및 유도될 수 있다. 매퍼 모듈(1310)은 테이블, 스프레드시트, SQL 데이터베이스 등의 데이터베이스와 같은 데이터 파일에 매핑 정보의 저장, 또는 포인터, 링크된 리스트, 데이터베이스 질의와 같은 논리 매핑, 또는 다른 기지의 데이터 매핑 방법을 제어하고 용이하게 할 수 있다. 일 태양에 있어서, 매퍼 모듈(1310)은 새로운 단말 노드 업데이트 메시지가 업데이트 수신 모듈(1340)에 의해 수신됨에 따라 매핑 정보를 업데이트하고 그로써, 예를 들어 단말 노드 업데이트 메시지 내 핸드오버 메트릭 데이터 필드에 의해서와 같이, 새롭게 수신된 단말 노드 업데이트 메시지 중 하나 이상에 단말 노드 핸드오버가 표시될 때 데이터 스트림 대 셀 매핑을 업데이트할 것이다. 일 태양에 있어서, 매퍼 모듈(1310)은 모든 수신된 단말 노드 업데이트 메시지마다로부터 cell_ID 데이터 필드를 체크하여 cell_ID가 terminal_ID에 대해 변화되었는지 결정하고, 그로써 단말 노드가 핸드오버를 통해 다른 셀로 갔음을 나타낸다.In an exemplary aspect, the mapper module 1310 is sent to the corresponding cell or access node based on information contained in each received terminal node update message sent from the update receiving module 1340 to the mapper module 1310. It is possible to update and maintain the relational mapping of each data stream of. In one aspect, the access node may be another type of node in the network through which data stream traffic passes in/out of the terminal node, such as, for example, a router. In one aspect, the mapper module 1310 may use the cell_ID data field for each data stream in the terminal node update message to generate, update, and maintain the relationship mapping between the associated cell or access node and each data stream. . The mapper module 1310 may also generate, update, and maintain a relationship mapping of each data stream with its associated terminal node and each data stream and with its associated specific application running on the terminal node. These relationships can be determined and derived from information contained in the terminal node update message. The mapper module 1310 controls the storage of mapping information in a data file such as a database such as a table, a spreadsheet, or a SQL database, or a logical mapping such as a pointer, a linked list, or a database query, or another known data mapping method. You can do it easily. In one aspect, the mapper module 1310 updates the mapping information as a new terminal node update message is received by the update receiving module 1340 and thereby, for example, by a handover metric data field in the terminal node update message. As described above, when a terminal node handover is indicated in one or more of the newly received terminal node update messages, the data stream-to-cell mapping will be updated. In one aspect, the mapper module 1310 checks the cell_ID data field from every received terminal node update message to determine whether the cell_ID has changed for terminal_ID, thereby indicating that the terminal node has gone to another cell through handover.

일례의 태양에 있어서, 메트릭 결정 모듈(1320)은 액세스 노드와 연관되어 있는 단말 노드 업데이트 메시지로부터의 보고된 데이터 스트림 전부 또는 일부에 기반하여 종합적 품질 메트릭값을 결정한다. 일 태양에 있어서, 종합적 품질 메트릭값은 액세스 노드의 셀과 연관된 보고된 데이터 스트림 전부에 기반할 수 있다. 일 태양에 있어서, 메트릭 결정 모듈(1320)은 각각의 셀에 대한 종합적 품질 메트릭값의 결정에서 사용하기 위해, 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭과 같이, 업데이트 수신 모듈(1340)에 의해 제공된 단말 노드 업데이트 메시지 정보 및 "데이터 스트림 대 액세스 노드" 매핑 정보를 수신 또는 액세스한다. 종합적 품질 메트릭값은 특정 액세스 노드와 연관된 데이터 스트림 전부 또는 일부에 대한 데이터 스트림 품질 메트릭의 평균값 또는 중앙값으로서 결정될 수 있다. 일 태양에 있어서, 종합적 품질 메트릭값은, 예를 들어, QCI=9를 갖는 것들과 같이 최선 노력 커넥션과 연관되어 있는 데이터 스트림에 대해서만과 같이, 액세스 노드의 특정 셀과 연관된 모든 데이터 스트림의 서브세트에 대해서만 결정될 수 있다.In an exemplary aspect, the metric determination module 1320 determines an aggregate quality metric value based on all or part of the reported data stream from the terminal node update message associated with the access node. In one aspect, the overall quality metric value may be based on all of the reported data streams associated with the cell of the access node. In one aspect, the metric determination module 1320 is provided by the update receiving module 1340, such as the data stream quality metric for each data stream, for use in the determination of the overall quality metric value for each cell. Receive or access terminal node update message information and "data stream to access node" mapping information. The overall quality metric value may be determined as an average or median value of the data stream quality metric for all or part of the data stream associated with a particular access node. In one aspect, the aggregate quality metric value is a subset of all data streams associated with a particular cell of the access node, e.g., only for data streams associated with best effort connections, such as those with QCI=9. Can only be determined for

일 태양에 있어서, 종합적 품질 메트릭값은 종합적 품질 메트릭값의 결정에서 사용되는 각각의 데이터 스트림과 연관되어 있는 데이터 스트림 중요도 메트릭, 서비스 품질(QoS)값 또는 서비스 레벨 협약(SLA)값에 기반하여 수정 또는 조절될 수 있다. 예를 들어, SLA값, QoS값 또는 데이터 스트림 중요도 메트릭은 단말 노드 업데이트 메시지 내 각각의 데이터 스트림과 연관된 데이터 필드로서 제공될 수 있고, 그 후 종합적 품질 메트릭값 결정에서 각각의 데이터 스트림의 데이터 스트림 품질 메트릭에 가중치가 적용될 수 있는데, 여기서 가중치는 데이터 스트림에 대한 데이터 스트림 중요도 메트릭, QoS값 또는 SLA값에 기반한다. 이러한 방식으로, 골드 SLA와 같이 높은 SLA 사용자의 중요도는 결정된 종합적 품질 메트릭값을 더 심하게 가중할 것이고, 결정된 높은 SLA 사용자가 낮은 데이터 스트림 품질 메트릭을 체감하고 있으면 그때 그것은 더 영향을 미쳐 더 낮은 종합적 품질 메트릭값의 결과를 초래하여 그 후 경감 액션의 결과를 초래할 수 있을 것이다. 일 태양에 있어서, 각각의 액세스 노드에 대한 종합적 품질 메트릭값 결정은, 슬라이딩 타임 윈도우에 걸쳐 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 평균함으로써와 같이, 소정 시간 듀레이션에 걸쳐 결정될 수 있다. 일 태양에 있어서, 종합적 품질 메트릭값은 주기적 단위로 결정될 수도 있고, 각각의 단말 노드 업데이트 메시지의 수신시 결정될 수도 있다. 일 태양에 있어서, 종합적 품질 메트릭값은 예를 들어 3개의 단말 노드 업데이트 메시지와 같이 최소 수의 단말 노드 업데이트 메시지의 수신 후에, 그리고/또는 예를 들어 5초와 같이 마지막 결정 이후 최소 시간 기간이 경과한 후에 결정될 수 있다. 일 태양에 있어서, 종합적 품질 메트릭값 결정은 QoE 매니저 모듈에 의해 또는 연관된 단말 노드에 의해 경감 옵션의 구현을 통하여 의도적으로 저하되고 있는 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 배제할 수 있다.In one aspect, the comprehensive quality metric value is modified based on the data stream importance metric, quality of service (QoS) value, or service level agreement (SLA) value associated with each data stream used in the determination of the overall quality metric value. Or can be adjusted. For example, the SLA value, QoS value, or data stream importance metric may be provided as a data field associated with each data stream in the terminal node update message, and then the data stream quality of each data stream in the overall quality metric value determination. A weight may be applied to the metric, where the weight is based on a data stream importance metric, QoS value, or SLA value for the data stream. In this way, the importance of high SLA users, such as Gold SLA, will weight the determined overall quality metric more severely, and if the determined high SLA user is experiencing a low data stream quality metric then it will have more impact and lower overall quality. It may result in a metric value and then result in a mitigation action. In one aspect, the determination of the overall quality metric value for each access node may be determined over a period of time, such as by averaging the data stream quality metric for each data stream over a sliding time window. In one aspect, the overall quality metric value may be determined on a periodic basis, or may be determined upon receipt of each terminal node update message. In one aspect, the overall quality metric value is, for example, after the reception of a minimum number of terminal node update messages, such as 3 terminal node update messages, and/or a minimum time period elapsed since the last decision, such as 5 seconds. It can be decided after doing. In one aspect, the determination of the overall quality metric value may exclude a data stream quality metric for a data stream that is intentionally degrading through the implementation of a mitigation option by a QoE manager module or by an associated terminal node.

일 태양에 있어서, 메트릭 결정 모듈(1320)은 또한 종합적 품질이 소망 레벨 아래에 있는지 결정하도록 각각의 결정된 종합적 품질 메트릭값을 임계값에 비교할 수 있다. 각각의 데이터 스트림 그룹, 셀 또는 액세스 노드에 대한 임계값은, 예를 들어, 연관된 데이터 스트림의 유형에 기반하여, 동일할 수도 있고 다를 수도 있다. 일 태양에서는, 임계값(QMV_thresh)이 확립되고, 종합적 품질 메트릭값이 QMV_thresh 아래로 떨어지면, 타이머(T)가 시작되고 그 셀에 대해 경감이 개시된다. 그 후, 종합적 품질 메트릭값이 QMV_thresh 위로 올라가면, 타이머(T)가 리셋되고 셀에 대한 경감이 종료된다. 임계값 체크는 경감 액션을 취하기 전에 종합적 품질 메트릭값이 임계값 아래이어야 하는 (T를 사용하는) 최소 듀레이션(To)을 더 포함할 수 있고 또한 종합적 품질 메트릭값의 히스테리시스를 포함할 수 있다. 당업자는, 임계값에 종합적 품질 메트릭값 저하값의 비교, 또는 종합적 품질 메트릭값과 하나 이상의 경감 액션 간 매핑의 사용과 같이, 경감 액션이 소망된다고 결정하도록 다른 기지의 방법 및 기술을 어떻게 사용할지 알고 있을 것이다.In one aspect, the metric determination module 1320 may also compare each determined overall quality metric value to a threshold to determine if the overall quality is below a desired level. The threshold for each data stream group, cell or access node may be the same or different, eg, based on the type of data stream associated with it. In one aspect, a threshold value QMV_thresh is established, and when the overall quality metric value falls below QMV_thresh, a timer T is started and mitigation is initiated for that cell. Thereafter, when the overall quality metric value rises above QMV_thresh, the timer T is reset and the mitigation for the cell is ended. The threshold check may further include a minimum duration To (using T) that the overall quality metric value must be below the threshold value before taking the mitigation action, and may also include a hysteresis of the overall quality metric value. Those skilled in the art know how to use other known methods and techniques to determine that a mitigation action is desired, such as comparison of the overall quality metric value to a threshold value, or the use of a mapping between the overall quality metric value and one or more mitigation actions. There will be.

일 태양에 있어서, 경감 모듈(1350)은 데이터 스트림과 연관된 종합적 품질 메트릭값이 소망 레벨 아래에 있다는 메트릭 결정 모듈(1320)로부터의 표시에 기반하여 하나 이상의 데이터 스트림에 액션을 적용하기 위해 복수의 경감 옵션 중으로부터 경감 옵션을 결정하도록 동작할 수 있다. 복수의 경감 옵션 중으로부터 선택하는 것에 부가하여, 경감 모듈(1350)은 또한 경감 옵션이 적용되어야 하는 경감 레벨을 나타낼 수 있다. 예를 들어, 데이터 패킷을 폐기하는 경감 옵션에 대하여, 연관된 경감 레벨은 폐기 데이터 패킷 옵션을 적용할 시간 듀레이션, 폐기 데이터 패킷 옵션을 적용할 데이터 스트림 수, 및 데이터 패킷 폐기 레이트 중 하나 이상일 수 있다. 일 태양에 있어서, 경감 옵션의 선택은 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션의 함수일 수도 있고 그리고/또는 종합적 품질 메트릭값의 값의 함수일 수도 있다.In one aspect, the mitigation module 1350 is configured to apply an action to one or more data streams based on an indication from the metric determination module 1320 that the overall quality metric value associated with the data stream is below the desired level. It can act to determine the mitigation option from among the options. In addition to selecting from among a plurality of mitigation options, the mitigation module 1350 may also indicate the mitigation level to which the mitigation option should be applied. For example, for the mitigation option for discarding data packets, the associated mitigation level may be one or more of a time duration to apply the discard data packet option, the number of data streams to apply the discard data packet option, and a data packet discard rate. In one aspect, the selection of the mitigation option may be a function of the time duration in which the overall quality metric value is below a threshold and/or may be a function of the value of the overall quality metric value.

복수의 경감 옵션은, 예를 들어 트래픽 인터페이스 모듈(1370)에 의한 데이터 패킷 지연 및/또는 폐기와 같이, QoE 매니저 모듈(1300)에서의 기술 및/또는 프로시저의 로컬 구현을 수반할 수도 있고, 예를 들어 데이터 스트림(들)과 연관된 특정 애플리케이션의 종료와 같이, 데이터 스트림(들)과 연관된 단말 노드에서의 기술 및/또는 프로시저의 구현을 수반할 수도 있다. 이에 관하여, 경감 모듈(1350)은 단말 노드에서 하나 이상의 데이터 스트림에 적용될 경감 옵션 및 옵션으로서는 경감 레벨을 포함하는 경감 명령어 메시지를 적합한 단말 노드(들)에 보낼 수 있다. 일 태양에 있어서, 경감 옵션 중 하나는 셀에서 어떠한 경감 액션도 취하지 않는 것 및 그 셀에 대한 종합적 품질 메트릭값을 계속 모니터링하는 것이다.The plurality of mitigation options may involve local implementation of techniques and/or procedures in the QoE manager module 1300, such as, for example, delaying and/or discarding data packets by the traffic interface module 1370, and It may involve implementation of techniques and/or procedures in the terminal node associated with the data stream(s), for example termination of a particular application associated with the data stream(s). In this regard, the mitigation module 1350 may send a mitigation command message including a mitigation option to be applied to one or more data streams in the terminal node and an mitigation level as an option to a suitable terminal node(s). In one aspect, one of the mitigation options is to take no mitigation action on the cell and continue to monitor the overall quality metric value for that cell.

일 태양에 있어서, 경감 모듈(1350)에 의한 선택을 위한 복수의 경감 옵션은 다수 티어의 경감 액션으로 이루어질 수 있다. 예를 들어, 경감 옵션은, 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션이 증가함에 따라 더 강한 경감 액션을 갖는 각각의 티어와 같이, 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션에 기반하여 여러 다른 티어의 경감 액션으로 배열될 수 있다. 유사하게, 경감 옵션은, 종합적 품질 메트릭값이 임계값 더 아래로 됨에 따라 더 강한 경감 액션을 갖는 각각의 티어와 같이, 종합적 품질 메트릭값의 값에 기반하여 여러 다른 티어의 경감 액션으로 배열될 수 있다. 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션(T)에 기반하여 3개 티어의 경감 옵션을 보여주는 일례의 태양이 아래에 설명된다; 그렇지만 그보다는 경감 옵션 티어는 현재 종합적 품질 메트릭값에 기반할 수도 있고 T와 종합적 품질 메트릭값(QMV) 둘 다의 조합에 기반할 수도 있음을 유념한다.In one aspect, multiple mitigation options for selection by mitigation module 1350 may consist of multiple tiers of mitigation actions. For example, the mitigation options may be based on the time duration at which the overall quality metric is below the threshold, such as each tier with a stronger mitigation action as the time duration for which the overall quality metric is below the threshold increases. It can be arranged in different tiers of mitigation actions. Similarly, mitigation options can be arranged with mitigation actions of different tiers based on the value of the overall quality metric, such as each tier with a stronger mitigation action as the overall quality metric goes further below the threshold. have. An example aspect showing three tiers of mitigation options based on a time duration (T) where the overall quality metric is below a threshold is described below; Rather, note that the mitigation option tier may be based on the current overall quality metric value or a combination of both T and the overall quality metric (QMV).

- 경감 티어: 라이트-Reduction Tier: Light

Figure 112014127886944-pat00063
임계값 아래 시간 QMV: 5초 미만
Figure 112014127886944-pat00063
Time QMV below threshold: less than 5 seconds

Figure 112014127886944-pat00064
QoE 매니저 모듈에서의 경감 옵션: (1) 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 데이터 스트림으로 시작하여, 데이터 스트림의 서브세트 상에 데이터 패킷 지연 및/또는 폐기를 구현한다; (2) 가장 낮은 데이터 스트림 중요도 메트릭으로 시작하여, 데이터 스트림의 서브세트에 대해 업링크 확인응답(ACK) 지연 및/또는 폐기를 구현한다.
Figure 112014127886944-pat00064
Mitigation options in the QoE manager module: (1) Implement data packet delay and/or discard on a subset of the data stream, starting with the data stream with the lowest data stream importance metric; (2) Starting with the lowest data stream importance metric, implement uplink acknowledgment (ACK) delay and/or discard for a subset of the data stream.

Figure 112014127886944-pat00065
단말 노드에서의 경감 옵션: (1) 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 데이터 스트림으로 시작하여, 데이터 스트림의 서브세트 상에 데이터 패킷 지연 및/또는 폐기를 구현한다; (2) 가장 낮은 데이터 스트림 중요도 메트릭으로 시작하여, 데이터 스트림의 서브세트에 대해 업링크 확인응답(ACK) 지연 및/또는 폐기를 구현한다.
Figure 112014127886944-pat00065
Mitigation options at the terminal node: (1) Implement data packet delay and/or discard on a subset of the data stream, starting with the data stream with the lowest data stream importance metric; (2) Starting with the lowest data stream importance metric, implement uplink acknowledgment (ACK) delay and/or discard for a subset of the data stream.

- 경감 티어: 미디움-Reduction Tier: Medium

Figure 112014127886944-pat00066
임계값 아래 시간 QMV: 5초와 20초 사이
Figure 112014127886944-pat00066
Time below threshold QMV: between 5 and 20 seconds

Figure 112014127886944-pat00067
QoE 매니저 모듈에서의 경감 옵션: "라이트" 경감 티어와 동일하다, 더하여 (3) 단말 노드 업데이트 메시지에 들어있는 부가적 데이터 스트림 정보에 기반하여, 단말 노드 내 새로 론칭된 특정 애플리케이션과 같이, 특정 애플리케이션과 연관된 새로운 데이터 스트림의 개시 요청의 지연 및/또는 폐기를 구현한다.
Figure 112014127886944-pat00067
Mitigation options in the QoE manager module: Same as the "light" mitigation tier, in addition (3) Based on the additional data stream information contained in the terminal node update message, a specific application, such as a newly launched specific application in the terminal node Implement a delay and/or discard of a request to initiate a new data stream associated with it.

Figure 112014127886944-pat00068
단말 노드에서의 경감 옵션: "라이트" 경감 티어와 동일하다, 더하여 (3) 단말 노드 내 새로 론칭된 특정 애플리케이션과 같이, 특정 애플리케이션과 연관된 새로운 데이터 스트림의 개시 요청의 지연 및/또는 폐기를 구현한다. 일 태양에 있어서, 협력형 특정 애플리케이션은 새로운 데이터 스트림에 대한 그 요청이 거부된다고 명령받을 수 있고, 새로운 데이터 스트림에 대한 어떠한 요청도 개시하지 않도록 명령받을 수 있다.
Figure 112014127886944-pat00068
Mitigation options at the terminal node: Same as the "light" mitigation tier, in addition (3) Implement delay and/or discard the request to initiate a new data stream associated with a specific application, such as a newly launched specific application within the terminal node. . In one aspect, a cooperative specific application may be instructed that the request for a new data stream is denied and may be instructed not to initiate any request for a new data stream.

- 경감 티어: 헤비-Reduction Tier: Heavy

Figure 112014127886944-pat00069
임계값 아래 시간 QMV: 20초 초과
Figure 112014127886944-pat00069
Time QMV below threshold: greater than 20 seconds

Figure 112014127886944-pat00070
QoE 매니저 모듈에서의 경감 옵션: "미디움" 경감 티어와 동일하다, 더하여 (4) 예를 들어 특정 구체적 애플리케이션과 연관된 모든 스트림에 대한 모든 데이터 패킷을 폐기함으로써와 같이, 가장 낮은 데이터 스트림 중요도 메트릭과 연관된 특정 애플리케이션으로 시작하여, 셀 내 데이터 스트림과 연관된 특정 애플리케이션의 서브세트의 종료를 구현한다. 일 태양에 있어서, 특정 구체적 애플리케이션과 연관되어 있는 모든 스트림에 대한 모든 데이터 패킷의 무한 지연의 구현은 효과적으로는 특정 애플리케이션을 종료시킬 것이다.
Figure 112014127886944-pat00070
Mitigation options in the QoE Manager module: Same as the "medium" mitigation tier, in addition (4) associated with the lowest data stream importance metric, for example by discarding all data packets for all streams associated with a specific specific application. Starting with a specific application, it implements the termination of a subset of the specific application associated with the data stream in the cell. In one aspect, the implementation of an infinite delay of all data packets for all streams associated with a specific specific application will effectively terminate the specific application.

Figure 112014127886944-pat00071
단말 노드에서의 경감 옵션: "미디움" 경감 티어와 동일하다, 더하여 (4) 가장 낮은 데이터 스트림 중요도 메트릭과 연관된 특정 애플리케이션으로 시작하여, 셀 내 데이터 스트림과 연관된 특정 애플리케이션의 서브세트의 종료를 구현한다. 일 태양에 있어서, 종료될 특정 구체적 애플리케이션은 협력형 특정 애플리케이션이고 QoE 매니저 모듈은 협력형 특정 애플리케이션에 의해 수신되는 경감 명령어 메시지를 연관된 단말 노드에 보내고 그 결과 협력형 특정 애플리케이션은 스스로 종료되고, 옵션으로서는 임박한 종료에 대해 경고하도록 사용자 메시지를 또한 디스플레이할 수 있다. 일 태양에 있어서, QoE 매니저 모듈은 특정 구체적 애플리케이션과 연관된 모든 스트림에 대한 모든 데이터 패킷을 인터셉트 및 폐기하도록 그 연관된 단말 노드 내 마스터 애플리케이션 모듈에 경감 명령어 메시지를 보낼 수 있다. 일 태양에 있어서, 연관된 단말 노드 내 마스터 애플리케이션 모듈로의 경감 명령어 메시지는 특정 구체적 애플리케이션과 연관되어 있는 모든 스트림에 대한 모든 데이터 패킷의 무한 지연을 구현하여 효과적으로는 특정 애플리케이션을 종료시키게 되도록 명령할 수 있다.
Figure 112014127886944-pat00071
Mitigation options at the terminal node: same as the "medium" mitigation tier, in addition (4) implements termination of a subset of specific applications associated with the data stream in the cell, starting with the specific application associated with the lowest data stream importance metric . In one aspect, the specific specific application to be terminated is a specific cooperative application and the QoE manager module sends a mitigation command message received by the specific cooperative application to the associated terminal node, as a result of which the specific cooperative application terminates itself, and optionally A user message can also be displayed to warn of an impending shutdown. In one aspect, the QoE manager module may send a mitigation command message to a master application module in its associated terminal node to intercept and discard all data packets for all streams associated with a specific specific application. In one aspect, the mitigation command message to the master application module in the associated terminal node implements an infinite delay of all data packets for all streams associated with a specific specific application, thereby effectively instructing to terminate a specific application. .

위에서 언급된 바와 같이, 경감 옵션의 선택에 부가하여, 경감 모듈(1350)은 또한, 예를 들어 경감 강도 및 또는 경감 시간 듀레이션과 같이, 경감 옵션이 적용되어야 하는 레벨을 나타낼 수 있다. 일 태양에 있어서, 경감 옵션을 구현할 시간 듀레이션 및 경감 옵션을 구현할 강도 레벨은 (1) 종합적 품질 메트릭값(QMV)이 임계값 아래인 시간 듀레이션(T) 및/또는 (2) 종합적 품질 메트릭값 자체의 함수일 수 있다. 경감 옵션에 대한 강도 레벨은, 예를 들어, 경감 옵션을 구현할 데이터 스트림의 수 또는 백분율, 폐기할 데이터 패킷의 백분율 레벨, 및/또는 데이터 패킷을 지연시킬 지연 시간일 수 있다. 일 태양에 있어서, 예를 들어, 데이터 패킷 지연 및/또는 폐기를 사용하여 경감할 스트림의 백분율의 결정은 아래 표 A에 기반할 수 있다.As mentioned above, in addition to the selection of the mitigation option, the mitigation module 1350 may also indicate the level at which the mitigation option should be applied, such as, for example, mitigation strength and/or mitigation time duration. In one aspect, the time duration to implement the mitigation option and the intensity level to implement the mitigation option are (1) the time duration (T) where the overall quality metric value (QMV) is below the threshold value, and/or (2) the overall quality metric value itself. Can be a function of The strength level for the mitigation option may be, for example, the number or percentage of data streams to implement the mitigation option, the percentage level of data packets to be discarded, and/or the delay time to delay the data packets. In one aspect, the determination of the percentage of streams to be mitigated using, for example, data packet delay and/or discard may be based on Table A below.

Figure 112014127886944-pat00072
Figure 112014127886944-pat00072

일 태양에 있어서, 예를 들어, 경감되는 데이터 스트림에 대해 폐기할 데이터 패킷의 백분율의 결정은 아래 표 B에 기반할 수 있다.In one aspect, for example, the determination of the percentage of data packets to discard for the data stream being mitigated may be based on Table B below.

Figure 112014127886944-pat00073
Figure 112014127886944-pat00073

일례의 태양에 있어서, 통신 모듈(1360)은, 단말 노드에서 하나 이상의 데이터 스트림에 적용될, 경감 모듈(1350)에 의해 선택된 경감 옵션 및 옵션으로서는 경감 레벨을 포함하는 경감 명령어 메시지를 발생시키고 적합한 단말 노드(들)에, 트래픽 인터페이스 모듈(1370)을 통하여, 보내도록 동작할 수 있다. 이러한 방식으로, 통신 모듈(1360)은 단말 노드 레벨에서 전적으로 또는 부분적으로 구현될 경감 옵션을 지원한다. 예를 들어, 특정 경감 옵션은 하나 이상의 데이터 스트림의 데이터 패킷을 폐기함으로써 QoE 매니저 모듈(1300)에서의 로컬 경감과 직접 관련되고 또한 하나 이상의 데이터 스트림의 데이터 패킷을 지연시키도록 단말 노드에서의 경감 액션과 직접 관련될 수 있다. 그러한 일례에 있어서, 통신 모듈(1360)은, 하나 이상의 데이터 스트림의 패킷을 지연시키도록 단말 노드에 명령하는 경감 옵션을 포함하는 경감 명령어 메시지를 발생시키고 적합한 단말 노드에, 트래픽 인터페이스 모듈(1370)을 통하여, 보낸다. 대안의 태양에 있어서, QoE 매니저 모듈(1300)에 관하여 위에서 설명된 것과 유사한 방식으로, 통신 모듈(1360)은, 종합적 품질 메트릭값 및/또는 종합적 품질 메트릭값이 임계값 아래인 시간 듀레이션과 같이, 원시 데이터를 포함하는 경감 명령어 메시지를 발생시키고 적합한 단말 노드에, 트래픽 인터페이스 모듈(1370)을 통하여, 보낼 수 있고, 그 후 단말 노드 내 마스터 애플리케이션 모듈은 원시 데이터를 사용하여 무슨 경감 옵션을 취할지 결정할 수 있다.In an exemplary aspect, the communication module 1360 generates a mitigation command message comprising a mitigation option selected by the mitigation module 1350 and, as an option, a mitigation level, to be applied to one or more data streams at the terminal node and (S), through the traffic interface module 1370, can operate to send. In this way, the communication module 1360 supports mitigation options to be implemented wholly or partially at the terminal node level. For example, a specific mitigation option is directly related to local mitigation in the QoE manager module 1300 by discarding data packets of one or more data streams, and a mitigation action at the terminal node to delay data packets of one or more data streams. Can be directly related to. In such an example, the communication module 1360 generates a mitigation command message including a mitigation option that instructs the terminal node to delay packets of one or more data streams, and to the appropriate terminal node, the traffic interface module 1370. Through, send. In an alternative aspect, in a manner similar to that described above with respect to the QoE manager module 1300, the communication module 1360 may, such as a total quality metric value and/or a time duration in which the overall quality metric value is below a threshold, A mitigation command message containing raw data can be generated and sent to the appropriate terminal node, via the traffic interface module 1370, after which the master application module in the terminal node can use the raw data to determine what mitigation options to take. have.

일례의 태양에 있어서, 다른 로직 모듈(1330)은 QoE 매니저 모듈(1300) 내 다른 모듈이 여기서 설명된 바와 같은 그들 기능 및 통신을 실행하는 것을 돕는데 필요한 로직 및 기능성을 포함할 수 있다. In an exemplary aspect, the other logic module 1330 may include the logic and functionality necessary to help other modules in the QoE manager module 1300 execute their functions and communications as described herein.

도 14는 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 탑-레벨 기능성을 묘사하는 순서도이다. 단계(1401)에서, 단말 노드는 그것이 단말 노드에서 동작하고 있는 특정 애플리케이션에 서비스 제공하고 있다고 검출하는 각각의 데이터 스트림에 대한 애플리케이션 데이터 스트림 정보를 업데이트한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 트래픽 인터페이스 모듈(1280) 및 스트림 검출 및 분류 모듈(1250)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단계(1403)에서, 단말 노드는 현재 애플리케이션 특성 데이터 세트 및 단말 노드 특성 데이터 세트를 업데이트한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 특성 평가 모듈(1220)을 이용함으로써 이러한 태스크를 수행한다. 단계(1405)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고, 단계(1407)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 스트림 메트릭 결정 모듈(1230)을 이용함으로써 이러한 태스크를 수행한다.14 is a flowchart depicting top-level functionality of a master application module in a terminal node supporting haptic quality management according to an aspect of the present invention. In step 1401, the terminal node updates application data stream information for each data stream it detects that it is providing a service to a specific application running on the terminal node. For example, as described above with respect to FIG. 12, master application module 1200 performs this task by using traffic interface module 1280 and stream detection and classification module 1250. Next, in step 1403, the terminal node updates the current application characteristic data set and the terminal node characteristic data set. For example, as described above with respect to FIG. 12, the master application module 1200 performs this task by using the characteristic evaluation module 1220. In step 1405, the terminal node determines a data stream importance metric for each data stream, and in step 1407, the terminal node determines a data stream quality metric for each data stream. For example, as described above with respect to FIG. 12, the master application module 1200 performs this task by using the stream metric determination module 1230.

다음으로, 단말 노드는 단말 노드 업데이트 메시지를 발생시켜 네트워크 내 하나 이상의 다른 노드에서 구현되는 QoE 매니저 모듈에 보낸다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1200)은 QoE 매니저 통신 모듈(1260) 및 트래픽 인터페이스 모듈(1280)을 이용함으로써 이러한 태스크를 수행한다. 단계(1411)에서 단말 노드는, 단계(1401)에서의 프로세스의 시작으로 복귀하기 전에, OS 또는 협력형 특정 애플리케이션으로부터의 메시지의 수신과 같이, 트리거 이벤트의 발생이든 주기적 시간 기간이든 기다린다. 위에서 설명된 도 14의 단계 중 하나 이상은 옵션일 수 있음과, 도 14의 단계 중 하나 이상을 수행할지 여부의 결정은 도 14의 프로시저의 시작을 트리거링한 조건 또는 이벤트의 유형에 의존할 수 있음을 유념해야 한다.Next, the terminal node generates a terminal node update message and sends it to the QoE manager module implemented in one or more other nodes in the network. For example, as described above with respect to FIG. 12, the master application module 1200 performs this task by using the QoE manager communication module 1260 and the traffic interface module 1280. In step 1411, the terminal node waits for the occurrence of a trigger event or a periodic period of time, such as receipt of a message from the OS or a specific cooperative application, before returning to the start of the process in step 1401. One or more of the steps of FIG. 14 described above may be optional, and the determination of whether to perform one or more of the steps of FIG. 14 may depend on the condition or the type of event that triggered the start of the procedure of FIG. 14. It should be noted that there is.

도 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의 프로시저의 시작에서의 조건 또는 이벤트의 유형에 의존할 수 있음을 유념해야 한다.15 is a flow chart depicting the top-level functionality of a sensory quality manager module in accordance with an aspect of the present invention. In step 1501, the QoE manager module receives a terminal node update message from various terminal nodes in the network. For example, as described above with respect to FIG. 13, the QoE manager module 1300 performs this task by using the update receiving module 1340 and the traffic interface module 1370. Next, in step 1503, the QoE manager module updates the relationship map associating each data stream to its associated cell and each data stream to its associated terminal node. For example, as described above with respect to FIG. 13, the QoE manager module 1300 performs this task by using the update receiving module 1340 and the traffic interface module 1370. In step 1505, the QoE manager module determines a comprehensive quality metric value for each cell based on the data stream quality metric for each data stream extracted from the received terminal node update message. For example, as described above with respect to FIG. 13, the QoE manager module 1300 performs this task by using the metric determination module 1320. Thereafter, in step 1507, the QoE manager module determines an abatement option for one or more of the data streams in the cell based on the comprehensive quality metric value, where the abatement option may be that no action is taken. For example, as described above with respect to FIG. 13, the QoE manager module 1300 performs this task by using the mitigation module 1350. Then, in step 1509, the QoE manager module executes the mitigation option for one or more of the data streams in the cell, which may be implemented locally by the QoE manager module or at the associated terminal node. For example, as described above with respect to FIG. 13, the QoE manager module 1300 performs this task by using an mitigation module 1350, a traffic interface module 1370, and optionally a communication module 1360. One or more of the steps of FIG. 15 described above may be optional, and the determination of whether to perform one or more of the steps of FIG. 15 may depend on a condition at the start of the procedure of FIG. 15 or the type of event. You should keep in mind.

도 16은 본 발명의 태양에 따라 체감 품질 관리를 지원하는 단말 노드 내 마스터 애플리케이션 모듈의 탑-레벨 경감 기능성을 묘사하는 순서도이다. 단계(1601)에서, 단말 노드는 단말 노드와 연관된 하나 이상의 데이터 스트림 상에 경감 옵션을, 부분적으로든 전적으로든, 구현할 명령어가 들어있는 경감 명령어 메시지를 QoE 매니저 모듈로부터 수신한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 단말 노드 내 마스터 애플리케이션 모듈(1200)은 QoE 매니저 통신 모듈(1260) 및 트래픽 인터페이스 모듈(1280)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단말 노드는 단계(1603)에서 단말 노드와 연관된 하나 이상의 데이터 스트림 상에 경감 명령어 메시지에서 수신된 경감 옵션을 실행한다. 예를 들어, 도 12에 관하여 위에서 설명된 바와 같이, 단말 노드 내 마스터 애플리케이션 모듈(1200)은 QoE 응답 모듈(1270), 트래픽 인터페이스 모듈(1280) 및 옵션으로서는 단말 노드 인터페이스 모듈(1210)을 이용함으로써 이러한 태스크를 수행한다. 이러한 방식으로, 단말 노드는 데이터 스트림의 품질을 모니터링하고 필요하다면 하나 이상의 데이터 스트림 상에 경감 액션을 취하여 단말 노드 사용자에 대한 체감 품질을 유지 또는 증가시키도록 QoE 매니저 모듈과 협력형 방식으로 동작할 수 있다. 위에서 설명된 태양 및 실시예는 단말 노드에서 동작하고 있는 특정 애플리케이션과 관련된 다운링크 데이터 스트림의 모니터링 및 관리에 관련될 수 있기는 하지만, QoE 매니저 모듈 및 마스터 애플리케이션 모듈(들)은 단말 노드에서 동작하고 있는 그러한 특정 애플리케이션과 관련된 업링크 데이터 스트림을 모니터링 및 관리하도록 유사하게 협력할 수 있음을 유념한다. 그러한 시나리오에서는, 컨텐트 서버가 단말 노드에 위치하고 있을 수 있고, 클라이언트 애플리케이션이 네트워크 내 다른 노드에 위치하고 있을 수 있다.16 is a flow chart depicting top-level mitigation functionality of a master application module in a terminal node supporting haptic quality management according to an aspect of the present invention. In step 1601, the terminal node receives, from the QoE manager module, a mitigation command message containing, partially or entirely, an mitigation option on one or more data streams associated with the terminal node. For example, as described above with respect to FIG. 12, the master application module 1200 in the terminal node performs this task by using the QoE manager communication module 1260 and the traffic interface module 1280. Next, the terminal node executes the mitigation option received in the mitigation command message on one or more data streams associated with the terminal node in step 1603. For example, as described above with respect to FIG. 12, the master application module 1200 in the terminal node uses a QoE response module 1270, a traffic interface module 1280, and an optional terminal node interface module 1210. Perform these tasks. In this way, the terminal node can monitor the quality of the data stream and, if necessary, act in a cooperative manner with the QoE manager module to maintain or increase the quality of experience for the terminal node user by taking mitigation actions on one or more data streams. have. Although the aspects and embodiments described above may relate to monitoring and management of downlink data streams related to a specific application operating in the terminal node, the QoE manager module and the master application module(s) operate in the terminal node and It is noted that we can similarly cooperate to monitor and manage uplink data streams associated with those specific applications in existence. In such a scenario, the content server may be located on the terminal node, and the client application may be located on another node in the network.

대안의 태양에 있어서, 네트워크 환경 내 단말 노드는 단말 노드 내 특정 애플리케이션과 연관된 데이터 스트림의 품질을 모니터링하고 필요하다면 하나 이상의 데이터 스트림 상에 경감 액션을 취하여 단말 노드 내 그러한 특정 애플리케이션 중 하나 이상과 연관된 체감 품질을 유지 또는 증가시키도록 각각 단독으로 행동할 수 있다. 이러한 태양에 있어서, 단말 노드는 QoE 매니저 모듈의 도움 없이 단독으로 동작하고 대신에 QoE 매니저 모듈에 관하여 위에서 설명된 특징 및 기능 중 일부를 단말 노드에 직접 구현한다. 이러한 방식으로, 각각의 단말 노드는 각각의 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림의 품질을 모니터링 및 조절하도록 로컬 동작한다.In an alternative aspect, a terminal node in the network environment monitors the quality of a data stream associated with a specific application within the terminal node and, if necessary, takes a mitigation action on one or more data streams to experience the experience associated with one or more of those specific applications within the terminal node Each can act alone to maintain or increase quality. In this aspect, the terminal node operates alone without the help of the QoE manager module and instead implements some of the features and functions described above with respect to the QoE manager module directly in the terminal node. In this way, each terminal node operates locally to monitor and adjust the quality of the data stream associated with a particular application running on each terminal node.

도 17은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 블록 선도이다. 도 17의 마스터 애플리케이션 모듈(1700)은 단말 노드가 QoE 매니저 모듈의 도움 없이 단독으로 동작하여, 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림의 품질을 로컬 모니터링 및 조절하는 위에서 언급된 대안의 태양에 따라 동작하도록 구성된다. 마스터 애플리케이션 모듈(1700)은 도 12의 마스터 애플리케이션 모듈(1200)에 관하여 앞서 위에서 설명된 동일한 모듈 중 여럿을 포함하고 있음을 도 17에서 알 수 있다. 각각의 동일한 모듈의 기능성은, 이러한 대안의 태양에 있어서 일부 차이점이 적용될 수 있는 경우를 제외하고는, 간결함을 위해 여기서 반복되지 않는다. 이러한 대안의 태양에 있어서 핵심 차이점 중 하나는 도 12의 마스터 애플리케이션 모듈(1200) 내 QoE 응답 모듈(1270) 및 QoE 매니저 통신 모듈(1260)이 도 17의 마스터 애플리케이션 모듈(1700)에는 포함되어 있지 않다는 것이다. 대신에, 아래에 더 충분히 설명되는 바와 같이, 단말 노드와 연관된 데이터 스트림에 대한 종합적 품질 메트릭에 기반하여, 있다면, 경감 옵션을 결정 및 실행하도록 마스터 애플리케이션 모듈(1700)에 경감 모듈(1760)이 제공된다.17 is a block diagram of a master application module in a terminal node performing haptic quality management according to an aspect of the present invention. The master application module 1700 of FIG. 17 is an alternative aspect mentioned above in which the terminal node operates independently without the help of the QoE manager module to locally monitor and adjust the quality of the data stream associated with a specific application running in the terminal node. Is configured to operate according to. It can be seen from FIG. 17 that the master application module 1700 includes several of the same modules described above with respect to the master application module 1200 of FIG. 12. The functionality of each identical module is not repeated here for brevity, except where some differences may apply in this alternative aspect. One of the key differences in this alternative aspect is that the QoE response module 1270 and the QoE manager communication module 1260 in the master application module 1200 of FIG. 12 are not included in the master application module 1700 of FIG. 17. will be. Instead, the mitigation module 1760 is provided to the master application module 1700 to determine and execute, if any, mitigation options based on the aggregate quality metric for the data stream associated with the terminal node, as described more fully below. do.

도 12에 도시된 것들과 동일한 모듈의 상세한 기능성을 반복함이 없이, 마스터 애플리케이션 모듈(1700)에 대한 프로세스 흐름의 간략한 개요는 스트림 검출 및 분류 모듈(1750) 및 트래픽 인터페이스 모듈(1780)이 단말 노드에서 동작하고 있는 특정 애플리케이션을 지원하는 데이터 스트림을 검출, 식별 및 분류하고, 그 후 특성 평가 모듈(1720)이, 단말 노드 인터페이스 모듈(1710)로부터의 가능한 지원으로, 각각의 데이터 스트림에 대한 현재 애플리케이션 특성 데이터 세트 및 현재 단말 노드 특성 데이터 세트를 다른 관련 정보와 함께 식별하는 것이다. 스트림 메트릭 결정 모듈(1730)은 다른 관련 정보와 함께 현재 애플리케이션 특성 데이터 세트 및 현재 단말 노드 특성 데이터 세트에 기반하여 각각의 데이터 스트림에 대한 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭을 결정하고, 그 후 단말 노드와 연관된 데이터 스트림 중 일부 또는 전부에 대한 종합적 (단말 노드 와이드) 품질 메트릭을 더 결정한다. 이에 관하여, 스트림 메트릭 결정 모듈(1730)은 도 13의 QoE 매니저 모듈(1300)의 메트릭 결정 모듈(1320)에 관하여 위에서 설명된 기술 및 방법 중 어느 하나에 따라 데이터 스트림 품질 메트릭, 데이터 스트림 중요도 메트릭 및 종합적 (단말 노드 와이드) 품질 메트릭을 결정할 수 있다. 도 17의 이러한 대안의 태양에 있어서 차이점은, 도 13의 메트릭 결정 모듈(1320)에 의해 결정되는 종합적 품질 메트릭값이 네트워크 내 액세스 노드에 대응하는 모든 단말 노드와 연관된 데이터 스트림 중 일부 또는 전부에 대한 데이터 스트림 품질 메트릭에 기반하는 것과는 대조적으로, 종합적 (단말 노드 와이드) 품질 메트릭이 특정 단말 노드와 연관된 데이터 스트림만에 대한 데이터 스트림 품질 메트릭에 기반한다는 것이다. 그 후 스트림 메트릭 결정 모듈(1730)은 도 13의 메트릭 결정 모듈(1320)에 관하여 위에서 설명된 기술 및 방법을 사용하여 종합적 (단말 노드 와이드) 품질 메트릭을 임계값에 비교할 수 있다.Without repeating the detailed functionality of the same modules as those shown in FIG. 12, a brief overview of the process flow for the master application module 1700 is provided by the stream detection and classification module 1750 and the traffic interface module 1780. It detects, identifies, and classifies data streams that support a specific application running in, and then the characteristic evaluation module 1720, with possible support from the terminal node interface module 1710, is the current application for each data stream. It is to identify the characteristic data set and the current terminal node characteristic data set together with other related information. The stream metric determination module 1730 determines a data stream importance metric and a data stream quality metric for each data stream based on the current application characteristic data set and the current terminal node characteristic data set along with other related information, and then A comprehensive (terminal node wide) quality metric for some or all of the data streams associated with the node is further determined. In this regard, the stream metric determination module 1730 includes a data stream quality metric, a data stream importance metric, and a data stream quality metric according to any one of the techniques and methods described above with respect to the metric determination module 1320 of the QoE manager module 1300 of FIG. 13. Comprehensive (terminal node wide) quality metrics can be determined. The difference in this alternative aspect of FIG. 17 is that the aggregate quality metric value determined by the metric determination module 1320 of FIG. 13 is for some or all of the data streams associated with all terminal nodes corresponding to the access nodes in the network. In contrast to being based on the data stream quality metric, the overall (terminal node wide) quality metric is based on the data stream quality metric for only data streams associated with a specific terminal node. The stream metric determination module 1730 may then compare the comprehensive (terminal node wide) quality metric to a threshold value using the techniques and methods described above with respect to the metric determination module 1320 of FIG. 13.

경감 모듈(1760)은 임계값 대비 종합적 (단말 노드 와이드) 품질 메트릭의 비교의 결과를 사용하여 단말 노드와 연관된 데이터 스트림 중 하나 이상에 적용할 경감 옵션을 결정한다. 위에서 언급된 바와 같이, 경감 옵션 중 하나는 어떠한 현재 액션도 취하지 않는 것 및 종합적 품질 메트릭을 계속 모니터링하는 것이다. 경감 모듈(1350)에 관하여 위에서 설명된 경감 옵션 유형, 및 경감 옵션의 결정을 위한 기술 및 방법은 경감 모듈(1760)에 의해 사용될 수 있고 여기서는 간결함을 위해 반복되지 않는다. 단말 노드에 의해 구현 및/또는 적용될 수 있는 위에서 설명된 그들 경감 옵션이 사용될 수 있다. 이에 관하여, 경감 모듈(1760)은, 트래픽 인터페이스 모듈(1780) 및 단말 노드 인터페이스 모듈(1710) 중 하나 이상과 조정하여, 그 후 단말 노드와 연관된 하나 이상의 데이터 스트림 상에 결정된 경감 옵션을 실행할 수 있다. 도 13의 경감 모듈(1350)에 관하여 위에서 설명된 바와 같이, 구현의 듀레이션 및 레벨(강도)을 포함하는 경감 옵션의 실행의 방식이 도 17의 경감 모듈(1760)에 의해 경감 옵션을 실행하도록 이용될 수 있다.The mitigation module 1760 determines a mitigation option to be applied to one or more of the data streams associated with the terminal node by using the result of comparing the comprehensive (terminal node wide) quality metric against the threshold value. As mentioned above, one of the mitigation options is to take no current action and continue to monitor the overall quality metric. The mitigation option types described above with respect to the mitigation module 1350, and techniques and methods for determining mitigation options, may be used by the mitigation module 1760 and are not repeated here for brevity. Those mitigation options described above that may be implemented and/or applied by the terminal node may be used. In this regard, the mitigation module 1760 may coordinate with one or more of the traffic interface module 1780 and the terminal node interface module 1710, and then execute the mitigation option determined on one or more data streams associated with the terminal node. . As described above with respect to the mitigation module 1350 of FIG. 13, the manner of execution of the mitigation option including the duration and level (intensity) of the implementation is used by the mitigation module 1760 of FIG. 17 to execute the mitigation option. Can be.

도 18은 본 발명의 태양에 따라 체감 품질 관리를 수행하는 단말 노드 내 마스터 애플리케이션 모듈의 탑-레벨 기능성을 묘사하는 순서도이다. 특히, 도 18의 순서도는 도 17의 마스터 애플리케이션 모듈(1700)에 대응한다. 단계(1801)에서, 단말 노드는 그것이 단말 노드에서 동작하고 있는 특정 애플리케이션에 서비스 제공하고 있다고 검출하는 각각의 데이터 스트림에 대한 애플리케이션 데이터 스트림 정보를 업데이트한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 트래픽 인터페이스 모듈(1780) 및 스트림 검출 및 분류 모듈(1750)을 이용함으로써 이러한 태스크를 수행한다. 다음으로, 단계(1803)에서, 단말 노드는 현재 애플리케이션 특성 데이터 세트 및 현재 단말 노드 특성 데이터 세트를 업데이트한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 특성 평가 모듈(1720)을 이용함으로써 이러한 태스크를 수행한다. 단계(1805)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고, 단계(1807)에서, 단말 노드는 각각의 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 결정한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 스트림 메트릭 결정 모듈(1730)을 이용함으로써 이들 태스크를 수행한다. 다음으로, 단계(1809)에서, 단말 노드는 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림 중 하나 이상과 관련된 데이터 스트림 품질 메트릭, 데이터 스트림 중요도 메트릭 및 다른 정보에 기반하여 종합적 (단말 와이드) 품질 메트릭을 결정한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은, 종합적 (단말 와이드) 품질 메트릭을 임계값에 비교하는 것에 부가하여, 스트림 메트릭 결정 모듈(1730)을 이용함으로써 이들 태스크를 수행한다.18 is a flow chart depicting top-level functionality of a master application module in a terminal node performing haptic quality management in accordance with an aspect of the present invention. In particular, the flowchart of FIG. 18 corresponds to the master application module 1700 of FIG. 17. In step 1801, the terminal node updates application data stream information for each data stream it detects that it is providing a service to a specific application running in the terminal node. For example, as described above, master application module 1700 performs this task by using traffic interface module 1780 and stream detection and classification module 1750. Next, in step 1803, the terminal node updates the current application characteristic data set and the current terminal node characteristic data set. For example, as described above, the master application module 1700 performs this task by using the characteristic evaluation module 1720. In step 1805, the terminal node determines a data stream importance metric for each data stream, and in step 1807, the terminal node determines a data stream quality metric for each data stream. For example, as described above, the master application module 1700 performs these tasks by using the stream metric determination module 1730. Next, in step 1809, the terminal node provides a comprehensive (terminal wide) quality based on a data stream quality metric, a data stream importance metric, and other information related to one or more of the data streams associated with a specific application running in the terminal node. Determine the metric. For example, as described above, the master application module 1700 performs these tasks by using the stream metric determination module 1730 in addition to comparing the overall (terminal wide) quality metric to a threshold. .

그 후, 단계(1811)에서, 단말 노드는 종합적 품질 메트릭값에 기반하여 단말 노드와 연관된 데이터 스트림 중 하나 이상에 대한 경감 옵션을 결정하며, 여기서 경감 옵션은 어떠한 액션도 취하지 않는 것일 수 있다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 경감 모듈(1760)을 이용함으로써 이러한 태스크를 수행한다. 단계(1813)에서, 단말노드는 셀과 연관된 데이터 스트림 중 하나 이상에 대해 경감 옵션을 실행한다. 예를 들어, 위에서 설명된 바와 같이, 마스터 애플리케이션 모듈(1700)은 경감 모듈(1760), 트래픽 인터페이스 모듈(1780) 및 옵션으로서는 단말 노드 인터페이스 모듈(1710)을 이용함으로써 이러한 태스크를 수행한다. 이러한 방식으로, 각각의 단말 노드는 각각의 단말 노드에서 동작하고 있는 특정 애플리케이션과 연관된 데이터 스트림의 품질을 모니터링 및 조절하도록 독립적으로 로컬 동작할 수 있다.Then, in step 1811, the terminal node determines an mitigation option for one or more of the data streams associated with the terminal node based on the overall quality metric value, where the mitigation option may be to take no action. For example, as described above, the master application module 1700 performs this task by using the mitigation module 1760. In step 1813, the terminal node executes a reduction option for one or more of the data streams associated with the cell. For example, as described above, the master application module 1700 performs this task by using the mitigation module 1760, the traffic interface module 1780 and, optionally, the terminal node interface module 1710. In this way, each terminal node can independently operate locally to monitor and adjust the quality of a data stream associated with a specific application running on each terminal node.

도 17 및 도 18에 관하여 위에서 설명된 태양 및 실시예는 단말 노드에서 동작하고 있는 특정 애플리케이션과 관련된 다운링크 데이터 스트림의 모니터링 및 관리에 관련될 수 있기는 하지만, 마스터 애플리케이션 모듈(들)은 단말 노드에서 동작하고 있는 그러한 특정 애플리케이션과 관련된 업링크 데이터 스트림을 모니터링 및 관리하도록 유사하게 협력할 수 있음을 유념한다. 그러한 시나리오에서는, 컨텐트 서버가 단말 노드에 위치하고 있을 수 있고, 클라이언트 애플리케이션이 네트워크 내 다른 노드에 위치하고 있을 수 있다.Although the aspects and embodiments described above with respect to FIGS. 17 and 18 may relate to monitoring and management of downlink data streams related to a specific application operating in the terminal node, the master application module(s) is the terminal node. Note that we can similarly cooperate to monitor and manage the uplink data streams associated with those specific applications running on. In such a scenario, the content server may be located on the terminal node, and the client application may be located on another node in the network.

전술한 시스템 및 방법 및 연관된 디바이스 및 모듈은 여러 변형이 쉽게 가능하다. 부가적으로, 명확함과 간결함을 위해, 시스템 및 방법의 많은 설명이 단순화되었다. 예를 들어, 도면들은 일반적으로는 각각의 유형의 디바이스 중 하나(예를 들어, 하나의 액세스 노드, 하나의 단말 노드)를 예시하지만, 통신 시스템은 각각의 유형의 디바이스를 여럿 가질 수 있다. 유사하게, 많은 설명은 LTE와 같은 특정 무선 표준의 구조 및 술어를 사용하고 있다. 그렇지만, 개시된 시스템 및 방법은, 예를 들어, 하이브리드 광섬유-동축 케이블 모뎀 시스템을 포함하여 더 광범위하게 적용가능하다.The above-described systems and methods and associated devices and modules are readily possible in many variations. Additionally, for clarity and brevity, many descriptions of the systems and methods have been simplified. For example, although the drawings generally illustrate one of each type of device (eg, one access node, one terminal node), a communication system may have multiple devices of each type. Similarly, many descriptions use the structure and predicates of certain wireless standards such as LTE. However, the disclosed systems and methods are more widely applicable, including, for example, hybrid fiber-coaxial cable modem systems.

당업자는 본 명세서에서 개시되는 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 모듈, 유닛 및 알고리즘 단계가 흔히 전자적 하드웨어, 컴퓨터 소프트웨어 또는 그들 조합으로 구현될 수 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 호환가능성을 명확히 예시하기 위해, 다양한 예시적 컴포넌트, 블록, 모듈 및 단계가 일반적으로 그 기능성의 관점에서 위에 설명되었다. 그러한 기능성이 하드웨어로 구현될지 또는 소프트웨어로 구현될지는 전반적 시스템에 부과된 특정 제약에 의존한다. 당업자는 설명된 기능성을 각각의 특정 시스템에 대해 다양한 방식으로 구현할 수 있지만, 그러한 구현 결정은 본 발명의 범위로부터의 벗어남을 야기하는 것으로 해석되어서는 안 된다. 부가적으로, 유닛, 모듈, 블록 또는 단계 내 기능의 그룹화는 설명의 용이함을 위한 것이다. 특정 기능 또는 단계는 본 발명으로부터 벗어남이 없이 하나의 유닛, 모듈 또는 블록으로부터 이동될 수 있다.Those of skill in the art will recognize that the various illustrative logical blocks, modules, units, and algorithm steps described in connection with the embodiments disclosed herein can often be implemented in electronic hardware, computer software, or a combination thereof. To clearly illustrate this compatibility of hardware and software, various exemplary components, blocks, modules and steps have been described above generally in terms of their functionality. Whether such functionality will be implemented in hardware or software depends on the specific constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular system, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. Additionally, grouping of functions within a unit, module, block or step is for ease of description. Certain functions or steps may be moved from one unit, module or block without departing from the invention.

여기에 개시된 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 유닛, 단계 및 모듈은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그래밍 가능한 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능한 논리 디바이스와 같은 프로세서, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트 또는 여기에서 설명된 기능을 수행하도록 설계된 그 어떠한 조합으로라도 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로는, 프로세서는 어떠한 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 머신이라도 될 수 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 함께 하나 이상의 마이크로프로세서, 또는 어떠한 다른 그러한 구성으로라도 구현될 수 있다.The various illustrative logic blocks, units, steps, and modules described in connection with the embodiments disclosed herein include general purpose processors, digital signal processors (DSPs), application specific semiconductors (ASICs), field programmable gate arrays (FPGAs), or other programmable gate arrays (FPGAs). It may be implemented or performed with a processor such as a logic device, discrete gate or transistor logic, discrete hardware components, or any combination designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller or state machine. The processor may also be implemented in a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors with a DSP core, or any other such configuration.

여기에서 개시된 실시예와 연관하여 설명된 블록 또는 모듈의 프로세스 및 알고리즘 또는 방법의 단계는 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 둘의 조합으로 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM 또는 어떠한 다른 형태의 저장 매체에라도 거주할 수 있다. 일례의 저장 매체는 프로세서가 그 저장 매체에 정보를 쓰고 그리고 그로부터 정보를 읽을 수 있게 되도록 프로세서에 결합될 수 있다. 대안으로, 저장 매체는 프로세서에 일체일 수 있다. 프로세서 및 저장 매체는 ASIC에 거주할 수 있다. 부가적으로, 결합된 것으로 설명되어 있는 디바이스, 블록 또는 모듈은 중개 디바이스, 블록 또는 모듈을 통하여 결합되어 있을 수 있다. 유사하게, 제1 디바이스는 제1 디바이스와 제2 디바이스를 결합하는 중개 디바이스가 존재할 때 그리고 또한 제1 디바이스가 데이터의 궁극적 수신지를 모르고 있을 때 데이터를 제2 디바이스에 송신(또는 그로부터 수신)하는 것으로 설명되어 있을 수 있다.The processes of the blocks or modules described in connection with the embodiments disclosed herein and the steps of the algorithm or method may be embodied as hardware directly, as a software module executed by a processor, or as a combination of both. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other type of storage medium. An exemplary storage medium may be coupled to the processor such that the processor can write information to and read information from the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and storage medium can reside in the ASIC. Additionally, a device, block, or module described as coupled may be coupled through an intermediary device, block or module. Similarly, the first device is said to transmit (or receive from) data to the second device when there is an intermediary device coupling the first device and the second device and also when the first device is unaware of the ultimate destination of the data. May be explained.

개시된 실시예의 위 설명은 어느 당업자라도 본 발명을 하거나 사용할 수 있게 하도록 제공된다. 이들 실시예에 대한 다양한 수정이 당업자에게는 쉽게 명백할 것이고 여기에서 설명되는 포괄적 원리는 본 발명의 취지 또는 범위로부터 벗어남이 없이 다른 실시예에 적용될 수 있다. 그리하여, 여기에서 제시된 설명 및 도면은 본 발명의 현재 바람직한 실시예를 표현하고 그래서 본 발명에 의해 광범위하게 고려되는 대상 사항을 표현하는 것으로 이해되어야 한다. 더욱, 본 발명의 범위는 당업자에게 자명하게 될 수 있는 다른 실시예를 전적으로 아우르고 따라서 본 발명은 첨부 청구범위 이외의 어떠한 것에 의해서도 제한되지 않음이 이해된다.The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other embodiments without departing from the spirit or scope of the present invention. Thus, it is to be understood that the description and drawings presented herein represent the presently preferred embodiments of the present invention and thus represent the subject matter broadly contemplated by the present invention. Moreover, it is understood that the scope of the invention encompasses entirely other embodiments that may become apparent to those skilled in the art and thus the invention is not limited by anything other than the appended claims.

Claims (84)

통신 네트워크 내 애플리케이션 매니저 노드로서,
상기 통신 네트워크 내 데이터 통신을 모니터링하도록 구성된 트랜시버 모듈; 및
상기 트랜시버에 결합된 프로세서를 포함하되, 상기 프로세서는:
적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 애플리케이션 프로토콜(Application Protocol; APP)-에이전트 협력형 통신 제어 경로를 통해 상기 적어도 하나의 단말 노드로부터 수신하되, 상기 적어도 하나의 애플리케이션 데이터 스트림은 애플리케이션 데이터 경로를 통해 통신되고,
상기 애플리케이션 정보에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하고,
상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하여 종합적 품질 메트릭값을 결정하고, 그리고
상기 종합적 품질 메트릭값에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하도록 구성되는 것인 애플리케이션 매니저 노드.
As an application manager node in a communication network,
A transceiver module configured to monitor data communication within the communication network; And
A processor coupled to the transceiver, the processor comprising:
Application information related to at least one application data stream associated with at least one application operating in at least one terminal node is transmitted from the at least one terminal node through an application protocol (APP)-agent cooperative communication control path. Receiving, but the at least one application data stream is communicated through an application data path,
Based on the application information, updating a relationship map including a relationship between each of the at least one application data stream and an access node,
Determine a comprehensive quality metric value based at least in part on the application information received from one or more of the at least one terminal node, and
An application manager node configured to select at least one mitigation option for one or more of the at least one application data stream based on the overall quality metric value.
제1항에 있어서, 상기 관계 맵은 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보를 상기 애플리케이션 매니저 노드에 송신한 상기 적어도 하나의 단말 노드 중 하나와 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각 간 관계를 더 포함하는 것인 애플리케이션 매니저 노드.The method of claim 1, wherein the relationship map further includes a relationship between each of the at least one application data stream and one of the at least one terminal node transmitting application information for each application data stream to the application manager node. The application manager node. 제1항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하는 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the comprehensive quality metric value is based at least in part on the application information received from one or more of the at least one terminal node associated with the access node. 제1항에 있어서, 상기 프로세서는 상기 적어도 하나의 경감 옵션을 개시하도록 더 구성되는 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the processor is further configured to initiate the at least one mitigation option. 제1항에 있어서, 상기 종합적 품질 메트릭값은 임계값에 비교되고 경감 선택은 상기 종합적 품질 메트릭값이 상기 임계값을 교차하면 수행되는 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the aggregate quality metric value is compared to a threshold value and mitigation selection is performed when the aggregate quality metric value crosses the threshold value. 제1항에 있어서, 상기 액세스 노드 및 상기 단말 노드가 통하여 통신하는 통신 링크는 무선 네트워크 및 유선 네트워크 중 하나인 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein a communication link through which the access node and the terminal node communicates is one of a wireless network and a wired network. 제1항에 있어서, 상기 애플리케이션 정보는 상기 적어도 하나의 단말 노드로부터 수신되는 비주기적 보고 및 주기적 보고 중 하나인 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the application information is one of an aperiodic report and a periodic report received from the at least one terminal node. 제1항에 있어서, 상기 애플리케이션 정보는 애플리케이션 정보 및 단말 노드 정보를 포함하고, 상기 종합적 품질 메트릭값은 상기 애플리케이션 정보 및 상기 단말 노드 정보에 기반하여 결정되는 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the application information includes application information and terminal node information, and the comprehensive quality metric value is determined based on the application information and the terminal node information. 제1항에 있어서, 상기 애플리케이션 정보는 대응하는 애플리케이션과 연관된 적어도 하나의 데이터 스트림 중 하나 이상에 관련된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭 중 적어도 하나를 포함하는 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the application information includes at least one of a data stream importance metric and a data stream quality metric related to one or more of at least one data stream associated with a corresponding application. 제1항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드의 셀과 연관되어 있는 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 셀-와이드 품질 메트릭값인 것인 애플리케이션 매니저 노드.The method of claim 1, wherein the comprehensive quality metric value is a cell-wide quality metric value determined based on a data stream quality metric for at least one of the at least one application data stream associated with a cell of the access node. Application manager node. 제10항에 있어서, 상기 종합적 품질 메트릭값의 결정은 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 데이터 스트림 품질 메트릭의 평균값에 기반하는 것인 애플리케이션 매니저 노드.11. The application manager node of claim 10, wherein the determination of the overall quality metric value is based on an average value of data stream quality metrics for one or more of the at least one application data stream. 제10항에 있어서, 상기 종합적 품질 메트릭값을 결정할 때 각각의 데이터 스트림 품질 메트릭에 가중치가 적용되고, 각각의 가중치는 서비스 레벨 협약(service level agreement: SLA)값, 서비스 품질(quality of service: QoS)값 및 데이터 스트림 중요도 메트릭 중 적어도 하나에 기반하는 것인 애플리케이션 매니저 노드.The method of claim 10, wherein when determining the overall quality metric value, a weight is applied to each data stream quality metric, and each weight is a service level agreement (SLA) value, a quality of service (QoS). ) Value and the data stream importance metric. 제1항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관된 상기 적어도 하나의 애플리케이션 데이터 스트림의 서브세트의 각각에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 것인 애플리케이션 매니저 노드.The application manager node of claim 1, wherein the aggregate quality metric value is determined based on a data stream quality metric for each of a subset of the at least one application data stream associated with the access node. 제5항에 있어서, 상기 적어도 하나의 경감 옵션의 선택은 상기 종합적 품질 메트릭값이 최소 시간 듀레이션 동안 상기 임계값보다 아래에 머무르면 수행되는 것인 애플리케이션 매니저 노드.The application manager node according to claim 5, wherein the selection of the at least one reduction option is performed when the comprehensive quality metric value stays below the threshold value for a minimum time duration. 제4항에 있어서, 상기 적어도 하나의 경감 옵션의 개시는 상기 경감 옵션이 구현되어야 할 상기 애플리케이션 데이터 스트림과 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나에 경감 명령어 메시지를 송신하는 것을 포함하는 것인 애플리케이션 매니저 노드.The method of claim 4, wherein initiating the at least one mitigation option comprises transmitting a mitigation command message to one of the at least one terminal node associated with the application data stream in which the mitigation option is to be implemented. Application manager node. 제15항에 있어서, 상기 경감 명령어 메시지는 상기 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값보다 아래에 있었던 시간 듀레이션 중 적어도 하나를 포함하는 것인 애플리케이션 매니저 노드.The application manager node of claim 15, wherein the mitigation command message includes at least one of the total quality metric value and a time duration in which the comprehensive quality metric value is below a threshold value. 제1항에 있어서, 상기 적어도 하나의 경감 옵션은 데이터 패킷을 지연시키는 것, 데이터 패킷을 폐기하는 것, 확인응답을 지연시키는 것, 확인응답을 폐기하는 것, 새로운 데이터 스트림 개시 요청을 지연시키는 것, 새로운 데이터 스트림 개시 요청을 폐기하는 것, 애플리케이션을 종료시키는 것, 및 어떠한 액션도 취하지 않는 것 중 하나 이상을 포함하는 것인 애플리케이션 매니저 노드.The method of claim 1, wherein the at least one mitigation option is to delay the data packet, discard the data packet, delay the acknowledgment, discard the acknowledgment, delay a request to initiate a new data stream. , Discarding a request to initiate a new data stream, terminating the application, and taking no action. 제1항에 있어서, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 상기 적어도 하나의 경감 옵션의 선택은 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 애플리케이션 매니저 노드.The application of claim 1, wherein the selection of the at least one mitigation option associated with one or more of the at least one application data stream is based at least in part on a data stream importance metric for each of the at least one application data stream. Manager node. 제4항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값이 임계값보다 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 애플리케이션 매니저 노드.5. The application manager node of claim 4, wherein the selected at least one mitigation option is implemented based on a time duration in which the aggregate quality metric value is below a threshold value. 제4항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값에 기반하여 구현되는 것인 애플리케이션 매니저 노드.5. The application manager node of claim 4, wherein the selected at least one mitigation option is implemented based on the aggregate quality metric value. 액세스 노드를 갖는 통신 네트워크 내 단말 노드로서,
상기 통신 네트워크를 통하여 상기 액세스 노드 내외로 데이터 패킷을 송수신하도록 구성된 트랜시버 모듈; 및
상기 트랜시버에 결합된 프로세서를 포함하되, 상기 프로세서는,
상기 통신 네트워크를 통하여 상기 액세스 노드 내외로 송수신되는 상기 데이터 패킷을 모니터링함으로써 애플리케이션 데이터 경로를 통해 적어도 하나의 애플리케이션 데이터 스트림을 검출하고,
검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 상기 애플리케이션 정보를 결정하고,
상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 애플리케이션 프로토콜(Application Protocol; APP)-에이전트 협력형 통신 제어 경로를 통해서 상기 통신 네트워크를 통하여 송신하고,
상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 상기 통신 네트워크를 통하여 애플리케이션 프로토콜(Application Protocol; APP)-에이전트 협력형 통신 제어 경로를 통해서 수신하고, 그리고
상기 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 상기 적어도 하나의 경감 명령어를 구현하도록 구성되는 것인 단말 노드.
As a terminal node in a communication network having an access node,
A transceiver module configured to transmit and receive data packets to and from the access node through the communication network; And
Comprising a processor coupled to the transceiver, wherein the processor,
At least one application data stream is detected through an application data path by monitoring the data packet transmitted and received in and out of the access node through the communication network,
For each of the detected at least one application data stream, as application information related to an application running in the terminal node associated with each application data stream, a data stream quality metric for each application data stream is included. Determine the application information to be
Transmitting application information for each of the detected at least one application data stream through the communication network through an application protocol (APP)-agent cooperative communication control path,
Receiving at least one mitigation command associated with one or more of the at least one application data stream through an application protocol (APP)-agent cooperative communication control path through the communication network, and
Wherein the terminal node is configured to implement the at least one mitigation instruction for an associated one or more of the at least one application data stream.
제21항에 있어서, 상기 통신 네트워크는 무선 통신 네트워크 및 유선 통신 네트워크 중 하나인 것인 단말 노드.The terminal node according to claim 21, wherein the communication network is one of a wireless communication network and a wired communication network. 제21항에 있어서, 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보는 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하여 결정되는 것인 단말 노드.The terminal node according to claim 21, wherein the application information for each of the detected at least one application data stream is determined based at least in part on a current terminal node characteristic data set. 제21항에 있어서, 상기 애플리케이션 정보는 상기 액세스 노드로부터 애플리케이션 매니저 노드로의 전송을 위해 상기 액세스 노드에 송신되는 것인 단말 노드.22. The terminal node according to claim 21, wherein the application information is transmitted to the access node for transmission from the access node to an application manager node. 제21항에 있어서, 상기 프로세서는 상기 각각의 애플리케이션 데이터 스트림과 연관된 하나 이상의 데이터 패킷을 검사하고 상기 하나 이상의 데이터 패킷의 검사에 기반하여 상기 애플리케이션 데이터 스트림에 애플리케이션 클래스값을 배정함으로써 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상을 분류하도록 더 구성되고, 상기 애플리케이션 클래스값은 상기 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함되는 것인 단말 노드.The method of claim 21, wherein the processor examines one or more data packets associated with each of the application data streams and assigns an application class value to the application data stream based on the inspection of the one or more data packets. The terminal node is further configured to classify one or more of the application data streams, wherein the application class value is included in application information for each of the application data streams. 제21항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보의 결정은 상기 애플리케이션 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고 상기 데이터 스트림 중요도 메트릭을 상기 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함시키는 것을 포함하는 것인 단말 노드.The method of claim 21, wherein determining application information for each application data stream comprises determining a data stream importance metric for the application data stream and including the data stream importance metric in application information for the application data stream. The terminal node that is to be. 제26항에 있어서, 상기 프로세서는 상기 각각의 애플리케이션 데이터 스트림과 연관된 애플리케이션의 현재 특성에 기반하는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 현재 애플리케이션 특성 데이터 세트, 및 상기 단말 노드의 현재 특성에 기반하는 현재 단말 노드 특성 데이터 세트 중 적어도 하나를 발생시키도록 더 구성되는 것인 단말 노드.The method of claim 26, wherein the processor is based on a current application characteristic data set for each of the at least one application data stream based on a current characteristic of an application associated with the respective application data stream, and a current characteristic of the terminal node. The terminal node further configured to generate at least one of the current terminal node characteristic data set. 제27항에 있어서, 상기 데이터 스트림 중요도 메트릭은 상기 현재 애플리케이션 특성 데이터 세트 및 상기 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하는 것인 단말 노드.28. The terminal node of claim 27, wherein the data stream importance metric is based at least in part on the current application characteristic data set and the current terminal node characteristic data set. 제27항에 있어서, 상기 현재 애플리케이션 특성 데이터 세트는 애플리케이션 클래스값, 스트림 개시 유형값, 업데이트 계류중 값, 디스플레이 위치값, 네트워크 서비스 품질(QoS)값 및 버퍼 마진값 중 적어도 하나 이상을 포함하는 것인 단말 노드.The method of claim 27, wherein the current application characteristic data set includes at least one of an application class value, a stream start type value, an update pending value, a display position value, a network quality of service (QoS) value, and a buffer margin value. Terminal node. 제27항에 있어서, 상기 현재 단말 노드 특성 데이터 세트는 사용자 주의값 및 서비스 레벨 협약(SLA)값 및 단말 노드 유형 중 적어도 하나 이상을 포함하는 것인 단말 노드.28. The terminal node of claim 27, wherein the current terminal node characteristic data set includes at least one of a user attention value and a service level agreement (SLA) value, and a terminal node type. 제26항에 있어서, 상기 데이터 스트림 품질 메트릭은 상기 애플리케이션 데이터 스트림과 연관된 분실된 또는 지연된 데이터 패킷의 표시에 적어도 일부 기반하는 것인 단말 노드.27. The terminal node of claim 26, wherein the data stream quality metric is based at least in part on an indication of lost or delayed data packets associated with the application data stream. 제26항에 있어서, 상기 데이터 스트림 품질 메트릭은 대응하는 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 상기 애플리케이션으로부터 수신된 애플리케이션 품질 메트릭값에 적어도 일부 기반하는 것인 단말 노드.The terminal node according to claim 26, wherein the data stream quality metric is based at least in part on an application quality metric value received from the application operating in the terminal node associated with a corresponding application data stream. 제21항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보는 상기 데이터 스트림에 관련된 애플리케이션 특성 데이터 세트 및 단말 노드 특성 데이터 세트 중 적어도 하나를 포함하는 것인 단말 노드.The terminal node according to claim 21, wherein the application information for each application data stream includes at least one of an application characteristic data set and a terminal node characteristic data set related to the data stream. 제21항에 있어서, 상기 애플리케이션 정보는 주기적 단위 및 비주기적 단위 중 하나로 상기 단말 노드로부터 상기 액세스 노드로 송신되는 것인 단말 노드.The terminal node according to claim 21, wherein the application information is transmitted from the terminal node to the access node in one of a periodic unit and an aperiodic unit. 제21항에 있어서, 상기 애플리케이션 정보는 상기 단말 노드와 연관된 단말 노드 아이디, 상기 액세스 노드와 연관된 셀 아이디, 및 핸드오버 메트릭값 중 하나 이상을 더 포함하는 것인 단말 노드.The terminal node of claim 21, wherein the application information further includes at least one of a terminal node ID associated with the terminal node, a cell ID associated with the access node, and a handover metric value. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 데이터 패킷 지연 명령어, 데이터 패킷 폐기 명령어, 확인응답 지연 명령어, 확인응답 폐기 명령어, 새로운 데이터 스트림 요청 지연 명령어, 새로운 데이터 스트림 요청 폐기 명령어, 및 애플리케이션 종료 명령어 중 하나 이상을 포함하는 것인 단말 노드.The method of claim 21, wherein the at least one mitigation instruction is a data packet delay instruction, a data packet discard instruction, an acknowledgment delay instruction, an acknowledgment discard instruction, a new data stream request delay instruction, a new data stream request discard instruction, and an application termination. The terminal node comprising one or more of the instructions. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값보다 아래에 있는 시간 듀레이션 중 적어도 하나를 포함하고, 상기 적어도 하나의 경감 명령어의 구현은 상기 종합적 품질 메트릭값 및 상기 시간 듀레이션 중 상기 적어도 하나에 기반하여 경감 액션을 결정하는 것을 포함하는 것인 단말 노드.The method of claim 21, wherein the at least one mitigation command includes at least one of a comprehensive quality metric value and a time duration in which the comprehensive quality metric value is less than a threshold value, and the implementation of the at least one mitigation command is the comprehensive And determining a mitigation action based on the at least one of a quality metric value and the time duration. 제21항에 있어서, 상기 적어도 하나의 경감 명령어의 구현은 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 단말 노드.22. The terminal node of claim 21, wherein the implementation of the at least one mitigation instruction is based at least in part on a data stream importance metric for each of the at least one application data stream. 제38항에 있어서, 상기 적어도 하나의 경감 명령어 중 각각의 하나는 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 상기 애플리케이션 데이터 스트림 상에 구현되고, 그 후 연속하여 다음의 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 적어도 하나의 다른 애플리케이션 데이터 스트림에 대해 구현되는 것인 단말 노드.39. The method of claim 38, wherein each one of the at least one mitigation instruction is implemented on the application data stream having the lowest data stream importance metric, and thereafter at least one having the next lowest data stream importance metric in succession. A terminal node that is implemented for other application data streams. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 구현의 시간 듀레이션이 증가함에 따라 증가하는 수의 연관된 애플리케이션 데이터 스트림 상에 구현되는 것인 단말 노드.22. The terminal node of claim 21, wherein the at least one mitigation instruction is implemented on an increasing number of associated application data streams as the time duration of implementation increases. 제21항에 있어서, 상기 적어도 하나의 경감 명령어는 품질 메트릭값이 임계값보다 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 단말 노드.22. The terminal node of claim 21, wherein the at least one mitigation command is implemented based on a time duration in which a quality metric value is less than a threshold value. 제21항에 있어서, 상기 적어도 하나의 경감 명령어의 구현 레벨은 품질 메트릭값에 기반하는 것인 단말 노드.The terminal node according to claim 21, wherein the implementation level of the at least one mitigation instruction is based on a quality metric value. 통신 네트워크에서 애플리케이션 품질의 관리를 위한 방법으로서, 상기 방법은,
적어도 하나의 단말 노드에서 동작하고 있는 적어도 하나의 애플리케이션과 연관된 적어도 하나의 애플리케이션 데이터 스트림에 관련된 애플리케이션 정보를 애플리케이션 프로토콜(Application Protocol; APP)-에이전트 협력형 통신 제어 경로를 통해 상기 적어도 하나의 단말 노드로부터 수신하는 단계로서, 상기 적어도 하나의 애플리케이션 데이터 스트림은 애플리케이션 데이터 경로를 통해 통신되는, 단계;
상기 애플리케이션 정보에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각과 액세스 노드 간 관계를 포함하는 관계 맵을 업데이트하는 단계;
상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하여 종합적 품질 메트릭값을 결정하는 단계; 및
상기 종합적 품질 메트릭값에 기반하여, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 적어도 하나의 경감 옵션을 선택하는 단계를 포함하는 것인 방법.
A method for managing application quality in a communication network, the method comprising:
Application information related to at least one application data stream associated with at least one application operating in at least one terminal node is transmitted from the at least one terminal node through an application protocol (APP)-agent cooperative communication control path. Receiving, the at least one application data stream being communicated via an application data path;
Updating a relationship map including a relationship between each of the at least one application data stream and an access node based on the application information;
Determining a comprehensive quality metric value based at least in part on the application information received from one or more of the at least one terminal node; And
And selecting at least one mitigation option for one or more of the at least one application data stream based on the overall quality metric value.
제43항에 있어서, 상기 관계 맵은 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보를 애플리케이션 매니저 노드에 송신한 상기 적어도 하나의 단말 노드 중 하나와 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각 간 관계를 더 포함하는 것인 방법.The method of claim 43, wherein the relationship map further comprises a relationship between each of the at least one application data stream and one of the at least one terminal node that has transmitted application information for each application data stream to an application manager node. How it would be. 제43항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나 이상으로부터 수신된 상기 애플리케이션 정보에 적어도 일부 기반하는 것인 방법.44. The method of claim 43, wherein the aggregate quality metric value is based at least in part on the application information received from one or more of the at least one terminal node associated with the access node. 제43항에 있어서, 상기 적어도 하나의 경감 옵션을 개시하는 단계를 더 포함하는 방법.44. The method of claim 43, further comprising initiating the at least one mitigation option. 제43항에 있어서, 상기 종합적 품질 메트릭값은 임계값에 비교되고 경감 선택은 상기 종합적 품질 메트릭값이 상기 임계값을 교차하면 수행되는 것인 방법.44. The method of claim 43, wherein the aggregate quality metric value is compared to a threshold value and mitigation selection is performed if the aggregate quality metric value crosses the threshold value. 제43항에 있어서, 상기 액세스 노드 및 상기 단말 노드가 통하여 통신하는 통신 링크는 무선 네트워크 및 유선 네트워크 중 하나인 것인 방법.44. The method of claim 43, wherein the communication link through which the access node and the terminal node communicate is one of a wireless network and a wired network. 제43항에 있어서, 상기 애플리케이션 정보는 상기 적어도 하나의 단말 노드로부터 수신되는 비주기적 보고 및 주기적 보고 중 하나인 것인 방법.44. The method of claim 43, wherein the application information is one of an aperiodic report and a periodic report received from the at least one terminal node. 제43항에 있어서, 상기 애플리케이션 정보는 애플리케이션 정보 및 단말 노드 정보를 포함하고, 상기 종합적 품질 메트릭값은 상기 애플리케이션 정보 및 상기 단말 노드 정보에 기반하여 결정되는 것인 방법.44. The method of claim 43, wherein the application information includes application information and terminal node information, and the comprehensive quality metric value is determined based on the application information and the terminal node information. 제43항에 있어서, 상기 애플리케이션 정보는 대응하는 애플리케이션과 연관된 적어도 하나의 데이터 스트림 중 하나 이상에 관련된 데이터 스트림 중요도 메트릭 및 데이터 스트림 품질 메트릭 중 적어도 하나를 포함하는 것인 방법.44. The method of claim 43, wherein the application information includes at least one of a data stream importance metric and a data stream quality metric related to one or more of at least one data stream associated with a corresponding application. 제43항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드의 셀과 연관되어 있는 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 셀-와이드 품질 메트릭값인 것인 방법.The method of claim 43, wherein the comprehensive quality metric value is a cell-wide quality metric value determined based on a data stream quality metric for one or more of the at least one application data stream associated with a cell of the access node. Way. 제52항에 있어서, 상기 종합적 품질 메트릭값을 결정하는 단계는 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상에 대한 상기 데이터 스트림 품질 메트릭의 평균값에 기반하는 것인 방법.53. The method of claim 52, wherein determining the overall quality metric value is based on an average value of the data stream quality metric for one or more of the at least one application data stream. 제52항에 있어서, 상기 종합적 품질 메트릭값을 결정할 때 각각의 데이터 스트림 품질 메트릭에 가중치가 적용되고, 각각의 가중치는 서비스 레벨 협약(SLA)값, 서비스 품질(QoS)값 및 데이터 스트림 중요도 메트릭 중 적어도 하나에 기반하는 것인 방법.The method of claim 52, wherein when determining the overall quality metric value, a weight is applied to each data stream quality metric, and each weight is selected from among a service level agreement (SLA) value, a quality of service (QoS) value, and a data stream importance metric. Method based on at least one. 제43항에 있어서, 상기 종합적 품질 메트릭값은 상기 액세스 노드와 연관된 상기 적어도 하나의 애플리케이션 데이터 스트림의 서브세트의 각각에 대한 데이터 스트림 품질 메트릭에 기반하여 결정되는 것인 방법.44. The method of claim 43, wherein the aggregate quality metric value is determined based on a data stream quality metric for each of a subset of the at least one application data stream associated with the access node. 제47항에 있어서, 상기 적어도 하나의 경감 옵션을 선택하는 단계는 상기 종합적 품질 메트릭값이 최소 시간 듀레이션 동안 상기 임계값보다 아래에 머무르면 수행되는 것인 방법.48. The method of claim 47, wherein selecting the at least one mitigation option is performed if the aggregate quality metric value stays below the threshold value for a minimum time duration. 제46항에 있어서, 상기 적어도 하나의 경감 옵션을 개시하는 단계는 상기 경감 옵션이 구현되어야 할 상기 애플리케이션 데이터 스트림과 연관되어 있는 상기 적어도 하나의 단말 노드 중 하나에 경감 명령어 메시지를 송신하는 단계를 포함하는 것인 방법.The method of claim 46, wherein initiating the at least one mitigation option comprises transmitting a mitigation command message to one of the at least one terminal node associated with the application data stream in which the mitigation option is to be implemented. How to do it. 제57항에 있어서, 상기 경감 명령어 메시지는 상기 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값보다 아래에 있었던 시간 듀레이션 중 적어도 하나를 포함하는 것인 방법.58. The method of claim 57, wherein the mitigation command message includes at least one of the aggregate quality metric value and a time duration in which the aggregate quality metric value was below a threshold value. 제43항에 있어서, 상기 적어도 하나의 경감 옵션은 데이터 패킷을 지연시키는 것, 데이터 패킷을 폐기하는 것, 확인응답을 지연시키는 것, 확인응답을 폐기하는 것, 새로운 데이터 스트림 개시 요청을 지연시키는 것, 새로운 데이터 스트림 개시 요청을 폐기하는 것, 애플리케이션을 종료시키는 것, 및 어떠한 액션도 취하지 않는 것 중 하나 이상을 포함하는 것인 방법.44. The method of claim 43, wherein the at least one mitigation option is to delay the data packet, discard the data packet, delay the acknowledgment, discard the acknowledgment, delay a request to initiate a new data stream. , Discarding a request to initiate a new data stream, terminating the application, and taking no action. 제43항에 있어서, 상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 상기 적어도 하나의 경감 옵션을 선택하는 단계는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 방법.44. The method of claim 43, wherein selecting the at least one mitigation option associated with one or more of the at least one application data stream is based at least in part on a data stream importance metric for each of the at least one application data stream. Way. 제46항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값이 임계값보다 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 방법.47. The method of claim 46, wherein the selected at least one mitigation option is implemented based on a time duration in which the aggregate quality metric value is below a threshold value. 제46항에 있어서, 선택된 적어도 하나의 경감 옵션은 상기 종합적 품질 메트릭값에 기반하여 구현되는 것인 방법.47. The method of claim 46, wherein the selected at least one mitigation option is implemented based on the aggregate quality metric value. 통신 네트워크 내 단말 노드에서 애플리케이션 품질을 관리하기 위한 방법으로서, 상기 방법은,
상기 통신 네트워크를 통하여 액세스 노드 내외로 송수신되는 데이터 패킷을 모니터링함으로써 애플리케이션 데이터 경로를 통해 적어도 하나의 애플리케이션 데이터 스트림을 검출하는 단계;
검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대하여, 각각의 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 애플리케이션에 관련된 애플리케이션 정보로서 각각의 각각의 애플리케이션 데이터 스트림에 대한 데이터 스트림 품질 메트릭을 포함하는 상기 애플리케이션 정보를 결정하는 단계;
상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보를 애플리케이션 프로토콜(Application Protocol; APP)-에이전트 협력형 통신 제어 경로를 통해서 상기 통신 네트워크를 통하여 송신하는 단계;
상기 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상과 연관된 적어도 하나의 경감 명령어를 상기 통신 네트워크를 통하여 애플리케이션 프로토콜(Application Protocol; APP)-에이전트 협력형 통신 제어 경로를 통해서 수신하는 단계; 및
상기 적어도 하나의 애플리케이션 데이터 스트림 중 연관된 하나 이상에 대해 상기 적어도 하나의 경감 명령어를 구현하는 단계를 포함하는 것인 방법.
A method for managing application quality in a terminal node in a communication network, the method comprising:
Detecting at least one application data stream through an application data path by monitoring data packets transmitted and received in and out of the access node through the communication network;
For each of the detected at least one application data stream, as application information related to an application running in the terminal node associated with each application data stream, a data stream quality metric for each application data stream is included. Determining the application information to be performed;
Transmitting application information for each of the detected at least one application data stream through the communication network through an application protocol (APP)-agent cooperative communication control path;
Receiving at least one mitigation command associated with at least one of the at least one application data stream through an application protocol (APP)-agent cooperative communication control path through the communication network; And
And implementing the at least one mitigation instruction for an associated one or more of the at least one application data stream.
제63항에 있어서, 상기 통신 네트워크는 무선 통신 네트워크 및 유선 통신 네트워크 중 하나인 것인 방법.64. The method of claim 63, wherein the communication network is one of a wireless communication network and a wired communication network. 제63항에 있어서, 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 애플리케이션 정보는 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하여 결정되는 것인 방법.64. The method of claim 63, wherein application information for each of the detected at least one application data stream is determined based at least in part on a current terminal node characteristic data set. 제63항에 있어서, 상기 애플리케이션 정보는 상기 액세스 노드로부터 애플리케이션 매니저 노드로의 전송을 위해 상기 액세스 노드에 송신되는 것인 방법.64. The method of claim 63, wherein the application information is transmitted to the access node for transmission from the access node to an application manager node. 제63항에 있어서, 상기 각각의 애플리케이션 데이터 스트림과 연관된 하나 이상의 데이터 패킷을 검사하고 상기 하나 이상의 데이터 패킷의 검사에 기반하여 상기 애플리케이션 데이터 스트림에 애플리케이션 클래스값을 배정함으로써 상기 검출된 적어도 하나의 애플리케이션 데이터 스트림 중 하나 이상을 분류하고, 상기 애플리케이션 클래스값을 상기 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함시키는 단계를 더 포함하는 방법.64. The detected at least one application data according to claim 63, by examining one or more data packets associated with each of the application data streams and assigning an application class value to the application data stream based on the inspection of the one or more data packets. Classifying at least one of the streams, and including the application class value in application information for each of the application data streams. 제63항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보를 결정하는 단계는 상기 애플리케이션 데이터 스트림에 대한 데이터 스트림 중요도 메트릭을 결정하고 상기 데이터 스트림 중요도 메트릭을 상기 애플리케이션 데이터 스트림에 대한 애플리케이션 정보에 포함시키는 단계를 포함하는 것인 방법.64. The method of claim 63, wherein determining application information for each application data stream comprises determining a data stream importance metric for the application data stream and including the data stream importance metric in application information for the application data stream. The method comprising the step. 제68항에 있어서, 상기 각각의 애플리케이션 데이터 스트림과 연관된 애플리케이션의 현재 특성에 기반하는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 현재 애플리케이션 특성 데이터 세트, 및 상기 단말 노드의 현재 특성에 기반하는 현재 단말 노드 특성 데이터 세트 중 적어도 하나를 발생시키는 단계를 더 포함하는 방법.69. The terminal of claim 68, wherein a current application characteristic data set for each of the at least one application data stream based on a current characteristic of an application associated with the respective application data stream, and a current terminal based on a current characteristic of the terminal node. The method further comprising generating at least one of the node characteristic data sets. 제69항에 있어서, 상기 데이터 스트림 중요도 메트릭은 상기 현재 애플리케이션 특성 데이터 세트 및 상기 현재 단말 노드 특성 데이터 세트에 적어도 일부 기반하는 것인 방법.70. The method of claim 69, wherein the data stream importance metric is based at least in part on the current application characteristic data set and the current terminal node characteristic data set. 제69항에 있어서, 상기 현재 애플리케이션 특성 데이터 세트는 애플리케이션 클래스값, 스트림 개시 유형값, 업데이트 계류중 값, 디스플레이 위치값, 네트워크 서비스 품질(QoS)값 및 버퍼 마진값 중 적어도 하나 이상을 포함하는 것인 방법.The method of claim 69, wherein the current application characteristic data set comprises at least one of an application class value, a stream start type value, an update pending value, a display position value, a network quality of service (QoS) value, and a buffer margin value. Way. 제69항에 있어서, 상기 현재 단말 노드 특성 데이터 세트는 사용자 주의값 및 서비스 레벨 협약(SLA)값 및 단말 노드 유형 중 적어도 하나 이상을 포함하는 것인 방법.70. The method of claim 69, wherein the current terminal node characteristic data set includes at least one of a user attention value and a service level agreement (SLA) value, and a terminal node type. 제68항에 있어서, 상기 데이터 스트림 품질 메트릭은 상기 애플리케이션 데이터 스트림과 연관된 분실된 또는 지연된 데이터 패킷의 표시에 적어도 일부 기반하는 것인 방법.69. The method of claim 68, wherein the data stream quality metric is based at least in part on an indication of lost or delayed data packets associated with the application data stream. 제68항에 있어서, 상기 데이터 스트림 품질 메트릭은 대응하는 애플리케이션 데이터 스트림과 연관되어 있는 상기 단말 노드에서 동작하고 있는 상기 애플리케이션으로부터 수신된 애플리케이션 품질 메트릭값에 적어도 일부 기반하는 것인 방법.69. The method of claim 68, wherein the data stream quality metric is based at least in part on an application quality metric value received from the application operating at the terminal node associated with a corresponding application data stream. 제63항에 있어서, 각각의 애플리케이션 데이터 스트림에 대한 애플리케이션 정보는 상기 데이터 스트림에 관련된 애플리케이션 특성 데이터 세트 및 단말 노드 특성 데이터 세트 중 적어도 하나를 포함하는 것인 방법.64. The method of claim 63, wherein the application information for each application data stream comprises at least one of an application characteristic data set and a terminal node characteristic data set related to the data stream. 제63항에 있어서, 상기 애플리케이션 정보는 주기적 단위 및 비주기적 단위 중 하나로 상기 단말 노드로부터 상기 액세스 노드로 송신되는 것인 방법.64. The method of claim 63, wherein the application information is transmitted from the terminal node to the access node in one of a periodic unit and an aperiodic unit. 제63항에 있어서, 상기 애플리케이션 정보는 상기 단말 노드와 연관된 단말 노드 아이디, 상기 액세스 노드와 연관된 셀 아이디, 및 핸드오버 메트릭값 중 하나 이상을 더 포함하는 것인 방법.64. The method of claim 63, wherein the application information further comprises one or more of a terminal node ID associated with the terminal node, a cell ID associated with the access node, and a handover metric value. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 데이터 패킷 지연 명령어, 데이터 패킷 폐기 명령어, 확인응답 지연 명령어, 확인응답 폐기 명령어, 새로운 데이터 스트림 요청 지연 명령어, 새로운 데이터 스트림 요청 폐기 명령어, 및 애플리케이션 종료 명령어 중 하나 이상을 포함하는 것인 방법.The method of claim 63, wherein the at least one mitigation instruction is a data packet delay instruction, a data packet discard instruction, an acknowledgment delay instruction, an acknowledgment discard instruction, a new data stream request delay instruction, a new data stream request discard instruction, and an application termination. Comprising one or more of the instructions. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 종합적 품질 메트릭값 및 상기 종합적 품질 메트릭값이 임계값보다 아래에 있는 시간 듀레이션 중 적어도 하나를 포함하고, 상기 적어도 하나의 경감 명령어를 구현하는 단계는 상기 종합적 품질 메트릭값 및 상기 시간 듀레이션 중 상기 적어도 하나에 기반하여 경감 액션을 결정하는 단계를 포함하는 것인 방법.The method of claim 63, wherein the at least one mitigation command includes at least one of a comprehensive quality metric value and a time duration in which the comprehensive quality metric value is less than a threshold value, and implementing the at least one mitigation command comprises: And determining a mitigation action based on the at least one of the aggregate quality metric value and the time duration. 제63항에 있어서, 상기 적어도 하나의 경감 명령어를 구현하는 단계는 상기 적어도 하나의 애플리케이션 데이터 스트림의 각각에 대한 데이터 스트림 중요도 메트릭에 적어도 일부 기반하는 것인 방법.64. The method of claim 63, wherein implementing the at least one mitigation instruction is based at least in part on a data stream importance metric for each of the at least one application data stream. 제80항에 있어서, 상기 적어도 하나의 경감 명령어는 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 상기 애플리케이션 데이터 스트림 상에 구현되고, 그 후 연속하여 다음의 가장 낮은 데이터 스트림 중요도 메트릭을 갖는 적어도 하나의 다른 애플리케이션 데이터 스트림에 대해 구현되는 것인 방법.81. The method of claim 80, wherein the at least one mitigation instruction is implemented on the application data stream having the lowest data stream importance metric, and thereafter at least one other application data having the next lowest data stream importance metric in succession. The method that is implemented for streams. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 구현의 시간 듀레이션이 증가함에 따라 증가하는 수의 연관된 애플리케이션 데이터 스트림 상에 구현되는 것인 방법.64. The method of claim 63, wherein the at least one mitigation instruction is implemented on an increasing number of associated application data streams as the time duration of the implementation increases. 제63항에 있어서, 상기 적어도 하나의 경감 명령어는 품질 메트릭값이 임계값보다 아래에 있는 시간 듀레이션에 기반하여 구현되는 것인 방법.64. The method of claim 63, wherein the at least one mitigation instruction is implemented based on a time duration in which a quality metric value is below a threshold value. 제63항에 있어서, 상기 적어도 하나의 경감 명령어의 구현 레벨은 품질 메트릭값에 기반하는 것인 방법.64. The method of claim 63, wherein the level of implementation of the at least one mitigation instruction is based on a quality metric value.
KR1020140193534A 2013-12-30 2014-12-30 Application quality management in a cooperative communication system KR102234927B1 (en)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=53396023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140193534A KR102234927B1 (en) 2013-12-30 2014-12-30 Application quality management in a cooperative communication system

Country Status (2)

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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3049150B1 (en) * 2016-03-21 2019-06-07 Societe Francaise Du Radiotelephone-Sfr METHOD AND SYSTEM FOR OPTIMIZING INDIVIDUALIZED FLOW WITHIN A TELECOMMUNICATIONS NETWORK
KR101956882B1 (en) * 2017-11-01 2019-06-19 국민대학교산학협력단 Apparatus and method of collecting frequent events in distributed systems based on bitmap, storage media storing the same
CN111953552B (en) * 2019-05-14 2022-12-13 华为技术有限公司 Data flow classification method and message forwarding equipment
CN112616177B (en) * 2020-12-25 2023-07-21 Oppo广东移动通信有限公司 Network control method, device, storage medium and terminal
KR102628952B1 (en) * 2022-09-20 2024-01-23 최수정 Method for operating payment mediation system through coupon issuance

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

Also Published As

Publication number Publication date
KR20150079463A (en) 2015-07-08
FR3016108B1 (en) 2019-06-28
FR3016108A1 (en) 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
US10097946B2 (en) Systems and methods for cooperative applications in communication systems
KR102013729B1 (en) Systems and methods for application-aware admission control in a communication network
KR101489414B1 (en) Systems and methods for detection for prioritizing and scheduling packets in a communication network
WO2017193970A1 (en) Method and system for providing guaranteed quality of service and quality of experience channel
US9843964B2 (en) Method and apparatus for managing congestion in wireless communication system
US20120327779A1 (en) Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
US20120281536A1 (en) Systems and methods for detection for prioritizing and scheduling packets in a communication network
CN104753812B (en) Application quality management in a communication system
KR20170093938A (en) Quality of experience enforcement in communications
WO2016091298A1 (en) Updating flow-specific qos policies based on information reported from base station
CN109041112B (en) Access node and method of operating an access node
KR102234927B1 (en) Application quality management in a cooperative communication system
EP2859769B1 (en) Systems and methods for cooperative applications in communication systems
Longhao Innovative content delivery solutions in the future network heterogeneous environment

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