KR100699019B1 - 대역폭 할당 방법 및 장치 - Google Patents

대역폭 할당 방법 및 장치 Download PDF

Info

Publication number
KR100699019B1
KR100699019B1 KR1020017015489A KR20017015489A KR100699019B1 KR 100699019 B1 KR100699019 B1 KR 100699019B1 KR 1020017015489 A KR1020017015489 A KR 1020017015489A KR 20017015489 A KR20017015489 A KR 20017015489A KR 100699019 B1 KR100699019 B1 KR 100699019B1
Authority
KR
South Korea
Prior art keywords
data
data stream
stream
rate
bandwidth
Prior art date
Application number
KR1020017015489A
Other languages
English (en)
Other versions
KR20020020902A (ko
Inventor
윌리엄 웰치
스티븐 맥케인
애브하이 케이. 파레크
Original Assignee
야후! 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/384,865 external-priority patent/US6735633B1/en
Application filed by 야후! 인크. filed Critical 야후! 인크.
Publication of KR20020020902A publication Critical patent/KR20020020902A/ko
Application granted granted Critical
Publication of KR100699019B1 publication Critical patent/KR100699019B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • 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/15Flow control; Congestion control in relation to multipoint 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/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/801Real time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크 대역폭을 분류하고, 모니터링하고, 제어하며, 그밖의 관리 작업을 수행하고 데이터 스트림에 할당하는 시스템에 관한 것이다. 본 발명은 또한 다수의 데이터 스트림에 데이터 네트워크의 대역폭을 할당하는 방법에 관한 것이다. 상기 방법은 다수의 데이터 클래스들에 대역폭 할당을 지정하는 단계, 각각의 데이터 스트림이 연관된 데이터 클래스를 가지고 있는 다수의 데이터 스트림들을 수신하는 단계, 각각의 데이터 스트림에 대한 전송율을 결정하는 단계로서, 상기 전송율은 각각의 데이터 스트림과 연관된 데이터 클래스에 할당된 대역폭에 의해 제한되는 단계 및 결정된 전송율로 데이터 네트워크를 통해 데이터 스트림을 전송하는 단계를 포함한다.

Description

대역폭 할당 방법 및 장치{METHOD AND DEVICE FOR BANDWIDTH ALLOCATION}
본 발명은 일반적으로 네트워크의 동작에 관한 것이며, 보다 상세하게는 데이터 네트워크 대역폭의 복수의 데이터 스트림에 대한 할당에 관한 것이다.
네트워크는 특히 고대역폭 정보를 방송하는 경우에 이들의 대역폭을 효과적으로 사용할 필요가 있다. 방송 정보는 통상적으로 비교적 적은 수의 데이터 소스가 엔드 유저(end-user) 또는 클라이언트(client)와 같은 다수의 목적지로 데이터를 전송하는데 특징이 있다. 예를들어, FM 라디오 방송국으로부터의 음성 신호가 디지털화되어 인터넷과 같은 공용 데이터 네트워크를 통해 방송되어, 전세계의 다수의 엔드 유져가 디지털 방송을 수신하는 것을 가능하게 한다.
선택된 클라이언트 세트가 방송을 수신하도록 하고자 하는 경우에, 멀티캐스팅(multicasting)으로 알려진 서브셋(subset) 방송이 일어난다. 그러나, 현재의 방식은 다수의 데이터 네트워크 상에서 효과적인 멀티캐스팅을 달성하지 못하고 있다. 그 이유 중 하나는 멀티캐스트 정보의 등록(subscription), 분배 및 제어를 처리할만한 두드러진 인프라 구조(infrastructure)가 부족하다는 점이다.
이와 유사하게, 다수의 시간-결정적(time-critical) 유니캐스트(unicast) 접속이 예를들어 IP 또는 온-디멘드(on-demand) 스트리밍 미디어를 통한 음성을 지원하기 위해 네트워크를 통해 멀티플렉스되는 경우에, 네트워크는 이들 스트림을 효과적으로 전송하고 제공된 부하가 삽입된 네트워크 링크의 대역폭을 초과하는 경우라도 가능한 최적 전송 품질을 유지하여야 한다.
도1은 통상적인 데이터 네트워크의 네트워크 부분(100)을 나타낸다. 네트워크 부분(100)은 링크(108, 110)로 접속된 노드(102, 104, 106)로 이루어진다. 네트워크 부분(100)의 모든 링크들은 정보의 전송과 수신 양자가 가능한 양방향 링크인 것으로 간주될 수 있다. 정보 소스(112)는 링크(114)에 의해 노드(102)에 접속된다. 클라이언트(116, 118, 120)가 각각 링크(122, 124, 126)에 의해 노드(106)에 접속된다. 링크(128, 129, 130, 132, 134)는 데이터 네트워크의 다른 부분(미도시)에 접속된다.
통상적인 동작 모드에서, 정보 소스(112)는 데이터 네트워크를 통한 분배를 위해 노드(102)에 정보를 전송한다. 정보는 데이터 패킷(packet)의 형태이며, 일련의 데이터 패킷이 데이터 스트림을 형성한다. 예를들어, 클라이언트(118)를 목적지로 한 데이터 스트림은 노드(102)로부터 노드(104)로 전송되고, 그 후에 노드(106)로 전송되며 마지막으로 클라이언트(118)로 전송된다. 각 노드는 데이터 스트림의 데이터 패킷을 수신하고 이들을 출력 스트림의 형태로 다음 노드에 전송한다. 이러한 방식으로 데이터 스트림이 다수의 상이한 데이터 경로를 이용하여 소스로부터 목적지까지 네트워크 주변에 분배될 수 있다.
그러나, 노드가 출력 스트림을 형성하는 방법으로 인해 전송 문제가 발생할 수 있다. 하나의 문제는, 각 링크가 단지 고정된 양의 대역폭을 갖고 있기 때문에 대역폭 할당과 관련되어 있다. 현재의 네트워킹 방식에서는, 트래픽(traffic)이 외부로부터의 정체(congestion)로 인해 노드로 복귀하는 경우에, 인입되는 패킷들중 일부가 손실되어, 그 결과 데이터 스트림의 품질이 저하될 것이다.
대역폭 제한이 특히 중요하게 되는 상황은 실시간 데이터 스트림 전송 도중에 일어난다. 실시간 데이터 스트림은 비디오, 오디오 또는 다른 형태의 데이터 스트림으로 구성되며, 상기 스트림이 중단된다면 클라이언트가 수신하는 품질이 저하될 것이다. 예를들어, 클라이언트(118)에 전송된 실시간 비디오 스트림이 링크(108)의 대역폭 제한으로 인해 데이터 패킷을 잃어버리는 경우에, 클라이언트(118)로 수신된 데이터 스트림의 품질은 저하될 것이다. 클라이언트(118)는 실시간 비디오가 음향 부분에 있는 그리치(glitch)와 동반된 정지, 점프 또는 스킵(skip)들이 있는 것으로 인식한다. 그 결과, 클라이언트(118)는 이러한 품질 감소된 비디오 스트림을 수신하는 것을 원치 않을 것이다.
본 발명은 데이터 스트림의 대역폭을 분류, 모니터링, 제어 및 관리하고 데이터 네트워크에 할당하기 위한 시스템을 제공한다. 본 발명은 유니캐스트 네트워크, 방송 네트워크 또는 효율적 네트워크 대역폭 사용이 요구되는 다른 네트워크 환경에 한정되지 않고 이들을 포함하는 어떠한 네트워크 환경에서도 이용될 수 있다.
일 실시예에서, 다수의 데이터 스트림에 데이터 네트워크의 대역폭을 할당하는 방법이 제공된다. 상기 방법은 다수의 데이터 클래스(class)들에 대한 대역폭 할당(apportionment)을 지정하는 단계; 다수의 데이터 스트림들을 수신하는 단계로서, 각 데이터 스트림은 데이터 스트림을 하나의 데이터 클래스와 관련시키는 적어도 하나의 속성을 갖는 단계; 각 데이터 스트림에 대한 전송율을 결정하는 단계로서, 상기 전송율은 각 데이터 스트림과 관련된 데이터 클래스에 할당된 대역폭에 의해 제한되는 단계; 및 결정된 전송율로 데이터 네트워크를 통해 데이터 스트림을 전송하는 단계를 포함한다.
또 다른 실시예에서, 스트림 주석(annotation)을 갖는 데이터 스트림에 데이터 네트워크의 대역폭을 할당하기 위한 본 발명의 장치가 제공된다. 상기 장치는 데이터 스트림을 수신하고 다수의 전송율을 결정하는 로직을 갖는 플러그 인(plug-in)을 포함한다. 플러그 인은 또한 다수의 전송율중 하나로부터 선택된 전송율을 갖는 변환된 스트림으로 데이터 스트림을 변환시키는 로직을 가지고 있다. 할당기(allocator)는 플러그-인에 결합되고 데이터 스트림을 수신하는 로직을 포함한다. 할당기는 다수의 데이터 클래스에 대한 대역폭의 할당을 구체화하는 정책 트리(policy tree)를 가지고 있다. 할당기는 또한 스트림 주석에 근거하여 데이터 스트림을 데이터 클래스와 관련시키고 플러그 인을 사용하여 다수의 전송율로부터 전송율을 결정하는 로직을 가지며, 여기서 상기 전송율은 정책 트리에 의해 데이터 클래스에 할당된 대역폭으로 한정된다. 출력 링크는 플러그 인에 접속되고 상기 전송율로 데이터 네트워크를 통해 변환된 스트림을 전송하는 로직을 갖는다.
또다른 실시예에서, 데이터 스트림에 데이터 네트워크의 대역폭을 할당시키는 데이터 네트워크 동작 방법이 제공된다. 상기 방법은, 데이터 클래스를 대표하는 스트림 주석을 이용하여 데이터 스트림에 주석을 다는 단계; 다수의 데이터 클래스들에 대한 데이터 네트워크의 대역폭 할당을 지정하는 정책 트리를 설정하는 단계; 스트림 주석에 기초하여 데이터 스트림의 데이터 클래스를 결정하고 데이터 클래스에 대한 정책 트리에 의해 지정된 대역폭으로 한정되는 데이터 스트림에 대한 전송율을 결정하는 단계; 상기 전송율을 갖는 변환된 스트림으로 데이터 스트림을 변환하는 단계; 및 상기 전송율로 데이터 네트워크를 통해 변환된 스트림을 전송하는 단계를 포함한다.
도1은 종래의 네트워크 부분(100)을 나타낸다.
도2는 본 발명의 실시예와 관련된 네트워크 구조를 나타낸다.
도3은 본 발명의 실시예를 구현하는 데 적합한 컴퓨터 장치(300)를 나타낸다.
도4는 도3의 컴퓨터 장치의 내부 구조를 나타낸다.
도5는 본 발명에 따라 구성된 미디어 장치(450)의 블록도이다.
도6A는 본 발명에 따라 구성된 대역폭 할당 장치(500)의 상세 블록도이다.
도6B는 본 발명에 따라 구성된 대역폭 할당 장치(500)의 상세 블록도의 다른 실시예이다.
도7은 본 발명에 사용되기 위한 예시적 정책 트리(600)이다.
도8은 본 발명에 사용되기 위한 제어 정보를 나타내는 테이블(700)이다.
도9는 스트림 주석을 이용하여 선택된 데이터 스트림에 대역폭을 할당하는 정책 트리의 일부를 나타낸다.
도10은 도5의 장치(500)의 동작 방법(800)을 나타낸다.
도11은 도5의 장치(500)의 동작 방법(900)을 나타낸다.
도12는 도5의 장치(500)의 동작 방법(1000)을 나타낸다.
도13은 도5의 장치(500)의 동작 방법(1100)을 나타낸다.
본 발명은 데이터 네트워크의 미디어 스트림에 대한 대역폭을 분류, 모니터링, 제어하며 관리 및 할당하기 위한 시스템을 제공한다. 미디어 스트림에 대한 전송율은 고정되나 관리에 따라 변형될 수 있는 정책에 따라 선택되며, 그 결과 데이터 네트워크의 이용가능한 대역폭이 효율적으로 이용될 수 있다.
도2는 도1의 네트워크 부분(100)을 나타내며 링크(208, 210, 212)에 의해 각각 노드(102, 104, 106)에 접속된 미디어 장치(202, 204, 206)로 이루어진다. 미디어 장치는 출원번호가 09/323,869인 미국특허출원에서 설명된 바와 같이 오버레이(overlay) 네트워크와 같은 가상 네트워크를 형성하는데 이용된다. 미디어 장치는 데이터 스트림에 대한 대역폭 할당을 유지하는 방식으로 데이터 네트워크에 데이터 스트림을 전송하도록 기능한다. 이것은 이용가능한 데이터 네트워크의 대역폭의 적어도 일부를 미디어 장치에 의해 형성된 가상 오버레이 네트워크에 제공함에 의해 달성된다. 그 결과, 클라이언트는 중단 없이 또한 우수한 품질로 실시간 데이터 스트림을 수신한다. 가상 오버레이 네트워크의 형성에 대한 설명은 본 발명의 범위를 벗어나지만, 이에 대한 구체적 설명은 출원번호가 09/323,869인 미국특허출원에서 발견할 수 있을 것이다.
미디어 장치는 그의 각 노드들에 결합되어 노드에 결합된 다른 링크로부터 도달된 데이터 스트림을 수신한다. 예를들어, 미디어 장치(202)는 링크(114, 128, 129, 108)로부터 데이터 스트림을 수신한다. 미디어 장치를 노드에 접속시키는 링크는 입력 및 출력 전송 경로를 제공한다. 도달 데이터 스트림을 수신한 후에, 미디어 장치는 데이터 네트워크 상에 전송용 출력 데이터 스트림을 형성한다.
도3은 본 발명에 따른 미디어 장치로서 사용하기에 적합한 컴퓨터 장치(300)를 나타낸다. 컴퓨터 장치(300)는 디스플레이 스크린(304)을 구비한 디스플레이(302)를 포함한다. 캐비넷(306)은 디스크 드라이브, CDROM 드라이브, 디스플레이 어댑터, 네트워크 카드, 랜덤 액세스 메모리(RAM), 중앙 처리 장치(CPU) 및 다른 구성 요소, 서브 시스템 및 장치와 같은 표준 컴퓨터 구성 요소들(미도시)을 수용한다. 버튼(310)을 구비한 마우스(308) 및 키보드(312)와 같은 사용자 입력 장치들이 도시된다. 트랙볼(trackball), 터치 스크린, 디지털화 태블릿(tablet) 등과 같은 다른 사용자 입력 장치들이 사용될 수 있다. 일반적으로, 컴퓨터 장치(300)는 본 발명에 사용되기에 적합한 데스크탑(desktop) 컴퓨터와 같은 형태의 컴퓨터 시스템을 예시한다. 컴퓨터는 다수의 상이한 하드웨어 부품으로 구성될 수 있고 다양한 범위 및 스타일(예를 들어, 랩톱, 팜톱, 서버, 워크스테이션, 메인 프레임)로 구성될 수 있다. 본 명세서에서 기술되는 프로세싱을 수행하는데 적합한 임의의 하드웨어 플랫폼이 본 발명을 이용하는데 적합하다. 예를 들어, 도 2는 각각 노드(102, 104, 106)와 결합된 미디어 장치(202, 204, 206)를 나타내지만, 미디어 장치의 기능 및 프로세싱은 노드와 직접 통합될 수 있다.
도 4는 컴퓨터 장치(300)와 같은 컴퓨터 장치에서 일반적으로 사용되는 서브시스템을 나타낸다. 박스(400)내에 있는 서브시스템은 내부 버스(410)와 직접 접속된다. 전형적으로 이러한 서브시스템은 도 3의 캐비넷(306)과 같은, 컴퓨터 시스템 내부에 포함된다. 서브시스템은 입/출력(I/O) 제어기(412), 시스템 랜덤 액서스 메모리(RAM)(414), 중앙 처리 장치(CPU)(416), 디스플레이 어댑터(418), 직렬 포트(420), 고정 디스크(422) 및 네트워크 인터페이스 어댑터(424)를 포함한다. 버스(410)의 사용은 각각의 서브시스템이 서브시스템 중 하나로 가장 중요하게는 CPU(416)로 데이터의 전송을 가능케 한다. 외부 장치는 버스 상에 있는 서브시스템과 접속됨으로써 버스(410)를 경유하여 CPU 또는 다른 서브시스템과 연통될 수 있다. 모니터(426)는 디스플레이 어댑터(418)를 통해 버스와 접속된다. 마우스와 같은 상대 위치지정 장치(RPD)(428)는 직렬 포트(420)를 통해 연결된다. 키보드(430)와 같은 일부 장치는 예를 들어, 인터럽트 제어기 및 관련 레지스터(도시되지 않음)를 경유하여, 메인 데이터 버스를 사용하지 않고 직접적인 수단에 의해 CPU(416)와 연결될 수 있다.
도 3에 도시된 외부 물리적 구성과 같이, 다수의 서브시스템 구성들이 가능하다. 도 4는 하나의 적합한 구성에 대한 예시이다. 도 4에 도시된 것 이외의 서브시스템, 부품 또는 장치가 부가될 수 있다. 적절한 컴퓨터 시스템은 도 4에 도시된 모든 서브시스템들을 사용하지 않아도 달성될 수 있다. CDROM 드라이브, 그래픽 가속기 등과 같은 다른 서브시스템이 본 발명의 시스템의 성능에 영향을 미치지 않고 구성에 포함될 수 있다.
도 5는 본 발명에 따라 동작하는 미디어 장치(450)의 블록도를 나타낸다. 미디어 장치(450)는 도 2의 데이터 네트워크에 있는 미디어 장치(202, 204 또는 206)중 하나로서 사용하는데 적합하다. 장치(450)는 4개의 입력(1-4), 제어 입력(452) 및 출력(454)을 갖는다. 1개 이상의 데이터 스트림은 4개의 입력(1-4)을 경유하여 장치(450)에 도달한다. 편의상, 오직 하나의 데이터 스트림이 네 개의 입력들의 각각에 도달한다고 가정한다. 그러나, 장치(450)는 다수의 데이터 스트림들이 도달하는 오직 하나의 입력을 구비하도록 구성될 수 있으며, 대안적으로, 하나 이상의 데이터 스트림이 각각의 입력으로 도달하는 다수의 입력들을 구비하도록 구성될 수 있다. 네 개의 데이터 스트림들 각각은 네트워크를 통한 전송을 위해 출력(454)으로 라우팅된다. 출력(454)은 장치(450)에서 이용가능한 최대 전송 용량을 나타내는 전송 제한을 가지고 있다. 상기 전송 용량은 여러 가지 이유들로 인하여 제한될 수 있다. 예를 들어, 상기 전송 용량은 물리적 용량 제한일 수 있으며 또는 데이터 네트워크가 네트워크 사용을 규제하기 위해 이러한 용량 제한으로 출력을 제한한 결과로 나타날 수 있다. 출력의 전송 용량이 제한될 수 있는 다른 방식은 시스템 관리자가 특정 전송 용량으로 출력을 제한하도록 제어 입력(452)을 통하여 명령들을 다운로드하는 경우에 발생할 수 있다. 그 결과, 장치(450)는 관리 명령들 및 대역폭 제한들을 따르는 방식으로 이용가능한 출력 대역폭을 입력 데이터 스트림들로 할당하도록 동작한다.
네 개의 입력 데이터 스트림들 각각은 하나 이상의 전송율로 데이터 네트워크를 통해 전송될 수 있다. 전송률의 선택은 장치(450)에 의해 이루어지며 데이터 스트림들에 있는 데이터 타입에 따라 좌우된다. 예를 들어, 비디오 이미지들을 포함하는 데이터 스트림은 여러가지 전송율들 중 하나에서 전송될 수 있으며 비디오 이미지들의 품질 차이는 전송율 선택의 결과로서 발생하게 된다. 프로그램들 또는 데이터 파일들을 포함하는 데이터 스트림은 정보 품질의 저하없이 임의의 전송률로 전송될 수 있다. 여러 개의 레이트(rate)들 중 하나의 레이트로 데이터 스트림들을 전송하는 유연성으로 인해 장치(450)는 효율성의 최적화, 스트림 우선 순위 구현과 같은 특정 네트워크 목표를 달성하거나 또는 특정한 관리 요구 사항들을 충족하도록 데이터 스트림들에 대한 전송률들을 선택할 수 있다. 예를 들어, 도 5에 표시된 데이터 스트림들과 관련하여, 입력 1은 초당 20, 10 또는 5 메가비트(megabit)의 레이트(20/10/5 m)로 전송될 수 있으며, 입력 2는 초당 10, 5 또는 2 메가비트의 레이트(10/5/2 m)로 전송될 수 있다. 그리하여, 동작 시간동안, 장치(450)는 알려진 이용가능한 전송률들로부터 입력 데이터 스트림들 각각에 대한 전송률을 선택할 수 있으며, 출력(454)에서 이용가능한 네트워크 대역폭을 입력 데이터 스트림들에 할당할 수 있다.
따라서, 장치가 입력 데이터 스트림에 대한 전송율을 선택하기 위한 하나의 방법은 대역폭 할당 파라미터들을 이용한다. 대역폭 할당 파라미터들은 시스템 관리자, 또는 다른 시스템 또는 외부의 컴퓨터 프로그램이 대역폭 할당 파라미터들을 장치(450)로 입력하기 위해 제어 입력(452)를 이용하는 경우에 수신된다. 할당 파라미터는 선택된 "데이터 클래스"에 대한 이용가능한 출력 대역폭의 할당을 정의한다. 데이터 클래스는 데이터 스트림의 1개 이상의 "타입"을 정의한다. 예를 들어, 라이브 비디오 데이터 스트림은 데이터 스트림 중 하나의 타입이고 데이터 파일을 포함하는 데이터 스트림은 데이터 스트림의 또다른 타입이다. 데이터 스트림은 또한 서브-타입을 포함할 수 있다. 예를 들어, 뉴스 브로드캐스트 및 기상 브로드캐스트는 라이브 비디오 데이터 스트림의 서브-타입들이다. 따라서, 데이터 클래스는 데이터 스트림의 타입들 및/또는 서브-타입들의 임의의 조합을 지정할 수 있다. 장치(450)는 데이터 스트림의 타입을 먼저 결정하고, 데이터 스트림과 관련된 제어 정보로부터 클래스를 결정한다. 또한 데이터 스트림의 전달(forwarding)을 위해 이용가능한 전송율이 결정된다. 그 후에 장치는 데이터 스트림의 특정 클래스에 대한 대역폭 할당에 적합한 데이터 스트림에 대한 이용가능한 전송율 중 하나를 선택한다. 예를 들어, 입력(1)이 "비디오" 클래스의 데이터 스트림을 전달하고, 입력(2)가 "오디오" 클래스의 데이터 스트림을 전달하는 경우에, 데이터 스트림 각각에 대한 전송율은 할당 파라미터에 기반하여 선택된다. 결과적으로, 입력(1)에 대한 전송율은 "비디오" 클래스에 대한 대역폭 할당에 적합하도록 선택되고 입력(2)에 대한 전송율은 "오디오" 클래스에 대한 대역폭 할당에 적합하도록 선택된다. 따라서, 할당 파라미터들은 이용가능한 출력 대역폭을 특정 타입의 인입 데이터 스트림들에 할당하기 위해 사용될 수 있다. 도시된 것처럼, 다수의 대역폭 할당 방법 및 동적 재-할당 방법이 가능하며 본 발명의 범위를 이탈하지 않는다.
동작에 대한 하나의 방법에서, 장치(450)는 모든 입력 스트림들 사이에서 하나의 출력 대역폭을 할당하여, 모든 입력 스트림이 네트워크 상에 전달된다. 예를 들어, 출력(454)에서 출력 용량 제한이 40m이고 4개의 입력 데이터 스트림이 도 5에 도시된 전송율을 갖는다고 가정하면, 하나의 할당 방식에서, 전송율은 입력(1)이 20m이고, 입력(2)가 5m이고, 입력(3)이 5m이고 입력(4)가 10m가 되도록 선택될 수 있다. 그리하여, 출력(454)에서 이용가능한 40m가 모두 활용될 수 있다. 또다른 할당 방식에서, 제어 입력은 데이터 스트림의 클래스에 대하여 고대역폭을 할당하는 할당 파라미터를 입력하기 위해 사용될 수 있다. 예를 들어, 입력(2)와 입력(4)에서 데이터 스트림의 타입들이 고대역폭이 할당된 클래스에 있는 경우, 입력(1)이 5m, 입력(2)가 10m, 입력(3)이 5m, 입력(4)가 20m가 되도록 전송율을 선택하는 새로운 할당이 이루어질 수 있다. 따라서, 이용가능한 최고 전송율은 각각 10m와 20m에 대응하는 입력(2)과 입력(4)에서의 데이터 스트림에 대해 선택되며, 입력(1)과 입력(3)에서의 데이터 스트림은 이용가능한 출력 대역폭 중에서 남아있는 10m가 분배된 전송율을 갖는다. 대역폭을 할당하는 모든 방법은 입력 데이터 스트림에 대해 적절한 전송율을 선택하기 위해서 할당 파라미터를 사용함으로써 달성될 수 있다. 할당 파라미터의 셋팅으로 인해 1개 이상의 입력 스트림들이 네트워크를 통해 전달되지 않는 상황이 발생할 수 있다. 예를 들어, 한 세트의 할당 파라미터에 기초하여, 입력(1)과 입력(4)에 대한 전송율들이 각각 20m이 되도록 선택하여 40m의 이용가능한 출력 대역폭을 모두 이용할 수 있다. 이러한 경우에, 입력(2)와 입력(3)에서의 데이터 스트림은 손실될 것이며, 입력(1)과 입력(4)에서의 데이터 스트림들은 그들의 이용가능한 최고 전송율로 전달된다.
도 6A는 본 발명에 따라 구성된 대역폭 할당 장치(500)의 상세한 블록도를 나타낸다. 장치(500)는 다양한 주제의 컨텐츠를 가진 데이터를 포함하는 다수의 입력 데이터 스트림을 입력받는다. 예를 들어, 입력 데이터 스트림은 영화 또는 텔레비젼 브로드캐스트와 같은 비디오 데이터 또는 뉴스 리포트 또는 일기 예보와 같은 실시간 정보를 포함할 수 있다. 또한 데이터 스트림은 프로그램 및/또는 데이터 파일과 같은 전형적인 컴퓨터 데이터를 포함할 수 있다. 제 1 입력 데이터 스트림(502)과 제 2 입력 데이트 스트림(504)은 장치(500)로 입력된다. 제 1 입력 데이터 스트림(502)은 단지 하나의 데이터 스트림, 예를 들어, 비디오 브로드캐스트를 나타내는 데이터 스트림을 포함한다. 제 2 입력 데이터 스트림(504)은 N개의 상이한 데이터 스트림을 포함하는 다중화된 데이터 스트림을 포함한다. 데이터 스트림은 데이터 스트림의 상이한 파라미터들을 설명하는 제어 정보(506)를 포함한다. 예를 들어, 제어 정보는 데이터 스트림의 출처(origin) 또는 목적지에 관한 정보를 포함할 수 있다. 또한 제어 정보는 데이터 스트림의 컨텐츠에 대한 정보를 포함할 수 있다. 예를 들어, 저자의 이름, 브로드캐스트의 타입 또는 브로드캐스트의 존속 기간(duration) 정보를 포함할 수 있다. 제어 정보(506)는 데이터 스트림의 일부를 형성할 수 있거나, 또는 하나 이상의 입력들을 통해 또는 개별 제어 채널을 통해 대역폭 할당 장치(500)에 도달하는 개별 제어 데이터 스트림으로 전송될 수 있다.
할당 파라미터는 시스템 관리자 또는 몇몇 다른 관리 소스로부터 장치(55)에 제공되는 대역폭 정책(508)를 나타낸다. 대역폭 정책은 장치(500)의 출력(510)에서 이용가능한 데이터 네트워크의 대역폭을 할당하기 위해 사용된다. 대역폭 정책의 목적은 입력 데이터 스트림들의 클래스들 사이에서 이용가능한 출력 대역폭을 목적하는 바대로 할당하는 것이다. 예를 들어, 비디오 데이터를 나타내는 제 1 데이터 스트림(502)에 보다 높은 대역폭을 인가하는 것이 바람직하며, 그 결과 이러한 스트림의 전송으로 고품질 비디오 이미지들이 수신될 것이다. 대역폭 정책(508)은 이용가능한 입력 대역폭의 동적 할당을 허용하며, 그 결과 상이한 클래스들의 입력 데이터 스트림이 도달 또는 종결되거나, 또는 데이터 스트림의 클래스에 대한 요구 사항이 변경되면, 동적으로 대역폭 할당을 변경할 수 있다. 대역폭 정책(508)을 사용하면, 장치(500)는 요구에 따라 이용가능한 출력 대역폭을 재할당하도록 다양한 네트워크 변경 조건들에 대응할 수 있다.
입력되는 데이터 스트림을 처리하기 위해서, 할당기(512)는 입력되는 데이터 스트림과 관련된 제어 정보(506)를 수신한다. 할당기는 또한 시스템 관리자로부터 대역폭 정책(508)를 수신한다. 대안적으로, 할당기는 내부 또는 외부의 공지된 시스템을 작동시키는 자동화된 관리 시스템으로부터 대역폭 정책을 수신할 수 있다. 대역폭 정책(508)는 대역폭 우선 순위를 구현하도록 설계되며, 예를 들어 계층 구조를 가지는 정책 트리 구조로 표현될 수 있다. 예시적인 정책 트리 구조는 도 7에 상세하게 도시되어 있다. 트리 구조에 한정되지 않는 대역폭 정책은 임의의 데이터 스트림 속성, 데이터 스트림 타입 또는 데이터 스트림 클래스와 대역폭을 관련시키는 임의의 구조를 가질 수 있다. 정책 트리는 현재 수신하는 데이터 스트림의 타입에 기반하여 데이터 네트워크의 대역폭을 할당하기 위해서 할당기(512)에 의해서 사용되는 정적 정책(static policy)을 규정한다.
플러그-인 관리자(514)는 또한 제어 정보(506)를 수신한다. 플러그-인 관리자(514)는 수신된 제어 정보를 분석하고 인입 데이터 스트림을 처리하도록 플러그-인을 활성화한다. 플러그-인은 미디어 장치에서 작동되고, 인입 데이터 스트림에 대하여 다양한 프로세스들을 수행할 수 있는 소프트웨어 및/또는 하드웨어를 지칭한다. 각 플러그-인은 특정 데이터 스트림 타입의 데이터를 수신하도록 생성되고 구체적으로 설계된다. 예를 들어, 플러그-인은 계층화된 비디오 데이터를 조정할 수 있도록 생성되거나 또는 플러그-인은 실시간이 아닌 컴퓨터 데이터를 조정할 수 있도록 생성될 수 있다. 도 6A의 실시예에서, 제 1 플러그-인(516) 및 제 2 플러그-인(518)부터 N차 플러그-인(520)까지의 플러그-인들은 특정 타입의 인입 데이터 스트림을 수신하여 처리할 수 있도록 플러그-인 관리자(514)에 의해서 활성화된다.
데이터 스트림의 타입 및/또는 속성에 따라서, 플러그-인은 네트워크로 데이터 스트림을 전송하는데 사용될 수 있는 하나 이상의 전송율을 결정할 것이다. 일단 사용가능한 전송율이 결정되면, 플러그-인은 네트워크를 통해 각각의 데이터 스트림을 전송하는 데 사용되는 전송율을 선택하기 위해서 할당기(512)와 교섭(negotiate)한다. 교섭 프로세스 동안에, 플러그-인은 데이터 스트림에 대한 이용가능한 전송율을 표시하여 할당기로 제공한다. 할당기(512)는 어떤 전송율이 사용되어야 하는 지를 표시하여 플러그-인에 대하여 응답한다. 할당기(512)는 각각의 데이터 스트림에 대한 교섭된 전송율을 선택하기 위해서 대역폭 정책에 따라 각 스트림과 관련되어 있는 제어 정보를 사용한다. 교섭된 전송율은 플러그-인에 의해서 결정된 이용가능한 전송율들로부터 선택된다. 시스템 관리자에 의해서 제공된 대역폭 정책에 따라, 할당기는 출력에서 이용가능한 용량 제한에 적합하도록 데이터 스트림의 각 타입에 대한 바람직한 전송율에 대해서 교섭함으로써 이용가능한 네트워크 대역폭의 효율 및 유용성을 최대화할 수 있다.
레이트 교섭이 끝나면, 플러그-인들은 플러그-인 변환기(526, 528, 530)를 통해 인입 데이터 스트림의 데이터를 교섭된 전송율로 변환시키고, 이에 따라 532, 534 및 536으로 도시된 변환된 스트림을 형성한다. 이를 위해, 플러그-인은 교섭된 전송율을 가지는 변환된 데이터 스트림으로 입력 데이터 스트림을 변환시키기 위해서 변환 프로세스들을 사용한다. 일 실시예에서, 변환 프로세스는 변환된 데이터 스트림을 형성하기 위해서 멀티-비트율 신호를 포함하는 계층들의 서브셋을 간단히 선택할 수 있다. 다른 실시예에서 변환 프로세스는 신호를 디코딩하고 디코딩된 신호를 대안적인 압축 파라미터로 재-인코딩하여 수신기의 신호 품질을 낮추는 대신에 비트율을 감소시킨다. 변환된 데이터 스트림은 출력 링크(522)에 결합되며 상기 스트림은 출력 데이터 스트림(510)을 형성하도록 조합된다. 출력 데이터 스트림(510)은 교섭된 전송율의 입력 데이터 스트림을 포함한다. 변환된 데이터 스트림은 플러그-인에서 나온 데이터 패킷들의 스트림을 포함한다. 출력 링크(522)는 플러그-인으로부터 데이터 패킷들을 수신하는 로직을 구비하며, 또한 상기 데이터 패킷들을 출력 데이터 스트림(510)과 결합하는 로직을 구비한다. 출력 데이터 스트림(510)은 네트워크에서 엔드 유저 또는 다른 라우팅 장치로 전달된다. 네트워크에서의 다른 라우팅 장치는 상기 대역폭 할당 장치(500)와 동일할 수 있으며, 동일한 세트 또는 다른 세트의 대역폭 정책이 적용된다. 따라서, 하나의 대역폭 할당 장치에서 제 1 교섭된 전송율을 가지는 데이터 스트림은 네트워크 내의 다른 대역폭 할당 장치에서 상이한 교섭된 전송율을 가질 수 있다.
도 6B는 대역폭 할당 장치(500)의 다른 실시예를 도시한다. 도 6B의 실시예에서, 각 플러그-인은 도시된 바와 같이 출력 대기열(queue)(550, 552 및 554)을 가진다. 출력 링크(522)는 패킷 스케쥴러(556)로 대체된다. 스케쥴러(556)는 데이터 패킷을 플러그-인에서 뽑아내어 출력 대기열을 폴링(poll)하여 출력 스트림(510)을 형성한다. 대역폭 할당 장치(500)가 출력 링크(522)를 사용하든지 또는 패킷 스케쥴러(556)를 사용하든지에 관계없이, 출력 데이터 스트림(510)은 정책 트리의 대역폭 정책에 의해 정의된 대역폭 할당으로부터 유도되는 전송율을 가지는 입력 데이터 스트림을 포함한다.
도 7은 본 발명에서 사용되는 예시적인 정책 트리(600)를 도시한다. 정책 트리는 대역폭 할당 장치에 대한 이용가능한 대역폭이 상이한 클래스들의 데이터 스트림 사이에서 어떻게 할당되는 지를 나타낸다. 트리 구조는 할당에 있어서의 계층적 특성을 알아내는 데 사용되며, 임의의 구조 타입 또는 관계 조직이 대역폭 할당을 설명하기 위해 이용될 수 있다. 대역폭 할당 장치에 대한 이용가능한 전체 대역폭은 루트(602)의 위치에 도시되어 있다. 각 장치를 위해 루트에 할당된 전체 대역폭은 네트워크 관리에 따른 결정이나 용량 제한에 기반하여 서로 다를 수 있다. 루트(602)에서의 이용가능한 대역폭은 각 노드에 설정된 상대적인 가중치에 따라서 제 1 세대 노드들(루트에 연결된 노드들) 또는 클래스들 사이에서 할당된다. 예를 들어, 클라이언트 2(606)는 루트 대역폭의 30%를 할당받는다. 제 1 세대 노드들 각각에 할당된 대역폭은 다음 세대의 노드들 사이에서 추가적으로 분배된다. 이러한 방식으로, 루트에 표시된 이용가능한 네트워크 대역폭은 계층적으로 정책 트리의 모든 노드, 또는 클래스에 할당된다.
일 실시예에서, 정책 트리(600)는 루트(602) 및 루트(602)에 각각 연결된 커스터머 1(604), 커스터머 2(606) 및 커스터머 3(508)을 포함한다. 커스터머 1에는 루트 대역폭 중 최대 30%가 할당된다. 커스터머 2 및 커스터머 3에는 또한 루트 대역폭의 최대 30%가 각각 할당된다. 루트 대역폭의 남은 10%는 모든 다른 사용자(610)에게 할당된다. 정책 트리(600)는 단지 하나의 정책 트리 타입을 나타내고 있다. 다른 타입의 구조들 또는 조직들은 대역폭 정책을 정의하는 데 사용될 수 있다. 일단 정책이 정의되면, 시스템 관리자는 네트워크 성능 또는 데이터 스트림 타입의 우선 순위의 변경과 같은 다양한 동작 파라미터에 기초하여 할당을 변경하는 결정권을 가지게 된다.
대역폭 정책에 대한 보다 상세한 내용이 정책 트리(600)에 도시된다. 예를 들어, 커스터머 2 및 3은 보다 구체적인 타입의 데이터 스트림에 할당되는 이용가능한 대역폭을 가진다. 커스터머 2에는 루트 대역폭의 25%가 영화(612)에 대하여 이용가능하고 루트 대역폭의 5%가 스포츠(614)에 대하여 이용가능하도록 루트 대역폭의 30%가 할당된다. 커스터머 3에는 루트 대역폭의 20%가 뉴스(616)에 대하여 이용가능하고 루트 대역폭의 10%가 날씨(614)에 대하여 이용가능하도록 루트 대역폭의 30%가 할당된다. 도 5의 장치(500)에서, 할당기(512)는 대역폭 정책 입력(508)을 통해서 시스템 관리자로부터 정책 트리의 할당 정보를 수신하고, 인입 데이터 스트림에 대한 전송율을 활성 플러그-인들과 교섭하는데 상기 할당 정보를 이용한다.
도 8은 두 데이터 스트림(502 및 504)과 관련된 제어 정보(506)를 나타내는 테이블(700)을 도시한다. 제어 정보(506)는 각 데이터 스트림과 관련된 스트림 주석을 포함한다. 스트림 주석은 데이터 스트림을 분류하고 각 스트림에 대역폭을 할당하는 데 사용되는 데이터 스트림에 관한 정보를 제공한다. 스트림 주석은 두 카테고리, 즉, 필수적인 주석 및 일반적인 주석으로 나누어질 수 있다. 필수적인 주석은 모든 데이터 스트림에서 필요한 주석이다. 일반적인 주석은 데이터 스트림에 대역폭을 할당할 때 엔드 유저에게 유용한 추가적인 정보가 데이터 스트림에 주석으로 제공되는 방법을 제공한다.
도 8의 실시예에서, 예시적인 스트림 주석은 제 1 데이터 스트림(502) 및 제 데이터 스트림(504)을 위해 도시된다. 스트림 주석의 3가지 카테고리가 도시된다. 제 1 카테고리는 데이터 스트림 각각을 식별하는 스트림 식별자(702)이다. 스트림 식별자(702)를 수신함으로써, 엔드 유저는 인입 데이터 스트림을 식별할 수 있다. 네임 태그(NameTAG)(704) 및 값(Value)(706)으로 지칭되는, 다른 두 카테고리는 데이터 스트림 각각에 대하여 주석을 제공하는 쌍을 형성한다. 예를 들어, 네임 태그 "미디어 타입"(708)은 데이터 스트림(502)에서 "넷쇼"(710)의 값을 가진다. 네임 태그 "미디어 타입"(708)은 데이터 스트림(504)에서 "G2"(712)의 값을 가진다. 데이터 네트워크 상의 모든 수신자가 데이데 스트림의 정확한 내용을 확인하도록, 데이터 스트림의 전송자는 데이터 스트림에 주석을 제공한다. 몇몇 데이터 스트림 주석은 데이터 스트림을 식별하기 위해 요구된다. 다른 주석은 일반적인 주석이며, 엔드 유저에게 데이터 스트림에 관한 추가적인 정보를 제공하도록 전송자에 의해 사용된다. 정책 트리 및 스트림 주석을 사용함으로써, 할당기(512)가 다양한 대역폭 할당 방법들을 수행하는 데이터베이스 제어 구조들이 형성될 수 있으며, 이러한 대역폭 할당 방법들은 데이터 네트워크에서 이용가능한 대역폭을 효과적으로 이용하도록 한다.
도 9는 스트림 주석이 대역폭 할당을 정의하는데 사용되는 정책 트리의 일부를 나타낸다. 노드(750)에서, 이용 가능한 루트 대역폭의 30%는 미디어 타입으로 넷쇼 및 등급(rating)으로 G를 포함하는 데이터 스트림에 할당된다. 노드(752)에서, 이용 가능한 루트 대역폭의 30%는 미디어 타입으로 G2 및 저자(author)로 CBS 스포츠를 포함하는 데이터 스트림에 할당된다. 모든 방식의 대역폭 할당은 데이터의 선택된 타입, 또는 클래스에 대역폭을 할당하기 위해 스트림 주석을 사용하는 제어 구조를 정의함으로써 이루어질 수 있다.
다시 도 6a에서, 대역폭(BW) 검출기(524)는 할당기(512)와 통합된다. BW 검출기(524)는 할당되지 않은 대역폭이 존재하는 조건을 검출할 수 있다. 이러한 하나의 조건은, 정책 트리에 의해 정의된 바와 같이, 하나 이상의 정책 클래스에 할당된 대역폭이 이용되지 않는 경우에 발생한다. 예를 들어, 정책 트리(700)에서, 장치(500)에 의해 어떠한 날씨 데이터 스트림도 수신되지 않으면, 블록(618)에서 이러한 정책 클래스에 할당된 대역폭은 이용되지 않는다. 할당되지 않는 대역폭이 존재하는 다른 조건은 추가적인 대역폭이 데이터 네트워크 상의 미디어 장치(500)의 출력을 위해 이용될 수 있게 되어, 루트 위치(602)의 이용가능한 대역폭이 증가하는 경우에 발생한다. BW 검출기(524)에 의해 검출된 할당되지 않은 대역폭은 현재 존재하는 데이터 스트림에 재할당될 수 있다. BW 검출기(524)에 의해 검출된 할당되지 않은 대역폭의 재할당은 도 12를 참조로 더욱 상세히 논의된다.
본 발명의 하나의 양상에서, 가상 오버레이 네트워크는 장치(500)와 같은 다수의 대역폭 할당 장치로부터 형성된다. 오버레이 네트워크를 구현하는 상세한 내용은 동시계속출원(09/323,869)에 기술되어 있으며 본 발명의 권리 범위를 벗어난다. 이러한 오버레이 구조에서, 네트워크에 의해 전달된 서비스 품질(QoS)은 하부의 물리적 네트워크에 제공되는 링크와 이하에서 기술되는 본 발명을 이용한 가상 오버레이 네트워크를 통해 제공되는 대역폭의 조합을 통해서 주의깊게 제어될 수 있다. 패킷-스위칭 네트워크에 QoS를 제공하기 위하여, 종래의 방법은 보편적으로 배치된 큰 인프라 구조의 모든 네트워킹 엘리먼트가 여러 가지 새로운 스위칭 알고리즘, 시그널링 프로토콜, 패킷 방식 등을 지원하기 위해 업그레이드되는 것을 요구한다. 그러나, 본 발명에서, QoS는 현재의 네트워크 엘리먼트를 변경하지 않고 전달될 수 있으며, 대신에 오버레이 레벨에서 새로운 라우팅 엘리먼트의 추가만을 필요로 한다. 네이티브(native) 네트워킹 엘리먼트가 새로운 형태의 QoS를 전달할 수 있게 되면, 오버레이 추상화(abstraction)는 위치적으로 이러한 새로운 장치들을 이용할 수 있다. 즉, 상기 장치들은 QoS 준비를 위해 하부 네트워크의 모든 위치에 배치될 필요는 없다. 예를 들어, 본 발명의 범위 내에서 특정 트래픽 클래스에 할당되는 데이터 스트림은 의도된 정책을 유지하는 방식으로 네이티브 네트워크-레벨로 매핑될 수 있다.
도 10은 본 발명의 대역폭 할당 장치(500)를 이용한 대역폭 할당 방법(800)을 나타낸다. 상기 방법(800)은 장치(500)에 도달하는 데이터 스트림에 대역폭을 할당하기 위해 이용될 수 있다. 상기 방법은 시스템 관리자가 정책 트리, 예를 들어 정책 트리(600)를 형성하고 할당기(512)에 정책 트리의 대역폭 할당을 입력하는 블록(802)에서 시작된다.
블록(804)에서, 새로운 데이터 스트림 및 제어 정보는 장치(500)에 도달한다. 새로운 데이터 스트림은 하나의 데이터 스트림 또는 함께 다중화된 다중 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 표(700)와 유사한 스트림 주석의 형태로 관련된 제어 정보를 포함한다.
블록(806)에서, 스트림 주석 정보는 할당기(512) 및 플러그-인 관리자(514)로 라우팅된다. 블록(808)에서, 플러그-인 관리자(514)는 각각의 도달하는 데이터 스트림에 대한 플러그-인을 활성화한다. 활성화된 플러그-인 타입은 도달하는 데이터 스트림 타입으로부터 결정되며, 제어 정보의 스트림 주석에 의해 표시된다. 예를 들어, 제어 정보가 도달 데이터 스트림이 특정 타입의 비디오 데이터를 포함하는 스트림 주석을 가지면, 플러그-인 관리자(514)는 상기 타입의 비디오 데이터를 처리할 수 있는 플러그-인을 활성화시킨다. 데이터 스트림이 하나 이상의 데이터 스트림을 포함하는 다중화된 스트림이면, 플러그-인 관리자(514)는 다중화된 스트림의 각각의 데이터 스트림을 위한 플러그-인을 활성화시킨다.
블록(810)에서, 새롭게 형성된 플러그-인은 데이터 네트워크를 통해 데이터 스트림을 전송하거나 전달하기 위해 이용가능한 하나 이상의 레이트를 결정한다. 예를 들어, 몇몇 데이터 스트림은 하나의 전달 레이트만을 가지는 반면, 다른 데이터 스트림은 여러 개의 전달 레이트들을 가진다. 상이한 레이트는 예를 들어, 비디오 스트림을 전달하는데 있어서 흑백 대 컬러의 스트림 품질의 차이를 초래한다.
블록(812)에서, 할당기(512)는 각각의 플러그-인을 통해 각각의 데이터 스트림에 대한 전달율을 교섭한다. 일부 경우에, 실시간이 아닌 데이터 스트림에서와 같이, 다수의 가능한 전달율들이 존재할 것이다. 또 다른 경우에, 실시간 데이터 스트림에서와 같이, 심각한 감소없이 데이터 스트림이 전송될 수 있게 하는 단지 몇 개의 가능한 전달율들이 존재할 것이다. 플러그-인에 의해 표시되는 정책 트리 및 이용가능한 전송율에 기초하여, 할당기(512)는 정책 트리 할당 내에 존재할 데이터 스트림에 대한 전달율을 교섭할 것이다. 예를 들어, 정책 트리(600)는 스포츠(614)에 대해 이용 가능한 대역폭의 5%를 할당한다. 정책 트리의 다른 모든 클래스에 할당된 대역폭이 전부 이용된다고 가정했을 때, 스포츠 데이터 스트림이 수신되면, 데이터 레이트는 이용 가능한 대역폭의 5%로 제한될 것이다. 스포츠 데이터 스트림에 관련된 플러그-인이 이용가능한 대역폭의 5% 이하를 이용하는 전달율이 가능하다는 것을 표시하면, 할당기(512)는 네트워크를 통해 스포츠 데이터 스트림을 전달하도록 상기 대역폭을 할당할 수 있을 것이다. 가능한 가장 느린 전달율이 이용가능한 대역폭의 7%를 필요로 한다는 것을 플러그-인이 표시하게 되면, 할당기(512)는 이러한 요건을 충족시킬 수 없을 것이며 스포츠 데이터 스트림은 네트워크를 통해 전달되지 않을 것이다.
블록(814)에서, 플러그-인 및 할당기(512)는 정책 트리 할당 내에 존재하는 데이터 스트림의 전달율을 교섭하였다. 플러그-인은 수신된 데이터 스트림을 교섭된 데이터 레이트를 가지는 변환된 데이터 스트림으로 변환하기 시작한다. 이를 달성하기 위하여, 플러그-인은 교섭된 레이트를 매칭시키도록 인입 데이터 스트림을 조절하기 위한 계층 드로핑(dropping) 및 트랜스코딩(transcoding)과 같은 동작을 수행해야 할 수도 있다.
블록(816)에서, 변환된 데이터 스트림은 변환된 모든 데이터 스트림이 출력 데이터 스트림을 형성하도록 결합되는 출력 링크(522)에 전송된다. 출력 데이터 스트림은 정책 트리에 따라 이용 가능한 네트워크 대역폭을 이용하도록 변형된 모든 입력 데이터 스트림을 포함한다. 블록(818)에서, 데이터 네트워크를 통해 출력 데이터 스트림이 전송된다.
도 11은 본 발명의 실시예(500)에서 사용되는 다른 방법(900)을 나타낸다. 방법(900)은 데이터 네트워크의 대역폭을 동적으로 재할당하기 위해 할당기(512)에서 현재의 데이터 스트림에 대한 조건들을 변경하는 방법을 설명한다.
블록(902)에서, 플러그-인은 이전에 교섭된 이용가능한 대역폭의 할당 부분을 이용하여 네트워크를 통해 수신된 데이터 스트림을 전달하고 있다. 블록(904)에서, 데이터 스트림에 대한 대역폭 요건에 영향을 주는 데이터 스트림에 대한 변경 사항이 발생한다. 예를 들어, 데이터 스트림을 위해 허용 가능한 최소 전달율이 증가할 수 있다. 데이터 스트림과 관련된 스트림 주석은 상기 변경 사항을 반영한다.
블록(906)에서, 플러그-인은 수신된 데이터 스트림을 위해 이용 가능한 새로운 전달율들을 결정하고 새로운 레이트들을 할당기(512)에 통보한다. 블록(908)에서, 할당기는 스트림이 현재의 레이트에서 전달될 수 있는지 아니면, 새로운 레이트가 교섭되어야 하는지를 결정한다. 새로운 레이트가 요구되면, 플러그-인 및 할당기(512)는 새로운 세트의 이용가능한 레이트들을 고려하여 데이터 스트림에 대한 새로운 레이트를 재교섭한다. 새로운 레이트가 데이터 스트림에 의해 표시되는 클래스를 위한 정책 트리에 의해 정의된 할당을 초과하지 않는한, 데이터 스트림에 대한 새로운 전달율이 교섭될 것이다.
블록(910)에서, 플러그-인은 새롭게 교섭된 레이트로 데이터 스트림을 변환시키기 시작한다. 블록(912)에서, 새롭게 변형된 데이터 스트림은 출력 링크(522)로 전송되며, 블록(914)에서, 변환된 데이터 스트림은 데이터 네트워크를 통해 전송된다. 따라서, 본 발명의 장치(500)를 이용하여, 현재의 데이터 스트림의 전달율 요건을 변경하기 위해 데이터 네트워크의 대역폭을 동적으로 할당할 수 있다.
도 12는 본 발명의 장치(500)에서 사용되는 또 다른 방법(1000)을 나타낸다. 방법(1000)은 할당기(512)가 할당되지 않은 대역폭 조건을 피하기 위해 데이터 네트워크의 대역폭을 동적으로 할당하도록 네트워크 조건을 변경하는 방법을 설명한다. 할당되지 않은 대역폭 조건은 정책 트리의 전체 대역폭 할당이 이용되지 않을 때 존재한다. 예를 들어, 도 7의 정책 트리(600)에 따르면, 커스터머 3을 위한 대역폭 할당은 30%이고, 뉴스(616)를 위한 할당은 20%, 그리고 날씨(618)를 위한 할당은 10%이다. 날씨 데이터 스트림이 존재하지 않으면, 10%의 할당이 사용되지 않을 것이며, 이에 의해 할당되지 않은 대역폭이 생긴다. 이를 방지하기 위해, 할당기(512)는 할당되지 않은 대역폭을 다른 데이터 스트림에 재할당한다. 방법(1000)은 데이터 스트림이 시작하거나 끝날 때, 또는 데이터 스트림이 자신의 대역폭 요건을 변경할 때, 할당기가 이용가능한 대역폭을 동적으로 재할당하는 방법을 설명한다.
블록(1002)에서, 초기 조건이 존재하며, 수신된 데이터 스트림은 정책 트리(600)의 할당에 따라 이용 가능한 네트워크 대역폭을 전부 이용한다. 블록(1004)에서, 데이터 스트림이 종결되며, 예를 들어, 날씨(618) 스트림은 10%의 할당되지 않고 이용가능한 대역폭을 남기고 종결된다. 블록(1006)에서, 할당기(512)는 사용되지 않은 대역폭을 동적으로 재할당하도록 시도한다. 할당기(512)는 초기 교섭 프로세스들의 결과로서 모든 활성 플러그-인에 대한 이용가능한 레이트들을 알고 있다. 할당기(512)는 이용가능한 대역폭을 초과하지 않고 보다 높은 전달율을 사용할 수 있는 플러그-인을 결정하도록 시도한다. 우선, 할당기(512)는 종결된 데이터 스트림에 대한 시블링(sibling)인 데이터 스트림에 할당되지 않은 대역폭을 할당하도록 한다. 이러한 상태에서, 뉴스(616) 데이터 스트림은 시블링 데이터 스트림이다. 만약 할당기가 시블링 데이터 스트림에 모든 할당되지 않은 대역폭을 할당할 수 있다면, 상기 방법은 블럭(1012)으로 진행하며, 그렇지 않은 경우 상기 방법은 블럭(1008)으로 진행한다.
블럭(1008)에서, 할당기(512)가 시블링 클래스에 할당되지 않은 대역폭 모두를 할당하는 것이 불가능했기 때문에, 할당기는 정책 트리(600)에 따라서 페어런트 클래스(PARENT CLASS)에 할당되지 않은 대역폭을 할당하도록 한다. 예컨대, 커스터머 2는 날씨 데이터 스트림에 대한 페어런트 클래스이다.
블럭(1010)에서, 할당기(512)가 할당되지 않은 대역폭을 할당할 시블링 또는 페어런트를 찾는데 실패한다면, 할당되지 않은 대역폭은 사용되지 않은 채로 있을 것이며 네트워크는 충분히 활용되지 않을 것이다.
블럭(1012)에서, 할당기(512)는 할당되지 않은 대역폭을 사용할 수 있는, 시블링 및/또는 페어런트 클래스와 관련된, 하나 이상의 데이터 스트림을 찾는다. 할당기가 모든 데이터 스트림에 대한 이용가능한 전송율을 알고 있기 때문에, 할당기는 그들의 데이터 스트림을 전달하기 위하여 새로운 전송율을 사용하도록 각각의 플러그-인에 명령을 전송한다. 새로운 전달율들은 각 데이터 스트림에 대해 알려진 이용가능한 레이트로부터 선택된다. 데이터 스트림이 보다 높은 전달율을 사용하도록 지시된다면, 정책 트리에 의해 정의된 각 대역폭 할당을 초과할 수 있다. 그러나, 이러한 조건은 할당되지 않은 대역폭을 할당하여 네트워크 활용을 개선하는데 있어서 바람직하다.
블럭(1014)에서, 플러그-인은 새로운 전달율로 데이터 스트림을 변환함으로써, 할당기(512)로부터의 명령에 응답한다. 블럭(1016)에서, 변환된 데이터 스트림은 출력 링크(522)로 전송되며, 블럭(1018)에서 출력링크는 데이터 네트워크를 통해 데이터 스트림을 전송한다. 재할당 프로세스의 결과로서, 데이터 네트워크의 할당되지 않은 대역폭은 제거되거나 감소되어, 보다 효율적으로 네트워크가 작동한다.
하나 이상의 플러그-인에 할당되지 않은 대역폭이 재할당될 수 있고, 게다가 결과적인 대역폭 할당이 정책 트리(600)에 의해 한정된 할당과는 다를 수 있다는 것은 당업자에게 명백할 것이다. 보다 많은 데이터 스트림이 도달하거나 종결됨에 따라, 또는 현재의 데이터 스트림이 그들의 요구를 변경함에 따라서, 대역폭은 다시 재할당될 수 있다. 따라서, 상기 방법(1000)은 변경되는 네트워크 상태가 다른 대역폭 재할당을 정책 트리를 따르도록 트리거함으로써, 대역폭이 효율적으로 활용되도록 유지하는 방법을 나타낸다.
블럭(1020)에서, 할당되지 않은 대역폭이 현재의 데이터 스트림에 할당된 후에, 새로운 인입 데이터 스트림이 장치(500)에 도달한다. 새로운 인입 데이터 스트림은 할당기(512)와 플러그-인 관리자(514)에 의해 수신된 제어정보를 포함한다. 블럭(1022)에서, 플러그-인 관리자(514)는 새로운 데이터 스트림을 조정하도록 플러그-인을 생성한다. 블럭(1024)에서, 플러그-인은 스트림 주석으로부터 이용가능한 전달율을 결정하여, 상기 할당기(512)에 이들 레이트들을 제공한다.
블럭(1026)에서, 할당기는 이전에 할당되지 않았던 몇몇 또는 모든 대역폭을 어떻게 재확보할 것인지를 결정하여, 새로운 데이터 스트림이 정책 트리를 따라서 대역폭에 할당될 수 있다. 예컨대, 정책 트리(600)는 날씨(618) 데이터에 대하여 대역폭의 10%를 규정한다. 새로운 날씨 데이터 스트림이 도달하면, 새로운 날씨 데이터가 정책 트리(600)를 따라 10% 할당될 수 있도록, 이전에 할당되지 않은 대역폭을 재획득하게 될 것이다.
블럭(1028)에서, 할당기(512)는 재할당에 의해 영향을 받는 모든 플러그-인에 대하여 새로운 전달율을 요청한다. 새로운 전달율들은 각 플러그-인에 의해 이전에 결정된 주지의 전달율들로부터 선택된다. 블럭(1030)에서, 영향을 받은 플러그-인은 그들의 각 데이터 스트림을 요청된 전달율로 변환한다. 블럭(1032)에서, 새로운 데이터 스트림을 포함하는 데이터 스트림은 요청된 레이트에서 데이터 네트워크를 통한 출력을 위해 출력 링크(522)에 보내진다. 블럭(1034)에서, 재할당의 결과로서, 복원된 대역폭은 정책 트리에 의해 정의된 바와 같이 새로운 데이터 스트림에 자신의 이용가능한 네트워크 대역폭 부분을 제공한다.
동적인 대역폭 재할당이 네트워크의 효율을 증가시키는데 도움을 주지만, 과도한 재할당은 손해가 될 수 있다. 예컨대, 스트리밍 비디오 플레이어는 관찰에 있어서 몇번의 이차중단을 요구할 수 있는 경우, 층을 스위칭함으로써 증가된 대역폭을 이용할 수 있을 뿐이다. 층을 스위칭하기 위해 관찰 세션을 분열시키는 것을 의미 있게 하기 위해서는, 비디오 플레이어는 층 변화를 위해 할당되지 않은 대역폭이 충분하여야 하며, 또한 할당되지 않은 대역폭이 한동안 이용 가능하다는 명확한 표시를 필요로 한다. 그러므로, 몇 개의 플러그-인에 대한 대역폭 재할당은 모든 플러그-인에 대하여 변화를 트리거해서는 안되며, 대역폭 재할당이 너무 자주 일어나서도 안된다.
도 13은 본 발명의 장치(500)를 이용하기 위한 방법(1100)을 나타낸다. 상기 방법(1100)은 재할당이 너무 빈번하게 행해지지 않도록 대역폭 재할당을 스케쥴링하기 위한 방법을 제공한다. 또한, 상기 방법(1100)은 노이즈 플러그-인이 재할당 프로세스를 중단시키는 것을 방지한다. 노이즈 플러그-인은 반복적으로 전달율 변화를 요청하는 플러그-인이다.
블럭(1102)에서, 네트워크 대역폭의 재할당이 일어난다. 재할당은 할당되지 않은 대역폭 상태를 정정하거나 새로운 데이터 스트림을 수용하는 것과 같은 여러 가지 이유에서 비롯될 수 있다. 블럭(1104)에서, 재할당 타이머는 리셋되어 재할당들 사이에서 시간 간격의 측정을 시작한다. 블럭(1106)에서, 플러그-인 요청 타이머는 리셋되고 플러그-인 요청들 사이에서 시간 간격의 측정을 시작한다. 플러그-인 요청은 데이터 스트림의 시작 또는 종결, 또는 현재의 데이터 스트림의 전달율의 변경에 대한 요청일 수 있다. 블럭(1108)에서, 새로운 플러그-인 요청에 대하여 체크한다. 새로운 플러그-인 요청이 있다면, 할당기(512)는 상기 요청을 처리하고, 상기 방법(1100)은 요청 타이머가 리셋되는 블럭(1106)으로 진행한다.
블럭(1100)에서, 요청 타이머가 타임아웃 되었는지 여부를 결정하는 체크가 수행된다. 상기 타임아웃은 선택된 시간 간격동안 새로운 플러그-인 요청이 수신되지 않은 경우 발생한다. 선택된 시간 간격은 시스템 관리자에 의해 결정된다. 요청 타이머가 타임아웃 되지 않으면 상기 방법(1100)은 블럭(1112)으로 진행한다. 요청 타이머가 타임아웃 되면 상기 방법(1100)은 블럭(1114)으로 진행한다.
블럭(1114)에서, 할당기는 이용가능한 네트워크 대역폭의 재할당을 수행한다. 재할당 후에, 상기 방법(1100)은 할당 타이머가 리셋되는 블럭(1104)으로 진행한다. 블럭(1112)에서, 할당 타이머가 타임아웃 되었는지 여부를 알아내기 위한 체크가 수행된다. 할당 타이머는 할당들 사이의 시간 간격을 나타낸다. 타임아웃 시간 간격은 시스템 관리자에 의해 결정된다. 할당 타이머가 타임아웃 되지 않으면 상기 방법(1100)은 새로운 플러그-인 요청들을 체크함으로써 블럭(1108)을 계속수행한다. 할당 타이머가 타임아웃 되면, 상기 방법은 할당기(512)가 재할당을 수행하는 블럭(1114)로 진행한다. 블럭(1114)의 재할당 후에, 상기 방법(1100)은 재할당 타이머가 리셋되는 블럭(1104)으로 진행한다.
할당기는 데이터 네트워크의 이용가능한 대역폭이 얼마나 자주 재할당되는지를 조정하기 위해 재할당 타이머와 플러그-인 요청 타이머에 대해 선택가능한 시간 간격을 사용한다. 상기 요청 타이머를 이용함으로써, 할당기는 재할당 프로세스를 시작하기 전에 네트워크 데이터 스트림이 안정적인 것을 보장한다. 재할당 타이머를 이용함으로써, 할당기는 데이터 스트림의 상태에 상관없이 재할당을 강제할 수 있으며 그 결과, 노이즈 플러그-인은 플러그-인 요청 타이머의 타임아웃을 방지하는 것에 의해 대역폭 재할당 프로세스를 중단시킬 수 없다.
당업자들에게 명백한 바와 같이, 데이터 네트워크의 대역폭을 할당하기 위한 상술한 장치, 방법에 있어서의 변형은 본 발명의 범위를 일탈하지 않는 한 가능하다. 본 발명의 실시예는 네트워크 대역폭의 효율적인 할당이 필요한 모든 네트워크 환경에 있어서의 이용에 적합하다. 따라서, 본 명세서의 개시 및 상세한 설명 은 제한된 것이 아니라 예시적일 뿐이며, 본 발명의 범위는 이하의 청구범위에 의해 한정된다.

Claims (20)

  1. 다수의 데이터 스트림들에 데이터 네트워크의 대역폭을 할당하는 방법으로서,
    다수의 데이터 클래스들에 대한 상기 대역폭의 할당을 지정하는 단계;
    다수의 데이터 스트림들을 수신하는 단계로서, 각각의 데이터 스트림이 상기 데이터 클래스들 중 하나와 연관된 적어도 하나의 속성을 가지는, 수신 단계;
    각각의 데이터 스트림에 대한 전송율을 교섭(negotiate)하는 단계로서, 상기 전송율은 각각의 데이터 스트림과 연관된 상기 데이터 클래스에 할당된 상기 대역폭에 의해 제한되는, 교섭 단계; 및
    상기 교섭된 전송율로 상기 데이터 네트워크를 통해 상기 데이터 스트림들을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 수신 단계는,
    각각의 상기 데이터 스트림과 연관된 스트림 주석들을 수신하는 단계; 및
    각각의 상기 데이터 스트림을 수신하기 위하여 플러그 인을 활성화하는 단계를 포함하며, 상기 플러그 인의 타입은 상기 스트림 주석들로부터 결정되는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 교섭 단계는,
    각각의 데이터 스트림에 대해 다수의 허용가능한 전송율들을 결정하는 단계; 및
    각각의 데이터 스트림에 대한 전송율을 교섭하는 단계를 포함하며, 상기 전송율은 상기 허용가능한 전송율들 중에서 선택되며 각각의 데이터 스트림과 연관된 상기 데이터 클래스에 할당된 상기 대역폭으로 제한되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 전송 단계는,
    각각의 데이터 스트림을 상기 교섭된 전송율로 변환시키는 단계; 및
    상기 교섭된 전송율들로 상기 데이터 네트워크를 통해 상기 데이터 스트림들을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서, 상기 변환 단계는 상기 데이터 스트림을 상기 교섭된 전송율로 씨닝(thinning), 트랜스코딩(transcoding) 또는 데시메이팅(decimating)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 전송율은 제 1 전송율이고 상기 방법은,
    상기 데이터 네트워크에서 할당되지 않은 대역폭을 결정하는 단계;
    적어도 하나의 데이터 스트림에 대하여 상기 할당되지 않은 대역폭을 사용하는 제 2 전송율을 교섭하는 단계;
    상기 적어도 하나의 데이터 스트림을 상기 교섭된 제 2 전송율로 변환하는 단계; 및
    상기 제 2 전송율로 상기 데이터 네트워크를 통해 상기 적어도 하나의 데이터 스트림을 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 연관된 데이터 클래스를 가진 적어도 하나의 제 2 데이터 스트림을 수신하는 단계;
    상기 적어도 하나의 데이터 스트림에 대하여 제 3 전송율을 교섭하는 단계로서, 상기 제 3 전송율은 상기 적어도 하나의 데이터 스트림과 연관된 상기 데이터 클래스에 할당된 상기 대역폭에 의해 제한되는, 교섭 단계;
    상기 적어도 하나의 제 2 데이터 스트림에 대하여 제 4 전송율을 교섭하는 단계로서, 상기 제 4 전송율은 상기 적어도 하나의 제 2 데이터 스트림과 연관된 상기 데이터 클래스에 할당된 상기 대역폭에 의해 제한되는, 교섭 단계; 및
    상기 데이터 네트워크를 통해 상기 제 3 전송율로 상기 적어도 하나의 데이터 스트림을 전송하고 상기 제 4 전송율로 상기 적어도 하나의 제 2 데이터 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 연관된 데이터 클래스를 가진 데이터 스트림에 데이터 네트워크의 대역폭을 할당하기 위한 장치로서,
    상기 데이터 스트림을 수신하고 상기 데이터 스트림에 대한 다수의 허용가능한 전송율들을 결정하기 위한 로직을 구비한 스트림 프로세서;
    상기 스트림 프로세서에 결합되고 상기 스트림 프로세서를 이용하여 상기 데이터 스트림에 대한 전송율을 교섭(negotiate)하기 위한 로직을 구비한 할당기로서, 상기 전송율은 상기 다수의 허용가능한 전송율들 중에서 선택되며 상기 데이터 스트림과 연관된 상기 데이터 클래스에 할당된 상기 대역폭의 일부분에 의해 제한되는, 할당기; 및
    상기 스트림 프로세서에 결합되며, 상기 데이터 스트림을 수신하고 상기 교섭된 전송율로 상기 데이터 네트워크를 통해 상기 데이터 스트림을 전송하기 위한 로직을 구비한 출력부를 포함하는 것을 특징으로 하는 장치.
  9. 제 8 항에 있어서, 상기 데이터 스트림과 연관된 스트림 주석들을 기반하여 상기 스트림 프로세서를 활성화하기 위한 로직을 구비한 관리부를 더 포함하는 것을 특징으로 하는 장치.
  10. 제 8 항에 있어서, 상기 스트림 프로세서는,
    상기 교섭된 전송율로 상기 데이터 스트림을 변환하기 위한 로직을 구비한 트랜스포머를 더 포함하는 것을 특징으로 하는 장치.
  11. 제 8 항에 있어서, 상기 할당기는,
    다수의 데이터 클래스들에 상기 대역폭을 할당하는 대역폭 할당들(bandwidth allocations)을 더 포함하는 것을 특징으로 하는 장치.
  12. 제 8 항에 있어서, 상기 할당기는 상기 데이터 네트워크를 통해 할당되지 않은 대역폭을 검출하기 위한 로직 및 다수의 허용가능한 전송율들 중에서 선택된 상기 데이터 스트림에 대한 새로운 전송율을 상기 스트림 프로세서를 이용하여 교섭하기 위한 로직을 구비한 검출기를 더 포함하고, 상기 새로운 전송율은 적어도 일부의 상기 할당되지 않은 대역폭을 사용하는 것을 특징으로 하는 장치.
  13. 제 8 항에 있어서, 상기 스트림 프로세서는 상기 데이터 스트림에 대한 변경들을 기반하여 상기 데이터 스트림에 대한 새로운 다수의 허용가능한 전송율들을 결정하기 위한 로직을 더 포함하는 것을 특징으로 하는 장치.
  14. 데이터 스트림에 데이터 네트워크의 대역폭을 할당하기 위하여 데이터 네트워크를 동작시키는 방법으로서,
    상기 데이터 스트림에 스트림 주석들을 다는 단계;
    상기 데이터 네트워크를 통해 상기 데이터 스트림을 전송하는 단계;
    다수의 데이터 클래스들에 상기 데이터 네트워크의 상기 대역폭을 할당하는 정책 트리(policy tree)를 설정하는 단계;
    상기 데이터 스트림을 수신하는 단계;
    상기 데이터 스트림에 대한 다수의 허용가능한 전송율들을 결정하는 단계;
    상기 데이터 스트림에 대한 전송율을 교섭(negotiate)하는 단계로서, 상기 전송율은 상기 허용가능한 전송율들 중에서 선택되며 상기 데이터 스트림의 상기 스트림 주석들과 연관된 상기 데이터 클래스에 대한 상기 정책 트리에 의해 지정된 상기 대역폭에 의해 제한되는, 교섭 단계;
    상기 교섭된 전송율로 상기 데이터 스트림을 변환하는 단계; 및
    상기 교섭된 전송율로 상기 데이터 네트워크를 통해 상기 데이터 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서, 상기 전송율 결정 단계는,
    상기 데이터 스트림의 상기 스트림 주석들을 수신하는 단계; 및
    상기 데이터 스트림을 수신하고 상기 데이터 스트림에 대한 상기 다수의 허용가능한 전송율들을 결정하기 위하여 상기 스트림 주석들을 기반하여 스트림 프로세서를 활성화하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제 14 항에 있어서, 상기 전송율은 제 1 전송율이고 상기 방법은,
    상기 데이터 네트워크에서 할당되지 않은 대역폭을 결정하는 단계;
    상기 데이터 스트림에 대한 제 2 전송율을 교섭하는 단계로서, 상기 제 2 전송율은 상기 다수의 허용가능한 전송율들 중에서 선택되며 적어도 일부의 상기 할당되지 않은 대역폭을 사용하는, 교섭 단계;
    상기 교섭된 제 2 전송율로 상기 데이터 스트림을 변환하는 단계; 및
    상기 교섭된 제 2 전송율로 상기 데이터 네트워크를 통해 상기 데이터 스트림을 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서, 상기 데이터 스트림은 제 1 데이터 스트림이고, 상기 스트림 주석들은 제 1 스트림 주석들이고 상기 데이터 클래스는 제 1 데이터 클래스이며, 상기 방법은,
    제 2 데이터 스트림에 제 2 스트림 주석들을 다는 단계;
    상기 제 2 데이터 스트림에 대한 다수의 허용가능한 전송율들을 결정하는 단계;
    상기 제 1 데이터 스트림에 대한 제 1 전송율을 교섭하는 단계로서, 상기 제 1 전송율은 상기 제 1 데이터 스트림에 대한 상기 허용가능한 전송율들 중에서 선택되며 상기 제 1 데이터 스트림과 연관된 상기 데이터 클래스에 대한 상기 정책 트리에 의해 지정된 상기 대역폭에 의해 제한되는, 제 1 교섭 단계;
    상기 제 2 데이터 스트림에 대한 제 2 전송율을 교섭하는 단계로서, 상기 제 2 전송율은 상기 제 2 데이터 스트림에 대한 상기 허용가능한 전송율들 중에서 선택되며 상기 제 2 데이터 스트림과 연관된 상기 데이터 클래스에 대한 상기 정책 트리에 의해 지정된 상기 대역폭에 의해 제한되는, 제 2 교섭 단계;
    상기 교섭된 제 1 전송율로 상기 제 1 데이터 스트림을 변환하고 상기 교섭된 제 2 전송율로 상기 제 2 데이터 스트림을 변환하는 단계; 및
    상기 교섭된 전송율들로 상기 데이터 네트워크를 통해 상기 제 1 데이터 스트림 및 상기 제 2 데이터 스트림을 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 데이터 스트림을 전송하기 위한 데이터 네트워크로서,
    상기 데이터 스트림에 데이터 클래스를 정의하는 스트림 주석들을 달기 위한 로직 및 상기 데이터 네트워크를 통해 상기 데이터 스트림 및 상기 스트림 주석들을 전송하기 위한 로직을 구비한 제 1 노드;
    상기 제 1 노드에 결합되고 상기 데이터 스트림 및 상기 스트림 주석들을 수신하기 위한 로직을 구비한 제 2 노드;
    상기 데이터 스트림을 수신하고 다수의 허용가능한 전송율들을 결정하기 위한 로직을 구비하며 상기 제 2 노드에 결합된 스트림 프로세서;
    스트림 프로세서에 결합된 할당기로서, 상기 할당기는 상기 데이터 네트워크의 대역폭을 다수의 데이터 클래스들에 할당하는 정책 트리(policy tree)를 포함하며, 상기 할당기는 상기 데이터 스트림에 대한 전송율을 교섭(negotiate)하기 위한 로직을 추가로 포함하며, 상기 전송율은 상기 다수의 허용가능한 전송율들 중에서 선택되고 상기 스트림 주석들에 의해 정의된 상기 데이터 클래스에 대하여 상기 정책 트리에 의해 할당된 상기 대역폭에 의해 제한되는, 할당기;
    상기 스트림 프로세서에 결합되고 상기 교섭된 전송율로 상기 데이터 네트워크를 통해 상기 데이터 스트림을 전송하기 위한 로직을 구비한 출력부; 및
    상기 제 2 노드에 결합하고 상기 출력부에 의해 전송된 상기 데이터 스트림을 수신하기 위한 로직을 구비한 제 3 노드를 포함하는 것을 특징으로 하는 데이터 네트워크.
  19. 제 18 항에 있어서, 상기 스트림 프로세서는,
    상기 교섭된 전송율로 상기 데이터 스트림을 변환하기 위한 로직을 더 포함하는 것을 특징으로 하는 데이터 네트워크.
  20. 제 18 항에 있어서, 상기 할당기는,
    상기 데이터 네트워크의 할당되지 않은 대역폭을 검출하기 위한 로직을 구비한 검출기를 더 포함하고, 검출된 할당되지 않은 대역폭에서, 상기 검출기는 상기 데이터 스트림에 대한 새로운 전송율에 대한 교섭을 활성화하기 위한 로직을 구비하며, 상기 새로운 전송율은 상기 할당되지 않은 대역폭 중에서 적어도 일부를 사용하는 상기 다수의 허용가능한 전송율들 중에서 선택된 전송율인 것을 특징으로 하는 데이터 네트워크.
KR1020017015489A 1999-06-01 2000-06-01 대역폭 할당 방법 및 장치 KR100699019B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US13715399P 1999-06-01 1999-06-01
US13716099P 1999-06-01 1999-06-01
US60/137,153 1999-06-01
US60/137,160 1999-06-01
US09/384,865 US6735633B1 (en) 1999-06-01 1999-08-27 System for bandwidth allocation in a computer network
US09/384,865 1999-08-27

Publications (2)

Publication Number Publication Date
KR20020020902A KR20020020902A (ko) 2002-03-16
KR100699019B1 true KR100699019B1 (ko) 2007-03-23

Family

ID=27384965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017015489A KR100699019B1 (ko) 1999-06-01 2000-06-01 대역폭 할당 방법 및 장치

Country Status (6)

Country Link
EP (1) EP1183834B1 (ko)
JP (1) JP4922520B2 (ko)
KR (1) KR100699019B1 (ko)
AU (1) AU5596000A (ko)
DE (1) DE60028967T2 (ko)
WO (1) WO2000074322A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882623B1 (en) 2000-02-08 2005-04-19 Native Networks Technologies Ltd. Multi-level scheduling method for multiplexing packets in a communications network
WO2002091708A1 (en) * 2001-05-08 2002-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for controlling the transmission of media streams
US20030093530A1 (en) * 2001-10-26 2003-05-15 Majid Syed Arbitrator system and method for national and local content distribution
US7721337B2 (en) 2001-10-26 2010-05-18 Ibiquity Digital Corporation System and method for providing a push of background data
US20030200317A1 (en) * 2002-04-19 2003-10-23 Native Networks Technologies Ltd Method and system for dynamically allocating bandwidth to a plurality of network elements
KR100453324B1 (ko) * 2002-11-18 2004-10-20 한국전자통신연구원 인터넷 서비스품질 보장을 위한 라우팅 장치 및 그 방법
US7356648B2 (en) * 2003-10-02 2008-04-08 International Business Machines Corporation Shared buffer having hardware controlled buffer regions
US8213301B2 (en) 2003-11-07 2012-07-03 Sharp Laboratories Of America, Inc. Systems and methods for network channel characteristic measurement and network management
JP4401390B2 (ja) 2003-11-07 2010-01-20 シャープ株式会社 ネットワークコーディネートのための方法およびシステム
EP1692591A4 (en) * 2003-11-07 2009-12-23 Sharp Kk SYSTEMS AND METHOD FOR DYNAMIC NETWORK CHANNEL MODIFICATION
US7912457B2 (en) 2004-04-21 2011-03-22 Qualcomm Incorporated Methods and apparatus for creation and transport of multimedia content flows
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
EP2378737A1 (en) * 2004-12-09 2011-10-19 Qualcomm Incorporated Methods and apparatus for creation and transport of multimedia content flows to a distribution network
JP2006178741A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd 電子装置、コンテンツダウンロード方法、プログラム及び記憶媒体
US20080040757A1 (en) * 2006-07-31 2008-02-14 David Romano Video content streaming through a wireless access point
KR20130047862A (ko) 2011-11-01 2013-05-09 삼성전자주식회사 이동 통신 시스템에서 사용자 장치 별로 사용 가능한 대역폭을 추정하는 방법 및 장치
CN105516994B (zh) * 2014-09-25 2018-12-25 华为技术有限公司 一种带宽分配方法和设备
CN116868554A (zh) * 2021-05-26 2023-10-10 华为技术有限公司 一种控制数据流传输的方法及通信装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2513025B2 (ja) * 1989-03-23 1996-07-03 日本電気株式会社 パケット通信網における帯域割当て方式
JPH0358646A (ja) * 1989-07-27 1991-03-13 Nec Corp パケット通信網における帯域割当て方式
US5835495A (en) * 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
US6028842A (en) * 1996-12-23 2000-02-22 Nortel Networks Corporation Dynamic traffic conditioning
JP3466039B2 (ja) * 1997-02-26 2003-11-10 株式会社東芝 通信装置および通信方法

Also Published As

Publication number Publication date
KR20020020902A (ko) 2002-03-16
EP1183834B1 (en) 2006-06-21
DE60028967T2 (de) 2007-02-15
JP4922520B2 (ja) 2012-04-25
AU5596000A (en) 2000-12-18
WO2000074322A1 (en) 2000-12-07
JP2003501886A (ja) 2003-01-14
EP1183834A1 (en) 2002-03-06
DE60028967D1 (de) 2006-08-03

Similar Documents

Publication Publication Date Title
US6735633B1 (en) System for bandwidth allocation in a computer network
KR100699019B1 (ko) 대역폭 할당 방법 및 장치
US8031655B2 (en) Systems and methods for determining granularity level of information about buffer status
US6820150B1 (en) Method and apparatus for providing quality-of-service delivery facilities over a bus
US8018963B2 (en) Systems for flexible wireless channel association
JP4410408B2 (ja) ネットワーク機器のサービス品質管理方法及び装置
JP2592213B2 (ja) データ処理システム及び情報伝送方法
US6745246B1 (en) Apparatus and method in a network switch for modifying a bandwidth request between a requestor and a router
US7333495B2 (en) Method for scheduling upstream communications
US6917591B2 (en) Methods, systems and computer program products for bandwidth allocation in a multiple access system
EP1266526A2 (en) Method, system and computer program product for scheduling upstream communications
US9043468B2 (en) Method and arrangement for network resource management
US8484349B2 (en) Dynamic DSL line bandwidth management with the subscriber's consent
JP2004356855A (ja) 無線ネットワークシステム
WO2010109952A1 (ja) 資源割り当て要求装置、資源割り当て装置、資源割り当て要求方法および資源割り当て方法
CN109640357B (zh) 适用于电力物联环境的基于优先级的无线传感器网络最优资源预留方法
JP3438857B2 (ja) ネットワークの通信品質制御システム及びトラフィック管理装置
Chou et al. System support for dynamic QOS control of continuous media communication
KR101566397B1 (ko) 대역폭 관리 장치, 중앙 관리 장치, 및 대역폭 관리 방법
JP2002247063A (ja) パケット多重化方式
KR20030070350A (ko) 홈 네트워크에서 패킷을 제어하는 방법 및 장치
Hou et al. Communication middleware and software for QoS control in distributed real-time environments
KR20070009548A (ko) 디지털 네트워크들에서 용량 병목의 처리
US20020122388A1 (en) Dynamically reconfigurable intelligent content-based network
Asgarkhani et al. Simulation studies of mixed traffic on satellite channels using TDMA-reservation protocol

Legal Events

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

Payment date: 20130219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150306

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160308

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170314

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 12