用于执行对富媒体内容和服务的动态更新的基于脚本的系统的制作方法

文档序号:7936579阅读:266来源:国知局
专利名称:用于执行对富媒体内容和服务的动态更新的基于脚本的系统的制作方法
技术领域
本发明总体上涉及富媒体内容和服务。更具体地,本发明涉及 独占地通过脚本片段将对富媒体表示内容的动态更新递送到远程终端。
背景技术
本小节意在为权利要求书中记载的发明提供背景或上下文。这 里的描述可能包括那些可执行的概念,但这些概念未必是先前已经 构思或执行的。因此,除非在此指明,否则在本节中描述的内容不 构成相对于本申请的说明书和权利要求书的现有技术,并且将内容 包括在本节中并不意味着该内容是现有技术。
近来,移动设备的能力快速增长,例如,.提高的处理能力,更 大的屏幕显示器以及改进的数字服务。因此,针对富媒体内容和应 用的消费者需求也有所增加,其中富媒体内容和应用诸如可以随时 随地进行递送的点播服务。通常,富媒体内容可以成为这样的内容, 该内容在图形上丰富、并且包含包括图形、文本、视频和/或音频在 内的复合/多个媒体。而且,尽管富媒体是通过单个接口递送的,但 是其可以随着时间动态变化并且能够对用户交互进行响应。
富媒体应用,特别是在Web服务领域中,例如可以包括基于可 扩展标记语言(XML)的内容,诸如^f鼓小可伸缩矢量图形(SVGT) 1.2。 SVGT 1.2表示一种用于以XML来描述二维图形的语言。SVG 可以允许三种类型的图形对象矢量图形形状(例如,包括直线和 曲线的路径),多々某体(诸如,光栅图像、视频、音频等)以及文 本。SVG绘图还可以是交互式的(使用文档对象模型(DOM)事件 模型),也可以是动态的。SVG动画可以通过声明(例如,通过在SVG内容中嵌入SVG动画元素)或通过脚本化来定义和触发,其中 脚本化可以表示对通常进行解释的脚本语言的使用,并且例如可以 从键盘直接键入。与转换为二进制可执行文件的程序不同,脚本可 以保留其原始格式,并且可以在其每次运行时逐条命令地来进行解 释。通过使用访问SVG微文档对象模型(uDOM)的补充脚本语言, 可以实现SVG的复杂应用,由此提供对SVG内容的所有元素、属 性和性质的完全访问。此外,可以为任何SVG图形对象指派事件句 柄的丰富集合。
超文本标记语言(HTML) /可扩展超文本标记语言(XHTML) 是当今运行的所有web浏览器所使用的标准XML语言。 HTML/XHTML提供描述文本内容的布局、样式信息以及结构的技 术,同时还提供了嵌入媒体对象以用于多媒体表示的能力。 HTML/XHTML还可以包括内嵌脚本,用于提供web内容中的交互 性。
此外,复合文档格式(CDF)工作组正在创建CDF语言的建议, CDF语言将单独的组件语言(例如,基于XML的语言)、来自独立 词汇表(诸如,XHTML、 SVG、数学标记语言(MathML)以及同 步多媒体集成语言(SMIL))的元素和属性与用户界面标记的焦点 相组合。在组合用户界面标记时,需要解决单个的标记规范没有解 决的特定问题。这些问题可以包括事件在标记之间的传播,绘制 和/或用户交互模型与组合文档的组合。CDF工作组希望这样来解决 这些类型的问题,即通过将问题分为若干阶段和两个技术方案,例 如通过引用的组合和通过包含的组合。由于其兼容性,CDF可以利 用诸如脚本的特征,其可以在同一 Web页面内同时应用于XHTML 和SVG元素二者。
然而,尽管脚本在移动web内容和平台中得到了广泛支持,但 是目前还没有对以下系统级处的标准机制的支持,该机制用于将脚 本独立于web或者场景内容而递送到终端。换言之,为了使用和执 行脚本,传统的系统需要脚本始终嵌入在web页面内或者从web页面进行引用。而且,脚本无法在稍后独立地发送。应当注意,在这 些传统系统中,脚本元素内的内容被认为是可执行的,并且其形式
为文本内容(例如,ECMAScript或者Python)或者是经编译的代码
(诸如,JAVA JAR文件)。
不论用来递送脚本的一个或多个底层协议如何(例如,超文本 传输协议(HTTP)以及实时传输协议(RTP) /用户数据报协议
(UDP)),当今可用的几乎所有web服务都存在无法独立于web 或者场景内容来递送脚本这一问题。更具体地,该问题在广播服务 的情况下尤为严重,在广播服务中,内容提供者可能希望推送或者 广播脚本,以便更新web页面(或者场景内容),而不希望依赖于 客户端来建立连接并发送针对内容的新请求。而且,该问题在以下 情况中可能是严重的,即,客户端具有完全的控制,并且仅在其希 望接收内容时才调谐到流。这不同于建立点对点连接并且总是维持 与服务器的该连接以便接收更新的客户端。
因此,需要一种语言模型,其支持对可应用于场景的、形式上 为完整脚本片段的场景和更新的递送。而且,需要一种传输层的信 令机制,其允许将脚本应用于原始场景,以作为对更新命令的可行 的备选。此外,还需要一种客户端侧模型,其解释脚本并基于特定 的时间或者事件实例将脚本应用于场景。
目前两个标准化实体正在进行努力,这两个实体即移动图像专 家組(MPEG)-轻量级应用场景表示(LASeR)工作组,以及第三 代合作伙伴计划(3GPP)-动态和交互式多媒体场景(DIMS)工作 组,他们希望指定一种机制,该机制通过使用包括多种操作(例如, 插入、删除、替换和添加)的命令来从服务器远程地更新场景内容。 可以认为这些命令在本质上是声明式的,并且在接收到这些命令之 后可以相应地修改场景中的图形对象。MPEG-LASeR和3GPP-DIMS 标准还解决了可以包括场景或者场景更新命令的多媒体样本和数据 单元的概念,以及用来通过多个载体来携带这些样本的适当传输机 制,诸如移动广播多播服务(MBMS)、分组交换流式传输(PSS)和HTTP。然而,这些标准使用的技术仅仅是专用的,并且受限于用 于更新的基于命令的语法。此外,这些标准没有解决独占地携带过 程代码(例如,用来执行更新的脚本)的可能性的问题。
除了关于上述标准的正在进行的工作之外,标题为"Process for creating dynamic web pages driven from the server side"的美国专利公 开No. 2005/0102611 (在此称为",611公开")定义了一种无需使用 浏览器外接程序或者插件程序来创建服务器驱动的动态web内容的 过程。根据,611公开,与依赖于浏览器侧的插件不同,服务器使用 独立且持久的HTTP连接来向浏览器流式传输命令,这使得动态更 新所显示的web页面。当浏览器请求将从服务器侧动态更新的页面 时,服务器发送HTTP应答,这使得浏览器进行至少两个HTTP请 求。第一请求使得服务器提供显示页面,而第二请求建立独立的 HTTP连接,其充当控制流,以便服务器向浏览器发送命令。命令继 而通过浏览器的DOM来实现,并且使得动态更新所显示的页面。因 此,,611/^开主要关注于HTTP,并且其基于客户端拉回才几制,在此 机制中,客户端进行与服务器的HTTP连接,该连接持久地保持为 打开,以便取回任何更新命令。然而,其无法解决在移动广播场景 (诸如,MBMS以及手持数字视频广播(DVB-H))期间递送更新 的问题,在这些场景中,对流进行广播并且客户端需要与服务器的 显式连接。
标题为 "A method for performing a dynamic update of composed web services"欧洲专利申请No. EP 1688849(此后称为",849申请") 给出了一种方法,用于执行web服务环境中的至少一个复合web服 务的动态更新。该复合web服务依赖于与复合服务的至少一个目标 相链接的一组分量服务。该方法本身包括发布web服务环境的注 册表内的至少一个目标;存储分量服务与注册表中该至少 一个目标 之间的链接;以及在web服务环境中发生任何服务改变的情况下, 动态地更新所述链接。,849申请进一步构想了一种计算机系统、程 序产品和计算机可读介质,用于执行web服务环境中的复合web服务的动态更新,其中关联存储是web服务环境的一部分。因此,,849 申请非常特定于web服务,并且解决了面向服务架构的动态更新, 但是没有解决富媒体内容和服务的移动广播这一 问题。

发明内容
本发明的各种实施方式提供了 一种系统和方法,该系统和方法 用于将包括至少一个脚本的内容递送到客户端设备,而无需将所述 至少一个脚本嵌入web页面或是从web页面引用所迷至少一个脚本。 向客户端设备传送信号,该信号在分組流中携带使用标记语言规定 的、至少包括单个数据单元的多媒体表示。所述单个数据单元包括 场景内容和场景更新中的至少一个,所述场景更新包括场景命令和 脚本片段中的至少一个。
此外,本发明的各种实施方式提供一种框架,以便服务提供者 对脚本进行独占使用以执行场景更新,这不同于仅需要场景更新语 法的传统解决方案(其是基于命令的方法)。应当注意,本发明的 各种实施方式也可以认为是对现有的基于命令的解决方案的补充以 及完全替代。此外,本申请的各种实施方式允许可扩展性。换言之, 可以使用任何类型的脚本语言来创建服务,这提供了更多的选择(例 如,EcmaScript、 Python或者JAVA JAR文件)。还在数据单元报头 中提供了信令机制,用来标识数据单元体中的场景边界以及场景更 新内容,从而支持在客户端侧对内容的快速查找和快速处理。
通过下文结合附图的详细描述,本发明的这些以及其他优点和 特征及其操作的组织和方式将变得易见,其中贯穿下文描述的多幅 附图,类似的元素具有类似的标号。


图l示出了用于与本发明结合使用的通用多媒体通信系统; 图2是可以在本发明的实现中使用的移动电话的透视图; 图3是图2的移动电话的电话电路的示意图;图4A示出了按照本发明一个实施方式的数据单元包; 图4B示出了按照本发明第二实施方式的数据单元包; 图5A示出了按照本发明第三实施方式的数据单元包; 图5B示出了按照本发明第四实施方式的数据单元包;以及 图6示出了按照本发明各种实施方式的用于递送富媒体内容和 服务的端对端系统架构。
具体实施例方式
图1示出了可以在其中使用本发明的系统10,其包括可以通过 网络进行通信的多个通信设备。系统IO可以包括有线网络和无线网 络的任意组合,这些网络包括但不限于移动电话网络、无线局域 网(WLAN)、蓝牙个人区域网络、以太LAN、令牌环LAN、广域 网、因特网等。系统IO可以包括有线通信设备和无线通信设备二者。
为了举例说明,图1中所示的系统10包括移动电话网络11和 因特网28。与因特网28的连接可以包括但不限于长距离无线连接、 短距离无线连接以及各种有线连接,这些有线连接包括但不限于电 话线、电缆线、电力线等等。
系统10的示例性通信设备可以包括但不限于移动设备12、组 合PDA和移动电话14、 PDA 16、集成消息收发设备(IMD) 18、桌 上型计算机20以及笔记本计算机22。通信设备可以是固定的,或者 当被移动中的个人携带时也可以是移动的。通信设备还可以位于交 通工具模式中,这些交通工具包括但不限于汽车、卡车、出租车、 公共汽车、船、飞机、自行车、摩托车等。通信设备的一些或全部
可以通过通往基站24的无线连接25来发送和接收呼叫和消息,并 且通过通往基站24的无线连接25与服务提供商进行通信。基站24 可以连接至网络服务器26,该网络服务器26允许移动电话网络11 和因特网28之间的通信。系统10可以包括附加的通信设备和不同 类型的通信设备。
通信设备可以使用各种传输技术进行通信,这些传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通 用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、 传输控制协议/互联网协议(TCP/IP)、短消息收发服务(SMS)、多 媒体消息收发服务(MMS )、电子邮件、即时消息收发服务(IMS )、 蓝牙、IEEE 802.il等。通信设备可以使用各种介质进行通信,这些 介质包括但不限于,无线电、红外、激光、线缆连接等。
图2和图3示出了本发明可以在其中实现的一个代表性移动设 备12。然而应当理解,无意将本发明限制为一种特定类型的电子设 备。图2和图3的移动设备12包括外壳30、液晶显示器形式的显示 器32、小键盘34、麦克风36、耳机38、电池40、红外端口42、天 线44、根据本发明一个实施方式的UICC形式的智能卡46、读卡器 48、无线电接口电路52、编解码电路54、控制器56以及存储器58。 各个电路和元件可以是本领域7>知的所有类型,例如Nokia范围内 的移动电话系列。
本发明的各种实施方式提供了 一种系统和方法,该系统和方法 支持独占地通过脚本片段,来将针对富媒体表示的动态更新递送至 远程终端。这些脚本片段不仅提供过程和/或可编程代码执行,而且 还通过与DOM应用编程4妄口 (API)的预定义绑定来对XML结构 化语言进行纟喿作。脚本和DOM API的结合可以通过对DOM的文档 树的强大操纵,来提供与结构化表示语言的丰富交互性。
存在很多这样的情况,在这些情况中,远程和动态脚本更新对 于基于表示语言(诸如,HTML和SVG)来递送富媒体服务而言至 关重要。尽管SVG可以将这些应用作为表示框架来支持,但是SVG 缺少在广播信道上通过远程脚本来动态更新SVG内容的能力。
远程和数据脚本更新至关重要的一个此类场景发生在长篇卡通 动画的预览期间。动画预览是一种这样的服务,其允许终端用户渐 进式地下载能够呈现部分动画内容的小脚本片段,而不是一次下载 整个动画。
交互式移动TV (电视)服务包含了远程和数据脚本更新至关重要的另一情形。可以理解,交互式移动TV服务具有如下能力在终 端用户界面中,连同TV和广播频道一起提供富媒体内容(包括音频 -视频内容、文本、图形、图像)的确定性绘制以及行为的能力。这
外,其必须允许来自本地和/或远程位置的同步交互,诸如用于投票 和个性化应用(例如,相关的菜单或子菜单、广告以及与终端用户 简档或者服务订阅有关的内容)。在此上下文中,非常重要的是, 服务提供者能够远程地控制应用的用户界面,这可以通过推送将在 特定时刻执行的完整脚本片段来实现。
另一方面,在线企业数据馈送是这样的服务,其例如包括证券 报价机,用于提供实时报价、具有技术指示符的实时日内图表、新 闻监控、天气提示、图表、商业更新等的流式传输。使用脚本来操 纵此类内容可以对此类服务进行补充。
在线聊天服务是可以使用远程和数据更新的又一领域。此类服 务可以包含在web摄像机、视频频道和/或富媒体博客(blog)服务 中。终端用户可以进行注册,保存其标识信息以及交换消息,其中 消息伴随着终端用户提供的富媒体数据而动态出现在在线聊天服务 中。在线聊天服务可以是私有的,或者同时在一个或多个多通道中 是公共的。可以向终端用户动态地l是示来自其他用户的新消息。应 当注意,可以在不重新载入整个页面的情况下,进行服务内消息的 动态更新。
卡拉OK ( karaoke )服务是采用远程和数据更新的另 一服务。卡 拉OK服务可以包括结合歌曲的歌词来显示音乐TV频道或者视频 剪辑目录,其中在将要演唱的歌词的文本字符上使用类似于流动的 动画(例如,字体颜色的平滑过渡,文字滚动)。此外,终端用户 可以通过选择交互式按钮来下载他选择的歌曲以及完整的动画。
基于富媒体的游戏是面向娱乐的服务,其允许为了娱乐目的而 使用脚本将多媒体内容与某些游戏逻辑一起呈现。游戏内字符的位 置和游戏模型可以经由从游戏服务器推送的脚本片段来动态地改
15变。
在3GPP-DIMS和开放移动联盟-富媒体环境(OMA-RME)中目 前正在制定的富媒体应用的上下文中,存在媒体样本或者数据访问 单元的概念,其可以由完整的、格式良好的SVG文档的场景组成, 或者由可以用来对原始场景进行更新操作的场景命令组成。应当注 意,场景更新/更新操作可以使用对当前会话中的场景进行改变的一 组或者多组差异。此外,还可以将这些样本(例如,包场景和多个 场景更新)合并到单个包中。这些数据单元可以在常规处理中使用, 或者可以用于修复处理的目的,其中,当需要修复数据单元来充当 随机访问点(RAP)时,可以将其标记/标识为随机访问点。备选地, 可以将数据单元标记为"修复"数据单元,以指示在调谐情况下 或者出于错误恢复的目的,可以使用特定的数据单元来修复客户端。 下面是样本dData单元的示例,其包含场景,随后是声明式场景 更新,二者都在单个样本/访问单元内。在这种情况下,对样本的场 景片段进行解析、初始化以及绘制在适当的显示器上。 一旦处理了 场景,就处理了场景更新片段并将其应用于当前场景,其中场景的 语法可以表达如下
<svg id="root" width-"12cm" height="4ciB" viewBox-"0 0 1200 400" xmlIlS-"http:〃w■ww,w3,org/2000/svg', version-" 1.2"
baseProfik="tky"> <desc>ExamplercGt01 - rcctang!e with sharp corners々desO
<!-- Show outline of canvas using 'red' element —> <rect x="l" y='T' width-"l 198" hdght="398"-
fil-"none" strokeb"b]ue" stroke-width="2"/>. <rect x-"400" y="100" w化tbf"400" 3beight="20Q"
fD="yelow" stroke-"navy', stroke-widths" 1Q" 5/svg>
继而,场景更新(例如,命令)的语法可以表达如下<Insert ref-"roof'>
<g id="myGroup" visibility=,Tiiddai7> <yinsert>
<Insert reP="myGroup">
<rect ;d-"myRect,' MN"red"x-"lO y="10" width="5(Theighu="5C)"/> </Insert>
图4和图5从封包或者传输层的角度示出了使用单个媒体样本/ 数据单元来包含场景以及场景更新的这一概念。图4A中所示的样本 /数据单元的部分400可以包含媒体单元报头,可以将该媒体单元报 头认为是数据单元报头。部分410可以包含完整的场景,而部分420 可以包含场景更新信息,例如一个或多个场景命令。部分410和420 合起来可以认为是数据单元体。
本发明的各种实施方式进一步扩展这一概念,其中独占地通过 使用过程代码或者脚本(例如,ECMAScript)而不是声明性内容来 描述对场景的更新,这在概念上以及技术上得到了相同的场景DOM 和可视化表示。下面的示例示出了通过将上文示例中的场景更新命 令替换为ECMAScript代码而进行了扩展的概念。应当注意, ECMAScript通过绑定来使用对DOM API的调用。这种技术提供了 更多的灵活性,因为可以利用不同的脚本语言来设计更新。此外, 不需要专门的解析器来解释场景更新命令,也无需将系统限于使用 一种特定的更新语法。
按照本发明各种实施方式的场景语法可以表达如下<svg icH"root".)vidth;"12cm" hsigh1p"4Qm" .view3ox:"Q 0 1200 400"
xmln$="http:〃www.w3.org/2000/svg" yersion亍"l .2" baseProfile-"liny"〉 <desc>Exainple rect01 - rectangle with sharp comers</desc> <!— Show outline of panyas using 'rect' element —>-<rect x ="r y=" 1" .widtb=Ml 198" height="398"
fill-"none" stroke-"blue" stroke-width="27> <rect x="400" y="100" wi她-"宿'height="200" fil〗="yellow" stroke "navy" stroke-width-" 10" /> </svg>
继而,可以利用以下语法来表示场景更新(例如,脚本片段) var root = documentgetDocumetEl咖eiit()';
var myGroup = document creaffilementNS(http:〃www.w3.org/2000/svg, "group"); niyGroup.setld('^myGnmp,,); 迈yGroup.set丁rait("visibility", '1iiddca"); root.卿end Cbdkl(myGroup);
var myRect= document:,creatBkmentNS0ittp:〃www,w3.org/2000/svg, ,,rect");
myRect.setld("myRecf,);
var color = root.createRGBCoIor( 255, 0,'0);
myRectse汰GBColorTrait('别",co〗or);
myRect,se飾atTrait("x", 10);
rayRect.setFIoatTrait("y", 10);
myRectsetFloatTrait("width", 50);
myRectsetFloatTrait("width", 10);
root.irisertBefore(inyRect, null);
备选i也,可以4吏用<script type="application/ecmascript"> ... 々script〉语法来利用XML符号指定脚本片段,其中场景可以表达如 下<svg id="root" width^"12cm" heigh,"4cfn" VieWBox-"O 0 1-200 400"
乂1111〗15=''1卿〃¥/萌.\^3,0^2000^运,'version="1.2" baseProfile="tiny">.
<desc>Exampe rectOl - rectangle witli sharp comers</desc> <!-- Show outline of canvas using 'rect' dement.—> <rect x=T y="l" wi她-"l 198" height="398"
fil^"noiie'1 stroke="bue" stroke-width=="2"A> <rectx="400"产"100" width="400" helght=,,200"
fUl="yel〗ow" stroke-"navy" s加ke-wi她-"lO" /> </svg>
继而,脚本片^殳可以描述如下
<script type=,,a|)plicati(ra/ecniascript>
var root = doc,ent.getDocumetElement();
var myGroup = docunieiitcreaffilemeiitNS(http:〃www. w3.org/2000/svg, "group"); myGroup,setId("myGroup"); rayGroup.setTrait("vis]'bility", "hidden"; root, a卯endChild(myGroup);
var myRect= document.creatElementNS(http:〃www,w3.org/2000/svg, "reef*);
niyRectsetld("tnyRecf,);
var co〗or = rootcreateRGBColor( 255, 0,0);
m沐ect.s改RGBCoIorTrait("fiir,,油r);
myRect.seffloatTrait(":x", 10);
myRect.setFloatTrait("y", 10);
myRect,setFlo atTrait("width", 5 0);
m沐ect,setFloatTrait("wi她",10);
ro'oUnsalBefo3ie(myRectj nujl);
</script>
图4B在封包或者传输级别示出了使用数据单元体中的脚本片 段来执行对场景的更新的本发明的各种实施方式。部分400可以是 媒体单元报头,可以认为该媒体单元报头是数据单元报头。可以认为部分410是场景信息。可以认为部分430是脚本片段。部分410 和430可以包括数据单元体。应当注意,备选地,可以i"又包含场景 或者场景更新,场景更新例如在数据单元体中包括命令或者脚本片 段。例如,图5A示出了本发明的另一实施方式,其中部分400可以 是媒体单元报头,该媒体单元报头可被认为是数据单元报头。可以 认为部分410是场景信息,由此包括数据单元体。图5B示出了本发 明的另一实施方式,其中部分400同样是媒体单元才艮头,该媒体单 元报头可被认为是数据单元报头。然而,与图5A所示的实施方式相 反,部分430可被认为是包括数据单元体的脚本片段。
如上所述,数据单元包含报头,用于指示数据单元体是用于常 规处理还是用于修复,用于指示优先级(高或者低),用于指示所 使用的压缩,或者数据单元是否充当RAP以便客户端进行调谐或用 于错误恢复目的。然而,关于数据单元是仅包含场景、仅包含场景 更新还是包含场景和场景更新的组合的信息,包括特定类型的数据 单元的长度,可以辅助对数据单元的处理。这种信息可以允许接收 客户端确定需要将数据单元的哪些部分分派给场景处理器/管理器或 者场景更新处理器/管理器。因此,本发明的各种实施方式允许按如 下方式在数据单元报头中为每个数据单元信令该信息 Data imW 3eader(
Bits(2) data unit order; Bits(l) scene update type; B YTE(2): scene length; BYTE(l) scene update length; .}
当然,数据单元体可以包含关于场景、场景更新或其某些组合的信 自-.Data unrtBody(
数据单元顺序可以是两比特的指示符,其表示数据单元体中的 数据结构的顺序。"0"可以用来表示数据单元体中仅包含场景。"1" 可以表示数据单元体中仅包括场景命令/更新。"2"可以表示数据单 元体中包括场景以及随后的场景命令/更新。"3"可以表示数据单元 体中包括场景更新/命令以及随后的场景。应当注意,可以使用备选 的编号方案以及更多或者更少的比特来定义具体的表示。
场景更新类型可以包括单个比特的指示符,用以表示数据单元 体中存在的场景更新的类型,其中"0"可以表示场景更新命令,而 "1"可以表示脚本片段。依次地,场景长度可以包括两字节的信息, 其按照网络字节顺序来指示数据单元体中的场景内容的长度。场景 更新长度可以包括单个字节的信息,其按照网络字节顺序来指示数 据单元体中的场景更新内容的长度。应当注意,可以使用备选的编
号方案以及更多或者更少的比特和/或字节来定义具体的表示。
按照上述方式定义结构,使得能够在所有可能的情形中使用脚 本;特别是在无错的常规处理的情况下以及修复的情况下(包括调 谐和错误恢复)使用脚本。脚本还可以用作RAP,当执行该RAP时, 其将使得客户端能够达到稳定状态。
图6示出了一个图示,其给出了按照本发明各种实施方式的用 于递送富媒体内容和服务的端对端系统架构600,其示出了服务器/ 客户端、应用层和传输层角度。富媒体内容生成模块602例如可以 生成场景、场景更新命令以及脚本,其从服务器侧应用层传输至服 务器层传输层中的压缩/封包/RTP分组化模块604。从压缩/封包/RTP 分组化模块604,富媒体内容可以传送至传输机制模块606。传输机 制模块606可以使用各种传输机制,包括但不限于单播、多播、 广播下载以及流式传输协议。
21传输机制模块606还通过将富媒体内容传输至客户端侧传输层
的解压缩/去分组化/解包模块608,从而充当系统600的服务器侧与 客户端侧之间的连接。解压缩/去分组化/解包模块608将富媒体内容 发送至客户端侧应用层中的富媒体客户端610。取决于该富媒体内容 是否包括如上所述的在一个或多个数据单元中捕获的场景信息和/或 场景更新信息,解压缩/去分组化/解包模块608可以使用场景分派器 接口 613和/或场景更新分派器接口 615。场景分派器接口 613可以 用来将场景内容传输至场景管理器614,其中场景管理器614可以是 富媒体客户端610的一部分。换言之,场景分派器接口 613负责将 场景内容从传输层提取并分派给场景管理器614,场景管理器614 继而负责加载和显示场景内容。
场景更新分派器接口 615可以用来将场景更新内容传输至场景 更新管理器612,其中场景更新管理器612继而同样可以是富媒体客 户端610的一部分。也即,场景更新分派器接口 615负责从传输层 中的数据单元中提取场景更新,并将其分派给场景更新管理器。如 上所述,可以存在两类场景更新,也即,场景命令和脚本片段。分 派器可以负责向用于管理场景更新的场景更新管理器612指示适当 的场景更新类型,以确保其在给定的时间或者事件实例处应用于场 景。除了负责管理场景更新(包括将场景更新解析和应用到场景) 之外,场景更新管理器612包括场景命令处理器616和脚本引擎618,
二者都用来执行对场景内容的动态更新。为了操纵场景内容,使用 uDOM API接口 617。这是对于场景更新管理器612可用并用于执行 对场景的更新操作的公共API。如上所述,更新内容可以通过场景命 令的形式或者通过脚本片段的形式。
本发明的各种实施方式提供了一种框架,以便服务提供者对脚 本进行独占式使用以执行场景更新,这不同于仅需要场景更新语法 的传统解决方案(其是基于命令的方法)。应当注意,本发明的各 种实施方式也可以被认为是对现有基于命令的解决方案的补充,以 及完全的替代。而且,本发明的各种实施方式允许可扩展性。换言之,可以使用任何类型的脚本语言来创建服务,这提供了更多的选
择(例如,EcmaScript、 Phthon或者JAVA JAR文件)。还在数据单 元报头中提供了信令机制,用来标识数据单元体中的场景边界以及 场景更新内容,从而支持在客户端侧对内容的快速查找和快速处理。
本发明是在方法步骤的一般上下文中描述的,在一个实施方式 中,可以通过包括由联网环境中的计算机执行的计算机可执行指令 (诸如程序代码)的程序产品来实现本发明。计算机可读介质可以 包括可移动的以及不可移动的存储设备,存储设备包括但不限于 只读存储器(ROM)、随机访问存储器(RAM)、压缩盘(CD)、 数字通用盘(DVD)等。 一般地,程序模块包括执行特定任务或者 实现特定的抽象数据类型的例行程序、程序、对象、组件、数据结 构等。计算机可执行指令、关联的数据结构以及程序模块代表了用 于执行在此公开的方法步骤的程序代码的示例。这种可执行指令或 者相关联的数据结构的特定顺序代表了用于实现在这些步骤中描述 的功能的相应动作的示例。
可以通过标准编程技术来实现本发明的软件和web实现,其中 标准编程技术具有基于规则的逻辑或者其他逻辑,以实现各种数据 库搜索步骤、相关步骤、比较步骤和决策步骤。应当注意,这里和 权利要求中使用的词语"组件"和"模块"意在涵盖使用一行或多 行软件代码和/或硬件实现和/或用于接收手工输入的装置的实现。
出于说明和描述的目的,已经给出了对本发明实施方式的上述 描述。该描述并非意在穷举或是将本发明限于所公开的精确形式, 并且根据上述教导可以进行修改和变形,或者可以在对本发明的实 践中获得修改和变形。挑选和描述实施方式是为了解释本发明的原 理及其实践应用,以便使本领域的技术人员能够在各种实施方式中 以及利用适于构思的特定用途的各种变形来使用本发明。在此描述 的实施方式的特征可以结合在方法、装置、计算机程序产品和系统 的所有可能的组合中。
2权利要求
1.一种方法,用于递送包括至少一个脚本的内容,而无需在web页面内嵌入所述至少一个脚本或是从所述web页面引用所述至少一个脚本,所述方法包括传输信号,所述信号在分组流内携带多媒体表示,所述多媒体表示是使用标记语言规定的并且包括至少一个单个数据单元;其中所述单个数据单元包括场景内容和场景更新中的至少一个,所述场景更新包括以下中的至少一个至少一个场景命令和至少一个脚本片段。
2. 如权利要求l的方法,还包括经由场景分派器接口将所述 场景内容传输至客户端设备的场景管理器。
3. 如权利要求l的方法,还包括经由场景更新分派器接口将 所述场景更新传输至客户端设备的场景更新管理器。
4. 如权利要求l的方法,还包括经由微文档对象模型应用编 程接口,使用所述场景更新来操纵所述场景内容。
5. 如权利要求l的方法,其中所述至少一个脚本片段通过对文 档对象模型应用编程接口的预定义绑定,来提供以下中的至少 一 个 过程代码执行、可编程代码执行以及对可扩展标记语言的才乘作。
6. 如权利要求l的方法,其中所述多媒体表示基于至少一个表 示语言,所述表示语言包括标记语言和可伸缩矢量图形语言中的至 少一个。
7. 如权利要求l的方法,其中所述多媒体表示包括以下中的至 少一个动画预览服务,交互式电视服务,在线企业数据馈送,在 线聊天服务,卡拉OK服务,以及基于富媒体的游戏服务。
8. 如权利要求l的方法,其中使用以下之一来规定所述至少一 个脚本片革殳ECMAscript代码,Python代码,Java代码,Java存档 文件,以及可扩展标记语言。
9. 如权利要求8的方法,其中脚本语言包括以下之一ECMAscript代码,Python代码,Java代码,Java存档文件以及可扩 展标记语言,所述脚本语言由类型字符串来标识。
10. 如权利要求9的方法,其中所述类型字符串包括所述至少一 个脚本片段的属性,并且其中执行所述至少一个脚本片段更新所述 场景内容。
11. 如权利要求1的方法,其中所述单个数据单元包括报头和体。
12. 如权利要求ll的方法,其中所述才艮头包括以下中的至少一 个数据集顺序指示符,场景更新类型指示符,场景长度指示符, 以及场景更新长度指示符。
13. 如权利要求12的方法,其中所述场景更新类型指示符指示 所述场景更新是否包括以下中的至少一个所述至少一个场景命令, 以及所述至少一个脚本片^:。
14. 如权利要求ll的方法,还包括使用所述报头来确定所述 单个数据单元中的哪些部分将要分派给场景管理器和场景更新管理器中的至少一个。
15. —种装置,包括 处理器;以及存储器单元,其可操作地连接至所述处理器,并且包括计算机代码,用于传输信号,以便递送包括至少一个脚本的内容,而无需在web页面内嵌入所述至少一个脚本或是从所述web页面引用所述至少一个脚本,所述信号在分组流内携带多媒体表示,所述多媒体表示是使用标记语言规定的并且包括至 少一个单个数据单元;其中所述单个数据单元包括场景内容和场景更新中的至少 一个,所述场景更新包括以下中的至少一个至少一个场景命 令和至少一个脚本片段。
16. 如权利要求15的装置,其中所述存储器单元还包括计算 机代码,用于经由场景分派器接口将所述场景内容传输至客户端设 备的场景管理器。
17. 如权利要求15的装置,其中所述存储器单元还包括计算 机代码,用于经由场景更新分派器接口将所述场景更新传输至客户 端设备的场景更新管理器。
18. 如权利要求15的装置,其中所述存储器单元还包括计算 机代码,用于经由微文档对象模型应用编程接口 ,使用所述场景更 新来操纵所述场景内容。
19. 如权利要求15的装置,其中所述至少一个脚本片段通过对 文档对象模型应用编程接口的预定义绑定,来提供以下中的至少一 个过程代码执行、可编程代码执行以及对可扩展标记语言的操作。
20. 如权利要求15的装置,其中利用由类型字符串标识的脚本 语言来表达所述至少一个脚本片段。
21. 如权利要求20的装置,其中所述类型字符串包括所述至少 一个脚本片段的属性,并且其中执行所述至少一个脚本片段更新所 述场景内容。
22. 如权利要求15的装置,其中所述单个数据单元包括报头和体。
23. 如权利要求22的装置,其中所述报头包括以下中的至少一 个数据集顺序指示符,场景更新类型指示符,场景长度指示符, 以及场景更新长度指示符。
24. 如权利要求23的装置,其中所述场景更新类型指示符指示 所述场景更新是否包括以下中的至少一个所述至少一个场景命令, 以及所述至少一个脚本片段。
25. —种设备,用于递送包括至少一个脚本的内容,而无需在 web页面内嵌入所述至少一个脚本或是从所述web页面引用所述至 少一个脚本,包括 用于传输信号的装置,所述信号在分组流内携带多媒体表示,所 述多媒体表示是使用标记语言规定的并且包括至少一个单个数据单元;其中所述单个数据单元包括场景内容和场景更新中的至少 一个,所述场景更新包括以下中的至少一个至少一个场景命令和至少一 个脚本片段。
26. 如权利要求25的设备,其中所述至少一个脚本片段通过对 文档对象模型应用编程接口的预定义绑定,来提供以下中的至少一 个过程代码执行、可编程代码执行以及对可扩展标记语言的操作。
27. 如权利要求26的设备,利用由类型字符串标识的脚本语言 来表达所述至少一个脚本片段。
28. —种包含在计算机可读介质上的计算机程序产品,用于递送 包括至少一个脚本的内容,而无需在web页面内嵌入所述至少一个 脚本或是从所述web页面引用所述至少一个脚本,所述计算机程序 产品包括用于传输信号的计算机代码,所述信号在分组流内携带多媒体表 示,所述多媒体表示是使用标记语言规定的并且包括至少一个单个 数据单元;其中所述单个数据单元包括场景内容和场景更新中的至少一个, 所述场景更新包括以下中的至少一个至少 一个场景命令和至少一 个脚本片段。
29. 如权利要求28的计算机程序产品,还包括经由场景分派 器接口将所述场景内容传输至客户端设备的场景管理器。
30. 如权利要求28的计算机程序产品,还包括经由场景更新 分派器接口将所述场景更新传输至客户端设备的场景更新管理器。
31. 如权利要求28的计算机程序产品,还包括经由微文档对 象模型应用编程接口 ,使用所述场景更新来操纵所述场景内容。
32. 如权利要求28的计算机程序产品,其中所述至少一个脚本 片段通过对文档对象模型应用编程接口的预定义绑定,来提供以下 中的至少一个过程代码执行、可编程代码l丸行以及对可扩展标记 语言的操作。
33. 如权利要求28的计算机程序产品,其中利用由类型字符串 标识的脚本语言来表达所述至少 一 个脚本片段。
34. 如权利要求33的计算机程序产品,其中所述类型字符串包 括所述至少一个脚本片段的属性,并且其中执行所述至少一个脚本 片段更新所述场景内容。
35. 如权利要求28的计算机程序产品,其中所述单个数据单元 包括报头和体。
36. 如权利要求35的计算机程序产品,还包括使用所述报头 来确定所述单个数据集中的哪些部分将要分派给场景管理器和场景 更新管理器中的至少一个。
37. —种系统,包括客户端设备,其配置用于接收包括至少一个脚本的内容,而无需 在web页面内嵌入所述至少一个脚本或是从所述web页面引用所述 至少一个脚本;服务器,其配置用于生成所述内容,所述内容还包括至少一个场景内容和至少一 个场景更新;以及向封包模块传送信号,所述封包模块配置用于以下中的至少 一个对所述内容进行压缩、封包和分组化,所述信号在分组 流内携带多媒体表示,所述多媒体表示是使用标记语言规定的 并且包括至少一个单个数据单元,其中所述单个数据单元包括 场景内容和场景更新中的至少一个,所述场景更新包括以下中 的至少一个至少一个场景命令和至少一个脚本片段; 传输机制模块,其配置用于接收所述单个数据单元,并将所述 单个数据单元传输至解包模块,所述解包模块配置用于以下中的至少一个对所述单个数据单元进行解压缩、去分组化以及解包; 场景分派器接口 ,其配置用于将所述场景内容传输至包括在所述客户端设备内的场景管理器;场景更新分派器接口 ,其配置用于将所述场景更新内容传输至包括在所述客户端设备内的场景更新管理器,并且经由微文档对象模型应用编程接口来操纵所述场景内容。
38. 如权利要求37的系统,其中所述单个数据单元包括报头和体。
39. 如权利要求38的系统,其中所述报头包括以下中的至少一 个数据集顺序指示符,场景更新类型指示符,场景长度指示符, 以及场景更新长度指示符。
40. 如权利要求39的系统,其中所述场景更新类型指示符指示 所述场景更新是否包括以下中的至少一个所述至少一个场景命令, 以及所述至少 一个脚本片段。
41. 如权利要求38的系统,其中所述客户端设备使用所述报头 来确定所述单个数据单元中的哪些部分将要分派给场景管理器和场 景更新管理器中的至少一个。
42. 如权利要求37的系统,其中利用由类型字符串标识的脚本 语言来表达所述至少一个脚本片段。
43. 如权利要求42的系统,其中所述类型字符串包括所述至少 一个脚本片段的属性,并且其中执行所述至少一个脚本片段更新所 述场景内容。
全文摘要
提供了一种系统和方法,用于将包括至少一个脚本的内容递送给客户端设备,而无需在web页面内嵌入所述至少一个脚本或是从所述web页面引用所述至少一个脚本。将信号传输至客户端设备,所述信号在分组流内携带多媒体表示,所述多媒体表示是使用标记语言规定的并且包括至少一个单个数据单元。所述单个数据单元包括场景内容和场景更新中的至少一个,所述场景更新包括场景命令和脚本片段中的至少一个。
文档编号H04L29/06GK101627607SQ200880004299
公开日2010年1月13日 申请日期2008年2月25日 优先权日2007年2月26日
发明者S·奇图里 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1