KR101046105B1 - 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 - Google Patents

컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 Download PDF

Info

Publication number
KR101046105B1
KR101046105B1 KR1020040005115A KR20040005115A KR101046105B1 KR 101046105 B1 KR101046105 B1 KR 101046105B1 KR 1020040005115 A KR1020040005115 A KR 1020040005115A KR 20040005115 A KR20040005115 A KR 20040005115A KR 101046105 B1 KR101046105 B1 KR 101046105B1
Authority
KR
South Korea
Prior art keywords
resource
congestion
initial
determining
indication
Prior art date
Application number
KR1020040005115A
Other languages
English (en)
Other versions
KR20040068880A (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 KR20040068880A publication Critical patent/KR20040068880A/ko
Application granted granted Critical
Publication of KR101046105B1 publication Critical patent/KR101046105B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

네트워크를 통한 실시간 통신은 초기 혼잡 조건 하에서 QoS(quality of sercive)를 향상시키기 위해 조정된다. 시스템은 초기 네트워크 혼잡을 검출하여 초기 혼잡에 대한 정보를 송신기로 다시 피드백한다. 이 정보에 기초하여, 가중 파라미터, 이득 파라미터, 및 혼잡 레포트로부터의 정보에 따라 변경된 송신 레이트를 산출하는 제어 알고리즘을 적절히 이용함으로써 송신 레이트가 적절히 변경된다. 변경된 송신 레이트는 수신기에서 수용 가능한 QoS를 유지하도록 가용 대역폭에 대한 송신기의 사용을 개선시킨다.
Figure R1020040005115
실시간 통신, 혼잡, 송신 레이트, 가중 파라미터, 이득 파라미터

Description

컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템{REACTIVE BANDWIDTH CONTROL FOR STREAMING DATA}
도 1은 본 발명의 실시예에 있어서 예시적인 엔드 투 엔드 시스템(end to end system)을 도시하는 도면.
도 2는 본 발명의 실시예에 있어서 예시적인 엔드 시스템을 도시하는 도면.
도 3은 본 발명의 실시예에 있어서 예시적인 중간 장치를 도시하는 도면.
도 4는 본 발명의 실시예에 있어서 각종 장치들 사이의 메시징 및 동작들을 도시하는 도면.
도 5는 본 발명의 실시예에 있어서 데이터 스트리밍 환경의 리액티브 대역폭 제어에 대한 동작을 도시하는 도면.
도 6은 본 발명의 실시예에 있어서 이득 파라미터를 설정하는 동작들을 도시하는 도면.
도 7은 본 발명의 실시예에 있어서 전송 레이트를 갱신하는 동작들을 도시하는 도면.
도 8은 본 발명의 실시예를 구현하기 위해 사용되는 예시적인 시스템을 도시하는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
21 : 프로세싱 유닛
32 : 하드 디스크 드라이브 인터페이스
53 : 네트워크 인터페이스
51 : LAN
54 : WAN
본 발명은 일반적으로 네트워크 통신에 관한 것으로, 특히 네트워크 통신시 대역폭 사용의 제어에 관한 것이다.
스트리밍 비디오 및 오디오 플레이어 등의 많은 최근의 멀티미디어 어플리케이션들은 원래 부착형 로컬 저장 장치(예를 들면 CD 또는 하드 디스크)로부터 또는 고품질의 낮은 레이턴시 네트워크(예를 들면, 경미하게 부하가 걸린 근거리 통신망 즉 LAN)를 통해 동작하도록 고안되었다. 그러나, WAN 등의 보다 낮은 품질의 네트워크를 통해 실행되는 경우, 네트워크 혼잡으로부터 발생하는 패킷 소실 및 레이턴시는 종종 열악한 QoS(Quality of Service)로 설명되는 열악한 사용자 경험을 제공할만큼 충분히 멀티미디어 어플리케이션의 실시간 동작을 종종 손상시킨다. 예를 들면, 비디오 프레임이 소실될 수 있고, 또는 비디오 및 오디오 동기화가 변질될 수 있어, 멀티미디어 성능의 질이 저하된다.
이 문제를 처리하기 위해, 몇몇 현재의 멀티미디어 어플리케이션은 네트워크 조건에 따라 그 전송 레이트를 바꾸도록 개발되었다. 하나의 접근법은 소실된 패킷의 검출에 응답하여 전송 레이트를 변경한다. 특히, 스트리밍 멀티미디어와 같은 실시간 어플리케이션에 대해서는, RTP(Real Time Protocol)가 QoS를 모니터하고 소실된 패킷 검출에 기초하여 참가 정보를 전송하기 위해 관련 RTCP(Real Time Control Protocol)로 특정된다. 다른 접근법은 데이터 소실을 피하거나 최소화하기 위해 네트워킹 장치에서 버퍼링되는 패킷의 수를 증가시킨다. 이들 향상된 버퍼링 방식에는 포워드 에러 정정도 사용될 수 있다. 또 다른 접근법은 "보틀넥(bottlenect)" 링크의 예상된 대역폭을 추정하고 이에 따라 전송 레이트를 통계적으로 설정하고자 한다.
그러나, 이들 현존하는 접근법들은 불충분하다, 제1 접근법은 소실된 패킷의 검출에 달려 있기 때문에, 문제를 해결하기 위한 시도는 사용자가 초기의 패킷 소실을 경험하지 않도록 방지하기에 너무 늦다. 버퍼링을 증가시키는 제2 접근법은 데이터 소실을 많은 송신 큐에 의해 도입되는 증가된 레이턴시로 대체한다. 또한, 제2 접근법은 시청각 이동 전화 또는 시계 등의 제한된 버퍼 메모리를 갖는 장치에 대해 문제가 된다. 제3 접근법은 보틀넥에서 가용 대역폭을 공유하는 다수의 어플리케이션에 의해 도입된 동적 혼잡의 변화 또는 본래의 가변 대역폭 보틀넥(예를 들면 무선 링크)을 처리하지 못한다.
또한, 현존하는 접근법은 특히 멀티미디오 어플리케이션에서 흔하게 사용되고 있는 실시간 통신에 대한 초기 혼잡에 응답하는 리액티브 대역폭 제어를 처리하 지 못한다.
본 발명의 실시예들은 탄력적인 지연 감지형 멀티미디어(elastic - delay - sensitive - multimedia)에 적합한 피드백을 사용하여 가용 네트워크 대역폭의 가중된 페어 공유(fair-share)를 트래킹함으로써 상기 문제를 해결한다. 시스템은 초기 네트워크 혼잡을 검출하고, 정보를 송신기로 피드백함으로써 송신기가 네트워크에서 초기 혼잡에 적응가능하도록 한다. 초기 혼잡은 아직 발생되지 않은(예를 들면 아직 패킷이 소실되거나 또는 레이턴시가 수용 불가능하게 되지 않은) 혼잡에 관한 것이다. 이 정보에 기초하여 송신 레이트가 적절하게 변경된다. 제어 알고리즘은 가중 파라미터, 이득 파라미터, 및 혼잡 레포트로부터의 정보에 기초하여 변경된 송신 레이트를 산출한다. 변경된 송신 레이트는 수신기에서 수용 가능한 QoS를 유지하도록 가용 대역폭에 대한 송신기의 사용을 개선시킨다.
본 발명의 구현시, 제조물은 컴퓨터 프로그램 제품으로서 제공된다. 컴퓨터 프로그램 제품의 일 실시예는 컴퓨터 시스템에 의해 판독가능한 컴퓨터 프로그램 저장 매체를 제공하며, 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하는 컴퓨터 프로그램을 인코딩한다. 컴퓨터 프로그램 제품의 또 다른 실시예는 컴퓨팅 시스템에 의해 캐리어 웨이브로 구현되는 컴퓨터 데이터 신호에 제공될 수 있으며, 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하는 컴퓨터 프로그램을 인코딩한다.
컴퓨터 프로그램 제품은 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하는 컴퓨터 프로세스를, 컴퓨터 시스템 상에서 실행하기 위해 컴퓨터 프로그램을 인코딩한다. 리소스 소비자와 관련된 가용 리소스의 페어 공유에 관한 가중 파라미터가 결정된다. 초기 리소스 혼잡의 표시가 수신된다. 초기 리소스 혼잡의 표시에 기초하여, 중간 장치를 통해 리소스 소비자에 의한 리소스 요구시 조정의 크기에 대한 이득 파라미터가 결정된다. 리소스 소비자에 의한 가용 리소스의 사용을 조정하기 위해 가중 파라미터 및 이득 파라미터에 기초하여 새로운 리소스 요구가 산출된다.
또 다른 실시예에서, 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하는 방법이 제공된다. 리소스 소비자와 관련된 가용 리소스의 페어 공유에 관한 가중 파라미터가 결정된다. 초기 리소스 혼잡의 표시가 수신된다. 초기 리소스 혼잡의 표시에 기초하여, 중간 장치를 통해 리소스 소비자에 의한 리소스 요구시 조정의 크기에 대한 이득 파라미터가 결정된다. 리소스 소비자에 의한 가용 리소스의 사용을 조정하기 위해 가중 파라미터 및 이득 파라미터에 기초하여 새로운 리소스 요구가 산출된다.
또 다른 실시예에서, 하나의 방법은 초기 리소스 혼잡의 표시를 네트워크의 송신기에 제공한다. 초기 리소스 혼잡의 표시는 네트워크의 중간 장치에 의해 제공된 ECN(Explicit Congestion Notification) 마킹 정보에 기초한다. 중간장치로 부터 수신된 ECN 마킹 정보는 트래킹된다. 트래킹 동작에 응답하여, 초기 리소스 혼잡을 나타내는 혼잡 레포트를 생성하도록 ECN 마킹 정보가 디코딩된다. 혼잡 레포트는 송신기에 전달된다.
또 다른 컴퓨터 프로그램 제품 실시예는 초기 리소스 혼잡의 표시를 네트워크의 송신기에 제공한다. 초기 리소스 혼잡의 표시는 네트워크의 중간 장치에 의해 제공된 ECN 마킹 정보에 기초한다. 중간장치로부터 수신된 ECN 마킹 정보는 트래킹된다. 트래킹 동작에 응답하여, 초기 리소스 혼잡을 나타내는 혼잡 레포트를 생성하도록 ECN 마킹 정보가 디코딩된다. 혼잡 레포트는 송신기에 전달된다.
또 다른 실시예에서, 엔드 시스템은 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하기 위해 리액티브 대역폭 제어를 제공한다. 네트워크 전송층 모듈은 초기 리소스 혼잡의 표시를 수신한다. WTP 모듈은 리소스 소비자와 관련된 가용 리소스의 페어 공유에 관한 가중 파라미터를 결정한다. WTP 모듈은 또한 초기 리소스 혼잡의 표시에 기초하여, 중간 장치를 통해 리소스 소비자에 의한 리소스 요구시 조정의 크기에 관한 이득 파라미터를 결정한다. 또한, WTP 모듈은 리소스 소비자에 의한 가용 리소스의 사용을 조정하기 위해 가중 파라미터 및 이득 파라미터에 기초하여 새로운 리소스 요구를 산출한다.
또 다른 실시예에서, 엔드 시스템은 초기 리소스 혼잡의 표시를 네트워크의 송신기에 제공한다. 초기 리소스 혼잡의 표시는 네트워크의 중간 장치에 의해 제공된 ECN 마킹 정보에 기초한다. 마크 피드백 코덱은 초기 리소스 혼잡을 나타내 는 혼잡 레포트를 생성하도록 ECN 마킹 정보를 디코딩한다. 마크 트래킹 모듈은 중간장치로부터 수신된 ECN 마킹 정보를 트래킹하여 ECN 마킹 정보를 마크 피드백 코덱으로 보낸다.
본 발명을 특징지우는 상기 및 각종 다른 특징 뿐만 아니라 다른 이점들은 다음의 상세한 설명 및 관련된 도면 설명을 이해함으로써 명백하게 될 것이다.
네트워크를 통한 실시간 통신은 초기 혼잡 조건 하에서 QoS를 개선하도록 조정된다. 시스템은 초기 네트워크 혼잡을 검출하고 초기 혼잡에 관한 정보를 송신기로 다시 피드백한다. 이 정보에 기초하여, 송신 레이트는 가중 파라미터, 이득 파라미터, 및 혼잡 레포트로부터의 정보에 기초하여 변경된 송신 레이트를 산출하는, 제어 알고리즘을 적절히 사용하여 변경된다. 변경된 송신 레이트는 송신기의 가용 대역폭에 대한 사용을 개선하여 수신기에서 수용가능한 QoS를 유지한다.
리액티브 대역폭 제어는, 무선 네트워트의 송신 전력의 제어, 분산 컴퓨팅 어플리케이션에서의 프로세싱 요구의 조정, 및 저장 어프리케이션에서의 저장 요구의 조정을 포함하지만 이에 제한되지 않는 다양한 구성에 적용될 수 있음을 이해해야 한다. 일반적으로, 포괄적인 리소스 사용은 초기 리소스 혼잡(예를 들면 과부하) 표시에 응답하여 제어될 수 있다.
많은 네트워크 통신은 "실시간" 또는 "비실시간" 통신으로서 범주화될 수 있다. 예를 들면, HTML(HyperText Markup Language) 문서를 포함하는 HTTP(HyperText Transfer Protocol) 응답과 같은 파일 전송은 비실시간 통신으로 생각될 수 있다. 많은 비실시간 어플리케이션에서, TCP(Transmission Control Protocol) 는 통신의 제어에 적합하다. TCP는 가장 흔한 전송층 프로토콜이며 그 기반 프로토콜로서 IP(Internet Protocol)에 기초하고 있다. 이러한 것으로서, TCP/IP는 "인터넷 프로토콜 기반의 전송 제어 프로토콜(Transmission Control Protocol over Internet Protocol)"을 의미한다. TCP는 접속 지향형이고 IP 패킷 스위치형 네트워크를 통해 신뢰성있는 통신을 제공한다. 네트워크 혼잡 또는 다른 통신 이벤트에 의해 패킷이 소실되면, TCP는 패킷 소실에 대한 정보를 검출 및 피드백하기 위한 알고리즘을 지정하여 송신기가 소실된 패킷을 의도된 수신기로 재송신할 수 있게 한다. 이러한 방식으로, TCP는 송신기와 수신기 사이의 100% 신뢰성있는 통신을 목표로 하며, 이는 파일 전송 어플리케이션에 결정적이다(예를 들면 소실된 패킷을 전달하지 못하면 변질된 파일이 수신됨).
그러나, 많은 멀티미디어 어플리케이션은 실시간 스트리밍 미디어 어프리케이션이며, 적절한 데이터 패킷의 수신이 수용가능한 어플리케이션의 동작에 결정적이다. 또한, 100 % 신뢰도는 필요없다. 일반적으로 패킷의 늦은 도착 또는 재전송에 앞서 멀티미디어 어플리케이션을 지연시키는 것보다, 송신되거나 또는 실제로 지연된 패킷을 잃어버리는 것이 바람직하다. 예를 들면, 비디오 스트림의 패킷이 전송시 소실되거나 또는 매우 지연되면, 수신기가 궁극적으로 잘못된 패킷을 수신할 수 있도록 비디오 데이터를 계속 플레이하는 것보다는 이어지는 데이터를 계속 스트리밍하는 것이 더 중요하다.
이러한 것으로서, 많은 실시간 네트워크 통신은 UDP(User Datagram Protocol)에 의존한다. UDP는 인터넷 네트워크층, 전송층, 및 세션층에 대한 통신 프로토콜이다. TCP와 같이, UDP는 IP와 함께 사용된다. 그러나, TCP와 달리, UDP는 접속되지 않으며 신뢰성있는 통신을 보장하지 않는다. 수신 어플리케이션은 필요하다면 임의의 에러를 처리하거나 신뢰성 있는 전송을 위해 검사를 하게 된다.
도 1은 본 발명의 실시예에 있어서 예시적인 엔트 투 엔트 시스템 도면을 나타낸다. WAN(100)이 도시되지만, 본 발명의 실시예들은 LAN을 포함하는 다른 네트워크 타입에도 적용가능하다. WAN에서는, 대역폭 이용이 일반적으로 네트워크 백본(backbone)으로 갈수록 감소하며 혼잡은 거의 드물거나 없다. 일반적으로 링크의 한쪽과 다른쪽 사이에 중요한 대역폭 불균등(disparity)이 존재하는 보틀넥(bottlenecks)이 가장 흔하게 발견된다. 이 불균등에 의해 일반적으로 하부 대역폭 링크가 과부하된 경우 패킷 큐잉(queuing)이 과도하게 된다. 따라서, 보틀넷은 액세스 링크(예를 들면, LAN이 비교적 혼잡하지 않은 네트워크 세그먼트 또는 백본에 접속하는 WAN의 한 점)에 빈번히 존재한다. 예를 들면, DSL(Digital Subscriber Line) 접속 또는 공동 인트라넷으로의 소규모 공유 회선이 전형적인 보틀넥이다.
제1 엔드 시스템(101)은 네트워크(100)에 결합되며, 이는 카메라(104)로부터 서브젝트(108)의 비디오 데이터를 수신한다. 디스플레이(112)는 엔드 시스템(102)으로부터 수신된 비디오 데이터 스트림으로부터 서브젝트(110)을 표시한다. 제2 엔드 시스템(102)은 네트워크(100)에 결합되며, 이는 카메라(106)로부터 서브젝트(110)의 비디오 데이터를 수신한다. 디스플레이(114)는 엔드 시스템(101)으로부터 수신된 비디오 데이터 스트림으로부터 서브젝트(108)를 표시한다. 예시적인 엔드 시스템은 범용 컴퓨터 또는 핸드 헬드 장치일 수 있지만, 본 발명의 범위 내에서 통신 키오스크, 이동 전화기, 및 다른 특정 목적의 장치를 포함하는 다른 엔드 시스템이 고려된다. 또한, 네트워크(100)는 2 이상의 엔드 시스템을 함께 통신 링크할 수 있고, 다수의 송신용 엔드 시스템(transmitting end system) 및 수신용 엔드 시스템(receiving end system)은 주어진 통신 세션에 결합될 수 있다.
이어지는 설명 부분은 수신용 엔드 시스템(102) 상에 서브젝트(108)를 디스플레이하기 위해 송신용 엔드 시스템(101)으로부터 나오는 비디오 데이터 스트림에 초점을 맞추고 있다. 그러나, 반대의 비디오 데이터 스트림은 엔드 시스템(102)로부터 나와서 엔드 시스템(101) 상에 서브젝트(110)를 디스플레이하며, 이는 본 발명에 따라 제어될 수 있음을 이해해야 한다. 또한, 대응하는 오디오 데이터 스트림은, 본 발명에 따라 제어될 수 있으며, 비디오 데이터 스트림에 대한 대응부로서 엔드 시스템들 사이에서 전달될 수 있다.
2개의 엔드 시스템(101 및 102) 사이의 네트워크(100) 상에서, 적어도 하나의 라우터(116)가 초기 네트워크 혼잡을 검출하도록 동작한다. 라우터(116)는 도시된 실시예에서 혼잡을 검출하는 예시적인 중간 네트워크 장치이다. 다른 예시적인 중간 네트워크 장치는 게이트웨이, 방화벽, 및 프록시 서버를 포함할 수 있지만, 이에 제한되지 않는다. 라인(118)과 같은 부분적인 라인들은 라우터(116)도 다른 네트워크 장치를 포함하는 다른 통신 흐름으로부터 데이터를 송수신할 수 있음을 나타낸다. 모든 이러한 통신 흐름은 라우터(116)가 경험하는 혼잡에 영향을 줄 수 있다.
도시된 실시예에서, 라우터(116)는 ECN(Explicit Congestion Notification) 마킹을 지원하며, ECT(ECN Capable Transport) 데이터 흐름에 대한 패킷을 마킹한다. 몇몇 실시예에서, ECT 데이터 흐름은 퍼 IP 흐름(per IP flow)에 기초하여 지정된다. 따라서, 엔드 시스템(101)과 엔드 시스템(102) 사이의 ECT 데이터 흐름을 식별하기 위해, 엔드 시스템(101)과 같은 송신용 엔드 시스템과 엔드 시스템(102)과 같은 수신용 엔드 시스템 사이에는 통지 프로토콜이 존재한다. 송신용 엔드 시스템(101)은 그 송신 동작이 네트워크의 가용 대역폭(즉, 리소스)을 소비하기 때문에 "리소스 소비자(resource consumer)"라고 칭해질 수 있다.
멀티미디어 스트림의 송신기로서의 그 수용력에 있어서, 송신용 엔드 시스템(101)은 그것이 ECT 장치임을 표시함으로써 초기 혼잡에 반응할 수 있음을 알린다. 응답에서, 수신용 엔드 시스템(102)은 그것도 ECT 장치임을 알린다. 이와 같이 함으로써, 수신용 엔드 시스템(102)은 인입 비디오 데이터 스트리밍으로부터 검출하는 ECN 정보를 피드백하는데 동의한다. 이 동의에 의해 엔드 시스템은 비디오 데이터 스트리밍의 리액티브 대역폭 제어를 수용할 수 있다. 그 후, 송신용 엔드 시스템(101)은 ECT 플래그를 세션의 모든 인출 IP 패킷 상에 설정하고, 라우터(116)가 ECT 데이터 흐름에 대한 패킷을 마킹할 수 있음을 라우터(116)에게 알린다.
다른 실시예에서, 송신용 엔드 시스템(101)으로부터의 모든 ECN 송신은 ECT로서 마킹된다. 이 실시예에서, 송신용 엔드 시스템(101)은 수신된 임의의 혼잡 레포트에 반응할 수 있다. 혼잡 레포트가 전혀 수신되지 않으면, 송신용 엔드 시 스템(101)은 그 부재가 혼잡의 결여 또는 ECT 수신기의 결여에 의한 것인지를 식별할 필요가 없다. 송신기의 부분에서는 거동의 변화가 요구되지 않는다.
일 실시예에서, 라우터(116)가 초기 혼잡을 검출하면, 라우터(116)는 "CE(Congestion Experienced)"를 표시하도록 ECN 플래그를 설정함으로써 IP 패킷을 마킹한다. ECN 마킹은 IP 헤더에서 2개의 예비 비트를 이용한다. 2개의 ECN 비트는 IPv6 클래스 옥테트에 대응하는 구형의 서비스 바이트에 있는 이전의 예비 필드에 있다. 이 바이트는 현재 DiffServ 필드로서 지정되며, 여기서 처음 6개의 비트는 DS(DiffServ)를 형성하며 마지막 2개의 비트는 실험적 사용을 위해 승인된다 이들 마지막 2개의 비트는 혼잡 통지를 인코드하는데 사용된다: 2개의 비트는 ECN 부정(cheating)(예를 들면, 부정은 혼잡 통지의 삭제를 포함함)에 대하여 특정 형태가 검출될 수 있게 하는 임시 능력을 부여하는 혼잡 정보용의 1 비트를 필수적으로 인코드한다. 이 실시예에서, 인코딩은 다음과 같이 정의되지만, 1비트 또는 2비트 이상을 포함하는 인코딩 방식을 포함하는 다른 특정 인코딩도 본 발명의 범위를 벗어나지는 않을 것이다:
1. 송신용 엔드 시스템(101)은 전송이 ECN 가능하지 않음을 나타내기 위해 ECN 비트를 (00)으로 설정한다.
2. 송신용 엔드 시스템(101)은 전송이 ECN 가능함을 나타내기 위해 ECN 비트를 (01) 또는 (10)으로 설정한다 - "ECT 플래그 설정". 엔드 시스템은 특정 비트 (01) 또는 (10)의 선택을 위해 특정 전략을 호출할 수 있다. 예를 들면:
a. (0,1)에 대하여 다른 사용을 허용하도록 (1,0)을 항상 선택하라
b. 유사 랜덤 알고리즘을 호출함으로써 (1,0)과 (0,1) 사이에서 무작위적으로 선택하여 불가능(non-capability)을 생성.
3. 라우터(116)는 초기 혼잡의 검출을 표시하기 위해 ECN 비트를 (11)로 설정한다.
패킷이 라우터(116)의 출력 큐에 도달하면, 라우터(116)는 현재의 혼잡 상태에 기초하여 3개의 잠재적인 포워딩 액션중 하나를 수행하도록 결정한다:
1. 변경되지 않은 패킷을 포워드
2. ECN 비트가 (11)로 변경된 패킷을 포워드
3. 패킷을 드롭시킴
라우터(116)가 혼잡 표시 임계값을 위반하면, 라우터(116)는 초기 네트워크 혼잡을 검출한 것으로 간주된다. 이 CE 조건이 존재하면, 라우터(116)는 IP 패킷을 "마킹"하여 그 목적지를 향하여 각 패킷을 포워딩하기 전에 CE 조건을 표시한다. 예시적인 ECN 가능 라우터는 Cisco IOS 릴리즈 12.2.8(4) 또는 그 이상을 포함한다.
검출 및 마킹의 구현은 RED(Random Early Detection)와 같은 각종 AQM(Active Queue Mamagement), 또는 가상 큐(Virtual Queue)를 포함하지만 제한되지 않는 각종 기술을 포함할 수 있다.
마킹된 패킷을 수신하는 경우, 수신용 엔드 시스템(102)은 송신용 엔드 시스템(101)에 주기적으로 피드백을 송신하여 혼잡 마크가 수신되었음을 표시한다. 이 피드백(예를 들면, 혼잡 레포트)에 기초하여, 송신용 엔드 시스템(101)은 라우터(116)에서의 대역폭 사용을 보다 최적화하기 위해 그 송신 레이트를 (위 또는 아래로) 변경한다. 이 변경의 하나의 목적은 라우터(116)에서 네트워크 혼잡에 의해 야기되는 패킷 소실이 최소로 되거나 없도록 하는 최고 송신 레이트를 찾는 것이다.
도 2는 본 발명의 실시예에 있어서 예시적인 엔드 시스템을 도시한다. 엔드 시스템(200)은 네트워크(220)를 통해 다른 엔드 시스템(도시하지 않음)과 결합된다. 적어도 하나의 네트워크 중간 장치(도시하지 않음)는 2개의 엔드 시스템 사이에 논리적으로 배치된다. 엔드 시스템은 사용자 인터페이스(202)를 통해 멀티미디어 정보를 렌더링하는 렌더러(216), 및 아날로그 멀티미디어 정보를 디지털화하는 디지타이저(218)를 포함한다. 멀티미디어 코덱(204)은 디지타이저(218)로부터 디지털화된 멀티미디어 데이터 뿐만 아니라, 또 다른 엔드 시스템으로부터 네트워크(220) 및 RTP 모듈(208)을 통해 수신된 멀티미디어 데이터를 수신한다. 또한, 멀티미디어 코덱(204)은 RTP 모듈(208) 및 네트워크(220)를 통해 멀티미디어 데이터를 다른 엔드 시스템으로 송신한다.
네트워크 전송층 모듈(222)은 마킹/마크 트래킹 모듈(224)을 포함하며, 송신용 엔드 시스템에서는 인출 IP 패킷을 ECT로서 마킹하고 수신용 엔드 시스템에서는 인입 IP 패킷에서 검출된 ECN 마크를 트래킹하여 그들을 마크 피드백 코덱(212)으로 보낸다.
RTCP 모듈(210)은 ECT 패킷을 디코드하며, 송신용 엔드 시스템으로 다시 송신하기 위해 혼잡 레포트를 인코드하는 마크 피드백 코덱(212)을 포함한다. 마크 피드백 코덱(212)에 의해 디코드된 마킹 정보는 WTP 모듈에 의해 수신되며, 이는 마킹 정보에 기초하여 가용 대역폭을 추정한다. 추정된 가용 대역폭의 값은 미디어 컨트롤러까지 전달되며, 이는 가용 대역폭 추정 및 다른 발견법에 기초한 네트워크 데이터 로드를 변경하기 위해 미디어 지정 액션을 취한다. 도시된 실시예에서, 미디어 컨트롤러는 멀티미디어 코덱(204)을 통해 송신 레이트를 조정하고 디지타이저(218)를 통해 디지타이저 성능을 조정하여 송신 레이트를 추정된 가용 대역폭과 관련시킬 수 있다.
미디어 컨트롤러는 송신 레이트를 조정하기 위해 여러가지 방법을 이용할 수 있다. 예를 들면, 일 실시예에서, 코덱은 양자화 레벨을 직접 변경하여 품질을 조정함으로써 송신 레이트를 변경한다. 다른 실시예에서, 몇몇 형태의 계층화된 코딩이 사용되면, 미디어 컨트롤러는 층을 가감하여 송신 레이트를 변경할 수 있다. 다른 실시예에서, 송신 레이트의 빈번한 변경을 피하기 위해, 일단 가용 대역폭 추정이 이전 추정과 충분히 상이하면 미디어 컨트롤러는 단지 송신 레이트를 변경하기로 결정할 수 있다.
도 3은 본 발명의 실시예에 있어서 예시적인 중간 장치를 도시한다. 라우터와 같은 중간 장치는 일반적으로 인입 ECT 패킷을 수신하고, 적합하다면 그것들을 마킹하여 목적지 시스템으로 보낸다. 중간 장치는 또한 네트워크 혼잡이 패킷을 보증한다면 패킷을 누락시킬 수도 있다.
중간 장치(300)는 메모리의 큐와 같은 물리적 패킷 큐(302)를 포함한다. 인입 패킷(308)은 물리적 패킷 큐(302)에서 수신된다. 중간 장치(300)는 또한 패킷 마킹 가상 큐(304)를 포함하며, 이는 물리적 패킷 큐(302)의 인입 패킷들을 트래킹한다. 가상 큐(304)에 있는 패킷(310)의 수가 프리셋 혼잡 임계값(312)을 초과하면, 패킷 관리 모듈(306)은 임계값(312)의 초과시 수신되는 패킷들을 목적지 시스템으로 보내기 전에 마킹한다. 또한 다른 마킹 알고리즘이 본 발명의 범위 내에서 신호 초기 혼잡에 사용될 수 있음을 이해해야 한다.
도 4는 본 발명의 실시예에 있어서 각종 장치들 사이의 메시징 및 동작을 도시한다. 메시징은 송신용 엔드 시스템, 중간 장치, 및 수신용 엔드 시스템을 포함하는 시스템을 통해 통신하는 것으로서 도 4에 도시된다. 중간 장치는 예를 들면 라우터, 게이트웨이 등의 함께 결합된 다수의 중간 장치를 나타낼 수 있음을 이해해야 한다.
주어진 RTC 세션(420)에서, ECT 표시 동작(400)은 송신용 엔드 시스템이 ECT 장치임을 하나 이상의 수신기에 광고한다. 이는 상기한 바와 같이 초기 개시 동안 ECT 플래그를 설정함으로써 행해진다. 수신용 엔드 시스템의 ECT 수신 동작(402)은 송신용 엔드 시스템으로부터 ECT 광고를 수신하고 ECT 표시 동작(404)에서 수신용 엔드 시스템이 ECT 장치임을 송신용 엔드 시스템에 통지하도록 응답한다. 이 통지는 ECT 수신 동작(406)에서 송신용 엔드 시스템에 의해 수신된다. 상술한 바와 같이, 다른 송신용 엔드 시스템은 초기에 ECT 수신기가 동작(400, 402, 404, 및 406)을 생략함으로써 특정 데이터 흐름에 있다고 가정할 수 있다.
송신용 엔드 시스템이 ECT 수신 동작(406)에서 수신용 엔드 시스템으로부터 이 신호를 수신하면, 송신용 엔드 시스템은 ECT 데이터 흐름이 수신용 엔드 시스템 에 의해 성립되었다고 판정하고 특정 IP 데이터 흐름이 ECT 데이터 흐름임을 이해하기 시작한다. 그 후, 송신 동작(408)은 송신된 IP 패킷의 ECN 비트를 (10) 또는 (01)로 설정함으로써 하나 이상의 ECT 패킷을 송신한다. 이들 ECT 패킷은 초기 송신 레이트(예를 들면 "리소스 요구"의 타입)로 송신된다. 일 실시예에서, 초기 송신 레이트는 초기 가용 대역폭 추정, 사용자 입력, 및 시스템 구성들 또는 방법들 중 적어도 하나에 기초한다. 다른 예시적인 리소스 요구는 전력에 대한 요구(무선 시스템의 경우), 메모리 또는 프로세싱 리소스에 대한 요구 등일 수 있으나 이에 제한되지 않는다. 예를 들면 관련 오디오 및 비디오와 같이 2개의 RTP 흐름이 있는 경우, 각 흐름의 패킷들은 이와 같이 마킹된다. 몇몇 실시예에서는, RTCP 대역폭 사용은 RTC에 의해 관리될 수 있기 때문에 RTCP 제어 흐름이 "ECN 인식"으로서 마킹되도록 하는 것이 적합하다.
중간 장치는 초기 리소스 혼잡을 검출하면, "혼잡을 경험함(Congestion Experienced)"을 표시하기 위해 ECT 패킷을 마킹하여 그 패킷을 마킹 동작(410)에서 수신용 엔드 시스템으로 보낸다. 수신용 엔드 시스템은 수신 동작(412)에서 마킹된 패킷을 수신한다. 수신용 엔드 시스템은 편집 동작(413)에서 마킹된 패킷 정보로부터 혼잡 레포트를 생성한다. 피드백 동작(414)에서, 수신용 엔드 시스템은 혼잡 레포트를 송신용 엔드 시스템에 다시 보낸다. 동작(408, 410, 412)는 피드백 동작(414)이 발생하기 전에 여러번 발생할 수 있다(즉, 다수의 마킹된 패킷으로부터의 정보는 그것이 송신용 엔드 시스템에 송신되기 전에 혼잡 레포트에 포함될 수 있다). 이들 동작에서 엔드 시스템들 사이의 ECT 통신의 잠재적인(그리고 가능성 있는) 다양성은 그 데이터 흐름에서 넓은 화살표로 표시된다. 또한, 각종 실시예에서, 편집 동작(413)은 각 마켓 패킷을 수신할 때 또는 각종 간격을 두고 발생할 수 있다.
수신 엔드 시스템은 RTCP 제어 채널을 통해 혼잡 레포트를 송신용 엔드 시스템에 다시 보낸다. 일 실시예에서, 혼잡 레포트는 다음과 같은 형태를 취한다.
필드명 저장 사이즈 설명
SSRC DWORD 혼잡이 보고되는 IP 흐름과 관련된 RTP 흐름의 SSRC(Synchronization Source) 식별자
APP_EXT_Name DWORD 0x45434e52 'E"C"N"R'
Id_num DWORD 혼잡 레포트에 대한 시퀀스 수. 시퀀스 수는 이 SSRC에 대해 송신된 각 혼잡 레포트에 따라 단조 증가한다.
Marks DWORD 마지막 혼잡 레포트 이래로 나타나는 마킹된 패킷의 수
Proto WORD 이 SSRC와 관련된 IP 프로토콜 수
Destport WORD SSRC와 관련된 목적지(UDP) 포트
MarksByte DWORD 마지막 혼잡 레포트 이래로 마킹된 수신 바이트의 수
MarksTotal Bytes DWORD 이 SSRC의 RTP 세션의 개시 이래로 마킹된 수신 바이트의 총수
RxBytes DWORD 마지막 혼잡 레포트 이래로 마킹되지 않은 수신 바이트의 수
RxTotalBytes DWORD SSRC의 RTP 세션의 개시 이래로 마킹되지 않은 수신 바이트의 총수
혼잡 레포트는 RR(Receiver Report)이 수신용 엔드 시스템의 목적지 RTC 세션에 의해 생성될 때마다 송신된다. 이 ECN 증가는 내부 RR-간격의 변화에 대하여 확고하며 고정된 내부 -RR 기간에 구속되지 않기 때문에, 증가하는 대역폭 가용성의 빠른 보고를 보장한다. 다른 실시예에서, 필드 Marks, Id_num, Proto, 및 Destport는 삭제될 수 있으며, RTCP 수신기 레포트에 대해 16 바이트의 현실적인 오버헤드를 산출한다.
수신 동작(416)은 혼잡 레포트를 수신하고, 혼잡 레포트를 (마크 피드백 코덱에서) 디코드하여, WTP(weight-per-mark) 모듈에 수신된 정보를 보내는데, 이는 대역폭 추정량이다. WTP 모듈은 초기 추정, 혼잡 레포트에 보고된 조건, 및 각종 다른 접속 파라미터에 기초하여 새로운 가용 대역폭 추정을 추정 동작(417)에서 산출한다. 이 새로운 가용 대역폭 추정은 관련된 SSRC에 대한 미디어 컨트롤러 모듈에 보고되며, 이는 미디어 지정 액션을 취하여 새로운 가용 대역폭 추정 및 다른 접근법에 기초하여 리소스 요구를 (변경된 송신 레이트의 형태로) 변경한다. 비록 여기서는 송신용 엔드 시스템에 의해 산출되는 것으로 기재되지만, 다른 실시예에서는 새로운 가용 대역폭 추정 및 새로운 리소스 요구가 수신용 엔드 시스템, 중간 장치, 또는 별도의 중재기나 혼잡 관리자에 의해 산출될 수 있다.
WTP 모듈은 혼잡 레포트에 따라 새로운 가용 대역폭 추정을 결정하기 위해 WTP 알고리즘을 구현한다. 송신용 엔드 시스템(예를 들면, 트래픽 소스 또는 송신기)은 n번째 측정 시간 간격 동안 고정된 평균 xn을 갖는 레이트로 ECT 패킷을 송신하며. 여기서 측정 시간 간격의 길이는 MTI이다. 수신용 엔드 시스템(예를 들면, 트래픽 목적지 또는 수신기)은 마킹된 패킷의 수 mn 및 그 간격 동안 송신된 패킷 sn의 수 모두를 송신기로 피드백한다. 혼잡 레포트 정보로부터 도출될 수 있는 이 두개의 비는 대응하는 마크 확률 추정(pn)을 나타낸다.
Figure 112004003199011-pat00001
일 실시예에서, 가상 큐 마킹 알고리즘이 사용된다. 리소스의 실제 용량보다 작은 용량을 갖는 가상 큐가 시뮬레이트된다. 가상 큐에 대기하고 있는 적어도 B개의 패킷이 있는 임의의 인입 패킷이 마킹된다. B의 예시적인 값은 10이지만, 다른 B값도 본 발명의 범위 내에서 고려된다.
변경된 송신 레이트는 가중 파라미터 w 및 이득 파라미터 k를 사용하여 송신 레이트를 조정하는 제어 알고리즘에 의해 결정되며, 혼잡 레포트에서는 경우에 따라 수신기로부터 피드백이 다시 송신된다. 일 실시예에서, 가중 파라미터 w(WTP 파라미터라고도 칭함)는 송신용 엔드 시스템과 관련되며, 예상된 마킹 확률 Pexpected에 기초하여 실현될 수 있는 타겟 송신 레이트를 반영한다:
Figure 112004003199011-pat00002
이와 같이 하여, 가중 파라미터는 송신 엔드 시스템에 의해 예상된 가용 대역폭의 가중된 페어 공유를 나타낸다. 또한, 가중화 파라미터는 다음과 같다: 이것은 주어진 수(N)의 TCP 접속에 의해 예상되는 레이트를 모방하도록 xtarget을 설정함으로써 결정될 수 있다. 3개의 가능한 구성은 후술되며, 여기서 MSS는 IETF RFC 879에서 정의된 바와 같이, TCP에 대한 최대 세그먼트 사이즈를 바이트로 나타내며, 이는 IP 최대 데이터그램 사이즈 마이너스 40이다. 이 MSS 파라미터는 TCP 옵션으로서 설정될 수 있기 때문에, MSS는 송신기와 수신기 사이의 TCP 접속에 대한 MSS와 관련될 수 있다. MSS의 디폴트값은, TCP 옵션에 설정되어 있지 않다면, 536이다.
Figure 112004003199011-pat00003
가중 파라미터는 퍼 어플리케이션(per-application) 또는 퍼 시스템(per-system)에 기초한 방식으로 설정될 수 있다. 이것은 또한 사용자 입력을 포함하는 다른 연산 파라미터에 의해 영향을 받을 수 있다.
이 가중 파라미터에 기초하여, 새로운 송신 레이트 xn+1이 다음과 같이 계산된다:
Figure 112010079003970-pat00025
상기 알고리즘은, 이득 파라미터 k가 하기 2개의 조건을 만족하는 경우, 타겟 레이트의 근처에 있는 국부적으로 안정한 새로운 송신 레이트를 제공한다.
Figure 112004003199011-pat00005
여기서 r은 RTT(Round Trip Time) 기간에 대한 MTI(Measurement Time Inerval) 기간의 비이다. 따라서, k의 수용가능한 값은 다음과 같이 계산될 수 있 다:
Figure 112004003199011-pat00006
이득 파라미터는 초기 리소스 혼잡의 표시에 기초하여, 중간 장치를 통해 송신용 엔드 시스템에 의한 리소스 요구(예를 들면, 송신 레이트)의 조정 크기에 영향을 준다. 더 작은 송신 레이트에 대하여, 상기 식에 의해 리턴되는 xn+1의 최대값 및 소정의 최소 레이트를 취함으로써 보다 새로운 송신 레이트가 달성될 수 있다. 이 제한은 양이 아닌(non-positive) 새로운 송신 레이트의 리턴을 방해한다.
도 5는 본 발명의 실시예에 있어서 데이터 스트리밍 환경의 리액티브 대역폭 제어에 대한 동작을 도시한다. 관계 동작(500)은 송신용 엔드 시스템과 수신용 엔드 시스템 사이의 ECT 관계를 성립한다. 다른 실시예에서, 이 관계 동작(500)은 완전히 생략될 수 있으며 송신용 엔드 시스템은 단지 ECT 수신용 엔드 시스템이 전송을 수신하고 임의의 초기 혼잡 발행을 다시 보고할 것이라고 추측한다.
가중 파라미터 결정 동작(502)은 가중 파라미터를 결정한다.
소비 동작(504)은 지정된 리소스 요구에서 가용 리소스를 소비한다(즉, 송신기는 지정된 초기 전송 레이트로 송신한다). 그 후, 수신 동작(506)은 혼잡 레포트와 같은 초기 리소스 혼잡의 표시를 수신한다. 이득 파라미터 결정 동작(508)은 이득 파라미터를 결정한다. 산출 동작(510)은 새로운 리소스 요구를 산출하여 소비 동작(504)으로 제공한다.
도 6은 본 발명의 실시예에서 이득 파라미터를 설정하는 동작을 도시한다. 산출 동작(608)은 혼잡 레포트의 수신에 응답하여 새로운 이득 팩터를 산출하기 위해 다수의 입력을 수신한다. 결정 동작(600)은 패킷의 수를 나타내는 마킹 파라미터 B를 결정하며, RTP 패킷은 중간 네트워크 장치의 큐와 만나기를 예상한다. 추정 동작(602)은 RTT를 추정한다(일반적으로 RTT에 대한 초기의 추정이 받아들여진다). 일 실시예에서, RTT는 수신기, 송신기, 또는 예를 들어 RTCP를 사용하는 제어 채널 지정 수단에 의해 추정된다. 다른 실시예에서, RTT 추정은, 예를 들어 지수함수적으로 가중된 이동 평균이 현재 추정을 이전 것과 결합시키는데 사용되는, TCP RTT 추정량에서 사용되는 것과 동일한 기술에 기초할 수 있다. 본 발명의 다른 실시예에서는 RTT의 다른 추정 방법이 사용될 수 있다.
수신 동작(604)은 제어 패킷(예를 들면 혼잡 레포트)을 수신한다. 다른 추정 동작(606)은 측정 시간 간격(예를 들면, 2개의 연속적인 혼잡 레포트의 수신 사이의 시간)을 추정한다. 산출 동작(608)은 새로운 이득 팩터를 산출하며, 이는 리턴 동작(610)의 결과로서 리턴된다. 새로운 이득 파라미터를 결정하는데 사용되는 알고리즘의 예는 도 4와 관련하여 설명되고, 이득 파라미터 k는
Figure 112004003199011-pat00007
에 의해 얻어진다.
도 7은 본 발명의 실시예에서 송신 레이트를 갱신하는 동작을 설명한다. 산출 동작(706 및 708)은 혼잡 레포트의 수신에 응답하여 새로운 리소스 요구를 산출하기 위해 다수의 입력을 수신한다. 결정 동작(700)은 초기 리소스 요구(예를 들 면 초기 송신 레이트)를 결정한다. 예를 들면, 송신용 엔드 시스템은 값을 저장하는 메모리 위치를 액세스함으로써 초기 송신 레이트를 결정할 수 있다.
다른 결정 동작(702)은 도 4 및 도 6을 참조하여 설명된 바와 같이 산출될 수 있는 현재의 이득 파라미터, 및 미리 산출되거나 저장된 값으로 메모리 위치를 액세스하는 등의 방법 또는 다른 수단에 의해 결정된 가중 파라미터를 결정한다. 수신 동작(704)은 혼잡 레포트와 같은 제어 패킷을 수신하며, 이는 MTI 동안 송신된 패킷의 수 sn 및 마킹된 패킷의 수 mn 모두를 포함할 수 있다. 그 후, 산출 동작(706)은 제어 패킷의 정보에 기초하여 새로운 마킹 레벨 pn(즉, 새로운 마크 확률 추정)을 산출한다. 새로운 이득 파라미터를 결정하는데 사용되는 알고리즘의 예는 도 4를 참조하여 설명되고, 여기서 새로운 마킹 레벨 pn
Figure 112010079003970-pat00008
에 의해 얻어진다. 다른 산출 동작(708)은 새로운 리소스 요구(즉, 새로운 송신 레이트) xn+1을 산출한다. 새로운 이득 파라미터를 결정하는데 사용되는 알고리즘의 예는 도 4를 참조하여 설명되고, 여기서 새로운 리소스 요구, xn+1
Figure 112010079003970-pat00026
에 의해 풀린다. 도시된 실시예의 제한 동작(710)에서, 리소스 요구 제한, 즉 xn+1=Max(xn+1, xmin)이고, 여기서 xmin은 엔드 시스템에 의해 허용되는 현재의 최소 리소스 요구를 나타낸다. 리턴 동작(712)은 값 xn+1를 새로운 리소스 요구 결과로서 리턴한다.
본 발명을 구현하기 위한 도 8의 예시적인 하드웨어 및 동작 환경은, 프로세싱 유닛(21), 시스템 메모리(22), 및 시스템 메모리를 포함하는 각종 시스템 컴포넌트를 프로세싱 유닛(21)에 동작 결합시키는 시스템 버스(23)를 포함하는, 컴퓨터(20) 형태의 범용 컴퓨팅 장치를 포함한다. 하나 또는 그 이상의 프로세싱 유닛(21)이 존재할 수 있기 때문에, 컴퓨터(20)의 프로세서는 단일 CPU(central-processing unit), 또는 흔히 병렬 프로세싱 환경으로 지칭되는 복수의 프로세싱 유닛을 포함한다. 컴퓨터(20)는 종래의 컴퓨터, 분산 컴퓨터, 또는 다른 종류의 컴퓨터일 수 있으나, 본 발명은 이에 제한되지 않는다.
시스템 버스(23)는 메모리 버스 또는 메모리 컨트롤러, 주변회로 버스, 및 임의의 각종 버스 아키텍쳐를 사용하는 로컬 버스를 포함한 여러 종류의 버스 구조 중 어느 것일 수 있다. 시스템 메모리는 또한 간단히 메모리라 칭해질 수 있고, ROM(24) 및 RAM(25)을 포함한다. BIOS(basic input/output system : 26)은 기동시와 같이, 컴퓨터(20) 내의 소자들 사이에서 정보를 전송하도록 돕는 기본적인 루틴을 포함하며, ROM(24)에 저장된다. 컴퓨터(20)는 도시되지 않는 하드 디스크에 대한 판독 및 기입용의 하드 디스크 드라이브(27), 제거 가능 자기 디스크(29)에 대한 판독 및 기록용의 자기 디스크 드라이브(28), 및 CD-ROM 또는 다른 광매체와 같은 제거 가능 광 디스크(31)에 대한 판독 및 기입용의 광디스크 드라이브(30)를 더 포함한다.
하드 디스크 드라이브(27), 자기 디스크 드라이브(28), 및 광디스크 드라이브(30)는 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33), 및 광디스크 드라이브 인터페이스(34)에 의해 시스템 버스(23)에 각각 접속된다. 드라이브 및 그와 관련된 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 컴퓨터(20)에 대한 다른 데이터의 불휘발성 저장을 제공한다. 당업자들은 자기 카세트, 플래시 메모리 카드, DVD, 베르노울리 카트리지, RAM, ROM, 등과 같이 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 임의 형태의 컴퓨터 판독가능한 매체가 예시적인 동작 환경에서 사용될 수 있음을 이해해야 한다.
다수의 프로그램 모듈은 하드 디스크, 자기 디스크(29), 광디스크(31), ROM(24), 또는 RAM(25) 상에 저장될 수 있으며, 오퍼레이팅 시스템(35), 하나 이상의 어플리케이션 프로그램(36), 다른 프로그램 모듈(37), 및 프로그램 데이터(38)를 포함한다. 사용자는 커맨드 및 정보를 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통해 퍼스널 컴퓨터(20)에 입력할 수 있다. 다른 입력 장치(도시하지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치들은 종종 시스템 버스에 접속되는 직렬 포트 인터페이스(46)를 통해 프로세싱 유닛(21)에 접속되지만, 병렬 포트, 게임 포트, 또는 USB와 같은 다른 인터페이스에 의해 접속될 수 있다. 모니터(47) 또는 다른 형태의 디스플레이 장치는 또한 비디오 어댑터(48)와 같은 인터페이스를 통해 시스템 버스(23)에 접속된다. 모이터 외에, 컴퓨터는 일반적으로 스피커 및 프린터와 같 은 주변 출력 장치(도시하지 않음)를 포함한다.
컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 원격 컴퓨터에 대한 논리 접속을 사용하는 네트워크 환경에서 동작할 수 있다. 이들 논리 접속은 컴퓨터(20) 또는 그 일부에 결합된 통신 장치에 의해 실현되나, 본 발명은 특정 유형의 통신 장치에 제한되지 않는다. 원격 컴퓨터(49)는 또 다른 컴퓨터, 서버, 라우터, 네트워크 PC, 클라이언트, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(20)와 관련하여 상술한 소자들의 대부분 또는 모두를 포함하지만, 도 8에는 단지 메모리 저장 장치(50)만이 도시된다. 도 8에 도시된 논리 접속은 LAN(51) 및 WAN(52)을 포함한다. 이러한 네트워킹 환경은 모든 유형의 네트워크인, 오피스 네트워크, 기업형 컴퓨터 네트워크, 인트라넷 및 인터넷에 흔히 존재한다.
LAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(20)는 통신 장치의 일종인 네트워크 인터페이스 또는 어댑터(53)를 통해 로컬 네트워크(51)에 접속된다. WAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(20)는 일반적으로 모뎀(54), 일종의 통신 장치, 또는 WAN(52)을 통해 통신을 확립하는 다른 유형의 통신 장치를 포함한다. 모뎀(54)은 내장 또는 외장될 수 있고, 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 네트워크 환경에서, 퍼스널 컴퓨터(20)와 관련하여 도시된 프로그램 모듈, 또는 그 부분들은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적이며 컴퓨터 사이에서 통신 링크를 확립하기 위해 통신 장치 및 다른 수단이 사용될 수 있다.
본 발명의 실시예에서, 마크 피드백 코덱, WTP 모듈, 또는 마킹/마크 트래킹 모듈은 오퍼레이팅 시스템(35), 어플리케이션 프로그램(36), 또는 다른 프로그램 모듈(37)의 일부로서 포함될 수 있다. 가중 파라미터, 리소스 요구값, 혼잡 레포트, 및 패킷은 프로그램 데이터(38)로서 저장될 수 있다.
여기에 기재된 발명의 실시예들은 하나 이상의 컴퓨터 시스템의 논리 단계로서 구현된다. 본 발명의 논리 동작은 (1) 하나 이상의 컴퓨터 시스템에서 실행하는 프로세서 구현 단계의 시퀀스로서 (2) 하나 이상의 컴퓨터 시스템 내에서 내부 접속된 기계 모듈로서 구현된다. 구현은 발명을 구현하는 컴퓨터 시스템의 성능 요건에 따른 선택의 문제이다. 따라서, 여기에 기재된 발명의 실시예를 구성하는 논리 동작은 동작, 단계, 오브젝트, 또는 모듈로 다양하게 지칭된다.
상기 명세서, 예 및 데이터는 본 발명의 예시적인 실시예의 구조 및 사용에 대한 완전한 설명을 제공한다. 발명의 많은 실시예들은 발명의 정신 및 범위로부터 벗어나지 않도록 이루어지기 때문에 본 발명은 이하에 첨부된 클레임 내에 있게 된다.
본 발명에 의하면, 네트워크를 통한 실시간 통신은 초기 혼잡 조건 하에서 QoS(quality of sercive)를 향상시키기 위해 조정되고, 시스템은 초기 네트워크 혼잡을 검출하여 초기 혼잡에 대한 정보를 송신기로 다시 피드백하며, 이 정보에 기초하여, 가중 파라미터, 이득 파라미터, 및 혼잡 레포트로부터의 정보에 따라 변경된 송신 레이트를 산출하는 제어 알고리즘을 적절히 이용함으로써 송신 레이트가 적절히 변경되기 때문에, 변경된 송신 레이트는 수신기에서 수용 가능한 QoS를 유지하도록 가용 대역폭에 대한 송신기의 사용을 개선시킨다.

Claims (30)

  1. 중간 장치(intermediary device)에 의해 검출된 초기 리소스 혼잡(incipient resource congestion)의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하는 컴퓨터 프로세스를 컴퓨터 시스템 상에서 실행하기 위한 컴퓨터 프로그램을 저장한 하나 이상의 컴퓨터 판독가능 기록 매체로서,
    상기 컴퓨터 프로세스는,
    상기 리소스 소비자와 관련된 가용 리소스의 공유(share)에 관한 가중 파라미터(weight parameter)를 결정하는 단계;
    상기 초기 리소스 혼잡의 표시를 수신하는 단계;
    상기 초기 리소스 혼잡의 표시에 기초하여, 상기 중간 장치를 통해 상기 리소스 소비자에 의한 리소스 요구의 조정 크기에 대한 이득 파라미터를 결정하는 단계 - 상기 이득 파라미터(k)를 결정하는 단계는,
    Figure 112010079003970-pat00018
    를 산출(computing)하는 단계를 포함하며,
    여기서 B는 상기 중간 장치의 큐에서 예상된 패킷들의 개수이고, MTI(Measurement Time Interval)는 초기 리소스 혼잡의 두 개의 연속적인 표시의 수신 사이의 시간의 길이이고, RTT는 왕복 시간(Round Trip Time)임 - ;
    상기 리소스 소비자에 의한 가용 리소스의 사용을 조정하기 위해 상기 가중 파라미터 및 상기 이득 파라미터에 기초하여 새로운 리소스 요구를 산출하는(computing) 단계; 및
    산출된 상기 요구에 기초하여 상기 가용 리소스의 상기 리소스 소비자에 의한 사용을 조정하는 단계
    를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  2. 제1항에 있어서,
    상기 가중 파라미터를 결정하는 단계는,
    상기 리소스 소비자와 관련된 타겟 리소스 요구에 기초하여 상기 가중 파라미터를 결정하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  3. 제1항에 있어서,
    상기 가중 파라미터를 결정하는 단계는,
    하나 이상의 TCP 접속들 중 소정 횟수의 접속을 통해 예상된 리소스 요구에 기초하여 상기 가중 파라미터를 결정하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  4. 제1항에 있어서,
    상기 초기 리소스 혼잡의 표시를 수신하는 단계는,
    혼잡 레포트(congestion report)를 수신하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  5. 제1항에 있어서,
    상기 초기 혼잡의 표시를 수신하는 단계는,
    측정 시간 간격 동안 수신단 장치(receiving end device)에 의해 수신되는 패킷의 카운트를 수신하는 단계; 및
    측정 시간 간격 동안 수신단 장치에 의해 수신되는 마킹된 패킷의 카운트를 수신하는 단계
    를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  6. 삭제
  7. 제1항에 있어서,
    상기 새로운 리소스 요구를 산출하는 단계는, 상기 이득 파라미터, 상기 가중 파라미터, 상기 초기 리소스 요구, 및 상기 초기 리소스 혼잡의 표시에 기초하여 새로운 리소스 요구를 산출하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  8. 제1항에 있어서,
    상기 리소스 소비자는 송신단 장치(transmitting end device)를 포함하고, 상기 리소스 요구는 상기 송신단 장치의 송신 레이트(rate)를 나타내는 하나 이상의 컴퓨터 판독가능 기록 매체.
  9. 제1항에 있어서,
    상기 새로운 리소스 요구는 수신단 장치의 능력에 의존하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  10. 제1항에 있어서,
    상기 컴퓨터 프로세스는 예상된 마크 확률을 결정하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  11. 제10항에 있어서,
    상기 예상된 마크 확률을 결정하는 단계는 상기 초기 리소스 혼잡의 표시에 기초하여 상기 예상된 마크 확률을 추정하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  12. 제1항에 있어서, 상기 가중 파라미터(w)를 결정하는 단계는,
    Figure 112010079003970-pat00019
    를 산출하는 단계를 포함하고,
    여기서 Xtarget은 소정의 TCP 접속수(N)에 의해 예상된 전송 레이트이고, Pexpected는 예상된 마크 확률인, 하나 이상의 컴퓨터 판독가능 기록 매체.
  13. 제1항에 있어서, 상기 새로운 리소스 요구(Xn+1)를 산출하는 단계는,
    Figure 112010079003970-pat00027
    를 산출하는 단계를 포함하고,
    여기서 Xn은 측정 시간 간격 n에서의 리소스 요구이고, k는 상기 이득 파라미터이고, w는 상기 가중 파라미터이고, pn은 상기 측정 시간 간격 n에서의 마크 확률 추정인, 하나 이상의 컴퓨터 판독가능 기록 매체.
  14. 제13항에 있어서, 산출된 상기 새로운 리소스 요구가 사전정의된 최소 리소스 요구보다 작을 경우에는 상기 사전정의된 최소 리소스 요구가 상기 새로운 리소스 요구로서 사용되는 하나 이상의 컴퓨터 판독가능 기록 매체.
  15. 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하는 방법으로서 - 상기 방법은 컴퓨팅 장치에 의해 수행됨 -,
    상기 리소스 소비자와 관련된 가용 리소스의 공유에 관한 가중 파라미터를 결정하는 단계 - 상기 가중 파라미터(w)를 결정하는 단계는,
    Figure 112010079003970-pat00021
    를 산출하는 단계를 포함하고,
    여기서 Xtarget은 소정의 TCP 접속수(N)에 의해 예상된 전송 레이트이고, Pexpected는 예상된 마크 확률임 - ;
    상기 초기 리소스 혼잡의 표시를 수신하는 단계;
    상기 초기 리소스 혼잡의 표시에 기초하여, 상기 중간 장치를 통해 상기 리소스 소비자에 의한 리소스 요구의 조정 크기에 대한 이득 파라미터를 결정하는 단계;
    상기 리소스 소비자에 의한 가용 리소스의 사용을 조정하기 위해 상기 가중 파라미터 및 상기 이득 파라미터에 기초하여 새로운 리소스 요구를 산출하는 단계; 및
    산출된 상기 요구에 기초하여 상기 가용 리소스의 상기 리소스 소비자에 의한 사용을 조정하는 단계
    를 포함하는 리소스 요구 조정 방법.
  16. 제15항에 있어서,
    상기 가중 파라미터를 결정하는 단계는,
    송신단 장치와 관련된 타겟 리소스 요구에 기초하여 상기 가중 파라미터를 결정하는 단계를 포함하는 리소스 요구 조정 방법.
  17. 제15항에 있어서,
    상기 가중 파라미터를 결정하는 단계는,
    하나 이상의 TCP 접속들 중 소정 횟수의 접속을 통해 예상된 리소스 요구에 기초하여 상기 가중 파라미터를 결정하는 단계를 포함하는 리소스 요구 조정 방법.
  18. 제15항에 있어서,
    상기 초기 혼잡의 표시를 수신하는 단계는,
    혼잡 레포트를 수신하는 단계를 포함하는 리소스 요구 조정 방법.
  19. 제15항에 있어서,
    상기 초기 혼잡의 표시를 수신하는 단계는,
    측정 시간 간격 동안 수신단 장치에 의해 수신되는 패킷의 카운트를 수신하는 단계; 및
    측정 시간 간격 동안 수신단 장치에 의해 수신되는 마킹된 패킷의 카운트를 수신하는 단계
    를 포함하는 리소스 요구 조정 방법.
  20. 제15항에 있어서,
    상기 이득 파라미터를 결정하는 단계는,
    Figure 112010079003970-pat00028
    를 산출하는 단계를 포함하며,
    여기서 B는 상기 중간 장치의 큐에서 예상된 패킷들의 개수이고, MTI(Measurement Time Interval)는 초기 리소스 혼잡의 두 개의 연속적인 표시의 수신 사이의 시간의 길이이고, RTT는 왕복 시간인, 리소스 요구 조정 방법.
  21. 제15항에 있어서,
    상기 새로운 리소스 요구를 산출하는 단계는, 상기 이득 파라미터, 상기 가중 파라미터, 상기 초기 리소스 요구, 및 상기 초기 리소스 혼잡의 표시에 기초하여 새로운 리소스 요구를 산출하는 단계를 포함하는 리소스 요구 조정 방법.
  22. 제15항에 있어서,
    상기 리소스 소비자는 송신단 장치를 포함하고, 상기 리소스 요구는 상기 송신단 장치의 송신 레이트를 나타내는 리소스 요구 조정 방법.
  23. 제15항에 있어서,
    상기 새로운 리소스 요구는 수신단 장치의 능력에 의존하는 리소스 요구 조정 방법.
  24. 제15항에 있어서,
    예상된 마크 확률을 결정하는 단계를 더 포함하는 리소스 요구 조정 방법.
  25. 제24항에 있어서,
    상기 예상된 마크 확률을 결정하는 단계는 상기 초기 리소스 혼잡의 표시에 기초하여 예상된 마크 확률을 추정하는 단계를 포함하는 리소스 요구 조정 방법.
  26. 제15항에 있어서,
    상기 이득 파라미터(k)를 결정하는 단계는,
    Figure 112008090782839-pat00022
    를 산출하는 단계를 포함하고,
    여기서 B는 상기 중간 장치의 큐에서 예상된 패킷들의 개수이고, MTI(Measurement Time Interval)는 초기 리소스 혼잡의 두 개의 연속적인 표시의 수신 사이의 시간의 길이이고, RTT는 왕복 시간(Round Trip Time)인,
    리소스 요구 조정 방법.
  27. 중간 장치에 의해 검출된 초기 리소스 혼잡의 표시에 기초하여 리소스 소비자에 의한 가용 리소스에 대한 리소스 요구를 조정하기 위해 리액티브 대역폭 제어(reactive bandwidth control)를 제공하는 엔드 시스템(end system)으로서,
    상기 초기 리소스 혼잡의 표시를 수신하는 네트워크 전송층 모듈; 및
    상기 리소스 소비자와 관련된 가용 리소스의 공유에 관한 가중 파라미터를 결정하고, 상기 초기 리소스 혼잡의 표시에 기초하여, 상기 중간 장치를 통해 리소스 소비자에 의한 리소스 요구의 조정 크기에 대한 이득 파라미터를 결정하고, 리소스 소비자에 의한 가용 리소스의 사용을 조정하기 위해 상기 가중 파라미터 및 상기 이득 파라미터에 기초하여 새로운 리소스 요구를 산출하고, 상기 산출된 요구에 기초하여 상기 가용 리소스의 상기 리소스 소비자에 의한 사용을 조정하는, WTP(weight-per-mark) 모듈을 포함하고,
    상기 새로운 리소스를 산출하는 것은,
    Figure 112010079003970-pat00029
    인데, 여기서 Xn은 측정 시간 간격 n에서의 리소스 요구이고, k는 상기 이득 파라미터이고, w는 상기 가중 파라미터이고, pn은 상기 측정 시간 간격 n에서의 마크 확률 추정인,
    엔드 시스템.
  28. 제27항에 있어서,
    상기 리소스 소비자의 새로운 리소스 요구를 제공하는(applying) 미디어 컨트롤러를 더 포함하는 엔드 시스템.
  29. 제27항에 있어서,
    인출 IP 패킷(outgoing IP packets)을 ECN(Explicit Congestion Notification) 가능으로서 마킹하는 마킹 모듈을 더 포함하는 엔드 시스템.
  30. 제27항에 있어서,
    상기 이득 파라미터(k)를 결정하는 것은,
    Figure 112008090782839-pat00024
    를 산출하는 것을 포함하고,
    여기서 B는 상기 중간 장치의 큐에서 예상된 패킷들의 개수이고, MTI(Measurement Time Interval)는 초기 리소스 혼잡의 두 연속적인 표시의 수신 사이의 시간의 길이이고, RTT는 왕복 시간(Round Trip Time)인,
    엔드 시스템.
KR1020040005115A 2003-01-27 2004-01-27 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 KR101046105B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/351,800 2003-01-27
US10/351,800 US7225267B2 (en) 2003-01-27 2003-01-27 Reactive bandwidth control for streaming data

Publications (2)

Publication Number Publication Date
KR20040068880A KR20040068880A (ko) 2004-08-02
KR101046105B1 true KR101046105B1 (ko) 2011-07-01

Family

ID=32594963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040005115A KR101046105B1 (ko) 2003-01-27 2004-01-27 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템

Country Status (8)

Country Link
US (1) US7225267B2 (ko)
EP (1) EP1441288B1 (ko)
JP (1) JP4448341B2 (ko)
KR (1) KR101046105B1 (ko)
CN (1) CN100446466C (ko)
AT (1) ATE428140T1 (ko)
BR (1) BRPI0400085A (ko)
DE (1) DE60327040D1 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851708B1 (fr) * 2003-02-24 2005-05-27 At & T Corp Methode pour transmettre des paquets de haute priorite dans un reseau de transmission ip
US7400588B2 (en) * 2003-08-01 2008-07-15 Thomson Licensing Dynamic rate adaptation using neural networks for transmitting video data
US20050060423A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US7706782B1 (en) 2004-03-01 2010-04-27 Adobe Systems Incorporated System and method for developing information for a wireless information system
US7478158B1 (en) * 2004-03-01 2009-01-13 Adobe Systems Incorporated Bandwidth management system
US7822428B1 (en) 2004-03-01 2010-10-26 Adobe Systems Incorporated Mobile rich media information system
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
JP4649242B2 (ja) * 2005-03-16 2011-03-09 株式会社日立製作所 端末アダプタ装置
WO2006135334A2 (en) * 2005-06-15 2006-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Codec rate adaptation as a function of air-interface as wel as network in a packet-based network
TWI276334B (en) 2005-09-16 2007-03-11 Ind Tech Res Inst Methods for allocating transmission bandwidths of a network
GB0519521D0 (en) * 2005-09-24 2005-11-02 Ibm A dynamic bandwidth manager
CN1941681B (zh) * 2005-09-30 2012-01-25 财团法人工业技术研究院 网络带宽分配方法
US20070124494A1 (en) * 2005-11-28 2007-05-31 Harris John M Method and apparatus to facilitate improving a perceived quality of experience with respect to delivery of a file transfer
US9219686B2 (en) * 2006-03-31 2015-12-22 Alcatel Lucent Network load balancing and overload control
US8451910B1 (en) * 2006-07-13 2013-05-28 Logitech Europe S.A. Wireless multimedia device with real time adjustment of packet retry function and bit rate modulation
US20080043643A1 (en) * 2006-07-25 2008-02-21 Thielman Jeffrey L Video encoder adjustment based on latency
US20080069135A1 (en) * 2006-09-19 2008-03-20 International Business Machines Corporation Discreet control of data network resiliency
US8630256B2 (en) * 2006-12-05 2014-01-14 Qualcomm Incorporated Method and system for reducing backhaul utilization during base station handoff in wireless networks
US8305914B2 (en) * 2007-04-30 2012-11-06 Hewlett-Packard Development Company, L.P. Method for signal adjustment through latency control
US8190750B2 (en) * 2007-08-24 2012-05-29 Alcatel Lucent Content rate selection for media servers with proxy-feedback-controlled frame transmission
US8407364B2 (en) * 2007-10-25 2013-03-26 Cisco Technology, Inc. Apparatus and method for providing a congestion measurement in a network
JP4989512B2 (ja) * 2008-02-22 2012-08-01 キヤノン株式会社 管理装置及びその制御方法
GB2461244A (en) * 2008-02-29 2009-12-30 Francis P Kelly Network congestion control with feedback to adjust flow rates of source nodes.
US20090238070A1 (en) * 2008-03-20 2009-09-24 Nuova Systems, Inc. Method and system to adjust cn control loop parameters at a congestion point
US20110035442A1 (en) * 2008-04-10 2011-02-10 Telefonaktiebolaget Lm Ericsson (Publ) Adaption of Metadata Based on Network Conditions
GB0809014D0 (en) * 2008-05-17 2008-06-25 Slever Solutions Ltd Improvements in and relating to the management of data congestion in a data network
US8059541B2 (en) 2008-05-22 2011-11-15 Microsoft Corporation End-host based network management system
US20100017530A1 (en) * 2008-06-23 2010-01-21 Hitachi, Ltd. Priority-Based Physical Layer Transmission Rate Control For Video Streaming Over Wireless Networks
JP5353494B2 (ja) * 2009-07-03 2013-11-27 富士通株式会社 通信装置、および通信方法
EP2296324A1 (en) * 2009-09-14 2011-03-16 Thomson Licensing, Inc. Distributed flow mechanism for peer-to-peer streaming
US9007914B2 (en) * 2009-09-30 2015-04-14 Qualcomm Incorporated Methods and apparatus for enabling rate adaptation across network configurations
US9001663B2 (en) * 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment
US20110282980A1 (en) * 2010-05-11 2011-11-17 Udaya Kumar Dynamic protection of a resource during sudden surges in traffic
EP2410699A1 (en) * 2010-07-20 2012-01-25 Alcatel Lucent A method of controlling a quality of a service in a computer network, corresponding computer program product, and data storage device therefor
US9143457B2 (en) 2010-10-06 2015-09-22 Qualcomm Incorporated Methods and apparatus for ECN receiver driven congestion control
US8595374B2 (en) 2010-12-08 2013-11-26 At&T Intellectual Property I, L.P. Method and apparatus for capacity dimensioning in a communication network
CN103299675B (zh) * 2011-01-12 2019-03-01 瑞典爱立信有限公司 用于tcp依赖的流控制的自适应相对比特率管理器
US20120278441A1 (en) * 2011-04-28 2012-11-01 Futurewei Technologies, Inc. System and Method for Quality of Experience Estimation
US9772958B2 (en) * 2011-10-31 2017-09-26 Hewlett Packard Enterprise Development Lp Methods and apparatus to control generation of memory access requests
KR101922552B1 (ko) 2011-12-06 2018-11-29 삼성전자주식회사 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US10051519B2 (en) 2012-08-27 2018-08-14 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9215174B2 (en) * 2012-10-18 2015-12-15 Broadcom Corporation Oversubscription buffer management
US10616086B2 (en) * 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
US8953452B2 (en) * 2013-05-16 2015-02-10 Cisco Technology, Inc. Enhancing performance of rapid channel changes and other playback positioning changes in adaptive streaming
EP2833589A1 (en) * 2013-08-02 2015-02-04 Alcatel Lucent Intermediate node, an end node, and method for avoiding latency in a packet-switched network
EP3042486B1 (en) 2013-09-06 2019-08-21 VID SCALE, Inc. Quality of experience based queue management for routers for real-time video applications
CN103997434B (zh) * 2014-05-21 2017-12-05 华为技术有限公司 网络传输状况的探测方法和相关设备
DE102014220428A1 (de) * 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Einstellen von Datenraten in einem Videokamerasystem
US9661530B2 (en) * 2014-12-12 2017-05-23 Apple Inc. Data traffic bearer selection based on backhaul statistics
EP3113428A1 (en) * 2015-06-30 2017-01-04 Alcatel Lucent A network node for checking compliance of a plurality of macro-flows
US10104511B2 (en) * 2015-11-13 2018-10-16 Raytheon Company Recommendations and notifications over limited connections
US10601681B2 (en) 2017-03-20 2020-03-24 International Business Machines Corporation Optimizing streaming graph topology based on service level agreement
US11005770B2 (en) * 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
CN110401511B (zh) * 2019-07-25 2021-11-12 广州市百果园信息技术有限公司 一种传输速率的确定方法、装置、设备和存储介质
CN111147395B (zh) * 2019-12-25 2022-05-24 中国联合网络通信集团有限公司 一种网络资源调整方法及装置
EP3907943B1 (en) 2020-05-05 2022-04-27 Axis AB Round-trip estimation
US11616730B1 (en) * 2021-10-01 2023-03-28 Compira Labs Ltd. System and method for adapting transmission rate computation by a content transmitter
CN115277654B (zh) * 2022-07-19 2024-02-27 宁波菊风***软件有限公司 一种rtc***的带宽资源分配***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0748141A2 (en) 1995-06-05 1996-12-11 AT&T IPM Corp. Congestion control system and method for packet switched networks providing max-min fairness
WO2002007381A2 (en) 2000-07-18 2002-01-24 Alcatel Domain based congestion management
US20020181394A1 (en) 2000-08-31 2002-12-05 David Partain Bandwidth broker for cellular radio access networks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2038646C (en) 1990-03-20 1995-02-07 Katsumi Oomuro Atm communication system with optimal traffic control by changing the allocated bandwidth
US6192406B1 (en) * 1997-06-13 2001-02-20 At&T Corp. Startup management system and method for networks
US6424624B1 (en) * 1997-10-16 2002-07-23 Cisco Technology, Inc. Method and system for implementing congestion detection and flow control in high speed digital network
SG87029A1 (en) * 1999-05-08 2002-03-19 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US6671724B1 (en) * 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
JP4657433B2 (ja) * 2000-10-02 2011-03-23 富士通株式会社 帯域制御サービス管理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0748141A2 (en) 1995-06-05 1996-12-11 AT&T IPM Corp. Congestion control system and method for packet switched networks providing max-min fairness
WO2002007381A2 (en) 2000-07-18 2002-01-24 Alcatel Domain based congestion management
US20020181394A1 (en) 2000-08-31 2002-12-05 David Partain Bandwidth broker for cellular radio access networks

Also Published As

Publication number Publication date
CN1518283A (zh) 2004-08-04
EP1441288A3 (en) 2006-08-09
EP1441288A2 (en) 2004-07-28
JP2004236316A (ja) 2004-08-19
JP4448341B2 (ja) 2010-04-07
DE60327040D1 (de) 2009-05-20
US20040148423A1 (en) 2004-07-29
US7225267B2 (en) 2007-05-29
BRPI0400085A (pt) 2004-09-14
CN100446466C (zh) 2008-12-24
EP1441288B1 (en) 2009-04-08
KR20040068880A (ko) 2004-08-02
ATE428140T1 (de) 2009-04-15

Similar Documents

Publication Publication Date Title
KR101046105B1 (ko) 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템
US11044290B2 (en) TCP cross traffic rate control
US8171123B2 (en) Network bandwidth detection and distribution
US20100005178A1 (en) Method and system for firewall friendly real-time communication
US20050021830A1 (en) Data communications method and system using buffer size to calculate transmission rate for congestion control
WO2002033896A2 (en) Method and apparatus for characterizing the quality of a network path
Baldo et al. RTCP feedback based transmission rate control for 3G wireless multimedia streaming
US20020075895A1 (en) Transmission rate controller and transmission rate control method
Goel et al. Low-latency adaptive streaming over TCP
US20060002425A1 (en) Determining available bandwidth in a network
US20070097987A1 (en) Feedback provision using general nack report blocks and loss rle report blocks
US10574706B2 (en) Method and system for upload optimization
EP1687955B1 (en) Feedback provision using general nack report blocks and loss rle report blocks
Papadimitriou et al. SSVP: A congestion control scheme for real-time video streaming
JP5533177B2 (ja) パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム
Papadimitriou et al. A rate control scheme for adaptive video streaming over the internet
KR102491033B1 (ko) 왕복 시간 추정
Hisamatsu et al. Non bandwidth-intrusive video streaming over TCP
Hsiao et al. Streaming video over TCP with receiver-based delay control
Kadhum et al. Congestion-aware TCP-friendly system for multimedia transmission based on UDP
JP2005184494A (ja) データ通信管理方法
Vu et al. Dynamic packet size mechanism (DPSM) for multimedia in wireless networks
Kadhum et al. Responsive user datagram protocol-based system for multimedia transmission
Rajiullah et al. Performance analysis and improvement of PR-SCTP for small messages
Papadimitriou et al. Performance evaluation of real-time transport with link-layer retransmissions in wired/wireless networks

Legal Events

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

Payment date: 20140516

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee