KR20040055825A - 상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터스트림들을 전달하는 시스템 및 방법 - Google Patents

상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터스트림들을 전달하는 시스템 및 방법 Download PDF

Info

Publication number
KR20040055825A
KR20040055825A KR10-2004-7009151A KR20047009151A KR20040055825A KR 20040055825 A KR20040055825 A KR 20040055825A KR 20047009151 A KR20047009151 A KR 20047009151A KR 20040055825 A KR20040055825 A KR 20040055825A
Authority
KR
South Korea
Prior art keywords
data
association
designation
stream
video stream
Prior art date
Application number
KR10-2004-7009151A
Other languages
English (en)
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 KR20040055825A publication Critical patent/KR20040055825A/ko

Links

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
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • 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/19Flow control; Congestion control at layers above the network layer
    • 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/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • H04L2012/5648Packet discarding, e.g. EPD, PTD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5664Support of Video, e.g. MPEG

Abstract

서버(100)는 주요 타입 및 하나 이상의 보조 타입들의 데이터의 데이터 스트림을 제공하고, 상기 주요 타입 데이터를 제1 지정으로 전송하고, 상기 하나 이상의 보조 타입들의 상기 데이터를 하나 이상의 다른 지정들로 전송한다. 라우터(600)는, 네트워크(500)에서의 폭주로 인하여 데이터가 누락되어야 하는 경우, 라우터(600)가 상기 제1 지정의 데이터를 누락하기 전에 상기 하나 이상의 다른 지정들의 데이터를 누락하도록, 상기 제1 지정의 데이터를 네트워크(500)를 통하여 제1 우선순위로 라우팅하고, 상기 하나 이상의 다른 지정들의 데이터를 네트워크(500)를 통하여 상기 제1 우선순위보다 더 낮은 하나 이상의 우선순위들로 라우팅한다. 클라이언트(200)는 네트워크(500)를 통하여 상기 제1 지정의 데이터 및 상기 하나 이상의 지정들의 데이터를 수신하여, 서버(100)로부터 전송된 상기 데이터 스트림의 대표를 제공하기 위해 상기 데이터를 결합한다.

Description

상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터 스트림들을 전달하는 시스템 및 방법{SYSTEM AND METHOD FOR DELIVERING DATA STREAMS OF MULTIPLE DATA TYPES AT DIFFERENT PRIORITY LEVELS}
본 출원은 2001년 12월 15일에 출원된 미국 가출원 제60/341,817호로부터 우선권을 주장하는데, 이것은 참조로서 본 출원에 포함된다.
데이터 통신 네트워크는 흔히 폭주(congestion)에 대응하여 임의적으로 데이터를 누락시킨다. 데이터의 중요성을 고려하지 않고 데이터를 누락하는 것은 소정의 타입들의 데이터 전송들에 있어 심각한 부정적인 결과를 초래할 수 있다.
예를 들어, 비디오 데이터는 일반적으로 키 프레임(key frame) 및 예측 프레임(predictive frame)을 포함하는데, 키 프레임은 예측 프레임을 위한 기초를 제공하기 때문에, 사용자에게 보여주기 위해 비디오 데이터가 처리되는 경우, 키 프레임이 예측 프레임보다 훨씬 중요하다. 따라서 비디오 데이터 스트림이 폭주로 어려움을 겪는 네트워크를 통하여 전송되는 경우, 임의적으로 데이터를 누락시키는것은 키 프레임의 손실을 가져올 수 있으며, 이는 수신된 비디오 데이터 스트림으로부터 생성되는 비디오 디스플레이의 품질을 심하게 저하시킬 것이다.
본 명세서에서 개시된 본 발명은 데이터 통신 네트워크를 통하여 데이터 스트림(data stream)을 전달하는 시스템 및 방법에 관한 것이다.
도 1은 본 발명의 일 실시예 및 그것이 동작하는 환경을 나타낸 블록도.
도 2는 본 발명의 다른 실시예를 나타낸 블록도.
도 3은 본 발명의 다른 실시예를 나타낸 블록도.
도 4는 본 발명의 동작 실시예를 나타낸 흐름도.
도 5는 본 발명의 다른 동작 실시예를 나타낸 흐름도.
본 발명은, 네트워크를 통하여 다수의 데이터 타입의 데이터 스트림을 전달하는 방법, 시스템, 및 컴퓨터 프로그램 제품을 제공하고, 이를 통해 네트워크에서의 폭주로 인해 데이터가 누락되어야 하는 경우, 보다 중요한 데이터 타입의 스트림의 데이터에 앞서, 덜 중요한 데이터 타입의 스트림의 데이터가 누락되도록 하는 것이다. 본 발명에 따르면, 네트워크를 통해 전달되는 데이터 스트림은 주요 타입(primary type) 및 하나 이상의 보조 타입들(secondary types)의 데이터를 포함한다. 네트워크에서의 폭주로 인하여 데이터가 누락되어야 하는 경우, 주요 타입 데이터에 앞서 보조 타입 데이터가 누락되도록, 주요 타입 데이터는 제1 우선순위 레벨로 네트워크를 통해 라우팅되며, 보조 타입 데이터는 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들로 라우팅된다. 그리고 나서, 네트워크를 통해 라우팅된 주요 타입 및 보조 타입 데이터는 데이터 스트림을 제공하기 위해 결합된다.
본 발명의 일 실시예에 있어서, 데이터 스트림은 주요 타입의 데이터가 하나 이상의 보조 타입들의 데이터와 분리되어 전송되는 형태로 전송된다. 그리고 나서, 네트워크를 통해 라우팅된 주요 타입 및 하나 이상의 보조 타입들의 데이터가 상기 데이터 스트림을 제공하기 위해 결합되는데, 상기 제공된 데이터 스트림은 적어도 상기 전송된 데이터 스트림의 대표(representation)(즉, 만일 데이터가 누락되지 않는다면 상기 데이터 스트림이 되는 것이며, 또는 만약 데이터가 누락된다면 상기 데이터 스트림의 대표)가 된다.
바람직한 실시예에 있어서, 데이터 스트림은 라우터로 전송되는데, 상기 라우터는 주요 타입 데이터를 제1 우선순위로 라우팅하고, 보조 타입 데이터를 상기 제1 우선순위 레벨보다 낮은, 하나 이상의 우선순위 레벨들로 라우팅한다. 본 발명의 일 실시예에 따르면, 데이터 스트림이 비디오 스트림을 포함하는 경우, 비디오 스트림의 I 프레임은 제1 지정(designation)과 연관되어 전송되고, 비디오 스트림의 P 및 B 프레임들은 상기 제1 지정이 아닌 하나 이상의 상이한 지정들과 연관되어 전송된다.
데이터 스트림이 비디오 스트림을 포함하는 본 발명의 다른 실시예에 따르면, 비디오 스트림의 I 프레임은, 예컨대 제1 TCP/UDP 포트 번호와 연관되어 라우터로 전송되고, 비디오 스트림의 P 및 B 프레임들은, 예컨대 상기 제1 포트 번호와 상이한 하나 이상의 TCP/UDP 포트 번호들과 연관되어 라우터로 전송된다. 네트워크에서의 폭주로 인하여, (예컨대 라우터에서) 수신된 데이터가 누락되어야 하는 경우, 상기 제1 포트 번호와 연관된 데이터에 앞서, 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관된 데이터가 누락되도록, 제1 포트 번호와 연관된 (예컨대 라우터에서 수신된) 데이터는 제1 우선순위 레벨로 네트워크를 통하여 라우팅되며, 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관된 (예컨대 라우터에서 수신된) 데이터는 상기 제1 우선순위 레벨보다 낮은, 하나 이상의 우선순위 레벨들로 네트워크를 통하여 라우팅된다. 그리고 나서, 전송된 비디오 스트림의 대표를 제공하기 위하여, 상기 제1 포트 번호와 연관되어 (예컨대, 라우터로부터) 네트워크를 통해 라우팅된 데이터는, 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 라우터로부터 네트워크를 통해 수신된 데이터와 결합된다.
본 발명이 첨부된 도면에 도시되는데, 도면은 제한적이지 않고 예시적인 것으로 의도되며, 도면에서 동일한 참조 번호는 동일하거나 대응하는 부분들을 참조하도록 의도된다.
본 발명에 따른 방법, 시스템 및 소프트웨어 프로그램을 포함하는 제품의 바람직한 실시예들이 도면을 참조하여 설명된다.
도 1에 도시된 바와 같이, 서버(100)는 제1 네트워크(300), 제1 라우터(600), 제2 네트워크(400), 제2 라우터(700), 및 제3 네트워크(500)를 통해 클라이언트(200)에 연결된다. 서버(100)는, (a) 기본 타입 및 하나 이상의 보조 타입들의 데이터를 포함하는 데이터 스트림을 제공할 수 있고(기본 타입의 데이터는 보조 타입들의 데이터를 처리하기 위한 기초로서 기능함), (b) 상기 제공된 데이터 스트림을 전송하는데 있어 기본 타입의 데이터는 제1 지정(designation)과 연관되어 전송되고 보조 타입들의 데이터는 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 전송되도록하는 임의의 컴퓨터 시스템을 포함할 수 있다. 서버(100)에 의해 제공될 수 데이터 스트림의 일례로는 상이한 타입들의 비디오 프레임들, 이를테면, 키 프레임, 순방향 예측 프레임(forward predictive frame), 및 역방향 예측 프레임(backward predictive frame)(이들은 각각 I 프레임, P 프레임, 및 B 프레임이라 할 수 있음)을 포함하는 비디오 데이터 스트림 (또는 단순히 "비디오 스트림")을 들 수 있는데, 상기 키 프레임은 상기 순방향 및 역방향 예측 프레임을 처리하기 위한 기초로서 기능한다. 위에서 언급된 지정(designation)은, 예컨대, 주요 타입의 데이터 스트림의 데이터는 제1 포트 번호와 연관되어 전송되고 보조 타입들의 데이터 스트림의 데이터는 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 전송되도록, IP 네트워크의 전송 층(transport layer)(예컨대, TCP 또는 UDP)에 의해 사용되는 포트 번호들을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 서버(100)는 데이터 스트림("DS") 제공자 시스템(110) 및 데이터 스트림 전송기("DST") 시스템(120)을 포함한다. DS 제공자 시스템(110)은 상술된 바와 같이 데이터 스트림들을 제공할 수 있는 임의의 컴퓨터 시스템을 포함할 수 있다. 예를 들어, 제공되는 데이터 스트림이 비디오 스트림을 포함하는 경우, DS 제공자 시스템(110)은 비디오 스트림을 제공하기 위한 임의의 공지된 컴퓨터 시스템을 포함할 수 있다. 더욱이, DS 제공자 시스템(110)은, 예컨대, 라이브 비디오 데이터(live video data) 또는 이전에 녹화된 비디오 파일들을 기반으로 하는 것과 같이 다수의 방법들로 비디오 스트림을 제공할 수 있다. 본 발명의 일 실시예에 있어서, DS 제공자 시스템(110)은 상술된 방식으로 데이터 스트림을 제공하는 기능을 수행하는 컴퓨터 코드(computer code)를 포함한다.
DST 시스템(120)은, (a) 상이한 타입들의 데이터 스트림의 데이터를 분리할 수 있고, (b) 제1 지정과 연관하여 주요 타입의 데이터를 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관하여 하나 이상의 보조 타입들의 데이터를 전송할 수 있는, 임의의 컴퓨터 시스템을 포함할 수 있다. 예를 들어, 전송되는 데이터 스트림이 비디오 스트림인 경우, DST 시스템(120)은, 비디오 스트림에서 I 프레임, P 프레임, 및 B 프레임을 분리하고, I 프레임은 제1 TCP/UDP 포트 번호와 연관되어 전송하고, P 및 B 프레임들은 상기 제1 포트 번호와 상이한 하나 이상의 TCP/UDP 포트 번호들과 연관되어 전송할 수 있는 컴퓨터 시스템을 포함할 수 있다. 예를 들면, P 및 B 프레임들이 모두 제2 포트 번호와 연관되어 전송되거나, 또는 P 및 B 프레임들이 제2 및 제3 포트 번호들과 각각 연관되어 전송될 수 있다. 본 발명의 일 실시예에 있어서, DST 시스템(120)은 상술된 방식으로 데이터 스트림의 분리 및 전송을 수행하는 컴퓨터 코드를 포함한다.
클라이언트(200)는 서버(100)에 의해 생성되어 전송된 데이터 스트림을 수신하여 처리한다. 그러한 것으로서, 클라이언트(200)는, (a) 주어진 데이터 스트림과 관련되고 제4 지정과 연관된 데이터 및 상기 주어진 데이터 스트림과 관련되고 상기 제4 지정과 상이한 하나 이상의 지정들과 연관된 데이터를 수신하고, 상기 주어진 데이터 스트림을 대표하는 데이터 스트림을 제공하기 위해, 상기 주어진 데이터 스트림과 관련되고 상기 제4 지정과 연관되어 수신된 데이터 및 상기 주어진 데이터 스트림과 관련되고 상기 제4 지정과 상이한 지정들과 연관되어 수신된 데이터를 결합하며, (b) 상기 대표 데이터 스트림(representative data stream)을 처리할 수 있는, 임의의 컴퓨터 시스템을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 클라이언트(200)는 데이터 스트림 수신("DSR") 시스템(210) 및 데이터 스트림(DS) 처리 시스템(220)을 포함한다. DSR 시스템(210)은 상술된 수신 동작을 수행할 수 있는 임의의 컴퓨터 시스템을 포함할 수 있다. 예를 들어, 수신되어 처리되는 데이터가 비디오 데이터인 경우, DSR 시스템(210)은 주어진 비디오 스트림과 관련되고 제4 포트 번호와 연관된 I 프레임 및 상기 주어진 비디오 스트림과 관련되고 상기 제4 포트 번호와 상이한 하나 이상의 포트 번호들과 연관된 P 및 B 프레임들을 수신하고(예컨대, 상기 P 및 B 프레임들은 모두 제5 포트 번호와 연관되어 수신되거나, 또는 상기 P 및 B 프레임들은 제5 및 제6 포트 번호와 각각 연관되어 수신될 수 있음), 상기 주어진 비디오 스트림과 관련되어 수신된 I, P, 및 B 프레임들을 결합하여 상기 주어진 비디오 스트림을 대표하는 비디오 스트림을 제공할 수 있는(예컨대, 폭주로 인한 데이터 분실로 인해 상기 대표 스트림이 처음에 전송된 스트림보다 더 적은 개수의 프레임들을 갖지만, 상기 대표 스트림에 남아있는 프레임들이 처음에 전송된 스트림과 동일한 대응 부분을 가지고 있는 경우), 임의의 컴퓨터 시스템을 포함할 수 있다. 본 발명의 일 실시예에 있어서, DSR 시스템(210)은 상술된 수신 및 결합 동작들을 수행하는 컴퓨터 코드를 포함한다.
DS 처리 시스템(220)은 상술된 바와 같이 데이터 스트림을 처리할 수 있는 임의의 컴퓨터 시스템을 포함할 수 있다. 예를 들어, 대표 스트림이 비디오 스트림인 경우, DS 처리 시스템(220)은 사용자에게 보여주기 위해 비디오 스트림을 처리할 수 있는 임의의 공지된 컴퓨터 시스템을 포함할 수 있다. 본 발명의 일 실시예에 있어서, DS 처리 시스템(220)은 상술된 처리를 수행하는 컴퓨터 코드를 포함한다.
본 명세서에서 "컴퓨터 시스템"이란 용어는 광범위하게 사용되며 컴퓨터 하드웨어 및 컴퓨터 소프트웨어 또는 컴퓨터 소프트웨어만을 포함한다. 예를 들어, DS 제공자 시스템(110) 및 DST(120)는 각각 서버(100)의 동일한 컴퓨터 하드웨어 상에 존재하는 컴퓨터 코드를 포함할 수 있다. 대안적으로, DS 제공자 시스템(110) 및 DST(120)는 각각 별개의 컴퓨터 하드웨어에서 구현될 수 있다.
클라이언트 및 서버의 기능이 단일한 시스템에서 결합될 수 있다는 점에 유의하여야 한다. 도 2에 도시된 본 발명의 일 실시예에 있어서, 최종 사용자 시스템들(End User System)(151 및 152) 각각은 다른 유사한 최종 사용자 시스템들과 동시에 데이터 스트림을 송신하고 수신할 수 있도록 상술된 서버(100) 및 클라이언트(200) 양자의 기능을 포함할 수 있다.
도 1을 다시 참조하자면, 서버(100) 및 클라이언트(200)는 제1 네트워크(300) 및 제2 네트워크(400)와 각각 통신한다. 네트워크들(300 및 400)은 제1 라우터(600) 및 제2 라우터(700) 각각을 통해 제3 네트워크(500)와 통신한다.네트워크들(300, 400, 및 500) 각각은, 예컨대 LAN, WAN, 또는 인터넷 같은, 컴퓨터 시스템들 간에 데이터를 전달할 수 있는 임의의 데이터 통신 네트워크를 포함할 수 있다. 예시적인 구성에서, 네트워크들(300, 400, 및 500)은 각각 회사 인트라넷(intranet)에서 전형적으로 사용되는 네트워크들을 포함할 수 있다. 예를 들어, 네트워크들(300 및 400)은 WAN을 나타낼 수 있는 네트워크(500)에 의해 서로 연결된, 지리적으로 분리된 회사 지점들에서의 LAN들을 나타낼 수 있다.
데이터는 본 명세서에서 개시된 라우팅 기능들을 수행할 수 있는 임의의 적합한 하드웨어 및/또는 소프트웨어에 의해 모든 네트워크들(300, 400, 및 500) 또는 이들 중의 임의의 것을 통해 라우팅될 수 있으며, 데이터는 본 명세서에서 개시된 누락 기능들(discarding functions)을 수행할 수 있는 임의의 하드웨어 및/또는 소프트웨어에 의해 본 명세서에서 개시된 바와 같이 누락될 수 있다. 예를 들어, 이러한 기능들은 라우터들(600 및 700)에 의해 수행될 수 있는데, 이들 라우터 각각은, 폭주로 인해 라우터 내의 데이터가 누락되어야 하는 경우, 상위의 우선순위 레벨에 따라 서비스되어야 하는 지정과 연관된 데이터에 앞서, 하위의 우선순위 레벨에 따라 서비스되어야 하는 지정과 연관된 데이터가 누락되도록, 복수의 우선순위 레벨에 따라 복수의 지정과 연관되어 데이터를 서비스할 수 있는 임의의 라우터를 포함할 수 있다. 예를 들어, 라우터들(600 및 700) 각각은 서비스 품질(Quality of Service; QoS)이 가능한 라우터를 포함할 수 있는데, 이 QoS 라우터는 폭주로 인해 QoS 라우터 내의 데이터를 누락하여야 하는 경우, 상위 레벨의 서비스로 분류된 포트 번호와 연관된 데이터에 앞서 하위 레벨의 서비스로 분류된포트 번호와 연관된 데이터가 누락되도록, 복수의 포트 번호와 연관되어 수신된 데이터를 복수 레벨들의 서비스로 분류할 수 있다.
본 발명의 일 실시예에 있어서, 서버(100), 클라이언트(200), 및 라우터들(600 및 700)은 모두 동일한 지정들을 기반으로 하여 데이터를 각각 전송하고, 수신하며, 서비스하도록 예컨대 컴퓨터 하드웨어나 컴퓨터 코드를 통해, 정적으로(statically) 구성된다. 예를 들어, 발생된 데이터 스트림이 비디오 스트림인 경우, 서버(100)는 제1 수신지 포트 번호(예컨대, 수신지 포트 번호 5151)와 연관하여 비디오 스트림의 I 프레임을 전송하고, 상기 제1 수신지 포트 번호와 상이한 하나 이상의 수신지 포트 번호들과 연관하여 비디오 스트림의 P 및 B 프레임들을 전송하도록 구성될 수 있다(예컨대, P 및 B 프레임들이 모두 수신지 포트 번호 5153과 연관되거나, 또는 P 및 B 프레임들이 수신지 포트 번호들 5153 및 5155 각각과 연관됨). 또한, 계속해서 상기 예에서는, 클라이언트(200)는 상기 제1 수신지 포트 번호(예컨대, 수신지 포트 번호 5151)와 동일한 제4 수신지 포트 번호 상에서 비디오 스트림의 I 프레임을 수신하고, 상기 제1 수신지 포트 번호와 상이한 상기 하나 이상의 수신지 포트 번호들과 동일하고, 상기 제4 수신지 포트 번호와 상이한 하나 이상의 수신지 포트 번호들 상에서 비디오 스트림의 P 및 B 프레임들을 수신하도록 구성될 수 있다(예컨대, P 및 B 프레임들 모두 수신지 포트 번호 5153과 연관되거나, 또는 P 및 B 프레임들이 수신지 포트 번호들 5153 및 5155 각각과 연관됨).
또한, 동일한 예를 참조하자면, 라우터들(600 및 700)은, 제1 우선순위 레벨에 따라 제1 수신지 포트 번호(예컨대, 수신지 포트 번호 5151)와 연관되어 수신된 데이터를 서비스하고, 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들에 따라 상기 제1 수신지 포트 번호와 상이한 하나 이상의 수신지 포트 번호들(예컨대, 수신지 포트 번호 5153 또는 수신지 포트 번호들(5153 및 5155))과 연관되어 수신된 데이터를 서비스하는데 있어서, 폭주로 인해 라우터 내의 데이터가 누락되어야 하는 경우, 상위의 우선순위 레벨에 따라 서비스되어야 하는 수신지 포트 번호들과 연관된 데이터에 앞서 하위의 우선순위 레벨에 따라 서비스되어야 하는 수신지 포트 번호들과 연관된 데이터가 누락되도록 구성될 수 있다.
예를 들어, 서버(100) 및 클라이언트(200)가, I 프레임은 제1 수신지 포트 번호(예컨대, 5151)와 연관되어, 그리고 P 및 B 프레임들은 모두 상기 제1 수신지 포트 번호와 상이한 단일한 수신지 포트 번호(예컨대, 수신지 포트 번호 5153)와 연관되어 각각 전송하고 수신하도록 구성되는 경우, 라우터들(600 및 700)은, 제1 우선순위 레벨에 따라 상기 제1 수신지 포트 번호와 연관되어 수신된 데이터를 서비스하고, 상기 제1 우선순위 레벨보다 더 낮은 제2 우선순위 레벨에 따라 다른 포트 번호와 연관되어 수신된 데이터를 서비스하는데 있어, 폭주로 인해 라우터 내의 데이터가 누락되어야 하는 경우, 상기 제1 수신지 번호와 연관된 데이터(예컨대, 수신지 포트 번호 5151와 연관된 I 프레임)에 앞서, 상기 다른 수신지 포트 번호와 연관된 데이터(예컨대, 수신지 포트 번호 5153과 연관된 P 및 B 프레임들)가 누락되도록 구성될 수 있다.
대안적으로, 서버(100) 및 클라이언트(200)가, I 프레임은 제1 수신지 포트번호(예컨대, 5151)와 연관되어, P 프레임은 제2 수신지 포트 번호(예컨대, 5153)와 연관되어, 그리고 B 프레임은 제3 수신지 포트 번호(예컨대, 5155)와 연관되어 각각 전송하고 수신하도록 구성되는 경우에, 라우터들(600 및 700)은, 제1, 제2, 및 제3 우선순위 레벨 각각에 따라 상기 제1, 제2, 및 제3 수신지 포트 번호들과 연관되어 수신된 데이터를 서비스하는데 있어, 폭주로 인해 라우터 내의 데이터가 누락되어야 하는 경우, 상기 제1 및 제2 수신지 포트 번호들와 연관된 데이터(예컨대, 포트 번호 5151에서의 I 프레임 및 포트 번호 5153에서의 P 프레임 각각)에 앞서, 상기 제3 수신지 포트 번호와 연관된 데이터(예컨대, 포트 번호 5155에서의 B 프레임)가 누락되고, 상기 제1 수신지 포트 번호와 연관된 데이터에 앞서 상기 제2 수신지 포트 번호와 연관된 데이터가 누락되도록 구성될 수 있다.
본 발명의 다른 실시예에 있어서, 서버(100), 클라이언트(200), 및 라우터들(600 및 700)은 다양한 사용자 정의 가능 지정(user definable designation)을 기반으로 하여 데이터를 각각 전송하고, 수신하며, 서비스할 수 있다. 도 3에 도시된 이러한 실시예에서, 제어 시스템(800)은 서버(100), 클라이언트(200), 및 라우터들(600 및 700)과 통신하여, 상술된 바와 같이 동일한 지정들을 기반으로 하여 데이터를 각각 전송하고, 수신하며, 서비스하도록 그들에게 명령한다. 예를 들어, 비디오 회의(video conferencing)가 수행되는 경우, 제어 시스템(800)은, 예컨대 비디오 데이터에서 I 프레임에는 상위의 우선순위가 부여되어 포트 5151 상에서 전송되고, P 프레임은 중간 우선순위가 부여되어 포트 5153 상에서 전송되며, B 프레임은 하위의 우선순위가 부여되어 포트 5155 상에서 전송되도록 규정할 수 있는 비디오 회의를 대한 정책(policy)을 정책 서버(도시되지 않음)로부터 검색할 수 있다. 그리고 나서, 제어 시스템(800)은 서버(100)에게 포트들 5151, 5153, 및 5155 각각에서 I, P, 및 B 프레임을 전송하도록 하고, 클라이언트(200)에게 이들을 수신하도록 하며, 라우터들(600 및 700)에게 상위, 중간, 및 하위의 우선순위들 각각에 따라 포트들 5151, 5153, 및 5155와 연관된 데이터를 서비스하도록 명령할 수 있다.
제어 시스템(800)이 제2 네트워크(400)와의 링크를 통해 서버(100), 클라이언트(200), 및 라우터들(600 및 700)과 통신하는 것으로 도 3에 도시되어 있더라도, 이는 필수적인 것이 아니며 제어 시스템(800)은 서버(100), 클라이언트(200), 및 라우터들(600 및 700)과 통신할 수 있도록 하는 어떠한 네트워크 지점(예컨대, 제1 네트워크(300) 또는 제3 네트워크(500))에도 링크될 수 있다는 점에 유의해야 한다.
도 4는 본 발명이 동작할 수 있는 한 가지 방법을 나타낸 흐름도이다. 먼저, 블록(1000)에서 도시된 바와 같이, 주요 타입 및 하나 이상의 보조 타입들의 데이터를 포함하는 데이터 스트림이 제공되는데, 상기 주요 타입의 데이터는 상기 보조 타입들의 데이터를 처리하기 위한 기초로서 기능한다. 제공된 데이터 스트림은, 예컨대 주요 타입 및 하나 이상의 보조 타입들의 데이터가 비디오 스트림의 I 프레임 및 P 와 B 프레임들 각각에 대응하는 비디오 스트림을 포함할 수 있다. 데이터 스트림이 비디오 스트림을 포함하는 경우, 서버(100)의 DS 제공자 시스템(100)은, 예를 들면 (예컨대, 비디오 회의를 위한) 라이브 비디오를 인코딩하거나, 또는 미리 녹화된 비디오 파일을 검색하는 것과 같은 다수의 방법으로 비디오 스트림을 제공할 수 있다.
다음으로, 블록(1100)에서 도시된 바와 같이, 제공된 데이터 스트림의 데이터가 상이한 데이터 타입들에 따라 분리된다. 예를 들어, 제공된 데이터 스트림이 비디오 스트림인 경우, 서버(100)의 DST 시스템(120)은, 예컨대 제공된 비디오 스트림으로부터 I, P, 및 B 프레임들을 분리함으로써, 블록(1100)에서 도시된 동작들을 수행할 수 있다.
그리고 나서, 블록(1200)에서 도시된 바와 같이, 주요 타입의 데이터는 제1 지정과 연관되어 전송되고, 하나 이상의 보조 타입들의 데이터는 상기 제1 지정과 상이한 하나 이상의 지정과 연관되어 전송되도록 데이터 스트림에서 분리된 데이터가 전송된다. 예를 들어, 데이터 스트림은 비디오 스트림이고, I 프레임은 상위의 우선순위로, 그리고 P 및 B 프레임들은 상위의 우선순위보다 더 낮은 동일한 우선순위로 전송되도록 하고자 하는 경우, 서버(100)의 DST 시스템(120)은, 예컨대 비디오 스트림의 I 프레임은 제1 수신지 포트 번호(예컨대, 5151)와 연관되어 전송하고, 비디오 스트림의 P 및 B 프레임들 모두는 상기 제1 수신지 포트 번호와 상이한 수신지 포트 번호(예컨대, 5153)와 연관되어 전송함으로써, 블록(1200)에서 도시된 동작들을 수행할 수 있다. 대안적으로, 데이터 스트림이 비디오 스트림이고, I 프레임은 상위의 우선순위로, P 프레임은 중간 우선순위로, 그리고 B 프레임은 하위의 우선순위로 전송되도록 하고자 하는 경우, 서버(100)의 DST 시스템(120)은, 예컨대 비디오 스트림의 I, P, 및 B 프레임들을 제1(예컨대 5151), 제2(예컨대5153), 및 제3(예컨대 5155) 수신지 포트 번호와 연관되어 전송함으로써, 블록(1200)에서 도시된 동작들을 수행할 수 있다.
데이터 스트림의 전송된 데이터는, 라우터(600)에서 수신되는데, 상기 라우터(600)는, 블록(1300)에서 도시된 바와 같이 제3 네트워크(500)에서의 폭주로 인하여 라우터 내의 데이터가 누락되어야 하는 경우, 상위 우선순위 레벨에 따라 라우팅되어야 하는 지정과 연관된 데이터에 앞서, 하위 우선순위 레벨에 따라 라우팅되어야 하는 지정과 연관된 데이터가 누락되도록, 제1 지정과 연관된 데이터 스트림의 전송된 데이터를 제1 우선순위 레벨에 따라 라우팅하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터 스트림의 전송된 데이터를 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들에 따라 라우팅한다. 예를 들어, 데이터 스트림이 비디오 스트림인 경우, 라우터(600)는, 제3 네트워크(500)에서의 폭주로 인하여 라우터 내의 데이터가 누락되어야 하는 경우, 상기 제1 수신지 포트 번호와 연관된 데이터(예컨대, 포트 번호 5151에서의 I 프레임)에 앞서 상기 제2 수신지 포트 번호와 연관된 데이터(예컨대, 포트 번호 5153에서의 P 및 B 프레임)가 누락되도록, 제1 수신지 포트 번호와 연관된 데이터(예컨대, 포트 번호 5151에서의 I 프레임)를 제1 우선순위 레벨에 따라 라우팅하고, 제2 수신지 포트 번호와 연관된 데이터(예컨대, 모두 포트 번호 5153에 있는 P 및 B 프레임)를 하위의 우선순위 레벨에 따라 라우팅하도록 구성될 수 있다. 다른 예에서, 라우터(600)는, 제3 네트워크(500)에서의 폭주로 인해 라우터 내의 데이터가 누락되어야 하는 경우, 상기 제1 및 제2 수신지 포트 번호들과 연관된 데이터(예컨대,포트 번호 5151에서의 I 프레임 및 포트 번호 5153에서의 P 프레임 각각)에 앞서, 상기 제3 수신지 포트 번호와 연관된 데이터(예컨대, 포트 번호 5155에서의 B 프레임)가 누락되고, 상기 제1 수신지 포트 번호와 연관된 데이터에 앞서 상기 제2 수신지 포트 번호와 연관된 데이터가 누락되도록, 제1, 제2, 및 제3 우선순위 레벨 각각에 따라 제1, 제2, 및 제3 수신지 포트 번호와 연관된 데이터(예컨대, 포트 번호 5151에서의 I 프레임, 포트 번호 5153에서의 P 프레임, 및 포트 번호 5155에서의 B 프레임)를 라우팅하도록 구성될 수 있다.
제3 네트워크(500)에서의 폭주로 인하여 라우터(600)에 의해 누락되지 않은, 상기 제1 지정 및 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터 스트림의 데이터는 제3 네트워크(500)를 통하여 라우팅되어, 라우터(700)에서 수신되는데, 상기 라우터(700)는 그 다음에 제2 네트워크(400)에 관하여 상술된 방식과 유사한 방식으로 데이터 스트림의 데이터를 라우팅한다. 예를 들어, 라우터(700)는, 제2 네트워크(400)에서의 폭주로 인하여 라우터 내의 데이터가 누락되어야 하는 경우, 상위 우선순위 레벨에 따라 라우팅되어야 하는 지정과 연관된 데이터에 앞서, 하위 우선순위 레벨에 따라 라우팅되어야 하는 지정과 연관된 데이터가 누락되도록, 제1 지정과 연관된 데이터 스트림의 데이터는 제1 우선순위 레벨에 따라 라우팅되고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터 스트림의 데이터는 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들에 따라 라우팅되도록, 제3 네트워크(500)로부터 수신된 데이터 스트림의 데이터를 라우팅한다.
다시 도 4를 참조하자면, 그 다음에, 블록(1400)에서 도시된 바와 같이, (예컨대, 제3 네트워크(500)에서의 폭주로 인해 라우터(600)에 의해, 또는 제2 네트워크(400)에서의 폭주로 인해 라우터(700)에 의해) 폭주로 인하여 누락되지 않았던 상기 제1 지정 및 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터 스트림의 데이터는 클라이언트(200)에서 수신된다. 데이터 스트림이 비디오 스트림을 포함하는 경우, 블록(1400)에서 도시된 동작들은, 예컨대, 제1 수신지 포트 번호(예컨대 5151)에서 I 프레임을 수신하고, 상기 제1 수신지 포트 번호와 상이한 하나 이상의 수신지 포트 번호들에서 P 및 B 프레임들을 수신하는(예컨대, 모두 포트 번호 5153에 있는 P 및 B 프레임들 또는 포트 번호들 5153 및 5155 각각에 있는 P 및 B 프레임들) 클라이언트(200)의 DSR 시스템(210)에 의해 달성될 수 있다.
그리고 나서, 블록(1500)에서 도시된 바와 같이, 상기 제1 지정 및 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 따로따로 수신되었던 데이터 스트림의 데이터는 데이터 스트림의 대표(representation)를 제공하기 위해 결합된다. 예를 들어, 데이터 스트림이 비디오 스트림을 포함하는 경우, 블록(1500)에서 도시된 동작들은, 전술된 바와 같이 주어진 비디오 스트림의 대표를 제공하기 위해 클라이언트(200)의 DSR(210)이 주어진 비디오 스트림과 관련하여 상기 제1 수신지 포트 번호(예컨대 5151) 상에서 수신된 I 프레임(예컨대, 주어진 소스 포트 번호를 갖는, 주어진 IP 주소로부터의 데이터)을 동일한 비디오 스트림에 관련하여 상기 제1 포트 번호와 상이한 하나 이상의 수신지 포트 번호들 상에서 수신된 P 및 B 프레임들(예컨대, 모두 5153 상에서의 P 및 B 프레임들, 또는 5153 및 5155 각각에서의 P 및 B 프레임들)과 결합하는 동작을 포함한다.
마지막으로, 블록(1600)에서 도시된 바와 같이, 사용자에게 제시하기 위해 데이터 스트림의 상기 대표가 처리된다. 예를 들어, 데이터 스트림의 대표가 비디오 스트림을 포함하는 경우, 클라이언트(200)의 DS 처리 시스템(200)은 대표 비디오 스트림을 처리하여 대표 비디오 스트림 내의 인코딩된 비디오를 클라이언트(200)를 조작하는 사용자에게 제시할 수 있다.
상술된 본 발명의 실시예에 있어서, 서버(100)는 데이터를 클라이언트(200)에게 전송하고 라우터들(600 및 700)은 제3 네트워크(500) 및 제2 네트워크(400) 각각에서의 폭주에 대하여 두 개 이상의 우선순위 레벨들에 따라 데이터를 라우팅한다. 최종 사용자 시스템들(151 및 152)이 서버 및 클라이언트 양자 모두로서 기능하는, 도 2에 도시된 본 발명의 실시예에 있어서는, 최종 사용자 시스템(151)으로부터 최종 사용자 시스템(152)으로 송신되는 데이터가 제3 네트워크(500)에서의 폭주에 대해서는, 상술된 바와 같이 라우터(600)에 의해 라우팅되고, 제2 네트워크(400)에서의 폭주에 대해서는, 상술된 바와 같이 라우터(700)에 의해 라우팅된다. 마찬가지로, 최종 사용자 시스템(152)으로부터 최종 사용자 시스템(151)으로 송신되는 데이터가 제3 네트워크(500)에서의 폭주에 대해서는, 라우터(700)에 의해 라우팅되고, 제1 네트워크(300)에서의 폭주에 대해서는 라우터(600)에 의해 라우팅된다.
도 5는, 제어 시스템(800)이 서버(100), 클라이언트(200)(또는 최종 사용자 시스템들(151 및 152)), 및 라우터들(600 및 700)이 통합된 방식으로 동작하도록구성함으로써, 그들이 동일한 지정들 및 우선순위 레벨들과 연관되어 데이터를 각각 전송하며, 수신하고, 라우팅하는 통합된 본 발명의 다른 실시예의 동작을 설명하는 흐름도이다. 먼저, 블록(2000)에서 도시된 바와 같이, 서버(100)(또는 최종 사용자 시스템들(151 및 152)의 서버 기능들)는 제1 지정과 연관시켜 주요 타입의 데이터 스트림의 데이터를 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관시켜 하나 이상의 보조 타입들의 데이터 스트림의 데이터를 전송하도록 구성된다. 또한, 블록(2100)에서 도시된 바와 같이, 클라이언트(200)(또는 최종 사용자 시스템들(151 및 152)의 클라이언트 기능들)는 상기 제1 지정과 연관된 주요 타입의 데이터 스트림의 데이터를 수신하고, 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관된 하나 이상의 보조 타입들의 데이터 스트림의 데이터를 수신하도록 구성된다. 또한, 블록(2200)에서 도시된 바와 같이, 라우터들(600 및 700)은, 제1 지정과 연관되어 수신된 데이터를 제1 우선순위 레벨에 따라 라우팅하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 수신된 데이터를 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨에 따라 라우팅하도록 구성되는데, 전술된 바와 같이, 데이터가 전송되어야 하는 네트워크에서의 폭주로 인해 라우터 내의 데이터가 누락되어야 하는 경우, 상위의 우선순위 레벨에 따라 라우팅되어야 하는 지정과 연관되어 라우터에 의해 수신된 데이터에 앞서, 하위의 우선순위 레벨에 따라 라우팅되어야 하는 지정과 연관되어 라우터에 의해 수신된 데이터가 누락된다.
블록들(2000, 2100, 및 2200)에서 도시된 동작들은, 예컨대 주요 타입 및 하나 이상의 보조 타입들의 데이터 스트림의 데이터가 상술된 바와 같이 전송되고, 수신되며, 라우팅되도록 규정하는 정책을 (예컨대, 정책 서버로부터 상기 정책을 검색함으로써) 얻는 제어 시스템(800)에 의해 달성될 수 있다. 그리고 나서, 제어 시스템(800)은 서버(100) 및 클라이언트(2000)(또는 최종 사용자 시스템들(151 및 152)) 및 라우터들(600 및 700)의 각각과 통신하여, 그들 각각이 상기 정책에서 규정된 지정들 및 대응하는 우선순위 레벨들을 이용하여 각각 전송하고, 수신하며, 라우팅하도록 구성할 수 있다.
다음으로, 블록(2300)에서 도시된 바와 같이, 데이터 스트림은 상기 정책에 따라 라우터들(600 및 700)을 통해 서버(100)(또는 최종 사용자 시스템들 중의 하나)로부터 클라이언트(200)(또는 다른 최종 사용자 시스템)로 전달된다. 예를 들어, 데이터 스트림은 도 4와 관련하여 전술된 것과 동일한 방식으로 라우터들(600 및 700)을 통해 서버(100)(또는 최종 사용자 시스템들 중의 하나)로부터 클라이언트(200)(또는 다른 최종 사용자 시스템)로 전달될 수 있다.
본 발명이 바람직한 실시예들과 관련하여 설명되고 도시되었으나, 본 발명의 사상 및 범위를 벗어나지 않고 당해 기술분야의 당업자에게 명백할 다수의 변형 및 변경이 수행될 수 있으며, 따라서 그러한 변형 및 변경이 본 발명의 범위 내에 포함되는 것으로 의도되므로, 본 발명은 상술된 방법론이나 구성의 정확한 세부 사항들에 한정되는 것으로 의도되지 않는다.

Claims (32)

  1. 주요 타입(primary type) 및 하나 이상의 보조 타입들(secondary types)의 데이터를 포함하는 데이터 스트림을 네트워크를 통해 전달하는 방법에 있어서,
    상기 데이터 스트림의 처리는, 상기 주요 타입의 상기 데이터 스트림의 상기 데이터를 기반으로 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터를 처리할 것을 필요로 하며,
    상기 방법은
    상기 네트워크에서의 폭주(congestion)로 인해 데이터가 누락되어야 하는 경우, 상기 주요 타입의 데이터에 앞서 상기 하나 이상의 보조 타입들의 데이터가 누락되도록, 상기 네트워크를 통해, 제1 우선순위 레벨로 상기 주요 타입의 데이터를 라우팅하고, 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들로 상기 하나 이상의 보조 타입들의 데이터를 라우팅하는 단계; 및
    상기 데이터 스트림을 제공하기 위해, 상기 네트워크를 통해 라우팅된 상기 주요 타입 및 상기 하나 이상의 보조 타입들의 데이터를 결합하는 단계
    를 포함하는 방법.
  2. 제1항의 방법에 있어서,
    상기 주요 타입의 데이터가 상기 하나 이상의 보조 타입들의 데이터와 분리되어 전송되도록, 상기 데이터 스트림을 전송하는 단계를 더 포함하고,
    상기 결합 단계는 상기 네트워크를 통해 라우팅된 상기 주요 타입 및 상기 하나 이상의 보조 타입들의 데이터를 결합하여 상기 데이터 스트림을 제공하고, 상기 제공된 데이터 스트림은 적어도 상기 전송된 데이터 스트림의 대표(representation)인 단계를 포함하는 방법.
  3. 제2항에 있어서,
    상기 데이터 스트림을 제공하는 단계; 및
    상기 전송 단계 이전에 상기 주요 타입의 상기 데이터 스트림의 상기 데이터를 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터와 분리하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서, 사용자에게 제시하기 위해 상기 제공된 데이터 스트림을 처리하는 단계를 더 포함하는 방법.
  5. 제2항에 있어서,
    상기 전송 단계는, 제1 지정(designation)과 연관되어 상기 주요 타입의 상기 데이터 스트림을 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터를 전송하는 단계를 포함하고;
    상기 라우팅 단계는, 상기 네트워크에서의 폭주로 인하여 데이터가 누락되어야 하는 경우, 상기 제1 지정과 연관된 데이터에 앞서 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관된 데이터가 누락되도록, 상기 제1 지정과 연관된 데이터를 상기 제1 우선순위 레벨로 라우팅하고, 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관된 데이터를 상기 제1 우선순위 레벨보다 더 낮은 상기 하나 이상의 우선순위 레벨들로 라우팅하는 단계를 포함하며;
    상기 결합 단계는, 적어도 상기 전송된 데이터 스트림의 대표인 상기 데이터 스트림을 제공하기 위하여, 상기 네트워크를 통해 라우팅된 상기 제1 지정과 연관된 데이터 및 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관된 데이터를 결합하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 전송 단계는 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 데이터를 제2 지정과 연관되어 전송하는 단계를 포함하고; 그리고
    상기 결합 단계는 상기 네트워크를 통해 라우팅된 상기 제1 지정과 연관된 데이터 및 상기 제2 지정과 연관된 데이터를 결합하는 단계를 포함하는 방법.
  7. 제5항에 있어서,
    상기 전송 단계는, 상기 보조 타입들 중의 하나의 상기 데이터 스트림의 데이터를 제2 지정과 연관되어 전송하고, 상기 보조 타입들 중의 다른 하나의 상기데이터 스트림의 데이터를 제3 지정과 연관되어 전송하는 단계를 포함하고;
    상기 라우팅 단계는, 상기 네트워크에서의 폭주로 인하여 데이터가 누락되어야 하는 경우, 상기 제1 및 제2 지정들과 연관된 데이터에 앞서 상기 제3 지정과 연관된 데이터가 누락되고, 상기 제1 지정과 연관된 데이터에 앞서 상기 제2 지정과 연관된 데이터가 누락되도록, 제1, 제2, 및 제3 지정과 연관된 데이터를 제1 우선순위 레벨, 상기 제1 우선순위보다 더 낮은 제2 우선순위 레벨, 및 상기 제2 우선순위보다 더 낮은 제3 우선순위 레벨 각각으로 라우팅하는 단계를 포함하며;
    상기 결합 단계는, 적어도 상기 전송된 데이터 스트림의 대표인 상기 데이터 스트림을 제공하기 위해, 상기 네트워크를 통해 라우팅된 상기 제1, 제2, 및 제3 지정들과 연관된 데이터를 결합하는 단계를 포함하는 방법.
  8. 제2항에 있어서,
    상기 전송된 데이터 스트림은 비디오 스트림을 포함하고,
    상기 전송 단계는 상기 비디오 스트림을 전송하는 단계를 포함하며,
    상기 비디오 스트림의 키 프레임(key frame) 및 예측 프레임(predictive frame)은 분리되어 전송되며;
    상기 라우팅 단계는, 상기 네트워크에서의 폭주로 인하여 데이터가 누락되어야 하는 경우, 키 프레임에 앞서 예측 프레임이 누락되도록, 키 프레임은 제1 우선순위 레벨로, 예측 프레임은 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들로 상기 네트워크를 통해 라우팅하는 단계를 포함하며;
    상기 결합 단계는, 적어도 상기 전송된 비디오 스트림의 대표인 상기 데이터 스트림을 제공하기 위해, 상기 네트워크를 통해 라우팅된 키 프레임들 및 예측 프레임들을 결합하는 단계를 포함하는 방법.
  9. 제8항에 있어서, 상기 전송 단계는, 상기 비디오 스트림의 키 프레임을 제1 포트 번호와 연관되어 전송하고, 상기 비디오 스트림의 예측 프레임을 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 전송하는 단계를 포함하고;
    상기 라우팅 단계는, 상기 네트워크에서의 폭주로 인하여 라우팅되는 데이터가 누락되어야 하는 경우, 상기 제1 포트 번호와 연관되어 라우팅되는 데이터에 앞서 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 라우팅되는 데이터가 누락되도록, 제1 포트 번호와 연관된 데이터를 제1 우선순위 레벨로 라우팅하고, 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관된 데이터를 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들로 라우팅하는 단계를 포함하며;
    상기 결합 단계는, 적어도 상기 전송된 비디오 스트림의 대표인 상기 데이터 스트림을 제공하기 위해, 상기 제1 포트 번호와 연관되어 상기 네트워크를 통해 라우팅된 데이터를 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 상기 네트워크를 통해 라우팅된 데이터와 결합하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 제1 포트 번호는 제1 TCP/UDP 포트 번호를 포함하고,상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들은 상기 제1 TCP/UDP 포트 번호와 상이한 하나 이상의 TCP/UDP 포트 번호들을 포함하는 방법.
  11. 제2항에 있어서,
    상기 네트워크를 통해 라우팅되는 데이터는 라우터로 전송되고,
    상기 라우터는 상기 주요 타입의 상기 데이터를 상기 제1 우선순위 레벨과 연관되어 라우팅하고, 상기 하나 이상의 보조 타입들의 상기 데이터를 상기 제1 우선순위 레벨보다 더 낮은 상기 하나 이상의 우선순위 레벨들과 연관되어 라우팅하는 방법.
  12. 데이터 스트림이 주요 타입 및 하나 이상의 보조 타입들의 데이터를 포함하여, 상기 데이터 스트림의 처리에 상기 주요 타입의 상기 데이터 스트림의 상기 데이터를 기반으로 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터를 처리할 필요가 있는 상기 데이터 스트림의 전달을 용이하게 하는 방법에 있어서,
    상기 방법은
    상기 데이터 스트림을 제공하는 단계;
    상기 주요 타입의 상기 데이터 스트림의 상기 데이터를 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터와 분리하는 단계; 및
    제1 지정과 연관되어 상기 주요 타입의 상기 데이터 스트림의 데이터를 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 데이터를 전송하는 단계
    를 포함하는 방법.
  13. 제12항에 있어서,
    상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 제공 단계는 상기 비디오 스트림을 제공하는 단계를 포함하며;
    상기 분리 단계는 상기 비디오 스트림의 I 프레임을 상기 비디오 스트림의 P 및 B 프레임들과 분리하는 단계를 포함하고;
    상기 전송 단계는 제1 지정과 연관되어 상기 비디오 스트림의 상기 I 프레임을 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 비디오 스트림의 상기 P 및 B 프레임들을 전송하는 단계를 포함하는 방법.
  14. 제13항에 있어서, 상기 전송 단계는 제1 포트 번호와 연관되어 상기 비디오 스트림의 상기 I 프레임을 전송하고, 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 상기 비디오 스트림의 상기 P 및 B 프레임들을 전송하는 단계를 포함하는 방법.
  15. 사용자에게 데이터 스트림을 제시하는 방법에 있어서,
    제1 지정과 연관된 데이터 및 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터를 수신하는 단계;
    상기 데이터 스트림을 제공하기 위해, 상기 제1 지정과 연관되어 수신된 상기 데이터를 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 데이터와 결합하는 단계; 및
    상기 제1 지정과 연관되어 수신된 상기 데이터 스트림의 상기 데이터를 기반으로 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 데이터 스트림의 상기 데이터를 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 데이터 스트림을 처리하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 수신 단계는 제1 지정과 연관되어 I 프레임을 수신하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 P 및 B 프레임들을 수신하는 단계를 포함하며;
    상기 결합 단계는, 상기 비디오 스트림을 제공하기 위해, 상기 제1 지정과 연관되어 수신된 상기 I 프레임을 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 P 및 B 프레임들과 결합하는 단계를 포함하며;
    상기 처리 단계는 상기 제1 지정과 연관되어 수신된 상기 비디오 스트림의상기 I 프레임을 기반으로 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 비디오 스트림의 상기 P 및 B 프레임들을 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 비디오 스트림을 처리하는 단계를 포함하는 방법.
  17. 제16항에 있어서,
    상기 수신 단계는 제1 포트 번호와 연관되어 I 프레임을 수신하고, 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 P 및 B 프레임들을 수신하는 단계를 포함하고;
    상기 결합 단계는, 상기 비디오 스트림을 제공하기 위해, 상기 제1 포트 번호와 연관되어 수신된 상기 I 프레임을 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 수신된 상기 P 및 B 프레임들과 결합하는 단계를 포함하며;
    상기 처리 단계는 상기 제1 포트 번호와 연관되어 수신된 상기 비디오 스트림의 상기 I 프레임을 기반으로 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 수신된 상기 비디오 스트림의 상기 P 및 B 프레임들을 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 비디오 스트림을 처리하는 단계를 포함하는 방법.
  18. 사용자에게 데이터 스트림을 제시하는 시스템에 있어서,
    상기 데이터 스트림은 주요 타입 및 하나 이상의 보조 타입들의 데이터를 포함하고, 상기 데이터 스트림의 처리는, 상기 주요 타입의 상기 데이터 스트림의 데이터를 기반으로 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터를 처리할 것을 필요로 하며,
    상기 시스템은
    상기 데이터 스트림을 처리하며, 제1 지정과 연관되어 상기 주요 타입의 상기 데이터 스트림을 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 데이터를 전송하는 제1 컴퓨터;
    네트워크에서의 폭주로 인하여 라우터에서 수신된 데이터가 누락되어야 하는 경우, 상기 제1 지정과 연관되어 상기 라우터에서 수신된 데이터에 앞서, 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 상기 라우터에서 수신된 데이터가 누락되도록, 상기 제1 지정과 연관되어 상기 제1 컴퓨터에 의해 전송된 상기 데이터를 수신하고, 상기 제1 지정과 연관된 이러한 데이터를 상기 제1 우선순위 레벨에 따라 상기 네트워크를 통해 라우팅하며, 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 상기 제1 컴퓨터에 의해 전송된 상기 데이터를 수신하고, 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관된 이러한 데이터를 상기 제1 우선순위 레벨보다 더 낮은 하나 이상의 우선순위 레벨들에 따라 상기 네트워크를 통해 라우팅하는 라우터; 및
    상기 제1 지정 및 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 상기 라우터로부터 상기 네트워크를 통해 데이터를 수신하며, 상기 제1 컴퓨터에 의해 제공된 상기 데이터 스트림을 대표하는 데이터 스트림을 제공하기 위하여, 상기 제1 지정과 연관되어 상기 라우터로부터 상기 네트워크를 통해 수신된 상기 데이터를 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 상기 라우터로부터 상기 네트워크를 통해 수신된 상기 데이터와 결합하고, 상기 사용자에게 제시하기 위하여 상기 대표 데이터 스트림(representative data stream)을 처리하는 제2 컴퓨터
    를 포함하는 시스템.
  19. 제18항에 있어서,
    상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 제1 컴퓨터는 상기 비디오 스트림을 제공하고, 제1 지정과 연관되어 상기 비디오 스트림의 I 프레임을 전송하며, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 P 및 B 프레임들을 전송하고; 그리고
    상기 제2 컴퓨터는 상기 제1 컴퓨터에 의해 제공된 상기 비디오 스트림을 대표하는 비디오 스트림을 제공하기 위하여, 상기 제1 지정과 연관되어 상기 라우터로부터 상기 네트워크를 통해 수신된 상기 데이터를 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 상기 라우터로부터 상기 네트워크를 통해 수신된 상기 데이터와 결합하며, 상기 사용자에게 상기 대표 비디오 스트림(representative data stream) 내에 인코딩된 상기 비디오를 보여주기 위해상기 대표 비디오 스트림을 처리하는 시스템.
  20. 제19항에 있어서,
    상기 제1 컴퓨터는 제1 포트 번호와 연관되어 상기 비디오 스트림의 I 프레임을 전송하고, 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 P 및 B 프레임들을 전송하며;
    상기 라우터는, 상기 네트워크에서의 폭주로 인하여 상기 라우터에서 수신된 데이터가 누락되어야 하는 경우, 상기 제1 포트 번호호와 연관되어 상기 라우터에서 수신된 데이터에 앞서, 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 상기 라우터에서 수신된 데이터가 누락되도록, 상기 제1 포트 번호와 연관되어 상기 제1 컴퓨터에 의해 전송된 상기 데이터를 수신하고 상기 제1 포트 번호와 연관된 이러한 데이터를 상기 제1 우선순위 레벨에 따라 상기 네트워크를 통해 라우팅하며, 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 상기 제1 컴퓨터에 의해 전송된 상기 데이터를 수신하고 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관된 이러한 데이터를 상기 제1 우선순위 레벨보다 더 낮은 상기 하나 이상의 우선순위 레벨들에 따라 상기 네트워크를 통해 라우팅하며;
    상기 제2 컴퓨터는 상기 제1 포트 번호 및 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 상기 라우터로부터 상기 네트워크를 통해 데이터를 수신하고, 상기 제1 컴퓨터에 의해 제공된 상기 비디오 스트림을 대표하는 상기 비디오 스트림을 제공하기 위하여, 상기 제1 포트 번호와 연관되어 상기 라우터로부터 상기 네트워크를 통해 수신된 상기 데이터를 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 상기 라우터로부터 상기 네트워크를 통해 수신된 상기 데이터와 결합하는 시스템.
  21. 데이터 스트림이 주요 타입 및 하나 이상의 보조 타입들의 데이터를 포함하여, 상기 데이터 스트림의 처리에, 상기 주요 타입의 상기 데이터 스트림의 데이터를 기반으로 하여 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터를 처리할 필요가 있는 상기 데이터 스트림의 전달을 용이하게 하는 시스템에 있어서,
    상기 시스템은
    상기 데이터 스트림을 제공하는 수단;
    상기 주요 타입의 상기 데이터 스트림의 상기 데이터를 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터와 분리하는 수단; 및
    제1 지정과 연관되어 상기 주요 타입의 상기 데이터 스트림의 데이터를 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 데이터를 전송하는 수단
    를 포함하는 시스템.
  22. 제21항에 있어서,
    상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 제공 수단은 상기 비디오 스트림을 제공하는 수단을 포함하며;
    상기 분리 수단은 상기 비디오 스트림의 I 프레임을 상기 비디오 스트림의 P 및 B 프레임들과 분리하는 수단을 포함하고;
    상기 전송 수단은 제1 지정과 연관되어 상기 비디오 스트림의 상기 I 프레임을 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 비디오 스트림의 상기 P 및 B 프레임들을 전송하는 수단을 포함하는 시스템.
  23. 제22항에 있어서, 상기 전송 수단은 제1 포트 번호와 연관되어 상기 비디오 스트림의 상기 I 프레임을 전송하고, 상기 제1 포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 상기 비디오 스트림의 상기 P 및 B 프레임들을 전송하는 수단을 포함하는 시스템.
  24. 사용자에게 데이터 스트림을 제시하는 시스템에 있어서,
    제1 지정과 연관된 데이터 및 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터를 수신하는 수단;
    상기 데이터 스트림을 제공하기 위해, 상기 제1 지정과 연관되어 수신된 상기 데이터를 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 데이터와 결합하는 수단; 및
    상기 제1 지정과 연관되어 수신된 상기 데이터 스트림의 상기 데이터를 기반으로 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 데이터 스트림의 상기 데이터를 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 데이터 스트림을 처리하는 수단
    을 포함하는 방법.
  25. 제24항에 있어서, 상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 수신 수단은 제1 지정과 연관되어 I 프레임을 수신하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 P 및 B 프레임들을 수신하는 수단을 포함하며;
    상기 결합 수단은, 상기 비디오 스트림을 제공하기 위해, 상기 제1 지정과 연관되어 수신된 상기 I 프레임을 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 P 및 B 프레임들과 결합하는 수단을 포함하며;
    상기 처리 수단은 상기 제1 지정과 연관되어 수신된 상기 비디오 스트림의 상기 I 프레임을 기반으로 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 비디오 스트림의 상기 P 및 B 프레임들을 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 비디오 스트림을 처리하는 수단을 포함하는 시스템.
  26. 제25항에 있어서,
    상기 수신 수단은 제1 포트 번호와 연관되어 I 프레임을 수신하고, 상기 제1포트 번호와 상이한 하나 이상의 포트 번호들과 연관되어 P 및 B 프레임들을 수신하는 수단을 포함하고;
    상기 결합 수단은, 상기 비디오 스트림을 제공하기 위해, 상기 제1 포트 번호와 연관되어 수신된 상기 I 프레임을 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 수신된 상기 P 및 B 프레임들과 결합하는 수단을 포함하며;
    상기 처리 수단은 상기 제1 포트 번호와 연관되어 수신된 상기 비디오 스트림의 상기 I 프레임을 기반으로 상기 제1 포트 번호와 상이한 상기 하나 이상의 포트 번호들과 연관되어 수신된 상기 비디오 스트림의 상기 P 및 B 프레임들을 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 비디오 스트림을 처리하는 수단을 포함하는 시스템.
  27. 수록된 컴퓨터 판독 가능 코드를 갖는 컴퓨터 이용 가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 판독 가능 코드는, 실행시에, 데이터 스트림이 주요 타입 및 하나 이상의 보조 타입들의 데이터를 포함하여, 상기 데이터 스트림의 처리에, 상기 주요 타입의 상기 데이터 스트림의 데이터를 기반으로 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터를 처리할 필요가 있는 상기 데이터 스트림의 전달을 용이하게 하는 방법을 컴퓨터로 하여금 실행하도록 하며
    상기 방법은
    상기 데이터 스트림을 제공하는 단계;
    상기 주요 타입의 상기 데이터 스트림의 상기 데이터를 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 상기 데이터와 분리하는 단계; 및
    제1 지정과 연관되어 상기 주요 타입의 상기 데이터 스트림의 데이터를 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 하나 이상의 보조 타입들의 상기 데이터 스트림의 데이터를 전송하는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  28. 제27항에 있어서,
    상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 실행되는 방법에서, 상기 제공 단계는 상기 비디오 스트림을 제공하는 단계를 포함하며;
    상기 실행되는 방법에서, 상기 분리 단계는 상기 비디오 스트림의 I 프레임을 상기 비디오 스트림의 P 및 B 프레임들과 분리하는 단계를 포함하고;
    상기 실행되는 방법에서, 상기 전송 단계는 제1 지정과 연관되어 상기 비디오 스트림의 상기 I 프레임을 전송하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 상기 비디오 스트림의 상기 P 및 B 프레임들을 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  29. 제28항에 있어서, 상기 실행되는 방법에서, 상기 전송 단계는 제1 TCP/IP 포트 번호와 연관되어 상기 비디오 스트림의 상기 I 프레임을 전송하고, 상기 제1 TCP/IP 포트 번호와 상이한 하나 이상의 TCP/IP 포트 번호들과 연관되어 상기 비디오 스트림의 상기 P 및 B 프레임들을 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  30. 수록된 컴퓨터 판독 가능 코드를 갖는 컴퓨터 이용 가능 매체에 있어서,
    상기 컴퓨터 판독 가능 코드는, 실행되는 경우, 컴퓨터로 하여금 사용자에게 데이터 스트림을 제시하는 방법을 구현하도록 하며,
    상기 방법은
    제1 지정과 연관된 데이터 및 상기 제1 지정과 상이한 하나 이상의 지정들과 연관된 데이터를 수신하는 단계;
    상기 데이터 스트림을 제공하기 위해, 상기 제1 지정과 연관되어 수신된 상기 데이터를 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 데이터와 결합하는 단계; 및
    상기 제1 지정과 연관되어 수신된 상기 데이터 스트림의 상기 데이터를 기반으로 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 데이터 스트림의 상기 데이터를 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 데이터 스트림을 처리하는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  31. 제28항에 있어서,
    상기 데이터 스트림은 비디오 스트림을 포함하고;
    상기 실행되는 방법에서, 상기 수신 단계는 제1 지정과 연관되어 I 프레임을 수신하고, 상기 제1 지정과 상이한 하나 이상의 지정들과 연관되어 P 및 B 프레임들을 수신하는 단계를 포함하며;
    상기 실행되는 방법에서, 상기 결합 단계는, 상기 비디오 스트림을 제공하기 위해, 상기 제1 지정과 연관되어 수신된 상기 I 프레임을 상기 제1 지정과 상이한 상기 하나 이상의 지정들과 연관되어 수신된 상기 P 및 B 프레임들과 결합하는 단계를 포함하며; 그리고
    상기 실행되는 방법에서, 상기 처리 단계는 상기 제1 지정과 연관되어 수신된 상기 비디오 스트림의 상기 I 프레임을 기반으로 상기 제1 지정과 상이한정과 상이한정과 상이한정들과 연관되어 수신된 상기 비디오 스트림의 상기 P 및 B 프레임들을 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 비디오 스트림을 처리하는 단계를 포함하는 컴퓨터 프로그램 제품.
  32. 제31항에 있어서,
    상기 실행되는 방법에서, 상기 수신 단계는 제1 TCP/IP 포트 번호와 연관되어 I 프레임을 수신하고, 상기 제1 TCP/IP 포트 번호와 상이한 하나 이상의 TCP/IP 포트 번호들과 연관되어 P 및 B 프레임들을 수신하는 단계를 포함하고;
    상기 실행되는 방법에서, 상기 결합 단계는, 상기 비디오 스트림을 제공하기위해, 상기 제1 TCP/IP 포트 번호와 연관되어 수신된 상기 I 프레임을 상기 제1 TCP/IP 포트 번호와 상이한 상기 하나 이상의 TCP/IP 포트 번호들과 연관되어 수신된 상기 P 및 B 프레임들과 결합하는 단계를 포함하며;
    상기 실행되는 방법에서, 상기 처리 단계는 상기 제1 TCP/IP 포트 번호와 연관되어 수신된 상기 비디오 스트림의 상기 I 프레임을 기반으로 상기 제1 TCP/IP 포트 번호와 상이한 상기 하나 이상의 TCP/IP 포트 번호들과 연관되어 수신된 상기 비디오 스트림의 상기 P 및 B 프레임들을 처리함으로써, 상기 사용자에게 제시하기 위하여 상기 비디오 스트림을 처리하는 단계를 포함하는 컴퓨터 프로그램 제품.
KR10-2004-7009151A 2001-12-15 2002-12-12 상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터스트림들을 전달하는 시스템 및 방법 KR20040055825A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34181701P 2001-12-15 2001-12-15
US60/341,817 2001-12-15
PCT/US2002/039918 WO2003052612A1 (en) 2001-12-15 2002-12-12 System and method for delivering data streams of multiple data types at different priority levels

Publications (1)

Publication Number Publication Date
KR20040055825A true KR20040055825A (ko) 2004-06-29

Family

ID=23339152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7009151A KR20040055825A (ko) 2001-12-15 2002-12-12 상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터스트림들을 전달하는 시스템 및 방법

Country Status (8)

Country Link
US (1) US20050021806A1 (ko)
EP (1) EP1454249A4 (ko)
JP (2) JP2005530367A (ko)
KR (1) KR20040055825A (ko)
CN (2) CN1739101A (ko)
AU (1) AU2002360591A1 (ko)
MX (1) MXPA04005734A (ko)
WO (1) WO2003052612A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US7054940B2 (en) * 2002-01-25 2006-05-30 Thomson Licensing Adaptive cost of service for communication network based on level of network congestion
US20070114573A1 (en) * 2002-09-04 2007-05-24 Tzong-Ru Han Sensor device with heated nanostructure
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
SE526415C2 (sv) * 2003-07-10 2005-09-13 Telia Ab Metod och system för ojämn distribution av data
US20060161469A1 (en) * 2005-01-14 2006-07-20 Weatherbank, Inc. Interactive advisory system
US8832121B2 (en) * 2005-02-02 2014-09-09 Accuweather, Inc. Location-based data communications system and method
AU2006202674B1 (en) * 2005-07-28 2007-01-11 Cirrus Real Time Processing Systems Pty Ltd. A network traffic prioritisation method and software product
US8229467B2 (en) * 2006-01-19 2012-07-24 Locator IP, L.P. Interactive advisory system
US20070258459A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Method and system for QOS by proxy
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20070258445A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) * 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
FR2908576A1 (fr) 2006-11-14 2008-05-16 Canon Kk Procede,dispositif et application logicielle d'ordonnancement d'une transmission de paquets d'un flux de donnees
US8750115B2 (en) * 2006-11-21 2014-06-10 Verizon Patent And Licensing Inc. Priority-based buffer management
US8634814B2 (en) 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
US20080313037A1 (en) * 2007-06-15 2008-12-18 Root Steven A Interactive advisory system
CN101146050B (zh) * 2007-11-06 2011-03-23 杭州华三通信技术有限公司 帧中继报文传输方法和设备
WO2009138656A2 (fr) * 2008-04-29 2009-11-19 France Telecom Transmission d'un flux video code par codage hierarchique
CN101741752B (zh) * 2008-11-17 2015-08-19 华为技术有限公司 视频流传输的方法、装置和系统
FR2941584B1 (fr) * 2009-01-27 2011-04-01 St Nxp Wireless France Procede de traitement de flux de donnees recues par un appareil de communication sans fil et necessitant au moins en partie des traitements cryptographiques et appareil correspondant
CN101568027B (zh) * 2009-05-22 2012-09-05 华为技术有限公司 转发视频数据的方法、装置和系统
US8665724B2 (en) 2009-06-12 2014-03-04 Cygnus Broadband, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
US9065779B2 (en) 2009-06-12 2015-06-23 Wi-Lan Labs, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
KR101247595B1 (ko) 2009-06-12 2013-03-26 시그너스 브로드밴드, 인코포레이티드 통신 네트워크의 지능형 폐기 시스템 및 방법
US8627396B2 (en) 2009-06-12 2014-01-07 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8531961B2 (en) 2009-06-12 2013-09-10 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8745677B2 (en) 2009-06-12 2014-06-03 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US20110083156A1 (en) * 2009-10-07 2011-04-07 Canon Kabushiki Kaisha Network streaming of a video stream over multiple communication channels
US8819183B2 (en) * 2009-12-15 2014-08-26 International Business Machines Corporation Concurrent execution of request processing and analytics of requests
US8874638B2 (en) * 2009-12-15 2014-10-28 International Business Machines Corporation Interactive analytics processing
US8892762B2 (en) * 2009-12-15 2014-11-18 International Business Machines Corporation Multi-granular stream processing
US8356102B2 (en) * 2010-02-10 2013-01-15 Microsoft Corporation Selective connection between corresponding communication components involved in a teleconference
US8504694B2 (en) * 2010-03-08 2013-08-06 Microsoft Corporation Remote content classification and transmission using multiple transport channels
CN101860475B (zh) * 2010-04-02 2013-04-03 北京邮电大学 基于上下文感知的自治队列管理的方法
EP2698031B1 (en) * 2011-04-15 2016-02-24 Intel Corporation Methods and arrangements for channel access in wireless networks
JP6086649B2 (ja) * 2012-03-21 2017-03-01 キャタピラー エス エー アール エル 作業機の遠隔操縦装置
CN102665109A (zh) * 2012-04-19 2012-09-12 中兴通讯股份有限公司 一种多媒体视频数据的发送、接收方法及对应装置
US10075498B2 (en) * 2012-12-21 2018-09-11 Vmware, Inc. Systems and methods for transmitting data in real time
US9325617B2 (en) * 2013-12-09 2016-04-26 International Business Machines Corporation Overlay capabilities exchange using DCBX
CN105516018B (zh) * 2014-09-23 2018-12-18 博雅网络游戏开发(深圳)有限公司 网络数据传输方法和装置
US10038616B2 (en) 2014-09-25 2018-07-31 Microsoft Technology Licensing, Llc Managing classified network streams
CN106559233A (zh) * 2015-09-28 2017-04-05 中兴通讯股份有限公司 数据流的镜像处理方法及装置
US10116698B1 (en) * 2016-04-06 2018-10-30 Amazon Technologies, Inc. Managing network firewall configuration utilizing source lists
CN110519632B (zh) * 2019-07-30 2021-08-20 华为技术有限公司 投屏方法及设备
DE102021100647A1 (de) * 2020-04-30 2021-11-04 Realtek Semiconductor Corp. Schaltung in einem router oder switch und korrespondierendes rahmenverarbeitungsverfahren

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0891083A3 (en) * 1992-09-21 1999-12-15 Canon Kabushiki Kaisha Network system and terminal apparatus
US5481312A (en) * 1994-09-12 1996-01-02 At&T Corp. Method of and apparatus for the transmission of high and low priority segments of a video bitstream over packet networks
US5638518A (en) * 1994-10-24 1997-06-10 Lsi Logic Corporation Node loop core for implementing transmission protocol in fibre channel
US6002667A (en) * 1995-07-19 1999-12-14 Fujitsu Network Communications, Inc. Minimum guaranteed cell rate method and apparatus
US6477147B1 (en) * 1996-03-08 2002-11-05 Siemens Aktiengesellschaft Method and device for transmitting a data packet using ethernet from a first device to at least one other device
US5987518A (en) * 1996-10-28 1999-11-16 General Instrument Corporation Method and apparatus for communicating internet protocol data over a broadband MPEG channel
US6240103B1 (en) * 1997-03-21 2001-05-29 Scientific-Atlanta, Inc. Method and apparatus for detecting and preventing bandwidth overflow in a statistical multiplexer
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
JP2000078573A (ja) * 1998-09-03 2000-03-14 Hitachi Ltd 階層符号化データ配信装置
SG77650A1 (en) * 1998-09-07 2001-01-16 Victor Company Of Japan A scalable delivery scheme of compressed video
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6480537B1 (en) * 1999-02-25 2002-11-12 Telcordia Technologies, Inc. Active techniques for video transmission and playback
US6611530B1 (en) * 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
JP2001147906A (ja) * 1999-11-22 2001-05-29 Mitsubishi Electric Corp データ領域細分化分散管理システム
US20020163889A1 (en) * 2000-02-02 2002-11-07 Yechiam Yemini Method and apparatus for providing services on a dynamically addressed network
EP1361690B1 (en) * 2000-03-02 2006-01-11 Matsushita Electric Industrial Co., Ltd. Method and apparatus for retransmitting data packets based on channel conditions
JP3766259B2 (ja) * 2000-06-01 2006-04-12 株式会社日立製作所 パケット転送装置

Also Published As

Publication number Publication date
JP2009165153A (ja) 2009-07-23
CN1739101A (zh) 2006-02-22
MXPA04005734A (es) 2004-12-06
WO2003052612A1 (en) 2003-06-26
EP1454249A1 (en) 2004-09-08
CN101527684A (zh) 2009-09-09
JP2005530367A (ja) 2005-10-06
AU2002360591A1 (en) 2003-06-30
US20050021806A1 (en) 2005-01-27
EP1454249A4 (en) 2006-07-19

Similar Documents

Publication Publication Date Title
KR20040055825A (ko) 상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터스트림들을 전달하는 시스템 및 방법
US7333488B2 (en) Multicast delivery control apparatus and method
JP4033773B2 (ja) ネットワークルーティングを実行する方法および装置
JP4280286B2 (ja) パケット通信ネットワーク及びパケット通信方法
KR100454502B1 (ko) 아이피 라우터에서 VoIP 트래픽에 대한 QoS를제공하는 장치 및 포워딩방법
KR100922654B1 (ko) 패킷 처리용 시스템 및 방법
US9025615B2 (en) Apparatus and methods for establishing virtual private networks in a broadband network
US5892761A (en) Method and apparatus for routing data in collaborative computing system
JP2005530367A5 (ko)
JP2006203904A (ja) 方法、コンテンツベースルータ、コンテンツベースネットワーク
CN101595753A (zh) 移动ip网络中的路由和质量决策
CN101645849B (zh) 一种在过渡环境中的QoS实现方法和PE路由器
US20060218300A1 (en) Method and apparatus for programmable network router and switch
US20040165597A1 (en) Service level agreement driven route table selection
US7471642B2 (en) Communication terminal, load distribution method and load distribution processing program
JP4199575B2 (ja) ネットワークシステム,同システムにおけるパス設定方法並びに同システムに用いられるネットワーク管理装置及びネットワーク装置
US7042882B2 (en) Layer-structured path setup method and node apparatus for implementing same
CN100450030C (zh) 一种实现呼叫服务等级到承载呼叫的连接的映射方法
JP4643598B2 (ja) 中継装置及び中継方法
US11895078B2 (en) System for communicating among end-user devices having different message channel formats and associated methods
JP2004282252A (ja) ネットワーク機器の接続管理装置
JP2004120222A (ja) 通信装置及び通信システム
US20120106954A1 (en) Method for updating ports in a photonic-based distributed network switch
JP2006166196A (ja) VoIPサービスシステム、呼制御サーバ、および呼制御方法
CN101433057A (zh) 开箱即用服务的级联

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application