在UPnP网络中组织和发布资产的制作方法

文档序号:6748930阅读:88来源:国知局
专利名称:在UPnP网络中组织和发布资产的制作方法
技术领域
本发明总体上涉及网络上的媒体分布和访问,并且具体地,涉及通过使用有限本 地网络访问协议的媒体分发和访问。
背景技术
通用即插即用(UPnP)是一组本地网络协议的集合,其允许各种类型的消费者电 子设备无缝地连接至家庭、临近的以及小型商业网络。UPnP允许与各种兼容设备的网络连 接,诸如计算机、媒体播放器以及连接至单个共同本地网络的无线设备。设备可以通过获取 IP地址、宣布其名称、传达其能力以及发现什么其他设备在网络上,在无需配置的情况下动 态地加入本地网络。UPnP联网架构利用TCP/IP以及企业网来支持网络上设备的控制以及 设备之间的数据传输。联网架构允许任何两个设备根据网络上任何控制设备的命令来交换 数据。UPnP的益处之一在于,其可以在任何网络技术上运行,诸如以太网、Wi-Fi、电话线路 和电力线路。UPnP技术的另一益处在于,UPnP是平台独立的,并且允许销售商使用任何类 型的操作系统和编程语言来建立支持UPnP的产品。尽管UPnP具有许多益处,但是UPnP的一个问题在于网络上的UPnP设备受限于其 可以呈现的内容。更具体地,通常的UPnP呈现设备(诸如媒体播放器)能够访问和回放预 定类型(例如,MP3)的媒体文件,该媒体文件由位于相同网络上的媒体服务器提供。在最好 的情况下,媒体服务器可以访问预定的、远程定位的服务器以便访问这些文件类型。例如, 媒体服务器可以通过因特网来访问具有与UPnP被设计用于回放的相同类型媒体文件(例 如,MP3)的预定服务器。由此,诸如能够显示图像(例如,JPEG)以及电影文件(例如,WMV) 的数码相框之类的传统UPnP呈现器不能显示包括HTML Javascript等的标准web页面,也 不能显示诸如RSS或者ATOM的数据馈送。由于传统UPnP媒体服务器是从属设备,其在设 计上就不能向UPnP呈现器提供除媒体呈现器被设计用于呈现的内容以外的其他内容。换 言之,UPnP呈现设备仅可以呈现其被设计的特定类型的内容文件,并且媒体服务器也受限 于(作为UPnP架构以内的“从属”设备)访问这些特定的内容类型。结果,在具有UPnP媒体呈现器和媒体服务器的传统UPnP网络中,呈现器不能访问 一般的因特网内容(诸如,web页面和数据馈送)。另外,由于UPnP设计用于本地网络,第 -UPnP本地网络不能将其内容与第二 UPnP本地网络共享,第一本地网络也不能将其内容 传输至不在第一本地网络上的远程服务器。

发明内容
提供了用于枚举本地网络或者远程网络上的内容并允许UPnP呈现设备对其进行 呈现的系统和计算机程序产品。该系统包括媒体管理模块,其查询位于本地网和远程网络 上的设备的内容。媒体管理模块响应于查询而枚举所标识的内容。枚举的内容用于创建内 容目录,其利用本地网络和远程网络上可获得的内容来例行地更新。交叉编码模块将响应于查询而标识的内容交叉编码为由本地网络上的UPnP呈现设备可呈现的文件类型和数据格式,例如将HTMP网页呈现为JPEG图像。交叉编码模块通 过将内容置入模板并且将模板处理为UPnP呈现设备可呈现的数据格式和文件类型,来对 内容进行交叉编码。交叉编码模块依赖于内容而使用不同类型的模板。此特征允许用户使 用UPnP呈现设备来访问原本经由UPnP设备不可访问的内容。控制点接口配置用于控制设备,以便在呈现器上呈现内容。本地网络上的设备通 过第一通信协议而被控制,该第一通信协议限于管理跨本地网络的设备间通信。第一通信 协议进一步受限于其不允许内容传送。系统使用第二通信协议在网络内部以及跨网络传送 内容和数据。在下文的详细描述以及附图中,将展现本发明的这些和其他特征和优点,其中仅 以实例方式示出了本发明的原理。


图1是示出本发明的实施方式操作于其中的基本UPnP结构的高级框图;图2是示出根据一个实施方式的连接至网络的UPnP设备的高级框图;图3是示出根据一个实施方式的在呈现器内的模块的高级框图;图4是示出根据一个实施方式的控制点内的模块的高级框图;图5是示出根据一个实施方式的在媒体服务器内的模块的高级框图;图6A和图6B是示出根据一个实施方式的内容枚举的序列图;图7是示出根据一个实施方式的访问并且在呈现器上呈现非动态内容的过程的 序列图;图8A和图8B是示出根据一个实施方式的访问并且在呈现器上呈现动态内容的过 程的序列图;图9是根据一个实施方式的序列图,其示出了从上传客户端向媒体服务器传输内 容以及通过因特网将内容传输至主管服务的过程;图10是示出根据一个实施方式的在上传客户端内的模块的高级框图;以及图11是根据一个实施方式的序列图,其示出了第一 UPnP本地网络与第二 UPnP本 地网络共享和交换存储在该第一 UPnP本地网络上的内容的过程。附图仅出于示出目的而绘出了本发明的各种实施方式。本领域技术人员从下文的 讨论中可以容易地认识到,在不脱离在此所述的本发明的原理的情况下,可以使用在此示 出的结构和方法的备选实施方式。
具体实施例方式图1是示出本发明的实施方式操作于其中的基本UPnP架构的高级框图。图1示 出了控制点102、媒体呈现器104以及媒体服务器106。控制点102通常通过用户接口(例 如,按钮或者远程控件)来控制媒体呈现器104和媒体服务器106执行的操作。在UPnP架 构中,媒体呈现器104和媒体服务器106不能直接控制彼此。通过UPnP通信协议108,控制 点102与媒体服务器104和媒体呈现器106进行通信。媒体服务器106包括或者可以访问存储于本地的或者存储于连接到媒体服务器 106的外部设备上的内容。在此使用的“内容”包括全部类型的数据文件,诸如静态图像(例如,JPEG、BMP、GIF 等)、视频(例如,MPEG、DiVX, Flash、WMV 等)以及音频(例如,MP3、 WAV.MPEG-4等)。媒体服务器106能够访问内容,并通过非UPnP通信协议110将内容传输 至媒体呈现器104。在一个实施方式中,非UPnP通信协议110是传输控制协议/网际协议 (TCP/IP)。为了在媒体呈现器104和媒体服务器106之间成功进行内容交换,内容必须遵 循与媒体服务器106和媒体呈现器104两者兼容的传输协议和数据格式。媒体呈现器104通过非UPnP通信协议110从媒体服务器106获得内容。媒体呈 现器104可以接收内容,只要数据是以适当的协议和数据格式来发送即可。媒体呈现器104 受限于其可以支持和呈现的内容。例如,媒体呈现器104可能仅支持音频文件,而另一类型 的媒体呈现器104可以支持各种类型的内容,诸如视频、静态图像和音频。通常,控制点102使用第一通信协议(其限制于管理跨本地网络的通信)来初始 化和配置媒体呈现器104和媒体服务器106,从而在两者之间交换数据。该第一受限的通信 协议本身并不提供内容传输。在某些实施方式中,控制点102仅支持单个通信协议,并且在 某些情况下,该单个协议是UPnP协议。结果,控制点102无法与不支持UPnP协议的任何设 备进行通信,无论该设备是本地的还是远程的。在各种实施方式中,该第一通信协议是UPnP通信协议108。然而,控制点102并 不参与内容的实际传输,这是由于该内容传输是通过非UPnP通信协议110来实现的。当将 要在媒体服务器106和媒体呈现器104之间交换特定内容时,控制点102确保媒体呈现器 104和媒体服务器106支持用于内容交换的传输协议和数据格式。一旦控制点102确定了 传输协议和内容的数据格式,则控制点102通知媒体服务器106和媒体呈现器106 将要以 特定传输协议和数据格式进行发出/进入的内容交换。一旦通过非UPnP通信协议110开 始内容交换,则控制点102便不在参与内容传输过程。尽管图1将控制点102、媒体呈现器104以及媒体服务器106示出为独立的设备, 应当理解,单个设备可以具有控制点、媒体呈现器和/或媒体服务器的功能。此类设备的 示例是可以在其监视器上呈现内容的个人计算机,其可以访问在其硬驱动上存储的本地内 容,并且可以通过用户接口来控制其他设备。图2是示出根据一个实施方式的连接至网络的UPnP设备的高级框图。图2示出 了控制点102、媒体服务器106、多个呈现器104以及由网络连接的上传客户端230。图2中 的控制点102、呈现器104以及媒体服务器106具有如图1所示的相同功能。控制点102的 主要目的在于能够通过UPnP通信协议108来控制连接至网络220的全部设备。媒体服务器106的目的是为控制点102提供对连接至网络220的设备内的全部内 容的访问。呈现器104的目的是呈现从媒体服务器106或者网络220上的其他设备传输的 任何内容。上传客户端230是具有存储能力的设备。在网络220上可以存在具有UPnP通 信能力的其他设备。网络220代表控制点102、媒体服务器106与呈现器104之间的通信路径。在一个 实施方式中,网络220包括使用UPnP协议的本地网络,其经由网关或者其他网络接口耦合 至因特网以进行通信。网络220还可以利用专用或者私有通信链路,其不必是因特网的一 部分。在一个实施方式中,网络220使用标准通信技术和/或协议。由于网络使用标准通 信技术和/或协议,网络220可以包括使用诸如以太网、802. 11、集成服务数字网络(ISDN)、 数字用户线路(DSL)、异步传输模式(ATM)等技术的链路。类似地,网络220上使用的网络
13协议可以包括传输控制协议/网际协议(TCP/IP)、超文本传输协议(HTTP)、简单邮件传输 协议(SMTP)、文件传输协议(FTP)等。通过网络220交换的数据可以使用包括超文本标识 语言(HTML)、可扩展标记语言(XML)等的技术和/或格式来表示。另外,全部或者部分链路 可以使用诸如安全套接字层(SSL)、安全HTTP和/或虚拟私有网络(VPN)等传统加密技术 来加密。在另一实施方式中,作为上述技术的替代或者附加地,实体可以使用定制和/或专 用数据通信技术。应当理解,贯穿本发明的说明书,控制点102或者上传客户端230与呈现器104或 者媒体服务器106之间的通信通过受限的第一通信协议(诸如UPnP通信协议108)来进 行。UPnP通信协议108限于管理跨本地网络间的通信的设备。还必须理解,在媒体服务器 106、呈现器104和上传客户端230之间的内容传输通过非UPnP通信协议110 (例如,TCP/ IP)来进行。另外,媒体服务器106与没有耦合至本地网络的服务器或者设备之间的内容通 信和传输通过非UPnP通信协议110来进行。图3是示出根据一个实施方式的在呈现器104内的模块的高级框图。本领域技术 人员将认识到,其他实施方式可以具有与在此所述模块不同的模块和/或其他模块,并且 功能可以按照不同的方式在模块间分布。如图3中所示,呈现器104包括呈现器通信模块310,其处理呈现器与网络220上 其他设备之间的通信。在一个实施方式中,呈现器通信模块310通过UPnP通信协议108与 控制点102通信。在另一实施方式中,呈现器通信模块310通过诸如TCP/IP的非UPnP通 信协议110,来传输和接收来自控制点102和媒体服务器106和/或其他设备的数据。呈现模块312呈现适当文件类型和格式的数据。在一个实施方式中,当数据通过 呈现器通信模块310从媒体服务器106或者网络220上的其他设备被接收时,呈现模块312 呈现这些数据。为了呈现数据,呈现模块312使用适当的解码程序,诸如JPEG图像的JPEG 解码、MP3音频文件的MP3解码。然而,如上所述,呈现器104将仅能够呈现该呈现模块312 包含适当解码器的那些文件类型。由此,如果呈现模块312不具有用于H. 264视频的解 码器,则呈现器104将不能呈现该视频。类似地,如果呈现模块312不包括HTML解析器和 Javascrip引擎,则呈现器104将不能读取标准网页。由此,呈现模块312的能力约束了呈 现器104的最终回放能力。本发明的各种实施方式正是要克服特定呈现设备104的受限特 性。在一个实施方式中,通过呈现器通信模块310,控制点102可以根据适当解码逻辑的解 码参数(例如,音频比特率、视频分辨率)以及呈现设备的物理属性(例如,容量、亮度)的 可获得集合,来指示呈现模块312如何呈现数据。图4是示出根据一个实施方式的控制点102内的模块的高级框图。本领域技术人 员将认识到,其他实施方式可以具有与在此所述模块不同的模块和/或其他模块,并且功 能可以按照不同的方式在模块间分布。控制点接口模块410允许用户控制在呈现器104和媒体服务器106之间的网络中 进行什么动作。用户可以通过控制点接口模块410来对控制点102给出命令,以便在特定呈 现器104上呈现来自媒体服务器106的特定文件。当用户通过用户接口模块给出命令时, 控制点102与网络上的设备一起工作来实现用户的请求。控制点通信模块412处理与网络220上的媒体服务器106以及呈现器104的全部 通信。在一个实施方式中,当控制点102通过控制点接口模块410从用户接收呈现文件的命令时,控制点通信模块412将向媒体服务器106发送命令,以便准备以特定协议和数据格 式来发送该文件。控制点通信模块412同样通知呈现器104准备以特定协议和数据格式来 接收数据。控制点通信模块412停止发送命令,并允许在媒体服务器106与呈现器104之 间进行数据传输。在另一实施方式中,控制点通信模块412与加入网络220的新设备进行
通{曰。图10是示出根据一个实施方式的上传客户端230内的模块的高级框图。本领域 技术人员将认识到,其他实施方式可以具有与在此所述模块不同的模块和/或其他模块, 并且功能可以按照不同的方式在模块间分布。上传客户端通信模块1010处理与媒体服务器106和网络220上其他设备的全部 通信。在一个实施方式中,上传客户端通信模块1010通过UPnP通信协议108与媒体服务器 106进行通信。在另一实施方式中,上传客户端通信模块1010通过诸如TCP/IP的非UPnP 通信协议110,来接收并向媒体服务器106和/或其他设备传输内容。上传内容通信模块 1010可以指示媒体服务器106存储内容,并且将内容或者仅将内容的元数据通过因特网上 传至主管(hosting)服务的远程服务器。上传客户端数据存储1012包括特定于上传客户端230的数据。在一个实施方式 中,上传客户端数据存储1012包含上传客户端230的功能所存储的数据(例如,数码相框 在其存储器卡或者硬件驱动上存储图像;数字音频播放器在存储器中存储音频文件)。在 一个实施方式中,上传客户端通信模块1010将从媒体服务器106或者从网络220上的其他 设备发送的数据存储到上传客户端数据存储1012上。此外,在一个实施方式中,上传客户 端数据存储1012将上传客户端数据存储1012上存储的数据传输至媒体服务器106或者网 络220上的其他设备。上传客户端接口模块1014允许用户控制存储在上传客户端数据存储1012上的内 容,并且允许用户控制从上传客户端230传输至媒体服务器106和/或网络上其他设备的 内容。用户可以通过上传客户端接口模块1014来向媒体服务器106给出命令以存储所传 输的内容,以及通过因特网向远程服务器传送,和/或通过因特网仅向远程服务器传输内 容的元数据。图5是示出根据一个实施方式的媒体服务器内的模块的高级框图。本领域技术人 员将认识到,其他实施方式可以具有与在此所述模块不同的模块和/或其他模块,并且功 能可以按照不同的方式而在模块间分布。媒体服务器通信模块510与网络上220上的呈现器104以及通信控制点102进行 通信。在一个实施方式中,媒体服务器通信模块510通过UPnP通信协议108从控制点102 接收命令。媒体服务器通信模块510与媒体服务器106中的其他模块一起工作,以实现控 制点102发出的请求。在一个实施方式中,媒体服务器通信模块510通过诸如TCP/IP的非 UPnP通信协议110与呈现器104、上传客户端230和网络220上的其他设备交换数据。媒体管理模块512不断地查询网络220上具有存储能力的设备,并且从因特网取 回数据以建立内容目录。如果网络上存在其他媒体服务器,则媒体管理模块同样对其进 行查询。媒体管理模块可以与诸如来自加利福尼亚州Mountain View的GOOGLE INC.的 G00GLEDESKT0P等应用对接,以便查询网络上的设备。在一个实施方式中,媒体管理模块向 设备查询特定的文件或者数据格式(例如,JPEG、MP3和WMV)。媒体管理模块512还可以
15与设备上的软件通信或者集成,以便得到软件的特定目录的数据或者文件。这种集成的一 个示例是与来自加利福尼亚州的Mountain View的GOOGLE INC.的图像/视频组织软件 PICASA的集成。媒体管理模块512与设备的本地PICASA软件集成,并且能够得到其目录中 的全部影集以及影集内的全部文件的元数据。媒体管理模块512适于通过因特网来查询远程服务器的信息,以及订阅来自远程 源的数据馈送。媒体管理模块512从新闻聚集器接收与例如本地新闻、世界新闻、体育新 闻、财经新闻、交通新闻等主题有关的数据馈送。媒体管理模块512进一步适于通过搜索、 浏览和/或获取热点视频或者推荐的视频,来从视频共享网站(诸如来自加利福尼亚州的 Mountain View的GOOGLE INC.的Y0UTUBE)获取视频。此外,在一个实施方式中,媒体管理 模块512使用用户的登录和口令信息来获取视频共享网站上与用户喜爱视频有关的数据。媒体管理模块512内的标识符模块514为媒体管理模块512所查询的每个单独文 件和数据指派唯一的标识号。该唯一标识号与包含文件或者数据所在位置的统一资源定位 符(URL)相关。标识符模块514创建浏览/搜索结果表,以便存储与媒体管理模块512所 查询的不同文件或者数据相关联的URL和标识号。媒体管理模块512利用文件的元数据和唯一标识号来建立内容目录。最高级内容 目录是宽泛主题的列表,诸如视频、相册、新闻等。第二级内容目录可以是针对特定内容的 链接列表。内容列表被传输至控制点102,以便在用户指定时呈现。此外,一旦用户已经查 看了内容目录,则用户可以选择内容目录中的特定内容用于呈现。媒体管理模块512通过 因特网例行地查询设备和远程服务器,以便利用新的内容来更新内容目录以及移除不再可 获得的内容。跟踪模块516跟踪用户在呈现器104上的呈现历史,所跟踪的呈现历史被用来以 易于访问用户可能更感兴趣的视频的方式来建立和管理内容目录。每当用户在网络220的 呈现器104上呈现文件,跟踪模块516便通过使用文件元数据来建立所访问文件的主题,并 将其包括在跟踪表中。在一个实施方式中,跟踪表以层级方式设置,其中最流行(例如,最 频繁访问)的主题位于跟踪表的顶部,而最不流行的主题位于跟踪表的底部。此外,在一个 实施方式中,利用从因特网呈现的主题来更新跟踪表。媒体管理模块512使用由跟踪模块 516创建的跟踪表来建立和组织内容目录。因特网连接模块518从因特网特定的服务、服务器或者网站取回数据,以便媒体 管理模块512建立内容目录。在一个实施方式中,因特网连接模块518从新闻聚集器(诸如 来自加利福尼亚州的Mountain View的GOOGLE INC.的GOOGLE NEWS)取回RSS或者ATOM 格式的数据馈送。此外,在一个实施方式中,因特网连接模块518能够访问通过因特网可获 得的文件、html页面和/或任何内容。在一个实施方式中,因特网连接模块518用于通过 因特网向远程服务器上传内容,或者仅向远程服务器传输内容元数据。导航模块520与因特网连接模块518协作,以便指示其订阅哪些数据馈送,以及通 过因特网查询哪些远程服务器。在一个实施方式中,用户通过控制点接口模块410来设置 导航模块520订阅哪些数据或者通过因特网查询哪些服务器。其一个示例是,用户设置导 航模块520获取关于特定股票的股票信息、特定区域的天气信息、来自Y0UTUBE的用户最喜 爱视频等。在一个实施方式中,用户通过控制点接口模块410向导航模块520提供用户的 登录和口令信息。导航模块520使用登录信息以便使因特网连接模块518访问需要订阅的数据,以及仅在提供登录信息的情况下允许访问。交叉编码模块522将数据交叉编码为可由呈现器104呈现的格式。在一个实施方 式中,交叉编码模块将通过控制点102来确定网络220上的呈现器104可以呈现哪些数据 格式。传统转码改变给定类型媒体文件的格式,例如将WMV格式的视频文件改变为H. 264 视频格式,或者将MP3音频文件改变为AAC文件,或者将JPEG图像改变为GIF图像;然而其 保持原始媒体类型,诸如视频文件、音频文件或者图像。与之相比,交叉编码还改变数据的 类型将文本(或者标记)文档转变为图片,将图像转变为视频,将文本(或者标记)文档 转变为视频。交叉编码模块522使用由控制点102提供的数据格式和文件类型信息,将因 特网连接模块518取回的数据交叉编码为可以由呈现器104呈现的格式和文件类型。一个示例是,因特网连接模块518通过因特网从新闻文章的新闻聚集器获取RSS 格式的数据,其中呈现器104仅可以呈现静态图像,诸如最大显示尺寸为800X600的JPEG 和BMP格式。在此实例中,交叉编码模块522将RSS数据加载到适于呈现器104显示尺寸 的页面模板中,并且将页面模板处理为适当尺寸的JPEG图像。在一个实施方式中,对于不 同内容的数据(诸如新闻、股票、天气、交通、在线论坛、html页面等)存在不同的模板。如 果RSS数据格式的文章包括多个页面,则交叉编码模块522将识别这多个页面,并且将文章 的每个页面(或者其中的部分)转变为呈现设备大小的JPEG。此外,在一个实施方式中,对于创建并在媒体服务器上存储的每个JPEG,创建指定 该JPEG存储在何处的URL。在数据被交叉编码之后,标识符模块514指派唯一的标识号,该 标识号与文章的JPEG的特定URL相关联。标识符模块514继而将URL和相关联的标识号 两者存储在浏览/搜索结果表中。媒体管理模块512使用标识号来将文章的JPEG包括在 内容目录中,其使得用户能够呈现文章,然而此前这是无法实现的,因为呈现器104只能呈 现静态图像。在一个实施方式中,如果网络220上的任何呈现器104可以呈现视频文件(例如, WMV格式文件),则交叉编码模块522将认识到这一点,并且将多个页面新闻文章的多个 JPEG (通常是HTML格式)转变为视频文件。在一个实施方式中,将新闻文章的多个JPEG转 变为视频包括交叉编码模块522指定每个JPEG(整个图像,或者其一部分)中将作为视 频帧呈现的像素范围;如果图像大于视频帧,则可以将其向下采样至适当尺寸。继而,视频 帧的集合被编码为呈现设备能够解码的适当编码格式的视频文件。视频文件被指定以唯一 标识号,其与视频文件位置的特定URL相关联,并且被包括在内容目录中。在一个实施方式 中,用户可以通过控制点102来请求在具有视频呈现能力的呈现器104上呈现视频文件,其 呈现方式就像用户正在滚动浏览新闻文章。应当注意,本发明不限于获取新闻文章。使用新 闻文章是为了便于理解本发明。交叉编码模块522可以将任何数据交叉编码为呈现器104 可接受的格式和文件类型以便呈现。在一个实施方式中,如果媒体服务器106包含视频文件(例如,WMV格式文件)或 者接收视频馈送,但是网络220上的呈现器104不能呈现视频文件并且仅能够呈现静态图 像,则交叉编码模块将认识到这一点,并且将视频图像转为一个或者多个静态图像(例如, JPEG)。在一个实施方式中,将视频文件交叉编码为一个或者多个静态图像的过程包括选 择视频文件中的一个或者多个帧,并将其置入适于呈现器104显示器尺寸的页面模板,继 而将页面模板作为静态图像来呈现。由此过程创建的静态图像被各自独立地指派以唯一标
17识号,其与静态图像位置的特定URL相关联,并且每个图像包括在内容目录中。在一个实施方式中,在已经查询了网络220上的呈现器之后,因特网连接模块已 经获取了特定数据,并且通过因特网获取的数据是呈现器可以呈现的格式和文件类型,内 容目录是完整的并且可以向用户呈现。在一个实施方式中,转换模块524将读取媒体服务 器106中的内容目录,并将其转换为标记语言(例如,XML)。当向用户呈现经过转换的内容 目录时,经过转换的内容目录以用户可以容易地在经转换的内容目录中进行导航的方式来 呈现。流式传输模块526基于来自用户的请求,通过因特网向呈现器104流式传输接收 到的动态内容。相对于静态内容(例如,诸如文档、文章、图像、视频文件和音频文件)而 言,动态内容是周期性的、频繁变化或者更新的内容,诸如证券价格、交通信息和流量图像、 在线论坛公布、天气信息等。当用户选择查看动态内容时,流式传输模块526将确保因特网 连接模块518连续获取对应于该动态内容的数据,而交叉编码模块104将所获取的数据转 为呈现器104可接受的格式和文件类型,所创建的文件被放入内容目录,经转换的内容目 录是可获得的,并且如果用户需要还可以进行传输。在一个实施方式中,动态内容数据从本 地网络上的设备处获取。如果呈现器104可以呈现视频文件,并且用户已经选择动态内容,则流式传输模 块526将确保因特网连接模块518获取对应于该动态内容的数据,并将JPEG作为视频帧来 呈现。流式传输模块526继而将向呈现器104流式传输视频帧,而无需用户连续请求该数 据。在一个实施方式中,如果用户选择呈现来自内容目录的视频文件,则流式传输模块将通 过URL来识别该视频文件的位置是否在因特网上的远程服务器上。如果视频文件位于远程 服务器上,则因特网连接模块518将该视频下载至媒体服务器106,并且随着其下载,流式 传输模块526将向呈现器104流式传输该视频以用于呈现。媒体数据存储528存储由交叉编码模块522交叉编码为新的文件类型和格式的内 容。在一个实施方式中,媒体数据存储528存储由网络上的设备进行传输以用于存储的内 容(例如,在媒体服务器106上存储来自MP3播放器的音乐文件)。跟踪表和浏览/搜索结 果表存储在媒体数据存储528处。用于各种网站和/或数据馈送的用户登录和口令信息存 储在媒体数据存储528中,以供导航模块访问。媒体数据存储528中的内容目录存储530 存储由媒体管理模块512创建和更新的内容目录。上传模块532通过因特网从上传客户端230或者媒体服务器106向主管服务的远 程服务器(例如,视频或者文件共享网站)上传内容或者内容的元数据。上传模块532与 因特网连接模块518协作,以便从主机网站请求上传URL,以及向主管服务传输内容或者元 数据。与因特网连接模块518相结合,上传模块532确保当已经向主管服务传输内容或者 元数据时接收通知。在一个实施方式中,上传模块532与导航模块520协作,以确定从哪个 主管服务或者远程服务器请求上传URL。在一个实施方式中,随着媒体服务器106从上传客 户端230接收内容,上传模块同时向主管服务传输内容或者元数据。图6A和图6B是示出根据一个实施方式的内容枚举的序列图。本领域技术人员将 认识到,其他实施方式可以以不同顺序执行图6A和图6B的步骤。此外,其他实施方式可以 包括不同于在此所述的步骤和/或附加步骤。图6A和图6B示出了以内容目录的形式在呈现器104上呈现浏览/搜索结果时,由呈现器104、控制点102和媒体服务器106执行的步骤。在图6A中,最初,呈现器104加入 (602)网络220。呈现器104向控制点102提供URL。控制点102使用该URL来获取(606) 呈现器104的描述,该描述包括呈现器的能力,诸如呈现器104可以呈现的数据格式和文件 类型。用户通过控制点102来向媒体服务器106发出浏览/搜索请求(608)。用户可以请 求浏览网络220上的任何内容,请求通过因特网来查询特定的远程服务器,以及请求通过 因特网来获取特定的数据馈送。用户还可以请求查询网络220上的任何内容,并且向因特 网上的特定远程服务器查询特定文件和/或数据。优选地,可以基于呈现器104上的用户 呈现历史来组织查询结果。媒体服务器106从控制点102接收(608)请求,该请求具有准备向控制点102传 输浏览/搜索结果的指示。另外,来自控制点102的请求包括与网络220上的呈现器104 有关的细节,诸如呈现器104接受的数据格式、文件类型和协议。如果请求不包括与网络上 的呈现器104有关的细节,则媒体服务器106可以从控制点102请求呈现器104的细节。在接收浏览/搜索请求之后,媒体服务器106查询(608)网络220上的设备。如 果网络220上存在其他媒体服务器,同样对其进行查询。查询结果是网络220上内容的列 表,其具有关于内容的细节(例如,文件大小、文件格式、文件位置,等)。在一个实施方式 中,媒体服务器查询特定格式的文件和/或特定软件目录中的文件。查询结果中的每个文 件被指派(610)以唯一标识号。该唯一标识号以及包含内容位置的URL两者均与浏览/搜 索结果列表相关联并被放置在其中,该浏览/搜索结果列表随同文件的元数据被存储在媒 体服务器106中。媒体服务器106从因特网上的远程服务器或者服务获取(612)数据馈送和/或文 件。通常,用户之前已经将媒体服务器106设置为订阅特定的数据馈送或者查询特定的远 程服务器。例如,所获取的数据是来自由用户指定的新闻聚集器的最新新闻、来自视频主管 服务的视频等。媒体服务器将通过因特网获取的数据交叉编码(614)为网络220上的呈现 器104可接受和呈现的数据格式和文件类型。在一个实施方式中,通过因特网获取的数据 是RSS或者ATOM格式。如果网络220上的某些呈现器104仅呈现静态图像,而其他呈现器 呈现视频和静态图像的结合,则媒体服务器将数据交叉编码为静态图像,并且还使用该静 态图像来呈现视频文件。在完成交叉编码之后,通过因特网获取的全部数据均为适当的格式,为其中的每 一个独立地指派(616)唯一标识号。唯一标识号以及包含内容的位置的URL两者均被放置 在浏览/搜索结果表中,并且与内容的元数据一起保存在媒体服务器106中。一旦通过网 络220以及通过因特网获取的全部内容获得了标识号,则媒体服务器106通过使用在浏览/ 搜索结果表中找到的内容元数据和标识号来建立(618)内容目录。内容目录存储在媒体服 务器106中。媒体服务器106以如下方式来组织内容目录用户最感兴趣的内容在内容目 录上最容易访问。在一个实施方式中,媒体服务器106通过总是跟踪用户在呈现器104上 呈现的内容来组织内容目录。在一个实施方式中,媒体服务器在跟踪表中存储跟踪信息,其 包含于用户最常呈现的内容主题有关的信息。内容目录以层级方式建立,使得最高级是宽泛的标题,诸如新闻、照片相册、视频、 交通等。在一个实施方式中,每个宽泛标题的第二级可以是针对诸如当天的“标题新闻”等 特定内容的标识号。在另一实施方式中,内容目录的每个宽泛标题的第二级可以是特定视频主管服务的名称,并且如果选取了特定视频主管服务,则第三级可以是该视频主管服务 的排名最高的视频或者用户最喜爱视频的标识号。在一个实施方式中,在一段特定时间后 重建或者刷新内容目录,以便包括用户可获得的最新内容。如图6B中继续示出,由于控制点102已经请求了内容目录,因此媒体服务器将内 容目录转换(622)为网络上的控制点102和设备所支持的标记语言和联网协议(例如, DLNA.Intel MffR和Windows媒体连接)。在一个实施方式中,内容目录被转换成的标记语 言是XML。媒体服务器106向控制点102传输(624)经转换的内容目录。控制点接收(626) 内容目录,其是用户所请求的浏览/搜索结果。用户能够通过控制点接口模块410对目录 进行导航。在下文说明用户可以如何使用控制点102对内容目录进行导航从而访问新闻文 章的一个示例。再次强调,本发明并不局限于访问新闻文章。使用新闻文章作为表示用户 能够导航内容目录以便访问内容的示例是为了便于理解。在一个实施方式中,初始,以内容 目录的最高级来向用户呈现内容目录,其中文件夹的标题诸如视频、照片、新闻、财经等。如 果用户选择新闻文件夹,则向用户示出新闻文件夹的第二级。第二级可以是具有最新标题 的题目的子文件夹的列表。如果用户选择特定的文章文件夹,则将向用户呈现各种缩小的 样本图像,其中每个样本图像表示文章的一页。缩小的每个图像都是可选择的,以便以完整 尺寸来呈现。在一个实施方式中,随同缩小图像一起,具有将文章作为视频呈现的选项。在 一个实施方式中,如果用户选择的呈现器104具有视频呈现能力,则可选择视频用于呈现。图7是示出根据一个实施方式的在呈现器104上访问和呈现非动态内容的过程的 序列图。本领域技术人员将认识到,其他实施方式可以以不同顺序执行图7的步骤。此外, 其他实施方式可以包括不同于在此所述的步骤和/或附加步骤。图7是示出在呈现器104上呈现非动态内容时由呈现器104、控制点102以及媒体 服务器106执行的步骤。非动态内容是在其上下文中不会周期性改变的内容,诸如文档、文 章、图像、视频文件、音频文件。最初,用户导航内容目录,并且选择(700)在特定呈现器104 上呈现非动态内容。呈现器104接收(702)所选择内容的标识号、呈现用户所选内容的请 求以及准备与媒体服务器104交换数据的请求。媒体服务器106同样基于来自控制点102 的请求而准备(704)与呈现器104交换数据,并且还准备传输呈现器104所请求的任何内 容。呈现器104传输(706)用户从内容目录选择的内容的标识号。媒体服务器106接 收(708)该标识号。媒体服务器106在浏览/搜索结果表中搜索(710)与呈现器104提供 的标识号相关联的URL。媒体服务器使用URL来定位(712)内容的位置。媒体服务器从媒 体服务器106向呈现器104传输(714)非动态内容。呈现器104接收(716)非动态内容并 且对其进行呈现。如果媒体服务器106基于URL确定该内容位于网络220上的另一设备或 者媒体服务器上,则媒体服务器106将向控制点102发送请求,以使得包括该非动态内容的 设备或者媒体服务器向呈现器104传输该内容。如果媒体服务器106基于URL而认识到非动态内容位于因特网上的远程服务器 上,则媒体服务器将从远程服务器下载该内容,而后向呈现器104传输该内容。此外,如果 内容是视频文件,则随着媒体服务器106下载该视频文件,媒体服务器106将向呈现器104 流式传输该视频以用于呈现。
20
图8A和图8B是示出根据一个实施方式的访问和在呈现器104上呈现动态内容的 过程的序列图。本领域技术人员将认识到,其他实施方式可以以不同顺序执行图8A和图8B 的步骤。此外,其他实施方式可以包括不同于在此所述的步骤和/或附加步骤。图8A和图8B示出了在具有视频呈现能力的呈现器104上呈现动态内容时、由呈 现器104、控制点102和媒体服务器106所执行的步骤。如上所述,动态内容是周期性的、 频繁改变或者更新的内容,由此将需要呈现器104重复地刷新内容页面。在图8A中,最初, 用户导航内容目录,并且选择(800)呈现动态的内容。呈现器104接收(802)呈现用户所 选内容的请求以及准备与媒体服务器106交换数据的请求。媒体服务器106基于来自控制 点102的请求准备(804)与呈现器104交换数据,并且准备传输呈现器104所请求的任何 内容。呈现器104将用户所选内容的标识号从内容目录传输(806)至媒体服务器106, 并且请求与该标识号相关联的内容。媒体服务器106接收(808)标识号。媒体服务器106 在浏览/搜索结果表中搜索(810)与标识号相关联的URL。在一个实施方式中,基于浏览/ 搜索结果表中的元数据,媒体服务器106认识到内容是动态的,并且将向呈现器104连续地 流式传输数据。媒体服务器106使用URL来定位(812)媒体服务器的内容目录中的最新内 容的位置。媒体服务器以视频文件的形式向呈现器104传输(814)最新的动态内容。呈现 器104接收(816)并且呈现视频文件。媒体服务器106通过因特网来获取(818)动态内容的最新数据馈送,并将其交叉 编码(820)为呈现器104可接受的格式和文件类型。在一个实施方式中,媒体服务器106将 数据交叉编码为JPEG(或者其他静态图像格式,诸如GIF、PNG等)。在一个实施方式中,媒 体服务器106从本地网络上的设备获取关于动态内容的馈送。继续到图8B,媒体服务器106 为经过交叉编码的数据的每个单独文件指派(822)标识号。该标识号与文件位置的URL相 关联,并且两者均被存储在浏览/搜索结果表中。媒体服务器106建立或者更新(824)内 容目录,并转换(826)该内容目录。媒体服务器106使用经过交叉编码的文件来构造(828) 视频帧。视频帧被传输(830)到呈现器104。呈现器104接收并呈现视频帧。重复步骤818 至824,直到用户选择结束动态内容的呈现为止。在一个实施方式中,如果呈现器104仅呈现静态图像,则媒体服务器106将连续构 建视频帧并且向呈现器104传输视频帧。作为代替,用户导航内容目录以查看由内容目录 中的媒体服务器106创建的最新静态图像。在一个实施方式中,静态图像包括时间戳,并且 以用户易于导航动态内容的最新静态图像的方式被组织在内容目录中。图9是根据一个实施方式的序列图,其示出了从上传客户端230向媒体服务器106 传输内容以及通过因特网将内容传输至主管服务的过程。本领域技术人员将认识到,其他 实施方式可以以不同顺序执行图9的步骤。此外,其他实施方式可以包括不同于在此所述 的步骤和/或附加步骤。图9示出了在从上传客户端230向媒体服务器106传输内容时,用于存储以及附 加地通过因特网向主管服务传输内容的、由上传客户端230和媒体服务器106执行的步骤。 最初,用户选择(900)将上传客户端230所包含的文件存储在媒体服务器106中,以及还通 过因特网向主管服务传输文件。媒体服务器基于来自控制点102的请求来准备(902)接收 文件。
上传客户端230传输(904)文件。媒体服务器106接收(906)并存储文件。如果 文件不包括唯一标识符,则指派(908)与包含该文件在媒体服务器106中位置的URL相关 联的标识号。唯一标识符和URL两者以及关联的上传URL均被放置在浏览/搜索结果表中, 其中该关联的上传URL包括上传文件的位置。主管服务(例如,视频或者图像共享网站) 创建上传URL并将其发送至媒体服务器106。如果内容目录中还没有新文件的标识号,则更新(910)媒体服务器中的该内容目 录,以包括该新文件的标识号。媒体服务器106转换(912)内容目录。如果主管服务需要 文件为特定格式和文件类型,则媒体服务器106将该文件交叉编码(914)为主管服务可接 受的格式。从媒体服务器106向主管服务传输(916)文件。在传输完成之后,媒体服务器 106接收(918)向主管服务的上传成功的确认(918)。媒体服务器106向上传客户端230传输(920)确认和内容目录。上传客户端230 接收(922)确认和内容目录,并通过上传客户端接口将其呈现给用户。为用户呈现内容目 录,以便查看现在文件正处于内容目录中。在一个实施方式中,随着从上传客户端230向媒 体服务器106传输文件,同时向主管服务传送文件。上传客户端230可以传输该文件以便 仅将其存储在媒体服务器106中,或者可以使用媒体服务器106从上传客户端230向主管 服务传输内容,而不在媒体服务器106中存储该文件。为易于理解本发明,在下文将解释用户向主管服务(例如,Y0UTUBE)中传输视频 文件的示例。应当强调,本发明并不局限于仅向特定主管服务传输视频文件。在一个实施 方式中,上传客户端230(例如,视频记录设备)加入本地网络。用户请求向媒体服务器 106(在此示例中,是个人计算机)传输存储于上传客户端230上的视频文件,以及附加地向 主管服务传输文件。从上传客户端230向媒体服务器106传输视频文件。一旦传输完成, 则媒体服务器106通过文件传输协议等、经由主管服务外露的API向主管服务上传该视频 文件。现在存储于主管服务的远程服务器上的视频文件对于因特网上的任何人来说都是可 获得的。在一个实施方式中,可以访问视频文件的用户限于选定的用户。在一个实施方式中,向远程服务传输内容的目的在于与第二 UPnP本地网络共享 内容。内容共享如下实现第二 UPnP本地网络上的媒体服务器查询主管服务;响应于查询 而为内容指派标识号;响应于查询,将具有内容位置的URL与内容的标识号相关联;以及将 内容包括在第二 UPnP本地网络的内容目录中。如果第二 UPnP本地网络上的用户选择呈现 主管服务上存储的特定内容,则第二 UPnP本地网络的媒体服务器请求从主管服务传输该 特定内容。一旦第二本地网络上的媒体服务器从主管服务接收特定内容,则在第二 UPnP本 地网络中的呈现器上呈现该内容。这一能力克服了传统UPnP协议中不允许第一 UPnP本地 网络上的UPnP设备交换或者访问第二 UPnP本地网络上的内容这一限制。图11是根据一个实施方式的序列图,其示出了第一 UPnP本地网络1102与第二 UPnP本地网络1106共享和交换存储在该第一 UPnP本地网络1102上的数据的过程。本领 域技术人员将认识到,其他实施方式可以以不同顺序执行图11的步骤。此外,其他实施方 式可以包括不同于在此所述的步骤和/或附加步骤。图11示出了在第二本地网络1106的呈现器104上呈现第一本地网络1106中的 设备上存储的内容时,由第一本地网络1102、主管服务1104以及第二本地网络1106执行 的步骤。最初,第一本地网络1102上的用户选择(1108)与第二本地网络共享第一本地网络内的内容。在一个实施方式中,第一本地网络的用户可以选择与特定本地网络、特定用户 和/或连接至因特网的任何人员共享内容。第一本地网络1102上的媒体服务器106向主 管服务1104传输(1110)内容的元数据。主管服务1104接收(1112)元数据并将其存储在 特定位置。在为第二本地网络1106上的设备建立或者重建内容目录的过程中,第二本地网 络1106从主管服务1104请求(1114)存储在特定位置中的特定内容的元数据或者全部元 数据。主管服务1104向第二本地网络1106传输(1116)内容的元数据。第二本地网络1106 上的媒体服务器106利用该内容的元数据来建立(1118)或者重建内容目录,以便包括该元 数据的内容。第二本地网络上的用户选择(1120)呈现在主管服务1104上存储的元数据的内 容。继而,第二本地网络1106从主管服务1104请求(1122)与该元数据相关联的内容。主 管服务1104从第二本地网络1106接收请求,确定第一本地网络包含所请求的内容,并且从 第一本地网络1102请求(1124)与元数据相关联的内容。第一本地网络1102上的媒体服 务器106定位该内容,并且向主管服务1104传输(1128)该内容。在一个实施方式中,如果 第二本地网络上的媒体服务器提出请求,则在传输内容之前,媒体服务器106将内容交叉 编码为特定的文件类型和格式。主管服务1104确定第二本地网络请求了内容,并且将该内 容传输(1130)至第二本地网络。由第二本地网络1106接收(1132)该内容,并在第二本地 网络1106的呈现器104上呈现。为易于理解本发明,将在下文解释第一本地网络与第二本地网络共享静态图像相 册文件的示例。应当强调,本发明并不局限于在两个本地网络之间仅交换静态图像相册。在 一个实施方式中,第一本地网络的用户确定与第二本地网络共享相册(例如,与身处另一 国家的家庭成员共享生日照片)。将相册的元数据传输至主管服务(例如,来自加利福尼亚 州的Mountain View的GOOGLE INC.的PICSSA TOB)。第二本地网络获取存储在主管服务 上的元数据。将相册的元数据加入第二本地网络的内容目录。第二本地网络上的用户导航 该内容目录,并选择呈现来自于存储在第一本地网络上的相册的静态图像。第二本地网络 从主管服务请求与元数据相关联的静态图像。主管服务将该请求中继至第一本地网络。第 一本地网络获取所请求的静态图像,将其传输至主管服务,并且主管服务将该静态图像中 继至第二本地网络以用于呈现。此能力进一步克服了传统UPNP协议中不允许第一 UPnP本 地网络上的UPnP设备交换或者访问第二 UPnP本地网络上的内容这一限制。已经针对各种可能的实施方式在具体细节中描述了本发明,而本领域技术人员应 当理解,本发明可以在其他实施方式中实现。首先,组件、术语大小写、属性、数据结构或者 任何其他变成或者结构化方面的特殊命名并不是强制性或者具有特殊意义,而是,实现本 发明或者其特征的机制可以具有不同名称、格式或者协议。此外,系统可以经由硬件或者软 件的结合来实现,或者如所述完全以硬件元件实现。另外,在此所述的各种系统组件之间的 特定功能划分仅在于示例性而并非强制性;由单一系统组件执行的功能可以替代地由多个 组件执行,而由多个组件执行的功能可以由单一组件执行。上述描述的某些部分以针对信息的操作的算法和符号表示的方式呈现了本发明 的特征。这些算法描述和表示是由数据处理领域技术人员使用的方式,并且该方式向本领 域的其他技术人员最有效地传达其工作的实质。尽管以功能或者逻辑方式描述,应当理解这些操作由计算机程序执行。此外,还应当注意,为方便起见,在不丧失通用性的情况下,将 这些操作的设置称作模块或者由功能性名称表示。应当注意,除非特别指出,否则从上述讨论中易见的是,贯穿说明书,使用诸如“处 理”或者“求解”或者“计算”或者“确定”或者“显示”等术语的描述是指计算机系统或者 类似电子计算设备的动作和处理,该电子计算设备操纵以及将数据转变为在计算机系统存 储器或者寄存器或者其他此类信息存储、传输或者显示设备内表示的物理(电子)量。本发明的特定方面包括在此以算法形式描述的处理步骤和指令。应当注意,本发 明的处理步骤和指令可以以软件、固件或者硬件方式实现,以及当以软件实现时,可以将其 下载以便驻留在或者从实时网络操作系统使用的不同平台来操作。本发明还涉及执行在此所述操作的装置。此装置可以是针对所需目的专门构造, 或者可以包括由存储于计算机可读介质上的计算机程序来选择激活或者重配置的通用计 算机,而该计算机可读介质可以由该计算机访问。此类计算机程序可以存储在有形的计算 机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存 储器(ROM)、存储器(RAM)、EPR0M、EEPR0M、磁性或者光学卡、专用集成电路(ASIC)或者适于 存储电子指令的任何类型的媒体,以及其中的每个耦合至计算机系统总线。此外,在说明书 中所指的计算机可以包括单处理器架构,或者可以是为增强计算能力而使用多个处理器设 计的架构。在此呈现的算法和操作并不固有地关联于任何特定计算机或者其他装置。还可以 使用具有根据在此给出教导的程序的各种通用系统,或者还可以证明易于构造更为专用的 装置来执行所需的方法步骤。用于各种此类系统所需的结构及其等效变形对于本领域技术 人员是易见的。另外,并不参考任何具体编程语言来描述本发明。应当理解,可以使用各种 编程语言来执行在此所述的本发明的教导,并且对具体语言的任何参考是提供用于公开本 发明的最佳模式和支持。本发明还适于基于多种拓扑的广泛类型的计算机网络系统。在此领域中,大的网 络的配置和管理包括存储设备和计算机,其通过网络(诸如因特网)可通信地耦合至相异 的计算机和存储设备。最后,应当注意,在此说明说中的语言主要是出于可读性和指示性目的而选择,以 及还可以选择用于描绘或者限制创造性的主题。由此,本发明的公开旨在于示意性的,而并 非限制本发明的范围,本发明的范围由所附权利要求书来限定。
2权利要求
一种包括计算机可读存储介质的计算机程序产品,具有实现于其上的计算机程序指令和数据,适于使本地网络上的内容服务器对内容进行枚举、交叉编码以及将内容提供给耦合至所述本地网络的呈现器,所述呈现器与内容服务器经由第一通信协议进行通信,所述第一通信协议限于管理跨所述本地网络的设备间通信,所述内容服务器进一步适于使用第二通信协议进行通信,所述第二通信协议用于在网络内部以及跨过网络来传输内容和数据,所述计算机程序指令和数据用于使所述内容服务器执行操作经由所述第二通信协议,由所述内容服务器查询所述本地网络或者远程网络上的内容源的内容;经由所述第一通信协议,由所述内容服务器确定所述呈现器可呈现的文件类型和数据格式;以及响应于所述内容不是所述呈现器可呈现的文件类型和数据格式,由所述内容服务器将所述内容交叉编码为所述呈现器可呈现的文件类型和数据格式。
2.根据权利要求1所述的计算机程序产品,其中所述本地网络遵循UPnP架构,以及所 述第一通信协议是UPnP通信协议。
3.根据权利要求2所述的计算机程序产品,其中所述本地网络上的设备包括媒体管理 应用以及媒体文件库,并且其中查询所述本地网络上的设备包括向所述媒体管理应用查询 媒体文件。
4.根据权利要求1所述的计算机程序产品,所述计算机程序指令和数据进一步使所述 内容服务器执行操作根据所述第一通信协议,由所述内容服务器枚举所述内容,以利用表示所述呈现器可 呈现的内容的唯一标识符来创建目录;以及经由所述第二通信协议,从所述内容服务器向控制点提供所述目录。
5.根据权利要求4所述的计算机程序产品,其中由所述内容服务器枚举所述内容包括为个体内容提供唯一标识符;将所述个体内容的所述唯一标识符与对应于所述内容的位置的指针相关联;通过使用所述内容的所述唯一标识符来创建目录;以及将所述目录转换为请求所述目录的设备可读取的格式。
6.根据权利要求5所述的计算机程序产品,所述计算机程序指令和数据进一步使所述 内容服务器执行操作根据所述本地网络上的设备的呈现历史来组织所述目录。
7.根据权利要求5所述的计算机程序产品,其中将所述目录转换为设备可读取的格式 包括将所述目录转换为可扩展标记语言。
8.根据权利要求5所述的计算机程序产品,所述计算机指令和数据进一步使所述内容 服务器执行操作从所述内容服务器处的呈现器接收对目录中内容的选择;以及经由所述第二通信协议,从所述内容服务器向所述呈现器传输所述目录中的选定内 容,其中所述呈现器呈现所述选定内容。
9.根据权利要求1所述的计算机程序产品,其中由所述内容服务器来查询所述本地网 络或者远程网络上的内容源的内容包括经由所述第二通信协议,并发地查询本地网络上的设备的内容以及查询网络上远程服 务器的内容;以及经由所述第二通信协议获取来自远程源的数据馈送。
10.根据权利要求1所述的计算机程序产品,其中对所述内容进行交叉编码包括 将不可呈现的内容置入模板;以及将所述模板中的所述内容处理为所述呈现器可呈现的文件类型和格式。
11.根据权利要求10所述的计算机程序产品,其中存在多个模板,以及将所述内容置 入模板包括根据所述内容和呈现的维度来选择所述多个模板中的一个。
12.根据权利要求10所述的计算机程序产品,其中所述内容包括视频文件,以及将所 述内容进行交叉编码包括选择所述视频文件的帧作为个体图像;以及 将所选择的帧处理为所述呈现器可呈现的个体图像文件。
13.根据权利要求10所述的计算机程序产品,其中所述内容包括多个静态图像,并且 对所述内容进行交叉编码包括将所述多个静态图像处理为视频文件。
14.一种计算机实现的系统,其耦合至本地网络,并且适于对内容进行枚举、交叉编码 以及将内容提供给耦合至所述本地网络的呈现器,所述呈现器和系统经由第一通信协议进 行通信,所述第一通信协议限于管理跨所述本地网络的设备间通信,并且所述系统进一步 适于使用第二通信协议进行通信,所述第二通信协议用于在网络内部以及跨过网络来传输 内容和数据,所述系统包括媒体管理模块,配置用于经由所述第二通信网络来查询位于所述本地网络或者远程网 络上的内容,以及用于根据响应于所述查询而标识的内容来建立内容目录;交叉编码模块,配置用于将内容交叉编码为由所述交叉编码模块经由所述第一通信网 络而确定的、所述呈现器可呈现的文件类型和数据格式;控制点接口模块,配置用于请求在所述呈现器上呈现内容。
15.根据权利要求14所述的系统,其中所述本地网络遵循UPnP架构,并且所述第一通 信协议是UPnP通信协议。
16.根据权利要求15所述的系统,其中所述媒体管理模块进一步配置用于向媒体管 理应用查询媒体文件,其中所述本地网络上的设备包括所述媒体管理应用和媒体文件库。
17.根据权利要求14所述的系统,其中所述媒体管理模块进一步配置用于 为个体内容提供唯一标识符;将所述个体内容的所述唯一标识符与对应于所述内容的位置的指针相关联;以及 通过使用所述内容的所述唯一标识符来创建目录。
18.根据权利要求17所述的系统,其中所述媒体管理模块进一步配置用于当附加内 容在所述网络上变得可获得时,更新所述内容目录。
19.根据权利要求17所述的系统,其中所述媒体管理模块进一步配置用于根据所述 本地网络上的设备的呈现历史来组织所述内容目录。
20.根据权利要求14所述的系统,进一步包括转换模块,配置用于将所述内容目录转换为请求所述内容目录的设备可读取的格式。
21.根据权利要求20所述的系统,其中所述转换模块进一步配置用于将所述目录转换为可扩展标记语言。
22.根据权利要求14所述的系统,其中所述媒体管理模块进一步配置用于 经由所述第二通信协议,从位于所述远程网络上的设备处获取数据馈送。
23.根据权利要求14所述的系统,其中所述交叉编码模块进一步配置用于 将不可呈现的内容置入模板;以及将所述模板中的所述内容处理为所述呈现器可呈现的文件类型和数据格式。
24.根据权利要求23所述的系统,其中所述交叉编码模块进一步配置用于根据所述 内容和呈现的维度来选择所述多个模板中的一个。
25.根据权利要求23所述的系统,其中所述内容包括多个静态图像,所述交叉编码模 块进一步配置用于将所述多个静态图像处理为视频文件。
26.根据权利要求23所述的系统,其中所述内容包括视频文件,所述交叉编码模块进 一步配置用于选择所述视频文件的帧作为个体图像;以及 将所选择的帧处理为所述呈现器可呈现的个体图像文件。
27.根据权利要求14所述的系统,其中所述控制点接口模块经由所述第一通信协议 来管理耦合至所述本地网络的设备,以便经由所述第二通信协议向所述呈现器传输选定内容。
28.—种包括计算机可读存储介质的计算机程序产品,具有实现于其上的计算机程序 指令和数据,用于使本地网络上的内容服务器向耦合至所述本地网络的媒体呈现器提供来 自远程网络上的源的动态内容,所述内容服务器与所述呈现器经由第一通信协议进行通 信,所述第一通信协议限于管理跨所述本地网络的设备间通信,并且所述内容服务器进一 步适于使用第二通信协议进行通信,所述第二通信协议用于在网络内部以及跨过网络来传 输内容和数据,所述计算机程序指令和数据用于使所述内容服务器执行操作经由所述第一通信协议,由所述内容服务器从控制点接收在所述呈现器上呈现动态内 容的请求;经由所述第二通信协议,由所述内容服务器从所述远程网络上的所述源周期性地接收 动态内容馈送,其中所述动态内容馈送是所述呈现器不能呈现的文件类型和数据格式;由所述内容服务器将所述动态内容交叉编码为所述呈现器可呈现的文件类型和数据 格式;以及经由所述第二通信协议,从所述内容服务器向所述呈现器传输经过交叉编码的内容。
29.根据权利要求28所述的计算机程序产品,其中所述本地网络遵循UPnP架构,并且 所述第一通信协议是UPnP通信协议。
30.根据权利要求28所述的计算机程序产品,其中所述动态内容包括文本数据的数据 馈送,并且对所述内容进行交叉编码包括周期性地将所述文本内容置入模板,从而将所述文本内容组织为至少一个数据页;以及将所述模板处理为所述呈现器可呈现的文件类型和格式。
31.根据权利要求28所述的计算机程序产品,其中对所述内容进行交叉编码包括 将所述动态内容置入模板;以及将所述模板中的所述内容处理为所述呈现器可呈现的文件类型和格式。
32.根据权利要求31所述的计算机程序产品,其中处理所述模板中的所述内容包括 响应于所述呈现器能够呈现视频文件,将所述内容和所述模板转变为视频文件。
33.根据权利要求32所述的计算机程序产品,其中对所述内容和所述模板进行转变包括将所述经过交叉编码的内容呈现为视频帧;以及 将多个视频帧编码为所述视频文件。
34.根据权利要求33所述的计算机程序产品,其中所述内容服务器适于经由所述第 二通信协议向所述呈现器连续传输所述视频帧。
35.根据权利要求28所述的计算机程序产品,其中所述动态内容包括视频馈送,并且 对所述内容进行交叉编码包括选择所述视频馈送的帧作为个体图像;以及 将所选择的帧处理为所述呈现器可呈现的个体图像文件。
36.根据权利要求28所述的计算机程序产品,其中所述内容服务器适于从所述本地网 络上的源接收所述动态内容馈送。
37.一种计算机实现的系统,其耦合至本地网络,并且适于向耦合至所述本地网络的媒 体呈现器提供来自远程网络上的源的动态内容,所述呈现器与系统经由第一通信协议进行 通信,所述第一通信协议限于管理跨所述本地网络的设备间通信,并且所述系统进一步适 于使用第二通信协议进行通信,所述第二通信协议用于在网络内部以及跨过网络来传输内 容和数据,所述系统包括控制点通信模块,适于由控制点经由所述第一通信协议来请求在所述呈现器上呈现动 态内容;因特网连接模块,适于经由所述第二通信协议从所述远程网络上的所述源周期性地或 者连续地接收动态内容馈送;交叉编码模块,适于将所述动态内容交叉编码为所述呈现器可呈现的文件类型和数据 格式,其中所述动态内容馈送是所述呈现器不能呈现的文件类型和数据格式;以及流式传输模块,适于经由所述第二通信协议向所述呈现器传输经过交叉编码的内容。
38.根据权利要求37所述的系统,其中所述本地网络遵循UPnP架构,并且所述第一通 信协议是UPnP通信协议。
39.根据权利要求37所述的系统,其中所述动态内容包括文本数据的数据馈送,所述 交叉编码模块进一步适于将所述数据馈送周期性地置入模板,从而将所述数据馈送组织为至少一个数据页;以及将所述模板处理为所述呈现器可呈现的文件类型和格式。
40.根据权利要求37所述的系统,其中所述交叉编码模块适于通过以下方式来对所述 动态内容进行交叉编码将所述动态内容置入模板;以及将所述模板中的所述内容处理为 所述呈现器可呈现的文件类型和格式。
41.根据权利要求37所述的系统,所述交叉编码模块进一步适于响应于所述呈现器能够呈现视频文件,将所述经过交叉编码的内容呈现为视频帧;以将多个视频帧编码为视频文件。
42.根据权利要求41所述的系统,其中所述流式传输模块进一步适于经由所述第二 通信协议向所述呈现器连续传输所述视频帧。
43.根据权利要求37所述的系统,其中所述动态内容包括视频馈送,所述交叉编码模 块进一步适于选择所述视频馈送的帧作为个体图像;以及将所选择的帧处理为所述呈现器可呈现的个体图像文件。
44.一种包括计算机可读存储介质的计算机程序产品,具有实现于其上的计算机程序 指令和数据,用于使本地网络上的内容服务器向耦合至远程网络的主机系统提供所述本地 网络上的内容,所述内容服务器与客户端经由第一通信协议进行通信,所述第一通信协议 限于管理跨所述本地网络的设备间通信,所述内容服务器进一步适于使用第二通信协议进 行通信,所述第二通信协议用于在网络内部以及跨过网络来传输内容和数据,并且其中所 述客户端不能与所述主机系统直接通信,所述计算机程序指令和数据用于使所述服务器执 行操作经由所述第一通信协议,在所述内容服务器处从所述客户端接收用于向所述主机系统 传输存储在所述客户端上或者存储在耦合至本地网络的存储设备上的内容的请求;使用所述第二通信协议,由所述内容服务器从所述主机系统请求上传指针,所述上传 指针对应于将要传输的内容在所述远程网络上的位置;以及使用所述第二通信协议,由所述内容服务器向对应于所述上传指针的位置传输所述内容。
45.根据权利要求44所述的计算机程序产品,其中所述本地网络遵循UPnP架构,并且 所述第一通信协议是UPnP通信协议。
46.根据权利要求44所述的计算机程序产品,所述计算机程序指令和数据进一步适于 使所述内容服务器执行操作使用所述第二通信协议,由所述内容服务器接收存储在所述客户端上或者存储在耦合 至所述第一本地网络的设备上的所述内容;在所述内容服务器上存储内容;由所述内容服务器为将要传输的所述内容提供唯一标识符;以及根据所述第一通信协议,通过使用所述内容的所述唯一标识符来维护内容目录。
47.根据权利要求46所述的计算机程序产品,其中所述计算机程序指令和数据进一步 适于使所述内容服务器随着所述内容服务器从所述存储设备接收所述内容,同时经由所述 第二通信协议向对应于所述上传指针的位置传输所述内容。
48.根据权利要求44所述的计算机程序产品,其中所述计算机程序指令和数据进一步 适于使所述内容服务器在经由所述第二通信协议传输所述内容之前,将所述内容交叉编码 为所述主机系统接受的文件类型和格式。
49.根据权利要求48所述的计算机程序产品,其中对所述内容进行交叉编码包括将所述内容置入模板;以及将所述模板处理为可接受的文件类型和格式。
50.根据权利要求44所述的计算机程序产品,其中所述计算机程序指令和数据进一步 适于使所述内容服务器在所述内容的传输完成时经由所述第二通信协议从所述主机系统 接收确认消息。
51.根据权利要求44所述的计算机程序产品,其中所述计算机程序指令和数据进一步 适于使所述内容服务器经由所述第二通信协议向所述主机系统中继来自所述存储设备的 所述内容。
52.根据权利要求44所述的计算机程序产品,其中具有对所述远程网络的访问权的第 二内容服务器可以访问所述主机系统上存储的所述内容。
53.根据权利要求52所述的计算机程序产品,其中具有对所述远程网络的访问权的所 述第二内容服务器耦合至第二本地网络。
54.一种计算机实现的系统,其耦合至本地网络,并且适于向耦合至远程网络上的主机 系统提供所述本地网络上的内容,所述系统与客户端经由第一通信协议进行通信,所述第 一通信协议限于管理跨所述本地网络的设备间通信,所述系统进一步适于使用第二通信协 议进行通信,所述第二通信协议用于在网络内部以及跨过网络来传输内容和数据,并且其 中所述客户端不能与所述主机系统直接通信,所述系统包括上传客户端通信模块,配置用于所述客户端经由所述第一通信协议来请求向所述主机 系统传输存储在所述客户端或者耦合至本地网络的存储设备上的内容;以及上传模块,配置用于使用所述第二通信协议从所述主机系统请求上传指针,以及配置 用于使用所述第二通信协议向对应于所述上传指针的位置传输所述内容。
55.根据权利要求54所述的系统,其中所述本地网络遵循UPnP架构,并且所述第一通 信协议是UPnP通信协议。
56.根据权利要求54所述的系统,进一步包括媒体数据存储,配置用于经由所述第二通信协议来接收和存储在所述客户端或者耦合 至所述本地网络的所述存储设备上存储的所述内容;标识符模块,配置用于为所述媒体存储中存储的所述内容提供唯一标识符;以及媒体管理模块,配置用于根据所述第一通信协议,使用所述内容的所述唯一标识符来 建立或者更新内容目录。
57.根据权利要求56所述的系统,其中所述上传模块进一步配置用于随着所述媒体 数据存储从所述存储设备接收所述内容,同时经由所述第二通信协议向对应于所述上传指 针的位置传输所述内容。
58.根据权利要求54所述的系统,其中所述媒体管理模块进一步配置用于在经由所 述第二通信协议传输所述内容之前,将所述内容交叉编码为所述主机系统接受的文件类型 和格式。
59.根据权利要求58所述的系统,其中所述媒体管理模块进一步配置用于通过将所 述内容置入模板以及将所述模板处理为可接受的文件类型和格式来对所述内容进行交叉编码。
60.根据权利要求59所述的系统,其中所述上传模块进一步配置用于当所述内容向 所述主机系统的传输完成时,经由所述第二通信协议接收确认消息。
61.根据权利要求54所述的系统,其中所述上传客户端通信模块适于经由所述第二通信协议向所述主机系统中继来自所述客户端或者耦合至所述本地网络的所述存储设备 的所述内容,而不在所述内容服务器上存储所述内容。
62.根据权利要求54所述的系统,其中对所述远程网络具有访问权的第二内容服务器 可以访问所述主机系统上存储的所述内容。
63.根据权利要求62所述的系统,其中对所述远程网络具有访问权的所述第二内容服 务器耦合至第二本地网络。
64.一种包括计算机可读存储介质的计算机程序产品,具有实现于其上的计算机程序 指令和数据,用于使耦合至本地网络的内容服务器与耦合至远程网络的远程设备共享所述 本地网络上的内容,所述本地网络包括耦合至所述本地网络的控制点,所述内容服务器与 所述控制点经由第一通信协议进行通信,所述第一通信协议限于管理跨所述本地网络的设 备间通信,所述内容服务器适于使用第二通信协议进行通信,所述第二通信协议用于在网 络内部以及跨过网络来传输内容和数据,并且其中所述内容服务器不能与所述远程设备直 接通信,所述计算机程序指令和数据用于控制所述内容服务器执行操作经由所述第一通信协议,由所述内容服务器从所述控制点接收用于共享存储在耦合至 所述本地网络的存储设备上的内容的请求;经由所述第二通信协议,由所述内容服务器向耦合至所述远程网络的主机系统传输存 储在耦合至所述本地网络的所述存储设备上的所述内容的元数据,其中所述控制点不能与 所述主机系统直接通信;由所述内容服务器从所述主机系统接收由所述远程设备发起的、针对与元数据相关联 的内容的请求;以及经由所述第二通信协议,由所述内容服务器向所述主机系统传输所请求的内容,以用 于向所述远程设备中继所请求的内容。
65.根据权利要求64所述的计算机程序产品,其中由所述内容服务器传输所请求的内 容包括经由所述第二通信协议,由所述内容服务器从所述主机系统接收针对与所述元数据相 关联的所述内容的请求;以及由所述内容服务器定位与所述元数据相关联的内容在耦合至所述本地网络的所述存 储设备上的位置。
66.根据权利要求64所述的计算机程序产品,其中所述内容服务器进一步适于响应 于所述内容不是所请求的文件类型或者格式,将所述内容交叉编码为适当的文件类型和数 据格式。
67.根据权利要求66所述的计算机程序产品,对所述内容进行交叉编码包括将所述内容置入模板;以及将所述模板处理为适当的文件类型和格式。
68.根据权利要求64所述的计算机程序产品,其中所述本地网络遵循UPnP架构,并且 所述第一通信协议是UPnP通信协议。
69.一种包括计算机可读存储介质的计算机程序产品,具有实现于其上的计算机程序 指令和数据,用于使耦合至远程网络的主机系统允许耦合至本地网络的内容服务器与耦合 至所述远程网络的远程设备共享所述本地网络上的内容,所述内容服务器与耦合至所述本地网络的设备经由第一通信协议进行通信,所述第一通信协议限于管理跨所述本地网络的 设备间通信,所述内容服务器适于使用第二通信协议进行通信,所述第二通信协议用于在 网络内部以及跨过网络来传输内容和数据,并且其中所述内容服务器不能与所述远程网络 上的所述远程设备直接通信,所述计算机程序指令和数据控制所述内容服务器执行操作经由所述第二通信协议,由所述主机系统从所述内容服务器接收存储在耦合至所述本 地网络的存储设备上的内容的元数据;经由所述第二通信协议,由所述主机系统从所述远程设备接收针对与所述元数据相关 联的内容的请求;由所述主机系统标识与所述元数据相关联的内容的位置;以及经由所述第二通信协议,由所述主机系统从所述内容服务器请求与所述元数据相关联 的内容。
70.根据权利要求69所述的计算机程序产品,所述计算机程序指令和数据进一步适于 使所述主机系统执行操作经由所述第二通信协议,由所述主机系统从所述内容服务器接收与所述元数据相关联 的内容;由所述主机系统标识请求所述内容的所述远程设备;以及经由所述第二通信协议,由所述主机系统向所述远程设备传输所请求的内容。
71.一种计算机实现的系统,适于使耦合至本地网络的第一服务器与耦合至远程网络 的第二服务器共享所述本地网络上的内容,所述第一服务器与耦合至所述本地网络的存储 设备经由第一通信协议进行控制,所述第一通信协议限于管理跨所述本地网络的设备间通 信,所述第一服务器配置用于使用第二通信协议进行通信,所述第二通信协议用于在网络 内部以及跨过网络来传输内容和数据,并且其中所述第一服务器不能与所述第二服务器直 接通信,所述系统包括第一服务器,配置用于基于经由所述第一通信协议的请求,经由所述第二通信协议向 耦合至所述远程网络的主管系统传输存储在耦合至所述本地网络的所述存储设备上的内 容的元数据,以及在基于请求,经由所述第二通信协议向所述主管系统传输与所述元数据 相关联的内容;以及第二服务器,配置用于经由所述第二通信协议,从所述主管系统获取元数据,以及从所 述主管系统请求与元数据相关联的内容。
72.根据权利要求71所述的系统,其中所述第一服务器进一步配置用于经由所述第二通信协议,接收针对与向所述主管系统传输的元数据相关联的内容的请 求;以及定位与所述元数据相关联的内容在耦合至所述本地网络的所述存储设备上的位置。
73.根据权利要求71所述的系统,其中所述第一服务器进一步配置用于响应于所述 内容不是所请求的文件类型或者格式,将所述内容交叉编码为适当的文件类型和数据格 式。
74.根据权利要求73所述的系统,其中所述第一服务器进一步配置用于通过将所述内 容置入模板以及将所述模板处理为可接受的文件类型和格式来对所述内容进行交叉编码。
75.根据权利要求71所述的系统,其中所述本地网络遵循UPnP架构,并且所述第一通信协议是UPnP通信协议。
76.一种计算机实现的系统,适于主机系统允许耦合至本地网络的第一服务器与耦合 至远程网络的第二服务器共享所述本地网络上的内容,所述第一服务器与耦合至所述本地 网络的设备经由第一通信协议来控制,所述第一通信协议限于管理跨所述本地网络的设备 间通信,所述第一服务器配置用于使用第二通信协议进行通信,所述第二通信协议用于在 网络内部以及跨过网络来传输内容和数据,并且其中所述第一服务器不能与所述第二服务 器直接通信,所述系统包括主机系统,配置用于经由所述第二通信协议,从所述第一服务器接收存储在耦合至所 述本地网络的存储设备上的内容的元数据;以及基于来自所述第二服务器的针对与所述元 数据相关联的内容的请求,从所述第一服务器请求与所述元数据相关联的内容。
77.根据权利要求76所述的系统,其中所述主机系统进一步配置用于经由所述第二通信协议,从所述第一服务器接收与所述元数据相关联的内容;标识请求与所述元数据相关联的内容的所述第二服务器;以及经由所述第二通信协议向所述第二服务器传输所请求的内容。
全文摘要
系统和计算机程序产品允许UPnP网络中的呈现器具备呈现静态或者动态特征的一般因特网内容的能力,其中该呈现器并非设计用于以内容的原始数据格式和文件类型来呈现该内容。系统查询本地网络上的全部设备,通过因特网查询特定远程服务器,以及从远程源获取数据馈送。所查询和获取的数据不是呈现器可呈现的格式和文件类型,该数据被加载到模板中,并被转变为呈现器可接受的格式和文件类型。所查询和获取的适当格式和文件类型的数据以定制格式来组织,并且可用于向呈现器呈现。系统具备通过因特网向主管服务传送在本地网络的设备内的内容或者内容的元数据的能力。另外,第二本地网络具有访问存储在第一本地网络上的内容的能力。
文档编号G11B21/08GK101889310SQ200880119534
公开日2010年11月17日 申请日期2008年11月26日 优先权日2007年12月7日
发明者D·加西亚, D·布罗伊德, J·M·哈丁, Y-J·李, 卓少琳, 夏西远, 陶波 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1