KR101006703B1 - 미디어 기반 파일 송신 시스템 및 방법 - Google Patents
미디어 기반 파일 송신 시스템 및 방법 Download PDFInfo
- Publication number
- KR101006703B1 KR101006703B1 KR1020057017322A KR20057017322A KR101006703B1 KR 101006703 B1 KR101006703 B1 KR 101006703B1 KR 1020057017322 A KR1020057017322 A KR 1020057017322A KR 20057017322 A KR20057017322 A KR 20057017322A KR 101006703 B1 KR101006703 B1 KR 101006703B1
- Authority
- KR
- South Korea
- Prior art keywords
- segment
- master controller
- media object
- file
- client
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6375—Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
네트워크(170)를 거쳐서 요청된 미디어 파일을 송신하기 위한 방법 및 장치가 개시되어 있다. 서버(115)의 마스터 제어기(120)는 미디어 객체를 분할한다. 그러면, 서버의 마스터 제어기(120)는, 미디어 객체를 요청했던 클라이언트(140)에 네트워크(170)를 통해 송신하기 위해, 상기 분할된 미디어 객체의 세그먼트를 파일 분할 관리자(130)에 할당한다. 파일 분할 관리자(130)는 유저 데이터그램 프로토콜(UDP) 포트를 통해서 네트워크를 거쳐서 세그먼트를 클라이언트에 송신한다. 그러면, 마스터 제어기(120)는, 원래의 세그먼트가 클라이언트(140)에 성공적으로 송신될 때, 상기 분할된 미디어 객체의 제 2 세그먼트를 파일 분할 관리자(130)에 할당한다. 미디어 객체의 세그먼트화는 파일 분할 관리자(130, 160)의 이용 가능성 및 클라이언트(140)에 의해 지정된 조건에 응답하여 결정된다.
Description
본 발명은 디지털 오디오 및 비디오 파일, 구체적으로는 네트워크를 통해 통신된 미디어 객체를 송신하는 분야에 관한 것이다.
위성 및 케이블 산업이 성장함에 따라, 풀-렝쓰(full-length) 영화를 홈 멀티미디어 유저에게 전달하기 위한 아키택쳐를 개발하는데 많은 관심이 있어왔다. 주문형 비디오(VOD: Video On Demand)로 불리는 하나의 전달 개념은 유저가 한 선택에 기초로 하여 유저에게 영화를 제공한다. 유저는 방송 서비스를 거쳐서 수신될 수 있는 이용 가능한 미디어를 나열하고 있는 전자 프로그래밍 가이드(EPG: Electronic Programming Guide)를 통해 프로그래밍을 선택할 수 있다. 일단 영화가 선택되면, 방송 시스템은 영화를 홈 유저에게 송신할 것이며, 이러한 송신은 (MPEG-2 디지털 케이블 송신과 같은) 케이블 수단과, (DBS, DIRECTVTM, DISH NETWORKTM 등과 같은) 위성 방송과, 지상파 방송(UHF, VHF, 또는 표준 선명도/고선명도 프로그래밍 등을 수신하기 위한 방송 채널), 또는 (DSL 등과 같은) 연선 연결(twisted pair connection) 중 어느 하나를 거쳐서 발생한다.
이후 미디어 객체로 지칭되는 디지털 비디오(오디오)파일 송신은 복잡하므로, 송신 아키택쳐가 큰 규모의 디지털 비디오 파일을 처리할 수 있어야 한다. 예컨대, 미디어 객체가 디스플레이 포맷으로서 "거의 동화상 품질"(예컨대, 고선명 텔레비전)로 디스플레이되기 위한 요건으로, 송신 아키택쳐가 거의 20Mbits/sec의 처리량을 지원하는 네트워크를 필요로 한다. 송신 아키택쳐는 또한 비디오/오디오 송신의 요건을 악화시키지 않기 위해 낮은 송신 에러율을 가져야 한다. 예컨대, DBS 위성 시스템은 허용 가능한 서비스 품질(QOS: Quality Of Service)을 제공하기 위해 10-9 내지 10-11 범위의 에러율을 가져야 한다.
에러가 미디어 객체의 송신을 악화시킬 가능성은, 미디어 객체를 분리된 세그먼트로 분할하는 경우에 감소된다. 데이터 패킷으로 알려져 있는 이러한 세그먼트는 미디어 객체를 송신 아키택쳐의 수신 말단에서 재구성된 개별 구획(individual division)으로 분리한다. 데이터 파일을 패킷화하기 위해 사용된 하나의 기술은 분리된 데이터 패킷을 인코딩 및 전송하기 위한 데이터 스트림(MPEG-2 규격 ISO-13818-1 참조바람)을 생성하기 위해 MPEG-2 데이터-인코딩 표준으로 컴파일한다.
그러나, 미디어 객체를 송신하기 위한 이러한 기술은 대역폭을 효율적으로 사용하지 않는다. 파일 전송 프로토콜(FTP: File Transport Protocol)과 같은 미디어 객체를 전송하기 위한 다른 알려진 기술은 기초가 되는 연결의 이용 가능한 링크 속도와 상관없이 초당 단지 300Kbytes가 송신된다는 물리적인 제약으로 제한된 다. 추가적으로, 일부 미디어 객체 전송 기술은 어떤 연결의 이용 가능한 대역폭을 사용할 수 있다. 그러나, 이러한 기술은 미디어 객체의 송신 시에 중복된 패킷을 사용하며, 이것은 원래 미디어 객체 크기의 두 배인 인코딩 오버헤드(overhead)를 필요로 한다. 그러므로, 이러한 미디어 객체 송신은 에러 정정에 대한 이용 가능한 대역폭의 절반을 비효율적으로 사용한다.
본 발명은, 이러한 네트워크의 물리적인 성능을 기초로 해서 네트워크를 거쳐서 미디어 객체를 할당하고 송신하기 위한 시스템 및 방법에 관한 것이다. 미디어 객체는, 클라이언트 측에서의 액세스 포인트 및 자원의 이용 가능성과, 이러한 액세스 포인트와 이러한 미디어 객체를 송신하는 서버 사이의 네트워크 연결을 기초로 해서, 세그먼트화되고 클라이언트에 송신되는 다수의 부분(partitions)으로 파싱된다.
본 발명의 상기 및 다른 장점과 특성은 수반하는 도면과 연계하여 제공되는 본 발명의 바람직한 실시예에 대한 다음의 상세한 설명으로부터 더 잘 이해될 것이다. 도면의 여러 특성은 실제축적대로 되지 않을 수 있다. 다음의 도면이 포함되어 있다.
도 1은 본 발명의 예시적인 실시예에 따른 시스템 도.
도 2는 본 발명의 예시적인 실시예에 따라 분할된 미디어 객체의 단일 클라이언트로의 송신을 설명하는 시스템 도.
도 3은 본 발명의 예시적인 실시예에 따라 세그먼트화된 미디어 객체의 멀티캐스팅 동작을 통한 송신을 설명하는 시스템 도.
도 4는 본 발명의 예시적인 실시예에 따라 미디어 객체를 다수의 부분으로 세그먼트화하는 송신 방법의 흐름도.
도 5는 분할된 미디어 객체의 파일 세그먼트의 예시적인 실시예를 도시한 도면.
도 6은 본 발명의 예시적인 실시예에 따라 분할된 미디어 객체의 멀티캐스트 송신 동안에 패킷 손실을 나타내는 2차원 어레이를 도시한 도면.
비록 본 발명은 예시적인 실시예로 기술되어 있지만, 이러한 실시예로 제한되지 않는다. 오히려, 첨부된 청구항은 본 발명의 등가 발명의 사상과 범주에서 벗어나지 않고 당업자가 수행할 수 있는 본 발명의 다른 변형 및 실시예를 포함하도록 넓게 해석되어야 한다.
본 발명은 오디오, 비디오 또는 이들 두 미디어 유형의 결합을 미디어 파일 또는 "미디어 객체"로서 송신 및 수신하기 위한 시스템 및 방법이다. 본 명세서에서 사용된 바와 같이, 용어 "미디어 객체"는 오디오, 비디오, 텍스트, 멀티미디어 데이터 파일, 및 스트리밍 미디어 파일을 포함한다. 멀티미디어 객체는 텍스트, 이미지, 비디오 및 오디오 데이터의 임의의 조합물을 포함한다. 스트리밍 미디어는 오디오, 비디오, 멀티미디어, 텍스트 및 상호동작 데이터 파일을 포함하며, 이들 파일은 인터넷, 위성 또는 기타 통신 네트워크 환경을 통해 유저에게 전달되고 전 체 파일 전달이 완료되기 이전에 유저의 컴퓨터/디바이스 상에서 재생되기 시작한다. 미디어 객체는 인터넷, 위성(DSS, DVB-S), 케이블, DSL, T1 라인, 무선 네트워크, 또는 미디어 객체를 전달할 수 있는 기타 전달 시스템을 포함하는 임의의 통신 네트워크를 통해 송신될 수 있다.
미디어 객체의 콘텐츠의 예로 노래, 정치 연설, 뉴스 방송, 영화 예고편, 영화, 텔레비전 쇼 방송, 라디오 방송, 파이낸셜 컨퍼런스 콜(financial conference calls), 생방송 콘서트, 웹-캠 푸티지(web-cam footage), 및 다른 특별 이벤트를 포함한다. 미디어 객체는 REALAUDIO(등록상표), REALVIDEO(등록상표), REALMEDIA(등록상표), APPLE QUICKTIME(등록상표), MICROSOFT WINDOWS(등록상표) MEDIA FORMAT, QUICKTIME(등록상표), MPEG-2 비디오 압축, MPEG-4 비디오 및/또는 오디오 압축, 조인트 비디오 팀 압축 포맷(MPEG-4 파트 10 AVC, H.264), MPEG-4 레이어 Ⅲ 오디오, MP3(등록상표)를 포함하는 여러 포맷으로 인코딩된다. 전형적으로, 미디어 객체는 특정한 포맷과의 호환성을 지시하는 확장자(접미부)로 표기된다. 예컨대, 확장자, .ram, .rm, .rpm 중 하나로 끝나는 미디어 객체(예컨대, 오디오 및 비디오 파일)는 REALMEDIA(등록상표) 포맷과 호환성이 있다. 파일 확장자 및 그 호환 가능한 포맷의 일부 예가 표 1에 나열되어 있다. 미디어 유형, 확장자 및 호환 가능한 포맷의 더 자세한 목록은 http://www.bowers.cc/extensions2.htm에서 볼 수 있다.
포맷 | 확장자 |
REALMEDIA(등록상표) | .ram, .rm, .rpm |
APPLE QUICKTIME(등록상표) |
.mov, .qif |
MICROSOFT WINDOWS(등록상표) MEDIA PLAYER |
.wma, .cmr, .avi |
MACROMEDIA FLASH | .swf, .swl |
MPEG | .mpg, .mpa, .mp1, .mp2 |
MPEG-2 LAYER Ⅲ Audio |
.mp3, .m3a, .m3u |
본 발명의 바람직한 실시예는 "거의 동화상 품질"인 비디오 프리젠테이션을 표시하기 위한 비디오 데이터를 포함하는 미디어 객체로 동작한다. 이러한 미디어 객체는 MPEG-2{동화상 표준 그룹 표준(Motion Picture Standards Group Standard) ISO/IEC 13818-1:2000} 및 ITU-T H.264/MPEG AVC(ISO/IEC 14496-10)와 같은 다양한 포맷으로 인코딩될 수 있거나, 비압축될 수 있다. 더나아가, 본 발명의 기술된 실시예는 또한 영화나 텔레비전 쇼의 후반 작업(post-production)과 같은 애플리케이션과 큰 미디어 객체의 송신을 필요로 하는 다른 애플리케이션에 대한 전문적인 영역에서 사용될 수 있다.
도 1에는, 본 발명에 따른 송신 시스템이 도시되어 있다. 시스템(100)은 큰 미디어 객체를 클라이언트(140)에 전송하기 위한 송신 시스템의 실시예를 디스플레이한다. 파일 서버(110)는 다수의 미디어 객체를 저장할 수 있는 Terabytes 및/또는 Gigabytes 용량을 갖는 하드드라이브 매트릭스와 같은 저장 디바이스이다. 파일 서버(110)는 근거리 네트워크를 거쳐서 마스터 제어기(120)와 파일 분할 관리자(130)와 같은 제어 구성요소를 수용하는 서버(115)에 연결된다. 서버(115)는 바람직하게는 네트워크(170)를 거쳐서 송신되는 미디어 객체를 송신할 수 있는 호스트 컴퓨터나 일련의 컴퓨터를 포함한다. 임의의 개시된 마스터 제어기 및 파일 분할 관리자는 본 발명의 원리에 따라 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합으로서 구현될 수 있다는 점을 주목해야 한다.
마스터 제어기(120)는 네트워크(170)를 거친 분할된 미디어 객체의 클라이언트(140)로의 전송을 관리한다. 마스터 제어기(120)는 또한 파일 서버(110)와, 미디어 객체의 다수의 부분으로의 세그먼트화하기 위한 파일 분할 관리자(130)의 동작을 조정한다. 파일 세그먼트화는 미디어 파일의 세그먼트화 및 이러한 송신된 세그먼트의 에러 복구 모두를 실현할 것을 미디어 객체에게 요청하는 클라이언트 측 상의 자원의 이용 가능성을 기초로 한다. 바람직하게, 마스터 제어기(120)와 클라이언트(140) 사이의 제어 통신은 TCP/IP 호환성 네트워크 연결을 거쳐서 관리된다.
파일 분할 관리자(130)는 마스터 제어기(120)로부터 발행된 지령에 따라 미디어 객체의 적절한 세그먼트를 검색 및 전송해야 한다. 바람직하게, 파일 분할 관리자(130)는 Postel, J.가 저술한 "User Datagram Protocol"(코멘트 요청 768, USC/정보 과학 협회, 1980년 8월)에 기술된 네트워크 연결에 걸쳐서 UDP 기반 프로토콜을 사용하여 그 관련된 파일 세그먼트를 클라이언트(140)에 전송한다. 파일 그룹 분할 관리자(130)는 이상적으로는 동시, 또는 병렬로 그 각각의 세그먼트나 패킷을 송신하고, 그에 따라 송신된 데이터는 동시에 클라이언트(140)에서 수신된다.
네트워크(170)는 종래기술에 알려진 임의의 유형의 네트워크일 수 있다. 바람직하게, 이러한 네트워크는 서버의 서버 측과 클라이언트의 클라이언트 측에서 자원 사이의 다수의 연결을 수용할 수 있으며, 이러한 연결은 UDP 기반, TCP/IP 기반, 또는 이들 둘 모두의 혼합이다. 네트워크(150)가 점유한 대역폭은 바람직하게는 T1 연결(1.5Megabits/sec, 즉 Mbps), T3 연결(45Mbps), DS3 연결(45Mbps), OC3 연결(155Mbps), OC12(248000Mbps) 등과 같은 큰 대역폭 연결이다.
바람직하게, 클라이언트(140)는 네트워크(170)를 거쳐서 송신된 미디어 객체를 수신할 수 있는 호스트 컴퓨터나 일련의 컴퓨터를 포함한다. 바람직하게, 각 클라이언트(140)는 IP 어드레스 및 포트 어드레스와 관련되는 일련의 액세스 포인트나 노드를 갖는다. 이러한 액세스 포인트는 클라이언트 측에서 마스터 제어기(150)와 파일 분할 관리자(160)로서 도시된다.
분할된 미디어 객체의 세그먼트는, 전술된 바와 같이 파일 분할 관리자(130)에 의해 UDP를 통해 클라이언트(140)의 액세스 포인트의 IP 어드레스 및 포트에 송신된다. 비록 클라이언트(140)가 이러한 구성요소를 갖지 않을 지라도, 액세스 포인트는 또한 이 경우 파일 분할 관리자(160)인 클라이언트(140)와 관련된 액세스 포인트와 관련된 대응하는 네트워크 인터페이스 카드 어드레스(NIC 어드레스)나 미디어 액세스 제어(MAC) 어드레스에 의해 식별될 수 있다. 그러면, 클라이언트(140)의 액세스 포인트에 의해 수신된 미디어 객체의 세그먼트는 완전히 수신될 때 미디어 객체로 재구성된다. 미디어 객체의 손실된 세그먼트는 이 명세서에서 추후에 기술될 기술을 사용하여 대체된다. 본 발명의 동작에 대해서, 마스터 제어기(120)와 파일 분할 관리자(130)가 동일한 서버(115)를 점유하거나, 몇몇 서버(115)를 점유할 수 있음을 주목해야 한다. 추가적으로, 마스터 제어기(150)와 파일 분할 관리자(160)는 원하는 송신 시스템의 요건에 따라 동일한 클라이언트(140)를 점유하거나 몇몇 클라이언트(140)를 점유할 수 있다. 본 발명의 원리는 다수의 서버(115)나 클라이언트(140)가 동일한 미디어 객체를 송신 및/또는 수신하는데 사용되는 기타 분포된 네트워크 환경에 응용될 수 있다.
도 2는 세그먼트화된 미디어 객체를 단일 클라이언트(240)에 전송하기 위한 본 발명의 실시예를 도시한다. 본 발명의 이러한 실시예에서, 시스템(200)은 네트워크(250)를 거쳐서 미디어 객체를 서버(215)에 요청하는 클라이언트(240)를 가지며, 여기서, 미디어 객체는 파일 서버(210)에 저장된다. 이 실시예에서, 클라이언트(240)는 미디어 객체에 대한 요청을 발행하고, 세그먼트화된 미디어 객체를 수신하는데 이용 가능한 파일 분할 관리자(230)를 구성하기 위해 마스터 제어기(220)를 구비한다. 마스터 제어기(220)는 TCP/IP 기반 송신을 사용하여 파일 분할 관리자(230)의 어떠한 대응하는 UDP 포트가 대응하는 파일 세그먼트를 수신할 것인지와 요청된 미디어 객체가 세그먼트화될 것인지를 서버(215)에 지시한다. 마스터 제어기(220)는, 모든 세그먼트가 네트워크(250)를 거쳐서 그 각자의 UDP 연결을 통해 파일 분할 관리자(230)로부터 성공적으로 검색될 경우에 수신된 세그먼트를 연결한다.
도 3은 Thaler, D.가 저술한 "Interoperability Rules for Multicast Routing Protocols"(코멘트 요청 2715, Microsoft, 1999년 10월)에서 기술된 IP 멀티캐스팅 아키택쳐를 사용하여 세그먼트화된 미디어 객체를 다수의 클라이언트(350)에 전송하기 위한 본 발명의 실시예를 도시한다.
이러한 실시예에서, 적어도 두 개의 클라이언트(340)가 존재하며, 여기서, 각 클라이언트(340)는 파일 서버(310)에 저장된 미디어 객체에 대한 요청을 발급하기 위해 대응하는 마스터 제어기(350)를 갖는다. 그러나, 각 마스터 제어기(350)는 미디어 객체를 요청하는 모든 클라이언트(340)를 동기화하기 위해 필요한 지연을 고려해야 한다. 미디어 객체에 대한 요청은 각 마스터 제어기(350)에 의해 서버(315)에 대해 구축되며, 그러면, 서버(315)는 세그먼트화된 미디어 객체를 클라이언트(340)의 대응하는 파일 분할 관리자(360)에 멀티캐스팅하거나, 단일 마스터 제어기(360)는 IP 어드레스를 지정하고, 미디어 객체의 세그먼트가 멀티캐스트 네트워크(370)를 거쳐서 이러한 어드레스로 IP 멀티캐스트를 통해 송신되어야 한다. 파일 세그먼트의 파일 분할 관리자(360)로의 송신 및 클라이언트(340)에서 이러한 수신된 파일 세그먼트의 미디어 객체로의 재구성은 도 1 및 도 2에 대해 본 명세서에서 기술된 것과 유사하다.
대안적으로, 마스터 제어기(350)는 분할된 미디어 객체를 수신하기 위해 서버(315)의 마스터 제어기(320)와 연계하여 동작한다. 마스터 제어기(320)는 마스터 제어기(350)에게 어떠한 멀티캐스트 어드레스가 분할된 미디어 객체의 세그먼트를 송신하는데 사용될 것인지를 통보한다. 각 마스터 제어기(350)는 멀티캐스트 네트워크(370)를 거쳐서 이러한 세그먼트를 수신할 것을 그 각각의 파일 분할 관리자에게 명령할 것이다.
도 4는 본 발명의 실시예에 따라 미디어 객체를 송신하기 위한 방법(400)의 흐름도이다. 흐름도에서 제시된 단계가 도 1을 참조하여 제시되어 있다. 단계(410)에서, 클라이언트(140)는 네트워크(170)를 통해서 서버(115)와 관련된 마스터 제어기(120)와 연결된다. 이러한 연결은 TCP/IP 소켓을 거쳐서 구축되며, 여기서, 클라이언트(140)는 전송될 미디어 객체를 식별한다. 이러한 단계 동안에, 클라이언트(140)는 또한 미디어 객체의 송신에 대한 통신율 지정한다.
단계(415)에서, 마스터 제어기(120)는 클라이언트(140)에 의해 제기된 필요한 통신율을 충족하는데 필요한 파일 분할 관리자(130)의 개수를 결정한다. 이러한 단계는 또한 다수의 서버가 세그먼트화된 미디어 객체의 송신에 수반되어야 한다는 점을 포함할 수 있다. 단계(420)는 마스터 제어기(120)가 미디어 객체 중 어떠한 세그먼트 및 어떠한 UDP 포트가 클라이언트(140)에 송신하기 위해 사용될 것인지를 각 분할 관리자(130)에 지시하는 단계이다.
단계(425)는 최종적으로 송신될 미디어 객체의 세그먼트를 다운로드하기 위해 필요한 UDP 포트의 클라이언트(140)를 마스터 제어기(120)가 지시하는 것을 수반한다. 또한, 제어 정보는 마스터 제어기(120)에 의해 클라이언트(140)에 송신되며, 얼마나 많은 패킷이 분할된 미디어 객체의 특정한 세그먼트에 대해 UDP 포트로부터 유입될 것인지를 지시한다. 단계(430)는 각 파일 분할 관리자(130)가 그 할당된 UDP 포트 상에서 송신될 패킷 상에 헤더 블록을 놓는 단계이다. 바람직하게, 헤더 블록은 후속해서 번호순으로 생성된다. 그러면, 패킷은 클라이언트(140)에 송신된다.
그러면, 클라이언트(140)는 어떠한 클라이언트 기반 파일 분할 관리자(160)가 단계(435)에서 사용될 것인지와, 어떠한 서버가 송신된 파일을 수신하도록 활성화될 것인지를 결정한다. 단계(440)에서, 클라이언트 기반 파일 분할 관리자(160)는 액세스 포인트로서 미디어 객체의 송신된 세그먼트를 나타내는 패킷을 대응하는 UDP 포트 상에서 수신한다. 수신된 패킷의 헤더 블록에서의 시퀀스 식별자는 미디어 객체의 수신된 세그먼트를 재구성하는 방법을 결정한다.
만약 임의의 패킷이 특정한 파일 분할 관리자(160)에 대해서 손실되어 있다면, 단계(445)는 클라이언트(140)가 어떠한 패킷이 손실되어 있고 대응하는 파일 분할 관리자(130)에 의해 재송신되어야 하는지를 TCP/IP 연결을 거쳐서 마스터 제어기(120)에게 통지하는 단계이다. 바람직하게, 클라이언트(140)는 서버 측에서 마스터 제어기(120)와 통신하기 위한 클라이언트 측 마스터 제어기(150)를 갖는다. 단계(450)에서, 클라이언트(140)는 미디어 객체의 특정한 세그먼트가 완전히 수신되었다고 마스터 제어기(120)에게 지시한다. 만약 미디어 객체의 전체 다운로드가 완료되지 않는다면, 클라이언트(140)는 추가로 마스터 제어기(120)에게 새로운 파라미터를 사용하여 미디어 객체의 추가적인 세그먼트를 송신할 것을 지시한다{단계(420 내지 445)에서 실행된 바와 같이}.
단계(460)는 마스터 제어기(120)가 클라이언트(140)에게 분할된 미디어 객체의 모든 세그먼트가 송신되었음을 통보하는 단계이다. 그러면, 클라이언트(140)는 미디어 객체의 수신된 세그먼트를 사용하여 미디어 객체를 재구성한다.
도 5는 분할된 미디어 객체의 파일 세그먼트의 예시적인 실시예를 도시한다. 이 도면에 도시된 바와 같이, 파일 세그먼트는 메이저(major) 세그먼트(510)와 마이너(minor) 세그먼트(520)를 포함한다. 메이저 세그먼트(510)는 메이저 세그먼트 경계로서 클라이언트(140)와 서버(115)에 의해 사용되며, 여기서, 메이저 세그먼트(510)는 파일 세그먼트를 전송하는데 사용되는 큰 "블록"이다. 마이너 세그먼트(520)는 메이저 세그먼트(510)를 구성하는데 사용되는 더 작은 "블록"이다. 본 발명의 바람직한 실시예에서, 메이저 세그먼트(510)는, 제 2 메이저 세그먼트(510)가 송신되기 이전에 클라이언트(140)에 의해 완전히 수신되어야 한다. 만약 메이저 세그먼트(510)가 완전히 수신되지 않는다면, 클라이언트(140)는 제어기(120)에게 상기 메이저 세그먼트(510)의 어떠한 마이너 세그먼트(520)가 재송신될 지를 지시하며, 여기서, 각 마이너 세그먼트(520)는 서버(115)의 특정한 파일 분할 관리자(130)에 대응한다.
유니캐스트 송신에서, 마스터 제어기(120)는 메이저 세그먼트(510)를 파일 그룹 분할 관리자(130)에게 표시한다. 그러면, 각 파일 분할 관리자(130)에는 메이저 세그먼트(510)의 일부분이 UDP 패킷으로서 송신되는 마이너 세그먼트(520)로서 할당된다. 메이저 세그먼트(510)를 구성하는데 사용된 마이너 세그먼트(520)가 성공적으로 송신된다면, 각 파일 분할 관리자(130)는 마스터 제어기(120)에게 메이저 세그먼트의 송신이 완료됨을 통보한다. 그러면, 마스터 제어기는 전술된 바와 같이 파일 분할 관리자(130)에 의해 분할되고 클라이언트(140)에 송신될 제 2 마이너 세그먼트(520)를 발급할 것이다.
유리하게, 마스터 제어기(120)는 네트워크 조건의 변화를 지시하는 메시지를 클라이언트(140)로부터 처리하면서, 메이저 세그먼트(510)의 파이프라인을 만들어서, 휴지 시간에 대한 필요를 제거하도록 구성될 수 있다. 메이저 세그먼트(510)의 크기는 또한 네트워크 조건에 응답하여 변경될 수 있다. 예컨대, 메이저 세그먼트(510)는 10개의 마이너 세그먼트(520)로 구성될 수 있다. 패킷의 손실이 마이너 경우에, 메이저 세그먼트(510)의 크기는 12개의 마이너 세그먼트(520)까지 증가할 것이다. 대안적으로, 패킷의 손실이 상당히 있는 경우, 메이저 세그먼트(510)의 크기는 8개의 마이너 세그먼트(520)까지 감소할 것이다. 마이너 세그먼트 양의 조정은 본 발명의 원리에 따라 변경될 수 있다.
메이저 세그먼트(510)에서 마이너 세그먼트(520)의 수가 동일하게 유지했다면, 메이저 세그먼트(510)의 물리적인 크기(Kilobytes)는 네트워크 조건에 따라서 변경되었을 것이라는 점을 또한 고려해야 한다. 이러한 결정은 바람직하게는 클라이언트(140)의 마스터 제어기(150)에 의해 이뤄진다. 대안적으로, 마스터 제어기(120)는 또한 메이저 세그먼트(510)의 사용을 제거할 수 있고, 연속 데이터 블록으로서 생성된 마이너 세그먼트(520)의 사용에 의존할 수 있다. 그러면, 파일 분할 관리자(130)는 이들 마이너 세그먼트(520)를 클라이언트(140)에 송신하고, 여기서, 각 파일 분할 관리자(130)는 마스터 제어기(120)에게 각 마이너 세그먼트(520)의 성공적인 송신에 대해 통보한다. 그러면, 마스터 제어기(120)는 파일 분할 관리자(130)에 송신될 새로운 마이너 세그먼트(520)를 할당하며, 분할된 미디어 객체의 세그먼트의 마이너 세그먼트(520) 모두가 성공적으로 송신될 때까지 이러한 공정을 반복한다.
유니캐스트(또는 하나의 클라이언트) 송신의 경우, 본 발명은 패킷이 송신과 같은 기간 동안에 손실되는 경우에 몇 가지 복구 방식을 제공한다. 일 실시예에서, 마스터 제어기(120)는 데이터 패킷을 송신하기 위해 추가적인 파일 분할 관리자(130)를 추가할 수 있다. 대안적으로, 마스터 제어기(120)는 패킷을 기존의 파일 분할 관리자(130)에게 재전송하는 임무를 할당한다.
패킷 손실 방지를 위한 제 2 방식은 마스터 제어기(120)가 손실된 패킷의 링크 목록을 유지하는 것을 수반한다. 이 실시예에서, 서버(115)의 마스터 제어기(120)와 파일 분할 관리자(130)는 분할된 미디어 객체의 메이저 세그먼트(510) 및 마이너 세그먼트(520) 모두를 송신하고, 이러한 송신은 "제 1 패스"로서 알려져 있다. 링크 목록의 내용은 "제 1 패스" 송신 동안에 손실된 패킷을 지시하기 위해 마스터 제어기(120)에 의해 사용된다. 그러면, 서버 마스터 제어기(120)는 "제 1 패스" 송신 동안에 성공적으로 수신되지 않았던 메이저 세그먼트(510) 및 마이너 세그먼트(520)의 패킷을 재방송하기 위해 파일 분할 관리자(130)와 클라이언트(140)를 사용하여 "제 2 패스" 송신을 조정한다. 이러한 절차는, 클라이언트(140)에 의해 성공적으로 수신된 패킷의 임계치에 도달할 때까지 반복된다.
추가적인 패킷 손실 기술은 서버 측 마스터 제어기(120)나 클라이언트 측 마스터 제어기(150) 중 어느 하나가 그 각자의 측 상의 각각의 자원을 모니터링하는 것을 포함한다. 예컨대, 만약 클라이언트 측 상의 특정한 파일 분할 관리자(130)가 종료(timing out) 상태를 유지하거나, 만약 클라이언트(140)가 응답을 정지한다면, 마스터 제어기(120)는 파일 분할 관리자(130)에 할당된 작업을 취소하고, (송신 데이터의) 이 작업을 제 2 파일 분할 관리자(130)에 재할당하거나, 메이저 세그먼트(510)를 파일 그룹 분할 관리자(130)에 재할당할 것이다. 마스터 제어기(120)는 유저에게 이러한 종료 실패에 대해 통지한다.
대안적으로, 클라이언트 측 상의 통계치를 추적함으로써, 마스터 제어기(150)는 UDP 어드레스가 연속해서 패킷을 손실하고 있음을 발견할 수 있다. 그러면, 마스터 제어기(150)는 서버 측 마스터 제어기(120)에게 UDP 어드레스에 문제가 있음을 통보하며, 시스템의 서버나 클라이언트 측 중 어느 한 측 상에서의 잘못된 파일 분할 관리자를 지시한다. 그러면, 마스터 제어기(120 및 150)는 새로운 UDP 어드레스로의 패킷 송신을 조정하며, 이것은 새로운 파일 분할 관리자의 사용을 수반할 수 있다. 이들 실시예는 또한, 마스터 제어기(120 또는 150) 중 어느 하나가 전술된 바와 같이 기술된 종료나 UDP 실패 패킷 손실 방식을 구현하는데 사용될 수 있음을 고려하고 있다.
멀티캐스트 송신에 대한 패킷 손실 기술은, 서버의 마스터 제어기가 송신된 패킷의 손실을 방지하는 다른 방법을 사용하기 위해 준비되어야 한다는 점을 요구한다. 도 3을 참조하면, 서버 마스터 제어기(320)는 유니캐스트 송신에 사용된 링크 목록과 유사한 세그먼트 미디어 객체의 메이저 세그먼트(510)와 마이너 세그먼트(520)의 송신 동안에 손실된 패킷의 링크 목록을 유지한다. 도 6에서 도시된 바와 같이, 이러한 링크 목록에 대한 변경은 2차원 어레이를 점유하며, 여기서, 손실 패킷(마이너 세그먼트)은 모든 클라이언트(340)에 대해서 손실되었다. 분할된 미디어 객체의 "제 1 패스" 송신은, 미디어 객체의 메이저 세그먼트(510) 모두가 송신될 때, 완료된다. 각 송신된 메이저 세그먼트(510)가 완료하면, 링크 목록은 마스터 제어기(320)에 의해 업데이트된다.
그러면, 마스터 제어기(320)는 "제 1 패스" 동안에 클라이언트(340)에 의해 성공적으로 수신되지 않은 데이터 패킷을 재방송하기 위해 링크 목록의 내용을 사용한다. 이러한 "제 2 패스" 송신은 "손실 패킷" 정보로 송신되는 메이저 세그먼트(510)와 마이너 세그먼트(520)를 갖는다. 이러한 방법은, 모든 클라이언트(340)가 분할된 미디어 객체의 모든 세그먼트를 수신할 때까지 반복된다. 멀티캐스트 송신 모델은 또한 마스터 제어기(320)가 전술된 유니캐스트 송신 모델에 대해 기술된 종료 및 UDP 패킷 손실 방식을 사용하게 함을 주목해야 한다.
선택적으로, 본 발명은 분할된 미디어 객체를 송신하는데 사용된 송신 기술에 유리한 제어-처리 방식을 사용하는 추가적인 실시예를 제공한다. 구체적으로, 본 발명은 미디어 객체를 송신하는데 사용되는 송신 기술이 이러한 파일에 대해 이뤄진 요청에 따라 변경될 수 있는 동작을 제공한다.
예컨대, 미디어 객체는 전술된 유니캐스트 기술을 사용하여 UDP 송신으로서 현재 송신되고 있다. 동일한 파일에 대한 제 2 요청은 이러한 송신 과정 동안에 서버에 유입된다. 도 3을 참조하면, 클라이언트(340)의 클라이언트 측 파일 분할 관리자(330)는 분할된 미디어 객체의 세그먼트를 수신하는 단계를 종료한다. 그러면, 파일 분할 관리자(330)는 분할된 미디어 객체의 새로운 세그먼트를 수신하도록 진행하는 방법에 대한 추가적인 지령을 대기한다. (세그먼트를 수신했던 클라이언트의) 클라이언트 마스터 제어기(350)는 클라이언트(340)가 송신된 세그먼트를 성공적으로 수신했다는 점을 서버 마스터 제어기(320)에게 통보한다. 바람직하게, 비록 시스템이 또한 통신이 마이너 세그먼트(520)에 대해서 발생하게 할 수 있을 지라도, 이러한 통신은 메이저 세그먼트(510)의 경계에서 발생한다.
마스터 제어기(320)는 클라이언트 마스터 제어기(350)에게 미디어 객체의 그 다음 세그먼트가 새로운 어드레스, 구체적으로는 멀티캐스트 어드레스로부터 유래할 것임을 통보한다. 그러면, 클라이언트 마스터 제어기(350)는 표시된 멀티캐스트 어드레스로부터 미디어 객체의 그 다음 세그먼트를 수신할 것을 파일 분할 관리자(330)에게 지시한다. 그러는 동안에, 마스터 제어기(320)는 파일 분할 관리자(330)가 표시된 멀티캐스트 어드레스로부터 미디어 객체의 이러한 그 다음 세그먼트를 멀티캐스트 패킷의 형태로 송신하기 시작함을 표시한다. 미디어 객체를 요청하는 새롭게 추가된 다른 모든 클라이언트(340)는 또한 미디어 객체의 세그먼트를 그 멀티캐스트 어드레스로부터 수신하라는 지시를 받을 것이다.
마스터 제어기(320)는, 모든 세그먼트가 수신되었을 때까지 분할된 미디어 객체의 세그먼트 모두를 클라이언트(340)에 송신할 것이다. 전술된 패킷 손실 기술은 데이터 송신을 보강하는데 사용될 수 있다.
클라이언트(340)나 클라이언트(340) 그룹이 진행중인 멀티캐스트 송신 과정 동안에 동일한 미디어 객체를 요청하는 경우에, 마스터 제어기(320)는 새로운 클라이언트(340) 모두에게 그 다음 메이저 세그먼트(510) 경계에서 진행중인 멀티캐스트와 결합할 것을 통보한다. 이러한 동작은, 마스터 제어기(320)가 요청된 미디어 객체의 세그먼트를 송신하는 대응하는 파일 분할 관리자(330)의 멀티캐스트 어드레스를 송신하게 함으로서, 실현된다. 모든 동기화 및 제어 통신은 바람직하게는 마스터 제어기(320 및 350) 사이에서 TCP/IP 소켓을 거쳐서 통신된다. 추가적으로, 멀티캐스트 세그먼트의 재방송은 바람직하게는 또한 TCP/IP 인터페이스를 거쳐서 실행된다. 다른 제어 통신은 본 발명의 원리에 따라 사용될 수 있음을 주목해야 한다.
본 발명의 기술된 시스템은 클라이언트 측이나 서버 측의 마스터 제어기가 자원, 특히 파일 분할 관리자의 사용을 재구성할 수 있다는 점을 제공한다. 전송율 제어 동작의 경우, 클라이언트는 서버가 원하는 통신율로 분할된 미디어 객체를 송신해야 함을 요청할 수 있다. 서버의 마스터 제어기는 서버의 파일 분할 관리자가 이러한 요청에 응답하여 어떻게 사용되어야 하는지를 결정할 것이다. 추가적으로, 클라이언트는, 미디어 객체가 "08:00에서 17:00까지는 이용 가능한 대역폭의 20%를 사용하고, 그 밖의 시간에는 이용 가능한 대역폭의 90%를 사용하라"는 것과 같은 우선 메커니즘이나 규칙을 사용하여 송신되어야 함을 요청할 수 있다. 서버의 마스터 제어기는 또한 이러한 요청에 응답하여 파일 분할 관리자의 사용을 변경할 것이다. 유사하게, 서버는 분할된 미디어 객체를 송신하는데 사용된 대역폭에 대한 제한을 자발적으로 지정할 수 있다. 본 발명의 바람직한 실시예에서, 서버 및 클라이언트는 최고 발생 가능한 전송율을 달성하기 위해 모든 이용 가능한 전송 자원을 사용하고자 할 것이다.
본 발명은, 분할된 미디어 객체의 장래 송신에 대해 자원 할당이 더 양호하게 결정될 수 있도록, 시스템 성능에 대해 자체-인지(self-teaching)하도록 구성된다. 중앙 처리 장치(CPU) 이용율(utilizations), NIC 처리량, 송신 에러율, 및 말단간 전송 속도에 대한 통계치가 수집된다. 이러한 통계치는 운영체계 및 기타 제 3 자 모니터링 툴을 통해 파일 전송 동안에 수집된다. 클라이언트나 서버 측 중 어느 하나에서의 마스터 제어기는 클라이언트가 세그먼트를 처리하는데 얼마나 걸리는지를 측정함으로써 네트워크 처리량을 유도한다.
시스템 성능에 대한 정보를 사용하여, 클라이언트 및 서버의 마스터 제어기는 미디어 서버가 어떻게 분할되어야 하는 지와, 얼마나 많은 파일 분할 관리자가 사용되어야 하는 지와, 특정한 클라이언트나 서버에 대해 네트워크 지연시간 및 에러율이 어떻게 고려되어야 하는지에 대한 이들 제어기의 가정을 조정할 수 있다.
서버와 클라이언트 사이에 통신된 명령은 아래의 표 2 내지 8에서 기술되어 있다. 표 2는 요청된 미디어 객체의 전송을 개시하기 위해 클라이언트가 서버에 발행한 전송 요청 명령의 예시적인 실시예를 개시하고 있다.
요소 | 바이트 | 용도 |
메시지 유형 | 1 | 이것이 파일 전송 요청임을 지시하는 식별자 |
파일이름 | 100 | 이 세그먼트가 관련된 파일의 이름 |
통신율 | 1 | 전송이 어떠한 통신 속도에서 행해져야 하는지에 대한 지시자 |
멀티캐스트 | 1 | 요청을 수행하기 위해 멀티캐스트를 사용하도록 허용될 수 있는지에 대한 지시자 |
세션 ID | 4 | 메시지 유형이 재시작 임무용인 경우의 세트 |
표 3은 분할된 미디어 객체의 지정된 세그먼트에 대해 송신하기 위해 기대해야 하는 패킷의 수에 대해 클라이언트에게 통보하기 위해 서버의 파일 분할 관리자에 의해 사용된 예시적인 데이터 제어 명령의 포맷을 개시하고 있다. 또한, 이러한 명령은 최종 파일 복사본에서 수신된 (메이저 또는 마이너) 세그먼트가 배치되어야 하는 곳을 식별하기 위해서 사용된다.
요소 | 바이트 | 용도 |
표시자 | 7 | 문자 "CONTROL" |
세그먼트 ID | 4 | 세그먼트의 식별자 |
파일 이름 | 100 | 이 세그먼트가 관련되는 파일 이름 |
오프셋 | 8 | 이 세그먼트가 위치해야 하는 최종 파일 내의 오프셋 |
숫자 | 4 | 이 세그먼트에서 수신될 패킷의 수 |
CRC | 4 | 패킷 완전성을 확인하기 위한 이전 121bytes의 CRC 체크 |
표 4는 서버로부터 클라이언트로 데이터를 송신하는데 사용되는 예시적인 데이터 패킷의 포맷을 개시한다. 구체적으로, 이러한 데이터 패킷 포맷은 분할된 미디어 객체의 메이저 및 마이너 세그먼트를 형성하는데 사용된다.
요소 | 바이트 | 용도 |
시퀀스 ID | 4 | 송신중인 세그먼트 내의 기타 데이터 패킷 |
길이 | 4 | 패킷 내의 바이트의 수 |
데이터 | NA | 길이 요소에 지정된 길이의, 패킷에 대한 데이터 바이트 |
CRC | 4 | 패킷 완전성을 확인하기 위한 데이터의 CRC 체크 |
표 5는 성공적으로 수신되지 않았던 식별된 패킷의 재송신을 요청하기 위해 클라이언트에 의해 사용되는 예시적인 재송신 명령의 포맷을 개시한다. 이러한 명령은 손실된 패킷의 송신을 담당하는 서버에 송신된다.
요소 | 바이트 | 용도 |
메시지 유형 | 1 | 이것이 패킷 재송신 요청임을 지시하는 식별자 |
세그먼트 ID | 4 | 어떠한 패킷이 손실되어 있는지에 대한 세그먼트 ID |
길이 | 4 | 패킷 요소에서 공급된 패킷 식별자의 수 |
패킷 | 가변적임 | 손실된 각 패킷의 식별자가 이 요소에서 채워짐 |
표 6은 서버로부터 클라이언트로 송신되며 파일 전송의 시작을 지시하는 예시적인 구성 명령의 포맷을 개시한다. 이러한 명령은 구체적으로는 서버로부터 데이터를 수신하기 위해 어떠한 ID 어드레스 또는 포트를 사용할 것인지를 클라이언트에게 지시한다.
요소 | 바이트 | 용도 |
메시지 유형 | 1 | 이것이 구성 메시지임을 지시하는 식별자 |
세션 ID | 4 | 재시작에 사용되는 작업용의 식별자 |
프로토콜 | 1 | UDP나 멀티캐스트 기반 프로토콜을 사용할지를 지시함 |
스트림 | 1 | 연결해야할 스트림의 수 |
스트림 어드레스 |
가변적임 | 파일 세그먼트를 수신하기 위해 연결해야 할 IP 어드레스/포트 수의 어레이 |
표 7은 서버의 마스터 제어기에 의해 사용되고, 메이저/마이너 세그먼트를 송신하는데 사용되는 파일 분할 관리자에 통신되는 예시적인 분할 명령의 포맷을 개시한다. 이러한 명령은 미디어 객체가 파일 분할 관리자 사이에서 어떻게 분할되는지를 지시한다.
요소 | 바이트 | 용도 |
메시지 유형 | 1 | 이것이 분할 메시지임을 지시하는 식별자 |
프로토콜 | 1 | UDP나 멀티캐스트를 사용할지를 지시함 |
파일 이름 | 255 | 송신하기 위해 개방해야할 파일의 경로 이름 |
오프셋 | 8 | 데이터를 판독하기 위한 파일의 오프셋 |
바이트 | 4 | 세그먼트에서 송신해야할 바이트의 수 |
표 8은, 파일 분할 관리자가 세그먼트 처리를 완료하였음을 지시할 때, 클라이언트 측 마스터 제어기에 의해 서버에 통신된 세그먼트 완료 명령의 포맷을 개시한다. 완료된 세그먼트를 처리하는 서버의 파일 분할 관리자는 처리할 분할된 미디어 객체의 그 다음 세그먼트를 통보 받을 것이다. 그러면, 파일 분할 관리자는 표 3에 도시된 명령에 따라 데이터 제어 명령을 클라이언트에 발행할 것이다.
요소 | 바이트 | 용도 |
메시지 유형 | 1 | 이것이 세그먼트 완료 메시지임을 지시하는 식별자 |
세그먼트 ID | 4 | 처리가 완료된 세그먼트의 식별자 |
상술한 바와 같이, 본 발명은 디지털 오디오 및 비디오 파일, 구체적으로는 네트워크를 통해 통신된 미디어 객체를 송신하는 분야에 이용된다.
Claims (18)
- 네트워크(170) 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법으로서,미디어 객체를 적어도 두 개의 세그먼트로 분할하는 단계와;상기 적어도 두 개의 세그먼트 중 적어도 하나의 세그먼트를 파일 분할 관리자에 할당하는 단계와;할당된 유저 데이터그램 프로토콜(User Datagram Protocol) 포트를 사용하여 상기 적어도 하나의 세그먼트를 송신하는 단계를포함하고,서버의 마스터 제어기는 상기 적어도 두 개의 세그먼트에 각각 대응하는 적어도 두 개의 파일 분할 관리자를 동작시키며,메이저 세그먼트(major segment)를 구성하는 상기 분할된 미디어 객체의 적어도 하나의 세그먼트는 마이너 세그먼트(minor segment)로 분리되고, 각 마이너 세그먼트는 상기 마스터 제어기에 의해 파일 분할 관리자에 할당되는,네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 제 1항에 있어서, 상기 파일 분할 관리자가 상기 적어도 하나의 세그먼트를 송신했음을 상기 마스터 제어기에게 통보하는 단계와;상기 분할된 미디어 객체의 추가적인 세그먼트를 송신하기 위해 상기 파일 분할 관리자에 할당하는 단계를 포함하는, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 삭제
- 제 2항에 있어서, 상기 마이너 세그먼트는, 제 2 메이저 세그먼트가 마이너 세그먼트로 분리되고 상기 파일 분할 관리자에 의해 송신되기 이전에, 상기 적어도 두 개의 파일 관리자에 의해 성공적으로 송신되는, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 제 2항에 있어서, 상기 마스터 제어기 및 파일 분할 관리자는 상기 미디어 객체를 송신하는데 사용되는 서버의 일부분인, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 제 2항에 있어서, 상기 마스터 제어기는 송신 제어 프로토콜 및 인터넷 프로토콜에 기초한 송신 방식을 사용하여 제 2 마스터 제어기와 통신하며, 상기 파일 분할 관리자는 UDP 포트를 사용하여 서버와 통신하는, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 제 2항에 있어서, 상기 마스터 제어기는 링크 목록에서 성공적으로 송신되지 않은 손실된 세그먼트를 추적하고, 상기 마스터 제어기는 상기 손실된 세그먼트를 담당하는 상기 파일 분할 관리자가 상기 손실된 세그먼트를 재송신하게 하는, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 제 2항에 있어서, 상기 마스터 제어기는, 상기 파일 분할 관리자가 상기 세그먼트를 전달하는데 실패할 경우에 응답하여 상기 분할된 미디어 객체의 세그먼트를 제 2 파일 분할 관리자에게 재할당하는, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 제 1항에 있어서, 상기 세그먼트는 복수의 클라이언트에 의해 수신하기 위해 멀티캐스트 순응 송신 방식을 사용하여 송신되는, 네트워크 연결을 통해서 송신하기 위해 미디어 객체를 세그먼트화하는 방법.
- 네트워크 연결을 통해서 클라이언트가 서버로부터 미디어 객체의 세그먼트를 수신하기 위한 방법으로서,네트워크 연결을 통해서 상기 클라이언트로부터 상기 서버로 미디어 객체를 요청하는 단계와;상기 서버에 의해 상기 요청된 미디어 객체를 적어도 두 개의 세그먼트로 분할하는 단계와;상기 서버에 의해 상기 적어도 두 개의 세그먼트의 제 1 세그먼트를 파일 분할 관리자에 할당하는 단계와;상기 클라이언트로부터, 상기 클라이언트가 상기 미디어 객체의 세그먼트를 수신하는데 사용되는, 유저 데이터그램 프로토콜 포트에 대한 지령을 상기 서버에서 수신하는 단계와;상기 서버로부터 상기 클라이언트로 상기 적어도 두 개의 세그먼트의 제 1 세그먼트를 송신하는 단계와;상기 유저 데이터그램 프로토콜 포트를 통해서 상기 서버로부터 상기 제 1 세그먼트를 상기 클라이언트에서 수신하는 단계를포함하고,상기 서버의 마스터 제어기는 상기 적어도 두 개의 세그먼트에 각각 대응하는 적어도 두 개의 파일 분할 관리자를 동작시키며,메이저 세그먼트를 구성하는 상기 제 1 세그먼트는 제 1 및 제 2 마이너 세그먼트로 분리되고, 여기서 각 마이너 세그먼트는 상기 마스터 제어기에 의해 상기 파일 분할 관리자에 할당되는,네트워크 연결을 통해서 클라이언트가 서버로부터 미디어 객체의 세그먼트를 수신하기 위한 방법.
- 제 10항에 있어서, 상기 미디어 객체에 대한 상기 요청은 클라이언트에 의해 상기 마스터 제어기를 통해 이루어지고, 상기 세그먼트 수신 단계는 상기 마스터 제어기가 상기 클라이언트의 파일 분할 관리자를 동작함으로서 조정되는, 네트워크 연결을 통해서 클라이언트가 서버로부터 미디어 객체의 세그먼트를 수신하기 위한 방법.
- 제 11항에 있어서, 상기 미디어 객체에 대한 상기 단계 동안에 상기 마스터 제어기는 상기 미디어 객체를 수신해야할 원하는 전송율 및 상기 클라이언트에서의 자원의 이용 가능성을 지시하는, 네트워크 연결을 통해서 클라이언트가 서버로부터 미디어 객체의 세그먼트를 수신하기 위한 방법.
- 제 10항에 있어서, 클라이언트는 복수의 클라이언트에 의해 수신하기 위해 멀티캐스트 순응 송신 방식의 일부분으로서 상기 세그먼트를 수신하는, 네트워크 연결을 통해서 클라이언트가 서버로부터 미디어 객체의 세그먼트를 수신하기 위한 방법.
- 제 11항에 있어서, 상기 마스터 제어기는 송신 제어 프로토콜 및 인터넷 프로토콜 기반 송신 방식을 사용하여 제 2 마스터 제어기와 통신하며, 상기 파일 분할 관리자는 UDP 포트를 사용하여 서버와 통신하는, 네트워크 연결을 통해서 클라이언트가 서버로부터 미디어 객체의 세그먼트를 수신하기 위한 방법.
- 미디어 객체를 송신하기 위한 장치로서,상기 미디어 객체를 분할하기 위한 마스터 제어기와;상기 분할된 미디어 객체의 세그먼트를 송신하기 위한 복수의 파일 분할 관리자를 포함하고,여기서, 상기 마스터 제어기는 상기 복수의 파일 분할 관리자를 동작시키며, 상기 마스터 제어기는 상기 복수의 파일 분할 관리자의 이용 가능한 파일 분할 관리자에 따라 상기 미디어 객체를 분할하는 방법을 결정하고,메이저 세그먼트를 구성하는 상기 분할된 미디어 객체의 각 세그먼트는 복수의 마이너 세그먼트로 분리되고,상기 마스터 제어기는 각 마이너 세그먼트를 상기 복수의 파일 분할 관리자로부터 선택된 각각의 파일 분할 관리자에 할당하는,미디어 객체를 송신하기 위한 장치.
- 제 15항에 있어서, 상기 파일 분할 관리자는 유저 데이터그램 프로토콜 포트를 통해서 상기 분할된 미디어 객체의 세그먼트를 송신하는, 미디어 객체를 송신하기 위한 장치.
- 미디어 객체를 수신하기 위한 장치로서,마스터 제어기와;제 15항에 따른 미디어 객체를 송신하기 위한 장치로부터 송신된 분할된 미디어 객체의 세그먼트를 수신하기 위한 복수의 파일 분할 관리자를 포함하고,여기서, 상기 마스터 제어기는 상기 분할된 미디어 객체의 세그먼트를 재구성하는 방법을 결정하는,미디어 객체를 수신하기 위한 장치.
- 제 17항에 있어서, 상기 미디어 객체를 수신하기 위한 장치의 파일 분할 관리자는 유저 데이터그램 프로토콜 포트를 통해 상기 분할된 미디어 객체의 세그먼트를 수신하는, 미디어 객체를 수신하기 위한 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45858803P | 2003-03-28 | 2003-03-28 | |
US60/458,588 | 2003-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050114659A KR20050114659A (ko) | 2005-12-06 |
KR101006703B1 true KR101006703B1 (ko) | 2011-01-10 |
Family
ID=33131809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057017322A KR101006703B1 (ko) | 2003-03-28 | 2004-03-29 | 미디어 기반 파일 송신 시스템 및 방법 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7831603B2 (ko) |
EP (1) | EP1609053B1 (ko) |
JP (1) | JP2006521643A (ko) |
KR (1) | KR101006703B1 (ko) |
CN (1) | CN1764897B (ko) |
BR (1) | BRPI0408622A (ko) |
ES (1) | ES2564802T3 (ko) |
MX (1) | MXPA05010227A (ko) |
WO (1) | WO2004088501A1 (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050034151A1 (en) * | 2003-08-08 | 2005-02-10 | Maven Networks, Inc. | System and method of integrating video content with interactive elements |
CA2909150C (en) | 2004-10-12 | 2017-11-07 | Tq Delta, Llc | Resource sharing in a telecommunications environment |
US20060100845A1 (en) * | 2004-11-08 | 2006-05-11 | Mazzagatti Jane C | Multiple stream real time data simulation adapted for a KStore data structure |
WO2006058544A1 (en) * | 2004-11-30 | 2006-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for delivering multimedia files |
US7937379B2 (en) | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US7191215B2 (en) | 2005-03-09 | 2007-03-13 | Marquee, Inc. | Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines |
US7698451B2 (en) | 2005-03-09 | 2010-04-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US20080022343A1 (en) | 2006-07-24 | 2008-01-24 | Vvond, Inc. | Multiple audio streams |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
US8219635B2 (en) | 2005-03-09 | 2012-07-10 | Vudu, Inc. | Continuous data feeding in a distributed environment |
US9176955B2 (en) * | 2005-03-09 | 2015-11-03 | Vvond, Inc. | Method and apparatus for sharing media files among network nodes |
US8904463B2 (en) | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US8099511B1 (en) | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
US8134928B1 (en) | 2005-12-15 | 2012-03-13 | Nvidia Corporation | Technique for identifying a failed network interface card within a team of network interface cards |
BRPI0709871B1 (pt) | 2006-04-12 | 2019-10-15 | Tq Delta, Llc. | Retransmissão de pacote e compartilhamento de memória |
US20070288604A1 (en) * | 2006-06-08 | 2007-12-13 | Jeffrey Mark Achtermann | Method for determining optimal number of connections in multi-connection download configuration |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
CA2577030A1 (en) * | 2007-01-31 | 2008-07-31 | Unlimi-Tech Software Inc. | Improved data transfer method, system and protocol |
US8432788B2 (en) * | 2007-05-18 | 2013-04-30 | Nvidia Corporation | Intelligent failback in a load-balanced networking environment |
US8300647B2 (en) * | 2007-05-18 | 2012-10-30 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
CN101202882B (zh) * | 2007-07-19 | 2010-09-15 | 深圳市同洲电子股份有限公司 | 一种媒体资源传输方法、***及机顶盒 |
US8140953B1 (en) * | 2007-10-26 | 2012-03-20 | Adobe Systems Incorporated | Flexible media catalog for multi-format project export |
US20110276657A1 (en) * | 2007-12-20 | 2011-11-10 | Chalk Media Service Corp. | Method and system for the delivery of large content assets to a mobile device over a mobile network |
JP2009182458A (ja) * | 2008-01-29 | 2009-08-13 | Sony Corp | 通信装置、通信システム、通信方法及びプログラム |
US20090276791A1 (en) * | 2008-05-01 | 2009-11-05 | Microsoft Corporation | Techniques for facilitating server callbacks |
KR101777349B1 (ko) * | 2010-10-26 | 2017-09-12 | 삼성전자주식회사 | 비디오 스트림 송수신 방법 및 장치 |
KR101739272B1 (ko) | 2011-01-18 | 2017-05-24 | 삼성전자주식회사 | 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법 |
KR20130046540A (ko) * | 2011-10-28 | 2013-05-08 | 삼성에스디에스 주식회사 | 데이터 전송 장치 및 방법 |
CN103139241A (zh) * | 2011-11-24 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 网络资源文件的离线下载***和方法 |
US9628542B2 (en) * | 2012-08-24 | 2017-04-18 | Akamai Technologies, Inc. | Hybrid HTTP and UDP content delivery |
EP2773078B1 (en) * | 2013-03-01 | 2017-06-07 | Alcatel-Lucent España | Method, system and devices for multimedia content delivery using adaptive streaming |
KR101507032B1 (ko) * | 2014-08-26 | 2015-04-01 | 계명대학교 산학협력단 | 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법 |
US9467255B2 (en) * | 2014-12-23 | 2016-10-11 | Ibiquity Digital Corporation | Systems and methods for digital radio broadcast with cross platform reception |
BR112018071591A2 (pt) | 2016-04-22 | 2019-02-12 | Ibiquity Digital Corporation | sistema de recepção de radiodifusão, e, método para prover metadados associados a sinais de radiodifusão sem fio para um sistema receptor de radiodifusão. |
JP7068932B2 (ja) * | 2018-06-01 | 2022-05-17 | 三菱電機株式会社 | 通信システム |
US10880354B2 (en) * | 2018-11-28 | 2020-12-29 | Netflix, Inc. | Techniques for encoding a media title while constraining quality variations |
US11770441B2 (en) * | 2019-06-07 | 2023-09-26 | Qualcomm Incorporated | File delivery failure feedback and application feedback |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242640A (ja) * | 1998-02-25 | 1999-09-07 | Kdd Corp | ファイル転送方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3268875B2 (ja) | 1993-02-26 | 2002-03-25 | 株式会社野村総合研究所 | 同報ファイル転送方法およびシステム |
US6014706A (en) * | 1997-01-30 | 2000-01-11 | Microsoft Corporation | Methods and apparatus for implementing control functions in a streamed video display system |
US6292805B1 (en) * | 1997-10-15 | 2001-09-18 | At&T Corp. | System and method for processing object-based audiovisual information |
US6453355B1 (en) * | 1998-01-15 | 2002-09-17 | Apple Computer, Inc. | Method and apparatus for media data transmission |
US6460087B1 (en) * | 1998-02-25 | 2002-10-01 | Kdd Corporation | Method of transferring file |
US6314466B1 (en) * | 1998-10-06 | 2001-11-06 | Realnetworks, Inc. | System and method for providing random access to a multimedia object over a network |
US7010801B1 (en) * | 1999-06-11 | 2006-03-07 | Scientific-Atlanta, Inc. | Video on demand system with parameter-controlled bandwidth deallocation |
US6801507B1 (en) * | 1999-07-27 | 2004-10-05 | Samsung Electronics Co., Ltd. | Device discovery and configuration in a home network |
AU2001228224A1 (en) * | 2000-01-24 | 2001-07-31 | The University Of Manitoba | Method and system for segmented file transfer |
US7340764B2 (en) * | 2000-01-26 | 2008-03-04 | Sony Corporation | Data transmission system |
US20030018581A1 (en) * | 2000-02-16 | 2003-01-23 | Bratton Timothy R. | Delivering media data to portable computing devices |
AU2001276731A1 (en) * | 2000-08-25 | 2002-03-04 | Matsushita Electric Industrial Co., Ltd. | Data transmission method and data relay method |
US7143433B1 (en) * | 2000-12-27 | 2006-11-28 | Infovalve Computing Inc. | Video distribution system using dynamic segmenting of video data files |
US20020178330A1 (en) * | 2001-04-19 | 2002-11-28 | Schlowsky-Fischer Mark Harold | Systems and methods for applying a quality metric to caching and streaming of multimedia files over a network |
US20030088876A1 (en) * | 2001-11-08 | 2003-05-08 | Liberate Technologies | Video on demand gateway |
US20030200548A1 (en) * | 2001-12-27 | 2003-10-23 | Paul Baran | Method and apparatus for viewer control of digital TV program start time |
US20030188317A1 (en) * | 2002-03-28 | 2003-10-02 | Liew William J. | Advertisement system and methods for video-on-demand services |
US8650601B2 (en) * | 2002-11-26 | 2014-02-11 | Concurrent Computer Corporation | Video on demand management system |
US20040158867A1 (en) * | 2003-02-10 | 2004-08-12 | General Instrument Corporation | Methods, systems, and apparatus for determining transport stream channels for video-on-demand applications |
-
2004
- 2004-03-29 MX MXPA05010227A patent/MXPA05010227A/es active IP Right Grant
- 2004-03-29 CN CN2004800079234A patent/CN1764897B/zh not_active Expired - Fee Related
- 2004-03-29 US US10/551,085 patent/US7831603B2/en not_active Expired - Fee Related
- 2004-03-29 JP JP2006509402A patent/JP2006521643A/ja active Pending
- 2004-03-29 EP EP04758487.5A patent/EP1609053B1/en not_active Expired - Fee Related
- 2004-03-29 KR KR1020057017322A patent/KR101006703B1/ko not_active IP Right Cessation
- 2004-03-29 BR BRPI0408622-8A patent/BRPI0408622A/pt not_active Application Discontinuation
- 2004-03-29 ES ES04758487.5T patent/ES2564802T3/es not_active Expired - Lifetime
- 2004-03-29 WO PCT/US2004/009478 patent/WO2004088501A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242640A (ja) * | 1998-02-25 | 1999-09-07 | Kdd Corp | ファイル転送方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1609053B1 (en) | 2016-02-03 |
US7831603B2 (en) | 2010-11-09 |
US20060242153A1 (en) | 2006-10-26 |
CN1764897B (zh) | 2010-11-10 |
EP1609053A4 (en) | 2011-06-08 |
BRPI0408622A (pt) | 2006-03-07 |
EP1609053A1 (en) | 2005-12-28 |
JP2006521643A (ja) | 2006-09-21 |
WO2004088501A1 (en) | 2004-10-14 |
ES2564802T3 (es) | 2016-03-29 |
KR20050114659A (ko) | 2005-12-06 |
CN1764897A (zh) | 2006-04-26 |
MXPA05010227A (es) | 2006-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101006703B1 (ko) | 미디어 기반 파일 송신 시스템 및 방법 | |
US7548995B2 (en) | Strategies for disseminating media information using redundant network streams | |
Sitaram et al. | Multimedia servers: applications, environments and design | |
US5633810A (en) | Method and apparatus for distributing network bandwidth on a media server | |
KR100926007B1 (ko) | 스트리밍 및 제어 처리를 위한 별도의 구성을 이용한미디어 데이터 프로세싱 | |
US20030105834A1 (en) | Systems and method for providing video-on-demand services for broadcasting systems | |
US9167211B2 (en) | Method for transmitting an IPTV streaming service by P2P transmission, and method for receiving an IPTV streaming service by P2P transmission | |
WO1996017306A2 (en) | Media server | |
WO1996017306A9 (en) | Media server | |
JP5738865B2 (ja) | Mpeg−2ts多重化マルチメディアストリームのエレメンタリパケットの選択による、mpeg−2ts多重化マルチメディアストリームの配信 | |
JP4373012B2 (ja) | データ伝送 | |
WO2006083664A2 (en) | Customer associated profile for accessing audio and video media objects | |
US20020026501A1 (en) | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices | |
US20100332675A1 (en) | Method and Apparatus for Obtaining Media Over a Communications Network | |
US20030210711A1 (en) | Data transfer method and apparatus | |
WO2018121584A1 (zh) | 一种数据流传输方法、装置、相关设备及存储介质 | |
CA2385344A1 (en) | Data transfer method and apparatus | |
Sheu et al. | A scalable cost-effective video broadcasting system for on-demand video services | |
EP1340376A1 (en) | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices | |
Boutaba et al. | Distributed video production: Tasks, architecture and qos provisioning | |
Fernández et al. | Video forwarding techniques for mixed wired and wireless networks | |
KR20180039604A (ko) | 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법 | |
Veeravalli et al. | Distributed Technologies for Multimedia Retrieval Over Networks | |
KR20040063795A (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 | ||
FPAY | Annual fee payment |
Payment date: 20131202 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141201 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151201 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |