JP2003504753A - アプリケーションライフサイクルに従ってアプリケーションを管理するための方法および装置 - Google Patents

アプリケーションライフサイクルに従ってアプリケーションを管理するための方法および装置

Info

Publication number
JP2003504753A
JP2003504753A JP2001510083A JP2001510083A JP2003504753A JP 2003504753 A JP2003504753 A JP 2003504753A JP 2001510083 A JP2001510083 A JP 2001510083A JP 2001510083 A JP2001510083 A JP 2001510083A JP 2003504753 A JP2003504753 A JP 2003504753A
Authority
JP
Japan
Prior art keywords
application
state
program product
computer program
execution
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.)
Withdrawn
Application number
JP2001510083A
Other languages
English (en)
Inventor
カルダー・バートレイ・エイチ.
イエ・タオ
リバス・ジーザス・デイビッド
コートニー・ジョナサン・ディ.
メッサー・キース・エル.
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,980 external-priority patent/US7257812B1/en
Priority claimed from US09/465,994 external-priority patent/US6874145B1/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2003504753A publication Critical patent/JP2003504753A/ja
Withdrawn legal-status Critical Current

Links

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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • 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
    • 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

(57)【要約】 【課題】 【解決手段】 アプリケーションライフサイクルに従ってアプリケーションの実行を管理するための方法および装置を開示する。アプリケーションライフサイクルは、アプリケーションマネージャがアプリケーションを複数の状態の1つに入らせることを可能とする一連のコマンドを通してアプリケーションマネージャによって管理される。さらに、アプリケーションは、アプリケーションマネージャと通信し、アプリケーションがアプリケーションマネージャによって要求されたように状態を変更できないことを示したり、アプリケーションマネージャがアプリケーションの状態をある特定の状態へ変更することを要求したりすることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、概して、コンピュータソフトウェアに関する。より詳細には、本発
明は、アプリケーションの実行を管理するための方法および装置に関する。さら
に、本発明は、ソフトウェアアプリケーションのためのアプリケーションライフ
サイクル設計を実装するための方法および装置に関する。
【0002】
【従来の技術】
デジタルテレビの革命は、放送テレビの歴史において最も重要な事柄の一つで
ある。デジタルテレビの出現により、衛星、ケーブル、地上テレビチャンネルを
介して、高速のデータ伝送が可能となっている。デジタルテレビは、映像と音声
の質を著しく改善するばかりでなく、より多くのチャンネルを提供する。最も重
要なことは、デジタルテレビの登場が、真の対話型TV時代の幕開けとなること
である。たとえば、デジタル受信装置は、簡単な双方向クイズショーから、イン
ターネット、テレビおよびウェブ型コンテンツの混合まで様々な高度サービスを
ユーザに提供できるようになるだろう。デジタルテレビ市場が成長するにつれ、
コンテンツ開発業者は、電子プログラミングガイド、ビデオ・オン・デマンド、
高度放送など次世代の対話型TVサービスを確立するための基盤として、機能が
豊富で、コスト効率がよく、信頼性の高いソフトウェアプラットフォームを捜し
求めている。
【0003】 Java(登録商標)は、商用のオブジェクト指向言語の草分けであり、JA
VA(商標)プラットフォームをサポートする任意の互換デバイス上で動作可能
な高移植性言語として開発された。たとえば、Java(登録商標)は、すべて
の主要ウェブブラウザに組み込まれている。そのため、Java(登録商標)は
、任意のウェブ使用可能なコンピュータ上で、そのコンピュータのウェブブラウ
ザによって動作する。したがって、Java(登録商標)は、セットトップボッ
クスおよびデジタルテレビのためのソフトウェアプラットフォームとして幅広い
展望を提供する。
【0004】 オブジェクト指向のプログラミングにおいては、コードとデータがオブジェク
トに組み込まれる。各オブジェクトは、そのクラスによって定義される。クラス
は、オブジェクトの属性と振る舞いを決定する。言い換えると、オブジェクトは
、クラスの個々のインスタンスである。
【0005】 デスクトップ環境では、ロードされたアプリケーション各々に関する一部のリ
ソース(たとえば、クラスおよびオブジェクト)は、メモリに比較的制限が少な
いために、頻繁に開放される必要もなく、厳密に監視される必要もない。しかし
ながら、組み込みシステムの環境、特にデジタルテレビの分野においては、メモ
リが貴重なリソースとなる。さらに、対話型デジタルテレビ環境では、複数のア
プリケーションを動作させることが一般となるだろう。デジタルテレビサービス
は、音声と、映像と、1つ以上のアプリケーションとからなるだろう。たとえば
、テレビの視聴者がチャンネルを変えると、そのチャンネルによって提供される
関連のサービスもしくはプログラムの各々は、複数のクラスがロードされること
を必要とする可能性が高い。結果として、アプリケーションとそれに関連するク
ラスに、メモリが頻繁に割り当てられ、限られた量のメモリが消費されることに
なる。メモリが消費されると、もはやアプリケーションの動作は不可能となる。
エラーの際にセットトップボックスをリブートすることは望ましくないため、こ
れは特に重大なことである。
【0006】 JAVAプラットフォームは現在、数多くのアプリケーションモデルを定義し
ており、それぞれが各自のライフサイクルを持っている。一般に、これらのアプ
リケーションライフサイクルモデルは、JAVAプラットフォーム上での特定の
問題に対処するために設計されてきた。たとえば、アプレットは、ウェブページ
の実行可能なコンテンツにサポートを提供するよう設計された。しかしながら、
既存のアプリケーションライフサイクルモデルで、テレビ受信装置のようにメモ
リの限られているシステムに特有の要求に完全に対応したものはない。たとえば
、アプレットに関するクラスがロードされても、そのクラスオブジェクトはメモ
リから除去されない。さらに、アプレットの実行がいつ終了するかを決定するこ
とは不可能である。
【0007】 上述のことから、アプリケーションライフサイクルが、テレビ受信装置に特有
の要求に対応するよう設計されれば有益であろう。さらに、アプリケーションラ
イフサイクルに従ってアプリケーションのロードおよび実行を管理するための機
構が設計されることが望ましい。
【0008】
【発明の概要】
本発明は、1つ以上のアプリケーションの管理を可能とする。さらに、1つ以
上のアプリケーションの実行は、アプリケーションライフサイクルに従って管理
されてもよい。これは、部分的には、アプリケーションの状態の変更を開始し監
視することができるアプリケーションマネージャを用いることによって実現され
る。このように、様々なプラットフォーム上で一貫した方法によってアプリケー
ションを実行することが可能である。
【0009】 本発明の一態様によると、アプリケーションマネージャは、アプリケーション
をロードし、アプリケーションが実行中に使用するリためのリソースをアプリケ
ーションに割り当てる。アプリケーションがロードされると、アプリケーション
マネージャは、アプリケーションライフサイクルに従ってアプリケーションを実
行する。これは、アプリケーションマネージャから可視のアプリケーションイン
ターフェースを通して一実施形態に従って実現される。このアプリケーションイ
ンターフェースを通して、アプリケーションマネージャは、アプリケーションの
様々な状態変更を開始することができる。一例として、アプリケーションマネー
ジャは、アプリケーションがその実行を一時停止して一時停止状態(pause
d state)に入ることを要求できる。別の例として、アプリケーションマ
ネージャは、アプリケーションが一時停止状態からその実行を再開しアクティブ
状態(active state)に入ることを要求できる。
【0010】 本発明の別の態様によると、アプリケーションは、状態および潜在的な状態変
更に関する情報をアプリケーションマネージャに通信する。一実施形態によると
、これは、部分的には、アプリケーション環境インターフェースによって実現さ
れる。このアプリケーション環境インターフェースを通して、アプリケーション
は、アプリケーションマネージャがアプリケーションの状態変更を引き起こすよ
う要求できる。たとえば、アプリケーションは、アプリケーションマネージャが
アプリケーションをアクティブ状態に入らせるよう要求できる。さらに、アプリ
ケーションは、このアプリケーション環境インターフェースを通して、要求され
たサービスをアプリケーションが実行できないことと、そのために一時停止もし
くは終了したことを、その状況下で適切なときに示すことができる。アプリケー
ションの状態が変更されると(たとえば、アプリケーションマネージャによって
引き起こされるか、アプリケーションによって実行されると)、アプリケーショ
ンは、この状態変更をアプリケーションマネージャに通信することができる(た
とえば、アプリケーションから可視なアプリケーション環境インターフェースを
通して)。
【0011】 本発明のさらに別の態様によると、アプリケーションマネージャは、条件付き
もしくは無条件でアプリケーションを終了することができる。アプリケーション
マネージャが無条件でアプリケーションを終了すると、アプリケーションは終了
しなければならない。しかしながら、アプリケーションマネージャが条件付きで
アプリケーションを終了すると、アプリケーションが終了に同意したときにのみ
、アプリケーションマネージャはアプリケーションを終了することができる。こ
のように、アプリケーションマネージャは、終了されるアプリケーションが同意
した方法で、アプリケーションを終了することにより、アプリケーションに関係
するリソースを開放することができる。
【0012】 本発明は、アプリケーションがアプリケーションマネージャによりアプリケー
ションライフサイクルに従って管理されることを可能とする。これは、アプリケ
ーションが、実行されるプラットフォームに関係なく予測できる方法で実行され
ることを可能とする。さらに、アプリケーションマネージャは、アプリケーショ
ン各々の現在の状態を監視するため、アプリケーションの終了時即座に各アプリ
ケーションに関係するメモリを開放することができる。これは特に、デジタルT
V受信装置のようにメモリの限られたシステムに有用である。
【0013】
【発明の実施の形態】
以下の説明では、本発明を完全に理解できるように、数多くの具体的な詳細を
示している。しかしながら、これらの具体的な詳細の一部もしくはすべてがなく
とも本発明が実施可能であることは、当業者には明らかであろう。その他、本発
明が不必要に不明瞭とならないように周知のプロセスのステップについては詳細
に説明していない。
【0014】 本明細書では、アプリケーションライフサイクルに従ってアプリケーションが
ロードおよび実行されることを可能とする発明が説明されている。アプリケーシ
ョンが初期化され、その環境に基づいて様々な状態変更を行い、最終的に破棄(
destory)されるまでの一連のステップは、まとめてアプリケーションラ
イフサイクルとして知られている。一実施形態によると、これは、1つ以上のア
プリケーションをロードし実行を管理することができるアプリケーションマネー
ジャを用いることによって実現される。一実施形態によると、アプリケーション
ライフサイクルは、2つのインターフェースを用いることによって実装される。
まず、アプリケーションプログラミングインターフェースにより、アプリケーシ
ョンマネージャが、アプリケーションライフサイクルに従ってアプリケーション
の実行を管理することが可能となる。次に、アプリケーション環境インターフェ
ースにより、アプリケーションが、1つの状態から別の状態への変更の要求をア
プリケーションマネージャに通信したり、アプリケーションマネージャによって
要求された状態変更の実行が不可能であることを示したりすることが可能となる
。たとえば、アプリケーションは、アプリケーションマネージャがアプリケーシ
ョンをアクティブ状態に入らせるよう要求できる。別の例として、アプリケーシ
ョンは、一時停止状態もしくは抹消状態(destroyed state)に
入ったことを示してもよい(たとえば、アプリケーションマネージャによって要
求されたアクティブ状態が不可能である場合)。このように、アプリケーション
が最終的には自身の状態を最も良く知っているため、アプリケーション環境イン
ターフェースを用いることで、アプリケーションが、1つの状態から別の状態へ
変更したことをアプリケーションマネージャに通信することが可能となる。
【0015】 本発明は、デジタルテレビおよびデジタルTV受信装置に即して説明されてい
る。図1は、代表的なデジタルTV受信装置を示すブロック図である。図示され
ているように、信号は、アンテナ102を介して受信され、チューナモジュール
104によって同調され、MPEG2転送ストリーム106を生成する。次いで
、多重分離装置108は、映像ストリーム112と、音声ストリーム114と、
データストリーム116とを含む暗号化MPEGストリーム110を生成する。
次いで、これらの3つのストリームは、条件付きアクセスサブシステム118に
よって処理される。たとえば、条件付きアクセスサブシステム118は、復号情
報122(たとえば、復号アルゴリズム)だけでなく、キー管理情報120を用
いてもよい。条件付きアクセスサブシステム118は、データ126と共に映像
ストリーム124と音声ストリーム125とを含む復号化MPEGストリーム1
23を生成する。それらはすべて復号化されている。次いで、デコーダ128が
、復号化MPEGストリーム123を処理し、デコードされた映像データをフレ
ームバッファ130へ、デコードされた音声データをスピーカ132へ送る。
【0016】 Java仮想マシンは、図1に示すようなデジタルTV受信装置によって受信
された情報を処理するよう本発明を実装するために用いることができるプラット
フォームの1つである。より詳細には、データ126(たとえば、放送データス
トリーム)が処理される際に、データ126で提供され、ダウンロードされるア
プリケーションのような情報を処理することが望ましい。
【0017】 図2Aは、デジタルTV受信装置を通してロードされたアプリケーションを管
理するために、アプリケーションマネージャが実装された本発明の一実施形態を
示すブロック図である。図2Aに示すように、本発明は、デジタルTV受信装置
200に実装可能である。放送データストリーム202は、信号モニタ204に
よって受信される。信号モニタ204は、放送データストリーム202内にアプ
リケーションが存在するか否かを決定し、アプリケーションのロケーションなど
アプリケーションに関するデータと共に、アプリケーションの有無を示す信号デ
ータ206を提供する。次いで、アプリケーションマネージャ208は、この信
号データ206を用いてアプリケーションをロードして実行する。たとえば、ア
プリケーションマネージャ208は、特定の条件に応じてアプリケーションが適
切な状態に入るように、適切なアプリケーションライフサイクルに従ってアプリ
ケーションを実行することができる。アプリケーションライフサイクル設計の実
装の1つについて、さらに詳細に以下で説明する。アプリケーションが実行され
ると、ディスプレイ情報が、ディスプレイコンテキスト210の形でディスプレ
イマネージャ212から提供される。次いで、ディスプレイマネージャは、適切
なディスプレイ情報をテレビモニタ214のディスプレイに提供する。
【0018】 本発明の一実施形態によると、アプリケーションマネージャは、一連のルール
216に従って動作するよう構成されている。これらのルールは、アプリケーシ
ョンライフサイクルを実装するために様々な方法で指定されてよい。たとえば、
アプリケーションライフサイクルは、所定のイベントが起こった際に、アプリケ
ーションが、ロード済み状態(loaded state)、一時停止状態、ア
クティブ状態、抹消状態に入ることを可能とすることができる。図2Bは、図2
Aのアプリケーションマネージャが動作の際に従うことのできる代表的な一連の
ルールを示す図である。この代表的な一連のルール216は、4つのルールを含
んでいる。第1のルール218は、アプリケーションマネージャが1つ以上のア
プリケーションを管理することを指定する。しかしながら、第2のルール220
は、常に1つのアプリケーションしかアクティブにできない(すなわち、実行で
きない)ことを指定する。さらに、第3のルール222は、常に1つのアプリケ
ーションしか表示できないことを指定する。最後に、第4のルール224は、ア
クティブなアプリケーションのみが表示されることを指定する。このように、一
連のルールは、様々な方法でアプリケーションマネージャのために設計、構成さ
れる。したがって、一連のルールは、アプリケーションライフサイクルに従って
1つ以上のアプリケーションの実行を管理するよう設計されてもよい。
【0019】 図3は、図2Aのアプリケーションマネージャによって受信された信号データ
を格納するために用いられる代表的なデータ構造を示すブロック図である。信号
データ302は、放送データストリーム内のアプリケーション存在表示304を
含む。アプリケーションが存在する場合、そのファイルのロケーション306(
たとえば、ディレクトリおよびファイル名)が指定される。さらに、ある特定の
処理(たとえば、読み取り/書き込み)が、特定のソースおよび/または宛先に
関連して実行可能もしくは不可能であることを示す許可310だけでなく、アプ
リケーションの作成元が認証されることを可能とする認証情報308のような情
報も含まれる。
【0020】 アプリケーションマネージャ208は、数多くのアプリケーションのライフサ
イクルを同時に管理できる。本発明の一実施形態によると、潜在的に実行中のア
プリケーション400の各々に関する情報を保持するために、アプリケーション
マネージャは、アプリケーションコンテキストリスト402を管理する。図4A
は、関連するアプリケーションの管理および実行中に、アプリケーションマネー
ジャ208によってアクセスされる代表的なアプリケーションコンテキストリス
ト402を示す図である。図示されているように、アプリケーションコンテキス
トリスト402は、1つ以上の入力項目を含み、各入力項目は、アプリケーショ
ン400の1つに関するアプリケーションコンテキスト404を識別する。さら
に詳細には、アプリケーション400‐A、400‐B、400‐C、400‐
Dは、それぞれ異なるアプリケーションコンテキスト404‐A、404‐B、
404‐C、404‐Dを伴う4つの潜在的に異なるアプリケーションを示す。
アプリケーションコンテキスト404は、アプリケーションが、アプリケーショ
ンライフサイクルに従って実行されるだけでなくロードされることも可能とする
ために、アプリケーションに関する情報を識別する。
【0021】 一実施形態によると、アプリケーションに関する情報は、アプリケーションコ
ンテキスト404によって集積され、参照される。図4は、図4Aの代表的なア
プリケーションコンテキストリスト内で識別されたアプリケーションコンテキス
ト404を格納するために用いられる代表的なデータ構造を示す図である。アプ
リケーションコンテキスト404の代表的なデータ構造は、クラスローダ、すな
わちクラスをメモリにロードするために用いられるオブジェクト、を識別するク
ラスローダID406を含む。それゆえ、クラスローダID406は、アプリケ
ーションマネージャが、識別されたクラスローダによってアプリケーションに関
する1つ以上のクラスをロードすることと、クラスローダを参照解除することに
よりこれらのクラスをアンロードすることを可能とする。さらに、アプリケーシ
ョンコンテキスト404の代表的なデータ構造は、図3に示したような信号デー
タ302を識別する信号データID408を含む。それゆえ、アプリケーション
マネージャ208は、認証および許可データだけでなくアプリケーションのロケ
ーションを決定するために、この信号データID408を用いることができる。
アプリケーションコンテキスト404の代表的なデータ構造は、さらに、図2A
のディスプレイマネージャ212がアプリケーションを表示するために用いる情
報を含むディスプレイコンテキストを識別するディスプレイコンテキストID4
10を含む。たとえば、ディスプレイコンテキストは、サイズ、位置、可視性の
データなど、スクリーン上のアプリケーションの表示を与えるオブジェクトへの
参照を含んでもよい。アプリケーションコンテキスト404の代表的なデータ構
造は、さらに、アプリケーションを識別するアプリケーションID412を含む
。さらに、アプリケーションがアプリケーションマネージャと通信することを可
能とするアプリケーション環境オブジェクト414が識別される。一例として、
アプリケーションは、別の状態へ入るという要求を通信したり、別の状態に入っ
てその状態変更をアプリケーションマネージャに通信(たとえば、一時停止(p
aused)もしくは抹消状態に入ったことを通信)したりしてもよい。別の例
として、アプリケーションは、(たとえば、アプリケーションコンテキストに関
係して保持された)アプリケーション環境に関する情報を取得するよう求めても
よい。アプリケーション環境オブジェクト414に関しては、図8および図9を
参照してさらに詳細に説明する。アプリケーションコンテキスト404の代表的
なデータ構造は、さらに、現在のアプリケーション状態416を識別するために
示される。それゆえ、アプリケーションマネージャ208は、各アプリケーショ
ンのアプリケーション状態の記録を保持する。
【0022】 図2Aを参照して上に説明したように、最終的に表示されるデータを管理する
だけでなく、ディスプレイ装置へのアクセスを管理するために、別個のディスプ
レイマネージャ212が実装されてもよい。このプロセスを円滑にするために、
ディスプレイマネージャは、本発明の一実施形態にしたがってディスプレイコン
テキストのリストを保持する。図5は、本発明の一実施形態に従って、ディスプ
レイマネージャによってアクセスされるディスプレイコンテキストの代表的なリ
スト(ディスプレイコンテキストリスト)502を示す図である。図示されてい
るように、ディスプレイコンテキストリスト502は、1つ以上のアプリケーシ
ョン400‐Aないし400‐Dに関する1つ以上の入力項目を含む。ディスプ
レイコンテキスト502内の各入力項目は、コンテキストID504に関係し、
アプリケーションの表示に関する情報を指定するディスプレイコンテキスト50
6を識別する。言い換えると、ディスプレイコンテキストは、アプリケーション
が自身の表示のために必要とする情報を保持するオブジェクトであってもよい。
それゆえ、ディスプレイマネージャ212が、アプリケーションの表示を望む場
合、おそらく他のウィンドウを閉じることによって、対応するディスプレイコン
テキスト内で参照される適切な「ウィンドウ」を「開く」ことができる。
【0023】 ディスプレイコンテキストは、ディスプレイコンテキストのための状態遷移図
にしたがって表示されてもよい。図5Bは、ディスプレイコンテキストに関連す
る代表的な状態図である。図示されているように、ディスプレイコンテキストは
、第1の表示状態においては可視508であり、第2の表示状態においては不可
視510である。一実施形態によると、アプリケーションマネージャが従うルー
ルによって、適切な表示状態が決定される。
【0024】 図5Cは、図2Bを参照して上に説明したように、アプリケーションマネージ
ャが従う一連の代表的なルールに従って生成された一連の代表的な表示状態を提
供するテーブルを示す図である。テーブル512は、すべての可能な表示状態5
14と、それらに関連するアプリケーション状態516を示す。アプリケーショ
ンマネージャが従う代表的な一連のルールに従って、アクティブなアプリケーシ
ョンのみが表示される。それゆえ、アプリケーションがアクティブ状態の際には
、表示状態は可視である。あるいは、アプリケーションが一時停止状態の際には
、表示状態は不可視である。
【0025】 アプリケーションライフサイクルは、アプリケーションが、所定の条件下で多
くの状態に入ることを可能とすることにより実装される。アプリケーションマネ
ージャおよびアプリケーションライフサイクルの実装に従って、アプリケーショ
ンがいつ状態の各々に入るかを決定する条件だけでなく、状態が変化してもよい
。図6は、本発明の一実施形態に従って、アプリケーションのライフサイクルの
間にアプリケーションが入る一連の状態を示す状態図である。アプリケーション
マネージャがアプリケーションをロードすると、アプリケーションは、ロード済
み状態602に入る。アプリケーションがロード済み状態602に入ると、アプ
リケーションは、アプリケーションマネージャによる初期化の後に一時停止状態
604に入ってもよい。アプリケーションに一時停止状態604からアクティブ
状態606へ状態変更させることができるのは、アプリケーションマネージャの
みである。しかしながら、アプリケーションをアクティブ状態606から一時停
止状態604に入らせるのは、アプリケーションマネージャとアプリケーション
のいずれであってもよい。さらに、アプリケーションを終了させ、ロード済み状
態602、アクティブ状態606、一時停止状態604から抹消状態608に入
らせるのは、アプリケーションマネージャとアプリケーションのいずれであって
もよい。
【0026】 図6を参照して上に説明したように、アプリケーションの状態は、実行中のア
プリケーションもしくは実行中のアプリケーション以外のアプリケーション(た
とえば、アプリケーションマネージャ)によって変更されてよい。多くのオブジ
ェクト指向言語では、実装の詳細が外部プロセスから隠されていても、メソッド
名およびパラメータが外部プロセスから可視となる(たとえば、インターフェー
スを通して)ように、メソッドと変数が、モジュールにグループ化されてもよい
。一実施形態によると、アプリケーションおよびアプリケーションマネージャに
アクセス可能なインターフェースとそれに関するメソッドは、以下でパッケージ
と呼ばれているものに「パッケージ化」される。各パッケージは、外部から可視
なメソッド名およびパラメータを定義する関連インターフェースを含む。さらに
、各パッケージは、パッケージのインターフェースで定義されたメソッドのボデ
ィと実装の詳細を含む関連ボディを有する。アプリケーションとアプリケーショ
ンマネージャは、通信のために2つの異なるインターフェースを用いてもよい。
このように、アプリケーションマネージャとアプリケーションは、2つの異なる
インターフェース、すなわちアプリケーションインターフェースおよびアプリケ
ーション環境インターフェースを用いることにより、アプリケーションの状態を
変更することができる。さらに、アプリケーションマネージャとアプリケーショ
ンは、状態変更もしくは潜在的な状態変更に関する情報などの情報を通信するこ
とができる。
【0027】 図7は、アプリケーションの状態を変更するために、アプリケーションのライ
フサイクルの間にアプリケーションマネージャ(もしくは他のプロセス)が呼び
出すことのできるメソッドを識別する代表的なアプリケーションインターフェー
スを示す図である。アプリケーションインターフェース702は、アプリケーシ
ョンマネージャが呼び出すことのできるすべてのメソッドとそれに関連するパラ
メータを定義する。initializeメソッド704は、アプリケーション
マネージャがアプリケーションを初期化することを可能とするために利用するこ
とができる。たとえば、initializeメソッド704は、アプリケーシ
ョンが自身を初期化し、ロード済み状態から一時停止状態へ入るよう信号を送る
ことができる。一実施形態によると、initializeメソッド704のパ
ラメータは、アプリケーション環境オブジェクト706である。アプリケーショ
ン環境オブジェクト706に関しては、図8を参照してさらに詳細に説明する。
また、アプリケーション環境オブジェクト706は、以下に説明するように、ア
プリケーションのランタイム環境に関する属性にアクセスするために、アプリケ
ーションによって用いられてもよい。さらに、アプリケーション環境オブジェク
ト706を用いることにより、アプリケーションは、そのランタイム環境に関す
る属性を検索することができる。たとえば、検索可能な属性は、信号データへの
参照と、サービスの出所となる環境(たとえば、音声/映像環境)への参照を含
む。このように、アプリケーションは、実行に備えて自身を初期化できる。アプ
リケーションは、実行に先立って共有リソースを保持しないことが好ましいが、
適度な時間で実行するよう準備されるべきである。initializeメソッ
ド704は、一回だけ呼び出されるべきである。initializeメソッド
704がうまく戻った後、アプリケーションは一時停止状態となる。initi
alizeメソッド704がうまく戻ることができなかった場合、アプリケーシ
ョンは、一時停止状態に入ることができないことを示す状態変更例外を戻す。
【0028】 アプリケーションが一時停止状態になると、そのアプリケーションは、アクテ
ィブ状態に入ってもよい。しかしながら、startメソッド708を用いてこ
の状態変更を引き起こすことができるのは、アプリケーションマネージャだけで
ある。startメソッド708は、一旦呼び出されると、アプリケーションが
サービス提供を開始し、アクティブ状態に入るよう信号通知する。アクティブ状
態においては、アプリケーションが共有リソースを保持してもよい。様々な障害
によって、サービスの開始が妨げられることがある。たとえば、障害は、一過性
であったり一過性でなかったりする。一実施形態によると、アプリケーションは
、これら2種類の障害を区別する。一過性の障害に対しては、状態変更例外が生
成される。一過性でない障害が生じた際には、別の例外が生成されてもよいし、
doneメソッドが呼び出され、メソッドが適切に終了されてもよい。たとえば
、アプリケーションが、実行のために必要なリソースにアクセスできないと決定
した場合、これは、一過性もしくは非一過性の障害として実装されてもよい。
【0029】 pauseメソッド710は、アプリケーションマネージャによって呼び出さ
れると、アプリケーションが実行を停止し、アクティブ状態から一時停止状態に
入るよう信号通知する。一時停止状態においては、アプリケーションは実行を停
止し、できる限り使用するリソースを少なくするよう努める。このように、アプ
リケーションは、保持している共有リソースの一部もしくはすべてを開放するこ
とができる。
【0030】 ロード済み(loaded)、アクティブ(active)、一時停止状態の
いずれかからアプリケーションを終了することが望ましい。これは、destr
oyメソッド712を呼び出すことによって実現することができる。destr
oyメソッド712は、アプリケーションが終了し、抹消状態に入るよう信号通
知する。抹消状態においては、アプリケーションは、すべてのリソースを開放し
、設定もしくは状態の情報を保存する必要がある。
【0031】 アプリケーションマネージャがアプリケーションの抹消(たとえば、終了)を
求める場合には、様々なレベルの緊急を知らせることが望ましい。一実施形態に
よると、アプリケーションの終了は、所定の条件が満たされた場合に実行される
。一例として、所定の条件は、早期終了に同意しているアプリケーションからの
信号が存在するという条件でもよい。別の例として、所定の条件は、特定の期間
内にアプリケーションからの信号が受信されないという条件でもよい。これは、
destroyメソッド712に対するパラメータ714によって実現すること
ができる。パラメータ714は、第1の状態のときには抹消信号が条件付きであ
り、第2の状態のときには無条件であることを示す。それゆえ、アプリケーショ
ンマネージャは、単にアプリケーションの終了を要求する際には、抹消信号が、
アプリケーションによる終了の決定を条件とすると指定してもよい。アプリケー
ションは、状態変更例外を生成することによって、実行の継続を求める、すなわ
ち、抹消状態に入るよう求めないことを示してもよい。アプリケーションマネー
ジャは、アプリケーションからのこの要求を認める場合、後に再びdestro
yメソッドを呼び出してもよい。あるいは、アプリケーションマネージャは、た
とえば優先順位の高い(もしくは低い)他のアプリケーションを抹消するよう試
みてもよい。このように、アプリケーションマネージャは、終了を選択したアプ
リケーションからのみ、(たとえば、次にロードされるアプリケーションによっ
て)必要とされるリソースを得ることができる。さらに、アプリケーションマネ
ージャは、優先順位、メモリ使用量が最大(最小)のアプリケーション、実行が
開始された順序など、特定の順序でアプリケーションを抹消するよう試みてもよ
い。
【0032】 アプリケーションマネージャは、ある特定のアプリケーションの終了を必要と
する際には、destroyメソッド712のパラメータ714を通じて抹消信
号が無条件であると指定して、これを示してもよい。たとえば、アプリケーショ
ンマネージャは、アプリケーションによって保持されているリソースすべてがア
プリケーションマネージャによって必要とされている場合には、抹消信号が無条
件であると指定してもよい。このように、アプリケーションマネージャは、抹消
信号が無条件である場合には、アプリケーションを強制的に終了し、保持されて
いるリソースを開放してもよい。したがって、アプリケーションが、実行の継続
を求めることを示す状態変更例外を生成している場合でも、抹消信号が無条件で
あれば、アプリケーションマネージャは、この例外を無視してもよい。上の説明
では、アプリケーションの条件付き終了と無条件終了に言及しているが、別の動
作が、条件付きおよび無条件で同様に実行されてもよい。
【0033】 上述のように、アプリケーション環境オブジェクトは、アプリケーションが初
期化された際に、アプリケーションに渡される。さらに、アプリケーション環境
オブジェクトは、内部の状態変更を信号通知する方法と共に、属性を検索する機
構をアプリケーションに提供する。一実施形態によると、アプリケーション環境
オブジェクトは、ロードおよび実行されているアプリケーションに利用可能なア
プリケーション環境インターフェースを備える。より詳細には、アプリケーショ
ンが初期化されると、アプリケーション環境インターフェースが、アプリケーシ
ョンに利用可能となる。
【0034】 図8は、アプリケーションのライフサイクルの間に、実行中のアプリケーショ
ンが呼び出すことのできるメソッドを識別する代表的なアプリケーション環境イ
ンターフェースを示す図である。以下に説明するように、アプリケーション環境
インターフェース802は、アプリケーションが、その状態変更と所望の状態変
更に関してアプリケーションマネージャと通信することと共に、その環境に関す
る情報を発見することを可能とするいくつかのメソッドを提供する。
【0035】 上述のように、アプリケーションは、ロード済み、アクティブ、一時停止状態
から、抹消状態に入ることができる。さらに、アプリケーションマネージャもし
くはアプリケーションは、アプリケーションを抹消状態に入らせることができる
。図7を参照して説明したように、アプリケーションマネージャは、destr
oyメソッドを呼び出すことによりアプリケーションを抹消することができる。
あるいは、アプリケーション環境インターフェース802のdestroyed
メソッド804は、アプリケーションが自身を抹消状態に入らせたことを信号通
知することを可能とする。次いで、アプリケーションマネージャは、図7を参照
して上述したように、アプリケーションインターフェースに備えられたdest
royメソッドを呼び出さずに、アプリケーション状態を抹消状態に更新する。
アプリケーションは、アプリケーションマネージャによって抹消されたかのよう
に同じ動作(たとえば、クリーンアップ、リソースの開放)を行う。これは、ア
プリケーションが自身を抹消状態に入らせる前に実行されることが好ましい。
【0036】 アプリケーションがアクティブ状態であるときに、アプリケーションマネージ
ャもしくはアプリケーションは、そのアプリケーションを一時停止状態に入らせ
てもよい。より詳細には、アプリケーションマネージャは、図7を参照して説明
したように、pauseメソッドを用いてアプリケーションを一時停止すること
ができる。あるいは、アプリケーションが、アクティブ状態を求めないことと、
pausedメソッド806によって一時停止状態に入ったことを信号通知して
もよい。
【0037】 パラメータ810を持つget propertyメソッド808は、アプリ
ケーション環境オブジェクトから1つ以上の属性を検索する機構をアプリケーシ
ョンに提供する。一例では、Java環境において、「ルートコンテナ」は、一
般にユーザインターフェースのコンポーネント(たとえば、プルダウンメニュ、
ボタン)がJava環境に表示可能になるように、それらを含むために用いられ
る。それゆえ、get propertyメソッド808は、コンポーネントを
含むことができるルートコンテナを決定するために用いてもよい。別の例として
、放送データストリームに関する情報(たとえば、放送データストリーム内のフ
ァイルのロケーション)が取得されてもよい。たとえば、別の属性が、サービス
セッションオブジェクト(サービスコンテキスト)への参照と、基礎となるトラ
ンスポートプロトコルに固有の情報とを含んでもよい。
【0038】 アプリケーションをアクティブ状態に入らせることができるのはアプリケーシ
ョンマネージャのみであるが、アプリケーションは、アクティブ状態に入ること
に関心があることを示すよう望んでもよい。一実施形態によると、これは、re
sume requestメソッド812によって実現される。resume
requestメソッド812によって、1つ以上のアプリケーションがそれぞ
れ、アクティブ状態に入る要求を示すことができる。しかしながら、同時に実行
可能なアプリケーションの数は、アプリケーションマネージャが従う一連のルー
ルによって制限されるだろう。たとえば、図2Bを参照して上述したように、ル
ールによって、一度にアクティブにできるのは1つのアプリケーションのみであ
ると指定されてもよい。それゆえ、resume requestメソッド81
2は、アクティブ状態に入ることを求めるアプリケーションを決定することによ
り、アプリケーションマネージャが、アクティブ状態に移行させる1つ以上のア
プリケーションを選択できるようにするために、アプリケーションマネージャに
よって用いられてもよい。
【0039】 上述のインターフェースによって、アプリケーションマネージャとアプリケー
ションの両方が、アプリケーションライフサイクルを制御できる。インターフェ
ースは明確に決まるのだが、図7および図8を参照して上述されたメソッドのボ
ディは、関連するインターフェース(および関連する状態マシン)が共にコンパ
イルされている限りは、様々な方法で実装してよい。
【0040】 図9は、アプリケーションのライフサイクルの間に、アプリケーションマネー
ジャとアプリケーションのいずれかが呼び出すことのできる代表的なメソッドを
示す図である。図9に示すように、別個の一連のメソッドが、アプリケーション
マネージャ902、およびアプリケーションマネージャ902によって管理され
ている各アプリケーション904によって呼び出されることが可能である。図7
を参照して上述したように、第1の一連のメソッドは、アプリケーションマネー
ジャ902によって呼び出されることが可能であり、initializeメソ
ッド906、startメソッド908、destroyメソッド910、pa
useメソッド912を含む。同様に、図8を参照して上述したように、第2の
一連のメソッドは、対応するアプリケーション904によって呼び出されること
が可能であり、pausedメソッド914、destroyedメソッド91
6、resume requestメソッド918、get property
メソッド920を含む。
【0041】 図10は、本発明の実施形態によるアプリケーションライフサイクルに従って
、アプリケーションをロードおよび実行するために、アプリケーションマネージ
ャを実装する1つの方法を示すプロセスのフローチャートである。そのプロセス
は、ブロック1002で始まり、ブロック1004において、デジタルTV受信
装置が起動される。次いで、Java環境がブロック1006において起動され
る。次いで、アプリケーションマネージャが、ブロック1008において構築さ
れ、1つ以上のアプリケーションのロードおよび実行を管理する。次いで、アプ
リケーションマネージャは、ブロック1010において実行される。
【0042】 図1に示したようなデジタルTV受信装置は、様々なデジタルテレビサービス
を受信することが可能である。多数のチャンネル(すなわちサービス)を受信で
きることに加えて、これらのサービスは、対話型TVから、ビデオ・オン・デマ
ンド、特殊プログラミングまでに及ぶだろう。より詳細には、テレビチャンネル
によって提供されるサービスは、しばしば、音声、映像、アプリケーションを含
むだろう。1012において(たとえば、ユーザがチャンネルを切り替えること
により)サービスが選択されると、ブロック1014において、選択されたサー
ビスに関するデータストリームが、デジタルTV受信装置を介して受信される。
たとえば、ユーザがディズニーのチャンネルに切り替えると、ディズニーのサー
ビスが選択され、ディズニーのサービスに関連するデータストリームが受信され
る。
【0043】 ブロック1016において、選択されたサービスに関係するアプリケーション
が、データストリーム内に存在するか否かが決定される。たとえば、ユーザがデ
ィズニーのサービスを選択すると、ディズニーのアプリケーションを、データス
トリームの形で受信することができる。ブロック1018において、アプリケー
ションがデータストリーム内に存在することが決定されると、アプリケーション
マネージャは、ブロック1022に示すようにアプリケーションをロードし、1
024においてアプリケーションライフサイクルにしたがってアプリケーション
を実行する。ロードおよび実行のプロセスに関しては、それぞれ図11および図
12を参照してさらに詳細に説明する。プロセスは、ブロック1026に示すよ
うに完了する。データストリーム内にアプリケーションが存在しない場合には、
プロセスは1020に戻り、アプリケーションに関する新しい信号がブロック1
014で受信されたデータストリーム内に存在するのを待つ。次いで、プロセス
は、ブロック1016において継続する。
【0044】 図11は、図10のブロック1022に示したようにアプリケーションをロー
ドする1つの方法を示すプロセスのフローチャートである。プロセスは、ブロッ
ク1102で始まる。ブロック1104において、図3に示したような信号デー
タが、アプリケーションマネージャによって受信される。信号データが受信され
ると、アプリケーションマネージャは、アプリケーション位置を特定し、ロード
することができる。アプリケーションに関する情報を格納するために、ブロック
1106において、図4Bに示したようなアプリケーションコンテキストが作成
される。次いで、アプリケーションコンテキストは、アプリケーションに関する
全情報への参照を保持するために用いられる。たとえば、アプリケーションマネ
ージャが、ブロック1108に示すようにアプリケーションのためのクラスロー
ダを作成すると、クラスローダへの参照が、アプリケーションコンテキスト内に
保持されてもよい。次いで、アプリケーションに関するクラスは、ブロック11
10においてクラスローダによってロードされる。次いで、アプリケーションの
インスタンスが、ブロック1112においてクラスから作成される。
【0045】 アプリケーションがインスタンス化されると、そのアプリケーションは、ブロ
ック1114に示すようにロード済み状態に入る。アプリケーションが、その環
境に関する属性を取得することと、アプリケーションマネージャと通信すること
を可能とするために、図8に示すようなアプリケーション環境インターフェース
に従うアプリケーション環境オブジェクトが、ブロック1116においてインス
タンス化される。次いで、アプリケーション環境オブジェクトは、ブロック11
18においてinitializeメソッドがアプリケーションマネージャによ
って呼び出された際に、アプリケーションに対して初期化される。
【0046】 アプリケーションをロードすることに加えて、アプリケーションマネージャは
、アプリケーションの実行の監視および管理を担う。図12は、図10のブロッ
ク1024に示したようにアプリケーションライフサイクルに従ってアプリケー
ションを実行する1つの方法を示すプロセスのフローチャートである。図7およ
び図8に示すようなインターフェースを用いることにより、アプリケーションと
アプリケーションマネージャは、アプリケーションの状態変更を提示、遅延、防
止、もしくは達成することができる。以下において、アプリケーションの状態が
、アプリケーションのライフサイクルによって変更される方法を簡単に説明する
。プロセスは、ブロック1202で始まる。アプリケーションがロード済み状態
に入ると、アプリケーションは、ブロック1204においてアプリケーションマ
ネージャがアプリケーション状態を一時停止状態に変更するのを待つ。たとえば
、上述のように、アプリケーションマネージャは、アプリケーションインターフ
ェースに備えられたinitializeメソッドを用いてアプリケーションを
初期化し、ブロック1206に示すようにアプリケーションを一時停止状態に入
らせる。ブロック1206に関しては、図13を参照してさらに詳細に説明する
。アプリケーションが一時停止状態に変更されると、アプリケーションマネージ
ャは、その後ブロック1208において(たとえば、startメソッドを用い
て)最終的にアプリケーション状態をアクティブ状態に変更する。ブロック12
08に関しては、図14を参照してさらに詳細に説明する。アプリケーションを
アクティブ状態に入らせることができるのはアプリケーションマネージャのみで
あることに注意すべきである。アクティブ状態からは、アプリケーションとアプ
リケーションマネージャのいずれでも、ブロック1210において、アプリケー
ション環境インターフェース内で利用可能なpausedメソッドもしくはアプ
リケーションインタ−フェース内で利用可能なpauseメソッドをそれぞれ用
いることにより、アプリケーションを一時停止状態に入らせることができる。ア
プリケーションは、一時停止された場合、アプリケーション環境インターフェー
ス内で利用可能なresume requestメソッドにより実行の再開を要
求してもよい。アプリケーションとアプリケーションマネージャのいずれでも、
ブロック1212において、アプリケーション環境インターフェース内で利用可
能なdestroyedメソッドもしくはアプリケーションインタ−フェース内
で利用可能なdestroyメソッドをそれぞれ用いることにより、アプリケー
ションを終了し、抹消状態に入らせることができる。図示されているように、ア
プリケーションは、ブロック1212において、ロード済み、一時停止、アクテ
ィブ状態のいずれかから、抹消状態に入ることができる。たとえば、アプリケー
ションが実行を完了すると、そのアプリケーションは、抹消状態に入ってもよい
。さらに、ロード、始動、終了のような処理の開始は、テレビ受信装置によって
受信された信号に応じてなされてよい。これは、たとえば、新しい番組が始まる
場合、もしくはユーザがテレビのリモートコントロールのボタンを押して新しい
チャンネルを選択した場合に生じる。アプリケーションが、要求のとおりに状態
を変更すると(たとえば、メソッドが適切に戻ると)、アプリケーションマネー
ジャは、図4Aおよび図4Bに示すように、関連するアプリケーションコンテキ
スト内のアプリケーションの現在の状態を更新する。図12を参照して説明され
ていないが、上述の状態変更は、アプリケーションによって生成されたすべての
状態変更例外にしたがって実行される。それゆえ、ほとんどの場合、状態変更例
外がアプリケーションによって生成されると、アプリケーションマネージャは、
アプリケーションの現在の状態を更新しない。その代わりに、アプリケーション
マネージャは、後に、同じ状態変更、別の状態変更、もしくは別のアプリケーシ
ョンの状態変更の要求を試みてもよい。
【0047】 抹消されると、アプリケーションによって保持されているリソースは開放され
てよい。たとえば、アプリケーションのクリーンアップを開始するために、信号
がアプリケーションマネージャによって(たとえば、受信装置を介してアプリケ
ーションもしくは放送環境から)受信されてもよい。より詳細には、クラスロー
ダは、ブロック1214においてアプリケーションに関するクラスをアンロード
できる。さらに、図4Aおよび図4Bに示されているようにアプリケーションコ
ンテキストリストによって参照されているアプリケーションコンテキストが開放
されてもよい。
【0048】 上述のように、アプリケーションマネージャは、アプリケーション実行の準備
をするために、アプリケーションの状態をロード済み状態から一時停止状態に変
更する。図13は、図12のブロック1206に示したようにアプリケーション
の状態をロード済みから一時停止に変更する1つの方法を示すプロセスのフロー
チャートである。プロセスは、ブロック1302で始まる。ブロック1304に
おいて、アプリケーションマネージャは、アプリケーションインターフェース内
のinitializeメソッドを呼び出して、アプリケーション環境オブジェ
クトをパラメータとして渡す。次いで、アプリケーションは、ブロック1306
においてアプリケーション環境オブジェクトを用いて自身を初期化する。たとえ
ば、アプリケーション環境オブジェクトは、自身を初期化しているときに用いる
ことのあるルートコンテナのような属性を取得してもよい。その後、アプリケー
ションは、ブロック1308に示すように一時停止状態に入る。
【0049】 一実施形態によると、アプリケーションの状態をアクティブ状態に変更できる
のはアプリケーションマネージャのみである。図14は、図12のブロック12
08に示したようにアプリケーションの状態を一時停止からアクティブに変更す
る1つの方法を示すプロセスのフローチャートである。プロセスは、ブロック1
402で始まる。ブロック1404において、アプリケーションは、信号を受信
し、アプリケーションを始動する。たとえば、そのような始動(start)信
号は、新しい番組が始まる場合、もしくはユーザがテレビのリモートコントロー
ルのボタンを押した際に、アプリケーションマネージャによって受信されてよい
。サービスによっては、チャンネルが合わされた際に、アプリケーションが自動
的に始動してもよい。次いで、アプリケーションマネージャは、ブロック140
6に示すようにアプリケーションインターフェースに備えられたstart a
pplicationメソッドを呼び出す。アプリケーションは、ブロック14
08において、サービスを実行してアクティブ状態に入る。
【0050】 本発明は、様々な場面で応用することができる。1つの例は、様々なチャンネ
ル上でモニタ(たとえば、テレビスクリーン)の下方に株価を表示するというも
のである。株価情報は、中央サーバもしくは放送局に(たとえば、モデムケーブ
ルもしくはインターネットへのその他の接続を介して)つながる放送サービスも
しくは裏チャンネルから受信装置によって取得されることが可能である。株価表
示アプリケーションが、初期化後に一時停止状態になると仮定すると、ユーザは
、アプリケーションマネージャが株価表示アプリケーションを始動するよう信号
通知するテレビのリモコンのボタンを押す。アプリケーションマネージャは、株
価表示アプリケーションのためのstart applicationメソッド
を呼び出す。アプリケーションマネージャは、この時点で、アプリケーションが
サービスを実行しているとみなす。株価表示アプリケーションは、始動信号を受
信する際に、株価を検索するために裏チャンネルを開く新しいスレッドを作成す
る。これで、株価表示アプリケーションはアクティブ状態となる。
【0051】 アクティブ状態の間、株価表示アプリケーションは、株価を表示し続ける。し
かしながら、アプリケーションの制御を超える状況が生じると、株価表示アプリ
ケーションが、株価の更新を検索できなくなる可能性もある。これらの状況下で
は、アプリケーションは、利用可能な最近の株価を表示し続けるよう決定しても
よい。しかしながら、ある期間が経っても、アプリケーションが裏チャンネルを
開くことができない場合もある。したがって、アプリケーションは、表示してい
る株価があまりに古いため、サービスをもはや実行できないと決定してもよい。
次いで、アプリケーションは、アプリケーション環境オブジェクト上のpaus
edメソッドを呼び出すことによりアクティブ状態から抜け出すよう選択し、こ
の変更をアプリケーションマネージャに信号通知することができる。さらに、ア
プリケーションは、この時点もしくは後の時点で、もはやサービスを実行する機
会がないと決定してもよく、その場合は、終了を決定する。アプリケーションは
、いくつかのクリーンアップを実行し、もはや必要としないリソースを開放する
。次いで、アプリケーションは、終了してアプリケーション環境オブジェクト上
のdestroyedメソッドを呼び出し、抹消状態に入ったことをアプリケー
ションマネージャに信号通知する。次いで、アプリケーションマネージャは、対
応するクリーンアップをこのアプリケーションに対して実行する。
【0052】 本発明は、任意の適切なコンピュータシステムに実装することができる。図1
5は、本発明の実装に適した代表的な汎用コンピュータシステム1502を示し
ている。コンピュータシステムは、任意の適切な形態をとってよい。たとえば、
コンピュータシステムは、デジタルTV受信装置もしくはセットトップボックス
と統合されてもよい。
【0053】 当業者の理解するように、コンピュータシステム1530、すなわち、より詳
細にはCPU1532は、仮想マシンをサポートするよう構成されてもよい。コ
ンピュータシステム1502は、一次記憶装置1506(一般には読み取り専用
メモリすなわちROM)と一次記憶装置1508(一般にはランダムアクセスメ
モリすなわちRAM)とを含むメモリ装置に接続可能な任意の数のプロセッサ1
504(中央演算処理装置すなわちCPUとも呼ばれる)を備える。当業者に周
知のとおり、ROMは、データや命令を単方向的にCPU1504へ転送する機
能を持ち、RAMは、一般に、データや命令を双方向的に転送するために用いら
れる。一次記憶装置1506および1508は両方とも、任意の適切なコンピュ
ータ読み取り可能な媒体を含んでよい。CPU1504は一般に、任意の数のプ
ロセッサを含んでいてよい。
【0054】 データ記憶容量を追加するために、二次記憶媒体1510(一般にはマスメモ
リ装置)が、双方向的にCPU1504に接続されてもよい。マスメモリ装置1
510は、コンピュータコード、データなどを含むプログラムを格納するために
用いることのできるコンピュータ読み取り可能な媒体である。一般に、マスメモ
リ装置1510は、一次記憶装置1506および1508よりも一般に低速であ
るハードディスクのような記憶媒体である。
【0055】 CPU1504は、さらに、1つ以上の入出力装置1512に接続されてもよ
い。入出力装置1512は、ビデオモニタ、トラックボール、マウス、キーボー
ド、マイクロホン、タッチセンシティブ・ディスプレイ、トランスデューサ・カ
ード読み取り装置、磁気もしくは紙テープ読取装置、タブレット、スタイラス、
音声もしくは手書き文字認識装置、もしくは、他のコンピュータのような周知の
入力装置などの装置を含むが、それらに限定されない。最後に、CPU1504
は随意的に、1514に一般的に示したネットワーク接続を用いて、コンピュー
タもしくは遠隔通信ネットワーク(たとえばインターネットネットワークもしく
はイントラネットネットワーク)に接続されてもよい。そのようなネットワーク
接続を行った場合、CPU1504は、上述した方法のステップの実行中に、ネ
ットワークから情報を受信し、ネットワークに情報を出力することができると考
えられる。そのような情報は、CPU1504を用いて実行される一連の命令と
して表されることが多く、たとえば搬送波で実現されるコンピュータデータ信号
の形で、ネットワークから受信され、ネットワークに出力されることが可能であ
る。
【0056】 アプリケーションライフサイクルに従って各アプリケーションをロードし、そ
の実行を管理するためにアプリケーションマネージャを用いることにより、アプ
リケーションの実行が標準化され、メモリリソースが効果的に温存される。アプ
リケーションライフサイクルは、部分的には、アプリケーションが入ることので
きる状態を一貫した方法で制御することにより実装される。一実施形態によると
、アプリケーションライフサイクルの制御に適切な方法を定義するインターフェ
ースが、アプリケーションマネージャだけでなくアプリケーションにも備えられ
ている。このように、アプリケーションとアプリケーションマネージャは、状態
変更、状態変更の要求、状態変更を遅延もしくは取り消しする要求を、その他の
状態に関する情報と共に通信してもよい。本発明を用いることにより、アプリケ
ーションは、異なる時間に異なるマシン上で作動されるが、予測どおりの同じ結
果を生成する。さらに、本発明は、もはや必要ではないと決定された際に、アプ
リケーションに関するメモリが開放されることを可能とする。デジタル受信装置
やセットトップボックスのメモリリソースが限られているとすれば、デジタルテ
レビ環境のメモリリソースを管理する能力は、著しい改善と言える。
【0057】 本発明の実施形態と応用を示して説明したが、本発明の概念、範囲、意図の範
囲内で多くの変形と修正が可能であり、これらの変形は、本明細書を精読すれば
当業者には明らかとなるだろう。たとえば、本発明は、デジタルTV受信装置に
実装した例によって説明されている。しかしながら、本発明は、他の状況で用い
られてもよい。さらに、本発明は、JAVAプラットフォームに実装した例によ
って説明されているが、別のプラットフォームに実装されてもよい。さらに、上
述のプロセスのブロックは、例示に過ぎない。したがって、アプリケーションマ
ネージャとアプリケーションライフサイクルの実装は、代替のデータ構造はもち
ろん、代替のプロセスのブロックを用いて実行されてもよい。さらに、アプリケ
ーションマネージャとアプリケーションは、別個のインターフェースを持つよう
に説明されているが、これらのインターフェースは、アプリケーションだけでな
く全アプリケーションにも可視であるpublicメソッドを含んでもよい。し
たがって、本実施形態は、例示的なものであって制限的ではないとみなされ、本
発明は、本明細書の詳細に限定されず、添付の請求項の範囲と等価物の範囲内で
修正することができる。
【図面の簡単な説明】
【図1】 本発明を実装可能なデジタルTV受信装置を示すブロック図である。
【図2A】 デジタルTV受信装置を通してロードされたアプリケーションを管理するため
に、アプリケーションマネージャが実装された本発明の一実施形態を示すブロッ
ク図である。
【図2B】 図2Aのアプリケーションマネージャが動作の際に従うことのできる代表的な
一連のルールを示す図である。
【図3】 図2Aのアプリケーションマネージャによって受信された信号データを格納す
るために用いられる代表的なデータ構造を示すブロック図である。
【図4A】 関連するアプリケーションの管理および実行中に、アプリケーションマネージ
ャによってアクセスされる代表的なコンテキストリストを示す図である。
【図4B】 代表的なコンテキストリスト内で識別されたアプリケーションコンテキストを
格納するために用いられる代表的なデータ構造を示す図である。
【図5A】 本発明の一実施形態に従って、ディスプレイマネージャによってアクセスされ
るディスプレイコンテキストの代表的なリストを示す図である。
【図5B】 ディスプレイコンテキストに関連する代表的な状態図である。
【図5C】 アプリケーションマネージャが従う一連の代表的なルールに従って生成された
一連の代表的な表示状態を示す図である。
【図6】 アプリケーションのライフサイクルの間にアプリケーションが入る一連の状態
を示す状態図である。
【図7】 アプリケーションのライフサイクルの間にアプリケーションマネージャが呼び
出すことのできるメソッドを識別する代表的なアプリケーションインターフェー
スを示す図である。
【図8】 アプリケーションのライフサイクルの間にアプリケーションが呼び出すことの
できるメソッドを識別する代表的なアプリケーション環境インターフェースを示
す図である。
【図9】 アプリケーションのライフサイクルの間にアプリケーションマネージャとアプ
リケーションのいずれかが呼び出すことのできるメソッドを示す図である。
【図10】 本発明の実施形態によるアプリケーションライフサイクルに従って、アプリケ
ーションをロードし実行するために、アプリケーションマネージャを実装する1
つの方法を示すプロセスのフローチャートである。
【図11】 図10のブロック1022に示したようにアプリケーションをロードする1つ
の方法を示すプロセスのフローチャートである。
【図12】 図10のブロック1024に示したようにアプリケーションライフサイクルに
従ってアプリケーションを実行する1つの方法を示すプロセスのフローチャート
である。
【図13】 図12のブロック1206に示したようにアプリケーションの状態をロード済
みから一時停止に変更する1つの方法を示すプロセスのフローチャートである。
【図14】 図12のブロック1208に示したようにアプリケーションの状態を一時停止
からアクティブに変更する1つの方法を示すプロセスのフローチャートである。
【図15】 本発明の実装に適した代表的な汎用コンピュータシステムを示すブロック図で
ある。
【符合の説明】
102 アンテナ 104 チューナモジュール 106 MPEG2転送ストリーム 108 多重分離装置 110 暗号化MPEGストリーム 112 映像ストリーム 114 音声ストリーム 116 データストリーム 118 条件付きアクセスサブシステム 120 キー管理情報 122 復号情報 123 復号化MPEGストリーム 124 映像ストリーム 125 音声ストリーム 126 データ 128 デコーダ 130 フレームバッファ 132 スピーカ 200 デジタルTV受信装置 202 放送データストリーム 204 信号モニタ 206 信号データ 208 アプリケーションマネージャ 210 ディスプレイコンテキスト 212 ディスプレイマネージャ 214 テレビモニタ 216 ルール 218 第1のルール 220 第2のルール 222 第3のルール 224 第4のルール 302 信号データ 304 アプリケーション存在の指示 306 ロケーション 308 認証情報 310 許可 400 アプリケーション 400‐A アプリケーション 400‐B アプリケーション 400‐C アプリケーション 400‐D アプリケーション 402 アプリケーションコンテキストリスト 404 アプリケーションコンテキスト 404‐A アプリケーションコンテキスト 404‐B アプリケーションコンテキスト 404‐C アプリケーションコンテキスト 404‐D アプリケーションコンテキスト 406 クラスローダID 408 信号データID 410 ディスプレイコンテキストID 412 アプリケーションID 414 アプリケーション環境オブジェクト 416 現在のアプリケーション状態 502 ディスプレイコンテキストリスト 504 コンテキストID 506 ディスプレイコンテキスト 508 可視 510 不可視 512 テーブル 514 表示状態 516 アプリケーション状態 602 ロード状態 604 一時停止状態 606 アクティブ状態 702 アプリケーションインターフェース 704 initializeメソッド 706 アプリケーション環境オブジェクト 708 startメソッド 710 pauseメソッド 712 destroyメソッド 714 パラメータ 802 アプリケーション環境インターフェース 804 destroyedメソッド 806 pausedメソッド 808 get propertyメソッド 810 パラメータ 812 resume requestメソッド 902 アプリケーションマネージャ 904 アプリケーション 906 initializeメソッド 908 startメソッド 910 destroyメソッド 912 pauseメソッド 1502 コンピュータシステム 1504 プロセッサ、CPU 1506 一次記憶装置 1508 一次記憶装置 1510 二次記憶装置、マスメモリ装置 1512 入出力装置 1514 ネットワーク 1530 コンピュータシステム 1532 CPU 1514 ネットワーク
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 09/465,980 (32)優先日 平成11年12月16日(1999.12.16) (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW (72)発明者 イエ・タオ アメリカ合衆国 カリフォルニア州94087 サニーベイル,#116,イースト・エル カミノ・リアル,929 (72)発明者 リバス・ジーザス・デイビッド アメリカ合衆国 カリフォルニア州94131 サン・フランシスコ,28番・ストリー ト,258 (72)発明者 コートニー・ジョナサン・ディ. アメリカ合衆国 カリフォルニア州95125 サン・ホセ,コーチ・レーン,1623 (72)発明者 メッサー・キース・エル. アメリカ合衆国 カリフォルニア州94541 ヘイワード,プリンストン・ストリー ト,21806 Fターム(参考) 5B076 BA05 BB06 5B098 GA04 GC01 GD04 GD22 5C025 BA27 DA01 DA05

Claims (75)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションライフサイクルに従ってアプリケーション
    の実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 第1の状態から第2の状態へのアプリケーションの状態変更をアプリケーショ
    ンマネージャが開始することを、前記アプリケーションが要求することを示す状
    態変更要求を、前記アプリケーションから受信するための命令と、 前記第2の状態が特定の一連のルールに従って許容可能な状態である場合には
    、前記状態変更要求に応じて前記アプリケーションの前記状態変更を開始するた
    めの命令と、 を含む、コンピュータプログラム製品。
  2. 【請求項2】 請求項1記載のコンピュータプログラム製品であって、 前記第2の状態は、前記アプリケーションが現在実行中であることを示すアク
    ティブ状態である、コンピュータプログラム製品。
  3. 【請求項3】 アプリケーションライフサイクルに従ってアプリケーション
    の実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 新たなサービスが選択されたことを示す信号を受信するための命令と、 前記新たなサービスが選択されたときに、前記アプリケーションがアクティブ
    状態に入るように前記アプリケーションの実行を開始するための命令と、 前記アプリケーションが前記アクティブ状態から一時停止状態に入るように、
    前記アプリケーションの実行を一時停止するための命令と、 実行を再開して前記一時停止状態から前記アクティブ状態に入るように前記ア
    プリケーションが要求していることを示す再開要求を受信するための命令と、 前記再開要求が前記アプリケーションから受信されたときに、前記アプリケー
    ションが前記一時停止状態から前記アクティブ状態に入るように前記アプリケー
    ションの実行を開始するための命令と、 を含む、コンピュータプログラム製品。
  4. 【請求項4】 アプリケーションライフサイクルに従って複数のアプリケー
    ションの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記複数のアプリケーションがアクティブ状態に入るように、前記複数のアプ
    リケーションの各々の実行を開始するための命令と、 前記複数のアプリケーションのうちの1つが前記アクティブ状態から一時停止
    状態に入るように、前記1つのアプリケーションの実行を一時停止するための命
    令と、 前記複数のアプリケーションのうちの1つ以上が実行を再開して前記一時停止
    状態から前記アクティブ状態に入るよう要求していることを示す再開要求を、前
    記1つ以上のアプリケーションから受信するための命令と、 前記一時停止状態から前記アクティブ状態へ移行させるために、前記1つ以上
    のアプリケーションうちの1つを選択するための命令と、 前記選択されたアプリケーションから前記再開要求を受信したときに、前記選
    択されたアプリケーションが前記一時停止状態から前記アクティブ状態に入るよ
    うに前記選択されたアプリケーションの実行を開始させるための命令と、 を含む、コンピュータプログラム製品。
  5. 【請求項5】 アプリケーションライフサイクルに従ってアプリケーション
    の実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 アプリケーションが前記アプリケーションの状態を第1の状態から第2の状態
    へ変更するよう1回目の要求を行うための命令と、 前記アプリケーションが前記アプリケーションの状態を前記第1の状態から前
    記第2の状態へ変更したか否かを決定するための命令と、 前記アプリケーションが前記アプリケーションの状態を前記第1の状態から前
    記第2の状態へ変更していないと決定されるとともに所定の条件が満たされてい
    る場合には、前記アプリケーションが前記アプリケーションの状態を前記第1の
    状態から前記第2の状態へ変更するよう2回目の要求を行うための命令と、 を含む、コンピュータプログラム製品。
  6. 【請求項6】 請求項5記載のコンピュータプログラム製品であって、 前記所定の条件は、特定の時間が経過したこと、あるいは前記要求された状態
    変更を前記アプリケーションが実行できるようになったこと、を表す、コンピュ
    ータプログラム製品。
  7. 【請求項7】 請求項5記載のコンピュータプログラム製品であって、 前記アプリケーションによって状態変更例外が生成された場合には、前記アプ
    リケーションは前記アプリケーションの状態を変更していないものと決定される
    、コンピュータプログラム製品。
  8. 【請求項8】 請求項5記載のコンピュータプログラム製品であって、 前記アプリケーションが前記要求された状態変更を拒絶した場合には、前記ア
    プリケーションが前記アプリケーションの状態を変更していないものと決定され
    る、コンピュータプログラム製品。
  9. 【請求項9】 請求項5記載のコンピュータプログラム製品であって、 前記アプリケーションが前記要求された状態変更を実行できない場合には、前
    記アプリケーションが前記アプリケーションの状態を変更していないものと決定
    される、コンピュータプログラム製品。
  10. 【請求項10】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 アプリケーションが前記アプリケーションの状態を第1の状態から第2の状態
    へ変更するよう要求を行うための命令と、 前記アプリケーションが前記アプリケーションの状態を前記第1の状態から前
    記第2の状態へ変更したか否かを決定するための命令と、 前記アプリケーションが前記アプリケーションの状態を前記第1の状態から前
    記第2の状態へ変更していないと決定された場合には、前記アプリケーションが
    前記アプリケーションの状態を前記第1の状態から第3の状態へ変更するよう要
    求を行うための命令と、 を含むコンピュータプログラム製品。
  11. 【請求項11】 請求項10記載のコンピュータプログラム製品であって、 前記第1の状態は、前記アプリケーションが現在実行中であることを示すアク
    ティブ状態であり、 前記第2の状態は、前記アプリケーションの前記実行が終了したことを示す抹
    消状態であり、 前記第3の状態は、前記アプリケーションが実行を再開できるように前記アプ
    リケーションの実行が一時停止されたことを示す一時停止状態である、コンピュ
    ータプログラム製品。
  12. 【請求項12】 請求項10記載のコンピュータプログラム製品であって、 前記アプリケーションによって状態変更例外が生成された場合には、前記アプ
    リケーションが前記アプリケーションの状態を変更していないものと決定される
    、コンピュータプログラム製品。
  13. 【請求項13】 請求項10記載のコンピュータプログラム製品であって、 前記アプリケーションが前記要求された状態変更を拒絶した場合には、前記ア
    プリケーションが前記アプリケーションの状態を変更していないものと決定され
    る、コンピュータプログラム製品。
  14. 【請求項14】 請求項10記載のコンピュータプログラム製品であって、 前記アプリケーションが前記要求された状態変更を実行できない場合には、前
    記アプリケーションが前記アプリケーションの状態を変更していないものと決定
    される、コンピュータプログラム製品。
  15. 【請求項15】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 第1のアプリケーションが前記第1のアプリケーションの状態を第1の状態か
    ら第2の状態へ変更するよう要求を行うための命令と、 前記第1のアプリケーションが前記第1のアプリケーションの状態を前記第1
    の状態から前記第2の状態へ変更したか否かを決定するための命令と、 前記第1のアプリケーションが前記第1のアプリケーションの状態を前記第1
    の状態から前記第2の状態へ変更していないと決定された場合には、第2のアプ
    リケーションが前記第2のアプリケーションの状態を前記第1の状態から前記第
    2の状態へ変更するよう要求を行うための命令と、 を含むコンピュータプログラム製品。
  16. 【請求項16】 請求項15記載のコンピュータプログラム製品であって、 前記第1の状態は、アクティブ状態、一時停止状態、もしくはロード済み状態
    であり、 前記第2の状態は、前記アプリケーションが終了されることを示す抹消状態で
    ある、コンピュータプログラム製品。
  17. 【請求項17】 請求項15記載のコンピュータプログラム製品であって、 前記第1のアプリケーションによって状態変更例外が生成された場合には、前
    記第1のアプリケーションが前記第1のアプリケーションの状態を変更していな
    いものと決定される、コンピュータプログラム製品。
  18. 【請求項18】 請求項17記載のコンピュータプログラム製品であって、 前記第2の状態は、前記関連するアプリケーションが実行中であることを示す
    アクティブ状態であり、 前記状態変更例外は、前記第1のアプリケーションが前記第1のアプリケーシ
    ョンを一時停止状態もしくは抹消状態に入らせた場合に、前記第1のアプリケー
    ションによって生成される、コンピュータプログラム製品。
  19. 【請求項19】 請求項15記載のコンピュータプログラム製品であって、 前記第1のアプリケーションが前記要求された状態変更を拒絶した場合には、
    前記第1のアプリケーションが前記第1のアプリケーションの状態を変更してい
    ないものと決定される、コンピュータプログラム製品。
  20. 【請求項20】 請求項15記載のコンピュータプログラム製品であって、 前記第1のアプリケーションが前記要求された状態変更を実行できない際には
    、前記第1のアプリケーションが前記第1のアプリケーションの状態を変更して
    いないものと決定される、コンピュータプログラム製品。
  21. 【請求項21】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのシステムであって、 1つ以上のルールと、 アプリケーションライフサイクルに従って1つ以上のアプリケーションを実行
    することができるアプリケーションマネージャであって、前記アプリケーション
    の各々が1つ以上の関連する所定のコマンドに応じて複数の状態の1つに入るこ
    とを可能とするとともに、前記1つ以上のルールに従って前記所定のコマンドの
    1つを実行させるために選択することが可能なアプリケーションマネージャと、
    を備えるシステム。
  22. 【請求項22】 請求項21記載の管理システムであって、さらに、 前記アプリケーションマネージャに接続されるとともに、データストリームを
    受信可能な信号モニタを備え、 前記信号モニタは、アプリケーションが前記データストリーム内に存在するか
    否かを決定するとともに、前記アプリケーションに関する情報を前記アプリケー
    ションマネージャと通信するように構成されている、システム。
  23. 【請求項23】 請求項21記載の管理システムであって、 前記アプリケーションマネージャは、前記アプリケーションの各々のためのア
    プリケーションコンテキストを格納するよう構成されており、 前記アプリケーションコンテキストは、前記複数の状態のうちの現在の状態を
    識別する、システム。
  24. 【請求項24】 請求項23記載の管理システムであって、 前記複数の状態のうちの前記現在の状態は、前記アプリケーションマネージャ
    に対して前記関連するアプリケーションによって識別される、システム。
  25. 【請求項25】 請求項23記載の管理システムであって、 前記アプリケーションコンテキストは、さらに、前記アプリケーションに関す
    る1つ以上のクラスをロードできるクラスローダを識別する、システム。
  26. 【請求項26】 請求項23記載の管理システムであって、 前記アプリケーションコンテキストは、さらに、表示されるディスプレイ情報
    を含むディスプレイコンテキストを識別する、システム。
  27. 【請求項27】 請求項23記載の管理システムであって、 前記アプリケーションコンテキストは、さらに、前記関連するアプリケーショ
    ンが前記アプリケーションマネージャと通信することを可能とするアプリケーシ
    ョン環境オブジェクトを識別する、システム。
  28. 【請求項28】 請求項23記載の管理システムであって、 前記アプリケーションコンテキストは、さらに、前記アプリケーションのラン
    タイム環境に関するプロパティの、前記関連するアプリケーションによる検索を
    可能とするアプリケーション環境オブジェクトを識別する、システム。
  29. 【請求項29】 請求項23記載の管理システムであって、 前記アプリケーションコンテキストは、さらに、前記複数の状態の1つへの状
    態変更を、前記関連するアプリケーションが通信することを可能とするアプリケ
    ーション環境オブジェクトを識別する、システム。
  30. 【請求項30】 請求項23記載の管理システムであって、 前記アプリケーションコンテキストは、さらに、前記アプリケーションマネー
    ジャが前記アプリケーションの前記現在の状態を一時停止状態からアクティブ状
    態へ変更するように、前記関連するアプリケーションが要求を行うことを可能と
    するアプリケーション環境オブジェクトを識別する、システム。
  31. 【請求項31】 請求項21記載の管理システムであって、さらに、 前記アプリケーションマネージャに接続されるとともに、前記アプリケーショ
    ンの各々のためのディスプレイコンテキストを管理するよう構成されたディスプ
    レイマネージャを備え、 前記ディスプレイコンテキストは、前記ディスプレイコンテキストが可視であ
    るときには第1の状態にあり、前記ディスプレイコンテキストが不可視のときに
    は第2の状態にある、システム。
  32. 【請求項32】 請求項31記載の管理システムであって、 前記ディスプレイコンテキストは、前記関連するアプリケーションがアクティ
    ブ状態にあるときには前記第1の状態にあり、 前記関連するアプリケーションが一時停止状態にあるときには前記第2の状態
    にある、システム。
  33. 【請求項33】 請求項31記載の管理システムであって、 前記ディスプレイコンテキストの前記状態は、前記アプリケーションマネージ
    ャが従う前記1つ以上のルールによって決定される、システム。
  34. 【請求項34】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのデジタルTV受信装置であって、 プロセッサと、 コンピュータ読み取り可能な命令を格納するメモリと、 を備え、 前記コンピュータ読み取り可能な命令は、 アプリケーションがデータストリーム内に存在するか否かを、前記データスト
    リームから決定するための命令と、 前記アプリケーションが前記データストリーム内に存在することが決定された
    場合に、前記アプリケーションをロードするための命令と、 複数の状態を含むアプリケーションライフサイクルに従って前記アプリケーシ
    ョンを実行するための命令と、 を含む、受信装置。
  35. 【請求項35】 請求項34記載のデジタルTV受信装置であって、 前記アプリケーションを実行するための前記命令は、 アプリケーションマネージャから可視であるともに、前記アプリケーションマ
    ネージャが、前記アプリケーションを前記複数の状態のうちの1つから前記複数
    の状態のうちの他の1つへ変更させることを可能とするよう構成された第1のイ
    ンターフェースと、 前記アプリケーションから可視であるとともに、前記複数の状態のうちの第1
    の組から前記複数の状態のうちの第2の組への前記アプリケーションの状態変更
    を、前記アプリケーションが前記アプリケーションマネージャと通信することを
    可能とするよう構成されている第2のインターフェースと、 を備える受信装置。
  36. 【請求項36】 請求項35記載のデジタルTV受信装置であって、 前記複数の状態の前記第2の組は、前記アプリケーションが一時停止されたこ
    とを示す一時停止状態と、前記アプリケーションが終了されたことを示す抹消状
    態とを含む、受信装置。
  37. 【請求項37】 請求項34記載のデジタルTV受信装置であって、 前記アプリケーションを実行するための前記命令は、 アプリケーションマネージャから可視であるともに、前記アプリケーションマ
    ネージャによって、前記アプリケーションが前記アプリケーションの状態を前記
    複数の状態のうちの1つから前記複数の状態のうちの他の1つへ変更することを
    可能とするように構成された第1のインターフェースと、 前記アプリケーションから可視であるとともに、前記アプリケーションマネー
    ジャによって前記アプリケーションの前記状態が前記複数の状態のうちの第1の
    状態へ変更されることを、前記アプリケーションが要求を行うことを可能とする
    ように構成されている第2のインターフェースと、 を備える受信装置。
  38. 【請求項38】 請求項37記載のデジタルTV受信装置であって、さらに
    、 前記アプリケーションの前記状態を前記複数の状態のうちの第2の状態から前
    記複数の状態のうちの前記第1の状態へ変更するための命令を含む、受信装置。
  39. 【請求項39】 請求項38記載のデジタルTV受信装置であって、 前記第1の状態はアクティブ状態であり、 前記第2の状態は一時停止状態である、受信装置。
  40. 【請求項40】 請求項34記載のデジタルTV受信装置であって、 前記アプリケーションを実行するための前記命令は、 アプリケーションマネージャから可視であるともに、前記アプリケーションマ
    ネージャによって、前記アプリケーションが前記アプリケーションの状態を前記
    複数の状態の1つから前記複数の状態の他の1つへ変更させることを可能とする
    よう構成された第1のインターフェースと、 前記アプリケーションから可視であるとともに、前記アプリケーションマネー
    ジャによって要求されたように前記アプリケーションが前記アプリケーションの
    状態を変更できないことを、前記アプリケーションが前記アプリケーションマネ
    ージャと通信することを可能とするよう構成されている第2のインターフェース
    と、 を備える受信装置。
  41. 【請求項41】 請求項40記載のデジタルTV受信装置であって、さらに
    、 前記アプリケーションマネージャによって要求された前記アプリケーションの
    状態変更を前記アプリケーションが実行できないことを示す状態変更例外を、前
    記アプリケーションが生成することを可能とする命令を含む、受信装置。
  42. 【請求項42】 請求項40記載のデジタルTV受信装置であって、さらに
    、 前記アプリケーションマネージャによって要求されたような前記アプリケーシ
    ョンの状態変更を前記アプリケーションが望まないことを示す状態変更例外を、
    前記アプリケーションが生成することを可能とする命令を含む、受信装置。
  43. 【請求項43】 請求項36記載のデジタルTV受信装置であって、さらに
    、 前記アプリケーションが終了されたときに、前記アプリケーションに関連する
    メモリを開放するための命令を含む、受信装置。
  44. 【請求項44】 請求項34記載のデジタルTV受信装置であって、さらに
    、 前記アプリケーションに関するクラスローダであって、前記アプリケーション
    に関する1つ以上のクラスをロードするよう構成されているクラスローダを生成
    するための命令と、 前記アプリケーションに関する前記クラスをロードするために前記クラスロー
    ダを用いるための命令と、 前記クラスローダによってロードされた前記クラスを用いて、前記アプリケー
    ションをインスタンス化するための命令と、 を備える受信装置。
  45. 【請求項45】 請求項44記載のデジタルTV受信装置であって、さらに
    、 前記アプリケーションが終了されるときに、前記アプリケーションに関連する
    前記クラスをアンロードするための命令を含む、受信装置。
  46. 【請求項46】 請求項45記載のデジタルTV受信装置であって、 前記クラスをアンロードするための前記命令は、前記クラスローダを参照解除
    するための命令を含む、受信装置。
  47. 【請求項47】 デジタルTV受信装置環境においてアプリケーションの実
    行を管理するアプリケーションマネージャのための状態マシンであって、 前記アプリケーションがロードされたロード済み状態と、 前記ロード済み状態から前記一時停止状態へ遷移するために初期化され、前記
    アプリケーションが一時停止されている一時停止状態と、 前記一時停止状態から前記アクティブ状態へ遷移するために起動され、前記ア
    プリケーションが実行中であるアクティブ状態と、 前記アクティブ状態ないし前記一時停止状態のいずれかから前記抹消状態へ遷
    移するよう終了され、前記アプリケーションが抹消される抹消状態と、 を備える状態マシン。
  48. 【請求項48】 請求項47記載の状態マシンであって、 前記アプリケーションは、前記ロード済み状態の際に終了されるときに、前記
    ロード済み状態から前記抹消状態へ遷移可能である、状態マシン。
  49. 【請求項49】 請求項48記載の状態マシンであって、 前記アプリケーションマネージャまたは前記アプリケーションのいずれかが、
    前記抹消状態への前記遷移を開始することができる、状態マシン。
  50. 【請求項50】 請求項47記載の状態マシンであって、 前記アプリケーションは、前記アプリケーションが一時停止されているときに
    、前記アクティブ状態から前記一時停止状態へ遷移可能である、状態マシン。
  51. 【請求項51】 請求項50記載の状態マシンであって、 前記アプリケーションマネージャまたは前記アプリケーションのいずれかが、
    前記アクティブ状態から前記一時停止状態への前記遷移を開始可能である、状態
    マシン。
  52. 【請求項52】 請求項47記載の状態マシンであって、 前記アプリケーションマネージャのみが、前記アプリケーションを起動するこ
    とによって前記一時停止状態から前記アクティブ状態への前記遷移を開始可能で
    ある、状態マシン。
  53. 【請求項53】 請求項47記載の状態マシンであって、 前記状態マシンの前記状態は、共にアプリケーションライフサイクルを形成す
    る、状態マシン。
  54. 【請求項54】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記アプリケーションがロード済み状態に入るように前記アプリケーションを
    ロードするための命令と、 前記アプリケーションが前記ロード済み状態にあるときに前記アプリケーショ
    ンが一時停止状態に入るように前記アプリケーションを初期化するための命令と
    、 前記アプリケーションが前記一時停止状態にあるときに前記アプリケーション
    がアクティブ状態に入るように前記アプリケーションの実行を開始するための命
    令と、 前記アプリケーションが前記ロード済み状態、前記一時停止状態、もしくは前
    記アクティブ状態にあるときに、前記アプリケーションが前記抹消状態に入るよ
    うに前記アプリケーションの前記実行を終了するための命令と、 を備える、コンピュータプログラム製品。
  55. 【請求項55】 請求項54記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが前記アクティブ状態にあるときに、前記アプリケーシ
    ョンが前記一時停止状態に入るように前記アプリケーションを一時停止するため
    の命令を含む、コンピュータプログラム製品。
  56. 【請求項56】 請求項54記載のコンピュータプログラム製品であって、 前記アプリケーションが前記一時停止状態にあるときには、前記アプリケーシ
    ョンの実行を開始するための前記命令が、前記アプリケーションによって呼び出
    し不可能である、コンピュータプログラム製品。
  57. 【請求項57】 請求項54記載のコンピュータプログラム製品であって、 前記アプリケーションが前記一時停止状態にあるときには、前記アプリケーシ
    ョンの実行を開始するための前記命令が、前記アプリケーションの外部のプロセ
    スによってのみ呼び出し可能である、コンピュータプログラム製品。
  58. 【請求項58】 請求項55記載のコンピュータプログラム製品であって、 前記アプリケーションが前記アクティブ状態にあるときには、前記アプリケー
    ションの前記実行を一時停止するための前記命令が、前記アプリケーションもし
    くは前記アプリケーションの外部のプロセスによって呼び出し可能である、コン
    ピュータプログラム製品。
  59. 【請求項59】 請求項54記載のコンピュータプログラム製品であって、 前記アプリケーションを終了するための前記命令は、前記アプリケーションも
    しくは前記アプリケーションの外部のプロセスによって実行可能である、コンピ
    ュータプログラム製品。
  60. 【請求項60】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記アプリケーションが一時停止状態に入るように前記アプリケーションを初
    期化するための命令と、 前記アプリケーションがアクティブ状態に入るように前記アプリケーションの
    実行を開始するための命令と、 前記アプリケーションが前記一時停止状態に入るように前記アプリケーション
    前記実行を一時停止するための命令と、 前記アプリケーションが抹消状態に入るように前記アプリケーションを終了す
    るための命令と、 を含むコンピュータプログラム製品。
  61. 【請求項61】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記アプリケーションがアクティブ状態に入るように前記アプリケーションの
    実行を開始するための命令と、 前記アプリケーションが前記一時停止状態に入るように前記アプリケーション
    の前記実行を一時停止するための命令と、 所定の条件が満たされた場合には、前記アプリケーションが抹消状態に入るよ
    うに前記アプリケーションの前記実行を条件付きで終了するための命令と、 前記所定の条件が満たされない場合には、前記アプリケーションが前記抹消状
    態に入るように前記アプリケーションの前記実行を無条件に終了するための命令
    と、 を含むコンピュータプログラム製品。
  62. 【請求項62】 請求項61記載のコンピュータプログラム製品であって、 前記所定の条件は、前記アプリケーションから受信される信号である、コンピ
    ュータプログラム製品。
  63. 【請求項63】 請求項61記載のコンピュータプログラム製品であって、 前記所定の条件は、特定の期間内に前記アプリケーションから信号が受信され
    ないことである、コンピュータプログラム製品。
  64. 【請求項64】 請求項61記載のコンピュータプログラム製品であって、
    さらに、 前記所定の条件が満たされない場合には、前記アプリケーションによって生成
    された状態変更例外を無視するための命令を備え、 前記状態変更例外は、前記アプリケーションが終了を望まないことを示してい
    る、コンピュータプログラム製品。
  65. 【請求項65】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記アプリケーションがアクティブ状態に入るように前記アプリケーションの
    実行を開始するための命令と、 前記アプリケーションが前記一時停止状態に入るように前記アプリケーション
    の前記実行を一時停止するための命令と、 前記アプリケーションが抹消状態に入るように前記アプリケーションを終了す
    るための命令と、 前記アプリケーションの実行を開始するための前記命令、前記アプリケーショ
    ンの前記実行を一時停止するための前記命令、および前記アプリケーショを終了
    するための前記命令の実行を、前記アプリケーション以外のプロセスが開始する
    ことを可能とする一連の命令を含むインターフェースと、 を備えるコンピュータプログラム製品。
  66. 【請求項66】 請求項65記載のコンピュータプログラム製品であって、 前記インターフェースは、前記アプリケーションを終了するための前記命令を
    呼び出すよう構成されたスタブを含み、 前記スタブは、パラメータを受け入れることが可能であり、 前記パラメータは、前記アプリケーションの終了が、前記パラメータが第1の
    状態にあるときには無条件であることを示し、前記パラメータが第2の状態にあ
    るときには条件付きであることを示す、コンピュータプログラム製品。
  67. 【請求項67】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記アプリケーションが終了することを決定して、前記アプリケーションがロ
    ード済み状態、一時停止状態、もしくはアクティブ状態から抹消状態に入ったこ
    とを通信するための命令と、 前記アプリケーションが前記アプリケーションの実行を一時停止することを決
    定して、前記アプリケーションが前記アクティブ状態から前記一時停止状態に入
    ったことを通信するための命令と、 を含む、コンピュータプログラム製品。
  68. 【請求項68】 請求項67記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが、実行を再開して前記一時停止状態から前記アクティ
    ブ状態に入ることを要求していることを通信するための命令を備える、コンピュ
    ータプログラム製品。
  69. 【請求項69】 請求項67記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションのランタイム環境に関する情報を取得するための命令を
    備える、コンピュータプログラム製品。
  70. 【請求項70】 請求項67記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが終了することを決定したことを通信するための前記命
    令、および、前記アプリケーションが実行を一時停止することを決定したことを
    通信するための前記命令の実行を、前記アプリケーションが開始することを可能
    とする一連の命令を含むインターフェースを備える、コンピュータプログラム製
    品。
  71. 【請求項71】 請求項68記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが終了することを決定したことを通信するための前記命
    令、前記アプリケーションが実行を一時停止することを決定したことを通信する
    ための前記命令、および前記アプリケーションが実行を再開して前記一時停止状
    態から前記アクティブ状態に入るよう求めていることを通信するための前記命令
    の実行を、前記アプリケーションが開始することを可能とする一連の命令を含む
    、インターフェースを備える、コンピュータプログラム製品。
  72. 【請求項72】 アプリケーションライフサイクルに従ってアプリケーショ
    ンの実行を管理するためのコンピュータプログラム製品であって、 コンピュータ読み取り可能な命令を格納するコンピュータ読み取り可能な媒体
    を備え、 前記コンピュータ読み取り可能な命令は、 前記アプリケーションがアクティブ状態に入るように前記アプリケーションの
    実行を開始するための命令であって、前記アプリケーションによって呼び出し不
    可能な命令と、 前記アプリケーションが一時停止状態に入るように前記アプリケーションの前
    記実行を一時停止するための命令と、 前記アプリケーションが実行を再開して前記一時停止状態から前記アクティブ
    状態に入ることを求めていることを通信するための命令と、 を含むコンピュータプログラム製品。
  73. 【請求項73】 請求項72記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが実行を一時停止することを決定して、前記アクティブ
    状態から前記一時停止状態に入ったことを通信するための命令を備える、コンピ
    ュータプログラム製品。
  74. 【請求項74】 請求項72記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが抹消状態に入るように前記アプリケーションを終了す
    るための命令を備える、コンピュータプログラム製品。
  75. 【請求項75】 請求項74記載のコンピュータプログラム製品であって、
    さらに、 前記アプリケーションが終了することを決定して、前記抹消状態に入ったこと
    を通信するための命令を備える、コンピュータプログラム製品。
JP2001510083A 1999-07-13 2000-07-13 アプリケーションライフサイクルに従ってアプリケーションを管理するための方法および装置 Withdrawn JP2003504753A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14342899P 1999-07-13 1999-07-13
US60/143,428 1999-07-13
US09/465,980 1999-12-16
US09/465,980 US7257812B1 (en) 1999-12-16 1999-12-16 Methods and apparatus for managing an application
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
PCT/US2000/019167 WO2001004743A2 (en) 1999-07-13 2000-07-13 Methods and apparatus for managing an application according to an application lifecycle

Publications (1)

Publication Number Publication Date
JP2003504753A true JP2003504753A (ja) 2003-02-04

Family

ID=27385924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001510083A Withdrawn JP2003504753A (ja) 1999-07-13 2000-07-13 アプリケーションライフサイクルに従ってアプリケーションを管理するための方法および装置

Country Status (9)

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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059650A1 (ja) * 2004-12-01 2006-06-08 Vodafone K.K. 連係動作方法及び移動端末装置
US7089554B2 (en) 2003-08-05 2006-08-08 Matsushita Electric Industrial Co., Ltd. Program executing apparatus
JP2006528810A (ja) * 2003-07-21 2006-12-21 ソニー エレクトロニクス インク ディスプレイ管理装置及び管理方法
JP2007508612A (ja) * 2003-10-10 2007-04-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Bdディスクのためのjavaライフサイクルモデル
JP2007520777A (ja) * 2003-07-02 2007-07-26 シンビアン ソフトウェア リミテッド リソースを節約するマルチタスク計算装置を可能にする方法
JP2007536685A (ja) * 2004-05-10 2007-12-13 トムソン ライセンシング ソフトウェア・アプリケーションを自動的に選択する方法
JP2008508777A (ja) * 2004-07-30 2008-03-21 サムスン エレクトロニクス カンパニー リミテッド 動画データとアプリケーションプログラムとが記録された記録媒体、その再生装置及び方法
JP2008536384A (ja) * 2005-04-01 2008-09-04 マイクロソフト コーポレーション リソースが制限されたセットトップボックス環境においてアプリケーションを実行するシステム
US8037456B2 (en) 2004-04-06 2011-10-11 Panasonic Corporation Program execution device

Families Citing this family (24)

* 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 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
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
EP2270796A3 (en) 2003-11-10 2015-03-18 Panasonic Corporation Recording medium, playback apparatus, program, playback method, system integrated circuit
CN101656093B (zh) * 2003-11-10 2013-02-27 松下电器产业株式会社 播放装置及播放方法
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.
JP3917164B2 (ja) * 2003-12-08 2007-05-23 松下電器産業株式会社 分波器および合波器
EP2270803B1 (en) 2004-07-22 2018-06-20 Panasonic Intellectual Property Management Co., Ltd. Playback apparatus for performing application-synchronized playback
KR101051703B1 (ko) 2004-08-09 2011-07-25 삼성전자주식회사 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템
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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520777A (ja) * 2003-07-02 2007-07-26 シンビアン ソフトウェア リミテッド リソースを節約するマルチタスク計算装置を可能にする方法
JP2006528810A (ja) * 2003-07-21 2006-12-21 ソニー エレクトロニクス インク ディスプレイ管理装置及び管理方法
KR101166936B1 (ko) 2003-07-21 2012-07-19 소니 일렉트로닉스 인코포레이티드 임베디드 시스템에서 리소스로서 그래픽 디스플레이를공유하는 방법
US7089554B2 (en) 2003-08-05 2006-08-08 Matsushita Electric Industrial Co., Ltd. Program executing apparatus
JP2007508612A (ja) * 2003-10-10 2007-04-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Bdディスクのためのjavaライフサイクルモデル
US8037456B2 (en) 2004-04-06 2011-10-11 Panasonic Corporation Program execution device
JP2007536685A (ja) * 2004-05-10 2007-12-13 トムソン ライセンシング ソフトウェア・アプリケーションを自動的に選択する方法
JP4868535B2 (ja) * 2004-05-10 2012-02-01 トムソン ライセンシング ソフトウェア・アプリケーションを自動的に選択する方法
JP2008508777A (ja) * 2004-07-30 2008-03-21 サムスン エレクトロニクス カンパニー リミテッド 動画データとアプリケーションプログラムとが記録された記録媒体、その再生装置及び方法
WO2006059650A1 (ja) * 2004-12-01 2006-06-08 Vodafone K.K. 連係動作方法及び移動端末装置
US7877775B2 (en) 2004-12-01 2011-01-25 Vodafone K.K. Coordination method and mobile terminal
JP2008536384A (ja) * 2005-04-01 2008-09-04 マイクロソフト コーポレーション リソースが制限されたセットトップボックス環境においてアプリケーションを実行するシステム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2003504753A (ja) アプリケーションライフサイクルに従ってアプリケーションを管理するための方法および装置
US6874145B1 (en) Methods and apparatus for implementing an application lifecycle design for applications
EP1194838B1 (en) Methods and apparatus for implementing individual class loaders
US10114661B2 (en) System and method for fast starting an application
CA2988269C (en) Opportunistic multitasking
US20050278543A1 (en) Mobile communication terminal and data access control method
JP2000022741A (ja) 選択可能なデパッケタイザ構成
WO2006011343A1 (ja) 競合解決装置
US20060212869A1 (en) Resource management method and apparatus
US20020073218A1 (en) Stream device management system for multimedia clients in a broadcast network architecture
US7899973B2 (en) Information processing device and program
EP1557757A2 (en) System and method for inducing asynchronous behavioral changes in a managed application process
US7257812B1 (en) Methods and apparatus for managing an application
CA2532470C (en) Method for sharing a graphics display as a resource in an embedded system
CN114915810A (zh) 一种媒资推送方法及智能终端
CN117312006A (zh) Windows进程管理方法、电子设备及存储介质
CN114915818A (zh) 一种媒资推送方法及智能终端
KR20040047889A (ko) 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈
CN115695888A (zh) 视频的处理方法、装置及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070706

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080527