八月瓜首页 > 专利查询 > >正文

用于根据应用生存周期管理该应用的方法和设备

基本信息

  • 申请号 CN00810268.6 
  • 公开号 CN1360695A 
  • 申请日 2000/07/13 
  • 公开日 2002/07/24 
  • 申请人 太阳微系统有限公司  
  • 优先权日期  
  • 发明人 B·H·卡德尔 T·叶 J·D·里瓦斯 J·D·库尔特尼 K·L·梅瑟  
  • 主分类号  
  • 申请人地址 美国加利福尼亚州 
  • 分类号  
  • 专利代理机构 中国专利代理(香港)有限公司 
  • 当前专利状态 发明专利申请公布 
  • 代理人 栾本生 
  • 有效性 期限届满 
  • 法律状态 【期限届满】
  •  

摘要

用于根据一个应用的生存周期管理应用的执行的方法和设备。
由应用管理程序通过一组使得应用管理程序能够使得应用进入多个状态之一的命令来管理该应用的生存周期。
此外,应用能够与应用管理程序通信,以指示应用不能按照应用管理程序所请求的改变其状态或者请求应用管理程序将应用的状态改变为一个特定状态。
展开

权利要求书


1.一种根据应用的生存周期管理该应用的执行的计算机程序产 品,该计算机程序产品包括: 在其上存储计算机可读指令的计算机可读介质,所述计算机可读指 令包括: 用于从应用接收状态改变请求的指令,该状态改变请求指示来自应 用的一个对于应用管理程序启动将应用的状态从第一状态改变到第二 状态的请求;以及 用于当根据组确定的一组规则第二状态是允许的状态时,响应于状 态改变请求而启动应用的状态改变的指令。

2.如权利要求1所述的计算机程序产品,其中第二状态是指示应 用当前正在执行的激活状态。

3.一种用于根据一个应用的生存周期管理一个应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于接收指示一个新服务被选择的信号的指令; 用于当新业务被选择时启动应用的执行以便应用进入激活状态的 指令; 用于暂停应用的执行,以便应用从激活状态进入暂停状态的指令; 用于接收指示应用希望恢复执行并从暂停状态进入激活状态的恢 复请求的指令;以及 用于启动应用的执行,以便当从应用接收到恢复请求时,应用从暂 停状态进入激活状态的指令。

4.一种用于根据一个应用的生存周期管理多个应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于启动多个应用中的每一个的执行以便多个应用进入激活状态 的指令; 用于暂停多个应用之一的执行以便多个应用之一从激活状态进入 暂停状态的指令; 用于从多个应用的一个或多个接收恢复请求的指令,该恢复请求指 示多个应用的一个或多个请求恢复执行并从暂停状态进入激活状态; 用于选择多个应用的一个或多个从暂停状态进入激活状态的指 令;并且 当从应用接收到恢复请求时,启动所选择应用的执行,以便所选择 的应用从暂停状态进入激活状态。

5.一种用于根据一个应用的生存周期管理一个应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于第一次请求应用将其状态从第一状态改变为第二状态的指 令; 用于确定应用是否将其状态从第一状态改变为第二状态的指令;以 及 用于当确定应用没有将其状态从第一状态改变为第二状态并且满 足一个预定条件时,第二次请求应用将其状态从第一状态改变为第二 状态的指令。

6.如权利要求5所述的计算机程序产品,其中预定条件指示一个 确定的时间段已经过去或者应用现在能够执行所请求的状态改变。

7.如权利要求5所述的计算机程序产品,其中当由应用发出一个 状态改变异常时,确定应用没有改变其状态。

8.如权利要求5所述的计算机程序产品,其中当应用拒绝所请求 的状态改变时,确定应用没有改变其状态。

9.如权利要求5所述的计算机程序产品,其中当应用不能执行所 请求的状态改变时,确定应用没有改变其状态。

10.一种用于根据一个应用的生存周期管理一个应用的执行的计 算机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于请求应用将其状态从第一状态改变为第二状态的指令; 用于确定应用是否将其状态从第一状态改变为第二状态的指令;以 及 用于当确定应用没有将其状态从第一状态改变为第二状态时,请求 应用将其状态从第一状态改变为第三状态的指令。

11.如权利要求10所述的计算机程序产品,其中第一状态是指示 应用当前正在执行的激活状态,第二状态是指示应用的执行已经被终 止的被消灭状态,并且第三状态是指示应用的执行已经被暂停从而应 用可以恢复执行的暂停状态。

12.如权利要求10所述的计算机程序产品,其中当由应用发出一 个状态改变异常时,确定应用没有改变其状态。

13.如权利要求10所述的计算机程序产品,其中当应用拒绝所请 求的状态改变时,确定应用没有改变其状态。

14.如权利要求10所述的计算机程序产品,其中当应用不能执行 所请求的状态改变时,确定应用没有改变其状态。

15.一种用于根据一个应用的生存周期管理一个应用的执行的计 算机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于请求第一应用将其状态从第一状态改变为第二状态的指令; 用于确定第一应用是否将其状态从第一状态改变为第二状态的指 令;以及 用于当确定第一应用没有将其状态从第一状态改变为第二状态 时,请求第二应用将其状态从第一状态改变为第二状态的指令。

16.如权利要求15所述的计算机程序产品,其中第一状态是激活、 暂停或被加载状态,并且第二状态是指示应用被终止的被消灭状态。

17.如权利要求15所述的计算机程序产品,其中当由第一应用发 出一个状态改变异常时,确定第一应用没有改变其状态。

18.如权利要求17所述的计算机程序产品,其中第二状态是指示 相关应用正在被执行的激活状态,并且当第一应用使其本身进入暂停 状态或终止状态时,由第一应用发出状态改变异常。

19.如权利要求15所述的计算机程序产品,其中当第一应用拒绝 所请求的状态改变时,确定第一应用没有改变其状态。

20.如权利要求15所述的计算机程序产品,其中当第一应用不能 执行所请求的状态改变时,确定第一应用没有改变其状态。

21.一种用于根据一个应用的生存周期管理应用的执行的系统, 该系统包括: 一个或多个规则;以及 一个应用管理程序,其能够根据一个应用的生存周期执行一个或多 个应用,使得每个应用能够响应于一个或多个相关的预定命令而进入 多个状态之一,该应用管理程序能够选择一个预定命令以根据一个或 多个规则执行。

22.如权利要求21所述的系统,还包括: 连接到应用管理程序并能够接收数据流的信令监视器,该信令监视 器用于确定一个应用是否出现在数据流中以及将与该应用相关的信息 传送给应用管理程序。

23.如权利要求21所述的系统,其中应用管理程序被配置以存储 对于每个应用的应用上下文,该应用上下文标识多个状态中当前的一 个状态。

24.如权利要求23所述的系统,其中多个状态中的当前一个状态 由相关应用标识给应用管理程序。

25.如权利要求23所述的系统,其中应用上下文还包括识别一个 能够加载一个或多个与应用相关的类的类加载器。

26.如权利要求23所述的系统,其中应用上下文还识别包括要显 示的显示信息的显示上下文。

27.如权利要求23所述的系统,其中应用上下文还识别使得相关 应用能够与应用管理程序通信的应用环境对象。

28.如权利要求23所述的系统,其中应用上下文还识别使得相关 应用能够检索与其运行时间环境相关的属性的应用环境对象。

29.如权利要求23所述的系统,其中应用上下文还识别使得相关 应用能够传送到多个状态之一的状态改变的应用环境对象。

30.如权利要求23所述的系统,其中应用上下文还识别使得相关 应用能够请求应用管理程序能够将应用的当前状态从暂停状态改变为 激活状态的应用环境对象。

31.如权利要求21所述的系统,还包括: 一个显示管理程序,其连接到应用管理程序并用于管理对于每个应 用的显示上下文,当显示上下文可见时,显示上下文在第一状态,当 显示上下文不可见时,其在第二状态。

32.如权利要求31所述的系统,其中当相应用在激活状态时,显 示上下文在第一状态,当相关应用在暂停状态时,显示上下文在第二 状态。

33.如权利要求31所述的系统,其中显示上下文的状态根据应用 管理程序遵循的一个或多个规则来确定。

34.一种用于根据一个应用的生存周期来管理应用的执行的数字 电视接收机,包括: 一个处理器;以及 用于在其上存储计算机可读指令的存储器,所述计算机可读指令包 括: 用于从一个数据流确定一个应用是否出现在该数据流中的指令; 用于当确定应用出现在数据流中时加载该应用的指令;以及 用于根据包括多个状态的应用的生存周期执行该应用的指令。

35.如权利要求34所述的数字电视接收机,其中用于执行应用的 指令包括: 对于应用管理程序可见的第一接口,第一接口用于使得应用管理程 序能够使得应用从多个状态之一改变为多个状态中的另一个状态;以 及 对于应用可见的第二接口,第二接口用于使得应用能够将应用的状 态改变从第一组多个状态到第二组多个状态传送给应用管理程序。

36.如权利要求35所述的数字电视接收机,其中第二组多个状态包 括指示应用已经被暂停的暂停状态以及指示应用已经被终止的被消灭 状态。

37.如权利要求34所述的数字电视接收机,其中用于执行应用的 指令包括: 对于应用管理程序可见的第一接口,第一接口用于使得应用管理程 序能够使得应用将其状态从多个状态之一改变为多个状态中的另一个 状态;以及 对于应用可见的第二接口,第二接口用于使得应用能够请求应用管 理程序将应用的状态改变为多个状态中的第一个状态。

38.如权利要求37所述的数字电视接收机,还包括: 用于将应用的状态从多个状态中的第二个状态改变为多个状态中 的第一个状态的指令。

39.如权利要求38所述的数字电视接收机,其中第一个状态是激 活状态并且第二个状态是暂停状态。

40.如权利要求34所述的数字电视接收机,其中用于执行应用的 指令包括: 对于应用管理程序可见的第一接口,第一接口用于使得应用管理程 序能够使得应用将其状态从多个状态之一改变为多个状态中的另一个 状态;以及 对于应用可见的第二接口,第二接口用于使得应用能够将应用不能 按照应用管理程序所请求的改变其状态传送给应用管理程序。

41.如权利要求40所述的数字电视接收机,还包括: 使得应用能够发出指示应用不能按照应用管理程序所请求的改变 其状态的状态改变异常的指令。

42.如权利要求40所述的数字电视接收机,还包括: 使得应用能够发出指示应用不希望按照应用管理程序所请求的改 变其状态的状态改变异常的指令。

43.如权利要求36所述的数字电视接收机,还包括: 用于当应用已经被终止时释放与该应用相关的存储器的指令。

44.如权利要求34所述的数字电视接收机,还包括: 用于创建与应用相关的类加载器的指令,该类加载器用于加载一个 或多个与该应用相关的类; 用于采用该类加载器加载与应用相关的类的指令; 用于使用已经由类加载器加载的类来实例化应用的指令。

45.如权利要求44所述的数字电视接收机,还包括: 用于当应用被终止时卸载与该应用相关的类的指令。

46.如权利要求45所述的数字电视接收机,其中用于卸载类的指 令包括: 用于解关联类加载器的指令。

47.一种由应用管理程序用于管理数字电视接收机环境中的一个 应用的执行的状态机,所述状态机包括: 其中应用已经被加载的被加载状态; 暂停状态,其中应用被暂停,应用被初始化从所述被加载状态转变 为所述暂停状态; 激活状态,其中应用被执行,应用被启动从所述暂停状态转变为所 述激活状态;以及 被消灭状态,其中应用被消灭,应用被终止以从所述的激活状态或 所述的暂停状态转变为所述被消灭状态。

48.如权利要求47所述的状态机,其中当应用在所述被加载状态 中被终止时,应用可以从所述被加载状态转变为所述被消灭状态。

49.如权利要求48所述的状态机,其中应用管理程序或者应用可 以启动到所述被消灭状态的转变。

50.如权利要求47所述的状态机,其中当应用要被暂停时,应用 能够从所述激活状态转变为所述暂停状态。

51.如权利要求50所述的状态机,其中应用管理程序或者应用能 够启动从所述激活状态到所述暂停状态的转变。

52.如权利要求47所述的状态机,其中只有应用管理程序通过启 动应用来启动从所述暂停状态到所述激活状态的改变。

53.如权利要求47所述的状态机,其中所述状态机的状态一起构 成一个应用的生存周期。

54.一种用于根据一个应用的生存周期管理应用的执行的计算机 程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于加载应用以便应用进入被加载状态的指令; 用于当应用在被加载状态时初始化应用以便应用进入暂停状态的 指令; 用于当应用在暂停状态时启动应用的执行以便应用进入激活状态 的指令;以及 用于当应用在被加载状态、暂停状态或激活状态时终止应用的执行 以便应用进入被消灭状态的指令。

55.如权利要求54所述的计算机程序产品,还包括: 用于当应用在激活状态时暂停应用以便应用进入暂停状态的指 令。

56.如权利要求54所述的计算机程序产品,其中用于当应用在暂 停状态时启动应用的执行的指令不能由应用调用。

57.如权利要求54所述的计算机程序产品,其中用于当应用在暂 停状态时启动应用的执行的指令只能由对于应用为外部的过程所调 用。

58.如权利要求55所述的计算机程序产品,其中用于当应用在激 活状态时暂停应用的执行的指令能够由对于应用为外部的应用或过程 所调用。

59.如权利要求54所述的计算机程序产品,其中用于终止应用的 指令可以由对于应用为外部的应用或过程所执行。

60.一种用于根据一个应用的生存周期来管理应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于初始化一个应用以便该应用进入暂停状态的指令; 用于启动应用的执行以便应用进入激活状态的指令; 用于暂停应用的执行以便应用进入暂停状态的指令;以及 用于终止应用以便应用进入被消灭状态的指令。

61.一种用于根据一个应用的生存周期来管理应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于启动应用的执行以便应用进入激活状态的指令; 用于暂停应用的执行以便应用进入暂停状态的指令; 用于当满足预定条件时,有条件地终止应用的执行以便应用进入被 消灭状态的指令;以及 用于当未满足预定条件时,无条件地终止应用的执行以便应用进入 被消灭状态的指令。

62.如权利要求61所述的计算机程序产品,其中预定条件是从应 用接收的一个信号。

63.如权利要求61所述的计算机程序产品,其中预定条件是在确 定的时间段中没有从应用接收到一个信号。

64.如权利要求61所述的计算机程序产品,还包括: 用于当未满足预定条件时,忽略由应用发出的状态改变异常的指 令,该状态改变异常指示应用不希望终止。

65.一种用于根据一个应用的生存周期来管理应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于启动应用的执行以便应用进入激活状态的指令; 用于暂停应用的执行以便应用进入暂停状态的指令; 用于终止应用以便应用进入被消灭状态的指令;以及 一个包括一组指令的接口,其使得一个过程而不是应用能够启动如 下指令的执行:用于启动应用的执行的指令、用于暂停应用的执行的 指令以及用于终止应用的指令。

66.如权利要求65所述的计算机程序产品,其中接口包括一个存 根模块,其调用用于终止应用的指令,该存根模块能够接受一个参数, 该参数指示当该参数在第一状态时,应用的终止是无条件的,而当该 参数在第二状态时,应用的终止为有条件的。

67.一种用于根据一个应用的生存周期来管理应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括: 用于传送应用已经决定终止并已经从被加载状态、暂停状态或激活 状态进入被消灭状态的指令; 用于传送应用已经决定暂停其执行并已经从激活状态进入暂停状 态的指令。

68.如权利要求67所述的计算机程序产品,还包括: 用于传送应用希望恢复执行并从暂停状态进入激活状态的指令。

69.如权利要求67所述的计算机程序产品,还包括: 用于获取与应用的运行时间环境相关的信息的指令。

70.如权利要求67所述的计算机程序产品,还包括: 一个包括一组指令的接口,其使得应用能够启动以下指令的执行: 用于传送应用已经决定终止的指令以及用于传送应用已经决定暂停其 执行的指令。

71.如权利要求68所述的计算机程序产品,还包括: 一个包括一组指令的接口,其使得应用能够启动如下指令的执行: 用于传送应用已经决定终止的指令、用于传送应用已经决定暂停其执 行的指令以及用于传送应用希望恢复执行并从暂停状态进入激活状态 的指令。

72.一种用于根据一个应用的生存周期来管理应用的执行的计算 机程序产品,该计算机程序产品包括: 其上存储计算机可读指令的计算机可读介质,所述计算机可读指令 包括:     用于启动应用的执行以便应用进入激活状态的指令,其中用于启动 应用的执行的指令不能由应用调用; 用于暂停应用的执行以便应用进入暂停状态的指令;以及 用于传送应用希望恢复执行并从暂停状态进入激活状态的指令。

73.如权利要求72所述的计算机程序产品,还包括: 用于传送应用已经决定暂停其执行并已经从激活状态进入暂停状 态的指令。

74.如权利要求72所述的计算机程序产品,还包括: 用于终止应用以便应用进入被消灭状态的指令。

75.如权利要求74所述的计算机程序产品,还包括: 用于传送应用已经决定终止并已经进入被消灭状态的指令。
展开

说明书

发明领域 本发明总体上涉及计算机软件。
更具体而言,本发明涉及用于管理 一个应用的执行的方法和设备。
此外,本发明还涉及用于实现对于软 件应用的应用生存周期设计的方法和设备。
相关技术描述 数字电视革命是广播电视的历史中最重要的事件之一。
随着数字电 视的到来,可以通过卫星、电缆以及陆地电视频道来传送高速数据。
数字电视为用户提供更多频道以及显著提高的视频和音频质量。
最重 要的是,数字电视引导了真正的交互式电视的年代。
例如,数字接收 机能够为用户提供多种增强业务,包括从简单的交互式测试表演到互 联网以及电视和万维网类型的内容。
随着对于数字电视市场的扩大, 内容开发者正在寻找富于特性的、成本有效的以及可靠的软件平台, 用于创建诸如电子节目向导、视频点播以及增强广播的下一代交互式 电视业务。
Java是设计为可以运行在任何支持JAVATM PLATFORM的兼容设备上 的便携式语言的主要商用面向对象的语言。
例如,Java被包括在所有 主要的万维网浏览器中。
这样,Java运行在任何通过计算机的万维网 浏览器启动万维网的计算机上。
这样,Java提供了作为用于机顶盒和 数字电视的软件平台的极大承诺。
在面向对象的程序设计中,代码和数据被合并到对象中。
每个对象 被通过其类定义,类定义了一个对象的属性和状态。
换句话说,对象 是一个类的各个实例。
在桌面环境中,由于存储器是相对无限的,所以与每个被加载的应 用(例如类和对象)不需要被频繁地释放或密切地监视。
不过,存储 器是嵌入式系统环境中的有价值的资源,尤其是在数字电视领域。
此 外,在交互式数字电视环境中,通常会运行多个应用。
一个数字电视 业务可以包括音频、视频和一个或多个应用。
例如,当电视观众改换 频道时,由该频道提供的每个相关的业务或节目可能都需要加载多个 类。
结果,存储器被不断地分配给这些应用以及相关的类,直到耗尽 了有限数量的存储器为止。
一旦存储器被耗尽,就不可能运行任何其 它应用了。
因为不希望在发生错误时重新启动机顶盒,所以这一点尤 其重要。
JAVA PLATFORM目前定义了多个应用模型,每个模型有其自己的生 存周期。
通常,这些应用的生存周期模型被设计来解决关于JAVA PLATFORM的特殊问题。
例如,小应用程序(applet)被设计来支持在 网页中可执行内容。
不过,没有一个现有的应用生存周期模型完全解 决特定于具有有限存储器(诸如电视接收机)的系统的需求。
例如, 与一个小应用程序相关的类一旦被加载,就不将其类对象辅助存储器 中删除。
此外,不可能确定小应用程序的执行何时被终止。
鉴于上述内容,最好是将一个应用的生存周期设计为满足特定于电 视接收机的需求。
此外,还希望设计一种用于管理根据一个应用生存 周期的应用的加载和执行的机制。
发明内容 本发明使得能够管理一个或多个应用。
此外,可以根据一个应用的 生存周期来管理一个或多个应用程序的执行。
这部分地是通过使用能 够启动和监视应用状态变化的应用管理程序来实现。
以这种方式,可 以在多个平台上以一致的方式来执行应用。
根据本发明的一个方面,应用管理程序加载应用并将资源分配给应 用由其在执行过程中使用。
一旦应用被加载,应用管理程序就根据一 个应用的生存周期执行该应用。
这是通过对于应用管理程序可见的应 用接口,根据一个实施例来实现的。
通过该应用接口,应用管理程序 能够启动应用中的各种状态改变。
作为一个例子,应用管理程序可以 请求应用暂停其执行并进入暂停状态。
作为另一个例子,应用管理程 序可以请求该应用从被暂停状态开始继续其执行和进入激活状态。
根据本发明的另一个方面,应用将关于其状态和潜在状态改变的信 息传送给应用管理程序。
根据一个实施例,这部分地通过一个应用环 境接口来实现。
通过该应用环境接口,应用可以请求应用管理程序引 起应用的状态改变。
例如,应用可以请求应用管理程序使得应用进入 激活状态。
此外,应用可以通过该应用环境接口指示该应用无法按照 需要来执行业务,并因此在环境中合适地暂停或终止。
一旦应用的状 态被改变(例如由应用管理程序引起的或者由应用执行的),应用就 将该状态改变传送到应用管理程序(例如通过对于应用可见的应用环 境接口)。
根据本发明的另一方面,应用管理程序可以有条件地或者无条件地 终止应用。
当应用管理程序无条件地终止该应用时,应用必须终止。
不过,当应用管理程序有条件地终止该应用时,应用管理程序可以只 有当应用同意该终止时才终止该应用。
以这种方式,应用管理程序可 以终止应用,并因此以由被终止应用所同意的方式释放与这些应用有 关的资源。
本发明使得能够由应用管理程序根据应用的生存周期来管理该应 用。
这使得应用能够被以可预测的方式执行,而不管它们在其上执行 的平台。
此外,由于应用管理程序监视每个应用的当前状态,所以应 用管理程序可以在每个应用终止时,释放与该应用有关的存储器。
这 在诸如数字电视接收机的具有有限存储器的系统中尤其有用。
附图说明 通过参考连同附图的以下描述可以更好地理解本发明及其另外的 优点,其中: 图1是说明其中可以实现本发明的数字电视接收机的框图。
图2A是说明其中实现一个应用管理程序以管理通过数字电视接收 机加载的应用的本发明的一个实施例的框图。
图2B是表示如图2A所示的应用管理程序可以据其操作的一组示范 规则的图。
图3是说明用于存储由如图2A所示的应用管理程序接收的信号数 据的示范数据结构的框图。
图4A是说明由应用管理程序在相关应用的管理和执行期间访问的 示范上下文(context)列表的图。
图4B是说明用于存储在示范上下文列表中所识别的应用上下文的 示范数据结构的图。
图5A是说明由根据本发明一个实施例的显示管理程序访问的显示 上下文的示范列表的框图。
图5B是与一个显示上下文相关的示范状态图。
图5C是说明根据由应用管理程序遵循的一组示范规则产生的一组 示范显示状态的图。
图6是说明一个应用在该应用的生存周期中可以进入的一组状态 的状态图。
图7是说明可以由应用管理程序在一个应用的生存周期中调用的 示范应用接口识别方法的图。
图8是说明可以由一个应用在该应用的生存周期中调用的示范应 用环境接口识别方法的图。
图9是说明可以由应用管理程序或者一个应用在该应用的生存周 期中调用的方法的图。
图10是说明根据本发明的一个实施例,实现一个应用管理程序加 载一个应用并根据应用的生存周期执行该应用的方法的处理流程图。
图11是说明如图10的块1022所示加载一个应用的方法的处理流程 图。
图12是说明根据如图10的块1024所示的一个应用生存周期执行一 个应用的方法的处理流程图。
图13是说明如图12的块1206所示改变一个应用从加载到暂停的状 态的方法的处理流程图。
图14是说明如图12的块1208所示改变一个应用从暂停到激活的状 态的方法的处理流程图。
图15是说明适合于实现本发明的典型的、通用计算机系统的框 图。
具体实施方式 在下面的描述中,提出了大量确定的细节,以提供对于本发明的全 面理解。
不过,显然对于本领域的技术人员来说,可以无需某些或所 有的这些确定细节就可以实现本发明。
在其它情况下,没有详细描述 众所周知的处理步骤,以免不必要地影响本发明的描述。
这里描述了本发明使得一个应用能够被根据一个应用的生存周期 加载并执行。
一个应用被初始化、进行基于其环境的各种状态改变以 及最终被消灭的一系列步骤共同称作应用的生存周期。
根据一个实施 例,这是通过能够加载和管理一个或多个应用程序的应用管理程序的 使用来实现的。
根据一个实施例,通过使用两个接口来实现应用的生 存周期。
首先,一个应用编程接口使得应用管理程序能够根据应用的 生存周期管理应用的执行。
其次,一个应用环境接口使得应用能够向 应用管理程序传送其希望从一个状态改变到另一个状态,或者可替代 地,指示它不能执行应用管理程序所请求的状态改变。
例如,一个应 用可以请求应用管理程序使得应用进入一个激活状态。
作为另一个例 子,应用可以指示它已经进入了暂停状态或者被消灭状态(例如当它 无法按照应用管理程序所请求的进入激活状态时)。
这样,应用环境 接口使得应用能够向应用管理程序传送它已经从一个状态改变到另一 个状态,由于应用最终很清楚其所在的状态。
这里根据数字电视和数字电视接收机描述了本发明。
图1是说明一 个示范数字电视接收机的框图。
如图所示,通过天线102接收一个信 号,并由调谐器模块104调谐,产生MPEG2传输流106。
然后,解复用器 108产生包括视频流112、音频流114和数据流116的已加密MPEG流 110。
然后,这三个流由条件接入子系统118处理。
例如,条件接入子 系统118可以使用密钥管理信息120以及解密信息122(例如解密算 法)。
条件接入子系统118产生包括视频流124和音频流125以及数据126 (三者都已解密)的已解密MPEG流123。
然后,解码器128处理已解密 的MPEG流123,并将已解码的视频数据转发到帧缓冲区130,并将已解 码的音频数据发送到扬声器132。
Java虚拟机是用于实现本发明处理由诸如图1所示的数字电视接 收机接收的信息的平台。
更具体地,当数据126(例如广播数据流)被 处理时,希望处理诸如在数据126中提供的被下载应用的信息。
图2A是说明本发明的一个实施例的框图,其中一个应用管理程序 被实现来管理通过数字电视接收机加载的应用。
如图2A所示,在数字 电视接收机200中实现本发明。
由信令监视器204接收广播数据流202。
信令监视器204判定一个应用是否出现在广播数据流202中,并提供指 示应用存在或不存在的信号数据206以及与应用相关的数据,诸如应用 的位置。
然后,应用管理程序208使用信号数据206加载并执行应用。
例如应用管理程序208根据恰当的应用生存周期执行应用,以便应用响 应于特定条件而进入恰当的状态。
下面进一步描述应用生存周期设计 的一个实现。
随着应用执行,以来自显示管理程序212的显示上下文210 的形式提供显示信息。
然后,显示管理程序将恰当的显示信息提供显 示在电视监视器214上。
根据本发明的一个实施例,应用管理程序被配置根据一组规则216 操作。
这些规则被以多种方式规定,以实现一个应用的生存周期。
例 如,一个应用的生存周期可以根据预定事件的出现而使得一个应用进 入被加载状态、暂停状态、激活状态和消灭状态。
图2B是表示如图2A 所示的应用管理程序可以据其操作的一组示范规则的图。
该组示范规 则216包括四个规则。
第一规则218规定应用管理程序管理一个或多个 应用。
不过,第二规则220规定在任何执行时间点,只有一个应用可以 是激活的(即可执行)。
此外,第三规则222规定在任何指定时间点, 只有一个应用可以被显示。
最后,第四规则224规定只有激活的应用才 可以被显示。
这样,可以以各种方式为一个应用管理程序设计和配置 一组规则。
因此,可以根据一个应用的生存周期设计用于管理一个或 多个应用的执行的一组规则。
图3是说明用于存储由如图2A所示的应用管理程序接收的信号数 据的示范数据结构的框图。
信号数据302包括在广播数据流中的一个应 用出现指示304。
如果一个应用出现,则规定该文件(例如目录和文件 名)的位置306。
此外,诸如鉴权信息308的信息使得应用的发起者能 够被鉴权,并且许可310指示一个特定的动作(例如读/写)可以或者 不可以被与一个指定的源和/或目的相关而执行。
应用管理程序208可以同时管理许多应用的生存周期。
根据本发明 的一个实施例,为了维护与每个可能执行的应用400相关的信息,应用 管理程序管理一个应用上下文列表402。
图4A是说明由应用管理程序 208在管理和执行相关应用400的过程中访问的示范应用上下文列表 402。
如图所示,应用上下文列表402包括一个或多个入口,其中每个 入口识别与应用400之一相关的应用上下文404。
更具体地,应用400 -A、400-B、400-C和400-D表示四个可能不同的应用,分别具有不 同的应用上下文404-A、404-B、404-C和404-D。
应用上下文404 识别与一个应用相关的信息,以使得该应用能够被根据应用的生存周 期而加载并执行。
根据一个实施例,与一个应用相关的信息被集中化并由应用上下文 404关联。
图4B是说明用于存储在图4A所示的示范应用上下文列表402 中标识的应用上下文404的示范数据结构的图。
用于应用上下文404的 示范数据结构包括标识一个类加载器的类加载器标识符406、用于将类 加载到存储器中的对象。
这样,类加载器标识符406使得应用管理程序 能够通过被标识的类加载器加载一个或多个与应用相关的类,并通过 解关联类加载器而卸载这些类。
此外,用于应用上下文404的示范数据 结构包括标识如图3所示的信号数据302的信号数据标识符408。
这样, 应用管理程序208可以使用该信号数据标识符408来确定一个应用的位 置以及鉴权和许可数据。
用于应用上下文404的示范数据结构还包括一 个显示上下文识别符410,用于识别包括将由如图2A所示的显示管理程 序212使用的信息的显示上下文。
例如,显示上下文可以包括对于一个 对象的关联,以允许一个应用显示在屏幕上,如尺寸、位置和能见度 数据。
用于应用上下文404的示范数据结构还包括一个标识应用的应用 标识符412。
此外,应用环境对象414被标识来使得应用能够与应用管 理程序通信。
作为一个例子,应用可能希望传送其希望进入另一个状 态的愿望或者进入另一个状态并将该状态改变传送到应用管理程序 (例如传送它已经进入暂停或消灭状态)。
作为另一个例子,应用可 能希望获得与应用环境(例如象在相关应用上下文中维护的)相关的 信息。
可以参考图8和图9进一步描述应用环境对象414。
还示出了用于 应用上下文404的示范数据结构标识当前应用状态416。
这样,应用管 理程序208维护每个应用的应用状态的记录。
如上面参考图2A所示的,一个独立的显示管理程序212可以被实现 来管理访问显示设备,并管理最终显示的数据。
为了有助于该过程, 根据本发明的一个实施例,显示管理程序维护一个显示上下文列表。
图5A是说明根据本发明的一个实施例,由一个显示管理程序访问的显 示上下文的示范列表(显示上下文列表)502。
如图所示,显示上下文 列表502包括一个或多个与一个或多个应用400-A到400-D相关的条 目。
显示上下文列表502中的每个条目与一个上下文标识符504相关, 并标识一个指定涉及一个应用的显示的信息的显示上下文506。
换句话 说,显示上下文可以是保持由一个应用显示其本身所需要的信息的对 象。
这样,当显示管理程序212希望显示一个应用时,它可能通过将其 本身关闭来“打开”在相应的显示上下文中关联的恰当“窗口”。
可以根据对于显示上下文的状态图来显示该显示上下文。
图5B是 与一个显示上下文相关的示范状态图。
如图所示,显示上下文在第一 显示状态时是可见的508,而在第二显示状态时是不可见的510。
根据 一个实施例,由应用管理程序按照规则来确定恰当的显示状态。
图5C是一张表,其表示由如图2B所示和描述的应用管理程序根据 一组示范规则产生的一组示范显示状态。
表512说明所有可能的显示状 态514及其相关的应用状态516。
根据由应用管理程序遵循的一组示范 规则,只显示激活的应用。
这样,当一个应用在激活状态时,显示状 态是可见的。
可替代地,当一个应用在暂停状态时,显示状态是不可 见的。
可以通过使得一个应用在预定条件下进入多个状态来实现一个应 用的生存周期。
这些状态以及确定一个应用何时进入每个状态的条件 可以根据应用管理程序和应用生存周期的实现而变化。
图6是说明一组 状态的状态图,根据本发明的一个实施例,在一个应用的生存周期中, 一个应用可以进入这组状态。
当应用管理程序加载应用时,应用进入 被加载状态602。
一旦应用进入被加载状态602,应用就在由应用管理 程序将其初始化之后进入暂停状态604。
只有应用管理程序可以使得应 用将其状态从暂停状态604改变为激活状态606。
不过,或者是应用管 理程序或者是应用可以使得应用从激活状态606进入暂停状态604。
此 外,或者是应用管理程序或者是应用可以使得应用终止并从被加载状 态602、激活状态606或者暂停状态604进入消灭状态608。
如上参考图6所述的,可以由执行应用或者由一个不是执行应用的 应用(例如应用管理程序)来改变应用的状态。
在许多面向对象的语 言中,可以将方法和变量组成模块以便方法名称和参数对于外部过程 (例如通过一个接口)是可见的,而实现细节对于那些外部过程是隐 藏的。
根据一个实施例,可以由应用和应用管理程序访问的接口和相 关方法被“分组”成下文称作的分组。
每个分组包括一个定义外部可 见的方法名称和参数的相关接口。
此外,每个分组有一个相关的本体, 其包括本体以及因此包括在分组接口中定义的方法的实现细节。
应用 和应用管理程序可以使用两个不同的接口通信。
这样,应用管理程序 和应用可以分别通过使用两个不同的接口(一个应用接口和一个应用 环境接口)来改变应用的状态。
此外,应用管理程序和应用可以传送 诸如关于状态改变或可能状态改变的信息。
图7是说明在一个应用的生存周期中,由一个应用管理程序(或者 其它过程)调用来改变应用的状态的示范应用接口识别方法的图。
个应用接口702定义由应用管理程序调用的所有方法和相关参数。
初始 化方法704可用于使得应用管理程序初始化应用。
例如,初始化方法704 可以发信号给应用以对其本身进行初始化并从被加载状态进入暂停状 态。
根据一个实施例,初始化方法704的一个参数是应用环境对象706, 下面将参考图8对其进一步详细描述。
如下面将描述的,应用环境对象 706还由应用使用来访问与应用的运行时间环境相关的属性。
此外,通 过使用应用环境对象706,应用可以检索与其运行时间环境相关的属 性。
例如,可以被检索的属性包括对信令数据的关联以及对于业务所 从中提供的环境(例如音频/视频环境)的关联。
以这种方式,应用可 以在其执行的准备中对其本身初始化。
尽管应用最好是在执行之前没 有保持共享的资源,但它应当被准备以用合理的时间量来执行。
初始 化方法704只能被调用一次。
在初始化方法704成功返回之后,应用在 暂停状态。
如果初始化方法704不能成功返回,则应用返回一个状态改 变异常,其指示应用不能进入暂停状态。
一旦应用在暂停状态,则应用就可以进入激活状态。
不过,只有应 用管理程序能够使用开始方法708使得该状态改变。
开始方法708一旦 被调用,就发信号给应用以开始提供业务并进入激活状态。
在激活状 态,应用可以保持共享资源。
多个故障可以阻止业务开始。
例如,故 障可以是暂时的或者非暂时的。
根据一个实施例,应用在这两种类型 的故障之间进行区别。
对于暂时故障,出现一个状态改变异常。
当非 暂时故障出现时,另一个异常可以出现或者一个完成方法可以被调用 以正确地终止该方法。
例如,当应用确定它不能接入它执行所需要的 资源时,这可以作为一个暂时或者非暂时故障实现。
暂停方法710一旦被应用管理程序调用,就发信号给应用以停止执 行并从激活状态进入暂停状态。
在暂停状态,应用停止执行并试图使 用尽可能少的资源。
这样,应用可以释放部分或者全部它所保持的共 享资源。
可能希望从被加载、激活或暂停中的任何一种状态终止应用。
这可 以通过调用一个消灭方法712来实现。
消灭方法712发信号给应用以终 止并进入被消灭状态。
在被消灭状态,应用应当释放所有资源并保持 选择或状态信息。
当应用管理程序希望消灭(例如终止)一个应用时,它可能希望指 示各种等级的紧急。
根据一个实施例,当一个预定条件被满足时,可 以执行终止一个应用。
作为一个例子,预定条件可以是来自同意该太 早终止的应用的一个信号的出现。
作为另一个例子,预定条件可以是 在指定时间段中没有从应用接收到一个信号。
这可以通过到消灭方法 712的参数714来实现。
参数714指示当在第一状态时,消灭信号是有条 件的,而在第二状态时,消灭信号是无条件的。
这样,当应用管理程 序只希望请求该应用终止时,它可以根据应用终止的决定而指定消灭 信号是有条件的。
应用可以通过出现一个状态改变异常而指示它希望 继续执行,因此不进入被消灭状态。
如果应用管理程序希望承兑来自 应用的请求,则应用管理程序在后来再次调用消灭方法。
可替代地, 应用管理程序试图消灭具有例如更高(更低)优先级的另一个应用。
以这种方式,应用管理程序可以从那些选择终止的应用获取其(例如 要被加载的下一个应用)需要的资源。
此外,应用管理程序试图以指 定顺序消灭应用,如优先级顺序,应用使用最多(最少)量存储器或 者其中执行已经被初始化的顺序。
当应用管理程序需要一个指定应用终止时,它通过消灭方法712的 参数714指定消灭信号是无条件的来指示这点。
例如,当应用管理程序 需要应用保持的所有资源时,应用管理程序可以指定消灭信号是无条 件的。
这样,当消灭信号是无条件的时,应用管理程序可以强迫一个 应用终止并释放其保持的资源。
因此,即使一个应用出现一个指示其 希望继续执行的状态改变异常,当消灭信号是无条件的时,应用管理 程序也可以忽视该异常。
尽管以上描述引用一个应用的有条件和无条 件终止,但其它操作也可以有条件地和无条件地类似执行。
如上所述,当一个应用被初始化时,一个应用环境对象可以传送到 该应用。
此外,应用环境对象为一个应用提供检索属性的机制以及发 送内部状态改变信号的方法。
根据一个实施例,应用环境对象有一个 应用环境接口,其可用于被加载和执行的应用。
更具体地,一旦应用 被初始化,应用环境接口对于该应用就可用了。
图8是说明由一个执行应用在该应用的生存周期中调用的示范应 用环境接口识别方法的图。
如图所示,并如下所述,一个应用环境接 口802提供几个方法,以允许一个应用发现关于其环境的信息,并与关 于其状态改变和希望的状态改变与应用管理程序通信。
如上所述,应用可以从被加载、激活或暂停状态进入消灭状态。
此 外,应用管理程序或应用可以使得应用进入消灭状态。
如参考图7所描 述的,应用管理程序可以通过调用消灭方法来消灭应用。
可替代地, 应用环境接口802的被消灭方法804使得应用能够发信号表明其已经进 入被消灭状态。
然后,应用管理程序可以无需调用如上面参考图7所描 述的在应用接口中提供的消灭方法,而将应用状态更新为被消灭。
应 用执行相同的操作(例如清除、释放资源),就好像应用被应用管理 程序消灭一样。
这最好是在应用本身进入被消灭状态之前执行。
当应用管理程序在激活状态时,应用管理程序或应用可以使得应用 进入暂停状态。
更具体地,如图7所示并参考图7所描述,应用管理程 序可以使用暂停方法来暂停应用。
可替代地,应用可以发信号表明应 用不希望被激活并且已经通过暂停方法806进入暂停状态。
具有参数810的获得属性方法808为应用提供一个机制以从应用环 境对象中检索一个或多个属性。
作为一个例子,在一个Java环境中, “根容器(root container)”典型地用于包含用户接口组件(例如 下拉菜单、按钮),以便它们能够显示在Java环境中。
这样,获得属 性方法808可以用于确定其中放置组件的根容器。
作为另一个例子,可 以获得与广播数据流相关的信息(例如在广播数据流中的位置)。
其 它属性可以包括例如对一个业务对话对象(业务上下文)的关联以及 特定于基本传输协议的信息。
尽管只有应用管理程序可以使得一个应用进入激活状态,但应用可 以希望指示它对进入激活状态感兴趣。
根据一个实施例,这通过恢复 请求方法812来完成。
通过恢复请求方法812,一个或多个应用的每一 个指示希望进入激活状态。
不过,能够同时执行的应用的数量可以由 应用管理程序遵循的一组规则来限制。
例如,如上面参考图2B所示, 这些规则可以规定在一个时间只有一个应用可以被激活。
这样,可以 由一个应用管理程序使用对于恢复请求方法812的调用以确定那些希 望进入激活状态的应用,以便应用管理程序选择一个或多个请求应用 以进入激活状态。
通过上述接口,应用的生存周期可以由应用管理程序和应用控制。
尽管接口定义得很好,但是只要遵照相关接口(以及相关状态机), 就可以用多种方法来实现如上参考图7和图8所述的方法的主体。
图9是说明可以由应用管理程序或者一个应用在该应用的生存周 期中调用的示范方法。
如图9所示,可以由应用管理程序902和由应用 管理程序902管理的每个应用904调用独立的一组方法。
如前面参考图7 所述的,可以由应用管理程序902调用第一组方法,包括初始化方法 906、开始方法908、消灭方法910和暂停方法912。
同样,如前面参考 图8所述的,可以由相应的应用904调用第二组方法,包括暂停方法 914、消灭方法916、恢复请求方法918和获得属性方法920。
图10中的处理流程图说明了一个方法,该方法根据本发明的一个 实施例,一个应用管理程序按照一个应用的生存周期加载该应用并执 行该应用。
在块1002,处理开始,并且在块1004,数字电视接收机被 打开。
然后,在块1006启动Java环境。
然后在块1008建立一个应用管 理程序来管理一个或多个应用的加载和执行。
然后在块1010运行应用 管理程序。
可以由诸如图1所示的一个数字电视接收机接收多个数字电视服 务。
除了接收多个频道(或者服务)之外,这些服务可以从交互式电 视到近视频点播,到专用规划。
更具体地,由电视频道提供的服务通 常包括音频、视频和应用。
当在块1012选择一个服务(例如通过用户 切换频道)时,在块1014,与被选择服务相关的数据流就通过数字电 视接收机接收。
例如,当用户切换到迪斯尼频道时,迪斯尼服务就被 选择并且接收到与迪斯尼服务相关的数据流。
在块1016,确定在数据流中是否出现与所选择服务相关的应用。
例如,当用户选择迪斯尼服务时,就在数据流中接收到一个迪斯尼应 用。
如果在块1018确定在数据流中出现一个应用,则应用管理程序如 块1022所示加载应用并在块1024根据该应用的生存周期执行该应用。
下面将分别参考图11和图12进一步描述加载和执行处理。
处理如块 1026所示完成。
如果没有应用出现在数据流中,则处理返回到1020以 等待有关在块1014中接收到的数据流中出现的应用的新信号。
然后处 理在块1016继续。
图11的处理流程图说明了一个如图10中块1022所示加载一个应用 的方法。
处理在块1102开始。
在块1104,诸如在图3中所示的信号数据 由应用管理程序在块1104接收。
一旦接收到信号,应用管理程序就能 够定位并加载应用。
为了存储与应用相关的信息,在块1106创建诸如 图4B所示的应用上下文。
然后,该应用上下文可以用于维护对于与该 应用相关的所有信息的关联。
例如,一旦如块1108所示,应用管理程 序为应用创建一个类加载器,则在应用上下文中维护对于该类加载器 的关联。
然后,在块1110通过类加载器加载与应用相关的类。
然后, 在块1112从这些类中创建应用的一个实例。
一旦应用被实例产生,就如块1114所示,应用进入被加载状态。
为了使得应用能够获取与其环境相关的属性并与应用管理程序通信, 在块1116实例产生遵照例如如图8所示的一个应用环境接口的应用环 境对象。
然后,在块1118,当应用管理程序调用初始化方法时,为应 用初始化应用环境对象。
除了加载应用之外,应用管理程序还负责监视和管理该应用的执 行。
图12中的流程图说明一个方法,其根据如图10的块1024所示的应 用的生存周期来执行应用。
通过诸如图7和图8所示的那些接口的使 用,应用和应用管理程序可以提议、延迟、阻止或实现应用的状态中 的一个改变。
下面是其中应用的状态在该应用的整个生存周期中改变 的方式的简要描述。
在块1202,该处理开始。
一旦应用已经进入被加 载状态,应用就在块1204等待应用管理程序将应用状态改为暂停。
例 如,如上所述,如块1206所示,应用管理程序可以使用在应用接口中 提供的初始化方法来初始化应用,使得应用进入暂停状态,下面将参 考图13对此进一步详细描述。
一旦应用改变到暂停状态,则在块1208, 应用管理程序最终将该应用的状态改变到激活状态(例如使用开始方 法),下面将参考图14对此进一步详细描述。
需要特别指出的是,只 有应用管理程序可以使得应用进入激活状态。
在块1210,分别通过在 应用环境接口中可获得的暂停方法或者在应用接口中可获得的暂停方 法,由应用或者应用管理程序使得应用从激活状态进入暂停状态。
一 旦被暂停,应用可以通过在应用环境接口中可获得的恢复请求方法来 请求恢复执行。
在块1212,应用或应用管理程序还可以分别通过在应 用环境接口中可获得的消灭方法或者通过在应用接口中可获得的消灭 方法来使得应用终止和进入消灭状态。
如图所示,应用可以从被加载、 暂停或激活的任何一种状态在块1212中进入消灭状态。
例如,当应用 完成执行时,应用可以进入消灭状态。
此外,响应于由电视接收机接 收的一个信号,可以启动诸如加载、启动或者终止一个应用的操作的 启动。
这可以例如出现在一个新的程序开始或者用户按下电视遥控器 上的一个按钮来选择一个新频道时。
一旦一个应用按照需要改变其状 态(例如方法正确地返回),则如图4A和图4B所示,应用管理程序更 新在相关的应用上下文中的应用的当前状态。
尽管未参考图12描述, 但是上述状态改变是遵照由应用发出的任何状态改变异常来执行。
这 样,在大多数情况下,当由应用发出一个状态改变异常时,应用管理 程序不更新应用的当前状态。
而是它试图在后来请求相同的状态改 变、另一个状态改变或者请求另一个应用的状态改变。
一旦被消灭,由应用保持的资源就被释放。
例如,可以由应用管理 程序(例如通过接收机从应用或者广播环境)接收一个信号以启动清 除应用。
更具体地,在块1214,类加载器可以卸载与应用相关的类。
此外,如图4A和图4B所示的应用上下文列表关联的应用上下文可以被 释放。
如上所述,应用管理程序将应用的状态从被加载改变成暂停以为其 准备执行。
图13的流程图说明了一个方法,其如图12的块1206所示, 将一个应用的状态从被加载改变成为暂停。
在块1302,该处理开始。
在块1304,应用管理程序调用应用接口中的初始化方法并将应用环境 对象作为参数传送。
然后,在块1306,应用使用应用环境对象来初始 化其本身。
例如,应用环境对象可以获取诸如根容器这样的其可能在 初始化本身时使用的属性。
之后,如块1308所示,应用进入暂停状态。
根据一个实施例,只有应用管理程序可以将应用的状态改变为激活 状态。
图14中的流程图说明了一个方法,其如图12的块1208所示,将 一个应用的状态从暂停改变成为激活。
该处理在块1402开始。
在块 1404,应用接收一个信号以启动应用。
例如,当一个新程序开始或者 当用户按下电视遥控器上的一个按钮时,可以由应用管理程序接收这 个启动信号。
对于某些服务,当它们被收听时,应用可以自动启动。
然后,在块1406,应用管理程序调用在应用接口中提供的开始应用方 法。
在块1408,应用执行其服务并进入激活状态。
本发明可以应用于各种情况。
一个例子是在各个频道中显示在显示 器(例如电视屏幕)下面的证券报价机。
可以由一个接收机从广播服 务或者到中央服务器或广播公司(例如通过调制解调器电缆或者到互 联网的其它连接)的反向频道获得证券信息。
假设证券报价机应用在 初始化之后处于暂停状态,用户按下电视遥控器上的一个按钮,来发 信号给应用管理程序要启动证券报价机应用。
应用管理程序调用用于 证券报价机应用的启动应用方法。
应用管理程序假设应用在该点正在 执行其服务。
一旦接收到启动信号,证券报价机应用就创建打开反向 频道以检索证券报价的新的线程。
现在,证券报价机应用在激活状态。
在激活状态中,证券报价机继续显示证券报价。
不过,由于在应用 控制周围的环境,证券报价机不再能够检索被更新的证券报价。
在这 些情况下,应用可以决定继续显示它可以获得的最近证券报价。
不过, 过了一段时间之后,应用可能仍然无法打开反向频道。
因此,应用决 定它所显示的报价太旧了,以致于它不能再执行其服务。
然后,应用 可以选择通过调用应用环境对象中的暂停方法来使其本身脱离激活状 态并将该变化发信号给应用管理程序。
此外,应用在该点或者后来的 时间判定它不再有执行其服务的机会,从而它决定其应当终止。
应用 进行一些清除,释放该应用不再需要的资源。
然后,应用终止并调用 应用环境对象中的消灭方法以发信号给应用管理程序表明其已经进入 被消灭状态。
然后,应用管理程序对该应用进行相应的清除。
可以在任何合适的计算机系统中实现本发明。
图15表示一个适于 实现本发明的典型的、通用的计算机系统1502。
该计算机系统可以采 用任何合适的形式。
例如,该计算机系统可以与一个数字电视接收机 或机顶盒集成在一起。
本领域的技术人员应当理解,计算机系统1530或者更明确地,CPU 1532可以被用来支持一个虚拟机。
计算机系统1502包括任何数量的处 理器1504(也称作这样处理单元或者CPU),该处理器可以连接到包括 主存储设备1506(典型地是只读存储器或ROM)和主存储设备1508(典 型地是随机读取存储器或RAM)的存储设备。
本领域众所周知,ROM用 于单向传送数据和指令到CPU1504,而RAM典型地用于以双向方式传送 数据和指令。
存储设备1506和1508可以包括任何合适的计算机可读介 质。
CPU1504通常包括任何数量的处理器。
辅助存储介质1510(典型地是大容量存储器)也可以双向耦合到 CPU1504,并提供额外的数据存储容量。
大容量存储设备1510是用于 存储包括计算机代码、数据等的计算机可读介质。
典型地,大容量存 储设备1510是诸如通常比主存储设备1506和1508慢的硬盘的存储介 质。
CPU1504还可以连接到一个或多个输入/输出设备1512,该输入/ 输出设备可以但非限制地包括的设备例如是视频监视器、跟踪球、鼠 标、键盘、麦克风、触摸式显示器、传感器输入机、磁或纸带输入机、 输入板、铁笔、语音或手写识别器或其它众所周知的诸如其它计算机 的输入设备。
最后,CPU1504可选地可以使用通常如1514所示的网络 连接来连接到计算机或电信网,例如互联网或企业内部互联网。
利用 这种网络连接,可以期望CPU1504在执行上述方法步骤的过程中从网 络接收信息,或者输出信息到网络。
通常表示为一系列指令的通过使 用CPU1504执行的这种信息可以从网络接收和输出到网络,例如以载 波中包含的计算机数据信号的形式。
通过使用应用管理程序根据每个应用的生存周期来加载和管理该 应用的执行,应用的执行被标准化并且存储器资源被有效地保存。
应 用的生存周期部分地通过以一致方式控制应用可能进入的状态来实 现。
根据一个实施例,定义用于控制应用的生存周期的恰当方法的接 口可以提供给应用以及应用管理程序。
以这种方式,应用和应用管理 程序可以传送状态改变、请求状态改变、请求状态改变被延迟或取消, 还可以传送其它状态信息。
通过使用本发明,应用可以在不同时间运 行于不同的机器上,仍然能以可预测的方式产生相同的结果。
此外, 本发明使得当确定资源不再被需要时,与应用相关的存储器被释放。
给定了数字接收机和机顶盒中的有限数量的存储器,管理数字电视环 境中的存储器资源的能力代表一个重要的改进。
尽管这里示出并描述了本发明的示例实施例和应用,但是在本发明 概念、范围和精神内的许多变化和修改都是可能的,并且这些变化对 于本领域的普通技术人员来说在阅读了本申请之后将会更加清晰。
例 如,本发明被描述为在数字电视接收机环境中实现。
但是,本发明也 可以用于其它环境。
此外,尽管本发明被描述为在JAVA PLATFORM上实 现,但是它也可以在其它各种平台上实现。
此外,所描述的处理块只 是示例用的。
因此,应用管理程序和应用生存周期的实现可以通过使 用替代的处理块以及替代的数据结果而被执行。
此外。
尽管应用管理 程序和应用被描述为具有独立接口,但是这些接口也可以包括对于所 有应用以及应用管理程序可见的公共方法。
因此,本实施例应当被认 为是说明性的而非限制性的,并且本发明并不局限于这里给出的细 节,而是可以在附加权利要求的范围和等同物内修改。
展开

查看更多专利详情信息请先登录或注册会员

相关专利类别推荐

获取手机验证码,即可注册成为会员

专利详情咨询

咨询内容

姓名

手机

验证码

用户登录

手机号

手机验证码

提示

不能再减了!!!

提交成功

八月瓜客服中心已经收到您的信息,正在为您派遣知识产权顾问。知识产权顾问会携带贴心的服务以闪电搬的速度与您联系。

扫一扫关注八月瓜微信 创业一手掌握