KR20120103749A - 통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응 - Google Patents

통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응 Download PDF

Info

Publication number
KR20120103749A
KR20120103749A KR1020127021080A KR20127021080A KR20120103749A KR 20120103749 A KR20120103749 A KR 20120103749A KR 1020127021080 A KR1020127021080 A KR 1020127021080A KR 20127021080 A KR20127021080 A KR 20127021080A KR 20120103749 A KR20120103749 A KR 20120103749A
Authority
KR
South Korea
Prior art keywords
data transfer
network
rate
transfer rate
congestion
Prior art date
Application number
KR1020127021080A
Other languages
English (en)
Other versions
KR101546567B1 (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 KR20120103749A publication Critical patent/KR20120103749A/ko
Application granted granted Critical
Publication of KR101546567B1 publication Critical patent/KR101546567B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0284Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/12Flow control between communication endpoints using signalling between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • 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/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephone Function (AREA)

Abstract

레이트 적응(rate adaptation)에 의해 통신 시스템에서 혼잡 레벨에 대응하기 위한 방법, 장치, 및 컴퓨터 프로그램 제품이 개시된다. 데이터 패킷을 마킹(marking)함으로써 혼잡 조건이 표시된다. 혼잡 표시를 수신하는 것에 응답하여, 데이터 레이트가 감소된다. 레이트 감소 금지 타이머가 시작되고, 레이트 감소 금지 타이머가 만료된 후에 혼잡이 표시된다면 부가의 레이트 감소가 개시된다. 레이트 증가 시간 동안 어떠한 혼잡 표시도 수신되지 않는 경우 레이트 증가 타이머가 레이트 증가를 개시하는데 사용된다.

Description

통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응{EXPLICIT CONGESTION NOTIFICATION BASED RATE ADAPTATION USING BINARY MARKING IN COMMUNICATION SYSTEMS}
본 개시는 일반적으로 통신 시스템에 관한 것으로, 보다 상세하게는 통신 시스템에서의 혼잡(congestion)에 대응하기 위한 방법 및 장치에 관한 것이다.
이동 또는 셀룰러 전화 시스템은 사용자 기기 또는 애플리케이션과 네트워크 기기 사이에 데이터를 전송 및 수신할 수 있는 통신 시스템의 예이다. 전송 및 수신된 데이터는 데이터 패킷의 형태일 수 있다. 전송된 데이터 패킷은 다양한 포맷으로 이루어질 수 있고, 음성 데이터, 이진 데이터, 비디오 데이터 등을 비롯한 다양한 상이한 유형의 데이터를 포함할 수 있다.
이동 또는 셀룰러 전화 통신 시스템과 같은 통신 시스템에서, 이동 전화와 같은 사용자의 이동 디바이스와 나머지 시스템 사이에 데이터 패킷이 전달되는 통신 레이트 또는 비트레이트를 확립하는데 다양한 방법이 사용된다. 예를 들어, 적응형 멀티레이트(AMR; Adaptive MultiRate) 또는 적응형 멀티레이트-광대역(AMR-WB; Adaptive Multirate-Wideband) 전송이 사용되는 경우, 호 설정에서 모드 세트(mode set)가 세션 기술 프로토콜(SDP; Session Description Protocol)을 통해 협상된다. 세션 기술 프로토콜 파라미터 "mode-set"은 호 중에 사용될 수 있는 비트레이트들의 서브세트를 나타내는 값을 취한다. 값은 적응형 멀티레이트 전송의 경우 세트 {0,...,7}로부터 선택되고, 적응형 멀티레이트-광대역 전송의 경우 세트 {0,...,8}으로부터 선택된다. 사용될 값은 예를 들어 호 설정 시에 이동 디바이스와 나머지 네트워크 사이의 검출된 신호 강도에 기초하여 선택될 수 있다. 송신자가 음성(speech)을 인코딩할 때, 모드 세트에서의 비트레이트 중의 하나를 사용하여야 한다. 그 다음, 인코딩하는데 사용된 모드는 실시간 전송 프로토콜(Real-Time Transport Protocol) 페이로드의 코덱 모드 표시(CMI; Codec Mode Indication) 필드에서 수신기에 표시된다.
LTE(Long Term Evolution)의 경우, 코덱 레이트 적응(codec rate adaptation)에 관한 관련 사양은 3GPP TS 26.114이며, 이는 MTSI(Multimedia Telephony Services over IP Multimedia Subsystem)을 명시하고 있다. 이 사양에는 여러 가지 적응 수단이 포함되어 있다. 예를 들어, 비트 레이트, 패킷당 프레임 수, 및 패킷당 리던던트(redundant) 프레임의 양은 모두 인코딩된 미디어의 수신기로부터의 요청에 따라 적응될 수 있다. 이들 요청은 일반적으로 RTCP APP(RTP Control Protocol Application Defined) 패킷에 포함된다.
적시에 시스템을 통한 전송을 위해 데이터 패킷을 처리하기 위한 네트워크 시스템에 대한 요구가 네트워크 용량을 초과할 경우 통신 시스템에서 문제가 생긴다. 이러한 상황에서, 네트워크는 혼잡(congestion)을 경험하고 있다고 한다. 이러한 혼잡에 대한 통상의 대응은 네트워크가 단순히 사용자 애플리케이션 또는 기기로부터 수신되거나 이에 전송될 패킷을 드롭시키는 것이며, 이는 네트워크에 의해 적시에 처리될 수가 없다.
명시적 혼잡 통지(ECN; Explicit Congestion Notification)는 네트워크가 혼잡을 경험하고 있음을 네트워크가 사용자 애플리케이션에 표시하는 방법이다. 이러한 통지를 수신하는 것에 응답하여, 사용자 애플리케이션 또는 기기는 패킷이 드롭되는 것을 피하기 위하여 그의 송신 레이트를 감소시킬 수 있다. 예를 들어, 명시적 혼잡 통지는 패킷을 처리하는 네트워크 요소에 의해 혼잡이 경험되고 있음을 표시하는 "11"로서 패킷의 인터넷 프로토콜(IP; Internet Protocol) 헤더에 2 비트를 마킹(marking)함으로써 구현될 수 있다. 피드백 메커니즘을 통해, 패킷의 송신자에게 혼잡이 알려지고, 그 다음 그의 송신 레이트를 감소시킬 수 있다.
최근까지는, 사용자 데이터그램 프로토콜(UDP; User Datagram Protocol) 트래픽에 명시적 혼잡 통지(Explicit Congestion Notification)를 어떻게 적용할지 명시되지 않았다. 사용자 데이터그램 프로토콜 자체는 피드백 메커니즘을 포함하지 않는다. 그러나, 음성, 비디오, 실시간 텍스트 등과 같은 대부분의 실시간 애플리케이션은 사용자 데이터그램 프로토콜에 대해 실시간 전송 프로토콜(RTP; Real-time Transport Protocol)을 사용하며, 이는 피드백 메커니즘, 즉 RTP 제어 프로토콜(RTCP; RTP Control Protocol)을 갖는다. 실시간 전송 프로토콜을 이용해 명시적 혼잡 통지를 사용하는 것이 제안되었다. 이 제안에서는, "혼잡 경험(Congestion Experienced)"이라 마킹되어 있는 인터넷 프로토콜 패킷의 수신자가 이 정보를 RTP 제어 프로토콜 피드백 패킷을 통해 송신자에게 전달한다. 그 다음, 송신자는 혼잡을 감소시키기 위하여 그의 비트레이트를 감소시킬 수 있다. 적응형 멀티레이트(AMR) 또는 적응형 멀티레이트-광대역(AMR-WB) 전송의 경우, 송신자는 혼잡을 감소시키도록 그의 전송 모드를 변경할 수 있다.
대안으로서, "혼잡 경험"으로 마킹된 패킷의 수신자는 송신자가 그의 비트레이트를 감소시킬 것을 요청하도록 실시간 전송 프로토콜 페이로드 내의 코덱 모드 요청(CMR; Codec Mode Request) 필드를 사용할 수 있다. 이는 네트워크가 이미 혼잡할 때 송신자에게 어느 패킷이 "혼잡 경험"으로 마킹되었는지 전달하기 위하여 추가의 RTP 제어 프로토콜 트래픽이 생성되지 않는다는 이점을 갖는다. 이는 데이터 패킷 흐름이 단방향일 경우 비트레이트를 제어하는데 사용될 수 없다는 단점을 갖는다. 실시간 전송 프로토콜 페이로드에 코덱 모드 요청 필드를 갖지 않는 코덱에 대하여 그리고 기타 미디어 유형에 대하여, 그의 비트레이트를 감소시키도록 송신자에게 요청하기 위해 임시 최대 미디어 스트림 비트 레이트 요청(TMMBR; Temporary Maximum Media Stream Bit Rate Request)이 사용될 수 있다.
상기 설명된 문제의 적어도 일부 뿐만 아니라 가능하면 다른 문제도 고려한 방법 및 장치를 갖는 것이 유리할 것이다.
레이트 적응(rate adaptation)에 의해 통신 시스템에서 혼잡 레벨에 대응하기 위한 방법, 장치, 및 컴퓨터 프로그램 제품이 개시된다. 데이터 패킷을 마킹(marking)함으로써 혼잡 조건이 표시된다. 혼잡 표시를 수신하는 것에 응답하여, 데이터 레이트가 감소된다. 레이트 감소 금지 타이머가 시작되고, 레이트 감소 금지 타이머가 만료된 후에 혼잡이 표시된다면 부가의 레이트 감소가 개시된다. 레이트 증가 시간 동안 어떠한 혼잡 표시도 수신되지 않는 경우 레이트 증가 타이머가 레이트 증가를 개시하는데 사용된다.
본 발명에 따라 통신 시스템에서 이진 마킹(binary marking)을 사용한 명시적 혼잡 통지 기반의 레이트 적응을 제공할 수 있다.
여기에 기재된 다양한 실시예의 보다 나은 이해를 위해 그리고 어떻게 실시될 수 있을지 보다 명확하게 나타내도록, 이제 단지 예로써 적어도 하나의 예시적인 실시예를 도시하는 첨부 도면을 참조할 것이다.
도 1은 예시적인 실시예에 따라 무선 네트워크 및 사용자 기기를 포함하는 무선 통신 시스템의 실시예의 블록도이다.
도 2는 예시적인 실시예에 따른 무선 네트워크의 블록도이다.
도 3은 예시적인 실시예에 따른 사용자 기기의 실시예의 블록도이다.
도 4는 도 3의 사용자 기기의 통신 서브시스템 컴포넌트의 실시예의 블록도이다.
도 5는 예시적인 실시예에 따라 도시된 데이터 프로세싱 시스템의 블록도이다.
도 6은 예시적인 실시예에 따른 통신 환경을 예시한 블록도이다.
도 7은 예시적인 실시예에 따른 코덱 레이트 감소의 예를 예시한다.
도 8은 예시적인 실시예에 따른 코덱 레이트 증가의 예를 예시한다.
도 9는 예시적인 실시예에 따른 코덱 레이트 감소 방법의 흐름도이다.
도 10은 예시적인 실시예에 따른 코덱 레이트 증가 방법의 흐름도이다.
도 11은 예시적인 실시예에 따른 다른 코덱 레이트 증가 방법의 흐름도이다.
도 12는 예시적인 실시예에 따른 코덱 레이트 적응 방법의 흐름도이다.
적합하게 간주되는 예시를 단순하고 명확하게 하기 위해 대응하거나 유사한 요소를 나타내도록 도면들 간에 참조 번호가 반복될 수 있다는 것을 알 것이다. 또한, 다수의 특정 세부사항은 여기에 기재된 실시예의 철저한 이해를 제공하기 위하여 설명되는 것이다. 그러나, 당해 기술 분야에서의 숙련자라면 여기에 기재된 실시예가 이들 특정 세부사항 없이도 실시될 수 있다는 것을 이해할 것이다. 다른 경우로, 잘 알려진 방법, 절차 및 컴포넌트는 여기에 기재되는 실시예를 모호하게 하지 않도록 상세하게 기재되지 않았다. 또한, 설명은 여기에 기재된 실시예의 범위를 한정하는 것으로 간주되어서는 안된다.
여기에 개시된 다양한 실시예들은 다수의 상이한 고려사항을 인지하고 고려한다. 예를 들어, 개시된 실시예에서는, 혼잡이 경험되고 있음을 표시하도록 마킹된 패킷이 관찰되었을 때, 송신자의 비트레이트가 어떻게 감소되어야 할지 현행 통신 시스템 사양은 기술하지 못함을 인지하고 고려한다. 예를 들어, 12.2 kbps, 7.4 kbps, 5.9 kbps, 및 4.75 kbps의 비트레이트에 대응하는, IP 멀티미디어 서브시스템에 대한 멀티미디어 전화 서비스에 대한 적응형 멀티레이트 스피치 코덱 및 디폴트 적응형 멀티레이트 모드 세트가 사용되는 시나리오를 고려하자. 송신자가 현재 12.2 kbps 비트레이트를 사용하고 있고 "혼잡 경험"이라 마킹된 패킷이 관찰되는 경우, 현행 사양은 송신자가 어떻게 대응할지 명시하고 있지 않다. 이 경우에, 대응 옵션은, 4.75 kbps까지 이어지도록 즉시 점핑시키거나, 모드 설정 내의 다음으로 가장 낮은 레이트로 스텝 다운(step down)시키고, 그 다음 "혼잡 경험" 마킹된 패킷이 계속해서 관찰되면, 다시 스텝 다운시키는 것을 포함한다. 개시된 실시예에서는, 혼잡이 덜해진 경우 비트레이트가 어떻게 백업 적응되어야 할지 현행 사양은 명시하지 않음을 인지하고 고려한다. 또한, 개시된 실시예는, 명시적 혼잡 통지에 응답하여 비트레이트를 적응시키는 시스템 또는 방법에 관련하여 사용자 우선순위 및 긴급 호가 어떻게 처리되어야 할지 현행 사양은 명시하지 않음을 인지하고 고려한다.
개시된 실시예에서는, 명시적 혼잡 통지(Explicit Congestion Notification)에 대한 현행 솔루션은 단지 혼잡의 이진 표시 또는 온/오프만을 채용함을 인지하고 고려한다. 혼잡이 경험되고 있거나 아니면 그렇지 않음을 나타내도록 데이터 패킷이 마킹된다. 개시된 실시예는, 명시적 혼잡 통지를 위해 이진 "혼잡 경험" 마킹을 채용하는 통신 시스템에서 코덱 선택 및 적응을 위한 메커니즘이 필요하다는 것을 인지하고 고려한다.
개시된 실시예는 UTRAN 또는 EUTRAN 네트워크에서의 인터넷 프로토콜 트래픽이 매우 동적일 수 있음을 인지하고 고려한다. 이 검출에 기초한 데이터 패킷의 혼잡 검출 및 이진 "혼잡 경험" 표시는 매우 잡음이 있을 수 있고(noisy) 혼동하기(oscillation) 쉬울 수 있다. 이는 명시적 혼잡 통지를 사용하는 매우 불안정한 코덱 적응 기반의 네트워크 혼잡 제어를 초래할 수 있다. 빈번하고 불필요한 적응은 사용자에 의한 인지 품질에 악영향을 미칠 수 있다.
여기에 개시된 실시예는 수신 단말기가 "혼잡 경험" 마킹되거나 마킹되지 않은 데이터 패킷을 수신할 때 통신 시스템에서의 레이트 적응을 위한 시스템 및 방법을 제공한다. 개시된 실시예에 따라, 마킹된 패킷의 전송에 의해 혼잡은 검출된 것으로서 표시되고, 마킹되지 않은 패킷의 전송에 의해 혼잡은 클리어된(cleared) 것으로서 표시된다. 검출되어진 마킹되거나 마킹되지 않은 패킷에 기초하여, 데이터 패킷의 수신자는 수신기 상에서 구성되거나 네트워크에 의해 제공되는 시퀀스(sequence)에 기초하여 레이트 감소 또는 증가를 결정한다. 레이트 적응이 필요한 것으로 결정되는 경우, 수신기는 송신자에게 결정된 레이트와 함께 코덱 레이트 변경 요청을 보낼 수 있다.
여기에 개시된 실시예는 특히 UTRAN(UMTS Terrestrial Radio Access Network) 또는 E-UTRAN(Evolved UTRAN)에서 이진 "혼잡 경험" 마킹을 사용하는 명시적 혼잡 통지 기반의 코덱 적응을 위한 메커니즘에 관한 것이다. LTE(Long Term Evolution)의 경우, 코덱 레이트 적응에 관한 관련 사양은 3GPP TS 26.114이며, 이는 MTSI(Multimedia Telephony Services over IP Multimedia Subsystem)을 명시하고 있다. 예시적인 실시예는 다른 통신 시스템 및 무선 또는 고정 네트워크에도 적용 가능하다.
먼저 도 1을 참조하면, 예시적인 실시예에 따른 무선 통신 시스템이 도시되어 있다. 무선 통신 시스템(100)은 무선 네트워크(102)를 포함한다. 무선 네트워크(102)는 단일 네트워크 또는 네트워크의 망을 형성하는 다수의 네트워크를 포함할 수 있다. 무선 네트워크(102)는 사용자 기기(104, 106 및 108)와 무선 네트워크(102) 사이에 확립된 무선 통신 채널(110, 112 및 114)을 통하여 사용자 기기(104, 106, 108)에 의해 무선 통신을 제공한다. 아래에 보다 상세하게 설명되듯이, 사용자 기기(104, 106, 108)의 예는 페이저, 셀룰러 전화, 셀룰러 스마트폰, 무선 조직자, PDA, 컴퓨터, 랩톱, 핸드헬드 무선 통신 디바이스, 무선 가능 노트북 컴퓨터 등을 포함하는 이동 무선 통신 디바이스를 포함한다. 도 1에서는 예로써 3개의 사용자 기기(104, 106, 108)만 도시되어 있지만, 무선 네트워크(102)는 다양한 상이한 유형의 사용자 기기의 더 많은 수의 사용을 지원할 수 있다.
무선 통신 채널(110, 112, 및 114)은 사용자 기기(104, 106, 108)와 무선 네트워크(102)의 개별 노드(116, 118, 및 120) 사이에 동적으로 확립된다. 채널(110, 112, 및 114)은 예를 들어 사용자 기기(104, 106, 108)의 하나에 대한 호가 개시될 때 확립될 수 있다. 통신 채널(110, 112, 및 114)의 특정 특성은 호 설정시 확립된다. 예를 들어, 이러한 특성은 호 동안 통신 채널(110, 112 또는 114)에 의해 채용될 코덱을 포함할 수 있다. 예를 들어, 사용될 코덱은 호 설정시 사용자 기기(104, 106, 108)와 네트워크(102)의 노드(116, 118 또는 120) 중의 대응하는 노드 사이의 신호 강도 또는 신호 품질과 같은 요인에 기초하여 선택될 수 있다. 도 1에서는 예로써 3개의 노드(116, 118, 및 120)만 도시되어 있지만, 무선 네트워크(102)는 더 많은 수의 이러한 노드를 포함할 수 있다.
네트워크(102)는 네트워크 노드(116, 118, 및 120)를 사용하여 사용자 기기(104, 106, 108) 사이에 데이터 패킷을 전송하도록 동작한다. 네트워크(102)는 또한 사용자 기기(104, 106, 108)와 종래의 PSTN(public switched telephone network)(122)나 인터넷과 같은 기타 공공 또는 사설 네트워크(124)와 같은 기타 네트워크 사이에 데이터 패킷을 전송하도록 동작할 수 있다. 기타 네트워크(122 및 124)에 대한 데이터 패킷의 이 전송은 또한 네트워크 노드(116, 118, 및 120)를 사용한다. 노드(116, 118 및 120) 중 하나 이상을 통한 데이터 패킷 트래픽이 증가함에 따라, 사용자 기기(104, 106, 108)에 대해 적시에 패킷을 처리하고 전송해야 할 네트워크(102)의 용량이 초과될 수 있다. 이 경우, 네트워크(102), 또는 하나 이상의 네트워크 노드(116, 118, 또는 120)는 혼잡하다고 한다. 여기에 개시된 실시예는 이러한 네트워크 혼잡이 발생할 때 지능적으로 그리고 보다 효과적으로 대응하기 위한 개선된 시스템 및 방법을 제공한다.
이제 도 2를 참조하면, 예시적인 실시예가 구현될 수 있는 무선 네트워크(102)의 구현의 블록도가 제시된다. 무선 네트워크(102)는 예를 들어 UTRAN일 수 있다. 그러나, 예시적인 실시예는 LTE 기술을 사용한 무선 네트워크와 같이 다른 유사하거나 상이한 통신 네트워크에서 구현될 수 있다. 예시적인 실시예는 또한 GPRS(General Packet Radio Service) 및 GSM(Global Systems for Mobile) 기술에 따라 구성된 무선 네트워크에서 구현될 수 있다.
무선 네트워크(102)는 노드(202)를 포함한다. 이 예에서, 노드(202)는 도 1의 노드(116, 118, 또는 120)의 하나의 예이다. 상기 언급한 바와 같이, 실시에서, 무선 네트워크(102)는 노드(202)의 하나 이상을 포함한다. 예를 들어, 노드(202)는 UTRAN에서는 노드 B(Node B)로서 또는 LTE 네트워크에서는 진화된 노드 B(eNodeB)로서 구현될 수 있다.
노드(202)는 기지국 트랜시버로 지칭될 수 있다. 노드(202)는 하나 이상의 안테나(207)에 연결된 하나 이상의 무선 주파수 송신기(204)와 수신기(206)를 포함한다. 송신기(204) 및 수신기(206)는 무선 통신 채널(110)을 통해 사용자 기기(104)와 같은 이동 디바이스와 직접 통신하도록 노드(202)에 의해 사용된다. 노드(202)는 일반적으로 "셀"이라 불리는 특정 커버리지 영역에 대한 무선 네트워크 커버리지를 제공한다. 노드(202)는 또한 노드(202)에 의해 제공된 기능을 구현하기 위한 컴퓨터 데이터 프로세싱 시스템과 같은 하나 이상의 프로세싱 시스템(208)을 포함한다.
노드(202)는 무선 네트워크 컨트롤러(210)에 연결되어 이에 의해 제어된다. 다수의 노드(202)는 예시적인 실시예에 따라 네트워크(102)에서 무선 네트워크 컨트롤러(210)에 연결될 수 있다. 무선 네트워크 컨트롤러(210)는 이에 연결되어 있는 모든 노드(202)를 제어하는 일을 담당한다. 무선 네트워크 컨트롤러(210)는 무선 채널들의 관리 및 일부 이동성 관리 기능과 같은 무선 자원 관리를 수행한다. 무선 네트워크 컨트롤러(210)는 사용자 데이터가 사용자 기기(104)에 대해 보내지기 전에 암호화가 행해지는 지점일 수 있다.
무선 네트워크 컨트롤러(210)는 코어 네트워크(212)에 접속한다. 다수의 무선 네트워크 컨트롤러(210)가 코어 네트워크(212)에 연결될 수 있다. 코어 네트워크(212)의 주요 기능은 네트워크(102) 상의 사용자 기기 및 네트워크(120) 상의 사용자 기기와, PSTN(122) 및 인터넷과 같은 기타 공공 또는 사설 네트워크(124)와 같은 기타 네트워크 상의 사용자 사이의 데이터 패킷의 라우팅을 제공하는 것이다. UMTS 네트워크에서 코어 네트워크(212)에 의해 제공되는 기능은 예를 들어 미디어 게이트웨이 및 서빙 GPRS(General Packet Radio Service) 지원 노드(SGSN; Serving GPRS Support Node)에 의해 구현될 수 있다. 미디어 게이트웨이는 분리된 통신 네트워크들 사이에 디지털 미디어 스트림을 변환하는 번역(translation) 디바이스 또는 서비스이다. 미디어 게이트웨이는 ATM(Asynchronous Transfer Mode) 및 인터넷 프로토콜(IP; Internet Protocol)과 같은 다수의 전송 프로토콜을 통해 네트워크에 걸친 멀티미디어 통신을 가능하게 한다. SGSN은 그의 지리학적 서비스 영역 내의 이동 사용자 기기에 대한 데이터 패킷의 전달을 담당한다. 이의 작업은 패킷 라우팅 및 전송, 이동성 관리, 논리 링크 관리, 및 인증 및 부과 기능을 포함할 수 있다. LTE 네트워크에서는, 예를 들어 이동성 관리 엔티티(MME; mobility management entity), 서빙 게이트웨이(SGW; serving gateway) 및 PDN(packet data network) 게이트웨이(PGW; PDN gateway)에 의해 코어 네트워크(212)에서 유사한 기능이 제공될 수 있다.
도 2에 관련하여 제시된 컴포넌트의 리스트는 무선 네트워크의 컴포넌트의 총체적인 리스트를 의미하는 것이 아니라, 무선 네트워크(102)를 통한 통신에 일반적으로 사용되는 컴포넌트의 리스트이다.
사용자 기기(104)는 상기 기재된 바와 같이 트랜시버 스테이션 또는 노드의 네트워크를 통해 다른 사용자 기기 또는 컴퓨터 시스템과 통신할 수 있는 능력을 포함한 진보된 데이터 통신 능력을 갖는 양방향 통신 디바이스이다. 사용자 기기(104)는 또한 음성 통신을 가능하게 하는 능력을 가질 수 있다. 사용자 기기(104)에 의해 제공되는 기능에 따라, 이는 데이터 메시징 디바이스, 양방향 페이저, 데이터 메시징 능력을 갖춘 셀룰러 전화, 무선 인터넷 기기, 또는 전화 능력이 있거나 없는 데이터 통신 디바이스로 지칭될 수 있다.
도 3에는 사용자 기기(300)의 예시적인 실시예의 블록도가 도시되어 있다. 이 예에서, 사용자 기기(300)는 도 1 및 도 2의 사용자 기기(104)의 예이다. 사용자 기기(300)는 사용자 기기(300)의 전반적인 동작을 제어하는 메인 프로세서(302)와 같은 다수의 컴포넌트를 포함한다. 데이터 및 음성 통신을 비롯한 통신 기능이 통신 서브시스템(304)을 통해 수행된다. 통신 서브시스템(304)은 상기 기재된 바와 같이 무선 네트워크(102)로부터 메시지를 수신하고 무선 네트워크(102)에 메시지를 보낸다. 사용자 기기(300)의 이 예시적인 실시예에서, 통신 서브시스템(304)은 UTRAN을 사용하는 UMTS 기술 또는 E-UTRAN을 사용하는 LTE 기술에 따라 구성될 수 있다. 대안으로서, 통신 서브시스템(304)은 GSM 및 GPRS 표준에 따라 구성될 수 있다. 새로운 표준이 여전히 정의되고 있지만, 이들은 여기에 기재된 네트워크 거동과의 유사성을 가질 것이며, 또한 당해 기술 분야에서의 숙련자라면 여기에 기재된 실시예는 미래에 개발되는 임의의 기타 적합한 표준을 사용하고자 한다는 것을 이해할 것이다.
통신 서브시스템(304)을 무선 네트워크(102)와 접속시키는 무선 링크는 채용되는 특정 통신 기술에 대해 명시되어진 정의된 프로토콜에 따라 동작하는 하나 이상의 상이한 무선 주파수(RF; radio frequency) 채널을 나타낸다. 보다 새로운 네트워크 프로토콜로써, 이들 채널은 회선 교환 음성 통신 및 패킷 교환 데이터 통신 둘 다 지원할 수 있다.
기타 무선 네트워크는 또한 다양한 구현에서 사용자 기기(300)와 연관될 수 있다. 채용될 수 있는 다양한 유형의 무선 네트워크는 예를 들어 데이터 중심 무선 네트워크, 음성 중심 무선 네트워크, 및 동일한 물리적 기지국을 통해 음성 및 데이터 통신 둘 다 지원할 수 있는 듀얼 모드 네트워크를 포함할 수 있다. 조합된 듀얼 모드 네트워크는 CDMA(Code Division Multiple Access) 또는 CDMA 2000 네트워크, 상기 언급한 바와 같은 GSM/GPRS 네트워크, EDGE와 UMTS와 같은 3G 네트워크, 및 LTE 네트워크를 포함하지만, 이에 한정되는 것은 아니다. 데이터 중심 네트워크의 일부 기타 예로는 WiFi 802.11, MobitexTM 및 DataTACTM 네트워크 통신 시스템을 포함한다. 다른 음성 중심 네트워크는 GSM과 같은 PCS 네트워크 및 TDMA(Time Division Multiple Access) 시스템을 포함한다.
메인 프로세서(302)는 RAM(306), 플래시 메모리(308), 디스플레이(310), 보조 입력/출력(I/O) 서브시스템(312), 데이터 포트(314), 키보드(316), 스피커(318), 마이크로폰(320), 단거리 통신(322) 및 기타 디바이스 서브시스템(324)과 같은 추가의 서브시스템과 상호작용한다.
사용자 기기(300)의 서브시스템의 일부는 통신 관련 기능을 수행하는 반면에, 다른 서브시스템은 "상주형" 또는 온디바이스(on-device) 기능을 제공할 수 있다. 예로써, 디스플레이(310) 및 키보드(316)는 네트워크(102)를 통한 전송을 위해 텍스트 메시지를 입력하는 것과 같은 통신 관련 기능 및 계산기나 작업 리스트와 같은 디바이스 상주형 기능 둘 다에 사용될 수 있다.
사용자 기기(300)는 요구되는 네트워크 등록 또는 활성화 절차가 완료된 후에 무선 네트워크(102)를 통해 통신 신호를 송신 및 수신할 수 있다. 네트워크 액세스는 사용자 기기(300)의 가입자 또는 사용자와 연관된다. 가입자를 식별하기 위해, 사용자 기기(300)는 네트워크와 통신하기 위하여 SIM(Subscriber Identity Module)/RUIM(Removable User Identity Module) 인터페이스(328) 안으로 삽입될 SIM 또는 RUIM 카드(326)를 필요로 한다. SIM 또는 RUIM 카드(326)는 무엇보다도 사용자 기기(300)의 가입자를 식별하고 사용자 기기(300)를 개인화하는데 사용될 수 있는 종래의 "스마트 카드"의 한 유형이다. SIM 또는 RUIM 카드(326)는 정보를 저장하기 위한 메모리 및 프로세서를 포함한다.
카드(326)가 없으면, 사용자 기기(300)는 무선 네트워크(102)와의 통신에 완전히 동작하지 못한다. SIM/RUIM 인터페이스(328) 안으로 SIM 또는 RUIM 카드(326)를 삽입함으로써, 가입자는 모든 가입된 서비스에 액세스할 수 있다. 서비스는 이메일, 음성 메일, 단문 메시지 서비스(SMS), 및 멀티미디어 메시징 서비스(MMS)와 같은 웹 브라우징 및 메시징을 포함할 수 있다. 보다 진보된 서비스는 POS(point of sale), 필드 서비스 및 SFA(sales force automation)를 포함할 수 있다. SIM 또는 RUIM 카드(326)가 SIM/RUIM 인터페이스(328) 안으로 삽입되면, 이는 메인 프로세서(302)에 연결된다. 가입자를 식별하기 위하여, SIM 또는 RUIM 카드(326)는 IMSI(International Mobile Subscriber Identity)와 같은 사용자 파라미터를 포함할 수 있다. SIM 또는 RUIM 카드(326)를 사용하는 것의 이점은 가입자가 반드시 임의의 단일 물리적 사용자 기기에 구속되지 않아도 된다는 것이다. SIM 또는 RUIM 카드(326)는 일정이나 달력 정보 및 최근 통화 정보를 포함한 사용자 기기에 대한 추가적인 가입자 정보도 저장할 수 있다. 대안으로서, 사용자 식별 정보는 또한 플래시 메모리(308)로 프로그래밍될 수 있다.
사용자 기기(300)는 배터리 전원 디바이스이고 하나 이상의 재충전 가능한 배터리(330)를 수용하기 위한 배터리 인터페이스(332)를 포함한다. 적어도 일부 실시예에서, 배터리(330)는 내장된 마이크로프로세서를 구비한 스마트 배터리일 수 있다. 배터리 인터페이스(332)는 레귤레이터(도시되지 않음)에 연결되며, 레귤레이터는 배터리(330)가 사용자 기기(300)에 전력 V+을 제공하는 것을 보조한다. 현행 기술은 배터리(330)를 사용하지만, 마이크로 연료 전지와 같은 미래 기술이 사용자 기기(300)에 전력을 제공할 수 있다.
사용자 기기(300)는 또한 운영 시스템(334) 및 기타 프로그램(336)을 포함한다. 프로그램(336)은 아래에 보다 상세하게 기재된다. 운영 시스템(334) 및 프로그램(336)은 메인 프로세서(302)에 의해 실행되는 소프트웨어 컴포넌트로서 구현될 수 있다. 운영 시스템(334) 및 프로그램(336)은 통상적으로 메인 프로세서(302)와 같은 프로세서에 의해 판독 가능한 매체 상에 프로그램 코드로서 저장된다. 이러한 판독 가능한 저장 매체는 플래시 메모리(308)와 같은 영구 저장 디바이스를 포함할 수 있으며, 이는 대안으로서 판독 전용 메모리(ROM) 또는 유사한 저장 요소일 수 있다. 당해 기술 분야에서의 숙련자라면, 특정 디바이스 애플리케이션과 같은 운영 시스템(334) 및 프로그램(336)의 일부 또는 이의 부분이 RAM(306)과 같은 휘발성 저장 디바이스로 임시 로딩될 수 있다는 것을 알 것이다. 당해 기술 분야에서의 숙련자에게 잘 알려져 있는 대로, 다른 소프트웨어 컴포넌트도 또한 포함될 수 있다.
데이터 및 음성 통신 애플리케이션을 비롯한 기본 디바이스 동작을 제어하는 프로그램(336)은 보통 그의 제조 중에 사용자 기기(300)에 설치될 것이다. 기타 프로그램(336)은 메시지 애플리케이션(338)을 포함한다. 메시지 애플리케이션(338)은 사용자 기기(300)의 사용자가 전자 메시지를 보내고 받을 수 있게 해주는 임의의 적합한 소프트웨어 프로그램일 수 있다. 당해 기술 분야에서의 숙련자에게 잘 알려져 있듯이, 메시지 애플리케이션(338)에 대한 다양한 대안이 존재한다. 사용자에 의해 보내지거나 받아진 메시지는 통상적으로 사용자 기기(300)의 플래시 메모리(308) 또는 사용자 기기(300)의 일부 기타 적합한 저장 요소에 저장된다. 적어도 일부 실시예에서, 보내지거나 받은 메시지의 일부는 사용자 기기(300)가 통신하는 연관된 호스트 시스템의 데이터 저장소와 같이 사용자 기기(300)로부터 원격으로 저장될 수 있다.
프로그램(336)은 디바이스 상태 모듈(340), PIM(personal information manager)(342), 및 기타 적합한 모듈을 더 포함할 수 있다. 디바이스 상태 모듈(340)은 영구성(persistence)을 제공하며, 즉 디바이스 상태 모듈(340)은 사용자 기기(300)가 전원이 꺼졌거나 전력이 없어졌을 때 데이터가 손실되지 않도록 플래시 메모리(308)와 같은 영구 메모리에 중요한 디바이스 데이터가 저장되는 것을 보장한다.
PIM(342)은 이메일, 연락처, 달력 이벤트, 음성 메일, 일정 및 작업 항목과 같은(이에 한정되는 것은 아님) 사용자가 관심있는 데이터 항목을 조직화 및 관리하는 기능을 제공한다. PIM 애플리케이션은 무선 네트워크(102)를 통해 데이터 항목을 보내고 받을 수 있는 능력을 갖는다. PIM 데이터 항목은 사용자 기기 가입자의 대응하는 데이터 항목이 호스트 컴퓨터 시스템에 저장되거나 연관되도록 무선 네트워크(102)를 통해 끊김없이 통합, 동기화 및 업데이트될 수 있다. 이 기능은 이러한 항목에 관련하여 사용자 기기(300) 상에 미러 호스트 컴퓨터를 생성한다. 이는 특히 호스트 컴퓨터 시스템이 사용자 기기 가입자의 사무실 컴퓨터 시스템일 때 유리할 수 있다.
사용자 기기(300)는 또한 접속 모듈(344) 및 IT 정책 모듈(346)을 포함한다. 접속 모듈(344)은 사용자 기기(300)가 인터페이스하도록 권한이 주어진 엔터프라이즈 시스템과 같은 무선 인프라스트럭쳐 및 임의의 호스트 시스템과 통신하도록 사용자 기기(300)에 대하여 필요한 통신 프로토콜을 구현한다.
접속 모듈(344)은 사용자 기기(300)가 엔터프라이즈 시스템과 연관된 임의의 수의 서비스를 사용할 수 있도록 사용자 기기(300)와 함께 통합될 수 있는 API 세트를 포함한다. 접속 모듈(344)은 사용자 기기(100)가 호스트 시스템과의 단대단 보안 인증된 통신 파이프를 확립할 수 있게 해준다. 접속 모듈(344)에 의해 액세스가 제공되는 애플리케이션의 서브세트는 호스트 시스템으로부터 사용자 기기(300)에 IT 정책 커맨드를 전달하는데 사용될 수 있다. 이는 무선 또는 유선 방식으로 행해질 수 있다. 그 다음 이들 명령은 사용자 기기(300)의 구성을 수정하도록 IT 정책 모듈(346)로 전달될 수 있다. 대안으로서, 일부 경우에, IT 정책 업데이트는 또한 유선 접속을 통해 행해질 수 있다.
IT 정책 모듈(346)은 IT 정책을 인코딩한 IT 정책 데이터를 수신한다. 그러면 IT 정책 모듈(346)은 사용자 기기(300)에 의해 IT 정책 데이터가 인증됨을 보장한다. 그 다음, IT 정책 데이터는 그 원래 형태로 플래시 메모리(306)에 저장될 수 있다. IT 정책 데이터가 저장된 후에, 글로벌 통지가 IT 정책 모듈(346)에 의해 사용자 기기(300) 상에 상주하는 모든 애플리케이션으로 보내질 수 있다. 그러면 IT 정책이 적용 가능한 애플리케이션은 적용 가능한 IT 정책 규칙을 찾도록 IT 정책 데이터를 읽어들임으로써 응답한다. 적용 가능한 애플리케이션 또는 구성 파일에 IT 정책 규칙이 적용된 후에, IT 정책 모듈(346)은 IT 정책 데이터가 수신되어 성공적으로 적용되었음을 나타내도록 호스트 시스템에 다시 확인응답을 보낸다.
개시된 실시예에 따르면, 혼잡 대응 모듈(348)은, 아래에 보다 상세하게 기재되듯이, 사용자 기기(300) 상에 구성되거나 네트워크(102)에 의해 제공된 하나 이상의 레이트 적응 시퀀스를 사용하여, "혼잡 경험" 마킹된 패킷 또는 마킹되지 않은 패킷을 수신하는 것에 응답하여 사용자 기기(300)의 비트레이트를 적응시키도록 제공될 수 있다. 혼잡 대응 모듈(348)은 하나 이상의 단독형 모듈을 포함할 수 있거나, 또는 그 전체가 아니면 부분적으로 접속 모듈(344)과 같은 다른 모듈의 일부로서 구현될 수 있다.
다른 유형의 프로그램 또는 소프트웨어 애플리케이션이 또한 사용자 기기(300) 상에 설치될 수 있다. 이들 소프트웨어 애플리케이션은 사용자 기기(300)의 제조 후에 추가되는 써드 파티 애플리케이션일 수 있다. 써드 파티 애플리케이션의 예는 게임, 계산기, 유틸리티 등을 포함한다.
추가적인 애플리케이션은 무선 네트워크(102), 보조 I/O 서브시스템(312), 데이터 포트(314), 단거리 통신 서브시스템(322) 또는 임의의 기타 적합한 디바이스 서브시스템(324)의 적어도 하나를 통해 사용자 기기(300)로 로딩될 수 있다. 애플리케이션 설치에서의 이러한 융통성은 사용자 기기(300)의 기능을 증가시키고, 강화된 온디바이스 기능, 통신 관련 기능 또는 둘 다를 제공할 수 있다. 예를 들어, 보안 통신 애플리케이션은 전자 상거래 기능 및 기타 이러한 금융 거래가 사용자 기기(300)를 사용하여 수행되게 할 수 있다.
데이터 포트(314)는 가입자가 외부 디바이스 또는 소프트웨어 애플리케이션을 통해 우선권을 설정할 수 있게 하고 무선 통신 네트워크를 통해서가 아니라 사용자 기기(300)로의 정보 또는 소프트웨어 다운로드를 제공함으로써 사용자 기기(300)의 능력을 확장시킨다. 대안의 다운로드 경로가, 예를 들어 안전한 디바이스 통신을 제공하도록 직접적이고 따라서 신뢰성있고 믿을 수 있는 접속을 통해 사용자 기기(300)로 암호화 키를 로딩하는데 사용될 수 있다.
데이터 포트(314)는 사용자 기기(300)와 또다른 컴퓨팅 디바이스 사이의 데이터 통신을 가능하게 하는 임의의 적합한 포트일 수 있다. 데이터 포트(314)는 직렬 또는 병렬 포트일 수 있다. 일부 경우에, 데이터 포트(314)는 사용자 기기(300)의 배터리(330)를 충전하도록 충전 전류를 제공할 수 있는 공급 라인 및 데이터 전달을 위한 데이터 라인을 포함하는 USB 포트일 수 있다.
단거리 통신 서브시스템(322)은 무선 네트워크(102)의 사용 없이 사용자 기기와 다른 시스템 또는 디바이스 사이의 통신을 제공한다. 예를 들어, 서브시스템(322)은 적외선 디바이스 및 단거리 통신을 위한 관련 회로와 컴포넌트를 포함할 수 있다. 단거리 통신 표준의 예로는 IrDA(Infrared Data Association)에 의해 개발된 표준, 블루투스(Bluetooth) 및 IEEE에 의해 개발된 표준의 802.11 패밀리를 포함한다.
사용시, 텍스트 메시지, 이메일 메시지, 또는 웹 페이지 다운로드와 같은 수신 신호는 통신 서브시스템(304)에 의해 처리되어 메인 프로세서(302)에 입력될 것이다. 그 다음, 메인 프로세서(302)는 디스플레이(310)에 또는 대안으로서 보조 I/O 서브시스템(312)으로의 출력을 위해 수신 신호를 처리할 것이다. 가입자는 또한 예를 들어 디스플레이(310) 및 아마도 보조 I/O 서브시스템(312)과 함께 키보드(316)를 사용하여 이메일 메시지와 같은 데이터 항목을 구성할 수 있다. 보조 서브시스템(312)은 터치 스크린, 마우스, 트랙볼, 적외선 지문 검출기, 또는 동적 버튼 누름 능력을 갖는 롤러 휠과 같은 디바이스를 포함할 수 있다. 키보드(316)는 바람직하게 영숫자 키보드 또는 전화번호 형 키패드이다. 그러나, 다른 유형의 키보드도 또한 사용될 수 있다. 구성된 항목은 통신 서브시스템(304)을 통하여 무선 네트워크를 통해 전송될 수 있다.
음성 통신의 경우, 수신된 신호가 스피커(318)로 출력되고 전송을 위한 신호가 마이크로폰(320)에 의해 발생된다는 점을 제외하고 사용자 기기(300)의 전반적인 동작은 실질적으로 유사하다. 음성 메시지 녹음 서브시스템과 같은 대안의 음성 또는 오디오 I/O 서브시스템이 또한 사용자 기기(300) 상에서 구현될 수 있다. 음성 또는 오디오 신호 출력이 주로 스피커(318)를 통해 달성되지만, 디스플레이(310)도 또한 발신자의 신원, 음성 통화의 지속시간 또는 기타 음성 통화 관련 정보와 같은 추가적인 정보를 제공하는데 사용될 수 있다.
이제 도 4를 참조하면, 도 3의 사용자 기기(300)의 통신 서브시스템 컴포넌트(304)의 블록도가 도시되어 있다. 통신 서브시스템(304)은 수신기(450)와 송신기(452) 뿐만 아니라, 하나 이상의 내장 또는 내부 안테나 요소(454 및 456), 국부 발진기(LO)(458), 및 디지털 신호 프로세서(DSP; digital signal processor)(460)와 같은 프로세싱 모듈과 같은 관련 컴포넌트를 포함한다. 통신 서브시스템(304)의 특정 설계는 사용자 기기(300)가 동작하고자 하는 통신 네트워크(102)에 따라 좌우된다. 따라서, 도 4에 도시된 설계는 단지 하나의 예로서 작용하는 것임을 이해하여야 한다.
무선 네트워크(102)를 통해 안테나(454)에 의해 수신된 신호는 수신기(450)에 입력되며, 수신기(450)는 신호 증폭, 주파수 하향 변환, 필터링, 채널 선택 및 A/D(analog-to-digital) 변환과 같은 일반적인 수신기 기능을 수행할 수 있다. 수신된 신호의 A/D 변환은 DSP(460)에서 수행될 복조 및 디코딩과 같은 보다 복잡한 통신 기능을 가능하게 한다. 마찬가지 방식으로, 전송될 신호는 DSP(460)에 의해 변조 및 인코딩을 비롯하여 처리된다. 이들 DSP 처리된 신호는 D/A(digital-to-analog) 변환, 주파수 상향 변환, 필터링, 증폭, 및 안테나(456)를 통해 무선 네트워크(102)를 통한 전송을 위해 송신기(452)에 입력된다. DSP(460)는 통신 신호를 처리할 뿐만 아니라, 수신기 및 송신기 제어를 제공한다. 예를 들어, 수신기(450) 및 송신기(452)에서 통신 신호에 적용된 이득은 DSP(460)에서 구현되는 자동 이득 제어 알고리즘을 통해 적응적으로 제어될 수 있다.
사용자 기기(300)와 무선 네트워크(120) 사이의 무선 링크는 하나 이상의 상이한 채널, 통상적으로 상이한 RF 채널, 및 사용자 기기(300)와 무선 네트워크(102) 사이에 사용되는 관련 프로토콜을 포함할 수 있다. RF 채널은 통상적으로 전체 대역폭의 제한 및 사용자 기기(300)의 제한된 배터리 전력으로 인해, 절약되어야 하는 제한된 자원이다.
사용자 기기(300)가 완전히 동작할 때, 송신기(452)는 통상적으로 무선 네트워크(102)에 전송하고 있을 때에만 턴 온(turn on)되거나 키잉되고(keyed), 그렇지 않은 경우에는 자원을 절약하기 위해 턴 오프(turn off)된다. 마찬가지로, 수신기(450)는 지정된 기간 동안 신호 또는 정보를 수신해야 할 때까지 전력을 절약하도록 주기적으로 턴 오프된다.
개시된 실시예의 하나 이상은 도 1 내지 도 4에 관련하여 상기 기재된 것과는 다른 표준 및 통신 유형에 적용될 수 있다. 예를 들어, 비한정적으로, 상이한 예시적인 실시예가 LTE Advanced를 사용하여 구현될 수 있다. 또한, 예시된 무선 네트워크는 4G 네트워크의 형태를 취하거나 이를 포함할 수 있다.
이제 도 5를 참조하면, 예시적인 실시예에 따른 데이터 프로세싱 시스템(500)의 도면이 도시되어 있다. 이 예에서, 데이터 프로세싱 시스템(500)은 도 2에서의 노드(202)의 프로세싱 시스템(308)의 하나의 구현의 예이다. 데이터 프로세싱 시스템(500) 또는 이의 일부는 또한 도 3에 예시된 바와 같은 사용자 기기(300)의 하나 이상의 기능을 구현하는데 사용될 수 있다. 이 예시적인 예에서, 데이터 프로세싱 시스템(500)은 통신 패브릭(communications fabric)(502)을 포함하며, 이는 프로세서 유닛(504), 메모리(506), 영구 저장장치(508), 통신 유닛(510), 입력/출력(I/O) 유닛(512) 및 디스플레이(514) 사이의 통신을 제공한다.
프로세서 유닛(504)은 메모리(506)로 로딩될 수 있는 소프트웨어에 대한 명령어를 실행하는 역할을 한다. 프로세서 유닛(504)은 특정 구현에 따라 하나 이상의 프로세서의 집합일 수 있거나 또는 멀티프로세서 코어일 수 있다. 또한, 프로세서 유닛(504)은 메인 프로세서가 단일 칩 상의 이차 프로세서와 함께 존재하는 하나 이상의 이종(heterogeneous) 프로세서 시스템을 사용하여 구현될 수 있다. 다른 예시적인 예로서, 프로세서 유닛(504)은 동일 유형의 다수의 프로세서를 포함하는 대칭 멀티프로세서 시스템일 수 있다.
메모리(506) 및 영구 저장장치(508)는 저장 디바이스(516)의 예이다. 저장 디바이스는 예를 들어 비한정적으로, 임시적으로 그리고/또는 영구적으로, 데이터, 함수 형식의 프로그램 코드, 및/또는 기타 적합한 정보와 같은 정보를 저장할 수 있는 임의의 하드웨어 조각이다. 메모리(506)는 이들 예에서 예를 들어, 랜덤 액세스 메모리, 또는 임의의 기타 적합한 휘발성 또는 비휘발성 저장 디바이스일 수 있다. 영구 저장장치(508)는 특정 구현에 따라 다양한 형태를 취할 수 있다. 예를 들어, 영구 저장장치(508)는 하나 이상의 컴포넌트 또는 디바이스를 포함할 수 있다. 예를 들어, 영구 저장장치(508)는 하드 드라이브, 플래시 메모리, 재기록가능한 광 디스크, 재기록가능한 자기 테이프, 또는 상기의 일부 조합일 수 있다. 영구 저장장치(508)에 의해 사용되는 매체는 제거 가능할 수 있다. 예를 들어, 제거 가능한 하드 드라이브가 영구 저장장치(508)에 대하여 사용될 수 있다.
통신 유닛(510)은 이들 예에서 다른 데이터 프로세싱 시스템 또는 디바이스와의 통신을 제공한다. 이들 예에서, 통신 유닛(510)은 네트워크 인터페이스 카드이다. 통신 유닛(510)은 물리적 및 무선 통신 링크 중의 하나 또는 둘 다의 사용을 통한 통신을 제공할 수 있다.
입력/출력 유닛(512)은 데이터 프로세싱 시스템(500)에 접속될 수 있는 다른 디바이스와의 데이터 입력 및 출력을 가능하게 한다. 예를 들어, 입력/출력 유닛(512)은 키보드, 마우스 및/또는 일부 기타 적합한 입력 디바이스를 통해 사용자 입력을 위한 접속을 제공할 수 있다. 또한, 입력/출력 유닛(512)은 프린터에 출력을 보낼 수 있다. 디스플레이(514)는 사용자에게 정보를 디스플레이할 메커니즘을 제공한다.
운영 시스템, 애플리케이션 및/또는 프로그램에 대한 명령어는 저장 디바이스(516)에 위치될 수 있으며, 이는 통신 패브릭(502)을 통해 프로세서 유닛(504)과 통신한다. 이들 예시적인 예에서, 명령어는 영구 저장장치(508) 상에 함수 형식으로 이루어진다. 이들 명령어는 프로세서 유닛(504)에 의해 실행되기 위하여 메모리(506)로 로딩될 수 있다. 메모리(506)와 같은 메모리에 위치될 수 있는 컴퓨터 구현 명령어를 사용하여 다양한 실시예의 프로세스가 프로세서 유닛(504)에 의해 수행될 수 있다.
이들 명령어는 프로세서 유닛(504)의 프로세서에 의해 판독 및 실행될 수 있는 프로그램 코드, 컴퓨터 사용가능한 프로그램 코드, 또는 컴퓨터 판독가능한 프로그램 코드로 지칭될 수 있다. 프로그램 코드는 다양한 실시예에서 메모리(506) 또는 영구 저장장치(508)와 같은 상이한 물리적 또는 컴퓨터 판독가능한 저장 매체 상에서 구현될 수 있다.
프로그램 코드(518)는 선택적으로 제거가능한 컴퓨터 판독가능한 매체(520) 상에 함수 형식으로 위치되며, 프로세서 유닛(504)에 의해 실행되도록 데이터 프로세싱 시스템(500)으로 로딩되거나 전달될 수 있다. 프로그램 코드(518) 및 컴퓨터 판독가능한 매체(520)는 컴퓨터 프로그램 제품(522)을 형성한다. 하나의 예에서, 컴퓨터 판독가능한 매체(520)는 컴퓨터 판독가능한 저장 매체(524) 또는 컴퓨터 판독가능한 신호 매체(526)일 수 있다. 컴퓨터 판독가능한 저장 매체(524)는 예를 들어, 영구 저장장치(508)의 일부인 하드 드라이브와 같은 저장 디바이스로의 전달을 위해 영구 저장장치(508)의 일부인 드라이브 또는 다른 디바이스로 삽입되거나 배치되는 광 또는 자기 디스크를 포함할 수 있다. 컴퓨터 판독가능한 저장 매체(524)는 또한 하드 드라이브, 썸 드라이브, 또는 데이터 프로세싱 시스템(500)에 접속되는 플래시 메모리와 같은 영구 저장장치의 형태를 취할 수 있다. 일부 경우에, 컴퓨터 판독가능한 저장 매체(524)는 데이터 처리 시스템(500)으로부터 제거가능하지 않을 수 있다.
대안으로서, 프로그램 코드(518)는 컴퓨터 판독가능한 신호 매체(526)를 사용하여 데이터 프로세싱 시스템(500)으로 전달될 수 있다. 컴퓨터 판독가능한 신호 매체(526)는 예를 들어 프로그램 코드(518)를 포함하는 전파된 데이터 신호일 수 있다. 예를 들어, 컴퓨터 판독가능한 신호 매체(526)는 전자기 신호, 광 신호, 및/또는 임의의 기타 적합한 유형의 신호일 수 있다. 이들 신호는 무선 통신 링크, 광 섬유 케이블, 동축 케이블, 와이어, 및/또는 임의의 기타 적합한 유형의 통신 링크와 같은 통신 링크를 통해 전송될 수 있다. 다르게 말하자면, 통신 링크 및/또는 접속은 예시적인 예에서 물리적이거나 무선일 수 있다.
일부 예시적인 실시예에서, 프로그램 코드(518)는 다른 디바이스 또는 데이터 프로세싱 시스템으로부터 데이터 프로세싱 시스템(500) 내의 사용을 위해 컴퓨터 판독가능한 신호 매체(526)를 통해 영구 저장장치(508)로 네트워크를 통해 다운로드될 수 있다. 예를 들어, 서버 데이터 프로세싱 시스템 내의 컴퓨터 판독가능한 저장 매체에 저장된 프로그램 코드가 네트워크를 통해 서버로부터 데이터 프로세싱 시스템(500)으로 다운로드될 수 있다. 프로그램 코드(518)를 제공하는 데이터 프로세싱 시스템은 서버 컴퓨터, 클라이언트 컴퓨터, 또는 프로그램 코드(518)를 저장 및 전송할 수 있는 일부 기타 디바이스일 수 있다.
데이터 프로세싱 시스템(500)에 대하여 예시된 다양한 컴포넌트들은 다양한 실시예들이 구현될 수 있는 방식에 구조적 제한을 제공하고자 의미하는 것은 아니다. 다양한 예시적인 실시예는 데이터 프로세싱 시스템(500)에 대하여 예시된 것에 추가적으로 또는 이 대신에 컴포넌트를 포함하는 데이터 프로세싱 시스템에서 구현될 수 있다. 도 5에 도시된 기타 컴포넌트들은 도시된 예시적인 예로부터 바뀔 수 있다. 다양한 실시예들은 프로그램 코드를 실행할 수 있는 임의의 하드웨어 디바이스 또는 시스템을 사용하여 구현될 수 있다. 하나의 예로서, 데이터 프로세싱 시스템(500)은 무기 컴포넌트와 통합된 유기 컴포넌트를 포함할 수 있고 그리고/또는 인간을 배제한 완전히 유기 컴포넌트로 구성될 수 있다. 예를 들어, 저장 디바이스는 유기 반도체로 구성될 수 있다.
다른 예로서, 데이터 프로세싱 시스템(500)에서의 저장 디바이스는 데이터를 저장할 수 있는 임의의 하드웨어 장치이다. 메모리(506), 영구 저장장치(508) 및 컴퓨터 판독가능한 매체(520)는 유형(tangible) 형태의 저장 디바이스의 예이다.
다른 예에서, 버스 시스템이 통신 패브릭(502)을 구현하는데 사용될 수 있고, 시스템 버스 또는 입력/출력 버스와 같은 하나 이상의 버스로 구성될 수 있다. 물론, 버스 시스템은 버스 시스템에 연결된 상이한 컴포넌트 또는 디바이스 사이에 데이터의 전달을 제공하는 임의의 적합한 유형의 구조를 사용하여 구현될 수 있다. 또한, 통신 유닛(510)은 모뎀 또는 네트워크 어댑터와 같이 데이터를 전송 및 수신하는데 사용되는 하나 이상의 디바이스를 포함할 수 있다. 또한, 메모리는 예를 들어 통신 패브릭(502)에 존재할 수 있는 메모리 컨트롤러 허브 및 인터페이스에서 찾아지는 것과 같은 캐시 또는 메모리(506)일 수 있다.
도 1 내지 도 5에서의 하드웨어 컴포넌트의 예시는 다양한 예시적인 실시예들이 구현될 수 있는 방식에 물리적 또는 구조적 제한을 부여하고자 의미하는 것은 아니다. 예시된 것에 추가적으로 또는 이를 대신하여 다른 컴포넌트들이 사용될 수 있다. 일부 컴포넌트는 일부 예시적인 실시예에서 불필요할 수 있다. 또한, 일부 기능적 컴포넌트를 예시하도록 블록이 제시된다. 이들 블록의 하나 이상은 상이한 예시적인 실시예에서 구현될 때 결합되거나 상이한 블록들로 나뉘어질 수 있다.
이제 도 6을 참조하면, 예시적인 실시예에 따른 통신 환경(600)을 예시한 블록도가 도시되어 있다. 도 1의 통신 네트워크(100)는 도 6의 통신 환경(600)의 하나의 구현의 예이다. 통신 환경(600)은 사용자 기기(604)와 연관된 하나 이상의 네트워크(602)를 포함한다. 도 1의 무선 네트워크(102)는 도 6의 네트워크(602)의 하나의 구현의 예이다. 도 1의 사용자 기기(104) 및 도 3의 사용자 기기(300)는 도 6의 사용자 기기(604)의 예이다. 상기 설명한 바와 같이, 사용자 기기(604)는 페이저, 셀룰러 전화, 셀룰러 스마트 폰, 무선 조직자, PDA, 컴퓨터, 랩톱, 핸드헬드 무선 통신 디바이스, 무선 가능 노트북 컴퓨터 등을 포함하는 이동 무선 통신 디바이스와 같은 다양한 디바이스를 포함할 수 있다. 동작시, 사용자 기기(604)는 상기 기재된 방식으로 무선 통신 채널(605)을 통해 네트워크(602)와 통신한다. 따라서, 네트워크(602)와 사용자 기기(604)는 무선 채널(605)을 통해 데이터 패킷을 교환한다.
네트워크(602)는 하나 이상의 네트워크 노드(606)를 포함한다. 도 2의 무선 네트워크 노드(202)는 도 6의 노드(606)의 하나의 예이다. 노드(606)는 상기 기재된 바와 같이 기지국 트랜시버를 포함할 수 있다. 일반적으로, 노드(606)는 네트워크(602)를 통과하면서 데이터 패킷을 보내거나 받거나 아니면 처리하는 임의의 기기, 디바이스, 디바이스 그룹, 또는 기능을 포함할 수 있다. 따라서, 노드(606)는 그 자체가, 상기 기재된 바와 같이, 네트워크(602)와 통신하거나 이의 일부인 사용자 기기를 포함할 수 있다.
예시적인 실시예에 따르면, 노드(606)는 혼잡 검출(608) 기능을 수행하기 위한 모듈을 포함한다. 현재 알려져 있거나 알려지게 될, 네트워크(602) 상의 혼잡을 검출하기 위한 임의의 시스템 또는 방법이 이 기능을 구현하는데 채용될 수 있다. 혼잡 검출(608)은 바람직하게, 노드(606)에서 또는 사용자 기기(604)에 전달되거나 사용자 기기(604)로부터 수신될 데이터 패킷의 네트워크(602)에 의한 처리에 영향을 미칠 수 있는 네트워크(602) 내의 임의의 기타 위치에서 혼잡 레벨을 지속적으로 추정하는 것을 포함할 수 있다. 혼잡은 현재 혼잡 레벨이 선택 임계치보다 더 클 때 검출된 것으로 간주될 수 있다. 현재 혼잡 레벨이 선택 임계치보다 더 작을 때 혼잡은 검출되지 않는다.
노드(606) 또는 또다른 네트워크 요소 내의 혼잡 추정치는, 신호 전력, 간섭, 또는 기타 무선 관련 측정의 하나 이상의 무선 관련 측정과 같은 입력으로서의 많은 다양한 측정치 뿐만 아니라, 노드(606)에서 처리될 큐잉된 데이터의 양, 큐잉 지연, 또는 기타 측정과 같은 다른 측정치와의 결합된 측정치일 수 있다. 혼잡 추정 또는 혼잡이 검출된 것으로 간주되는지 여부 결정에 대한 수정이 사용될 수 있다. 이러한 수정은 혼잡 추정의 필터링, 혼잡 임계치에서의 이력의 적용, 또는 기타 수정의 하나 이상을 포함할 수 있다. 혼잡 추정 방법 및 혼잡 검출(608)에 채용된 선택 임계치는 혼잡 검출(608)이 구현되거나 혼잡이 결정되어야 할 특정 네트워크(606) 또는 다른 요소에 따라 다양할 수 있다.
예시적인 실시예에 따르면, 네트워크 노드(606)는 데이터 패킷 마킹(610)의 기능을 수행하는 모듈을 포함한다. 데이터 패킷 마킹(610)은 사용자 기기(604)에 전송될 데이터 패킷을 마킹하는 것을 포함한다. 데이터 패킷은 혼잡이 검출된 것으로 간주되는 경우 "혼잡 경험"을 나타내는 표시로 마킹된다. 혼잡이 검출되지 않으면 데이터 패킷은 마킹되지 않는다.
“혼잡 경험"을 표시하는 패킷 마킹은 명시적 혼잡 통지에 현재 사용되거나 제안된 마킹의 사용을 포함할 수 있다. 이러한 마킹은 패킷의 인터넷 프로토콜(IP) 헤더에서 2비트를 "11"로 마킹하는 것을 포함한다. 예시적인 실시예에 따라 패킷을 "혼잡 경험" 마킹하는 것은 전송될 데이터 및 패킷의 유형에 따라 다른 마킹 방식을 채용할 수 있고, 데이터 패킷의 헤더 및/또는 다른 부분에서의 마킹을 포함할 수 있다.
노드(606)는 보통의 방식으로 사용자 기기(604)에 무선 통신 채널(605)을 통하여 마킹된 패킹 및 마킹되지 않은 패킷을 포함하는 데이터 패킷(612)을 전송하기 위한 구조 및 기능성을 포함한다. 마찬가지로, 사용자 기기(604)는 보통의 방식으로 네트워크(602)로부터 전송된 데이터 패킷(618)을 수신하기 위한 구조 및 기능성을 포함한다.
예시적인 실시예에 따라, 네트워크(602)와 사용자 기기(604) 사이의 데이터 패킷의 전송은 하나 이상의 적응 가능한 코덱 레이트(620)로 이루어질 수 있다. 예시적인 실시예에 따르면, 노드(606)와 같은 송신자 및 사용자 기기(604)와 같은 수신자는 다수의 코덱 레이트(620)를 지원하도록 구축되거나 적응되고 구성된다. 다수의 코덱 레이트(620)는 또한 모드 세트(mode set)로 지칭될 수 있다. 다수의 코덱 레이트(620)의 예는 4.75 kbps, 7.4 kbps, 12.2 kbps 등의 적응형 멀티레이트 코덱 레이트를 포함한다.
예시적인 실시예에 따르면, 사용자 기기(604)는 혼잡 대응 모듈(622)을 포함한다. 혼잡 대응 모듈(622)의 기능은 메인 프로세서 또는 사용자 기기(604)에서 제공된 다른 프로세서 상에서 실행 중인 소프트웨어와 같은 소프트웨어, 펌웨어 등으로 구현될 수 있다. 혼잡 대응 모듈(622)의 기능은 사용자 기기(604)에 의해 수신되어진 마킹된 데이터 패킷(624)을 검출하는 기능 및 사용자 기기(604)에 의해 수신되어진 검출된 마킹 및 마킹되지 않은 데이터 패킷에 응답하여 코덱 레이트 적응 시퀀스(626)를 구현하는 기능을 포함한다. 아래에 보다 상세하게 설명되는 바와 같이, 코덱 레이트 적응 시퀀스(626)는 코덱 레이트 감소 시퀀스(628) 및 코덱 레이트 증가 시퀀스(630)를 포함할 수 있다.
예시적인 실시예에 따르면, 혼잡이 없고 명시적 혼잡 통지와 무관한 어떠한 제약도 없을 경우, 송신자와 수신자 사이에 확립된 모드 세트 내의 가장 높은 코덱 레이트가 송신자에 의해 사용되는 것으로 가정된다. 사용자 기기(604)와 같은 수신기가 네트워크(602)에서의 혼잡을 표시하는 "혼잡 경험" 마킹된 패킷을 수신할 때, 수신기는 모드 세트 내의 어느 낮은 레이트 코덱으로 적응시킬지 결정한다. 혼잡에 응답하는 이 레이트 적응은 코덱 레이트 감소 시퀀스(628)에 의해 정의된다. 혼잡이 클리어될 때에서는, 마킹되지 않은 데이터 패킷이 수신기에 의해 수신되어 검출될 것이다. 하나 이상의 더 높은 코덱 레이트가 이용 가능한 경우, 수신기는 어느 더 높은 레이트 코덱으로 적응시킬지 또는 현재 코덱 레이트로 유지할지 결정한다. 혼잡 클리어에 응답하는 이 레이트 적응은 코덱 레이트 증가 시퀀스(630)에 의해 정의된다.
코덱 레이트 감소 시퀀스(628) 및 코덱 레이트 증가 시퀀스(630)를 포함하는 코덱 레이트 적응 시퀀스(626)는 네트워크(602)에 의해 제공되는 시스템 레벨 구성 파라미터를 포함할 수 있다. 네트워크가 제공하는 코덱 레이트 적응 시퀀스(626)는 정적이거나 동적일 수 있다. 예를 들어, 코덱 레이트 적응 시퀀스(626) 파라미터는 네트워크(602)의 일부로서 HSS(Home Subscriber System)에 정적으로 저장될 수 있다. 대안으로서, 코덱 레이트 적응 시퀀스(626) 파라미터는 예를 들어 예상되는 혼잡과 처리 요건 및 용량에 따라 네트워크(602) 상의 패킷 데이터 네트워크(PDN; packet data network) 게이트웨이(PGW; PDN gateway)에서 동적으로 결정될 수 있다. 네트워크(602)로부터의 코덱 레이트 적응 시퀀스(626)는, 소정의 사용자 기기(604)에 대한 알려진 파라미터로서, 네트워크 송신자 및 사용자 기기(604)와 같은 수신자 엔드포인트(endpoint)에 저장될 수 있다. 코덱 레이트 적응 시퀀스(626)는 어태치 또는 추적 영역 업데이트(TAU; Tracking Area Update)/라우팅 영역 업데이트(RAU: Routing Area Update)/위치 영역 업데이트(LAU; Location Area Update) 응답으로 엔드포인트에 보내질 수 있다. 정적 코덱 레이트 적응 시퀀스(626)에 대하여, 시퀀스 파라미터는 호 또는 다수의 호에 대하여 한번만 엔드포인트에 보내질 수 있다. 코덱 레이트 적응 시퀀스(626) 파라미터는 네트워크(602)로부터 시스템 메시지를 통하여 사용자 기기(604)와 같은 수신 단말기로 전달될 수 있다. 예를 들어, 코덱 레이트 적응 시퀀스(626) 파라미터는 사용자 기기 어태치먼트, 사용자 기기 서비스 요청, 및 핸드오버 절차를 사용하여 사용자 기기(604)에 전달될 수 있다.
네트워크(602)에 의해 제공되는 레이트 적응 시퀀스(626)에 대한 대안으로서 또는 이에 추가적으로, 사용자 기기(604)와 같은 엔드포인트 송신자 및 수신기는 바람직한 코덱 레이트 적응 시퀀스(626)를 이용해 구성될 수 있다. 이 경우에, 엔드포인트는 여기에 기재된 방식으로 구성에 따라 코덱 레이트를 적응시킬 수 있다. 사용자 기기(604)와 같은, 구성된 코덱 레이트 적응 시퀀스(626)를 갖는 수신기가 또한 네트워크(602)로부터 코덱 레이트 적응 시퀀스(626)를 수신하는 경우, 수신기(604) 상에서 구성된 것이나 네트워크(602)로부터의 2개의 코덱 레이트 적응 시퀀스(626) 중의 어느 것이 우선할지를 결정하기 위한 연산 결정이 행해질 수 있다. 이 경우, 네트워크(602)가 수신기(604)에 우선순위를 알릴 수 있거나, 또는 우선순위가 수신기(604) 상에서 구성될 수 있다. 수신기(604) 상에서 구성된 우선순위 정보 또는 코덱 레이트 적응 시퀀스(626)의 하나 이상은 연산 정책 하의 OMA(Open Mobile Alliance) DM(Device Management) 객체에 의해 제공될 수 있다.
코덱 레이트 감소 시퀀스(628) 또는 코덱 레이트 증가 시퀀스(630)와 같은 코덱 레이트 적응 시퀀스(626)가 네트워크(602)에 의해 명시되지도 사용자 기기(604) 상에서 구성되지도 않은 경우, 디폴트 코덱 레이트 적응 시퀀스(626)가 사용될 수 있다. 디폴트 코덱 레이트 적응 시퀀스(626)는 호 설정시 사용자 기기(604)와 네트워크(602) 사이에 협상된 코덱 세트에서의 코덱 레이트의 순서를 따를 수 있다. 예를 들어, 협상된 코덱 레이트 세트가 (4.75 kbps, 7.4 kbps, 12.2 kbps)인 경우, 디폴트 코덱 레이트 감소 시퀀스(628)는 (12.2 kbps, 7.4 kbps, 4.75 kbps)일 수 있고, 디폴트 코덱 레이트 증가 시퀀스(630)는 (4.75 kbps, 7.4 kbps, 12.2 kbps)일 수 있다.
코덱 레이트 적응 시퀀스(626)에 대한 코덱 레이트 파라미터 값은 스칼라(scalar) 값으로서 표시될 수 있다. 예를 들어, 코덱 레이트 적응 시퀀스(626) 레이트 파라미터 값 1, 2 및 3은 각각 4.75 kbps, 7.4 kbps, 및 12.2 kbps의 대응하는 모드 세트 비트레이트를 나타낼 수 있다. 선택적으로, 코덱 레이트 적응 시퀀스(626)는 직접 적응을 위한 실제 코덱 레이트를 나타낼 수 있다.
코덱 레이트 감소 시퀀스(628) 및 코덱 레이트 증가 시퀀스(630)는 각자의 레이트 적응 시퀀스에 대하여 동일한 레이트 세트를 사용할 수 있지만 반대 방향 또는 순서로 사용할 수 있다. 예를 들어, 코덱 레이트 증가 시퀀스(630)가 혼잡 클리어에 응답하여 코덱 레이트를 증가시키기 위해 시퀀스 (4.75 kbps, 7.4 kbps, 12.2 kbps)를 사용하는 경우, 코덱 레이트 감소 시퀀스(628)는 혼잡 검출에 응답하여 코덱 레이트를 감소시키기 위해 시퀀스 (12.2 kbps, 7.4 kbps, 4.75 kbps)를 사용할 수 있다.
대안으로서, 2개의 상이한 레이트 세트가 코덱 레이트 감소 시퀀스(628) 및 코덱 레이트 증가 시퀀스(630)에 대하여 구성될 수 있으며, 하나의 레이트 세트는 혼잡 검출에 응답하여 코덱 레이트를 감소시키기 위한 것이고, 다른 코덱 레이트 세트는 혼잡 클리어에 응답하여 코덱 레이트를 증가시키기 위한 것이다. 예를 들어, 코덱 레이트 감소 시퀀스(628)는 (12.2 kbps, 4.75 kbps)일 수 있으며 코덱 레이트 증가 시퀀스(630)는 (4.75 kbps, 7.4 kbps, 12.2 kbps)일 수 있다. 이 예에서, 혼잡이 검출될 경우, 레이트는 12.2 kbps로부터 4.7 kbps로 1스텝(step)만큼 스텝 다운된다. 그러나, 혼잡이 클리어될 경우, 코덱 레이트는 4.75 kbps에서 7.4 kbps로 그리고 7.5 kbps에서 12.2 kbps로 2스텝 스텝 업된다.
예시적인 실시예에 따라, "혼잡 경험" 마킹된 데이터 패킷이 사용자 기기(604)와 같은 수신 단말기에 의해 수신되면, 코덱 레이트는 협상되거나 지정된 코덱 레이트 세트 내의 1스텝만큼 또는 코덱 레이트 감소 시퀀스(628)에 따라 1스텝만큼 감소된다. 코덱 레이트 감소는 사용자 기기(604)에 의해 적합한 코덱 레이트 변경 요청(648)을 발생시켜 노드(606)에 보냄으로써 구현될 수 있다. 이 시점에서, 사용자 기기(604)에서 제공되는 코덱 레이트 감소 금지 타이머(632)가 시작된다. 코덱 레이트 감소 금지 타이머(632)가 진행 중인 동안에는, 또다른 마킹된 데이터 패킷이 이 시간 동안 수신된다 해도, 코덱 레이트는 더 이상 감소되지 않을 것이다.
코덱 레이트 감소 금지 타이머(632)가 시작된 후에 진행되는 시간 길이는 여기에서 코덱 레이트 감소 금지 시간(634)으로 지칭된다. 코덱 레이트 감소 금지 시간(634)은 바람직하게 노드(606)와 사용자 기기(604) 사이와 같이 통신하는 2개의 엔드포인트 사이의 왕복 시간에 일부 추가의 관찰 시간을 더한 것보다 더 큰 값으로 설정되어야 한다. 따라서 레이트 감소 금지 시간(634)의 설정은, 수신기가 송신자에게 감소된 코덱 레이트를 요청하고, 송신자가 감소된 레이트로 전환한 다음, 혼잡을 경험하며 "혼잡 경험"으로 데이터 패킷을 마킹한 노드(606)와 같은 네트워크 요소가 혼잡이 클리어되었음을 관찰하여 패킷 마킹을 멈출 수 있을 만큼 충분한 시간을 허용하여야 한다. 임의의 적합하거나 바람직한 시간 길이가 예시적인 실시예에 따라 코덱 레이트 감소 금지 시간(634)에 대하여 사용될 수 있다. 예시적인 실시예에 따르면, 코덱 레이트 감소 금지 시간(634)은 구성 가능하거나(636) 또는 고정될(638) 수 있다. 코덱 레이트 감소 금지 시간(634)은 비액세스 계층(NAS; Non Access Stratum) 또는 호 설정 메시지를 통하는 것과 같이 네트워크(602)에 의해 동적으로 제공될 수 있다.
레이트 감소가 네트워크(602) 상의 혼잡을 완화하지 못하는 경우, 노드(606)는 부가의 코덱 레이트 감소를 트리거하기 위하여 데이터 패킷 마킹을 계속할 수 있다. 코덱 레이트 감소 금지 타이머(632)가 타임아웃(time out)된 후에 수신 단말기가 "혼잡 경험" 마킹된 데이터 패킷을 수신하는 경우, 수신 단말기는 현재 코덱 레이트가 모드 세트 내의 가장 낮은 것이 아니라면 코덱 레이트 감소 시퀀스(628)에 따라 다음으로 낮은 레이트 코덱 적응을 개시할 수 있다.
혼잡 제어를 위해 코덱 레이트 감소를 개시하도록 수신기에 표시하기 위해 데이터 패킷을 "혼잡 경험" 마킹함으로써, 네트워크(602)가 코덱 레이트 감소를 트리거한 후에, 일부 기간 동안 네트워크(602) 상의 혼잡 조건이 개선되지 않았다면, 네트워크(602)는 지속되는 코덱 레이트 감소에 대한 필요성을 수신기에 통지할 필요가 있다고 결정할 수 있다. 네트워크(602)는 수신기에 코덱 레이트 적응 지속에 대한 특정 통지를 보냄으로써 네트워크 혼잡을 감소시키도록 지속되는 코덱 레이트 감소에 대한 필요성을 사용자 기기(604)와 같은 수신기에 통지할 수 있다. 따라서, 예시적인 실시예에 따르면, 노드(606)는 코덱 레이트 적응 지속 통지(614)를 제공하기 위한 모듈 또는 기능을 포함할 수 있다.
코덱 레이트 적응 지속 통지를 수신하면, 사용자 기기(604)와 같은 수신기는 현재 코덱 레이트가 가장 낮은 것이 아니라면, 다음으로 낮은 레이트 코덱 레이트로 적응시킬 수 있다. 네트워크(602)가 매우 혼잡해 있을 때와 같은 어떤 특별한 상황에서는, 코덱 레이트 적응 지속 통지는 즉시 가장 낮은 코덱 레이트를 개시하도록 수신기에 통지할 수 있다. 따라서, 사용자 기기(604)와 같은 네트워크 엔드포인트에, 예를 들어 브로드캐스트 또는 특정 메시지를 통해, 노드(606)와 같은 네트워크(602)에 의해 보내진 코덱 레이트 적응 지속 통지 메시지는, 가장 낮은 코덱 레이트로의 코덱 레이트 적응이나 다음으로 낮은 코덱 레이트로의 코덱 레이트 적응을 나타내도록 2개의 값 중 하나를 취할 수 있는 코덱 레이트 적응 지속 통지 유형 표시자를 포함할 수 있다.
사용자 기기(604)와 같은 수신기가 노드(606)와 같은 송신자에 지속되는 코덱 레이트 감소를 개시하도록 수신기에 코덱 레이트 적응 지속 통지를 보내는 것과 달리, 코덱 레이트 적응 지속 통지는 직접 노드(606)와 같은 송신자에게 네트워크(602)에 의해 보내질 수 있다. 이 방식으로, 수신기로부터의 개시 없이 직접 송신 코덱 레이트를 감소시키도록 송신자에 통지될 수 있다. 이는 일부 경우에 혼잡 제어의 속도를 높일 수 있다.
예시적인 실시예에 따라서, 혼잡을 감소시키기 위한 코덱 레이트 적응 지속 통지의 사용은, 상기 기재된 바와 같이 데이터 패킷의 "혼잡 경험" 마킹을 사용하는 혼잡 감소에 대한 코덱 레이트 적응을 포함하거나 별도일 수 있다. 예시적인 실시예에 따른 지속되는 코덱 레이트 적응이 혼잡 조건을 클리어하는데 불충분한 경우에, 네트워크(602)는 패킷 또는 서비스를 드롭시키는 것과 같은, 혼잡 제어를 위한 다른 유형의 메커니즘을 채용할 수 있다.
예시적인 실시예에 따르면, 사용자 기기(604)가 "혼잡 경험" 마킹된 데이터 패킷을 수신하는 것에 응답하여 코덱 레이트가 감소될 때, 사용자 기기(604)에서 제공되는 코덱 레이트 증가 타이머(640)가 시작될 수 있다. 코덱 레이트 증가 타이머(640)는 코덱 레이트 증가 시간(642)을 타이밍하도록 적응될 수 있다. 코덱 레이트 증가 시간(642)은 통상적으로 코덱 레이트 감소 금지 시간(634)보다 훨씬 더 길 수 있다. 예를 들어, 코덱 레이트 증가 시간(642)은 10초 이상으로 선택될 수 있다. 예시적인 실시예에 따라 임의의 다른 적합하거나 바람직한 시간 길이가 코덱 레이트 증가 시간(642)에 사용될 수 있다. 코덱 레이트 증가 시간(642)에 대하여 더 긴 기간을 사용하는 것이 바람직한데, 혼잡이 클리어된 후 코덱 레이트를 증가시키는 것이 혼잡 제어를 위한 적절한 코덱 레이트 감소보다 훨씬 덜 임계적이기 때문이다. 더 긴 코덱 레이트 증가 시간(642)의 사용은 또한 코덱 레이트 감소와 증가 사이의 코덱 적응 혼동(oscillation) 가능성을 감소시킬 수 있다. 코덱 레이트 증가 시간(642)의 적어도 일부는 랜덤(644)일 수 있다. 코덱 레이트 증가 시간(642)에서의 랜덤 요소의 사용은 또한, 그 개별 코덱 레이트 증가 시간이 동시에 만료함에 따라 네트워크 노드에 의해 지원되는 많은 사용자 디바이스가 동시에 코덱 레이트 증가를 요청하는 경우 야기될 수 있는, 코덱 레이트 감소와 증가 사이의 혼동을 막는 것을 돕는다.
예시적인 실시예에 따르면, 코덱 레이트 증가 타이머(640)가 만료될 때, 코덱 레이트는 협상된 코덱 레이트 세트 내의 1스텝 또는 코덱 레이트 증가 시퀀스(630)에 따라 증가된 1스텝만큼 증가될 수 있다. 코덱 레이트 증가는 사용자 기기(604)에 의해 적합한 코덱 레이트 변경 요청(648)을 발생시켜 노드(606)에 보냄으로써 구현될 수 있다. 코덱 레이트 증가 타이머(640)가 진행 중인 동안 "혼잡 경험" 마킹된 데이터 패킷이 수신될 때, 사용자 기기(604)와 같은 수신기는 상기 기재된 바와 같이 코덱 레이트를 감소시킬 것이고, 코덱 레이트 증가 타이머(640)가 재시작(646)될 것이다. 또한, 코덱 레이트 증가 타이머(640)가 만료되는 경우 코덱 레이트를 다시 증가시킬 수 있기 위하여, 코덱 레이트 증가 타이머(640)가 만료될 때 코덱 레이트 증가 타이머(640)는 재시작(646)될 것이다). 이 방식으로, 예시적인 실시예는 어떤 다른 제약이 없다면 코덱 레이트가 가장 높은 값으로 점차적으로 다시 스텝업될 수 있는 메커니즘을 제공한다.
예시적인 실시예에 따르면, 코덱 레이트 감소 금지 타이머(632)와 코덱 레이트 증가 타이머(640)는 독립적으로 동작할 수 있다. 대안으로서, 코덱 레이트 증가 타이머(640)는 코덱 레이트 감소 금지 타이머(632)가 진행 중인 동안에는 리셋(646)되지 않을 수 있다. 그러나, 코덱 레이트 감소 금지 시간(634)은 코덱 레이트 증가 시간(642)에 비해 매우 짧을 것이기 때문에, 2개의 옵션 사이의 수행에는 매우 작은 차이만 있을 것이다.
대안의 예시적인 실시예에 따르면, 사용자 기기(640)에 의해 수신되어지는 "혼잡 경험" 마킹된 데이터 패킷은 코덱 레이트 증가 타이머(640)가 진행 중인 동안 코덱 레이트 증가 타이머(640)를 재시작할 목적으로 무시될 수 있다. 이 경우에, 코덱 레이트 증가 타이머(640)가 진행 중인 동안 마킹된 패킷이 수신될 경우 코덱 레이트 증가 타이머(640)는 재시작되지 않는다. 이 대안의 실시예에서, 코덱 레이트 증가 타이머(640)가 만료될 때, 사용자 기기(604)는 코덱 레이트 증가 타이머(640)가 진행 중인 동안 마킹된 패킷이 수신되었는지 여부를 체크한다. 어떠한 마킹된 패킷도 코덱 레이트 증가 타이머(640)가 진행 중인 동안 수신되지 않았다면, 코덱 레이트가 증가될 수 있고, 코덱 레이트 증가 타이머(640)는 재시작될 수 있다. 그러나, 코덱 레이트 증가 타이머(640)가 진행 중인 동안 마킹된 패킷이 수신되었다면, 코덱 레이트를 증가시키지 않고 코덱 레이트 증가 타이머(640)가 재시작된다. 이 경우, 코덱 레이트가 증가될 수 있을 다음 가능한 시간은 코덱 레이트 증가 타이머(640)의 다음 만료시이다. 상기 기재된 바와 같이 코덱 레이트 증가 타이머(640)가 진행 중인 동안 마킹된 패킷이 수신될 때마다 코덱 레이트 증가 타이머(640)를 재시작하는 접근법과 비교하여 볼 때, 이 대안의 접근법은 더 단순할 수 있다. 그러나, 코덱 레이트 증가 타이머(640)가 시작된 직후에 마킹된 패킷이 수신되고 코덱 레이트 증가 타이머(640)가 진행 중인 동안 어떠한 다른 마킹된 패킷도 수신되지 않은 경우, 이 대안의 접근법은 코덱 레이트를 증가시키기까지 거의 2배의 시간의 결과를 가져오는데, 사용자 기기(604)가 코덱 레이트를 증가시키기 전에 만료하기 위해 거의 2개의 전체 코덱 레이트 증가 시간을 기다려야 하기 때문이다.
여기에 개시된 혼잡 제어를 위한 명시적 혼잡 통지 기반의 코덱 적응은 돌발 상황을 제외하여 우선순위 사용자 및 우선순위 또는 긴급 서비스에 대하여 바람직하지 않을 수 있다. 따라서, 예시적인 실시예에 따르면, 사용자 기기(604)는 우선순위/긴급상황 처리(650)를 제공할 수 있는 적합한 기능을 포함할 수 있다.
긴급 서비스는 보통 긴급 어태치나 긴급 PDN(Public Data Network) 접속 확립으로 확립된 접속과 같은 긴급 베어러를 통해 반송된다. 따라서, 네트워크(602)는 긴급 베어러에 대하여 여기에 기재된 바와 같은 명시적 혼잡 통지를 인에이블하지 않을 수 있고, 사용자 기기(604)에 대한 우선순위/긴급상황 처리(650)는 여기에 기재된 코덱 레이트 적응이 긴급 베어러에 적용되지 않을 것임을 아는 것을 포함할 수 있다.
예시적인 실시예에 따르면, 보통 동작 하에, 우선순위/긴급상황 처리(650)는 여기에 기재된 코덱 레이트 적응이 우선순위 사용자 및 우선순위/긴급상황 서비스에는 적용되지 않을 것임을 제공한다. 그러나, 돌발 상황이 발생하는 경우, 긴급 통화와 같은 방대한 수의 동시 서비스 요청이 시스템에 행해질 수 있다. 예시적인 실시예에 따르면, 우선순위/긴급상황 처리(650)는 이러한 긴급 통화의 수가 특정 임계 수를 초과하거나 긴급 통화인 모든 통화의 비율이 임계 비율을 초과하는 경우 이러한 긴급 통화에 여기에 기재된 코덱 레이트 적응을 적용하는 것을 제공할 수 있다. 이러한 돌발 상황이 발생할 때의 긴급 통화의 처리는 돌발 상황이 발생한 경우 긴급 서비스에 대한 패킷 전달에서 데이터 패킷을 "혼잡 경험" 마킹함으로써 그리고 그렇지 않은 경우에는 이러한 데이터 패킷을 마킹하지 않음으로써 네트워크(602)에 의해 실현될 수 있다.
예시적인 실시예에 따르면, 우선순위/긴급상황 처리(650)는, 매우 특별한 사용자에 의한 매우 높은 우선순위의 사용자 기기(604)가 HPLMN(Home Public Land Mobile Network) 오퍼레이터에 의한 인증 및/또는 정책 제어 규칙에 따라 여기에 기재된 코덱 레이트 감소를 구현할 필요가 없음을 제공할 수 있다. 매우 높은 우선순위의 사용자 기기는 VPLMN(Visited Public Land Mobile Network) 오퍼레이터에 의한 코덱 레이트 감소를 무시하는 것이 허용되지 않을 수 있다.
도 6의 예시는 다양한 실시예들이 구현될 수 있는 방식에 물리적 또는 구조적 제한을 부여하고자 의미하는 것은 아니다. 예시된 것에 더하여 그리고/또는 이를 대신하여 다른 컴포넌트가 사용될 수 있다. 일부 컴포넌트는 일부 실시예에서 불필요할 수 있다. 또한, 일부 기능적 컴포넌트를 예시하고자 블록들이 제시된다. 이들 블록의 하나 이상은 상이한 유리한 실시예에서 구현될 때 상이한 블록들로 결합 및/또는 분할될 수 있다.
예시적인 실시예에 따른 코덱 레이트 감소의 예가 도 7에 예시되어 있다. 도 7에 제시된 예는 네트워크로부터 사용자 기기로의 다운링크 방향에서의 혼잡이 네트워크 노드 내에서 검출될 때 예시적인 실시예에 따른 코덱 레이트 감소를 나타낸다. 처음에, 송신자 피어 MTSI(Multimedia Telephony Services for IP Multimedia Subsystem) 클라이언트(702)로부터의 데이터 패킷이 네트워크(704) 및 eNodeB 네트워크 노드와 같은 네트워크 노드(706)를 통하여 12.2 kbps의 레이트로 사용자 기기(UE)에서의 MTSI 클라이언트(708)로 전달된다. 처음에는 혼잡이 경험되지 않고, 그리하여 데이터 패킷은 노드(706)에 의해 "혼잡 경험(CE; Congestion Experienced)" 마킹되지 않는다. 어떤 시점에서, 노드(710)에서 혼잡이 검출된다. 혼잡을 검출하는 것에 응답하여, 노드(706)는 데이터 패킷을 "혼잡 경험" 마킹하기 시작한다. 이러한 마킹된 패킷이 사용자 기기(708)에 의해 수신된다. 마킹된 패킷을 수신하는 것에 응답하여, 사용자 기기(708)는 코덱 레이트를 1스텝 만큼 감소시킨다(712). 사용자 기기(708)에 의한 코덱 레이트 감소는 노드(706) 및 네트워크(704)를 통해 클라이언트(702)에 7.4 kbps로의 레이트 변경을 요청하는 코덱 모드 요청(CMR; Codec Mode Request)(714)을 갖는 패킷을 보내는 것을 포함한다. 레이트 변경을 요청하는 것과 동시에, 사용자 기기(708)는 코덱 레이트 감소 금지 시간(716) 및 코덱 레이트 증가 시간(718) 진행을 시작한다.
노드(706)에서 혼잡이 계속해서 검출됨에 따라 데이터 패킷은 계속해서 마킹된다. 그러나, 코덱 레이트 감소 금지 시간(716)이 진행 중인 한, 사용자 기기(708)에 의해 수신되는 마킹된 패킷은 더 이상의 레이트 감소를 일으키지 않는다. 결국, 요청된 레이트 변경이 클라이언트(720)에 의해 수신되고, 전송 레이트는 사용자 기기(708)에 의해 요청되는 대로 7.4 kbps로 감소된다. 결국 감소된 코덱 레이트로 인해 노드(706)에서의 혼잡을 클리어하게 될 때까지 패킷은 노드(706)에 의해 계속해서 마킹된다. 노드(706)는 혼잡(722)의 이 완화를 검출하고, 따라서 이 시점에서 패킷을 마킹하기를 정지한다. 코덱 레이트 금지 시간(716)이 만료되는 시점에(721), 혼잡은 클리어되었고, 패킷은 노드(706)에 의해 마킹되지 않으며, 따라서 더 이상의 코덱 레이트 감소가 사용자 기기(708)에 의해 개시되지 않는다.
예시적인 실시예에 따른 코덱 레이트 증가의 예가 도 8에 예시된다. 도 8에서 제시된 예는 네트워크로부터 사용자 기기로의 다운링크 방향에서 네트워크 노드 내에서 검출된 혼잡이 없을 경우 예시적인 실시예에 따른 코덱 레이트 증가를 나타낸다. 처음에, 송신자 피어 MTSI 클라이언트(802)로부터의 데이터 패킷이 네트워크(804) 및 eNodeB 네트워크 노드와 같은 네트워크 노드(806)를 통하여 5.9 kbps의 레이트로 사용자 기기(UE)에서의 MTSI 클라이언트(808)로 전달된다. 노드(812)에서 혼잡은 검출되지 않으며, 그리하여 데이터 패킷은 노드(806)에 의해 "혼잡 경험"(CE) 마킹되지 않는다. 앞선 레이트 감소(814)의 결과로서 코덱 레이트 증가 타이머가 진행 중이다. 코덱 레이트 증가 타이머가 진행 중인 한, 클라이언트(808)는, 클라이언트(808)에 의해 수신된 데이터 패킷이 마킹되지 않아 혼잡이 없음을 나타내더라도, 코덱 레이트 증가를 시도하지 않는다.
결국, 코덱 레이트 증가 타이머가 만료된다(816). 코덱 레이트 증가 타이머 만료에 응답하여, 사용자 기기(808)는 코덱 레이트를 1스텝 만큼 증가시킨다(818). 사용자 기기(808)에 의한 코덱 레이트 증가는, 노드(806) 및 네트워크(804)를 통하여 클라이언트(802)로 7.4 kbps로의 레이트 증가를 요청하는 코덱 모드 요청(CMR)(820)을 갖는 패킷을 보내는 것을 포함한다. 레이트 증가를 요청하는 것과 동시에, 사용자 기기(808)는 코덱 레이트 증가 타이머(822)를 재시작한다. 결국, 사용자 기기(808)로부터의 레이트 증가 요청이 클라이언트(802)에 의해 수신되고, 클라이언트(802)는 요청된 대로 전송 레이트를 7.4 kbps로 증가시킨다(824). 증가된 코덱 레이트는 혼잡을 일으키지 않으며, 그리하여 데이터 패킷은 계속해서 마킹되지 않는다.
결국, 재시작된 코덱 코덱 레이트 증가 타이머가 만료된다(826). 코덱 레이트 증가 타이머가 다시 만료된 것에 응답하여, 사용자 기기(808)는 코덱 레이트를 또다른 스텝만큼 증가시킨다(828). 사용자 기기(808)에 의한 이 코덱 레이트 증가는, 노드(806) 및 네트워크(804)를 통하여 클라이언트(802)로 12.2 kbps로의 레이트 증가를 요청하는 코덱 모드 요청(CMR)(830)을 갖는 패킷을 보내는 것을 포함한다. 레이트 증가를 요청하는 것과 동시에, 사용자 기기(808)는 코덱 레이트 증가 타이머(832)를 재시작한다. 결국, 사용자 기기(808)로부터의 레이트 증가 요청이 클라이언트(802)에 의해 수신되고, 클라이언트(802)는 요청된 대로 전송 레이트를 12.2 kbps로 증가시킨다(834). 부가의 증가된 코덱 레이트는 혼잡을 일으키지 않으며, 그리하여 데이터 패킷은 계속해서 마킹되지 않는다.
도 9의 흐름도는 예시적인 실시예에 따라 코덱 레이트 감소를 위한 예시적인 방법(900)을 나타낸다. 방법(900)은 예를 들어 도 3의 사용자 기기(300)와 같은 사용자 기기에서 구현될 수 있다. 수신된 데이터 패킷은, 바람직하게는 지속적으로, "혼잡 경험" 마킹된 패킷이 검출될 때를 결정하도록, 검사된다(단계 902). 마킹된 패킷이 검출될 때, 가능하다면 레이트는 감소된다(단계 904). 예를 들어, 단계(904)는 코덱 레이트 감소 시퀀스에 따른 1스텝 또는 협상되거나 지정된 코덱 레이트 세트 내의 1스텝 만큼 코덱 레이트를 감소시키는 것을 포함할 수 있다. 코덱 레이트가 이미 가장 낮은 레이트인 경우 코덱 레이트를 감소시키는 것이 가능하지 않을 수 있다. 단계 904는 사용자 기기로부터 네트워크로 적합한 코덱 레이트 변경 요청을 발생시켜 보내는 것을 포함할 수 있다. 바람직하게는 단계 904와 실질적으로 동시에 또는 동시에 코덱 레이트 감소 금지 타이머가 시작된다(단계 906). 단계 904 및 906은 임의의 순서대로 수행될 수 있다. 코덱 레이트 감소 금지 타이머가 만료될 때까지, 이 시간 동안 또다른 마킹된 데이터 패킷이 수신된다 해도, 레이트를 감소시키기 위한 어떠한 부가의 동작이 취해지지 않는다. 코덱 레이트 감소 금지 타이머가 만료되었다고 결정될 때(단계 908), 방법은 부가의 레이트 감소가 요구됨을 나타내는 마킹된 데이터 패킷을 찾도록 단계 902로 돌아간다.
도 10의 흐름도는 예시적인 실시예에 따라 코덱 레이트 증가를 위한 예시적인 방법(1000)을 나타낸다. 방법(1000)은 예를 들어 도 3의 사용자 기기(300)와 같은 사용자 기기에서 구현될 수 있다. 방법(1000)은 코덱 레이트 증가 타이머를 시작함으로써 시작된다(단계 1002). 코덱 레이트 증가 타이머가 진행 중인 시간 동안 "혼잡 경험" 마킹된 패킷이 수신되는지 여부가 결정된다(단계 1004). 코덱 레이트 증가 타이머가 진행 중인 동안 마킹된 패킷이 수신되면, 코덱 레이트 증가 타이머는 단계 1002로 돌아감으로써 재시작된다. 코덱 레이트 증가 타이머가 만료될 때가 결정된다(단계 1006). 코덱 레이트 증가 시간이 만료되면, 현재 레이트가 가장 높은 레이트인지 여부가 결정된다(단계 1008). 현재 레이트가 가장 높은 레이트라고 결정되면, 어떠한 부가의 레이트 증가도 가능하지 않고, 단계 1002로 돌아감으로써 코덱 레이트 증가 타이머는 재시작된다. 현재 레이트가 가장 높은 레이트가 아니라고 결정되면, 코덱 레이트는 증가된다(단계 1012). 단계 1012는 코덱 레이트 증가 시퀀스에 따른 1스텝 만큼 또는 협상된 코덱 레이트 세트 내의 1스텝 만큼 코덱 레이트를 증가시키는 것을 포함한다. 단계 1012는 사용자 기기로부터 적합한 코덱 레이트 변경 요청을 발생시켜 보내는 것을 포함할 수 있다. 단계 1002로 돌아감으로써, 코덱 레이트 증가 타이머는 레이트를 증가시킨 후에 재시작된다.
도 11의 흐름도는 예시적인 실시예에 따라 코덱 레이트 증가를 위한 다른 방법(1100)의 예를 나타낸다. 방법(1100)은 예를 들어 도 3의 사용자 기기(300)와 같은 사용자 기기에서 구현될 수 있다. 방법(1100)은 코덱 레이트 증가 타이머를 시작함으로써 시작된다(단계 1102). 코덱 레이트 증가 타이머가 만료될 때가 결정된다(단계 1104). 코덱 레이트 증가 타이머가 만료되었다고 결정되면, 코덱 레이트 증가 타이머에 의해 시간 진행된 레이트 증가 시간 동안 "혼잡 경험" 마킹된 패킷이 수신되었는지 여부가 결정된다(단계 1106). 레이트 증가 시간 동안 마킹된 패킷이 수신되었다면, 단계 1102로 돌아감으로써, 코덱 레이트 증가 타이머는 재시작된다. 레이트 증가 시간 동안 마킹된 패킷이 수신되지 않았다면, 현재 레이트가 가장 높은 레이트인지 여부가 결정된다(단계 1108). 현재 레이트가 가장 높은 레이트인 경우, 어떠한 부가의 레이트 증가도 가능하지 않고, 단계 1102로 돌아감으로써 코덱 레이트 증가 타이머는 재시작된다. 현재 레이트가 가장 높은 레이트가 아닌 경우, 코덱 레이트는 증가된다(단계 1112). 단계 1112는 코덱 레이트 증가 시퀀스에 따른 1스텝 만큼 또는 협상된 코덱 레이트 세트 내의 1스텝 만큼 코덱 레이트를 증가시키는 것을 포함한다. 단계 1112는 사용자 기기로부터 적합한 코덱 레이트 변경 요청을 발생시켜 보내는 것을 포함할 수 있다. 단계 1102로 돌아감으로써, 코덱 레이트 증가 타이머는 레이트를 증가시킨 후에 재시작된다.
도 12의 흐름도는 예시적인 실시예에 따라 레이트 적응을 위한 방법(1200)의 다른 예를 나타낸다. 방법(1200)에 따르면, 명시적 혼잡 통지(ECN)를 사용한 코덱 레이트의 적응은 2개의 파라미터, 즉 코덱 레이트 감소 금지 시간 및 코덱 레이트 증가 시간에 의해 제어된다. 이들 파라미터는 예를 들어 OMA-DM(Open Mobile Alliance-Device Management)를 사용하여 오퍼레이터 정책에 기초하여 MTSI 클라이언트 안으로 구성될 수 있다. 파라미터가 구성되지 않은 경우, 200 ms 및 10 초의 디폴트 값이 각각 사용될 수 있다.
협상된 ECN을 지원하고 갖는 단말기에서의 수신 MTSI 클라이언트가 수신된 IP/UDP/RTP 패킷에서 ECN “혼잡 경험(CE)" 마킹을 검출하는지 여부가 결정된다(단계 1202). 마킹된 패킷이 수신되면, 수신 MTSI 클라이언트가 이미 가장 낮은 코덱 레이트로 동작하고 있는지 여부가 결정된다(단계 1204). MTSI 클라이언트가 아직 가장 낮은 코덱 레이트로 동작하고 있지 않다면, 단말기에서의 수신 MTSI 클라이언트는 협상된 코덱 레이트 세트 내의 하나의 코덱 레이트 만큼 코덱 레이트를 감소시킨다(단계 1206). 단말기에서의 수신 MTSI 클라이언트는, 코덱에 의해 지원되는 경우 RTP 페이로드 내의 CMR 비트를 통하여 그리고 코덱에 대한 RTP 페이로드가 CMR 필드를 지원하지 않는 경우에는 TMMBR(Temporary Maximum Media Stream Bit Rate Request) 메시지를 통하여 새로운 코드 레이트를 송신자에게 통지한다. 단말기에서의 수신 MTSI 클라이언트는 코덱 레이트 감소 금지 시간의 값으로 코덱 레이트 감소 금지 타이머를 시작한다(단계 1210). 단말기에서의 수신 MTSI 클라이언트는 코덱 레이트 증가 시간의 값으로 코덱 레이트 증가 타이머를 시작하고 또는 이미 진행 시작되었다면 재시작한다(단계 1216).
코덱 레이트 감소 금지 타이머가 진행 중인지 여부가 결정된다(단계 1212). 코덱 레이트 감소 금지 타이머가 진행 중인 경우, 단말기에서의 수신 MTSI 클라이언트는 수신된 IP/UDP/RTP 패킷의 ECN 마킹에 대해 동작하지 않을 것이다(단계 1214). 코덱 레이트 감소 금지 타이머가 만료되면, 단말기에서의 수신 MTSI 클라이언트는 수신된 IP/UDP/RTP 패킷의 ECN 마킹에 대해 다시 동작할 것이다.
코덱 레이트 증가 타이머가 만료되는지 여부가 결정된다(단계 1218). 기간 동안 수신된 ECN-CE 마킹된 IP/UDP/RTP 패킷이 없는지 결정된다(단계 1220). 레이트가 이미 가장 높은 코덱 레이트인지 결정된다(단계 1222). 코덱 레이트 타이머가 만료되고 기간 동안 수신된 ECN-CE 마킹된 IP/UDP/RTP 패킷이 없으며 레이트가 아직 가장 높은 코덱 레이트가 아니라면, 단말기에서의 MTSI 클라이언트는 협상된 코덱 레이트 세트 내의 1 코덱 레이트 만큼 코덱 레이트를 증가시킨다(단계 1224). 단말기에서의 수신 MTSI 클라이언트는, 코덱에 의해 지원되는 경우 RTP 페이로드 내의 CMR 비트를 통하여 그리고 코덱에 대한 RTP 페이로드가 CMR 필드를 지원하지 않는 경우에는 TMMBR 메시지를 통하여 새로운 코덱 레이트를 송신자에게 알린다(단계 1226). 그 다음, 단말기에서의 수신 MTSI 클라이언트는 코덱 레이트 증가 시간의 값으로 코덱 레이트 증가 타이머를 시작한다.
다양한 도시된 실시예에서의 흐름도 및 블록도는 다양한 예시적인 실시예에서의 장치 및 방법의 일부 가능한 구현의 구조, 기능 및 동작을 예시한다. 이에 관련하여, 흐름도 또는 블록도에서의 각각의 블록은 모듈, 세그먼트, 기능, 또는 동작이나 단계의 일부를 나타낼 수 있다. 일부 대안의 실시예에서, 블록에 언급된 기능 또는 기능들은 도면에 언급된 순서를 벗어나 일어날 수 있다. 예를 들어, 일부 경우에, 수반되는 기능에 따라, 순차적으로 도시된 2개의 블록은 실질적으로 동시에 실행될 수 있고, 또는 블록들은 종종 반대 순서대로 실행될 수 있다.
다양한 예시적인 실시예의 설명은 예시 및 설명을 위한 목적으로 제시되었고, 개시된 형태에 실시예를 제한하는 것도 이를 총망라하고자 하는 것도 아니다. 많은 수정 및 변형이 당해 기술 분야에서의 통상의 지식을 가진 자에게 명백할 것이다. 예시적인 예에서, 사용자 기기는 이동 전화에 관련하여 기재되었다. 다양한 예시적인 실시예는 모바일 플랫폼, 고정 플랫폼, 지상 기반의 구조, 수중 기반의 구조, 공간 기반의 구조, 스마트폰, PDA, 데스크톱 컴퓨터, 서버 컴퓨터, 셋톱 박스, 게임 콘솔, 워크스테이션 및 임의의 기타 적합한 플랫폼과 같이 기재된 것에 더하여 또는 이를 대신하여 다른 유형의 플랫폼에 적용될 수 있다. 컴포넌트는 다수의 상이한 방식으로 플랫폼에 포함될 수 있다. 예를 들어, 컴포넌트는 플랫폼 안 또는 플랫폼 밖에 위치될 수 있거나, 플랫폼의 일부로서 형성되거나, 플랫폼에 기계적으로 고정되거나, 또는 플랫폼과 연관될 수 있다.
선택된 실시예 또는 실시예들은 실시예의 원리를 가장 잘 설명하기 위하여 그리고 당해 기술 분야에서의 통상의 지식을 가진 자가 고려되는 특정 용도에 적합한 대로 다양한 실시예에 대하여 다양한 수정과 함께 본 개시를 이해할 수 있도록 선택되어 기재된 것이다.
600: 통신 환경
602: 네트워크
604: 사용자 기기
606: 네트워크 노드
622: 혼잡 대응 모듈
632: 코덱 레이트 감소 금지 타이머
640: 코덱 레이트 증가 타이머

Claims (24)

  1. 네트워크 상의 혼잡(congestion)을 제어하기 위한 컴퓨터 구현 방법에 있어서,
    네트워크 상의 노드에서 제1 혼잡 표시를 수신하는 것에 응답하여, 네트워크 상의 데이터 전송 레이트를 감소시키는 단계와;
    네트워크 상의 데이터 전송 레이트를 감소시키는 것에 응답하여, 타이머를 개시하는 단계와;
    네트워크 상의 제2 혼잡 표시를 수신하는 것에 응답하여, 상기 타이머가 타임아웃(time out)되었는지 여부를 결정하는 단계와;
    상기 타이머가 타임아웃되었다고 결정하는 것에 응답하여, 데이터 전송 레이트 감소 정책에 따라 네트워크 상의 데이터 전송 레이트를 더 감소시키는 단계를 포함하는 컴퓨터 구현 방법.
  2. 청구항 1에 있어서, 상기 네트워크 상의 데이터 전송 레이트를 감소시키는 단계는,
    복수의 지정된 데이터 전송 레이트 중의 제1 데이터 전송 레이트로부터 상기 제1 데이터 전송 레이트에 비해 상기 복수의 지정된 데이터 전송 레이트 중의 다음으로 낮은 데이터 전송 레이트인 제2 데이터 전송 레이트로 데이터 전송 레이트를 감소시키는 것을 포함하는 것인 컴퓨터 구현 방법.
  3. 청구항 2에 있어서, 상기 데이터 전송 레이트 감소 정책에 따라 네트워크 상의 데이터 전송 레이트를 더 감소시키는 단계는,
    상기 제2 데이터 전송 레이트를, 상기 제2 데이터 전송 레이트에 비해 상기 복수의 지정된 데이터 전송 레이트 중의 다음으로 낮은 데이터 전송 레이트인 제3 데이터 전송 레이트로 감소시키는 것을 포함하는 것인 컴퓨터 구현 방법.
  4. 청구항 2에 있어서, 상기 데이터 전송 레이트 감소 정책에 따라 네트워크 상의 데이터 전송 레이트를 더 감소시키는 단계는,
    데이터 전송 레이트를 더 감소시킬지 여부를 결정하는 단계와;
    데이터 전송 레이트를 더 감소시키도록 결정하는 것에 응답하여, 데이터 전송 레이트를 더 감소시키는 단계를 포함하는 것인 컴퓨터 구현 방법.
  5. 청구항 4에 있어서, 상기 데이터 전송 레이트를 더 감소시키는 단계는, 상기 제2 데이터 전송 레이트를 상기 제2 데이터 전송 레이트에 비해 상기 복수의 지정된 데이터 전송 레이트 중의 다음으로 낮은 데이터 전송 레이트인 제3 데이터 전송 레이트로 감소시키는 것이나, 상기 제2 데이터 전송 레이트를 상기 복수의 지정된 데이터 전송 레이트 중의 가장 낮은 데이터 전송 레이트로 감소시키는 것 중의 하나를 포함하는 것인 컴퓨터 구현 방법.
  6. 청구항 1에 있어서, 상기 타이머는 약 100 밀리초 내지 약 200 밀리초에 타임아웃되는 것인 컴퓨터 구현 방법.
  7. 청구항 1에 있어서, 상기 타이머는 제1 타이머이고, 상기 방법은,
    상기 네트워크 상의 데이터 전송 레이트를 감소시키는 것에 응답하여, 제2 타이머를 개시하는 단계와;
    네트워크 상의 혼잡이 완화되었다고(relieved) 결정하는 것에 응답하여 그리고 상기 제2 타이머가 타임아웃되었다고 결정하는 것에 응답하여, 데이터 전송 레이트 증가 정책에 따라 네트워크 상의 데이터 전송 레이트를 증가시키는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 청구항 7에 있어서,
    복수의 데이터 전송 레이트를 지정하는 단계를 더 포함하고, 상기 데이터 전송 레이트 증가 정책에 따라 네트워크 상의 데이터 전송 레이트를 증가시키는 단계는,
    복수의 지정된 데이터 전송 레이트 중의 제1 데이터 전송 레이트로부터 상기 제1 데이터 전송 레이트에 비해 상기 복수의 지정된 데이터 전송 레이트 중의 다음으로 높은 데이터 전송 레이트인 제2 데이터 전송 레이트로 데이터 전송 레이트를 증가시키는 것을 포함하는 것인 컴퓨터 구현 방법.
  9. 청구항 7에 있어서,
    상기 제2 타이머의 개시 다음에 상기 네트워크 상의 혼잡 표시를 수신하는 단계와;
    상기 제2 타이머의 개시 다음에 상기 네트워크 상의 혼잡 표시를 수신하는 것에 응답하여, 상기 혼잡 표시의 수신시 상기 제2 타이머를 재시작하거나, 상기 제2 타이머가 타임아웃된 후에 상기 제2 타이머를 재시작하는 것 중의 하나를 수행하는 단계를 더 포함하는 컴퓨터 구현 방법.
  10. 청구항 7에 있어서, 상기 제2 타이머는 약 10 초 이상에 타임아웃되는 것인 컴퓨터 구현 방법.
  11. 네트워크 상의 혼잡을 제어하기 위한 컴퓨터 구현 방법에 있어서,
    네트워크 상의 노드에서 혼잡 표시를 수신하는 것에 응답하여, 네트워크 상의 데이터 전송 레이트를 감소시키는 단계와;
    네트워크 상의 데이터 전송 레이트를 감소시키는 것에 응답하여, 타이머를 개시하는 단계와;
    네트워크 상의 혼잡이 완화되었다는 표시를 수신하는 것에 응답하여, 상기 타이머가 타임아웃되었는지 여부를 결정하는 단계와;
    상기 타이머가 타임아웃되었다고 결정하는 것에 응답하여, 데이터 전송 레이트 증가 정책에 따라 네트워크 상의 데이터 전송 레이트를 증가시키는 단계를 포함하는 컴퓨터 구현 방법.
  12. 통신 네트워크와;
    네트워크 상에서 데이터 패킷을 보내도록 구성된 송신자와;
    네트워크 상의 제1 혼잡 표시를 수신하는 것에 응답하여 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 감소시키도록 구성된 혼잡 대응 모듈과;
    데이터 전송 레이트가 네트워크 상에서 감소되는 것에 응답하여 개시되는 타이머를 포함하고,
    상기 혼잡 대응 모듈은 네트워크 상의 제2 혼잡 표시를 수신하는 것에 응답하여 그리고 상기 타이머가 타임아웃된 것에 응답하여 데이터 전송 레이트 감소 정책에 따라 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 더 감소시키도록 구성된 것인 장치.
  13. 청구항 12에 있어서, 상기 혼잡 대응 모듈은 복수의 지정된 데이터 전송 레이트 중의 제1 데이터 전송 레이트로부터 상기 제1 데이터 전송 레이트에 비해 상기 복수의 지정된 데이터 전송 레이트 중의 다음으로 낮은 데이터 전송 레이트인 제2 데이터 전송 레이트로 데이터 전송 레이트를 감소시키도록 구성된 것인 장치.
  14. 청구항 13에 있어서, 상기 데이터 전송 레이트 감소 정책에 따라 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 더 감소시키도록 구성된 혼잡 대응 모듈은,
    데이터 전송 레이트를 더 감소시키라는 결정에 응답하여 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 더 감소시키도록 구성된 것인 장치.
  15. 청구항 14에 있어서, 상기 데이터 전송 레이트 감소 정책에 따라 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 더 감소시키도록 구성된 혼잡 대응 모듈은,
    상기 제2 데이터 전송 레이트를 상기 제2 데이터 전송 레이트에 비해 상기 복수의 지정된 데이터 전송 레이트 중의 다음으로 낮은 데이터 전송 레이트인 제3 데이터 전송 레이트로 감소시키는 것이나, 상기 제2 데이터 전송 레이트를 상기 복수의 지정된 데이터 전송 레이트 중의 가장 낮은 데이터 전송 레이트로 감소시키는 것 중의 하나를 수행하도록 구성된 것인 장치.
  16. 청구항 12에 있어서, 상기 타이머는 제1 타이머를 포함하고, 상기 장치는,
    데이터 전송 레이트가 네트워크 상에서 감소되는 것에 응답하여 개시되는 제2 타이머를 더 포함하고, 상기 혼잡 대응 모듈은 상기 네트워크 상의 혼잡이 완화되었다고 결정하는 것에 응답하여 그리고 상기 제2 타이머가 타임아웃되었다고 결정하는 것에 응답하여 데이터 전송 레이트 증가 정책에 따라 상기 네트워크 상의 데이터 전송 레이트를 증가시키도록 구성된 것인 장치.
  17. 청구항 16에 있어서, 상기 제1 타이머는 약 100 밀리초 내지 약 200 밀리초에 타임아웃되고, 상기 제2 타이머는 약 10 초 이상에 타임아웃되는 것인 장치.
  18. 통신 네트워크와;
    네트워크 상에서 데이터 패킷을 보내도록 구성된 송신자와;
    네트워크 상의 제1 혼잡 표시를 수신하는 것에 응답하여 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 감소시키도록 구성된 혼잡 대응 모듈과;
    데이터 전송 레이트가 네트워크 상에서 감소되는 것에 응답하여 개시되는 타이머를 포함하고,
    상기 혼잡 대응 모듈은 상기 네트워크 상의 혼잡이 완화되었다는 표시를 수신하는 것에 응답하여 그리고 상기 타이머가 타임아웃된 것에 응답하여 데이터 전송 레이트 증가 정책에 따라 상기 송신자에 의해 상기 네트워크 상에서 보내진 데이터 패킷의 데이터 전송 레이트를 증가시키도록 구성된 것인 장치.
  19. 네트워크 상의 혼잡을 제어하기 위한 컴퓨터 구현 방법에 있어서,
    명시적 혼잡 통지(Explicit Congestion Notification)에 응답하여 송신자와 수신자 사이에 가장 높은 데이터 전송 레이트 - 상기 가장 높은 데이터 레이트는 상기 송신자에 의해 사용되는 것으로 가정함 - 를 확립하는 단계와;
    혼잡 표시를 수신하는 것에 응답하여 레이트 적응(rate adaptation) - 상기 레이트 적응은 레이트 적응 시퀀스에 기초하여 설정됨 - 으로서 설정될 더 낮은 데이터 레이트를 결정하는 단계를 포함하는 컴퓨터 구현 방법.
  20. 청구항 19에 있어서,
    상기 레이트 적응 시퀀스는 시스템 레벨 구성 파라미터를 포함하며, 상기 시스템 레벨 구성 파라미터는 네트워크에 의해 제공되는 것인 컴퓨터 구현 방법.
  21. 청구항 20에 있어서,
    상기 시스템 레벨 구성 파라미터는 OMA(Open Mobile Alliance) 관리 오브젝트를 포함하는 것인 컴퓨터 구현 방법.
  22. 청구항 19에 있어서, 상기 레이트 적응 시퀀스는 송신자 및 수신자 엔드 포인트(end point) 내에 저장되는 것인 컴퓨터 구현 방법.
  23. 청구항 19에 있어서, 상기 레이트 적응 시퀀스는 상기 더 낮은 데이터 레이트를 결정할 때 사용될 비트 레이트의 리스트를 포함하는 것인 컴퓨터 구현 방법.
  24. 청구항 23에 있어서,
    상기 비트 레이트의 리스트 내의 엔트리는 상기 레이트 적응 시퀀스 내의 데이터 레이트에 대응하는 스칼라 값을 포함하는 것인 컴퓨터 구현 방법.
KR1020127021080A 2010-01-11 2011-01-11 통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응 KR101546567B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/685,630 US8416690B2 (en) 2010-01-11 2010-01-11 Explicit congestion notification based rate adaptation using binary marking in communication systems
US12/685,630 2010-01-11

Publications (2)

Publication Number Publication Date
KR20120103749A true KR20120103749A (ko) 2012-09-19
KR101546567B1 KR101546567B1 (ko) 2015-08-21

Family

ID=43759664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127021080A KR101546567B1 (ko) 2010-01-11 2011-01-11 통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응

Country Status (12)

Country Link
US (1) US8416690B2 (ko)
EP (4) EP3787335B1 (ko)
JP (1) JP2013516931A (ko)
KR (1) KR101546567B1 (ko)
CN (1) CN102792647B (ko)
AU (1) AU2011203884B2 (ko)
BR (1) BR112012017108A2 (ko)
CA (1) CA2786807C (ko)
ES (1) ES2960826T3 (ko)
HU (1) HUE052216T2 (ko)
MX (1) MX2012008012A (ko)
WO (1) WO2011085348A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101683384B1 (ko) * 2015-06-25 2016-12-06 라인 가부시키가이샤 실시간 스트림 제어를 위한 시스템 및 방법
KR20170005947A (ko) * 2015-07-06 2017-01-17 에스케이텔레콤 주식회사 실시간으로 혼잡도를 처리하기 위한 방법
KR20180132698A (ko) * 2016-04-12 2018-12-12 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 서비스 통신의 코덱 모드 세트를 결정하기 위한 방법 및 장치

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139565B2 (en) 2002-01-08 2006-11-21 Seven Networks, Inc. Connection architecture for a mobile network
US10111055B2 (en) 2004-11-23 2018-10-23 Kodiak Networks, Inc. Optimized methods for large group calling using unicast and multicast transport bearer for PoC
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7613848B2 (en) * 2006-06-13 2009-11-03 International Business Machines Corporation Dynamic stabilization for a stream processing system
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US9007914B2 (en) 2009-09-30 2015-04-14 Qualcomm Incorporated Methods and apparatus for enabling rate adaptation across network configurations
US8693320B2 (en) * 2010-01-11 2014-04-08 Research In Motion Limited Congestion level indication with explicit congestion notification in communication systems
US8917589B2 (en) * 2010-06-29 2014-12-23 Htc Corporation Apparatuses and methods for packet data protocol context handling for emergency bearer services
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP3407673B1 (en) 2010-07-26 2019-11-20 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US8619654B2 (en) 2010-08-13 2013-12-31 Intel Corporation Base station selection method for heterogeneous overlay networks
US8787337B2 (en) * 2010-08-13 2014-07-22 Intel Corporation Techniques for managing mobility management signaling in a wireless network
WO2012033774A2 (en) 2010-09-07 2012-03-15 Interdigital Patent Holdings, Inc. Bandwidth management, aggregation and internet protocol flow mobility across multiple-access technologies
AU2010361098B2 (en) * 2010-09-24 2014-08-14 Intel Corporation Method and system for access point congestion detection and reduction
US20120087245A1 (en) * 2010-10-06 2012-04-12 Qualcomm Incorporated Methods and apparatus for ecn receiver driven congestion control
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9401975B2 (en) * 2010-11-10 2016-07-26 Panasonic Intellectual Property Corporation Of America Terminal and codec mode selection method
US9072075B2 (en) * 2011-01-19 2015-06-30 Htc Corporation Method of handling emergency bearer service in wireless communication system
US9473986B2 (en) 2011-04-13 2016-10-18 Interdigital Patent Holdings, Inc. Methods, systems and apparatus for managing and/or enforcing policies for managing internet protocol (“IP”) traffic among multiple accesses of a network
GB2493473B (en) 2011-04-27 2013-06-19 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
CN102217367B (zh) * 2011-06-03 2014-08-13 华为技术有限公司 一种编解码速率的调整方法、装置及媒体网关
CN102833219B (zh) * 2011-06-16 2015-06-03 华为技术有限公司 向客户端传输数据文件的方法和装置
WO2013014246A1 (en) * 2011-07-26 2013-01-31 Nec Europe Ltd. A method for controlling the encoding rate of data traffic and a network
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
GB2498064A (en) 2011-12-07 2013-07-03 Seven Networks Inc Distributed content caching mechanism using a network operator proxy
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
KR20130093812A (ko) * 2012-01-12 2013-08-23 삼성전자주식회사 컨텐츠 중심 네트워크에서 트래픽 전송량을 제어하기 위한 컨텐츠 라우터의 통신 방법 및 그 컨텐츠 라우터
EP2815603B1 (en) 2012-02-17 2019-09-25 Interdigital Patent Holdings, Inc. Hierarchical traffic differentiation to handle congestion and/or manage user quality of experience
US9515942B2 (en) 2012-03-15 2016-12-06 Intel Corporation Method and system for access point congestion detection and reduction
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US8804523B2 (en) * 2012-06-21 2014-08-12 Microsoft Corporation Ensuring predictable and quantifiable networking performance
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9585054B2 (en) * 2012-07-19 2017-02-28 Interdigital Patent Holdings, Inc. Method and apparatus for detecting and managing user plane congestion
US9591513B2 (en) * 2012-08-06 2017-03-07 Vid Scale, Inc. Rate adaptation using network signaling
US20150223108A1 (en) * 2012-08-17 2015-08-06 Telefonaktiebolaget L M Ericsson (Publ) Throttling Cell Notification
US9338682B2 (en) * 2012-09-21 2016-05-10 Telefonaktiebolaget L M Ericsson (Publ) System, method, and device for minimizing uplink registration or location reports for fixed or low-mobility devices
US9131010B2 (en) * 2012-10-19 2015-09-08 Nec Laboratories America, Inc. Delay-tolerant and loss-tolerant data transfer for mobile applications
WO2014087764A1 (ja) * 2012-12-03 2014-06-12 日本電気株式会社 端末および通信システム
WO2014110410A1 (en) 2013-01-11 2014-07-17 Interdigital Patent Holdings, Inc. User-plane congestion management
WO2014113074A1 (en) 2013-01-17 2014-07-24 Intel IP Corporation Techniques and systems for extended discontinuous reception
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) * 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8995278B1 (en) 2013-03-12 2015-03-31 Sprint Spectrum L.P. Managing a wireless device connection in a multioperator communication system
CN103312824A (zh) * 2013-07-10 2013-09-18 亿览在线网络技术(北京)有限公司 一种p2p网络智能调速方法、装置和系统
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
TWI572243B (zh) * 2013-08-09 2017-02-21 財團法人資訊工業策進會 直接通訊系統
EP2836006B1 (en) * 2013-08-09 2018-02-21 Telefonaktiebolaget LM Ericsson (publ) Controlling Transmission Control Protocol Data
US9253238B2 (en) 2013-09-30 2016-02-02 Apple Inc. Device-initiated codec rate change during a voice call
MX2016008948A (es) * 2014-01-08 2016-12-09 Kodiak Networks Inc Metodos optimizados para llamadas de grupo grande utilizando portadoras de transporte de difusion unidireccional y multidireccional para servicios de pulsa y habla a traves de celular (poc).
EP3127365B1 (en) * 2014-04-04 2022-06-08 Telefonaktiebolaget LM Ericsson (publ) Mobile network handling of unattended traffic
US9860791B1 (en) * 2014-07-02 2018-01-02 Sprint Communications Company L.P. Long term evolution communication policies based on explicit congestion notification
US9717017B2 (en) 2014-08-22 2017-07-25 Seven Networks, Llc Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network for optimize user experience
US10187680B2 (en) 2014-11-11 2019-01-22 Cisco Technology, Inc. Adaptive bit rate system architectures using named domain networking
US9923836B1 (en) * 2014-11-21 2018-03-20 Sprint Spectrum L.P. Systems and methods for configuring a delay based scheduler for an access node
US10616822B2 (en) 2015-02-10 2020-04-07 Qualcomm Incorporated System information updating
US10200920B2 (en) * 2015-02-10 2019-02-05 Qualcomm Incorporated On-demand system information
US9769733B2 (en) 2015-02-10 2017-09-19 Qualcomm Incorporated Incremental transmission of system information
US10524179B2 (en) 2015-04-10 2019-12-31 Qualcomm Incorporated Rate adaptation during handoffs
CN105162717B (zh) * 2015-09-21 2018-11-09 中国人民解放军国防科学技术大学 一种用于rdss卫星通信系统入站流量的控制方法及系统
US10382495B2 (en) 2015-09-25 2019-08-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and interworking network node for enabling bit rate adaption in media streaming
US9949017B2 (en) 2015-11-24 2018-04-17 Bose Corporation Controlling ambient sound volume
US9602991B1 (en) 2016-01-04 2017-03-21 T-Mobile Usa, Inc. User notification of cellular service impairment
US9860766B1 (en) 2016-02-05 2018-01-02 Sprint Spectrum L.P. Control of voice communication codec mode based on non-voice communication
US10848602B2 (en) * 2016-07-08 2020-11-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for implementing congestion control negotiation
JP6847115B2 (ja) * 2016-08-12 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 端末、基地局及び通信方法
CN108418767B (zh) * 2018-02-09 2021-12-21 华为技术有限公司 数据传输方法、设备及计算机存储介质
KR102397023B1 (ko) * 2018-03-08 2022-05-16 삼성전자주식회사 채널 상황에 기반한 코덱 제어 방법 및 전자 장치
WO2019241973A1 (en) * 2018-06-21 2019-12-26 Zte Corporation Rate adjustment techniques
US10924526B2 (en) * 2018-08-10 2021-02-16 Verizon Patent And Licensing Inc. Adapting an audio bit rate based on changing network conditions
CN109039936B (zh) * 2018-08-30 2021-12-28 华为技术有限公司 传输速率控制方法、装置、发送设备和接收设备
EP3871440A1 (en) * 2018-10-23 2021-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for flow control in a split path communication system
WO2020092818A1 (en) * 2018-11-02 2020-05-07 Intel Corporation Signaling codec mode notifications for multimedia telephony sessions
CN111263408B (zh) * 2018-12-03 2021-12-14 华为技术有限公司 速率协商方法及其装置
CN111757313A (zh) * 2019-03-29 2020-10-09 华为技术有限公司 一种通信方法及装置
FR3099332B1 (fr) 2019-07-25 2022-06-17 Commissariat Energie Atomique Procédé et dispositif de contrôle de la congestion dans un réseau maillé
WO2022115983A1 (en) * 2020-12-01 2022-06-09 Qualcomm Incorporated Managing radio access network query timeouts
US11277460B1 (en) * 2021-04-05 2022-03-15 Agora Lab, Inc. Video communications network with value optimization
JP7438464B2 (ja) * 2021-06-08 2024-02-26 三菱電機株式会社 通信制御システム、制御装置、通信制御方法、および、通信制御プログラム
CN117378188A (zh) * 2021-06-26 2024-01-09 英特尔公司 预测队列深度
WO2024077408A1 (en) * 2022-10-09 2024-04-18 Nokia Shanghai Bell Co., Ltd. Devices, methods, apparatuses, and computer readable media for non-terrestrial networks

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145887B1 (en) * 2001-02-23 2006-12-05 3Com Corporation Communication of packet arrival times to cable modem termination system and uses thereof
US7000025B1 (en) * 2001-05-07 2006-02-14 Adaptec, Inc. Methods for congestion mitigation in infiniband
US20030128672A1 (en) * 2001-06-19 2003-07-10 Sridhar Komandur Transmission and flow control
US7068601B2 (en) * 2001-07-16 2006-06-27 International Business Machines Corporation Codec with network congestion detection and automatic fallback: methods, systems & program products
US7088735B1 (en) * 2002-02-05 2006-08-08 Sanera Systems, Inc. Processing data packets in a multiple protocol system area network
US7382776B1 (en) * 2003-04-15 2008-06-03 Brocade Communication Systems, Inc. Performing block storage virtualization at a switch
US7859996B2 (en) * 2004-10-29 2010-12-28 Broadcom Corporation Intelligent congestion feedback apparatus and method
US8498210B2 (en) * 2005-01-31 2013-07-30 British Telecommunications Plc Control of data in a network
US7760646B2 (en) * 2005-02-09 2010-07-20 Nokia Corporation Congestion notification in 3G radio access
WO2006111176A1 (en) * 2005-04-18 2006-10-26 Telecom Italia S.P.A. Method for interactive mobile network selection
US7961621B2 (en) * 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
US7735027B2 (en) 2006-07-07 2010-06-08 Siemens Product Lifecycle Management Software Inc. Alignment of product representations
US7961605B2 (en) * 2006-07-31 2011-06-14 International Business Machines Corporation System and method for enabling management of a plurality of messages in a communication network
WO2008055534A1 (en) 2006-11-10 2008-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Edge node for a network domain
US8520517B2 (en) * 2007-02-21 2013-08-27 Broadcom Corporation Switch fabric end-to-end congestion avoidance mechanism
WO2009008817A1 (en) * 2007-07-06 2009-01-15 Telefonaktiebolaget L M Ericsson (Publ) Congestion control in a transmission node
JP5284355B2 (ja) * 2007-07-09 2013-09-11 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信システムにおける適応レート制御
US7839777B2 (en) * 2007-09-27 2010-11-23 International Business Machines Corporation Method, system, and apparatus for accelerating resolution of network congestion
CN101582852B (zh) * 2009-06-10 2012-04-11 中兴通讯股份有限公司 一种网络拥塞管理的方法及系统
US8838677B2 (en) * 2009-11-25 2014-09-16 Telefonaktiebolaget L M Ericsson (Publ) Proxy server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101683384B1 (ko) * 2015-06-25 2016-12-06 라인 가부시키가이샤 실시간 스트림 제어를 위한 시스템 및 방법
KR20170005947A (ko) * 2015-07-06 2017-01-17 에스케이텔레콤 주식회사 실시간으로 혼잡도를 처리하기 위한 방법
KR20180132698A (ko) * 2016-04-12 2018-12-12 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 서비스 통신의 코덱 모드 세트를 결정하기 위한 방법 및 장치

Also Published As

Publication number Publication date
HUE052216T2 (hu) 2021-04-28
US20110170410A1 (en) 2011-07-14
CA2786807C (en) 2016-08-09
AU2011203884B2 (en) 2014-10-02
EP3550880B1 (en) 2020-10-07
EP3550880A1 (en) 2019-10-09
MX2012008012A (es) 2013-01-29
CN102792647A (zh) 2012-11-21
CN102792647B (zh) 2016-01-06
EP2524478A1 (en) 2012-11-21
JP2013516931A (ja) 2013-05-13
KR101546567B1 (ko) 2015-08-21
EP3787335C0 (en) 2023-10-04
EP3787335B1 (en) 2023-10-04
EP3787335A1 (en) 2021-03-03
WO2011085348A1 (en) 2011-07-14
US8416690B2 (en) 2013-04-09
CA2786807A1 (en) 2011-07-14
BR112012017108A2 (pt) 2018-06-12
EP2524478B1 (en) 2019-04-10
EP4280558A1 (en) 2023-11-22
ES2960826T3 (es) 2024-03-06
AU2011203884A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
KR101546567B1 (ko) 통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응
US9351194B2 (en) Congestion level indication with explicit congestion notification in communication systems
US8565242B2 (en) Transport protocol performance using network bit rate information
KR101447792B1 (ko) Ussd 이동 방법 및 장치
KR101676989B1 (ko) 통화 중단율을 감소시키는 방법들 및 장치
US10205559B2 (en) System and method for increasing network efficiency using dynamic repeat requests adjustment
US8948106B2 (en) Controlling telecommunications channel switching
US20080130594A1 (en) System and Method for Maintaining Packet Protocol Context
WO2019185800A1 (en) Dedicated bearer management
EP1928143A1 (en) System and method for maintaining packet protocol context
US11419054B2 (en) Energy savings on multihomed mobile devices using a dynamically adjusted inactivity timer
US9467938B1 (en) Using DRCLocks for conducting call admission control
KR20170010636A (ko) 기지국장치 및 기지국장치의 동작 방법
EP2749115A1 (en) Controlling transitions between radio resource control (rrc) states

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180807

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 5