JP2007528048A - ソフトウェアアプリケーション実行方法 - Google Patents
ソフトウェアアプリケーション実行方法 Download PDFInfo
- Publication number
- JP2007528048A JP2007528048A JP2006518466A JP2006518466A JP2007528048A JP 2007528048 A JP2007528048 A JP 2007528048A JP 2006518466 A JP2006518466 A JP 2006518466A JP 2006518466 A JP2006518466 A JP 2006518466A JP 2007528048 A JP2007528048 A JP 2007528048A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- software application
- application
- user interface
- verified
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
- H04N21/23617—Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
- H04N21/4349—Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4433—Implementing client middleware, e.g. Multimedia Home Platform [MHP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4435—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8545—Content authoring for generating interactive applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
少なくとも1つの通信リンクを介し付属の計算手段を有する少なくとも1つの対応するユーザインタフェースと結合される配信プロバイダを有する配信システムの1以上のソフトウェアアプリケーションを実行する方法が提供される。本方法は、(a)前記少なくとも1つのユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するステップと、(b)前記少なくとも1つの所望のソフトウェアアプリケーションが存在するか判断するため、前記少なくとも1つのユーザインタフェースに係るメモリをチェックするステップと、(c)前記少なくとも1つのソフトウェアアプリケーションが前記メモリに既に格納され、検証されていると判明すると、前記少なくとも1つの所望のソフトウェアアプリケーションを前記メモリから前記少なくとも1つのユーザインタフェースに係る計算手段にロードし、その後に前記計算手段において前記ソフトウェアアプリケーションを実行するステップと、(d)前記少なくとも1つのアプリケーションが前記メモリに格納されていないと判明すると、前記配信プロバイダから前記少なくとも1つの所望のソフトウェアアプリケーションを受信し、該少なくとも1つのアプリケーションを前記計算手段にロードし、該計算手段において前記少なくとも1つのアプリケーションを検証し、その後に、前記計算手段において検証されると、前記少なくとも1つのアプリケーションを実行するステップと、を有する。
Description
本発明は、通信装置におけるソフトウェアアプリケーションを実行する方法に関し、特に以下に限定されるものではないが、本発明は、Xletとして知られているようなJavaTMソフトウェアと共に実現されるソフトウェアアプリケーションを実行する方法に関する。このようなXletの実行は、家庭内環境におけるインタラクティブデジタルテレビ(DTV)装置と共に使用されるのに適したセットトップボックス(STB)などのマルチメディアホームプラットフォーム(MHP)などの装置における実行が可能である。さらに、本発明はまた、Xletソフトウェアアプリケーションなどのソフトウェアアプリケーションの実行時に、上記方法を実現可能な装置に関する。
「DVB−MHP/JavaTVTM Data Transport Mechanism」というタイトルの論文が、J.Jonesによりオーストラリアのシドニーでの「40th International Conference on Technology and Object−Orientated Languages and Systems(TOOLS Pacific 2002)において発表された。この論文では、広範な技術的機会を提供することが可能なJava DVB−MPH規格が記載されている。このような規格の採用は、インタラクティブテレビなどに関してデジタルテレビの技術分野に特に関係するものである。35カ国の300以上の放送局、メーカー、ネットワーク運営者、ソフトウェア開発者、規制団体の産業主導型コンソーシアムが、現在デジタルテレビ及びデータサービスの提供のためグローバルな規格の設計に取り組んでいる。このような取り組みは、「DVB」プロジェクトとの省略形により呼ばれている「デジタルビデオブロードキャスティングプロジェクト」として現在知られている。
DVBプロジェクトは、適切なソフトウェアアプリケーション環境言語としてJavaTM技術を指定している。JavaTMは、ハイレベルオブジェクト指向プログラミング言語である。使用において、Javaソフトウェアソースは、バーチャルマシーンによる解釈のため、プラットフォームに独立なバイトコードに変換される。セットトップボックス(STB)にダウンロードされたソフトウェアアプリケーションは、典型的には、インタラクティブテレビ環境における使用に特に仕様されたアプリケーションプログラミングインタフェース(API)から構成されるJavaTMソフトウェアアプリケーションである。
当該規格の一部、すなわち、MHP1.0.1は、音声及び映像サービスのデジタル配信が実行可能なソフトウェアアプリケーションと合成されている第1プロファイルを規定している。ソフトウェアアプリケーションは、1以上のテレビ視聴者がローカルにやりとりすることを可能にし、たとえば、インタラクションチャネルが設けられることを必要としない。さらに、当該規格はまた、拡張された放送により1以上にユーザに提供される特徴に加えて、放送サービスから独立又は関連する範囲のインタラクティブサービスが提供され、このようなインタラクティブサービスが追加的なインタラクションチャネルの提供を必要する第2プロファイルを規定する。
マルチメディアホームプラットフォーム(MHP)の状況では、通常の意味では完全なJavaTMアプリケーションであるとは従来はみなされていないMHPソフトウェアアプリケーションが利用される。これらのMHPソフトウェアアプリケーションは、それらが所与のプラットフォームにロードされ、ライフサイクルマネージャの監視の下で実行されるという点で、Appletと類似している。たとえば、当該プラットフォームは、セットトップボックス(STB)であり、ライフサイクルマネージャは、専用ソフトウェアにより実現される。MHPソフトウェアアプリケーションは、便宜上「Xlet」と呼ばれる。
従って、本発明者は、MHP配信がXletなどのJavaTMアプリケーションの送信に関するものであると理解している。これらのXletを、DSM−CC(Digital Media Command and Control)によりMHPに準拠した製品にダウンロードすることが可能である。
さらに、本発明者は、例えば、配信ソフトウェアアプリケーション用の「カルーセル方式」の繰り返しパターンが用いられる場合、Xletアプリケーションはしばしば連続配信されるが、ほとんど変更されることはないと理解している。例えば、家庭においてユーザは、テレビにリンクしたセットトップボックス(STB)を所有する。ユーザは、STBと共にテレビを用いることにより、1以上の所望のサービスに対応するテレビ画面上のラベル又はシンボルを選択し、その後でシンボルの「ザッピング(zapping)」と通常呼ばれているシンボルの呼び出しが可能である。このようなシンボルの「ザッピング」により、対応するXletが検出される。ここで、ユーザがXletの使用を所望する場合、当該Xletに係るクラス及び画像が、衛星接続及び/又は光ファイバリンクなどの通信媒体を介しSTBにダウンロードされる。ダウンロードに続いて、STBにおいてソフトウェア的に実現されるセキュリティマネージャが、ダウンロードされたXlet、すなわち、関連する画像及びクラスを、XletがSTBに設けられているバーチャルマシーンにロードされ、そこで実行される前にチェックするよう動作可能である。セキュリティマネージャが、例えば、1以上のソフトウェアウイルスにより汚染された安全でないクラスや関連する画像を特定する状況では、セキュリティマネージャは、バーチャルマシーンがXletを実行するのをやめるよう動作可能である。
本発明者は、セキュリティマネージャが上述のようなそれのセキュリティチェックタスクを実行するのにかなりの時間を要するということを理解している。このような遅延は、本発明者が少なくとも部分的に解決することを可能にする方法を考案することの要因となった重大な問題である。
上記問題は、当該技術分野では認識されていないようである。例えば、米国の公開された特許出願US2002/0120945A1では、デジタルテレビ(DTV)セットトップボックスと共に用いられるソフトウェアシステムが記載されている。当該システムは、第1及び第2アーキテクチャである2つの標準的DASEアーキテクチャとセットトップボックスとの互換性を有するように特別に設計されたソフトウェアバスアプリケーションプログラミングインタフェース(API)を利用する。第1のアーキテクチャでは、手続的なアプリケーションエンジンが、宣言的アプリケーションエンジンを備える。第2のアーキテクチャでは、関連する手続を含む手続的アプリケーションエンジンが含まれる。各アプリケーションエンジンは、機能セルルータを用いてDTV配信からセットトップボックスによりダウンロードされるソフトウェアアプリケーションから投入されるすべてのDASEインフラストラクチャAPIを傍受するアプリケーションエンジンマネージャを関連付けしている。すべてのAPIがアプリケーションマネージャを介し送信され、すべてのアプリケーションエンジンは、それに含まれるソフトウェアバスAPIを実現するのに必要とされる。また、ソフトウェアコードの一行を単に変更することにより、追加的なアプリケーションの容易なインストール処理を可能にするよう動作可能な特別に設計されたソフトウェアインタフェースが備えられる。
本発明の第1の課題は、ソフトウェアアプリケーションのセキュリティチェック時により迅速に動作する、デジタルテレビ(DTV)に付属するセットトップボックスなどにおけるソフトウェアアプリケーションを実行する方法を提供することである。
本発明の第2の課題は、上記方法に従って動作可能な装置を提供することである。
本発明の第1の特徴によると、少なくとも1つの通信リンクを介し付属の計算手段を有する少なくとも1つの対応するユーザインタフェースと結合される配信プロバイダを有する配信システムの1以上のソフトウェアアプリケーションを実行する方法であって、
(a)前記少なくとも1つのユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するステップと、
(b)前記少なくとも1つの所望のソフトウェアアプリケーションが存在するか判断するため、前記少なくとも1つのユーザインタフェースに係るメモリをチェックするステップと、
(c)前記少なくとも1つのソフトウェアアプリケーションが前記メモリに既に格納され、検証されていると判明すると、前記少なくとも1つの所望のソフトウェアアプリケーションを前記メモリから前記少なくとも1つのユーザインタフェースに係る計算手段にロードし、その後に前記計算手段において前記ソフトウェアアプリケーションを実行するステップと、
(d)前記少なくとも1つのアプリケーションが前記メモリに格納されていないと判明すると、前記配信プロバイダから前記少なくとも1つの所望のソフトウェアアプリケーションを受信し、該少なくとも1つのアプリケーションを前記計算手段にロードし、該計算手段において前記少なくとも1つのアプリケーションを検証し、その後に、前記計算手段において検証されると、前記少なくとも1つのアプリケーションを実行するステップと、
を有することを特徴とする方法が提供される。
(a)前記少なくとも1つのユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するステップと、
(b)前記少なくとも1つの所望のソフトウェアアプリケーションが存在するか判断するため、前記少なくとも1つのユーザインタフェースに係るメモリをチェックするステップと、
(c)前記少なくとも1つのソフトウェアアプリケーションが前記メモリに既に格納され、検証されていると判明すると、前記少なくとも1つの所望のソフトウェアアプリケーションを前記メモリから前記少なくとも1つのユーザインタフェースに係る計算手段にロードし、その後に前記計算手段において前記ソフトウェアアプリケーションを実行するステップと、
(d)前記少なくとも1つのアプリケーションが前記メモリに格納されていないと判明すると、前記配信プロバイダから前記少なくとも1つの所望のソフトウェアアプリケーションを受信し、該少なくとも1つのアプリケーションを前記計算手段にロードし、該計算手段において前記少なくとも1つのアプリケーションを検証し、その後に、前記計算手段において検証されると、前記少なくとも1つのアプリケーションを実行するステップと、
を有することを特徴とする方法が提供される。
上記方法は、本発明の課題の少なくとも1つを解決可能であると点で効果的である。
好ましくは、前記ステップ(d)において、前記少なくとも1つのソフトウェアアプリケーションは、検証されると、以降の可能性のある再利用のため前記メモリに格納される。このような再利用は、より反応性が高く迅速なユーザインタフェースの使用を可能にする。
好ましくは、例えば各ユーザインタフェースの過度のメモリを搭載する必要性を回避するため、各ユーザインタフェースには、ユーザリクエストされた頻度の低いソフトウェアアプリケーションをより最近にユーザリクエストされたソフトウェアアプリケーションにより上書きし、これにより、少なくとも1つのより頻度の高いユーザリクエストされたソフトウェアアプリケーションのためのメモリ容量の再利用を可能にするよう動作可能なメモリ管理手段が設けられる。
好ましくは、各ユーザインタフェースをソフトウェアアプリケーションの更新に対して反応性を高めるため、本方法の前記ステップ(b)において、前記メモリに格納されている少なくとも1つの検証されたソフトウェアアプリケーションが、類似性をチェックするため、前記配信プロバイダから配信された少なくとも1つの対応するソフトウェアアプリケーションと比較され、
(a)前記メモリに格納されている少なくとも1つの検証されたアプリケーションが、前記少なくとも1つの格納及び検証されたアプリケーションと少なくとも1つの配信されたアプリケーションとの間の対応が特定されると、前記計算手段において実行され、
(b)前記少なくとも1つの配信されたアプリケーションが有効性についてチェックされ、検証が成功すると前記メモリに格納され、その後に前記計算手段において実行され、
これにより、当該方法は、新規の対応する少なくとも1つのアプリケーションが前記配信プロバイダから配信されると、前記メモリに格納されている少なくとも1つのアプリケーションを更新するよう動作可能とされる。
(a)前記メモリに格納されている少なくとも1つの検証されたアプリケーションが、前記少なくとも1つの格納及び検証されたアプリケーションと少なくとも1つの配信されたアプリケーションとの間の対応が特定されると、前記計算手段において実行され、
(b)前記少なくとも1つの配信されたアプリケーションが有効性についてチェックされ、検証が成功すると前記メモリに格納され、その後に前記計算手段において実行され、
これにより、当該方法は、新規の対応する少なくとも1つのアプリケーションが前記配信プロバイダから配信されると、前記メモリに格納されている少なくとも1つのアプリケーションを更新するよう動作可能とされる。
好ましくは、少なくとも1つの通信リンクにおいて双方向通信がサポートされている場合、前記少なくとも1つのユーザインタフェース及び対応する少なくとも1つの通信リンクは、前記所望のソフトウェアアプリケーションに対する1以上のユーザリクエストを、該リクエストされた所望のアプリケーションを前記少なくとも1つのユーザインタフェースに配信するよう応答する前記配信プロバイダに伝えるよう動作可能とされる。
好ましくは、例えば代わりに又は追加的に、前記配信プロバイダは、前記少なくとも1つのユーザインタフェースにおいて付属のメモリに選択的にロードするため繰り返しの時間的方法により、前記少なくとも1つの通信リンクを介し1以上のソフトウェアアプリケーションを配信するよう動作可能とされる。このような「カルーセル」的なソフトウェアアプリケーションの配信は、一方向の少なくとも1つの通信リンクと同時にユーザインタラクティブデジタルテレビ(DTV)をサポートすることが可能である。より好ましくは、例えば許容可能な短いユーザリクエスト応答遅延を与えるため、配信プロバイダは、擬似連続的方法により1以上のソフトウェアアプリケーションを配信するよう動作可能である。
好ましくは、本方法では、前記配信システムは、前記少なくとも1つのユーザインタフェースが付属の表示手段と結合された少なくとも1つのセットトップボックスと対応し、前記少なくとも1つの通信リンクが無線リンク、光ファイバリンク及び導電性有線通信リンクの少なくとも1つにより実現されるデジタルテレビ配信システムである。より好ましくは、メーカーの異なるコスト/サイズに対応するため、前記表示手段は、ブラウン管、画素プラズマディスプレイ、画素バックライト付液晶表示ディスプレイ及び画素プロジェクション液晶表示ディスプレイの少なくとも1つを有する。
好ましくは、利便性の高いユーザとのやりとりをサポートするため、前記少なくとも1つの所望のソフトウェアアプリケーションは、前記少なくとも1つのユーザインタフェースにおいて前記少なくとも1人のユーザに提示された少なくとも1つのグラフィック表示シンボルの使用により選択される。より好ましくは、前記少なくとも1つのグラフィックシンボルは、少なくとも1つのグラフィックアイコンとして実現される。
好ましくは、デジタルテレビ(DTV)に加えて又はその代わりに、前記少なくとも1つのユーザインタフェースは、対応するグラフィックディスプレイが設けられた少なくとも1つのモバイル電話として実現される。
1以上のユーザリクエストに対して電源オンされたとき迅速なスタートアップを提供するため、前記メモリは、電源オフにされたときデータを保持するよう動作可能な永久メモリとして実現される。より好ましくは、前記メモリは、ソリッドステートメモリと磁気ディスクメモリの少なくとも1つを用いる不揮発性メモリとして実現される。
好ましくは、広範な一般的許容性のため、前記少なくとも1つのソフトウェアアプリケーションは、1以上のJava Xletとして実現される。Javaは、国際的に知られており、広範に利用される最新のコンピュータ言語である。
好ましくは、本方法の前記ステップ(d)において、ソフトウェアにより実現されるセキュリティマネージャによって検証が実行され、検証されたソフトウェアアプリケーションは、前記計算手段において与えられるソフトウェアにより実現されるバーチャルマシーン上で実行される。
好ましくは、計算手段を効率的に使用しながら、より予測性の高い一様かつ安定的な動作を提供するため、前記検証された少なくとも1つのソフトウェアアプリケーションのダウンロード、検証及び前記メモリへの格納は、前記計算手段における連続する同時的なバックグラウンドアクションとして実行される。
本発明の第2の特徴によると、少なくとも1つの通信リンクを介し少なくとも1つの対応するユーザインタフェースと結合される配信プロバイダを有し、1以上のソフトウェアアプリケーションを実行する配信システムであって、
各ユーザインタフェースは、
(a)該ユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するインタフェース手段と、
(b)少なくとも1つのソフトウェアアプリケーションを格納するメモリと、
(c)前記少なくとも1つの所望のソフトウェアアプリケーションが既に検証され、前記メモリに格納されているか判断し、前記1以上のソフトウェアアプリケーションが前記メモリに格納されていない場合、前記配信プロバイダから受信した1以上のソフトウェアアプリケーションを検証し、前記1以上のユーザリクエストに応答して、1以上の検証されたソフトウェアアプリケーションを実行し、前記少なくとも1人のユーザからの前記1以上のリクエストに対するより迅速な一時的応答を前記少なくとも1人のユーザに提供するため、前記メモリに格納されている1以上の検証されたソフトウェアアプリケーションが、前記配信プロバイダから受信可能な対応する1以上のソフトウェアアプリケーションの検証に優先して実行されるようにする計算手段と、
を有することを特徴とするシステムが提供される。
各ユーザインタフェースは、
(a)該ユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するインタフェース手段と、
(b)少なくとも1つのソフトウェアアプリケーションを格納するメモリと、
(c)前記少なくとも1つの所望のソフトウェアアプリケーションが既に検証され、前記メモリに格納されているか判断し、前記1以上のソフトウェアアプリケーションが前記メモリに格納されていない場合、前記配信プロバイダから受信した1以上のソフトウェアアプリケーションを検証し、前記1以上のユーザリクエストに応答して、1以上の検証されたソフトウェアアプリケーションを実行し、前記少なくとも1人のユーザからの前記1以上のリクエストに対するより迅速な一時的応答を前記少なくとも1人のユーザに提供するため、前記メモリに格納されている1以上の検証されたソフトウェアアプリケーションが、前記配信プロバイダから受信可能な対応する1以上のソフトウェアアプリケーションの検証に優先して実行されるようにする計算手段と、
を有することを特徴とするシステムが提供される。
好ましくは、当該システムにおいて、前記計算手段は、以降の可能性のある再利用のため前記メモリにおいて検証されると、前記少なくとも1つのソフトウェアアプリケーションを格納するよう動作可能とされる。
好ましくは、各ユーザインタフェースには、ユーザリクエストされた頻度の低いソフトウェアアプリケーションをより最近にユーザリクエストされたソフトウェアアプリケーションにより上書きし、これにより、少なくとも1つのより頻度の高いユーザリクエストされたソフトウェアアプリケーションのためのメモリ容量の再利用を可能にするよう動作可能なメモリ管理手段が設けられる。
好ましくは、当該システムにおいて、前記計算手段は、類似性をチェックするため、前記メモリに格納されている少なくとも1つの検証されたソフトウェアアプリケーションと前記配信プロバイダから配信された少なくとも1つの対応するソフトウェアアプリケーションとを比較し、
(a)前記メモリに格納されている少なくとも1つの検証されたアプリケーションが、前記少なくとも1つの格納及び検証されたアプリケーションと少なくとも1つの配信されたアプリケーションとの間の対応が特定されると、前記計算手段において実行され、
(b)前記少なくとも1つの配信されたアプリケーションが有効性についてチェックされ、検証が成功すると前記メモリに格納され、その後に前記計算手段において実行され、
これにより、前記計算手段は、新規の対応する少なくとも1つのアプリケーションが前記配信プロバイダから配信されると、前記メモリに格納されている少なくとも1つのアプリケーションを更新するよう動作可能とされる。
(a)前記メモリに格納されている少なくとも1つの検証されたアプリケーションが、前記少なくとも1つの格納及び検証されたアプリケーションと少なくとも1つの配信されたアプリケーションとの間の対応が特定されると、前記計算手段において実行され、
(b)前記少なくとも1つの配信されたアプリケーションが有効性についてチェックされ、検証が成功すると前記メモリに格納され、その後に前記計算手段において実行され、
これにより、前記計算手段は、新規の対応する少なくとも1つのアプリケーションが前記配信プロバイダから配信されると、前記メモリに格納されている少なくとも1つのアプリケーションを更新するよう動作可能とされる。
好ましくは、当該システムにおいて、前記少なくとも1つのユーザインタフェース及び対応する少なくとも1つの通信リンクは、前記所望のソフトウェアアプリケーションに対する1以上のユーザリクエストを、該リクエストされた所望のアプリケーションを前記少なくとも1つのユーザインタフェースに配信するよう応答する前記配信プロバイダに伝えるよう動作可能とされる。
好ましくは、当該システムにおいて、前記配信プロバイダは、前記少なくとも1つのユーザインタフェースにおける選択的なロードのため、繰り返しの時間的方法により、前記少なくとも1つの通信リンクを介し1以上のソフトウェアアプリケーションを配信するよう動作可能とされる。
好ましくは、当該配信システムは、前記少なくとも1つのユーザインタフェースが付属の表示手段と結合された少なくとも1つのセットトップボックスと対応し、前記少なくとも1つの通信リンクが無線リンク、光ファイバリンク及び導電性有線通信リンクの少なくとも1つにより実現されるデジタルテレビ配信システムである。より好ましくは、前記表示手段は、ブラウン管、画素プラズマディスプレイ、画素バックライト付液晶表示ディスプレイ及び画素プロジェクション液晶表示ディスプレイの少なくとも1つを有する。
好ましくは、前記少なくとも1つの所望のソフトウェアアプリケーションは、前記少なくとも1つのユーザインタフェースにおいて前記少なくとも1人のユーザに提示された少なくとも1つのグラフィック表示シンボルの使用により選択可能とされる。より好ましくは、前記少なくとも1つのグラフィックシンボルは、少なくとも1つのグラフィックアイコンとして実現される。
好ましくは、デジタルテレビ(DTV)に追加して又はその代わりに、前記少なくとも1つのユーザインタフェースは、対応するグラフィックディスプレイが設けられた少なくとも1つのモバイル電話として実現される。
好ましくは、前記メモリは、電源オフにされたときデータを保持するよう動作可能な永久メモリとして実現される。より好ましくは、前記メモリは、ソリッドステートメモリと磁気ディスクメモリの少なくとも1つを用いる不揮発性メモリとして実現される。
好ましくは、前記少なくとも1つのソフトウェアアプリケーションは、1以上のJava Xletとして実現される。
好ましくは、前記計算手段は、ソフトウェアにより実現されるセキュリティマネージャによって検証を実行し、前記計算手段において与えられるソフトウェアにより実現されるバーチャルマシーンによって検証されたソフトウェアアプリケーションを実行するよう動作可能とされる。
好ましくは、前記計算手段は、前記検証された少なくとも1つのソフトウェアアプリケーションのダウンロード、検証及び前記メモリへの格納を連続する同時的なバックグラウンドアクションとして実行するよう動作可能とされる。
本発明の特徴は、本発明の範囲から逸脱することなく任意の組み合わせにより組み合わせ可能であるということは理解されるであろう。
本発明を説明するため、図1及び2を参照して、デジタルテレビ(DTV)の概要がまず説明される。
まず図1を参照するに、全般的に10により示される従来技術によるDTV配信ネットワークが示される。当該ネットワーク10は、DTV信号を配信するためのインフラストラクチャを有するDTV配信プロバイダ20を有する。このインフラストラクチャは、例えば、アンプ、リジェネレータ、イコライザ及びフィルタの1以上などのインラインコンポーネント、信号スイッチングユニット、光ファイバ通信リンク、マイクロウェーブワイヤレスリンクの1以上などを有する。配信プロバイダ20は、ユーザ1〜nにDTVサービスを提供するためのn個の出力を有する。各出力は、好ましくは、同軸高周波数ワイヤリンク、広帯域幅光ファイバリンク及びワイヤレスラジオリンクの1以上である通信リンク30を介し接続される。さらに、各ユーザは、ユーザ60により視聴可能なテレビモニタ50と対応するリンク30との間で接続されるセットトップボックス(STB)40と関連付けされる。モニタ50は、CRT(Cathode Ray Tube)ディスプレイ、画素LCD(Liquid Crystal Display)、LCDプロジェクションユニット及びプラズマディスプレイの1以上であることが好ましい。さらに、モニタ50はまた、例えば、ミニチュアコンピュータキーボード及び/またはコンピュータマウス、トラックボールなどのユーザインタフェースコントロールパネル及び対応する音声システムを有する。
STB40は、高速信号処理ハードウェアと共にコンピュータハードウェアを有する。コンピュータハードウェアは、適切なデジタルバスを介し揮発性及び不揮発性記憶装置に結合される少なくとも1つのプロセッサを有し、不揮発性記憶装置は、後述されるように、永久的メモリを提供することが可能である。STB40は、特にXletを受信し、ユーザ60に対応する映像及び/または音声サービスを提供するよう実行可能な実質的に汎用的なコンピュータエミュレーションであるバーチャルマシーンとして機能することを可能にするよう実行可能なソフトウェアを有する。
次に図2を参照するに、各STB40内部で実行される処理ステップのフローチャートとして、100により全体的に示される処理ステップが示される。当該ステップ100は、シンボル選択ステップ110(シンボルの選択)、Xletステップに対するリクエスト120(Xletに対するリクエスト)、Xletステップの受付130(Xletの受付)、Xletセキュリティ/検証チェックステップ140(Xletのセキュリティチェック)、判定ステップ150(Xletは安全に実行可能か?)及び最後のXlet実行ステップ160(Xletの実行)を有する。これらのステップ110〜160は、図2に与えられるような時間的シーケンスにより実行される。
図1及び2を参照して、配信ネットワーク10の動作が説明される。
配信プロバイダ20は、リンク30の1以上を介し各自のユーザ60にデジタル信号を出力するよう動作可能である。デジタル信号は、デジタル番組、実行可能ソフトウェア及びソフトウェア関連データの少なくとも1つを有する。
各ユーザ60は、例えば、好適な番組チャネルを選択するため、プロバイダ20から送信される与えられたデジタルデータストリームを選択するようそれの対応するSTB40に指示可能である。さらに、各ユーザ60はまた、後述されるように、実行用にユーザのSTB40に送信される1以上のソフトウェアアプリケーションを選択することができる。
各STB40は、それのユーザ60からアプリケーションリクエストを受信可能であり、ユーザ60はモニタ50上で所望の選択肢を選択する。例えば、当該選択肢は、ユーザ60がモニタ50上に表示されるマウスアイコンを所望のアイコンソフトウェアアプリケーションシンボルに移動することによって、ステップ110において選択される。
第1のインタラクティブ動作モードでは、ユーザ60はその後、ステップ120において当該リクエストをSTB40を介しプロバイダ20に転送する。例えば、ユーザ60は、STB40にリンク30を介しリクエストを配信プロバイダ20に送信させるスイッチまたは「実行」ボタンを押下する。その後ステップ130において、プロバイダ20は、モニタ50への表示のためにSTB40における最終的な実行のため、例えば、1以上のXletなどの1以上の対応するソフトウェアアプリケーションをダウンロードすることにより応答する。
配信プロバイダ20が「カルーセル」形式により繰り返しかつ連続的にソフトウェアアプリケーションを出力する第2のインタラクティブ動作モードでは、STB40は、STB40に伝搬される入力信号から、モニタ50への表示のためSTB40において最終的に実行される選択されたXletを分離することによって、ユーザ60からのリクエストに応答する。
ステップ140と150において、STB40と格納されているデータの劣化を回避するため、STB40はまた、配信プロバイダ20から上述のようなXletなどの1以上の受信したソフトウェアアプリケーションを検証するため、セキュリティマネージャとして知られる検証ソフトウェアを実行する。このような検証は、ソフトウェアアプリケーションが真正なソースから与えられたことを保証し、及び/又は当該ソフトウェアアプリケーションがSTB40の動作に悪影響を与える可能性のあるコンピュータウイルスや同様の不具合を有する。
Xletが1以上のSTB40において受信されると、上述のセキュリティマネージャソフトウェアが1以上のSTB40上で実行されることによって、まず検証される。ステップ150において、Xletが真正でないと判断されると、それは実行されない。逆にステップ150において、Xletがセキュリティマネージャにより検証が成功すると、それはSTB40により与えられるバーチャルマシーン上にロードされ、その後にステップ160において、天気予報、投資銀行のパフォーマンスレポート、株式市場レポート及び/又はテレビゲームなどの対応するサービスをユーザ60に提供するようステップ160において実行される。
本発明者は、モニタ50上で特定されるソフトウェアアプリケーションアイコンなどが応答及び機能するため出現するまでの期間ユーザ60が待機しなければならないという結果により、STB40のセキュリティマネージャが、ステップ140において比較的にゆっくりとそれの検証機能を実行することを認識している。さらに、ソフトウェアアプリケーションが比較的大きなものであって、リンク30を介し利用可能な帯域幅が制限されているとき、リンク30を介し配信プロバイダ20からそれの関連するSTB40まで、ステップ130においてアプリケーションをロードするのにかなりの時間を要する。このような遅延は、ユーザ60を当惑させ、苛つかせる可能性もある。
ソフトウェアアプリケーションがSTB40の内部で実行されると、それらは従来は、ネットワークプロバイダ20から与えられる新たな以降のソフトウェアアプリケーションにより消去及び/又は上書きされていた。
上述のように、ネットワーク10に一方向リンク30が設けられる場合、ネットワークプロバイダ10は、ユーザ60のスレットがユーザのSTB40にステップ120及び130において、Xletなどの対応する選択されたソフトウェアアプリケーションを特定させ、真正である場合には以降の実行のためステップ140及び150における検証のため、STB40のメモリにロードさせなかった場合、各STB40において通常は無視されるソフトウェアアプリケーションを繰り返し送信する。
本発明者は、配信プロバイダ20から与えられたソフトウェアアプリケーションが上述の第2のインタラクティブモードにより繰り返し配信される、すなわち、ほとんど変更されず、データ「カルーセル」形式に効果的に連続配信される。ユーザ60が上述のようなソフトウェアアプリケーションアイコンを「ザップ」する場合、対応するXletが特定される。ユーザがXletの実行を所望する場合、Xletに係る画像及びクラスが、プロバイダ20からユーザ60のSTB40にダウンロードされる。次に、当該クラスは、Xletが最終的に実行されるまでに、セキュリティマネージャが各クラスを検証するロード処理段階においてバーチャルマシーンによりロードされる。このような検証には、STB40における比較的大きな実行時間を要する。
本発明者は、本発明に対して、Xletの1以上のSTB40へのダウンロードを2段階の処理、すなわち、格納処理と実行処理とみなすことが望ましいということを認識していた。このようなストレージは、パワーダウン状態、すなわち、電力がSTB40から切断されているときにデータを保持する磁気ハードディスクメモリ及び/又はソリッドステートフラッシュメモリなどの不揮発性永久ストレージであることが特に望ましい。このような永久ストレージを提供するための利用として、他のタイプの不揮発性永久メモリがまた可能である。
従って、本発明の方法では、まずXletが1以上のSTB40上で実行され、STB40は各自のセキュリティマネージャを呼び出し、関連するすべてのクラスにおいてXletを検証し、その後に検証したXletをSTB40の永久メモリに格納するようプログラムされる。ユーザ60がユーザ40のモニタ50上の所望のXletアイコンを呼び出す以降の例では、対応するSTB40はまず、所望されたXletがすでにSTB40の永久ストレージに格納されているか判断するためチェックする。その後、STB40は、検証され格納されたXletが、例えば、Xletを配信するためそれの「カルーセル」モードによる出力として、配信プロバイダ20から連続的に出力されるものと同様のものであるということを確認するためチェックする。配信され格納されたXletが同一である場合、STB40は、これら2つのXletが共に有効であり、その後に格納されているXletの実行に移行することを特定する。所望の格納されたXletが、例えば、プロバイダ20により実現されるソフトウェアの更新により配信プロバイダ20からの出力と異なる場合、STB40は、プロバイダ20から所望の選択されたXletをダウンロードするよう動作可能であり、その後に、永久ストレージへのロード前にセキュリティマネージャによる検証チェックを受け、その後にバーチャルマシーンにおいて前述のように実行される。
完全な検証されたXletを格納する代わりに、STB40は、入力された受信Xletがバーチャルマシーンにおける実行前にチェックサムを用いることにより、迅速に検証可能となるように、検証された所望のXletに対応するチェックサムなどの検証データを格納することが可能である。このような本発明の実現形態は、STB40の内部のメモリ容量をより少なくしか要求しない。
本発明の方法が、図3を参照してさらに説明される。
図3において、本発明の実施例に対応する処理ステップのフローチャートが示される。当該処理ステップは、200により全体的に示される。ステップ200は、シンボル選択ステップ210(シンボルの選択)、ソフトウェアアプリケーションチェックステップ220(Xletはすでにロードされ、STBにおいてセキュリティチェックされているか?)、永久メモリからのXletロードステップ230(STBストレージからのXletのロード)、Xlet実行ステップ240(Xletの実行)、Xletに対するリクエストステップ250(Xletに対するリクエスト)、Xlet受付ステップ260(Xletの受付)、Xletセキュリティ検証ステップ270(Xletのセキュリティチェック)、Xlet検証チェックステップ280(Xletは有効か?)、及び最後の永久メモリへのXlet格納ステップ290(Xletの格納)を有する。ステップ200は、ユーザが選択したXletがステップ240における以降の実行準備ができたSTB40の永久ストレージにおいてすでに利用可能であるか、ステップ250においてリクエストされるか、ステップ260において受付されるか、ステップ270において上述のセキュリティマネージャにより検証されるか、ステップ280において検証チェックされるか、最後に有効である場合にはステップ240及び290において格納され、以降において実行されるか否かに依存して、ステップ220の分岐処理により示されるような時系列的に実行される。
ステップ270と280のセキュリティ検証は、STB40により実行される上述のセキュリティマネージャソフトウェアにおいて実行される。さらに、検証されたXletの実行は、STB40のコンピューティングハードウェアに設けられるバーチャルマシーンにより実行される。
好ましくは、各STB40は、関連する永久メモリに検出されたすべてのXletを格納するよう動作可能である。このようなXletの格納は、好ましくは、各STB40の内部の連続的に実行されるバックグラウンドアクションである。STB40が各自の永久メモリの容量を使い尽くすのを防ぐため、各STB40は、メモリにおいてジャーナル(journal)形式などにより内部のXletレコードを維持するよう構成される。各STB40は、それのXletレコードを用いて、最も使用されていないXletと実行されていないXletとを決定し、メモリスペースを解放するためそれらを永久ストレージから削除し、これにより、メモリ枯渇を回避するよう動作可能である。従って好ましくは、例えば、付属するSTB40の永久メモリにまだ格納されていないユーザ60により選択された新たなXletは、STB40の永久メモリに既に格納され、最も使用されていないXletを置換する。
好ましくは、各STB40は、各モジュールがクラス及びファイルの1以上を有するいくつかのモジュールをダウンロードするため、DSN−CC(Digital Storage Media Command and Control)を利用する。モジュールのバージョンは、DTVから知られるDII(Download Info Indication)において効果的に特定される。好ましくは、このようなDII情報は、対応するXletと共にSTB40の永久メモリに効果的に格納される。従って、ユーザ60が実行されるべきXletをリクエストすると、DSM−CCは、当該Xletが既に格納されているか、そしてそれが有効であるか判断するためチェックする。Xletが有効でないとわかると、当該Xletはプロバイダ20からダウンロードされ、上述のように検証及び実行される。
従って、各STB40は、格納されているXletが以前に実行されていないか、あるいは一時的に更新されている場合、上述のセキュリティマネージャを呼び出すよう動作可能なクラスローダソフトウェアを有する。
上述の本発明の実施例が本発明の範囲から逸脱することなく変更可能であるということは、理解されるであろう。
例えば、上述の本発明の方法が、STBを含むDTVシステムにおいて利用可能であっても、本方法はまた、STB40とそのモニタ50が二次元グラフィック画像を表示するのに適した液晶ディスプレイを有するモバイル電話などの携帯型モバイル電話により置き換えられるモバイル電話ネットワークに適用可能である。
STB40と付属のモニタ50が対応するハウジングに空間的に共存させることも可能であるが、2つを相互に着脱可能なアイテムに限定するものではないということが理解されるであろう。
上記では、「含む」、「有する」、「搭載する」などの表現は、非排他的なものであると解釈され、すなわち、そのような表現は他のコンポーネント又はアイテムが与えられることを排除するものではない。さらに、単数形の表現は複数有するとも解釈されるであろう。
Claims (34)
- 少なくとも1つの通信リンクを介し付属の計算手段を有する少なくとも1つの対応するユーザインタフェースと結合される配信プロバイダを有する配信システムの1以上のソフトウェアアプリケーションを実行する方法であって、
(a)前記少なくとも1つのユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するステップと、
(b)前記少なくとも1つの所望のソフトウェアアプリケーションが存在するか判断するため、前記少なくとも1つのユーザインタフェースに係るメモリをチェックするステップと、
(c)前記少なくとも1つのソフトウェアアプリケーションが前記メモリに既に格納され、検証されていると判明すると、前記少なくとも1つの所望のソフトウェアアプリケーションを前記メモリから前記少なくとも1つのユーザインタフェースに係る計算手段にロードし、その後に前記計算手段において前記ソフトウェアアプリケーションを実行するステップと、
(d)前記少なくとも1つのアプリケーションが前記メモリに格納されていないと判明すると、前記配信プロバイダから前記少なくとも1つの所望のソフトウェアアプリケーションを受信し、該少なくとも1つのアプリケーションを前記計算手段にロードし、該計算手段において前記少なくとも1つのアプリケーションを検証し、その後に、前記計算手段において検証されると、前記少なくとも1つのアプリケーションを実行するステップと、
を有することを特徴とする方法。 - 請求項1記載の方法であって、
前記ステップ(d)において、前記少なくとも1つのソフトウェアアプリケーションは、検証されると、以降の可能性のある再利用のため前記メモリに格納されることを特徴とする方法。 - 請求項2記載の方法であって、
各ユーザインタフェースには、ユーザリクエストされた頻度の低いソフトウェアアプリケーションをより最近にユーザリクエストされたソフトウェアアプリケーションにより上書きし、これにより、少なくとも1つのより頻度の高いユーザリクエストされたソフトウェアアプリケーションのためのメモリ容量の再利用を可能にするよう動作可能なメモリ管理手段が設けられることを特徴とする方法。 - 請求項1記載の方法であって、
前記ステップ(b)において、前記メモリに格納されている少なくとも1つの検証されたソフトウェアアプリケーションが、類似性をチェックするため、前記配信プロバイダから配信された少なくとも1つの対応するソフトウェアアプリケーションと比較され、
(a)前記メモリに格納されている少なくとも1つの検証されたアプリケーションが、前記少なくとも1つの格納及び検証されたアプリケーションと少なくとも1つの配信されたアプリケーションとの間の対応が特定されると、前記計算手段において実行され、
(b)前記少なくとも1つの配信されたアプリケーションが有効性についてチェックされ、検証が成功すると前記メモリに格納され、その後に前記計算手段において実行され、
これにより、当該方法は、新規の対応する少なくとも1つのアプリケーションが前記配信プロバイダから配信されると、前記メモリに格納されている少なくとも1つのアプリケーションを更新するよう動作可能であることを特徴とする方法。 - 請求項1記載の方法であって、
前記少なくとも1つのユーザインタフェース及び対応する少なくとも1つの通信リンクは、前記所望のソフトウェアアプリケーションに対する1以上のユーザリクエストを、該リクエストされた所望のアプリケーションを前記少なくとも1つのユーザインタフェースに配信するよう応答する前記配信プロバイダに伝えるよう動作可能であることを特徴とする方法。 - 請求項1記載の方法であって、
前記配信プロバイダは、前記少なくとも1つのユーザインタフェースにおいて付属のメモリに選択的にロードするため繰り返しの時間的方法により、前記少なくとも1つの通信リンクを介し1以上のソフトウェアアプリケーションを配信するよう動作可能であることを特徴とする方法。 - 請求項6記載の方法であって、
前記配信プロバイダは、擬似連続的方法により前記1以上のソフトウェアアプリケーションを配信するよう動作可能であることを特徴とする方法。 - 請求項1記載の方法であって、
前記配信システムは、前記少なくとも1つのユーザインタフェースが付属の表示手段と結合された少なくとも1つのセットトップボックスと対応し、前記少なくとも1つの通信リンクが無線リンク、光ファイバリンク及び導電性有線通信リンクの少なくとも1つにより実現されるデジタルテレビ配信システムであることを特徴とする方法。 - 請求項8記載の方法であって、
前記表示手段は、ブラウン管、画素プラズマディスプレイ、画素バックライト付液晶表示ディスプレイ及び画素プロジェクション液晶表示ディスプレイの少なくとも1つを有することを特徴とする方法。 - 請求項1記載の方法であって、
前記少なくとも1つの所望のソフトウェアアプリケーションは、前記少なくとも1つのユーザインタフェースにおいて前記少なくとも1人のユーザに提示された少なくとも1つのグラフィック表示シンボルの使用により選択されることを特徴とする方法。 - 請求項10記載の方法であって、
前記少なくとも1つのグラフィックシンボルは、少なくとも1つのグラフィックアイコンとして実現されることを特徴とする方法。 - 請求項1記載の方法であって、
前記少なくとも1つのユーザインタフェースは、対応するグラフィックディスプレイが設けられた少なくとも1つのモバイル電話として実現されることを特徴とする方法。 - 請求項1記載の方法であって、
前記メモリは、電源オフにされたときデータを保持するよう動作可能な永久メモリとして実現されることを特徴とする方法。 - 請求項13記載の方法であって、
前記メモリは、ソリッドステートメモリと磁気ディスクメモリの少なくとも1つを用いる不揮発性メモリとして実現されることを特徴とする方法。 - 請求項1記載の方法であって、
前記少なくとも1つのソフトウェアアプリケーションは、1以上のJava Xletとして実現されることを特徴とする方法。 - 請求項1記載の方法であって、
前記ステップ(d)において、ソフトウェアにより実現されるセキュリティマネージャによって検証が実行され、検証されたソフトウェアアプリケーションは、前記計算手段において与えられるソフトウェアにより実現されるバーチャルマシーン上で実行されることを特徴とする方法。 - 請求項1記載の方法であって、
前記検証された少なくとも1つのソフトウェアアプリケーションのダウンロード、検証及び前記メモリへの格納は、前記計算手段における連続する同時的なバックグラウンドアクションとして実行されることを特徴とする方法。 - 少なくとも1つの通信リンクを介し少なくとも1つの対応するユーザインタフェースと結合される配信プロバイダを有し、1以上のソフトウェアアプリケーションを実行する配信システムであって、
各ユーザインタフェースは、
(a)該ユーザインタフェースに係る少なくとも1人のユーザから、少なくとも1つの所望のソフトウェアアプリケーションを実行するための1以上のリクエストを受信するインタフェース手段と、
(b)少なくとも1つのソフトウェアアプリケーションを格納するメモリと、
(c)前記少なくとも1つの所望のソフトウェアアプリケーションが既に検証され、前記メモリに格納されているか判断し、前記1以上のソフトウェアアプリケーションが前記メモリに格納されていない場合、前記配信プロバイダから受信した1以上のソフトウェアアプリケーションを検証し、前記1以上のユーザリクエストに応答して、1以上の検証されたソフトウェアアプリケーションを実行し、前記少なくとも1人のユーザからの前記1以上のリクエストに対するより迅速な一時的応答を前記少なくとも1人のユーザに提供するため、前記メモリに格納されている1以上の検証されたソフトウェアアプリケーションが、前記配信プロバイダから受信可能な対応する1以上のソフトウェアアプリケーションの検証に優先して実行されるようにする計算手段と、
を有することを特徴とするシステム。 - 請求項18記載のシステムであって、
前記計算手段は、以降の可能性のある再利用のため前記メモリにおいて検証されると、前記少なくとも1つのソフトウェアアプリケーションを格納するよう動作可能であることを特徴とするシステム。 - 請求項19記載のシステムであって、
各ユーザインタフェースには、ユーザリクエストされた頻度の低いソフトウェアアプリケーションをより最近にユーザリクエストされたソフトウェアアプリケーションにより上書きし、これにより、少なくとも1つのより頻度の高いユーザリクエストされたソフトウェアアプリケーションのためのメモリ容量の再利用を可能にするよう動作可能なメモリ管理手段が設けられることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記計算手段は、類似性をチェックするため、前記メモリに格納されている少なくとも1つの検証されたソフトウェアアプリケーションと前記配信プロバイダから配信された少なくとも1つの対応するソフトウェアアプリケーションとを比較し、
(a)前記メモリに格納されている少なくとも1つの検証されたアプリケーションが、前記少なくとも1つの格納及び検証されたアプリケーションと少なくとも1つの配信されたアプリケーションとの間の対応が特定されると、前記計算手段において実行され、
(b)前記少なくとも1つの配信されたアプリケーションが有効性についてチェックされ、検証が成功すると前記メモリに格納され、その後に前記計算手段において実行され、
これにより、前記計算手段は、新規の対応する少なくとも1つのアプリケーションが前記配信プロバイダから配信されると、前記メモリに格納されている少なくとも1つのアプリケーションを更新するよう動作可能であることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記少なくとも1つのユーザインタフェース及び対応する少なくとも1つの通信リンクは、前記所望のソフトウェアアプリケーションに対する1以上のユーザリクエストを、該リクエストされた所望のアプリケーションを前記少なくとも1つのユーザインタフェースに配信するよう応答する前記配信プロバイダに伝えるよう動作可能であることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記配信プロバイダは、前記少なくとも1つのユーザインタフェースにおいて付属のメモリに選択的にロードするため繰り返しの時間的方法により、前記少なくとも1つの通信リンクを介し1以上のソフトウェアアプリケーションを配信するよう動作可能であることを特徴とするシステム。 - 請求項23記載のシステムであって、
前記配信プロバイダは、擬似連続的方法により前記1以上のソフトウェアアプリケーションを配信するよう動作可能であることを特徴とするシステム。 - 請求項18記載のシステムであって、
当該配信システムは、前記少なくとも1つのユーザインタフェースが付属の表示手段と結合された少なくとも1つのセットトップボックスと対応し、前記少なくとも1つの通信リンクが無線リンク、光ファイバリンク及び導電性有線通信リンクの少なくとも1つにより実現されるデジタルテレビ配信システムであることを特徴とするシステム。 - 請求項25記載のシステムであって、
前記表示手段は、ブラウン管、画素プラズマディスプレイ、画素バックライト付液晶表示ディスプレイ及び画素プロジェクション液晶表示ディスプレイの少なくとも1つを有することを特徴とするシステム。 - 請求項18記載のシステムであって、
前記少なくとも1つの所望のソフトウェアアプリケーションは、前記少なくとも1つのユーザインタフェースにおいて前記少なくとも1人のユーザに提示された少なくとも1つのグラフィック表示シンボルの使用により選択可能であることを特徴とするシステム。 - 請求項27記載のシステムであって、
前記少なくとも1つのグラフィックシンボルは、少なくとも1つのグラフィックアイコンとして実現されることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記少なくとも1つのユーザインタフェースは、対応するグラフィックディスプレイが設けられた少なくとも1つのモバイル電話として実現されることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記メモリは、電源オフにされたときデータを保持するよう動作可能な永久メモリとして実現されることを特徴とするシステム。 - 請求項30記載のシステムであって、
前記メモリは、ソリッドステートメモリと磁気ディスクメモリの少なくとも1つを用いる不揮発性メモリとして実現されることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記少なくとも1つのソフトウェアアプリケーションは、1以上のJava Xletとして実現されることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記計算手段は、ソフトウェアにより実現されるセキュリティマネージャによって検証を実行し、前記計算手段において与えられるソフトウェアにより実現されるバーチャルマシーンによって検証されたソフトウェアアプリケーションを実行するよう動作可能であることを特徴とするシステム。 - 請求項18記載のシステムであって、
前記計算手段は、前記検証された少なくとも1つのソフトウェアアプリケーションのダウンロード、検証及び前記メモリへの格納を連続する同時的なバックグラウンドアクションとして実行するよう動作可能であることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03102092 | 2003-07-10 | ||
PCT/IB2004/051101 WO2005006180A2 (en) | 2003-07-10 | 2004-07-02 | Download, caching and execution of software applications in broadband systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007528048A true JP2007528048A (ja) | 2007-10-04 |
Family
ID=34042931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006518466A Pending JP2007528048A (ja) | 2003-07-10 | 2004-07-02 | ソフトウェアアプリケーション実行方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1646938A2 (ja) |
JP (1) | JP2007528048A (ja) |
KR (1) | KR20060029689A (ja) |
CN (1) | CN1820251A (ja) |
WO (1) | WO2005006180A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011013303A1 (ja) * | 2009-07-30 | 2011-02-03 | パナソニック株式会社 | 受信データ認証方法及びデジタル放送受信機 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008538432A (ja) * | 2005-04-08 | 2008-10-23 | ビーアイエイピー・インコーポレーテッド | アプリケーションをメモリ制約システムにダウンロードする方法およびシステム |
KR100723913B1 (ko) | 2005-05-30 | 2007-05-31 | 주식회사 에어코드 | 구조화된 데이터 방송 어플리케이션, 그 기록 매체, 및 그동작 방법 |
KR100709790B1 (ko) | 2005-07-05 | 2007-04-19 | 주식회사 알티캐스트 | 셋톱박스 유저인터페이스 갱신 시스템 및 방법 |
EP1763246A1 (en) * | 2005-09-08 | 2007-03-14 | Osmosys S.A. | Method of access to applications transmitted within data streams of different television channels and device giving access to broadcasted applications |
KR100768894B1 (ko) | 2006-12-19 | 2007-10-19 | 삼성전자주식회사 | 디스플레이장치 및 방송시스템 |
KR100858197B1 (ko) * | 2007-01-11 | 2008-09-10 | 한국문화콘텐츠진흥원 | 디지털 텔레비전 수신기용 자바 응용 프로그램 생성 장치 |
CN102196229A (zh) * | 2010-03-05 | 2011-09-21 | 海尔集团公司 | 功能扩展装置及具有该功能扩展装置的电视机 |
CN104796763A (zh) * | 2015-04-01 | 2015-07-22 | 太仓苏易信息科技有限公司 | 一种触屏式外接电视机控制软件系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0949595A3 (en) * | 1998-03-30 | 2001-09-26 | Citicorp Development Center, Inc. | Method and system for managing applications for a multi-function smartcard |
WO2001011869A1 (en) * | 1999-08-05 | 2001-02-15 | Koninklijke Philips Electronics N.V. | Television system adapted to function as server for distributing broadcasted stand-alone applications |
-
2004
- 2004-07-02 EP EP04744470A patent/EP1646938A2/en not_active Withdrawn
- 2004-07-02 KR KR1020067000645A patent/KR20060029689A/ko not_active Application Discontinuation
- 2004-07-02 WO PCT/IB2004/051101 patent/WO2005006180A2/en not_active Application Discontinuation
- 2004-07-02 CN CNA200480019595XA patent/CN1820251A/zh active Pending
- 2004-07-02 JP JP2006518466A patent/JP2007528048A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011013303A1 (ja) * | 2009-07-30 | 2011-02-03 | パナソニック株式会社 | 受信データ認証方法及びデジタル放送受信機 |
Also Published As
Publication number | Publication date |
---|---|
WO2005006180A3 (en) | 2006-02-23 |
EP1646938A2 (en) | 2006-04-19 |
CN1820251A (zh) | 2006-08-16 |
WO2005006180A2 (en) | 2005-01-20 |
KR20060029689A (ko) | 2006-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7051325B2 (en) | Apparatus and method for upgrading software | |
US8850511B2 (en) | Program replacing method | |
US20110302274A1 (en) | Architecture of a network device for processing applications, and control method for the network device | |
CN102081532B (zh) | 一种机顶盒功能动态升级的方法 | |
US8330861B2 (en) | Display apparatus, image processing apparatus and method for upgrading control program thereof | |
JP2006528857A (ja) | 放送におけるフィーチャ利用可能性を処理する方法 | |
WO2006108351A1 (fr) | Procede et dispositif pour la mise a jour de logiciel sur recepteur de television numerique | |
CN1754149A (zh) | 软件包的广播 | |
JP6080229B2 (ja) | アプリケーション管理装置 | |
JP2007528048A (ja) | ソフトウェアアプリケーション実行方法 | |
US8125567B2 (en) | Apparatus and method for controlling the screen size of real-time video | |
US20090044281A1 (en) | Java conditional access apparatus | |
US20070169108A1 (en) | Method of executing software applications | |
KR20070063571A (ko) | Mhp 애플리케이션들의 시동 시간을 감소시키기 위한시스템 및 방법 | |
KR100764097B1 (ko) | 셋탑박스의 프로그램 업데이트 방법 | |
US20080022273A1 (en) | Broadcast receiving apparatus and software updating method thereof | |
US20090327055A1 (en) | Dynamically Rearranging and Deploying Advertising Selection Logic | |
KR20060019083A (ko) | 디지털 방송 수신기의 업그레이드 방법 및 시스템 | |
KR101224304B1 (ko) | 방송수신장치 및 그 소프트웨어 업그레이드 방법 | |
KR102367572B1 (ko) | 방송수신장치 | |
CN113784219A (zh) | 终端设备升级方法、终端设备、控制系统及存储介质 | |
KR100812258B1 (ko) | 연속적 컨텐츠 제공을 위한 데이터 방송 시스템 및 연속적컨텐츠 제공 방법 | |
KR20070028648A (ko) | 무선주파수를 이용한 소프트웨어 다운로드 방법 | |
MXPA00003214A (en) | Downloading data |