KR101489414B1 - 통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템 - Google Patents

통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템 Download PDF

Info

Publication number
KR101489414B1
KR101489414B1 KR1020147000519A KR20147000519A KR101489414B1 KR 101489414 B1 KR101489414 B1 KR 101489414B1 KR 1020147000519 A KR1020147000519 A KR 1020147000519A KR 20147000519 A KR20147000519 A KR 20147000519A KR 101489414 B1 KR101489414 B1 KR 101489414B1
Authority
KR
South Korea
Prior art keywords
delete delete
data
packet
queue
stream
Prior art date
Application number
KR1020147000519A
Other languages
English (en)
Other versions
KR20140040798A (ko
Inventor
데이비드 겔
케니스 엘. 스탠우드
고피너스 무랠리 치나탐비
하이보 쑤
아메드 엘 아라바위
일리앙 바오
Original Assignee
와이-랜 랩스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/166,660 external-priority patent/US20120327778A1/en
Priority claimed from US13/236,308 external-priority patent/US9065779B2/en
Application filed by 와이-랜 랩스, 인코포레이티드 filed Critical 와이-랜 랩스, 인코포레이티드
Publication of KR20140040798A publication Critical patent/KR20140040798A/ko
Application granted granted Critical
Publication of KR101489414B1 publication Critical patent/KR101489414B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/24Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

시스템 및 방법은, 이종 애플리케이션으로부터의 데이터 스트림이 들어있는 스케줄링 그룹과 사용될 수 있고 최종-사용자 애플리케이션 인지를 편입시키는 파라미터화된 스케줄링 시스템을 제공한다. 데이터 패킷은 패킷을 통신하는 것과 연관된 특성을 검출하기 위해 다중 프로토콜 레벨에서 분석된다. 데이터 패킷은 특성을 검출하는 것이 효율적으로 수행되도록 필터링된다. 검출된 특성은 패킷의 송신을 스케줄링하는데 사용될 수 있다. 검출된 특성은 스케줄링 파라미터를 동적으로 변경하는데 사용될 수 있다. 동적 스케줄링 파라미터는 회귀적 네트워크 패턴, 일회적 이벤트, 애플리케이션 특성, 프로토콜 특성, 디바이스 특성, 서비스 레벨 합의 또는 그 조합에 응답하여 사용자 경험 품질(QoE)을 최대화할 수 있다. 또한 스케줄링 파라미터는 혼잡 기간 동안 비디오 트래픽을 관리하기 위해 비디오 품질의 최종 사용자의 지각에 있어서 "듀레이션 무시" 및 "최근성 효과"의 관념을 편입하고 있다.

Description

통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템{SYSTEMS AND METHODS FOR DETECTION FOR PRIORITIZING AND SCHEDULING PACKETS IN A COMMUNICATION NETWORK}
일반적으로 본 발명은 통신 시스템 분야에 관한 것으로, 통신 네트워크에서 패킷의 우선순위 및 스케줄을 정하기 위한 검출 방법 및 시스템에 관한 것이다.
인터넷 프로토콜(Internet Protocol: IP) 네트워크와 같은 통신 네트워크에 있어서, 각각의 노드 및 서브네트는 어느 소정 시각에라도 효과적으로 전송될 수 있는 데이터량에 대한 제한을 갖는다. 유선 네트워크에 있어서, 흔히 이것은 장비 능력의 함수이다. 예컨대, 기가비트 이더넷 링크는 초당 1십억 이내 비트의 트래픽을 전송할 수 있다. 무선 네트워크에 있어서, 용량은 사용되는 통신 프로토콜, 송신 기술 및 채널 대역폭에 의해 제한된다. 무선 네트워크는 송신과 수신 시스템 간 신호의 품질 및 서비스 에어리어에 할당된 스펙트럼의 양에 의해 더 제약된다. 이들 태양은 동적일 수 있기 때문에, 무선 시스템의 용량은 시간에 따라 달라질 수 있다.
부가적으로, 각각의 노드는 수행할 수 있는 프로세싱에 대한 제한을 갖는다. 가용 프로세싱을 증가시키는 것은 비용이 많이 들 수 있거나 노드가 서비스를 하지 않게 될 것을 요구할 수 있다. 나아가, 노드는 가용 프로세싱을 다투는 많은 여러 다른 기능을 가질 수 있다. 충분한 프로세싱 능력이 이용가능할 때조차도, 그 사용은 비용을 수반하는데, 예컨대, 전력 소비에 있어서이다.
최종-사용자 애플리케이션 인지를 편입하고, 파라미터화된(또는 가중치-기반) 스케줄링 시스템 및 그 효율적 구현을 제공하기 위한 시스템 및 방법이 제공된다. 본 명세서에서 개시되는 시스템 및 방법은 이종 애플리케이션으로부터의 데이터 스트림이 들어있는 스케줄링 그룹을 갖는 통신 시스템을 포함할 수 있다. 일부 실시예는 최종-사용자 애플리케이션에 의해 데이터 트래픽을 분류하기 위해 패킷 검사를 사용한다. 스케줄링 그룹 내 개개의 데이터 큐는 애플리케이션 등급, 특정 애플리케이션, 개개의 데이터 스트림 또는 그 어떤 조합에 기반하여 생성될 수 있다. 실시예는 스케줄러 파라미터(가중치, 크레디트 또는 데빗(debit) 등)를 수정하고 그로써 스케줄링 그룹에 배정되는 데이터 스트림의 처리를 차별화하기 위해 애플리케이션 인자(Application Factor: AF)와 함께 애플리케이션 정보를 사용한다. 일 실시예에 있어서, 회귀적 네트워크 패턴, 일회적 이벤트, 애플리케이션 특성, 또는 그들 중 어떠한 조합에 응답하여 사용자 경험 품질(Quality of Experience: QoE)을 최대화하기 위해 동적 AF 설정의 사용을 통해 서로 다른 사용자 애플리케이션의 상대적 중요도를 조절하는 방법이 제공된다.
일 실시예에 있어서, 스케줄링 가중치를 동적으로 관리함으로써 비디오 애플리케이션에 대한 사용자 QoE를 최대화하기 위한 방법이 제공된다. 이 방법은 혼잡 기간 동안 비디오 트래픽을 최적으로 관리하기 위해 비디오 품질(즉, 비디오 QoE)의 최종-사용자의 지각에 있어서 "듀레이션 무시" 및 "최근성 효과(recency effect)"의 관념을 편입하고 있다.
일 실시예에 있어서는, 무선 통신 시스템에서 데이터 패킷의 송신을 스케줄링하기 위한 가중치-기반 스케줄링 시스템이 제공된다. 그 시스템은 분류 및 큐잉 모듈, 가중치 계산 모듈 및 스케줄러 모듈을 포함한다. 분류 및 큐잉 모듈은 복수의 이종 데이터 스트림으로부터의 데이터를 포함하는 입력 트래픽을 수신하도록 구성된다. 분류 및 큐잉 모듈은 또한 각각의 패킷을 분석하고 패킷의 속성에 기반하여 데이터 큐 및 스케줄링 그룹에 데이터 패킷을 배정하도록 구성된다. 분류 및 큐잉 모듈은 하나 이상의 데이터 큐 및 하나 이상의 데이터 큐의 각각에서의 데이터 패킷과 연관된 분류 정보를 출력하도록 더 구성된다. 가중치 계산 모듈은 분류 및 큐잉 모듈로부터 분류 정보를 수신하고 하나 이상의 데이터 큐의 각각에 대한 가중치를 계산하고 계산된 가중치를 출력하도록 구성된다. 스케줄러 모듈은 분류 및 큐잉 모듈로부터 하나 이상의 데이터 큐를 수신하고 가중치 계산 모듈로부터 계산된 가중치를 수신하도록 구성된다. 스케줄러 모듈은 계산된 가중치에 기반하여 하나 이상의 데이터 큐로부터 데이터 패킷을 선택하고 선택된 데이터 패킷을 물리적 통신 계층을 통한 송신을 위해 출력 큐에 삽입하도록 더 구성된다.
일 실시예에 있어서, 통신 네트워크에서 데이터 패킷의 우선순위결정 및 스케줄링 방법이 제공된다. 그 방법은 복수의 데이터 패킷을 수신하는 단계; 복수의 데이터 패킷을 분류하는 단계; 복수의 데이터 패킷을 복수의 스케줄링 그룹으로 구분하는 단계; 복수의 데이터 패킷을 복수의 데이터 큐로 구분하는 단계; 데이터 큐의 각각과 연관될 가중치를 결정하는 단계를 포함한다. 가중치는 적어도 일부 데이터 패킷과 연관된 애플리케이션 유형에 의해 결정된다. 그 방법은 데이터 큐와 연관된 가중치에 기반하여 복수의 데이터 큐로부터 데이터 패킷을 선택하는 단계; 선택된 패킷을 데이터 큐의 각각과 연관된 가중치에 기반하여 출력 데이터 큐에 삽입하는 단계; 및 네트워크 통신 매체에 걸친 송신을 위해 복수의 데이터 패킷을 출력 데이터 큐로부터 물리적 통신 계층에 걸쳐 송신하는 단계를 더 포함한다.
일 실시예에 있어서, 데이터 패킷의 송신을 스케줄링하기 위해 통신 디바이스를 동작시키는 방법이 제공된다. 그 방법은 통신 네트워크로부터 데이터 패킷을 수신하는 단계; 데이터 패킷을 분류하는 단계; 데이터 패킷을 분류하는 단계에 기반하여 적어도 하나의 데이터 큐와 각각 연관된 스케줄링 그룹으로 구분하는 단계; 데이터 패킷의 각각을 대응하는 스케줄링 그룹과 연관된 데이터 큐 중 하나에 삽입하는 단계; 데이터 패킷과 연관된 애플리케이션을 결정하는 단계; 대응하는 데이터 큐에서의 데이터 패킷과 연관된 애플리케이션에 적어도 일부 기반하는, 데이터 큐에 대한 가중치를 결정하는 단계; 가중치를 고려하여 데이터 패킷을 데이터 큐로부터 출력 큐로 스케줄링하는 단계; 및 데이터 패킷을 출력 큐로부터 통신 네트워크로 송신하는 단계를 포함한다.
일 실시예에 있어서, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스가 제공된다. 그 통신 디바이스는 데이터 패킷을 수신하고, 데이터 패킷의 속성을 분석하고, 속성에 기반하여 데이터 큐 중 적어도 하나와 각각 연관된 스케줄링 그룹에 데이터 패킷을 배정하고, 데이터 큐에서의 데이터 패킷을 출력하고, 데이터 패킷과 연관된 애플리케이션을 결정하고, 애플리케이션에 대한 정보를 출력하도록 구성된 분류 및 큐잉 모듈; 분류 및 큐잉 모듈로부터의 애플리케이션 정보를 이용하여 데이터 큐에 대한 상대적 우선순위를 나타내는 가중치를 계산 및 출력하도록 구성된 가중치 계산 모듈; 및 가중치 계산 모듈로부터의 가중치를 고려하는 순서로 데이터 큐로부터 데이터 패킷을 선택하고 선택된 데이터 패킷을 물리적 통신 계층을 통한 송신을 위해 출력 큐에 삽입하도록 구성된 스케줄러 모듈을 포함한다.
일 실시예에 있어서, 데이터 패킷의 송신을 스케줄링하기 위해 통신 디바이스를 동작시키는 방법이 제공된다. 그 방법은: 통신 네트워크로부터 데이터 패킷을 수신하는 단계; 데이터 패킷과 연관된 애플리케이션을 결정하는 단계; 데이터 패킷의 각각을 복수의 데이터 큐 중 하나에 삽입하는 단계; 대응하는 데이터 큐에서의 데이터 패킷과 연관된 애플리케이션에 기반하는 인자를 포함하는, 데이터 큐에 대한 스케줄러 파라미터를 결정하는 단계; 스케줄러 파라미터를 고려하여 데이터 패킷을 데이터 큐로부터 출력 큐로 스케줄링하는 단계; 및 데이터 패킷을 출력 큐로부터 통신 네트워크로 송신하는 단계를 포함한다.
일 실시예에 있어서, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스가 제공된다. 그 통신 디바이스는: 데이터 패킷을 수신하고 데이터 패킷을 데이터 큐에 출력하도록 구성된 분류 및 큐잉 모듈로서, 데이터 패킷의 속성을 분석하고, 데이터 패킷과 연관된 애플리케이션을 결정하고, 애플리케이션에 대한 정보를 출력하도록 구성된 패킷 검사 모듈을 포함하는 분류 및 큐잉 모듈; 데이터 큐에 대한 상대적 우선순위를 나타내는 스케줄러 파라미터를 계산 및 출력하도록 구성된 스케줄러 파라미터 계산 모듈로서, 스케줄러 파라미터는 패킷 검사 모듈로부터의 애플리케이션 정보에 기반하는 인자를 포함하는 것인 상기 스케줄러 파라미터 계산 모듈; 및 스케줄러 파라미터 계산 모듈로부터의 스케줄러 파라미터를 고려하는 순서로 데이터 큐로부터 데이터 패킷을 선택하고 선택된 데이터 패킷을 물리적 통신 계층을 통한 송신을 위해 출력 큐에 삽입하도록 구성된 스케줄러 모듈을 포함한다.
일 실시예에 있어서, 데이터 패킷의 송신을 스케줄링하기 위해 통신 디바이스를 동작시키는 방법이 제공된다. 그 방법은 통신 네트워크로부터 데이터 패킷을 수신하는 단계; 수신된 데이터 패킷에 들어있는 하나 이상의 커넥션을 커넥션의 특성을 검출하기 위해 모니터링하는 단계; 데이터 패킷의 각각을 복수의 데이터 큐 중 하나에 삽입하는 단계; 대응하는 데이터 큐에서의 데이터 패킷과 연관된 검출된 특성에 기반하는 인자를 포함하는, 데이터 큐에 대한 스케줄러 파라미터를 결정하는 단계; 스케줄러 파라미터를 고려하여 송신을 위해 데이터 큐로부터의 데이터 패킷을 스케줄링하는 단계; 및 스케줄링에 기반하여 데이터 패킷을 송신하는 단계를 포함한다.
일 실시예에 있어서, 통신 디바이스가 제공된다. 통신 디바이스는 데이터 패킷을 수신하고, 수신된 패킷을 분석하고, 스케줄러 파라미터를 고려하여 통신 디바이스로부터의 송신을 위해 수신된 패킷을 스케줄링하도록 구성되고 패킷 검사 모듈을 포함하는 파라미터화된 스케줄링 모듈을 포함하고, 패킷 검사 모듈은: 수신된 데이터 패킷 중 어느 것이 더 검사되어야 하는지 결정하도록 구성된 트래픽 모니터링 모듈; 데이터 패킷을 전송하는데 사용되는 커넥션에 대한 정보를 검출하도록 구성된 커넥션 검출 모듈; 데이터 패킷과 연관된 스트림, 세션 및 애플리케이션에 대한 정보를 검출하도록 구성된 스트림 및 세션 검출 모듈; 및 검출된 정보를 저장하도록 구성된 상태 모듈을 포함한다.
본 발명의 다른 특징 및 이점은 본 발명의 태양을 예로써 예시하는 이하의 설명으로부터 명백해져야 한다.
본 발명의 상세는, 그 구조에 대해서도 그 동작에 대해서도, 유사한 참조 숫자가 유사한 부분을 가리키는 수반 도면의 검토에 의해 부분적으로 얻어질 수 있다.
도 1은 본 명세서에 개시된 시스템 및 방법이 일 실시예에 따라 구현될 수 있는 무선 통신 네트워크의 블록 선도;
도 2는 본 명세서에 개시된 시스템 및 방법이 일 실시예에 따라 구현될 수 있는 또 다른 무선 통신 네트워크의 블록 선도;
도 3은 일 실시예에 따른 지국의 기능적 블록 선도;
도 4는 일 실시예에 따라 프로토콜 계층을 예시하는 선도;
도 5는 일 실시예에 따라 스케줄링 기술을 구현하는데 사용될 수 있는 파라미터화된 스케줄링 모듈을 예시하는 블록 선도;
도 6은 일 실시예에 따라 큐잉 시스템에서 이종 입력 트래픽과 개개의 큐 사이의 관계를 예시하는 블록 선도;
도 7은 일 실시예에 따라 파라미터화된 스케줄링 기술을 사용하여 네트워크 매체에 걸쳐 송신될 데이터 패킷을 큐잉하기 위한 방법의 플로차트;
도 8은 일 실시예에 따라 무선 통신 시스템을 예시하는 블록 선도;
도 9는 일 실시예에 따라 강화된 분류/큐잉 모듈에서 사용하기 위한 강화된 패킷 검사 모듈을 예시하는 블록 선도;
도 10은 일 실시예에 따라 강화된 분류/큐잉 모듈에서 사용하기 위한 강화된 패킷 검사 모듈을 예시하는 블록 선도;
도 11은 본 명세서에서 개시된 다양한 기술에서 사용될 수 있는 특정 애플리케이션과 애플리케이션 등급 간 매핑의 일례를 예시한 테이블;
도 12는 일 실시예에 따라 TCP/IP 프레임 내 캡슐화되는 RTSP 패킷의 일례를 예시하는 선도;
도 13은 일 실시예에 따라 패킷 검사 모듈의 기능적 블록 선도;
도 14는 일 실시예에 따라 H.264 비디오 데이터가 들어있는 RTP 페이로드 및 RTP 헤더를 포함하는 RTP 패킷의 일례를 예시하는 선도;
도 15는 일 실시예에 따라 덧붙여진 옥텟(padded octets)을 갖는 RTP 패킷의 일례를 예시하는 선도;
도 16은 일 실시예에 따라 애플리케이션 등급당 그리고 특정 애플리케이션당 기준으로 샘플 애플리케이션 인자 배정을 예시한 테이블;
도 17은 일 실시예에 따라 강화된 가중치 인자 계산을 예시한 테이블;
도 18은 본 명세서에서 개시된 강화된 가중치 인자 또는 크레디트 계산에서 사용될 수 있는 계수의 관리를 예시하는 타이밍 선도;
도 19는 일 실시예에 따라 계수를 계산하기 위한 방법의 플로차트;
도 20은 일 실시예에 따라 강화된 패킷 분류 및 큐잉을 갖는 파라미터화된 스케줄링 시스템에 의한 트래픽 정형을 예시하는 선도;
도 21은 일 실시예에 따라 패킷 검사 모듈의 기능적 블록 선도;
도 22는 일 실시예에 따라 커넥션의 개시를 검출하기 위한 프로세스의 플로차트;
도 23은 일 실시예에 따라 커넥션을 모니터링하기 위한 프로세스의 플로차트;
도 24는 일례의 비디오 다운로드의 시간 대 비트레이트를 예시하는 그래프.
최종-사용자 애플리케이션 인지를 편입하고 있는 파라미터화된 스케줄링 시스템을 제공하기 위한 방법 및 시스템이 제공된다. 본 명세서에서 개시되는 방법 및 시스템은 이종 애플리케이션으로부터의 데이터 스트림이 들어있는 스케줄링 그룹과 사용될 수 있다. 일부 실시예는 최종-사용자 애플리케이션에 의해 데이터 트래픽을 분류하기 위해 패킷 검사를 사용한다. 스케줄링 그룹 내 개개의 데이터 큐는 애플리케이션 등급, 특정 애플리케이션, 개개의 데이터 스트림 또는 그 어떤 조합에 기초하여 생성될 수 있다. 실시예는 스케줄러 파라미터를 수정하도록 애플리케이션 인자(AF)와 함께 애플리케이션 정보를 사용하고, 그로써 스케줄링 그룹에 배정되는 데이터 스트림의 처리를 차별화한다. 일 실시예에 있어서는, 회귀적 네트워크 패턴, 일회적 이벤트 또는 둘 다에 응답하여 사용자 QoE를 최대화하기 위해 동적 AF 설정의 사용을 통해 서로 다른 사용자 애플리케이션의 상대적 중요도를 조절하기 위한 방법이 제공된다. 일 실시예에 있어서는, 스케줄링 파라미터를 동적으로 관리함으로써 비디오 애플리케이션에 대한 사용자 QoE를 최대화하기 위한 방법이 제공된다. 이 방법은 혼잡 기간 동안 비디오 트래픽을 최적으로 관리하기 위해 비디오 품질의 최종 사용자의 지각(즉, 비디오 QoE)에 있어서 "듀레이션 무시" 및 "최근성 효과"의 관념을 편입하고 있다.
본 명세서에서 개시되는 시스템 및 방법은, 한정되는 것은 아니지만 유선 및 무선 기술을 포함하는 다양한 용량-제한된 통신 시스템에 적용될 수 있다. 예컨대, 본 명세서에서 개시된 시스템 및 방법은 (롱 텀 에볼루션("LTE"), LTE 어드밴스트, 와이맥스를 포함하는) 셀룰러 2G, 3G, 4G, 와이파이, 울트라 모바일 브로드밴드("UMB"), 케이블 모뎀 및 다른 유선 또는 무선 기술과 사용될 수 있다. 특정 실시예를 설명하기 위해 본 명세서에서 사용되는 문구 및 용어가 특정 기술 또는 표준에 적용될 수 있기는 하지만, 본 명세서에서 설명되는 시스템 및 방법은 이들 특정 표준에 한정되는 것은 아니다.
기본 배치
도 1은 본 명세서에서 개시되는 시스템 및 방법이 일 실시예에 따라 구현될 수 있는 무선 통신 네트워크의 블록 선도이다. 도 1은 매크로셀, 피코셀 및 기업용 펨토셀을 포함하는 통신 시스템의 전형적 기본 배치를 예시하고 있다. 전형적 배치에 있어서, 매크로셀은 (피코셀 및 기업용 또는 주거용 펨토셀을 포함하는) 소형 인수(SFF) 기지국에 의해 사용되는 하나 또는 다수의 주파수 채널과는 별개의 하나 또는 다수의 주파수 채널을 송신 및 수신할 수 있다. 다른 실시예에 있어서, 매크로셀 및 SFF 기지국은 동일한 주파수 채널을 공유할 수 있다. 지형 및 채널 가용성의 다양한 조합은 통신 시스템의 스루풋에 충격을 줄 수 있는 다양한 간섭 시나리오를 만들어낼 수 있다.
도 1은 통신 네트워크(100)에 있어서 전형적 피코셀 및 기업용 펨토셀 배치의 일례를 도시하고 있다. 매크로 기지국(110)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속된다. 일 실시예에 있어서, 백홀 커넥션(170)은 양방향 링크 또는 2개의 단방향 링크이다. 네트워크(102)로부터 매크로 기지국(110)으로의 방향은 다운스트림 또는 다운링크 방향이라고 지칭된다. 매크로 기지국(110)으로부터 코어 네트워크(102)로의 방향은 업스트림 또는 업링크 방향이라고 지칭된다. 가입자 지국(150(1), 150(4))은 매크로 기지국(110)을 통해 코어 네트워크(102)에 접속할 수 있다. 가입자 지국(150)과 매크로 기지국(110) 간 무선 링크(190)는 일 실시예에서는 양방향 점 대 다점 링크이다. 매크로 기지국(110)으로부터 가입자 지국(150)으로의 무선 링크(190)의 방향은 다운링크 또는 다운스트림 방향이라고 지칭된다. 가입자 지국(150)으로부터 매크로 기지국(110)으로의 무선 링크(190)의 방향은 업링크 또는 업스트림 방향이라고 지칭된다. 가입자 지국은 때로는 사용자 장비(UE), 사용자, 사용자 디바이스, 핸드셋 또는 단말이라고 지칭된다. 도 1에 예시된 네트워크 구성에 있어서, 사무소 빌딩(120(1))은 커버리지 음영(104)을 야기한다. 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되는 피코 지국(130)은 커버리지 음영(104)에서 가입자 지국(150(2), 150(5))에 커버리지를 제공할 수 있다. 가입자 지국(150(2), 150(5))은 매크로 기지국(110)과 가입자 지국(150(1), 150(4)) 간 무선 링크(190)와 동일하거나 유사한 링크를 통해 피코 지국(130)에 접속될 수 있다.
사무소 빌딩(120(2))에 있어서, 기업용 펨토셀(140)은 가입자 지국(150(3), 150(6))에 빌딩-내 커버리지를 제공한다. 기업용 펨토셀(140)은 기업용 게이트웨이(103)에 의해 제공된 광대역 커넥션(160)을 이용함으로써 ISP 네트워크(101)를 통해 코어 네트워크(102)에 접속할 수 있다.
도 2는 본 명세서에서 개시되는 시스템 및 방법이 일 실시예에 따라 구현되는 또 다른 무선 통신 네트워크의 블록 선도이다. 도 2는 주거용 환경에 배치되는 매크로셀 및 주거용 펨토셀을 포함하는 통신 네트워크(200)에서의 전형적 기본 배치를 예시하고 있다. 매크로셀 기지국(110)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되어 있다. 가입자 지국(150(1), 150(4))은 매크로 기지국(110)을 통해 네트워크에 접속할 수 있다. 주택(220) 내부에서, 주거용 펨토셀(240)은 가입자 지국(150(7), 150(8))에 가정-내 커버리지를 제공할 수 있다. 주거용 펨토셀(240)은 케이블 모뎀 또는 DSL 모뎀(203)에 의해 제공된 광대역 커넥션(260)을 이용함으로써 ISP 네트워크(101)를 통해 코어 네트워크(102)에 접속할 수 있다. 가입자 지국(150(7), 150(8))은 매크로 기지국(110)과 가입자 지국(150(1), 150(4)) 간 무선 링크(190)와 유사한 링크를 통해 주거용 펨토셀(260)에 접속될 수 있다.
데이터 네트워크(예컨대, IP)는, 유선 형태로도 무선 형태로도, 특정 커넥션 또는 사용자를 위해 용량을 남겨둘 최소 능력을 갖고, 그래서 수요는 용량을 초과할 수 있다. 이러한 혼잡은 유선 및 무선 네트워크 둘 다에서 일어날 수 있다.
혼잡 기간 동안, 네트워크 디바이스는 어느 데이터 패킷이 네트워크 상에서 주행하도록 허용되는 것인지, 즉, 어느 트래픽이 포워딩되거나, 지연되거나 또는 폐기되는 것인지 결정해야 한다. 단순한 경우에 있어서, 데이터 패킷은 고정 길이 큐에 부가되어 용량이 허용하는 대로 네트워크 상으로 보내진다. 네트워크 혼잡 시간 동안, 고정 길이 큐는 용량까지 찰 수 있다. 큐가 차 있을 때 도착하는 데이터 패킷은 전형적으로는 더 많은 데이터 패킷의 큐잉을 허용하기에 충분한 데이터가 큐로부터 빠질 때까지 폐기된다. 이러한 선입선출(FIFO) 방법은 사용자, 애플리케이션 또는 긴급성에 무관하게 모든 패킷을 동등한 공평성으로 처리하는 약점을 갖는다. 이것은, 각각의 데이터 스트림이 트래픽(예컨대, 음성, 비디오, 이메일, 인터넷 브라우징 등)을 발생시키는 애플리케이션에 기초하여 고유의 패킷 배달 요건을 가질 수 있음을 무시하기 때문에 바람직하지 못한 응답이다. 서로 다른 애플리케이션은 패킷 지연 및/또는 폐기에 기인하여 달리하는 엄정도로 그리고 서로 다른 방식으로 저하된다. 그리하여, FIFO 방법은 흔히 경험 품질(QoE)이라고 일컬어지는 최종 사용자의 경험을 최대화하기 위해 트래픽을 관리할 수는 없다고 한다.
응답하여, 패킷을 카테고리로 분류하고 달리하는 중요도 레벨로 데이터 스트림을 처리하고 그리고/또는 차별화된 서비스 레벨로 관리하기 위한 기술이 개발되어 왔다. 데이터 스트림은 단일 사용자 애플리케이션으로부터의 관련된 패킷의 스트림, 예컨대, 유튜브 비디오의 비디오 패킷 또는 비디오 스카이프 세션의 비디오 패킷 부분일 수 있다.
도 3은 지국(277)의 기능적 블록 선도이다. 일부 실시예에 있어서, 지국(277)은 기지국, LTE eNB(Evolved Node B, 흔히 eNodeB라고도 지칭됨), UE, 단말 디바이스, 네트워크 스위치, 네트워크 라우터, 게이트웨이, 가입자 지국 또는 다른 네트워크 노드와 같은 무선 또는 유선 액세스 노드이다(예컨대, 도 1 및 도 2에 도시된 매크로 기지국(110), 피코 지국(130), 기업용 펨토셀(140), 기업용 게이트웨이(103), 주거용 펨토셀(240), 케이블 모뎀 또는 DSL 모뎀(203) 또는 가입자 지국(150)). 지국(277)은 송신기 수신기 모듈(트랜시버)(279)에 그리고 저장 모듈(283)에 통신 결합된 프로세서 모듈(281)을 포함한다. 송신기 수신기 모듈(279)은 다른 디바이스와 통신을 송신 및 수신하도록 구성된다. 일 실시예에 있어서, 통신은 무선으로 송신 및 수신된다. 그러한 실시예에 있어서, 일반적으로 지국(277)은 라디오 신호의 송신 및 수신을 위한 하나 이상의 안테나를 포함한다. 또 다른 실시예에 있어서, 통신은 유선을 통해 송신 및 수신된다. 많은 실시예에 있어서, 지국(277)은 송신기 수신기 모듈(279)에 부가하여 또 다른 통신 채널을 통해 통신을 송신 및 수신한다. 예컨대, 기지국에 있어서 송신기 수신기 모듈(279)을 통해 수신된 통신은, 프로세싱 후에, 백홀 커넥션 상에 송신될 수 있다. 유사하게, 백홀 커넥션으로부터 수신된 통신은 송신기 수신기 모듈(279)에 의해 송신될 수 있다.
프로세서 모듈(281)은 지국(277)에 의해 수신 및 송신되고 있는 통신을 프로세싱하도록 구성된다. 저장 모듈(283)은 프로세서 모듈(281)에 의한 사용을 위해 데이터를 저장하도록 구성된다. 일부 실시예에 있어서, 저장 모듈(283)은 또한 지국(277)에 관해 본 명세서에서 설명되는 기능성을 성취하기 위한 컴퓨터 읽기가능한 명령어를 저장하도록 구성된다. 일 실시예에 있어서, 저장 모듈(283)은 비-일시적 머신 읽기가능한 매체를 포함한다. 설명의 목적으로, 지국(277) 또는 기지국, 가입자 지국 및 펨토셀과 같은 그 실시예는 소정 기능성을 갖는 것으로 설명된다. 일부 실시예에 있어서 이러한 기능성은 저장 모듈(283) 및 송신기 수신기 모듈(279)과 함께 프로세서 모듈(281)에 의해 성취됨을 인식할 것이다.
도 4는 네트워크를 통한 데이터의 흐름을 설명하는데 사용될 수 있는 예시적 프로토콜 계층(1400)을 도시하고 있다. 네트워크는 또 다른 계층에 의해 제공되는 기능으로부터 하나의 계층의 기능을 끌어내도록 프로토콜의 계층을 사용한다. 이것은 서로 다른 네트워크에 애플리케이션의 더 큰 이식성을 허용할 수 있다. 애플리케이션 프로그램(1410)은 특정 애플리케이션, 예컨대, 비디오 스카이프를 구현하는 소프트웨어 또는 다른 프로세스이다. 도 1 및 도 2에 묘사된 것과 같은 네트워크에 있어서, 패킷 흐름의 개시 및 후속의 종료는 특정 네트워크 애플리케이션 또는 서비스에 의해 트리거링될 수 있다. 최종-사용자 애플리케이션 또는 서비스의 사용에 관한 패킷의 흐름은 세션이라고 일컬어질 수 있다. 세션의 예는 랩톱으로부터 스카이프 애플리케이션을 사용하는 인터넷 프로토콜을 통한 음성(VoIP) 통화, 안드로이드-기반 모바일 폰 상에서 실행하는 유튜브 앱을 사용하는 스트리밍 비디오 재생, 또는 IP 멀티미디어 서브시스템(IP Multimedia Subsystem: IMS) 활성화된 롱 텀 에볼루션(LTE) 모바일 네트워크를 통해 실행하는 애플 아이챗 애플리케이션을 사용하는 2-방향 비디오 통화를 포함한다. 세션 계층(1420)은 비디오 스카이프 통화의 실제 인스턴스 또는 세션이 존재하는 계층이다.
네트워크 내 많은 여러 다른 노드(예컨대, 애플리케이션 서버, 프록시 서버, 네트워크 스위치 또는 라우터와 같은 전송 디바이스, 저장 디바이스, 스마트폰, 태블릿 또는 랩톱과 같은 최종-사용자 디바이스)가 세션에 개시 또는 참여할 수 있다. 노드는 하나 이상의 세션을 동시에 호스팅할 수 있다. 동시 세션은 서로로부터 독립적일 수도(예컨대, 페이스북과 이메일을 동시에 사용하는 사용자) 서로 관련될 수도(예컨대, 2개의 비디오 스트리밍 세션을 낳는 브라우징 세션) 있다. 세션은 2개의 노드 간 확립될 수 있다. 대안으로, 세션은, 예컨대, 멀티캐스트 및 브로드캐스트 프로토콜의 사용을 통해 하나의 노드와 다수의 노드 간 관계로서 보일 수 있다.
세션은 다양한 기준에 의해 특징 짓거나 카테고리 분류될 수 있다. 하나의 기준은 사용자에 의해 개시되었고 세션을 띄우는데 책임이 있은 특정 애플리케이션(예컨대, 애플리케이션 프로그램 또는 소프트웨어(1410))이다. 특정 애플리케이션의 예는 유튜브 앱, 크롬 인터넷 브라우저 및 스카이프 음성 통화 프로그램을 포함한다. 또 다른 기준은 특정 세션에 의해 서비스 제공받는 전반적 기능을 설명하는 애플리케이션 등급이다. 예시의 애플리케이션 등급은 스트리밍 비디오, 음성 통화, 인터넷 브라우징, 이메일 및 게이밍을 포함한다.
스트림 계층(1430)은 세션을 구성하는 개개의 데이터 스트림이 존재하는 계층이다. 세션은 동일하거나 잠재적으로 서로 다른 기저 커넥션을 사용하는 하나 이상의 독립적 데이터 스트림으로 이루어질 수 있다. 예컨대, 단일의 VoIP 폰 통화 세션에는 2개의 데이터 스트림이 들어있을 수 있다. 하나의 데이터 스트림은 UDP 커넥션을 사용하여 (페이로드 또는 데이터 플레인 패킷일 수 있는) 양방향 음성 트래픽을 서비스 제공할 수 있다. 제2 데이터 스트림은, 예컨대, 세션 개시 프로토콜(SIP)을 사용할 때와 같이 (시그널링 또는 제어 플레인 패킷일 수 있는) 통화 셋업/해체를 취급하도록 하나 이상의 TCP 커넥션을 사용할 수 있다. 또 다른 예에 있어서는, 비디오 스카이프 통화에 대해, 세션을 시작, 정지 및 그렇지 않으면 제어하도록 SIP 시그널링을 반송하는 하나의 스트림, 실시간 전송(Real-Time Transport: RTP) 프로토콜을 사용하여 음성 패킷을 반송하는 제2 스트림, 및 RTP 프로토콜을 사용하여 비디오 패킷을 반송하는 제3 스트림이 있을 수 있다.
커넥션 계층(1440)은 논리 링크 계층(1450)에 의해 제공되는 소정 논리 링크를 통해 스트림 계층(1430) 데이터가 전송되는 계층이다. 커넥션 계층(1440) 프로토콜은 애플리케이션 특정도 아니고 물리적 매체 특정도 아니다. 커넥션은 세션 데이터 및 메시지를 전송하는데 사용되는 기저 프로토콜 및 커넥션을 확립(개시) 또는 제거(종료)하는데 사용되는 패킷, 메시지 및 트랜잭션의 그룹을 지칭할 수 있다. 예컨대, 커넥션-지향 소켓은 IP 어드레스와 포트 번호의 조합을 사용하여 인터넷 프로토콜(IP) 네트워크의 2개의 노드 사이에 전송 제어 프로토콜(TCP)을 통해 확립될 수 있다. 확립되고 나면, 이러한 TCP 커넥션은 패킷, 예컨대, 하이퍼-텍스트 전송 프로토콜(HTTP) 스트리밍 비디오 세션의 패킷을 전송하는데 사용될 수 있다. TCP 커넥션의 대안으로는, 데이터그램 소켓이 사용자 데이터그램 프로토콜(UDP)을 사용하여 트래픽을 전송하도록 확립될 수 있다.
비디오 스카이프 예에 있어서, 커넥션 계층(1440)에서, SIP 시그널링 스트림(1432)은 소스 및 수신지 IP 어드레스 및 TCP 포트에 의해 식별된 TCP/IP 커넥션을 통해 전송되는 한편 음성 스트림(1434) 및 비디오 스트림(1436)은 소스 및 수신지 IP 어드레스 및 UDP 소켓에 의해 식별된 UDP/IP 커넥션을 통해 각각 전송된다. UDP 프로토콜이 커넥션 없다고 생각되는 동안에는, 스트림에 대해 데이터 소스로부터 데이터 싱크로 데이터 패킷의 전송을 보장하는 UDP 메커니즘을 또한 설명하도록 용어 커넥션을 사용하는 것이 편리하다.
논리 링크 계층(1450)은 위 계층들로부터 실제 물리적 매체 및 그 전송 메커니즘을 끌어내는 논리 링크가 존재하는 계층이다. 예컨대, LTE 시스템에 있어서, 비디오 스카이프 세션의 (스트림을 각각 반송하는) 다중 커넥션은 (예컨대, 도 1의 무선 링크(190)를 통해) LTE 데이터 라디오 베어러(data radio bearer: DRB) 내에서 반송된다. DRB는 데이터가 도 1의 백홀 링크(170)를 횡단하고 있는 기간 동안 패킷 게이트웨이로부터 eNodeB로의 터널의 계속일 수 있다.
성능 요건
서로 다른 데이터 스트림 사이에 중요도를 배정하고 자원 할당을 최적화하는 하나의 방법은 소망의 성능 요건의 사용을 통해서이다. 예컨대, 성능 요건은 소망의 패킷 스루풋, 및 용인된 레이턴시 및 지터를 포함할 수 있다. 그러한 성능 요건은 지원된 애플리케이션 또는 데이터의 유형에 기초하여 배정될 수 있다. 예컨대, 인터넷 프로토콜을 통한 음성(VoIP) 전화 통화에는 IP 네트워크를 통한 음성의 패킷 기반 송신에 적합한 이하의 성능 요건이 배정될 수 있다: 스루풋 = 32의 초당 킬로비트(kbps), 최대 레이턴시 = 100 밀리초(㎳) 및 최대 지터 = 10㎳. 대조적으로, 비디오를 반송하는 데이터 스트림은 실질적으로 더 많은 스루풋을 요구할 수 있지만, 다음과 같이 조금 관대한 레이턴시 및 지터 성능을 감안할 수 있다: 스루풋 = 2의 초당 메가비트(Mbps), 최대 레이턴시 = 300㎳, 최대 지터 = 60㎳.
네트워크 노드에 위치하는 스케줄링 알고리즘은 각각의 스트림의 요건을 가장 잘 만족시키려고 패킷 포워딩 결정을 하도록 이들 성능 요건을 사용할 수 있다. 스트림의 성능 요건의 총 합은 흔히 스트림에 대한 서비스 품질 또는 QoS 요건으로 설명된다.
우선순위
중요도를 배정하는 또 다른 방법은 서로 다른 데이터 스트림 사이에 상대적 우선순위의 사용을 통해서이다. 예컨대, IEEE 802.1p 및 IETF RFC 2474 Diffserv와 같은 표준은 그러한 우선순위 정보를 반송하기 위해 IP 프레임 헤더 내 비트를 정의한다. 이러한 정보는, IEEE 802.11e 무선 표준과의 경우에서와 같이, 포워딩 결정을 하도록 네트워크 노드의 스케줄링 알고리즘에 의해 사용될 수 있다. 패킷 또는 데이터 스트림의 부가적 특성은 또한 우선순위 값에 매핑되어 스케줄링 알고리즘으로 패스될 수 있다. 표준 802.16e는, 예컨대, 스루풋, 레이턴시 및 지터와 같은 성능 요건을 고려하면서도 IP 소스/수신지 어드레스 또는 TCP/UDP 포트 번호와 같은 특성이 상대적 스트림 우선순위에 매핑될 수 있게 한다.
스케줄링 그룹
일부 시스템에 있어서, 데이터 스트림은 스케줄링 방법, 멤버 데이터 스트림, 스케줄링 요건 또는 그 어떤 조합 중 하나 이상의 공통 특성에 의해 정의되는, 스케줄링 그룹의 이산 번호에 배정될 수 있다.
예컨대, 스케줄링 그룹은 멤버 데이터 스트림 상에 사용될 스케줄링 알고리즘에 의해 정의될 수 있다(예컨대, 스케줄링 그룹 #1은 비례 공평 알고리즘을 사용할 수 있는 한편, 스케줄링 그룹 #2는 가중 라운드-로빈 알고리즘을 사용할 수 있다).
대안으로, 스케줄링 그룹은 유사한 애플리케이션의 데이터 스트림(예컨대, 음성, 비디오 또는 배경 데이터)을 그룹화하도록 사용될 수 있다. 예컨대, Cisco는 음성, 비디오, 시그널링, 배경 및 다른 데이터 스트림을 차별화하도록 6개의 그룹을 정의한다. 애플리케이션의 이러한 차별화는 각각의 스케줄링 그룹에 적용되는 고유의 스케줄링 알고리즘과 조합될 수 있다.
또 다른 예에 있어서, 제3 세대 파트너십 프로그램(3GPP)은 롱 텀 에볼루션(LTE) 표준에서의 사용을 위해 QoS 등급 식별자(QCI)라고 일컬어지는 구조를 확립하였다. QCI 시스템은 성능 요건, 스케줄러 우선순위 및 사용자 애플리케이션의 조합에 의해 정의되는 9개의 스케줄링 그룹을 갖는다. 예컨대, QCI 인덱스 = 1에 의해 참조되는 스케줄링 그룹은 이하의 특성에 의해 정의된다:
(1) 성능 요건: 레이턴시 = 100㎳, 패킷 손실 레이트 = 10-2, 보증된 비트 레이트
(2) 우선순위: 2
(3) 애플리케이션: 대화형 음성
용어 '서비스 등급'(또는 CoS)은 때로는 스케줄링 그룹에 대한 동의어로 사용된다.
가중치-기반 스케줄링 시스템
위에서 설명된 바와 같은 시스템에 있어서, 하나 이상의 데이터 스트림에는 중요도 및 소망의 성능 레벨이 배정될 수 있다. 이러한 정보는 각각의 데이터 스트림으로부터의 패킷을 스케줄링 그룹 및 데이터 큐에 배정하는데 사용될 수 있다. 또한 스케줄링 알고리즘은 유선 시스템에서도 무선 시스템에서도 어느 큐(및 그래서 어느 데이터 스트림 및 패킷)를 다른 것들에 우선하여 처리할지 결정하도록 이러한 정보를 사용할 수 있다.
일부 스케줄링 알고리즘에 있어서, 각각의 큐의 소망의 서비스 레벨 및 중요도는 스케줄링 가중치의 사용을 통해 스케줄러에 전달된다. 예컨대, 가중 라운드 로빈(weighted round robin: WRR) 및 가중 공평 큐잉(weighted fair queuing: WFQ) 스케줄링 방법은 둘 다 데이터 큐 사이에 서비스를 조절하기 위해 가중치를 사용한다. 일부 스케줄링 알고리즘에 있어서, 각각의 큐의 중요도 및 소망의 서비스 레벨은 크레디트 및 데빗의 사용을 통해 스케줄러에 전달된다. 예컨대, 비례 공평 스케줄러(proportional fair scheduler: PFS) 방법은 데이터 큐 사이에 서비스를 조절하기 위해 크레디트 및 데빗을 사용할 수 있다. 일부 알고리즘은 가중치를 사용하고 그것을 스케줄링 라운드 동안 서비스 제공받을 바이트 또는 패킷의 번호의 형태로 크레디트로 변환한다.
WRR에 있어서, 비어 있지 않은 모든 큐는 각각의 스케줄링 라운드에서 서비스 받는데, 각각의 큐로부터 서비스 제공받는 데이터 패킷의 번호는 큐의 가중치에 비례한다. 가중치는 구입한 상대적 서비스 레벨(예컨대, 골드, 실버 또는 브론즈 서비스), 최소 보증된 비트 레이트(guaranteed bit rate: GBR) 또는 최대 허용가능한 비트 레이트와 같은 다양한 입력으로부터 유도될 수 있다. 일례에 있어서, 3개의 큐가 보류 중 데이터를 가질 수 있다. 큐 가중치는 큐 1, 2 및 3에 대해 각자 1, 3 및 6이다. 20개의 패킷이 각각의 라운드 동안 서비스 제공받게 되는 것이면, 그때 큐 1, 2 및 3에는, 각자, 20개의 패킷 버짓 또는 크레디트 중 10%, 30% 및 60%인 2, 6 및 12개의 패킷이 승인될 것이다. 당업자는 다른 가중치가 또한 적용될 수 있고 가중치, 크레디트 및 레이트의 개념이 교환될 수 있음을 인식할 것이다.
WFQ 알고리즘은 데이터 스트림에 걸쳐 공평 레벨을 제공하려는 노력으로 가중 데이터 큐가 확립 및 서비스된다는 점에서 WRR과 유사하다. WRR과 대조적으로, WFQ는 패킷의 번호보다는 서비스 제공받는 바이트의 번호를 주시함으로써 큐에 서비스 제공한다. WFQ는, 와이맥스 시스템에서와 같이, 데이터 패킷이 소정 수의 피스 또는 세그먼트로 단편화될 수 있는 시스템에서 잘 작동한다. 3개의 큐가 보류 중 데이터를 갖고 큐 1, 2 및 3에 대해 각자 큐 가중치가 1, 3 및 6인 예에 있어서, 가중치는 그 스케줄링 라운드 동안 이용가능한 대역폭의 10%, 30% 및 60%의 크레디트로 번역할 것이다.
전형적으로 PFS 알고리즘은 각각의 큐가 각각의 스케줄링 라운드에서 수신하는 크레디트를 직접 계산하기 위해 GBR 또는 최대 허용가능한 레이트와 같은 레이트의 함수를 사용한다. 예컨대, 서비스가 초당 768 킬로바이트의 레이트로 허용되고, 초당 100개의 스케줄링 라운드가 있으면, 서비스의 큐는 스케줄러 라운드당 7680 바이트의 크레디트를 수신할 것이다. 스케줄러 라운드 동안 큐에 실제 할당되는 양은 큐의 누적된 크레디트로부터 인출된다. 크레디트는 다중 큐의 성능 요건을 균형맞추려는 노력으로 라운드 대 라운드로 조절 또는 누적될 수 있다. 예컨대, 그 최소 GBR 규격 아래에서 자원이 할당된 제1 큐는 실질적으로 그 GBR 위의 용량이 할당된 제2 큐에 비해 효과적으로는 그 가중치를 증가하게 하는 크레디트를 (전형적으로는 소정의 허용가능한 상한까지) 누적해갈 수 있어서, 효과적으로는 제2 큐가 음의 크레디트 또는 데빗을 누적하게 한다.
도 5는 위에서 설명된 다양한 파라미터화된 스케줄링 기술과 더불어 일 실시예에 따라 아래에서 설명되는 강화된 파라미터화된 스케줄링 기술을 구현하는데 사용되는 파라미터화된 스케줄링 모듈(300)을 예시하는 블록 선도이다. 도 5에 예시된 파라미터화된 스케줄링 시스템은 하나 이상의 스케줄링 그룹을 사용하도록 구현될 수 있다. 일 실시예에 있어서, 도 5의 특징에 관해 설명되는 기능성은 도 3의 프로세서 모듈(281)에 의해 구현된다.
입력 트래픽(305)은 스케줄링 시스템에 들어가는 고유의 사용자, 세션, 논리 커넥션, 성능 요건, 우선순위 또는 정책을 각각 갖는 개개의 데이터 스트림의 이종 세트로 이루어질 수 있다. 분류 및 큐잉 모듈(310)은 각각의 패킷의 상대적 중요도 및 배정된 성능 요건을 평가하고 패킷을 스케줄링 그룹 및 데이터 큐에 배정하도록 구성된다. 일 실시예에 의하면, 분류 및 큐잉 모듈(310)은 802.1p 또는 Diffserv와 같이 위에서 설명된 방법 중 하나를 사용하여 각각의 패킷의 상대적 중요도 및 배정된 성능 요건을 평가하도록 구성된다.
일 실시예에 의하면, 파라미터화된 스케줄링 시스템(300)은 하나 이상의 스케줄링 그룹을 사용하도록 구현되고 각각의 스케줄링 그룹은 그룹과 연관된 하나 이상의 데이터 큐를 가질 수 있다. 일 실시예에 의하면, 각각의 스케줄링 그룹은 여러 다른 수의 큐를 포함할 수 있고, 각각의 스케줄링 그룹은 패킷을 큐로 그룹화하기 위해 여러 다른 방법 또는 그 조합을 사용할 수 있다. 입력 트래픽, 스케줄링 그룹과 데이터 큐 사이의 매핑의 상세한 설명이 아래에 제시된다.
일 실시예에 의하면, 분류 및 큐잉 모듈(310)은 하나 이상의 데이터 큐(315) 및 스케줄러 파라미터 계산 모듈(335)에서 입력으로 수신되는 분류 정보(330)를 출력한다. "하나 이상의 데이터 큐를 출력한다"는 문구는 데이터 큐를 파퓰레이팅하는 것을 아우르려는 의도이고 큐의 실제 송신 또는 전송을 요구하지 않는다. 일 실시예에 의하면, 분류 정보(330)는 분류자 결과, 패킷 사이즈, 패킷 수량 및/또는 현재 큐 이용 정보를 포함할 수 있다. 스케줄러 파라미터 계산 모듈(335)은 큐당 기준으로 새로운 스케줄러 파라미터(예컨대, 가중치 및/또는 스케줄러 라운드당 크레디트)를 계산하도록 구성된다. 스케줄러 파라미터 계산 모듈(335)은 분류 정보(330), 옵션인 오퍼레이터 정책 및 서비스 레벨 합의(service level agreement: SLA) 정보(350) 및 옵션인 스케줄러 피드백 정보(345)(예컨대, 스케줄러 모듈(320)로부터의 자원 이용 또는 수신된 스트림 이력)를 포함하는 다양한 입력에 기초하여 새로운 파라미터를 계산하도록 구성될 수 있다. 스케줄러 파라미터 계산 모듈(335)은 그 후 스케줄러 파라미터(340)를 하나 이상의 스케줄러 모듈(320)에 출력할 수 있다.
스케줄러 모듈(320)은 스케줄러 파라미터(340) 및 분류 및 큐잉 모듈(310)에 의해 출력된 데이터 큐(315)를 수신한다(또는 데이터 큐에 액세스한다). 본 명세서에서 설명되는 바와 같은 데이터 큐는 다양한 방식으로 구현될 수 있다. 예컨대, 그것들에는 실제 데이터(예컨대, 패킷) 또는 단지 데이터(패킷)의 포인터 또는 식별자가 들어있을 수 있다. 스케줄러 모듈(320)은, 예컨대, PFS, WRR 또는 WFQ와 같이 위에서 설명된 방법 중 하나를 사용하여 데이터 큐(315)로부터 출력 큐(325)로 패킷(또는 패킷의 단편)을 포워딩할 순서를 결정하기 위해 업데이트된 스케줄러 파라미터(340)를 사용한다. 일 실시예에 있어서, 출력 큐(325)는 데이터 큐(315)에 대한 포인터로 구현된다. 출력 큐(325)에서의 트래픽은 디큐잉되어(de-queued) 무선 또는 유선 매체 상에서의 송신을 위해 물리적 통신 계층(또는 'PHY')에 피드된다.
도 6은 가중치-기반 큐잉 시스템에서 이종 입력 트래픽과 개개의 큐 사이의 관계를 예시하는 블록 선도이다. 도 6은 도 5에 예시된 분류 및 큐잉 모듈(310)의 동작을 더 상세하게 예시한다.
이종 입력 트래픽(305)은 위에서 설명된 바와 같이 성능 요건 및 우선순위를 평가하기 위해 각각의 패킷을 특징짓는 패킷 검사 모듈(410)에 입력된다. 이러한 정보에 기초하여, 각각의 패킷에는 3개의 스케줄링 그룹(420, 425, 430) 중 하나가 배정된다. 도 6에 예시된 실시예는 단지 3개의 스케줄링 그룹을 포함하고 있지만, 다른 실시예는 더 크거나 더 적은 수의 스케줄링 그룹을 포함할 수 있다. 그 후 패킷은 스케줄링 그룹 중 하나와 연관된 데이터 큐(491, 492, 493, 494 또는 495)에 배정될 수 있다. 패킷은 성능 요건, 우선순위, 부가적 사용자 특정 정책/SLA 설정, 고유의 논리 커넥션 또는 그 어떤 조합에 기초하여 스케줄링 그룹과 연관된 특정 데이터 큐에 배정될 수 있다. 일 실시예에 있어서, 분류 및 큐잉 모듈(310)은 2개의 방향으로, 예컨대, 클라이언트로부터 서버로 그리고 서버로부터 클라이언트로 흐르는 패킷을 분석하고, 일방향으로 흐르는 패킷으로부터의 정보를 사용하여 타방향으로 흐르는 패킷을 분류한다. 패킷 검사 모듈(410)은 그 후 이종 입력 트래픽(305)에 부가하여 제2 방향으로부터의 입력 트래픽을 수신할 수 있거나 제2 방향으로 통신되는 패킷을 특징짓는 또 다른 검사 모듈로부터 정보를 수신할 수 있다.
일례에 있어서, LTE eNB는 각각의 QCI를 별개의 스케줄링 그룹에 배정하도록 구성된다(예컨대, QCI=9를 갖는 패킷이 하나의 스케줄링 그룹에 배정되고 QCI=8을 갖는 패킷이 다른 스케줄링 그룹에 배정될 수 있다). 나아가, QCI=9를 갖는 패킷은 사용자 ID, 베어러 ID, SLA 또는 그 어떤 조합에 기초하여 개개의 큐에 배정될 수 있다. 예컨대, 각각의 LTE UE는 디폴트 베어러 및 하나 이상의 전용 베어러를 가질 수 있다. QCI=9 스케줄링 그룹 내에서, 디폴트 베어러로부터의 패킷은 하나의 큐에 배정될 수 있고 전용 베어러로부터의 패킷은 다른 큐에 배정될 수 있다.
도 7은 일 실시예에 따라 파라미터화된 스케줄링 기술을 사용하여 네트워크 매체에 걸쳐 송신될 데이터 패킷을 큐잉하기 위한 방법의 플로차트이다. 도 7에 예시된 방법은 도 5, 도 6, 도 9 및 도 10에 예시된 시스템을 사용하여 구현될 수 있다. 일 실시예에 의하면, 도 7에 예시된 방법은 위에서 설명된 다양한 파라미터화된 스케줄링 기술과 더불어 일 실시예에 따라 아래에서 설명되는 강화된 파라미터화된 스케줄링 기술을 사용하여 구현된다.
그 방법은 네트워크 매체에 걸쳐 송신되도록 스케줄링될 입력 트래픽을 수신하는 것으로 시작한다(단계(1205)). 일 실시예에 의하면, 네트워크 매체는 유선 또는 무선 매체일 수 있다. 일 실시예에 의하면, 입력 트래픽은 위에서 설명된 입력 트래픽(305)이다. 입력 트래픽은 사용자, 세션, 논리 링크, 커넥션, 성능 요건, 우선순위 또는 정책과 각각 연관된 개개의 데이터 스트림의 이종 세트로 이루어질 수 있다. 일 실시예에 의하면, 분류 및 큐잉 모듈(310)은 단계(1205)를 수행할 수 있다. 일 실시예에 의하면, 패킷 검사 모듈(410)은 이러한 평가 단계를 수행할 수 있다.
입력 트래픽은 그 후 분류될 수 있다(단계(1210)). 일 실시예에 의하면, 분류 및 큐잉 모듈(310)은 단계(1210)를 수행할 수 있다. 이러한 분류 단계에 있어서, 입력 트래픽은 각각의 패킷의 상대적 중요도를 결정하고 각각의 데이터 패킷에 대해 성능 요건이 배정되었는지 결정하도록 평가된다. 예컨대, LTE 네트워크에 있어서, 패킷 게이트웨이는 패킷을 특정 논리 링크 또는 베어러에 배정할 수 있다. 이것은 동일 논리 링크(논리 채널)에 대한 패킷에 동일 터널 ID를 배정함으로써 나타내어진다. 터널 ID는 논리 베어러가 확립될 때 LTE 스케줄링 그룹(즉, QCI)에 매핑된다. 순차적으로 이것은 스케줄링 그룹과 연관되는 소정 성능 요건을 내포한다. 터널 ID는 성능 요건 및 스케줄링 그룹을 결정하고 패킷을 큐에 배정하도록 검출 및 사용될 수 있다. 유사하게, 와이맥스에 있어서는, 서비스 흐름 ID가 유사한 목적으로 사용될 수 있다. 일 실시예에 의하면, 패킷 검사 모듈(410)은 이러한 평가 단계를 수행할 수 있다. 이러한 정보는 그 후 어느 스케줄링 그룹에 데이터 패킷이 부가되어야 하는지 결정하도록 분류 및 큐잉 모듈(310)에 의해 사용될 수 있다.
그 후 입력 트래픽은 복수의 스케줄링 그룹으로 구분될 수 있다(단계(1215)). 분류 및 큐잉 모듈(310)은 각각의 데이터 패킷이 부가되어야 하는 스케줄링 그룹을 결정하도록 분류 단계로부터의 정보를 사용할 수 있다. 일 실시예에 의하면, 분류 및 큐잉 모듈(310)의 패킷 검사 모듈(410)은 이러한 단계를 수행할 수 있다. 일 실시예에 의하면, 각각의 패킷의 상대적 중요도 및 배정된 성능 요건은 802.1p 또는 Diffserv와 같이 위에서 설명된 방법 중 하나를 사용하여 평가된다.
입력 트래픽을 포함하는 데이터 패킷은 그 후 스케줄링 그룹과 연관된 하나 이상의 데이터 큐에 삽입될 수 있다(단계(1220)). 일 실시예에 의하면, 분류 및 큐잉 모듈(310)의 패킷 검사 모듈(410)은 이 단계를 수행할 수 있다.
그 후 스케줄러 파라미터는 데이터 큐의 각각에 대해 계산될 수 있다(단계(1225)). 일 실시예에 의하면, 이 단계는 스케줄러 파라미터 계산 모듈(335)에 의해 구현된다. 데이터 큐의 각각에 대한 스케줄러 파라미터는 단계(1210)에서 생성된 분류 정보에 기초하여 계산된다. 분류 정보(330)는 분류자 결과, 커넥션 식별자(예컨대, 소스 및 수신지 IP 어드레스, TCP 포트, UDP 소켓), 논리 링크 식별자(예컨대, LTE에서의 베어러 ID 또는 터널 ID, 와이맥스에서의 커넥션 ID 또는 서비스 흐름 ID), 패킷 사이즈, 패킷 수량 및/또는 현재 큐 이용 정보를 포함할 수 있다. 스케줄러 파라미터의 계산은 또한 옵션인 오퍼레이터 정책 및 서비스 레벨 합의(SLA) 정보 및 옵션인 스케줄러 피드백 정보를 포함하는 다른 입력을 고려할 수 있다.
데이터 패킷이 큐에 부가되고 나면, 데이터 패킷은 그들 큐와 연관된 (가중치 및 크레디트와 같은) 스케줄러 파라미터에 기초하여 큐의 각각으로부터 선택되어 출력 큐에 삽입될 수 있다(단계(1230)). 출력 큐에서의 데이터 패킷은 그 후 무선 또는 유선 매체 상에서의 송신을 위해 디큐잉되어 물리적 통신 계층(또는 'PHY')에 피드될 수 있다(단계(1235)). 일 실시예에 의하면, 스케줄러 모듈(320)은 이 방법의 단계(1230, 1235)를 구현할 수 있다.
일부 시스템에서의 결함
WRR, WFQ, PFS 또는 다른 가중치 또는 크레디트-기반 알고리즘에 있어서, 일부 시스템은 우선순위, 성능 요건, 스케줄링 그룹 또는 그 어떤 조합에 기초하여 패킷을 큐에 배정하고 스케줄러 파라미터를 계산한다. 이들 접근법에서는 수많은 결함이 있다.
예컨대, 성능 요건을 고려하는 스케줄러는 전형적으로는 구성하기가 복잡하여, 상당한 네트워크 오퍼레이터 지식 및 기량을 요구하고, 달리하는 애플리케이션으로부터의 데이터 스트림을 구별하기에 충분하게 구현되지 않을 수 있다. 이것은 단일 큐 또는 스케줄링 그룹에 중요도가 높은 것과 낮은 것 둘 다의 데이터 스트림의 바람직하지 못한 그룹화에 이르게 된다. 예컨대, IEEE 802.16 네트워크를 생각해보라. 더 낮은 계층 정보가 사용될 수 있는 경우 도 4에 관해 설명되는 바와 같이 개개의 스트림을 차별화하는 것이 때로는 가능하지 않거나 실용적이지 않다. 예컨대, 업링크(UL) 데이터 스트림(또는 서비스 흐름)은 네트워크의 게이트웨이 IP 어드레스(즉, IP "소스 어드레스")만을 사용하여 식별될 수 있다. 그러한 경우에 있어서, 라우터 "뒤" 모든 데이터 스트림은, 애플리케이션 또는 성능 요건에 무관하게, 와이맥스 UL 스케줄러 정책 및 파라미터에 의해 동일하게 처리된다.
우선순위-기반 가중치 또는 크레디트 계산 시스템의 잠재적 결함이 많이 있다. 우선순위를 배정하는데 사용되는 시스템은 사용자 애플리케이션을 의식하고 있지 않을 수 있고 일부 경우에 있어서는 특정 사용자에게로 또는 그로부터 전송되고 있는 다중 데이터 스트림 사이를 올바르게 구별할 수 없다. 우선순위 배정은 정적이고 바뀌는 네트워크 컨디션을 처리하도록 조절될 수 없다. 우선순위 정보는 네트워크 디바이스의 잘못된 구성에 기인하여 분실될 수 있거나 네트워크 오퍼레이터 정책에 기인하여 들어낼 수도 있다. 가용 우선순위 레벨의 수는 제한될 수 있고, 예컨대, IEEE 802.1p 표준은 단 8개의 레벨만을 허용한다. 부가하여, 통신 시스템에 걸쳐 패킷이 전송됨에 따라 하나의 표준으로부터 다른 하나로의 번역 불일치에 기인하여 미스매치가 있을 수 있다.
도 8은 일 실시예에 따라 무선 통신 시스템을 예시하는 블록 선도이다. 도 8에 예시된 시스템에 있어서, VoIP 폰, 스트리밍 비디오 서버, 스트리밍 음악 서버, 파일 서버, 또는 P2P 애플리케이션용 다른 디바이스와 같은 데이터 소스(510)는 통신 링크(515)를 통해 인터넷(520)에 접속된다. 인터넷(520) 내에는 트래픽을 적절한 패킷 수신지로 향하게 하도록 구성된 하나 이상의 네트워크 라우터(525)가 존재한다. 이러한 예에 있어서, 인터넷 트래픽은 링크(530)를 따라 모바일 네트워크(535) 내로 반송된다. 트래픽은 게이트웨이(540)를 통과하여 링크(545) 상으로 그리고 라디오 액세스 네트워크(RAN)(550) 내로 간다. RAN(550)의 출력은 전형적으로는 셀 폰과 같은 사용자 단말(560)에 링크되는 무선 RF 커넥션(555)이다.
2개의 서로 다른 우선순위 시스템 간 불일치가 도 8에 예시된 예에서 존재할 수 있다. 예컨대, 흔히 VoIP 폰은 소망 처리의 소정 레벨을 나타내는 높은 우선순위 레벨로 패킷을 마크하기 위해 IEEE 802.1p 또는 IETF RFC 2474("diffserv") 패킷 마크표시 우선순위결정 시스템을 사용하도록 구성될 것이다. RFC 2474에 있어서, 예컨대, 그러한 우선순위 레벨은 3개의 카테고리 중 하나에 들어간다: 디폴트, 보장 및 신속. 후자의 2개의 카테고리 내에는, 소망의 상대적 성능 요건과 관련된 서브카테고리가 있다. VoIP 폰인 데이터 소스(510)에 의해 발생되는 패킷은 그리하여 그러한 우선순위 마크표시로 통신 링크(515, 530) 상에서 주행할 것이다. 패킷이 모바일 네트워크 게이트웨이(540)에 도착할 때, 이들 우선순위는 모바일 네트워크 내 확립된 우선순위결정 시스템으로 번역될 필요가 있다. 예컨대, LTE 네트워크에 있어서는, QCI로의 매핑이 수행될 수 있다. 이러한 변환은 문제를 만들어낼 수 있다. 예컨대, diffserv 정보는 완전히 무시될 수 있다. 또는 diffserv 정보는 음성 서비스에 적절하지 않은 QCI 레벨을 배정하는데 사용될 수 있다. 부가적으로, diffserv 정보는 diffserv 레벨보다 덜 미세하게 쪼개진 QCI 레벨을 배정하는데 사용될 수 있고, 그리하여 VoIP 패킷에 많은 다른 애플리케이션으로부터의 패킷과 동일한 QCI 레벨을 배정한다.
일부 시스템은 스케줄링 시스템에 부가적 정보를 제공하려는 노력으로 우선순위 및 성능 요건의 개념을 조합하여 왔다. 예컨대, 802.16에 있어서, 스트림(또는 "서비스")의 중요도는 우선순위 값(802.1p와 같은 패킷 마크표시에 기반) 및 성능 요건의 조합에 의해 정의된다. 802.16과 같은 조합된 시스템은 스케줄러에 더 풍부한 정보 세트를 제공할 수 있지만, 위에서 설명된 결함이 여전히 적용된다.
전술된 기술과 함께 또는 단독으로 스케줄링 그룹의 사용은 최종 사용자 QoE에 관한 수많은 결함을 갖는다. 예컨대, 각각의 사용자에게 최적 QoE를 배달하는데 필요한 미세 제어를 방지할 수 있는 일부 실시예에서는 가용 그룹 수가 제한된다. 부가적으로, 일부 시스템은 전형적으로는 가장 낮은 중요도를 갖는 그들 큐를 설명하기 위해 "최선 노력" 그룹을 이용한다. 데이터 스트림은 그것들이 참으로 가장 낮은 중요도를 갖기 때문에 그러나 또한 그러한 스트림이, 위에서 설명된 방법을 통해, 더 높은 중요도를 요구하는 것으로 (의도적으로 또는 의도치 않게) 올바르게 분류되지 않았기 때문에 그러한 그룹에 들어갈 수 있다.
그러한 문제의 일례는 '오버-더-톱' 음성 및 비디오 서비스 또는 애플리케이션의 출현이다. 이들 서비스는 네트워크 오퍼레이터의 시정 및/또는 제어 밖에서 서버 및 서비스를 사용하는 능력을 제공한다. 오퍼레이터 제공 음성 또는 비디오와 같이 오퍼레이터 소유 또는 제재 소스로부터의 데이터 스트림은 기지국과 같은 무선 액세스 노드에 도달하기 전에 서로 다른 서비스 흐름, 베어러(논리 링크) 또는 커넥션 상으로 차별화될 수 있다. 이러한 차별화는 흔히 스케줄링 그룹 및 큐에서의 차별화에 매핑한다. 그렇지만, 다른 소스로부터의 서비스 및 결과적 데이터 스트림은 디폴트, 흔히 최선 노력, 논리 링크 또는 베어러 상으로 모두 함께 싸 보내질 수 있다. 예컨대, 스카이프(Skype) 및 넷플릭스(Netflix)는, 각자, 음성 및 비디오를 지원하는 2개의 인터넷-기반 서비스 또는 애플리케이션이다. 이들 애플리케이션으로부터의 데이터 스트림은 Verizon 또는 AT&T와 같은 무선 캐리어에 의해 제공되는 데이터 서비스에 의해 반송될 수 있는데, 그것들은 음성 또는 비디오로 식별되기보다는 우선순위가 결정되지 않은 데이터처럼 보일 수 있다. 그와 같이, 이들 애플리케이션에 의해 발생되는 패킷은, 무선 네트워크를 통해 전송될 때, 웹 브라우징, 이메일 또는 소셜 네트워크 업데이트와 같은 전형적 최선-노력 서비스 이상의 어떠한 우선순위도 그것들에게 주어짐이 없이 '최선-노력' 기반으로 처리될 수 있다.
일부 시스템은 스케줄링 가중치 또는 크레디트의 동적 조절을 구현한다. 예컨대, 최대 레이턴시 또는 보증된 비트 레이트(GBR)와 같은 성능 요건을 충족하기 위해, 스케줄링 가중치는 상향 조절될 수 있거나 스케줄링 크레디트는 특정 데이터 스트림에 대해 그 실제, 스케줄링된 스루풋이 보증된 최소 한계에 가까이 떨어짐에 따라 누적될 수 있다. 그렇지만, 가중치 또는 크레디트의 이러한 조절은 최종 사용자 상에서의 QoE의 효과를 고려하지 않는다. 이전의 예에 있어서, GBR 한계를 충족하기 위한 크레디트의 누적 또는 가중치의 증가는 QoE에 있어서 어떠한 주목할만한 개선 결과도 초래하지 않지만, 더 낮은 가중치 스케줄링 라운드당 크레디트, 또는 누적된 크레디트(또는 데빗)를 갖는 다투는 큐에 대해서는 QoE에서의 많은 감축을 가져올 수 있다.
그래서, '최선 노력' 스케줄링 그룹에 대해 흔한 것과 같이 동일 스케줄링 그룹으로 그룹화되는 이종 애플리케이션으로부터의 데이터 패킷 스트림의 처리의 차별화를 향상시키기 위한 방법 및 시스템이 필요하다. 부가적으로, 네트워크에 걸쳐 사용자 QoE를 최대화하기 위해 우선순위 및 성능 요건을 너머 파라미터화된 스케줄러에 제공되는 정보를 늘릴 필요가 있다.
강화된 분류 기술
위에서 설명된 바와 같이, 통신 시스템은 성능 요건, 우선순위 및 논리 커넥션에 기초하여 데이터 스트림을 차별화하기 위해 분류 및 큐잉 방법을 사용할 수 있다.
일부 시스템에서 이전에 언급된 결함을 다루기 위해, 도 5의 분류 및 큐잉 모듈(310)은 강화된 분류 및 큐잉 모듈(310')(도 9 및 도 10)을 제공하도록 강화될 수 있다. 일 실시예에 의하면, 강화된 분류 및 큐잉 모듈(310')을 포함할 수 있는, 도 5에 예시된 파라미터화된 스케줄링 시스템(300)에 예시된 기능은 기지국, LTE eNB, UE, 단말 디바이스, 네트워크 스위치 네트워크 라우터, 게이트웨이 또는 다른 네트워크 노드(예컨대, 도 1 및 도 2에 도시된 매크로 기지국(110), 피코 지국(130), 기업용 펨토셀(140), 기업용 게이트웨이(103), 주거용 펨토셀(240), 및 케이블 모뎀 또는 DSL 모뎀(203))와 같은 단일 무선 또는 유선 네트워크 노드에 구현될 수 있다. 다른 실시예에 있어서, 도 5에 예시된 기능은 다중 네트워크 노드에 걸쳐 분산될 수 있다. 예컨대, LTE 네트워크에 있어서, 강화된 패킷 검사가 EPC 패킷 게이트웨이 또는 다른 코어 게이트웨이 디바이스에서 수행될 수 있는 한편 큐잉, 스케줄러 파라미터 계산 모듈(335) 및 스케줄러 모듈(320)은 eNB 기지국에 위치할 수 있다. 다른 기능적 파티션은 유사하게 가능하다. 강화된 분류 및 큐잉 모듈(310')은 각각의 패킷의 애플리케이션 등급 및/또는 특정 애플리케이션을 분석하고 전통적 분류 및 큐잉 방법에 의해 함께 그룹화된 데이터 패킷 스트림의 추가적 차별화를 제공할 수 있다. 스트림 또는 세션의 애플리케이션 등급 또는 특정 애플리케이션에 관련 있는 정보는 분류 정보(330)를 통해 스케줄러 파라미터 계산 모듈(335)에 통신될 수 있다. 강화된 분류는 도 10에 도시된 바와 같이 별개의 단계로 전통적 분류 후에 수행되거나, 도 9에 도시된 바와 같이 전통적 분류 단계 내에 병합되어 스케줄링 그룹 내에서 사용하기 위한 더 상세한 분류를 제공할 수 있다.
특히 언급되는 것을 제외하고는, 도 9의 엘리먼트는 도 6에 관해 설명된 바와 같이 동작한다. 그렇지만, 강화된 패킷 검사 모듈(410')은 본 명세서에서 설명되는 강화된 패킷 검사 기술을 수행한다. 도 9에 도시된 바와 같이, 일부 실시예에 있어서, 강화된 패킷 검사 모듈(410')은 부가적 데이터 큐(491', 495', 495'')를 발생시킨다.
특히 언급되는 것을 제외하고는, 도 10의 엘리먼트는 도 6에 관해 설명된 바와 같이 동작한다. 패킷 검사 모듈(410)에 부가하여, 강화된 패킷 검사 모듈(410')이 제공된다. 일 실시예에 있어서, 강화된 패킷 검사 모듈(410')은 서로 다른 스케줄링 그룹으로 이미 분류된 데이터 패킷 상에 동작한다. 별개의 모듈로 예시되었지만, 패킷 검사 모듈(410) 및 강화된 패킷 검사 모듈(410')은 단일 모듈로 구현될 수 있음을 인식할 것이다. 도시된 바와 같이, 일부 실시예에 있어서, 강화된 패킷 검사 모듈(410')은 부가적 데이터 큐(491', 495', 495'')를 발생시킨다.
일 실시예에 의하면, 본 명세서에서 개시되는 강화된 분류 단계는 강화된 분류 및 큐잉 모듈(310')의 강화된 패킷 검사 모듈(410')에서 구현될 수 있다. 예컨대, 2-방향 비디오 컨퍼런싱, 단방향 스트리밍 비디오, 온라인 게이밍 및 음성은 어떤 서로 다른 애플리케이션 등급의 예이다. 특정 애플리케이션은 소스와 수신지 사이를 주행하는 데이터 스트림을 발생시키는데 사용된 실제 소프트웨어를 가리킨다. 일부 예는 유튜브, 넷플릭스, 스카이프 및 아이챗을 포함한다. 각각의 애플리케이션 등급은 수많은 특정 애플리케이션을 가질 수 있다. 도 11에 제공된 테이블은 애플리케이션 등급이 특정 애플리케이션에 매핑되는 일부 예를 예시하고 있다.
일 실시예에 의하면, 강화된 분류 및 큐잉 모듈(310')은 데이터 스트림의 특정 애플리케이션 및 애플리케이션 등급을 결정하기 위해 IP 소스 및 수신지 어드레스를 검사할 수 있다. IP 소스 및 수신지 어드레스로는, 강화된 분류 및 큐잉 모듈(310')은 인터넷-기반 트래픽을 소싱 또는 수신하는 도메인 네임 및/또는 등록된 양수인을 확립하기 위해 역방향 도메인 네임 시스템(domain name system: DNS) 룩업 또는 인터넷 WHOIS 질의를 수행할 수 있다. 도메인 네임 및/또는 등록된 양수인 정보는 그 후 도메인 또는 양수인의 목적의 선험적 지식에 기초하여 데이터 스트림에 대해 애플리케이션 등급 및 특정 애플리케이션 둘 다를 확립하도록 사용될 수 있다. 애플리케이션 등급 및 특정 애플리케이션 정보는, 유도되고 나면, 재사용을 위해 저장될 수 있다. 예컨대, 하나보다 많은 사용자 디바이스가 넷플릭스에 액세스하면, 강화된 분류 및 큐잉 모듈(310')은 강화된 분류 및 큐잉 모듈(310')이 동일 사용자 디바이스 또는 네트워크 상의 또 다른 사용자 디바이스에 의한 넷플릭스로의 후속 액세스에 대해 애플리케이션 등급 및 특정 애플리케이션을 결정할 필요가 없도록 정보를 캐시하도록 구성될 수 있다.
예컨대, 특정 IP 어드레스를 갖는 트래픽이 네임 '유튜브'를 포함한 역방향 DNS 룩업 또는 WHOIS 질의를 내놓으면 그 후 이러한 트래픽 스트림은 유튜브 서비스(특정 애플리케이션)를 사용하는 단방향 비디오 스트림(애플리케이션 등급)으로 생각될 수 있다. 일 실시예에 의하면, 도메인 네임 또는 양수인과 애플리케이션 등급과 특정 애플리케이션 사이의 포괄적 매핑이 유지될 수 있다. 일 실시예에 있어서, 이러한 매핑은 매핑이 최신인 채로 있음을 보장하기 위해 주기적으로 업데이트된다.
또 다른 실시예에 의하면, 강화된 분류 및 큐잉 모듈(310')은 다양한 통신 프로토콜과 연관된 데이터 패킷의 헤더, 페이로드 필드 또는 둘 다를 검사하고 거기에 들어있는 값을 특정 애플리케이션 등급 또는 특정 애플리케이션에 매핑하도록 구성된다. 예컨대, 일 실시예에 의하면, 강화된 분류 및 큐잉 모듈(310')은 HTTP 헤더에 들어있는 호스트 필드를 검사하도록 구성된다. 전형적으로는 호스트 필드에는, 위 실시예에서 설명된 바와 같이, 특정 애플리케이션 등급 또는 특정 애플리케이션에 스트림을 매핑하도록 사용되는 도메인 또는 양수인 정보가 들어있다. 예컨대 "v11.lscache4.c.youtube.com"의 HTTP 헤더 필드는 분류자에 의해 검사되어 애플리케이션 등급 = 비디오 스트림, 특정 애플리케이션 = 유튜브에 매핑될 수 있다.
또 다른 실시예에 의하면, 강화된 분류 및 큐잉 모듈(310')은 하이퍼 텍스트 전송 프로토콜(HTTP) 패킷 내 '컨텐트 유형' 필드를 검사하도록 구성된다. 컨텐트 유형 필드에는 인터넷 엔지니어링 태스크 포스(IETF)에 의해 정의되는 바와 같은 다목적 인터넷 메일 익스텐션(MIME) 포맷으로 명시된 정의에 기초하여 페이로드의 유형에 관한 정보가 들어있다. 예컨대, 이하의 MIME 포맷은 유니캐스트 또는 브로드캐스트 비디오 패킷 스트림 중 어느 것을 나타낼 것이다: 비디오/mp4, 비디오/퀵타임, 비디오/x-ms-wm. 일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 강화된 분류 및 큐잉 모듈(310')이 HTTP 패킷 내 이들 MIME 유형 중 어느 것이라도 검출하면 HTTP 패킷을 비디오 스트림 애플리케이션 등급에 매핑하도록 구성된다.
또 다른 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 데이터 스트림에 앞서 보내진 프로토콜을 검사하도록 구성된다. 예컨대, 강화된 분류 및 큐잉 모듈(310')은 데이터 스트림을 전송하는데 사용된 프로토콜을 사용하여 이러한 정보를 식별하는 대신에 데이터 스트림을 셋업 또는 확립하는데 사용된 프로토콜에 기초하여 애플리케이션 등급 또는 특정 애플리케이션을 식별하도록 구성될 수 있다. 즉, 강화된 분류 및 큐잉 모듈(310')은 커넥션 계층(1440)과 연관된 정보보다는 제어 패킷의 스트림을 분석함으로써 애플리케이션 등급 또는 특정 애플리케이션을 식별할 수 있다. 일 실시예에 의하면, 데이터 스트림에 앞서 보내진 프로토콜은 개시되고 나면 식별될 데이터 스트림의 전송을 위한 커넥션을 허용하는 특성, 특정 애플리케이션 및 애플리케이션 등급에 대한 정보를 식별하는데 사용된다.
예컨대, 일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 멀티미디어 스트리밍 세션을 확립하는데 사용될 수 있는 실시간 스트리밍 프로토콜(RTSP) 패킷을 검사하도록 구성된다. RTSP 패킷은, 도 12에 이더넷 기반 시스템에 대해 도시된 바와 같이, TCP/IP 프레임 내에 캡슐화되고 IP 네트워크에 걸쳐 반송된다.
RTSP(H. Schulzrinne 등, IETF RFC 2326, Real Time Streaming Protocol(RTSP))는 클라이언트 및 서버가 메시지를 교환하는 멀티미디어 스트리밍 세션을 확립 및 제어한다. 클라이언트로부터 서버로 보내진 RTSP 메시지는 요청 메시지이다. 요청 메시지의 첫 라인은 요청 라인이다. 요청 라인은 이하의 3개의 엘리먼트로 형성된다: (1)방법; (2)요청-URI; (3)RTSP-버전.
RTSP는 OPTIONS, DESCRIBE, ANNOUNCE, SETUP, PLAY, PAUSE, TEARDOWN, GET_PARAMETER, SET_PARAMETER, REDIRECT 및 RECORD를 포함하는 방법을 정의한다. 아래는 방법 DESCRIBE를 사용하여 클라이언트("C")와 서버("S") 사이의 메시지 교환의 일례이다. 서버로부터의 응답 메시지는 응답 메시지 헤더와는 하나의 빈 라인으로 분리되는 메시지 바디를 갖는다.
Figure 112014001965314-pct00001
RTSP 메시지에서의 요청-URI에는 RFC 2396(T. Berners-Lee 등, IETF RFC 2396, "Uniform Resource Identifiers(URI): Generic Syntax")에서 정의되는 바와 같은 절대 URI가 항상 들어있다. RTSP에서의 절대 URI에는 서버 상의 자원의 경로 및 네트워크 경로 둘 다 들어있다. 이하는 위에서 리스팅된 메시지에서의 절대 URI이다.
Figure 112014001965314-pct00002
RTSP-버전은 RTSP 메시지에서 어느 버전의 RTSP 규격이 사용되는지를 나타낸다.
일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 RTSP 요청 메시지에서의 절대 URI를 검사하고 네트워크 경로를 추출하도록 구성된다. 네트워크 경로에는 전형적으로는, 위 실시예에서 설명된 바와 같이, 스트림을 특정 애플리케이션 등급 또는 특정 애플리케이션에 매핑하는데 사용되는 도메인 또는 양수인 정보가 들어있다. 예컨대, RTSP 절대 URI "rtsp://v4.cache8.c.youtube.com/dir_path/video.3gp"는 분류자에 의해 검사되고 애플리케이션 등급 = 비디오 스트림, 특정 애플리케이션 = 유튜브에 매핑될 수 있다. 일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 서버로부터 클라이언트로 보내진 관련된 패킷을 분류하기 위해 클라이언트로부터 서버로 보내진 패킷을 검사한다. 예컨대, 클라이언트로부터 보내진 RTSP 요청 메시지로부터의 정보는 서버로부터의 응답을 분류하는데 사용될 수 있다.
RTSP 프로토콜은 PLAY 기능을 사용하여 시그널링된 범위 파라미터를 사용함으로써 비디오 세션에 대해 재생 시간의 범위를 명시할 수 있다. 요청은 시간의 유한(즉,― 시작, 정지) 범위 또는 시간의 무한 범위(즉, 시작 시간만)를 포함할 수 있다. 시간 범위는 정규 재생 시간(npt), smpte 또는 클록 파라미터 중 어느 것을 사용하여 나타내어질 수 있다. Npt 시간 파라미터는 hours:minutes:seconds.fraction 포맷 또는 ISO 8601에 따른 절대 유닛 포맷 타임스탬프 중 어느 것으로 표현될 수 있다. smpte 시간 값은 hours:minutes:seconds.fraction 포맷으로 표현된다. 클록 시간 값은 ISO 8601에 따른 절대 유닛 포맷으로 된 타임스탬프로 표현된다. 범위 파라미터 용법의 예는 다음과 같다:
Figure 112014001965314-pct00003
일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 RTSP 메시지를 검사하고 npt, smpte 또는 클록 필드를 사용하여 비디오 스트림으로부터 범위 정보를 추출하도록 구성된다. 당업자는 RTSP 패킷 내 npt, smpte 및 클록 파라미터가 위에서 설명된 정보를 통신하기 위해 대체 구문을 사용할 수 있음을 이해할 것이다.
RTSP 프로토콜은 서버와 클라이언트 간 멀티미디어 세션의 상세를 통신하는데 사용되는 DESCRIBE 기능을 포함한다. 이러한 DESCRIBE 요청은 요청된 정보의 컨텐트 및 포맷을 명시하는 세션 기술 프로토콜(SDP는 RFC 2327 및 RFC 2327을 대체하는 RFC 4566에 정의됨)에 기반한다. SDP로는, m-필드는 미디어 유형, 네트워크 포트, 프로토콜 및 포맷을 정의한다. 예컨대, 이하의 SDP 미디어 기술을 생각해보라:
Figure 112014001965314-pct00004
제1 예에 있어서, 오디오 스트림은 포트 49170 상에서의 데이터 전송을 위해 실시간 프로토콜(RTP)을 사용하고 그리고 RTP 오디오 비디오 프로파일(AVP) 번호 0으로 기술된 포맷에 기반하는 것으로 기술되어 있다. 제2 예에 있어서, 비디오 스트림은 RTP 오디오 비디오 프로파일(AVP) 번호 31에 기반하여 포트 51372 상에서의 데이터 전송을 위해 RTP를 사용하는 것으로 기술되어 있다.
양자의 RTSP 예에 있어서, m-필드는 데이터 스트림을 특정 애플리케이션 등급으로 분류하기에 충분하다. m-필드는 통신 프로토콜(RTP) 및 IP 포트 번호를 불러내므로, 뒤이은 데이터 스트림(들)은 막 유도된 분류 정보로 식별 및 매핑될 수 있다. 그렇지만, 특정 애플리케이션으로의 분류는 이 정보 단독으로는 가능하지 않다.
서버로부터 클라이언트에 반환된 SDP 메시지는 애플리케이션 등급 또는 특정 애플리케이션에 대한 부가적 정보를 제공하는데 사용될 수 있는 부가적 필드를 포함할 수 있다.
SDP 메시지에는 RTP로 전송되는 비디오 및 오디오 스트림의 페이로드 유형이 들어있다. 일부 RTP 비디오 페이로드 유형은 RFC 3551(H. Schulzrinne 등, IETF RFC 3551, "RTP Profile for Audio and Video Conferences with Minimal Control")에 정의되어 있다. 예컨대, MPEG-1 또는 MPEG-2 엘리멘터리 비디오 스트림의 페이로드 유형은 32이고, H.263 비디오 스트림의 페이로드 유형은 34이다. 그렇지만, H.264와 같은 일부 비디오 코덱의 페이로드 유형은 동적으로 배정되고, SDP 메시지는 비디오 코덱의 파라미터를 포함한다. 일 실시예에 있어서, 비디오 코덱 정보는 비디오 데이터 스트림을 분류하고 비디오 코덱 특성에 기초하여 서로 다르게 비디오 스트림을 처리하는데 사용될 수 있다.
SDP 메시지에는 또한 비디오의 프레임 레이트를 나타내는, RFC 4566에 정의되는, 속성 "a=framerate:<frame rate>"가 들어있을 수 있다. SDP 메시지는 또한, 비디오의 프레임 사이즈를 나타내도록 SDP 메시지에 포함될 수 있고, 3GPP PSS(3GPP TS 26.234, "Transparent End-to-End Packet-switched Streaming Service, Protocols and Codecs")에 정의되는 속성 "a=framesize:<payload type number> <width> <height>"를 포함할 수 있다. 역사적 이유로, 일부 애플리케이션은 "a=framerate:<frame rate>" 및 "a=framesize:<payload type number> <width> <height>"에서의 것과 유사한 정보를 패스하기 위해 "a=x-framerate:<frame rate>" 또는 "a=x-dimensions:<width> <height>"와 같은 비-표준 속성을 사용할 수 있다. 일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 SDP 메시지를 검사하고 대응하는 필드가 존재하면 비디오의 프레임 레이트 또는 프레임 사이즈 또는 둘 다를 추출하고, 스트림을 특정 애플리케이션 등급 또는 특정 애플리케이션에 매핑함에 있어서 부가적 정보를 제공하는데 프레임 레이트 또는 프레임 사이즈 또는 둘 다를 사용하도록 구성된다.
일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 RTP 프로토콜(H. Schulzrinne 등, IETF RFC 3550, "RTP: A Transport Protocol for Real-Time Applications")을 사용하여 반송된 비디오 데이터가 2개의 엔드포인트 사이에 흐르는 이들 패킷에 들어있는지 검출하도록 네트워크 패킷을 직접 검사하고, 강화된 분류 및 큐잉 모듈(310')은 RTP 스트림을 기술하는 정보가 들어있는 SDP 메시지 또는 어떠한 다른 메시지도 검사함이 없이 이것을 수행한다. 이것은, 예컨대, SDP 메시지 또는 유사한 정보가 들어있는 어느 다른 메시지 중 어느 것도 강화된 분류 및 큐잉 모듈(310')을 통과하지 않거나, 강화된 분류 및 큐잉 모듈(310')의 소정 구현이 그러한 메시지를 검사하지 않기로 선택할 때, 일어날 수 있다. RTP 스트림은 2개의 엔드포인트 사이에 흐르고 RTP 프로토콜을 사용하여 데이터를 반송하는 패킷의 스트림이고, 한편 엔드포인트는 (IP 어드레스, 포트 번호) 쌍에 의해 정의된다.
도 13은 강화된 패킷 검사 모듈(410')의 일 실시예의 기능적 블록 선도이다. 이러한 실시예에 있어서, 강화된 패킷 검사 모듈(410')은 RTP 프로토콜을 사용하여 전송된 비디오 데이터가 UDP 또는 TCP 패킷에 들어있는지 검출하기 위한 비디오 스트림 검출 모듈(7120) 및 RTP 스트림 검출 모듈(7110)을 포함한다. 강화된 패킷 검사 모듈(410')은 또한 다른 로직 모듈(7100)에 의해 일반적으로 표현되는 다른 기능을 구현할 수 있다. 일 실시예에 있어서, 강화된 패킷 검사 모듈(410')은 2개 방향으로 흐르는 입력 트래픽을 수신하고 타방향으로 흐르는 패킷으로부터의 정보를 사용하여 일방향으로 흐르는 패킷을 분류한다. 강화된 패킷 검사 모듈(410')은 트래픽 자체를 수신하기보다는 또 다른 모듈로부터 타방향으로 흐르는 트래픽에 대한 정보를 수신할 수 있다.
RTP 스트림 검출 모듈(7110)은 RTP 패킷 헤더의 포맷에 따라 UDP 또는 TCP 페이로드의 첫 수개의 바이트를 파싱하고 RTP 헤더 필드의 값을 체크하여 2개의 엔드포인트 사이에 흐르는 스트림이 RTP 스트림인지 결정한다.
도 14는 RTP 헤더 및 RTP 페이로드를 포함하는 RTP 패킷의 일례의 구조를 예시하는 선도이다. 도 14에서는, 일례로서 H.264 비디오 데이터가 RTP 페이로드에 들어있다. RTP 헤더 포맷은 RTP 페이로드에서 반송된 미디어 유형에 의존하지 않는 한편, RTP 페이로드 포맷은 미디어 유형 특정적이다. UDP 또는 TCP 패킷의 페이로드에 RTP 패킷이 들어있으면, RTP 헤더에서의 수개의 필드의 값은 특수 패턴을 가질 것이다. 이들 특수 패턴 중 일부가 아래에 예로서 리스팅된다. 괄호 내 짧은 이름에 대해 도 14를 참조하라. RTP 스트림 검출 모듈(7110)은 스트림이 RTP 스트림인지 결정함에 있어서 이들 패턴 중 하나, 이들 패턴의 조합 또는 아래에 리스팅되지 않은 다른 패턴을 사용할 수 있다.
필드 "RTP 버전"("V")은 항상 2이다.
필드 "덧붙임 비트"("P")가 1로 설정되면, 패킷의 마지막 옥텟이 패킷의 끝에 덧붙여지는 옥텟의 수인 덧붙임 길이이다. 도 15는 패킷의 끝에 덧붙여진 옥텟을 갖는 그러한 RTP 패킷을 예시하고 있다. 덧붙임 길이는 RTP 페이로드의 총 길이를 초과하지 않아야 한다.
필드 "페이로드 유형"은 불변으로 머무른다.
필드 "시퀀스 번호"는 2개의 연속하는 패킷 사이의 시간 대부분 1만큼 증가해야 한다. 시퀀스 번호는 패킷이 순서가 바뀌거나, 패킷이 누락되거나, 시퀀스 번호가 롤오버될 때 갭을 갖는다. 이들 경우 모두는 정규 동작에서는 비교적 드물게 일어나야 한다.
필드 "타임스탬프"는 비디오 스트림 검출 모듈(7120)을 참조하여 아래에 상술되는 바와 같이 미디어 유형에 의존하는 특수 패턴을 갖는다.
스트림이 RTP 스트림이라고 검출되면, 비디오 스트림 검출 모듈(7120)은 RTP 스트림이 비디오를 반송하는지 어느 비디오 코덱이 비디오 스트림을 발생시키는지 검출하기 위해 RTP 패킷 헤더 필드 및 RTP 페이로드에 대한 추가적 검사를 수행할 것이다.
비디오에 관련된 일부 RTP 페이로드의 페이로드 유형은 RFC 3551에 정의되어 있다. 그렇지만, 동적으로 배정되는 페이로드 유형을 갖는 비디오 코덱에 대해, 코덱 파라미터는 SDP 메시지에 포함된다. 그렇지만, 그 SDP 메시지는 비디오 스트림 검출 모듈(7120)에는 이용가능하지 않을 수 있다.
비디오 스트림 검출 모듈(7120)이 페이로드 유형이 동적으로 배정되는 것임을 검출하면, 그것은 스트림에 관한 통계를 수집한다. 예컨대, RTP 헤더 필드 "타임스탬프", RTP 패킷 사이즈 및 RTP 패킷 데이터 레이트의 값의 통계가 수집될 수 있다. 비디오 스트림 검출 모듈(7120)은 그 후 수집된 통계 중 하나 또는 통계의 조합을 사용하여 RTP 스트림이 비디오 데이터를 반송하는지 결정할 수 있다.
통상 비디오 스트림은 24 FPS(초당 프레임), 25 FPS, 29.97 FPS, 30 FPS 또는 60 FPS 등과 같은 소정의 잘-정의된 프레임 레이트를 갖는다. 일 실시예에 있어서, 비디오 스트림 검출 모듈(7120)은 RTP 패킷 타임스탬프의 값이 (공통 프레임 레이트의 역인) 공통 프레임 시간 거리의 정배수 변화가 있는지에 적어도 일부 기초하여 RTP 스트림이 비디오 데이터를 반송하는지 결정한다.
통상 비디오 스트림은 오디오 스트림에 비해 순시 데이터 레이트에 있어서 더 큰 요동 및 더 높은 평균 데이터 레이트를 갖는다. 또 다른 실시예에 있어서, 비디오 스트림 검출 모듈(7120)은 순시 RTP 데이터 레이트에 있어서의 요동 및 평균 RTP 데이터 레이트의 크기에 적어도 일부 기초하여 RTP 스트림이 비디오 데이터를 반송하는지 결정한다.
RTP 페이로드 포맷은 미디어 특정적이다. 예컨대, RTP 패킷에서의 H.264 페이로드는 구조가 RFC 6814(Y. K. Wang 등, IETF RFC 6184, "RTP Payload Format for H.264 Video")에 정의되어 있는 NAL 유닛 헤더로 항상 시작한다. 일 실시예에 있어서, 비디오 스트림 검출 모듈(7120)은 RTP 페이로드의 첫 수개 바이트의 패턴에 적어도 일부 기초하여 어느 비디오 코덱이 RTP 스트림에서 반송되는 비디오 데이터를 발생시키는지 검출한다.
강화된 큐잉
일 실시예에 의하면, 강화된 분류 및 큐잉 모듈(310')은 또한 강화된 큐잉 기술을 구현하도록 구성될 수 있다. 위에서 설명된 바와 같이, 강화된 분류가 완료되고 나면, 강화된 분류 및 큐잉 모듈(310')은 위에서 설명된 강화된 분류 기술에 의해 유도된 부가적 정보에 기초하여 강화된 큐 세트에 배정할 수 있다. 예컨대, 일 실시예에 있어서, 패킷은 애플리케이션 등급, 특정 애플리케이션, 개개의 데이터 스트림 또는 그 어떤 조합에 의해 큐 세트에 배정될 수 있다.
일 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 각각의 애플리케이션 등급에 대해 고유의 큐를 포함하는 스케줄링 그룹을 사용하도록 구성된다. 예컨대, LTE eNB는 모든 QCI=6 패킷을 단일 스케줄링 그룹에 배정할 수 있다. 그러나, 강화된 큐잉으로는, 비디오 챗으로 분류된 QCI=6 내 패킷이 하나의 큐에 배정될 수 있는 한편, 음성으로 분류된 패킷이 다른 큐에 배정될 수 있어, 스케줄링에 있어서 차별화를 가능하게 한다.
또 다른 대안의 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310')은 각각의 특정 애플리케이션에 대해 고유의 큐를 포함하는 스케줄링 그룹을 사용하도록 구성된다. 예컨대, 강화된 큐잉을 구현하는 LTE eNB는 유튜브 스트리밍 비디오를 포함하는 것으로 분류된 QCI=9 패킷을 하나의 스케줄링 큐에 배정하는 한편, 넷플릭스 스트리밍 비디오로 분류된 패킷을 다른 스케줄링 큐에 배정할 수 있다. 그것들이 동일 애플리케이션 등급이기는 하지만, 패킷은 이 실시예에서는 그것들이 서로 다른 특정 애플리케이션이기 때문에 서로 다른 큐에 배정된다.
또 다른 실시예에 있어서, 강화된 분류 및 큐잉 모듈(310)은 스케줄링 그룹이 각각의 데이터 스트림에 대해 고유의 큐로 이루어질 수 있게 되도록 구성된다. 예컨대, LTE eNB는 모든 QCI=9 패킷을 단일 스케줄링 그룹에 배정할 수 있다. 위에서 설명된 강화된 분류 방법에 기초하여, 각각의 데이터 스트림은 고유의 큐에 배정된다. 예컨대, 2개의 특정 애플리케이션을 각각 실행하는 5개의 모바일 폰 사용자에게 서비스하는 스케줄링 그룹을 갖는 일례의 실시예를 생각해보라. 일 실시예에 있어서, 각각의 모바일 디바이스에 대한 애플리케이션이 모바일에 대한 디폴트 라디오 베어러에 매핑되면, 이것은 원래의 분류 및 큐잉 모듈을 사용하여 이종 데이터를 반송하는, 각각의 모바일에 대해 하나씩, 5개의 큐의 결과를 초래할 것이다. 그렇지만, 일 실시예에 있어서는, 10개의 데이터 스트림을 지원하여 강화된 분류 및 큐잉 모듈(310)에 의해 10개의 큐가 생성된다. 대안의 예에 있어서, 5개의 모바일의 각각은 동일한 특정 애플리케이션을 사용하는 2개의 데이터 스트림을 갖는다. 이러한 경우에 있어서, 데이터 스트림은 또한, 예컨대, 포트 번호 또는 세션 ID에 기초하여 별개의 큐로 분류되어 10개의 큐의 결과를 초래한다.
위에서 설명된 강화된 카테고리 분류 및 큐잉 기술은 무선 또는 유선 네트워크 통신 시스템에서의 큐잉을 개선하는데 사용될 수 있다. 본 명세서에서 개시되는 기술은 개선된 큐잉을 제공하기 위해 패킷을 큐에 배정하기 위한 다른 방법과 조합될 수 있다.
애플리케이션 인자
일 실시예에 의하면, 스케줄러 파라미터 계산 모듈(335)은 위에서 설명된 소정 가중치 또는 크레디트 계산 기술의 QoE 결함을 다루기 위해 스케줄러 파라미터를 계산할 때 강화된 정책 정보를 사용하도록 구성된다. 일 실시예에 의하면, 강화된 정책 정보(350)는 애플리케이션 등급 및 특정 애플리케이션에 기초하여 상대적 우선순위 및 중요도의 양적 레벨의 배정을 포함할 수 있다. 이러한 인자는 본 명세서에서는 애플리케이션 인자(AF)라고 지칭되고 AF의 목적은 강화된 분류 및 강화된 큐잉을 따르는 큐의 상대적 중요도 및 궁극적으로는 스케줄링 파라미터를 조절하는 수단을 오퍼레이터에 제공하려는 것이다. 또 다른 실시예에 있어서, AF는 오퍼레이터 관여 필요 없이 내부 알고리즘 또는 디폴트의 사용을 통해 확립된다.
도 16은 일 실시예에 따라 애플리케이션 등급당 그리고 특정 애플리케이션당 기준으로 샘플 AF 배정을 예시한 테이블이다. 패킷 또는 데이터 스트림에 의해 반송되는 특정 애플리케이션을 식별하는 것이 가능하지 않은 경우에 있어서, AF 배정은 애플리케이션 등급 내 '미지' 카테고리에 이루어질 수 있다. 스루풋 및 레이턴시 민감한 애플리케이션에 대한 QoE를 최적화하기 위해, 비디오 및 음성 애플리케이션은 배경 데이터 및 소셜 네트워크 트래픽(0-2 범위의 AF)에 비해 더 높은 AF 값(하나를 제외하고는 모두 6 또는 더 높음)에 배정되었다.
비디오 챗 등급 내에서, 오퍼레이터는 하나의 비디오 챗 서비스(예컨대, 아이챗)가 다른 것(예컨대, 스카이프 비디오)보다 실질적으로 더 부담스러움(예컨대, 용량을 더 요구하고, 더 적은 레이턴시 또는 지터 내성을 가짐)을 발견할 수 있고 스카이프 비디오 챗에 아이챗보다 더 높은 AF 값(8 대 5)을 배정함으로써 더 네트워크 우호적 애플리케이션의 사용을 장려하려 시도할 수 있다.
유사하게, 오퍼레이터는 이들 서비스와 연관된 AF를 조절함으로써 짧게 볼 필요가 있는 덜 중요하게 생각될 수 있는 것, 유튜브 비디오와 같은 무료 서비스를 희생하고, 넷플릭스와 같은 유료 서비스의 QoE를 보존하기로 결정할 수 있다. 오퍼레이터는 오퍼레이터와 전략적으로 관계를 갖는 소정 음성 서비스(예컨대, 스카이프 오디오, 보니지)를 높은 AF(각자, 8 및 6)로 강화하는 한편 모든 나머지(즉, 비-전략적) 음성 서비스에 1이라는 매우 낮은 AF를 배정하는 능력을 바랄 수 있다.
당업자는 애플리케이션 등급과 특정 애플리케이션 사이에 서로 다른 그리고 달라지는 가중치 또는 크레디트 관계를 생성하도록 서로 다른 AF 값이 사용될 수 있음을 이해할 것이다. 당업자는 또한 도 16에 도시된 것들 이상으로 부가적 애플리케이션 등급 및 특정 애플리케이션이 어떻게 부가될 수 있는지 이해할 것이다.
부가적으로, 당업자는 노드 유형 및/또는 노드 위치에 기초하여 AF가 서로 다르게 배정될 수 있음을 이해할 것이다. 예컨대, 교외 주거용 에어리어에 서비스 제공하는 LTE eNB는 하나의 AF 세트를 사용하도록 구성될 수 있는 한편 고속도로에 서비스 제공하는 LTE eNB는 서로 다른 AF 세트를 사용하도록 구성될 수 있다.
스케줄링 파라미터
일 실시예에 의하면, 강화된 스케줄러 파라미터 계산 모듈(335)은 또한 가중 또는 크레디트 인자를 결정하기 위한 강화된 기술을 구현하도록 구성될 수 있다. 위에서 설명된 바와 같이, 일부 가중치 또는 크레디트 계산 알고리즘은 다양한 입력에 기초하여 개개의 큐에 대한 스케줄링 파라미터를 조절할 수 있다. 예컨대, 도 5에 예시된 파라미터화된 스케줄링 모듈에 있어서, 스케줄러 파라미터 계산 모듈(335)은 분류 정보(330), 옵션인 오퍼레이터 정책 및 SLA 정보(350) 및 옵션인 스케줄러 피드백 정보(345)(예컨대, 스케줄러 모듈(320)로부터 수신된 스트림 이력)를 포함하는 다양한 입력에 기초하여 새로운 스케줄러 파라미터를 계산하도록 구성될 수 있다.
일 실시예에 의하면, 강화된 스케줄러 파라미터 계산 모듈(335)은 QoE 성능을 개선하기 위해 부가적 가중치 및 크레디트 계산 인자를 사용할 수 있다. 예컨대, 일 실시예에 있어서, 부가적 가중치 인자는 아래에 나타낸 바와 같이 강화된 가중치(W')를 발생시키는데 사용될 수 있다:
W'(q) = a*W(q) + b*AF(q)
여기서:
W' = 강화된 큐 가중치
q = 큐 인덱스
W = 관용적 가중치 계산에 의해 유도된 큐 가중치
a = W를 W'에 매핑하는 계수
AF = 애플리케이션 인자
b = AF를 W'에 매핑하는 계수
예컨대, 일 실시예에 있어서, 단일 큐, 최선 노력 스케줄링 그룹(예컨대, LTE에 있어서 QCI = 9) 내 (스트림 인덱스 i에 의해 지정되는) 5개의 액티브 스트림을 갖는 LTE eNB 기지국이 도 17에 도시되어 있다. 관용적 기술에서 설명된 결함에 기인하여, 이 스케줄링 그룹에서의 단일 큐에 배정되는 수많은 애플리케이션 등급 및 특정 애플리케이션이 존재한다. 이 예에 있어서는, 모든 패킷이 동일 큐에 배정되어 스케줄러에 의한 애플리케이션 등급 및/또는 특정 애플리케이션 사이의 차별화 없음을 초래한다.
예컨대, 스트림 #1, 페이스북 요청 및 스트림 #4, 스카이프 비디오 챗 세션은 둘 다 동일 큐에 배정된다. 양 스트림으로부터의 패킷이 동일 큐에 있기 때문에, 양 스트림은 비-차별화된 방식으로 스케줄러에 의해 제공되는 자원을 공유해야 한다. 예컨대, 패킷은 단일 큐로부터 FIFO 방법으로 서비스될 수 있고 그로써 양 스트림으로부터의 패킷의 "선착자" 서비스를 생성한다. 이것은, 사용자 QoE의 관점에서, 비디오 챗 세션이 페이스북 업데이트보다는 패킷 지연 또는 폐기에 더 민감하다는 사실에 기인하여, 네트워크 혼잡 시간 동안에 바람직하지 않다.
대조적으로, (강화된 스케줄러 파라미터 계산 모듈(335)에서 구현될 수 있는) 위에서 설명된 강화된 가중치 계산 기술이 적용되면, (도 17에서 인덱스 i에 의해 지정되는) 5개의 스트림의 각각은 (도 17에서 인덱스 q에 의해 지정되는) 고유의 큐로 배정될 수 있다. 각각의 큐는 그 후 애플리케이션 등급 및 특정 애플리케이션의 함수로서 고유의 강화된 가중치에 배정될 수 있다. 예컨대, 도 17에서 칼럼 W1 및 W2는, 각각의 데이터 스트림 i가 고유의 큐 q에 배정된다고 상정할 때, 도 16에 도시된 AF, 특정 애플리케이션 및 애플리케이션 등급에 기초하여 강화된 큐 가중치 계산의 결과를 증명한다.
가중치 W1 및 W2는 (위에서 설명된) W'에 대한 등식을 사용하여 각각의 스트림에 대해 계산되고 각자 계수 'a'는 1로 설정되고 계수 'b'는 0.5 및 1로 설정된다. 즉:
Wl(q) = W(q) + 0.5*AF(q)
W2(q) = W(q) + AF(q)
계산의 효과는 데이터 스트림 #1을 스트림 #4와 다시 비교함으로써 알 수 있다. W1에 대해, 비디오 챗 스트림은 이제 페이스북 스트림 가중치 4보다 더 큰 가중치 7을 갖는다. W2의 계산에 있어서 계수 'b'가 1.0으로 증가됨에 따라, 스트림 #4와 #1 사이의 가중치 차이는 더 증가한다(각자, 11 및 5).
그 경우의 W1 및 W2에 대해, 스카이프 스트림에는 페이스북 스트림보다 더 많은 자원이 할당될 것이다. 이것은 스카이프 세션이 스케줄러에 의해 지지될 것이고 네트워크 혼잡 시간 동안 세션 성능 및 QoE를 개선할 수 있는 가능성을 증가시킨다. 이것은 페이스북 세션의 희생으로 오지만, 트레이드오프는 비대칭적이다: 패킷 지연/폐기는 비디오 챗 세션에 대한 등가의 패킷 처리에 비해 페이스북 세션 상에서 더 작은 효과를 가질 것이다(즉, 덜 두드러진다). 그래서 애플리케이션-인지 스케줄링 시스템은 최종-사용자 QoE에 관해 더 최적의 응답을 제공하였다.
대안의 예에 있어서, 도 17에서의 각각의 데이터 스트림은 서로 다른 모바일에 대한 것이고 QCI=9에 대한 스케줄링 그룹 내 별개 큐에 이미 있을 수 있다. 일부 시스템에 있어서, 각각의 큐에 배정되는 가중치는 특정 애플리케이션 또는 애플리케이션 등급을 고려하지 않을 것이다. 그렇지만, 본 명세서에서 설명되는 바와 같이, 일부 실시예에서는 가중치가 차별화된다.
유사하게, 강화된 스케줄링 라운드당 크레디트는 공식 C'(q) = a*C(q) + b*AF(q)을 사용하여 크레디트-기반 스케줄링 알고리즘에 대해 계산될 수 있고, 여기서 (크레디트에 대한) C는 강화된 가중치 계산 공식에서의 (가중치에 대한) W를 대체한다. 이러한 강화된 크레디트는 각각의 스케줄링 라운드에서 큐의 누적된 크레디트에 부가될 것이고(아마 상한 정함 있음), 한편 할당된 대역폭은 누적된 크레디트로부터 인출될 것이다. AF의 스케일은 스케줄링 알고리즘에서 사용될 때 데이터 레이트와 가중치 간 스케일에서의 전형적 차이에 기인하여 가중치-기반 등식에 비해 크레디트-기반 등식에서 달리할 수 있기는 하지만, AF는 크레디트 및 가중치 기반 계산 둘 다에 대해 동일 방식으로 사용된다.
당업자는 또한 위에서 설명된 방법 및 시스템은 큐에 하나보다 많은 데이터 스트림, 하나보다 많은 특정 애플리케이션, 하나보다 많은 애플리케이션 등급 또는 그 조합으로부터의 패킷이 들어있는 경우에까지 확장될 수 있고 그에 대해서는 취합 스케줄링이 적절할 수 있음을 인식할 것이다. 예컨대, 강화된 가중치 또는 크레디트는 3개의 서로 다른 모바일 폰에 의해 발생된 3개의 스카이프/비디오 챗 데이터 스트림이 들어있는 큐에 배정될 수 있다. 부가적으로, 위에서 설명된 방법 및 시스템은 하나 이상의 스케줄링 그룹에서의 큐의 서브세트에만 또는 전부에 적용될 수 있다. 예컨대, 강화된 파라미터 계산 및 강화된 큐잉은 LTE QCI=9 스케줄링 그룹에 적용될 수 있지만 알려져 있는 파라미터 계산은 LTE QCI=1-8 스케줄링 그룹에 적용될 수 있다. 나아가, 계수 'a' 및 'b'의 매핑은 스케줄링 그룹 또는 대안의 큐 그룹화의 함수로서 조절될 수 있다. 예컨대, 계수 'b'는 LTE QCI=9 큐가 들어있는 스케줄링 그룹에 대해 1로 설정될 수 있지만 LTE QCI=8 큐에 대해서는 0.5로 설정될 수 있다.
시변 애플리케이션 인자
일 실시예에 의하면, 강화된 스케줄러 파라미터 계산 모듈(335)은 또한 애플리케이션 인자(AF)를 불변으로부터 하나 이상의 시변 함수 AF(t)로 확장하도록 구성될 수 있다. 일부 실시예에 의하면, AF는 사전설정된 스케줄에 기초하여 조절된다. 오퍼레이터는 하루 중 한번 애플리케이션의 특정 처리 및 다른 시간 동안 다른 처리를 소망할 수 있다.
예컨대, 일 실시예에 있어서, 강화된 스케줄러 파라미터 계산 모듈(335)은 전형적 통근 시간 동안 음성 통화가 모바일 네트워크 상에서 실행되는 지배적 애플리케이션인 경우, 특히 운송 루트에 서비스 제공하는 그들 셀 및 섹터에 대해, "러시 아워" AF 값을 사용하도록 구성된다. 그러한 시간에 대해, (예컨대, 월요일 내지 금요일, 오전 7시에서 오전 9시 그리고 오후 4시에서 오후 7시) 모든 음성 애플리케이션에는 AF=10이 배정되어 서비스 레벨을 모든 다른 애플리케이션보다 더 향상시킨다(도 16 참조). 그 시간 기간 밖에서는, 강화된 스케줄러 파라미터 계산 모듈(335)은 표준 AF 값으로 되돌리도록 구성된다.
또 다른 예에 있어서, 강화된 스케줄러 파라미터 계산 모듈(335)은 오버-더-톱(OTT) 비디오 서비스에 대해 그러한 서비스가 사용될 가능성이 가장 높은 경우의 기간 동아 더 큰 AF 값을 사용하도록 구성된다. 예컨대, 강화된 스케줄러 파라미터 계산 모듈(335)은 주말 저녁 동안, 특히 주거용 에어리어에 서비스하는 네트워크에 대해, 더 큰 AF 값을 사용하도록 구성된다. 도 16을 다시 한번 참조하면, OTT 비디오에 대한 피크 설정은, 예컨대, 비디오 스트림 애플리케이션(예컨대, 미지의 비디오 스트림 및 넷플릭스)을 금요일과 토요일 오후 7-11시 사이에 AF=10으로 설정하는 것을 포함할 수 있다.
특정 애플리케이션 등급 또는 특정 애플리케이션에 대한 데이터의 전 수량은 AF의 배정 및 계산에 사용될 수 있다. 예컨대, 모든 데이터가 동일한 특정 애플리케이션으로부터였으면, 모든 스트림은 등가의 사용자 경험을 보증할 것이므로 AF를 조절할 필요가 없을 수 있다(그렇지만, 그때에도 초당 프레임 또는 스트림당 데이터 레이트와 같은 특성은 아래에서 설명되는 바와 같이 AF를 수정하는데 여전히 사용될 수 있다). 사용자 경험의 높은 품질을 요구하는 데이터가 매우 적었으면, 예컨대, 액티브 넷플릭스 세션이 단 하나뿐이고 모든 다른 데이터가 이메일이였으면, 넷플릭스 스트림의 AF는, 모든 또는 대부분의 다른 데이터가 지연을 용인하고 내장된 재송신 메커니즘을 가질 수 있음을 알고 있으면서, 가능한 최상 경험 품질(예컨대, 가장 적은 손실 패킷)을 보장하기 위해 정규 경우보다 더 많이 증가될 수 있다. 대안의 실시예에 있어서, AF는 동종 또는 유사한 데이터 스트림에 의해 요구되는 총 가용 대역폭의 백분율의 함수로서 계산된다. 예컨대, 넷플릭스 스트림은 높은 AF로 시작할 수 있지만, 더 높은 백분율의 데이터 사용량이 넷플릭스에 의해 소비됨에 따라 모든 넷플릭스 스트림에 대한 AF는 감소할 수 있거나, 기존 넷플릭스 스트림의 AF는 변경되지 않게 두고 새로운 넷플릭스 스트림에 대한 AF가 감소할 수 있다.
당업자는 주기적, 스케줄 기반 AF 조절이, 한정되는 것은 아니지만, 하루 중 시각, 일주일 중 날, 철, 계절 및 공휴일을 포함하는 어떠한 회귀적 주기에라도 기초할 수 있음을 인지할 것이다. 나아가, 일 실시예에 있어서, 강화된 스케줄러 파라미터 계산 모듈(335)은 지역 스포츠, 비즈니스 및 공동체 활동 또는 다른 일회적 스케줄링된 이벤트에 응답하여 AF를 조절하도록 비-회귀적 스케줄링을 사용하도록 구성된다. 일부 실시예에 의하면, AF 값은 비-회귀적 스케줄링을 위해 네트워크 오퍼레이터에 의해 수동으로 구성될 수 있다. 다른 실시예에 의하면, 강화된 스케줄러 파라미터 계산 모듈(335)은 네트워크 상에 저장된(또는 일부 실시예에서는 강화된 스케줄러 파라미터 계산 모듈(335)이 구현되는 네트워크 노드에 푸시되는) 이벤트 정보에 액세스하도록 구성되고 강화된 스케줄러 파라미터 계산 모듈(335)은 이벤트의 유형에 따라 AF 값을 자동으로 업데이트할 수 있다. 일 실시예에 의하면, 강화된 스케줄러 파라미터 계산 모듈(335)은 또한 날씨 패턴 변화, 자연 또는 다른 재해 또는 법령 시행/군사 활동을 포함하는 예측하지 못한 이벤트에 부응하기 위해 실시간으로 AF 값을 업데이트하도록 구성될 수 있다.
애플리케이션 특성에 의존하는 애플리케이션 인자
일 실시예에 의하면, 강화된 스케줄러 파라미터 계산 모듈(335)은 애플리케이션 특성에도 의존하도록 애플리케이션 등급 및 특정 애플리케이션의 함수로부터 애플리케이션 인자(AF)를 확장하도록 구성될 수 있다. 일부 실시예에 의하면, AF는 비디오 프레임 사이즈, 비디오 프레임 레이트, 비디오 스트림 데이터 레이트, 비디오 스트림의 듀레이션, 비디오 스트림 데이터의 총량에 비해 전송되는 데이터량, 비디오 코덱 유형 또는 이들 비디오 애플리케이션 특성 중 어느 것의 조합에 기초하여 더 조절된다.
일 실시예에 있어서, 최적화 기준은 만족한 사용자의 수를 증가시키는 것이다. 이러한 기준에 기초하여, 비디오 데이터 스트림의 AF는 비디오 스트림의 데이터 레이트에 반비례하는 양에 의해 조절된다. 더 낮은 AF는 더 높은 AF를 사용하여 누락될 것보다 혼잡 기간 동안 더 많은 패킷이 누락되는 결과를 초래할 수 있다. 품질 저하의 유사한 양에 대해, 더 높은 데이터 레이트의 비디오 스트림의 AF를 낮추는 것은 더 낮은 데이터 레이트의 비디오 스트림의 AF를 낮추는 것보다 더 많은 네트워크 대역폭을 자유롭게 할 수 있다. 혼잡 기간 동안, 더 높은 데이터 레이트의 비디오 스트림의 AF를 우선 낮추는 것이 선호되고, 그래서 만족한 사용자의 수가 최대화될 수 있다.
일 실시예에 있어서, 최적화 기준은 불완전 패킷 전송에 의해 야기되는 지각가능한 비디오 아티팩트를 최소화하는 것이다. 이러한 기준하에서, 비디오 스트림의 AF는 프레임 사이즈에는 비례하지만 프레임 레이트에는 반비례하는 양에 의해 조절된다. 예컨대, 더 낮은 AF는 더 높은 AF를 사용할 때 누락될 것보다 혼잡 기간 동안 더 많은 프레임이 누락되는 결과를 초래할 수 있다. 초당 60 프레임으로 동작하는 비디오 스트림의 개개의 프레임은 초당 30 프레임으로 동작하는 비디오 스트림의 개개의 프레임보다 소정 시간 기간 동안 더 작은 백분율의 데이터이다. 초당 60 프레임에서 동작하는 비디오 스트림에서 프레임의 손실은 초당 30 프레임으로 동작하는 비디오 스트림에서 프레임의 손실보다 덜 두드러질 것이므로, 초당 30 프레임으로 동작하는 스트림에는 초당 60 프레임으로 동작하는 스트림보다 더 높은 AF가 주어질 수 있다.
일 실시예에 있어서, 데이터 스트림의 AF는 전송되도록 남아있는 데이터의 백분율에 비례하는 양에 의해 동적으로 조절될 수 있다. 예컨대, 데이터 전송이 막 시작되었으면 더 낮은 AF가 데이터 스트림에 배정될 수 있다. 또 다른 예에 대해, 데이터 스트림 전체의 전송이 막 완료되려고 하면 더 높은 AF가 데이터 스트림에 배정될 수 있다.
일 실시예에 있어서, 비디오 데이터 스트림의 AF는 검출된 비디오 코덱 유형에 의존하는 값에 의해 조절된다. 패킷 손실에 더 강건한 비디오 코덱에는 더 낮은 AF가 배정될 수 있다. 예컨대, SVC(H.264 스케일러블 비디오 코딩 확장) 비디오 스트림에는 비-SVC H.264 비디오 스트림보다 더 낮은 AF가 배정될 수 있다.
일 실시예에 있어서, 비디오 데이터 스트림의 AF는 비디오 데이터 스트림의 듀레이션, 비디오 데이터 스트림에서 남아있는 시간의 양 또는 그 조합에 기초하여 조절된다. 예컨대, 고객은 짧은 비디오 클립에 비해 장편 영화에 대해 품질의 더 높은 기대를 가질 수 있으므로, 오퍼레이터는 짧은 10초 유튜브 클립에 비해 전-길이 넷플릭스 영화에 더 높은 AF를 배정하기로 결정할 수 있다. 또 다른 예에 있어서, 오퍼레이터는 비디오 데이터 스트림 보기를 마친 고객이 최상의 가능한 감동을 갖게 두기 위해 막 시작하고 있는 것에 비해 완료에 가까이 가고 있는 비디오 데이터 스트림에 더 높은 AF를 동적으로 배정하기로 결정할 수 있다(아래에 설명되는 최근성 효과 참조).
비디오 데이터 스트림의 듀레이션을 기술하는 정보는 위에서 설명된 강화된 분류 방법을 사용하여 획득될 수 있고, RTSP 메시지 교환 동안 나타낸 범위 정보를 포함한다. 비디오 데이터 스트림에서 남아있는 시간의 양에 대한 정보는, 예컨대, 범위 정보에 나타낸 정지 시간으로부터 현재 비디오 재생 시간을 빼는 것에 의해 계산될 수 있다. 현재 비디오 재생 시간은 또한 개개의 비디오 프레임의 검사에 의해 또는 재생의 시작시 리셋되는 프리-러닝 시계를 유지함으로써 획득될 수 있다. 당업자는 현재 비디오 재생 시간을 획득하기 위한 대체 방법이 있을 수 있음을 이해할 것이다.
일 실시예에 있어서, 비디오 데이터 스트림의 AF는 비디오 데이터 스트림을 디스플레이하는데 사용되는 디바이스 등급 또는 특정 클라이언트 디바이스에 기초하여 조절된다. 디바이스 등급은 셀 폰, 스마트 폰, 태블릿, 랩톱, PC, 텔레비전 또는 비디오 데이터 스트림을 디스플레이하는데 사용되는 다른 디바이스를 포함할 수 있다. 디바이스 등급은 특정 능력을 포함하는 하위등급으로 더 나누어질 수 있다. 예컨대, 와이파이 능력을 갖는 스마트 폰은 와이파이 능력이 없는 스마트 폰과는 다르게 처리될 수 있다.
특정 디바이스는 제조자, 모델 번호, 구성 또는 그 어떤 조합을 가리킬 수 있다. 애플 아이폰 4(스마트 폰) 또는 모토로라 줌(태블릿)은 특정 디바이스의 예이다.
클라이언트 디바이스 등급, 하위등급 또는 특정 디바이스는 다양한 방법을 사용하여 유도될 수 있다. 일 실시예에 있어서, 디바이스 등급은 위에서 설명된 바와 같이 비디오 프레임 사이즈를 사용하여 유도될 수 있다. 예컨대, HTC 썬더볼트 스마트 폰은 800 픽셀 대 480 픽셀의 스크린 해상도를 사용한다. 강화된 패킷 검사 모듈(410')은 위에서 설명된 방법을 사용하여 이러한 값을 검출 또는 추정하고 각각의 디바이스 등급 또는 특정 디바이스에 의해 사용되는 스크린 해상도의 범위에 관한 선험적 지식에 기초하여 디바이스 등급을 결정할 수 있다.
일 실시예에 있어서, 디바이스 등급, 하위등급 또는 특정 디바이스에 관한 정보는 네트워크에서의 엔티티와 클라이언트 디바이스 사이에 시그널링된다. 예컨대, 무선 네트워크(100)에 있어서, 클라이언트 디바이스(150)는 클라이언트 디바이스가 최초로 네트워크에 합류할 때 벤더 및 모델을 기술하는 정보를 코어 네트워크(102)에 보낼 수 있다. 이러한 정보는, 예컨대, 추후 사용을 위해 기지국(110)의 강화된 패킷 검사 모듈(410')에 의해 학습될 수 있다.
학습되고 나면, 디바이스 등급, 하위등급 또는 특정 디바이스는 오퍼레이터 설정에 기초하여 AF를 조절하는데 사용될 수 있다. 예컨대, 도 16에 있어서, 디바이스 등급이 고품질 재생에 대한 기대가 중대하다고 여겨지는 대형 스크린 텔레비전이라고 결정되면 넷플릭스(특정 애플리케이션)에 대한 AF는 7로부터 9로 올려질 수 있다.
일 실시예에 있어서, AF는 오퍼레이터 정책/SLA(350)를 통해 통신되는 하나 이상의 서비스 레벨에 의해 더 수정될 수 있다. 예컨대, 오퍼레이터는 고객이 그들 모바일 폰 상에서 개선된 비디오 경험(예컨대, 품질, 수량, 액세스)을 지원하여 부가적 비용을 지불하는 모바일 넷플릭스 패키지를 판매할 수 있다. 이러한 프로그램에 참가하는 고객을 위해, 오퍼레이터는 도 16에 도시된 비디오 스트림 애플리케이션 등급에 대해 증가된 AF를 배정할 수 있다. 예컨대, 넷플릭스 AF는 7로부터 9로 증가될 수 있고, 유튜브 AF는 4로부터 7로 증가될 수 있고 미지의 비디오 스트림 카테고리 AF는 5로부터 7로 증가될 수 있다. 부가적으로, SLA는, 특정 고객의 데이터가 AF 수정을 통해 우선적 처리를 받을 자격이 있는지 지배하여, 고객을 차별화하는데 사용될 수 있다. 당업자는 서비스 레벨의 함수로서 AF를 조절하는 것이 디바이스 등급, 하위등급 또는 특정 디바이스와 함께 사용될 수도 사용되지 않을 수도 있음을 인식할 것이다.
최종 사용자에게 직접 소매 서비스를 판매하는 것에 부가하여, 네트워크 오퍼레이터는 부가적으로 또는 대안으로 소매 서비스를 이후 최종 사용자에게 판매할 수 있는 제2 오퍼레이터(가상 네트워크 오퍼레이터 또는 VNO라고 일컬어짐)에 도매로 네트워크 용량을 판매할 수 있다. 예컨대, 모바일 네트워크 오퍼레이터 X는 무선 네트워크를 구축 및 유지하고 네트워크 용량의 일부분을 오퍼레이터 Y에 판매하기로 결정할 수 있다. 그 후 오퍼레이터 Y는, 최종 사용자가 아마도 모르게, 오퍼레이터 X 용량을 사용하여 서비스를 제공하는 일반 공중으로의 소매 서비스 제의를 생성할 수 있다.
일 실시예에 있어서, AF는 네트워크 상에서 용량을 사용하고 있을 수 있는 VNO의 존재에 의해 더 수정될 수 있다. 예컨대, 오퍼레이터 X는 2명의 VNO 고객을 가질 수 있다: Y 및 Z, 각각은 서로 다른 서비스 합의를 갖는다. 오퍼레이터 X가 VNO Z보다 VNO Y에 더 나은 서비스를 제공하기로 합의하였으면, 그 후 VNO Y 고객과 연관된 데이터 스트림에는, 소정의 디바이스 등급, 애플리케이션 등급 및 특정 애플리케이션에 대해, VNO Z 고객과 연관된 스트림보다 더 높은 AF가 배정될 수 있다. 또 다른 예에 있어서, 오퍼레이터 X는 최종 사용자에게 직접 소매 서비스를 판매하고 VNO Y에 서비스를 판매하기로 계약할 수 있다. 이러한 경우에 있어서, 오퍼레이터 X는 그 고객과 연관된 스트림에 VNO Y 고객과 연관된 것들에 비해 더 큰 AF를 배정함으로써 그 고객에 더 높은 서비스 레벨을 제공하기로 선택할 수 있다. 강화된 분류 방법은 예컨대 IP 게이트웨이 어드레스, VLAN ID, MPLS 태그 또는 그 어떤 조합의 검사를 포함하여, 서로 다른 VNO 고객과 연관된 트래픽을 식별하는데 사용될 수 있다. 당업자는 VNO 고객과 오퍼레이터 사이의 트래픽을 구분하는 다른 방법이 존재할 수 있음을 인식할 것이다.
듀레이션 무시 및 최근성 효과
가중치 함수를 강화하는 추가적 방법은 큐당 기준으로 배정되는 매핑 계수 b를 시변 함수로 확장시킨다. 즉, b는 시간(t)과 큐(q) 둘 다의 함수 b(q,t)이다. 일 실시예에 있어서, b(q,t)는 고유의 큐 상에서 각각 비디오 데이터 스트림(스트리밍 또는 2-방향)을 반송하는 스트림에 대한 스케줄러 결정에 앞서 또는 응답하여 실시간으로 조절된다. 이러한 실시예는 Aldridge 등 및 Hands 등에 의해 설명되는 바와 같은 최근성 효과(RE) 및 듀레이션 무시(DN) 둘 다의 개념을 이용함으로써 최소의 QoE 손실로 피크 부하를 더 감축할 수 있다. 참조에 의해 본 명세서에 편입되는 것인 문헌[Aldridge, R.; Davidoff, J.; Ghanbari, M.; Hands, D.; Pearson, D., "Recency effect in the subjective assessment of digitally-coded television pictures," Image Processing and its Applications, 1995., Fifth International Conference on , vol., no., pp. 336-339, 4-6 7월 1995년, 및 Hands, D.S.; Avons, S. E., "Recency and duration neglect in subjective assessment of television picture quality," Journal of Applied Cognitive Psychology, vol. 15, no. 6, pp. 639-657, 2001]을 참조할 수 있다.
DN의 개념은 비디오 재생 동안 보이는 장애의 듀레이션이 그 엄정도보다 덜 중요하다는 것이다. 그리하여 다수 사용자, 용량 제약 네트워크에 걸쳐 전송되고 있는 비디오에 대해, 패킷 손실 레이트가 사전설정된 임계값을 초과하지 않는 한, 비디오 스트림으로부터의 하나 이상의 비디오 패킷을 이미 누락시킨 스케줄러가 계속하여 그 스트림으로부터의 패킷을 누락시키는 것이, 대체 비디오 스트림으로부터의 패킷을 누락시키기로 선택하는 것보다는 (QoE 관점에서) 선호될 수 있다. 예컨대, DN 개념에 기초하여, 10초에 걸쳐 단일 비디오 스트림의 패킷의 5%를 폐기하는 것은, 5개의 서로 다른 비디오 스트림의 각각에 대해, 2초 동안 패킷의 5%를 폐기하는 것에 비해 개선된 네트워크 QoE를 제공한다.
RE의 개념은 비디오 재생의 관람자가 소정량의 시간 후에 비디오 장애를 잊어버리고 그래서 가장 최근 관람 기간에 기초하여 비디오 품질을 판단하려는 경향이 있다는 것이다. 예컨대, 관람자는 비디오 클립의 마지막 15초 내 2초의 기간 동안 비디오가 동결되었다(즉, 재생이 멈추었다)면 주관적으로는 비디오 재생이 "불량"이라고 판단하고 비디오 클립의 끝으로부터 1분에서 동일한 2초 장애가 일어났다면 재생이 "평균적"이라고 판단할 수 있다.
이러한 목적으로, 강화된 가중치 등식(W'(q) = a*W(q) + b*AF(q)) 또는 강화된 크레디트 등식(C'(q) = a*C(q) + b*AF(q))의 계수 'b'는 도 18에 도시된 타이밍 선도 및 도 19에 예시된 방법을 사용하여 큐당(및 이 경우에는 데이터 스트림당) 기준으로 관리된다. DN의 개념에 따라, 패킷 손실을 겪은 비디오 스트림은 사용자 QoE의 상당한 저하 없이 부가적, 대단치 않은 패킷 손실(또는 어떤 다른 평가 메트릭(evaluation metric))을 "용인"할 수 있다. 저하의 이러한 확장은 네트워크 혼잡의 일부 잠재적으로는 전부를 덜어주고 그리하여 남아있는 사용자 스트림이 저하 없이 서비스될 수 있는 이득이 있다. 저하의 기간에 뒤이어, 비디오 스트림은 RE의 개념에 따라 소정 시간 기간 동안 증가된 성능으로 서비스된다.
도 18에 도시된 바와 같이, 의도적 저하의 기간 동안, b(i)의 값은 tdn 기간 동안 그 공칭 값 b0로부터 아래쪽으로 양 Δ1만큼 조절된다. 이 다음에 b(i)가 b0 위로 Δ2만큼 증가(Δ2는 0일 수 있음)되는 강화 기간이 뒤따른다. 이러한 강화 기간은 기간 tre의 나머지 동안 지속하고 그 후에 계수 b(i)는 그 공칭 값=b0으로 되돌아간다.
도 19는 일 실시예에 따라 스케줄링 시스템에서 큐에 가중치 또는 크레디트를 배정하기 위한 방법을 예시하고 있다. 일 실시예에 있어서, 도 19에 예시된 방법은 스케줄러 파라미터 계산 모듈(335)에서 구현된다.
도 19에 예시된 방법은 강화된 가중치 또는 크레디트 등식의 계수 a 및 b가 각자 정책에 따라 a0 및 b0로 설정되는 것으로 시작한다(단계(1105)). 하나 이상의 알고리즘 엔트리 컨디션이 그 후 평가된다(단계(1110)). 일 실시예에 있어서, 알고리즘 엔트리 컨디션은 비디오 스트림 i이 네트워크에서 현재 또는 예측된 혼잡 레벨에 기인하여 알고리즘을 개시해야 하는 스케줄러로부터의 신호이다. 대안의 실시예에 있어서, 엔트리 컨디션은 비디오 스트림 i로부터 스케줄러에 의해 하나 이상의 누락된 또는 지연된 패킷의 검출에 기반한다. 당업자는 부가적 엔트리 컨디션이 스케줄러 및 분류자 정보의 다양한 조합을 사용하여 생성될 수 있음을 인식할 것이다. 당업자는 엔트리 컨디션이 트리거, 알람, 임계값 또는 다른 방법을 포함하는 다양한 형태의 정보에 기반하는 하나 이상의 기준을 만족시키는 것에 기반할 수 있음을 더욱 인식할 것이다.
엔트리 컨디션 또는 컨디션들이 충족되고 나면, 2-스테이지 타이밍 알고리즘이 개시된다. 스트림 시각은 영으로 리셋되고(단계(1120)) b(i)의 값은 양 Δ1에 의해 감축된다(단계(1130)).
그 후 현재 프레임 폐기 레이트가 스트림 i에 대한 임계값을 초과하는지 결정이 이루어진다(단계(1140)). 예컨대, 일 실시예에 있어서, 임계값은 1초 기간에 걸쳐 5%로 설정된다. 다른 실시예에 있어서, 서로 다른 임계값이 스트림에 대한 소망의 성능 특성에 기반하여 그 스트림에 대해 셋업될 수 있다.
스트림에 대한 프레임 폐기 레이트가 임계값을 초과하면, 의도적 저하 위상은 종료되고 방법은 단계(1155)로 계속한다. 그와 달리, 프레임 폐기 레이트가 임계값을 초과하지 않으면, 타이머가 tdn에 도달하였는지 결정이 이루어진다. 타이머가 tdn에 도달하였거나 패스하였으면, 의도적 저하 위상은 종료되고 방법은 단계(1155)로 계속한다. 그와 달리, tdn에 도달되지 않았으면, 현재 프레임 폐기 레이트가 스트림 i에 대한 임계값을 초과하는지 결정이 다시 이루어지는 단계(1140)로 방법이 되돌아간다.
계수 b(i)는 타이머가 다시 한번 체크되기 전에 b0+Δ2의 값으로 설정된다(단계(1155)). 그 후 타이머가 tre에 도달하였는지 결정이 이루어진다(단계(1160)). tre에 아직 도달되지 않았으면, 방법은 단계(1160)로 되돌아간다. 그와 달리, 타이머가 tre에 도달하였으면, 방법은 단계(1105)로 되돌아간다.
대안의 실시예에 의하면, 단계(1160)를 통한 반복은 시간 기간 tre에 걸쳐 영쪽으로 Δ2를 점진적으로 조절할 수 있다. 또 다른 대안의 실시예에 의하면, 패킷 레이턴시, 지터, 예측된 비디오 품질 스코어(VMOS 등) 또는 그 어떤 조합과 같은 대안의(또는 부가적) 메트릭(metric)들이 단계(1140)에서 평가된다. 추가적 실시예에 의하면, 단계(1140)는 평가 메트릭이 임계값을 초과하면 값 Δ1이 양 Δ3만큼 감축되도록 조절되고 그 후 제어는 (단계(1155)로보다는) 단계(1150)로 패스한다.
일부 시스템에 있어서, 서로 다른 스케줄링 필요를 갖는 2개의 애플리케이션으로부터 오는 것으로 식별된 데이터는, 예컨대, 도 9에서의 큐(491, 491')에 대해, 달리하는 AF의 애플리케이션에 대한 별개의 큐로 분리하기가 어려울 수 있다. 대신에 양 애플리케이션에 대한 데이터는 도 6에 도시된 바와 같이 동일 큐(491)에 남아있을 것이다. 이것은, 예컨대, 2개의 서로 다른 애플리케이션으로부터의 데이터가 코어 네트워크에 의해 동일 데이터 베어러 상으로 매핑될 수 있는 LTE 시스템에서 일어날 수 있다. 코어 네트워크 장비(예컨대, 이동성 관리 엔티티(Mobility Management Entity: MME), 서비스 제공 게이트웨이 및 패킷 게이트웨이) 및 UE 둘 다의 관점으로부터, 데이터 베어러는 불가분성이고 그것이 공중을 통해 송신될 때 각각의 패킷의 헤더에 포함될 수 있는 베어러 ID를 갖는다. 부가적으로, 베어러가 긍정응답 모드(acknowledged mode :AM)로 동작하면, 베어러에 속하는 패킷은 시퀀스 번호로 태그된다. 2개의 애플리케이션으로부터의 데이터를 서로 다른 AF의 애플리케이션에 대한 서로 다른 스케줄링 큐로 분리하는 것은 그것들이 UE에 순서가 잘못되어 도착하게 야기할 수 있다. 이것은 UE가 스트림과의 동기화를 상실하게 할 수 있다. 지연된 패킷은 손실로 상정되어, 불필요한 재송신 요청을 발생시킬 수 있다. 시퀀스 번호는 또한, 부분적으로는, 패킷의 암호화 및 복호화에 사용될 수 있다. 순서가 잘못된 패킷은 암호화/복호화 프로세스에 있어서 동기화의 상실을 야기할 수 있고 그 프로세스의 실패의 결과를 초래할 수 있다. 또한 시퀀스 번호가 순서가 잘못되어 있으면 헤더 압축 알고리즘의 효율성에 영향을 미쳐, 압축 메커니즘 중 하나의 이득을 감소시킬 수 있다.
이들 문제는 다양한 방식으로 극복될 수 있다. 일 실시예에 있어서, 데이터는 서로 다른 AF가 주어질 수 있는 별개의 큐(491, 491')로 분할된다. 이러한 경우에 있어서는, 데이터가 수신 순서처럼 보이는 스케줄링 순서를 갖는 단일 큐로부터 끌어당겨진 것처럼 보이도록 큐가 떠나는 때 시퀀스 번호, 암호화 및 헤더 압축을 적용하는 것이 우선적이다. 그렇지만, 이것은 계산상 복잡하고 프로세싱 특히 암호화의 순서가 계산상 자원에 대한 심한 수요를 야기할 수 있다. 또 다른 실시예에 있어서는, 큐(491)를 큐(491, 491')로 분할하기보다는, 큐(491)에 대한 AF가 개개의 애플리케이션 등급 또는 특정 애플리케이션보다 데이터 베어러 상에 현재 반송되는 특정 애플리케이션 또는 애플리케이션 등급의 조합에 기초하여 결정될 수 있다. 예컨대, 비디오 데이터가 논리 링크 또는 베어러 상에서 검출되면, 그것은, 베어러가 이메일 업데이트를 주기적으로 체크하고 있는 배경 애플리케이션을 또한 가질 수 있다 하더라도, 비디오의 QoE 요건을 반영하도록 수정되는 AF를 가질 수 있다. 비디오의 사용이 가라앉을 때, AF는 최선 노력 데이터 트래픽에 더 적절한 값으로 되돌아갈 수 있다. 이것은 계산상 덜 복잡하고, 요구하는 요건을 갖는 애플리케이션이 액티브일 때 동일 베어러 상의, 있다면, 대부분의 다른 데이터가 요구하는 애플리케이션에 비해 대역폭이 낮게 될 스크리밍 비디오와 같은 경우와 유사한 결과를 달성한다. 말하자면, 사용자는 비디오, 음성, 게이밍, 비디오 컨퍼런싱 또는 다른 높은 대역폭 애플리케이션에, 그것이 사용중인 동안, 집중하고 있을 것이다. 일반적으로 더 요구하는 성능을 갖는 애플리케이션이, 예컨대, 낮은 비트 레이트 유튜브 비디오를 재생하는 베어러 상의 데이터의 벌크가 아닌 한편 이메일이 매우 대용량의 첨부파일을 다운로드하고 있는 상황에 대비해 부가적으로 경계하기 위해, 애플리케이션 인자는 단지 애플리케이션 등급 또는 특정 애플리케이션의 존재라기보다는 애플리케이션 등급 또는 특정 애플리케이션으로부터의 베어러 상의 트래픽의 백분율의 함수일 수 있다.
강화된 가중치 등식, W'(q) = a*W(q) + b*AF(q) 및 강화된 크레디트 등식, C'(q) = a*C(q) + b*AF(q)는 큐의 현재 상태, 통신 링크의 현재 상태 및 데이터 스트림의 부가적 특성과 같은 부가적 인자의 효과를 또한 포함하도록 더 수정될 수 있다. 이것은 다음 형태의 등식의 결과를 초래할 수 있다:
W"(q) = a*W(q) + b*AF(q) + cl*Fl(q) + c2*F2(q) + ..., 및
C"(q) = a*C(q) + b*AF(q) + cl*Fl(q) + c2*F2(q) + ...,
여기서, W"는 수정된 가중치이고 C"는 수정된 크레디트이고, Fl 및 F2는 부가적 가중치 또는 크레디트 인자이며, c1 및 c2는 부가적 인자를 수정된 가중치 또는 수정된 크레디트에 매핑하기 위한 계수이다.
가산형 부가적 인자보다는 승산형 부가적 인자, 또는 가산형 및 승산형 부가적 인자의 조합(예컨대, W"(q) = a*W(q) + b*AF(q)*cl*Fl(q) + c2*F2(q) + ...)을 사용하여 가중치 또는 크레디트를 조절하는 것이 가능하고, 가중치 또는 크레디트 변화의 스케일링을 허용한다.
일 실시예에 있어서, 큐의 가중치 또는 크레디트는 큐 깊이에 기초하여 조절될 수 있다. 예컨대 비디오 또는 VoIP 스트림에 서비스 제공하는 큐가 그 용량의 x%에 도달하면, 증가가 더 이상 적용되지 않는, 가득한 x% 아래로 큐가 떨어질 때까지 가중치 또는 크레디트는 부가적 인자에 의해 동적으로 증가될 수 있다. 부가적 인자는 그 자체가 애플리케이션 특정적으로서, 예컨대, 서로 다른 부가적 인자가 음성에 대해서 보다는 비디오에 대해서 적용될 수 있거나, 또는 서비스의 데이터 레이트에 의존적일 수 있다. 일부 실시예에 있어서는, 가중치 및 크레디트 증가가 시작 및 종료하는 버퍼 점유도 레벨 사이에 델타를 포함함으로써 히스테리시스가 제공된다. 부가적으로, 큐가 x'% 가득 때, x' > x인 경우, 가중치 또는 크레디트는 더 증가될 수 있다. 추가적 실시예에 있어서, 큐의 가중치 도는 크레디트는 큐 깊이에 비례하는 인자에 의해 부분적으로 또는 전체적으로 조절될 수 있다. 이들 기술에 의해 부가적 인자는 애플리케이션 인자(AF) 대신에 또는 부가하여 개개의 스트림에 적용될 수 있게 된다.
또 다른 실시예에 있어서, 큐의 가중치 또는 크레디트는 패킷 폐기 레이트에 기초하여 조절될 수 있다. 예컨대 비디오 또는 VoIP 스트림에 서비스 제공하는 큐가 용량을 초과하고 패킷이 폐기되면, 폐기 레이트는 모니터링된다. 폐기 레이트가 임계값을 초과하면, 증가가 더 이상 적용되지 않는, 규정된 허용가능한 레벨 아래로 폐기가 떨어지거나 또는 그칠 때까지 가중치 또는 크레디트는 부가적 인자에 의해 동적으로 증가될 수 있다. 부가적 인자는 그 자체가 애플리케이션 특정적으로서, 예컨대, 서로 다른 부가적 인자가 음성에 대해서 보다는 비디오에 대해서 적용될 수 있거나, 또는 서비스의 데이터 레이트에 의존적일 수 있다. 일부 실시예에 있어서는, 가중치 및 크레디트 증가가 시작 및 종료하는 폐기 레이트 사이에 델타를 포함함으로써 히스테리시스가 제공된다. 부가적으로, 폐기 레이트가 더 높은 임계값을 초과할 때, 가중치 또는 크레디트는 더 증가될 수 있다. 추가적 실시예에 있어서, 큐의 가중치 또는 크레디트는 패킷 폐기 레이트에 비례하는 인자에 의해 부분적으로 또는 전체적으로 조절될 수 있다.
일 실시예에 있어서, 큐의 가중치 또는 크레디트는 패킷 레이턴시에 기초하여 조절될 수 있다. 예컨대 비디오 또는 VoIP 스트림에 서비스 제공하는 큐에 대한 평균(또는 소정 시간 기간에 걸친 최대) 패킷 레이턴시가 임계값을 초과하면, 증가가 더 이상 적용되지 않는, 규정된 허용가능한 레벨 아래로 패킷 레이턴시가 떨어질 때까지 가중치 또는 크레디트는 부가적 인자에 의해 동적으로 증가될 수 있다. 부가적 인자는 그 자체가 애플리케이션 특정적으로서, 예컨대, 서로 다른 부가적 인자가 음성에 대해서 보다는 비디오에 대해서 적용될 수 있거나, 또는 서비스의 데이터 레이트에 의존적일 수 있다. 일부 실시예에 있어서는, 가중치 및 크레디트 증가가 시작 및 종료하는 평균(또는 소정 시간 기간에 걸친 최대) 패킷 레이턴시 사이에 델타를 포함함으로써 히스테리시스가 제공된다. 부가적으로, 패킷 레이턴시가 더 높은 임계값을 초과할 때, 가중치 또는 크레디트는 더 증가될 수 있다. 추가적 실시예에 있어서, 큐의 가중치 또는 크레디트는 패킷 레이턴시에 비례하는 인자에 의해 부분적으로 또는 전체적으로 조절될 수 있다.
일 실시예에 있어서, 큐의 가중치 또는 크레디트는 패킷 출구 레이트(egress rate)에 기초하여 조절될 수 있다. 예컨대 비디오 또는 VoIP 스트림에 서비스 제공하는 큐에 대한 평균(또는 소정 시간 기간에 걸친 최소) 출구 레이트가 규정된 허용가능한 레벨 아래로 떨어지면, 가중치 또는 크레디트에서의 증가가 더 이상 적용되지 않는, 규정된 허용가능한 레벨 위로 출구 레이트가 올라갈 때까지 가중치 또는 크레디트는 부가적 인자에 의해 동적으로 증가될 수 있다. 부가적 인자는 그 자체가 애플리케이션 특정적으로서, 예컨대, 서로 다른 부가적 인자가 음성에 대해서 보다는 비디오에 대해서 적용될 수 있거나, 또는 서비스의 데이터 레이트에 의존적일 수 있다. 일부 실시예에 있어서는, 가중치 및 크레디트 증가가 시작 및 종료하는 평균(또는 소정 시간 기간에 걸친 최소) 출구 레이트 사이에 델타를 포함함으로써 히스테리시스가 제공된다. 부가적으로, 출구 레이트가 더 낮은 임계값 아래로 떨어질 때, 가중치 또는 크레디트는 더 증가될 수 있다. 추가적 실시예에 있어서, 큐의 가중치 또는 크레디트는 출구 레이트에 반비례하는 인자에 의해 부분적으로 또는 전체적으로 조절될 수 있다.
적응적 변조 및 코딩을 갖는 모바일 네트워크에서와 같이 급속히 변화하는 RF 환경에 있어서는, 부가적 인자는 에어링크 인자에 기초하여 가중치 및 크레디트를 급속히 조절하는데 사용될 수 있다. 사용자 장비가 기지국으로부터의 송신에 대한 양호한 수신 신호 품질을 가질 때, LTE eNodeB와 같은 기지국은 더 높은 데이터 레이트로 및/또는 성공적 수신의 더 높은 가능성으로 사용자 장비에 데이터를 송신할 수 있다. 마찬가지로, 기지국이 사용자 장비로부터의 송신에 대한 양호한 수신 품질을 가질 때, 사용자 장비는 더 높은 데이터 레이트로 및/또는 성공적 수신의 더 높은 가능성으로 기지국에 데이터를 송신할 수 있다. 신호 품질이 고도로 가변이라고 관찰되면, 부가적 인자는 기지국과 특정 사용자 장비 사이의 신호 품질이 양호할 때 그 사용자 장비의 데이터 스트림에 대한 가중치를 증가시키고 신호 품질이 불량일 때 가중치를 감소시키도록 적용될 수 있어서, 그로써 제2 사용자 장비에 데이터 스트림에 대한 대역폭을 제공한다. 조절은 애플리케이션 특정적일 수 있다. 예컨대, 비디오가 들어있는 큐에 대한 가중치는 양호한 신호 품질의 최적 사용을 보장하도록 적용된 부가적 인자를 가질 수 있는 한편, 동일 사용자 장비에 대해 이메일과 같은 지연 및 에러 용인 서비스는 다른 인자가 적용되거나 부가적 인자가 적용되지 않을 수 있고, TCP 또는 LTE 프로토콜 스택과 같은 프로토콜에 내장된 재시도에 더 의존한다.
위에서 설명된 환경적 인자에 응답하여 가중치 또는 크레디트에 적용될 수 있는 부가적 인자에 부가하여, 가중치 및 크레디트 또는 그것들을 수정하는 애플리케이션 인자는 사용된 전송 프로토콜의 지식에 기초하여 더 수정될 수 있다. 예컨대, TCP 재시도, LTE 긍정응답 모드, 자동 재시도 요청(automatic retry request: ARQ) 또는 하이브리드-ARQ(HARQ)와 같은 이용가능한 하나 이상의 재시도 메커니즘을 갖는 서비스는 신호 품질 및 폐기 레이트(예컨대, 혼잡에 기인함)와 같은 그러한 환경적 인자에 응답하여 동적으로 또는 데이터 스트림의 수명 동안 적용되는 서로 다른 부가적 인자를 가질 수 있다.
일 실시예에 있어서, 데이터 스트림의 평균 비트 레이트는 위에서 설명된 기술을 사용하여 검출 또는 추정될 수 있다. 또한 애플리케이션에 의존하여 다른 방법이 이용가능할 수 있다. 마이크로소프트 HTTP 스무스 스트리밍, 애플 HTTP 라이브 스트리밍, 어도비 HTTP 동적 스트리밍, 및 HTTP를 통한 MPEG/3GPP 동적 적응적 스트리밍(Dynamic Adaptive Streaming over HTTP: DASH)과 같은 HTTP 스트리밍은 변하는 비트 레이트의 비디오 스트리밍을 지원하는 하나의 애플리케이션 등급이다. HTTP 스트리밍에 있어서, 각각의 비디오 비트스트림은 인코더에 의해 독립적으로 디코딩가능한 영화 단편의 모음으로서 발생된다. 서로 다른 비트 레이트의 비트스트림에 속하는 비디오 단편은 재생 시간으로 정렬된다. 각각의 단편의 재생 시간 듀레이션 및 각각의 비트스트림의 평균 비트 레이트와 같이 비트스트림에 대한 정보는 흔히 플레이리스트 파일 또는 매니페스트 파일이라고 지칭되는 하나 이상의 파일로 세션의 시작 시 (사용자 장비일 수 있는) 비디오 클라이언트에 보내진다. 이러한 정보는 기지국과 같은 네트워크 노드에 의해 검출될 수 있다. 라이브 이벤트의 HTTP 스트리밍에 있어서, 플레이리스트 파일 또는 매니페스트 파일은 소정 프레젠테이션 기간에 적용가능할 수 있고, 클라이언트는 비트스트림 및 비트스트림 내 단편에 대한 업데이트된 정보를 얻기 위해 새로운 플레이리스트 파일 또는 매니페스트 파일을 인출할 필요가 있다.
클라이언트는 재생할 단편 및 비트스트림에 대한 정보를 갖고 있으므로, 채널 컨디션의 그 현재 추정에 기초하여 서로 다른 비트 레이트의 비트스트림으로부터 단편을 인출할 것이다. 예컨대, 지각된 채널 컨디션에서의 변화에 기인하여, 사용자 장비에서의 비디오 클라이언트는 높은 비트 레이트의 비트스트림으로부터 제1 단편을, 그리고 낮은 비트 레이트의 비트스트림으로부터 제2 단편을, 그리고 중간 비트 레이트의 비트스트림으로부터 다음의 2개의 단편을 인출할 수 있다. 흔히 채널 컨디션은 마지막 단편 또는 다중의 이전 단편을 전송하는데 소비된 시간 및 이들 단편의 사이즈와 같은 정보에 기초하여 비디오 클라이언트에 의해 추정된다. 이러한 접근법의 하나의 결함은 비디오 클라이언트가 채널 컨디션을 급속히 변화시키기에 충분히 빨리 반응하지 않을 수 있다는 것이다. 일 실시예에 있어서, 기지국과 같은 무선 액세스 노드는, 클라이언트가 채널 컨디션에 대한 더 정확한 정보를 갖고 그에 따라 다음의 단편 또는 뒤이은 단편을 요청할 수 있도록, 현재 채널 컨디션을 비디오 클라이언트에 시그널링한다. 대안의 실시예에 있어서, 클라이언트는 물리적 계층 구현 예컨대 도 3의 지국의 송신기 수신기 모듈(279)로부터 현재 채널 컨디션에 관한 정보를 수신할 수 있다.
일 실시예에 있어서, 패킷 검사 모듈(410)(도 6, 13) 또는 강화된 패킷 검사 모듈(410')(도 9, 13)은 HTTP 스트리밍 세션의 존재를 검출하고, 플레이리스트 및 매니페스트 파일의 복사본을 보관한다. 일 실시예에 있어서, 패킷 검사 모듈은 클라이언트가 어느 단편을 인출하도록 요청하는지 및 단편을 전송하는데 소비된 실제 시간을 검출함으로써 소정의 시간 기간 동안 데이터 스트림의 비트 레이트를 추정한다.
데이터 스트림에 대해 동적으로 계산된 또는 추정된 비트 레이트에 기초하여, 큐에 대한 가중치 또는 크레디트가 수정될 수 있다. 일 실시예에 있어서, 동적으로 계산 또는 추정된 비트 레이트는 큐 출구 레이트에 비교되고 큐의 가중치 또는 크레디트는 위에서 설명된 기술에 의해 조절된다. 부가적으로, 가중치가 비트 레이트에 직접 기반하지 않은 WRR 또는 WFQ와 같은 가중치 기반 스케줄링 알고리즘에 의해 스케줄링된 스케줄링 그룹에서 데이터 스트림이 큐잉된 경우에 있어서, 데이터 스트림의 큐는 크레디트의 기반을 비트 레이트에 두는 PFS와 같은 크레디트-기반 스케줄링 기술을 사용하는 또 다른 스케줄링 그룹으로 이동될 수 있다.
패킷 검사 모듈(410)은 특정 애플리케이션의 추정된 비트 레이트를 연관된 지국으로부터의 송신을 위해 이용가능한 채널 대역폭과 비교할 수 있다. 송신을 위한 순시 가용 대역폭은 특정 애플리케이션으로부터의 입력 트래픽의 비트 레이트보다 더 높을 수 있다. 예컨대, 2x2 다중-입력 다중-출력(multiple-input, multiple-output: MIMO) 모드로 동작하는 20MHz 채널을 사용하는 LTE 기지국은 대략 150 Mbps의 순시 데이터 레이트를 갖는 한편, 스트리밍 비디오는 2 Mbps의 평균 데이터 레이트 및 4 Mbps의 피크 데이터 레이트를 가질 수 있다. 일 실시예에 있어서, 무선 액세스 노드는 애플리케이션의 데이터를 버퍼링하고 스케줄러 파라미터를 수정하여 이로운 방식으로 순시 데이터 레이트 및 버스트 듀레이션에 영향을 미칠 수 있다.
도 20은 파라미터화된 스케줄링 시스템에 의한 트래픽 정형의 일례를 도시하고 있다. 파라미터화된 스케줄링 시스템(300)(도 5)은 입력 통신 링크로부터 입중계 트래픽(307)을 수신하고 출력 통신 링크 상에서 출중계 트래픽(327)을 송신한다. 도 20에 예시된 예에 있어서, 입중계 트래픽(307)에는 하나 이상의 애플리케이션으로부터의 트래픽이 들어있다. 이러한 트래픽의 일부분은 데이터 스트림에 속한다. 파라미터화된 스케줄링 시스템(300)의 패킷 검사 모듈(410)(또는 강화된 패킷 검사 모듈(410'))은 데이터 스트림으로부터의 패킷을 검출하고 부가적으로는 패킷 전송 버스트 듀레이션 및 비트 레이트에 대응하는 입중계 트래픽 패턴(390)을 검출할 수 있다. 파라미터화된 스케줄링 시스템(300)은 출중계 트래픽(327)의 특성을 제어하기 위해 스케줄링 파라미터(또는 파라미터들)를 수정할 수 있다. 예컨대, 파라미터화된 스케줄링 시스템(300)은 누적되는 크레디트와 같은 다른 스케줄러 파라미터가 업데이트되도록 통하는 윈도를 바꿀 수 있다. 이것은 출력 통신 링크를 통한 송신을 필요로 하는 입중계 패킷 버스트의 가용성과 출중계 패킷 버스트에 대한 대역폭의 할당의 더 나은 정렬을 가능하게 한다. 이것은 애플리케이션 등급, 특정 애플리케이션, 변조 및 코딩 스킴 또는 어떤 조합에 기초하여 가중치 및 크레디트와 같은 스케줄러 파라미터의 수정과 조합될 수 있다.
스케줄러 파라미터의 수정은 입중계 트래픽 패턴(390)에 비해 높은 순시 비트 레이트 및 짧은 듀레이션을 갖는 패킷 전송 버스트를 애플리케이션이 갖도록 출중계 트래픽 패턴(395)을 개조하도록 조합될 수 있다. 이것은 많은 이점을 가질 수 있다. 예컨대 이동성에 기인하여, 변조 및 코딩 스킴이 급속히 변화하고 있으면, 스케줄러 파라미터는 양호한 신호 품질의 기간 동안 높은 레이트로 데이터를 버스트하는 것에 우선권을 주도록 수정될 수 있고, 많은 데이터에 대해 더 효율적 변조 및 코딩 스킴의 사용을 통해 총 시스템 용량을 효과적으로 증가시킨다. 또한, 2개의 버스트 사이의 유휴 시간의 양을 증가시키고, 그로써 사용자 장비에서의 수신기를 더 긴 시간 동안 슬립 모드에 두는 것을 가능하게 하는 것이 바람직할 수 있다. 이것은 사용자 장비 수신기가 무선 액세스 노드로부터 데이터를 수신하기 위해 켜져 있어야 하는 시간의 양을 감축하는데 사용될 수 있다. 이것은 사용자 장비의 전력 소모를 줄일 수 있다. 이것은, 예컨대, 3GPP HSDPA 또는 LTE에서의 불연속 수신(Discontinuous Reception: DRX) 프로토콜과 정렬하도록 구현될 수 있다.
당업자는 위 기능들이 일반적으로는 기지국과 같은 지국에 거주하는 것처럼 설명되어 있다 하더라도 일부 실시예에 있어서 그 기능들은 다른 디바이스에 거주할 수 있음을 인식할 것이다. 큐잉 및 스케줄링을 수행하는 어떠한 디바이스라도 알고리즘을 수행할 수 있다. 예컨대, 사용자 장비는 업링크 송신을 위해 패킷을 어떻게 스케줄링할지 결정할 때 또는 어느 큐가 기지국으로부터 대역폭 업링크를 요청할지 결정하기 위해 그 설명된 알고리즘을 수행할 수 있다. 기지국 내외로의 백홀 상에서의 대역폭을 스케줄링하는 모듈 또는 디바이스가 알고리즘을 수행할 수 있다.
일 실시예에 있어서, 기능은 분산된다. 예컨대, 도 8을 참조하면, 게이트웨이(540)는 베어러, 커넥션 또는 스트림 상에서 애플리케이션 등급, 특정 애플리케이션 또는 전송 프로토콜의 동적 존재 및 후속의 부존재를 검출할 수 있다. 게이트웨이(540)는 AF 또는 부가적 인자를 계산하는데 사용하기 위해 그 정보를 라디오 액세스 네트워크(예컨대 기지국)(550)에 시그널링할 수 있다. 또 다른 실시예에 있어서, 게이트웨이(540)는 애플리케이션 인자 또는 강화된 가중치 또는 크레디트를 계산하고 그것들을 라디오 액세스 네트워크(550)에 시그널링한다. 일 실시예에 있어서, 라디오 액세스 네트워크(550)는 버퍼 점유도, 신호 품질, 폐기 레이트 등과 같은 정보를 게이트웨이(540)에 시그널링하고 게이트웨이(540)는 그러한 정보를 사용하여 그 출구 트래픽을 스케줄링한다. 부가적으로, 게이트웨이(540)는 부가적 인자 또는 강화된 가중치 또는 크레디트를 계산하기 위해 라디오 액세스 네트워크(550)로부터의 정보를 조합하고 그것들을 라디오 액세스 네트워크(550)에 시그널링할 수 있다.
일 실시예에 있어서, 버퍼 점유도, 신호 품질, 폐기 레이트, 추정된 비트 레이트 등과 조합하여 또는 단독으로 AF와 같은 정보는 네트워크 엔드포인트 사이의 논리 채널의 셋업 동안 전형적으로 확립되는 GBR 설정에 대한 조절을 컴퓨팅하는데 사용될수 있다. 예컨대, LTE 네트워크에 있어서, eNB 스케줄링 파라미터 계산 모듈(335)은 EPC 패킷 게이트웨이에 메시지를 보냄으로써 대응하는 데이터 베어러의 GBR의 수정을 요청하도록 특정 데이터 스트림에 대해 계산된 AF를 사용할 수 있다. 대체 실시예에 있어서, eNB 스케줄링 파라미터 계산 모듈(335)은 부가적으로 예컨대 GBR 베어러를 지원하지 않는 QCI로부터 지원하는 QCI로 QCI 변경을 요청할 수 있다. 그러한 요청은 데이터 스트림의 수명 동안 한번 또는 여러번 이루어질 수 있고, eNB에 존재하는 컨디션에 의존하여, 위에서 설명된 기술과 조합하여 또는 단독으로 사용될 수 있다.
효율적 검출
분류 및 큐잉 모듈(310)에서의 패킷의 프로세싱은 소정 비용을 수반한다. 마이크로프로세서, 디지털 신호 프로세서(DSP) 또는 유사한 디바이스 상에서 실행하는 소프트웨어로 구현되는 기능에 대해, 프로세싱 비용은 소프트웨어 명령어의 계산상 복잡도 및 프로세싱을 완료하는데 요구되는 결과적 프로세서 사이클(또는 명령어) 수와 관련된다. 이러한 노력은 흔히 '초당 백만 명령어'(MIPS)의 단위 또는 대안으로 소정 마이크로프로세서에 대한 총 가용 MIPS의 백분율로 표현된다(예컨대, 프로세스 X는 총 가용 MIPS의 50%를 사용한다). 집적 회로 하드웨어로 구현되는 기능에 대해, 프로세싱 비용은 이러한 기능을 수행하는데 사용된 다이 에어리어(예컨대, 제곱 밀리미터, 게이트 수, 룩업 테이블 수) 및 하드웨어의 전력 소실(예컨대, 밀리와트 또는 와트로)의 관점에서 표현될 수 있다. 또한 프로세싱 비용은 고객에 대해 증가된 솔루션 비용 및 가격의 관점에서 표현될 수 있다. 그래서, 효율적 패킷 검사는 프로세싱 비용을 줄이는데 가치가 있다.
도 21은 패킷 검사 모듈(1500)의 또 다른 실시예의 기능적 블록 선도이다. 패킷 검사 모듈(1500)은 본 명세서에서 설명된 분류 및 큐잉 모듈 중 하나에서 강화된 패킷 검사 모듈로 사용될 수 있다. 패킷 검사 모듈(1500)은 애플리케이션 등급, 특정 애플리케이션 및 애플리케이션 정보를 효율적으로 식별할 수 있다. 강화된 패킷 검사 모듈(1500)은 어느 패킷이 추가적 검사를 발생시켜야 하는지 결정하기 위한 트래픽 모니터링 모듈(1520), 세션을 구성하는 스트림을 전송하는 커넥션을 검출하기 위한 커넥션 검출 모듈(1530), 스트림, 세션 및 애플리케이션 정보를 검출하기 위한 스트림 및 세션 검출 모듈(1540), 및 상대 및 이력을 유지하기 위한 상태 모듈(1550)을 포함한다. 또한 패킷 검사 모듈(1500)은 다른 로직 모듈(1570)에 의해 일반적으로 표현되는 다른 기능을 구현할 수 있다. 패킷은 제1 양방향 인터페이스(1510) 또는 제2 양방향 인터페이스(1560)를 통해 패킷 검사 모듈(1500)에 들어갈 수 있다. 제1 양방향 인터페이스(1510)를 통해 들어가는 패킷은 제2 양방향 인터페이스(1560)를 통해 나가고, 그 역도 같다.
양방향 인터페이스(1510, 1560)를 통해 패킷 검사 모듈(1500)에 들어가는 패킷은 처음에는 트래픽 모니터링 모듈(1520)에 의해 검사될 수 있다. 트래픽 모니터링 모듈(1520)은 단일 방향 또는 양방향으로 흐르는 패킷을 검사할 수 있다. 일 실시예에 있어서, 패킷은, 다른 모듈 예컨대 커넥션 검출 모듈(1530) 및 스트림 및 세션 검출 모듈(1540)이 추가적 검사 및 프로세싱을 위해 식별된 패킷을 검사 및 프로세싱할 시간을 제공하기 위해, 큐 또는 버퍼를 통해 패킷 검사 모듈(1500)에서 지연될 수 있다. 대안으로, 전송 레이턴시를 제한하기 위해, 일부 또는 모든 패킷(또는 패킷의 부분들)은 추가적 검사 및 프로세싱을 위해 복사될 수 있는 한편 원래의 패킷은 송신으로 향하는 경로에서의 다음 단계로 포워딩된다. 예컨대, 원래의 패킷은 도 5에 예시된 파라미터화된 스케줄링 모듈에 있어서 스케줄러(330)에 피드하는 데이터 큐(315)에 공급될 수 있다.
패킷 프로세싱 효율을 개선하기 위해, 패킷 검사 모듈(1500)은 패킷 검사 모듈(1500)에 의해 수신되는 패킷의 서브세트만이 더 높은 프로세싱 비용을 갖는 더 복잡한 패킷 검사를 겪도록 낮은 프로세싱 비용을 갖는 단순 기준에 기초하여 패킷을 필터링하기 위한 하나 이상의 기술을 채용할 수 있다.
일 실시예에 있어서, 트래픽 모니터링 모듈(1520)은 업링크 패킷만이 커넥션 검출 모듈(1530) 또는 스트림 및 세션 검출 모듈(1540)에 의해 검사되도록 패킷을 필터링할 수 있다. 필터링은 네트워크의 에지에서의 노드(예컨대, 도 8에서의 무선 통신 시스템의 사용자 단말 디바이스(560) 또는 도 1에서의 무선 통신 네트워크의 클라이언트 디바이스(150))에 의해 개시되는 커넥션, 스트림 또는 세션을 검출하는 프로세싱 비용을 감축한다. 이것은 모바일 네트워크(예컨대, LTE, 와이맥스 또는 3G 셀룰러) 또는 홈 인터넷 네트워크(예컨대, 댁내 광 가입자 망(fiber-to-the-home: FTTH) 네트워크, DOCSIS 케이블 모뎀 네트워크 또는 DSL 네트워크)와 같이 업링크가 다운링크보다 더 적은 트래픽을 반송하는 그들 네트워크에 특히 이롭다.
예컨대, 트래픽 모니터링 모듈(1520)은 커넥션 검출 모듈(1530)이 클라이언트(예컨대, 사용자 단말 디바이스(560))로부터 서버(예컨대, 데이터 소스(510))로 보내진 SYN 메시지의 검출을 통해 TCP 커넥션의 개시를 검출하기 위해 업링크 패킷만을 수신 및 검사할 수 있게 되도록 패킷을 필터링할 수 있다. 이러한 기술은 또한 서버로부터(예컨대, 데이터 소스(510)로부터 또는 코어 네트워크(102) 내) 개시된 세션을 위한 프로세싱 효율을 개선하기 위해 역으로 적용될 수도 있다.
일 실시예에 있어서, 패킷을 필터링하고 프로세싱 비용을 줄여 사용된 프로토콜에 기초하여 새로운 커넥션을 검출하도록 하나 이상의 특성이 사용될 수 있다. 예컨대, 모바일 네트워크 오퍼레이터(MNO)가 소정 소스 IP 어드레스 또는 소스 IP 어드레스 범위만을 사용하여 그 네트워크를 구성했다는 지식은 새로운 UDP 또는 TCP 커넥션 또는 스트림을 검출하려 시도할 때 사용될 수 있다. 대안으로, TCP 소스 또는 수신지 포트 번호는 패킷을 필터링하는데 사용될 수 있다. 예컨대, 프로세싱 비용을 줄이기 위해 최초 검사 스테이지는 추가적 HTTP 프로토콜 프로세싱을 위해 TCP 수신지 포트 80가 들어있는 헤더를 갖는 패킷만을 송신하도록 채용될 수 있다.
일 실시예에 있어서, 트래픽 모니터링 모듈(1520)은 특정 서비스 등급에 배정되는 패킷만을 모니터링할 수 있다. 예컨대, LTE 라디오 액세스 네트워크에 있어서, 트래픽 모니터링 모듈(1520)은 서비스 등급에 기초하여 패킷을 필터링하고 가장 낮은 서비스 등급 QCI=9에 대응하는 패킷만을 추가적 프로세싱을 위해 커넥션 검출 모듈(1530) 및/또는 스트림 및 세션 검출 모듈(1540)에 패스하고 모든 다른 서비스 등급 QCI=1-8에 배정된 패킷을 무시할 수 있다. 추가적 예에 있어서, 트래픽 모니터링 모듈(1520)은 MNO의 '골드' 서비스 레벨을 위해 가외로 지불한 사용자 내외로의 모든 패킷을 모니터링할 수 있는 한편 MNO의 '실버' 또는 '브론즈' 서비스 레벨에 참여하는 사용자 내외로의 패킷은 모니터링되지 않을 수 있다. 많은 다른 필터 시스템이 가능하다. 부가적으로, 하나 이상의 필터가 서로 및/또는 다른 검출 기술과 논리 조합으로 채용될 수 있다.
일 실시예에 있어서, 패킷 사이즈에 기반하는 필터가 트래픽 모니터링 모듈(1520)에서 사용될 수 있다. 예컨대, 커넥션 또는 세션 개시 동안 특정 패킷 메시지를 검출함에 있어서는, 관심 있는 특정 메시지에 대응하는 패킷 사이즈의 좁은 범위가 있을 수 있다. 패킷이 사이즈 범위(최소와 최대) 내 또는 사이즈 임계값 위 또는 아래에 있으면 부가적 프로세싱을 위해 패킷을 포워딩할 뿐인 패킷 필터는 프로세싱 비용을 줄이는데 사용될 수 있다. 예컨대, 비디오 스트리밍 세션은 실시간 스트리밍 프로토콜(RTSP)의 특성에 기초하여 검출될 수 있다. RTSP 패킷은, 예컨대, 도 8에서 묘사된 무선 통신 시스템에서 예시되는 바와 같이 TCP/IP 프레임 내 캡슐화되고 IP 네트워크에 걸쳐 반송된다.
RTSP는 클라이언트 및 서버가 메시지를 교환하는 멀티미디어 스트리밍 세션을 확립 및 제어한다. 클라이언트로부터 서버로 보내진 첫 RTSP 메시지는 요청 메시지이다. 요청 메시지의 첫 라인은 요청 라인이다. 요청 라인은 이하의 3개의 엘리먼트로 형성된다: (1)방법; (2)요청-URI; (3)RTSP-버전. RTSP는 OPTIONS, DESCRIBE, ANNOUNCE, SETUP, PLAY, PAUSE, TEARDOWN, GET_PARAMETER, SET_PARAMETER, REDIRECT 및 RECORD를 포함하는 방법을 정의한다.
일 실시예에 있어서, 스트림 및 세션 검출 모듈(1540)은 트래픽 모니터링 모듈(1520)에 의해 추가적 프로세싱을 위해 식별된 업링크 패킷을 검사함으로써 비디오 스트리밍 세션 셋업의 DESCRIBE 위상 동안 정보를 캡처할 수 있다. 클라이언트 DESCRIBE 패킷은 TCP 페이로드 내 RTSP 메시지에 들어있는 텍스트 'DESCRIBE'에 대한 스트링(즉, 캐릭터 텍스트) 매치를 사용하여 검출될 수 있다. 이러한 경우에서의 서버 응답은 전형적으로 더 과중한 부하의 다운링크 방향으로 전송될 것이다. 이러한 서버 응답은 애플리케이션 등급(예컨대, 비디오 스트리밍)을 결정하는데 사용될 수 있는 중대한 정보(예컨대, 'm=video' 필드)를 포함할 수 있다. 서버 회답을 검출하기 위한 프로세싱 비용을 줄이기 위해, 트래픽 모니터링 모듈(1520)은 패킷이 950과 970 바이트 사이의 페이로드 사이즈를 가지면 추가적 RTSP 프로세싱을 위해 연관된 TCP 커넥션으로부터의 그들 패킷만을 식별하도록 구성될 수 있다. 프로세싱 비용을 더 줄이기 위해, 부가적 실시예에 있어서, 사이즈에 기반하는 패킷 필터링 및 후속의 RTSP 프로세싱은 클라이언트에 의해 송신된 DESCRIBE 패킷을 검출한 후 유한 수의 패킷에 대해서만 또는 한정된 시간 듀레이션 동안만 액티브일 수 있다. 예컨대, 위의 필터링 기술을 포함하여 DESCRIBE 응답을 검출하려 시도하는 패킷 검사 시스템은 1초 동안만 액티브일 수 있고, 그 후에는 검사 프로세스가 종료한다.
대안의 실시예에 있어서, RTSP 프로토콜을 사용하는 비디오 스트리밍 세션의 개시는 클라이언트로부터 발행된 RTSP PLAY 커맨드를 검출함으로써 검출될 수 있다. 전형적으로 더 과중한 부하의 다운링크 방향 상에서 클라이언트에 반송되는 서버 응답은 상태 모듈(1550)에 저장될 수 있는 재생 범위 필드를 포함한다. 서버로부터의 RTSP PLAY 응답의 검출은, 예컨대, 사이즈 360-380 바이트의 패킷만을 추가적 RTSP 프로세싱을 위해 패스함으로써 개선될 수 있다. 프로세싱 비용을 더 줄이기 위해, 패킷 사이즈에 의한 필터링 및 RTSP 프로세싱은 PLAY 패킷을 검출한 후 유한 수의 패킷에 대해서만 또는 한정된 시간 듀레이션 동안만 액티브일 수 있다. 예컨대, PLAY 응답을 검출하기 위한 패킷 검사는 1초 동안만 액티브일 수 있고, 그 후에는 검사 프로세스가 종료한다.
패킷 또는 메시지 사이즈 필터는 다른 프로토콜, 애플리케이션 등급 및 특정 애플리케이션에 대해 프로세싱 비용을 줄이는데 사용될 수 있다. 트래픽 모니터링 모듈(1520)은 수개의 필터링 메커니즘을 동시에 채용할 수 있다. 예컨대, 트래픽 모니터링 모듈(1520)은 동시에 LTE 베어러 또는 QCI에 의해 필터링하고, 이미 검출된 TCP 커넥션에 관해 필터링하고, 유한 시간 기간 동안 패킷 사이즈에 관해 필터링할 수 있다.
커넥션 검출 모듈(1530)은 애플리케이션 스트림 또는 세션을 지원하도록 사용된 네트워크 커넥션이 개시 또는 종료된 때를 결정하기 위해 패킷을 검사한다. 커넥션 검출 모듈(1530)은 새로운 TCP 커넥션의 개시를 검출하기 위해 트래픽 모니터링 모듈(1520)에 의해 추가적 프로세싱을 위해 식별된 패킷을 검사할 수 있다. 예시의 커넥션은, 새로운 LTE 사용자 장비(UE)(150)가 도 1의 통신 네트워크 내 LTE 강화된 노드 B(eNB) 피코 지국(130)에 붙었을 때, 또는 새로운 전용 데이터 베어러가 LTE UE와 eNB 사이에 생성되었을 때, 도 8의 무선 통신 시스템의 데이터 소스(510)와 사용자 단말(560) 사이에 일어날 수 있다. 커넥션 검출 모듈(1530)에 의해 검사되는 패킷은 트래픽 모니터링 모듈(1520)에 의해 추가적 프로세싱을 위해 식별된 패킷일 수 있다.
일 실시예에 있어서, 트래픽 모니터링 모듈(1520)은 이하의 특성 중 하나 이상과 패킷의 연관성에 기초하여 고유의 방식(모니터링 부재를 포함)으로 패킷을 모니터링할 수 있다: 논리 링크(예컨대, LTE 데이터 베어러), 커넥션(커넥션 검출 모듈(1530)에 의한 이전 검출에 기반), 데이터 스트림, 애플리케이션 세션(스트림 및 세션 검출 모듈(1540)에 의한 이전 검출에 기반), 서비스 등급, 네트워크 서비스 레벨 합의(SLA) 또는 네트워크 정책 설정.
커넥션 검출 모듈(1530)에 의해 새로운 커넥션이 검출되고 난 후, 컨텍스트 엔트리가 상태 모듈(1550)에서 생성될 수 있다. 종료된 커넥션의 검출 후에, 컨텍스트 엔트리는 상태 모듈(1550)에서 삭제 또는 수정될 수 있다. 일 실시예에 있어서, 상태 모듈(1550)은 각각의 검출된 커넥션에 대한 컨텍스트를 유지한다. 컨텍스트는 일반적으로 개방형 시스템 상호접속(OSI) 계층 모델에 대응하는 계층에 대한 특성을 포함할 수 있다. 예시의 특성은 다음을 포함한다:
계층 1-2: 이더넷 MAC 어드레스, 3GPP 베어러 ID 또는 터널 ID, 3GPP 모바일 폰 식별자(예컨대, IMSI, IMEI, GUTI, S-TMSI)
계층 3: 소스/수신지 IP 어드레스
계층 4: 프로토콜 유형(예컨대, TCP, UDP)
계층 5: 소스/수신지 TCP 포트#, 프로토콜 유형(예컨대, RTP, RTCP, RTSP)
대안의 실시예에 있어서, 실시간 또는 이력 메트릭 또한 커넥션의 컨텍스트 엔트리에 수집 및 저장될 수 있다. 예컨대, 컨텍스트 엔트리는 커넥션의 듀레이션(예컨대, 초), 전송되는 바이트 수, 전송되는 패킷 수, 평균 비트레이트(예컨대, 킬로비트/초), 최대 비트레이트(예컨대, 시간 간격에 걸쳐 측정)에 관한 정보를 포함할 수 있다. 분석에서의 사용에 부가하여, 실시간 메트릭은 애플리케이션 인자와 같이 스케줄러 파라미터의 반응성 조절을 위해 사용될 수 있다. 이력 메트릭은 스케줄러 파라미터의 예측성 조절을 위해 사용될 수 있다. 컨텍스트에는 또한 스케줄러 파라미터를 조절하는데 사용될 수도 있는 세션 품질 메트릭(예컨대, 패킷 손실 통계, 패킷 재송신 통계 및 패킷 에러 레이트)이 들어있을 수 있다.
일 실시예에 있어서, 상태 모듈(1550)에 저장된 컨텍스트에는 액티브 커넥션(즉, 개시되었지만 아직 종료되지 않은 그들 커넥션)과 연관된 엔트리가 들어있을 수 있다. 대안의 실시예에 있어서, 부가적으로 컨텍스트는 종료되어버린 커넥션에 관한 정보를 포함하는 커넥션 이력을 보유할 수 있다. 일 실시예에 있어서, 종료된 커넥션과 연관된 컨텍스트 엔트리에는 액티브 커넥션에 대한 엔트리와 동일한 정보(예컨대, 위에서 리스팅된 특성의 조합)가 들어있을 수 있다. 대안으로 또는 부가적으로, 종료된 커넥션과 연관된 컨텍스트 엔트리에는 커넥션 이력을 요약하는 정보가 들어있을 수 있다. 예컨대, 컨텍스트 엔트리에는 위 특성의 서브세트 더하기 커넥션의 듀레이션 또는 전송된 총 바이트 수와 같은 정보가 들어있을 수 있다.
일 실시예에 있어서, 컨텍스트는 랜덤 읽기/쓰기 액세스를 제공하는 파일, 어레이, 링크된 리스트 또는 다른 적합한 저장 메커니즘의 형태로 상태 모듈(1550)에 의해 저장될 수 있다.
추가적 패킷 검사는 커넥션 상의 세션을 포함하는 스트림의 개시 또는 종료를 식별하기 위해 그리고 애플리케이션 등급, 특정 애플리케이션 또는 다른 특성을 식별하기 위해 스트림 및 세션 검출 모듈(1540)에 의해 수행될 수 있다. 스트림 및 세션 검출 모듈(1540)에 의해 식별될 수 있는 예시의 특성은 다음을 포함한다:
계층 6: 기술 유형(HTTP, HTTPS, FTP, 텔넷)
계층 7: 애플리케이션 등급(예컨대, 스트리밍 비디오, 2-방향 비디오 통화, 음성, 이메일, 인터넷 브라우징, 게이밍, 머신 대 머신 데이터 등) 및 특정 애플리케이션(예컨대, 유튜브, 넷플릭스, 훌루, 스카이프, 크롬 등).
많은 다른 커넥션, 스트림, 세션 및 애플리케이션 특성이 위 리스팅된 것들 대신에 또는 부가하여 식별될 수 있다.
일 실시예에 있어서, 스트림 및 세션 검출 모듈(1540)에 의해 검출된 위에서 설명된 애플리케이션 등급, 특정 애플리케이션 및 다른 특성은 상태 모듈(1550)에서 커넥션의 컨텍스트 엔트리에 부가된다.
패킷 검사 모듈(1500)은, 기지국, LTE eNB, UE, 단말 디바이스, 네트워크 스위치 네트워크 라우터, 게이트웨이, 백홀 디바이스 또는 다른 네트워크 노드(예컨대, 도 1 및 도 2에 도시된 매크로 기지국(110), 피코 지국(130), 기업용 펨토셀(140) 또는 기업용 게이트웨이(103) 또는 코어 네트워크 내 네트워크 게이트웨이에서의 또는 백홀을 구현하는 디바이스)와 같은 단일 무선 또는 유선 네트워크 노드에 구현될 수 있다. 다른 실시예에 있어서, 패킷 검사 모듈(1500)의 기능은 다중 네트워크 노드에 걸쳐 분산될 수 있다. 일례의 LTE 네트워크에 있어서, 트래픽 모니터링 모듈(1520), 커넥션 검출 모듈(1530), 및 스트림 및 세션 검출 모듈(1540)은 패킷 게이트웨이에 거주할 수 있는 반면 상태 모듈(1550)은 eNB 기지국에 거주할 수 있다. 많은 다른 기능적 파티션이 유사하게 가능하다. 부가적으로, 패킷 검사 모듈(1500)의 개개의 모듈은 다중 디바이스에 걸쳐 분산될 수 있다. 나아가, 패킷 검사 모듈(1500)의 다양한 모듈의 기능은 도 21에 도시된 것 이외의 방식으로 분할, 분산 및/또는 조합될 수 있다.
일 실시예에 있어서, 패킷 검사 모듈(1500) 내 기능은 기능의 서브세트가 데이터 플레인 패킷만을 프로세싱하는 한편 기능의 다른 서브세트가 제어 플레인 패킷만을 프로세싱하게 되도록 파티션잉될 수 있다. 예컨대, LTE eNB 기지국에서 새로운 데이터 베어러 또는 새로운 UE를 검출하는데 사용된 커넥션 검출 모듈(1530) 내 기능은 3GPP 제어 플레인 패킷만을 프로세싱할 수 있다. 대안으로, LTE eNB 기지국에서 LTE 데이터 베어러 상의 새로운 TCP 커넥션을 검출하는데 사용된 커넥션 검출 모듈(1530) 내 기능은 데이터 플레인 패킷만을 프로세싱할 수 있다.
도 22는 커넥션의 개시를 검출하기 위한 프로세스의 플로차트이다. 프로세스는 패킷 검사 모듈(1500)에 의해 구현되는 것으로 설명되고 있지만, 프로세스는 또한 다른 모듈에 의해 구현될 수 있다. 단계(1610)에서, 패킷은 새로운 커넥션을 식별하기 위해 트래픽 모니터링 모듈(1520) 및 커넥션 검출 모듈(1530)에 의해 검사된다. 예컨대, LTE 기지국에 있어서, 트래픽 모니터링 모듈(1520)은 새로운 3GPP 베어러 ID를 식별하기 위해 계층 1 또는 2 헤더를 검사할 수 있다. 후속해서, 커넥션 검출 모듈(1530)은 TCP 클라이언트와 TCP 서버 사이의 TCP 확립에 사용되는 패킷(예컨대, SYN, SYN-ACK, ACK)의 검출을 통해 TCP 커넥션의 셋업을 식별하기 위해 패킷을 검사할 수 있다. 대안으로 또는 부가적으로, 커넥션 검출 모듈(1530)은 상태 모듈(1550)에 현재 알려져 있지 않거나 또는 알려져 있지만 종료된 상태인 커넥션 정보를 식별하기 위해 패킷을 검사할 수 있다. 예컨대, 커넥션 검출 모듈(1530)은 상태 모듈(1550)에 현재 알려져 있지 않거나 또는 알려져 있지만 종료된 상태인 TCP 포트 및 IP 소스 및 수신지 어드레스의 조합을 식별하기 위해 패킷을 검사할 수 있다.
단계(1615)에서, 커넥션 검출 모듈(1530)은 단계(1610)에서 모니터링된 트래픽이 새로운 커넥션을 구성하는지 결정한다. 일 실시예에 있어서, 커넥션 검출 모듈(1530)은 커넥션 확립 프로토콜의 상태(예컨대, TCP SYN, SYN-ACK, ACK 메시지)를 보유하고 그 프로토콜로부터의 성공적 결과에 기초하여 새로운 커넥션을 식별한다. 대체 실시예에 있어서, 커넥션 검출 모듈(1530)은 단계(1610) 동안 수집된 커넥션 식별 정보를 상태 모듈(1550)에 저장된 컨텍스트와 비교한다. 커넥션 식별 정보(예컨대, 논리 링크, IP 어드레스, UDP 소켓)가 상태 모듈(1550)에 의해 저장된 컨텍스트에서의 기존 액티브 커넥션과 매치하면, 그때 커넥션 정보는 새로운 커넥션보다는 기존 커넥션에 대한 것이라고 여겨지고 제어는 단계(1610)로 되돌아간다. 그렇지만, 커넥션 정보가 상태 모듈(1550)에 의해 저장된 기존 액티브 컨텍스트에서 발견되지 않으면, 새로운 커넥션이 식별되었다. 단계(1620)에서, 커넥션 정보는 상태 모듈(1550)에 의해 저장된 컨텍스트에 저장된다. 그후 프로세스는 단계(1625)로 계속하고, 거기서는 커넥션 상태 및 커넥션 상에 전송되는 트래픽과 연관된 어느 스트림, 세션 및 애플리케이션에 관한 정보의 검출을 위해 커넥션의 모니터링이 개시된다. 그후 프로세스는 새로운 커넥션이 있는지 모니터링하기 위해 단계(1610)로 되돌아간다. 커넥션의 개시를 검출하기 위한 프로세스의 단계는 동시다발적으로 수행될 수 있다. 부가적으로, 프로세스는 단계를 부가, 생략, 순서변경 또는 개조함으로써 수정될 수 있다.
도 23은 커넥션을 모니터링하기 위한 프로세스의 플로차트이다. 프로세스는 도 22에 예시된 커넥션의 개시를 검출하기 위한 프로세스의 단계(1625)를 수행하도록 사용될 수 있다. 커넥션을 모니터링하기 위한 프로세스는 패킷 검사 모듈(1500)에 의해 구현되는 것으로 설명되고 있지만, 프로세스는 또한 다른 모듈에 의해 구현될 수도 있다. 도 23에 예시된 커넥션을 모니터링하기 위한 프로세스는 특정 커넥션에 대한 트래픽을 모니터링한다. 따라서, 패킷 검사 모듈(1500)은 각각의 액티브 커넥션에 대한 프로세스의 인스턴스를 수행할 수 있다.
단계(1630)에서, 특정 커넥션과 연관되는 패킷이 모니터링된다. 필터링 기준에 기초하여, 트래픽 모니터링 모듈(1520)은 커넥션 검출 모듈(1530)에 의한 추가적 프로세싱을 위해 특정 커넥션의 상태와 관련된 패킷을 식별하고 스트림 생성 및 종료와 관련된 패킷을 식별하고 그들 패킷을 스트림 및 세션 검출 모듈(1540)에 포워딩한다. 트래픽 모니터링 모듈(1520)는 또한 관심 있는 스트림, 세션 또는 애플리케이션 정보에 대한 추가적 검사를 위해 패킷을 식별할 수 있다. 이들 패킷은 다른 로직 모듈(1570), 상태 모듈(1550) 또는 스트림 및 세션 검출 모듈(1540)과 같은 또 다른 모듈에 포워딩될 수 있다. 예컨대, 트래픽 모니터링 모듈(1520)은 또 다른 모듈, 예컨대, 다른 로직 모듈(1570)이 현재 재생 상태를 결정할 수 있도록 특정 비디오 스트림으로부터의 패킷을 주기적으로 식별하도록 구성될 수 있다. 대안으로 또는 부가적으로, 트래픽 모니터링 모듈(1520)은 상태 모듈(1550)이 커넥션을 통해 제공되는 서비스의 품질을 평가하는데 사용하기 위한 메트릭을 기록할 수 있도록 특정 커넥션에 대한 TCP 재송신 요청을 검출할 수 있다. 트래픽 모니터링 모듈(1520)은 또한 트래픽에서의 패턴을 식별하고 패턴을 사용하여 애플리케이션 검출에 도움을 주도록 구성될 수 있다.
단계(1640)에서, 커넥션 검출 모듈(1530)은 모니터링되고 있는 커넥션이 종료되었는지 결정하기 위해 패킷을 검사한다. 예컨대, TCP 커넥션에 대해, TCP 클라이언트 및 TCP 서버의 각각으로부터 보내진 하나의 메시지를 갖는 FIN 메시지 쌍이 TCP 커넥션을 종료시키는 공식적 방법이다. FIN 메시지가 TCP 클라이언트 및 TCP 서버 둘 다로부터 검출되면, 그때 커넥션 검출 모듈(1530)은 TCP 커넥션이 종료되었다고 결론지을 수 있다. 계산상 복잡성 및 프로세싱 비용을 줄이기 위해, 2개의 FIN 메시지 중 하나 또는 다른 하나만의 검출이 커넥션이 종료되었음을 결정하는데 사용될 수 있다. 프로세싱 비용은 커넥션 검출 모듈(1530)이 더 적은 트래픽을 반송하는 링크 방향에서만 FIN 메시지를 검출할 때 더 감축될 수 있다. 예컨대, 많은 모바일 네트워크 상에서, 흔히 업링크 방향은 다운링크 방향보다 더 적은 트래픽을 반송한다. 그래서, 이러한 경우에 있어서, 링크(190)의 업링크 방향 상의 FIN 메시지의 검출은 더 적은 패킷이 검사되도록 요구하고 그리하여 다운링크 방향 상의 FIN 메시지의 검출 또는 둘 다의 FIN 메시지의 검출보다 더 낮은 프로세싱 비용을 수반한다.
커넥션, 스트림 및 세션의 개시 및 종료의 검출을 위한 서로 다른 방법은 예컨대 프로세싱 전력의 관점에서 서로 다른 비용을 가질 수 있다. 방법은 또한 서로 다른 강건성을 가질 수 있다. 소정 방법과 연관된 비용이 있을 수 있고 그에 의해 방법은 충분한 계산상 자원이 이용가능한 경우에만 사용되고 그렇지 않으면 덜 강건하지만 덜 비용이 드는 방법이 사용된다. 이용가능한 계산상 자원은 예컨대 온도, 배터리 충전 레벨, 전력 절약 모드 또는 메모리 이용에 따라 동적으로 달라질 수 있다. 계산상 자원은 또한 총 시스템 비트레이트(예컨대, 메가비트/초), 패킷 레이트(예컨대, 패킷/초), 액티브 커넥션의 수, 스트림 및/또는 세션에 의해 측정되는 바와 같은 네트워크 트래픽 부하의 함수로서 달라질 수 있다.
단계(1640)에 의해 결정되는 바와 같이 커넥션이 종료되었으면, 상태는 단계(1650)에서 업데이트된다. 일 실시예에 있어서, 종료된 커넥션과 관련 있는 엔트리 및 모든 정보는 상태 모듈(1550)에 의해 저장된 컨텍스트로부터 제거될 수 있다. 대안의 실시예에 있어서, 커넥션의 이력 기록은 그것이 더 이상 액티브가 아님을 나타내는 엔트리의 현재 상태의 업데이트와 함께 컨텐스트 엔트리에 보유될 수 있다. 이것은 스케줄러 파라미터의 예측성 업데이트를 위해 사용될 수 있다. 상태 모듈(1550)을 업데이트 한 후에, 제어는 커넥션을 모니터링하는 프로세스가 종료되는 단계(1655)로 진행한다. 프로세스의 종료는 모니터링을 수행하는데 사용된 자원의 할당 해제를 포함할 수 있다.
커넥션이 종료되지 않으면, 프로세스는 단계(1660)로 계속한다. 단계(1660)에서, 스트림 및 세션 검출 모듈(1540)은 새로운 스트림 또는 세션의 개시를 검출하기 위해 그리고 애플리케이션 등급, 특정 애플리케이션, 또는 다른 세션 또는 스트림 특성을 식별하기 위해 패킷을 검사한다. 새로운 스트림 또는 세션의 검출은 트래픽 모니터링 모듈(1520)로 하여금 추가적 프로세싱을 위해 패킷을 식별하는데 사용된 방법을 수정하도록 야기할 수 있다. 예컨대, 스트림이 TCP를 통한 비디오 스트림이라고 결정되면, 트래픽 모니터링 모듈(1520)은 비디오 재생 진행을 검출 또는 추정할 패킷을 주기적으로 식별하도록 구성될 수 있다. 진행은 예컨대 클라이언트 측 TCP ACK 메시지 및 HTTP 서버의 GET 응답에서의 TCP 시퀀스 번호를 모니터링함으로써 모니터링될 수 있다.
일 실시예에 있어서, 이전에 검출된 (예컨대, 도 22의 커넥션의 개시를 검출하기 위한 프로세스의 단계(1615)에서 검출된) 특성은 또한 스트림이 개시되었음을 결정하기 위해 그리고 스트림과 연관된 세션의 특정 애플리케이션 및/또는 애플리케이션 등급을 식별하기 위해 사용될 수 있다. 예컨대, TCP 커넥션 확립 동안 검출된 IP 소스 및 수신지 어드레스는 데이터 스트림 또는 세션의 애플리케이션 등급 및 특정 애플리케이션을 결정하는데 사용될 수 있다. IP 소스 및 수신지 어드레스로는, 패킷 검사 모듈(1500)은 인터넷-기반 트래픽을 소싱 또는 수신하는 도메인 네임 및/또는 등록된 양수인을 확립하기 위해 역방향 도메인 네임 시스템(DNS) 룩업 또는 인터넷 WHOIS 질의를 수행할 수 있다. 도메인 네임 및/또는 등록된 양수인 정보는 그 후 도메인 또는 양수인의 목적의 선험적 지식에 기초하여 데이터 스트림에 대한 애플리케이션 등급 및 특정 애플리케이션 둘 다를 확립하도록 사용될 수 있다. 애플리케이션 등급 및 특정 애플리케이션 정보는, 유도되고 나면, 재사용을 위해 예컨대 상태 모듈(1550)에 의해 또는 다른 로직 모듈(1570)에 의해 저장될 수 있다. 예컨대, 하나보다 많은 사용자 디바이스가 넷플릭스에 액세스하면, 패킷 검사 모듈(1500)은 패킷 검사 모듈(1500)이 동일 사용자 디바이스 또는 또 다른 사용자 디바이스에 의한 넷플릭스로의 후속 액세스에 대해 애플리케이션 등급 및 특정 애플리케이션을 결정할 필요가 없도록 정보를 보유하도록 구성될 수 있다.
예컨대, 특정 IP 어드레스를 갖는 트래픽이 네임 '유튜브'를 포함한 역방향 DNS 룩업 또는 WHOIS 질의를 내놓으면 그 후 이러한 트래픽 스트림은 유튜브 서비스(특정 애플리케이션)를 사용하는 단방향 비디오 스트림(애플리케이션 등급)으로 생각될 수 있다. 일 실시예에 있어서, 도메인 네임 또는 양수인과 애플리케이션 등급과 특정 애플리케이션 사이의 포괄적 매핑이 유지될 수 있다. 매핑은 매핑이 최신인 채로 있음을 보장하기 위해 주기적으로 업데이트될 수 있다.
일 실시예에 있어서, 기저 커넥션 정보와 조합하여 단계(1660)에서 검출된 스트림 및 세션 정보는 상태 모듈(1550)에 의해 저장된 기존 스트림 및 커넥션 정보에 비교된다. 저장된 컨텍스트에 검출된 스트림 및 커넥션 정보로의 매치가 발견되지 않으면, 그때 스트림은 새로운 것으로 선언되고 상태 모듈(1550)에서 기저 커넥션과 연관된 새로운 스트림 엔트리로서 단계(1670)에서 저장된다.
일 실시예에 있어서, 다중 스트림에 대한 정보는 새로운 스트림이 새로운 세션을 구성하는지 또는 기존 세션의 일부분인지 결정하도록 비교될 수 있다. 예컨대, 스트림이 이전에 검출된 최근 SIP 시그널링 스트림 및 이전에 검출되고 여전히 액티브인 RTP 음성 스트림과 동일한 사용자에 대한 동일한 논리 링크 상의 RTP 비디오 스트림이라고 검출되면, 스트림의 조합은 대화형 비디오(예컨대, 비디오 스카이프) 세션으로서 식별될 수 있다.
또 다른 예에 있어서, LTE를 통한 음성(voice over LTE: VoLTE) 및 VoLTE와 조합된 대화식 비디오가 검출될 수 있다. 서비스의 셋업의 IP 멀티미디어 서브시스템(IMS) 시그널링이 (LTE에서와 같이) 암호화될 수 있다 하더라도 검출은 일어날 수 있다. 예컨대, 패킷 검사 모듈(1500)은 코어 네트워크와 사용자 장비 사이의 IMS 시그널링을 검출할 수 있고, 직후에 음성과 일관되는 비트 레이트(예컨대, 32kbps)로 베어러 또는 스트림의 생성이 뒤따른다. 이러한 정보는 VoLTE 세션이 새로운 베어러 또는 스트림 상에서 개시되었음을 추론하는데 사용될 수 있다. 정보의 일례의 사용은 스케줄러 파라미터를 조절하기 위해 도 5의 스케줄러 파라미터 계산 모듈(335)에 의한 것이다. 비디오와 일관된 비트 레이트를 갖는 제2 베어러 또는 스트림이 적절한 시간적 관계로 확립되면, 그 조합은 대화식 음성 더하기 비디오 세션을 표현한다고 추론될 수 있다. 그러한 대화 중 음성 부분이 비디오 부분보다 사용자의 경험 품질에 더 중요하다는 것을 알고 있고, 스케줄러 파라미터 계산 모듈(335)은 비디오 베어러에 비해 음성 베어러를 우선시할 수 있다. 비디오 부분은 비디오 온 디맨드와 같이 다른 비디오 용례보다 더 낮은 우선순위로 여겨질 수 있는 한편, 음성 부분에는 더 높은 우선순위가 주어진다.
또 다른 예에 있어서, 어느 스트림이 소정 재생 범위를 갖는 비디오의 일부분을 반송한 스트림의 직후에 다른 재생 범위를 갖는 동일한 스트리밍 비디오를 반송한다고 결정되면, 2개의 스트림은 동일 비디오 스트리밍 세션의 일부분으로 식별될 수 있다. 상태 모듈(1550)에 의해 (종료 후라도) 앞선 스트림의 상태를 유지하는 것은 이러한 연관성이 일어나게 할 수 있다. 일 실시예에 있어서, 저장된 컨텍스트는 위에서 설명된 스트림, 세션, 애플리케이션 등급 및 특정 애플리케이션 정보로 업데이트된다. 그러한 스트림 관계는 디바이스 정보를 결정하는데 사용될 수 있다. 예컨대, 다중 순차적 스트림 대 단일 스트림이 유튜브 비디오에 사용됨을 검출하는 것은 iOS 운영 체제를 사용하는 애플 제품을 안드로이드 운영 체제를 실행하는 디바이스와 구별하기 위해 사용될 수 있다. 스트림, 세션, 애플리케이션 및 디바이스 정보의 검출은 가중치 및 크레디트에 영향을 주는 애플리케이션 인자와 같은 스케줄러 파라미터의 계산에 있어서 사용될 수 있다. 또한 스케줄러 파라미터의 예측성 수정을 위해 이력이 사용될 수 있다.
대안으로 또는 부가적으로, 특정 세션에 대한 상세 특성은 또한 (단계(1630)에서 수행될 수 있는 바와 같이) 패킷 스트림 프로파일링으로부터 또는 패킷 헤더에서 이용가능한 정보에 기초하여 컨텍스트에 부가될 수 있다(단계(1670) 또는 단계(1630)). 예컨대, 스트리밍 비디오 세션을 기술하는 컨텍스트는 또한 다음의 특성을 포함할 수 있다: 비디오 클립 듀레이션, 해상도, 프레임 레이트, 비트 레이트, 컨테이너 포맷, 비디오 코더-디코더(코덱) 포맷 및 구성, 클라이언트 디바이스(예컨대, 안드로이드 스마트 폰, 애플 아이패드, TV 셋-톱 박스). 그 특성은 예컨대 스케줄링에 사용되는 애플리케이션 인자를 수정하기 위해 사용될 수 있다. 스트리밍 비디오와 그리고 다른 애플리케이션 등급과 연관된 다른 특성이 또한 컨텍스트에 식별 및 저장될 수 있다.
상태 또는 컨텍스트가 단계(1670)에서 업데이트되고 나면 또는 새로운 세션이 단계(1660)에서 검출되지 않으면, 프로세스는 단계(1680)로 계속한다. 단계(1680)에서, 스트림 및 세션 검출 모듈(1540)은 스트림 및 그 연관된 세션의 종료를 식별하려 시도한다. 하나보다 많은 스트림이 커넥션 상에 존재할 때, 일 실시예에서는, 프로세스는 하나보다 많은 스트림의 폐쇄를 식별하려 시도할 수 있다. 부가적으로, 단계(1680)는 스트림을 세션에 대한 컨텍스트에 비교함으로써 스트림의 종료가 세션의 종료를 구성하는지 결정할 수 있다. 스트림이 세션과 연관된 마지막 액티브 스트림이면, 세션은 종료된 것으로 여겨질 수 있다. 대안으로, 세션은 즉시 종료되지는 않을 수 있다. 예컨대, 아이폰 상의 유튜브 애플리케이션의 인스턴스인 세션의 경우에 있어서, 세션은 다중 순차적 스트림으로 이루어질 수 있다. 이들 스트림에 대한 세션을 유지하는 것은 경험 품질이 유지되게 되도록 스케줄러 파라미터를 계산함에 있어서 이롭다.
세션을 개시하도록 HTTP 프로토콜을 사용하는 클라이언트는 HTTP 서버로부터 지정 컨텐트 길이를 갖는 HTTP 파일을 요청하도록 HTTP GET 커맨드를 사용할 수 있다. 일 실시예에 있어서, HTTP 프로토콜을 사용하여 개시된 세션에 대해, 세션 종료는 클라이언트 측 TCP ACK 번호를 모니터링함으로써 검출될 수 있다. HTTP 서버의 GET 응답이 TCP 시퀀스 번호 N으로 시작하고 HTTP 응답 바디의 길이(컨텐트 길이)가 L이면, 세션은 클라이언트가 N+L과 같은 ACK 번호를 갖는 TCP 세그먼트를 보낼 때 종료된다고 여겨질 수 있다. 대안으로, 고정 비트 길이 구현에 부응하기 위해, 세션은, B가 TCP 세그먼트 번호 필드의 비트 길이인 경우, TCP 커넥션 상의 패킷 없음의 갭(예컨대, 일분 이상)이 (N+L) modulo 2 EXP B와 같은 ACK 번호를 갖는 TCP 세그먼트를 따르고 그리하여 TCP 시퀀스 번호가 랩어라운드하게 할 때 종료된다고 여겨질 수 있다.
프로세싱 비용을 줄이기 위해, 스트림 및 세션 검출 모듈(1540)은 연속적으로보다는 주기적으로 클라이언트 ACK 번호를 검사하도록 구성될 수 있다. 다른 정보에 대한 검사 또한 시간에 걸쳐 간헐적으로 수행될 수 있다. 간헐적 프로세싱은 규치적 또는 불규칙적 시간 간격으로 일어날 수 있다. 검사 기간은 송신에 남아있는 패킷의 수에 기초하여 조절될 수 있거나 고정될 수 있다. 예컨대, 새로운 HTTP 세션이 검출되고 난 후에, 스트림 및 세션 검출 모듈(1540)은 각각의 1초 기간에서 100㎳ 동안 패킷을 모니터링할 수 있다. 세션이 완료에 가까워짐에 따라, 스트림 및 세션 검출 모듈(1540)은 예컨대 아래 테이블에서 나타낸 바와 같이 패킷의 더 많은 백분율을 검사하도록 구성될 수 있다.
세션 완료도 패킷 모니터링 기간 총 기간
<90% 100㎳ 1초
90-95% 250㎳ 1초
95-97% 500㎳ 1초
>97% 1초 1초
위 예에 있어서, 세션 완료도는 송신될 총 바이트(L)로 나눈 송신된 현재 바이트(가장 최근 클라이언트 ACK 번호 마이너스 N)로 계산될 수 있다. 프로세싱 비용 및/또는 종료 검출 정확도에 대한 추가적 개선의 결과를 초래할 수 있는 패킷 모니터링 기간을 조절하기 위해 다른 기술이 채용될 수 있다.
위 기술을 채용함으로써 세션 종료의 검출을 놓칠 위험요소가 있으므로, 스트림 및 세션 검출 모듈(1540)은 또한 이 기술을 아래에서 설명되는 바와 같이 세션 타임아웃(예컨대, 지정 시간 기간 동안 보내진 세션 패킷 없음) 또는 비트레이트 기술과 같은 다른 방법과 함께 사용할 수 있다.
종료된 세션의 검출 없음이 발생하였으면, 프로세스는 단계(1630)로 되돌아간다. 단계(1680)에서 세션이 종료되었음을 결정하면, 프로세스는 단계(1690)로 계속하고 상대는 업데이트된다. 일 실시예에 있어서, 상태는 상태 모듈(1550)에 의해 저장된 현재 세션, 애플리케이션 등급, 특정 애플리케이션 및 관련 정보의 제거에 의해 업데이트된다. 대안의 실시예에 있어서, 세션의 이력 기록 또한 상태 모듈(1550)에 의해 보유될 수 있다. 이력 기록은 세션이 액티브이었던 동안 컨텐스트에 저장된 세션 특성 중 일부 또는 전부를 포함할 수 있다. 상태가 업데이트되고 나면, 프로세스는 커넥션의 추가적 모니터링이 일어나는 단계(1630)로 되돌아간다. 단일 세션만이 각각의 커넥션과 연관될 수 있는 대안의 실시예에 있어서, 프로세스는 단계(1690)로부터 단계(1655)로 진행할 수 있다.
일 실시예에 있어서, 데이터 스트림의 정상 상태 비트 레이트는 새로운 세션의 특정 애플리케이션 또는 애플리케이션 등급을 식별하는데 사용될 수 있다. 예컨대, 64kbps의 비트레이트를 갖는 양방향 데이터 스트림을 갖는 세션은 G.711 코덱과 연관된 비트레이트에 기초하여 '음성' 애플리케이션 등급으로 특징지어질 수 있다. 대안의 실시예에 있어서, 그러한 스트림은 세션이 최소 시간 기간(예컨대, 3초)보다 더 큰 시간 동안 진행해 온 후에만 음성 애플리케이션 등급으로 생각될 수 있다. 가변 비트 레이트 능력을 갖는 코덱 및 달리하는 압축비를 갖는 음성 코덱의 확산에 부응하기 위해, 위 기술은 8kbps 내지 64kbps와 같이 최소와 최대 값 사이의 비트레이트를 갖는 양방향 데이터 스트림을 검출하도록 더 수정될 수 있다.
스트리밍 비디오의 존재를 검출하기 위해 유사한 기술이 사용될 수 있다. 예컨대, 패킷 검사 모듈(1500)은 소정 시간 기간에 걸친 평균 단방향 비트레이트가 소정의 최소와 최대 비트레이트 범위(예컨대, 1Mbps와 4Mbps 사이) 내에 있음을 측정함으로써 고화질(예컨대, 1080p) 비디오 스트리밍 세션의 존재를 검출할 수 있다. 부가적으로, 비트레이트 패턴(즉, 소정 시간 기간에 걸쳐 측정 및 추적된 비트 레이트)은 애플리케이션 등급 또는 특정 애플리케이션을 결정하는데 사용될 수 있다. 예컨대, HTTP 프로토콜을 사용하는 유튜브 비디오 서버는 긴, 매우 낮은 레이트 고요한 기간이 뒤따르는 짧은, 높은 레이트 버스트의 패턴으로 안드로이드 스마트 폰에 데이터를 송신한다. 그러한 패턴의 예는 도 24의 비트레이트 대 시간 그래프에 예시되어 있다. 패킷 검사 모듈(1500)은 버스트 기간과 고요한 기간 사이의 비 및 버스트 임계값(예컨대, 소정 최소 레이트보다 더 큰 버스트)의 조합을 사용하여 이러한 패턴을 검출하도록 구성될 수 있다. 부가적으로, 트래픽 모니터링 모듈(1520) 또는 스트림 및 세션 검출 모듈(1540)은 고요한 기간에서 영 길이 TCP 키프-얼라이브 메시지를 검출하여 패턴이 안드로이드 유튜브 애플리케이션과의 유튜브 비디오 세션을 표현한다는 결정에 신뢰를 더할 수 있다. 대안의 실시예에 있어서, 이들 검출 특성은 클라이언트 디바이스, 용례 이력(예컨대, 고화질 비디오의 최근 재생), 전송 채널 컨디션 또는 네트워크 오퍼레이터와 같이 다른 인자의 함수일 수 있다. 인자는 미리 알려져 있을 수 있다.
비트레이트 및/또는 비트레이트 패턴의 사용은 다른 애플리케이션 등급 또는 특정 애플리케이션을 검출하도록 확장될 수 있다. 다른 예들은 게이밍, 머신-대-머신 통신 및 비디오 컨퍼런싱을 포함한다.
부가적으로 또는 대안으로, 비트레이트 및 비트레이트 패턴의 사용은 스트림이 종료되었음을 결정하기 위해(단계(1680)) 스트림 및 세션 검출 모듈(1540)에 의해 사용될 수 있다. 예컨대, 스트림이 검출되고 (비트레이트 검출 또는 다른 방법을 통해) 스트리밍 비디오 세션으로 분류되면, 스트림 및 세션 검출 모듈(1540)은 스트림의 시작시에 그리고 이후에는 주기적 기준으로 평균 비트레이트(예컨대, 2Mbps)를 측정할 수 있다. 비트레이트가 지정된 시간 기간(예컨대, 3초)에 걸쳐 또는 지정된 샘플 수(예컨대, 매 초마다 취해진 3개의 100밀리초 샘플)에 걸쳐 지정된 임계값(예컨대, 측정된 평균 비트레이트의 10%) 아래로 떨어지면, 그때 스트림은 종료된 것으로 여겨질 수 있다. 프로세싱 비용을 줄이기 위해, 비트레이트 모니터링은 덜 빈번하도록 구성될 수 있다. 대안으로, 검출 속도를 개선하기 위해, 비트레이트 모니터링은 더 빈번하도록 구성될 수 있다.
일 실시예에 있어서, 비트레이트 모니터링은 스트림 또는 세션당 고유하게 사용 또는 구성될 수 있다. 예컨대, HTTP 기반 비디오 스트리밍 세션에 대해, 종료 시나리오는 유한 수이고 신뢰할만한 것으로 생각될 수 있다. 그러한 시나리오에 있어서, 비트레이트 모니터링은 예상된 종료 프로토콜을 놓친 경우 또는 미지의 또는 예측치 못한 원인을 통한 예상외 종료의 경우를 검출하기 위해 대비책 또는 안전망으로서 사용될 수 있다. 그러한 경우에 있어서, 비트레이트 모니터링은 프로세싱 비용을 최소화하기 위해 매우 드물게(예컨대, 10초마다) 설정될 수 있다. 대안으로, 프로세싱 비용을 최소화하는 것이 불가능하게 될 수 있다. 대조적으로, 패킷 검사 모듈(1500)에 알려져 있지 않은 프로토콜, 애플리케이션 등급 및/또는 특정 애플리케이션을 갖는 세션, 스트림 또는 커넥션에 대해서는, 프로토콜 메시지의 검출 및 검사에 기초하여 스트림의 종료가 검출되지 않을 수 있다는 더 높은 위험요소가 있다. 그러한 경우에 있어서, 비트레이트 모니터링이 스트림 또는 세션 종료를 검출하기 위한 유일한 메커니즘일 것 같을 수 있으므로 비트레이트 모니터링은 매우 빈번한 기준으로 (예컨대, 100 밀리초마다) 구성될 수 있다.
대안의 실시예에 있어서, 비트레이트 및 비트레이트 패턴의 사용은 커넥션이 액티브 아닌 그리고/또는 에러 상태로 계속 있어 종료된 것으로 여겨져야 함을 결정하기 위해 커넥션 검출 모듈(1530)에 의해 사용될 수 있다(단계(1640)). 예컨대, TCP 기반 커넥션의 평균 비트레이트가 지정된 시간 길이(예컨대, 몇 분 또는 몇 시간)에 걸쳐 영으로 떨어지면, 그때 커넥션 검출 모듈(1530)은 커넥션이 예컨대 FIN 메시지를 사용하여 질서있는 커넥션 해체의 결과를 초래하지 않은 방식으로 깨져 있었다고 결론지을 수 있다. 대안의 실시예에 있어서, 커넥션 검출 모듈(1530)은 네트워크의 일방향 또는 양방향으로 TCP 세그먼트를 카운트할 수 있다. 세그먼트의 총 수가 지정된 시간 길이에 걸쳐 영이면, 커넥션 검출 모듈(1530)은 커넥션이 종료된 것으로 여겨질 수 있다고 결론지을 수 있다.
일 실시예에 있어서, 애플리케이션 등급 또는 특정 애플리케이션은 세션을 확립하는 프로토콜의 검사에 의해 확립될 수 있다. 예컨대, HTTP 기반 비디오 스트리밍을 식별하기 위해, 스트림 및 세션 검출 모듈(1540)은 하이퍼 텍스트 전송 프로토콜(HTTP) 패킷 내 '컨텐트 유형' 필드를 검사하도록 구성될 수 있다. 컨텐트 유형 필드에는 인터넷 엔지니어링 태스크 포스(IETF)에 의해 정의되는 바와 같은 다목적 인터넷 메일 익스텐션(MIME) 포맷으로 명시된 정의에 기초하여 페이로드의 유형에 관한 정보가 들어있다. 예컨대, 이하의 MIME 포맷은 유니캐스트 또는 브로드캐스트 비디오 패킷 스트림 중 어느 것을 나타낼 것이다: 비디오/mp4, 비디오/퀵타임, 비디오/x-ms-wm. 프로세싱 비용을 줄이기 위해, 애플리케이션 검출 모듈은 제한된 시간 기간(예컨대, 2초) 동안에만 그리고 업링크 방향에서 HTTP 'Get' 요청의 성공적 검출 후에만 다운링크 방향에서 '컨텐트 유형' 필드에 대해 패킷을 검사하도록 구성될 수 있다.
일 실시예에 의하면, 스트림 및 세션 검출 모듈(1540)은 HTTP 헤더에 들어있는 호스트 필드를 검사하도록 구성된다. 전형적으로는 호스트 필드에는 특정 애플리케이션 등급 또는 특정 애플리케이션에 스트림을 매핑하도록 사용될 수 있는 도메인 또는 양수인 정보가 들어있다. 예컨대 "v11.lscache4.c.youtube.com"의 HTTP 헤더 필드는 검사되어 애플리케이션 등급 = 비디오 스트림, 특정 애플리케이션 = 유튜브에 매핑될 수 있다. (예컨대, 도 8의 무선 통신 시스템의 사용자 단말(560)에 의해 개시된) 클라이언트 개시된 비디오 세션의 검출에 대한 프로세싱 비용을 줄이기 위해, 일 실시예에 있어서, 호스트 필드의 검출은 업링크 방향으로 주행하는 패킷 상에만 수행될 수 있다. 부가적으로, 호스트 필드는 (아래 샘플 GET 커맨드에 나타낸 바와 같이) 클라이언트 개시된 HTTP GET 커맨드 내에 깊이 들어있으므로, 호스트 필드를 검출 및 파싱하기 위한 방법은 HTTP 메시지의 시작시 GET 스트링의 성공적 검출 후에만 개시될 수 있다.
Figure 112014001965314-pct00005
효율성을 더 개선하기 위해, 일 실시예에서는, 하나의 기술을 사용한 애플리케이션 등급 또는 특정 애플리케이션의 검출이 다른 기술을 사용한 동일 커넥션의 부가적 패킷 검출을 유예하도록 위 기술이 논리적으로 조합될 수 있다. 예컨대, 유튜브를 검출하기 위한 하나의 기술이 성공적이면 그때 HTTP MIME 접근법을 사용한 패킷 검사는 유예될 수 있다.
대안의 실시예에 있어서, 효율성을 더 개선하기 위해, 애플리케이션 등급 또는 특정 애플리케이션은 서비스 등급(CoS) 패킷 마크표시의 사용에 의해 결정될 수 있다. 예컨대, MNO는 실시간 게이밍에 대해 LTE QCI=3 그리고 IMS 시그널링에 대해 QCI=5를 사용하기로 결정하고 LTE eNB에서의 패킷 검사 모듈(1500)을 이러한 정보로 구성할 수 있다. 그리하여, 이들 특성을 갖는 eNB에 도착하는 패킷은 신속히 평가되고 추가적 프로세싱으로부터 면할 수 있다.
일 실시예에 있어서, 논리 링크의 종료와 관련된 메시지 또는 논리 링크의 종료는 커넥션이 종료되었음을 결정하기 위해 커넥션 검출 모듈(1530)에 의해 사용될 수 있다. 예컨대, LTE 네트워크에 있어서, UE로의 RF 링크의 손실을 나타내는 물리(PHY) 계층으로부터 라디오 자원 제어(RRC) 계층으로 패스된 시그널링 메시지는 UE와 연관된 모든 세션 및 커넥션을 종료시키기 위해 커넥션 검출 모듈(1530)에 의해 사용될 수 있다.
일 실시예에 있어서, 네트워크에 걸쳐 반송된 제어 플레인 메시지는 커넥션 검출 모듈(1530)에 의한 데이터 플레인 커넥션의 종료를 검출하는데 사용된다. 예컨대, 액세스 층(AS) 제어 플레인 메시지는 새로운 표적 eNB로 UE의 핸드오버를 개시 및 확인해 주도록 LTE UE에 의해 서비스 제공 eNB에 보내진다. 이들 메시지는 커넥션 검출 모듈(1530)에 의해 검출될 수 있고 UE와 연관된 모든 세션, 스트림 및 커넥션의 종료를 선언하는데 사용될 수 있다. 대안의 예에 있어서, eNB와 UE 사이의 AS 제어 플레인 메시지는 전용 데이터 베어러를 릴리스(종료)하기 위해 사용된다. 이들 메시지는 커넥션 검출 모듈(1530)에 의해 검출되고 데이터 베어러와 연관된 모든 커넥션이 종료되었음을 선언하는데 사용될 수 있다.
당업자는 본 명세서에서 개시되는 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 모듈, 컨트롤러, 유닛 및 알고리즘 단계가 흔히 전자적 하드웨어, 컴퓨터 소프트웨어 또는 그들 조합으로 구현될 수 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 교환가능성을 명확히 예시하기 위해, 다양한 예시적 컴포넌트, 유닛, 블록, 모듈 및 단계가 일반적으로 그 기능성의 관점에서 위에 설명되었다. 그러한 기능성이 하드웨어로 구현될지 또는 소프트웨어로 구현될지는 전반적 시스템에 부과된 특정 시스템 및 설계 제약에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 그러한 구현 결정은 본 발명의 범위로부터의 벗어남을 야기하는 것으로 해석되어서는 안 된다. 부가적으로, 유닛, 모듈, 블록 또는 단계 내 기능의 그룹화는 설명의 용이함을 위한 것이다. 특정 기능 또는 단계는 본 발명으로부터 벗어남이 없이 하나의 유닛, 모듈 또는 블록으로부터 이동될 수 있다.
본 명세서에 개시된 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 유닛, 단계 및 모듈은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트 또는 본 명세서에서 설명된 기능을 수행하도록 설계된 그 어떠한 조합으로라도 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로, 프로세서는 어떠한 프로세서, 컨트롤러 또는 마이크로컨트롤러라도 될 수 있다. 또한 프로세서는 컴퓨팅 디바이스의 조합으로, 예컨대, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합하여 하나 이상의 마이크로프로세서, 또는 어떠한 다른 그러한 구성으로라도 구현될 수 있다.
본 명세서에서 개시된 실시예와 연관하여 설명된 블록 또는 모듈의 프로세스 및 알고리즘 또는 방법의 단계는 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈(또는 유닛)로, 또는 둘의 조합으로 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM 또는 어떠한 다른 형태의 머신 또는 컴퓨터 읽기가능한 저장 매체에라도 거주할 수 있다. 예시적 저장 매체는 프로세서에 결합되어 프로세서가 저장 매체에 정보를 쓰고 그로부터 정보를 읽게 되어 있을 수 있다. 대안에 있어서, 저장 매체는 프로세서에 일체일 수 있다. 프로세서 및 저장 매체는 ASIC에 거주할 수 있다.
개시된 실시예의 위 설명은 당업자가 본 발명을 이루거나 사용할 수 있게 하도록 제공된다. 이들 실시예에 대한 다양한 수정이 당업자에게는 쉽게 명백할 것이고 본 명세서에서 설명되는 포괄적 원리는 본 발명의 취지 또는 범위로부터 벗어남이 없이 다른 실시예에 적용될 수 있다. 그리하여, 본 명세서에 제시된 설명 및 도면은 본 발명의 현재 바람직한 실시예를 표현하여 본 발명에 의해 넓게 고려되는 주제를 나타내는 것으로 이해되려는 것이다. 더욱, 본 발명의 범위는 당업자에게 자명하게 될 수 있는 다른 실시예를 전적으로 아우르는 것으로 이해된다.

Claims (104)

  1. 데이터 패킷의 송신을 스케줄링하기 위해 통신 디바이스를 동작시키는 방법으로서, 상기 방법은,
    통신 네트워크로부터 복수의 데이터 패킷을 수신하는 단계;
    상기 데이터 패킷들 중 적어도 하나의 데이터 패킷과 연관된 적어도 하나의 애플리케이션을 결정하는 단계;
    상기 데이터 패킷의 각각을 복수의 데이터 큐 중 하나에 삽입하는 단계;
    상기 데이터 큐의 각각에 대한 스케줄러 파라미터를 결정하는 단계로서, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 상기 데이터 패킷들 중 적어도 하나의 데이터 패킷과 연관된 적어도 하나의 애플리케이션에 대응하는 적어도 하나의 애플리케이션 인자를 포함하고, 또한 대응하는 데이터 큐의 특성에 기반하는 적어도 하나의 데이터 큐 특성 인자를 포함하는 것인, 상기 스케줄러 파라미터를 결정하는 단계;
    각 데이터 큐에 대한 스케줄러 파라미터에 적어도 부분적으로 기초하여 상기 데이터 패킷들을 상기 복수의 데이터 큐의 각각으로부터 출력 큐로 스케줄링하는 단계; 및
    상기 데이터 패킷을 상기 출력 큐로부터 상기 통신 네트워크로 송신하는 단계를 포함하는, 통신 디바이스를 동작시키는 방법.
  2. 제1항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 상기 적어도 하나의 애플리케이션 인자의 승산형 인자(multiplicative factor)인 다수의 데이터 큐 특성 인자를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  3. 제1항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 적어도 하나의 애플리케이션 인자에 대한 가산형 인자(additive factor)인 다수의 데이터 큐 특성 인자를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  4. 제1항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 깊이를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  5. 제1항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 폐기 레이트(discard rate)를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  6. 제1항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 레이턴시를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  7. 제1항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 출구 레이트(egress rate)를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  8. 제1항에 있어서, 상기 적어도 하나의 애플리케이션 중 하나와 연관된 데이터 패킷의 비트 레이트를 결정하는 단계를 더 포함하되, 상기 스케줄러 파라미터는 상기 하나의 애플리케이션과 연관된 데이터 패킷의 비트 레이트와 비교해서 상기 적어도 하나의 애플리케이션과 연관된 상기 복수의 데이터 큐 중 하나의 큐의 출구 레이트를 더 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  9. 제1항에 있어서, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 상기 데이터 패킷을 통신하기 위해 사용되는 통신 링크의 특성에 기반하는 적어도 하나의 통신 링크 특성 인자를 더 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  10. 제9항에 있어서, 상기 적어도 하나의 통신 링크 특성 인자는 신호 품질 표시를 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  11. 제9항에 있어서, 상기 적어도 하나의 애플리케이션은 비디오 스트림을 포함하고, 상기 방법은 상기 비디오 스트림의 단편을 선택하기 위하여 제2 통신 디바이스에 의해 사용하기 위해 상기 통신 링크의 특성에 대한 정보를 상기 제2 통신 디바이스에 송신하는 단계를 더 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  12. 제1항에 있어서, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 상기 데이터 패킷을 통신하기 위해 사용되는 프로토콜에 기반하는 적어도 하나의 프로토콜 인자를 더 포함하는 것인, 통신 디바이스를 동작시키는 방법.
  13. 제1항에 있어서, 제2 통신 디바이스로부터의 데이터 패킷의 송신을 스케줄링하는데 사용하기 위해 상기 적어도 하나의 애플리케이션에 대한 정보를 상기 제2 통신 디바이스에 송신하는 단계를 더 포함하는, 통신 디바이스를 동작시키는 방법.
  14. 제1항에 있어서, 제2 통신 디바이스로부터의 데이터 패킷의 송신을 스케줄링하는데 사용하기 위해 상기 적어도 하나의 데이터 큐 특성 인자에 대한 정보를 상기 제2 통신 디바이스에 송신하는 단계를 더 포함하는, 통신 디바이스를 동작시키는 방법.
  15. 제1항에 있어서, 수신된 복수의 데이터 패킷 내에서 트래픽 패턴을 검출하는 단계를 더 포함하되, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 검출된 트래픽 패턴에 더 기반하는 것인, 통신 디바이스를 동작시키는 방법.
  16. 제15항에 있어서, 상기 스케줄러 파라미터는 상기 출력 큐로부터 상기 통신 네트워크로 송신되는 상기 데이터 패킷들 사이의 유휴 시간을 증가시키도록 결정되는 것인, 통신 디바이스를 동작시키는 방법.
  17. 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스로서, 상기 통신 디바이스는,
    복수의 데이터 패킷을 수신하고 상기 데이터 패킷을 복수의 데이터 큐에 출력하도록 구성된 분류 및 큐잉 모듈로서, 상기 데이터 패킷들의 속성을 분석하고, 상기 데이터 패킷들과 연관된 적어도 하나의 애플리케이션을 결정하고, 상기 적어도 하나의 애플리케이션에 대한 애플리케이션 정보를 출력하도록 구성된 패킷 검사 모듈을 포함하는 것인, 상기 분류 및 큐잉 모듈;
    상기 복수의 데이터 큐에 대한 상대적 우선순위를 나타내는 스케줄러 파라미터를 계산 및 출력하도록 구성된 스케줄러 파라미터 계산 모듈로서, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 상기 패킷 검사 모듈로부터 출력된 상기 애플리케이션 정보에 기반하는 적어도 하나의 애플리케이션 인자 및 대응하는 데이터 큐의 특성에 기반하는 적어도 하나의 데이터 큐 특성 인자를 포함하는 것인, 상기 스케줄러 파라미터 계산 모듈; 및
    상기 스케줄러 파라미터 계산 모듈로부터의 상기 스케줄러 파라미터를 고려하는 순서로 상기 데이터 큐로부터 데이터 패킷을 선택하고 선택된 데이터 패킷을 물리적 통신 계층을 통한 송신을 위해 출력 큐에 삽입하도록 구성된 스케줄러 모듈을 포함하는, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  18. 제17항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 깊이를 포함하는 것인, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  19. 제17항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 폐기 레이트를 포함하는 것인, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  20. 제17항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 레이턴시를 포함하는 것인, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  21. 제17항에 있어서, 상기 적어도 하나의 데이터 큐 특성 인자는 대응하는 데이터 큐의 출구 레이트를 포함하는 것인, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  22. 제17항에 있어서, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 상기 물리적 통신 계층의 특성에 기반하는 적어도 하나의 물리적 통신 계층 인자를 더 포함하는 것인, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  23. 제17항에 있어서, 상기 데이터 큐들 중 적어도 하나의 데이터 큐에 대한 스케줄러 파라미터는 상기 물리적 통신 계층을 통해 상기 데이터 패킷을 통신하기 위해 사용되는 프로토콜에 기반하는 적어도 하나의 프로토콜 인자를 더 포함하는 것인, 데이터 패킷의 송신을 스케줄링하기 위한 통신 디바이스.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
KR1020147000519A 2011-06-22 2012-06-22 통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템 KR101489414B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13/166,660 US20120327778A1 (en) 2011-06-22 2011-06-22 Systems and methods for prioritizing and scheduling packets in a communication network
US13/166,660 2011-06-22
US13/236,308 2011-09-19
US13/236,308 US9065779B2 (en) 2009-06-12 2011-09-19 Systems and methods for prioritizing and scheduling packets in a communication network
US13/396,503 2012-02-14
US13/396,503 US8665724B2 (en) 2009-06-12 2012-02-14 Systems and methods for prioritizing and scheduling packets in a communication network
PCT/US2012/043888 WO2012178117A2 (en) 2011-06-22 2012-06-22 Systems and methods for detection for prioritizing and scheduling packets in a communication network

Publications (2)

Publication Number Publication Date
KR20140040798A KR20140040798A (ko) 2014-04-03
KR101489414B1 true KR101489414B1 (ko) 2015-02-04

Family

ID=47423251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147000519A KR101489414B1 (ko) 2011-06-22 2012-06-22 통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템

Country Status (6)

Country Link
US (3) US8665724B2 (ko)
EP (2) EP3541020B1 (ko)
KR (1) KR101489414B1 (ko)
CN (1) CN103650440B (ko)
CA (1) CA2840048C (ko)
WO (1) WO2012178117A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179769B1 (ko) 2019-10-30 2020-11-17 고려대학교 산학협력단 다중 큐를 지원하는 네트워크 정책 적용 방법, 이를 수행하기 위한 기록 매체 및 장치

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744367B2 (en) 2010-08-31 2014-06-03 At&T Intellectual Property I, L.P. Tail optimization protocol for cellular radio resource allocation
WO2012065186A2 (en) * 2010-11-12 2012-05-18 Realnetworks, Inc. Traffic management in adaptive streaming protocols
US8527627B2 (en) 2010-12-14 2013-09-03 At&T Intellectual Property I, L.P. Intelligent mobility application profiling with respect to identified communication bursts
KR20120067456A (ko) * 2010-12-16 2012-06-26 삼성전자주식회사 무선통신 시스템에서 핸드오버 데이터를 포워딩하기 위한 장치 및 방법
US9264872B2 (en) 2011-06-20 2016-02-16 At&T Intellectual Property I, L.P. Controlling traffic transmissions to manage cellular radio resource utilization
US9220066B2 (en) 2011-06-20 2015-12-22 At&T Intellectual Property I, L.P. Bundling data transfers and employing tail optimization protocol to manage cellular radio resource utilization
US8972568B2 (en) * 2012-02-21 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Quantifying user quality of experience by passive monitoring
US9100464B2 (en) * 2012-08-29 2015-08-04 Ericsson Television Inc. Regulating content streams from a weighted fair queuing scheduler using weights defined for user equipment nodes
US9219929B2 (en) * 2012-02-27 2015-12-22 Fritz Barnes Enhanced startup and channel change for fragmented media stream delivery
US9628398B1 (en) 2012-02-28 2017-04-18 Marvell Israel (M.I.S.L) Ltd. Queuing methods and apparatus in a network device
US9526091B2 (en) * 2012-03-16 2016-12-20 Intel Corporation Method and apparatus for coordination of self-optimization functions in a wireless network
JP2013211616A (ja) * 2012-03-30 2013-10-10 Sony Corp 端末装置、端末制御方法、プログラム、および情報処理システム
US9544197B2 (en) * 2012-05-01 2017-01-10 Ricoh Company, Ltd. Communication terminal, communication system, display control method, and recording medium storing display control program
US8930559B2 (en) * 2012-06-01 2015-01-06 Verizon Patent And Licensing Inc. Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods
US9094803B2 (en) 2012-06-13 2015-07-28 All Purpose Networks LLC Wireless network based sensor data collection, processing, storage, and distribution
US9131385B2 (en) 2012-06-13 2015-09-08 All Purpose Networks LLC Wireless network based sensor data collection, processing, storage, and distribution
US9031511B2 (en) 2012-06-13 2015-05-12 All Purpose Networks LLC Operational constraints in LTE FDD systems using RF agile beam forming techniques
US9084143B2 (en) 2012-06-13 2015-07-14 All Purpose Networks LLC Network migration queuing service in a wireless network
US9084155B2 (en) 2012-06-13 2015-07-14 All Purpose Networks LLC Optimized broadband wireless network performance through base station application server
US9107094B2 (en) 2012-06-13 2015-08-11 All Purpose Networks LLC Methods and systems of an all purpose broadband network
US9179352B2 (en) 2012-06-13 2015-11-03 All Purpose Networks LLC Efficient delivery of real-time synchronous services over a wireless network
US9144082B2 (en) 2012-06-13 2015-09-22 All Purpose Networks LLC Locating and tracking user equipment in the RF beam areas of an LTE wireless system employing agile beam forming techniques
US9179354B2 (en) 2012-06-13 2015-11-03 All Purpose Networks LLC Efficient delivery of real-time synchronous services over a wireless network
US9137675B2 (en) 2012-06-13 2015-09-15 All Purpose Networks LLC Operational constraints in LTE TDD systems using RF agile beam forming techniques
US9125064B2 (en) 2012-06-13 2015-09-01 All Purpose Networks LLC Efficient reduction of inter-cell interference using RF agile beam forming techniques
US8565689B1 (en) 2012-06-13 2013-10-22 All Purpose Networks LLC Optimized broadband wireless network performance through base station application server
US9144075B2 (en) 2012-06-13 2015-09-22 All Purpose Networks LLC Baseband data transmission and reception in an LTE wireless base station employing periodically scanning RF beam forming techniques
US9503927B2 (en) 2012-06-13 2016-11-22 All Purpose Networks LLC Multiple-use wireless network
US9882950B2 (en) 2012-06-13 2018-01-30 All Purpose Networks LLC Methods and systems of an all purpose broadband network
US9179392B2 (en) 2012-06-13 2015-11-03 All Purpose Networks LLC Efficient delivery of real-time asynchronous services over a wireless network
US9219541B2 (en) 2012-06-13 2015-12-22 All Purpose Networks LLC Baseband data transmission and reception in an LTE wireless base station employing periodically scanning RF beam forming techniques
US9125123B2 (en) * 2012-06-13 2015-09-01 All Purpose Networks LLC Efficient delivery of real-time asynchronous services over a wireless network
US9736121B2 (en) * 2012-07-16 2017-08-15 Owl Cyber Defense Solutions, Llc File manifest filter for unidirectional transfer of files
US9402114B2 (en) 2012-07-18 2016-07-26 Cisco Technology, Inc. System and method for providing randomization in adaptive bitrate streaming environments
US8959241B2 (en) * 2012-07-23 2015-02-17 Adobe Systems Incorporated Method and apparatus for performing server-side splicing for live streaming media
US8843169B2 (en) * 2012-08-06 2014-09-23 Microsoft Corporation Signal-aware data transfer in cellular networks
WO2014062103A1 (en) * 2012-10-15 2014-04-24 Telefonaktiebolaget L M Ericsson (Publ) Method, network device, computer program and computer program product for determining a set of power state parameters
US8923426B2 (en) * 2012-10-23 2014-12-30 Qualcomm Incorporated Methods and apparatus for managing wireless medium utilization
US9516078B2 (en) 2012-10-26 2016-12-06 Cisco Technology, Inc. System and method for providing intelligent chunk duration
US20140140211A1 (en) * 2012-11-16 2014-05-22 Cisco Technology, Inc. Classification of traffic for application aware policies in a wireless network
MX351978B (es) * 2013-02-21 2017-11-06 Altiostar Networks Inc Sistemas y métodos para la programación de paquetes de datos con base en la detección de aplicación en una estación base.
KR102096503B1 (ko) 2013-03-07 2020-04-02 삼성전자주식회사 무선통신 시스템에서 트래픽 제어 방법 및 장치
US9300710B2 (en) * 2013-03-07 2016-03-29 Qualcomm Innovation Center, Inc. Adaptive bandwidth switching via short-circuitable download
US9369513B2 (en) * 2013-04-12 2016-06-14 Futurewei Technologies, Inc. Utility-maximization framework for dynamic adaptive video streaming over hypertext transfer protocol in multiuser-multiple input multiple output long-term evolution networks
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US20140341031A1 (en) * 2013-05-20 2014-11-20 Nokia Corporation Differentiation of traffic flows mapped to the same bearer
US20140359113A1 (en) * 2013-05-30 2014-12-04 Sap Ag Application level based resource management in multi-tenant applications
WO2014193288A1 (en) * 2013-05-31 2014-12-04 Telefonaktiebolaget L M Ericsson (Publ) Network node for controlling transport of data in a wireless communication network
WO2015013550A1 (en) * 2013-07-24 2015-01-29 Futurewei Technologies Inc. System and method for network-assisted adaptive streaming
US20150052236A1 (en) * 2013-08-14 2015-02-19 Cisco Technology, Inc. Load based target alteration in streaming environments
JP5614482B1 (ja) * 2013-09-02 2014-10-29 沖電気工業株式会社 局側終端装置及び経路切替方法
US10206137B2 (en) * 2013-09-05 2019-02-12 Nec Corporation Communication apparatus, control apparatus, communication system, communication method, control method, and program
JP6574426B2 (ja) * 2014-01-09 2019-09-11 サムスン エレクトロニクス カンパニー リミテッド マルチメディア伝送システムにおけるメディアデータ関連情報を送信する方法及び装置
US9295081B1 (en) * 2014-04-01 2016-03-22 Sprint Communication Cômpany L.P. Orthogonal frequency division multiplexing (OFDM) communication system and method to schedule transfers of first and second user communications
BR112016025262A2 (pt) 2014-04-30 2017-08-15 Huawei Tech Co Ltd sistema, aparelho e método correspondente para gerenciar recurso em rede compartilhada
US10291416B2 (en) 2014-05-15 2019-05-14 Hewlett Packard Enterprise Development Lp Network traffic tuning
WO2015174988A1 (en) * 2014-05-15 2015-11-19 Hewlett-Packard Development Company, L.P. Network scheduling
EP3158817A4 (en) 2014-06-17 2018-02-21 Vasona Networks, Inc. Reduced-latency processing of voice-over-lte calls
US20150373075A1 (en) * 2014-06-23 2015-12-24 Radia Perlman Multiple network transport sessions to provide context adaptive video streaming
US10284485B2 (en) * 2014-07-08 2019-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Communication nodes, methods therein, computer programs and a computer-readable storage medium
WO2016014044A1 (en) * 2014-07-22 2016-01-28 Hewlett-Packard Development Company, Lp Node-based compute device with protocol-based priority
US10205670B2 (en) * 2014-09-12 2019-02-12 Qualcomm Incorporated Selective storage and deletion in mobile content delivery networks
CN105491670A (zh) * 2014-09-15 2016-04-13 华为技术有限公司 数据传输的方法和设备
US9668204B2 (en) * 2014-09-19 2017-05-30 Qualcomm Inc. Collaborative demand-based dual-mode Wi-Fi network control to optimize wireless power and performance
WO2016045690A1 (en) * 2014-09-22 2016-03-31 Nokia Solutions And Networks Oy Method, apparatus and system
US10038616B2 (en) * 2014-09-25 2018-07-31 Microsoft Technology Licensing, Llc Managing classified network streams
JP6432976B2 (ja) * 2014-11-19 2018-12-05 日本電気株式会社 データ伝送装置、データ伝送方法およびプログラム
US10219178B2 (en) * 2014-12-02 2019-02-26 Cisco Technology, Inc. Channel aggregation using Wi-Fi
US9609660B2 (en) * 2014-12-19 2017-03-28 Wipro Limited System and method for adaptive downlink scheduler for wireless networks
US9729562B2 (en) 2015-03-02 2017-08-08 Harris Corporation Cross-layer correlation in secure cognitive network
US9965323B2 (en) 2015-03-11 2018-05-08 Western Digital Technologies, Inc. Task queues
KR102066591B1 (ko) * 2015-03-30 2020-01-15 한국전자통신연구원 네트워크 어플리케이션을 위한 자가적응 기반의 시스템 리소스 최적화 장치 및 방법
US9871875B2 (en) * 2015-04-14 2018-01-16 Vasona Networks Inc. Identifying browsing sessions based on temporal transaction pattern
KR102298991B1 (ko) * 2015-05-22 2021-09-07 삼성전자 주식회사 무선 통신 시스템에서 버퍼 관리 방법 및 장치
EP3304462A1 (en) * 2015-06-02 2018-04-11 Liveperson Inc. Dynamic communication routing based on consistency weighting and routing rules
US20160381693A1 (en) * 2015-06-25 2016-12-29 Japan Communications Inc. Feedback-based packet control system
WO2017000131A1 (en) * 2015-06-29 2017-01-05 Qualcomm Incorporated Http streaming aware cross-layer optimization and application-aware ran signaling
US9870266B2 (en) * 2015-07-30 2018-01-16 Nasdaq, Inc. Background job processing framework
JP6582731B2 (ja) * 2015-08-21 2019-10-02 沖電気工業株式会社 局側終端装置、加入者側終端装置、光通信システム、経路切替方法、経路切替プログラム、及び波長切替方法
US10187810B1 (en) * 2015-11-16 2019-01-22 Sprint Spectrum L.P. Dynamically prioritizing network traffic
US10178627B2 (en) * 2015-12-17 2019-01-08 Qualcomm Incorporated Performance monitoring in mission-critical wireless networks
CN105610711B (zh) * 2015-12-25 2019-02-12 珠海国芯云科技有限公司 一种动态优化数据传输的装置及方法
EP3430850B1 (en) * 2016-03-14 2020-01-01 Telefonaktiebolaget LM Ericsson (PUBL) Communication of application transactions on a radio link
CN107294922A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种应对网络攻击的网络地址调度方法及装置
WO2017174875A1 (en) * 2016-04-08 2017-10-12 Nokia Technologies Oy Method and apparatus for u-plane sub-service flow mapping
CN105959694B (zh) * 2016-05-03 2019-01-29 复旦大学 一种面向可伸缩视频流的分布式毫微蜂窝缓存分配方法
WO2017193363A1 (zh) * 2016-05-13 2017-11-16 华为技术有限公司 业务数据流发送方法及装置
US10103997B2 (en) 2016-06-01 2018-10-16 At&T Intellectual Property I, L.P. Dynamic quality of service for over-the-top content
US10813112B2 (en) * 2016-06-13 2020-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Application aware scheduling and resource management
US10243866B2 (en) 2016-07-01 2019-03-26 International Business Machines Corporation Controlling packet data transmissions via data transmission media
CN113133122A (zh) 2016-08-12 2021-07-16 华为技术有限公司 业务数据传输的方法、网络设备和终端设备
US10324755B2 (en) * 2016-10-06 2019-06-18 International Business Machines Corporation Task scheduling using improved weighted round robin techniques
KR20180047124A (ko) * 2016-10-31 2018-05-10 삼성에스디에스 주식회사 패킷 전송 방법 및 그 장치
US10291941B2 (en) 2017-03-09 2019-05-14 At&T Mobility Ii Llc Pre-caching video content to devices using LTE broadcast
US10965572B2 (en) 2017-05-01 2021-03-30 Bank Of America Corporation Data transfer control
JP7017587B2 (ja) * 2017-05-04 2022-02-08 オッポ広東移動通信有限公司 スケジューリング要求伝送制御方法及び関連製品
EP3614633B1 (en) 2017-05-17 2022-11-23 Huawei Technologies Co., Ltd. Scheduling method and terminal
CN109257626B (zh) * 2017-07-13 2020-11-10 大唐移动通信设备有限公司 一种数据处理方法和装置
US11219039B2 (en) * 2017-08-11 2022-01-04 Texas Instruments Incorporated Concurrent use of multiple protocols on a single radio
CN107547537B (zh) * 2017-08-29 2020-12-18 新华三技术有限公司 请求报文处理方法、装置、设备及存储介质
US10470086B2 (en) 2017-09-12 2019-11-05 Cisco Technology, Inc. Stateful application identification while roaming
CN107800646B (zh) * 2017-11-06 2019-10-15 国网山东省电力公司电力科学研究院 一种支持动态流量控制的通信任务自适应优化调度方法
EP3662370B1 (en) 2018-01-08 2023-12-27 All Purpose Networks, Inc. Internet of things system with efficient and secure communications network
US10827019B2 (en) 2018-01-08 2020-11-03 All Purpose Networks, Inc. Publish-subscribe broker network overlay system
CN108737861B (zh) * 2018-05-11 2020-06-16 浙江大学 一种拥塞环境下基于解码优先级的带宽资源优化配置方法
US20210075734A1 (en) * 2018-05-31 2021-03-11 Hewlett-Packard Development Company, L.P. Packets transmissions based on priority levels
US11799675B2 (en) 2018-06-08 2023-10-24 Telefonaktiebolaget Lm Ericsson (Publ) Methods to update PFD rules for applications and related network nodes
US20200059437A1 (en) * 2018-08-20 2020-02-20 Advanced Micro Devices, Inc. Link layer data packing and packet flow control scheme
US11102139B1 (en) * 2018-09-05 2021-08-24 Amazon Technologies, Inc. Shared queue management utilizing shuffle sharding
KR102144011B1 (ko) 2019-02-15 2020-08-12 성균관대학교산학협력단 가상화 서비스에서 페이지 캐시 관리 방법 및 장치
JP2022524423A (ja) * 2019-03-12 2022-05-02 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 送信機と受信機、および、シリアライザとデシリアライザ、および、送信と受信のための方法、および、シリアライズ化とデシリアライズ化のための方法
US10834009B2 (en) * 2019-03-18 2020-11-10 Intel Corporation Systems and methods for predictive scheduling and rate limiting
CN110138679B (zh) * 2019-04-03 2022-09-20 北京旷视科技有限公司 数据流调度方法及装置
CN111835654B (zh) * 2019-04-19 2023-08-11 海能达通信股份有限公司 感知速率的提升方法及装置、存储介质及电子设备
CN111865705A (zh) * 2019-04-24 2020-10-30 普天信息技术有限公司 调度性能评价方法和装置
US20220201040A1 (en) * 2019-05-16 2022-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Over-the-top management in a communication network
CN110225212B (zh) * 2019-05-21 2021-08-06 中国电子科技集团公司第三十六研究所 一种VoIP语音恢复方法和装置
US11202301B2 (en) * 2019-05-29 2021-12-14 Hewlett Packard Enterprise Development Lp Self-learning rate access prioritizer for applications in a wireless network
CN110266423B (zh) * 2019-06-21 2020-09-08 西安电子科技大学 通信网络中基于节点平均同步级数最小的时间同步方法
US11140086B2 (en) * 2019-08-15 2021-10-05 At&T Intellectual Property I, L.P. Management of background data traffic for 5G or other next generations wireless network
US11178694B2 (en) * 2019-09-09 2021-11-16 Sony Group Corporation RTA queue management in wireless local area network (WLAN) stations
US11399208B2 (en) 2019-09-24 2022-07-26 International Business Machines Corporation Packet priority for visual content
CN112752347B (zh) * 2019-10-31 2023-04-07 华为技术有限公司 调度数据传输的方法和装置
CN111078409B (zh) * 2019-12-11 2023-08-25 上海风秩科技有限公司 流式计算资源控制方法、装置、电子设备及可读存储介质
US11362959B2 (en) * 2020-03-18 2022-06-14 Futurewei Technologies, Inc. Latency based forwarding of packets with destination policies
CN113556259B (zh) * 2020-04-24 2024-04-12 华为技术有限公司 一种基于随流检测的报文处理方法及装置
WO2021235795A1 (en) * 2020-05-17 2021-11-25 Samsung Electronics Co., Ltd. Method and system for managing quality-of-service (qos) in communication networks
CN112055174B (zh) * 2020-08-27 2022-07-05 深圳英飞拓智能技术有限公司 一种视频传输方法、装置及计算机可读存储介质
CN114125259A (zh) * 2020-08-31 2022-03-01 中兴通讯股份有限公司 高清视频的调度方法、基站、调度系统和存储介质
US11693579B2 (en) 2021-03-09 2023-07-04 International Business Machines Corporation Value-based replication of streaming data
US11641245B2 (en) 2021-05-03 2023-05-02 Mellanox Technologies, Ltd. Timestamp confidence level
CN112910720B (zh) * 2021-05-06 2021-08-03 成都云智天下科技股份有限公司 一种基于用户体验量化指标的智能网络调度方法及系统
US11606273B1 (en) 2021-05-24 2023-03-14 Juniper Networks, Inc. Monitoring server performance using server processing time
US11516079B1 (en) * 2021-10-27 2022-11-29 Dell Products L.P. Network initialization communication storage system
US11606157B1 (en) * 2021-11-07 2023-03-14 Mellanox Technologies, Ltd. Time synchronization based on network traffic patterns
WO2024020884A1 (en) * 2022-07-27 2024-02-01 Huawei Technologies Co., Ltd. An edge device for a distributed traffic engeneering system with quality of service control of a plurality of flow groups
US11979476B2 (en) 2022-10-07 2024-05-07 Google Llc High performance connection scheduler
CN118041875B (zh) * 2024-04-12 2024-06-14 广东云百科技有限公司 一种基于智能网关的物联网通信系统
CN118102318A (zh) * 2024-04-23 2024-05-28 南京信息工程大学 一种基于5g技术的数据传输系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110116460A1 (en) 2009-11-09 2011-05-19 Movik Networks, Inc. Burst packet scheduler for improved ran efficiency in umts/hspa networks

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JP3434642B2 (ja) 1995-07-07 2003-08-11 株式会社東芝 パケットスケジューリング装置
US5909427A (en) 1995-07-19 1999-06-01 Fujitsu Network Communications, Inc. Redundant switch system and method of operation
FI103005B1 (fi) 1996-03-25 1999-03-31 Nokia Telecommunications Oy Lähetettävän datan priorisointi reitittimessä
US6219339B1 (en) 1998-02-20 2001-04-17 Lucent Technologies Inc. Method and apparatus for selectively discarding packets
US6862622B2 (en) 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
CA2245367A1 (en) 1998-08-19 2000-02-19 Newbridge Networks Corporation Two-component bandwidth scheduler having application in multi-class digital communication systems
US6654374B1 (en) * 1998-11-10 2003-11-25 Extreme Networks Method and apparatus to reduce Jitter in packet switched networks
US7406098B2 (en) 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US7342897B1 (en) * 1999-08-07 2008-03-11 Cisco Technology, Inc. Network verification tool
US6480911B1 (en) 1999-09-23 2002-11-12 At&T Corp. Grouping class sensitive queues
US20010046208A1 (en) 2000-05-05 2001-11-29 Eng Kai Y. Unbreakable optical IP flows and premium IP services
JP4403348B2 (ja) 2000-12-14 2010-01-27 ソニー株式会社 通信装置及び通信方法
WO2002069575A1 (en) 2001-02-28 2002-09-06 Gotham Networks, Inc. Methods and apparatus for network routing device
US7151749B2 (en) 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
CA2399265C (en) 2001-08-29 2007-02-06 At&T Corp. Multi-frequency data transmission channel power allocation
US20030065809A1 (en) 2001-10-03 2003-04-03 Adc Telecommunications, Inc. Scheduling downstream transmissions
CA2358284A1 (en) * 2001-10-04 2003-04-04 Tropic Networks Inc. Method and system for traffic management in packet networks using random early marking
US7453801B2 (en) 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US7054925B2 (en) * 2001-11-21 2006-05-30 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
MXPA04005734A (es) 2001-12-15 2004-12-06 Thomson Licensing Sa Sistema y metodo para entregar corriente de datos de multiples tipos de datos a diferentes niveles de prioridad.
US7139578B2 (en) 2002-03-22 2006-11-21 Lucent Technologies Inc. Method for managing wireless assets in a coverage area
US7110411B2 (en) 2002-03-25 2006-09-19 Erlang Technology, Inc. Method and apparatus for WFQ scheduling using a plurality of scheduling queues to provide fairness, high scalability, and low computation complexity
US7483487B2 (en) 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
US7342936B2 (en) * 2002-06-17 2008-03-11 Integrated Device Technology, Inc. Method of performing deficit round-robin scheduling and structure for implementing same
US7272144B2 (en) * 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
US7359979B2 (en) 2002-09-30 2008-04-15 Avaya Technology Corp. Packet prioritization and associated bandwidth and buffer management techniques for audio over IP
JP3757933B2 (ja) 2002-11-28 2006-03-22 ソニー株式会社 通信装置
US7546604B2 (en) * 2003-11-26 2009-06-09 International Business Machines Corporation Program reactivation using triggering
KR100592907B1 (ko) 2003-12-22 2006-06-23 삼성전자주식회사 큐오에스를 향상시키기 위한 무선 인터넷 단말 장치 및패킷 전송 방법
US7236746B2 (en) 2004-02-04 2007-06-26 Pctel, Inc. Method and apparatus for measurement and identification of co-channel interfering transmitters
US7680139B1 (en) 2004-03-25 2010-03-16 Verizon Patent And Licensing Inc. Systems and methods for queue management in packet-switched networks
US7724750B2 (en) * 2004-04-01 2010-05-25 Nokia Corporation Expedited data transmission in packet based network
RU2354061C2 (ru) * 2004-05-05 2009-04-27 Квэлкомм Инкорпорейтед Способ и устройство адаптивного управления задержкой в системе беспроводной связи
US7460476B1 (en) 2004-10-18 2008-12-02 Ubicom, Inc. Automatic adaptive network traffic prioritization and shaping
US8289972B2 (en) 2004-11-10 2012-10-16 Alcatel Lucent Gigabit passive optical network strict priority weighted round robin scheduling mechanism
WO2006068445A1 (en) 2004-12-23 2006-06-29 Electronics And Telecommunications Research Institute A method for scheduling resources of packet level for integrated level for integrated traffic, and an apparatus therefor
KR101277877B1 (ko) 2005-01-21 2013-07-30 삼성전자주식회사 동기화 이더넷 시스템에서 지터없이 데이터를 전송하는 방법
US7519054B2 (en) 2005-01-27 2009-04-14 Intel Corporation Replication of multicast data packets in a multi-stage switching system
US7551623B1 (en) 2005-01-31 2009-06-23 Packeteer, Inc. Modulation of partition parameters achieving delay-based QoS mechanism
US7778234B2 (en) 2005-03-30 2010-08-17 Cisco Technology, Inc. Local provisioning of bandwidth and other network resources
US20060242319A1 (en) * 2005-04-25 2006-10-26 Nec Laboratories America, Inc. Service Differentiated Downlink Scheduling in Wireless Packet Data Systems
US20070025357A1 (en) * 2005-07-27 2007-02-01 Interdigital Technology Corporation Wireless communication method and apparatus for detecting and scheduling urgent data
US8730982B2 (en) 2005-11-10 2014-05-20 Broadcom Corporation Scheduling of data transmission with minimum and maximum shaping of flows in a network device
US8437251B2 (en) 2005-12-22 2013-05-07 Qualcomm Incorporated Methods and apparatus for communicating transmission backlog information
US7697436B2 (en) * 2006-02-15 2010-04-13 Fujitsu Limited Bandwidth allocation
US7643418B1 (en) 2006-03-24 2010-01-05 Packeteer, Inc. Aggregate rate control using PID
US7983299B1 (en) 2006-05-15 2011-07-19 Juniper Networks, Inc. Weight-based bandwidth allocation for network traffic
US20080065706A1 (en) * 2006-09-12 2008-03-13 Fisher-Rosemount Systems, Inc. Process Data Storage For Process Plant Diagnostics Development
US20090010202A1 (en) 2006-09-27 2009-01-08 Hitachi Kokusai Electric Inc. Wireless base station
US20080112343A1 (en) * 2006-11-13 2008-05-15 Fujitsu Limited Treatment of secondary management data as user data in an ieee 802.16 system scheduler
US8462628B2 (en) 2006-12-20 2013-06-11 Integrated Device Technology, Inc. Method of improving over protocol-required scheduling tables while maintaining same
CN100574278C (zh) * 2006-12-26 2009-12-23 华为技术有限公司 流量限制技术中刷新令牌桶的方法及装置
US7894344B2 (en) 2007-03-02 2011-02-22 Adva Ag Optical Networking System and method for aggregated shaping of multiple prioritized classes of service flows
US8099565B2 (en) 2007-03-27 2012-01-17 The Board Of Regents Of The University Of Texas System Methods and devices for determining quality of services of storage systems
US7958256B2 (en) 2007-05-09 2011-06-07 Wayport, Inc. System and method for providing application categorization and quality of service in a network with multiple users
US7646781B2 (en) 2007-05-25 2010-01-12 International Business Machines Corporation Methods, systems, and computer program products for selectively discarding packets
KR100975313B1 (ko) 2007-07-05 2010-08-12 삼성전자주식회사 다중 입출력 무선통신 시스템에서 다변 다항식을 이용한신호검출 장치 및 방법
CN101399749B (zh) * 2007-09-27 2012-04-04 华为技术有限公司 一种报文过滤的方法、系统和设备
US7899068B1 (en) * 2007-10-09 2011-03-01 Juniper Networks, Inc. Coordinated queuing between upstream and downstream queues in a network device
US8141120B2 (en) 2008-01-03 2012-03-20 Nec Laboratories America, Inc. Adaptive scheduling of streaming video over wireless networks
CN101217499B (zh) * 2008-01-21 2010-12-01 中兴通讯股份有限公司 队列调度方法
JP4872952B2 (ja) * 2008-03-06 2012-02-08 日本電気株式会社 Tcpバッファコピー分散並列処理装置、方法及びプログラム
EP2258084B1 (en) 2008-03-10 2012-06-06 Telefonaktiebolaget L M Ericsson (PUBL) Technique for classifying network traffic and for validating a mechanism for calassifying network traffic
GB0809014D0 (en) 2008-05-17 2008-06-25 Slever Solutions Ltd Improvements in and relating to the management of data congestion in a data network
US8401584B2 (en) 2008-06-17 2013-03-19 Motorola Solutions, Inc. Dynamic group prioritization in communication networks
US20110305138A1 (en) 2008-09-08 2011-12-15 Nokia Siemens Networks Oy Method and device for classifying traffic flows in a packet-based wireless communication system
US8005087B2 (en) * 2008-09-16 2011-08-23 Alcatel Lucent Application-level processing for default LTE bearer
US8402538B2 (en) 2008-12-03 2013-03-19 Electronics And Telecommunications Research Institute Method and system for detecting and responding to harmful traffic
US8385210B1 (en) 2008-12-18 2013-02-26 Cisco Technology, Inc. System and method for detection and delay control in a network environment
CA2747554C (en) 2008-12-23 2020-05-26 Bce Inc. Differentiated priority level communication
WO2010099053A2 (en) 2009-02-24 2010-09-02 David Ryan Managing radio resources using extended management information bases in wireless networks
US7974297B2 (en) 2009-03-11 2011-07-05 Sony Corporation Quality of service queue management in home mesh network
US8761174B2 (en) 2009-03-11 2014-06-24 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
US8223786B2 (en) * 2009-03-11 2012-07-17 Sony Corporation Quality of service scheduling for home mesh network
US8194593B2 (en) 2009-03-11 2012-06-05 Sony Corporation Quality of service architecture for home mesh network
US9979661B2 (en) 2009-04-02 2018-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Techniques for handling network traffic
US20120281536A1 (en) * 2009-06-12 2012-11-08 Cygnus Broadband, Inc. Systems and methods for detection for prioritizing and scheduling packets in a communication network
US20110154327A1 (en) * 2009-09-11 2011-06-23 Kozat Ulas C Method and apparatus for data center automation
US20110141924A1 (en) * 2009-12-16 2011-06-16 Tektronix Inc. System and Method for Filtering High Priority Signaling and Data for Fixed and Mobile Networks
US20110235630A1 (en) 2010-03-23 2011-09-29 Jie Hui Techniques for prioritizing traffic
US20110267948A1 (en) 2010-05-03 2011-11-03 Koc Ali T Techniques for communicating and managing congestion in a wireless network
US8675577B2 (en) 2010-12-20 2014-03-18 Intel Corporation Signaling techniques for a multimedia-aware radio and network adaptation
KR20140093088A (ko) * 2013-01-17 2014-07-25 삼성전자주식회사 전자 장치에서 트래픽 제어 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110116460A1 (en) 2009-11-09 2011-05-19 Movik Networks, Inc. Burst packet scheduler for improved ran efficiency in umts/hspa networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179769B1 (ko) 2019-10-30 2020-11-17 고려대학교 산학협력단 다중 큐를 지원하는 네트워크 정책 적용 방법, 이를 수행하기 위한 기록 매체 및 장치

Also Published As

Publication number Publication date
EP3541020A1 (en) 2019-09-18
CA2840048A1 (en) 2012-12-27
US20120140633A1 (en) 2012-06-07
US20150207748A1 (en) 2015-07-23
US9237112B2 (en) 2016-01-12
EP3541020B1 (en) 2022-02-23
EP2724490B1 (en) 2019-04-10
KR20140040798A (ko) 2014-04-03
US9065777B2 (en) 2015-06-23
WO2012178117A2 (en) 2012-12-27
WO2012178117A3 (en) 2013-04-11
CA2840048C (en) 2015-09-15
CN103650440A (zh) 2014-03-19
CN103650440B (zh) 2015-07-08
US8665724B2 (en) 2014-03-04
EP2724490A2 (en) 2014-04-30
EP2724490A4 (en) 2015-05-13
US20140126364A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
KR101489414B1 (ko) 통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템
US20120281536A1 (en) Systems and methods for detection for prioritizing and scheduling packets in a communication network
US20120327779A1 (en) Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
US9065779B2 (en) Systems and methods for prioritizing and scheduling packets in a communication network
US10015716B2 (en) Systems and methods for preserving application identification information on handover in a communication network
US10623928B2 (en) Terminal node, method, storage medium for video data transmission
EP2839626B1 (en) Systems and methods for application-aware admission control in a communication network
US20120327778A1 (en) Systems and methods for prioritizing and scheduling packets in a communication network
US20130166623A1 (en) Systems and methods for cooperative applications in communication systems
EP3280208B1 (en) Cooperative applications in communication systems
EP3425985A1 (en) Cooperative applications in communication systems

Legal Events

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

Payment date: 20180110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200114

Year of fee payment: 6