KR20130103687A - 네트워크 디바이스에서의 오디오/비디오 채널 트랜스본딩 - Google Patents

네트워크 디바이스에서의 오디오/비디오 채널 트랜스본딩 Download PDF

Info

Publication number
KR20130103687A
KR20130103687A KR1020130025799A KR20130025799A KR20130103687A KR 20130103687 A KR20130103687 A KR 20130103687A KR 1020130025799 A KR1020130025799 A KR 1020130025799A KR 20130025799 A KR20130025799 A KR 20130025799A KR 20130103687 A KR20130103687 A KR 20130103687A
Authority
KR
South Korea
Prior art keywords
channel group
packets
bonded channel
outgoing
program
Prior art date
Application number
KR1020130025799A
Other languages
English (en)
Other versions
KR101469824B1 (ko
Inventor
라제쉬 마미드와르
쉐민 첸
빅토르 휴
Original Assignee
브로드콤 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브로드콤 코포레이션 filed Critical 브로드콤 코포레이션
Publication of KR20130103687A publication Critical patent/KR20130103687A/ko
Application granted granted Critical
Publication of KR101469824B1 publication Critical patent/KR101469824B1/ko

Links

Images

Classifications

    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • 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/21Server components or server architectures
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • 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/5603Access techniques

Landscapes

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

Abstract

데이터 통신 아키텍처는 오디오 및 비디오 콘텐츠를 포함하는 폭넓게 다양한 콘텐츠를 소비자들에게 전달한다. 상기 아키텍처는 임의의 단일 통신 채널이 운반할 수 있는 것보다 더 많은 대역폭을 전달하기 위하여 채널 본딩(channel bonding)을 사용한다. 상기 아키텍처는 통신 채널들의 상이한 그룹들을 이용하여 콘텐츠를 수신할 수 있고 콘텐츠를 송신할 수 있는 중간 네트워크 디바이스들을 포함한다. 네트워크 디바이스는 제 1 세트와 상이한 제 2 세트의 통신 채널들에 걸친 송신을 위하여 제 1 세트의 통신 채널들에 걸쳐 수신된 콘텐츠를 처리할 수 있다. 이러한 처리는 데스티네이션 디바이스로의 전달 동안에 콘텐츠의 프로그램 순서를 보존할 수 있다.

Description

네트워크 디바이스에서의 오디오/비디오 채널 트랜스본딩{AUDIO/VIDEO CHANNEL TRANSBONDING IN A NETWORK DEVICE}
본 출원은 미국 가출원 제61/663,878호(대리인 관리 번호 14528.00528) 및 미국 가출원 제61/609,339호(대리인 관리 번호 14528.00559)의 이익을 우선권 주장하고 참조를 위해 이를 통합한다.
본 개시 내용은 오디오 및 비디오 통신 기술들에 관한 것이다. 특히, 본 개시 내용은 오디오 및 비디오 통신을 위한 채널 본딩(channel bonding)에 관한 것이다.
막대한 민간 및 공공 부문 수요에 의해 추진되는 전자 및 통신 기술들에서의 급속한 진보는 가정(home) 내에서든, 기업(business) 내에서든, 또는 정부(government) 내에서든, 스마트폰(smart phone)들, 개인용 컴퓨터들, 인터넷 레디 텔레비전(internet ready television)들 및 미디어 플레이어(media player)들, 사회의 모든 부분에서의 다수의 다른 디바이스들의 광범위한 채택으로 귀착되었다. 이 디바이스들은 상당한 양(amount)의 오디오 및 비디오 콘텐츠를 소모할 잠재력을 가진다. 이와 동시에, 콘텐츠를 다수의 상이한 방식들로 디바이스들에 전달하도록 시도하는 데이터 네트워크들이 개발되었다. 콘텐츠의 디바이스들로의 전달에 있어서의 추가적인 개선들은 디바이스들에 대한 수요뿐만 아니라, 디바이스들에 공급하는 콘텐츠 전달 서비스들에 대한 수요를 계속 촉진하는데 도움이 될 것이다.
본 발명은 상기한 바와 같은 종래의 기술적 과제를 해결하기 위하여, 채널 트랜스본딩(channel transbonding)을 사용함으로써 임의의 단일 통신 채널이 운반할 수 있는 것보다 더 많은 대역폭을 전달할 수 있는 네트워크 디바이스에서의 채널 트랜스본딩 방법 및 이를 위한 시스템을 제공하는 것을 목적으로 한다.
일 측면에 따르면, 네트워크 디바이스에서의 방법은,
인입 본딩된 채널 그룹(incoming bonded channel group) 내의 제 1 세트의 통신 채널들로부터 프로그램 패킷들을 수신하는 단계; 및
상기 인입 본딩된 채널 그룹과 상이한 발신 본딩된 채널 그룹(outgoing bonded channel group) 내의 제 2 세트의 통신 채널들에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 포함한다.
바람직하게는, 상기 방법은,
상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하기 전에, 상기 프로그램 패킷들을 프로그램 순서로 배열된 전송 스트림으로 재구성하는 단계를 더 포함한다.
바람직하게는, 상기 방법은,
상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들과 대응하는 마커 패킷들을 수신하는 단계; 및
상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들과 함께 상기 마커 패킷들을 분배하는 단계를 더 포함한다.
바람직하게는, 상기 방법은,
제 1 청크(chunk) 크기의 통신 단위들로 상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들을 수신하는 단계;
상기 통신 단위들에 대응하는 마커 패킷들을 수신하는 단계; 및
상기 제 1 청크 크기의 통신 단위들과 함께 상기 마커 패킷들을 분배함으로써 상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 더 포함한다.
바람직하게는, 상기 방법은,
제 1 청크 크기의 통신 단위들로 상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들을 수신하는 단계; 및
제 2 청크 크기의 통신 단위들로 상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 더 포함한다.
바람직하게는, 상기 방법은,
상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들과 대응하는 마커 패킷들을 수신하는 단계; 및
발신 본딩된 채널 그룹 내의 상기 제 2 세트의 통신 채널들이 단일 통신 채널을 포함할 때,
상기 마커 패킷들을 검사함으로써 프로그램 순서로 배열된 전송 스트림으로 상기 프로그램 패킷들을 재구성하는 단계;
상기 마커 패킷들을 폐기하는 단계; 및
상기 단일 통신 채널을 통해 상기 전송 스트림을 송신함으로써 상기 프로그램 패킷들을 분배하는 단계를 더 포함한다.
바람직하게는, 상기 방법은,
상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들과 대응하는 마커 패킷들을 수신하는 단계; 및
발신 본딩된 채널 그룹 내의 상기 제 2 세트의 통신 채널들이 단일 통신 채널을 포함할 때,
상기 마커 패킷들을 포함하는 데이터 스트림으로 상기 프로그램 패킷들을 배열하는 단계;
상기 단일 통신 채널을 통해 상기 전송 스트림을 송신함으로써 상기 프로그램 패킷들 및 상기 마커 패킷들을 분배하는 단계를 더 포함한다.
바람직하게는, 상기 방법은,
상기 발신 본딩된 채널 그룹에 걸쳐 마커 패킷들을 분배하는 단계; 및
상기 마커 패킷들 후방의 상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 더 포함한다.
일 측면에 따르면, 시스템은,
인입 본딩된 채널 그룹을 형성하는 제 1 세트의 개별적인 통신 채널들에 대한 입력 인터페이스들;
상기 인입 본딩된 채널 그룹과 상이한 발신 본딩된 채널 그룹을 형성하는 제 2 세트의 개별적인 통신 채널들에 대한 출력 인터페이스들; 및
상기 입력 인터페이스들 및 상기 출력 인터페이스들과 통신하는 트랜스본딩 로직(transbonding logic)을 포함하고,
상기 트랜스본딩 로직은,
프로그램 패킷들을 포함하는 통신 단위들로서, 상기 인입 본딩된 채널 그룹을 통해 수신된 상기 통신 단위들에 대한 인입 청크 크기를 식별하는 트랜스본딩 구성 파라미터들을 판독하고;
상기 입력 인터페이스들 사이의 제 1 입력 인터페이스에 의해 수신된 제 1 마커 패킷을 획득하고;
상기 제 1 입력 인터페이스로부터 상기 인입 청크 크기의 제 1 통신 단위를 획득하고;
상기 발신 본딩된 채널 그룹에 걸친 송신을 위하여, 상기 제 1 마커 패킷 및 상기 제 1 통신 단위를 상기 출력 인터페이스들 사이의 제 1 출력 인터페이스에 분배하도록 구성된다.
바람직하게는, 상기 트랜스본딩 로직은,
상기 입력 인터페이스들 사이의 제 2 입력 인터페이스에 의해 수신된 상기 인입 청크 크기의 제 2 통신 단위 및 제 2 마커 패킷을 획득하고;
발신 청크 크기의 발신 청크로서 상기 발신 본딩된 채널 그룹에 걸친 송신을 위하여, 상기 제 1 마커 패킷, 제 1 통신 단위, 제 2 마커 패킷, 및 제 2 통신 단위를 상기 제 1 출력 인터페이스에 분배하도록 더 구성된다.
바람직하게는, 상기 트랜스본딩 로직은 상기 발신 청크 크기를 결정하기 위하여 상기 트랜스본딩 구성 파라미터들을 판독하도록 구성된다.
바람직하게는, 상기 트랜스본딩 로직은,
상기 발신 청크를 선행하는 상기 제 1 출력 인터페이스에 발신 마커 패킷을 분배하도록 더 구성된다.
바람직하게는, 상기 트랜스본딩 로직은,
상기 입력 인터페이스들로부터 추가적인 마커 패킷들 및 추가적인 통신 단위들을 획득하고;
상기 제 1 마커 패킷 또는 상기 추가적인 마커 패킷들을 검사함으로써 결정되는 프로그램 순서로 배열된 프로그램 패킷들을 포함하는 전송 스트림을 재구성하고;
상기 전송 스트림을 분배함으로써, 상기 발신 본딩된 채널 그룹에 걸쳐 상기 제 1 마커 패킷, 상기 제 1 통신 단위, 상기 추가적인 마커 패킷들, 및 추가적인 통신 단위들을 분배하도록 더 구성된다.
바람직하게는, 상기 트랜스본딩 로직은,
상기 발신 본딩된 채널 그룹이 단일 통신 채널을 포함할 때, 상기 제 1 마커 패킷을 분배하지 않으면서 상기 발신 본딩된 채널 그룹에 걸쳐 상기 제 1 통신 단위를 분배하도록 더 구성된다.
바람직하게는, 상기 인입 본딩된 채널 그룹 및 상기 발신 본딩된 채널 그룹은 공통의 통신 채널을 공유한다.
바람직하게는, 상기 인입 본딩된 채널 그룹 및 상기 발신 본딩된 채널 그룹은 공통의 통신 채널을 공유하지 않는다.
일 측면에 따르면, 데스티네이션(destination) 디바이스와 통신하는 게이트웨이(gateway) 디바이스가 제공되고,
상기 게이트웨이는,
인입 본딩된 채널 그룹을 함께 형성하는 제 1 세트의 통신 채널들에 대한 입력 인터페이스들;
발신 본딩된 채널 그룹을 함께 형성하는 제 2 세트의 통신 채널들에 대한 출력 인터페이스들; 및
상기 입력 및 출력 인터페이스들과 통신하는 트랜스본더(transbonder)를 포함하고,
상기 트랜스본더는,
상기 인입 본딩된 채널 그룹에 걸쳐 프로그램 데이터를 수신하고;
프로그램 순서로 배열된 전송 스트림으로서, 상기 프로그램 데이터를 포함하는 상기 전송 스트림을 재구성하고;
상기 발신 본딩된 채널 그룹에 걸쳐 상기 전송 스트림을 상기 데스티네이션 디바이스에 송신하도록 구성된다.
바람직하게는, 상기 트랜스본더는,
상기 전송 스트림을 청크 크기의 통신 단위들로 분할하고;
상기 발신 본딩된 채널 그룹에 걸쳐 상기 통신 단위들을 분배함으로써,
상기 발신 본딩된 채널 그룹에 걸쳐 상기 전송 스트림을 송신하도록 구성된다.
바람직하게는, 상기 인입 본딩된 채널 그룹 및 상기 발신 본딩된 채널 그룹은 공통의 통신 채널 유형을 공유하지 않는다.
바람직하게는, 상기 인입 본딩된 채널 그룹 및 상기 발신 본딩된 채널 그룹은 공통의 통신 채널을 공유하지 않는다.
본 발명에 따르면, 채널 트랜스본딩(channel transbonding)을 사용함으로써 임의의 단일 통신 채널이 운반할 수 있는 것보다 더 많은 대역폭을 전달할 수 있는 네트워크 디바이스에서의 채널 트랜스본딩 방법 및 이를 위한 시스템을 구현할 수 있다.
발명은 다음의 도면들 및 설명을 참조하여 더욱 양호하게 이해될 수 있다. 도면들에서, 유사한 참조 번호들은 상이한 도면들에 걸쳐 대응하는 부분들을 지시한다.
도 1은 채널 본딩을 사용하는 예시적인 콘텐츠 전달 아키텍처를 도시한다.
도 2는 네트워크 데이터를 트랜스본딩하기 위한 네트워크 디바이스의 예를 도시한다.
도 3은 네트워크 데이터를 트랜스본딩하기 위한 로직의 예를 도시한다.
도 4는 네트워크 데이터를 트랜스본딩하기 위한 로직의 예를 도시한다.
도 5는 네트워크 데이터를 트랜스본딩하기 위한 로직의 예를 도시한다.
도 6은 네트워크 데이터를 트랜스본딩하기 위한 로직의 예를 도시한다.
도 7은 네트워크 데이터를 트랜스본딩하기 위한 로직의 예를 도시한다.
도 8은 네트워크 데이터를 트랜스본딩하기 위한 로직의 예를 도시한다.
도 9는 트랜스본더(transbonder)의 예시적인 구현예를 도시한다.
도 10은 채널 본딩을 사용하는 예시적인 콘텐츠 전달 아키텍처를 도시한다.
도 1은 예시적인 콘텐츠 전달 아키텍처(100)를 도시한다. 아키텍처(100)는 데이터(예를 들어, 오디오 스트림들 및 비디오 스트림들)를 소스(source)(102)로부터 데스티네이션(destination)(104)으로 전달한다. 소스(102)는 위성(satellite), 케이블(cable), 또는 다른 미디어 제공자(media provider)들을 포함할 수 있고, 예를 들어, 콘텐츠를 소비자들에게 전달하는 헤드-엔드 분배 센터(head-end distribution center)를 나타낼 수 있다. 예를 들어, 데이터가 오디오/비주얼(audio/visual) 프로그래밍일 때, 소스(102)는 MPEG2(Motion Picture Expert Group 2 : 동화상 전문가 그룹 2) 전송 스트림(TS : Transport Stream) 패킷들의 형태인 데이터를 수신할 수 있다. 예를 들어, 셋톱 박스(set top box)가 소스(102)에 의해 송신되고 소스(102)로부터 수신되는 데이터를 처리하는 경우, 데스티네이션(104)은 가정, 기업, 또는 다른 위치일 수 있다. 이하의 논의는 패킷들을 참조하며, 어떤 곳에서는, 특정 언급이 MPEG2 TS 패킷들로 이루어진다. 그러나, 이하에 설명된 채널 본딩 기술들은 데이터 및 통신 단위들이 MPEG2 TS 패킷들이든, 다른 유형들의 패킷들이든, 또는 통신 단위들의 다른 유형들이든, 데이터 및 통신 단위들의 넓은 범위의 상이한 유형들 및 포맷들에 적용될 수 있고, 상기 기술들은 처리의 임의의 단계에 있는 MPEG2 TS 패킷들로 제한되지 않는다.
소스(102)는 통계적 멀티플렉서(statistical multiplexer)(106) 및 분배기(distributor)(108)를 포함할 수 있다. 통계적 멀티플렉서(106)는 소스 전송 스트림(STS : source transport stream)(110)에서 아이들 시간(idle time)을 감소시킴으로써 데이터 전송을 효율적으로 만드는데 도움이 된다. 그와 관련하여, 통계적 멀티플렉서(106)는 전송 스트림(110)을 형성하기 위하여 다수의 입력 소스들(132)로부터 함께 데이터를 인터리빙(interleaving)할 수 있다. 예를 들어, 통계적 멀티플렉서(106)는 폭넓게 변동하는 유형들의 콘텐츠를 변동하는 비트 레이트(bit rate)로 전달하기 위해 필요한 대역폭을 임의의 희망하는 품질 레벨로 데스티네이션(104)에 제공하기 위하여, 하이(high) 비트 레이트 프로그램 채널들 중에서 부가적인 STS(110)를 할당할 수 있고 로우(low) 비트 레이트 프로그램 채널들 중에서 상대적으로 적은 대역폭을 할당할 수 있다. 따라서, 통계적 멀티플렉서(106)는 임의의 수의 입력 소스들 중에서 STS(110)의 대역폭을 매우 유연성 있게 분할한다.
몇몇 입력 소스들(132)은 도 1에 존재한다: 소스1, 소스2, ..., 소스n. 임의의 유형의 오디오, 비디오, 또는 다른 유형의 데이터(예를 들어, 웹 페이지들 또는 파일 전송 데이터)를 운반하는 임의의 수의 이러한 입력 소스들이 있을 수 있다. 소스 데이터의 특정 예들은 디지털 텔레비전을 위한 MPEG 또는 MPEG2 TS 패킷들(예를 들어, 개별적인 텔레비전 프로그램들 또는 방송국들), 및 4K x 2K 고효율 비디오 코딩(HEVC : High Efficiency Video Coding) 비디오(예를 들어, H.265/MPEG-H) 데이터를 포함하지만, 입력 소스들은 임의의 유형의 입력 데이터를 제공할 수 있다. 소스 데이터(예를 들어, MPEG2 패킷들)는 패킷들 내의 데이터가 속하는 특정 프로그램(예를 들어, 텔레비전 방송국)을 표시하는 프로그램 식별자(PID : program identifier)들을 포함할 수 있다.
STS(110)는 소스(102) 및 데스티네이션(104) 사이의 임의의 하나 이상의 통신 링크들의 전송 능력을 초과하는 데이터 레이트를 가질 수 있다. 예를 들어, STS(110) 데이터 레이트는 소스(102)를 탈출하는 특정한 케이블 통신 채널에 의해 지원되는 데이터 레이트를 초과할 수 있다. STS(110)의 집합적 대역폭을 데스티네이션(104)에 전달하는 것을 돕기 위하여, 소스(102)는 도 1에서 본딩된 채널 그룹(bonded channel group)(112)으로서 표기된, 다수의 개별적인 통신 채널들의 본딩된 채널 그룹을 공급하는 변조기들(130) 및 분배기(108)를 포함한다. 다시 말해서, 소스(102)는 본딩된 채널 그룹(112)을 형성하는 다수의 발신(outgoing) 통신 채널들로서, STS(110) 내의 데이터를 데스티네이션(104)으로 통신하기 위한 대역폭을 함께 제공하는 상기 다수의 발신 통신 채널들에 걸쳐 STS(110)의 집합적 대역폭(aggregate bandwidth)을 분배한다.
분배기(108)는 하드웨어, 소프트웨어, 또는 둘 모두로 구현될 수 있다. 분배기(108)는 STS(110) 내의 어느 데이터를 어느 통신 채널 상에서 송신할 것인지를 결정할 수 있다. 분배기(108)는 STS(110)를 하나 이상의 패킷들의 청크(chunk)들로 분할할 수 있다. 청크들은 청크, 즉, 청크 내의 프로그램 콘텐츠를 운반할 통신 채널에 기초하여, 또는 분배기(108)에서 구현되는 임의의 다른 희망하는 청크 판정 인자들에 기초하여, 시간에 대한 크기가 변동될 수 있다. 임의의 특정 청크를 데스티네이션(104)으로 전달할 것이라고 분배기(108)가 판정한 채널에 대하여, 분배기(108)는 그 임의의 특정 청크를 변조기에 보낼 수 있다.
그와 관련하여, 본딩된 채널 그룹(112) 내의 다수의 개별적인 통신 채널들은 집합적인 양의 대역폭을 제공하고, 그것은 STS(110)의 집합적 대역폭보다 적을 수 있거나, 상기 집합적 대역폭과 동일할 수 있거나, 상기 집합적 대역폭을 초과할 수 있다. 단지 하나의 예로서, 집합적으로 90 Mbs에 이르는 것을 취급하는 소스(102)로부터 이어지는 3개의 30 Mbs 물리적 케이블 채널들이 있을 수 있다. 본딩된 채널 그룹 내의 통신 채널들은 다이얼-업(dial-up)(예를 들어, 56 Kbps) 채널들, ADSL 또는 ADSL 2 채널들, 동축 케이블(coaxial cable) 채널들, 802.11a/b/g/n 채널들 또는 60 GHz WiGig 채널들과 같은 무선 채널들, 케이블 TV 채널들, WiMAX/IEEE 802.16 채널들, 광섬유(Fiber optic), 10 Base T, 100 Base T, 1000 Base T, 전력선(power line)들, 또는 다른 유형들의 통신 채널들을 포함하는 임의의 유형의 통신 채널일 수 있다. 본딩된 채널 그룹은 유형이 변동되는 임의의 수의 통신 채널들을 포함할 수 있다.
본딩된 채널 그룹(112)은 본딩된 채널 그룹(112) 내의 통신 채널들을 위해 적합한 임의의 수의 전송 메커니즘들(114) 상에서 이동한다. 전송 메커니즘들(114)은 물리적 케이블링(physical cabling)(예를 들어, 광섬유 또는 케이블 TV 케이블링), 무선 접속들(예를 들어, 위성, 마이크로파 접속들, 802.11 a/b/g/n 접속들), 또는 이러한 접속들의 임의의 조합을 포함할 수 있다.
콘텐츠 전달 아키텍처(100)는 네트워크 디바이스(115)와 같이, 소스(102) 및 데스티네이션(104) 사이의 임의의 수의 중간 네트워크 노드들을 포함할 수 있다. 네트워크 디바이스(115)는 패킷 스위치, 라우터(router), 허브(hub), 게이트웨이, 서버, 블레이드(blade), 또는 임의의 다른 데이터 트래픽 취급 디바이스들 또는 로직을 예들로서 포함하는, 네트워크 트래픽을 라우팅하는 임의의 유형의 디바이스들일 수 있다. 네트워크 디바이스(115)는 통신 채널들을 인지하고 있을 수 있고, 네트워크 디바이스(115)는 데이터를 수신하거나, 데이터를 송신하거나, 또는 둘 모두를 위하여 상기 통신 채널들을 통해 통신할 수 있다. 네트워크 디바이스(115)는 인입 채널 본딩 그룹(incoming channel bonding group)에서 임의의 특정 세트의 통신 채널들에 걸쳐 인입 데이터(incoming data)를 수신할 수 있지만, 아웃바운드(outbound) 방향에서, 예를 들어, 발신 채널 본딩 그룹(outgoing channel bonding group)에서 일치하는 세트의 통신 채널들을 가질 필요가 없다. 도 1에서, 네트워크 디바이스(115)는 전송 메커니즘들(114) 상에서 인입 본딩된 채널 그룹(112)을 통해 소스(102)로부터 데이터를 수신한다. 네트워크 디바이스(115)는 전송 메커니즘들(118) 상에서 발신 본딩된 채널 그룹(116)을 통해 데스티네이션(104)으로 데이터를 송신한다. 이하에서 더욱 구체적으로 논의된 바와 같이, 네트워크 디바이스(115)는 채널 트랜스본딩 처리(channel transbonding process)를 수행할 수 있고, 이것은 발신 본딩 구성을 통한 전달을 위하여 인입 본딩 구성을 통해 수신된 데이터를 처리하는 것을 지칭할 수 있다. 그와 관련하여, 네트워크 디바이스(115)는 본딩된 채널 그룹(112)을 통해 소스(102)로부터 STS(110) 데이터를 수신할 수 있고, STS(110) 데이터를 트랜스본딩할 수 있고, 본딩된 채널 그룹(116)을 통해 STS(110) 데이터를 데스티네이션(104)에 송신할 수 있다.
데스티네이션(104)에서, 본딩된 채널 그룹(116)은 개별적인 채널 복조기들(120)에 입력된다. 채널 복조기들(120)은 각각의 통신 채널에서 네트워크 디바이스(115)에 의해 송신된 데이터를 복원한다. 콜레이터(collator)(122)는 복조기들(120)에 의해 복원된 데이터를 수집하고, 데스티네이션 전송 스트림(DTS : destination transport stream)(124)을 생성할 수 있다. DTS(124)는 콜레이터(122)에 의해 시퀀싱된 바와 같이 개별적인 통신 채널들로부터 복원된 패킷들의 하나 이상의 스트림들일 수 있다.
또한, 데스티네이션(104)은 전송 인바운드 처리기(TIP : transport inbound processor)(126)를 포함한다. TIP(126)는 DTS(124)를 처리한다. 예를 들어, TIP(126)는 다른 채널들에 무관하게 각각의 채널에 대한 프로그램 식별자(PID : program identifier) 필터링을 실행할 수 있다. 그 목적을 위하여, TIP(126)는 DTS(124)에서 존재하는 선택된 프로그램(예를 들어, 선택된 프로그램 't')으로부터 패킷들을 식별하고, 선택하고, 출력할 수 있고, 다른 프로그램들을 위하여 패킷들을 누락(drop)하거나 폐기(discard)할 수 있다. 도 1에 도시된 예에서, TIP(126)는 프로그램 't'를 복원하였고, 이것은 소스1에 의해 원래 제공되는 프로그램에 대응한다. TIP(126)는 복원된 프로그램을 텔레비전들, 랩톱(laptop)들, 이동 전화들, 및 개인용 컴퓨터들과 같은 임의의 희망하는 엔드포인트(endpoint)들에 제공한다. 데스티네이션(104)은 예를 들어, 셋톱 박스일 수 있고, 복조기들(120), 콜레이터(122), 및 TIP(124)의 일부 또는 전부는 셋톱 박스에서 하드웨어, 소프트웨어, 또는 둘 모두로 구현될 수 있다.
소스(102), 데스티네이션(104), 및 네트워크 디바이스(115)와 같은 중간 네트워크 노드들은 구성 통신(configuration communication)들(134)을 교환할 수 있다. 구성 통신들(134)은 예를 들어, 프로그램 채널 안내 정보와 동일하거나 유사한 방식으로, 그리고 상기 식별된 통신 채널 유형들 중의 임의의 것을 이용하여, 소스(102), 네트워크 디바이스(115), 및 데스티네이션(104) 사이의 아웃-오브-밴드(out-of-band) 또는 인-밴드(in-band) 채널 상에서 이동할 수 있다. 구성 통신들(134)은 하나 이상의 본딩된 채널 그룹들을 통해 링크된 데이터 송신 디바이스 및 데이터 수신 디바이스 사이에서 교환될 수 있다. 구성 통신(134)의 하나의 예는 데이터 송신 디바이스(예를 들어, STS(110)의 데이터를 네트워크 디바이스(115)에 송신하는 소스(102))로부터 데이터 수신 디바이스(예를 들어, 소스(102)로부터 STS(110)의 데이터를 수신하는 네트워크 디바이스(115))로의 메시지이다. 메시지는 소스(102) 및 네트워크 디바이스(115)를 링크하는 본딩된 채널 그룹(112)의 파라미터들을 전달할 수 있다. 더욱 구체적으로, 구성 통신(134)은 함께 본딩된 통신 채널들의 수; 본딩된 통신 채널들의 식별자들; 본딩된 통신 채널들이 운반할 프로그램들의 유형들; 마커 패킷 포맷(marker packet format); 청크, 프로그램 패킷, 또는 마커 패킷 크기; 청크, 프로그램 패킷, 또는 마커 패킷 PID 또는 시퀀스 번호 정보, 또는 네트워크 디바이스(115)에서 본딩된 채널 그룹(112)의 처리를 용이하게 하는 임의의 다른 청크 또는 본딩 구성 정보를 특정할 수 있다.
데이터 수신 디바이스(예를 들어, 네트워크 디바이스(115))로부터 데이터 송신 디바이스(예를 들어, 소스(102))로의 구성 통신 메시지의 하나의 예는 데이터 수신 디바이스가 적격의(eligible) 본딩된 채널들로서 처리할 수 있는 통신 채널들의 수; 적격의 본딩된 채널들의 식별자들; 예를 들어, 복조기가 기능하고 있지 않고 그 대응하는 통신 채널이 본딩된 채널 그룹 내에 포함되지 않아야 한다는, 데이터 수신 디바이스에서의 복조기들의 상태에 관한 상태 정보; 비트 레이트 또는 대역폭에 영향을 주는 채널 조건들; 또는 본딩된 채널 그룹으로의 데이터의 처리에 영향을 준다고 데이터 송신 디바이스가 간주할 수 있는 임의의 다른 정보를 특정하는 구성 통신(134)이다.
도 2는 네트워크 데이터를 트랜스본딩하기 위한 네트워크 디바이스(200)의 예를 도시한다. 네트워크 디바이스(200)는 콘텐츠 전달 아키텍처(100) 내의 임의의 중간 네트워크 노드일 수 있다. 네트워크 디바이스(200)는 예를 들어, 데스티네이션(104)으로의 전달을 위하여 소스(102)로부터 송신된 STS(110)의 데이터를 라우팅할 수 있다. 그와 관련하여, 네트워크 디바이스(200)는 소스(102) 및 데스티네이션(104)을 링크하는 통신 경로의 업스트림 디바이스로부터 데이터, 예를 들어, STS(110) 데이터를 수신할 수 있다. 업스트림 디바이스들은 소스(102) 또는 업스트림 네트워크 노드를 포함한다. 네트워크 디바이스(200)는 데이터를 다운스트림 네트워크 노드(downstream network node) 또는 데스티네이션(104)과 같은 임의의 다운스트림 디바이스에 송신할 수 있다.
네트워크 디바이스(200)는 인입 통신 채널들을 통해 네트워크 디바이스(200)에 의해 수신되는 데이터를 복원하기 위하여, 트랜스본더(transbonder)(202) 및 복조기들(204)을 포함한다. 또한, 네트워크 디바이스(200)는 발신 통신 채널들을 통해 데이터를 송신하기 위하여 변조기들(206)을 포함한다. 네트워크 디바이스는 인입 본딩된 채널 그룹(210)을 통해 데이터를 수신할 수 있고, 발신 본딩된 채널 그룹(212)을 통해 데이터를 송신할 수 있다.
발신 본딩된 채널 그룹(212)은 인입 본딩된 채널 그룹(210)과 다양한 방식으로 상이할 수 있다. 발신 본딩된 채널 그룹(212)은 인입 본딩된 채널 그룹(210)에서의 통신 채널들 중의 아무것도 포함하지 않거나, 상기 통신 채널들 중의 일부 또는 전부를 포함할 수 있다. 이와 유사하게, 인입 본딩된 채널 그룹(210)은 발신 본딩된 채널 그룹(210)에서의 통신 채널들 중의 아무것도 포함하지 않거나, 상기 통신 채널들 중의 일부 또는 전부를 포함할 수 있다. 인입 또는 발신 본딩된 채널 그룹들은 통신 채널들의 수에 있어서, 통신 채널들의 유형들에 있어서, 임의의 통신 파라미터들에 있어서, 또는 다른 방식들로 상이할 수 있다.
트랜스본딩 처리로 돌아가면, 트랜스본더(202)는 인입 본딩 구성에 따라 업스트림 디바이스로부터 데이터를 수신한다. 도 2에 도시된 예에서, 인입 본딩 구성은 인입 본딩된 채널 그룹(210)을 포함한다. 그러나, 트랜스본더(202)는 이하의 도 7에서 더욱 구체적으로 논의된 바와 같이, 하나 이상의 인입 본딩된 채널 그룹들, 하나 이상의 개별적인 인입 통신 채널들, 또는 그 둘의 임의의 조합으로부터 입력 데이터를 수신할 수 있다. 트랜스본더(202)는 도 2에 도시된 예에서 발신 본딩된 채널 그룹(212)을 포함하는 발신 본딩 구성에 따라 다운스트림 디바이스로의 전달을 위하여, 수신된 입력 데이터를 처리한다. 이하의 도 8에서 더욱 구체적으로 논의된 바와 같이, 트랜스본더(202)는 하나 이상의 발신 본딩된 채널 그룹들, 개별적인 발신 통신 채널들, 또는 이 둘의 임의의 조합에 걸친 전달을 위하여, 수신된 입력 데이터를 트랜스본딩한다.
트랜스본더(202)는 임의의 수의 트랜스본딩 구성 파라미터들에 따라 수신된 데이터를 처리할 수 있다. 트랜스본딩 구성 파라미터들은 인입 본딩된 채널 그룹(210)에서의 임의의 수의 통신 채널들, 인입 본딩된 채널 그룹(210) 내에 포함될 수 있는 통신 채널들, 인입 본딩된 채널 그룹(210) 내에 포함될 수 있는 통신 채널들의 유형, 채널 본딩을 위한 통신 채널들의 시기 및 지속 기간, 본딩 적응 기준들(bonding adaptation criteria), 및 인입 본딩된 채널 그룹(210)에서의 통신 채널들에 걸쳐 네트워크 디바이스(200)에 의해 프로그램 데이터가 어떻게 그리고 언제 수신되는지를 표시할 수 있는 임의의 다른 파라미터들과 같은 임의의 수의 인입 본딩 구성 파라미터들을 특정할 수 있다. 인입 본딩 구성 파라미터들은 네트워크 디바이스(200)가 이를 통해 입력 데이터를 수신하도록 하는 임의의 인입 본딩된 채널 그룹 또는 개별적인 통신 채널에 대한 상기 파라미터들 중의 임의의 것을 특정할 수 있다. 트랜스본딩 구성 파라미터들은 임의의 수의 발신 본딩 구성 파라미터들을 특정할 수도 있고, 이것은 네트워크 디바이스(200)가 이를 통해 데이터를 송신하도록 하는 임의의 발신 본딩된 채널 그룹 또는 개별적인 발신 통신 채널에 대한 인입 본딩 구성 파라미터들에 관한 상기 논의된 바와 같은 유사한 파라미터들을 포함할 수 있다.
추가적인 예들로서, 트랜스본딩 구성 파라미터들은 트랜스본더(202)가 그에 따라 동작하도록 하는 동작 파라미터들을 특정할 수 있다. 트랜스본딩 구성 파라미터들은, 예들로서, 패킷 크기, 청크 크기, 통신 파라미터들, 콘텐츠 및 형태, 또는 수신된 입력 데이터에 대한 부가적인 채널 본딩 정보를 포함하는, 트랜스본더(202)에 의해 수신된 입력 데이터를 업스트림 디바이스(upstream device)가 어떻게 처리 및 분배하였는지를 표시할 수 있다. 이 업스트림 처리 및 분배 파라미터들은 트랜스본더(202)가 예를 들어, 인입 본딩된 채널 그룹(210)을 통해 수신된 데이터를 해독 및 분석하도록 한다. 트랜스본딩 구성 파라미터들은 트랜스본더(202)가 수신된 입력 데이터를 디본딩(debonding)하는 정도를 특정하는 디본딩 레벨 파라미터(debonding level parameter)를 포함할 수 있다. 이하에서 논의된 바와 같이, 디본딩은 수신된 입력 데이터를 정돈된 전송 스트림(ordered transport stream)으로 재구성하기 위한 처리, 예를 들어, 트랜스본더가 STS(110)를 재구성하는 정도를 지칭할 수 있다. 그와 관련하여, 디본딩은 DTS(124)를 생성하기 위하여 콜레이터(122)에 의해 구현되는 기능성(functionality)의 분석 및 시퀀싱과 유사한 특성들을 공유할 수 있다. 또한, 트랜스본딩 구성 파라미터들은 데이터를 다운스트림 네트워크 디바이스에 전달하기 위한 분배 접근법 및 분배 파라미터들을 특정할 수 있다.
몇몇 트랜스본딩 처리 옵션들은 도 3 내지 도 8에서 다음에 논의된다. 예시적인 옵션들은 트랜스본더(202)가 구현할 수 있는 로직(logic)으로서 제시된다. 옵션들은 수신된 데이터가 디본딩되는 정도에 있어서 변동된다. 또한, 옵션들은 예를 들어, 추가적인 마커 패킷들로서, 데이터-링크 계층에서의 네트워크 프레임들 내의 여분의 비트들로서, 패킷들 자체에서 또는 그 외의 것들에서 위치된 프로그램 ID(PID : program ID) 및 시퀀스 ID(SID : sequence ID) 데이터로서, 형태, 위치, 및/또는 수신된 패킷들에 관한 추가적인 채널 본딩 정보의 콘텐츠를 포함하는 데이터가 업스트림 디바이스에서 어떻게 처리 및 분배되었는지에 따라 변동된다. 추가적인 채널 본딩 정보를 통합하는 콘텐츠 분배 기술들은 미국 특허 출원 제___호, 대리인 관리 번호 14528.00560에서 제시되고, 그 내용들은 참조를 위해 그 전체가 본 명세서에 통합된다. 그리고, 일부 예시적인 시나리오들 및 로직이 이하에서 제공되지만, 트랜스본더(202)는 미국 특허 출원 제___호, 대리인 관리 번호 14528.00560에서 제시된 콘텐츠 전달 아키텍처들 중의 임의의 것과 일치하는 데이터를 수신, 복원, 대조, 분배, 또는 송신할 수 있다.
도 3은 트랜스본더(202)가 하드웨어, 소프트웨어, 또는 이 둘 모두로 구현할 수 있는 네트워크 데이터를 트랜스본딩하기 위한 로직(300)의 예를 도시한다. 트랜스본더(202)는 입력 데이터, 예를 들어, 인입 본딩된 채널 그룹(210)의 통신 채널들을 통해 수신된 패킷 데이터를 취득한다(302). 도 3에서, 인입 본딩된 채널 그룹(210)은 통신 채널들 CH1-1, CH1-2, CH1-3, 및 CH1-4에 대해 표기된 복조기들(204) 중의 하나에 개별적으로 대응하는 4개의 통신 채널들을 포함한다.
트랜스본더(202)는 인입 본딩된 채널 그룹(210) 및 발신 본딩된 채널 그룹(212)의 속성들을 특정하는 트랜스본딩 구성 파라미터들을 판독한다(304). 트랜스본딩 구성 파라미터들은 인입 본딩된 채널 그룹(210)에 걸쳐 입력 데이터를 송신하는 업스트림 디바이스에 의해 이용되는 본딩 파라미터들을 특정할 수 있다. 도 3에서, 트랜스본딩 구성 파라미터들은 수신된 입력 데이터가 추가적인 채널 본딩 데이터를 포함하지 않는다고 표시한다.
또한, 트랜스본딩 구성 파라미터들은 트랜스본더(202)가 수신된 패킷 데이터를 디본딩하도록 지시할 수 있다. 트랜스본더(202)는 트랜스본딩 구성 파라미터들에 따라 수신된 입력 데이터를 트랜스본딩, 예를 들어, 처리한다. 도 3에서, 트랜스본더(202)는 320으로 표기된 재구성된 전송 스트림과 같이, 업스트림 디바이스에 의해 송신된 전송 스트림을 완전하게 재구성하기 위하여, 인입 본딩된 채널 그룹(210)을 통해 수신된 입력 데이터를 디본딩하는 것(306)을 포함하는 트랜스본딩 처리를 수행한다. 하나의 구현예에서, 트랜스본더(202)는 콜레이터(122) 또는 유사한 로직을 포함하고, 이 콜레이터(122) 또는 유사한 로직은 그룹 정보, 시퀀스 정보, PID들, 및 통신 채널들 상에 도달하는 수신된 데이터 패킷들로부터 취득된 임의의 다른 희망하는 정보를 분석하고, 수신된 패킷 데이터로부터 전송 스트림을 구성한다. 재구성된 전송 스트림(320)은 예를 들어, STS(110)와 동일한 시퀀스에서 프로그램 패킷들을 전달할 수 있다.
트랜스본딩 처리를 계속하면, 트랜스본더(202)는 다운스트림 디바이스로의 전달을 위하여 복원된 프로그램 데이터를 분배한다. 구체적으로, 트랜스코더(202)는 재구성된 전송 스트림(320)을 발신 본딩된 채널 그룹(212) 내의 통신 채널들로 분배한다(308). 트랜스코더(202)는 트랜스본딩 구성 파라미터들에 의해 특정된 분배 접근법을 사용할 수 있다. 도 3에 도시된 예에서, 트랜스본더(202)는 발신 본딩된 채널 그룹(212)의 3개의 통신 채널들에 걸친 전달을 위하여 재구성된 전송 스트림의 패킷들을 분배한다. 수신된 패킷들은 트랜스본더(202)가 추가적인 채널 본딩 정보를 발생하거나 첨부하지 않으면서 발신 본딩된 채널 그룹(212)에 걸쳐 수신된 입력 데이터를 분배하도록 할 수 있는, 추가적인 마커 패킷들 없이 패킷들의 라우팅을 지원하기 위하여 PID 및 SID 데이터를 포함할 수 있다. 이 예에서, 트랜스본더(202)는 재구성된 전송 스트림(320)을 한 번에 2 패킷씩 라운드 로빈(round robin) 방식으로 발신 본딩된 채널 그룹(212)을 구성하는 통신 채널들로 푸시(push)한다. 따라서, {pkt 1-0, pkt n-0, pkt 1-1, pkt 1-2, pkt 2-0, pkt 2-1, pkt 2-2}의 예시적인 재구성된 전송 스트림(320)이 주어지면, 트랜스본더(202)는:
pkt 1-0 및 pkt n-0을 채널 2-1로; pkt 1-1 및 pkt 1-2를 채널 2-2로, pkt 2-0 및 pkt 2-1을 채널 2-3으로; 그 다음으로,
pkt 2-2를 채널 2-1로; 등등과 같이 푸시한다.
채널마다에 기초하여 마커 패킷들을 추가하는 것, 청크마다에 기초하여 마커들을 추가하는 것, 및/또는 데이터-링크 계층 채널 본딩 정보에 따라 라우팅하는 것을 포함하는 다른 분배 접근법들 및 파라미터들이 고려된다.
도 4는 트랜스본더(202)가 하드웨어, 소프트웨어, 또는 이 둘 모두로 구현할 수 있는 네트워크 데이터를 트랜스본딩하기 위한 로직(400)의 예를 도시한다. 트랜스본더(202)는 인입 본딩된 채널 그룹(210)의 통신 채널들을 통해 수신된 입력 데이터를 취득하고(402), 트랜스본딩 구성 파라미터들을 판독한다(404). 도 4에서, 트랜스본딩 구성 파라미터들은 인입 본딩된 채널 그룹(210)으로부터 수신된 입력 데이터가 삽입된 마커 패킷들을 포함하는 것을 표시한다. 또한, 트랜스본딩 구성 파라미터들은 트랜스본더(202)가 수신된 패킷 데이터를 완전하게 디본딩하도록 지시할 수 있다.
트랜스본더(202)는 트랜스본딩 구성 파라미터들에 따라 수신된 패킷 데이터를 트랜스본딩한다. 도 4에 도시된 예에서, 트랜스본더(202)는 420으로서 표기된 재구성된 전송 스트림을 취득하기 위하여, 인입 본딩된 채널 그룹(210)을 통해 수신된 입력 데이터를 디본딩함으로써(406) 수신된 입력 데이터를 트랜스본딩한다. 그렇게 하기 위하여, 트랜스본더(202)는 마커 패킷들과, 각각의 마커 패킷과 연관된(예를 들어, 뒤따르는) 패킷 데이터를 처리한다. 트랜스본더(202)는 마커 패킷들을 검사함으로써 패킷들을 순서대로 정렬할 수 있다. 따라서, 트랜스본더(202)는 패킷들을 수신할 인입 본딩된 채널 그룹(210)에서의 통신 채널들의 시퀀스를 특정하는 마커 패킷들에서의 채널 번호를 식별할 수 있다. 하나의 예로서, 트랜스본더(202)는 패킷 데이터를 송신하는 업스트림 디바이스에 의한 라운드-로빈 분배 접근법과 일치하는 라운드-로빈 방식으로 패킷들을 취득한다. 또는, 트랜스본더(202)는 트랜스본딩 구성 파라미터들에 따라 특정되는 바와 같이, 인입 본딩된 채널 그룹(210)의 통신 채널들의 복조기들(204)로부터 패킷들을 수집할 수 있다. 재구성된 전송 스트림을 구성할 때(420), 트랜스본더(202)는 마커 패킷들, 다른 추가적인 채널 본딩 정보, 또는 예를 들어, STS(110)의 일부분인 수신된 입력 데이터의 다른 부분들을 폐기할 수 있다.
도 4에 도시된 예에서, 트랜스본더(202)는 하나 이상의 패킷들의 청크들로서 재구성된 전송 스트림(402)을 발신 본딩된 채널 그룹(212)의 발신 통신 채널들로 분배한다. 예들로서, 청크는 1 패킷, 10 패킷들, 100 패킷들, 27 패킷들, 10,000 패킷들, 100 ms의 패킷들, 20 ms의 패킷들, 30 ms의 비디오 데이터, 5 s의 오디오 데이터, 또는 임의의 다른 수 또는 타이밍의 패킷들 또는 오디오/비주얼 콘텐츠일 수 있다. 청크 크기는 트랜스본딩 구성 파라미터들에 의해 특정될 수 있다. 발신 본딩된 채널 그룹(212)을 통해 송신된 청크들의 청크 크기는 인입 본딩된 채널 그룹(210)으로부터 수신된 청크들의 청크 크기와 상이할 수 있다.
트랜스본더(202)는 청크들을 선행하는 마커 패킷들을 발생하고(408), 발신 본딩된 채널 그룹(212)의 통신 채널들에 걸쳐 청크들 및 MP들을 분배한다(410). 도 4에서 알 수 있는 바와 같이, 트랜스본더(202)는 발신 본딩된 채널 그룹(212)에서의 통신 채널들(CH2-1, CH2-2, 및 CH2-3)에 걸쳐 4개 또는 5개의 패킷들의 청크들로서, {pkt 1-0; pkt n-0; pkt 1-1; pkt 1-2; pkt 2-0; pkt 2-1; pkt 2-2; pkt 2-3; pkt 1-3; pkt 1-4; pkt n-1; pkt n-2; pkt 2-4; pkt n-3}의 재구성된 전송 스트림(420)을 분배한다.
도 5는 트랜스본더(202)가 하드웨어, 소프트웨어, 또는 둘 모두로 구현할 수 있는 네트워크 데이터를 트랜스본딩하기 위한 로직(500)의 예를 도시한다. 트랜스본더(202)는 인입 본딩된 채널 그룹(210)에 걸쳐 수신된 데이터를 분배하였던 업스트림 디바이스에 의해 사용되는 하나 이상의 분배 접근법들 및/또는 파라미터들을 이용하여 발신 본딩된 채널 그룹(212)에 걸쳐 수신된 패킷 데이터를 분배할 수 있다. 도 5에서 알 수 있는 바와 같이, 트랜스본더(202)는 입력 데이터가 그것을 통해 수신되었던 청크 크기 및 마커 패킷들을 재사용함으로써 입력 데이터를 분배한다. 트랜스본더(202)는 수신된 입력 데이터를 트랜스본더(202)에 송신함에 있어서 업스트림 스트림 디바이스에 의해 사용되는 임의의 추가적인 채널 본딩 정보, 파라미터들, 또는 기술들을 사용할 수 있다.
트랜스본더(202)는 인입 본딩된 채널 그룹(210)의 통신 채널들을 통해 수신된 입력 데이터를 취득하고(502), 트랜스본딩 구성 파라미터들을 판독한다(504). 이 예에서, 트랜스본딩 구성 파라미터들은 인입 본딩된 채널 그룹(210)으로부터 수신된 입력 데이터가 삽입된 마커 패킷들을 포함한다는 것을 표시한다. 트랜스본딩 구성 파라미터들은 입력 데이터를 송신한 업스트림 디바이스에 의해 사용되는 분배 접근법 및/또는 파라미터들을 특정할 수도 있다.
트랜스본더(202)는 부분적인 디본딩을 수행함으로써 수신된 패킷 데이터를 트랜스본딩할 수 있다. 부분적인 디본딩은 전송 스트림을 전체적으로(예를 들어, 완전하게) 재구성하지 않으면서 전달하기 위하여 수신된 입력 데이터를 처리하는 것을 지칭할 수 있다. 하나의 예로서, 트랜스본더(202)는 추가적인 채널 본딩 정보를 유지하면서 전송 스트림의 순차적인 순서로 수신된 입력 데이터를 순서화(order)함으로써 수신된 입력 데이터를 부분적으로 디본딩한다. 예를 들어, 트랜스본더(202)는 업스트림 디바이스에 의해 삽입되는 수신된 MP들을 폐기하지 않으면서, 수신된 입력 데이터를 STS(110)의 대응하는 부분의 순차적인 패킷 순서로 순서화할 수 있다. 도 5에서 알 수 있는 바와 같이, 트랜스본더(202)는 인입 본딩된 채널 그룹(210)을 통해 수신된 바와 같은 마커 패킷들로서, STS(110)에 따라 순차적인 순서로 배열된 패킷들 사이에 인터리빙된(interleaved) 상기 마커 패킷들을 포함하는 부분적으로 디본딩된 전송 스트림(520)을 생성한다. 부분적으로 디본딩된 전송 스트림(520)을 생성하기 위하여, 트랜스본더(202)는 예를 들어, 라운드-로빈 방식으로 및/또는 특정한 청크 크기에 따라, 업스트림 디바이스에 의해 사용되는 분배 접근법과 일치하는 복조기들(204)로부터 패킷 데이터의 청크들을 수집할 수 있다.
도 5에 도시된 예에서, 트랜스본더(202)는 MP들을 수신하고, 인입 본딩된 채널 그룹(210)의 일부인 통신 채널들에 걸쳐 동일한 그룹 번호의 MP들에 따라 그리고 순서대로 상기 수신된 데이터 스트림들을 동기화한다. 트랜스본더(202)는 그룹 번호 및 채널 번호에 따라 MP들을 뒤따르는 각각의 청크 및 각각의 MP를 취득한다. 이러한 방식으로, 트랜스본더(202)는 마커 패킷들과 같은 추가적인 채널 본딩 정보를 제거하지 않으면서, 이전에 분배된 전송 스트림의 패킷 순서를 유지하는 부분적으로 디본딩된 전송 스트림(520)을 생성한다(506).
트랜스본더(202)는 발신 본딩된 채널 그룹(212)의 통신 채널들에 걸쳐 부분적으로 디본딩된 전송 스트림(520)을 분배할 수 있다(508). 도 5에 도시된 예에서, 트랜스본더(202)는 부분적으로 디본딩된 전송 스트림(520) 내에 이미 포함된 마커 패킷들 및 청크 크기들을 이용하여 부분적으로 디본딩된 전송 스트림(520)을 분배한다. 따라서, {pkt MP1-0; pkt 1-0; pkt n-0; pkt MP1-1; pkt 1-1; pkt 1-2; pkt MP1-2; pkt 2-0; pkt 2-1; pkt MP1-4; pkt 2-2; pkt MP1-5; pkt 2-3; pkt MP1-6; pkt 1-3; pkt 1-4; pkt MP1-7; pkt n-1; pkt n-2; pkt MP1-8; pkt 2-4; pkt n-3}의 부분적으로 디본딩된 전송 스트림(520)에 대하여, 트랜스본더(202)는:
pkt MP1-0, pkt 1-0, 및 pkt n-0을 채널 CH2-1로 푸시하고; pkt MP1-1, pkt 1-1, 및 pkt 1-2를 채널 CH2-2로 푸시하고; pkt MP1-2, pkt 2-0, 및 pkt 2-1을 채널 CH2-3으로 푸시하고; 그 다음으로,
pkt MP1-4 및 pkt 2-2를 채널 CH2-1로 푸시하고; pkt MP1-5 및 pkt 2-3을 채널 CH2-2로 푸시하고; pkt MP1-6, pkt 1-3, 및 pkt 1-4를 채널 CH2-3으로 푸시하고; 그 다음으로,
pkt MP1-7, pkt n-1, 및 pkt n-2를 채널 CH2-1로 푸시하고; pkt MP1-8, pkt 2-4, 및 pkt n-3을 CH2-3 등으로 푸시한다.
또 다른 변형예에서, 트랜스본더(202)는 패킷 순서에 관계없이 수신된 패킷 데이터를 부분적으로 디본딩할 수 있다. 이 경우, 트랜스본더(202)는 인입 본딩된 채널 그룹(210) 내의 통신 채널들로부터, 동일한 그룹 번호의 MP들 및 각각의 MP에 대응하는 청크를 수집할 수 있다. 그 다음으로, 트랜스본더(202)는 입력 데이터를 순서화하기 위하여 MP들을 분석하지 않으면서, 발신 본딩된 채널 그룹(212)의 통신 채널들에 걸쳐 각각의 MP 및 대응하는 청크를 분배할 수 있다. 이 변형은 트랜스본딩 처리 동안에 더 적은 단계들을 허용함으로써 네트워크 디바이스(200)에서의 처리 속도를 개선시킬 수 있다. 전송 스트림의 패킷 순서는 데스티네이션(104)과 같은 다운스트림 네트워크 디바이스에서 나중에 복원될 수 있다.
도 6은 트랜스본더(202)가 하드웨어, 소프트웨어, 또는 둘 모두로 구현할 수 있는 네트워크 데이터를 트랜스본딩하기 위한 로직(600)의 예를 도시한다. 트랜스본더(202)는 인입 본딩된 채널 그룹(210)의 통신 채널들을 통해 수신된 입력 데이터를 취득하고(602), 트랜스본딩 구성 파라미터들을 판독한다(604). 트랜스본더(202)는 상기 설명된 바와 같이, 수신된 입력 데이터를 부분적으로 디본딩할 수 있다. 따라서, 트랜스본더(202)는 수신된 입력 데이터 내에 포함된 추가적인 채널 본딩 정보의 일부 또는 전부를 유지하면서, 이전에 분포된 전송 스트림의 패킷 순서를 재구성하는 부분적으로 디본딩된 전송 스트림(620)을 생성할 수 있다. 도 6에서 알 수 있는 바와 같이, 트랜스본더(202)는 수신된 입력 데이터 내에 포함된 전송 스트림(예를 들어, STS(110)) 또는 프로그램 데이터의 패킷 순서를 재구성할 때(606), 수신된 MP들을 유지한다.
트랜스본더(202)는 청크 MP들과 같은 새로운 MP들을 발생할 수 있다(608). 트랜스본더(202)가 입력 데이터로서, 예를 들어, 부분적으로 디본딩된 전송 스트림(620)의 일부로서 수신된 MP들을 유지하더라도, 트랜스본더(202)는 그렇게 할 수 있다. 그와 관련하여, 트랜스본더(202)는 발신 청크로서, 하나 이상의 이전에 수신된 인입 청크들 및 그 대응하는 MP들을 분배할 수 있다. 트랜스본더(202)는 발생된 청크 MP를 발신 청크와 연관시킬 수 있다. 도 6에서 알 수 있는 바와 같이, 트랜스본더(202)는 2개의 이전에 수신된 인입 청크-MP 쌍들, 예를 들어, {pkt MP1-0; pkt 1-0; pkt n-0} 및 {pkt MP1-1; pkt 1-1; pkt 1-2}을 트랜스본더(202)에 의해 발생된 대응하는 MP, 예를 들어, pkt MP2-0을 갖는 발신 청크로서 분배한다. 트랜스본더(202)는 트랜스본더(202)에 의해 발생된 대응하는 청크 MP와 함께, 부분적으로 디본딩된 전송 스트림(620)으로부터의 2개의 이전에 수신된 인입 청크-MP 쌍들을 계속 푸시한다. 트랜스본더(202)는 분배된 데이터를 발신 본딩된 채널 그룹(212)의 통신 채널들 상으로 푸시한다(610). 도 6에서 알 수 있는 바와 같이, 트랜스본더(202)는 부분적으로 디본딩된 전송 스트림(620)을 다음과 같이 분배한다:
발생된 마커 패킷 pkt MP2-0 및 발신 청크 {pkt MP1-0; pkt 1-0; pkt n-0; pkt MP1-1; pkt 1-1; pkt 1-2}를 채널 CH2-1로 분배하고; 발생된 마커 패킷 MP2-1 및 발신 청크 {MP1-2; pkt 2-0; pkt 2-1; pkt MP1-4; pkt 2-2}를 채널 CH2-2 상으로 분배하고; 발생된 마커 패킷 MP2-2 및 발신 청크 {pkt MP1-5; pkt 2-3; pkt MP1-6; pkt 1-3; pkt 1-4}를 채널 CH2-3 상으로 분배하고; 그 다음으로,
발생된 마커 패킷 pkt MP2-3 및 발신 청크 {pkt MP1-7; pkt n-1; pkt n-2; pkt MP1-8; pkt 2-4; pkt n-3}를 채널 CH2-1 상으로, 등과 같이 분배한다.
하나의 구현예에서, 트랜스본더(202)는 수신된 인입 청크들을 전체적으로 분배할 수 있다. 다시 말해서, 트랜스본더(202)는 수신된 인입 청크의 다수의 발신 청크들로의 분리를 방지하기 위하여 수신된 입력 데이터를 분배할 수 있다.
도 7은 하나 이상의 인입 본딩된 채널 그룹들, 하나 이상의 개별적인 인입 통신 채널들, 또는 그 임의의 조합에 걸쳐 수신된 네트워크 데이터를 트랜스본딩하기 위한 로직(700)의 예를 도시한다. 트랜스본더(202)는 하드웨어, 소프트웨어, 또는 둘 모두로 로직(700)을 구현할 수 있다. 도 7에서, 트랜스본더(202)는 통신 채널들 CH1-1 및 CH1-2를 포함하는 제 1 인입 본딩된 채널 그룹(752)으로부터 입력 데이터를 수신하고(702), 통신 채널들(CH1-3 및 CH1-4)을 포함하는 제 2 인입 본딩된 채널 그룹(754)으로부터 입력 데이터를 수신한다(704). 제 1 및 제 2 인입 본딩된 채널 그룹들은 상이한 업스트림 디바이스들과 연관될 수 있다. 예를 들어, 트랜스본더(202)는 제 1 인입 본딩된 채널 그룹(752)의 통신 채널들을 통해 제 1 업스트림 디바이스로부터 입력 데이터를 수신할 수 있고, 제 2 인입 본딩된 채널 그룹(754)의 통신 채널들을 통해 제 2 업스트림 디바이스로부터 입력 데이터를 수신할 수 있다.
트랜스본더(202)는 트랜스본딩 구성 파라미터들을 판독하고(706), 트랜스본딩 구성 파라미터들에 따라 수신된 입력 데이터를 트랜스본딩한다. 트랜스본딩 구성 파라미터들은 제 1 및 제 2 인입 본딩된 채널 그룹들(752 및 754)을 통해 수신된 입력 데이터를 송신한 하나 이상의 업스트림 디바이스들에 의해 이용되는 분배 및 본딩 파라미터들을 표시할 수 있다. 도 7에서, 트랜스본딩 구성 파라미터들은 제 1 인입 본딩된 채널 그룹(752)으로부터 수신된 입력 데이터가 3 패킷들의 청크 크기로 송신되고 마커 패킷들의 형태인 추가적인 채널 본딩 정보를 포함한다는 것을 표시한다. 또한, 트랜스본딩 구성 파라미터들은 제 2 인입 본딩된 채널 그룹(754)으로부터 수신된 입력 데이터가 2 패킷들의 청크 크기로 송신되고 마커 패킷들의 형태인 추가적인 채널 본딩 정보를 포함한다는 것을 표시한다.
트랜스본더(202)는 위에서 논의된 임의의 방법들로 제 1 및 제 2 인입 본딩된 채널 그룹들(752 및 754)로부터 수신된 입력 데이터를 처리 및 분배할 수 있다. 트랜스본더(202)는 특정한 인입 본딩된 채널 그룹 또는 개별적인 인입 통신 채널로부터 상기 수신된 입력 데이터를 완전히 디본딩할 수 있다. 도 7에 도시된 하나의 예로서, 트랜스본더(202)는 제 1 부분적으로 디본딩된 전송 스트림(720)을 생성하기 위하여 제 1 인입 본딩된 채널 그룹(752)을 통해 수신된 입력 데이터를 부분적으로 디본딩하고(708), 이것은 제 1 인입 본딩된 채널 그룹(752)을 통해 수신된 마커 패킷들 및/또는 임의의 추가적인 채널 본딩 정보를 유지한다. 또한, 트랜스본더(202)는 제 2 부분적으로 디본딩된 전송 스트림(722)을 생성하기 위하여 제 2 인입 본딩된 채널 그룹(754)을 통해 수신된 입력 데이터를 부분적으로 디본딩하고(710), 이것은 제 1 인입 본딩된 채널 그룹(754)을 통해 수신된 마커 패킷들 및/또는 임의의 추가적인 채널 본딩 정보를 유지한다.
하나의 구현예에서, 인입 본딩된 채널 그룹들 및/또는 개별적인 통신 채널들이 하나 이상의 처리, 본딩, 또는 분배 파라미터들에 있어서 상이할 때, 트랜스본더(202)는 하나 이상의 인입 본딩된 채널 그룹들 또는 개별적인 통신 채널들의 입력 데이터를 완전히 디본딩할 수 있다. 예를 들어, 하나의 입력 데이터가 마커 패킷들을 포함하지만 다른 입력 데이터는 포함하지 않을 때, 트랜스본더(202)는 제 1 인입 본딩된 채널 그룹(752) 및/또는 제 2 인입 본딩된 채널 그룹(754)으로부터 수신된 입력 데이터를 완전히 디본딩할 수 있다. 트랜스본더(202)는 예들로서, 마커 패킷 용도에 있어서의 차이들, 청크 크기, 추가적인 채널 본딩 정보의 위치, 추가적인 채널 본딩 정보의 형태, 추가적인 채널 본딩 정보의 부재, 또는 다른 변동들을 포함하는 처리, 본딩, 또는 분배 파라미터들에 있어서의 변동들을 식별할 수 있다. 제 1 및 제 2 인입 본딩된 채널 그룹들(752 및 754)로부터 수신된 입력 데이터 사이의 변동을 식별함에 따라, 트랜스본더(202)는 제 1 인입 본딩된 채널 그룹(752), 제 2 인입 본딩된 채널 그룹(754), 또는 둘 모두로부터의 입력 데이터를 완전히 디본딩할 수 있다.
또 다른 변형예에서, 트랜스본더(202)는 또 다른 인입 본딩된 채널 그룹 및/또는 개별적인 인입 통신 채널의 입력 데이터에 적용되는 처리, 본딩, 또는 분배 파라미터들에 대응하기 위하여, 임의의 인입 본딩된 채널 그룹 및/또는 개별적인 인입 통신 채널로부터의 입력 데이터를 처리, 예를 들어, 부분적으로 디본딩할 수 있다. 하나의 예시로서, 제 2 인입 본딩된 채널 그룹(754)으로부터의 입력 데이터가 마커 패킷들을 포함하지 않을 때에는, 트랜스본더(202)가 제 1 인입 본딩된 채널 그룹(752)으로부터 입력 데이터를 처리(예를 들어, 순서화)할 경우에 마커 패킷들을 폐기할 수 있다.
또 다른 예로서, 트랜스본더(202)는 상이한 인입 본딩된 채널 그룹들 또는 인입 개별 통신 채널들로부터의 입력 데이터가 디본딩되는 정도를 변동시킬 수 있다. 예를 들어, 트랜스본더(202)는 제 1 인입 본딩된 채널 그룹(752)으로부터 수신된 입력 데이터를 완전히 디본딩할 수 있고, 제 2 인입 본딩된 채널 그룹(754)으로부터 수신된 입력 데이터를 부분적으로 디본딩할 수 있어서, 하나의 예로서, 제 2 인입 본딩된 채널 그룹(754)을 통해 수신된 마커 패킷들을 유지한다.
트랜스본딩 처리를 계속하면, 트랜스본더(202)는 멀티플렉싱된(multiplexed) 입력 데이터 스트림(724)을 획득하기 위하여, 제 1 및 제 2 인입 본딩된 채널 그룹들(752 및 754)로부터 입력 데이터를 멀티플렉싱할 수 있다(710). 이와 관련하여, 트랜스본더(202)는 통계적 멀티플렉서(106)와 임의의 수의 유사성들 또는 특징들을 공유할 수 있다. 그 다음으로, 트랜스본더(202)는 예를 들어, 위에서 논의된 임의의 방식들로, 멀티플렉싱된 입력 데이터 스트림(724)을 발신 본딩된 채널 그룹(762) 내의 통신 채널들로 분배한다. 도 7에서 알 수 있는 바와 같이, 트랜스본더(202)는 수신된 입력 데이터의 마커 패킷들 및 청크 크기를 유지하면서, 멀티플렉싱된 입력 데이터 스트림(724)을 다음과 같이 분배한다:
pkt MP1-0, pkt 1-0, pkt 2-0, 및 pkt 2-1을 채널 CH2-1로 분배하고; pkt MP2-0, pkt 5-0 및 pkt 5-1을 채널 CH2-2로 분배하고; pkt MP1-1, pkt 1-1, pkt 1-2, 및 pkt 2-2를 채널 CH2-3으로 분배하고; 그 다음으로,
pkt MP2-1, pkt 5-2, 및 pkt 5-3을 채널 CH2-1로, 등과 같이 분배한다.
하나의 분배 예는 로직(700)을 통해 제시되지만, 트랜스본더(202)는 마커 패킷들, 청크 크기들, 및 추가적인 본딩 정보 형태, 콘텐츠, 및/또는 위치에 따른 변동들을 포함하는, 미국 특허 출원 제___호, 대리인 관리 번호 14528.00560에서 설명되거나 상기에서 설명된 임의의 방식들에 따라 멀티플렉싱된 입력 데이터 스트림(724)을 분배할 수 있다.
도 7은 2개의 인입 본딩된 채널 그룹들로부터 입력 데이터를 수신하는 트랜스본더(202)를 도시하지만, 예시적인 로직(700)은 하나 이상의 인입 본딩된 채널 그룹들, 하나 이상의 개별적인 인입 통신 채널들, 또는 이 둘의 임의의 조합에 대한 임의의 조합으로부터 수신된 입력 데이터를 유사하게 트랜스본딩할 수 있다.
도 8은 하나 이상의 발신 본딩된 채널 그룹들, 하나 이상의 개별적인 발신 통신 채널들, 또는 이 둘의 임의의 조합에 걸친 분배를 위하여 네트워크 데이터를 트랜스본딩하기 위한 로직(800)의 예를 도시한다. 트랜스본더(202)는 로직(800)을 하드웨어, 소프트웨어, 또는 둘 모두로 구현할 수 있다. 도 8에서, 트랜스본더(202)는 인입 본딩된 채널 그룹(852)을 통해 입력 데이터를 수신하고, 채널들을 CH2-1 및 CH2-2을 포함하는 제 1 발신 본딩된 채널 그룹뿐만 아니라, 채널들 CH2-3 및 CH2-4를 포함하는 제 2 발신 본딩된 채널 그룹((864)에 걸쳐 수신된 입력 데이터를 송신한다.
동작 시에, 트랜스본더(202)는 인입 본딩된 채널 그룹(852)의 통신 채널들을 통해 수신된 입력 데이터를 획득하고(802), 트랜스본딩 구성 파라미터들을 판독한다(804).
트랜스본더(202)는 트랜스본딩 구성 파라미터들에 따라 수신된 입력 데이터를 트랜스본딩, 예를 들어, 처리한다. 상기 논의된 바와 같이, 트랜스본딩 구성 파라미터들은 트랜스본더(202)가 수신된 입력 데이터를 디본딩하는 정도를 특정할 수 있다. 트랜스본더(202)는 상기 논의된 임의의 방식들로 수신된 입력 데이터를 처리할 수 있고, 예를 들어, 특정한 추가적인 본딩 정보 등을 완전히 또는 부분적으로 디본딩하거나, 유지하거나, 폐기할 수 있다. 도 9에 도시된 예에서, 트랜스본더(202)는 재구성된 전송 스트림(820)을 획득하기 위하여 입력 데이터를 디본딩하고(806), 이것은 수신된 입력 데이터 내에 포함된 마커 패킷들을 폐기하는 것을 포함한다.
트랜스본딩 처리를 계속하면, 트랜스본더(202)는 발신 본딩된 채널 그룹들(862 및 864)에 걸쳐 수신된 입력 데이터의 분배를 결정한다(808). 트랜스본더(202)는 제 1 발신 본딩된 채널 그룹(862)에 걸쳐 수신된 입력 데이터를 전혀 송신하지 않거나 상기 수신된 입력 데이터의 일부 또는 전부를 송신하도록 결정할 수 있다. 이와 유사하게, 트랜스본더(202)는 제 2 발신 본딩된 채널 그룹(864)에 걸쳐 수신된 입력 데이터를 전혀 송신하지 않거나 상기 수신된 입력 데이터의 일부 또는 전부를 송신하도록 결정할 수 있다.
트랜스본더(202)는 임의의 수의 분배 기준들에 따라 발신 본딩된 채널 그룹들(862 및 864)에 걸친 분배를 위하여 입력 데이터를 분할 수 있다. 트랜스본더(202)는 데스티네이션 IP 어드레스, 데스티네이션 MAC 어드레스, 서비스 품질(QoS : quality of servie) 요건들, 지연시간(latency) 요건들, 데스티네이션 네트워크 또는 서브네트워크, 패킷 유형, 패킷 콘텐츠, 통신 유형, 보안 요건, 또는 임의의 다른 기준들 또는 패킷 특성과 같은, 입력 데이터의 임의의 특성들에 따라 입력 데이터의 분배를 결정할 수 있다.
도 8에 도시된 하나의 예로서, 트랜스본더(202)는 입력 데이터의 패킷들과 연관된 PID에 따른 입력 데이터의 분배를 결정한다. 이 예에서, 트랜스본더(202)는 재구성된 전송 스트림(820)을, 프로그램 '1'(예를 들어, PID='1')과 연관된 패킷들을 포함하는 제 1 발신 전송 스트림(822)과, 프로그램들 '2' 및 '3'(예를 들어, PDI='2' 또는 '3')과 연관된 패킷들을 포함하는 제 2 발신 전송 스트림(822)으로 처리, 예를 들어, 분할한다. 이러한 방식으로, 특정한 데이터를 요청하는 네트워크 디바이스 또는 엔드 디바이스(end device), 예를 들어, 셋톱 박스(STB)는 특정한 본딩된 채널 그룹에 걸쳐 통신할 수 있다. 예시하기 위하여, STB는 제 1 및 제 2 발신 본딩된 채널 그룹들(862 및 864)의 둘 모두를 통해 트랜스본더(202)로부터 데이터를 수신할 수 있다. STB가 프로그램 1(예를 들어, PID='1'을 갖는 패킷 데이터)을 수신하도록 조정될 때, STB는 제 1 발신 본딩된 채널 그룹(862)에 걸쳐 트랜스본더(202)로부터 데이터를 수신할 수 있다. STB가 프로그램 2 또는 3(예를 들어, PID='2' 또는 '3'을 갖는 패킷 데이터)을 수신하도록 조정될 때, STB는 제 2 발신 본딩된 채널 그룹(864)에 걸쳐 트랜스본더(202)로부터 데이터를 수신할 수 있다. 이러한 방식으로, STB는 통신 대역폭을 절약할 수 있고, 모든 4개의 통신 채널들을 사용해야 할 필요 없이 특정한 프로그램을 수신할 수 있다.
하나의 변형예에서, 트랜스본더가 발신 본딩된 채널 그룹들로의 입력 데이터의 분배를 결정할 때, 트랜스본더는 입력 데이터의 선택된 부분을 폐기할 수 있다. 트랜스본더(202)는 패킷 특성들 또는 위에서 논의된 기준들, 예를 들어, IP 어드레스, QoS, 보안, PID, 등 중의 임으의 것에 따라 입력 데이터를 폐기할 수 있다.
트랜스본더(202)는 결정된 분배에 따라 발신 본딩된 채널 그룹들 내의 통신 채널들 및/또는 개별적인 발신 통신 채널들로 입력 데이터를 분배한다. 도 8에서, 트랜스본더는 제 1 발신 본딩된 채널 그룹(862) 및 제 2 발신 본딩된 채널 그룹(864) 내의 통신 채널들로 입력 데이터를 분배한다(810). 트랜스본더(202)는 상기 논의된 임의의 방식들로 각각의 발신 본딩된 채널 그룹에 걸쳐 각각의 입력 데이터를 분배할 수 있다. 또한, 트랜스본더(202)는 상이한 발신 본딩된 채널 그룹들 및/또는 개별적인 발신 본딩된 채널 그룹들에 걸쳐 입력 데이터의 분배를 변동시킬 수 있다. 트랜스본더(202)는 추가적인 본딩 정보가 특정한 발신 본딩된 채널 그룹 및/또는 개별적인 발신 통신 채널에 대한 각각의 발신 데이터와 통신되는지와, 그리고 어떻게 통신되는지를 변동시킬 수 있다. 예를 들어, 도 8에서, 트랜스본더는 제 1 발신 본딩된 채널 그룹(862)의 통신 채널들 CH2-1 및 CH2-2에 걸쳐 송신된 입력 데이터를 갖는 마커 패킷들을 발생 및 송신한다. 특히, 트랜스본더(202)는 발생된 마커 패킷을 뒤따르는 2 패킷들의 청크 크기로 제 1 발신 전송 스트림(822)으로부터 데이터를 분배한다. 따라서, 트랜스본더(202)는 {pkt 1-0, pkt 1-1, pkt 1-2, pkt 1-3, pkt 1-4}의 예시적인 제 1 발신 전송 스트림(822) 및 발생된 마커 패킷들을 다음과 같이 분배할 수 있다:
pkt MP2-0, pkt 1-0, 및 pkt 1-1을 채널 CH2-1로 분배하고, pkt MP2-1, pkt 1-2, 및 pkt 1-4을 채널 2-2로 분배하고; 그 다음으로,
pkt MP2-2 및 pkt 1-4를 CH2-1로, 등과 같이 분배한다.
이와 대조적으로, 도 8에 도시된 예에서, 트랜스본더(202)는 제 2 발신 본딩된 채널 그룹(864)의 채널들 CH2-3 및 CH2-4에 걸쳐 입력 데이터를 분배할 때, 마커 패킷들을 발생하거나 송신하지 않는다. 그 대신에, 트랜스본더(202)는 4 패킷들의 청크 크기들로 제 2 발신 전송 스트림(824)을 분배하고, 이것은 채널 CH2-4에 걸친 분배를 위하여 널 패킷(null packet)의 삽입을 포함할 수 있다.
도 8은 2개의 발신 본딩된 채널 그룹들에 걸쳐 전달하기 위하여 입력 데이터를 분배하는 트랜스본더(202)를 도시하지만, 예시적인 로직(800)은 하나 이상의 발신 본딩된 채널 그룹들, 하나 이상의 개별적인 발신 통신 채널들, 또는 이 둘의 임의의 조합에 대한 임의의 조합에 걸쳐 수신된 입력 데이터를 유사하게 분배할 수 있다.
트랜스본더(202)는 상기 설명된 예시적인 로직(300-900) 중의 임의의 것을 부분적으로, 전체적으로, 또는 임의의 조합으로 구현할 수 있다. 하나의 변형예로서, 발신 본딩된 채널 그룹(212)이 단일 통신 채널을 포함할 때, 트랜스본더(202)는 입력 데이터를 재구성된 전송 스트림으로 디본딩할 수 있다. 즉, 트랜스본더(202)는 인입 본딩된 채널 그룹(210)을 통해 입력 데이터로서 수신된 임의의 마커 패킷들을 제거, 예를 들어, 폐기할 수 있다. 그 다음으로, 트랜스본더(202)는 발신 본딩된 채널 그룹(212) 내의 단일 통신 채널에 걸쳐 재구성된 전송 스트림을 분배할 수 있다. 또 다른 변형예로서, 발신 본딩된 채널 그룹(212)이 단일 통신 채널을 포함할 때, 트랜스본더(202)는 입력 데이터로서 수신된 마커 패킷들을 유지할 수 있다.
도 9는 트랜스본더(202)의 예시적인 구현예(900)를 도시한다. 트랜스본더(202)는 시스템 로직(902) 및 사용자 인터페이스(904)를 포함한다. 또한, 트랜스본더는 912, 914, 및 916으로 표기된 것들과 같은 변조기 출력 인터페이스들뿐만 아니라, 906, 908, 및 910으로 표기된 것들과 같은 복조기 입력 인터페이스들을 포함한다. 복조기 입력 인터페이스들(906-910)은 입력 데이터를 트랜스본더 시스템 로직(902)에 공급하고, 이 트랜스본더 시스템 로직(902)은 임의의 수의 인입 본딩된 채널 그룹들, 인입 개별 통신 채널들, 또는 이 둘의 임의의 조합으로부터 수신된 입력 데이터를 처리할 것이다. 시스템 로직(902)은 임의의 수의 발신 본딩된 채널 그룹들, 발신 개별 통신 채널들, 또는 이 둘의 임의의 조합에 걸친 전달을 위하여 수신된 입력 데이터를 처리한다. 변조기 출력 인터페이스들(912-916)은 통신 채널들 상에서 데이터를 구동하는 변조기들에 데이터를 공급한다. 복조기 입력 인터페이스들(906-910) 및/또는 변조기 출력 인터페이스들(912-916)은 예들로서, 직렬 또는 병렬 버스 인터페이스들일 수 있다. 트랜스본더(202)는 예를 들어, 콘텐츠 전달 아키텍처(100) 내의 다른 네트워크 디바이스들과 구성 통신들(134)을 통신하기 위한 통신 인터페이스를 포함할 수도 있다.
트랜스본더 시스템 로직(902)은 (예를 들어, 도 1 내지 도 8에 대하여) 트랜스본더(202)의 동작과 관련하여 설명된 로직 중의 임의의 것을 하드웨어, 소프트웨어, 또는 이 둘 모두로 구현한다. 하나의 예로서, 시스템 로직(902)은 하나 이상의 처리기들(918) 및 프로그램 및 데이터 메모리들(920)을 포함할 수 있다. 프로그램 및 데이터 메모리들(920)은 예를 들어, 트랜스본딩 명령들(922) 및 트랜스본딩 구성 파라미터들(924)을 유지한다.
처리기들(918)은 트랜스본딩 명령들(922)을 실행하고, 트랜스본딩 구성 파라미터들(924)은 처리기들(918)이 수행할 채널 트랜스본딩의 유형에 대해 처리기들(918)에게 통지한다. 그 결과, 처리기들(918)은 상기 설명된 트랜스본딩 처리들 중의 임의의 것을 구현할 수 있다. 트랜스본더(202)는 트랜스본딩 구성 파라미터들(924) 중의 임의의 것을 변경, 관측, 추가, 또는 삭제하기 위하여 사용자 인터페이스(904)로부터 입력을 받아들일 수 있다.
도 10은 채널 본딩을 사용하는 예시적인 콘텐츠 전달 아키텍처(1000)를 도시한다. 아키텍처(1000)는 하나의 특정한 트랜스본딩 환경을 예시하고, 게이트웨이 디바이스(gateway device)(1002), 셋톱 박스(STB)(1004), 및 디스플레이 디바이스(1006)를 포함한다. 게이트웨이 디바이스(1002)는 콘텐츠 전달 아키텍처에서 중간 네트워크 노드로서 작동될 수 있고, 상기 설명된 네트워크 디바이스(115)와 임의의 수의 유사성들을 공유할 수 있다. 도 10에서, 게이트웨이 디바이스(1002)는 미디어 게이트웨이(media gateway)로서 작동하고, CH1, CH2, 및 CH3으로 표기된 3개의 통신 채널들을 포함하는 인입 본딩된 채널 그룹(1010)에 걸쳐 데이터를 수신한다. 통신 채널들 CH1-CH3은 상기 열거된 통신 채널 유형들 중의 임의의 것일 수 있다. 하나의 특정한 예로서, CH1은 케이블 접속을 구현하고, CH2는 DSL 접속을 구현하고, CH3은 전력선 접속을 구현한다.
게이트웨이 디바이스(1002)는 CH4 및 CH5로 표기된 2개의 통신 채널들을 포함하는 발신 본딩된 채널 그룹(1012)을 통해 데이터를 셋톱 박스에 송신한다. 이 예에서, CH4 및 CH4는 게이트웨이 디바이스(1002) 및 STB(1004)를 링크하는 이더넷 접속(Ethernet connection)을 각각 구현한다. 게이트웨이 디바이스(1002)는 트랜스본더(202)와, CH1, CH2, 및 CH3에 각각 대응하는 3개의 복조기들(1020)과, CH4 및 CH5에 대응하는 2개의 변조기들(1022)를 포함한다.
STB(1004)는 아키텍처(1000)에서 엔드포인트 디바이스로서 작동한다. 그와 관련하여, STB(1004)는 상기 설명된 데스티네이션(104)과의 임의의 수의 유사성들을 공유할 수 있다. STB(1004)는 통신 채널들 CH4 및 CH5 상에서 데이터를 수신하기 위한 2개의 복조기들(1024), DTS(124)를 생성하기 위한 콜레이터(122), 및 TIP(126)를 포함한다. STB(1004)는 소스(102)로부터 출발하는 입력 데이터를 수신할 수 있고, 프로그램 't'와 같은 선택된 프로그램을 복원할 수 있다. STB(1004)는 제시(presentation)를 위하여 프로그램 't'를 디스플레이 디바이스(1006)에 송신할 수 있다.
동작 시에, 게이트웨이 디바이스(1002)는 인입 본딩된 채널 그룹(1010)을 통해 프로그램 데이터를 수신하고, 상기 논의된 방법들의 임의의 조합에 따라 수신된 프로그램 데이터를 트랜스본딩하고, 발신 본딩된 채널 그룹(1012)을 통해 프로그램 데이터를 STB(1004)에 전달한다. STB(1004)는 프로그램 데이터를 수신하고, 디스플레이 디바이스(1006)를 통한 디스플레이를 위하여 프로그램 데이터를 처리한다.
상기 설명된 방법들, 디바이스들, 및 로직은 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 둘 모두의 다수의 상이한 조합들로 다수의 상이한 방식들로 구현될 수 있다. 예를 들어, 시스템의 전부 또는 부분들은 제어기, 마이크로프로세서, 응용 특정 집적 회로(ASIC : application specific integrated circuit) 내의 회로를 포함할 수 있거나, 이산 로직 또는 부품들, 다른 유형들의 아날로그 또는 디지털 회로의 조합으로 구현될 수 있거나, 단일 집적 회로 상에 합성될 수 있거나, 다수의 집적 회로들 사이에 분배될 수 있다. 상기 설명된 로직의 전부 또는 일부는 처리기, 제어기, 또는 다른 처리 디바이스에 의한 실행을 위한 명령들로서 구현될 수 있고, 플래시 메모리(flash memory), 랜덤 액세스 메모리(RAM) 또는 판독전용 메모리(ROM), 소거가능 프로그램가능 판독전용 메모리(EPROM) 또는 컴팩트 디스크 판독전용 메모리(CDROM)과 같은 다른 머신-판독가능 매체, 또는 자기 또는 광 디스크와 같은, 실재적인(tangible) 또는 비-일시적인(non-transitory) 머신-판독가능(machine-readable) 또는 컴퓨터-판독가능(computer-readable) 매체 내에 저장될 수 있다. 따라서, 컴퓨터 프로그램 제품과 같은 제품은 저장 매체와, 상기 매체 상에 저장된 컴퓨터 판독가능 명령들을 포함할 수 있고, 상기 명령들은 엔드포인트, 컴퓨터 시스템, 또는 다른 디바이스에서 실행될 때, 디바이스가 상기 설명 중의 임의의 것에 따라 동작들을 수행하도록 한다.
시스템의 처리 능력은 선택적으로, 다수의 분산된 처리 시스템들을 포함하여, 다수의 처리기들 및 메모리들 사이에서와 같이, 다수의 시스템 부품들 사이에 분산될 수 있다. 파라미터들, 데이터베이스들, 및 다른 데이터 구조들은 별도로 저장 및 관리될 수 있고, 단일 메모리 또는 데이터베이스로 통합될 수 있고, 다수의 상이한 방식들로 논리적 및 물리적으로 조직될 수 있고, 링크된 리스트들, 해시 테이블들, 또는 암시적인 저장 메커니즘들과 같은 데이터 구조들을 포함하는 다수의 방식들로 구현될 수 있다. 프로그램들은 단일 프로그램의 부분들(예를 들어, 서브루틴)일 수 있거나, 별개의 프로그램들일 수 있거나, 몇몇 메모리들 및 처리기들에 걸쳐 분산될 수 있거나, 공유된 라이브러리(예를 들어, 동적 링크 라이브러리(DLL : dynamic link library))와 같은 라이브러리에서와 같이, 다수의 상이한 방식들로 구현될 수 있다. 예를 들어, DLL은 상기 설명된 시스템 처리의 임의의 것을 수행하는 코드를 저장할 수 있다. 발명의 다양한 실시예들이 설명되었지만, 다수의 더 많은 실시예들 및 구현예들이 발명의 범위 내에서 가능하다는 것이 당업계의 당업자들에게 명백할 것이다. 따라서, 발명은 첨부된 청구항들 및 그 등가물들을 고려하는 것을 제외하고는 제한되지 않아야 한다.

Claims (15)

  1. 네트워크 디바이스에서의 방법으로서,
    인입 본딩된 채널 그룹(incoming bonded channel group) 내의 제 1 세트의 통신 채널들로부터 프로그램 패킷들을 수신하는 단계; 및
    상기 인입 본딩된 채널 그룹과 상이한 발신 본딩된 채널 그룹(outgoing bonded channel group) 내의 제 2 세트의 통신 채널들에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 포함하는, 네트워크 디바이스에서의 방법.
  2. 청구항 1에 있어서,
    상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하기 전에, 상기 프로그램 패킷들을 프로그램 순서로 배열된 전송 스트림으로 재구성하는 단계를 더 포함하는, 네트워크 디바이스에서의 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들과 대응하는 마커 패킷들을 수신하는 단계; 및
    상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들과 함께 상기 마커 패킷들을 분배하는 단계를 더 포함하는, 네트워크 디바이스에서의 방법.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    제 1 청크(chunk) 크기의 통신 단위들로 상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들을 수신하는 단계;
    상기 통신 단위들에 대응하는 마커 패킷들을 수신하는 단계; 및
    상기 제 1 청크 크기의 통신 단위들과 함께 상기 마커 패킷들을 분배함으로써 상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 포함하는, 네트워크 디바이스에서의 방법.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
    제 1 청크 크기의 통신 단위들로 상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들을 수신하는 단계; 및
    제 2 청크 크기의 통신 단위들로 상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 포함하는, 네트워크 디바이스에서의 방법.
  6. 청구항 1 내지 청구항 5 중 어느 한 항에 있어서,
    상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들과 대응하는 마커 패킷들을 수신하는 단계; 및
    발신 본딩된 채널 그룹 내의 상기 제 2 세트의 통신 채널들이 단일 통신 채널을 포함할 때,
    상기 마커 패킷들을 검사함으로써 프로그램 순서로 배열된 전송 스트림으로 상기 프로그램 패킷들을 재구성하는 단계;
    상기 마커 패킷들을 폐기하는 단계; 및
    상기 단일 통신 채널을 통해 상기 전송 스트림을 송신함으로써 상기 프로그램 패킷들을 분배하는 단계를 포함하는, 네트워크 디바이스에서의 방법.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서,
    상기 인입 본딩된 채널 그룹을 통해 상기 프로그램 패킷들과 대응하는 마커 패킷들을 수신하는 단계; 및
    발신 본딩된 채널 그룹 내의 상기 제 2 세트의 통신 채널들이 단일 통신 채널을 포함할 때,
    상기 마커 패킷들을 포함하는 데이터 스트림으로 상기 프로그램 패킷들을 배열하는 단계;
    상기 단일 통신 채널을 통해 상기 전송 스트림을 송신함으로써 상기 프로그램 패킷들 및 상기 마커 패킷들을 분배하는 단계를 포함하는, 네트워크 디바이스에서의 방법.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서,
    상기 발신 본딩된 채널 그룹에 걸쳐 마커 패킷들을 분배하는 단계; 및
    상기 마커 패킷들 후방의 상기 발신 본딩된 채널 그룹에 걸쳐 상기 프로그램 패킷들을 분배하는 단계를 더 포함하는, 네트워크 디바이스에서의 방법.
  9. 인입 본딩된 채널 그룹을 형성하는 제 1 세트의 개별적인 통신 채널들에 대한 입력 인터페이스들;
    상기 인입 본딩된 채널 그룹과 상이한 발신 본딩된 채널 그룹을 형성하는 제 2 세트의 개별적인 통신 채널들에 대한 출력 인터페이스들; 및
    상기 입력 인터페이스들 및 상기 출력 인터페이스들과 통신하는 트랜스본딩 로직(transbonding logic)을 포함하고,
    상기 트랜스본딩 로직은,
    프로그램 패킷들을 포함하는 통신 단위들로서, 상기 인입 본딩된 채널 그룹을 통해 수신된 상기 통신 단위들에 대한 인입 청크 크기를 식별하는 트랜스본딩 구성 파라미터들을 판독하고;
    상기 입력 인터페이스들 사이의 제 1 입력 인터페이스에 의해 수신된 제 1 마커 패킷을 획득하고;
    상기 제 1 입력 인터페이스로부터 상기 인입 청크 크기의 제 1 통신 단위를 획득하고;
    상기 발신 본딩된 채널 그룹에 걸친 송신을 위하여, 상기 제 1 마커 패킷 및 상기 제 1 통신 단위를 상기 출력 인터페이스들 사이의 제 1 출력 인터페이스에 분배하도록 구성되는, 시스템.
  10. 청구항 9에 있어서,
    상기 트랜스본딩 로직은,
    상기 입력 인터페이스들 사이의 제 2 입력 인터페이스에 의해 수신된 상기 인입 청크 크기의 제 2 통신 단위 및 제 2 마커 패킷을 획득하고;
    발신 청크 크기의 발신 청크로서 상기 발신 본딩된 채널 그룹에 걸친 송신을 위하여, 상기 제 1 마커 패킷, 제 1 통신 단위, 제 2 마커 패킷, 및 제 2 통신 단위를 상기 제 1 출력 인터페이스에 분배하도록 더 구성되는, 시스템.
  11. 청구항 10에 있어서,
    상기 트랜스본딩 로직은 상기 발신 청크 크기를 결정하기 위하여 상기 트랜스본딩 구성 파라미터들을 판독하도록 구성되는, 시스템.
  12. 청구항 10 또는 청구항 11에 있어서,
    상기 트랜스본딩 로직은,
    상기 발신 청크를 선행하는 상기 제 1 출력 인터페이스에 발신 마커 패킷을 분배하도록 더 구성되는, 시스템.
  13. 청구항 9 내지 청구항 12 중 어느 한 항에 있어서,
    상기 트랜스본딩 로직은,
    상기 입력 인터페이스들로부터 추가적인 마커 패킷들 및 추가적인 통신 단위들을 획득하고;
    상기 제 1 마커 패킷 또는 상기 추가적인 마커 패킷들을 검사함으로써 결정되는 프로그램 순서로 배열된 프로그램 패킷들을 포함하는 전송 스트림을 재구성하고;
    상기 전송 스트림을 분배함으로써, 상기 발신 본딩된 채널 그룹에 걸쳐 상기 제 1 마커 패킷, 상기 제 1 통신 단위, 상기 추가적인 마커 패킷들, 및 추가적인 통신 단위들을 분배하도록 더 구성되는, 시스템.
  14. 청구항 9 내지 청구항 13 중 어느 한 항에 있어서,
    상기 트랜스본딩 로직은,
    상기 발신 본딩된 채널 그룹이 단일 통신 채널을 포함할 때, 상기 제 1 마커 패킷을 분배하지 않으면서 상기 발신 본딩된 채널 그룹에 걸쳐 상기 제 1 통신 단위를 분배하도록 더 구성되는, 시스템.
  15. 데스티네이션(destination) 디바이스와 통신하는 게이트웨이(gateway) 디바이스로서,
    상기 게이트웨이는,
    인입 본딩된 채널 그룹을 함께 형성하는 제 1 세트의 통신 채널들에 대한 입력 인터페이스들;
    발신 본딩된 채널 그룹을 함께 형성하는 제 2 세트의 통신 채널들에 대한 출력 인터페이스들; 및
    상기 입력 및 출력 인터페이스들과 통신하는 트랜스본더(transbonder)를 포함하고,
    상기 트랜스본더는,
    상기 인입 본딩된 채널 그룹에 걸쳐 프로그램 데이터를 수신하고;
    프로그램 순서로 배열된 전송 스트림으로서, 상기 프로그램 데이터를 포함하는 상기 전송 스트림을 재구성하고;
    상기 발신 본딩된 채널 그룹에 걸쳐 상기 전송 스트림을 상기 데스티네이션 디바이스에 송신하도록 구성되는, 데스티네이션 디바이스와 통신하는 게이트웨이 디바이스.
KR1020130025799A 2012-03-11 2013-03-11 네트워크 디바이스에서의 오디오/비디오 채널 트랜스본딩 KR101469824B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261609339P 2012-03-11 2012-03-11
US61/609,339 2012-03-11
US201261663878P 2012-06-25 2012-06-25
US61/663,878 2012-06-25
US13/672,998 2012-11-09
US13/672,998 US8819755B2 (en) 2012-03-11 2012-11-09 Audio/video channel transbonding in a network device

Publications (2)

Publication Number Publication Date
KR20130103687A true KR20130103687A (ko) 2013-09-24
KR101469824B1 KR101469824B1 (ko) 2014-12-05

Family

ID=47900416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130025799A KR101469824B1 (ko) 2012-03-11 2013-03-11 네트워크 디바이스에서의 오디오/비디오 채널 트랜스본딩

Country Status (5)

Country Link
US (3) US8819755B2 (ko)
EP (2) EP3379761B1 (ko)
KR (1) KR101469824B1 (ko)
CN (1) CN103731680B (ko)
TW (1) TWI487327B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917745B2 (en) * 2012-03-11 2014-12-23 Broadcom Corporation Channel bonding with orbital angular momentum
US9240956B2 (en) 2012-03-11 2016-01-19 Broadcom Corporation Communication system using orbital angular momentum
CN107615767B (zh) 2015-06-02 2021-05-25 索尼公司 发送装置、发送方法、媒体处理装置、媒体处理方法以及接收装置
GB201608946D0 (en) * 2016-05-20 2016-07-06 Nagravision Sa Usage rules enforcement

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH2065H1 (en) 1998-12-28 2003-05-06 Multi-Tech Systems, Inc. Proxy server
US7106760B1 (en) * 2002-03-29 2006-09-12 Centillium Communications, Inc. Channel bonding in SHDSL systems
US9722850B2 (en) * 2004-08-09 2017-08-01 Arris Enterprises Llc Method and system for transforming video streams using a multi-channel flow-bonded traffic stream
EP1825679B1 (en) * 2004-12-10 2019-02-20 Avago Technologies International Sales Pte. Limited Upstream channel bonding in a cable communications system
US8516532B2 (en) * 2009-07-28 2013-08-20 Motorola Mobility Llc IP video delivery using flexible channel bonding
CN101888377A (zh) * 2010-05-26 2010-11-17 中兴通讯股份有限公司 一种通信方法及媒体服务器及通信系统
US8654640B2 (en) * 2010-12-08 2014-02-18 General Instrument Corporation System and method for IP video delivery using distributed flexible channel bonding
US9143195B2 (en) * 2011-07-07 2015-09-22 Adtran, Inc. Systems and methods for communicating among network distribution points
KR20130068789A (ko) * 2011-12-16 2013-06-26 한국전자통신연구원 방송 채널 결합 장치 및 방법

Also Published As

Publication number Publication date
EP2639992A3 (en) 2017-02-22
CN103731680B (zh) 2017-12-19
US20150281750A1 (en) 2015-10-01
EP2639992B1 (en) 2018-04-18
TWI487327B (zh) 2015-06-01
US8819755B2 (en) 2014-08-26
KR101469824B1 (ko) 2014-12-05
EP3379761A1 (en) 2018-09-26
US9241177B2 (en) 2016-01-19
EP2639992A2 (en) 2013-09-18
US9088807B2 (en) 2015-07-21
CN103731680A (zh) 2014-04-16
TW201338463A (zh) 2013-09-16
US20130239159A1 (en) 2013-09-12
EP3379761B1 (en) 2020-04-29
US20140331269A1 (en) 2014-11-06

Similar Documents

Publication Publication Date Title
US8667548B2 (en) Audio/video channel bonding architecture
KR101409913B1 (ko) 다수의 네트워크 타입들을 가지는 채널 본딩
KR101409924B1 (ko) 혼합된 직렬 및 병렬 스트림 채널 본딩 아키텍쳐
US9241177B2 (en) Audio/video channel transbonding in a network device
US10554571B2 (en) Packet-to-packet timing reconstruction for channel bonding
KR101724667B1 (ko) 주파수 채널을 이용한 방송용 스트림 송신 장치와 수신 장치 및, 이를 이용한 방송용 스트림 처리 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee