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

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

Info

Publication number
CN1227588C
CN1227588C CNB008102686A CN00810268A CN1227588C CN 1227588 C CN1227588 C CN 1227588C CN B008102686 A CNB008102686 A CN B008102686A CN 00810268 A CN00810268 A CN 00810268A CN 1227588 C CN1227588 C CN 1227588C
Authority
CN
China
Prior art keywords
state
application
execution
activation
halted
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 - Lifetime
Application number
CNB008102686A
Other languages
English (en)
Other versions
CN1360695A (zh
Inventor
B·H·卡德尔
T·叶
J·D·里瓦斯
J·D·库尔特尼
K·L·梅瑟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/465,994 external-priority patent/US6874145B1/en
Priority claimed from US09/465,980 external-priority patent/US7257812B1/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1360695A publication Critical patent/CN1360695A/zh
Application granted granted Critical
Publication of CN1227588C publication Critical patent/CN1227588C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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
    • H04N21/4728End-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 for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video

Abstract

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

Description

用于根据应用生存周期 管理该应用的方法和设备
发明领域
本发明总体上涉及计算机软件。更具体而言,本发明涉及用于管理一个应用的执行的方法和设备。此外,本发明还涉及用于实现对于软件应用的应用生存周期设计的方法和设备。
相关技术描述
数字电视革命是广播电视的历史中最重要的事件之一。随着数字电视的到来,可以通过卫星、电缆以及陆地电视频道来传送高速数据。数字电视为用户提供更多频道以及显著提高的视频和音频质量。最重要的是,数字电视引导了真正的交互式电视的年代。例如,数字接收机能够为用户提供多种增强业务,包括从简单的交互式测试表演到互联网以及电视和万维网类型的内容。随着对于数字电视市场的扩大,内容开发者正在寻找富于特性的、成本有效的以及可靠的软件平台,用于创建诸如电子节目向导、视频点播以及增强广播的下一代交互式电视业务。
Java是设计为可以运行在任何支持JAVATMPLATFORM的兼容设备上的便携式语言的主要商用面向对象的语言。例如,Java被包括在所有主要的万维网浏览器中。这样,Java运行在任何通过计算机的万维网浏览器启动万维网的计算机上。这样,Java提供了作为用于机顶盒和数字电视的软件平台的极大承诺。
在面向对象的程序设计中,代码和数据被合并到对象中。每个对象被通过其类定义,类定义了一个对象的属性和状态。换句话说,对象是一个类的各个实例。
在桌面环境中,由于存储器是相对无限的,所以与每个被加载的应用(例如类和对象)不需要被频繁地释放或密切地监视。不过,存储器是嵌入式系统环境中的有价值的资源,尤其是在数字电视领域。此外,在交互式数字电视环境中,通常会运行多个应用。一个数字电视业务可以包括音频、视频和一个或多个应用。例如,当电视观众改换频道时,由该频道提供的每个相关的业务或节目可能都需要加载多个类。结果,存储器被不断地分配给这些应用以及相关的类,直到耗尽了有限数量的存储器为止。一旦存储器被耗尽,就不可能运行任何其它应用了。因为不希望在发生错误时重新启动机顶盒,所以这一点尤其重要。
JAVA PLATFORM目前定义了多个应用模型,每个模型有其自己的生存周期。通常,这些应用的生存周期模型被设计来解决关于JAVAPLATFORM的特殊问题。例如,小应用程序(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或者更明确地,CPU1532可以被用来支持一个虚拟机。计算机系统1502包括任何数量的处理器1504(也称作这样处理单元或者CPU),该处理器可以连接到包括主存储设备1506(典型地是只读存储器或ROM)和主存储设备1508(典型地是随机读取存储器或RAM)的存储设备。本领域众所周知,ROM用于单向传送数据和指令到CPU 1504,而RAM典型地用于以双向方式传送数据和指令。存储设备1506和1508可以包括任何合适的计算机可读介质。CPU 1504通常包括任何数量的处理器。
辅助存储介质1510(典型地是大容量存储器)也可以双向耦合到CPU 1504,并提供额外的数据存储容量。大容量存储设备1510是用于存储包括计算机代码、数据等的计算机可读介质。典型地,大容量存储设备1510是诸如通常比主存储设备1506和1508慢的硬盘的存储介质。
CPU 1504还可以连接到一个或多个输入/输出设备1512,该输入/输出设备可以但非限制地包括的设备例如是视频监视器、跟踪球、鼠标、键盘、麦克风、触摸式显示器、传感器输入机、磁或纸带输入机、输入板、铁笔、语音或手写识别器或其它众所周知的诸如其它计算机的输入设备。最后,CPU 1504可选地可以使用通常如1514所示的网络连接来连接到计算机或电信网,例如互联网或企业内部互联网。利用这种网络连接,可以期望CPU 1504在执行上述方法步骤的过程中从网络接收信息,或者输出信息到网络。通常表示为一系列指令的通过使用CPU 1504执行的这种信息可以从网络接收和输出到网络,例如以载波中包含的计算机数据信号的形式。
通过使用应用管理程序根据每个应用的生存周期来加载和管理该应用的执行,应用的执行被标准化并且存储器资源被有效地保存。应用的生存周期部分地通过以一致方式控制应用可能进入的状态来实现。根据一个实施例,定义用于控制应用的生存周期的恰当方法的接口可以提供给应用以及应用管理程序。以这种方式,应用和应用管理程序可以传送状态改变、请求状态改变、请求状态改变被延迟或取消,还可以传送其它状态信息。通过使用本发明,应用可以在不同时间运行于不同的机器上,仍然能以可预测的方式产生相同的结果。此外,本发明使得当确定资源不再被需要时,与应用相关的存储器被释放。给定了数字接收机和机顶盒中的有限数量的存储器,管理数字电视环境中的存储器资源的能力代表一个重要的改进。
尽管这里示出并描述了本发明的示例实施例和应用,但是在本发明概念、范围和精神内的许多变化和修改都是可能的,并且这些变化对于本领域的普通技术人员来说在阅读了本申请之后将会更加清晰。例如,本发明被描述为在数字电视接收机环境中实现。但是,本发明也可以用于其它环境。此外,尽管本发明被描述为在JAVAPLATFORM上实现,但是它也可以在其它各种平台上实现。此外,所描述的处理块只是示例用的。因此,应用管理程序和应用生存周期的实现可以通过使用替代的处理块以及替代的数据结果而被执行。此外。尽管应用管理程序和应用被描述为具有独立接口,但是这些接口也可以包括对于所有应用以及应用管理程序可见的公共方法。因此,本实施例应当被认为是说明性的而非限制性的,并且本发明并不局限于这里给出的细节,而是可以在附加权利要求的范围和等同物内修改。

Claims (65)

1.一种用于根据一个应用的生存周期管理一个应用的执行的方法,该方法包括:
接收指示一个新业务被选择的信号的步骤;
当新业务被选择时启动应用的执行以便应用进入激活状态的步骤;
暂停应用的执行,以便应用从激活状态进入暂停状态的步骤;
从应用接收一个指示应用请求恢复执行并从暂停状态进入激活状态的恢复请求的步骤;以及
启动应用的执行以便当从应用接收到恢复请求时应用从暂停状态进入激活状态的步骤。
2.一种用于根据一个应用的生存周期管理多个应用的执行的方法,该方法包括:
启动多个应用中的每一个的执行以便多个应用进入激活状态的步骤;
暂停多个应用之一的执行以便多个应用之一从激活状态进入暂停状态的步骤;
从多个应用的一个或多个接收恢复请求的步骤,该恢复请求指示多个应用的一个或多个请求恢复执行并从暂停状态进入激活状态;
选择所述恢复请求被从中接收的所述多个应用的一个或多个的那个应用的步骤;以及
响应于接收到恢复请求而启动所选择应用的执行,以便所选择的应用从暂停状态进入激活状态的步骤。
3.一种用于根据一个应用的生存周期管理一个应用的执行的方法,该方法包括:
第一次请求所述应用将其状态从第一状态改变为第二状态的步骤;
确定应用是否将其状态从第一状态改变为第二状态的步骤;以及
当确定应用没有将其状态从第一状态改变为第二状态并且满足一个预定条件时,第二次请求应用将其状态从第一状态改变为第二状态的步骤,
其中预定条件指示一个确定的时间段已经过去或者应用现在能够执行所请求的状态改变,其中第一状态是激活、暂停或者被加载状态并且第二状态是指示应用被终止的被消灭状态。
4.如权利要求3所述的方法,其中当由应用发出一个状态改变异常时,确定应用没有改变其状态。
5.如权利要求3所述的方法,其中当应用拒绝所请求的状态改变时,确定应用没有改变其状态。
6.如权利要求3所述的方法,其中当应用不能执行所请求的状态改变时,确定应用没有改变其状态。
7.一种用于根据一个应用的生存周期管理一个应用的执行的方法,该方法包括:
请求所述应用将其状态从第一状态改变为第二状态的步骤;
确定应用是否将其状态从第一状态改变为第二状态的步骤;以及
当确定应用没有将其状态从第一状态改变为第二状态时,请求应用将其状态从第一状态改变为第三状态的步骤,
其中第一状态是指示应用当前正在执行的激活状态,第二状态是指示应用的执行已经被终止的被消灭状态,并且第三状态是指示应用的执行已经被暂停从而应用可以恢复执行的暂停状态。
8.如权利要求7所述的方法,其中当由应用发出一个状态改变异常时,确定应用没有改变其状态。
9.如权利要求7所述的方法,其中当应用拒绝所请求的状态改变时,确定应用没有改变其状态。
10.如权利要求7所述的方法,其中当应用不能执行所请求的状态改变时,确定应用没有改变其状态。
11.一种用于根据一个应用的生存周期管理一个应用的执行的方法,该方法包括:
请求第一应用将其状态从第一状态改变为第二状态的步骤;
确定第一应用是否将其状态从第一状态改变为第二状态的步骤;以及
当确定第一应用没有将其状态从第一状态改变为第二状态时,请求第二应用将其状态从第一状态改变为第二状态的步骤,
其中第一状态是激活、暂停或被加载状态,并且第二状态是指示应用被终止的被消灭状态。
12.如权利要求11所述的方法,其中当由第一应用发出一个状态改变异常时,确定第一应用没有改变其状态。
13.如权利要求12所述的方法,其中第二状态是指示相关应用正在被执行的激活状态,并且当第一应用使其本身进入暂停状态或终止状态时,由第一应用发出状态改变异常。
14.如权利要求11所述的方法,其中当第一应用拒绝所请求的状态改变时,确定第一应用没有改变其状态。
15.如权利要求11所述的方法,其中当第一应用不能执行所请求的状态改变时,确定第一应用没有改变其状态。
16.一种用于根据一个应用的生存周期管理应用的执行的系统,该系统包括:
用于存储一个或多个规则的装置;以及
一个应用管理器,其能够根据一个应用的生存周期执行一个或多个应用,使得每个应用能够响应于一个或多个相关的预定命令而进入多个状态之一,该应用管理器能够选择一个预定命令以根据一个或多个规则来执行并且能够改变应用的当前状态。
17.如权利要求16所述的系统,还包括:
连接到应用管理器并能够接收数据流的信令监视器,该信令监视器用于确定一个应用是否出现在数据流中以及将与该应用相关的信息传送给应用管理器。
18.如权利要求16所述的系统,其中应用管理器被配置以存储对于每个应用的应用上下文,该应用上下文标识多个状态中当前的一个状态。
19.如权利要求18所述的系统,其中多个状态中的当前一个状态由相关的应用标识给应用管理器。
20.如权利要求18所述的系统,其中应用上下文还识别一个能够加载一个或多个与应用相关的类的类加载器。
21.如权利要求18所述的系统,其中应用上下文还识别包括要显示的显示信息的显示上下文。
22.如权利要求18所述的系统,其中应用上下文还识别使得相关应用能够与应用管理器通信的应用环境对象。
23.如权利要求18所述的系统,其中应用上下文还识别使得相关应用能够检索与其运行时间环境相关的属性的应用环境对象。
24.如权利要求18所述的系统,其中应用上下文还识别使得相关应用能够传送到多个状态之一的状态改变的应用环境对象。
25.如权利要求18所述的系统,其中应用上下文还识别使得相关应用能够请求应用管理器将应用的当前状态从暂停状态改变为激活状态的应用环境对象。
26.如权利要求16所述的系统,还包括:
一个显示管理器,其连接到应用管理器并用于管理对于每个应用的显示上下文,当显示上下文可见时,该显示上下文在第一状态,当显示上下文不可见时,该显示上下文在第二状态。
27.如权利要求26所述的系统,其中当相关应用在激活状态时,显示上下文在第一状态,当相关应用在暂停状态时,显示上下文在第二状态。
28.如权利要求26所述的系统,其中显示上下文的状态根据应用管理器遵循的一个或多个规则来确定。
29.一种用于根据一个应用的生存周期来管理应用的执行的数字电视接收机,包括:
用于从一个数据流确定一个应用是否出现在该数据流中的装置;
用于当确定一个应用出现在数据流中时加载一个应用的装置;以及
用于根据包括多个状态的应用的生存周期执行该加载的应用的装置,
其中用于执行应用的装置包括:
对于应用管理器可见的第一接口装置,第一接口装置用于使得应用管理器能够使得应用从多个状态之一改变为多个状态中的另一个状态;以及
对于应用可见的第二接口装置,第二接口装置用于使得所述应用能够将应用从第一组多个状态中的一个到第二组多个状态中的一个的状态改变传送给应用管理器。
30.如权利要求29所述的数字电视接收机,其中第二组多个状态包括指示应用已经被暂停的暂停状态以及指示应用已经被终止的被消灭状态。
31.如权利要求29所述的数字电视接收机,其中用于执行应用的装置包括:
对于应用可见的第三接口装置,第三接口装置用于使得所述应用能够请求所述应用管理器将所述应用的状态改变为多个状态中的第一个状态。
32.如权利要求31所述的数字电视接收机,还包括:
用于将应用的状态从多个状态中的第二个状态改变为多个状态中的第一个状态的装置。
33.如权利要求32所述的数字电视接收机,其中第一个状态是激活状态并且第二个状态是暂停状态。
34.如权利要求29所述的数字电视接收机,其中用于执行应用的装置包括:
对于应用可见的第四接口装置,第四接口装置用于使得应用能够将应用不能按照应用管理器所请求的改变其状态这一信息传送给应用管理器。
35.如权利要求34所述的数字电视接收机,还包括:
使得应用能够发出指示应用请求不按照应用管理器所请求的改变其状态的状态改变异常的装置。
36.如权利要求30所述的数字电视接收机,还包括:
用于当应用已经被终止时释放与该应用相关的存储器的装置。
37.如权利要求29所述的数字电视接收机,还包括:
用于创建与应用相关的类加载器的装置,该类加载器用于加载一个或多个与该应用相关的类;
用于采用该类加载器加载与应用相关的类的装置;
用于使用已经由类加载器加载的类来实例化应用的装置。
38.如权利要求37所述的数字电视接收机,还包括:
用于当应用被终止时卸载与该应用相关的类的装置。
39.如权利要求38所述的数字电视接收机,其中用于卸载类的装置还适合于:
解除关联类加载器。
40.一种由应用管理器用于管理数字电视接收机环境中的一个应用的执行的系统,该系统根据构成一个应用的生存周期的多个状态来执行一个应用,该系统包括:
用于加载应用从而使得应用进入被加载状态的装置;
用于暂停应用从而使得应用进入暂停状态的装置,应用被初始化从所述被加载状态转变为所述暂停状态;
用于执行应用从而使得应用进入激活状态的装置,应用被启动从所述暂停状态转变为所述激活状态;以及
用于消灭应用从而使得应用进入被消灭状态的装置,应用被终止以从所述的激活状态或所述的暂停状态转变为所述被消灭状态。
41.如权利要求40所述的系统,其中当应用在所述被加载状态中被终止时,应用可以从所述被加载状态转变为所述被消灭状态。
42.如权利要求41所述的系统,其中应用管理器或者应用可以启动到所述被消灭状态的转变。
43.如权利要求40所述的系统,其中当应用要被暂停时,应用能够从所述激活状态转变为所述暂停状态。
44.如权利要求43所述的系统,其中应用管理器或者应用能够启动从所述激活状态到所述暂停状态的转变。
45.如权利要求40所述的系统,其中只有应用管理器通过启动应用来启动从所述暂停状态到所述激活状态的改变。
46.一种用于根据一个应用的生存周期管理应用的执行的方法,该方法,包括:
加载应用以便应用进入被加载状态的步骤;
当应用在被加载状态时初始化应用以便应用进入暂停状态的步骤;
当应用在暂停状态时启动应用的执行以便应用进入激活状态的步骤;以及
当应用在被加载状态、暂停状态或激活状态时终止应用的执行以便应用进入被消灭状态的步骤。
47.如权利要求46所述的方法,还包括:
当应用在激活状态时暂停应用以便应用进入暂停状态的步骤。
48.如权利要求46所述的方法,其中当应用在暂停状态时启动应用的执行的步骤不由应用来执行。
49.如权利要求46所述的方法,其中当应用在暂停状态时启动应用的执行的步骤只由应用外部的过程来执行。
50.如权利要求47所述的方法,其中当应用在激活状态时暂停应用的执行的步骤由应用外部的应用或过程来执行。
51.如权利要求46所述的方法,其中终止应用的步骤由应用外部的应用或过程来执行。
52.一种用于根据一个应用的生存周期来管理应用的执行的方法,该方法包括:
初始化一个应用以便该应用进入暂停状态的步骤;
启动应用的执行以便应用进入激活状态的步骤;
暂停应用的执行以便应用进入暂停状态的步骤;以及
终止应用以便应用进入被消灭状态的步骤。
53.一种用于根据一个应用的生存周期来管理应用的执行的方法,该方法包括:
启动应用的执行以便应用进入激活状态的步骤;
暂停应用的执行以便应用进入暂停状态的步骤;
当满足预定条件时,有条件地终止应用的执行以便应用进入被消灭状态的步骤;以及
当未满足预定条件时,无条件地终止应用的执行以便应用进入被消灭状态的步骤。
54.如权利要求53所述的方法,其中预定条件是从应用接收的一个信号。
55.如权利要求53所述的方法,其中预定条件是在确定的时间段中没有从应用接收到一个信号。
56.如权利要求53所述的方法,还包括:
当未满足预定条件时,忽略由应用发出的状态改变异常的步骤,该状态改变异常指示应用请求不被终止。
57.一种用于根据一个应用的生存周期来管理应用的执行的方法,该方法包括:
启动应用的执行以便应用进入激活状态的步骤;
暂停应用的执行以便应用进入暂停状态的步骤;以及
终止应用以便应用进入被消灭状态的步骤;
其中启动应用的执行的步骤、暂停应用的执行的步骤以及终止应用的步骤由除了所述应用以外的过程来启动。
58.如权利要求57所述的方法,其中终止应用的步骤包括接受一个参数,该参数指示当该参数在第一状态时,应用的终止是无条件的,而当该参数在第二状态时,应用的终止为有条件的。
59.一种用于根据一个应用的生存周期来管理应用的执行的方法,该方法包括:
由所述应用对该应用已经决定终止并已经从被加载状态、暂停状态或激活状态进入被消灭状态进行传送的步骤;
由所述应用对该应用已经决定暂停其执行并已经从激活状态进入暂停状态进行传送的步骤。
60.如权利要求59所述的方法,还包括:
由所述应用对该应用请求恢复执行并从暂停状态进入激活状态进行传送的步骤。
61.如权利要求59所述的方法,还包括:
获取与应用的运行时间环境相关的信息的步骤。
62.一种用于根据一个应用的生存周期来管理应用的执行的方法,该方法包括:
由应用管理器启动应用的执行以便应用进入激活状态的步骤,其中启动应用的执行的步骤不由应用执行;
暂停应用的执行以便应用进入暂停状态的步骤;以及
由应用对应用请求恢复执行并从暂停状态进入激活状态进行传送的步骤。
63.如权利要求62所述的方法,还包括:
通过应用对应用已经决定暂停其执行并已经从激活状态进入暂停状态进行传送的步骤。
64.如权利要求62所述的方法,还包括:
终止应用以便应用进入被消灭状态的步骤。
65.如权利要求64所述的方法,还包括:
通过应用对应用已经决定终止并已经进入被消灭状态进行传送的步骤。
CNB008102686A 1999-07-13 2000-07-13 用于根据应用生存周期管理该应用的方法和设备 Expired - Lifetime CN1227588C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US14342899P 1999-07-13 1999-07-13
US60/143,428 1999-07-13
US09/465,994 1999-12-16
US09/465,994 US6874145B1 (en) 1999-07-13 1999-12-16 Methods and apparatus for implementing an application lifecycle design for applications
US09/465,980 1999-12-16
US09/465,980 US7257812B1 (en) 1999-12-16 1999-12-16 Methods and apparatus for managing an application

Publications (2)

Publication Number Publication Date
CN1360695A CN1360695A (zh) 2002-07-24
CN1227588C true CN1227588C (zh) 2005-11-16

Family

ID=27385924

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008102686A Expired - Lifetime CN1227588C (zh) 1999-07-13 2000-07-13 用于根据应用生存周期管理该应用的方法和设备

Country Status (9)

Country Link
EP (1) EP1194840B1 (zh)
JP (1) JP2003504753A (zh)
KR (1) KR20020022085A (zh)
CN (1) CN1227588C (zh)
AT (1) ATE289091T1 (zh)
AU (1) AU781357B2 (zh)
CA (1) CA2373036A1 (zh)
DE (1) DE60018067T2 (zh)
WO (1) WO2001004743A2 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2821940B1 (fr) * 2001-03-12 2006-09-29 Centre Nat Etd Spatiales Procede et systeme de gestion du temps dans un systeme temps reel
EP1320032A1 (de) 2001-12-12 2003-06-18 Siemens Aktiengesellschaft Verfahren zum Ändern des Betriebszustandes eines Anwendungsprogramms
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
GB0315492D0 (en) * 2003-07-02 2003-08-06 Symbian Ltd A method of enabling a multitasking wireless information device to conserve battery power
US6947048B2 (en) 2003-07-21 2005-09-20 Sony Corporation Method for sharing a graphics display as a resource in an embedded system
JP4243571B2 (ja) 2003-08-05 2009-03-25 パナソニック株式会社 放送受信装置
US20070038989A1 (en) * 2003-10-10 2007-02-15 Koninklijke Philips Electronics N.V. Java lifecycle model for bd-discs
CN1867999B (zh) * 2003-10-10 2012-03-21 松下电器产业株式会社 记录方法、再现装置、再现方法
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
US8218951B2 (en) 2003-10-30 2012-07-10 Samsung Electronics Co., Ltd. Storage medium storing program management information, and reproducing method and apparatus
CN101656091B (zh) * 2003-11-10 2012-09-26 松下电器产业株式会社 记录介质,播放装置,程序,播放方法,系统集成电路
WO2005045840A1 (ja) * 2003-11-10 2005-05-19 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、システム集積回路
US7870352B2 (en) 2003-11-13 2011-01-11 Stalker Altan J State-based memory unloading
FR2863074B1 (fr) * 2003-11-28 2006-02-24 Trusted Logic Procede permettant l'interrupton sure d'applications dans un systeme informatique distribue comportant un moteur d'execution logiciel.
WO2005057719A1 (ja) * 2003-12-08 2005-06-23 Matsushita Electric Industrial Co., Ltd. 分波器および合波器
EP1734748A4 (en) 2004-04-06 2008-12-03 Panasonic Corp PROGRAM EXECUTION DEVICE
EP1596291A1 (en) * 2004-05-10 2005-11-16 Deutsche Thomson-Brandt Gmbh Method and apparatus for automatically selecting a software application
JP4332195B2 (ja) * 2004-07-22 2009-09-16 パナソニック株式会社 アプリケーション連動再生を行う再生装置、再生方法、及び再生プログラム
KR100694123B1 (ko) * 2004-07-30 2007-03-12 삼성전자주식회사 동영상 데이터와 어플리케이션 프로그램이 기록된 저장매체 및 그 재생 장치 및 방법
KR101051703B1 (ko) 2004-08-09 2011-07-25 삼성전자주식회사 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템
JP4195061B2 (ja) 2004-12-01 2008-12-10 ソフトバンクモバイル株式会社 連係動作方法及び移動端末装置
US20060225107A1 (en) * 2005-04-01 2006-10-05 Microsoft Corporation System for running applications in a resource-constrained set-top box environment
DE102005062419B4 (de) 2005-12-27 2008-01-17 Vega Grieshaber Kg Schaltkreis-Anordnung für ein Feldgerät
KR100736095B1 (ko) 2006-02-24 2007-07-06 삼성전자주식회사 실시간 동영상 스트림의 화면 크기를 제어하는 장치 및방법
CN101403981B (zh) * 2008-11-07 2011-03-16 中兴通讯股份有限公司 手机应用程序运行状态的管理方法和系统
EP2247032A1 (en) * 2009-04-27 2010-11-03 Alcatel Lucent Remotely managing an application on a device by a management server
US8832686B2 (en) * 2010-10-29 2014-09-09 Microsoft Corporation Inherited product activation for virtual machines
TW201241640A (en) * 2011-02-14 2012-10-16 Microsoft Corp Dormant background applications on mobile devices
CN106897077B (zh) * 2013-12-02 2020-11-10 海信视像科技股份有限公司 应用程序控制方法
KR101519414B1 (ko) * 2014-04-28 2015-05-12 한국인터넷진흥원 가상머신 라이프사이클 분석 시스템 및 방법
US9734000B2 (en) * 2015-06-18 2017-08-15 Microsoft Technology Licensing, Llc Seamless transitions between applications and devices
CN106506815A (zh) * 2016-10-19 2017-03-15 北京奇虎科技有限公司 一种应用的启用方法及相关设备
CN110417598B (zh) * 2019-07-30 2022-05-20 普信恒业科技发展(北京)有限公司 网关组件的管理方法及组件管理器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
FR2679351B1 (fr) * 1991-07-15 1995-01-27 Bull Sa Systeme d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur a une liaison specifique d'un reseau.
EP0908821A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Digital code interpreter

Also Published As

Publication number Publication date
DE60018067T2 (de) 2005-07-28
EP1194840B1 (en) 2005-02-09
JP2003504753A (ja) 2003-02-04
KR20020022085A (ko) 2002-03-23
WO2001004743A3 (en) 2001-12-27
ATE289091T1 (de) 2005-02-15
CA2373036A1 (en) 2001-01-18
AU6097300A (en) 2001-01-30
AU781357B2 (en) 2005-05-19
DE60018067D1 (de) 2005-03-17
EP1194840A2 (en) 2002-04-10
WO2001004743A2 (en) 2001-01-18
CN1360695A (zh) 2002-07-24

Similar Documents

Publication Publication Date Title
CN1227588C (zh) 用于根据应用生存周期管理该应用的方法和设备
US6874145B1 (en) Methods and apparatus for implementing an application lifecycle design for applications
JP4522533B2 (ja) イベント制御装置およびデジタル放送システム
CN1204725C (zh) 信息传递系统和信息传递方法
EP1194838B1 (en) Methods and apparatus for implementing individual class loaders
CN101699395A (zh) 一种多窗口管理方法及多窗口浏览器
US20060212869A1 (en) Resource management method and apparatus
CN1798170A (zh) 用于在无线终端中处理日程相关事件的设备和方法
JPH08235091A (ja) クライアント・ステーションへのアプリケーション送出方法及びシステム
CN1961281A (zh) 用于可缩放的用户界面的客户-服务器架构及方法
CN101039331A (zh) 在移动应用程序环境中使用的产品
CN1497962A (zh) 接收装置
CN1446333A (zh) 控制应用软件用户界面显示的系统
CN101968741A (zh) 一种数据更新的方法、服务器及系统
CN1892654A (zh) 透明地处理多媒体数据的系统与方法
CN1745592A (zh) 在终端中选择通信网络专用架构的系统和方法
US7257812B1 (en) Methods and apparatus for managing an application
CN106254961B (zh) 电视中的视频播放方法及电视
CN1890975A (zh) 用于多功能接收设备中的数据接收的方法
CN1820251A (zh) 用于执行软件应用的方法
CN1946157A (zh) 一种静音后智能处理电视节目的方法及其装置
CN1121779C (zh) 具有可变管理指令集的应用程序管理器
CN1188790C (zh) 调制解调器的控制方法及设备
CN114915810A (zh) 一种媒资推送方法及智能终端
CN1571483A (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
CX01 Expiry of patent term

Granted publication date: 20051116

CX01 Expiry of patent term