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

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

Info

Publication number
KR20020020902A
KR20020020902A KR1020017015489A KR20017015489A KR20020020902A KR 20020020902 A KR20020020902 A KR 20020020902A KR 1020017015489 A KR1020017015489 A KR 1020017015489A KR 20017015489 A KR20017015489 A KR 20017015489A KR 20020020902 A KR20020020902 A KR 20020020902A
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
KR100699019B1 (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

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)가 부족하다는 점이다.
이와 유사하게, 다수의 시간 중요 유니캐스트(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)는 실시간 비디오가 일부에 손상이 수반된 정지, 점프 또는 건너뜀이 있는 것으로 인식한다. 그 결과, 클라이언트(118)는 이러한 품질 감소된 비디오 스트림을 수신하는 것을 원치 않을 것이다.
본 발명은 일반적으로 네트워크의 동작에 관한 것이며, 보다 상세하게는 데이터 네트워크 대역폭의 복수의 데이터 스트림에 대한 할당에 관한 것이다.
도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)을 나타낸다.
본 발명은 데이터 네트워크에 데이터 스트림에 대역폭을 분류, 모니터링, 제어 및 관리 및 할당하기 위한 시스템을 제공한다. 본 발명은 유니캐스트 네트워크, 방송 네트워크(이에 한정되는 것은 아님) 또는 효율적 네트워크 대역폭 사용이 요구되는 다른 네트워크 환경을 포함하는 어떠한 네트워크 환경에 이용될 수 있다.
일 실시예에서, 다수의 데이터 스트림에 데이터 네트워크의 대역폭을 할당하는 방법이 제공된다. 상기 방법은 다수의 데이터 클래스(class)에 대역폭의 할당(apportionment)을 구체화하는 단계; 다수의 데이터 스트림을 수신하는 단계로서, 각 데이터 스트림이 데이터 클래스를 갖는 데이터 스트림과 관련된 적어도 하나의 성분을 갖는 단계; 각 데이터 스트림에 대한 전송율을 결정하는 단계로서, 상기 전송율이 각 데이터 스트림과 관련된 데이터 클래스에 할당된 대역폭으로 한정되는 단계; 및 결정된 전송율로 데이터 네트워크 상에 데이터 스트림을 전송하는 단계를 포함한다.
또 다른 실시예에서, 데이터 스트림이 스트림 주석(annotation)을 갖는 데이터 스트림에 데이터 네트워크의 대역폭을 할당하기 위한 본 발명의 장치가 제공된다. 상기 장치는 데이터 스트림을 수신하고 다수의 전송율을 결정하는 로직을 갖는 플러그 인(plug-in)을 포함한다. 플러그 인은 또한 데이터 스트림을 다수의 전송율중 하나로부터 선택된 전송율을 갖는 변환된 스트림으로 데이터 스트림을 변환시키는 로직을 갖고 있다. 할당기(allocator)는 플러그-인에 결합되고 데이터 스트림을 수신하는 로직을 포함한다. 할당기는 다수의 데이터 클래스에 대한 대역폭의 할당을 구체화하는 정책 트리(policy tree)를 갖는다. 할당기는 또한 스트림 주석에 근거하여 데이터 스트림을 데이터 클래스와 관련시키고 다수의 전송율로부터 전송율을 선택하는 플러그 인과 타협하는 로직을 가지며, 여기서 전송율은 정책 트리에 의해 데이터 클래스에 할당된 대역폭으로 한정된다. 출력 링크는 플러그 인에 접속되고 상기 전송율로 데이터 네트워크 상에 변환된 스트림을 전송하는 로직을 갖는다.
또다른 실시예에서, 데이터 스트림에 데이터 네트워크의 대역폭을 할당시키는 데이터 네트워크 동작 방법이 제공된다. 상기 방법은, 데이터 클래스를 대표하는 스트림 주석을 갖는 데이터 스트림에 주석을 다는 단계; 데이터 네트워크의 대역폭의 다수의 데이터 클래스에 대한 할당을 구체화하는 정책 트리를 설정하는 단계; 스트림 주석에 기초하여 데이터 스트림의 데이터 클래스를 결정하고 데이터 클래스를 위해 정책 트리에 의해 구체화된 대역폭으로 한정되는 데이터 스트림에 대한 전송율을 결정하는 단계; 상기 전송율을 갖는 변환된 스트림으로 데이터 스트림을 변환하는 단계; 및 상기 전송율로 데이터 네트워크 사에서 변환된 스트림을 전송하는 단계를 포함한다.
본 발명은 데이터 네트워크의 미디어 스트림에 대역폭을 분류, 모니터링, 제어, 및 관리 및 할당하기 위한 시스템을 제공한다. 미디어 스트림에 대한 전송율은 고정되나 관리에 따라 변형될 수 있는 정책에 따라 선택되어, 데이터 네트워크의 이용가능한 대역폭이 효과적으로 이용될 수 있다.
도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), ALC 다음 부품, 서브 시스템 및 장치와 같은 표준 컴퓨터 부품(미도시)을 수용한다. 버튼(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) 속으로 대역폭 할당 파라미터를 입력하기 위해 제어 입력(452)을 사용하는 것으로 가정한다. 할당 파라미터는 선택된 "데이터 클래스"에서 유용한 출력 대역폭의 할당을 한정한다. 데이터 클래스는 데이터 스트림의 1개 이상의 "타입"을 한정한다. 예를 들어, 라이브 비디오 데이터 스트림은 데이터 스트림의 일종의 타입이고 데이터 파일을 포함하는 데이터 스트림은 데이터 스트림의 또다른 타입이다. 데이터 스트림은 또한 서브-타입을 포함할 수 있다. 예를 들어, 뉴스 브로드캐스터 및 기상 브로드캐스터는 라이브 비디오 데이터 스트림의 서브-타입이다. 따라서, 데이터 클래스는 데이터 스트림 타입의 임의의 조합 및/또는 서브-타입을 지정할 수 있다. 장치(450)는 데이터 스트림의 타입을 먼저 결정하고, 데이터 스트림과 관련된 제어 정보로부터 클래스를 결정한다. 또한 데이터 스트림의 전달(forwarding)을 위해 유용한 전송율이 결정된다. 다음 장치는 데이터 스트림의 특정 클래스에 대해 대역폭 할당에 따라 데이터 스트림에 대한 유용한 전송율 중 하나를 선택한다. 예를 들어, 입력(1)이 클래스 "비디오"의 데이터 스트림을 보유하는 경우, 입력(2)은 클래스 "오디오"의 데이터 스트림을 보유하면서, 데이터 스트림 각각에 대한 전송율은 할당 파라미터 상에 기초하여 선택된다. 결과적으로, 입력(1)에 대한 전송율은 클래스 "비디오"에 대한 대역폭 할당에 따라 선택되고 입력(2)에 대한 전송율은 클래스 "오디오"에 대한 대역폭 할당에 따라 선택된다. 따라서, 할당 파라미터는 들어오는 데이터 스트림의 타입을 지정하기 위해 유용한 출력 대역폭을 할당하는데 사용될 수 있다. 도시된 것처럼, 다수의 대역폭 할당 방법 및 동적 재-할당 방법이 본 발명의 범위를 이탈하지 않고 가능하다.
동작의 방법에서, 장치(450)는 모든 입력 스트림중에서 하나의 출력 대역폭을 할당하여, 모든 입력 스트림이 네트워크 상에 전달된다. 예를 들어, 출력(454)에서 출력 캐패시티 한계가 40nm이고 4개의 입력 데이터 스트림이 도 5에 도시된 전송율을 갖는다고 가정하면, 할당 배치시에, 전송율은 입력(1)이 20nm이고, 입력(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)는 주제(subject matter) 내용의 변형을 나타내는 데이터를 포함하는 다수의 입력 데이터 스트림을 허용한다. 예를 들어, 입력 데이터 스트림은 영화 또는 텔레비젼 브로드캐스트와 같은 비디오 데이터 또는 뉴스 리포트 또는 일기 예보와 같은 실시간 정보를 포함할 수 있다. 또한 데이터 스트림은 프로그램 및/또는 데이터 파일과 같은 전형적인 컴퓨터 데이터를 포함할 수 있다. 제 1 입력 데이터 스트림(502)과 제 2 입력 데이트 스트림(504)은 장치(500)로 입력된다. 제 1 입력 데이터 스트림(502)은 단지 하나의 데이터 스트림, 예를 들어, 비디오 브로드캐스트를 나타내는 데이터 스트림을 포함한다. 제 2 입력 데이터 스트림(504)은 N개의 상이한 데이터 스트림을 포함하는 다중 데이터 스트림을 포함한다. 데이터 스트림은 데이터 스트림의 상이한 파라미터를 기술하는 제어 정보(506)를 포함한다. 예를 들어, 제어 정보는 데이터 스트림의 출처(origin) 또는 목적지에 관한 정보를 포함할 수 있다. 또한 제어 정보는 데이터 스트림의 내용에 대한 정보를 포함할 수 있다. 예를 들어, 저자의 이름, 브로드캐스트의 타입또는 브로드캐스트의 존속 기간의 정보를 포함할 수 있다. 제어 정보(506)는 데이터 스트림의 일부를 형성하거나, 또는 제어 정보는 1개 이상의 입력 상에 또는 개별 제어 채널을 경유하여 대역폭 할당 장치(500)에 도달하는 개별 제어 데이터 스트림으로 전송될 수 있다.
할당 파라미터는 시스템 관리자 또는 다른 관리 소스로부터 장치(55)에 제공되는 대역폭 정책(508)를 나타낸다. 대역폭 정책은 장치(500)의 출력(510)에서 유용한 데이터 네트워크의 대역폭을 할당하는데 사용된다. 대역폭 정책의 목적은 입력 클래스중에서 유용한 출력 대역폭의 원하는 할당을 달성하는 것이다. 예를 들어, 요구시에 이 스트림의 전송이 높은 특성의 비디오 이미지를 나타낼 수 있도록, 비디오 데이타를 나타내는 제 1 데이타 스트림(502)에 보다 높은 대역폭을 인가하는 것이 바람직하다. 입력 데이타 스트림의 다른 종류가 도착하거나 끝나거나 또는 존재하는 종류의 데이타 스트림 요구가 변화될 때, 대역폭 할당이 자동적으로 변화될 수 있도록, 대역폭 정책(508)는 이용가능한 입력 대역폭의 동적 할당을 허용한다. 대역폭 정책(508)를 사용할 때, 디바이스(500)는 요구되는 사용가능한 출력 대역폭을 재할당하도록 다양하게 변화되는 네트워크 조건에 대응될 수 있다.
입력되는 데이타 스트림을 프로세서하기 위해서, 할당기(512)는 입력되는 데이타 스트림과 관련된 제어 정보를 받는다. 할당기는 또한 시스템 관리자로부터 대역폭 정책(508)를 받는다. 이와 달리, 할당기는 내부 또는 외부의 공지된 시스템을 작동시키는 자동화된 관리 시스템으로부터 대역폭 정책을 받을 것이다. 대역폭 정책(508)는 바람직한 대역폭을 제공하도록 설계되는 데, 예를 들어 계층 구조를 가지는 정책 트리 구조로 표현될 수 있다. 대표적인 정책 트리 구조는 상세히는 도 7에 도시되어 있다. 트리 구조에 한정되지 않는 대역폭 정책은 대역폭이 임의의 데이타 스트림 특성, 데이타 스트림 타입 또는 데이타 스트림 종류에 관련되는 어떤 구조를 가질 것이다. 정책 트리는 현재 받고 있는 데이타 스트림의 타입에 기초한 데이타 네트워크의 대역폭을 할당하기 위해서 할당기(512)에 의해서 사용되는 정적 정책을 규정한다.
플러그-인 매니저(514)는 또한 제어 정보(506)를 받는다. 플러그-인 매니저(514)는 받은 제어 정보를 분석하고 들어오는 데이타 스트림을 프로세서하도록 플러그-인을 활성화한다. 플러그-인은 미디어 디바이스에서 작동되고, 들어오는 데이타 스트림에 따라 다양한 프로세서를 수행하는 능력을 가지는 소프트웨어 및/또는 하드웨어를 나타낸다. 각 플러그-인은 제조되는 데, 특정 타입의 테이타 스트림의 데이타를 받을 수 있도록 특정하게 설계된다. 예를 들어, 플러그-인은 계층화된 비디오 데이타를 조정할 수 있도록 제조되거나 또는 플러그-인은 비 실시간 컴퓨터 데이타를 조정할 수 있도록 제조될 것이다. 도 6A의 실시예에서, 제 1 플러그-인(516) 및 제 2플러그-인(518) 및 N차 플러그-인(520)은 플러그-인 매니저(514)에 의해서 특정 타입의 들어오는 데이타 스트림을 받아들이고 프로세서할 수 있도록 활성화된다.
데이타 스트림의 타입 및/또는 데이타 스트림의 특성에 의존하여, 플러그-인은 네트워크로 데이타 스트림을 전송시키는 데 사용될 수 있는 하나 이상의 전송율을 결정할 수 있을 것이다. 일단 사용가능한 전송율이 결정되면, 플러그-인은네트워크에 각각의 데이타 스트림을 전송하는 데 사용되는 전송율을 결정하기 위해서 할당기(512)와 결정한다. 이 결정 단계 동안에, 플러그-인은 데이타 스트림으로 가능한 전송율을 할당기에 제공한다. 할당기(512)는 어떤 전송율이 사용되어야 하는 지를 플러그-인에 전송함으로써 응답한다. 할당기(512)는 결정된 각 데이타 스트림의 전송율을 선택하기 위해서 대역폭 정책과 연관된 각 스트림과 관련되어 있는 제어 정보를 사용한다. 결정되는 전송율은 플러그-인에 의해서 결정된 사용가능한 전송율로부터 선택된다. 시스템 관리자에 의해서 제공된 대역폭 정책에 따라, 할당기는 데이타 스트림의 각 타입에 대해 바람직한 전송율에 대해서 결정함으로써 이용가능한 네트워크 대역폭의 효율 및 유용성을 최대화할 수 있고, 출력에서 이용가능한 한계 용량에 따른 것이다.
전송율 결정이 끝나면, 플러그-인 변환기(526, 528, 530)를 통해 들어오는 스트림의 데이타를 결정된 전송율로 변환시키고, 이에 따라 도시된 바와 같이 변환된 스트림(532, 534, 536)을 형성한다. 이것을 이루기 위해서, 플러그-인은 결정된 전송율을 가지는 변환된 데이타 스트림으로 입력 데이타 스트림을 변환시키기 위해서 변환 프로세서를 사용한다. 일 실시예에서, 변환 프로세서는 변환된 데이타 스트림을 형성하기 위해서 멀티-비트전송율 신호를 포함하는 층의 하부셋을 간단히 선택할 것이다. 다른 실시예서는 변환 프로세서는 신호를 디코딩하고 이것을 다른 압축 파라미터로 다시 인코딩하여 수신기에서 보다 낮은 신호 특성의 가격으로 비트 전송율을 감소시킨다. 변환된 데이터 스트림은 출력 링크(522)에 결합되며 상기 스트림은 출력 데이터 스트림(510)을 형성하도록 조합된다. 출력 데이타스트림(510)은 결정된 전송율의 입력 데이타 스트림을 포함한다. 변환된 데이타 스트림은 플러그-인에서 나온 데이타 팻킷 스트림을 포함한다. 출력 링크(522)는 플러그-인으로부터 데이타 팻킷을 받는 로직을 가지고, 또한 데이타 팻킷을 출력 데이타 스트림(510)과 혼합하는 로직을 가진다. 출력 데이터 스트림(510)은 네트워크에서 엔드 유저 또는 다른 라우팅 디바이스로 전달된다. 네트워크에서의 다른 라우팅 디바이스는 대역폭 할당 디바이스와 동일할 것이고, 동일하거나 다른 대역폭 정책 셋이 적용된다. 따라서, 대역폭 할당 디바이스에서 결정되는 제 1 전송율을 가지는 데이타 스트림이 네트워크 내의 다른 대역폭 할당 디바이스에서 결정되는 다른 전송율을 가질 것이다.
도 6B는 대역폭 할당 디바이스(500)의 다른 실시예를 도시한다. 도 6B의 실시예에서, 각 플러그-인은 도시된 바와 같이 출력 큐(550, 552, 및 554)를 가진다. 출력 링크(522)는 팻킷 스케줄러(556)로 대체된다. 스케줄러(556)는 데이타 팻킷을 플러그-인에서 뽑아내어 출력 큐를 폴링하는 데, 이에 따라 출력 스트림(510)을 형성한다. 대역폭 할당 디바이스(500)가 데이타 링크(522)를 사용하든지 또는 팻킷 스케줄러(556)를 사용하든지에 관계없이, 출력 데이타 스트림(510)은 정책 트리의 대역폭 정책에 의해서 결정되는 대역폭 할당으로부터 유도되는 전송율을 가지는 입력 데이타 스트림을 포함한다.
도 7은 본 발명에서 사용되는 대표적인 정책 트리(600)를 도시한다. 정책 트리는 대역폭 할당 디바이스에 유용한 대역폭이 다른 종류의 데이타 스트림 중에서 어떻게 할당되는 지를 나타낸다. 트리 구조는 할당에 있어서의 계층의 특성을알아내는 데 사용되지만, 구조의 타입이나 관련된 조직은 대역폭 할당을 나타내는 데 사용된다. 대역폭 할당 디바이스에 유용한 전체 대역폭은 루트(602)에 도시된다. 각 디바이스용으로 루트에 할당된 전체 대역폭은 네트워크 관리에 따른 결정이나 용량 한계에 기초하여 서로 다를 것이다. 루트(602)에서 유용한 대역폭은 각 노드에 설정된 각 웨이트에 따라서 제 1 생성 노드(루트에 연결된 노드) 사이에서 할당된다. 예를 들어, 클라이언트 2(606)는 루트 대역폭의 35%가 할당된다. 제 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)를 받아들임으로써, 최종 사용자는 들어오는 데이타 스트림을 확인할 수 있다. 이름 TAG(704) 및 값(706)으로 표시된 다른 두 카테고리는 데이타 스트림의 각각을 주석하는 쌍을 형성한다. 예를 들어, 이름 TAG "미디어 타입"(708)은 데이타 스트림(502)에서 "넷쇼"(710)의 값을 가진다. 이름 TAG "미디어 타입"(708)은 데이타 스트림(504)에서 "G2"(712)의 값을 가진다. 데이타 네트워크 상의 모든 수신자가 데이데 스트림의 정확한 내용을 확인하도록, 데이타 스트림의 전송자는 데이타 스트림을 주석한다. 데이타 스트림 주석의 일부는 데이타 스트림이 식별되는 데 요구된다. 다른 주석은 일반적인 주석이며, 최종 사용자에 의해서 데이타 스트림에 관한 추가적인 정보를 제공하기 위해서 사용된다. 정책 트리 및 데이타 스트림을 사용함으로써, 데이타 제어 구조는 할당기(512)가 데이타 네트워크에서 사용가능한 대역폭의 효과적으로 이용되는 다양한 대역폭 할당방법을 수행하도록 형성된다.
도 9는 스트림 주석이 대역폭 할당을 한정하는데 사용되는 정책 트리의 일부를 나타낸다. 노드(750)에서, 이용 가능한 루트 대역폭의 30%는 넷쇼의 미디어 타입 및 속도 G를 포함하는 데이터 스트림에 할당된다. 노드(752)에서, 이용 가능한 루트 대역폭의 30%는 G2의 미디어 타입 및 CBS 스포츠의 어서(author)를 포함하는 데이터 스트림에 할당된다. 모든 방식의 대역폭 할당은 데이터의 선택된 타입, 또는 클래스에 대역폭을 할당하기 위해 스트림 주석을 사용하는 제어 구조를 한정함으로써 이루어질 수 있다.
다시 도 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)은 할당기가 할당되지 않은 대역폭 조건을 피하기 위해 데이터 네트워크의 대역폭을 다이너믹하게 할당하도록 네트워크 조건을 바꾸는 방식을 채택하는 방법을 설명한다. 할당되지 않은 대역폭 조건은 정책 트리의 전체 대역폭 할당이 이용되지 않을 때 존재한다. 예를 들어, 도 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. 다수의 데이타 스트림에 데이타 네트워크 대역폭을 할당하는 방법으로서,
    상기 다수의 데이타 클래스에 대역폭 할당을 지정하는 단계;
    다수의 데이타 스트림을 수신하는 단계를 포함하는데, 각각의 데이타 스트림은 데이타 클래 중 하나를 데이타 스트림에 할당하는 적어도 하나의 속성을 가지며;
    각각의 데이타 스트림에 대한 전송율을 결정하는 단계를 포함하는데, 상기 전송율은 각각의 데이타 스트림과 연관된 데이타 클래스에 할당된 대역폭에 의해 제한되고; 및
    결정된 전송율로 데이타 네트워크상에 데이타 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 수신 단계는,
    각각의 데이타 스트림과 연관된 스트림 주석을 수신하는 단계; 및
    각각의 데이타 스트림을 수신하기 위하여 플러그 인을 활성화하는 단계를 포함하고, 상기 플러그 인의 형태는 스트림 주석으로부터 결정되는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 전송율 결정 단계는,
    각각의 데이타 스트림에 대해 다수의 허용가능한 전송율을 결정하는 단계; 및
    각각의 데이타 스트림에 대한 전송율을 결정하는 단계를 포함하고, 상기 전송율은 허용 가능한 전송율 중에서 선택된 하나이고 각각의 데이타 스트림과 연관된 데이타 클래스에 할당된 대역폭으로 제한되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 전송 단계는,
    각각의 데이타 스트림을 결정된 전송율로 변환시키는 단계; 및
    상기 결정된 전송율로 데이타 네트워크상에 데이타 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서, 상기 변환 단계는 상기 데이타 스트림을 결정된 전송율로 씨닝, 트랜스코딩 또는 디시메이팅하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 전송율은 제 1 전송율이고 상기 방법은,
    데이타 네트워크상 미할당된 대역폭을 결정하는 단계;
    적어도 하나의 데이타 스트림에 대하여 제 2 전송율을 결정하는 단계를 포함하는데, 상기 제 2 전송율은 할당되지 않은 대역폭을 사용하고;
    적어도 하나의 데이타 스트림을 상기 결정된 제 2 전송율로 변환하는 단계;및
    제 2 전송율로 데이타 네트워크상에 적어도 하나의 데이타 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 할당된 데이타 클래스를 가진 적어도 하나의 제 2 데이타 스트림을 수신하는 단계;
    상기 적어도 하나의 데이타 스트림에 대하여 제 3 전송율을 결정하는 단계를 포함하는데, 상기 제 3 전송율은 적어도 하나의 데이타 스트림과 연관된 데이타 클래스에 할당된 대역폭으로 인해 제한되고;
    제 2 데이타 스트림에 대해 제 4 전송율을 결정하는 단계를 포함하는데, 상기 제 4 전송율은 제 2 데이타 스트림과 연관된 데이타 클래스에 할당된 대역폭에 의해 제한되고; 및
    제 3 전송율로 적어도 제 1 데이타 스트림을 전송하고 제 4 전송율로 적어도 제 2 데이타 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 관련된 데이타 클래스를 가진 데이타 스트림에 데이타 네트워크의 대역폭을 할당하기 위한 장치로서,
    데이타 스트림을 수신하고 상기 데이타 스트림에 대한 다수의 허용가능한 전송율을 결정하기 위하여 로직을 가진 스트림 프로세서;
    상기 스트림 프로세서에 결합되고 상기 스트림 프로세서로 데이타 스트림에대한 전송율을 결정하기 위하여 로직을 가진 할당기를 포함하는데, 상기 전송율은 다수의 허용가능한 전송율중 선택된 하나이고 데이타 스트림과 연관된 데이타 클래스에 할당된 대역폭의 일부로 인해 제한되고; 및
    데이타 스트림을 수신하고 결정된 전송율로 데이타 워크상에 데이타 스트림을 전송하기 위한 로직을 가지는 스트림 프로세서에 결합된 출력부를 포함하는 것을 특징으로 하는 장치.
  9. 제 8 항에 있어서, 상기 데이타 스트림과 연관된 스트림 주석을 바탕으로 스트림 프로세서를 활성화하기 위하여 로직을 가진 매니저를 더 포함하는 것을 특징으로 하는 장치.
  10. 제 8 항에 있어서, 결정된 전송율로 데이타 스트림을 변환하기 위하여 로직을 가진 트랜스포머를 더 포함하는 것을 특징으로 하는 장치.
  11. 제 8 항에 있어서, 대역폭 할당을 더 포함하고, 상기 대역폭 할당은 다수의 데이타 클래스에 대역폭을 할당하는 것을 특징으로 하는 장치.
  12. 제 8 항에 있어서, 상기 할당기는 데이타 네트워크상에 미할당된 대역폭을 검출하기 위한 로직 및 다수의 허용가능한 전송율중 선택된 데이타 스트림에 대한 새로운 전송율을 스트림 프로세서를 이용하여 결정하기 위한 로직을 가지는 검출기를 더 포함하고, 상기 새로운 전송율은 적어도 일부의 미할당된 대역폭을 사용하는 것을 특징으로 하는 장치.
  13. 제 8 항에 있어서, 상기 스트림 프로세서는 데이타 스트림에 대한 변화를 바탕으로 데이타 스트림에 대한 새로운 다수의 허용가능한 전송율을 결정하기 위하여 로직을 더 포함하는 것을 특징으로 하는 장치.
  14. 데이타 스트림에 데이타 네트워크의 대역폭을 할당하기 위하여 데이타 네트워크를 동작시키는 방법으로서,
    데이타 스트림에 스트림 주석을 다는 단계;
    데이타 네트워크상에 데이타 스트림을 전송하는 단계;
    다수의 데이타 클래스에 데이타 네트워크의 대역폭을 할당하는 정책 트리를 설정하는 단계;
    데이타 스트림을 수신하는 단계;
    데이타 스트림에 대한 다수의 허용가능한 전송율을 결정하는 단계;
    데이타 스트림에 대한 전송율을 결정하는 단계를 포함하는데, 상기 전송율은 허용가능한 전송율중 선택된 전송율이고 데이타 스트림의 스트림 주석과 연관된 데이타 클래스에 대한 정책 트리에 의해 지정된 대역폭에 의해 제한되고;
    결정된 전송율로 데이타 스트림을 변환하는 단계; 및
    결정된 전송율로 데이타 네트워크상에 데이타 스트림을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서, 상기 전송율 결정 단계는,
    데이타 스트림의 스트림 주석을 수신하는 단계; 및
    데이타 스트림을 수신하고 상기 데이타 스트림에 대한 다수의 허용가능한 전송율을 결정하기 위하여 스트림 주석을 바탕으로 스트림 프로세서를 활성화하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제 14 항에 있어서, 상기 전송율은 제 1 전송율이고 상기 방법은,
    상기 데이타 네트워크상 미할당된 대역폭을 결정하는 단계;
    데이타 스트림에 대한 제 2 전송율을 결정하는 단계를 포함하는데, 상기 제 2 전송율은 다수의 허용가능한 전송율중 선택된 하나이고 미할당된 대역폭중 적어도 일부를 사용하고;
    결정된 제 2 전송율로 데이타 스트림을 변환하는 단계; 및
    결정된 제 2 전송율로 데이타 네트워크상에 데이타 스트림을 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서, 상기 데이타 스트림은 제 1 데이타 스트림이고, 상기 스트림 주석은 제 1 스트림 주석이고 상기 데이타 클래스는 제 1 데이타 클래스이고, 상기 방법은,
    제 2 데이타 스트림에 제 2 스트림 주석을 다는 단계;
    제 2 데이타 스트림에 대한 다수의 허용가능한 전송율을 결정하는 단계;
    제 1 데이타 스트림에 대한 제 1 전송율을 결정하는 단계를 포함하는데, 상기 제 1 전송율은 제 1 데이타 스트림에 대한 허용가능한 전송율중 선택된 하나이고 제 1 데이타 스트림과 연관된 데이타 클래스에 대한 정책 트리에 의해 지정된 대역폭에 의해 제한되고;
    제 2 데이타 스트림에 대한 제 2 전송율을 결정하는 단계를 포함하는데, 상기 제 2 전송율은 제 2 데이타 스트림에 대한 허용가능한 전송율중 선택된 하나이고 제 2 데이타 스트림과 연관된 데이타 클래스에 대한 정책 트리에 의해 지정된 대역폭에 의해 제한되고;
    결정된 제 1 전송율로 제 1 데이타 스트림을 변환하고 결정된 제 2 전송율로 제 2 데이타 스트림을 변환하는 단계; 및
    결정된 전송율로 데이타 네트워크상에 제 1 데이타 스트림 및 제 2 데이타 스트림을 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 데이타 스트림을 전송하기 위한 데이타 네트워크로서,
    데이타 스트림에 데이타 클래스를 형성하는 스트림 주석을 달기 위한 로직 및 데이타 네트워크상에 데이타 스트림 및 스트림 주석을 전송하기 위한 로직을 가진 제 1 노드;
    제 1 노드에 결합하고 데이타 스트림 및 스트림 주석을 수신하기 위한 로직을 가진 제 2 노드;
    데이타 스트림을 수신하고 다수의 허용가능한 전송율을 결정하기 위한 로직을 가진 제 2 노드에 결합된 스트림 프로세서;
    스트림 프로세서에 결합된 할당기를 포함하는데, 상기 할당기는 데이타 네트워크 대역폭을 다수의 데이타 클래스에 할당하는 정책 트리를 가지며, 상기 할당기는 데이타 스트림에 대한 전송율을 결정하기 위하여 로직을 더 포함하고, 상기 전송율은 다수의 허용가능한 전송율중 선택된 하나이고 스트림 주석에 의해 형성된 데이타 클래스에 대한 정책 트리에 의해 할당된 대역폭에 의해 제한되고;
    스트림 프로세서에 결합되고 결정된 전송율로 데이타 네트워크상에 데이타 스트림을 전송하기 위한 로직을 가진 출력부; 및
    제 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 true KR20020020902A (ko) 2002-03-16
KR100699019B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453324B1 (ko) * 2002-11-18 2004-10-20 한국전자통신연구원 인터넷 서비스품질 보장을 위한 라우팅 장치 및 그 방법
WO2013066082A1 (ko) * 2011-11-01 2013-05-10 삼성전자 주식회사 이동 통신 시스템에서 사용자 장치 별로 사용 가능한 대역폭을 추정하는 방법 및 장치

Families Citing this family (16)

* 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
ES2306714T3 (es) * 2001-05-08 2008-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Metodo y sistema para cotrolar la transmision de flujos de medios.
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
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
JP2007520095A (ja) * 2003-11-07 2007-07-19 シャープ株式会社 ダイナミックネットワークチャンネル修正のための方法およびシステム
WO2005048511A2 (en) 2003-11-07 2005-05-26 Sharp Laboratories Of America, Inc. Systems and methods for network channel allocation
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
KR100934088B1 (ko) * 2004-12-09 2009-12-24 콸콤 인코포레이티드 멀티미디어 컨텐트 플로우들을 생성하고 분산 네트워크로 전달하기 위한 방법 및 장치
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
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 株式会社東芝 通信装置および通信方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453324B1 (ko) * 2002-11-18 2004-10-20 한국전자통신연구원 인터넷 서비스품질 보장을 위한 라우팅 장치 및 그 방법
WO2013066082A1 (ko) * 2011-11-01 2013-05-10 삼성전자 주식회사 이동 통신 시스템에서 사용자 장치 별로 사용 가능한 대역폭을 추정하는 방법 및 장치
US9686699B2 (en) 2011-11-01 2017-06-20 Samsung Electronics Co., Ltd Method and apparatus for estimating available bandwidth for each user equipment in mobile communication system

Also Published As

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

Similar Documents

Publication Publication Date Title
US6735633B1 (en) System for bandwidth allocation in a computer network
KR100699019B1 (ko) 대역폭 할당 방법 및 장치
US8018963B2 (en) Systems for flexible wireless channel association
US6820150B1 (en) Method and apparatus for providing quality-of-service delivery facilities over a bus
JP4410408B2 (ja) ネットワーク機器のサービス品質管理方法及び装置
JP2592213B2 (ja) データ処理システム及び情報伝送方法
US8654775B2 (en) Methods of allocating packets in a wireless communication system
US8824509B1 (en) Method and device for providing services to end user devices
US8031655B2 (en) Systems and methods for determining granularity level of information about buffer status
US5388097A (en) System and method for bandwidth reservation for multimedia traffic in communication networks
US20010053152A1 (en) Method, system and computer program product for scheduling upstream communications
JP2007526679A (ja) ビデオポリシーサーバー
JP2006508614A (ja) データパケットの動的なチャネルマッピング及び最適スケジューリングのための装置及び方法
EP1266526A2 (en) Method, system and computer program product for scheduling upstream communications
Chou et al. System support for dynamic QOS control of continuous media communication
KR101566397B1 (ko) 대역폭 관리 장치, 중앙 관리 장치, 및 대역폭 관리 방법
KR20030070350A (ko) 홈 네트워크에서 패킷을 제어하는 방법 및 장치
US20020122388A1 (en) Dynamically reconfigurable intelligent content-based network
Hou et al. Communication middleware and software for QoS control in distributed real-time environments
KR20070009548A (ko) 디지털 네트워크들에서 용량 병목의 처리
Asgarkhani et al. Simulation studies of mixed traffic on satellite channels using TDMA-reservation protocol
Domingo-Pascual et al. A framework for adaptive applications
PROVISIONING¹ et al. DISTRIBUTED VIDEO PRODUCTION: TASKS, ARCHITECTURE AND

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