CN102870428B - Iptv终端中的方法和装置 - Google Patents
Iptv终端中的方法和装置 Download PDFInfo
- Publication number
- CN102870428B CN102870428B CN201180018230.5A CN201180018230A CN102870428B CN 102870428 B CN102870428 B CN 102870428B CN 201180018230 A CN201180018230 A CN 201180018230A CN 102870428 B CN102870428 B CN 102870428B
- Authority
- CN
- China
- Prior art keywords
- application
- event
- manager
- package
- framework
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/543—Local
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种方法和一种万维网引擎。根据本发明的第一方面,提供了配置用于诸如STB(机顶盒)等ITF(IPTV终端功能)的万维网引擎,万维网引擎包括与使能显示应用的API相关联的应用框架。应用框架包括用于存储至少两个应用的存储器,其中,应用相对于彼此以分层树结构布置。应用框架还包括应用管理器,包括用于接收例如按键等事件的接收单元和用于控制调度的控制器。控制器可包括用于封包和解封事件的事件封包器和用于将封包的事件通过应用树向下传送的调度器。对于每个应用节点(根节点也是同样),应用管理器配置成确定事件是否应由当前应用处理。
Description
相关申请
本申请要求2010年4月9日提交的美国临时专利申请61/322444的优先权,该申请通过引用结合于本文中。
技术领域
本发明的实施例涉及IPTV(因特网协议电视)终端中的事件管理,并且具体地说,涉及在IPTV装置中可用的应用对事件的处理。
背景技术
对IPTV提供商提供可扩展解决方案的需求在增大,其中,最终用户未被限定到有限的特征集,而是能够结合传统TV服务下载和运行新应用。
对于在IPTV解决方案中使用的万维网应用,主要现存技术是W3C小工具,它定义用于也称为小工具的万维网应用的封装和输送方法及登录小工具的机制。
应用框架在客户端侧上运行,并且负责小工具的加载,管理和布局。W3C(万维网联盟)小工具规范未定义小工具执行的应用/小工具框架。相反,不同的细分市场已为适合其特定细分市场的小工具执行定义了其自己的应用管理器。
在传统应用模型中,在显示栈的顶部的应用是焦点应用,并且接收来自用户的输入事件。这例如能够在基于Windows的PC上看到,应用(程序)在PC桌面的矩形区域向用户显示。在上面显示的应用是焦点应用,并且因此接收所有输入事件,例如,键和鼠标事件。
在适用于IPTV的应用模型中,要求稍有不同。预期应用以类似的方式布局,但不希望最上面的应用始终接收所有输入事件。例如,考虑显示广播的TV频道,在TV上全屏显示的应用。在此应用的上面是在屏幕的小区域中显示的天气小工具。天气小工具在处于焦点中时对按向左/向右键做出反应,但即使它是在焦点中,基础广播应用也必须能够对按向上/向下键做出反应,这是因为它们用于频道转换,并且用户预期频道转换始终有效。
发明内容
因此,最好是实现适用于IPTV解决方案的事件截接,这暗示着允许焦点应用外的其它应用截接事件。
为实现适用于IPTV解决方案的事件截接,本发明的实施例引入了允许焦点应用外的其它应用截接事件的概念。
根据本发明的实施例,事件截接通过事件封包实现。应用框架可使用基于DOM的模型来构建框架中的所有应用。此基于DOM的模型使用基于DOM事件的模型以便处理在整个事件模型中的事件。由于IPTV解决方案中的例如按键事件等特定事件始终以可能不是焦点应用的特定应用为目标,因此,特定事件必须可由目标特定应用识别但仍可作为普通事件处理。为实现此操作,根据本发明的实施例,引入了事件封包。在以特定应用为目标的事件在应用模型中发生时,应用管理器在eventWrapper结构中封包事件,并且通过事件模型调度它。在它到达目标特定应用时,如进一步解释的一样,它被解封并且原事件调度在目标上。
特定应用识别预期用于所述特定应用的事件,并且识别的事件因此应不象在现有技术中一样继续到焦点应用。通过引入事件封包,DOM事件模型扩展到在多文档(即,多应用)情形中适用。这意味着来自DOM事件的所有惯例也在多应用环境中变得有用。这些惯例从特征角度而言(应用控制允许其子应用处理的事件类型的能力、多个应用共享事件的能力等)和从实现角度而言(象浏览器等已经包含对DOM事件的支持并且可在支持应用框架时再使用此支持的万维网技术用户代理器)对于应用环境均是十分有用的。
本发明的实施例有关的目的因此是即使某个应用不是焦点应用,也使得事件能够由该应用处理。
根据第一方面,这由配置用于ITF的万维网引擎中的方法实现,万维网引擎包括与使能显示应用的API相关联的应用框架。在方法中,存储至少两个应用,其中,应用相对于彼此以分层树结构布置。接收以至少一个应用为目标的事件,该应用也称为目标应用。方法还包括以至少一个应用为目标的接收事件的调度的控制。这暗示着不是焦点应用的应用能够接收和处理事件。控制还包括调度接收事件到目标应用,并且为每个应用确定事件是否应由当前应用处理,并且如果它应被处理,则方法包括为当前应用处理事件,并且如果它不应被处理,则方法包括调度事件到分层树结构中的随后应用。
根据一个实施例,控制还包括在调度前将事件封包,并且事件随后在处理前被解封。
根据本发明的一个实施例,通过查看事件并且检查事件在当前应用上是否适用,来执行为每个应用确定封包的事件是否应由当前应用处理。备选,确定由应用管理器执行。
实施例的目的还根据第二方面由配置用于ITF的万维网引擎实现,万维网引擎包括与使能显示应用的API相关联的应用框架。应用框架包括用于存储至少两个应用的存储器,其中,应用相对于彼此以分层树结构布置。应用管理器包括用于接收以至少一个应用为目标的事件的接收器和用于控制以至少一个应用为目标的事件的调度的控制器。应用管理器还包括用于向目标应用调度接收事件的调度器,并且控制器还配置成为每个应用确定接收事件是否应由当前应用处理。
根据本发明的一实施例,控制器包括用于封包和解封接收事件的事件封包器。
根据又一实施例,控制器还配置成查看事件并且检查事件在当前应用上是否适用以确定事件是否应由当前应用处理。备选,应用管理器还配置成存储哪个应用是事件的目标应用的信息。
此外,根据一实施例,应用框架配置成使用基于文档对象模型DOM的模型来构建应用,并且ITF可以是机顶盒、移动终端或PC的任何之一。
本发明的实施例有关的优点是它允许在应用之间的共存方面比在现有应用框架中可用内容方面有更大的灵活性。此灵活性在IPTV应用环境中是至关重要的。
附图说明
图 1示出根据本发明的实施例的应用模型和利益相关者优先级的示例。
图 2示出根据本发明的实施例的应用框架。
图 3示出根据本发明的实施例在应用管理器中加载单个文件/文档时的应用模型。
图 4示出根据本发明的实施例在右侧的在应用管理器中加载多个应用时的应用模型和在左侧的应用模型的可视化。
图 5示出根据本发明的实施例在应用模型中的DOM俘获气泡阶段。
图 6示出显示广播的Tv频道的TV应用。
图 7示出根据本发明的实施例的事件封包。
图 8 和 9示出根据本发明的实施例的装置。
图 10是本发明的一实施例的流程图。
具体实施方式
下面将参照示出本发明的实施例的附图,更全面地描述本发明的实施例。然而,本发明的实施例可以许多不同的形式实施,并且不应视为限于本文所述的实施例;相反,这些实施例的提供使得此公开将是全面和完整的,并且将本发明的范围全面传达给本领域的技术人员。在图形中,类似的标号表示类似的单元。
另外,本领域的技术人员将理解,本文下面所述的部件和功能可使用结合按照程序工作的微处理器或通用计算机起作用的软件和/或使用专用集成电路(ASIC)实现。也将理解,虽然当前实施例主要以方法和装置的形式描述,但实施例也可在计算机程序产品中及在包括计算机处理器和耦合到处理器的存储器的系统中实施,其中存储器编码有可执行本文公开功能的一个或多个程序。
本发明的实施例概括定义适用于W3C小工具和万维网应用的应用框架。此外,本发明的实施例设计为可轻松扩展以满足将来要求,并且也能够用于TV环境外的其它环境。
OIPF(开放IPTV论坛)DAE(声明型应用环境)规范v.1.1规范包含应用管理器和对应应用模型的定义。OIPF中也有在进行的工作项以添加W3C小工具支持到DAE应用模型。本发明的实施例部分与DAE应用模型一致。然而,能够注意到一个主要的差别:
DAE中的应用管理器只显露应用的扁平列表。然而,在本发明的实施例中,应用布置在分层树模型中,并且树模型直接显露于应用。这暗示着实施例与每个用户代理器已经支持的DOM(文档对象模型)模型一致,并且它也使得基于DOM的事件模型可能用于功能强大并且与现有万维网标准兼容的应用。DOM是用于表示在HTML、XHTML和XML文档中的对象和与其交互的跨平台和语言无关的协定。DOM的方面(如其“元素”)可在使用的编程语言的语法内处理和操控。DOM的公共接口在其应用编程接口(API)中指定。
术语和定义:
应用编程接口(API)是由软件程序为使能与其它软件的交互而实现的接口,类似于用户接口促进人与计算机之间交互的方式。API由应用、库和操作系统实现,以确定程序员应该采用以使用其服务的词汇和调用协定。它可包括用于在API接口的消费者与实现者之间进行通信的例程、数据结构、对象类、协议的规范,其使得万维网应用能够得到平台上本机实现的功能性。
万维网引擎是本机组件,万维网应用在其中执行。万维网浏览器是万维网引擎的典型示例。
应用框架是用于管理和显示万维网应用和小工具的整个客户端侧环境。因此,万维网应用一般被视为包括基于DOM的标记格式与浏览器支持语言的组合,一般为一个SVG或HTML文档/文件与JavaScript代码。此外,在软件工程中,万维网应用是通过诸如因特网或内部网等网络经万维网浏览器访问的应用。术语万维网应用也可意味着在浏览器控制环境(例如,Java
applet)中托管或以浏览器支持的语言(如JavaScript,与象HTML等浏览器渲染标记语言组合)编码并且依赖常见万维网浏览器使应用可执行的计算机软件应用。
小工具在W3C小工具规范系列中定义。基本上,小工具能够视为带有可下载并在客户端侧本地存储的定义封装方案的万维网应用。小工具因此适用于在线和离线执行。在此描述的范围中,小工具定义扩展到指出小工具是万维网应用的专用化,即,它具有万维网应用的所有属性和W3C定义的小工具行为。然而,小工具能够在装置上安装(本地存储),不加载到应用框架中,而应用从远程位置直接加载到框架中(无本地存储应用的方式)。
要注意的是,虽然小工具鉴于其属性适合在UA(用户代理器)中本地存储(安装),但没有必须安装小工具的要求。用户代理器例如可具有阻止其在本地存储小工具的存储限定,但仍可允许小工具执行。从这个意义上来说,小工具会表现得完全象万维网应用一样,但仍受小工具特定属性影响。
在本说明书的上下文中,应用被视为是由应用管理器管理并依附于本说明书中定义的接口和机制的万维网应用或小工具。要注意的是,此说明书以此类方式编写,使得万维网应用(例如,基本HTML页面)或小工具能够充当应用而无需在万维网应用/小工具的标记或javascript代码中进行任何修改。
因此,在本说明书通篇中,术语“应用”用于万维网应用和小工具两者。术语小工具只在明确论述的是应用的小工具专用化时使用。
应用管理器是控制应用的布局和管理的机制。应用管理器由平台提供商控制。
用户代理器(UA)是也可在此说明书适用的范围内称为小工具用户代理器的实现。在IPTV段中的用户代理器经常称为ITF(IPTV终端功能);然而,在本说明书通篇中使用更普遍的术语UA。
根据本发明的实施例,下面定义了不同的利益相关者,并且定义了用于利益相关者控制的模型。在图 1中示出了用于利益相关者控制的模型。
平台利益相关者是平台的提供商,一般是STB或TV设备的提供商。平台利益相关者有兴趣控制应用以便使应用布局与平台的本机用户体验(UX)一致。作为一个示例,TV设备提供商X可希望在与TV的本机观感一致的菜单中显示可用小工具,而与在特定时间点可能运行的服务无关。
服务利益相关者是服务的提供商,一般是提供TV服务到其订户的运营商。运营商有兴趣提供其自己的服务UX(用户体验),并且尽可能多地隐藏本机UX。这包括提供应用控制为服务UX的集成部分的能力。例如,TV服务提供商Y可希望在服务提供商的门户中集成的菜单中显示可用小工具。
应用利益相关者是特定应用的提供商。应用利益相关者可有兴趣控制来自本身内的其它应用,例如以显示来自相同应用提供商的应用列表。
定义的利益相关者以如下从高到低的顺序被优先处理:平台利益相关者—服务利益相关者—应用利益相关者。最高优先级决定,即,如果平台利益相关者已决定所有应用将通过平台控制的UI(用户接口)控制,则服务或应用利益相关者无法推翻此决定。
控制利益相关者优先级的基本机制是通过应用管理器和它控制的应用模型。利益相关者控制应用管理器,并且应用管理器又控制来自应用的有关应用属性的修改和其它应用的添加/调用的所有请求。此处,平台利益相关者由于控制应用管理器,因此,它有机会限定其它利益相关者的能力。此外,应用模型具有树结构,并且根节点是平台控制的节点,其中平台利益相关者可添加逻辑以限定其它利益相关者的控制,例如通过停止某些事件遍历模型。类似地,在根节点下的节点一般由服务利益相关者控制,并且能够因此包含类似的逻辑以限定应用利益相关者控制。
由应用管理器控制的应用模型可以是普通DOM树模型,模型中所有节点是应用。在此情况下,应用继承DOM3(DOM第3级核)元素ElementTraversal的子集和使得遍历应用模型和添加以及从中删除应用的节点接口。
树中的根节点是由应用管理器控制的隐藏系统节点。它能够从不被删除或修改,并且所有应用添加为隐藏节点的子节点。根节点例如能够是内置本机小工具栏。或者,它能够只是非可视应用,停止某些事件在模型中向下传播以便阻塞所有小工具使用某个功能性,例如,关闭TV。
就例如普通SVG文件等由UA显示的单个万维网应用而言,模型会如图 3所示,该图示出在应用管理器中加载单个文件/文档时的应用模型。
除根应用外,应用框架中的每个应用具有相关联文档对象。文档表示特定应用的DOM,并且与模型中的任何其它应用无关,即,应用具有在单独脚本上下文中运行的单独DOM。
更大应用树的示例在图 4中示出,该图示出在应用管理器中加载多个应用时的应用模型(在右侧)。左侧图形示出可在屏幕上如何显示应用。子节点能够从其父节点继承属性。例如,如果删除父项,则删除子项,但能够为即将到来的版本考虑其它属性,例如,透明性。如果用户能够表明应用将是半透明的,则子应用也应是半透明的。
根据本发明的实施例的应用管理器可使用基于DOM2事件模型的事件模型。
DOM树中一个且只有一个节点是在特定时间点输入事件(键事件、鼠标事件……)的目标。这意味着诸如键输入等事件将转到目标应用,但在进行该操作之前,它将自顶向下通过目标节点的所有父项(祖先)到目标应用。这称为俘获阶段。根据本发明的实施例,每个经过的节点可俘获事件,即停止事件。一旦事件已到达目标应用,目标应用便能够俘获事件,即停止事件,或者让它再次向上经过相同节点,这称为气泡阶段。俘获和气泡阶段是DOM事件模型的一部分。
与事件目标始终是当前焦点应用的现有技术解决方案不同,本发明的实施例引入了一种模型,其中,目标应用能够是与作为当前焦点应用的应用无关的任何应用。然而,DOM2的俘获和气泡阶段均受本发明的实施例支持。
根据DOM2事件模型,事件从根开始,并且在俘获阶段期间向目标应用遍历树。根据本发明的实施例,通过使用分层模型,如果每个经过的应用是目标应用,则应用可俘获事件,而与应用是否是焦点应用无关。在事件到达目标应用时,它由目标应用处理。如果目标应用不俘获事件,则事件再次向上遍历树直到根,这称为气泡阶段。每个通过的应用可停止(即俘获)事件进一步起泡。
图 5示出DOM2俘获/气泡阶段,其中,事件向称为事件目标的目标应用遍历。
为使任何应用能够成为目标应用,而与哪个应用是焦点应用无关,组合了分层应用模型和事件封包器。应用管理器包括事件封包器,并且事件封包器配置成封包应向目标应用遍历的事件。封包的事件因此遍历通过应用树。每个应用配置成查看封包的事件以便检查当前应用是否应处理事件。如果当前应用确定它是目标应用,则应用管理器解封事件,并且当前应用接收解封的事件并将解封的事件作为普通事件处理。如果当前应用确定它不是目标应用,则应用管理器调度封包的事件到树中的随后应用。图 2示出根据本发明的一实施例的应用框架203。应用框架203包括应用管理器200和存储以分层顺序布置的应用202的存储器204。此外,应用管理器200包括配置成接收事件的接收器205和配置成控制调度的控制器207。控制器207控制调度器206的调度,并且还包括事件封包器201。由于应用管理器控制应用202,因此,应用管理器200知道它是否应解封封包的事件,或者它是否应将封包的事件调度到随后应用。
通过在应用的文档节点添加事件监听器以监听eventWrapper事件,作为目标应用的祖先的所有应用能够登记以监听事件。因此,为使任何万维网应用接收事件,它必须登记用于该事件的监听器。如果用户使用鼠标点击应用,但应用尚未登记鼠标事件监听器,则将不会发生任何情况。这同样适用于eventWrapper事件。eventWrapper事件是由事件封包器201执行的特殊事件,事件封包器201在实际事件通过应用树的路途中将实际事件封包。
在eventWrapper事件到达目标应用时,即事件被解封时,将封包的事件调度在与目标应用相关联的文档上,正如会在单文档环境中一样。解封的事件由文档以普通方式处理。在离开文档时,如果未被俘获,则它在eventWrapper事件中再次被封包并开始沿应用树向上冒泡。
事件封包由以下示例例示:
1. 应用管理器200经接收器205通过系统接收事件(e)(例如,键“1”)。事件的目标是在框架203中的存储器204中存储的应用202之一。
2. 应用管理器200的事件封包器201创建eventWrapper事件(ew)并将事件封包。
3. 应用管理器200将封包的事件沿模型树向下朝目标应用传递。封包的事件由它经过的每个应用202查看以便检查封包的事件是否适用于当前应用。如果封包的事件适用于当前应用,则那会暗示当前应用是目标应用。
4. 在封包的事件到达目标应用时,应用管理器200将事件解封,并且在目标应用上调度解封的事件。
5. 如果事件未由目标应用俘获,则应用管理器将事件放回事件封包器中,并且将包含实际事件的封包事件沿模型向上起泡。这适用于在该应用不关心其它应用是否处理事件的情况。因此,如果该应用不关心其它应用是否使用事件,则它不应俘获它。
下面结合图 6进一步例示此行为。
考虑显示广播的TV频道的TV应用601。天气小工具602在TV应用601的上面显示,并且天气小工具602具有焦点。在天气小工具具有焦点时,天气小工具监听用于在不同日期的广播之间导航的向左/向右按键。
即使天气小工具有焦点,TV应用想要允许用户通过正常向上/向下按键更改频道。由于应用根据本发明的实施例以分层模型布置,因此,除焦点应用外的其它应用能够处理事件。在此情况下,天气小工具由TV应用添加并且是TV应用的子项。因此,TV应用是天气小工具的父项,所有事件将在俘获阶段期间由TV应用沿路向下传递到天气小工具。相应地,TV应用将检查事件是否是按压向上或向下键。如果情况为真,则TV应用将处理事件,否则,应用管理器将进一步调度事件到天气小工具。
如上所解释的一样,应用管理器将事件封包,并且通过分层树模型调度事件。封包的事件包括目标应用的信息。在封包事件经过的每个应用,当前应用查看封包的事件以确定事件是否应由当前应用处理。如果当前应用应处理事件,这暗示当前应用是目标应用,则应用管理器收到通知,并且将事件解封,使得应用能够将事件作为普通事件处理。在应用中,定义了应用应如何处理事件。这通过下面的代码示例例示:
TV应用:
天气应用:
如上所提及的一样,在诸如键事件等输入事件在UA中发生时,应用管理器的事件封包器通过eventWrapper事件将事件封包,并且如图 7a和7b所示将它沿应用树向下发送。
在图 7a-7c所示示例中,第一站是应用树的隐藏根节点,如图 7a所示。因此,平台利益相关者如果愿意,则有机会处理和俘获特定事件。例如,特定键可始终与本机平台菜单相关联,并且应从不用于任何其它操作。此键会在根节点中俘获。
从根节点,封包的事件沿树向下向应用管理器控制的目标移动,如图 7b所示。下一站是TV应用节点。此处,TV应用将根据上面的代码示例检查键事件,并且在事件与频道更改事件有关时停止事件。
如果事件转而与天气小工具的管理有关,则TV应用将让封包的事件经过。其下一站是实际事件目标,如图 7c所示的天气应用。
在目标应用,应用管理器通过将事件解封来删除封包事件,并且在适用应用文档上调度键事件。根据上面的代码示例,天气应用会在按向左/向右键的情况下处理和停止事件。对于所有其它情况,事件会不停止。
如果事件不停止,则应用管理器在eventWrapper事件中将事件解封,并且让它通过树向上起泡以完成俘获/气泡阶段。要注意的是,此最后步骤在右侧的图中未示出。
根据本发明的第一实施例,如图 8所示,一种万维网引擎配置用于诸如STB(机顶盒)等ITF(IPTV终端功能),包括与使能显示应用的API相关联的应用框架203。应用框架203包括用于存储至少两个应用202的存储器204,其中,应用202相对于彼此以分层树结构布置,并且至少两个应用之一可以是焦点应用。应用框架203还包括应用管理器200,应用管理器200包括用于接收例如按键等事件的接收单元205和用于控制调度的控制器207。根据一个实施例,控制器207包括用于将事件封包和解封的事件封包器201和用于通过应用树向下传送封包的事件的调度器207。对于每个应用节点(根节点也同样),应用管理器200配置成通过使用控制器206确定事件是否应由当前应用处理。
因此,应用管理器200的控制器206控制事件的调度。根据一实施例,应用管理器200的事件封包器201将事件封包,并且调度器207将封包的事件调度到目标应用。对于每个应用,当前应用可配置成查看封包的事件,是否封包的事件应由当前应用处理,或备选地,应用管理器可配置成在存储器212中存储哪个应用是用于事件的目标应用的信息。如果封包的事件应由当前应用处理,则应用管理器200的事件封包器201将用于当前应用的事件解封,使得事件能够作为普通事件由当前应用处理。如果事件不应由当前应用处理,则应用管理器200将封包的事件调度到随后的应用。
ITF 210能够从服务器250并且通过使用API 208检索应用202。应用能够如图 9所示在屏幕260上显示。还应注意的是,典型的万维网引擎包括其它组件,如HTML(超文本标记语言)模型和XML(可扩展标记语言)解析器,但这不在本发明的范围内。
应用管理器可由包括用于执行应用管理器和接收器205、控制器207、调度器206和事件封包器201的功能的软件和/或硬件部分的一个或多个处理器实现。
根据本发明的第二实施例,如图 10所示,提供了在万维网引擎中的方法。万维网引擎配置用于ITF,包括与使能显示应用的API相关联的应用框架。方法包括:存储1000至少两个应用,其中,应用以相对于彼此的分层树结构布置,并且至少两个应用之一是焦点应用;接收1001事件;以及控制1002以至少一个应用为目标的事件的调度,使得不是焦点应用的应用能够接收和处理事件。
通过使用应用管理器,控制事件的调度,其中,应用管理器可包括封包和解封事件的事件封包器。根据本发明的一实施例,方法包括将事件封包1003和调度1004封包的事件到目标应用的其它步骤。对于每个应用,确定当前应用是否是目标应用。这能够通过配置当前应用查看封包的事件,或者让应用管理器在存储器212中存储哪个应用是用于某个事件的目标应用的信息而完成。如果当前应用是目标应用,并且相应地如果封包的事件应由当前应用1005处理,则方法包括将用于当前应用的事件解封1006,使得事件能够作为普通事件由当前应用处理。如果事件不应由当前应用处理,则应用管理器将封包的事件调度1007到随后的应用。
本发明的分层应用模型允许包括新应用。新应用的包括可通过以下步骤实现:
1. 用户通过调用loadApplication或用于小工具的installWidget
+ loadApplication,请求新应用。
2. 请求由应用管理器200的API处理。
3. 请求发送到服务提供商或另一内容提供商管理的服务器250。
4. 服务器通过使用普通HTTP
GET而发送应用到万维网引擎209来响应请求。如果服务器250不能提供应用,则将检索不到任何内容。
5. 应用管理器200将新应用包括到树结构中。在新应用添加到树中时,它将自动显示。
本发明的实施例不限于上述优选实施例。各种备选、修改和等效物可使用。因此,上述实施例不应视为限制由所附权利要求书定义的本发明的范围。
当然,在不脱离本发明范围和基本特性的情况下,本发明可以不同于本文所述那些方式的其它特定方式实现。因此,所示实施例在所有方面均要视为是说明性的而不是限制性的,并且在随附权利要求书的意义和等同物范围内的所有更改要涵盖在其中。
Claims (11)
1.一种在配置用于IPTV终端功能的万维网引擎中的方法,所述万维网引擎包括与使能显示应用的应用编程接口相关联的应用框架,所述方法包括:
存储至少两个应用,其中所述应用相对于彼此以分层树结构布置,
接收以至少一个应用为目标的事件,以及
控制以至少一个应用为目标的所接收事件的调度,其中所述控制还包括调度所述接收事件到目标应用,为每个应用确定所述事件是否应由当前应用处理,并且如果它应被处理,则所述方法包括为所述当前应用处理所述事件,以及如果它不应被处理,则所述方法包括将所述事件调度到所述分层树结构中的随后应用。
2.根据权利要求1所述的方法,其中所述控制还包括在所述调度前封包所述事件,以及其中在所述处理前解封所述事件。
3.根据权利要求1所述的方法,其中通过查看所述事件并且检查所述事件在所述当前应用上是否适用,来执行为每个应用确定所述事件是否应由所述当前应用处理。
4.根据权利要求1所述的方法,其中为每个应用确定所述事件是否应由所述当前应用处理由所述应用管理器执行。
5.根据权利要求1所述的方法,其中所述应用框架配置成使用基于文档对象模型DOM的模型来构建所述应用。
6.根据权利要求1所述的方法,其中所述IPTV终端功能是机顶盒、移动终端或PC任何之一。
7.一种IPTV终端,在显示装置上实现使能显示万维网应用的应用框架,所述应用框架包括:
存储器,存储以分层树结构组织的两个或更多个应用;以及
应用管理器,接收以所述分层树结构中的所述应用之一为目标的事件,所述应用管理器包括:
控制器,确定所述分层树结构中的第一应用是否是目标应用,以及
调度器,如果所述第一应用不是所述目标应用,则调度所述事件到所述分层树结构中的第二应用。
8.如权利要求7所述的IPTV终端,其中所述应用管理器还包括用于封包和解封事件的事件封包器。
9.如权利要求7所述的IPTV终端,其中所述控制器存储指示用于所述事件的目标应用的信息。
10.如权利要求7所述的IPTV终端,其中所述应用框架使用基于文档对象模型(DOM)的模型来组织所述应用。
11.如权利要求7所述的IPTV终端,被包含在机顶盒、移动终端或个人计算机中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32244410P | 2010-04-09 | 2010-04-09 | |
US61/322444 | 2010-04-09 | ||
US12/878,434 US8528005B2 (en) | 2010-04-09 | 2010-09-09 | Method and arrangement in an IPTV terminal |
US12/878434 | 2010-09-09 | ||
PCT/SE2011/050109 WO2011126423A2 (en) | 2010-04-09 | 2011-02-02 | Method and arrangement in an iptv terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102870428A CN102870428A (zh) | 2013-01-09 |
CN102870428B true CN102870428B (zh) | 2016-11-09 |
Family
ID=44761866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180018230.5A Expired - Fee Related CN102870428B (zh) | 2010-04-09 | 2011-02-02 | Iptv终端中的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8528005B2 (zh) |
EP (1) | EP2556678A4 (zh) |
JP (1) | JP5543013B2 (zh) |
KR (1) | KR101419635B1 (zh) |
CN (1) | CN102870428B (zh) |
TW (1) | TWI510074B (zh) |
WO (1) | WO2011126423A2 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9680692B2 (en) * | 2013-01-23 | 2017-06-13 | Facebook, Inc. | Method and system for using a recursive event listener on a node in hierarchical data structure |
CN107094238B (zh) * | 2017-04-13 | 2020-02-28 | 青岛海信电器股份有限公司 | 智能电视的按键分配处理方法及智能电视 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1419774A (zh) * | 2000-04-05 | 2003-05-21 | 微软公司 | 带上下文的计算设备和方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE503021C2 (sv) * | 1994-06-13 | 1996-03-11 | Ericsson Telefon Ab L M | Driftstödsnät för ett telekommunikationsnät innefattande nätelement, telekommunikationsnät innefattande nätelement, nätelement samt sätt att strukturera programvara i ett nätelement |
US20020002599A1 (en) * | 2000-03-08 | 2002-01-03 | Marbles, Inc. | Real-time global positioning system application in two-way mobile wireless networks |
US6654038B1 (en) | 2000-06-02 | 2003-11-25 | Sun Microsystems, Inc. | Keyboard navigation of non-focusable components |
US7913286B2 (en) | 2000-10-20 | 2011-03-22 | Ericsson Television, Inc. | System and method for describing presentation and behavior information in an ITV application |
US7028306B2 (en) * | 2000-12-04 | 2006-04-11 | International Business Machines Corporation | Systems and methods for implementing modular DOM (Document Object Model)-based multi-modal browsers |
US7219331B2 (en) | 2001-03-14 | 2007-05-15 | Sun Microsystems, Inc. | Method and apparatus for lightweight support on set top box |
US7962011B2 (en) * | 2001-12-06 | 2011-06-14 | Plourde Jr Harold J | Controlling substantially constant buffer capacity for personal video recording with consistent user interface of available disk space |
GB0502891D0 (en) | 2005-02-12 | 2005-03-16 | Next Device Ltd | User interfaces |
US20060225107A1 (en) | 2005-04-01 | 2006-10-05 | Microsoft Corporation | System for running applications in a resource-constrained set-top box environment |
US8510779B2 (en) | 2005-09-15 | 2013-08-13 | Fourthwall Media, Inc. | Self-contained mini-applications system and method for digital television |
US7614003B2 (en) * | 2006-10-23 | 2009-11-03 | Adobe Systems Incorporated | Rendering hypertext markup language content |
US20090265607A1 (en) * | 2008-04-17 | 2009-10-22 | Razoss Ltd. | Method, system and computer readable product for management, personalization and sharing of web content |
US9317856B2 (en) * | 2009-01-19 | 2016-04-19 | Alcatel Lucent | System, method and computer readable medium for application placement |
US20120044138A1 (en) * | 2009-04-14 | 2012-02-23 | Net&Tv Inc. | METHOD AND APPARATUS FOR PROVIDING USER INTERACTION IN LASeR |
US8327385B2 (en) * | 2009-05-05 | 2012-12-04 | Suboti, Llc | System and method for recording web page events |
US20100325565A1 (en) | 2009-06-17 | 2010-12-23 | EchoStar Technologies, L.L.C. | Apparatus and methods for generating graphical interfaces |
-
2010
- 2010-09-09 US US12/878,434 patent/US8528005B2/en active Active
-
2011
- 2011-02-02 KR KR1020127029359A patent/KR101419635B1/ko active IP Right Grant
- 2011-02-02 EP EP11766230.4A patent/EP2556678A4/en not_active Withdrawn
- 2011-02-02 CN CN201180018230.5A patent/CN102870428B/zh not_active Expired - Fee Related
- 2011-02-02 JP JP2013503710A patent/JP5543013B2/ja not_active Expired - Fee Related
- 2011-02-02 WO PCT/SE2011/050109 patent/WO2011126423A2/en active Application Filing
- 2011-03-16 TW TW100108976A patent/TWI510074B/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1419774A (zh) * | 2000-04-05 | 2003-05-21 | 微软公司 | 带上下文的计算设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20130001736A (ko) | 2013-01-04 |
TW201215115A (en) | 2012-04-01 |
WO2011126423A3 (en) | 2011-12-08 |
CN102870428A (zh) | 2013-01-09 |
JP2013524360A (ja) | 2013-06-17 |
US8528005B2 (en) | 2013-09-03 |
WO2011126423A2 (en) | 2011-10-13 |
EP2556678A4 (en) | 2013-11-20 |
JP5543013B2 (ja) | 2014-07-09 |
EP2556678A2 (en) | 2013-02-13 |
KR101419635B1 (ko) | 2014-07-15 |
US20110252431A1 (en) | 2011-10-13 |
TWI510074B (zh) | 2015-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11875140B2 (en) | Application support for network devices | |
CN102855142B (zh) | 一种基于ria的客户端框架结构及其实现方法 | |
KR101416089B1 (ko) | 웹 어플리케이션 저작을 위한 통합 플랫폼 및 그 저작 방법 | |
US20140282398A1 (en) | Platform for developing and distributing mobile applications | |
US20120317172A1 (en) | Mobile web app infrastructure | |
CN104636139A (zh) | 一种可视化跨平台移动应用开发与生成系统 | |
CN108304234B (zh) | 一种页面展示方法及装置 | |
KR101416100B1 (ko) | 하이브리드 웹 어플리케이션에서 자바스크립트 연동을 위한 인터페이스 | |
CN102421028A (zh) | 智能电视的控制方法、智能电视、遥控装置及控制系统 | |
CN103019712A (zh) | 集成应用 | |
CN101876998B (zh) | 一种实现数据编辑的方法和系统 | |
CN102870428B (zh) | Iptv终端中的方法和装置 | |
CN112764746A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
JP2006276939A (ja) | 仮想マシンのプログラム起動方法およびクライアントサーバシステム | |
US20130332568A1 (en) | Method of data processing by a navigation module | |
CN101441628A (zh) | 基于桌面应用程序的智能客户端网站系统 | |
CN105446710B (zh) | 界面提供系统及界面提供方法 | |
CN113626130A (zh) | 视频应用程序的处理方法、装置、计算机设备及存储介质 | |
CN113448583A (zh) | 基于物联网的配置开发方法、装置、终端设备及介质 | |
KR20100006497A (ko) | 웹 데스크 탑 프레임워크 구성 방법 및 그 시스템 | |
US20140033053A1 (en) | Method for executing widgets in a processing device | |
TWI792626B (zh) | 安卓電視混合型應用程式開發方法 | |
US20230111113A1 (en) | Page loading method and display apparatus | |
KR100960968B1 (ko) | Http를 사용하지 않는 웹 어플리케이션 제공 장치 및방법 | |
CN105808053A (zh) | 一种显示设备的文字输入方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161109 Termination date: 20220202 |
|
CF01 | Termination of patent right due to non-payment of annual fee |