CN101427316B - 组播多媒体内容分发系统 - Google Patents

组播多媒体内容分发系统 Download PDF

Info

Publication number
CN101427316B
CN101427316B CN200580015814.1A CN200580015814A CN101427316B CN 101427316 B CN101427316 B CN 101427316B CN 200580015814 A CN200580015814 A CN 200580015814A CN 101427316 B CN101427316 B CN 101427316B
Authority
CN
China
Prior art keywords
dvr
content
digital vtr
multicast
server
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.)
Active
Application number
CN200580015814.1A
Other languages
English (en)
Other versions
CN101427316A (zh
Inventor
J·巴顿
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.)
Tivo Solutions Inc
Original Assignee
Tivo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tivo Inc filed Critical Tivo Inc
Publication of CN101427316A publication Critical patent/CN101427316A/zh
Application granted granted Critical
Publication of CN101427316B publication Critical patent/CN101427316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • 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
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/64Addressing
    • H04N21/6405Multicasting

Abstract

一种用于组播多媒体内容分发系统的方法和装置。内容服务器创建数据流的传输时间的时间表并将该流分配给组播组。DVR从内容服务器接收包含每一数据流的内容描述以及每一特定内容描述的传输时间的时间表。内容服务器通过为特定组播组指定的组播传输根据所公布的时间表在因特网上传送该内容。每一DVR确定其感兴趣的内容,找到为该内容的传送所排定的时间,在其记录时间表中排定一个记录时间,并在所排定的时间加入相关联的组播组。DVR接收该组的组播流并将该流存储在其本地存储装置上供DVR使用或供用户观看。

Description

组播多媒体内容分发系统
发明领域
本发明涉及跨网络将多媒体内容分发至多个数字记录器。
背景
随着盒式磁带录像机(VCR)的出现,电视观众能记录在给定时隙中广播的电视节目事件并在稍后回放所记录的节目内容。在记录期间,VCR将节目内容的电信号变成磁信号并将该磁信号存储在磁带上。在回放时,VCR将磁信号变成电信号并且所附连的电视机在其屏幕上显示该信号的节目内容。
随着数字技术的发展,VCR迅速被数字录像机(DVR)所取代。和VCR一样,DVR的功能是记录广播的节目事件用于稍后回放。在记录期间,DVR将广播节目内容的电信号变成诸如MPEG数据流等数字信息,并将该数字信息存储在存储装置上或直接将预先数字化的TV信号存储在存储装置上。在重放时,DVR将数字信息转换回模拟或数字显示信号。附连的电视机或监视器在其屏幕上显示该信号的节目内容。
传统的DVR是专用于记录广播电视节目内容的单用途系统。它不具有以除了通过陆地、电缆或卫星连接以外的任何方式接收多媒体内容的能力。所需要的是提供一种具有通过诸如因特网等网络连接来接收多媒体内容,从而给予DVR附加的内容源的能力的DVR。如同广播电视节目内容一样,该内容不必实时接收或显示。另外,这种系统会提供一种有效地跨网络将多媒体内容广播至多个DVR而不使内容服务器超载的方法。
附图简述
在附图的各图中,作为示例而非限定示出了本发明,附图中,同样的标号指类似的元素,其中:
图1是示出用于对集中式个人电视服务进行远程访问的通信系统的框图;
图2是示出图1所示的系统的操作过程的数据流图;
图3是示出图2所示的用户数据库和事件数据库的结构的表图;
图4是示出由个人电视服务的Web服务器用于从用户获得远程编程指示的过程的流程图;
图5是用于节目选择的图形用户界面的图形表示;
图6是出现在用户的Web浏览器或电视屏幕中的Now Showing(正在播出)网页的屏幕捕捉;
图7是示出通过因特网在个人电视服务中心、DVR和的外部内容服务器之间的交互的框图;
图8是指示内容的下载比回放速度快的重放条的屏幕捕捉;
图9是示出包含DVR信息的数字证书的图;
图10是示出与家中的DVR连接的本地网中的媒体服务器的框图;
图11是示出两个DVR之间用于创建强加密的连接的通信交换的框图;
图12是示出包含DVR和内容服务器信息的数字证书的图;
图13是示出记录DVR访问信息用于记帐的服务器的框图;
图14是示出将DVR请求重定向至第三方服务器的域名重定向器的框图;
图15是示出用作第三方内容服务器的加密流水线的DVR的框图;
图16是显示可访问媒体服务器的Now Playing(正在播放)屏幕的屏幕捕捉;
图17是显示媒体服务器的可访问内容的内容屏幕的屏幕捕捉;
图18是为来自媒体服务器的内容而显示的传输选项的屏幕捕捉;
图19是显示从媒体服务器传送的节目的节目状态屏幕的屏幕捕捉;
图20是显示来自媒体服务器的可访问音乐的音乐屏幕的屏幕捕捉;
图21是显示来自媒体服务器的可访问照片的照片屏幕的屏幕捕捉;
图22是示出与家中的DVR连接的本地网中的媒体服务器的框图,该媒体服务器可以访问因特网;
图23是示出与家中的DVR连接的本地网中的媒体服务器的框图,该媒体服务器和DVR均可以访问因特网;
图24是示出组播因特网连接的框图;
图25是示出家中的本地网中的多个DVR的框图,该DVR可以访问因特网并具有组播能力;
图26是示出与因特网连接并预订组播组用于接收来自内容服务器的传输的多个DVR的框图;
图27是示出使用与本地网上的多个DVR连接的组播隧道DVR的虚拟组播连接的框图;
图28是示出跨因特网将数据流发送至多个DVR的组播广播中央服务器的框图;
图29是示出使用组播将内容分发至DVR的系统的流程图;以及
图30是示出用于在内容服务器和DVR之间创建虚拟组播网络的系统的框图。
详细描述
描述了一种用于组播多媒体内容分发系统的方法和装置。在以下描述中,为了解释起见,列举了许多具体细节以提供对本发明的全面理解。然而,很明显不用这些具体细节也可以实现本发明。在其它情况下,为了避免不必要地混淆本发明,以框图的形式示出公知的结构和设备。
在下列讨论中参考了附图,在所有几幅图中,同样的标号指同样的部分。
A.用于远程访问个人电视服务的系统
参见图1,示出了用于远程访问个人电视服务的通信系统,一般指定为100。根据一种方法,安装在家中的数字录像机(DVR)110与个人电视服务中心(下文称为服务中心)130通信,该个人电视服务中心130提供节目指南数据、图形资源(例如字体、图片等)、服务信息和使DVR 110能独立于服务中心130操作以满足观众兴趣的其它形式的数据。DVR的功能以美国专利第6,233,389号和专利申请第09/827,029、09/935,426、10/081,776、10/418,646和11/051,347号中的为代表,这些专利或申请都为本申请人所有并通过引用包含在此。通信系统使用安全分发体系结构以在DVR 110和服务中心130之间传送数据,从而同时保护服务数据和用户稳私两者。DVR 110接收来自天线115的广播信号或接收来自有线电视系统的电视信号。
在本发明的一个实施例中,DVR 110一般包括:将模拟电视信号数字化并将其转换成数字数据流所需的多个组件;被设计成记录所述数据流的片段的多个组件;被设计成保存所述数据流的片段的存储装置;被设计成检索所述数据流的片段、将所述数据流转换成模拟信号、然后将该信号调制到用于将信号传递到标准电视机120的RF载波上的多个组件;以及DVR 110与网络140通信所使用的接口125。
DVR 110包括其中包含不可更改私钥的本地安全密码芯片。DVR 110安全功能在美国专利第6,385,739号中有进一步描述,该专利为本申请人所有并通过引用包括在此。
DVR 110可以通过使用其内部电话调制解调器拨入呼入调制解调器组145来直接与服务中心130连接。该呼入首先被路由至服务中心130用于标识验证。在验证后,该呼入被授权。专用调制解调器组145答复该呼叫,且DVR 110被授权访问服务中心130中的数据库。
或者,DVR 110可以通过网络140与服务中心130间接地连接。DVR 110和网络140之间的接口125可以是DVR 110的内部电话调制解调器,或是诸如线缆调制解调器等专用网络接口。计算机网络140既可以是专用网络又可以是因特网。DVR 110通过呼叫因特网服务供应商(ISP)的本地访问电话号码来启动与计算机网络140的连接。ISP将该网络连接请求定向至服务中心130用于标识验证。一经验证,则授权网络连接并授权DVR 110访问服务中心130中的数据库。
服务中心130接收来自外部源的节目时间表信息150。节目时间表信息150形成电视观众能用于选择要记录的电视节目的节目指南的基础。服务中心130通过接口135与计算机网络140通信。
电视观众能通过经由计算机网络140建立与服务中心130的通信信道,使用远程计算机155或个人数字助理160来远程地访问服务中心130中的节目数据库。
参见图2,服务中心130包括Web服务器200,它收集、组织并提供节目时间表信息;节目数据库210,它存储节目时间表信息;用户数据库220,它存储关于用户和数字录像机的信息;事件数据库230,它存储每一用户的事件列表;以及调度进程,它遍历用户数据库并从事件数据库中检索事件列表。服务中心130还可包括Web服务器和数字录像机用于通信的网络接口。
在一个实施例中,DVR 110包括微型服务器250,它控制DVR 110和服务中心130之间的通信;本地节目存储指南260,它记录由服务中心130提供的节目指南并且只要DVR 110访问服务中心130就被更新;事件队列270,它是用于启动捕捉所选择的电视节目的记录会话的数据结构;伪随机数生成器(PRNG)280,它生成用于远程访问的授权密钥;以及网络接口125,它将DVR 110连接至计算机网络140。事件队列270耦合至集成于DVR 110中的记录设备。
远程计算机155和个人数字助理(PDA)160两者都包括Web浏览器290,该浏览器可以是使用户能查看网页的一般Web浏览器。
图3是示出用户数据库220和事件数据库230的结构的表图。用户数据库220包括多个用户记录300。每一用户记录300包括多个字段,这些字段有用户标识310、密码密钥320、DVR标识330和事件列表指针340。用户标识字段310用作进入用户数据库220的密钥。密码密钥字段320用于存储从试图远程地编程其DVR 110的用户接收到的经授权的密钥。DVR标识330用于存储建立与DVR 110的通信信道所需的网络地址和连接细节。
在用户数据库220中,为每一用户维持单独的事件列表350。事件列表350被存储在事件数据库230中。每一事件列表350包括多个事件记录360。每一事件记录包括多个字段,这些字段有时间字段370、频道字段380和持续期字段390。时间字段370用于指示记录的起始时间并且由节目事件的日期和时间构成。频道字段380指定DVR应记录哪个频道。持续期字段390用于指定DVR应记录该节目事件的内容多长时间。事件记录还可包含节目指南数据库中的记录(或对象)的ID。DVR从节目指南数据库中检索所需的信息。
B.用于对个人电视服务进行远程访问的过程
图2和图1一起示出共同允许本文所述的技术的功能的各种过程。
服务中心130在周期性的基础上接收来自外部源的节目时间表信息150。一旦节目时间表信息150到达,则相应地更新节目数据库210。
DVR 110通过从Web服务器读取网页或经由电缆、卫星或电话在周期性的基础上更新其本地节目指南260。响应于来自DVR 110的请求,Web服务器200首先向节目数据库210咨询更新的节目信息,然后动态地创建包含更新的节目时间表信息的网页。
有两种类型的远程访问可用:直接和间接。电视观众能通过在远程计算机155或个人数字助理160上使用Web浏览器290来间接地对DVR 110编程。在此情况中,Web浏览器290用于访问Web服务器200主存的特殊网站。Web服务器200用图5所示的图形用户界面向电视观众呈现节目指南。电视观众按照节目标题和时隙来选择电视节目,以指示DVR 110应记录什么节目。
服务中心130在周期性的基础上执行调度进程240。调度进程240遍历用户数据库220。只要调度进程240遇到已指定节目事件的用户,该调度进程240就从事件数据库230中检索事件列表350。然后调度进程240建立与驻留在DVR 110中的微型服务器250的通信信道。此通信信道被设计成允许调度进程240从微型服务器250检索特殊事件调度网页。微型服务器250向调度进程240提交事件调度网页。然后调度进程240完成该事件调度网页并将其提交回微型服务器250。
微型服务器250还能通过向调度进程240轮询事件来使调度进程240启动事件传送。
微型服务器250使用在事件调度网页中找到的事件指示来更新集成于DVR110中的事件队列270。事件队列270是DVR 110用于启动捕捉TV节目事件的记录会话的数据结构。
为了认证事务,Web服务器200包括用于与要编程的DVR 110有关的一个或多个用户的授权码。DVR 110将该授权码与DVR的非易失性存储器中所维护的专用副本相比较。该授权码是时间敏感的,并被设置成如系统安全要求所规定地过期。
为了使用直接远程访问特征,用户必须首先从DVR 110获得授权密钥,该密钥由伪随机数生成器(PRNG)280生成。用户通过其在DVR的位置处的电视与DVR 110直接通信。DVR 110将授权密钥提交给用户。用户随后使用其计算机155或其PDA 160通过因特网访问DVR 110。用户通过由微型服务器250管理的图形用户界面提交授权密钥并对DVR 110编程。同样,一旦用户具有了直接模式的访问,用户能将节目下载至DVR 110。
C.用于获得远程编程指示的过程
图4是示出Web服务器200和微型服务器250用于从用户获得远程编程指示的过程的流程图。这两个过程并行地呈现,但在正常使用中它们是独立的过程。该过程包括下列步骤:
步骤400:Web服务器200或微型服务器250在第一网页中向访问由Web服务器200或微型服务器250管理的特殊网站的用户呈现授权请求表单;
步骤410:Web服务器200接收由用户输入的授权口令;微型服务器250接收来自用户的授权密钥;
步骤420:Web服务器200使用用户数据库220来确认授权口令;微型服务器250用已存储的密钥来确认授权密钥;
步骤430:一旦Web服务器200已确认了用户数据库200中的授权口令,它将cookie写入远程计算机155或个人数字助理160的非易失性存储器中;一旦微型服务器250已确认授权密钥,它将cookie写入远程计算机155或个人数字助理160的非易失性存储器中;
步骤440:在用户被标识和认证之后,Web服务器200或微型服务器250向用户呈现节目指南;
步骤450:Web服务器200接收用户选择并创建该用户专用的事件列表350。事件列表350被存储在事件数据库230中。微型服务器200接收用户选择并将它们放在事件队列270上。
在步骤440中,Web服务器200或微型服务器250遵循集成于呈现给用户的第一网站中的脚本,并搜索远程计算机155或个人数字助理160上的有效cookie。一旦发现有效cookie,则从过程流中去掉步骤400-430。
D.用于节目选择的图形用户界面
图5是用于节目选择的示例性图形用户界面(GUI)500的图形表示。GUI 500既用于DVR面板又被合并至由Web服务器200呈现给远程用户的网页中。当在DVR 110中直接实现时,GUI 500由集成于DVR 110中的控制进程直接操作。当GUI 500通过计算机网络呈现给远程用户时,它被具体化为活动服务器网页。图6是示出在用户的Web浏览器中出现的Now Showing(正在播出)网页的屏幕捕捉。
GUI 500包括其中包含多个列510和多个行515的表505。列510对应于星期(及特定日历日期)。行515对应于给定日的小时。表505的列510和行515实际上由数据选择控件组成,其中该控件的标题被设置成指示被排定在与该控件在表505中的位置相应的时隙中的电视节目的名称。GUI还包括用于向上滚动520和向下滚动525的机制;用于向前转动530和向后转动535的机制;用于选择特定电视节目的机制;用于创建包含所选择的电视节目的节目事件列表350的机制;以及用于编辑所述事件列表350的机制。另外,GUI还可以包括用于命令下载的机制、用于指示下载正在进行的机制以及用于取消正在进行的下载的机制。
该控件的位置对应于电视节目事件的星期和小时。用户能切换GUI 500中所呈现的选择控件。当GUI 500返回至Web服务器200时,所选择的控件的标识符和节目指南260一起用于创建用户的事件列表350。然后,在远程编程的情况下该事件列表350被存储在事件数据库230中。为了对DVR 110进行本地编程,事件列表350被直接存储在控制DVR记录顺序的事件队列270中。
E.对数字录像机的因特网接入
图7是示出通过因特网在个人电视服务中心130、DVR 110和的外部内容服务器720之间的交互的总解决方案700的框图,其中特定样式的因特网接入被集成于DVR 110中以使其能通过因特网连接140读取某些类型的内容并使它们可用于观看图6中所示的Now Showing页面。为了示出清楚的例子,图7和本文中的描述涉及可以在诸如因特网、Linux、DHCP等实现中使用的具体元素和协议。然而,在替换实现中也可以使用功能上类似的其它元素或协议。例如,可以通过任何公共、私有或专用网络而非因特网来进行下载。可以使用其它操作系统和动态寻址协议。
在Now Showing页面中,内容名称,即电视节目的名称的列表指示在GUI 500上正在读取这一内容,而记录图标或其某一变体指示下载正在进行。观众可以挑选该内容(即电视节目)并在任何时间播放它。
下载可以按任何速度进行。由此,图1中的接口125决不依赖于下载的速度。图8是示出重放条801的网页的屏幕捕捉,它通过在数量上相当地生长绿色区域802来指示内容的下载比重放速度803快。诸如重放条801等其它机制可以用于指示内容的下载比重放速度快。在任何情况下,观众都能将所有特技播放(trick-play)动作用于在该点为止已下载的任何数量的内容。
除了在呈现节目信息的上下文中,通过因特网下载内容的这一事实对观众是透明的,在该上下文中可以按各种方式指示内容是来自因特网的。
指向下载的内容的指针以与存储广播节目类似的方式存储在DVR 110硬盘驱动器上的本地内容数据库740中,以使得所有形式的搜索和呈现正确地显示这些节目并为它们的操作作准备。
在频道或面向网络的上下文中,以与广播节目类似的方式呈现可下载的节目。这些上下文可能必须被修改成以可感知的方式呈现频道或网络“节目”,因为对这些节目而言时间和位置是无关的。
图6中所示的Now Showing上下文中可用的内容项的数目可能会使导航不便。虽然最初实现不要求,但此上下文可以被修改成使许多项目的导航更简单。
提供来自某些服务器的内容的实体可以被视作电视网络。每个唯一服务器名指示一个频道。这里,“服务器”只是网络上的名称;它可以映射至世界上任何地方的物理服务器。
一旦联系到内容服务器720,DVR 110根据给定的节目标识请求媒体内容。这通过Web服务器200映射至一个特定的内容,然后沿连接向下发送该特定内容。内容服务器或DVR均能调节下载速度。
如果观众请求多个下载,则DVR 110可以选择几种不同的方式来取得内容;它可以最大限度地启动多个连接,或将请求排队,或两者。
在一种方法中,图7的元素致力于DVR 110的安全。打开网络端口导致围绕版权的内容的安全和用户私人数据的保护的大量可能的安全缺口。
在一个实施例中,标准Linux防火墙支持用于通过在两个通信方向上自动阻断对例如几个公知端口(例如Web(HTTP)或发现)的访问来管理此保护。DVR的应用软件将公知端口用于联系外部内容服务器720以下载媒体内容。
在DVR 110中提供诸如Linux DHCP客户端等动态寻址客户端软件元素。在引导DVR时,如果检测到网络接口,则DHCP客户端使用公知的端口来从动态地址源取得DVR的网络地址。例如,DVR 110的DHCP客户端使用DHCP协议来轮询外部DHCP服务器750。如果没有找到服务器,则联网将被禁用。否则,DVR110将初始化来自DHCP响应的其网络参数。
这种Linux防火墙支持的一个问题是要求外部DHCP服务器750配置因特网接入信息。众所周知存在大量用于读取数据或重定向两个设备之间的因特网连接上的数据流的方法。一种可能性是别名使用,其中恶意的DHCP服务器以使恶意的主机能通过使用别名服务器地址进入并攻击DVR的方式配置因特网接入信息。
为了战胜这种特性的攻击,在一个实施例中,与内容服务器720的所有通信均被认证并加密。内容服务器720有权访问DVR 110的公钥,且DVR具有内容服务器720的公钥的副本。DVR 110具有由服务中心130下载的关于内容服务器720的元数据内容信息。DVR 110将该元数据存储在其数据库740中,并依靠数据库740中的数据来操作。使用证书交换,DVR 110和内容服务器720生成一次会话密钥,并用该会话密钥加密所有进一步的通信。在一个实施例中,对加密的会话通信使用Blowfish算法。从服务中心130分发内容服务器720的公钥,该服务中心还向内容服务器720提供了合适的节目指南参照。
服务中心130接受内容服务器720的描述。在一个实施例中,这些描述由服务器URL、内容描述、内容标识、“频道”描述、“网络”描述等组成。这些数据被导入到内容服务器的描述(CSD)数据库710中。还提供了一组用于访问内容服务器720的公钥。
为了使内容服务器720接受从DVR 110的连接,它必须有权访问用于特定DVR的公钥。此密钥分发可以在传输过程中进行,或通过预共享的密钥分发方法进行。在传输过程中的密钥分发中,内容服务器720建立到服务中心130的经认证的连接,提供DVR序列号,并请求服务中心130提供相关联的公钥。给定DVR序列号,服务中心130返回相关联的公钥。内容服务器720可以高速缓存此公钥。每一密钥具有指示内容服务器720何时必须删除该密钥的过期日。为了例如审查密钥分发,服务中心130可以维护所有分发的公钥的日志。
服务中心130可以拒绝提供停用的DVR的公钥。另外,例如,如果特定DVR变成停用,则内容服务器720可以响应来自服务中心130的密钥无效请求。
媒体记录器730是DVR 110的个人电视服务应用软件的子系统。媒体记录器730允许同时记录和回放下载内容。记录的内容被存储在DVR 110的内容数据库740中。如果没有永久网络连接可用,则将不启动媒体记录器730。在一个实现中,媒体记录器730包括多个不同的线程。
(1)记录队列线程:此线程管理网络下载请求的队列并实现下载策略。最初,这可以是数据库中维护的简单FIFO队列。一旦实现了下载策略,则维护记录队列策略对象。
(2)读取记录线程:此线程用于管理与内容服务器720的连接。该读取记录线程联系服务器,实现认证协议,请求所需内容并管理内容的下载。
作为这一策略的变形,个人电视服务应用程序或媒体记录器730中的节目对象可以指示要被轮询媒体内容的多个服务器。可以由读取记录线程按序轮询服务器;使用首先接受下载请求的服务器。这提供了跨以服务器集群或数据中心组织的多个内容服务器的负载平衡内容请求。
读取记录线程周期性地将其状态存储或对其设置检查点至DVR 110中的数据库。这种设置检查点方法允许在电源故障或系统出错之后,在多媒体内容中,发生故障或出错时正在进行下载的同一点重新启动下载。读取记录线程还管理用于下载的内容的呈现和导航的数据库对象的状态。例如,读取记录线程管理用于在图6中所示的Now Showing上下文中进行正确显示的记录对象的状态。在任何时间点可以有一个或多个这样的线程是活动的。
F.DVR与DVR的交互
在一种方法中,提供了一种用于在两个DVR之间传送媒体和数据库元素的机制。参见图7,使用例如便携式DVR 760中提供的较少量盘存储示出了传输的一个例子。作为一个例子,在度假之前,用户可以将所需的媒体和不可见的相关联的服务数据传送至便携式DVR 760并带着该便携式DVR 760从而能在需要时使用该媒体。传输的另一例子使用两个DVR,即DVR 110和DVR 770来示出,这两个DVR从属在一起以使两个媒体流能精确的同步播放来实现相同的操作。
存在许多连接两个DVR的方法。在一个实施例中,源DVR 110的输出耦合至目的地DVR 770的输入。尽管这一方法是起作用的,但这种方法无法传送关于媒体流的元数据信息,该信息对观众对管理和使用媒体流的满足很重要。
存储在DVR 110中的媒体流由它本身的媒体内容和提供关于该媒体内容的描述性信息的数据库对象组成。如果使用诸如网络(例如IEEE 802.3)或直接连接(例如IEEE 1394)等数据传输方法,则媒体内容和描述性信息两者都能被传送,从而保存了观众经历的完整性。
内容所有者担心他们的内容可能被窃取。又一种方法对DVR 110和770之间的数据传送加密。这可以用许多标准和自定义方式进行。例如,Diffie-Hellman安全连接协议可以用于生成以后用于对传输加密的一次性密钥。
如果只允许对某些指定的DVR的传送是合乎需求的,则可以使用集成的安全系统。通过预共享密钥或密钥的动态交换,每一DVR的公钥对另一DVR已知。当启动传输时,DVR交换基于另一DVR的公钥加密的带符号的证书。如果两个DVR都能解密和验证另一方的签名,则每一DVR已认证了另一方的身份并能开始建立之后在传输期间用于加密数据的一次性会话密钥。
在这种情况中的密钥分发可以通过服务中心130来处理。观众可以联系服务中心130,并请求授权他拥有的两个DVR 110和770相互之间的数据传输。服务中心130通过合适的下载机制将包含每一DVR的公钥的授权对象发送至另一DVR。服务中心130维护这一操作的记录用于稍后的审查,该记录包括每一DVR的标识信息。例如,万一安全系统在一个DVR中失效并且另一DVR的公钥被暴露,则可以修改其它DVR以使它们表现为对源DVR 110授权。每一DVR保存该传输的记录。此记录被上传至服务中心130。稍后可以处理此信息以查找复制保护的违反、向未经授权的DVR的复制等。
如果传输被中断,则目的DVR 770在描述性对象中将该媒体流标识成“局部”。稍后,该传输可以被重新启动。因为数据库系统的设计确保媒体流能在目的地DVR770上被唯一地标识,局部流被找到,且该传输从其结尾开始,从而避免了重新传送已存储的媒体。一旦所有媒体流被存储,描述性对象被更新以显示完整的媒体流。
在DVR之间传送数字数据可以按任何适当的速度进行。例如,可能有DVR之间的网络慢的情况,在该情况下传送持续期将比内容的回放持续期长。或者,网络可能快,在该情况下多个媒体流可能以远少于回放一个内容项所花的时间来传送。目的地DVR的观众可以在第一部分一可用时就开始与正在进行的流下载并行地观看该媒体流。
并不要求源或目的地DVR是完整的数字视频DVR。例如,在电缆头端的服务器上所存储的媒体流可被可靠地传送至目的地DVR 770。或者,源DVR 110中所存储的媒体流可以被传送至头端服务器。
例如,PC能使用包含来自DVR的密码芯片的USB。该PC建立用于将内容传送至PC或从PC传送内容的安全机构。对于另一DVR,PC将以DVR的形式出现,因为它会使用USB道尔芯片(dongle)来认证和生成加密密钥。然后内容可以加密的形式存储在PC上。该内容可以用电子邮件发送至PC或DVR。其它PC必须具有USB道尔芯片来解密该内容。从服务中心130传递至PC的证书被存储在USB道尔芯片上的NVRAM中,从而该证书与道尔芯片一起移动并且不被存储在PC的硬盘驱动器上。
诸如数字卫星系统之类的某些媒体分发体系结构以加密的状态广播大多数媒体内容。使用基于智能卡的本地解密设备,只有在观看时才能对媒体内容解密,从而保护该内容不被窃取。DVR可以将这些加密的媒体流存储到盘上,并在回放时启动解密。此方法可用于在两个DVR之间传送媒体流。为了适当地遵循与媒体流相关联的一组特定的内容保护规则(例如播放一次,一天后过期等),DVR与描述媒体流的数据库对象一起维持与媒体流相关联的复制保护信息(包括流是否被加密存储)。
与媒体流相关联的内容保护规则也可以被传送至目的地DVR 770。例如,DVR110可能已存储了一部来自内容服务器720的电影,该电影直到被观看时才被解密。如果观众希望传送此媒体流,则它被复制到目的地DVR 770的媒体区中,且描述性对象也已被传送。在此方法中,媒体流中的原始信息被如实地复制到目的地DVR770。
智能卡可以从源DVR 110中取出并安装在目的地DVR 770中。当观看媒体内容时,向观众收取适当的费用并遵循所有复制保护规则。原始的媒体内容和描述性信息可能被移除或可能不被移除。例如,在“观看一次”方案中,原始内容被破坏,而在“每次观看收费”方案中,它们不被破坏。
使用与上述相同的技术,可以用网络或调制解调器在两个或多个DVR之间建立安全、或经认证且安全的连接。建立这种连接使得能进行控制交互。各种实施例中可以提供的控制交互的一些例子如下:
(1)同步回放。观众可以控制特定媒体流上的特技播放特征。每一关键事件也被传递至目的地DVR 770,目的地DVR 770自动执行相同的动作。例如,表演者可以将源DVR 110用作多媒体回放设备来给出实况表演,而在远处的观众能同时以相同的方式观看相同的表演。或者,通过某些其它手段(例如电话)通信的两个观众在一个或另一个控制对同一节目在两个DVR上的回放的同时可以交互。此替换方法允许对感兴趣的节目的准确讨论。通信手段可以是重叠在参与者键入评论的显示器上的简单聊天程序。这种方法可以用于商业演示以及娱乐目的。
(2)链接传递。源DVR 110的观众可以指示特定节目应被链接至目的地DVR770。作为响应,源DVR 110将消息发送至目的地DVR 770,这使该目的地DVR对所链接的节目的记录排定时间。或者,也可以解除节目的链接。假设两个DVR 110和770均在使用中,则用于链接或解除链接的消息可以只包含节目标识。如果DVR770不在使用中,则用于链接的消息可包含附加的元数据。
(3)声音或图形效果。当观看采取诸如按下特定键序列之类的动作时,源DVR 110可以播放声音或呈现图形。源DVR 110还可以将该事件传递至目的地DVR 770,目的地DVR 770再现同一声音或图形,或与所采取的动作不同的在目的地DVR 770处相关联的声音或图形。例如,小孩可以以此方式将声音加到节目中,他的朋友可以在远程目的地DVR 770上复制该节目。这种通信可以是多向的。
在另一方法中,DVR还可以传送其它类型的数据。例如,设想一个大的家用DVR 110和一个较小的便携式DVR 760。可以在两个DVR之间传送诸如软件、图形元素、节目指南数据等。例如,便携式DVR 760可以在每次两个DVR被连接时由家用DVR 110更新或同步数据。该更新可包括传送和安装软件更新、同步节目信息、同步记录时间表等。该同步很象PDA,其中便携式DVR 760可以告知家用DVR 110删除节目,因为用户已看过该节目。只要两个DVR被连接,便携式DVR760就可以将任何操作信息传送至家用DVR 110,然后只要家用DVR 110接入服务中心130,家用DVR 110就将该操作信息发送至服务中心。
该更新可以自动完成。在这种情况下,当两个DVR被连接时,执行一组预配置的动作,诸如更新节目指南或软件,然后媒体流也可以被传送。如果目的地DVR760是较小的便携式单元,则并非所有的媒体流都适合。在此情况下,观众可以明确地选择传送哪些媒体流。或者,源DVR中的应用软件可以使用喜好信息来选择观众最感兴趣的可用媒体的子集并且只传送这些流。在另一替换方案中,从最新到最老或从最老到最新来传送媒体流,在不再适合时停止传送。过季(season pass)(其中记录了在一个频道上的一个节目的所有放映)可以包括DVR“一直传送”或“从未传送”的标记。其它准则可以是该节目是不是基于观众的喜好而明确地挑选或选择的。内容的描述性对象中所存储的任何节目信息都可以用作选择准则,例如,长度、演员、收视率等。准则可以触发诸如“一直传送”等动作。
G.网络安全方案
如上所述,本文中的一种方法提供了在DVR 110、760、770之间或内容服务器720与DVR 110、760、770之间的安全的加密数据传送。此方法允许用户在一个DVR 110上记录一节目,然后在另一个DVR 770上观看该节目。
本文所述的加密数据传送系统使得难以将视频从DVR传送至任何不兼容的系统,或传送至第一DVR的位置以外的系统。因此,用户可以对他们已作的录制品行使合理使用权,但该方法使用户难以‘盗版’视频,或违反合理使用原则将赠送的内容发送至他们的朋友。
本文的方法的各种实施例可包括下列方面:
·录制品被加密。许多录制品在它们最初被记录时被加密。没有加密的录制品可以在从一个DVR传送至另一DVR之前被加密。这使得任何人都难以在录制品数据经过家庭网络时“发觉”该录制品数据并复制该数据。
·当加密的录制品从一个DVR传送至另一DVR时,接收系统不能使用该录制品,除非发送系统也传送与该录制品相关联的加密/解密密钥。
·DVR可以发现其它系统,从这些其它系统,它可以通过IP广播机制或其它网络发现协议来传送录制品。在这种发现协议中,发现包通常不离开本地IP子网。在居住环境中,本地IP子网包括家庭LAN。除此之外或作为选择,如果存在用户将视图与其它用户共享录制品的问题,则DVR的应用软件不提供允许系统的所有者键入或手动指定位于因特网上别处的系统的IP地址的机制。
·如果接收系统被“授权”观看该录制品,则DVR可以只将录制品加密密钥发送至另一DVR。例如,在此上下文中,“授权的”可以意味着目的地DVR位于同一家庭中,或由所有者注册为已授权。使用健壮的公/私钥系统来传送密钥——在该系统中,传送的每一密钥只对向其发送该密钥的一个系统可理解。
·通过数字证书完整授权,该证书列出已知为一个家庭的一部分或由单个用户拥有的特定系统。证书包括系统的公钥,并由服务供应商“签署”。每一系统验证它正在使用的证书上的签名,并且还在将任何数据传送至任何其它系统之前,将对照证书中所包含的身份来验证其自己的身份。
该证书系统可以基于ElGamal公/私钥系统和Blowfish对称块密码,它包括会阻断诸如“改变系统的序列号”或“将证书复制到不同系统”或“更改证书”之类的攻击的自检验。
参见图7和9,用户登录服务中心130以创建他想与其共享内容的DVR的记录。用户使用任何适当的用户界面输入他想包括的DVR的序列号,该序列号由服务中心130通过其数据库验证,或服务中心130找到用户先前已注册的序列号。服务中心130还可以通过只显示用于选择的那些DVR将用户仅限于他是注册的所有人的DVR。用户可以将名称与每一单元相关联,例如,起居室DVR、卧室等,以允许用户容易地标识单元。用户选择他想要共享或与其传送媒体的单元。
服务中心130创建标识用户的已选择的单元的数字证书901。证书901包括每一单元的序列号903、905和相应的公钥904、905。用户已分配给每一单元的名称还被交叉引用,如证书901中的名称902所示。证书可包含用户标识的任何数量的单元,包括如上所述的具有USB道尔芯片的PC机。
为了确保证书901不会无限期地存在,到期日907被包括在证书901中。使用数字签名908以使接收该证书的单元能验证实际上源自服务中心130的证书。
服务中心130通过网络140(它可包括互联网、LAN或其它公共或专用网络)、电话线或卫星连接将证书发送至证书901中所列出的每一DVR 110、770。证书901可以用每一目的地DVR 110、760、770的公钥进行加密。便携式DVR 760能通过网络连接或电话线与服务中心130连接以接收其证书。或者,便携式DVR 760能从它所连接的DVR 110接收其证书。
每一DVR 110、760、770通过将证书解密并验证证书901中的数字签名908来验证该证书。一旦DVR已验证该数字签名908来自服务中心130,DVR就使用对等发现协议(例如来自美国加州的库珀蒂诺市的Apple Computer Inc.的会合(Rendezvous))来找出证书901中所列出的所有对等设备的网络位置。
一旦DVR 110已发现网络中的对等设备770,它使用来自证书901的对等设备的公钥与对等设备770建立一加密的连接。该加密的连接可以是“弱”加密的,因为它是来自每一对等设备的两个公钥的函数。每一对等设备使用另一个的公钥发送消息。一个单元被指定为内容服务器,在本例中,内容服务器720由服务供应商提供并被远程地定位。
内容服务器720通过创建随机强连接密钥来创建与DVR 110的强加密连接,并使用该DVR的公钥来加密该强密钥。然后,内容服务器720将加密的强密钥发送至DVR 110。DVR 110将该强密钥解密。在一种方法中,可以使用硬件解密元件进行解密。两个系统现在共享一个安全密钥。
用户能请求将某些所记录的内容发送至DVR 110。当内容服务器720将先前加密的录制品发送至DVR 110时,它加载一个用于加密来自其数据库的录制品的录制品密钥并使用该强密钥来加密该录制品密钥。内容服务器720将加密的录制品密钥发送至DVR 110。
DVR 110使用它与内容服务器720共享的强密钥来将录制品密钥解密并存储该录制品密钥。内容服务器720将所记录的已本地存储的内容发送至DVR 110。所记录的内容在它最初由内容服务器720本地存储时已被加密。内容服务器720发送所记录的内容而不将内容解密。
DVR 110将所记录的内容直接写入其存储装置而不将其解码。当DVR播放所记录的内容时,它在进行中将内容解码。本文所述的方法保存了记录的内容的完整性,因为内容在发送期间处于加密的状态并被加密地存储在DVR上,从而防止了对内容的任何未授权的复制。
如果内容服务器720将未加密的录制品发送至DVR 110,它创建一个将用于加密该录制品的随机录制品密钥并用强密钥将该录制品密钥加密。内容服务器720将加密的录制品密钥发送至DVR 110。
DVR 110使用它与内容服务器720共享的强密钥将录制品密钥解密并存储该录制品密钥。内容服务器720将所记录的已本地存储的内容发送至DVR 110。所记录的内容在它最初由内容服务器720本地存储时没有被加密。内容服务器720发送所记录的内容,在其发送该内容时将内容加密。
DVR 110将所记录的内容直接写入其存储装置而不将其解码。当DVR播放所记录的内容时,它在进行中将内容解码。该方法仍保存了所记录的内容的完整性,因为内容在发送期间处于加密的状态并被加密地存储在DVR上,从而防止了对内容的任何未授权的复制。
图10示出在住宅1001中的本地联网的DVR设置中的媒体服务器1002。在图10的例子中,DVR 1003位于卧室1中,DVR 1004位于卧室2中,而DVR 1005位于娱乐室中。媒体服务器1002位于起居室中。用户发送信息,该信息向服务中心1006指示DVR 1003、1004、1005和媒体服务器1002已被授权共享内容并按照它所在的房间来关联每一单元。服务中心1006创建包含媒体服务器1002和DVR1003、1004、1005中的每一个的序列号和公钥以及到期日和服务中心的数字签名的证书901。
媒体服务器1002可以是PC、DVR中其它类型的内容服务器。用户在本地网络中将媒体服务器1002指定为多媒体内容的主要来源。
服务中心1006通过因特网1007将证书发送至媒体服务器1002和DVR 1003、1004、1005。媒体服务器1002和DVR 1003、1004、1005使用该证书中的信息来发现它们的对等设备。DVR 1103、1004、1005发现媒体服务器1002是正在提供内容的唯一系统。一旦媒体服务器1002建立了与DVR 1003、1004、1005中的每一个的弱加密连接,它为DVR 1003、1004、1005中的每一个的创建随机强连接密钥。媒体服务器1002使用特定DVR的公钥将每一强密钥加密,并将经加密的强密钥发送至DVR 1003、1004、1005中的每一个。DVR使用其本地密码芯片将该强密钥解密。媒体服务器1002现在与DVR 1003、1004、1005中的每一个共享安全密钥。
参见图16-21,每一DVR能够访问媒体服务器的内容。首先参见图16,用户转到Now Playing(正在播放)屏幕1601(在格式和内容上类似于图6中的NowShowing屏幕),并看到用户能访问的所有媒体服务器。例如,媒体服务器标签1602指示用户能访问名为“Bedroom(卧室)”的DVR。用户使用标签1602选择所需服务器,并且显示列出该媒体服务器可用的内容的内容屏幕1701(图17)。用户能通过内容屏幕1701请求将某个记录的内容(音乐、照片、视频等)发送至特定的DVR 1003。用户能如上所述地远程地或通过DVR 1003本身来此进行操作。用户使用传送选项屏幕1801(图18)选择用于传送所选择的内容的选项。用户能使用Start From(从……开始)选项1802选择从何处开始传送。例如,传送可以从节目的起始开始,从用户上次暂停之处开始,或在节目中的某个时间开始。用户能以与图20的屏幕捕捉2001和图21的屏幕捕捉2101所指示的相同的方式观看和传送音乐内容和照片内容。
如以上参照图10所述,媒体服务器1002能将先前加密的录制品发送至DVR1003。媒体服务器1002从其数据库加载曾用于将录制品加密的录制品密钥,并使用强密钥将该录制品密钥加密。媒体服务器1002能使用本地加密密钥可任选地将录制品密钥加密以存储在其数据库中。以明文存储任何加密密钥一般是不合需求的,所以最好用本地密钥简单加密。它将经加密的录制品密钥发送至DVR 1003。
DVR 1003使用它与媒体服务器1002共享的强密钥将录制品密钥解密并存储该录制品密钥。DVR 1003能在存储前使用本地密钥将录制品密钥可任选地加密。媒体服务器1002将所记录的已本地存储的内容发送至DVR 1003。所记录的内容在它最初由媒体服务器1002本地存储时已被加密。媒体服务器1003发送所记录的内容而不将内容解密。
DVR 1003将所记录的内容直接写入其存储装置而不将其解码。当DVR 1003播放所记录的内容时,它用录制品密钥在进行中将内容解码。参见图19,用户能选择节目信息屏幕1901以查看该节目是否仍在传送。用户能通过在传送正在进行的同时选择Play(播放)选项1902来播放节目(如上所述),或使用Stop transfer(停止传送)选项1903来停止该传送。
如果媒体服务器1002将未加密的录制品发送至DVR 1003,它创建一个将用于加密该录制品的随机录制品密钥,并使用强密钥加密该录制品密钥。媒体服务器1002将经加密的录制品密钥发送至DVR 1003。
DVR 1003使用它与媒体服务器1002共享的强密钥将录制品密钥解密并存储该录制品密钥。DVR 1003可以在存储之前使用本地密钥可任选地加密录制品密钥。媒体服务器1002将所记录的已本地存储的内容发送至DVR 1003。所记录的内容在其最初由媒体服务器1002本地存储时没有被加密。媒体服务器1002发送所记录的内容,在其发送该内容时加密该内容。
DVR 1003将所记录的内容直接写入其存储装置而不将其解码。当DVR 1003播放所记录的内容时,它使用录制品密钥在进行中将该内容解码。
注意,如果内容版权是一个问题,则DVR 1003不需要在其存储装置上存储该内容。它只是立即播放或显示该内容。如果该内容被加密,则DVR 1003在进行中解密该内容。
以上所述的方法在本地网络和在因特网上执行得一样好。
H.保持证书一致性
回见图11,强密钥的创建需要多个CPU周期。在一种方法中,可以要求DVR1101创建和存储多个强密钥以在将来它被指定为媒体服务器时使用。另外,接收DVR需要多个CPU周期以在接收时将强密钥解密。这大大减慢了DVR的整体性能。本文中的技术使DVR 1101免于每次DVR 1102重新引导或被重新启动时创建新的强密钥的额外负担。它还使DVR 1102免于在重新引导或重新启动后将强密钥解密的负担。
DVR 1101最初创建一个强连接密钥,将其存储在其本地高速缓存1103中,并使用另一DVR 1102的公钥将该密钥解密。DVR 1101将经加密的强密钥发送至DVR 1102。DVR 1102将该强密钥解密并将该密钥与经加密的强密钥和DVR 1101的机器序列号一起存储在其本地高速缓存中。
如果DVR 1102重新引导或被重新启动,则它不知道它在网络中的状态是什么。它可能已被停机(down)几秒钟或者它可能已从另一网络迁移。DVR 1102向被指定为媒体服务器的DVR 1101请求强密钥。DVR 1101发送它已存储在其本地高速缓存1103中的强密钥,或者如果DVR 1102不曾具有与DVR 1101建立的强连接,则创建一个新的强密钥。该强密钥使用DVR 1102的公钥加密并被发送至DVR 1102。
当DVR 1102接收经加密的强密钥时,它在本地高速缓存1104中核查DVR1101的条目,且如果找到一个,则它将其与本地高速缓存1104中的加密的密钥进行按位比较。如果两个密钥相同,则DVR 1102使用先前存储在本地高速缓存1104中的经解密的密钥。否则,DVR 1102将新发送的密钥解密并将经加密的密钥、经解密的密钥和DVR 1101机器序列号存储在本地高速缓存1104中的一个新条目中。这样,除了在绝对必要时以外,避免了长的解密步骤。
I.因特网媒体下载
为了便于将因特网媒体从服务器下载至DVR,图12示出图9中所示的数字证书的修改。同样,再参见图7,服务中心130创建证书901,该证书被分发至DVR110、770。DVR 110、770将使用服务的序列号字段903中的特定前缀的序列号,例如FFFxxxxxxxxxxxx来识别服务条目,其中“xxxxxxxxxxxx”用于提供诸如版本号、服务供应商等附加信息。显示器名902被设置成指示诸如“特殊视频”等服务的内容。用服务器的接入点的完全合格域名来填充密钥字段1204、1206而非直接公钥。
证书901能包含服务服务器信息和对等单元信息的混合。到期日907和数字签名908保持不变。
因此,服务中心130能将信息放在所有或一组证书的字段中以命名相同或不同的服务器等。
DVR 110识别证书中的服务序列号,并使用密钥字段,例如密钥字段1204中的域名将查验发送至服务器,以查看它是否可达。当新DVR连接时,服务器查找该DVR的公钥并使用该公钥来生成任何其它所需的密钥。DVR无需为服务器处理密钥;服务器为会话生成强密钥,并用DVR的公钥来加密该强密钥。然后,它将经加密的强密钥传递至DVR。
一旦建立了通信,则DVR 110能向服务器查询内容。
服务器合成适当的元数据以描述它所具有的可用的内容并将其发送至DVR110。因为元数据被合成,它可以在每DVR的基础上唯一地创建。例如,DVR拥有者可以签订不同类型的服务,例如历史、戏剧、喜剧等。
或者,服务器能指令DVR 110将其喜好矢量发送至服务器,服务器将其用于合成适当的元数据。DVR的喜好矢量包含用户的观看习惯,例如,用户已指示他喜欢和不喜欢什么,它用诸如过季预订等选项持续记录了什么。服务器不存储喜好矢量信息;它只是在使用后丢弃该信息。这保留了用户的稳私并确保喜好一直保持在DVR 110上。
如上所述地使用标准视频、音乐和照片传送接口。图16示出其中显示来自DVR本身和其它可访问媒体服务器和DVR的可用内容1602的Now Playing屏幕1601。来自服务的内容的将其来自证书的相关联的名称列出。以相同的方式,使用用户已与其相关联的名称1602列出(如果存在的话)来自另一DVR的内容。这样,用户知道内容的来源。图17示出显示内容来源1702的名称的内容屏幕1701。图20和21示出音乐内容屏幕2001和照片内容屏幕2101。
参见图13,对从服务器1301下载内容感兴趣的DVR查验服务器1301。服务器1301在DVR进入时响应于来自DVR的请求运行查验服务。这允许服务器1301维护“签订”下载视频的所有DVR的记录1302。记录1302稍后可以被审查以确保例如不存在从另一IP地址访问可下载视频的对DVR的克隆。记录1302还可用于记帐目的,以跟踪用户使其DVR 1303签订下载视频的时间长度。
当用户从服务器选择一个条目以传送至DVR 1303时,DVR 1303联系服务器1301并请求合适的媒体对象。那时,服务器1301能记录1302该节目正在被下载,该记录还可包括进入记帐系统等。
用户1304可以在服务中心的网站上查询该记录,所以他能容易地核查他的帐单。
参见图14,域名重定向器1402可用于将来自DVR 1401的连接重定向至一组第三方服务器组1403、1404、1405中的一个。重定向可以基于加载、使用的域名前缀等而发生。这允许服务中心将请求重定向至另一公司的服务器。在各种实施例中,重定向可涉及费用或收益分享。
域名重定向器1402可以驻留在第三方服务器1403、1404、1405的每一个上,所以可以通过第三方服务器本身重定向来自DVR 1401的请求。DVR 1401请求与第三方服务器1403的连接。第三方服务器1403通过将来自DVR 1401的请求重定向至第三方服务器1404来将其责任“委托”给第三方服务器1404。然后,DVR 1401为了其内容请求而联系第三方1404。这允许第三方服务器自己判断是否超载或是否因任何原因而不能处理请求。
J.使用DVR作为加密流水线
参见图15,最初可以由诸如第三方内容服务器等内容服务器1501来产生要提供给DVR 1503、1504、1505的内容。内容服务器1501无法访问关于DVR的加密技术或体系结构的任何信息。DVR 1502用于将内容编码和加密。DVR 1502具有快速网络引擎并用作“加密流水线”。数据从内容服务器1501发送至DVR 1502。DVR 1502在将数据写入其本地存储装置的同时将该数据编码(如有需要)和加密。然后,DVR 1502从本地存储装置读取数据而不解密,并通过网络将该数据发送至从DVR 1503、1504、1505中选择的目标DVR。
另一方法为第三方内容服务器提供其内容的安全传送。使用该内容服务器的加密技术将数据从内容服务器1501发送至DVR 1502。DVR 1502使用内容服务器的解密技术将数据解密。然后,DVR 1502在将数据写入其本地存储装置的同时将该内容编码(如有需要)和加密(使用DVR的加密技术)。然后,DVR 1502从本地存储装置读取数据而不解密,并通过网络将该数据发送至从DVR 1503、1504、1505中选择的目标DVR。
这确保第三方内容供应商无法访问关于DVR密码芯片、加密技术或寻址方案的任何敏感信息。它进一步减少了上市的时间和将第三方供应商结合到内容服务器网络中的成本。
K.通过电子邮件访问内容
如上所述,在任何上述实施例中的媒体服务器可以是PC、DVR、或是能提供内容的任何其它机制。本文所述的方法允许作为媒体服务器的客户机的DVR访问诸如媒体服务器上所存储的音乐、视频和照片内容之类的多媒体内容。然而,因为DVR和媒体服务器可以访问因特网,内容既不需要来源于也不需要被物理地包含在任何给定的媒体服务器上。
因此,通过安排服务器处理包含下列项目的特殊文件来使内容对DVR用户可用:
·实际内容(例如以JPEG、MP3或MPEG文件的形式)。
·DVR配置设置,例如,记录时间表、数据库修改、内容喜好等。
·到可能位于因特网上的任何位置的“另一服务器”或另一服务器上所存储的内容的“链接”。
可以通过电子邮件或因特网下载向DVR提供这些文件。下面描述两个演示内容如何能通过电子邮件发送至DVR的示例的情况。
参见图22和23,示出了典型的家用DVR设置2201。假设只有媒体服务器2202可以访问因特网2205。电子邮件作者2204用创作软件创建一内容文件。该文件例如包含JPEG格式的几个图像的实际二进制数据(它可包含任何类型的内容)。该内容文件作为附件用电子邮件发送至从运行媒体服务器2202的同一计算机访问电子邮件的用户。在替换实施例中,可使用除电子邮件以外的消息通信机制。
用户读取电子邮件,且如果他对内容感兴趣,则用户选择附加的内容文件,调用媒体服务器2202来处理该内容文件。媒体服务器2202将关于图像的信息添加至稍后能从其生成容器(元数据)信息和JPEG数据的内部数据库。
用户进入他的DVR 2203,并通过他的电视机访问“Music&Photos”(音乐和照片)特征,从而使DVR 2203向媒体服务器2202请求容器信息。在照片内容屏幕2102(图21)中所示的可用内容的其它容器中,用户现在能用来自内容文件的图像来访问内容。当用户发出观看图像之一的命令时,DVR 2203向媒体服务器2202作出请求,媒体服务器2202查阅其内部数据库以给出合适的JPEG数据并将该数据传递至DVR 2203。DVR 2203向用户显示该图像而不将该图像存储在其本地存储装置上。用户能对多个照片文件使用诸如快进、暂停、倒退、播放(幻灯片)等特技播放功能。
在图23中,示出其中DVR 2303和媒体服务器2302均可访问因特网2305的家用DVR设置2301。作者2304用创作软件创建一内容文件。该文件链接到诸如容纳在内容服务器2306上并通过HTTP提供的MP3音乐文件等一个或多个文件。该内容文件作为附件用电子邮件发送给(理想地)从运行媒体服务器2302的同一计算机访问电子邮件的用户。
用户读取电子邮件,且如果他对内容感兴趣,则用户选择附加的内容文件,调用媒体服务器2302来处理该内容文件。媒体服务器2302将关于该内容文件的信息添加至稍后能从其生成容器信息的内部数据库。
用户进入他的DVR 2203并通过他的电话机访问“Music&Photos”特征,从而使DVR 2203向媒体服务器2202请求容器信息。在音乐内容屏幕2001(图20)中所示的可用内容的其它容器中,用户现在能用由内容服务器2306提供的音乐来访问内容。当用户发出播放音乐文件之一的命令时,DVR 2303通过因特网2305直接访问内容服务器2306以检索合适的数据。用户能对该音乐文件使用诸如快进、暂停、倒退、播放等特技播放功能。通过连接的电视机,使用如图8中所示的重放条,向用户显示通过该音乐的进展。DVR 2303为了版权保护不将该音乐存储在其存储装置上。
如上所述,可以将两个前述的例子用于DVR能使用或显示的任何类型的内容。如果接收到配置信息,则DVR 2303将该配置信息存储在其本地存储装置上,并使用该配置信息来配置它自己。如果接收到视频,则DVR 2303能将该视频内容存储在其本地存储装置上用于稍后用户回放。用户能对视频内容使用诸如快进、暂停、倒退、播放、慢放、帧步进等特技播放功能。
DVR用户能使用该方法通过电子邮件来彼此共享内容。例如,一个用户能向另一用户发送具有到容纳在第一用户的PC上的个人照片的链接的内容文件。
本方法还能进一步用于第三方销售商通过电子邮件将内容卖给DVR用户。例如,记录标签能通过发送具有到包含样品歌曲的MP3文件的链接的内容文件来推销新专辑。
第三方合伙人能使用本方法来通过电子邮件将产品传递至DVR用户。例如,影片加工室能通过电子邮件发送由DVR用户在线购买的包含数字化照片的内容文件。
L.使用IP组播分发内容
使DVR直接联系内容服务器以获得内容具有允许DVR按需获得内容的优点。一个缺点是内容服务器可能负载过多来自大量DVR的内容请求。然后,内容服务器成为系统中的瓶颈。一个解决方案是添加更多的内容服务器,以使能在更大一组内容服务器中分配请求负载。然而,该解决方案当DVR的数量变大时不能很好地缩放。当网络增大以跟上DVR的数目时,内容服务器的网络的维持变得更困难而且昂贵。
实际上,存在大量不必由DVR以即时方式获取的内容,例如,软件更新、广告、失真的多媒体录制品等。DVR能等待这种内容从内容服务器推送至DVR。DVR只需等待直到排定的传送被发送并在网络上收听由内容服务器传送的预期内容。具有执行服务器和客户机之间的这种类型的同步的通信协议是互联网协议(IP)组播。
IP组播是通过同时将单个信息流传递至大量客户机来减少话务量的带宽节省方法。IP组播常规上由诸如视频会议、合作通信和软件、股票报价和新闻的分发等应用程序所使用。
IP组播在使用任何竞争技术的最小网络带宽的同时将服务器内容话务传递至多个客户机而不给服务器增加任何额外负担。诸如MPEG视频等高带宽应用程序对单个流可能需要可用网络带宽的一大部分。在这些应用程序中,同时将内容发送至一个以上接收器的最有效的方法是通过使用IP组播。IP组播要求路由器、交换机、防火墙、其它网络设备和参与组播的连接的设备是知道组播的(在RFC 1458中描述,RFC 1458通过引用包括在此)。
图24示出具有互连的可兼容组播的网络组件的网络2402。诸如因特网、内联网等网络2402由互连的路由器2403-2408组成。路由器2403-2408在诸如源2401和主机设备2409-2411等连接的设备之间路由信息的分组。IP组播不同于广播,因为在广播中,源发送被分发给并由网络中的所有主机接收的分组。相反,来自一个源的数据使用IP组播传递至几个感兴趣的接收者。这意味着源2401能通过网络2402向任意数量的接收者发送IP组播消息。IP组播分组在网络2402中由路由器2403-2408复制。
一组任意的接收器表示对接收特定数据流感兴趣。该组接收器不具有任何物理或地理界线,因此主机2409-2411能位于因特网上的任何位置。任何对接收流向特定组的数据感兴趣的主机必须使用互联网组管理协议(IGMP)加入。在RFC 2236(它通过引用包括在此)中进一步描述了IGMP。主机必须是该组的成员以接收该数据流。IGMP用于动态地将各个主机注册在特定LAN上的组播组中。主机2409-2411通过向其本地路由器发送IGMP消息来标识组成员资格。路由器2403-2408收听IGMP消息并周期性地送出查询以发现在特定子网上哪些组是活动或非活动的。
M.将组播内容应用于多个DVR
当DVR日益流行,越来越多的家庭将具有多DVR。参见图25,DVR 2502、2503、2504、2505被安装在单个家庭中。用户将DVR 2502、2503、2504、2505连接至本地网络。DVR 2502、2503、2504、2505周期性地经历发现阶段以确定什么DVR连接到本地网络。DVR 2502、2503、2504、2505通过允许每一DVR找到本地网络中的其它DVR的广播协议发现彼此的存在。家庭本地网络2508通过连接调制解调器2509(例如DSL、电缆或卫星调制解调器)连接至因特网2507。DVR2502、2503、2504、2505通过例如以太网、无线和/或USB连接来访问家庭本地网络2508。
本发明的一个实施例的DVR具有四个多媒体内容的来源(如上所述):1)TV广播(即,电缆、卫星、陆地);2)媒体服务器;3)其它DVR;和4)内容服务器。DVR 2502、2503、2504、2505具有通过因特网2507向诸如内容服务器2506等内容服务器请求内容的能力。
诸如电视节目、电影、音乐、照片、广告、软件下载、节目指南信息和能表示成数字信息的任何事物等内容均能由DVR 2502、2503、2504、2505请求,并由内容服务器2506提供。每一DVR联系一个内容服务器,则可在连接路径中的两个可能的点处产生瓶颈。第一个瓶颈可能在家庭的因特网连接2509处。每一DVR向内容服务器2506作出请求,则对内容服务器2506的话务请求和来自内容服务器2506的内容上升至超过连接的带宽容量的点。此类瓶颈影响所有连接到家庭本地网络2508的设备,因为对因特网的接入被严重影响。
第二个瓶颈可能是内容服务器2506本身。内容服务器2506必须服务来自大量DVR的内容请求,这意味着内容服务器2506必须将内容流传送至作出请求的每一DVR。内容请求可能是冗余的,这迫使内容服务器2506同时维护同一内容的多个流。瓶颈减慢内容服务器的响应时间以及所有请求DVR的内容流。
使用IP组播,每一DVR能预订一个与DVR有兴趣下载的内容流相关联的特定组。内容服务器2506可以是用于一组或一系列组的组播器。DVR可以按与在电视调谐器上改变频道相同的方式来随意地预订和退订组。
DVR需要一种排定它们的组预订的方法。内容服务器2506能为它所服务的每一组创建一个传送时间的时间表和内容描述。DVR能在与可以提供组播数据流的日常时间表的内容服务器2506的短暂连接期间获得时间表。从此时间表,自动地或作为用户请求的结果,DVR可以将一个或多个“接收”,即DVR将加入组播组的时间排队,并捕捉该组播数据流。
在本发明的一个实施例中,自动地或在用户的指示下,DVR可以联系内容服务器2506以在组播时间表中查询关于特定内容的特定数据流。一旦被通知了排定的传送时间,DVR可以再次排定该流的接收。
参见图26,在2901中,内容服务器2506为数据流创建传送时间的时间表并将这些流分配给负责的组。在2902中,DVR 2601-2609通过网络2507向内容服务器2506查询该时间表,并接收时间表或通过内容服务器2506将该时间表推送至DVR 2601-2609。该时间表包含某一时间帧的每一数据流的内容描述以及每一特定内容描述的传送时间。
内容服务器2506从内容存储区2610中检索内容,并根据公布的时间表在因特网上通过为特定组播组指定的组播传输发送该内容。
每一DVR确定它感兴趣的内容。在2903中,DVR找到排定的用于传送该内容的时间,并在其记录时间表中排定一个记录时间。在2904中,当记录时间表指示DVR将开始记录该组时,DVR加入被列出为用于记录的组(如上所述)。在2905中,DVR接收该组的组播流,并将该流存储在其本地存储装置上供DVR使用或供用户观看。
或者,每一DVR能预订一个始终存在的组播组,在该组上,内容服务器2506记入关于所排定的传输的信息,从而允许DVR或用户对是否捕捉该流进行实时判定。例如,可能发生“破坏事件”(诸如爆炸),并且连续镜头可能在新闻组播流中立即发送。DVR能根据用户设置或喜好自动地捕捉连续镜头,或者DVR能通过屏幕上显示来立即通知用户该事件或该连续镜头可用。在后一情况中,用户命令DVR接收该组播流。DVR立即预订该组并接收该数据流。DVR将该数据流从它被传输的任何格式解码成DVR的本机格式。然后向用户显示该流。
网络2507可以是诸如因特网、内联网、卫星等任何网络。当使用混合网络,例如,卫星下行链路和拨号或宽带反向信道时,系统以相同的方式工作。组播流可以在卫星下行链路上广播,且DVR请求通过该反向信道行进。
DVR对来自内容服务器的特定数据流的请求可能不会引起其传输的立即排定。相反,可以将该请求与来自其它DVR的请求一起记录。使用这些保存的请求,内容服务器能自动地或手动地根据任何有用的参数集将数据流的传输排定在任何时间。
例如,被大量请求的数据流可以被排定在最近传送,而较少请求的流可以被延迟传送直至带宽成本变低。或者,可以因为重要性、与当前事件的相关性或因为流作者对内容供应商服务的较高费用支付,将数据流排定得较早或较迟。
不要求数据流以实时流媒体速率发送或到达。DVR能在使内容对用户可用之前,在其盘驱动器或本地存储器上缓冲全部传送。
DVR能预订多个组并能并行地接收多个组播流。该流可以具有各种带宽和不同的内容。这允许DVR最好地利用其带宽并一次满足多个需求。
使用各种技术,可以用能忍受适度数量的丢失分组的方式将数据传输编码。折衷是传输大小的增加(用于冗余),但该情形在非实时情况中是可忍受的。在最差的情况下,如果DVR不能成功地接收全部传输,则它能等待该数据流的下一次传输并重新尝试捕捉该流。
N.创建虚拟组播网络
在IP组播对网络设备有太多限制的情况下,虚拟组播系统可以使用联网的DVR来实现。参见图27和30,使用DVR组播隧道显示虚拟组播系统。通过广播,DVR 2703-2706发现彼此(3001),并选择哪个DVR将成为“组播隧道”(3002)。在本例中,DVR 2703被选为组播隧道。图27中所示的DVR 2703-2706之间的连接反映概念上的数据路由而不是本地网络中的实际物理电连接。
获胜的DVR 2703连接到广播中心2701,并注册以通过网络2702接收任何感兴趣的组播流(3003)。网络中的其它DVR 2704-2706向获胜的DVR 2703注册特定的组播传输。广播中心2701通过因特网2702将组播数据流发送至获胜的DVR2703。获胜的DVR 2703接收该组播数据流(3005),并在本地网络上重新向已注册特定数据流的其它DVR 2704-2706广播该分组。获胜的DVR 2803已成为组播隧道DVR,从而有效地将组播流带入本地网络。
或者,获胜的DVR 2703能只需在本地网络上将分组重新广播至其它DVR2704-2706,并允许其它DVR判定是否保存、忽略或丢弃该分组。
虽然图27中示出一组DVR,但多个DVR机和广播中心由本发明的一个实施例容易地覆盖。如上所述,DVR能接收带宽不同和内容不同的多个组播流。DVR能向多个广播中心以及单个广播中心注册多个组播传输。
一个组播流可以封装其它组播流。这意味着被选为组播隧道的DVR能解包该组播流并将该流发送至其它组播隧道或在本地广播该流。封装的组播流可以进一步包含直到逻辑容量的组播流。
广播中心2701需要缩放以处理上百万活动DVR。为了支持这一特征,用于启动组播隧道的协议支持委托,即响应的广播中心服务器可以将本地组播隧道重定向至另一广播中心服务器。这允许在广播中心服务器之间的负载平衡并进一步允许将广播中心服务器分配给在地理上靠近广播中心服务器的DVR,从而允许更有效的通信(在下面详述)。
一旦决定了选择,向DVR提供估计的本地广播中心服务器以进行最初的联系。在用户在购买后第一次打开单元时或在用户手工启动设置进程时,当DVR经历其初始化设置进程时,此信息被给予DVR。DVR在初始化期间联系DVR服务供应商以获得其最近的软件版本并确定其它设置参数,例如记帐信息,该DVR是否已被授权来以某一特征等级工作等。
广播中心服务器的总体可以在一个位置(或服务器集群)上,或在地理上散布并与闭合的组播网络互联。因此,广播的单个分组流将在服务器中散开。服务器沿连接将分组向下传送至组播隧道DVR,且组播隧道DVR将该分组重新广播至本地DVR。
对特定广播中心服务器的组播隧道DVR的委托可以基于服务器负载或该组播DVR的网络位置。来自各种DVR的网络连接的拓朴可以由广播中心服务器记录。因为每一组播DVR向广播中心服务器注册,服务器创建连接的DVR的网络拓朴。该拓朴可以是协作的,其中中央服务器将从所有广播中心服务器收集的拓朴数据制表并将拓朴图重新分配至所有广播中心服务器。从此拓朴中,可以推断哪些连接就网络跃点(可以使用边界网关协议(BGP)或生存时间(TTL)值来测量)而言是彼此“靠近”或在地理上靠近。给予了此数据,服务器就可以将组播隧道DVR委托给靠近连接的广播中心服务器。这可以使带宽的使用更有效并改善响应。
在隧道设置进程期间,连接的组播隧道DVR能向广播中心服务器提供其“真实的”IP地址,从而允许DVR的拓朴精确得足以在防火墙后“看见”。这允许隧道的代理更有目标,从而使整个广播网络更有效。
万一组播隧道DVR 2703由于某原因停止网络中的工作,系统的连接协议提供一种方式,其中该网络中的其它DVR 2704-2706发现该隧道DVR已发生故障,例如偶然保持到隧道DVR或来自隧道DVR的查验活动。注意到隧道DVR 2703停机的第一DVR将迫使另一个选择。然后,选择新的隧道DVR,且该新的隧道DVR通过广播中心服务器重新启动与服务的隧道通信。
组播服务通过在排定的时间多次传输重要数据来提供额外的可靠度。为了确保组播主干线的安全工作,连接的组播隧道DVR能使用上述认证政策向广播中心服务器认证它自己。在委托期间,广播中心服务器将向DVR提供加密的现时标志(时间标签、加密值等)。
该现时标志被发送至委托的目标DVR,且该目标DVR将验证该现时标志是有效的(例如,可以用来自DVR服务的公钥将该现时标志适当地解密,或该现时标志不是“旧的”等)。一旦被确认,组播分组就能被分程传递至隧道DVR。
可以为子网中的安全采取两种方法。第一种方法是要求子网上的所有组播接收器具有来自DVR服务供应商的共享安全证书。第二种方法是允许任何DVR预订组播,并假定敏感传送是由服务加密的。第二种方法通常最有用,因为它降低管理和支持负担而不损失安全性。
本实施例的虚拟组播主干线可以是传递启用了全球组播的网络的大部分优点而不实际地实现所述网络的虚拟组播主干线。使用隧道连接的拓朴,广播中心能有效地平衡负载以确保没有网络变得超载。
O.组播的广播器
组播器的角色在许多方面起到象多信道广播器(例如,卫星或电缆系统操作员)一样的作用。参见图28,给定足够的感兴趣的数据流,组播广播器2801在因特网2802上提供数据流2803的“始终打开”组播。如果数据流2803是所有电视节目,则除了传输速率不需要匹配该电视节目的实时数据速率以外,该始终打开流会类似于电视网络广播。
DVR 2804-2807在特定时间以与调谐至电视广播频道相同的方式收听特定的组播数据流2803。该数据流中的内容被存储在DVR的本地存储上,并在正在接收流时被组装。取决于组播数据流2803的传输速率(即,传输速率等于或快于正常观看速度),DVR能在它接收该数据流时向用户显示该数据流。
可以通过并行地组播各种流来改善数据流的响应时间,这非常象电缆头端广播多个频道。这多个流还能表示不同类型的数据流。例如,一个组播流可以与感兴趣的数据流,例如定期新闻或体育节目的序列一起定期地排定。另一组播流可以用于满足DVR或用户对特定数据流的请求。又一组播流可以携带附属数据,例如,关于什么数据流可用于组播的元数据。
组播器也是内容的聚集器。通过契约关系,各个内容拥有者能使感兴趣的数据流可用。向每一内容拥有者收取传输内容的费用。如果下载的话,可基于下载次数收取另外的费用。同样,因为DVR能跟踪用户观看的内容,费用可以基于用户观看内容的次数。所有这些信息都被收集在中央记帐服务器处,其中服务供应商能为每一内容拥有者计算费用并开发票给内容拥有者。
在所排定的传输时间之前,组播器能将节目的副本下载至本地高速缓存,在排定的时间发送该节目,然后破坏副本。或者,组播器可以提供诸如多次发送数据以确保所有可能的DVR都接收到该数据等服务。
使用来自全部DVR的上传的信息,组播器能调整或改变它提供的服务的方面。被大量观看的电视节目可能使组播器另其它情节可用或较早传送某些情节。在接收组播方面有困难的DVR能向组播器报告该信息,从而组播器可以与因特网服务供应商一起工作以纠正网络问题。
象多频道广播器一样,组播器通常为内容和实际的组播服务提供安全性。使用诸如如上所述的安全模式等机制,可以向服务验证DVR,向DVR验证服务,控制服务激活并在内容通过因特网时适当地加密该内容。例如,在与组播器服务的日常连接期间,只有在认证DVR并确定其服务等级之后,才可以将内容的每一组播频道的下一天的加密密钥下载至DVR并安全地存储。
在以上述说明书中,已参照其具体实施例描述了本发明。然后,显而易见的是,可以作出各种修改和变化而不背离本发明的较广的精神和范围。因此,应在说明性而非限制性的意义上来理解本说明书和附图。

Claims (12)

1.一种用于组播多媒体内容分发系统的方法,所述方法包括:
在数字录像机处接收来自内容服务器的组播传输时间表;
其中所述组播传输时间表指示数据流的传输时间;
在所述内容服务器和所述数字录像机之间创建一虚拟组播链接,其中所述数字录像机向所述内容服务器注册特定数据流;以及
在由所述组播传输时间表指示的所排定的时间,在所述数字录像机处接收来自所述内容服务器的所述特定数据流;
所述数字录像机被连接到公用本地网络的其它数字录像机选为组播隧道数字录像机;
连接到公用本地网络的其它数字录像机向组播隧道数字录像机注册,以指定所述注册的数字录像机想要从所述组播隧道数字录像机接收哪些数据流。
2.如权利要求1所述的方法,其特征在于,所述组播隧道数字录像机向连接到所述公用本地网络的其它数字录像机重新广播所接收到的特定数据流。
3.如权利要求1所述的方法,其特征在于,所述组播隧道数字录像机将所接收到的特定数据流发送至注册为接收所述特定数据流的数字录像机。
4.如权利要求1所述的方法,其特征在于,所述组播传输时间表接收步骤向所述内容服务器请求所述组播传输时间表。
5.如权利要求1所述的方法,其特征在于,所述组播传输时间表接收步骤接收从所述内容服务器推送的组播传输时间表。
6.如权利要求1所述的方法,其特征在于,还包括:
基于数据流中的内容的传输速率和/或内容观看发生来向内容拥有者收取费用。
7.一种用于组播多媒体内容分发系统的设备,包括:
用于在数字录像机处接收来自内容服务器的组播传输时间表的模块;
其中所述组播传输时间表指示数据流的传输时间;
用于在所述内容服务器和所述数字录像机之间创建一虚拟组播链接的模块,其中所述数字录像机向所述内容服务器注册特定数据流;
用于在由所述组播传输时间表指示的所排定的时间、在所述数字录像机处接收来自所述内容服务器的所述特定数据流的模块;
所述数字录像机被连接到公用本地网络的其它数字录像机选为组播隧道数字录像机;
连接到公用本地网络的其它数字录像机向组播隧道数字录像机注册,以指定所述注册的数字录像机想要从所述组播隧道数字录像机接收哪些数据流。
8.如权利要求7所述的设备,其特征在于,所述组播隧道数字录像机向连接到所述公用本地网络的其它数字录像机重新广播所接收到的特定数据流。
9.如权利要求7所述的设备,其特征在于,所述组播隧道数字录像机将所接收到的特定数据流发送至注册为接收所述特定数据流的数字录像机。
10.如权利要求7所述的设备,其特征在于,所述组播传输时间表接收模块向所述内容服务器请求所述组播传输时间表。
11.如权利要求7所述的设备,其特征在于,所述组播传输时间表接收模块接收从所述内容服务器推送的组播传输时间表。
12.如权利要求7所述的设备,其特征在于,还包括:
用于基于数据流中的内容的传输速率和/或内容观看发生来向内容拥有者收取费用的模块。
CN200580015814.1A 2004-04-12 2005-04-12 组播多媒体内容分发系统 Active CN101427316B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US56155804P 2004-04-12 2004-04-12
US60/561,558 2004-04-12
PCT/US2005/012483 WO2005101411A2 (en) 2004-04-12 2005-04-12 Multicasting multimedia content distribution system

Publications (2)

Publication Number Publication Date
CN101427316A CN101427316A (zh) 2009-05-06
CN101427316B true CN101427316B (zh) 2013-02-06

Family

ID=35150631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580015814.1A Active CN101427316B (zh) 2004-04-12 2005-04-12 组播多媒体内容分发系统

Country Status (7)

Country Link
EP (2) EP2490369B1 (zh)
JP (2) JP5367262B2 (zh)
CN (1) CN101427316B (zh)
AU (1) AU2005234498B2 (zh)
ES (1) ES2682243T3 (zh)
HK (1) HK1130361A1 (zh)
WO (1) WO2005101411A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171520B2 (en) 2000-03-02 2012-05-01 Tivo Inc. Method of sharing personal media using a digital recorder
US8261315B2 (en) 2000-03-02 2012-09-04 Tivo Inc. Multicasting multimedia content distribution system
US7181010B2 (en) 2002-05-24 2007-02-20 Scientific-Atlanta, Inc. Apparatus for entitling remote client devices
US7630499B2 (en) 2004-08-18 2009-12-08 Scientific-Atlanta, Inc. Retrieval and transfer of encrypted hard drive content from DVR set-top boxes
US7602913B2 (en) 2004-08-18 2009-10-13 Scientific - Atlanta, Inc. Retrieval and transfer of encrypted hard drive content from DVR set-top box utilizing second DVR set-top box
US7602914B2 (en) 2004-08-18 2009-10-13 Scientific-Atlanta, Inc. Utilization of encrypted hard drive content by one DVR set-top box when recorded by another
US8286218B2 (en) 2006-06-08 2012-10-09 Ajp Enterprises, Llc Systems and methods of customized television programming over the internet
US9277295B2 (en) 2006-06-16 2016-03-01 Cisco Technology, Inc. Securing media content using interchangeable encryption key
US7978720B2 (en) 2006-06-30 2011-07-12 Russ Samuel H Digital media device having media content transfer capability
US9137480B2 (en) 2006-06-30 2015-09-15 Cisco Technology, Inc. Secure escrow and recovery of media device content keys
CN101681369B (zh) 2007-05-15 2012-07-18 Tivo有限公司 媒体数据内容搜索系统
US8880529B2 (en) 2007-05-15 2014-11-04 Tivo Inc. Hierarchical tags with community-based ratings
US8954042B2 (en) * 2008-05-19 2015-02-10 Qualcomm Incorporated System, method, and apparatus for increasing a likelihood of advertisement display
CN102474584B (zh) * 2009-07-24 2015-04-29 皇家飞利浦电子股份有限公司 用于传送频道到至少一个数字视频记录器的方法和系统
US20110070820A1 (en) * 2009-09-23 2011-03-24 Qualcomm Incorporated System and apparatus for power-efficiently delivering personalized contents in a broadcast network
US8239890B2 (en) 2009-11-03 2012-08-07 Echostar Technologies Llc Systems and methods for authorizing access to content for a television receiver
US8863192B2 (en) 2010-01-07 2014-10-14 Qualcomm Incorporated Adaptive monitoring method for update detection in a mobile broadcast network
CN101873459A (zh) * 2010-03-15 2010-10-27 杭州海康威视数字技术股份有限公司 基于级联网络的dvr操作方法、系统及dvr设备
WO2012018300A2 (en) * 2010-08-03 2012-02-09 Poc Sweden Ab Synchronized playback of media files
GB2489672A (en) * 2011-03-28 2012-10-10 Sony Corp Authentication certificate distribution to set top boxes
JP5915107B2 (ja) * 2011-11-15 2016-05-11 株式会社バッファロー 通信方法、通信機器、ストレージ機器、及び制御プログラム
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9847975B2 (en) 2013-09-13 2017-12-19 Arris Enterprises Llc Method of provisioning persistent household keys for in-home media content distribution
WO2015038831A1 (en) * 2013-09-12 2015-03-19 Arris Enterprises, Inc. Persistent household keys for in-home media content distribution
US9979702B2 (en) 2013-09-12 2018-05-22 Arris Enterprises Llc Persistent household keys for in-home media content distribution
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6642939B1 (en) * 1999-03-30 2003-11-04 Tivo, Inc. Multimedia schedule presentation system
CN1636399A (zh) * 2002-02-20 2005-07-06 皇家飞利浦电子股份有限公司 使用用户设备的分布式存储网络体系结构

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134705A (en) 1988-10-21 1992-07-28 Unisys Corporation System and method for concurrency simulation
JPH11110401A (ja) * 1997-09-30 1999-04-23 Nippon Telegr & Teleph Corp <Ntt> 放送型配信フィルタリング方法及びシステム及び放送型配信フィルタリングプログラムを格納した記憶媒体
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6385739B1 (en) 1999-07-19 2002-05-07 Tivo Inc. Self-test electronic assembly and test system
AUPQ469399A0 (en) * 1999-12-17 2000-01-20 Right Hemisphere Pty Limited Video recorder scheduling
US7631080B2 (en) * 2000-06-20 2009-12-08 Nds Limited Unicast/multicast architecture
JP4225681B2 (ja) * 2000-12-06 2009-02-18 富士通株式会社 仮想閉域網構築方法及び装置並びに中継装置
KR20020023100A (ko) * 2001-05-28 2002-03-28 박현제 가상 멀티캐스트 네트워크 구축을 위한 시스템
JP2002369094A (ja) * 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd 番組情報取得システム、および取得方法
JP2003087766A (ja) * 2001-09-12 2003-03-20 Pioneer Electronic Corp 加入者端末への視聴情報提供装置
JP3796459B2 (ja) * 2001-11-30 2006-07-12 パナソニック コミュニケーションズ株式会社 情報配信システム及び番組表サーバ並びに配信データ選択表サーバ
JP4443833B2 (ja) * 2002-02-27 2010-03-31 パナソニック株式会社 情報再生方法、送信装置および受信装置
JP2003259334A (ja) * 2002-03-05 2003-09-12 Tcj Kk 映像音声番組配信システム
JP3652670B2 (ja) * 2002-05-08 2005-05-25 株式会社エヌ・ティ・ティ・データ マルチキャスト映像配信システム及び同システムにおけるリクエスト受付処理プログラム
JP3708905B2 (ja) * 2002-05-31 2005-10-19 株式会社東芝 放送受信機、放送受信システム及び情報配信方法
JP2004078424A (ja) * 2002-08-13 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信システム、コンテンツ配信方法、ホームゲートウェイ及び認証・課金ゲートウェイ
US20040090970A1 (en) * 2002-11-11 2004-05-13 Sanchez Cheryl A. Distribution of data flows to local loop subscribers by an access multiplexer
EP1584157B1 (en) * 2003-01-16 2006-11-02 Sony United Kingdom Limited Video/audio network
US8177602B1 (en) 2007-07-17 2012-05-15 Seka Kaytes Apparatus and method for enhancing a woman's cleavage with floating brassiere cups

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6642939B1 (en) * 1999-03-30 2003-11-04 Tivo, Inc. Multimedia schedule presentation system
CN1636399A (zh) * 2002-02-20 2005-07-06 皇家飞利浦电子股份有限公司 使用用户设备的分布式存储网络体系结构

Also Published As

Publication number Publication date
EP1738366A2 (en) 2007-01-03
JP2007536678A (ja) 2007-12-13
HK1130361A1 (en) 2009-12-24
JP5367262B2 (ja) 2013-12-11
AU2005234498A1 (en) 2005-10-27
EP1738366A4 (en) 2011-11-16
AU2005234498B2 (en) 2011-08-25
ES2682243T3 (es) 2018-09-19
EP2490369B1 (en) 2018-07-18
CN101427316A (zh) 2009-05-06
JP2012165397A (ja) 2012-08-30
EP2490369A2 (en) 2012-08-22
WO2005101411A3 (en) 2009-04-09
WO2005101411A2 (en) 2005-10-27
JP5697623B2 (ja) 2015-04-08
EP2490369A3 (en) 2015-10-14

Similar Documents

Publication Publication Date Title
CN101427316B (zh) 组播多媒体内容分发系统
CN101421974B (zh) 安全的多媒体传输系统
CN101019429B (zh) 利用数字录像机共享个人媒体的方法
US8261315B2 (en) Multicasting multimedia content distribution system
JP6290755B2 (ja) 2つのディジタル・メディア装置間でデータを転送する方法
EP2180706B1 (en) Method of sharing personal media using a digital recorder

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1130361

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1130361

Country of ref document: HK

CP03 Change of name, title or address

Address after: California, San Carlos, USA

Patentee after: TiVo Solutions Ltd

Address before: American California

Patentee before: TIVO, Inc.

CP03 Change of name, title or address