ES2564802T3 - Sistema y método para transmitir archivos basados en medios - Google Patents

Sistema y método para transmitir archivos basados en medios Download PDF

Info

Publication number
ES2564802T3
ES2564802T3 ES04758487.5T ES04758487T ES2564802T3 ES 2564802 T3 ES2564802 T3 ES 2564802T3 ES 04758487 T ES04758487 T ES 04758487T ES 2564802 T3 ES2564802 T3 ES 2564802T3
Authority
ES
Spain
Prior art keywords
segments
master controller
segment
file partition
media object
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES04758487.5T
Other languages
English (en)
Inventor
Thomas Patrick Newberry
Kerry Wayne Calvert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33131809&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2564802(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2564802T3 publication Critical patent/ES2564802T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • 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
    • H04N21/43Processing 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/442Monitoring 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring 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)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un método de segmentación de un objeto de medios para transmisión sobre una red (170), que comprende los pasos de: dividir un objeto de medios en al menos dos segmentos; asignar al menos uno de dichos segmentos a partir de dichos al menos dos segmentos a un gestor de partición de archivo (130, 160); y transmitir dicho al menos uno de dichos segmentos usando un protocolo de datagrama de usuario (UDP) asignado, en donde dicho al menos uno de dichos segmentos se envía a puertos de protocolo de datagrama en el mismo dispositivo de cliente en paralelo; notificar a un controlador maestro que ha transmitido un gestor de partición de archivo dicho al menos uno de dichos segmentos; en donde dicho controlador maestro opera al menos dos gestores de partición de archivo donde dicho al menos uno de dichos segmentos de dicho objeto de medios dividido que constituye un segmento mayor, se descompone en segmentos menores, cada segmento menor que se asigna a un gestor de partición de archivo por dicho controlador maestro; en donde dichos segmentos menores se transmiten sucesivamente por dichos al menos dos gestores de partición de archivo antes de que un segundo segmento mayor se descomponga en segmentos menores y transmita por dichos gestores de partición de archivo; en donde dicho controlador maestro hace el seguimiento de los segmentos perdidos no transmitidos con éxito en una lista vinculada; en donde dicho controlador maestro hace a dicho gestor de partición de archivo responsable de dicho segmento perdido para retransmitir dicho segmento perdido; en donde dicho controlador maestro reasigna dicho segmento perdido de dicho objeto de medios dividido a un segundo gestor de partición de archivo en respuesta a cuando dicho gestor de partición de archivo deja de entregar dicho segmento, en donde dicho controlador maestro comunica con un segundo controlador maestro usando un esquema de transmisión basado en Protocolo de Control de Transmisión y Protocolo de Internet y dichos gestores de partición de archivo comunican con un servidor usando puertos UDP; y asignar un segmento adicional desde dichos al menos dos segmentos de dicho objeto de medios dividido a dicho gestor de partición de archivo para transmisión.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Sistema y metodo para transmitir archivos basados en medios Campo de la invencion
La presente invencion se refiere a la transmision de archivos de audio y video digital, espedficamente objetos de medios comunicados a traves de una red.
Antecedentes
Con el crecimiento en las industrias de satelite y cable, ha habido un interes significativo en desarrollar una arquitectura para entregar peffculas de longitud completa a un usuario multimedia domestico. Un concepto de entrega llamado video bajo demanda (VOD) proporciona una peffcula a un usuario en base a la seleccion que hace el usuario. El usuario puede seleccionar programacion a traves de una grna de programacion electronica (EPG) que enumera los medios disponibles que se pueden recibir a traves de un servicio de difusion. Una vez que se selecciona la peffcula, el sistema de difusion transmitina la peffcula al usuario domestico, la transmision que ocurre o bien a traves de un medio por cable (tal como una transmision por cable digital MPEG-2), una difusion por satelite (como DBS, DIRECTV"™ DISH NETWORK™, etc.), una difusion terrestre (UHF, VHF o canales de difusion para recibir programacion de definicion estandar/alta definicion, etc.) o conexion de par trenzado (tal como DSL, etc.).
La complejidad de transmision de un archivo de video (audio) digital, de ahora en adelante conocido como un objeto de medios, requiere que la arquitectura de transmision sea capaz de manejar archivos de video digital de un tamano grande. Por ejemplo, los requisitos para que un objeto de medios sea presentado en una “calidad de imagen cercana a en movimiento” (ej. Television de Alta Definicion), como un formato de visualizacion, requiere que la arquitectura de transmision requiera que la red soporte un flujo maximo de casi 20 Mbits/seg. La arquitectura de transmision tambien tiene que tener una tasa de error de transmision baja, en cuanto a no danar los requisitos de la transmision de vfdeo/audio. Por ejemplo, los sistemas de satelite DBS tienen que tener tasas de error en el intervalo de 10A-9 a 10A-11 bits para ofrecer una calidad de servicio (QOS) aceptable.
La probabilidad de un error que dana la transmision de un objeto de medios se reduce si un objeto de medios se descompone en segmentos discretos. Tales segmentos, conocidos como paquetes de datos, separan el objeto de medios en divisiones individuales que se reconstituyen en un extremo de recepcion de la arquitectura de transmision. Una tecnica usada para empaquetar archivos de datos cumple con el estandar de codificacion de datos MPEG-2 para crear un flujo de datos (ver la ISO-13818-1 Especificacion MPEG-2) para codificacion y transporte de paquetes de datos discretos.
Tales tecnicas para transmitir objetos de medios no obstante no son un uso eficiente de ancho de banda. Otras tecnicas conocidas para transportar objetos de medios tales como el protocolo de transporte de archivos (FTP) estan limitadas a restricciones ffsicas donde solamente se pueden transmitir 300 Kilobytes por segundo, con independencia de las velocidades de enlace disponibles de la conexion subyacente. Adicionalmente, algunas tecnicas de transporte de objetos de medios son capaces de utilizar el ancho de banda disponible de una conexion. Tales tecnicas sin embargo usan paquetes redundantes en la transmision de un objeto de medios que pueden requerir una sobrecarga de codificacion de dos veces el tamano del objeto de medios original. Por lo tanto, tales transmisiones de objetos de medios usan ineficientemente la mitad del ancho de banda disponible para correccion de errores.
Compendio de la invencion
Un sistema y un metodo para asignar la transmision de un objeto de medios a traves de una red basada en las capacidades ffsicas de tal red. El objeto de medios se analiza sintacticamente en multiples particiones que estan segmentadas se transmiten a un cliente, en base a la disponibilidad de puntos de acceso y recursos en el lado del cliente y las conexiones de red entre tales puntos de acceso y un servidor que transmite tal objeto de medios.
Breve descripcion de los dibujos
Lo anterior y otras ventajas y rasgos de la presente invencion se entenderan mejor a partir de la siguiente descripcion detallada de las realizaciones preferidas de la invencion, que se proporciona en conexion con los dibujos anexos. Los diversos rasgos de los dibujos pueden no estar a escala. Incluidos en los dibujos estan las siguientes figuras:
la FIG. 1 es un diagrama de sistema segun una realizacion ejemplar de la presente invencion;
la FIG. 2 es un diagrama de sistema que muestra una transmision de un objeto de medios dividido a un unico cliente segun una realizacion ejemplar de la presente invencion;
la FIG. 3 es un diagrama de sistema que muestra la transmision de un objeto de medios segmentado a traves de una operacion de multidifusion segun una realizacion ejemplar de la presente invencion;
5
10
15
20
25
30
35
la FIG. 4 es un diagrama de flujo de un proceso de transmision que segmenta un objeto de medios en multiples particiones segun una realizacion ejemplar de la presente invencion;
la FIG. 5 es una realizacion ejemplar del segmento de archivo de un objeto de medios dividido; y
la FIG. 6 presenta una formacion bidimensional que indica perdida de paquetes durante una transmision de multidifusion de un objeto de medios dividido, segun una realizacion ejemplar de la presente invencion.
Descripcion detallada de la invencion
Aunque la invencion se describe en terminos de realizaciones ejemplares, no esta limitada a las mismas. En su lugar, las reivindicaciones adjuntas se debenan interpretar ampliamente, para incluir otras variantes y realizaciones de la invencion, que se pueden hacer por los expertos en la tecnica sin apartarse del alcance y gama de equivalentes de la invencion.
La presente invencion es un sistema y metodo para transmitir y recibir audio, video o una combinacion de ambos tipos de medios como un archivo de medios u “objeto de medios”. Como se usa en la presente memoria, el termino “objeto de medios” incluye audio, video, texto, archivos de datos multimedia y archivos de datos de difusion en forma continua. Los objetos multimedia comprenden cualquier combinacion de texto, imagenes y datos de audio. Los medios de difusion en forma continua comprenden audio, video, multimedia, texto y archivos de datos interactivos que se entregan a un usuario a traves de Internet, satelite u otro entorno de red de comunicaciones y comienzan a reproducirse en el ordenador/dispositivo de usuario antes de que se complete la entrega del archivo entero. Los objetos de medios se pueden transmitir sobre cualquier red de comunicaciones incluyendo a traves de Internet, satelite (DSS, DVB-S), cable, DSL, lmeas T1, red inalambrica u otros sistemas de entrega capaces de entregar objetos de medios.
Ejemplos del contenido de los objetos de medios incluyen canciones, discursos politicos, programas de noticias, trailer de pelfculas, pelfculas, emisiones de programas de television; emisiones de radio; conferencias telefonicas financieras, conciertos en directo, tomas de camaras web v otros eventos especiales. Los objetos de medios se codifican en diversos formatos que incluyen REALAUDIO®, REALVfDEO®, REALMEDIA®, APPLE QUICKTIME®, MICROSOFT WINDOWS® MEDIA FORMAT, QUICKTIME®, COMPRESION DE VfDEO MPEG-2, COMPREStoN DE VfDEO Y/AUDIO MPEG-4, FORMATO DE COMPRESION DE UNION DE EQUIPO DE VfDEO (MPEG-4 parte 10 AVC, H.264), AUDIO DE CAPA III DE MPEG-2, MP3®. Tfpicamente, los objetos de medios se designan con extensiones (sufijos) que indican compatibilidad con formatos espedficos. Por ejemplo, los objetos de medios (por ejemplo, archivos de audio o video) que codifican en una de las extensiones, .ram, .rm, .rpm, son compatibles con el formato REALMEDIA®. Algunos ejemplos de extensiones de archivo y sus formatos compatibles se enumeran en la Tabla 1. Una lista mas exhaustiva de tipos de medios, extensiones y formatos compatibles se puede encontrar en
http://www.bowers.cc/extensions2.htm.
Formato
Extension
REALMEDIA®
.ram, .rm, .rpm
APPLE QUICKTIME®
.mov, . qif
MICROSOFT WINDOWS® MEDIA PLAYER
.wma, .cmr, .avi
MACROMEDIA FLASH
.swf, .swl
MPEG
.mpg, .mpa, .mp1, .mp2
Audio de CAPA III de MPEG-2
.mp3, .m3a, .m3u
TABLA 1
La realizacion preferida de la invencion opera con objetos de medios que contienen datos de video para presentar una presentacion de video de “calidad de imagen cercana a en movimiento”. Tales objetos de medios se pueden codificar en una variedad de formatos tales como MPEG-2 (Estandar de Grupo de Estandares de Imagenes en Movimiento ISO/IEC 13818-1:2000) e ITU-T H.264/MPEG AVC (ISO/IEC 14496-10) o se pueden descomprimir. Ademas, las realizaciones descritas de la presente invencion tambien van a ser usadas en las areas profesionales
5
10
15
20
25
30
35
40
45
50
55
para aplicaciones tales como la postproduccion de peKculas o programas de television y para otras aplicaciones que requieren la transmision de objetos de medios grandes.
En la FIG. 1, se muestra un sistema de transmision segun la presente invencion. El sistema 100 presenta una realizacion de un sistema de transmision para transportar un objeto de medios grande a clientes 140. El servidor de archivos 110 es un dispositivo de almacenamiento tal como una matriz de discos duros que tienen una capacidad de Terabytes y/o Gigabytes capaz de almacenar multiples objetos de medios. El servidor de archivos 110 se acopla a traves de una red de area local a los servidores 115 que alojan componentes de control tales como un controlador maestro 120 y a gestores de particion de archivo 130. El servidor 115 preferiblemente comprende un ordenador principal o una serie de ordenadores que son capaces de transmitir un objeto de medios transmitido a traves de una red 170. Se tiene que senalar que cualquier controlador maestro descrito y gestor de particion de archivo se pueden implementar como hardware, software o como una combinacion de hardware y software, segun los principios de la presente invencion.
El controlador maestro 120 gestiona el transporte de un objeto de medios dividido a traves de la red 170 a los clientes 140. El controlador maestro 120 tambien coordina la operacion del servidor de archivos 110 y los gestores de particiones de archivos 130 para segmentacion de un objeto de medios en multiples particiones. La segmentacion de archivos se basa en la disponibilidad de recursos en el lado del cliente que solicita el objeto de medios que efectua tanto la segmentacion del archivo de medios como la recuperacion de errores de tales segmentos transmitidos. Las comunicaciones de control entre el controlador maestro 120 y el cliente 140 se manejan preferiblemente a traves de la conexion de red compatible con TCP/IP.
El gestor de particion de archivo 130 es responsable de recuperar y transportar el segmento adecuado de un objeto de medios segun las instrucciones emitidas desde el controlador maestro 120. El gestor de particion de archivo 130 preferiblemente transporta su segmento de archivo asociado al cliente 140 usando un protocolo basado en UDP sobre una conexion de red como se describe en Postel, J., “User Datagram Protocol”, Peticion de Comentarios 768, USC/Instituto de Ciencias de la Informacion, agosto de 1980. Un grupo de gestores de particion de archivo 130 transmite idealmente sus segmentos o paquetes respectivos de una forma simultanea o paralela, de manera que los datos transmitidos se reciben en un cliente 140 de una manera contemporanea.
La red 170 puede ser cualquier tipo de red conocida en la tecnica. Preferiblemente, tal red es capaz de acomodar multiples conexiones entre recursos en un lado del servidor de un servidor y en el lado del cliente de un cliente, tales conexiones que estan basadas en UDP, basadas en TCP/IP o una mezcla de ambos. El ancho de banda acomodado por la red 150 es preferiblemente una conexion de ancho de banda grande tal como una conexion T1 (1,5 Megabits por segundo, Mbps), conexion T3 (45 Mbps), conexion DS3 (45 Mbps), conexion OC3 (155 Mbps), conexion OC12 (248.000 Mbps) y similares.
El cliente 140 comprende preferiblemente un ordenador principal o una serie de ordenadores que son capaces de recibir un objeto de medios transmitido a traves de la red 170. Preferiblemente, cada cliente 140 tiene una serie de puntos de acceso o nodos que esta asociada con una direccion IP y una direccion de puerto. Tales puntos de acceso se muestran como el controlador maestro 150 y los gestores de particion de archivo 160, en el lado del cliente.
Un segmento de un objeto de medios dividido se transmite por el gestor de particion de archivo 130 a la direccion IP y un puerto de un punto de acceso del cliente 140 a traves del UDP, como se describio anteriormente. Los puntos de acceso tambien se pueden identificar por una direccion de Tarjeta de Interfaz de Red (direccion NIC) correspondiente o direccion de Control de Acceso al Medio (MAC) asociada con un punto de acceso asociado con el cliente 140, este caso que es un gestor de particion de archivo 160, aunque un cliente 140 puede no tener tal componente. Los segmentos del objeto de medios recibidos por los puntos de acceso del cliente 140 se reconstituyen entonces en el objeto de medios, cuando se reciben completamente. Los segmentos perdidos del objeto de medios se sustituyen usando las tecnicas descritas mas tarde en esta especificacion. Se debena senalar para la operacion de la invencion que el controlador maestro 120 y el gestor de particion de archivo 130 pueden ocupar el mismo servidor 115 o pueden ocupar varios servidores 115. Adicionalmente, el controlador maestro 150 y los gestores de particion de archivo 160 pueden ocupar el mismo cliente 140 o pueden ocupar varios clientes 140, dependiendo de los requisitos del sistema de transmision deseado. Los principios de la presente invencion se pueden aplicar a otros entornos de trabajo en red distribuidos donde se usen multiples servidores 115 o clientes 140 para transmitir y/o recibir el mismo objeto de medios.
La Fig. 2 presenta una realizacion de la presente invencion para transferir un objeto de medios segmentado a un unico cliente 240. En esta realizacion de la presente invencion, el sistema 200 tiene un cliente 240 que solicita un objeto de medios sobre la red 250 al servidor 215, donde el objeto de medios esta almacenado en el servidor de archivos 210. En esta realizacion, el cliente 240 posee un controlador maestro 220 para emitir la peticion del objeto de medios y para configurar los gestores de particion de archivo 230 disponibles para recibir un objeto de medios segmentado. El controlador maestro 220 a traves del uso de una transmision basada en TCP/IP indica al servidor 215 que puertos UDP correspondientes de los gestores de particion de archivo 230 van a recibir un segmento de archivo correspondiente y un objeto de medios solicitado va a ser segmentado. El controlador maestro 220
5
10
15
20
25
30
35
40
45
50
55
concatena los segmentos recibidos cuando todos los segmentos se recuperan con exito a partir de los gestores de particion de archivo 230 sobre sus conexiones UDP respectivas a traves de la red 250.
La Fig. 3 presenta una realizacion de la presente invencion para transferir un objeto de medios segmentado a multiples clientes 350 usando una arquitectura de multidifusion IP como se describe en Thaler, D., “Interoperability Rules for Multicast Routing Protocols”, Peticion de Comentarios 2715, Microsoft, octubre de 1999.
En esta realizacion, estan presentes al menos dos clientes 340 donde cada cliente 340 tiene un controlador maestro 350 correspondiente para emitir una peticion de un objeto de medios almacenado en el servidor de archivos 310. Cada controlador maestro 350 sin embargo tiene que contabilizar los retardos requeridos para sincronizar todos los clientes 340 que solicitan un objeto de medios. La peticion de objeto de medios se establece por cada controlador maestro 350 al servidor 315 que entonces hace multidifusion del objeto de medios segmentado a los gestores de particion de archivo 360 correspondientes del cliente 340 o un unico controlador maestro 360 especifica las direcciones IP a donde se debenan transmitir los segmentos del objeto de medios a traves de una multidifusion IP a traves de una red multidifusion 370. La transmision de los segmentos de archivo a los gestores de particion de archivo 360 y la reconstitucion de tales segmentos de archivo recibidos en un objeto de medios en los clientes 340 es similar a la descrita en la especificacion de las Fig. 1 y 2.
Alternativamente, los controladores maestros 350 operan en conjunto con el controlador maestro 320 del servidor 315 para recibir un objeto de medios dividido. El controlador maestro 320 informa a los controladores maestros 350 que direcciones de multidifusion se usaran para transmitir un segmento de un objeto de medios dividido. El controlador maestro 350 respectivo ordenara a sus gestores de particion de archivo respectivos recibir tales segmentos a traves de la red de multidifusion 370.
La Fig. 4 es un diagrama de flujo de un metodo 400 para transmitir un objeto de medios, segun una realizacion de la presente invencion. Los pasos presentados para el diagrama de flujo estan presentandose en vista de la Fig. 1. En el paso 405, el cliente 140 conecta a traves de la red 170 con el controlador maestro 120, asociado con el servidor 115. La conexion se establece a traves de un conector TCP/IP, donde el cliente 140 identifica el objeto de medios a ser transferido. Durante este paso, el cliente 140 tambien especifica la tasa de comunicacion para la transmision del objeto de medios.
En el paso 415, el controlador maestro 120 determina el numero de gestores de particiones de archivos 130 necesarios para cumplir la tasa de comunicacion requerida expuesta por el cliente 140. Este paso puede incluir tambien que multiples servidores esten implicados en la transmision de un objeto de medios segmentado. El paso 420 tiene el controlador maestro 120 que da instrucciones a cada gestor de particion 130 en cuanto a que segmento del objeto de medios y que puerto UDP se usara para transmitir al cliente 140.
El paso 425 implica el controlador maestro 120 que da instrucciones al cliente 140 de los puertos UDP requeridos para descargar los segmentos del objeto de medios que se transmitiran finalmente. Tambien, se transmite informacion de control por el controlador maestro 120 al cliente 140 indicando cuantos paquetes se introduciran desde un puerto UDP para un segmento particular del objeto de medios dividido. El paso 430 tiene cada gestor de particion de archivo 130 poniendo un bloque de cabecera en sus paquetes que van a ser transmitidos en su puerto UDP asignado. Preferiblemente, los bloques de cabecera se generan secuencialmente en orden numerico. Los paquetes se transmiten entonces al cliente 140.
El cliente 140 entonces determina que gestores de particiones de archivos 160 basados en cliente van a ser usados en el paso 435 y que servidores activar para recibir los archivos transmitidos. En el paso 440, los gestores de particiones de archivos 160 basados en cliente, como puntos de acceso, reciben paquetes que representan los segmentos transmitidos de un objeto de medios, en un puerto UDP correspondiente. Los identificadores de secuencias en el bloque de cabecera de los paquetes recibidos determinan como reconstruir el segmento recibido del objeto de medios.
Si se pierde cualquier paquete para un gestor de particion de archivos 160 particular, el paso 445 tiene al cliente 140 notificando al controlador maestro 120 a traves de la conexion TCP/IP que paquetes estan perdiendose y se requieren que sean retransmitidos por un gestor de particion de archivo 130 correspondiente. Preferiblemente, el cliente 140 tiene un controlador maestro 150 del lado del cliente para comunicar con el controlador maestro 120 en el lado del servidor. En el paso 450, el cliente 140 da instrucciones al controlador maestro 120 de que se ha recibido completamente un segmento particular del objeto de medios. Si la descarga completa del objeto de medios no esta completa, el cliente 140 ademas da instrucciones al controlador maestro 120 para transmitir un segmento adicional del objeto de medios usando nuevos parametros (como se hace en los pasos 420 a 445).
El paso 460 tiene el controlador maestro 120 que informa al cliente 140 que se han transmitido todos los segmentos del objeto de medios dividido. El cliente 140 entonces reconstruye el objeto de medios usando los segmentos recibidos del objeto de medios.
La Fig. 5 muestra una realizacion ejemplar de un segmento de archivo de un objeto de medios dividido. Como se muestra en la figura, el segmento de archivo comprende segmentos mayores 510 y segmentos menores 520. Los segmentos mayores 510 se usan por el cliente 140 y el servidor 115 como los lfmites de segmento mayor, donde un
5
10
15
20
25
30
35
40
45
50
55
segmento mayor 510 es un “bloque” grande usado para enviar un segmento de archivo. El segmento menor 520 es los “bloques” mas pequenos que se usan para construir un segmento mayor 510. En la realizacion preferida de la presente invencion, un segmento mayor 510 tiene que ser recibido completamente por el cliente 140 antes de que se transmita un segundo segmento mayor 510. Si un segmento mayor 510 no se recibe completamente, el cliente 140 dice al controlador maestro 120 que segmento menor 520 de dicho segmento mayor 510 retransmitir, donde cada segmento menor 520 corresponde a un gestorde particion de archivo 130 particular del servidor 115.
En una transmision unidifusion, el controlador maestro 120 designa un segmento mayor 510 para un grupo de gestores de particion de archivo 130. Entonces se asigna a cada gestor de particion de archivo 130 una parte del segmento mayor 510 como un segmento menor 520 que se transmiten como paquetes UDP. Tras la transmision con exito de los segmentos menores 520 usados para construir el segmento mayor 510, cada gestor de particion de archivo 130 informa al controlador maestro 120 que ha completado la transmision del segmento mayor. El controlador maestro entonces emitira un segundo segmento mayor 520 a ser dividido y transmitido por los gestores de particion de archivo 130 al cliente 140, como se describio previamente.
Ventajosamente, el controlador maestro 120 se puede configurar para construir un conducto de segmentos mayores 510, eliminando la necesidad de tiempo de inactividad mientras que el controlador maestro 120 procesa un mensaje desde el cliente 140 que indica un cambio en las condiciones de red. El tamano de los segmentos mayores 510 tambien se puede modificar en respuesta a las condiciones de la red. Por ejemplo, un segmento mayor 510 se puede componer de diez segmentos menores 520. En el caso donde la perdida de paquetes es menor, el tamano de un segmento mayor 510 se incremental hasta doce segmentos menores 520. Alternativamente, en el caso en que la perdida de paquetes es sustancial, el tamano del segmento mayor 520 se reducina a ocho segmentos menores 520. El ajuste en la cantidad de segmentos menores se puede modificar segun los principios de la presente invencion.
Tambien se contempla que si el numero de segmentos menores 520 en un segmento mayor 510 se mantuviese igual; el tamano ffsico (kilobytes) de un segmento mayor 520 se modificana segun las condiciones de red. Tal determinacion se hace preferiblemente por el control maestro 145 del cliente 140. Alternativamente, el controlador maestro 120 tambien puede eliminar el uso de segmentos mayores 510 y depender del uso de segmentos menores 520 que se generan como bloques de datos contiguos. Los gestores de particion de archivo 130 entonces transmiten estos segmentos menores 520 al cliente 140, donde cada gestor de particion de archivo 130 informa al controlador maestro 120 acerca de la transmision con exito de cada segmento menor 520. El controlador maestro 120 entonces asigna a un gestor de particion de archivo 130 un nuevo segmento menor 520 a ser transmitido, repitiendo este proceso hasta que se transmitan con exito todos los segmentos menores 520 de un segmento de un objeto de medios dividido.
En el caso de una transmision de unidifusion (o un cliente), la invencion proporciona varios esquemas de recuperacion en el caso en que se pierden paquetes durante tal transmision. En una realizacion, el controlador maestro 120 es capaz de anadir gestores de particion de archivo 130 adicionales para transmitir paquetes de datos. Alternativamente, el controlador maestro 120 asigna la tarea de reenviar paquetes a un gestor de particion de archivo 130 preexistente.
Un segundo esquema para proteccion de perdida de paquetes implica el controlador maestro 120 que mantiene una lista vinculada de paquetes perdidos. En esta realizacion, el controlador maestro 120 y los gestores de particion de archivos 130 del servidor 115 transmiten todos los segmentos mayores 510 y segmentos menores 520 de un objeto de medios dividido, esta transmision que se conoce como un “primer paso”. Los contenidos de la lista vinculada se usan por el controlador maestro 120 para indicar los paquetes perdidos durante la transmision del “primer paso”. El controlador maestro 120 del servidor entonces coordina una transmision de “segundo paso” con los gestores de particion de archivo 130 y el cliente 140 para volver a difundir los paquetes de segmentos mayores 510 y segmentos menores 520 que no se recibieron con exito durante la transmision del “primer paso”. Este procedimiento se repite hasta que se alcanza un umbral de paquetes recibidos con exito por el cliente 140.
Tecnicas de perdida de paquetes adicionales incluyen o bien el controlador maestro 120 del lado del servidor o bien el controlador maestro 150 del lado del cliente que monitorizan los recursos respectivos en su lado respectivo. Por ejemplo, si un gestor de particion de archivo 130 particular en el lado del cliente se mantiene en el tiempo lfmite o si el cliente 140 deja de responder, el controlador maestro 120 puede cancelar el trabajo asignado al gestor de particion de archivo 130 y reasignar el trabajo (de transmitir datos) a un segundo gestor de particion de archivo 130 o reasignar un segmento mayor 510 a un grupo de gestores de particion de archivo 130. El controlador maestro 120 informa a un usuario acerca de este fallo de tiempo lfmite.
Alternativamente, el controlador maestro 150 haciendo un seguimiento de las estadfsticas en el lado del cliente puede descubrir que una direccion UDP pierde continuamente paquetes. El controlador maestro 150 entonces informa al controlador maestro 120 del lado del servidor que hay un problema con la direccion UDP, indicando un gestor de particion de archivo defectuoso o bien en el lado del servidor o bien del cliente del sistema. Los controladores maestros 120 y 150 entonces coordinan la transmision de paquetes a una nueva direccion UDP, lo cual puede implicar el uso de nuevos gestores de particion de archivo. Estas realizaciones tambien contemplan que
5
10
15
20
25
30
35
40
45
50
55
o bien el controlador maestro 120 o bien 150 se puede usar para implementar el tiempo Ifmite descrito o los esquemas de perdida de paquetes de fallo de UDP, descritos anteriormente.
Las tecnicas de perdida de paquetes para transmisiones de multidifusion requieren que el controlador maestro de un servidor este preparado para utilizar diferentes metodos para rechazar la perdida de los paquetes transmitidos. Con referencia a la Fig. 3, el controlador maestro del servidor 320 mantiene una lista vinculada de paquetes que se pierden durante la transmision de segmentos mayores 510 y segmentos menores 520 de un objeto de medios segmentado, similar a la lista vinculada usada para transmisiones de unidifusion. La modificacion de esta lista vinculada, como se muestra en la Fig. 6, ocupa una formacion bidimensional donde se perdieron paquetes (segmentos menores) que se perdieron con respecto a todos los clientes 340. Una transmision de “primer paso” de un objeto de medios dividido se completa cuando se transmiten todos los segmentos mayores 510 del objeto de medios. La lista vinculada se actualiza por el controlador maestro 320, tras la terminacion de cada segmento mayor 510 transmitido.
El controlador maestro 320 entonces usa los contenidos de la lista vinculada para volver a difundir los paquetes de datos no recibidos con exito por los clientes 340 durante el “primer paso”. Esta transmision de “segundo paso” tiene segmentos mayores 510 y segmentos menores 520 que se transmiten con la informacion de “paquetes perdidos”. Este proceso se repite hasta que todos los clientes 340 reciben todos los segmentos de un objeto de medios dividido. Se tiene que senalar que el modelo de transmision multidifusion tambien permite al controlador maestro 320 utilizar el tiempo lfmite y los esquemas de perdida de paquetes UDP descritos con respecto al modelo de transmision de unidifusion descrito anteriormente.
Opcionalmente, la presente invencion proporciona realizaciones adicionales que utilizan esquemas de procesamiento de control para beneficiar las tecnicas de transmision usadas para transmitir un objeto de medios dividido. Espedficamente, la invencion proporciona la operacion en que se puede cambiar una tecnica de transmision usada para transmitir un objeto de medios, segun las peticiones hechas de tal archivo.
Por ejemplo, un objeto de medios esta siendo transmitido actualmente como una transmision UDP usando la tecnica de unidifusion descrita anteriormente. Una segunda peticion del mismo archivo entra a un servidor durante el curso de esta transmision. Con referencia a la Fig. 3, un gestor de particion de archivo 330 del lado del cliente del cliente 340 termina recibiendo un segmento del objeto de medios dividido. El gestor de particion de archivo 330 entonces espera instrucciones adicionales en cuanto a como proceder para recibir un nuevo segmento del objeto de medios dividido. El controlador maestro 350 del cliente (del cliente que recibio el segmento) informa al controlador maestro 320 del servidor que el cliente 340 ha recibido con exito el segmento transmitido. Preferiblemente, esta comunicacion tiene lugar en el lfmite de un segmento mayor 510, aunque el sistema tambien puede tener la comunicacion que tiene lugar para segmentos menores 520.
El controlador maestro 320 informa al controlador maestro 350 del cliente que el siguiente segmento del objeto de medios vendra desde una nueva direccion, espedficamente una direccion multidifusion. El controlador maestro 350 del cliente entonces da instrucciones a un gestor de particion de archivo 330 para recibir el siguiente segmento del objeto de medios desde la direccion de multidifusion designada. En el mterin, el controlador maestro 320 senala que un gestor de particion de archivo 330 comience transmitiendo este siguiente segmento del objeto de medios en forma de paquetes multidifusion desde la direccion de multidifusion designada. Se daran instrucciones a todos los otros clientes 340 anadidos recientemente que solicitan el objeto de medios para recibir segmentos del objeto de medios desde esta direccion de multidifusion, tambien.
El controlador maestro 320 transmitira todos los segmentos de un objeto de medios dividido a clientes 340 hasta que se hayan recibido todos los segmentos. Las tecnicas de perdida de paquetes, descritas anteriormente, se pueden usar para apoyar la transmision de datos.
En el caso en que un cliente 340 o un grupo de clientes 340 solicite el mismo objeto de medios durante el curso de una transmision de multidifusion en marcha, el controlador maestro 320 informa a todos los nuevos clientes 340 para unirse a la multidifusion en curso en el siguiente lfmite del segmento mayor 510. Esto se hace haciendo al controlador maestro 320 transmitir la direccion de multidifusion de los gestores de particion de archivo 330 correspondientes transmitiendo los segmentos del objeto de medios solicitado. Todas las comunicaciones de sincronizacion y de control se comunican preferiblemente entre los controladores maestros 320 y 350 a traves de los conectores TCP/IP. Adicionalmente, la redifusion de segmentos de multidifusion se realiza preferiblemente a traves de interfaces TCP/IP, tambien. Se debena senalar que se podnan usar otras comunicaciones de control, segun los principios de la presente invencion.
El sistema descrito de la invencion proporciona que un controlador maestro del lado del cliente o del lado del servidor sea capaz de reconfigurar el uso de recursos, especialmente gestores de particion de archivo. Para operaciones de control de tasa, un cliente puede solicitar que un servidor transmita un objeto de medios dividido a una tasa de comunicacion deseada. El controlador maestro del servidor entonces determinana como se debenan utilizar los gestores de particion de archivo del servidor en respuesta a tal peticion. Adicionalmente, un cliente puede solicitar que un objeto de medios sea transmitido usando mecanismos o reglas de prioridad tales como “usar el 20% del ancho de banda disponible desde las 08:00 a las 17:00, de otro modo usar el 90% del ancho de banda
5
10
15
20
25
disponible”. El controlador maestro del servidor modificana el uso de los gestores de particion de archivo, tambien en respuesta a tal peticion. De manera similar, un servidor bajo se propia iniciativa puede especificar un lfmite para el ancho de banda usado para transmitir un objeto de medios dividido. En la realizacion preferida de la presente invencion, el servidor y el cliente buscaran utilizar todos los recursos de transferencia disponibles para lograr la tasa de transferencia mas alta posible.
La invencion esta configurada para ser de auto-ensenanza acerca del rendimiento del sistema de manera que se puedan tomar las mejores decisiones acerca de la asignacion de recursos para la transmision futura de objetos de medios divididos. Las estadfsticas se recopilan en utilizaciones de la Unidad Central de Proceso (CPU), el flujo maximo de NIC, las tasas de error de transmision y velocidades de transferencia extremo a extremo. Las estadfsticas se recopilan durante una transferencia de archivo a traves del Sistema de Operacion y otras herramientas de monitorizacion de terceras partes. El controlador maestro o bien en el lado del cliente o bien en del servidor, deriva el flujo de maximo de red midiendo cuanto tiempo lleva al cliente procesar un segmento.
Con la informacion acerca del rendimiento del sistema, los controladores maestros del cliente y servidor pueden ajustar sus suposiciones acerca de como se debena dividir un objeto de medios, cuantos gestores de particion de archivo se debenan usar y como se debena de tener en cuenta la latencia de red y las tasas de error para un cliente o servidor espedfico.
Los comandos comunicados entre los servidores y clientes se describen mas adelante en las Tablas 2-8. La Tabla 2 describe una realizacion ejemplar de un comando de peticion de transferencia que un cliente emite a un servidor para iniciar una transferencia de un objeto de medios solicitado.
Elemento
Bytes Uso
Tipo de Mensaje
1 Identificador para indicar que este es una peticion de transferencia de archivo
Nombre de archivo
100 El nombre del archivo con el que se asocia este segmento
Tasa de Comunicacion
1 Indicador de a que velocidad de comunicaciones se debena dirigir la transferencia
Multidifusion
1 Indicador en cuanto a si es aceptable usar multidifusion para cumplir la peticion
ID de Sesion
4 Fijar si el Tipo de Mensaje es para un Trabajo de Reinicio
TABLA 2
La Tabla 3 describe el formato de un comando de control de datos ejemplar usado por un gestor de particion de archivo de un servidor para informar a un cliente acerca del numero de paquetes que se debenan esperar para transmision de un segmento especificado de un objeto de medios dividido. Tambien se usa este comando para identificar donde en la copia de archivo final se debena colocar un segmento recibido (mayor o menor).
Elemento
Bytes Uso
Marcador
7 El “CONTROL” literal
ID de Segmento
4 Identificador del segmento
Nombre de archivo
100 El nombre del archivo con el que se asocia este segmento
Desfase
8 El desfase en el archivo final en el que se debena colocar este segmento
Numero
4 Numero de paquetes que se recibiran en este segmento
CRC
4 Comprobacion CRC de 121 bytes previos para validar la integridad del paquete
TABLA 3
La Tabla 4 describe el formato de un paquete de datos ejemplar usado para transmitir datos desde el servidor a un cliente. Espedficamente, este formato de paquete de datos se usa para formar segmentos mayores y menores de un objeto de medios dividido.
Elemento
Bytes Uso
ID de Secuencia
4 Ordenes de los paquetes de datos dentro del segmento que se transmite
Longitud
4 Numero de bytes en el paquete
Datos
NA Los bytes de datos para el paquete, de longitud especificada en el elemento Longitud
CRC
4 Comprobacion CRC de los datos para validar la integridad del paquete
TABLA 4
La Tabla 5 describe el formato de un comando de retransmision ejemplar que se usa por un cliente para solicitar la retransmision de un paquete identificado que no se recibio con exito. Tal comando se transmite al servidor responsable de transmitir el paquete perdido.
Elemento
Bytes Uso
Tipo de Mensaje
1 Identificador para indicar que este es una peticion de retransmision del paquete
ID de Segmento
4 ID de segmento para el cual se omiten paquetes
Longitud
4 Numero de identificadores de paquetes suministrados en elemento Paquetes
Paquetes
Variable La identidad de cada paquete perdido se rellena aqrn
5 TABLA 5
La Tabla 6 describe el formato de un comando de configuracion ejemplar que se transmite desde un servidor a un cliente indicando el inicio de una transferencia de archivo. Este comando indica espedficamente al cliente que direccion IP o puerto usar para recibir datos desde el servidor.
Elemento
Bytes Uso
Tipo de Mensaje
1 Identificador para indicar que este es el mensaje de configuracion
ID de Sesion
4 Identificador detrabajo, usado para reiniciar
Protocolo
1 Indica si usar UDP o Protocolo basado en Multidifusion
Flujos
1 Numero de flujos a los que conectar
Direccion de Flujo
Variable Formacion de Direccion IP/numero de Puerto a la que conectar para recibir segmentos de archivo
TABLA 6
10 La Tabla 7 describe el formato de un comando de particion ejemplar que se usa por un controlador maestro de un servidor y se comunica a los gestores de particion de archivo usados para transmitir un segmento mayor/menor. Tal comando indica como va a ser dividido un objeto de medios entre los gestores de particion de archivo.
Elemento
Bytes Uso
Tipo de Mensaje
1 Identificador para indicar que este es el mensaje de particion
Protocolo
1 Indica si usar UDP o Multidifusion
Nombre de Archivo
255 Nombre de camino de archivo a abrir para transmision
Desfase
8 Desfase en el archivo desde el que leer datos
Bytes
4 Numero de bytes a transmitir en el segmento
TABLA 7
La Tabla 8 describe el formato de un comando completo de segmento que se comunica por un controlador maestro 15 del lado del cliente a un servidor cuando un gestor de particion de archivo indica que ha completado el procesamiento de un segmento. El gestor de particion de archivo del servidor que procesa el segmento completado
se informara del siguiente segmento de un objeto de medios dividido a procesar. El gestor de particion de archivo entonces emitira un comando de control de datos al cliente, segun el comando mostrado en la Tabla 3.
Elemento
Bytes Uso
Tipo de Mensaje
1 Identificador para indicar que este es el mensaje completo de segmento
ID de Segmento
4 Identificador del segmento para el cual se completa el procesamiento
TABLA 8

Claims (1)

  1. 5
    10
    15
    20
    25
    30
    REIVINDICACIONES
    1. Un metodo de segmentacion de un objeto de medios para transmision sobre una red (170), que comprende los pasos de:
    dividir un objeto de medios en al menos dos segmentos;
    asignar al menos uno de dichos segmentos a partir de dichos al menos dos segmentos a un gestor de particion de archivo (130, 160); y transmitir dicho al menos uno de dichos segmentos usando un protocolo de datagrama de usuario (UDP) asignado, en donde dicho al menos uno de dichos segmentos se envfa a puertos de protocolo de datagrama en el mismo dispositivo de cliente en paralelo;
    notificar a un controlador maestro que ha transmitido un gestor de particion de archivo dicho al menos uno de dichos segmentos;
    en donde dicho controlador maestro opera al menos dos gestores de particion de archivo donde dicho al menos uno de dichos segmentos de dicho objeto de medios dividido que constituye un segmento mayor, se descompone en segmentos menores, cada segmento menor que se asigna a un gestor de particion de archivo por dicho controlador maestro;
    en donde dichos segmentos menores se transmiten sucesivamente por dichos al menos dos gestores de particion de archivo antes de que un segundo segmento mayor se descomponga en segmentos menores y transmita por dichos gestores de particion de archivo;
    en donde dicho controlador maestro hace el seguimiento de los segmentos perdidos no transmitidos con exito en una lista vinculada;
    en donde dicho controlador maestro hace a dicho gestor de particion de archivo responsable de dicho segmento perdido para retransmitir dicho segmento perdido;
    en donde dicho controlador maestro reasigna dicho segmento perdido de dicho objeto de medios dividido a un segundo gestor de particion de archivo en respuesta a cuando dicho gestor de particion de archivo deja de entregar dicho segmento,
    en donde dicho controlador maestro comunica con un segundo controlador maestro usando un esquema de transmision basado en Protocolo de Control de Transmision y Protocolo de Internet y dichos gestores de particion de archivo comunican con un servidor usando puertos UDP; y
    asignar un segmento adicional desde dichos al menos dos segmentos de dicho objeto de medios dividido a dicho gestor de particion de archivo para transmision.
ES04758487.5T 2003-03-28 2004-03-29 Sistema y método para transmitir archivos basados en medios Expired - Lifetime ES2564802T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US45858803P 2003-03-28 2003-03-28
US458588P 2003-03-28
PCT/US2004/009478 WO2004088501A1 (en) 2003-03-28 2004-03-29 System and method for transmitting media based files

Publications (1)

Publication Number Publication Date
ES2564802T3 true ES2564802T3 (es) 2016-03-29

Family

ID=33131809

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04758487.5T Expired - Lifetime ES2564802T3 (es) 2003-03-28 2004-03-29 Sistema y método para transmitir archivos basados en medios

Country Status (9)

Country Link
US (1) US7831603B2 (es)
EP (1) EP1609053B1 (es)
JP (1) JP2006521643A (es)
KR (1) KR101006703B1 (es)
CN (1) CN1764897B (es)
BR (1) BRPI0408622A (es)
ES (1) ES2564802T3 (es)
MX (1) MXPA05010227A (es)
WO (1) WO2004088501A1 (es)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
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
CN101057438A (zh) 2004-10-12 2007-10-17 阿瓦雷公司 电信环境中的资源共享
US20060100845A1 (en) * 2004-11-08 2006-05-11 Mazzagatti Jane C Multiple stream real time data simulation adapted for a KStore data structure
CN101073237B (zh) * 2004-11-30 2012-02-01 艾利森电话股份有限公司 用于传送多媒体文件的方法
US20090019468A1 (en) * 2005-03-09 2009-01-15 Vvond, Llc Access control of media services over an open network
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
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
US7698451B2 (en) 2005-03-09 2010-04-13 Vudu, Inc. Method and apparatus for instant playback of a movie title
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
US20080022343A1 (en) 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US7937379B2 (en) 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
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
KR102454569B1 (ko) 2016-04-22 2022-10-13 아이비큐티 디지털 코포레이션 공중파 무선 방송 신호 메타데이터
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

Family Cites Families (20)

* Cited by examiner, † Cited by third party
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
WO1999019864A2 (en) * 1997-10-15 1999-04-22 At & T Corp. Improved 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
JPH11242640A (ja) 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
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
WO2001054370A2 (en) * 2000-01-24 2001-07-26 The University Of Manitoba Method and system for segmented file transfer
WO2001056244A1 (fr) * 2000-01-26 2001-08-02 Sony Corporation Systeme de transmission de donnees
US20030018581A1 (en) * 2000-02-16 2003-01-23 Bratton Timothy R. Delivering media data to portable computing devices
EP1313318A1 (en) * 2000-08-25 2003-05-21 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
WO2002087235A1 (en) * 2001-04-19 2002-10-31 Vividon, Inc. System for applying metric to multimedia files over 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

Also Published As

Publication number Publication date
EP1609053A1 (en) 2005-12-28
WO2004088501A1 (en) 2004-10-14
CN1764897A (zh) 2006-04-26
KR20050114659A (ko) 2005-12-06
BRPI0408622A (pt) 2006-03-07
JP2006521643A (ja) 2006-09-21
MXPA05010227A (es) 2006-03-28
EP1609053B1 (en) 2016-02-03
US7831603B2 (en) 2010-11-09
CN1764897B (zh) 2010-11-10
KR101006703B1 (ko) 2011-01-10
US20060242153A1 (en) 2006-10-26
EP1609053A4 (en) 2011-06-08

Similar Documents

Publication Publication Date Title
ES2564802T3 (es) Sistema y método para transmitir archivos basados en medios
JP5369104B2 (ja) 相互接続ネットワークにおけるパケットレベルプライオリティ付け
US7548995B2 (en) Strategies for disseminating media information using redundant network streams
US7675939B2 (en) Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program
US8239495B2 (en) Media player with integrated parallel source download technology
US20010049740A1 (en) Method and system for providing multimedia information on demand over wide area networks
JPH09294121A (ja) メディアサーバシステム及びメディアサーバシステムの操作方法
JP5738865B2 (ja) Mpeg−2ts多重化マルチメディアストリームのエレメンタリパケットの選択による、mpeg−2ts多重化マルチメディアストリームの配信
JP2009512279A (ja) ストリーミングと制御処理に異なる素子を用いたメディアデータ処理
CN106911699B (zh) 一种基于rtp协议实现i帧重传的方法
JP4373012B2 (ja) データ伝送
CN110381030B (zh) 一种同步请求的处理方法及装置
CN112995753A (zh) 一种媒体流分发方法、cdn节点服务器、cdn系统和可读存储介质
WO2018121584A1 (zh) 一种数据流传输方法、装置、相关设备及存储介质
US20030210711A1 (en) Data transfer method and apparatus
CN101515934B (zh) 转发可伸缩视频编码数据报文的方法、设备和通信系统
CN105900437B (zh) 通信设备、通信数据生成方法和通信数据处理方法
CN110225371B (zh) 一种基于媒体自身属性以支持空间分块的存储与传输方法
CN110381080B (zh) 一种多媒体数据包发送方法及装置
WO2003096646A1 (en) File transfer method and apparatus
Zimmerman et al. Retransmission-based error control in a many-to-many client-server environment
KR100978355B1 (ko) 계층화된 데이터를 전송하는 데이터 전송 장치 및 데이터 전송 방법
KR100616250B1 (ko) 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법
KR20160149811A (ko) 미디어 콘텐츠 전송 제어를 위한 방법 및 장치
Zimmermann et al. Retransmission-based error control for scalable streaming media systems