[go: up one dir, main page]

KR102013729B1 - 통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템 - Google Patents

통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102013729B1
KR102013729B1 KR1020147030142A KR20147030142A KR102013729B1 KR 102013729 B1 KR102013729 B1 KR 102013729B1 KR 1020147030142 A KR1020147030142 A KR 1020147030142A KR 20147030142 A KR20147030142 A KR 20147030142A KR 102013729 B1 KR102013729 B1 KR 102013729B1
Authority
KR
South Korea
Prior art keywords
service
video
access node
request
congestion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020147030142A
Other languages
English (en)
Other versions
KR20140147871A (ko
Inventor
케니스 엘. 스탠우드
데이비드 겔
워런 로디
일리앙 바오
하이보 쑤
Original Assignee
타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 filed Critical 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Publication of KR20140147871A publication Critical patent/KR20140147871A/ko
Application granted granted Critical
Publication of KR102013729B1 publication Critical patent/KR102013729B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/824Applicable to portable or mobile terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

애플리케이션-인식 수락 제어를 사용함으로써 용량 및 스펙트럼 제약 있는 다중-액세스 통신 시스템의 시스템 성능을 최적화하기 위한 시스템 및 방법이 제공된다. 여기에서 제공되는 시스템 및 방법은 애플리케이션에 대한 정보 및 정체 정보를 사용하여 수락 제어 응답을 결정할 수 있다. 애플리케이션에 대한 정보는 패킷 검사로부터 획득될 수 있다. 수락 제어 응답은 새로운 서비스를 수락하는 것, 새로운 서비스를 거부하는 것, 새로운 또는 기존의 서비스를 수정하는 것, 새로운 서비스를 지연시키는 것 및 기존의 서비스를 보류하는 것을 포함할 수 있다.

Description

통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템{SYSTEMS AND METHODS FOR APPLICATION-AWARE ADMISSION CONTROL IN A COMMUNICATION NETWORK}
본 발명은 일반적으로는 통신 시스템 분야에 관한 것으로, 더욱 구체적으로는 통신 네트워크에서 애플리케이션-인식 수락 제어(application-aware admission control)를 위한 방법 및 시스템에 관한 것이다.
통신 네트워크에 있어서, 데이터가 네트워크 내 다양한 노드 간 효과적으로 전송될 수 있는 레이트는 제한된다. 유선 네트워크에 있어서, 그 제한은 흔히 장비 능력의 함수이다. 예를 들어, 기가비트 이더넷 링크가 전송할 수 있는 것은 초당 십억 비트에 지나지 않는다. 무선 네트워크에 있어서, 그 제한은 흔히 채널 대역폭 및 사용되는 전송 기술 및 통신 프로토콜의 함수이다. 무선 네트워크는 송신 노드와 수신 노드 간 신호의 품질 및 특정 서비스 및 구역에 대해 할당된 스펙트럼의 양에 의해 더 제약받는다. 부가적으로, 데이터가 무선 네트워크에서 전송될 수 있는 레이트는 흔히 시간에 따라 달라진다.
역사적으로, 통신 시스템은, 롱 텀 에볼루션(long term evolution: LTE) 시스템에 있어서 패킷 게이트웨이(packet gateway: P-GW)에서와 같이, 코어에서의 서비스 등급(class of service: CoS)에 의해 트래픽을 차별하였다. 이것은 오퍼레이터의 자신의 또는 조정된 컨텐트 전송 네트워크(content delivery network: CDN)로부터의 음성 및 비디오와 같은 오퍼레이터 제공 서비스가 보증 비트 레이트(guaranteed bit rate: GBR)와 같은 서비스 품질(quality of service: QoS) 보증을 받을 수 있는 이점을 갖는다. 오퍼레이터 제공 서비스와 연관되지 않은 트래픽은 전형적으로는 덜 차별화되어, 이종 트래픽이 동일 CoS로 그룹화되기에 이른다. 더욱, 이러한 트래픽은 최선 노력 기반으로 자원이 제공되고, 트래픽을 발생시키는 특정 애플리케이션의 QoS 필요성을 무시하고, 최종 사용자에 의해 인지되는 체감 품질(QoE)을 무시한다.
부가적 통신 트래픽은 오버-더-톱(over-the-top: OTT) 서비스, 즉, 오퍼레이터 제공 또는 조정되지 않은 서비스로부터일 수 있다. 스카이프 인터넷 전화(voice over internet protocol: VoIP), 유튜브 점진적 다운로드 비디오, 넷플릭스 스트리밍 비디오, 및 판도라 라디오 스트리밍 오디오가 OTT 서비스의 예들이다. OTT 음성 및 비디오 서비스는 이메일, 소셜 네트워킹 및 파일 전송과 함께 최선 노력 트래픽으로서 함께 그룹화되려는 경향이 있다. 네트워크가 정체되게 될 때, OTT 서비스는 전형적으로는 최종 사용자에 의해 인지되는 품질에서의 충격에 무관하게 동일하게 모두 취급된다. 그것들은 전형적으로는 동일 CoS 내에서 스케줄링된다. 부가적으로, OTT 서비스는 전형적으로는 동일한 논리 베어러(logical bearer), 논리 링크, 또는 다른 가상 송신 채널로 그룹화된다. 오늘날의 통신 시스템에 있어서, 수락 제어는 논리 베어러 기반으로 그 베어러 상에서의 서비스의 혼합을 고려하지 않고 수행된다. 결과적으로, 음성, 스트리밍 비디오 및 스트리밍 오디오와 같은 실시간 서비스는 이메일과 같은 비-실시간 서비스에 비해 QoE가 상당한 저하된 것으로 인지된다.
통신 네트워크에 있어서 애플리케이션-인식 수락 제어를 위한 방법들 및 시스템들이 제공된다. 여기에서 제공되는 방법들 및 시스템들은 수락 제어 결정들을 하기 위해 애플리케이션들에 대한 정보를 사용할 수 있다. 예시적인 수락 제어 결정들은 수락, 거부, 수정 또는 지연을 포함한다. 애플리케이션들에 대한 정보는, 예를 들어, 애플리케이션 클래스들 및 특정 애플리케이션들을 포함할 수 있다. 애플리케이션 정보는, 예를 들어, 패킷들을 검사함으로써 검출될 수 있다. 그 방법들 및 시스템들은, 예를 들어, 무선 기지국에서 사용될 수 있다.
일 태양에 있어서, 본 발명은 단말 노드들과의 통신들을 제공하도록 구성된 트랜시버 모듈; 단말 노드들과 통신된 패킷들을 검사하여 패킷들과 연관된 애플리케이션들에 대한 정보를 검출하도록 구성된 패킷 검사 모듈; 및 단말 노드들로부터의 수락 요청들을 검출하고(이때 수락 요청들은 통신 서비스들에 대한 요청들임), 그리고 단말 노드들과의 통신들에 있어서 정체에 대한 정보 및 애플리케이션 정보에 기반하여 수락 요청들에 대한 수락 제어 응답들을 결정하도록 구성된 수락 제어 모듈을 포함하는 액세스 노드를 제공한다.
또 다른 태양에 있어서, 본 발명은 액세스 노드와 단말 노드들 간에 통신을 제공하도록 구성된 트랜시버 모듈; 네트워크에서 디바이스들과 액세스 노드 간에 통신을 제공하도록 구성된 백홀 인터페이스 모듈; 및 트랜시버에 결합되어, 단말 노드로부터의 수락 요청을 검출하고(이때 수락 요청은 새로운 통신 서비스에 대한 요청임), 그리고 단말 노드와의 통신에 영향을 미치는 정체에 대한 정보 및 수락 요청과 연관된 애플리케이션의 특성들에 기반하여 수락 요청에 대한 응답을 결정하도록 구성된 프로세서를 포함하는 액세스 노드를 제공한다.
또 다른 태양에 있어서, 본 발명은 수락 제어 응답들을 결정하는데 사용하기 위한 방법을 제공하며, 그 방법은 단말 노드로부터의 수락 요청을 검출하는 단계(이때 수락 요청은 새로운 통신 서비스에 대한 요청임); 수락 요청과 연관된 애플리케이션의 특성들을 검출하도록 수락 요청과 연관된 패킷들을 검사하는 단계; 및 단말 노드와의 통신에 영향을 미치는 정체에 대한 정보 및 애플리케이션의 검출된 특성들에 기반하여 수락 요청에 대한 응답을 결정하는 단계를 포함한다.
본 발명의 다른 특징 및 이점은 본 발명의 태양을 예로써 예시하는 이하의 설명으로부터 명백해질 것이다.
본 발명의 상세는, 그 구조에 대해서도 그 동작에 대해서도, 유사한 참조 부호가 유사한 부분을 가리키는 첨부 도면의 검토에 의해 부분적으로 얻어질 수 있다.
도 1은 본 명세서에 개시된 방법 및 시스템이 본 발명의 태양에 따라 구현될 수 있는 무선 통신 네트워크의 블록 선도;
도 2는 본 발명의 태양에 따른 액세스 노드의 블록 선도;
도 3은 본 발명의 태양에 따라 액세스 노드의 태양을 예시하는 통신 시스템의 선도;
도 4는 본 발명의 태양에 따라 eNodeB의 태양을 예시하는 통신 시스템의 선도;
도 5는 본 발명의 태양에 따라 애플리케이션 인식 수락 제어를 갖는 통신 시스템의 블록 선도;
도 6은 본 발명의 태양에 따른 수락 제어를 위한 프로세스의 순서도;
도 7은 본 발명의 태양에 따라 통신 네트워크에 있어서 서비스의 우아한 저하를 위해 제공하는 프로세스의 순서도;
도 8은 본 발명의 태양에 따른 패킷 검사 모듈의 블록 선도;
도 9는 본 발명의 태양에 따른 패킷 분류 모듈의 블록 선도; 및
도 10은 본 발명의 태양에 따른 애플리케이션 세션 검출 모듈의 블록 선도.
애플리케이션-인식 수락 제어를 갖는 통신 시스템을 위한 방법 및 시스템이 제공된다. 애플리케이션-인식 수락 제어는 사용자의 체감 품질(quality of experience: QoE)을 개선할 수 있다. 그 시스템 및 방법은 용량 및 스펙트럼 제약형 다중-액세스 통신 시스템에 있어서 특히 유용하다. 본 명세서에 개시된 시스템 및 방법은 이종 애플리케이션으로부터의 데이터 스트림, 흐름 또는 세션을 포함하고 있는 서비스의 등급과 함께 사용될 수 있다.
여기에서 개시되는 시스템 및 방법은 유선 및 무선 기술을 포함하는 다양한 용량-제한된 통신 시스템에 적용될 수 있다. 예컨대, 여기에서 개시되는 시스템 및 방법은 (롱 텀 에볼루션(LTE), LTE 어드밴스트 및 와이맥스를 포함하는) 셀룰러 2G, 3G, 4G, 셀룰러 백홀, 와이파이, 울트라 모바일 브로드밴드(Ultra Mobile Broadband: UMB), 케이블 모뎀 및 다른 점 대 점 또는 점 대 다점 유선 또는 무선 기술과 사용될 수 있다. 간결하게 보여주기 위해, 특정 기술, 표준 및 서비스의 체계 및 용어를 사용하여 다양한 실시예들이 설명된다. 그렇지만, 여기에서 설명되는 시스템 및 방법은 다른 기술, 표준 및 서비스에 광범위하게 적용가능하다.
도 1은 여기에서 개시되는 방법 및 시스템이 본 발명의 태양에 따라 구현될 수 있는 무선 통신 네트워크의 블록 선도이다. 매크로 기지국(110)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되어 있다. 일 실시예에 있어서, 백홀 커넥션(170)은 양방향 링크 또는 2개의 단방향 링크이다. 네트워크(102)로부터 매크로 기지국(110)으로의 방향은 다운스트림 또는 다운링크(downlink: DL) 방향이라고 지칭된다. 매크로 기지국(110)으로부터 코어 네트워크(102)로의 방향은 업스트림 또는 업링크(uplink: UL) 방향이라고 지칭된다.
가입자 지국(150(1), 150(4))은 매크로 기지국(110)을 통해 코어 네트워크(102)에 접속할 수 있다. 가입자 지국(150)과 매크로 기지국(110) 간 무선 링크(190)는 일 실시예에서는 양방향 점 대 다점 링크이다. 매크로 기지국(110)으로부터 가입자 지국(150)으로의 무선 링크(190)의 방향은 다운링크 또는 다운스트림 방향이라고 지칭된다. 가입자 지국(150)으로부터 매크로 기지국(110)으로의 무선 링크(190)의 방향은 업링크 또는 업스트림 방향이라고 지칭된다. 가입자 지국은 때로는 사용자 장비(user equipment: UE), 사용자, 사용자 디바이스, 클라이언트, 핸드셋, 모바일 지국, 단말 노드 또는 사용자 단말이라고 지칭되고 흔히 스마트폰 또는 태블릿과 같은 모바일 디바이스이다. 가입자 지국은 다수의 물리 디바이스, 예를 들어, 노트북 컴퓨터에 결합된 무선 동글을 포함할 수 있다. 가입자 지국(150)은 브리지처럼 매크로 기지국(110)과 같은 기지국을 사용하여 무선 링크(190)를 통해 컨텐트에 액세스한다. 다시 말하자면, 일반적으로 기지국은 그 기지국이 데이터 및 제어 메시지의 소스 또는 데이터 및 제어 메시지에 대한 수신지가 아니면서 가입자 지국(150)과 코어 네트워크(102) 간 사용자 애플리케이션 데이터 및 어떠한 사용자 애플리케이션 제어 메시지라도 넘겨준다.
도 1에 예시된 네트워크 구성에 있어서, 사무소 빌딩(120(1))은 매크로 기지국(110)에 의해 도달될 수 없는 커버리지 음영(104)을 야기한다. 피코 지국(130)은 커버리지 음영(104)에서 가입자 지국(150(2), 150(5))에 커버리지를 제공할 수 있다. 피코 지국(130)은 백홀 커넥션(170)을 통해 코어 네트워크(102)에 접속되어 있다. 가입자 지국(150(2), 150(5))은 매크로 기지국(110)과 가입자 지국(150(1), 150(4)) 간 무선 링크(190)와 동일하거나 유사한 링크를 통해 피코 지국(130)에 접속될 수 있다.
또 다른 사무소 빌딩(120(2))에 있어서, 기업용 펨토셀(140)은 가입자 지국(150(3), 150(6))에 빌딩-내 커버리지를 제공한다. 기업용 펨토셀(140)은 기업용 게이트웨이(103)에 의해 제공된 광대역 커넥션(160)을 이용함으로써 인터넷 서비스 제공자(Internet service provider: ISP) 네트워크(101)를 통해 코어 네트워크(102)에 접속할 수 있다.
피코 지국(130), 기업용 펨토셀(140) 및 유사한 디바이스는 소형 인수(small form factor: SFF) 기지국이라고 지칭될 수 있다. 통신 네트워크에 있어서, 매크로 기지국(110), 피코 지국(130), 기업용 펨토셀(140), 기업용 게이트웨이(103), 및 코어 네트워크(102) 및 ISP 네트워크(101) 내 디바이스와 같은 다양한 디바이스 또는 노드는 네트워크 노드라고 지칭될 수 있다. 도 1은 사무소 빌딩에서의 기업용 펨토셀을 포함하는 통신 네트워크를 도시하고 있기는 하지만, 유사한 통신 네트워크가 쇼핑몰과 같은 주거 또는 공공 공간에 위치하는 펨토셀을 포함할 수 있다. 일부 실시예에 있어서, 매크로 기지국은 동일 구역 내 소형 인수(SFF) 기지국에 의해 사용되는 하나 또는 여러 주파수 채널과 별개인 하나 또는 여러 주파수 채널 상에서 송신 및 수신할 수 있다. 다른 실시예에 있어서, 매크로 기지국 및 SFF 기지국은 동일한 주파수 채널을 공유할 수 있다. 지형 및 채널 가용성의 다양한 조합은 통신 시스템의 스루풋에 충격을 줄 수 있는 다양한 간섭 시나리오를 만들어낼 수 있다.
(가입자 노드(150) 중 하나와 같은) 단말 노드가 새로운 서비스를 시작하기를 (또는 기존 서비스에 부가하기를) 바랄 때, 단말 노드는 그것이 함께 통신하고 있는 네트워크 노드로부터의 이러한 서비스를 요청한다. LTE의 용어를 사용하면, 사용자 장비는 진화형 노드 B(eNB)와 베어러를 확립하도록 요청할 수 있다. 종래 시스템은 수락 또는 거부 결정으로 그러한 요청에 응답하였다. 부가적으로, 종래 시스템은 단말이 요청된 서비스를 어떻게 사용할 것인지에 대한 정보가 거의 없이 수락 제어 결정을 하였다. 종래 시스템에 있어서, 수락 제어 응답은 전형적으로는 요청된 서비스의 등급에 기반하였다.
(매크로 기지국(110), 피코 지국(130) 또는 기업용 펨토셀(140)과 같은) 도 1의 통신 네트워크에서의 액세스 디바이스는 애플리케이션-인식 수락 제어를 수행할 수 있다. 예를 들어, 수락 제어 응답은 수락 요청과 연관된 특정 애플리케이션(예를 들어, 스카이프, 유튜브, 넷플릭스) 및 애플리케이션 클래스(예를 들어, 비디오, 음성, 비디오 컨퍼런싱)를 고려할 수 있다. 수락 제어 응답은 또한 연관된 비디오의 해상도, 프레임 레이트, 비트 레이트 및 듀레이션과 같은 더 상세한 정보를 고려할 수 있다. 애플리케이션 정보는 패킷 검사에 의해 결정될 수 있다. 부가적으로, 수락 제어 응답은 다중 레벨에서, 예를 들어, 베어러를 갖는 개개의 이종 세션 상에서 이루어질 수 있다. 더욱, 수락 제어 응답은 수락, 거부, 지연 또는 수정을 포함할 수 있다. 애플리케이션-인식 수락 제어는 사용자에 대한 QoE를 개선할 수 있다.
도 2는 본 발명의 태양에 따른 액세스 노드(275)의 기능적 블록 선도이다. 다양한 실시예에 있어서, 액세스 노드(275)는 모바일 와이맥스 기지국, 모바일 통신을 위한 글로벌 시스템(global system for mobil: GSM) 무선 기지국 트랜시버(base transceiver station: BTS), UMTS(Universal Mobile Telecommunications System) 노드 B, LTE 또는 LTE 어드밴스트 eNB 또는 eNodeB(진화형 노드 B), 케이블 모뎀 헤드 엔드, 또는 다양한 형태 인수의 다른 유선 또는 무선 액세스 노드일 수 있다. 예를 들어, 도 1의 매크로 기지국(110), 피코 지국(130) 또는 기업용 펨토셀(140)은, 예를 들어, 도 2의 액세스 노드(275)에 의해 제공될 수 있다. 액세스 노드(275)는 프로세서 모듈(281)을 포함한다. 프로세서 모듈(281)은 송수신기(트랜시버) 모듈(279), 백홀 인터페이스 모듈(285) 및 저장 모듈(283)에 결합되어 있다.
송수신기 모듈(279)은 다른 디바이스와 통신을 송신 및 수신하도록 구성된다. 여러 실시예에 있어서, 통신은 무선으로 송신 및 수신된다. 그러한 실시예에 있어서, 일반적으로 액세스 노드(275)는 라디오 신호의 송신 및 수신을 위한 하나 이상의 안테나를 포함한다. 다른 실시예에 있어서, 통신은 유선 또는 광케이블과 같은 물리 커넥션을 통해 송신 및 수신된다. 송수신기 모듈(279)의 통신은 단말 노드와 하는 것일 수 있다.
백홀 인터페이스 모듈(285)은 액세스 노드(275)와 코어 네트워크 간 통신을 제공한다. 통신은 백홀 커넥션, 예를 들어, 도 1의 백홀 커넥션(170)을 통해서일 수 있다. 송수신기 모듈(279)을 통해 수신된 통신은, 프로세싱 후에, 백홀 커넥션 상에서 송신될 수 있다. 유사하게, 백홀 커넥션으로부터 수신된 통신은 송수신기 모듈(279)에 의해 송신될 수 있다. 도 2의 액세스 노드(275)가 단일 백홀 인터페이스 모듈(285)을 갖는 것으로 도시되어 있기는 하지만, 액세스 노드(275)의 다른 실시예는 다수의 백홀 인터페이스 모듈을 포함할 수 있다. 유사하게, 액세스 노드(275)는 다수의 송수신기 모듈을 포함할 수 있다. 다수의 백홀 인터페이스 모듈 및 송수신기 모듈은 서로 다른 프로토콜에 따라 동작할 수 있다.
프로세서 모듈(281)은 액세스 노드(275)에 의해 수신 및 송신되는 통신을 프로세싱할 수 있다. 저장 모듈(283)은 프로세서 모듈(281)에 의한 사용을 위해 데이터를 저장한다. 저장 모듈(283)은 또한 프로세서 모듈(281)에 의한 실행을 위해 컴퓨터 가독 명령어(computer readable instruction)들을 저장하도록 사용될 수 있다. 컴퓨터 가독 명령어는 액세스 노드(275)의 다양한 기능을 달성하도록 액세스 노드(275)에 의해 사용될 수 있다. 일 실시예에 있어서, 저장 모듈(283) 또는 저장 모듈(283)의 부분들은 비-일시적 머신 가독 매체라고 생각될 수 있다. 간결한 설명을 위해, 액세스 노드(275) 또는 그 실시예는 소정 기능성을 갖는 것으로 설명된다. 일부 실시예에 있어서 이러한 기능성은 저장 모듈(283), 송수신기 모듈(279) 및 백홀 인터페이스 모듈(285)과 함께 프로세서 모듈(281)에 의해 달성됨을 인식할 것이다. 더욱, 명령어를 실행하는 것에 부가하여, 프로세서 모듈(281)은 소정 기능을 달성하기 위해 특정 목적 하드웨어를 포함할 수 있다.
액세스 노드(275)는 애플리케이션-인식 수락 제어를 수행할 수 있다. 예를 들어, 수락 제어 응답은 수락 요청과 연관된 특정 애플리케이션 및 애플리케이션 클래스를 고려할 수 있다. 수락 제어 응답은 또한 연관된 비디오의 해상도, 프레임 레이트, 비트 레이트 및 듀레이션과 같은 더 상세한 정보를 고려할 수 있다. 애플리케이션 정보는 패킷 검사에 의해 결정될 수 있다. 부가적으로, 수락 제어 응답은 다중 레벨에서, 예를 들어, 베어러 내 개개의 이종 세션 상에서 이루어질 수 있다. 더욱, 수락 제어 응답은 수락, 거부, 지연 또는 수정을 포함할 수 있다.
도 3은 본 발명의 태양에 따라 액세스 노드(375)의 태양을 예시하는 통신 시스템의 선도이다. 액세스 노드(375)는 세션 수락 결정을 하기 위해 애플리케이션 정보 및 정체 정보를 사용할 수 있다. 액세스 노드(375)는 단말 노드(355)와 데이터 서버(310) 간 통신을 용이하게 한다. 데이터 서버(310)는, 예를 들어, 비디오 컨텐트 전송 네트워크에 있을 수 있다. 도 1의 매크로 기지국(110), 피코 지국(130) 또는 기업용 펨토셀(140)은, 일부 실시예에서는, 액세스 노드(375)를 사용하여 구현된다. 액세스 노드(375)는 예를 들어 도 2의 액세스 노드(275)를 사용하여 구현될 수 있다. 데이터 서버(310)와 액세스 노드(375)의 통신은 코어 네트워크, 서비스 제공자 네트워크, 인터넷 또는 네트워크 조합을 통해서일 수 있다. 이해를 돕기 위해, 도 3에서의 실선은 사용자 데이터를 표현하고 파선은 제어 데이터를 표현한다.
액세스 노드(375)는 패킷 검사 모듈(329), 스케줄러 모듈(330) 및 송수신 모듈(트랜시버)(379)을 포함한다. 패킷 검사 모듈(329), 스케줄러 모듈(330) 및 송수신 모듈(379)은 단말 노드(355)와 통신함에 있어서 액세스 노드(375)에 의해 사용된다. 송수신 모듈(379)은 단말 노드(355)와의 통신을 제공한다. 송수신 모듈(379)은, 예를 들어, 라디오 액세스 네트워크 물리 계층을 구현할 수 있다. 송수신 모듈(379)은 도 2의 송수신 모듈(279)과 동일 또는 유사할 수 있다. 도 3의 액세스 노드(375)는 또한 수락 제어의 다양한 태양을 담당하고 있는 수락 제어 모듈(360)을 포함한다.
수락 제어 모듈(360)은 단말 노드(355)와의 통신에 사용되는 채널(390)로의 액세스를 제어한다. 채널(390)은 용량 제약이 있다. 그리하여, 단말 노드(355)(및 액세스 노드(375)와 또한 통신할 수 있는 다른 단말 노드)는 이용가능한 것보다 더 많은 대역폭을 요청할 수 있다. 수락 제어 모듈(360)은 애플리케이션 정보를 사용하여 수락 요청에 대한 제어 응답을 결정할 수 있다. 따라서, 액세스 노드(375)는 애플리케이션-인식 수락 제어를 제공한다고 말해질 수 있다. 애플리케이션-인식 수락 제어는 개선된 통신 시스템 성능, 예를 들어, 단말 노드(355)의 사용자에 대해 개선된 QoE를 제공할 수 있다.
수락 요청은, 예를 들어, 서비스, 세션, 베어러 또는 커넥션에 대한 요청일 수 있다. 애플리케이션은 다수의 수락 요청, 예를 들어, 스트리밍 비디오의 다수의 단편의 각각에 대한 수락 요청 또는 대화형 음성 플러스 비디오 세션에 대한 비디오 요청 및 오디오 요청을 포함할 수 있다. 일부 수락 요청은 명시적으로 액세스 노드를 프로세스의 일부분으로서 관련시킨다. 예를 들어, LTE 시스템에서의 액세스 노드는 베어러를 셋업하라는 제어 채널 상의 수락 요청을 수신할 수 있다. 다른 수락 요청은 명시적으로 액세스 노드를 관련시키지는 않을 수 있다. 그러한 수락 요청을 하는 단말 노드는 그 액세스 노드를 인식하고 있지 않을 수 있다. 예를 들어, 단말 노드는 스트리밍 비디오의 단편에 대한 수락 요청을 비디오 서버로 향하게 할 수 있다. 수락 요청이 액세스 노드를 통해 통신될 수 있더라도, 단말 노드는 수락 요청을 액세스 노드에 향하게 하지 않았고 단말 노드는 액세스 노드가 수락 요청을 검출하고 그에 응답할 수 있음을 인식하고 있지 않을 수 있다. 액세스 노드는 수락 요청의 특성에 따라 달라질 수 있는 다양한 방법에 의해 수락 요청을 검출할 수 있다. 액세스 노드는, 예를 들어, 액세스 노드로 향해진 명시적 메시지를 수신함으로써 일부 수락 요청을 검출하고, 액세스 노드로 명시적으로 향해지지는 않은 패킷을 검사함으로써 다른 수락 요청을 검출할 수 있다.
패킷 검사 모듈(329)은 데이터 서버(310)와 단말 노드(355) 간 데이터 경로에 있다. 다운링크 방향에 있어서, 패킷 검사 모듈(329)은 데이터 서버(310)로부터의 데이터를 수신하고 그 데이터로 무엇을 할지 결정한다. 예를 들어, 단말 노드(355)로 향하는 사용자 데이터는 송수신 모듈(379)을 통해 단말 노드(355)로의 송신을 위해 스케줄러 모듈(330)에서 큐 내로 분리될 수 있다. 큐는, 예를 들어, 도 2의 액세스 노드의 저장 모듈(283)에 거주할 수 있다. 큐 내로의 차별은, 논리 링크, IP 소스 및 수신지 주소, 애플리케이션 클래스 또는 특정 애플리케이션과 같이, 사용자 데이터와 연관된 다양한 특성에 기반할 수 있다. 패킷 검사 모듈(329)은 백홀 인터페이스 모듈, 예를 들어, 도 2의 백홀 인터페이스 모듈(285)을 통해 다운링크 패킷을 수신할 수 있다.
송수신 모듈(379)은 또한 단말 노드(355)로부터의 패킷을 수신한다. 이들 업링크 패킷 중 일부는 액세스 노드(375)가 데이터 서버(310)에 중계하는 제어 패킷일 수 있다. 제어 패킷은 데이터 서버(310) 내 제어 메커니즘으로 향할 수 있다.
데이터 서버(310)로부터의 패킷은 패킷 검사 모듈(329)에 의해 수신된다. 패킷에는 데이터 서버(310) 및 단말 노드(355)의 관점으로부터 데이터 및 제어 정보 둘 다 들어있을 수 있지만, 그 패킷은 액세스 노드(375)에 의해서는 데이터 패킷으로 보이고, 그래서, 여기에서는 데이터 패킷이라고 지칭된다. 패킷 검사 모듈(329)은 데이터 패킷을 검사한다. 데이터 패킷에 관한 정보가 결정되고, 예를 들어, 수락 제어 모듈(360) 및 스케줄러 모듈(330)에 포워딩될 수 있다. 정보는 비트 레이트, 세션 듀레이션, 애플리케이션 클래스, 특정 애플리케이션, 및 수신지 단말 노드와 같은 정보를 포함할 수 있다. 패킷 검사 모듈(329)은 또한 업링크 패킷을 검사할 수 있다. 검사는 컨텐트(예를 들어, 비디오, 이메일, 오디오)를 반송하는 데이터 패킷을 포함할 수 있거나 또는 세션을 개시하는데 사용되는 패킷을 포함할 수 있다. 패킷 검사 모듈(329)은, 본 명세서에 참조로 편입되어 있는 미국 특허 출원 제13/607,559호(출원일: 2012년 9월 7일, 발명의 명칭: "Systems and Methods for Congestion Detection for use in Prioritizing and Scheduling Packets in a Communication Network")에 상세히 설명되어 있는 패킷 검사를 위한 방법 및 시스템을 사용할 수 있다.
패킷 검사의 일례로서, 액세스 노드(375)는 단말 노드(355)에서의 비디오 클라이언트와 데이터 서버(310)에서의 비디오 컨텐트 전송 서비스 간 통신을 제공할 수 있다. 제어 정보를 포함하고 있는 데이터 패킷은 특정 비디오에 관한 정보에 대해 비디오 컨텐트 전송 서비스에 질의하거나 비디오 컨텐트 전송 서비스에 비디오의 전송 개시를 명령하도록 비디오 클라이언트에 의해 발생될 수 있다. 패킷 검사 모듈(329)은 비디오 클라이언트와 비디오 컨텐트 전송 서비스 간 데이터 패킷의 2-방향 교환을 검사한다. 검사된 데이터 패킷으로부터, 패킷 검사 모듈(329)은 비디오 세션이 개시 중임을 결정할 수 있다. 패킷 검사 모듈(329)은 그 후 비디오 세션에 대한 정보를 수락 제어 모듈(360)에 보낼 수 있다. 이러한 예의 변종에 있어서, 패킷 검사 모듈(329)은 업링크 패킷만을 검사함으로써, 예를 들어, 기지의 IP 주소를 갖는 비디오 컨텐트 전송 서비스에 비디오 클라이언트로부터 보내진 SYN(시퀀스 번호 동기화) 메시지의 검출을 통해 전송 제어 프로토콜(TCP) 커넥션의 개시를 검출함으로써 비디오 세션의 개시를 검출한다.
송수신 모듈(379)은 전형적으로는 변조 및 코딩 스킴과 같이 특정 물리 계층 동작 모드를 사용하여 단말 노드(355)와 통신할 것이다. 물리 계층 동작 모드는 액세스 노드(375)와 단말 노드(355) 간 채널(390)에 관하여 측정된 링크 품질 메트릭스(link quality metrics)에 기반하여 선택될 수 있다. 링크 품질 메트릭스는 송수신 모듈(379)에 의해 결정될 수 있다. 링크 품질 메트릭스는 또한 단말 노드(355) 및 액세스 노드(375)에서의 기능의 조합 또는 단말 노드(355)에서의 트랜시버에 의해 결정될 수 있다. 예시의 링크 품질 메트릭스는 신호 대 잡음 비(SNR), 수신 신호 강도 지수(RSSI), 반송파 대 간섭 플러스 잡음 비(CINR), 비트 에러 레이트(BER) 및 재송신 카운트를 포함한다.
스케줄러 모듈(330)은 액세스 노드(375)와 단말 노드(355) 간 통신 링크를 가로질러 물리 자원을 할당하는데 필요한 기능성 중 일부 또는 전부를 구현한다. 스케줄러 모듈(330)은 전형적으로는 매체 액세스 제어(medium access control: MAC) 계층과 연관되거나 그 부분이다. 다운링크 방향에 대하여, 스케줄러 모듈(330)은 어느 데이터를 그리고 어느 시점에 송신할지 결정한다. 자원은 예를 들어 부반송파 및 타임슬롯으로서 할당될 수 있다. 과도한 정체가 일어날 때, 스케줄러 모듈(330)은 일부 패킷을 폐기할 수 있다. 스케줄러 모듈(330)은 또한 단말 노드(355)로부터의 업링크 자원 요청을 프로세싱하고 업링크 대역폭을 승인할 수 있다. 스케줄러 모듈(330)은, 특정 사용자 데이터에 할당할 자원량을 결정하기 위해, 변조 및 코딩 스킴과 같이 송수신 모듈(379)로부터의 물리 계층(physical layer: PHY) 정보를 사용할 수 있다.
스케줄러 모듈(330)은 채널(390) 상에서 일어나고 있는 정체에 대해 수락 제어 모듈(360)에 알려줄 수 있다. 스케줄러 모듈(330)은 또한 가중치 및 크레디트에 대한 변경과 같이 스케줄러 파라미터에 대한 업데이트를 수락 제어 모듈(360)로부터 수신할 수 있다. 스케줄러 모듈(330)은 각종 정보를 수락 제어 모듈(360)에 제공할 수 있다. 정보는 폐기 레이트(discard rates), 버퍼 출구 레이트, 패킷 에이징(packet aging) 및 버퍼 점유도와 같이 정체를 나타내는 정보를 포함할 수 있다.
수락 제어 모듈(360)은 자원 추정 모듈(361), 정체 모니터링 모듈(362) 및 제어 응답 모듈(363)을 포함한다. 수락 제어 모듈(360)의 모듈들은 애플리케이션-인식 수락 제어를 제공하기 위해 패킷 검사 모듈(329), 스케줄러 모듈(330) 및 송수신 모듈(379)과 통신한다.
제어 응답 모듈(363)은 수락 요청을 수락, 거부, 지연 또는 수정하는 제어 응답을 생성할 수 있다. 응답은 다중 레벨, 예를 들어, 논리 링크, 커넥션, 세션, 스트림에서 요청에 영향을 미칠 수 있다. 제어 응답 모듈(363)은 다양한 정보, 예를 들어, 정책, 서비스 레벨 협약, 자원 추정, 정체 지수, 및 애플리케이션에 대한 정보를 사용하여 제어 응답을 생성할 수 있다.
자원 추정 모듈(361)은 통신에 이용가능한 자원을 추정한다. 추정은 업링크 및 다운링크 통신에 대하여 그리고 단말 노드의 그룹 또는 개개에 대하여 이루어질 수 있다. 자원 추정 모듈(361)은 예상되는 가용 자원을 추정하기 위해 변조 및 코딩과 같이 채널 특성 및 PHY 파라미터를 사용할 수 있다. 자원 추정 모듈(361)은 다양한 단위로 자원을 추정할 수 있다. 자원 추정 모듈(361)은, 예를 들어, 초당 비트, 초당 심벌, 또는 프레임당 자원 블록의 관점에서 자원을 추정할 수 있다. 자원의 어느 초과량도 수락될 수 있는 새로운 세션을 지원하여 할당되든지 또는 현재 활동 중 세션의 자원을 증가시키도록 할당되든지 할 수 있다. 초과량의 자원은 논리 베어러들(여기서 각 논리 베어러는 하나 이상의 세션을 포함하고 있음), 및 하나 이상의 베어러를 포함하고 있는 단말 노드들에 유사하게 적용될 수 있다.
송수신 모듈(379)은, 업링크 및 다운링크 데이터 전송을 용이하게 하는 것에 부가하여, 단말 노드(355)와의 통신과 연관된 변조, 코딩 및 신호 대 잡음 비(SNR)와 같은 물리 계층(PHY) 파라미터 및 상황을 모니터링하거나 유지할 수 있다. 단말 노드와 통신할 수 있는 액세스 노드(375)의 능력은 부분적으로 PHY 파라미터 및 상황에 의존한다. PHY 파라미터 및 상황에 대한 정보는 스케줄링 결정을 하는 스케줄러 모듈(330)에 그리고 수락 제어 응답을 결정하는 수락 제어 모듈(360)에 이용가능하게 될 수 있다.
물리 계층 동작 모드는 주어진 데이터 수량을 송신하는데 채널(390)의 용량이 얼마나 많이 필요한가의 결과를 가져온다. 예를 들어, 액세스 노드(375)와 단말 노드(355) 간 통신이 직교 위상 편이 키(quadrature phase shift key: QPSK) 변조를 사용하는 경우, 모든 다른 물리 계층 모드 파라미터가 동일하면, 그것은 통신이 64-레벨 직교 진폭 변조(64-level quadrature amplitude modulation: 64-QAM)를 사용하는 경우에 비해 채널(390)의 용량을 3배 많이 요구할 것이다. 일 실시예에 있어서, 수락 제어 모듈(360)은 단말 노드(355)(및 다른 단말 노드)의 현재 물리 계층 동작 모드를 수신하고, 가용 시스템 용량을 물리 계층 동작 모드 및 데이터 레이트 필요성, 커미트먼트(commitment), 또는 운영 서비스의 수요의 함수로서 계산한다. 물리 계층 동작 모드가 예를 들어 이동성에 기인하여 변경됨에 따라, 또는 데이터 레이트 필요성 또는 다양한 서비스에 대한 커미트먼트가 변경됨에 따라, 수락 제어 모듈(360)은 추정된 자원 용량, 자원 수요, 및 자원 초과량 또는 부족량을 업데이트한다.
정체 모니터링 모듈(362)은 현재의 정체 상태를 모니터링한다. 정체 모니터링 모듈(362)은 정체를 결정하기 위해 스케줄러 모듈(330)로부터의 정보를 사용할 수 있다. 예를 들어, 버퍼 점유도에서의 증가 또는 버퍼 출구 레이트에서의 감소는 정체를 나타낼 수 있다. 정체 모니터링 모듈(362)은 통신에 대한 수요를 결정하기 위해 패킷 검사 모듈(329)로부터의 애플리케이션 정보를 사용할 수 있다. 정체 모니터링 모듈은 또한 정체를 결정하기 위해 자원 추정 모듈(361)로부터의 추정된 자원 용량과 통신에 대한 수요를 비교할 수 있다. 정체 모니터링 모듈(362)은 또한 정체를 예측하는데 사용될 수 있는 정체 이력 정보를 유지할 수 있다.
현재 자원 용량 추정이 수요보다 더 적으면, 정체 모니터링 모듈(362)은 채널(390)이 현재 정체되어 있는지 결정한다. 부가적으로, 정체 모니터링 모듈(362)은 정체를 결정할 때 스케줄러 모듈(330)에 의해 제공된 스케줄링에 대한 데이터, 폐기 레이트, 출구 레이트 또는 다른 메트릭스를 저장하는데 사용된 버퍼 또는 큐의 깊이(점유도)를 모니터링할 수 있다. 큐가 용량 임계값에 도달할 때, 또는 큐가 넘쳐흐를 때, 정체가 일어나고 있는 것으로 생각된다. 큐 점유도가 용량 임계값 아래로 떨어지고 나면, 정체는 더 이상 일어나고 있지 않은 것으로 생각된다. 유사하게, 출구 레이트, 또는 큐가 비워지고 있는 레이트가 정체를 결정하는데 사용될 수 있다. 예를 들어, 큐 또는 버퍼가 채워지고 있는 레이트보다 출구 레이트가 더 느리면, 정체 가능성이 있다. 정체 모니터링 모듈(362)은 또한 정체가 존재하고 있는지 결정하기 위해 스케줄러 모듈(330)로부터의 폐기 레이트에 대한 정보를 사용할 수 있다. 허용가능한 폐기 레벨은 폐기되는 패킷과 연관된 애플리케이션의 특성에 따라 달라질 수 있다.
특정 단말 노드는 채널(390)의 용량 제약에 부가하여 또는 그와 독립적인 용량 제약을 가질 수 있다. 예를 들어, 단말 노드는 그 단말 노드의 사용자에 대해 최대 대역폭을 제한하는 서비스 레벨 협약에 의해 제약받을 수 있다. 스케줄러 모듈(330)은 불량 통신 채널 조건을 체감하는 단말 노드에 할당된 용량을 의도적으로 제한할 수 있다. 그러한 기술은 다수의 사용자에게 서비스 제공하는 총 채널 용량을 개선하도록 사용될 수 있다. 대안적으로 또는 부가적으로, 정책은 개개의 단말 노드가 기껏해야 소정 백분율의 채널(390) 용량을 받음을 지시할 수 있다. 백분율은 예를 들어 활동 단말 노드의 수 또는 어떤 다른 기준에 의해 가중될 수 있다. 또 다른 정책은 개개의 단말 노드가 기껏해야 소정 수의 동시 활동 TCP 커넥션에서 허용됨을 지시할 수 있다. 이들 및 유사한 경우에 있어서, 정체는 채널(390)의 정체, 개개의 단말 노드의 할당된 용량의 정체, 허용가능한 수의 커넥션 한계 초과, 또는 기준들의 조합으로서 정의될 수 있다.
정체 모니터링 모듈(362)은, 일 실시예에서는, 이력 데이터의 사용 또는 추세의 외삽에 기반하여 장래 정체의 확률을 예측할 수 있다. 예를 들면, 단말 노드(355)로부터의 신호 품질이 저하하고 있으면(예를 들어, 단말 노드가 액세스 노드로부터 멀리 이동 중일 수 있거나 또는 채널에서 간섭의 증가가 있을 수 있는 경우), 정체 모니터링 모듈(362)은 단말(355)과 액세스 노드(375) 간 통신에 관하여 정체 증가를 예측할 수 있다.
정체 모니터링 모듈(362)은, 정체의 악화 및 완화 둘 다를 포함하여, 정체 변화를 예측할 수 있다. 수락 제어 모듈(360)은 예측된 정체 변화에 응답하여 사전적으로 조치를 취할 수 있다. 사전적 조치를 취하는 것은 정체가 실제로 일어날 때까지 취해진 조치가 없었으면 일어났을 품질 저하를 최소화할 수 있다.
정체 모니터링 모듈(362)은 정체를 예측하도록 여러 인수를 사용할 수 있다. 예를 들어, 이력 데이터는 정체가 전형적으로 셀에서 하루 중 특정 시각에 악화함을 나타낼 수 있다. 시간 대비 송신된 스트리밍 비디오 데이터를 추적하고 그 결과를 대응하는 파일의 사이즈에 비교하는 것은 스트리밍 비디오의 잔여분의 사이즈와 더불어 그 잔여분이 품질 손상을 회피하기 위해 송신되어야 하는 시간 기간을 나타낼 수 있다. 이러한 지식은 정체를 관리하는데 사용될 수 있다. 단말 노드의 신호 품질은, 무선 프로토콜(예를 들어, HARQ 재송신)이든 또는 전송 프로토콜(예를 들어, TCP 재송신)이든 그 내에서, 재시도 수 변경 또는 변조 및 코딩 변경을 야기하기에 충분한 장래의 개선 또는 저하를 시사하는 식으로 변화되고 있을 수 있다.
제어 응답 모듈(363)은 정체 모니터링 모듈(362)로부터의 정체 정보를 사용하여 수락 제어 응답을 제공할 수 있다. 제어 응답 모듈(363)은 패킷 검사 모듈(329)로부터의 애플리케이션 정보를 고려하여 수락 제어 응답 결정을 할 수 있다. 제어 응답 모듈(363)은 현재의 정체 상태보다는 예측된 장래의 정체 상태에 수락 제어의 기반을 둘 수 있다. 예를 들어, 정체가 악화할 것으로 예상되면, 제어 응답 모듈(363)은 제어 응답 모듈(363)이 단지 현재의 정체 상태에 기반하여 하였을 것에 비해 더 공격적으로 서비스를 거부 또는 수정할 수 있다. 반대로, 제어 응답 모듈(363)은 정체가 완화될 것으로 예상되면 덜 공격적으로 서비스를 거부 또는 수정할 수 있다.
일례의 실시예에 있어서, 액세스 노드(375)는 LTE 라디오 액세스 네트워크(radio access network: RAN)에서의 eNodeB이다. LTE 시스템에 있어서, eNodeB는 수락 제어를 구현하여, 사용자 장비(UE)(예를 들어, 단말 노드(355)) 또는 UE에 대한 특정 데이터 라디오 베어러(data radio bearer: DRB)를 수락할 용량이 있는지 결정할 수 있다. 일부 DRB는 연관된 보증 비트 레이트(GBR) 및 최대 비트 레이트(maximum bit rate: MBR)를 갖는다. 다른 DRB는 GBR 및 MBR을 갖지 않지만 UE에 할당된 총 최대 비트 레이트(aggregate maximum bit rate: AMBR) 내에서 일괄하여 동작하여야 한다. 일부 DRB는 오퍼레이터-제어식 LTE 음성(VoLTE) 서비스와 같이 개개의 서비스에 전용일 수 있다. 다른 DRB는 동시적 이메일과 유튜브 비디오와 같이 다수의 동시적 이종 서비스를 반송할 수 있다. 부가적으로, 또 다른 서비스를 허용하도록 하나의 서비스를 선취하는데 도움을 주기 위해, LTE는 DRB에 대한 할당 및 보유 우선순위 파라미터를 제공한다. 액세스 노드(375)는 제어 응답 결정을 함에 있어서 현재의 또는 예측된 변조 및 코딩 레이트 및 오퍼레이터 정책과 함께 GBR, MBR 및 AMBR을 사용할 수 있다. 예시의 오퍼레이터 정책은 초과가입 정책, 서비스 레벨 협약, 및 할당 및 보유 우선순위를 포함한다. 그러한 정책은 범용이고 네트워크에서 모든 사용자에게 적용할 수 있다. 대안적으로, 네트워크 내 개개의 사용자 또는 사용자 그룹에 서로 다른 정책이 적용될 수 있다.
수락 제어 모듈(360)이 단말 노드(355)에 대해 채널(390) 상에서 또는 채널(390)의 일부에서 정체를 검출할 때, 그것은 다양한 조치(제어 응답)를 취할 수 있다. 예를 들어, 수락 제어 모듈(360)은 기존 서비스를 보류 또는 수정할 수 있다. 새로운 서비스가 요청되면, 수락 제어 모듈(360)은 그 새로운 서비스를 거부하거나 또는 수정된 서비스 파라미터로 그것을 수락할 수 있다.
새로운 단말 노드가 그 네트워크에 들어가거나 또는 단말 노드(355)가 새로운 데이터 베어러의 셋업을 개시할 때, 수락 제어 모듈(360)은 응답을 결정한다. 각각의 새로운 단말 노드 또는 데이터 베어러는 시스템에 대한 수요를 생성한다. 통신 대역폭에 부가하여, 새로운 단말 노드 또는 데이터 베어러는 액세스 노드(375)에서 컴퓨팅 자원에 대한 수요를 증가시킬 수 있다. 컴퓨팅 자원에 대한 수요는 단말 노드 및 데이터 베어러의 수에 따라 스케일링할 수 있다. 유사하게, 최소 대역폭 요건은 또한 단말 노드 및 데이터 베어러의 수에 따라 스케일링할 수 있다. 예를 들어, 단말 노드는 (예를 들어, 제어 시그널링을 위해) 소정 기본량의 대역폭을 요구할 것이다. 부가적으로, 단말 노드는 흔히 디폴트 대역폭(예를 들어, LTE 네트워크에 있어서 디폴트 베어러에 대한 대역폭)으로 시스템에 들어갈 것이다. 기존 대역폭 배정(예를 들어, GBR, MBR, AMBR), 초과가입 정책, 및 현재의 또는 예측된 변조 및 코딩에 기반하여, 수락 제어 모듈(360)은 새로운 단말 노드 또는 베어러가 초과가입 및 정체 레벨에 관한 정책 내에 머물면서 허용될 수 있는지 결정할 수 있다. 수락 제어 모듈(360)은 또한 베어러 상에서 전송된 서비스 또는 서비스의 혼합에 수락 제어 결정의 기반을 둘 수 있다.
또 다른 예에 있어서, 액세스 노드(375)가 전송하는 서비스는 VoLTE 및 VoLTE와 조합된 대화형 비디오를 포함한다. 패킷 검사 모듈(329)은 VoLTE 서비스의 셋업 동안 IP 멀티미디어 서브시스템(IMS) 시그널링을 검출함으로써 VoLTE 서비스를 검출할 수 있다. 패킷 검사 모듈(329)은, 일 실시예에서는, IMS 시그널링이 암호화되어 있을 때에도 VoLTE 서비스를 검출할 수 있다. 패킷 검사 모듈(329)은, 예를 들어, 음성과 일치하는 비트 레이트(예를 들어, 초당 32 킬로비트)를 갖는 베어러의 생성이 이후에 곧(예를 들어, 수초 내에) 뒤따르는, 코어 네트워크와 단말 노드(355) 간 IMS 시그널링을 검출할 수 있다. 패킷 검사 모듈(329)은 VoLTE 세션이 새로운 베어러 상에서 개시되었음을 이 정보로부터 추론할 수 있다. 수락 제어 모듈(360)은 수락 제어 결정을 하기 위해 패킷 검사 모듈(329)로부터의 이러한 정보를 사용할 수 있다. 비디오와 일치하는 비트 레이트(예를 들어, 초당 500 킬로비트)를 갖는 베어러 및 음성(또는 오디오)와 일치하는 비트 레이트를 갖는 베어러가 검출된 IMS 시그널링에 대한 소정 시간적 관계로(예를 들어, 수초 내) 확립되면, 패킷 검사 모듈(329)은 조합이 대화형 음성 플러스 비디오 세션을 표현함을 추론할 수 있다. 수락 제어 모듈(360)은, 사용자의 체감 품질에 비디오 부분보다 더 중요하다고 일반적으로 생각되는 대화형 음성 플러스 비디오 세션의 음성 부분에 기반하여, 수락 제어 결정을 할 때 비디오 베어러에 비해 음성 베어러를 우선순위로 한다. 유사하게, 수락 제어 모듈(360)은 대화형 음성 플러스 비디오 세션의 비디오 부분을 주문형 비디오와 같이 다른 비디오 베어러보다 더 낮은 우선순위라고 여길 수 있는 한편, 대화형 음성 플러스 비디오 세션의 음성 부분에는 더 높은 우선순위가 주어진다.
패킷 검사 모듈(329)은, 예를 들어, 기존 데이터 베어러 상에 새로운 비디오 서비스가 개시 중임을 결정할 수 있다. 패킷 검사 모듈(329)은 새로운 비디오 서비스의 예상 비트 레이트를 더 결정할 수 있다. 수락 제어 모듈(360)은 새로운 비디오 서비스가 허용되면 새로운 비디오 서비스 또는 다른 서비스에 저하가 있을 것인지 결정하도록 예상 비트 레이트를 사용할 수 있다. 패킷 검사 모듈(329)은 소정 수의 방법으로 서비스의 비트 레이트를 검출할 수 있다. 비트 레이트는 시간 기간에 걸쳐 서비스 동안 데이터의 흐름을 관찰함으로써, 예를 들어, 서비스와 연관된 데이터 바이트의 총 수를 합산하고 합산이 수행되는 시간 기간으로 나눔으로써 추정될 수 있다. 비트 레이트는 서비스를 셋업하는 패킷으로부터 결정될 수 있다. 예를 들어, 패킷 검사 모듈(329)은 유튜브 비디오를 시작하기 위한, 그 비디오의 데이터 레이트 및 사이즈를 기술하는, HTTP 요청 및 응답을 검사할 수 있다. 일 실시예에 있어서, 패킷 검사 모듈(329)은 HTTP 비디오 스트리밍 세션의 존재를 검출하고 플레이리스트 또는 매니페스트 파일의 복사본을 보유할 수 있다. 일 실시예에 있어서, 패킷 검사 모듈(329)은 데이터 스트림 중 어느 단편을 클라이언트가 인출하도록 요청하는지 및 이들 단편을 전송하는데 소비된 실제 시간을 검출함으로써 소정 시간 기간 동안 데이터 스트림의 비트 레이트를 추정할 수 있다. 수락 제어 모듈(360)은 수락 제어 응답을 결정함에 있어서 비트 레이트 정보를 사용할 수 있다. 예를 들어, 수락 제어 모듈(360)은 현재 활동 중인 서비스 세트의 품질 요건을 만족시키기에 충분한 자원이 존재하는지, 예를 들어, 비디오의 멎음-없는 재생을 지원하기에 충분한 자원이 존재하는지 평가할 수 있다.
수락 제어 모듈(360)은, QoE에 대한 충격을 포함하는, 시스템 성능 상의 악영향을 회피하는 수락 제어 응답을 할 수 있다. 비트 레이트, 변조 및 코딩, 및 초과 가입 정책에 대한 정보는 악영향을 회피하도록 사용될 수 있다. 예를 들면, 변조 및 코딩은 자원 할당의 단위(예를 들어, LTE에서는 자원 블록)로 사용자 데이터를 송신하는데 얼마나 많은 비트가 이용가능한지 결정하도록 사용될 수 있다. 예를 들면, 초과가입 정책은 실제로 이용가능한 것보다 더 높은 총 대역폭을 표현하는 세션을 수락 제어 모듈(360)이 수용 가능하게 할 수 있다. 이것은 많은 세션이 그들의 허용된 자원 전체를 사용하지는 않을 것이라는 지식에 기인하여 발생할 수 있다. 예를 들면, LTE에 있어서, 어느 오디오 코덱이 사용될지 알고 있기 이전에 이루어진 GBR 배정을 포함하는 VoLTE 커넥션이 확립될 수 있다. 그리하여, GBR은 최악의 경우, 즉, 가장 높은 해상도 및 그래서 가장 높은 비트 레이트를 상정할 수 있다. 그렇지만, 사용되는 실제 코덱은 더 효율적(더 낮은 비트 레이트)일 수 있고 모든 배정된 대역폭을 소모하지는 않을 수 있다. 부가적으로, 묵음 억제 기술의 사용은 실제 비트 레이트를 최대 비트 레이트 아래로 더 감축할 수 있다. 패킷 검사 모듈(329)은 서비스가 처음에 책정된 것보다 더 적은 대역폭을 사용 중임을 검출할 수 있다. 이러한 정보는 수락 제어 모듈(360)이 채널(390)의 보증된 자원 커미트먼트를 초과가입시킬 수 있게 할 수 있다. 수락 제어 모듈(360)은 또한 초과가입 결정을 함에 있어서 정책 입력을 사용할 수 있다.
수락 제어 모듈(360)은, 대안적으로 또는 부가적으로, 파라미터로부터 정체 지수 및 충분한 자원 가용성을 결정할 수 있다. 예시의 파라미터는 버퍼 점유도, 버퍼 출구 레이트, 폐기 레이트, 및 비디오 멎음과 같이 관찰되거나 추정된 비디오 또는 오디오 품질 메트릭스를 포함한다. 파라미터는 현재 또는 최근 활동 서비스로부터 유도될 수 있다. 수락 제어 모듈(360)이 새로운 세션에 대해 충분한 자원이 존재한다고 결정하면, 새로운 세션은 수락될 수 있다. 수락 제어 모듈(360)이 불충분한 자원이 존재한다고 결정하면, 제어 응답은 초과가입을 경감하도록 일어나야 한다.
수락 제어 모듈(360)이 초과가입을 경감하도록 할 수 있는 하나의 제어 응답은 새로운 서비스의 거부이다. 새로운 서비스가 이미 존재하는 베어러 상에서 시작되려고 할 때, 제어 응답은 베어러의 생성을 거부하는 것만큼 단순할 수는 없다. 일 실시예에 있어서, 제어 응답은 세션 개시 패킷 중 일부를 폐기하거나 교체하여, 그에 의해 세션을 개시할 수 있는 세션 프로토콜의 능력을 극복하려는 것일 수 있다.
응답은 서비스 요청과 관련된 하나 이상의 패킷을 폐기하는 것 및 대체 메시지를 다시 서비스 개시자에 보내는 것을 포함할 수 있다. 예를 들어, 단말 노드에 의해 발행된 HTTP GET 커맨드는 패킷 검사 모듈(329)에 의해 식별되고 유지될 수 있다. 정체 조건에 기인하여, 수락 제어 모듈(360)은 서비스 요청을 폐기하는 제어 응답을 생성할 수 있다. 부가적으로, 제어 응답은 대체 메시지를 생성하여 스케줄러 모듈(330)에 보낼 수 있고 차례로 그 메시지를 단말 노드에 보낸다. 대체 메시지는, 예를 들어, HTTP 413 요청 엔티티 너무 큼 메시지, HTTP 500 내부 서버 에러 메시지, HTTP 503 서비스 이용불가 메시지, 또는 HTTP 504 게이트웨이 타임아웃 메시지일 수 있다. 이들 메시지는 클라이언트가 세션을 재개시하려고 시도해야 하기 전 대기 기간을 시그널링하는 추후-재시도 파라미터를 포함하여, 서비스를 거부하기보다는 지연시키는 제어 응답을 생성할 수 있다. 추후-재시도 파라미터는 상수 값으로 설정될 수 있거나 또는 중대 정체(현재, 예측된 장래 정체, 또는 정체 레벨 조합)에 의존하여 설정될 수 있다. 부가적으로 또는 대안적으로, 대체 메시지는 TCP 헤더 내 필드로서 1의 값으로 설정되어 그로써 기저 TCP 커넥션의 닫기를 개시하는 TCP 리셋 플래그를 가질 수 있다.
대안적으로, 응답은 서비스 요청을 수용하는 메시지를 서비스 요청을 거절하는 메시지로 교체하는 것을 포함할 수 있다. 더 구체적으로, 단말 노드(355)에서의 클라이언트가 HTTP GET 커맨드를 사용하여 비디오 클립을 요청하고 있으면, 패킷 검사 모듈(329)은 데이터 서버(310)로부터 발행되는 HTTP 200 OK 메시지를 식별할 수 있다. 응답하여, 수락 제어 모듈(360)은 그 메시지를 폐기하고, 그것을 대체 메시지로 교체하고 그리고 TCP 커넥션을 닫는 제어 응답을 생성할 수 있다. 예를 들면, 수락 제어 모듈(360)은 HTTP 200 OK 메시지를 검출 및 폐기하고 그 대신에 HTTP 413 요청 엔티티 너무 큼 메시지, HTTP 500 내부 서버 에러 메시지, HTTP 503 서비스 이용불가 메시지, 또는 HTTP 504 게이트웨이 타임아웃 메시지를 스케줄러 모듈(330)에 넘겨주도록 패킷 검사 모듈(329)에 시그널링할 수 있다. 이들 메시지는 클라이언트가 세션을 재개시하려고 시도해야 하기 전 대기 기간을 시그널링하는 추후-재시도 파라미터를 포함하여, 서비스를 거부하기보다는 지연시키는 제어 응답을 생성할 수 있다. 추후-재시도 파라미터는 상수 값으로 설정될 수 있거나 또는 중대 정체(현재, 예측된 장래 정체, 또는 정체 레벨 조합)에 의존하여 설정될 수 있다. 대체 메시지는 1의 값으로 설정되어 그로써 기저 TCP 커넥션의 닫기를 개시하는 TCP 리셋 플래그를 가질 수 있다. 또한 제2 대체 메시지가, 원래의 단말 노드 요청과 관련된 어떠한 데이터 송신이라도 종료하도록, 액세스 노드(375)에 의해 생성되어 데이터 서버(310)에 보내질 수 있다. 제2 대체 메시지는 1의 값으로 설정되어 그로써 기저 TCP 커넥션의 닫기를 개시하는 TCP 리셋 플래그를 가질 수 있다.
다른 일례에 있어서, 서비스를 지연 또는 거부하는 결정은 단말 노드(355)와 데이터 서버(310) 간 하나 이상의 메시지 트랜잭션이 성공적으로 완료된 후에 이루어질 수 있다. 예를 들어, 수락 제어 모듈(360)은 서비스의 특정 애플리케이션 또는 애플리케이션 클래스를 결정한 후에 서비스를 지연 또는 종료시키는 제어 응답을 생성할 수 있다. 대안적으로, 서비스는 액세스 노드(375)가 서비스를 지원하는데 요구되는 필요 자원을 결정한 후에 지연 또는 종료될 수 있다. 예를 들어, 스트리밍 비디오 서비스는 평균 비트레이트가 가용 시스템 용량을 초과한다고 결정되고 나면 거부될 수 있다.
다른 일례에 있어서, 단말 노드(355)에서의 클라이언트가 RTSP 스트리밍 세션을 시작하면, 패킷 검사 모듈(329)은 서버와 클라이언트 간 전송된 RTSP 메시지를 식별할 수 있다. 수락 제어 모듈(360)이 서비스를 거부하기로 결정할 때, 그것은 200(OK) 내지 453(대역폭이 충분하지 않음)의 SETUP 방법으로 RTSP 요청 메시지에 대응하는 RTSP 응답 메시지의 상황을 변경하는 제어 응답을 생성할 수 있다.
수락 제어 모듈(360)은 또한 TCP 커넥션의 셋업을 거부하는 제어 응답을 생성할 수 있다. 예를 들어, 단말 노드에 대해 허용되는 TCP 커넥션의 수가 초과되면, 수락 제어 모듈(360)은 그 단말 노드에 대한 또 다른 TCP 커넥션의 셋업을 방지할 수 있다. 패킷 검사 모듈(329)은 TCP 클라이언트와 TCP 서버 간 TCP 확립에 사용되는 패킷(예를 들어, SYN, SYN-ACK, ACK)의 검출을 통해 TCP 커넥션의 셋업을 식별하도록 패킷들을 검사할 수 있다. 수락 제어 모듈(360)은 너무 많은 TCP 커넥션이 확립되었으면 이들 메시지를 폐기하는 제어 응답을 생성할 수 있다. 대안적으로 또는 부가적으로, 서비스의 거부를 나타내도록 클라이언트(또는 서버)에 시그널링될 수 있다. 서비스의 거부는, 본 명세서에 참조로 편입되어 있는 미국 특허 출원 제13/744,101호(출원일: 2013년 1월 17일, 발명의 명칭: "Systems and Methods for Cooperative Applications in Communication Systems")에 설명된 방법에 의해 시그널링될 수 있다.
시스템은 각종 인수에 기반하여 서비스를 거부하기로 선택할 수 있다. 예를 들어, 시스템은 새로운 세션의 프로토콜(예를 들어, HTTP 또는 FTP), 애플리케이션 클래스(예를 들어, 스트리밍 비디오, 대화 또는 2-방향 비디오, 음성, 인터넷 브라우징, 피어 투 피어 교환, 게이밍, 또는 머신 투 머신 교환), 또는 특정 애플리케이션(예를 들어, 유튜브, 넷플릭스, 페이스북, 페이스타임, 크롬 또는 비트토렌트)에 결정의 기반을 둘 수 있다. 서비스는 또한 사용자 SLA 또는 네트워크 정책과 조합한 위에서의 방법에 기반하여 거부될 수 있다.
수락 제어 모듈(360)은 또한 새로운 서비스를 지연시키는 제어 응답을 생성할 수 있다. 새로운 서비스는, 예를 들어, 시스템이 충분한 자원이 있을 것이라고 추정할 때까지 지연될 수 있다. 예를 들어, 유튜브 비디오 세션의 생성 프로토콜은 패킷 검사 모듈(329)이 유튜브 비디오의 사이즈 또는 듀레이션을 결정 가능하게 하는 메타데이터와 같은 정보를 포함하고 있을 수 있다. 세션 듀레이션은 다른 비디오 스트리밍 애플리케이션에 대해 그리고 비-비디오 세션에 대해 유사하게 결정될 수 있다. 수락 제어 모듈(360)은, 언제 비디오 세션이 종료할 수 있는지 및 시스템 자원이 자유롭게 될 수 있는지 추정하기 위해, 가능하게는 버퍼 점유도 및 출구 레이트와 조합된 듀레이션 정보를 사용할 수 있다. 수락 제어 모듈(360)은, 예를 들어, 세션 개시 프로토콜 패킷을 지연시킴으로써 또는 애플리케이션, 클라이언트 또는 서버에 세션 개시를 지연시키라고 시그널링함으로써 새로운 서비스를 지연시킬 수 있다. 그리하여, 세션은 충분한 자원이 이용가능할 때까지 지연될 수 있다. 세션을 지연시키는 것은 세션을 거부하는 것보다 더 나은 사용자 QoE를 제공할 수 있다.
수락 제어 모듈(360)은 또한 서비스가 가용 자원 내에서 동작하게 되도록 서비스를 수정하는 제어 응답을 생성할 수 있다. 예를 들어, 비디오 애플리케이션에 있어서, 서버는 클라이언트가 선택할 수 있는 비디오 표현의 리스트를 보낼 수 있다. 각각의 표현은 다른 컨테이너 파일 포맷, 또는 다른 비디오 해상도, 또는 다른 비트 레이트를 가질 수 있다. 일 실시예에 있어서, 액세스 노드(375)는 비디오가 이용가능한 가능한 표현의 리스트를 수정할 수 있다. 가능한 표현은 가용 자원 내에서 동작할 것들로 리스트를 한정하도록 수정될 수 있다.
비디오 파일이 통상 크기 때문에, 클라이언트가 전체 비디오 파일이 수신되기 전에 비디오 파일을 재생 시작할 수 있는 것이 바람직할 수 있다. 이것을 가능하게 하기 위해, 유튜브 서버는, 예를 들어, 비디오 메타데이터가 파일의 초반에 저장될 수 있는 MP4, 3GP 및 FLV와 같은 대중적 컨테이너 포맷으로 비디오 컨텐트를 제공한다. 유튜브 클라이언트는 비디오 메타데이터 및 소량의 영화 데이터가 수신되자마자 재생을 시작할 수 있다. 각각의 비디오에 대하여, 유튜브 서버는 클라이언트가 액세스할 여러 다른 URL을 갖는 다수의 비디오 표현을 제공할 수 있다. 유튜브 서버는 XML 컨텐트 메시지로 가용 표현을 시그널링할 수 있다. 비디오 클립에 대한 예시의 가용 비디오 표현은 다음 테이블에 목록이 나와 있다. URL에 있어서, "itag" 필드 후의 번호는 비디오 클립에 이용가능한 다른 비디오 컨테이너 파일 포맷 및 해상도를 나타낸다. 예를 들어, itag=18 및 itag=22를 갖는 라인은 둘 다 MP4 포맷을 나타내지만 각각 360p 및 720p의 해상도를 갖는다. 이 경우에 있어서, 제어 응답은 XML 컨텐트 메시지를 인터셉트하고, 정체를 야기하였을 더 높은 데이터 레이트 옵션을 벗겨내고, 수정된 메시지를 포워딩하는 것일 수 있다. 이것은 클라이언트의 선택을 충분한 자원이 존재하는 것들로 한정한다. 다른 서비스 및 포맷에 대한 컨텐트가 유사하게 수정될 수 있다.
Figure 112014102975766-pct00001
수락 제어 모듈(360)은 또한 스케줄링 우선순위 또는 스케줄링 자원 할당을 변경하는 제어 응답을 생성할 수 있다. 예를 들어, 새로운 세션 또는 새로운 세션을 반송하는 베어러의 스케줄링 우선순위 또는 가중치는, 예를 들어, 새로운 세션의 수락을 허용하기 위해, 지연 또는 패킷 손실을 더 용인할 수 있는 다른 서비스 저하를 허용하는 것일 수 있다. 정체 기간이 가라앉고 나면, 저하된 서비스는 비-저하된 방식으로 프로세싱될 수 있다. 시스템은 미국 특허 출원 제13/607,559호에 설명된 스케줄링 방법을 사용할 수 있다.
수락 제어 모듈(360)은 또한, 예를 들어, 다른 방법과 조합하여 각각의 사용자의 상대적 서비스 레벨을 사용하여 새로운 세션을 수락하는 제어 응답을 생성할 수 있다. 예를 들어, 새로운 세션이 현재 서비스 제공받는 다른 사용자의 서비스 레벨(예를 들어, 실버 서비스)에 비해 더 높은 서비스 레벨(예를 들어, 골드 서비스)에 대하여 지불한 사용자에 의해 개시되면, 수락 제어 모듈(360)은 위 방법을 사용하여 제어 응답을 결정할 수 있다. 대조적으로, 시스템은 새로운 세션이 현재 서비스 제공 중인 것들과 동일한 서비스 레벨을 갖는 사용자에 의해 개시되면 위 방법을 적용하는 것을 삼가할 수 있다(예를 들어, 새로운 서비스 요청이 거부된다). 새로운 세션이 현재 서비스 제공 중인 것들보다 더 낮은 서비스 레벨을 갖는 사용자에 의해 개시되면 유사한 조치가 취해질 수 있다.
수락 제어 모듈(360)은 용량이 감축될 때 유사한 제어 응답을 개시할 수 있다. 예를 들어, 단말 노드가 액세스 노드(375)로부터 멀리 이동하여 더 강건하지만 덜 효율적인 변조 및 코딩 스킴으로 동작할 필요가 있을 때에는 용량이 감축될 수 있다. 이 경우에 있어서, 제어 응답은 디바이스, 데이터 베어러 또는 개개의 세션을 수락할지 아니면 거부할지 여부가 아니다. 대신에, 제어 응답은 디바이스, 데이터 베어러 또는 개개의 세션과의 통신을 보류할지, 종료할지 아니면 수정할지 여부이다.
수락 제어 모듈(360)은, 예를 들어, 서비스 레벨 협약(예를 들어, 이들 협약에 의해 표현되거나 내포된 우선순위를 사용) 또는 할당 및 보유 우선순위에 기반하여 보류 또는 종료하는 결정을 할 수 있다. 수락 제어 모듈(360)은 또한 사용 중인 애플리케이션에 대한 지식에 기반하여 보류 또는 종료하는 결정을 할 수 있다. 예를 들면, 대화형 음성 및 비디오 통화의 경우에, 음성 성분이 사용자 체감 품질에 더 중요함을 고려하여, 수락 제어 모듈(360)은 정체 동안 음성 부분을 계속하면서 비디오 부분을 보류할 수 있다. 비디오 부분은 정체가 완화되고 나면 재개될 수 있다. 이것은 대화형 음성 및 비디오 통화가 상당한 패킷 손실이 통화의 음성 부분 및 비디오 부분 둘 다에 일어난 경우보다는 더 큰 사용자 만족 레벨로 진행 가능하게 할 수 있다.
수락 제어 모듈(360)은 서비스를 수정하는 결정을 할 수 있다. 서비스와 연관된 동작 파라미터를 수정함으로써, 서비스는 더 낮은 대역폭으로 보존될 수 있다. 예를 들어, 제어 응답은 요구되는 대역폭을 낮추도록 비디오 서비스의 해상도 또는 데이터 레이트를 감축하는 것일 수 있다. 비디오 스케일링 능력은 데이터 서버(310)(또는 시스템 내 그 밖의 어딘가)에 존재할 수 있고, 수락 제어 모듈(360)은 비디오 스트림을 감축된 해상도로 스케일링할 수 있는 비디오 스케일링 능력에 요청 또는 커맨드를 보낼 수 있다. 시스템은, 본 명세서에 참조로 편입되어 있는 미국 특허 출원 제13/644,650호(출원일: 2012년 10월 22일, 발명의 명칭: "Congestion Induced Video Scaling")에 설명된 방법 및 모듈을 사용할 수 있다.
수락 제어 모듈(360)은, 일 실시예에서는, 다른 재생 비트레이트를 갖는 비디오를 요청하도록 단말 노드(355)에서의 비디오 클라이언트 또는 애플리케이션을 트리거링할 수 있다. 요청은 데이터 서버(310)에 또는 중개 비디오 스케일링 능력에 될 수 있다. 이러한 방법은, 예를 들어, 수락 제어 모듈(360)이 비디오 스케일링에 대해 직접 명령 또는 요청할 수 있는 능력이 부족할 때 사용될 수 있다. 예를 들어, 하나의 TCP 커넥션에서 하나의 HTTP GET 요청으로 점진적으로 비디오 파일 전체를 다운로드하기보다는, 클라이언트는 더 작은 단편들로 비디오 파일을 다운로드하도록 여러 다른 TCP 커넥션 상에서 다수의 HTTP 요청을 사용할 수 있다. 단편들은 서로 다른 사이즈일 수 있다. 이것은 비디오의 부분들이 서로 다른 재생 비트레이트를 포함하는 서로 다른 파라미터를 사용하여 요청될 수 있게 한다. 수락 제어 모듈(360)은 클라이언트와 통신하고 그것에, 예를 들어, 정체에 기인하여 다른 비트레이트로 비디오의 후속 부분을 요청하도록 명령할 수 있다. 일 실시예에 있어서, 수락 제어 모듈(360)은 비디오에 할당된 자원을 감축하는 제어 응답을 발생시켜, 그로써 클라이언트가 감축된 데이터 레이트를 대신 선택하도록 트리거링할 수 있다. 그러한 기술은 또한 DASH(dynamic adaptive streaming over HTTP), 마이크로소프트사의 스무드 스트리밍, 애플사의 HTTP 라이브 스트리밍 또는 어도비사의 다이내믹 스트리밍 프로토콜과 같은 적응형 스트리밍 비디오 프로토콜을 채용하는 클라이언트에 의해 사용될 수 있다.
일부 비디오 클라이언트는 수신되는 비디오 데이터의 흐름을 모니터링하는 로직을 포함하고 있을 수 있다. 수락 제어 모듈(360)은 특정 비디오 클라이언트가 비디오 또는 다른 패킷 흐름에서의 변화에 감응하여 증가 또는 감소된 비디오 레이트를 요청할 가능성이 있는지 인식하고 있을 수 있다. 수락 제어 모듈(360)은 패킷 검사 모듈(329)로부터의 정보에 기반하여 비디오 클라이언트가 어떻게 감응할 것 같은지 인식하고 있을 수 있다. 예를 들어, 패킷 검사 모듈(329)은 특정 논리 베어러 상의 DASH MPD(media presentation description) 파일을 검출할 수 있다. 이러한 인식에 기반하여, 패킷 검사 모듈(329)은 동일 베어러 상의 후속 비디오 재생 세션이 패킷 흐름에서의 변화에 감응할 수 있는 비디오 클라이언트를 사용할 것임을 추론할 수 있다. 비디오 클라이언트가 유익하게 감응할 것 같을 때, 수락 제어 모듈(360)은 클라이언트로의 비디오의 흐름을 제약하고 클라이언트가 더 낮은 데이터 레이트를 요청하도록 트리거링할 수 있다. 반대로, 수락 제어 모듈(360)은 클라이언트로의 비디오의 흐름이 증가되게 야기하여 클라이언트가 증가된 레이트로 비디오를 요청하도록 트리거링할 수 있다.
부가적으로, 패킷 검사 모듈(329)은 비디오 세션에 대해 허용가능한 비디오 재생 비트레이트(또는 비트레이트 표현)를 기술하는 MPD 파일에 들어있는 정보와 같이 비디오 메타데이터에 들어있는 상세한 정보를 추출할 수 있다. 이러한 정보는 소망의 클라이언트 거동을 트리거링하기에 충분하게 자원 할당을 감소 또는 증가시키는 제어 응답을 수량화하도록 사용될 수 있다. 예를 들어, 사용자 개시된 비디오의 표현이 256, 768 및 1024 kbit/s로 이용가능함을 패킷 검사 모듈(329)이 제어 응답 모듈(363)에 알려주는 경우를 생각해 보라. 클라이언트에 대한 이전 자원 할당이 1024 kbit/s 표현을 허용하기에 충분하지만, 정체가 최근 대단치 않게 증가하였으면(또는 그러리라 예측되면), 그때 제어 응답은 768 kbit/s 표현까지 지원하기에 충분한 시스템 자원을 할당하도록 스케줄러 모듈(330)에 명령할 수 있다. 정체가 최근 상당히 증가하였으면(또는 그러리라 예측되면), 그때 제어 응답은 256 kbit/s 표현까지 지원하기에 충분한 자원을 할당을 명령할 수 있다.
대안적으로, 단말 노드(355)에서의 클라이언트(또는 애플리케이션)는 액세스 노드(375)와의 통신을 대한 제어 경로를 갖고 있을 수 있다. 수락 제어 모듈(360)은 클라이언트에게 그것이 사용하고 있는 데이터 레이트를 변경하라고 명령 또는 요청하도록 제어 경로를 사용할 수 있다. 예를 들어, 수락 제어 모듈(360)은 신뢰할만하게 전송될 수 있는 데이터 레이트를 클라이언트에게 알려줄 수 있다. 데이터 레이트는, 예를 들어, 정체 모니터링 모듈(362) 및 자원 추정 모듈(361)로부터의 수요 추정 및 자원 능력에 기반을 둘 수 있다.
수락 제어 모듈(360)이 데이터 레이트를 변경하라고 단말 노드(355)에 시그널링할 때, 패킷 검사 모듈(329)은 데이터 레이트가 변경되고 있는지 결정하도록 패킷을 검사할 수 있다. 예를 들어, 패킷 검사 모듈(329)은 클라이언트가 그 데이터 레이트를 변경하고 있음을 나타내는 비디오 클라이언트로부터의 메시지에 대하여 패킷을 검사할 수 있다. 일례에 있어서, 비디오 클라이언트가 감축된 비디오 데이터 레이트를 요청하지 않았으면, 수락 제어 모듈(360)은 요청을 반복하는 것 또는 세션을 보류하는 것과 같은 추가적 조치를 취할 수 있다.
도 3이 각각의 엘리먼트의 단일 사례를 예시하고 있기는 하지만, 일 실시예에서는, 다양한 엘리먼트의 다수의 사례가 있을 수 있다. 예를 들어, 액세스 노드는 다수의 단말 노드와 그리고 다수의 데이터 서버와 동시다발적으로 통신할 수 있다. 데이터 서버는 갖가지 데이터 유형에 대해 서비스를 제공할 수 있다. 부가적으로, 액세스 노드(375)와 데이터 서버(310)와 단말 노드(355) 간 중개 디바이스가 있을 수 있다. 더욱, 도 3은 다양한 모듈에 기능을 할당하는 특정 예 및 다양한 통신 노드에 모듈을 분산하는 특정 예를 예시하고 있다. 여러 다른 배열이 또한 사용될 수 있다. 예를 들어, 패킷 검사 모듈(329) 및 수락 제어 모듈(360) 중 일부 또는 전부는 코어 네트워크에서의 게이트웨이 노드에, 예를 들어, LTE 네트워크에서의 서빙 게이트웨이(serving gateway: S-GW) 또는 패킷 게이트웨이(packet gateway: P-GW)에 있을 수 있다.
도 4는 본 발명의 태양에 따라 eNodeB(475)의 태양을 예시하는 통신 시스템의 선도이다. eNodeB(475)는 정체 및 애플리케이션 정보를 검출하고 그 정보를 사용하여 수락 제어 응답을 할 수 있다. eNodeB(475)는 사용자 장비(455)와 데이터 서버(410) 간 통신을 용이하게 한다. 도 1의 매크로 기지국(110), 피코 지국(130) 또는 기업용 펨토셀(140)은, 일부 실시예에서는, eNodeB(475)를 사용하여 구현된다. eNodeB(475)는, 다양한 실시예에서는, 도 2의 액세스 노드(275) 및 도 3의 액세스 노드(375)와 동일하거나 유사할 수 있다. 이해를 돕기 위해, 도 4에서의 실선은 업링크 및 다운링크 데이터 패킷, 예를 들어, 데이터 서버(410)로부터 사용자 장비(455)로의 비디오와 같은 데이터에 대한 데이터 경로를 표현한다. 파선은 내부 제어 경로를 표현한다. 또한 업링크 및 다운링크 데이터 경로 상에는 제어 메시지가 존재할 수 있다. 더욱, 도 4에는 도시되지 않은 다른 제어 경로가 존재한다.
데이터 서버(410)는, 도 4에 도시된 실시예에서는, 진화형 패킷 코어(evolved packet core: EPC)(402)를 통해 eNodeB(475)에 결합되어 있다. 데이터 서버(410)는 인터넷을 통해 EPC(402)와 통신할 수 있다. 데이터 서버(410)는 네트워크의 여러 부분에 거주할 수 있다. EPC(402)는 패킷 게이트웨이(P-GW) 및 서빙 게이트웨이(S-GW)를 포함하고 있을 수 있다. 2개의 게이트웨이는 단일 디바이스 내로 조합될 수 있다. 일 실시예에 있어서, 부가적 펨토셀 게이트웨이가 데이터 서버(410)와 사용자 장비(455) 간 데이터 경로에 있을 수 있다.
데이터 서버(410)는 컨텐트 데이터 패킷의 소스이다. 데이터 서버(410)는, 예를 들어, 무선 네트워크의 오퍼레이터와는 독립적인 넷플릭스 또는 유튜브와 같은 비디오 소스일 수 있다. 대안적으로, 데이터 서버(410)는 예를 들어 주문형 비디오(VOD) 또는 다른 비디오 서비스를 제공하는 오퍼레이터 제어 비디오 컨텐트 전송 네트워크(CDN) 내 서버일 수 있다. 데이터 서버(410)는 클러스터 또는 클라우드에 배열된 다수의 서버로 이루어질 수 있으며, 그 중 하나 이상이 단일 비디오 클라이언트 및 세션에 비디오 세그먼트를 제공할 수 있다. 데이터 서버(410)는 또한 음성 서비스를 제공할 수 있다. 음성 서비스는, 예를 들어, 음성 LTE(VoLTE) 또는 스카이프와 같은 인터넷 전화(VoIP)일 수 있다.
eNodeB(475)는 백홀 인터페이스 모듈(485)을 통해 EPC(402)로부터 데이터를 수신한다. 백홀 인터페이스 모듈(485)은 물리 인터페이스 및 프로토콜 스택 계층을 포함할 수 있다. 프로토콜 스택 계층은 인터넷 프로토콜 계층(426) 및 진화형 GPRS(general packet radio service) 터널링 프로토콜(eGTP) 계층(425)을 포함할 수 있다.
eNodeB(475)는 데이터 패킷을 수신하여 그 패킷을 검사하는 패킷 검사 모듈(429)을 포함한다. 검사는 애플리케이션 클래스(예를 들어, 비디오, 음성 등) 및 특정 애플리케이션(예를 들어, 유튜브, 넷플릭스 등)의 존재를 검출할 수 있다. 도 4의 eNodeB에 있어서, 패킷 검사 모듈(429)은 데이터 애플리케이션 모듈(405)의 일부분이다. 데이터 애플리케이션 모듈(405)은 또한 매핑 터널과 같은 다른 기능을 데이터 라디오 베어러(DRB)에 제공할 수 있다. 패킷 검사 모듈(429)은 또한 eNodeB(475)가 다운스트림 패킷에 대한 수신지를 결정 가능하게 하도록 코어 네트워크로부터 특정 사용자 장비로 논리 데이터 경로를 매핑할 수 있다.
데이터 애플리케이션 모듈(405)은 송신을 위해 에어 인터페이스 스택에 패킷을 포워딩한다. 에어 인터페이스 스택은 전형적으로는 다수의 계층을 포함한다. 패킷 데이터 컨버전스 프로토콜(Packet Data Convergence Protocol: PDCP) 계층(437)은 일반적으로는 암호화, 헤더 압축 및 패킷 큐잉을 담당하고 있다. 라디오 링크 제어(Radio Link Control: RLC) 계층(433)은 일반적으로는 세그먼테이션 및 리어셈블리(reassembly)를 담당하고 있다. 일부 실시예에 있어서, RLC 계층(433)은 또한 에어 송신을 위해 패킷 또는 패킷의 단편을 디큐잉한다. 미디어 액세스 제어 계층(MAC)-스케줄러 모듈(430)은 어느 DRB가 에어 인터페이스 자원을 수신할지 결정하고 그리고 또한 어느 자원을 사용할지 결정한다. MCA-스케줄러 모듈(430)은 선택된 DRB로부터의 데이터를 RLC 계층(433)으로부터 물리 계층(PHY) 모듈(479)로 넘겨준다. PHY 모듈(479)은, 다양한 실시예에서는, 도 2의 송수신기 모듈(279)과 동일하거나 유사할 수 있다. PHY 모듈(479)은 용량 제약형 채널(490)을 가로질러 사용자 장비(455)에 다운링크 데이터를 송신한다.
MAC-스케줄러 모듈(430)은 사용자 장비(455)로부터 eNodeB(475)로의 송신의 신호 품질에 관하여 PHY 모듈(479)로부터 정보를 수신할 수 있다. MAC-스케줄러 모듈(430)은 또한 LTE eNodeB(475)로부터 사용자 장비(455)(및 존재할 때에는 다른 사용자 장비의 각각)로의 송신의 신호 품질에 관하여 사용자 장비(455)에 의해 송신된 보고로부터 유도된 정보를 수신한다. MAC-스케줄러 모듈(430)은 사용자 장비(455) 내외로의 PHY 송신 모드를 결정하도록 이 정보를 사용한다. PHY 송신 모드는 데이터를 사용자 장비(455)에 송신하는데 필요한 용량 제약형 채널(490)의 자원의 수량을 결정한다.
MAC-스케줄러 모듈(430)은 또한 각각의 DRB 또는 사용자 장비에 대하여 버퍼 점유도(즉, 큐잉되는 데이터의 수량) 및 다른 파라미터(예를 들어, 폐기 레이트)를 모니터링할 수 있다. PHY 송신 모드 및 버퍼 점유도는 정체가 있는지 여부를 결정하도록 사용될 수 있다. 대안적으로, 패킷 폐기(예를 들어, 버퍼 또는 큐 오버플로에 기인), 패킷이 송신 이전에 큐에 거주하는 시간 길이, 또는 다른 메트릭스가 정체를 결정하는데 사용될 수 있다. MAC-스케줄러 모듈(430)은 수락 제어 모듈(460)에 정체 정보를 나타낸다.
수락 제어 모듈(460)은 정체 정보, 자원 추정, 대역폭 보증에 대한 정보, 및 다른 정보를 사용하여 새로운 사용자, DRB 또는 세션이 허용될 수 있을 때를 결정할 수 있다. 수락 제어 모듈(460)은 또한 정체가 검출될 때 무슨 조치를 취할지 결정할 수 있다. 예를 들면, 수락 제어 모듈(460)은 DRB를 보류 또는 비활성화할 수 있거나, 또는 수락 제어 모듈(460)은 특정 DRB가 그 자원 소모를 줄여야 한다고 결정할 수 있다. 수락 제어 모듈(460)은 그 결정을 할 때 정책 모듈(415)로부터의 입력을 고려할 수 있다. 수락 제어 모듈(460)은 또한 데이터 애플리케이션 모듈(405)로부터의 정보를 수신 및 고려할 수 있다. 예를 들어, 수락 제어 모듈(460)은 애플리케이션-인식 수락 제어 응답을 제공하기 위해 패킷 검사 모듈(429)로부터의 애플리케이션 정보를 사용할 수 있다.
도 4가 각각의 엘리먼트의 단일 사례를 예시하고 있기는 하지만, 일 실시예에서는, 다양한 엘리먼트의 다수의 사례가 있을 수 있다. 예를 들어, eNodeB는 다수의 사용자 장비와 그리고 다수의 데이터 서버와 동시다발적으로 통신할 수 있다. 데이터 서버는 갖가지 데이터 유형에 대해 서비스를 제공할 수 있다. 부가적으로, eNodeB(475)와 데이터 서버(410)와 사용자 장비(455) 간 중개 디바이스가 있을 수 있다. 더욱, 도 4는 다양한 모듈에 기능을 할당하는 특정 예 및 다양한 통신 노드에 모듈을 분산하는 특정 예를 예시하고 있다. 여러 다른 배열이 또한 사용될 수 있다. 예를 들어, MAC-스케줄러 모듈(430)의 일부 기능은 PDCP 계층(437) 또는 RLC 계층(433)과 같은 다른 계층 또는 모듈에서, 또는 데이터 애플리케이션 모듈(405) 내부에서 수행될 수 있다. 더욱, 패킷 검사 모듈(429) 및 수락 제어 모듈(460)의 부분들은 EPC(402)에 있을 수 있다. 또한, eNodeB는 이동성 지원 및 네트워크 자동 구성과 같은 여러 다른 기능을 또한 제공할 수 있다.
도 5는 본 발명의 태양에 따라 애플리케이션-인식 수락 제어를 갖는 통신 시스템의 블록 선도이다. 단말 노드(555)는 단말 노드(555)에서의 비디오 클라이언트에 비디오를 제공하는 것을 용이하게 하도록 비디오 서버(510)와 통신한다. 통신 시스템의 다양한 실시예는 위에서 설명된 유사한 명칭의 엘리먼트와 동일하거나 유사할 수 있다.
도 5에 도시된 통신 시스템에서의 단말 노드(555)는 채널(590)을 통해 액세스 노드(575)와 통신한다. 액세스 노드(575)는 게이트웨이 노드(595)에 접속되어 있다. 게이트웨이 노드(595)는 라우터 노드(593)로의 접속성을 통해 인터넷으로의 액세스를 제공한다. 라우터 노드(593)는 비디오 서버(510)로의 액세스를 제공한다. 비디오는 액세스 노드(575)에 비디오를 전송하는 게이트웨이(595)를 통해 인터넷(501)으로부터 모바일 네트워크(502)로 넘겨진다.
비디오 서버(510)는 비디오 컨텐트(512)를 저장한다. 비디오 서버(510)는 비디오 컨텐트(512)를 비디오 인코더(511)에 제공할 수 있다. 비디오 인코더(511)는 단말 노드(555)에서의 비디오 클라이언트에 의한 사용을 위해 비디오를 인코딩한다. 비디오 인코더(511)는 비디오 컨텐트(512)를 (예를 들어, 라이브 스트리밍 이벤트에 대하여) 그것이 스트리밍되는 대로 인코딩할 수 있거나 또는 저장 및 추후 스트리밍을 위해 미리 비디오를 인코딩할 수 있다. 비디오 인코더(511)는 여러 다른 포맷, 프로파일 또는 품질 레벨, 예를 들어, 여러 다른 데이터 레이트를 갖는 포맷으로 비디오를 인코딩할 수 있다. 스트리밍되는 포맷, 프로파일 또는 품질 레벨은 스트리밍 동안 스위칭될 수 있다. 여러 다른 포맷, 프로파일 또는 품질 레벨은 미리 저장되거나 또는 스트리밍 동안 발생될 수 있다. 비디오 서버(510)는 인코딩된 비디오로의 액세스를 비디오 클라이언트에 제공한다.
액세스 노드(575)는 채널(590)을 통해 단말 노드(555) 내외로 데이터의 송신을 제어한다. 따라서, 액세스 노드(575)는 수락 제어 모듈, 스케줄러 모듈 및 송수신 모듈을 포함할 수 있다. 액세스 노드(575)는 또한 패킷 검사 모듈을 포함할 수 있다. 대안적으로, 게이트웨이(595)는 패킷 검사 모듈을 포함한다.
도 3의 액세스 노드(375)와 유사한 액세스 노드(575)는 채널(590) 상의 정체를 모니터링한다. 정체는 특정 단말 노드에 관하여서일 수 있다. 액세스 노드(575)는, 예를 들어, 단말 노드(555)로의 비디오 송신이 그 패킷 수신 레이트 및 디코더 큐 깊이를 모니터링하고 그리고 단말 노드(555)가 그러한 조치가 사용자 체감 품질을 보존 또는 개선할 것이라고 여길 때 비디오 서버(510)로부터 다른 비디오 레이트를 요청할 감응형 비디오 클라이언트를 사용하는 유형임을 검출할 수 있다. 액세스 노드(575)는 (예를 들어, 수락 제어 모듈의 제어 하에) 다른 비디오 레이트를 요청하도록 단말 노드(555)를 트리거링하기 위해 단말 노드(555)로의 송신을 의도적으로 감축 또는 증가시킬 수 있다. 대안적으로, 액세스 노드(575)는 단말 노드(555) 상의 애플리케이션과 통신하여 그것이 비디오 레이트 변경을 요청하도록 트리거링할 수 있다.
도 6은 본 발명의 태양에 따른 수락 제어를 위한 프로세스의 순서도이다. 프로세스는 통신 네트워크, 예를 들어, 도 1의 무선 통신 네트워크에서 사용될 수 있다. 프로세스는 액세스 노드, 예를 들어, 도 2의 액세스 노드(275), 도 3의 액세스 노드(375) 또는 도 4의 액세스 노드(475)에 의해 수행될 수 있다. 프로세스는 또한 다수의 디바이스, 예를 들어, 도 5의 게이트웨이 노드(595)와 액세스 노드(575)를 가로질러 분산될 수 있다.
단계(602)에서, 프로세스는 새로운 서비스가 개시 또는 요청되었는지 결정한다. 새로운 서비스의 개시 또는 요청은, 예를 들어, 새로운 베어러의 셋업을 검출함으로써, 기존 베어러 상에서 주지의 서버로의 TCP 커넥션의 생성을 검출함으로써, 또는 기존 베어러 상에서 새로운 애플리케이션(예를 들어, 유튜브 비디오 세션)을 검출함으로써 검출될 수 있다. 새로운 서비스의 개시가 검출되면, 프로세스는 단계(612)로 계속되고; 그렇지 않으면, 프로세스는 단계(602)에 남아있는다.
단계(612)에서, 프로세스는 애플리케이션이 새로운 서비스에 대해 검출되었는지 결정한다. 애플리케이션은 애플리케이션 클래스(예를 들어, 비디오, 음성, 이메일) 및 특정 애플리케이션(예를 들어, 유튜브, 넷플릭스, 스카이프)을 포함할 수 있다. 애플리케이션은, 예를 들어, 여기에서 설명된 방법을 사용함으로써 검출될 수 있다. 예를 들면, LTE eNodeB에 있어서, VoLTE 서비스를 반송하도록 오퍼레이터 정책에 의해 지정된 서비스 품질(QoS) 등급 식별자(QCI) 1 또는 또 다른 QCI 상의 베어러의 확립이 뒤따르는 사용자 장비로의 IMS 시그널링은 새로운 서비스가 대화 음성 서비스임을 나타낼 수 있다. QCI 2 상의 제2 서비스의 동시 확립은 대화 음성 서비스와 연관된 대화 비디오 성분을 나타낼 수 있다. 음성 및 비디오 서비스의 동시 개시는 예를 들어 VoLTE에 걸친 대화 비디오, 비디오 스카이프 또는 페이스 타임 애플리케이션에 대해 일어날 수 있다. 2개의 서비스가 동일 서비스 등급 또는 QCI에서 확립되면, 프로세스는 음성 서비스와 비디오 서비스를 비트 레이트에 의해 구별할 수 있다. 음성 서비스는 약 12 kbps와 64 kbps 사이의 비트 레이트를 가질 수 있고 비디오 서비스는 상당히 더 높은 비트 레이트 예를 들어 384 kbps를 가질 것이다. 애플리케이션 클래스가 새로운 서비스 또는 세션에 대해 알려져 있으면, 프로세스는 단계(632)로 계속되고; 그렇지 않으면, 프로세스는 단계(615)로 계속된다.
단계(615)에서, 프로세스는 비-애플리케이션-인식 수락 제어를 적용한다. 이러한 수락 제어는, 예를 들어, 서비스 레벨 협약에 또는 GBR과 같은 베어러 파라미터에 기반할 수 있다. 프로세스는 또한 사용자 장비에 대해 동시 활동 TCP 커넥션의 수를 제한하는 것과 같은 제약에 수락 제어 결정의 기반을 둘 수 있다.
단계(632)에서, 프로세스는 새로운 서비스에 요구되는 자원이 결정되었는지 결정한다. 요구되는 자원을 추정될 수 있다. 여러 방법이 요구되는 자원을 결정하는데 사용될 수 있다. 예를 들어, 새로운 베어러 상의 서비스에 대하여, 프로세스는 GBR과 같은 베어러 구성 파라미터를, 그것들이 존재한다면, 고려하여 요구되는 자원을 결정할 수 있다. 대안적으로, 프로세스는 서비스 등급과 연관된 애플리케이션을 고려하여 요구되는 자원을 결정할 수 있다. 예를 들어, LTE QCI와 같은 서비스 등급은 데이터 레이트 또는 데이터 레이트 세트가 알려져 있거나, 제한이 있거나, 추정될 수 있는 VoLTE와 같이 애플리케이션 클래스 또는 특정 애플리케이션을 나타낼 수 있다. 대안적으로, 프로세스는 서비스를 개시하는데 사용되는 패킷을 검사함으로써 기존 베어러 상의 새로운 서비스에 요구되는 자원을 결정할 수 있다. 예를 들어, 유튜브 비디오를 시작하기 위한 HTTP 요청 및 응답 패킷은 그 비디오의 데이터 레이트 및 사이즈를 기술한다. 또 다른 예로서, 프로세스는 유튜브 비디오를 시작하기 위한 프로토콜의 일부분으로서 송신되는 유튜브 서버로부터 이용가능한 유튜브 비디오에 대해 연관된 포맷, 해상도 및 데이터 레이트를 각각 갖는 가능한 비디오 표현의 목록으로부터 요구되는 자원을 결정할 수 있다. 일부 새로운 서비스 또는 세션에 대하여, 프로세스는 요구되는 자원을 결정(또는 추정)할 수 있지 않을 수 있다. 예를 들어, 프로세스는 새로운 세션이 비디오를 포함하고 있음을 결정할 수는 있지만 그 비디오에 대한 데이터 레이트를 결정 또는 추정하기에 충분한 정보는 있지 않을 수 있다. 새로운 서비스에 요구되는 자원이 결정되었으면, 프로세스는 단계(642)로 계속되고; 그렇지 않으면 프로세스는 단계(635)로 계속된다.
단계(635)에서, 프로세스는 한정된 애플리케이션-인식 수락 제어를 적용한다. 한정된 애플리케이션-인식 수락 제어는 자원 용례를 고려함이 없이 여러 다른 애플리케이션 클래스 또는 특정 애플리케이션의 상대적 우선순위를 주시할 수 있다. 예를 들면, 동일 베어러 상의 또는 동일 사용자 장비로의 동시 음성 및 비디오 서비스는 비디오 통화를 나타낼 수 있다. 음성 성분은 비디오 성분보다 더 높은 값으로 여겨질 수 있다. 그래서, 정체가 존재하면, 음성 성분은 수락이 허용될 수 있는 한편, 비디오 성분은 수락이 거부되거나 장래에 이용가능한 보류 자원으로 보류될 수 있다. 부가적으로, 새로운 서비스의 수락 및 기존 서비스의 대응하는 보유 또는 수정은 애플리케이션 클래스, 특정 애플리케이션, 또는 애플리케이션 클래스 및 특정 애플리케이션의 조합의 우선순위결정된 리스트에 기반할 수 있다. 우선순위결정된 리스트는 오퍼레이터에 의해 확립될 수 있다. 예를 들어, 오퍼레이터는 최선-노력 베어러(예를 들어, LTE QCI 9)가 다음과 같이 최상으로부터 최저로 애플리케이션 클래스의 우선순위를 결정하는 수락 제어 정책을 사용하는 것을 선호할 수 있다: 대화 음성(예를 들어, VoIP), 오디오(예를 들어, 판도라), 대화 비디오(예를 들어, 비디오 스카이프), 스트리밍 비디오(예를 들어, 유튜브), 비-음성/비-비디오 데이터(예를 들어, 페이스북 업데이트 또는 이메일). 단계(635)에서 새로운 대화 음성 서비스가 검출되면, 현재 또는 예측되는 정체가 소정 임계값 위에 있는 경우 더 낮은 우선순위 서비스는 수정되거나(예를 들어, 스트리밍 비디오 비트레이트가 감축되거나) 또는 종료(예를 들어, 페이스북 업데이트)된다.
단계(642)에서, 프로세스는 새로운 서비스를 수락하기에 충분한 자원이 있는지 결정한다. 프로세스는 새로운 세션 또는 서비스를 수락하기에 충분한 자원이 있는지 다양한 방법으로 결정할 수 있다. 새로운 세션 또는 서비스를 수락하기에 충분한 자원이 있으면, 프로세스는 단계(645)로 계속되고; 그렇지 않으면, 프로세스는 단계(652)로 계속된다.
프로세스는 새로운 서비스를 수락하기에 충분한 자원이 존재하는지 결정하기 위해 사용자 체감 품질(QoE)의 측정 또는 추정을 사용할 수 있다. 예를 들어, 새로운 서비스를 수락하는 것이 기존 서비스가 품질 척도 아래로 떨어지게 야기할 것이면, 프로세스는 새로운 서비스를 수락하기에 충분한 자원이 존재하지 않는다고 결정할 수 있다. 대안적으로, 프로세스는 충분한 자원이 존재하는지 결정하기 위해 다수의 기존 서비스에 대한 평균값 또는 중앙값 메트릭을 임계값에 비교할 수 있다. 프로세스는, 예를 들어, 대역폭에 대한 가용 용량과 수요를 비교할 수 있다. 프로세스는 또한 새로운 서비스를 수락하기에 충분한 자원이 존재하는지 결정하기 위해 정체 측정을 사용할 수 있다. 예를 들어, 프로세스는, 본 명세서 참조로 편입되어 있는 미국 특허 출원 제13/243,507호(출원일: 2012년 8월 28일, 발명의 명칭: "Systems and Methods for Prioritization of Data for Intelligent Discard in a Communications Network")에서의 정체 측정 사용에 설명된 바와 같이 정체를 측정하고 자원을 결정할 수 있다.
프로세스는 충분한 자원이 존재하는지 결정하기 위해 오퍼레이터 정책 또는 서비스 레벨 협약(SLA)을 또한 고려할 수 있다. 예를 들어, 위 정체-기반 기술은 오퍼레이터에 "골드" 서비스에 대하여 지불하는 사용자로부터의 서비스에 대해서만 적용될 수 있는 반면, 더 낮은 레벨 서비스에 대해 지불하는 사용자로부터의 서비스는 대신 서비스가 보류되게 할 수 있다.
단계(645)에서, 프로세스는 새로운 서비스를 수락한다.
단계(652)에서, 프로세스는 새로운 서비스를 수락하기에 충분한 자원을 허용하도록 하나 이상의 서비스가 수정될 수 있는지 결정한다. 수정된 서비스는 새로운 서비스를 포함할 수 있다. 서비스를 수정하는 것은 서비스의 데이터 레이트를 감축하는 것을 포함할 수 있다. 다른 서비스의 QoE를 유지 또는 개선하기 위해 일부 서비스를 의도적으로 저하하는 것이 바람직할 수 있다. 예를 들어, LTE 기지국은 다른 활동 스트리밍 비디오 세션에 대한 QoE를 보존하기 위해 하나의 스트리밍 비디오 세션에 할당된 스케줄링 자원(예를 들어, 가중치 또는 크레디트)을 의도적으로 감축할 수 있다. 다시 말하면, 프로세스는 여러 다른 사용자에 대한 QoE를 유지하기 위해 하나의 사용자에 대한 QoE에 충격을 주는 것을 선호할 수 있다.
프로세스는, 예를 들어, 가용 자원을 초과하는 표현 선택을 없애고 그리고 가용 자원 내에 있는 표현 선택을 보유함으로써 새로운 비디오 서비스를 수정할 수 있다. 대안적으로 또는 부가적으로, 프로세스는 정체 유발된 비디오 스케일링을 수행함으로써 서비스를 수정할 수 있다. 대안적으로 또는 부가적으로, 프로세스는 하나 이상의 서비스에 지능형 폐기를 적용할 수 있다. 예를 들어, 프로세스는 미국 특허 출원 제13/243,507호(출원일: 2012년 8월 28일, 발명의 명칭: "Systems and Methods for Prioritization of Data for Intelligent Discard in a Communications Network")에 설명된 지능형 폐기 방법을 사용할 수 있다. 서비스에 대한 수정은 정책 또는 서비스 레벨에 의해 제약받거나, 허용되거나 또는 불허될 수 있다.
프로세스는 또한 서비스를 종료 또는 보류함으로써 서비스를 수정할 수 있다. 종료 또는 보류된 서비스는 새로운 서비스보다 우선순위가 더 낮다고 여겨지는 기존 서비스일 수 있다. 보류 및 종료를 포함하는 수정의 조합이 사용될 수 있다. 다수의 서비스 수정 세트가 가능할 때, 프로세스는 QoE를 최대화하는 것에 기반하여 특정 수정을 선택할 수 있다. 서비스가 충분한 자원을 허용하도록 수정될 수 있으면, 프로세스는 단계(655)로 계속되고; 그렇지 않으면, 프로세스는 단계(662)로 계속된다.
단계(655)에서, 프로세스는 단계(652)에서 결정된 바와 같이 서비스를 수정한다. 이후에, 프로세스는 단계(645)로 계속되어 새로운 서비스를 수락한다. 프로세스는 스케줄링 시스템에서 서비스에 할당된 자원을 조절함으로써 서비스를 수정할 수 있다. 예를 들어, 가중치 또는 크레디트 기반 스케줄러에서, 서비스에 대한 가중치 또는 크레디트가 감축될 수 있다. 대안적으로, 엄격한 우선순위 기반 스케줄링 시스템이 이용될 때에는 서비스의 스케줄링 우선순위가 감축될 수 있다. 이들 및 다른 방법은 자원을 자유롭게 하는 결과를 초래하여 새로운 서비스를 수락할 수 있다. 그 방법들은 또한 용량 감축을 다루고 그리고 증가된 수요를 다루도록 사용될 수 있다.
자원을 조절하는 것에 의한 서비스 수정은 사용자 QoE의 전반적 감축을 최소화하도록 수행될 수 있다. 예를 들어, 스트리밍 비디오와 웹 브라우징과 같은 이종 서비스를 갖는 네트워크에 있어서는, 웹 브라우징과 연관된 패킷이 스트리밍 비디오의 것들보다 지연 및 폐기를 상당히 더 용인한다는 지식으로 웹 브라우징 세션을 위한 자원이 감축될 수 있다. 따라서, 브라우징 세션에 대한 자원의 감축은 스트리밍 비디오 세션에 비해 사용자 QoE에 더 작은 영향을 미칠 것이다.
자원 할당을 조절하는 것은 유사한 유형의 개개의 세션(예를 들어, 스트리밍 비디오)에 대해 조화될 수 있다. 따라서, 자원 할당에서의 변경은 동일 또는 유사한 유형의 모든 스트림에 걸쳐 균등할 수 있다. 예를 들면, 할당된 자원(예를 들어, 비례 공평 스케줄링(PFS) 시스템에서 가중치 또는 크레디트)의 25% 감축은 스트리밍 비디오 세션을 포함하고 있는 모든 베어러에 적용될 수 있다. 이러한 방법은 모든 비디오 세션이 최소 사용자 QoE 임계값 위 큰 마진으로 동작하고 있을 때 사용될 수 있다. 예를 들어, 모든 비디오 세션의 추정된 VMOS 스코어는 4.5 위이고 최소 VMOS 임계값은 4.0으로 확립되면, 세션의 전부는 자원의 균등한 감축을 용인할 수 있다.
대안적으로, 자원 할당량은 세션당 또는 사용자당 기반으로 고유하게 적용될 수 있다. 예를 들어, 25%의 자원 감축은 소정 임계값 위의 품질 측정(예를 들어, 4.5 위의 VMOS 스코어)을 갖는 그들 비디오 스트리밍 세션에 적용될 수 있을 뿐이다.
대안적으로, 자원 할당은 현재 사용자 QoE의 함수일 수 있다. 예를 들어, 자원 할당은 사용자 QoE에 반비례하는 인수를 포함할 수 있다. 주기적으로 적용될 때, 이 방법은 요구되는 것보다 더 많은 자원을 할당함이 없이 사용자 QoE의 소망 레벨을 만족시키도록 자원을 할당하는 피드백 제어 루프를 생성할 수 있다. 즉, QoE가 설정 포인트 아래로 떨어질 때에는, 더 많은 자원이 서비스에 의해 요구되는 것으로 여겨지고 그래서 더 많은 자원이 할당된다; QoE가 설정 포인트 위로 올라갈 때에는, 더 적은 자원이 서비스에 의해 요구되는 것으로 여겨지고 그래서 더 적은 자원이 할당된다. 예를 들어, 다음의 등식이 자원 할당을 주기적으로 결정하도록 채용될 수 있다:
R(i) = R 0 + α( Q 0 - Q(i)),
여기서:
R(i)는 데이터 스트림 i(예를 들어, LTE 베어러 또는 스트리밍 비디오 세션)을 지원하는데 요구된다고 여겨지는 자원 할당이다;
R 0 는 (예를 들어, GBR, MBR, 및 변조 및 코딩과 같은 태양을 고려하는 기존 무선 PFS 스케줄러에서와 같이) 관용적 방법에 의해 계산된 대로 요구된다고 여겨지는 자원 할당이다;
α(알파)는 QoE 항의 중요도를 조절하는데 사용되는 스케일링 상수이다;
Q 0 는 QoE 제어 설정 포인트(예를 들어, 1/(패킷 폐기 레이트 임계값))이다;
Q(i)는 스케줄링된 데이터 스트림 i의 현재 QoE 측정 또는 추정(예를 들어, 1/(지난 100 밀리초에 걸쳐 평균한 패킷 폐기 레이트))이다.
상수 α는 일 실시예에서는, 사용자 SLA 또는 오퍼레이터 정책의 함수이다. 예를 들어, α는 "브론즈" 및 "실버" 레벨 고객에 대해서는 0일 수 있지만, "골드" 레벨 고객에 대해서는 1일 수 있다. 부가적으로, α는 특정 애플리케이션(예를 들어, 유튜브, 넷플릭스, 스카이프) 또는 애플리케이션 클래스(예를 들어, 스트리밍 비디오, 비디오 채팅, VoIP 통화)의 함수일 수 있다. 예를 들면, 시스템은 짧은 듀레이션 낮은 데이터 레이트 비디오에 대해 더 작은 α가 작동함과 더불어 긴 듀레이션 높은 데이터 레이트 비디오에 대해서는 큰 α일 수 있음을 알고 있을 수 있다.
단계(662)에서, 프로세스는 새로운 서비스를 수락하기에 충분한 자원이 장래에 있을 것인지 결정한다. 이러한 결정은 현재 서비스가 종료된다고 예상될 때 고려할 수 있다. 새로운 서비스를 수락하기에 충분한 자원이 장래에 있을 것이면, 프로세스는 단계(667)로 계속되고; 그렇지 않으면 프로세스는 단계(665)로 계속된다.
단계(667)에서, 프로세스는 새로운 서비스의 수락을 지연시킨다. 지연의 길이는, 예를 들어, 자원이 언제 이용가능하게 될 것인지의 지식에 기반할 수 있다. 자원은, 예를 들어, 또 다른 서비스의 예견된 종료에 기인하여 이용가능하게 될 수 있다.
단계(665)에서, 프로세스는 새로운 서비스의 수락을 거부한다.
수락 제어를 위한 프로세스는 단계를 부가, 생략, 순서변경, 또는 고침으로써 수정될 수 있다. 예를 들어, 일부 실시예에 있어서, 단계(652), 단계(662) 및 단계(667)는, 프로세스가 단계(642)에서 새로운 서비스에 충분한 자원이 존재하지 않는다고 결정하면, 프로세스가 단계(665)로 직접 진행하여 새로운 서비스를 거부하도록, 생략될 수 있다.
도 7은 본 발명의 태양에 따라 통신 네트워크에 있어서 서비스의 우아한 저하를 위한 프로세스의 순서도이다. 도 7의 프로세스는 도 6의 프로세스와 사용될 수 있고, 다수의 디바이스를 가로지르는 분산형을 포함하여, 유사한 디바이스에 의해 유사한 통신 네트워크에서 수행될 수 있다.
단계(712)에서, 도 7의 프로세스는 자원 필요성 및 가용성의 분석이 트리거링되었는지 결정한다. 트리거는, 예를 들어, 시스템 자원에서의 감축, 수요에서의 증가, 또는 주기적 트리거일 수 있다. 분석이 트리거링되면, 프로세스는 단계(742)로 계속되고; 그렇지 않으면, 프로세스는 단계(712)에 남아있는다.
시스템 자원에서의 감축은, 예를 들어, 사용자 장비와의 통신을 위한 동작 파라미터가 변경되었을 때 일어날 수 있다. 예를 들어, 다중경로, 간섭 또는 이동성 유발된 전파 손실에 기인하는 신호 저하는 더 강건하지만 덜 효율적인 변조 및 코딩 스킴으로 사용자 장비의 변조 및 코딩 스킴이 변경되는 결과에 이를 수 있다. 시스템 자원에서의 감축은 또한 시스템 자원이 다른 목적으로 전환될 때 일어날 수 있다. 예를 들어, 시스템 자원은 제어 채널 자원을 증가시키도록 전환될 수 있거나 또는 시스템 자원은 자동-구성 네트워크(self-organizing network: SON)에서 이웃 셀과의 간섭을 감축하도록 전환될 수 있다.
대안적으로 또는 부가적으로, 프로세스는 수요에서의 증가를 검출하고 분석을 트리거링할 수 있다. 수요에서의 증가는 성능 메트릭이 임계값과 교차하였을 때 검출될 수 있다. 예를 들어, 버퍼 점유도, 버퍼 출구 레이트, 폐기 레이트, 또는 서비스에 대한 또 다른 품질 척도가 그 각각의 임계값과 교차하였으면, 분석이 트리거링될 수 있다. 더 많은 자원에 대한 필요성을 나타내는 다른 이벤트 또는 메트릭스가 또한 분석을 트리거링할 수 있다.
대안적으로 또는 부가적으로, 프로세스는 분석이 주기적으로 트리거링된다고 결정할 수 있다. 예를 들어, 트리거는 1 밀리초(ms)마다 일어날 수 있다. 주기적 트리거는 현재 서비스에 대하여 적합한 체감 품질 레벨을 유지하기에 충분한 자원이 존재함을 보장하는데 도움을 줄 수 있다.
단계(742)에서, 프로세스는 현재 서비스를 지원하기에 충분한 자원이 존재하는지 결정한다. 결정은 도 6의 프로세스에서의 단계(642)에서 이루어진 결정과 유사할 수 있다. 현재 서비스를 지원하기에 충분한 자원이 존재하면, 프로세스는 단계(712)로 복귀하고; 그렇지 않으면, 프로세스는 단계(752)로 계속된다.
단계(752)에서, 프로세스는 현재 서비스를 지원하기에 충분한 자원을 허용하도록 하나 이상의 서비스가 수정될 수 있는지 결정한다. 결정은 도 6의 프로세스에서의 단계(652)에서 이루어진 결정과 유사할 수 있다. 서비스가 충분한 자원을 허용하도록 수정될 수 있으면, 프로세스는 단계(755)로 계속되고; 그렇지 않으면, 프로세스는 단계(757)로 계속된다.
단계(755)에서, 프로세스는 단계(752)에서 결정된 바와 같이 서비스를 수정한다. 수정은 도 6의 프로세스에서의 단계(655)에서 이루어진 수정과 유사하게 수행될 수 있다.
단계(757)에서, 프로세스는 보류 또는 종료를 위해 서비스 또는 서비스들을 식별한다. 종료 또는 보류되는 서비스 또는 서비스들은, 예를 들어, 우선순위가 가장 낮다고 여겨지는 서비스들일 수 있다.
서비스의 우아한 저하를 위한 프로세스는 단계를 부가, 생략, 순서변경 또는 고침으로써 수정될 수 있다. 예를 들어, 일부 실시예에 있어서, 단계(755) 및 단계(757) 둘 다는 일부 서비스가 수정되고 다른 서비스가 보류 또는 종료되도록 수행될 수 있다. 더욱, 사용자 장비의 변조 및 코딩 스킴을 더 효율적 변조 및 코딩 스킴으로 변경하는 것으로부터와 같이 자원이 이용가능하게 되면, 서비스에 대한 수정, 보류 또는 종료는 가용 자원을 이용하도록 역전될(reversed) 수 있다.
도 8은 본 발명의 태양에 따른 패킷 검사 모듈의 블록 선도이다. 도 4의 액세스 노드(475)의 패킷 검사 모듈(429)은, 예를 들어, 도 8의 패킷 검사 모듈에 의해 제공될 수 있다. 도 8의 패킷 검사 모듈은 또한 네트워크 내 다른 노드에서 사용될 수 있다.
패킷 검사 모듈은 사용자 데이터그램 프로토콜(user datagram protocol: UDP) 패킷 또는 전송 제어 프로토콜(TCP) 패킷 중 어느 하나가 RTP 프로토콜을 사용하여 전송된 비디오 데이터를 포함하고 있는지 검출하기 위한 실시간 프로토콜(Real-Time Protocol: RTP) 스트림 검출 모듈(828) 및 비디오 스트림 검출 모듈(826)을 포함한다. RTP 스트림은 RTP 프로토콜을 사용하여 데이터를 반송하며 2개의 종점 간 흐르는 패킷의 스트림이고, 여기에서 종점은 IP 주소 및 포트 번호 쌍에 의해 정의된다.
패킷 검사 모듈은 또한 다른 기능을 구현할 수 있다. 예를 들어, 패킷 검사 모듈은 TCP 커넥션 확립의 검출과 같이 다른 패킷 검사 기능을 제공할 수 있다. 다른 기능은 다른 로직 모듈(824)에 의해 제공된다. 일 실시예에 있어서, 패킷 검사 모듈은 2 방향으로 흐르는 트래픽을 수신하고 일방향으로 흐르는 패킷을 타방향으로 흐르는 패킷으로부터의 정보를 사용하여 분류한다. 패킷 검사 모듈은 트래픽 자체를 수신하기보다는 제2 패킷 검사 모듈로부터 타방향으로 흐르는 트래픽에 대한 정보를 수신할 수 있다.
RTP 스트림 검출 모듈(828)은 RTP 패킷 헤더의 포맷에 따라 UDP 또는 TCP 페이로드의 처음 수개의 바이트를 파싱하고 RTP 헤더 필드의 값을 체크하여 2개의 종점 간 흐르는 스트림이 RTP 스트림인지 결정한다. RTP 헤더 포맷은 RTP 페이로드에서 반송된 미디어 유형에 의존하지 않는 한편, RTP 페이로드 포맷은 미디어 유형 특정적이다. UDP 또는 TCP 패킷의 페이로드에 RTP 패킷이 들어있으면, RTP 헤더 내 수개의 필드의 값은 특수 패턴을 가질 것이다. RTP 스트림 검출 모듈(828)은 스트림이 RTP 스트림인지 결정함에 있어서 이들 패턴 중 하나 또는 이들 패턴의 조합을 사용할 수 있다.
스트림이 RTP 스트림이라고 검출되면, 비디오 스트림 검출 모듈(826)은 RTP 스트림이 비디오를 반송하는지 검출하기 위해 RTP 패킷 헤더 필드 및 RTP 페이로드 상에 추가적 검사를 수행할 것이다. 비디오 스트림 검출 모듈(826)은 또한 비디오 스트림을 발생시킨 비디오 코덱으로부터 사용된 비디오 코딩 포맷을 결정할 수 있다. 예시의 비디오 코덱은 MPEG-4, AVC/H.264 및 MPEG-2를 포함한다.
비디오와 관련된 일부 RTP 페이로드의 페이로드 유형은 IETF RFC 3551에 정의되어 있다. 그렇지만, 동적으로 배정된 페이로드 유형을 갖는 비디오 코덱에 대하여, 코덱 파라미터는 세션 기술 프로토콜(SDP) 메시지에 포함된다. SDP 메시지는 비디오 스트림 검출 모듈(826)에 이용가능하지 않을 수 있다. 비디오 스트림 검출 모듈(826)이 페이로드 유형이 동적으로 배정됨을 검출하면, 비디오 스트림 검출 모듈(826)은 스트림에 관한 통계를 수집할 수 있다. 예를 들어, RTP 헤더 필드 "타임스탬프", RTP 패킷 사이즈 및 RTP 패킷 데이터 레이트의 값들의 통계가 수집될 수 있다. 그 후 비디오 스트림 검출 모듈(826)은 RTP 스트림이 비디오 데이터를 반송하는지 결정하도록 그 수집된 통계를 사용할 수 있다.
비디오 스트림은 통상 잘 정의된 소정의 프레임 레이트, 예를 들어, 24 FPS(초당 프레임), 25 FPS, 29.97 FPS, 30 FPS 또는 60 FPS를 갖는다. 일 실시예에 있어서, 비디오 스트림 검출 모듈(826)은 RTP 패킷 타임스탬프의 값이 공통 프레임 시간 거리의 정수 배로 변화하는지에 적어도 일부 기반하여 RTP 스트림이 비디오 데이터를 반송하는지 검출한다.
비디오 스트림은 통상 오디오 스트림에 비해 더 높은 평균 데이터 레이트 및 순시 데이터 레이트에서의 더 큰 요동을 갖는다. 일 실시예에 있어서, 비디오 스트림 검출 모듈(826)은 평균 RTP 데이터 레이트 및 순시 RTP 데이터 레이트에서의 요동의 크기에 적어도 일부 기반하여 RTP 스트림이 비디오 데이터를 반송하는지 검출한다.
RTP 페이로드 포맷은 미디어 특정적이다. 예를 들어, RTP 패킷에서의 H.264 페이로드는 IETF RFC 6814("H.264 비디오용 RTP 페이로드 포맷")에 구조가 정의되어 있는 네트워크 추상화 계층(network abstraction layer: NAL) 유닛 헤더로 항상 시작한다. 일 실시예에 있어서, 비디오 스트림 검출 모듈(826)은 RTP 페이로드의 처음 수개의 바이트의 패턴에 적어도 일부 기반하여 RTP 스트림 내 반송된 비디오 데이터를 어느 비디오 코덱이 발생시키는지 검출한다.
도 8은 다양한 모듈에 기능을 할당하는 특정 예 및 모듈을 조합하는 특정 예를 예시하고 있다. 여러 다른 배열이 또한 사용될 수 있다. 예를 들어, 패킷 검사 모듈의 일부 모듈은 다중 네트워크 노드에 걸쳐 분산될 수 있다. 부가적으로, 패킷 검사 모듈은 다른 기능을 포함할 수 있다. 더욱, 검사 모듈은 업링크 방향에 대하여 그리고 다운링크 방향에 대하여 별개로 제공될 수 있다.
도 9는 본 발명의 태양에 따른 패킷 분류 모듈의 블록 선도이다. 패킷 분류 모듈은 도 3의 패킷 검사 모듈(329) 또는 도 4의 패킷 검사 모듈(429)과 같은 패킷 검사 모듈의 일부분일 수 있다. 패킷 분류 모듈은 일반적으로는 다수의 프로토콜 계층에서의 패킷을 분류한다.
패킷 분류 모듈은 인터넷 계층 프로토콜(910)의 분석에 따라 IP 패킷의 패킷 헤더 내 정보를 분석할 수 있다. 인터넷 계층 프로토콜(910) 분석은 IPv4 프로토콜 특성(911), IPv6 프로토콜 특성(912) 및 다른 인터넷 계층 프로토콜 특성(919)을 포함할 수 있다.
패킷 분류 모듈은 또한 전송 계층 프로토콜(920)의 프로토콜 데이터 유닛의 헤더 내 정보를 분석할 수 있다. 전송 계층 프로토콜(920) 분석은 UDP 프로토콜 특성(921), TCP 프로토콜 특성(922), 및 다른 전송 계층 프로토콜 특성(929)을 포함할 수 있다.
패킷 분류 모듈은 또한 애플리케이션 계층 프로토콜(930)의 메시지 내 정보를 분석할 수 있다. 애플리케이션 계층 프로토콜(930) 분석은 RTSP 프로토콜 특성(931), RTP 프로토콜 특성(932), RTMP 프로토콜 특성(933), HTTP 프로토콜 특성(934), 및 다른 애플리케이션 계층 프로토콜 특성(939)을 포함할 수 있다.
도 10은 본 발명의 태양에 따른 애플리케이션 세션 검출 모듈(1000)의 블록 선도이다. 애플리케이션 세션 검출 모듈(1000)은 도 3의 패킷 검사 모듈(329) 또는 도 4의 패킷 검사 모듈(429)과 같은 패킷 검사 모듈의 일부분일 수 있다. 애플리케이션 세션 검출 모듈(1000)은 RTSP 세션 검출 모듈(1010), HTTP 점진적 다운로드 세션 검출 모듈(1020), HTTP 스트리밍 세션 검출 모듈(1030), RTMP 스트리밍 세션 검출 모듈(1040), 및 다른 애플리케이션의 세션을 검출할 수 있는 다른 애플리케이션 세션 검출 모듈(1090)을 포함한다. 세션 검출 모듈의 각각은 또한 현재 활동 중인 애플리케이션의 세션에 대한 정보를 유지할 수 있다.
애플리케이션 세션 검출 모듈(1000)은 데이터 스트림의 애플리케이션 클래스(예를 들어, 비디오) 및 특정 애플리케이션(예를 들어, 넷플릭스)을 검출하기 위해 인터넷 프로토콜(IP) 소스 및 수신지 주소를 검출할 수 있다. IP 소스 및 수신지 주소를 사용하여, 애플리케이션 세션 검출 모듈(1000)은 인터넷-기반 트래픽을 소싱(sourcing) 또는 수신하는 도메인 네임 및/또는 등록된 양수인을 확립하도록 역 도메인 네임 시스템(DNS) 룩업 또는 인터넷 WHOIS 질의를 수행할 수 있다. 그 후 도메인 네임 및/또는 등록된 양수인 정보는 도메인 또는 양수인의 운영의 사전 지식에 기반하여 데이터 스트림에 대해 애플리케이션 클래스 및 특정 애플리케이션을 확립하도록 사용될 수 있다. 애플리케이션 클래스 및 특정 클래스 정보는, 유도되고 나면, 재사용을 위해 저장될 수 있다. 예를 들어, 하나 초과의 사용자 디바이스가 넷플릭스에 액세스하면, 애플리케이션 세션 검출 모듈(1000)은 애플리케이션 세션 검출 모듈(1000)이 네트워크 상의 동일 사용자 디바이스 또는 또 다른 사용자 디바이스에 의한 넷플릭스로의 후속 액세스에 대해 애플리케이션 클래스 및 특정 애플리케이션을 결정할 필요가 없도록 애플리케이션 정보를 캐싱하도록 구성될 수 있다.
특정 IP 주소를 갖는 트래픽이, 예를 들어, 명칭 "Netflix"를 포함한 WHOIS 질의 또는 역 DNS 룩업을 산출하였으면, 그때 이러한 트래픽 스트림은 넷플릭스 서비스(특정 애플리케이션)를 사용하는 유니캐스트 비디오 스트림(애플리케이션 클래스)이라고 생각될 수 있다. 일 실시예에 있어서는 도메인 네임 또는 양수인과 애플리케이션 클래스와 특정 애플리케이션 간 포괄적 매핑이 유지된다. 매핑은 매핑이 최신인 채로 있음을 보장하기 위해 주기적으로 업데이트될 수 있다.
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, 다양한 통신 프로토콜과 연관된 데이터 패킷의 헤더, 페이로드 필드 또는 둘 다를 검사하고 거기에 들어있는 값을 특정 애플리케이션 클래스 또는 특정 애플리케이션에 매핑하도록 구성된다. 예를 들어, 애플리케이션 세션 검출 모듈(1000)은 HTTP 헤더에 들어있는 호스트 필드를 검사하도록 구성될 수 있다. 호스트 필드는 전형적으로는 특정 애플리케이션 클래스 또는 특정 애플리케이션에 스트림을 매핑하는데 사용되는, 위에서 설명된 바와 같은, 도메인 또는 양수인 정보를 포함하고 있다. 예를 들어, HTTP 헤더 필드 "v11.lscache4.c.youtube.com"가 검출되었으면, 그것은 애플리케이션 클래스 = 비디오 스트림 그리고 특정 애플리케이션 = 유튜브에 매칭될 수 있다.
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, HTTP 메시지 내 "컨텐트 유형" 필드를 검사하도록 구성된다. 컨텐트 유형 필드에는 인터넷 엔지니어링 태스크 포스(IETF)에 의해 정의되는 바와 같은 다목적 인터넷 전자 우편(MIME) 포맷에 명시된 정의에 기반하여 페이로드의 유형에 관한 정보가 들어있다. 예를 들어, 다음의 MIME 포맷은 유니캐스트 또는 브로드캐스트 비디오 패킷 스트림 중 어느 하나를 나타낼 것이다: video/mp4, video/quicktime, video/x-ms-wm. 일 실시예에 있어서, 애플리케이션 세션 검출 모듈(1000)은 애플리케이션 세션 검출 모듈(1000)이 HTTP 메시지 내 이들 MIME 유형 중 어느 하나를 검출하면 HTTP 메시지를 비디오 스트림 애플리케이션 클래스에 매핑하도록 구성된다.
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, 데이터 스트림에 앞서 보내진 프로토콜을 검사하도록 구성된다. 예를 들어, 애플리케이션 세션 검출 모듈(1000)은 데이터 스트림을 전송하는데 사용되는 프로토콜을 사용하여 이러한 정보를 식별하는 대신에 데이터 스트림을 셋업 또는 확립하는데 사용되는 프로토콜에 기반하여 애플리케이션 클래스 또는 특정 유형을 식별하도록 구성될 수 있다. 일 실시예에 의하면, 데이터 스트림에 앞서 보내진 프로토콜은 전송 데이터 스트림이 개시되고 나면 식별될 수 있게 하는 특성, 특정 애플리케이션, 및 애플리케이션 클래스에 관한 정보를 식별하도록 사용된다. 유튜브 비디오 스트림을 시작하기 위한 HTTP 요청 및 응답 메시지는, 예를 들어, 전송 데이터 스트림을 식별하도록 사용될 수 있다.
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, 멀티미디어 스트리밍 세션을 확립하도록 사용될 수 있는 실시간 스트리밍 프로토콜(RTSP) 패킷을 검사하도록 구성된다. RTSP 패킷은 TCP/IP 프레임 내 캡슐화되고 IP 네트워크를 가로질러 반송된다. RTSP는 클라이언트 및 서버 교환 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 112014102975766-pct00002
RTSP 메시지 내 요청-URI는 IETF RFC 2396("인터넷 식별자(URI): 제네릭 신택스")에 정의된 바와 같은 절대 URI를 항상 포함하고 있다. RTSP 메시지 내 절대 URI는 네트워크 경로 및 서버 상의 자원의 경로 둘 다를 포함하고 있다. 다음은 위에 나열된 메시지 내 절대 URI이다.
rtsp://s.companydomain.com:554/dir/f.3gp
RTSP-버전은 RTSP 메시지에서 어느 버전의 RTSP 규격이 사용되는지를 나타낸다.
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, RTSP 요청 메시지 내 절대 URI를 검사하고 네트워크 경로를 추출하도록 구성된다. 네트워크 경로에는 전형적으로는, 위 실시예에서 설명된 바와 같이, 스트림을 특정 애플리케이션 클래스 또는 특정 애플리케이션에 매핑하는데 사용되는 도메인 또는 양수인 정보가 들어있다. 예를 들어, RTSP 절대 URI "rtsp://v4.cache8.c.youtube.com/dir_path/video.3gp"가 검사되어 애플리케이션 클래스 = 비디오 스트림, 특정 애플리케이션 = 유튜브에 매핑될 수 있다. 일 실시예에 있어서, 애플리케이션 세션 검출 모듈(1000)은 서버로부터 클라이언트로 보내지는 관련 패킷을 분류하기 위해 클라이언트로부터 서버로 보내지는 패킷을 검사한다. 예컨대, 클라이언트로부터 보내진 RTSP 요청 메시지로부터의 정보는 서버로부터의 응답을 분류하는데 사용될 수 있다.
RTSP 프로토콜은 PLAY 요청을 사용하여 시그널링된 Range 파라미터를 사용함으로써 비디오 세션에 대한 재생 시간 범위(듀레이션)를 명시할 수 있다. 요청은 경계형(즉, 시작, 정지) 시간 범위 또는 개방단 시간 범위(즉, 시작 시간만)를 포함할 수 있다. 시간 범위는 정규 재생 시간(npt), smpte 또는 clock 파라미터 중 어느 것이든 사용하여 나타낼 수 있다. npt 시간 파라미터는 hours:minutes:seconds.fraction 포맷 또는 ISO 8601에 따른 절대 유닛 포맷 타임스탬프 중 어느 것으로든 표현될 수 있다. smpte 시간 값은 hours:minutes:seconds.fraction 포맷으로 표현된다. clock 시간 값은 ISO 8601에 따른 절대 유닛 포맷형 타임스탬프로 표현된다. Range 파라미터 용례의 예는 다음과 같다:
Figure 112014102975766-pct00003
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, RTSP 메시지를 검사하고 npt, smpte 또는 clock 필드를 사용하여 비디오 스트림으로부터 Range 정보를 추출하도록 구성된다. RTSP 패킷 내 npt, smpte 및 clock 파라미터는 위에서 설명된 정보를 통신하기 위해 대체 신택스를 사용할 수 있다.
RTSP 프로토콜은 서버와 클라이언트 간 멀티미디어 세션의 상세를 통신하는데 사용되는 DESCRIBE 요청을 포함한다. 이러한 DESCRIBE 요청은 요청된 정보의 컨텐트 및 포맷을 명시하는 세션 기술 프로토콜(SDP는 RFC 2327을 대체하는 RFC 4566에 정의되어 있음)에 기반한다. SDP로는, m-필드는 미디어 유형, 네트워크 포트, 프로토콜 및 포맷을 정의한다. 예를 들어, 다음의 SDP 미디어 기술을 생각해 보라:
Figure 112014102975766-pct00004
제1 예에서는, 포트 49170 상의 데이터 전송을 위해 실시간 전송 프로토콜(RTP)을 사용하고 RTP 오디오 비디오 프로파일(AVP) 번호 0에 기술된 포맷에 기반하는 오디오 스트림이 기술되어 있다. 제2 예에서는, RTP 오디오 비디오 프로파일(AVP) 번호 31에 기반하여 포트 51372 상의 데이터 전송을 위해 RTP를 사용하는 오디오 스트림이 기술되어 있다.
RTSP 예 둘 다에 있어서, m-필드는 데이터 스트림을 특정 애플리케이션 클래스로 분류하기에 충분하다. m-필드는 통신 프로토콜(RTP) 및 UDP 포트 번호를 불러내므로, 뒤따르는 데이터 스트림(들)은 막 유도된 분류 정보로 식별 및 매핑될 수 있다. 그렇지만, 특정 애플리케이션으로의 분류는 이 정보 단독으로는 가능하지 않다.
서버로부터 클라이언트에 반환된 SDP 메시지는 애플리케이션 클래스 또는 특정 애플리케이션에 대한 부가적 정보를 제공하는데 사용될 수 있는 부가적 필드를 포함할 수 있다.
SDP 메시지에는 RTP로 전송되는 비디오 및 오디오 스트림의 페이로드 유형이 들어있다. 일부 RTP 비디오 페이로드 유형은 IETF RFC 3551("최소 제어로 오디오 및 비디오 컨퍼런스를 위한 RTP 프로파일")에 정의되어 있다. 예를 들어, MPEG-1 또는 MPEG-2 기본 비디오 스트림의 페이로드 유형은 32이고, H.263 비디오 스트림의 페이로드 유형은 34이다. 그렇지만, H.264와 같이 일부 비디오 코덱의 페이로드 유형은 동적으로 배정되고, SDP 메시지는 비디오 코덱의 파라미터를 포함한다. 일 실시예에 있어서, 비디오 코덱 정보는 비디오 데이터 스트림을 분류하고 비디오 스트림을 비디오 코덱 특성에 기반하여 다르게 취급하는데 사용될 수 있다.
SDP 메시지에는 또한 비디오의 프레임 레이트를 나타내는, RFC 4566에 정의되는, 속성 "a=framerate:<frame rate>"가 들어있을 수 있다. SDP 메시지는 또한, 비디오의 프레임 사이즈를 나타내도록 SDP 메시지에 포함될 수 있고, 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>"와 같은 비-표준 속성을 사용할 수 있다. 일 실시예에 있어서, 애플리케이션 세션 검출 모듈(1000)은 SDP 메시지를 검사하고 대응하는 필드가 존재하면 비디오의 프레임 레이트 또는 프레임 사이즈 중 어느 하나 또는 둘 다를 추출하도록 구성된다. 프레임 레이트 또는 프레임 사이즈 또는 둘 다는 스트림의 자원 요건을 결정하도록 또는 스트림을 특정 애플리케이션 클래스 또는 특정 애플리케이션에 매핑하는데 사용될 수 있다.
애플리케이션 세션 검출 모듈(1000)은, 일 실시예에서는, 2개의 종점 간 흐르는 이들 패킷에 RTP 프로토콜을 사용하여 반송되는 비디오 데이터가 들어있는지 검출하기 위해 직접 네트워크 패킷을 검사하도록 구성된다. 애플리케이션 세션 검출 모듈(1000)은 RTP 스트림을 기술하는 정보가 들어있는 SDP 메시지 또는 어느 다른 메시지를 검사함이 없이 이것을 수행할 수 있다. 이것은, 예를 들어, 유사한 정보가 들어있는 SDP 메시지 또는 또 다른 메시지가 애플리케이션 세션 검출 모듈(1000)을 통과하지 않을 때 일어날 수 있다.
도 10은 다양한 모듈에 기능을 할당하는 특정 예 및 모듈을 조합하는 특정 예를 예시하고 있기는 하지만, 여러 다른 배열이 또한 사용될 수 있다. 더욱, 애플리케이션 세션 검출 모듈(1000)은 비디오 스트림을 검출하기 위해 다른 패킷 속성을 검사할 수 있다.
전술한 시스템 및 방법 및 연관된 디바이스 및 모듈은 여러 변종에 민감하다. 부가적으로, 명확함과 간결함을 위해, 시스템 및 방법의 많은 설명이 단순화되었다. 예를 들어, 도면들은 일반적으로는 각각의 유형의 디바이스 중 하나(예를 들어, 하나의 액세스 노드, 하나의 단말 노드)를 예시하지만, 통신 시스템은 각각의 유형의 디바이스를 여럿 가질 수 있다. 유사하게, 많은 설명은 LTE와 같은 특정 무선 표준의 구조 및 용어를 사용하고 있다. 그렇지만, 개시된 시스템 및 방법은, 예를 들어, 하이브리드 광섬유-동축 케이블 모뎀 시스템을 포함하여 더 광범위하게 적용가능하다.
당업자는 본 명세서에서 개시되는 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 모듈, 유닛 및 알고리즘 단계가 흔히 전자적 하드웨어, 컴퓨터 소프트웨어 또는 그들 조합으로 구현될 수 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 호환가능성을 명확히 예시하기 위해, 다양한 예시적 컴포넌트, 블록, 모듈 및 단계가 일반적으로 그 기능성의 관점에서 위에 설명되었다. 그러한 기능성이 하드웨어로 구현될지 또는 소프트웨어로 구현될지는 전반적 시스템에 부과된 특정 제약에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 그러한 구현 결정은 본 발명의 범위로부터의 벗어남을 야기하는 것으로 해석되어서는 안 된다. 부가적으로, 유닛, 모듈, 블록 또는 단계 내 기능의 그룹화는 설명의 용이함을 위한 것이다. 특정 기능 또는 단계는 본 발명으로부터 벗어남이 없이 하나의 유닛, 모듈 또는 블록으로부터 이동될 수 있다.
여기에 개시된 실시예와 연관하여 설명된 다양한 예시적 논리 블록, 유닛, 단계 및 모듈은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그래밍가능한 게이트 어레이(FPGA) 또는 다른 프로그래밍가능한 논리 디바이스와 같은 프로세서, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트 또는 여기에서 설명된 기능을 수행하도록 설계된 그 어떠한 조합으로라도 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 어떠한 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 머신일 수 있다. 또한 프로세서는 컴퓨팅 디바이스의 조합으로, 예컨대, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합하여 하나 이상의 마이크로프로세서, 또는 어떠한 다른 그러한 구성으로라도 구현될 수 있다.
여기에서 개시된 실시예와 연관하여 설명된 블록 또는 모듈의 프로세스 및 알고리즘 또는 방법의 단계는 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 둘의 조합으로 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM 또는 어떠한 다른 형태의 저장 매체에라도 거주할 수 있다. 일례의 저장 매체는 프로세서가 그 저장 매체에 정보를 쓰고 그리고 그로부터 정보를 읽을 수 있게 되도록 프로세서에 결합될 수 있다. 대안에 있어서, 저장 매체는 프로세서에 일체일 수 있다. 프로세서 및 저장 매체는 ASIC에 거주할 수 있다. 부가적으로, 결합된 것으로 설명되어 있는 디바이스, 블록 또는 모듈은 중개 디바이스, 블록 또는 모듈을 통하여 결합되어 있을 수 있다. 유사하게, 제1 디바이스는 제1 디바이스와 제2 디바이스를 결합하는 중개 디바이스가 존재할 때 그리고 또한 제1 디바이스가 데이터의 궁극적 수신지를 모르고 있을 때 데이터를 제2 디바이스에 송신(또는 그로부터 수신)하는 것으로 설명되어 있을 수 있다.
개시된 실시예의 위 설명은 당업자가 본 발명을 하거나 사용할 수 있게 하도록 제공된다. 이들 실시예에 대한 다양한 수정이 당업자에게는 쉽게 명백할 것이고 여기에서 설명되는 포괄적 원리는 본 발명의 취지 또는 범위로부터 벗어남이 없이 다른 실시예에 적용될 수 있다. 그리하여, 여기에서 제시된 설명 및 도면은 본 발명의 현재 바람직한 실시예를 표현하고 그래서 본 발명에 의해 광범위하게 고려되는 대상 사항을 표현하는 것으로 이해되어야 한다. 더욱, 본 발명의 범위는 당업자에게 자명하게 될 수 있는 다른 실시예를 전적으로 아우르고 따라서 본 발명은 첨부 청구범위 이외의 어떠한 것에 의해서도 제한되지 않음이 이해된다.

Claims (78)

  1. 액세스 노드로서,
    단말 노드들과의 통신들을 제공하도록 구성된 트랜시버 모듈;
    다운링크 패킷들을 수신하고, 상기 다운링크 패킷들을 큐들로 그룹화하고, 그리고 스케줄러 파라미터들을 이용하여 상기 단말 노드들 중 하나 이상으로의 송신을 위해 상기 다운링크 패킷들을 스케줄링하도록 구성된 스케줄러 모듈;
    패킷들과 연관된 애플리케이션들에 대한 정보를 검출하기 위해 상기 단말 노드들과 통신되는 상기 패킷들을 검사하도록 구성된 패킷 검사 모듈; 및
    상기 단말 노드들로부터의 수락 요청들을 검출하고, 그리고 상기 애플리케이션 정보 및 상기 단말 노드들과의 통신들에서의 정체에 대한 정보에 기반하여 상기 수락 요청들에 대한 수락 제어 응답들을 결정하도록 구성된 수락 제어 모듈을 포함하되, 상기 수락 요청들은 통신 서비스들에 대한 요청들이며,
    상기 스케줄러 모듈은 수락 제어 응답들을 결정하는데 사용하기 위하여 정체 메트릭스(congestion metrics)를 상기 수락 제어 모듈에 공급하고,
    상기 수락 제어 모듈은 스케줄링 우선순위들 또는 스케줄링 자원 할당들을 변경하는 제어 응답을 생성하며, 스케줄러 파라미터들에 대한 업데이트를 수신하는 것인 액세스 노드.
  2. 제1항에 있어서, 상기 애플리케이션 정보는 애플리케이션 클래스 및 특정 애플리케이션을 포함하는 것인 액세스 노드.
  3. 제1항에 있어서, 상기 수락 제어 모듈은,
    상기 단말 노드들과의 통신들에 이용가능한 자원들을 추정하도록 구성된 자원 추정 모듈;
    상기 단말 노드들과의 통신들에서의 상기 정체를 모니터링하도록 구성된 정체 모니터링 모듈; 및
    상기 자원 추정 모듈로부터의 추정된 자원 및 상기 정체 모니터링 모듈로부터의 모니터링된 정체를 사용하여 상기 수락 제어 응답들을 결정하도록 구성된 제어 응답 모듈을 포함하는 것인 액세스 노드.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 정체 메트릭스는 폐기 레이트(discard rate), 스케줄링 큐 출구 레이트, 패킷 에이지(packet age) 및 스케줄링 큐 점유도로 이루어진 그룹으로부터 선택된 정보를 포함하는 것인 액세스 노드.
  7. 제1항에 있어서, 상기 수락 제어 응답들은 상기 스케줄러 파라미터들을 수정하는 응답들을 포함하는 것인 액세스 노드.
  8. 제1항에 있어서, 상기 패킷 검사 모듈에 의해 검사된 패킷들은 업링크 패킷들 및 다운링크 패킷들을 포함하는 것인 액세스 노드.
  9. 액세스 노드로서,
    상기 액세스 노드와 단말 노드들 간에 통신을 제공하도록 구성된 트랜시버 모듈;
    네트워크 내 디바이스들과 상기 액세스 노드 간에 통신을 제공하도록 구성된 백홀 인터페이스 모듈; 및
    상기 트랜시버에 결합되는 프로세서를 포함하며,
    상기 프로세서는,
    다운링크 패킷들을 수신하고, 상기 다운링크 패킷들을 큐들로 그룹화하고, 그리고 스케줄러 파라미터들을 이용하여 상기 단말 노드들 중 하나 이상으로의 송신을 위해 상기 다운링크 패킷들을 스케줄링하며,
    단말 노드로부터의 수락 요청을 검출하되, 상기 수락 요청은 새로운 통신 서비스에 대한 요청인, 상기 수락 요청을 검출하고,
    상기 단말 노드와의 통신에 영향을 미치는 정체에 대한 정보 및 상기 수락 요청과 연관된 애플리케이션의 특성들에 기반하여 상기 수락 요청에 대한 응답을 결정하며,
    수락 제어 응답들을 결정하는데 사용하기 위하여 정체 메트릭스를 수락 제어 모듈에 공급하고,
    스케줄링 우선순위들 또는 스케줄링 자원 할당들을 변경하며, 스케줄러 파라미터들을 업데이트하도록 구성되는 것인 액세스 노드.
  10. 제9항에 있어서, 상기 애플리케이션의 특성들은 애플리케이션 클래스 및 특정 애플리케이션을 포함하는 것인 액세스 노드.
  11. 제10항에 있어서, 상기 수락 요청에 대한 응답은 상기 애플리케이션과 연관될 수 있는 특정 애플리케이션들 및 애플리케이션 클래스들의 우선순위결정된 리스트에 더 기반하는 것인 액세스 노드.
  12. 제9항에 있어서, 상기 정체에 대한 정보는 상기 단말 노드에 특정된 정보인 것인 액세스 노드.
  13. 제9항에 있어서, 상기 정체에 대한 정보는 상기 액세스 노드에 접속된 단말 노드들의 그룹에 공통인 정보인 것인 액세스 노드.
  14. 제9항에 있어서, 상기 정체에 대한 정보는 예측된 정체를 포함하는 것인 액세스 노드.
  15. 제14항에 있어서, 상기 수락 요청에 대한 응답은, 정체가 예측될 때, 상기 요청을 거부할 가능성이 더 있는 것인 액세스 노드.
  16. 제9항에 있어서, 상기 수락 요청은 비디오 서비스에 대한 것이고, 상기 정체에 대한 정보는 비디오 데이터의 파일 사이즈에 비해 시간 대비 송신된 상기 비디오 데이터의 분석을 포함하는 것인 액세스 노드.
  17. 제9항에 있어서, 상기 수락 요청은 기존 베어러(existing bearer)에 서비스를 부가하는 요청인 것인 액세스 노드.
  18. 제17항에 있어서, 상기 수락 요청에 대한 응답은 상기 기존 베어러 상의 다른 서비스에 더 기반하는 것인 액세스 노드.
  19. 제9항에 있어서, 상기 프로세서는 상기 수락 요청과 연관된 애플리케이션의 특성들을 검출하기 위해 상기 수락 요청과 연관된 패킷들을 검사하도록 더 구성되는 것인 액세스 노드.
  20. 제19항에 있어서, 상기 액세스 노드는 롱 텀 에볼루션(long term evolution: LTE) 시스템에서 사용되고, 상기 수락 요청과 연관된 패킷들을 검사하는 것은 음성 비트 레이트를 갖는 베어러의 생성이 뒤따르는 인터넷 프로토콜(Internet protocol: IP) 멀티미디어 서브시스템(IMS) 시그널링을 검출함으로써 음성 LTE(voice over LTE: VoLTE) 세션을 검출하는 것을 포함하는 것인 액세스 노드.
  21. 제19항에 있어서, 상기 수락 요청과 연관된 패킷들을 검사하는 것은 음성 비트 레이트를 갖는 베어러의 생성 및 비디오 비트 레이트를 갖는 베어러의 생성이 뒤따르는 인터넷 프로토콜(IP) 멀티미디어 서브시스템(IMS) 시그널링을 검출함으로써 대화형 음성 플러스 비디오 세션을 검출하는 것을 포함하는 것인 액세스 노드.
  22. 제21항에 있어서, 상기 수락 요청에 대한 응답을 결정하는 것은 상기 음성 비트 레이트를 갖는 베어러에 유리하게 상기 비디오 비트 레이트를 갖는 상기 베어러의 생성을 거부하는 것을 포함하는 것인 액세스 노드.
  23. 제19항에 있어서, 검출된 상기 특성들은 비트 레이트를 포함하는 것인 액세스 노드.
  24. 제23항에 있어서, 상기 수락 요청에 대한 응답은, 새로운 서비스를 수락하는 것이 다른 서비스에 대한 저하를 야기할 정도로 상기 비트 레이트가 높으면, 거부되는 것인 액세스 노드.
  25. 제9항에 있어서, 상기 프로세서는 기존 서비스가 당해 서비스에 책정된 것보다 더 적은 대역폭을 사용 중인지를 검출하도록 더 구성되고, 기존 서비스와 새로운 서비스가 가용 자원의 대역폭보다 더 높은 대역폭 할당을 가졌을 것이고 당해 서비스에 책정된 것보다 더 적은 대역폭을 사용하는 기존 서비스가 검출되었음을 상기 정체에 대한 정보가 나타낼 때 상기 새로운 서비스는 수락되는 것인 액세스 노드.
  26. 제9항에 있어서, 상기 수락 요청에 대한 응답은 상기 요청을 거부하는 것인 액세스 노드.
  27. 제26항에 있어서, 상기 요청을 거부하는 것은 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷을 폐기하는 것을 포함하는 것인 액세스 노드.
  28. 제27항에 있어서, 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷을 폐기하는 것은 상기 요청된 서비스를 수용하는 메시지를 상기 요청된 서비스를 거절하는 메시지로 교체하는 것을 포함하는 것인 액세스 노드.
  29. 제28항에 있어서, 상기 요청된 서비스를 거절하는 메시지는 재시도 시간을 포함하는 것인 액세스 노드.
  30. 제29항에 있어서, 상기 재시도 시간은 예상된 정체에 기반하여 설정되는 것인 액세스 노드.
  31. 제9항에 있어서, 상기 수락 요청에 대한 응답은 상기 수락 요청을 지연시키는 것인 액세스 노드.
  32. 제31항에 있어서, 상기 수락 요청을 지연시키는 것은 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷의 송신을 지연시키는 것을 포함하는 것인 액세스 노드.
  33. 제9항에 있어서, 상기 수락 요청에 대한 응답은 상기 수락 요청을 수정하는 것인 액세스 노드.
  34. 제33항에 있어서, 상기 수락 요청은 서비스 옵션의 리스트로부터 더 높은 데이터 레이트 옵션을 제거함으로써 수정되는 것인 액세스 노드.
  35. 제33항에 있어서, 상기 수락 요청은 비디오 서비스에 대한 것이고, 상기 수락 요청을 수정하는 것은 상기 비디오 서비스에 대해 비디오 데이터를 공급하는 디바이스가 상기 비디오 데이터를 스케일링하여 상기 비디오 데이터의 데이터 레이트를 감축하도록 요청하는 것을 포함하는 것인 액세스 노드.
  36. 제9항에 있어서, 상기 수락 요청에 대한 응답은 상기 요청된 서비스를 수락하고 기존 서비스를 수정하여 상기 요청된 서비스에 대한 대역폭을 제공하는 것인 액세스 노드.
  37. 제36항에 있어서, 상기 기존 서비스의 수정은 대역폭이 이용가능할 때 역전되는(reversed) 것인 액세스 노드.
  38. 제36항에 있어서, 상기 기존 서비스의 수정은 상기 기존 서비스에 대한 자원의 할당을 수정하는 것을 포함하는 것인 액세스 노드.
  39. 제38항에 있어서, 상기 기존 서비스는 다수의 비디오 표현을 사용하여 비디오 데이터를 공급할 수 있는 비디오 서비스이고, 상기 자원의 할당의 수정은 상기 기존 서비스와 연관된 비디오 클라이언트에 의해 요청된 비디오 표현 변경을 트리거링하도록 선택되는 것인 액세스 노드.
  40. 제9항에 있어서, 상기 수락 요청에 대한 응답은 상기 요청된 서비스를 수락하고 기존 서비스를 보류하여 상기 요청된 서비스에 대한 대역폭을 제공하는 것인 액세스 노드.
  41. 제9항에 있어서, 상기 정체에 대한 정보는 비디오 세션의 품질 척도를 포함하는 것인 액세스 노드.
  42. 제19항에 있어서, 패킷들을 검사하는 것은 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷에서 정보를 검사함으로써 비트 레이트를 검출하는 것을 포함하는 것인 액세스 노드.
  43. 제9항에 있어서, 상기 수락 요청에 대한 응답은 사용자 체감 품질을 최대화하도록 결정되는 것인 액세스 노드.
  44. 수락 제어 응답들을 결정함에 있어서 사용하기 위한 방법으로서, 상기 방법은,
    다운링크 패킷들을 수신하고, 상기 다운링크 패킷들을 큐들로 그룹화하고, 그리고 스케줄러 파라미터들을 이용하여 단말 노드들 중 하나 이상으로의 송신을 위해 상기 다운링크 패킷들을 스케줄링하는 단계;
    단말 노드로부터의 수락 요청을 검출하는 단계로서, 상기 수락 요청은 새로운 통신 서비스에 대한 요청인 것인, 상기 수락 요청을 검출하는 단계;
    상기 수락 요청과 연관된 애플리케이션의 특성들을 검출하기 위해 상기 수락 요청과 연관된 패킷들을 검사하는 단계;
    상기 단말 노드와의 통신에 영향을 미치는 정체에 대한 정보 및 상기 애플리케이션의 검출된 특성들에 기반하여 상기 수락 요청에 대한 응답을 결정하는 단계;
    수락 제어 응답들을 결정하는데 사용하기 위하여 정체 메트릭스를 수락 제어 모듈에 공급하는 단계; 및
    스케줄링 우선순위들 또는 스케줄링 자원 할당들을 변경하며, 스케줄러 파라미터들을 업데이트하는 단계를 포함하는 것인 방법.
  45. 제44항에 있어서, 상기 검출된 특성은 애플리케이션 클래스 및 특정 애플리케이션을 포함하는 것인 방법.
  46. 제45항에 있어서, 상기 수락 요청에 대한 응답은 상기 애플리케이션과 연관될 수 있는 특정 애플리케이션들 및 애플리케이션 클래스들의 우선순위결정된 리스트에 더 기반하는 것인 방법.
  47. 제44항에 있어서, 상기 검출하는 단계, 상기 검사하는 단계 및 상기 결정하는 단계는 적어도 2개의 다른 네트워크 노드에 의해 수행되는 것인 방법.
  48. 제44항에 있어서, 상기 정체에 대한 정보는 상기 단말 노드에 특정한 정보인 것인 방법.
  49. 제44항에 있어서, 상기 정체에 대한 정보는 상기 수락 요청을 수신하는 네트워크 노드에 접속된 단말 노드들의 그룹에 공통인 정보인 것인 방법.
  50. 제44항에 있어서, 상기 정체에 대한 정보는 예측된 정체를 포함하는 것인 방법.
  51. 제50항에 있어서, 상기 수락 요청에 대한 응답은 정체가 예측될 때 상기 요청을 거부할 가능성이 더 있는 것인 방법.
  52. 제44항에 있어서, 상기 수락 요청은 비디오 서비스에 대한 것이고, 상기 정체에 대한 정보는 비디오 데이터의 파일 사이즈에 비해 시간 대비 송신된 상기 비디오 데이터의 분석을 포함하는 것인 방법.
  53. 제44항에 있어서, 상기 수락 요청은 기존 베어러에 서비스를 부가하는 요청인 것인 방법.
  54. 제53항에 있어서, 상기 수락 요청에 대한 응답은 상기 기존 베어러 상의 다른 서비스에 더 기반하는 것인 방법.
  55. 제44항에 있어서, 상기 방법은 롱 텀 에볼루션(LTE) 시스템에서 사용되고, 상기 수락 요청과 연관된 패킷들을 검사하는 단계는 음성 비트 레이트를 갖는 베어러의 생성이 뒤따르는 인터넷 프로토콜(IP) 멀티미디어 서브시스템(IMS) 시그널링을 검출함으로써 음성 LTE(VoLTE) 세션을 검출하는 단계를 포함하는 것인 방법.
  56. 제44항에 있어서, 상기 수락 요청과 연관된 패킷들을 검사하는 단계는 음성 비트 레이트를 갖는 베어러의 생성 및 비디오 비트 레이트를 갖는 베어러의 생성이 뒤따르는 인터넷 프로토콜(IP) 멀티미디어 서브시스템(IMS) 시그널링을 검출함으로써 대화형 음성 플러스 비디오 세션을 검출하는 단계를 포함하는 것인 방법.
  57. 제56항에 있어서, 상기 수락 요청에 대한 응답을 결정하는 단계는 상기 음성 비트 레이트를 갖는 상기 베어러에 유리하게 상기 비디오 비트 레이트를 갖는 상기 베어러의 생성을 거부하는 단계를 포함하는 것인 방법.
  58. 제44항에 있어서, 상기 검출된 특성들은 비트 레이트를 포함하는 것인 방법.
  59. 제58항에 있어서, 상기 수락 요청에 대한 응답은, 상기 새로운 통신 서비스를 수락하는 것이 다른 서비스에 대한 저하를 야기할 정도로 상기 비트 레이트가 높으면, 거부되는 것인 방법.
  60. 제44항에 있어서, 기존 서비스가 당해 서비스에 책정된 것보다 더 적은 대역폭을 사용 중인지를 검출하는 단계를 더 포함하고, 기존 서비스와 새로운 통신 서비스가 가용 자원의 대역폭보다 더 높은 대역폭 할당을 가졌을 것이고 당해 서비스에 책정된 것보다 더 적은 대역폭을 사용하는 기존 서비스가 검출되었음을 상기 정체에 대한 정보가 나타낼 때 상기 새로운 통신 서비스는 수락되는 것인 방법.
  61. 제44항에 있어서, 상기 수락 요청에 대한 응답은 상기 요청을 거부하는 것인 방법.
  62. 제61항에 있어서, 상기 요청을 거부하는 것은 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷을 폐기하는 것을 포함하는 것인 방법.
  63. 제62항에 있어서, 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷을 폐기하는 것은 상기 요청된 서비스를 수용하는 메시지를 상기 요청된 서비스를 거절하는 메시지로 교체하는 것을 포함하는 것인 방법.
  64. 제63항에 있어서, 상기 요청된 서비스를 거절하는 상기 메시지는 재시도 시간을 포함하는 것인 방법.
  65. 제64항에 있어서, 상기 재시도 시간은 예상된 정체에 기반하여 설정되는 것인 방법.
  66. 제44항에 있어서, 상기 수락 요청에 대한 응답은 상기 수락 요청을 지연시키는 것인 방법.
  67. 제66항에 있어서, 상기 수락 요청을 지연시키는 것은 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷의 송신을 지연시키는 것을 포함하는 것인 방법.
  68. 제44항에 있어서, 상기 수락 요청에 대한 응답은 상기 수락 요청을 수정하는 것인 방법.
  69. 제68항에 있어서, 상기 수락 요청은 서비스 옵션의 리스트로부터 더 높은 데이터 레이트 옵션을 제거함으로써 수정되는 것인 방법.
  70. 제68항에 있어서, 상기 수락 요청은 비디오 서비스에 대한 것이고, 상기 수락 요청을 수정하는 것은 상기 비디오 서비스에 대해 비디오 데이터를 공급하는 디바이스가 상기 비디오 데이터를 스케일링하여 상기 비디오 데이터의 데이터 레이트를 감축하도록 요청하는 것을 포함하는 것인 방법.
  71. 제44항에 있어서, 상기 수락 요청에 대한 응답은 상기 요청된 서비스를 수락하고 기존 서비스를 수정하여 상기 요청된 서비스에 대한 대역폭을 제공하는 것인 방법.
  72. 제71항에 있어서, 상기 기존 서비스의 수정은 대역폭이 이용가능할 때 역전되는 것인 방법.
  73. 제71항에 있어서, 상기 기존 서비스의 수정은 상기 기존 서비스에 대한 자원의 할당을 수정하는 것을 포함하는 것인 방법.
  74. 제73항에 있어서, 상기 기존 서비스는 다수의 비디오 표현을 사용하여 비디오 데이터를 공급할 수 있는 비디오 서비스이고, 상기 자원의 할당의 수정은 상기 기존 서비스와 연관된 비디오 클라이언트에 의해 요청된 비디오 표현 변경을 트리거링하도록 선택되는 것인 방법.
  75. 제44항에 있어서, 상기 수락 요청에 대한 응답은 상기 요청된 서비스를 수락하고 기존 서비스를 보류하여 상기 요청된 서비스에 대한 대역폭을 제공하는 것인 방법.
  76. 제44항에 있어서, 상기 정체에 대한 정보는 비디오 세션의 품질 척도를 포함하는 것인 방법.
  77. 제44항에 있어서, 패킷들을 검사하는 단계는 상기 요청된 서비스를 개시하는데 사용되는 하나 이상의 패킷에서 정보를 검사함으로써 비트 레이트를 검출하는 단계를 포함하는 것인 방법.
  78. 제44항에 있어서, 상기 수락 요청에 대한 응답은 사용자 체감 품질을 최대화하도록 결정되는 것인 방법.
KR1020147030142A 2012-04-17 2013-02-08 통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템 Active KR102013729B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261625459P 2012-04-17 2012-04-17
US61/625,459 2012-04-17
US201261640984P 2012-05-01 2012-05-01
US61/640,984 2012-05-01
US13/761,645 US20130272121A1 (en) 2012-04-17 2013-02-07 Systems and methods for application-aware admission control in a communication network
US13/761,645 2013-02-07
PCT/US2013/025409 WO2013158201A1 (en) 2012-04-17 2013-02-08 Systems and methods for application-aware admission control in a communication network

Publications (2)

Publication Number Publication Date
KR20140147871A KR20140147871A (ko) 2014-12-30
KR102013729B1 true KR102013729B1 (ko) 2019-10-21

Family

ID=49324971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147030142A Active KR102013729B1 (ko) 2012-04-17 2013-02-08 통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20130272121A1 (ko)
EP (1) EP2839626B1 (ko)
KR (1) KR102013729B1 (ko)
CN (1) CN104272706B (ko)
WO (1) WO2013158201A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030836A1 (ko) * 2020-08-04 2022-02-10 삼성전자 주식회사 전자 장치에서 데이터 통신을 위한 네트워크 제어 방법 및 장치

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009096519A1 (ja) * 2008-01-31 2009-08-06 Nec Corporation フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体
KR101744355B1 (ko) 2011-01-19 2017-06-08 삼성전자주식회사 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치
JP5935572B2 (ja) * 2012-07-27 2016-06-15 富士通株式会社 基地局装置及びパケット振分け方法
CN104756593B (zh) * 2012-10-29 2018-10-12 Lg 电子株式会社 在无线通信系统中释放连接的方法和装置
US9055467B2 (en) * 2013-01-14 2015-06-09 Dell Products L.P. Sender device based pause system
EP2939420B1 (en) * 2013-01-15 2018-03-14 Huawei Technologies Co., Ltd. Using quality information for adaptive streaming of media content
KR101749200B1 (ko) * 2013-01-30 2017-06-20 후아웨이 테크놀러지 컴퍼니 리미티드 무선 통신 네트워크의 허용 제어를 위한 방법 및 장치
KR102119112B1 (ko) * 2013-09-17 2020-06-29 삼성전자 주식회사 트래픽 품질 제어 방법 및 장치
FR3011704A1 (fr) * 2013-10-07 2015-04-10 Orange Procede de mise en œuvre d'une session de communication entre une pluralite de terminaux
US9936517B2 (en) * 2013-11-04 2018-04-03 Verizon Patent And Licensing Inc. Application aware scheduling in wireless networks
US20150146012A1 (en) * 2013-11-27 2015-05-28 Sprint Communications Company L.P. Video presentation quality display in a wireless communication device
CN104702579B (zh) * 2013-12-09 2018-10-12 华为技术有限公司 用于确定用户设备的缓存状态的方法及装置
KR102171348B1 (ko) * 2014-01-08 2020-10-29 삼성전자주식회사 어플리케이션 검출 방법 및 장치
CN111417013B (zh) * 2014-01-09 2021-12-10 三星电子株式会社 多媒体传输系统中发送和接收数据相关信息的方法和装置
US9433030B2 (en) * 2014-01-14 2016-08-30 Qualcomm Incorporated Volte call setup
US9473416B2 (en) * 2014-01-30 2016-10-18 Qualcomm Incorporated Enhanced techniques of TCP ACK transmission in uplink
US9661636B1 (en) * 2014-02-26 2017-05-23 Sprint Communications Company L.P. Actively dropping data packets during voLTE communication sessions
US20150271226A1 (en) * 2014-03-18 2015-09-24 Qualcomm Incorporated Transport accelerator implementing a multiple interface architecture
US9408104B1 (en) * 2014-06-05 2016-08-02 Sprint Spectrum L.P. Control of wireless communication based on predicted impact of data bundling
EP3869756B1 (en) * 2014-06-16 2023-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Wireless communication network bearer management
WO2015195499A2 (en) * 2014-06-17 2015-12-23 Vasona Networks Inc. Reduced-latency processing of voice-over-lte calls
EP3162150B1 (en) 2014-06-27 2018-09-12 Telefonaktiebolaget LM Ericsson (publ) Network node and method for supporting time-sensitive services in a communication network
CN105430143B (zh) * 2014-09-17 2020-04-10 中兴通讯股份有限公司 通讯处理器及实现VoLTE的方法、移动终端及数据卡
CN105681061B (zh) * 2014-11-18 2019-05-21 中兴通讯股份有限公司 一种细粒度的资源控制方法及装置
US9622145B2 (en) * 2014-12-05 2017-04-11 At&T Intellectual Property I, L.P. Wireless network architecture for providing media content
US9680731B2 (en) 2015-02-27 2017-06-13 International Business Machines Corporation Adaptive software defined networking controller
US9572057B2 (en) 2015-04-21 2017-02-14 Freescale Semiconductor, Inc. Traffic scheduling system for wireless communication system
US20160353356A1 (en) * 2015-06-01 2016-12-01 Qualcomm Incorporated Application-specific congestion control for data communication (acdc) in connected mode
EP3131334B1 (en) * 2015-08-12 2019-01-02 Vodafone GmbH Method for resource reservation executed by a network element of a mobile communication network for a communication connection between a mobile device and a communication destination
US10122634B1 (en) * 2016-01-22 2018-11-06 Sprint Spectrum L.P. Proactive response to predicted bearer loss
US9733834B1 (en) * 2016-01-28 2017-08-15 Weka.IO Ltd. Congestion mitigation in a distributed storage system
US10129806B2 (en) 2016-03-10 2018-11-13 At&T Mobility Ii Llc Method to assign IP traffic to desired network elements based on packet or service type
KR102277173B1 (ko) * 2016-04-11 2021-07-14 삼성전자 주식회사 이동 통신 시스템에서 단말의 트래픽을 제어하는 방법 및 장치
CN106412955B (zh) * 2016-09-29 2019-06-11 宇龙计算机通信科技(深圳)有限公司 一种执行ims业务的方法、装置及终端
KR20180047124A (ko) * 2016-10-31 2018-05-10 삼성에스디에스 주식회사 패킷 전송 방법 및 그 장치
CN106534322B (zh) * 2016-11-22 2020-01-10 北京安云世纪科技有限公司 一种用于对底层消息进行直接响应的设备及方法
CN108123927A (zh) * 2016-11-30 2018-06-05 中兴通讯股份有限公司 一种cdn网络通信方法、装置及系统
US10178593B2 (en) * 2017-02-15 2019-01-08 Verizon Patent And Licensing Inc. Self-organizing customer premises network
CN109257626B (zh) * 2017-07-13 2020-11-10 大唐移动通信设备有限公司 一种数据处理方法和装置
CN108174446B (zh) * 2017-11-30 2021-08-20 西安电子科技大学 一种资源占用度最小化的网络节点链路资源联合分配方法
TW201931866A (zh) * 2017-12-29 2019-08-01 圓剛科技股份有限公司 影音串流控制裝置及其控制方法
US10986001B2 (en) * 2018-01-25 2021-04-20 Nokia Solutions And Networks Oy System and method for quality of service detection of encrypted packet flows
CN110149299B (zh) * 2018-02-13 2022-06-21 中兴通讯股份有限公司 一种视频优化方法、装置和系统、终端和网络设备
US12004211B2 (en) * 2018-05-08 2024-06-04 Nokia Solutions And Networks Oy Management and orchestration aided transparent of 3GPP network into TSN based industrial network
US11153174B2 (en) 2018-06-15 2021-10-19 Home Box Office, Inc. Data service overload detection and mitigation
US11128682B2 (en) 2018-12-03 2021-09-21 At&T Intellectual Property I, L.P. Video streaming at mobile edge
KR102830064B1 (ko) 2019-02-13 2025-07-04 삼성전자주식회사 통신시스템에서 데이터 송수신 방법 및 장치
CN110225212B (zh) * 2019-05-21 2021-08-06 中国电子科技集团公司第三十六研究所 一种VoIP语音恢复方法和装置
JP2021022860A (ja) * 2019-07-29 2021-02-18 Kddi株式会社 全二重通信を実行可能なシステムにおける端末装置、基地局装置、制御方法、及びプログラム
KR20220117215A (ko) * 2019-12-20 2022-08-23 소니그룹주식회사 네트워크 엔티티, 사용자 장비 및 방법
EP4091330A4 (en) * 2020-01-13 2023-07-19 Phenix Real Time Solutions, Inc. FLASH CROWD MANAGEMENT IN REAL-TIME STREAMING
US11647419B2 (en) * 2020-03-31 2023-05-09 T-Mobile Usa, Inc. Adjusting window size based on quality of experience
US11337106B2 (en) * 2020-07-30 2022-05-17 Verizon Patent And Licensing Inc. Method and system for application-aware scheduling service
CN114205226B (zh) * 2020-09-18 2023-03-28 华为技术有限公司 一种保障业务应用体验的方法和系统
CN112543490B (zh) * 2020-11-24 2023-07-14 上海擎昆信息科技有限公司 用户设备准入的方法和装置、以及用户设备切换的方法和装置
CN112637896B (zh) * 2020-12-10 2023-04-07 中国联合网络通信集团有限公司 最大聚合速率的分配方法、会话管理功能实体及终端
CN112637069B (zh) * 2020-12-18 2022-05-06 支付宝(杭州)信息技术有限公司 数据报文的传输方法和装置
WO2022167063A1 (en) * 2021-02-03 2022-08-11 Telefonaktiebolaget Lm Ericsson (Publ) An orchestration agent unit and method therein in a communications network
US11601355B2 (en) * 2021-03-16 2023-03-07 Dell Products L.P. Contextual bandwidth management of audio/video conference
US12335771B2 (en) * 2021-07-29 2025-06-17 Dish Wireless L.L.C. Method and system for aggregate maximum bit rate (AMBR) management
US11711279B2 (en) 2021-10-26 2023-07-25 Juniper Networks, Inc. Application records using session information
CN113992587B (zh) * 2021-12-27 2022-03-22 广东睿江云计算股份有限公司 流量控制方法、装置、计算机设备及存储介质
US12160450B2 (en) * 2022-04-05 2024-12-03 Sophos Limited Admission control in a containerized computing environment
CN116614862B (zh) * 2023-07-14 2023-10-20 上海建工七建集团有限公司 一种基于位置区域和收发设备的基站准入控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984982B1 (ko) * 2003-03-17 2010-10-04 퀄컴 인코포레이티드 서비스 품질을 지원하는 통신 시스템에서의 승인 제어 및 자원 할당
US20110019549A1 (en) * 2008-03-31 2011-01-27 Ben Strulo Admission control in a packet network
US20110286468A1 (en) * 2009-02-06 2011-11-24 Fujitsu Limited Packet buffering device and packet discarding method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567416B1 (en) * 1997-10-14 2003-05-20 Lucent Technologies Inc. Method for access control in a multiple access system for communications networks
US7051106B2 (en) * 2000-08-15 2006-05-23 Lucent Technologies Inc. Scheduling of calls with known holding times
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
JP4337375B2 (ja) * 2003-03-14 2009-09-30 株式会社デンソー 情報配信サーバ、受信端末、情報配信システム、予約端末、および予約サーバ
CN101414968B (zh) * 2003-03-17 2011-08-10 高通股份有限公司 无线通信系统中对资源进行调度的方法和设备
US8213422B2 (en) * 2004-06-04 2012-07-03 Rockstar Bidco, LP Selective internet priority service
CN101232441B (zh) * 2004-09-08 2012-01-04 华为技术有限公司 一种ngn中的资源和准入控制子系统及方法
US7397775B2 (en) * 2004-10-18 2008-07-08 Motorola, Inc. Method and apparatus for routing calls
US20060250953A1 (en) * 2005-04-13 2006-11-09 Lucent Technologies, Inc. Quality of service admission control based on congestion of backhaul connection
WO2007006332A1 (en) * 2005-07-14 2007-01-18 Telefonaktiebolaget L M Ericsson (Publ) Arrangement and method relating to handling of ip traffic
CN101277521B (zh) * 2007-03-30 2012-04-25 华为技术有限公司 会话准入控制方法和网络系统
JP2009111498A (ja) * 2007-10-26 2009-05-21 Nec Corp 無線制御装置、無線基地局、無線通信システム、呼受付制御方法、プログラム、及び記録媒体
US7860002B2 (en) * 2008-07-15 2010-12-28 Motorola, Inc. Priority-based admission control in a network with variable channel data rates
WO2010138035A1 (en) * 2009-05-28 2010-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for implementing policy rules in peer-to-peer communication
CN101640908B (zh) * 2009-08-31 2011-08-10 北京邮电大学 一种实现异构网络端到端业务QoS控制的系统和方法
US8711818B2 (en) * 2010-07-30 2014-04-29 Mayflower Communications Company Inc. High performance data transport system and method
US9370043B2 (en) * 2012-02-03 2016-06-14 Qualcomm Incorporated Voice/data hybrid mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984982B1 (ko) * 2003-03-17 2010-10-04 퀄컴 인코포레이티드 서비스 품질을 지원하는 통신 시스템에서의 승인 제어 및 자원 할당
US20110019549A1 (en) * 2008-03-31 2011-01-27 Ben Strulo Admission control in a packet network
US20110286468A1 (en) * 2009-02-06 2011-11-24 Fujitsu Limited Packet buffering device and packet discarding method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030836A1 (ko) * 2020-08-04 2022-02-10 삼성전자 주식회사 전자 장치에서 데이터 통신을 위한 네트워크 제어 방법 및 장치
US12126434B2 (en) 2020-08-04 2024-10-22 Samsung Electronics Co., Ltd. Apparatus and method for controlling network for data communication in electronic device

Also Published As

Publication number Publication date
CN104272706A (zh) 2015-01-07
KR20140147871A (ko) 2014-12-30
EP2839626B1 (en) 2019-09-11
US20130272121A1 (en) 2013-10-17
CN104272706B (zh) 2018-11-02
WO2013158201A1 (en) 2013-10-24
EP2839626A1 (en) 2015-02-25

Similar Documents

Publication Publication Date Title
KR102013729B1 (ko) 통신 네트워크에서 애플리케이션-인식 수락 제어를 위한 방법 및 시스템
US10623928B2 (en) Terminal node, method, storage medium for video data transmission
KR101489414B1 (ko) 통신 네트워크에서 패킷을 우선순위결정 및 스케줄링하기 위한 검출 방법 및 시스템
US10015716B2 (en) Systems and methods for preserving application identification information on handover in a communication network
US10097946B2 (en) Systems and methods for cooperative applications in communication systems
US20140155043A1 (en) Application quality management in a communication system
US20120327779A1 (en) Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
US20140153392A1 (en) Application quality management in a cooperative communication system
KR20140104961A (ko) 정체로 유도된 비디오 스케일링
CN104753812B (zh) 通信系统中的应用质量管理
EP3280208B1 (en) Cooperative applications in communication systems
EP3179812B1 (en) Cooperative applications in communication systems

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20141027

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20170210

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20171130

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20181214

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190626

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20190819

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20190820

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220805

Start annual number: 4

End annual number: 4