JP2003503799A - アプリケーションをロードするコンピュータシステム及び方法 - Google Patents

アプリケーションをロードするコンピュータシステム及び方法

Info

Publication number
JP2003503799A
JP2003503799A JP2001507231A JP2001507231A JP2003503799A JP 2003503799 A JP2003503799 A JP 2003503799A JP 2001507231 A JP2001507231 A JP 2001507231A JP 2001507231 A JP2001507231 A JP 2001507231A JP 2003503799 A JP2003503799 A JP 2003503799A
Authority
JP
Japan
Prior art keywords
application
class
mheg
loaded
loading
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
JP2001507231A
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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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
Application filed by Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2003503799A publication Critical patent/JP2003503799A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 アプリケーションをロードする工程と、アプリケーションにより必要とされる各オブジェクトのクラスのタイプを決定する工程と、複数の関連機能を有すると共に、アプリケーションにより必要とされるクラスのタイプをロードする工程と、各クラスに関するロードされた関連機能を決定する工程と、アプリケーションにより用いられるべき関連機能を決定する工程と、ロードされたが、アプリケーションにより必要とされない関連機能をメモリから除去する工程とを含むオブジェクト指向のアプリケーションをロードする方法及びシステム。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、アプリケーションをロードするコンピュータシステム及び方法に関
する。具体的には、本発明は、MHEG−6の環境においてアプリケーションを
ロードするコンピュータシステム及びアプリケーションに関する。
【0002】
【従来の技術】
マルチメディアは、当初、WWW(World Wide Web)の多くの要素の1つにす
ぎず、技術内容を示したり、外界と対話するための支援技術として意図されたも
のではなかった。Java(サン・マイクロシステムズ株式会社)やActiv
eXなどの技術の出現は、マルチメディアの機能、延いてはWWWの機能を向上
させた。しかしながら、それらの機能は、メモリやCPU資源を多大に要求する
作用を伴ってWWWにアクセスする。WWWにアクセスする低コストのグラフィ
カル端末を生産しようとする要望の中で、MHEG(Multimedia and Hypermedi
a Experts Group)規格が作られ、キオスクの情報システム、テレビジョンセッ
ト、又はセットトップボックスと通信する際に用いるビデオ・オン・デマンドサ
ーバにおいて使用する基本的なグラフィカルユーザインタフェース(GUI)及
びマルチメディア・ライブラリが規定された。
【0003】 MHEG規格は、種々のタイプのプラットフォームにわたるクライアント/サ
ーバ・アーキテクチャにおいて、対話式マルチメディア・アプリケーションの分
配を支援するために作られたものである。MHEGレベル5は、全てのタイプの
プラットフォームにおいて、アプリケーションが共通的な外観になるよう、アプ
リケーションの最終的な形式の表示を規定している。このMHEGレベル5は、
GUI及びマルチメディア・アプリケーションがその構成要素を規定することに
よって簡単に生成されることを可能にする。MHEGコマンドをインタープリッ
トするランタイムシステムを持ち、ユーザにアプリケーションを呈示し、ユーザ
とのローカルな対話を処理することは、クライアント端末の責任である。MHE
Gレベル5は、データ交換又はクライアント/サーバ・アプリケーションの使用
等外界との対話の要求に満足に応えていないという点で制限されている。MHE
Gレベル6は、MHEGアプリケーションとJavaアプリケーションとが相互
動作することを可能にする一連のメカニズムを規定したMHEGレベル5を更に
発展させたものである。Javaアプリケーションは、マルチメディア、GUI
及びユーザの対話、他のコンピュータホスト、アプリケーションとの通信の提供
などに制限されるものではない。JavaとMHEGとの相互動作は、MHEG
アプリケーションが外部環境と通信することを可能にする。MHEGレベル6は
、主に、制限された資源端末上で走る対話式検索(クライアント/サーバ)アプ
リケーションの分配を支援するためのものである。DAVIC(Digital Audio-
Visual Council)は、対話式テレビジョン用セットトップユニットの仕様のベー
スとしてMHEGレベル6を採用している。
【0004】 MHEGアプリケーションは、一連のMHEGオブジェクトとしてユーザに分
配される。このような一連のMHEGオブジェクトは、ユーザ端末においてMH
EGオブジェクトをグラフィカル及びマルチメディアの出力に変える役割を担う
MHEGエンジンによってユーザ端末上でインタープリットされる。各MHEG
レベルは、以前のレベルを基礎にしている。MHEGレベル6のアプリケーショ
ンを走らせることが可能なMHEGエンジンは、Java仮想マシンとインタフ
ェースされたMHEGレベル5のエンジンを有している。Java仮想マシンと
MHEG環境との間のインタフェースは、MHEGアプリケーションが走り、J
avaアプリケーションと対話することを可能にする。
【0005】 Javaアプリケーションは、それぞれのオブジェクトがJavaアプリケー
ションの個々のデータ構造又はユーザインタフェース要素を規定する一連のオブ
ジェクトによって書き表される。各オブジェクトは、処理されるべき又は対話さ
れるべきクラスから生成されるオブジェクトに関して必要なデータ構造及び機能
を規定する所定のクラスから生成される。これらの機能は、メソッドとして知ら
れている。クラスは、実際には、最初にオブジェクトを生成する際に、オブジェ
クトの構造、オブジェクトが動作するのに必要なデータ構造、及びオブジェクト
が使用可能なメソッドを決定するために参照されるテンプレートである。アプリ
ケーションがロードされるとき、当該アプリケーションが使用するオブジェクト
のクラスは、もしあれば、既にメモリに保持されているものと照合される。必要
とされるが、メモリに保持されていないクラスは全て、メモリにロードされる。
Javaアプリケーションによってオブジェクトを生成するために用いられる各
クラスについて、当該クラスと関連する全てのメソッドが、Javaアプリケー
ションを走らせるJava仮想マシンによってロードされる。この手法は、必要
とされる全てのメソッドがロードされることを確実にする一方で、多くのクラス
が、アプリケーションにより使用されないが、いずれにしてもロードされるメソ
ッドを含んでいるという点で、非常に無駄である。
【0006】
【発明が解決しようとする課題】
MHEGをベースにしたセットトップボックスなどの環境では、メモリは非常
に制限されており、アプリケーションによって保存可能なものであればいかなる
メモリも望ましい。本発明は、MHEGアプリケーションから冗長なメソッドを
取り除く方法及びシステムを提供する。
【0007】
【課題を解決するための手段】
本発明の第1の観点によれば、アプリケーションをロードする工程と、アプリ
ケーションにより必要とされる各オブジェクトのクラスのタイプを決定する工程
と、複数の関連機能を有すると共に、アプリケーションにより必要とされるクラ
スのタイプをロードする工程と、各クラスに関するロードされた関連機能を決定
する工程と、アプリケーションにより用いられるべき関連機能を決定する工程と
、ロードされたが、アプリケーションにより必要とされない関連機能をメモリか
ら除去する工程とを含むオブジェクト指向のアプリケーションをロードする方法
が提供される。
【0008】 本発明の第2の観点によれば、アプリケーションをロードし、アプリケーショ
ンにより必要とされる各オブジェクトのクラスのタイプを決定し、複数の関連機
能を有すると共に、アプリケーションにより必要とされるクラスのタイプをロー
ドするためのアプリケーション・ローダと、各クラスに関するロードされた関連
機能を決定し、アプリケーションにより用いられるべき関連機能を決定し、ロー
ドされたが、アプリケーションにより必要とされない関連機能をメモリから除去
するためのクラスプロセッサとを有するアプリケーションをロードするコンピュ
ータシステムが提供される。
【0009】 本発明の実施例は、添付した図面に関連して以下に説明されるであろう。
【0010】
【発明の実施の形態】
図1は、本発明の方法又はシステムを実現するためのコンピュータシステムの
ブロック図である。
【0011】 MHEGレベル6アプリケーションを走らせるコンピュータシステムは、サー
バコンピュータ10と、コンピュータネットワーク又は電話回線網などのデータ
通信リンク30によってサーバに接続された(テレビジョン・セットトップボッ
クスなどの)クライアント端末20とを備えている。クライアント端末20は、
MHEGエンジン(ENG)21、Java仮想マシン(VM)22及びコアM
HEGライブラリ(LIB)23を有している。
【0012】 クライアント端末20を起動するとすぐに、MHEGエンジン21は、コアM
HEGライブラリ23にアクセスし、MHEGユーザインタフェースをロードす
る。これにより、ユーザは、クライアント端末20と対話することが可能になる
。MHEGエンジン21は、また、コアMHEGライブラリ23から通信ルーチ
ンをロードし、それにより、Java仮想マシン22及びサーバコンピュータ1
0と通信することを可能とする。
【0013】 ユーザインタフェースを介してユーザによってアクセス又は要求される(対話
式テレビプログラムなどの)MHEGアプリケーションが、MHEGエンジン2
1によってサーバコンピュータ10から要求される。サーバコンピュータ10は
、MHEGアプリケーションを一連のMHEGオブジェクトとしてクライアント
端末20に渡す。MHEGアプリケーションの全てのMHEGオブジェクトが、
クライアント端末20により受け取られると、MHEGエンジン21はオブジェ
クトをパーズし、アプリケーションを走らせる。
【0014】 例えば、ユーザとMHEGアプリケーションとの対話により、遠隔のサーバコ
ンピュータから要求されるビデオオンデマンドなどJavaアプリケーションの
形式のサービスが提供される場合のように、MHEGアプリケーションが初めて
Javaアプリケーションを走らせる又はJavaアプリケーションと対話する
必要が生じたとき、このJavaアプリケーションは、上述したMHEGアプリ
ケーションと同様に、サーバコンピュータ10から一連のクラスのオブジェクト
としてロードされる。従来のコンピュータシステムでは、Java仮想マシンは
、クラスからアプリケーションのオブジェクトを生成しJavaアプリケーショ
ンを走らせる前に、Javaアプリケーションにより用いられるオブジェクトの
クラス及び当該クラスに関連するすべてのメソッドをパーズし、クライアント端
末のメモリにロードする。
【0015】 図2は、本発明に用いるアルゴリズムをロードする方法の流れ図である。上述
したクラス及びこれらクラスに関連するメソッドをパーズし、ロードする間、メ
ソッドが使用されるかどうかを決定すると共に、使用されない場合には、ロード
されるのではなく、捨てられることを決定するために、メソッドは、Javaア
プリケーション及びMHEGアプリケーションからのメソッドの呼出しにより相
互参照(cross reference)される。
【0016】 ステップ40では、ロードされたクラスからオブジェクトが生成されるべき、
該ロードされたクラスがパーズされ、当該クラスが含むメソッドを決定する。当
該クラスに含まれる各メソッドの名前又は識別子は、ステップ50において、テ
ーブルに記録される。ステップ60では、Javaアプリケーション及びMHE
Gアプリケーションのメソッドの呼出しが、ステップ50において生成されたテ
ーブルを用いて相互参照され、それら呼出しが当該クラスのメソッドを呼出して
いるかどうかを(ステップ69において)決定する。呼出している場合には、ス
テップ70において、当該メソッドに関するテーブルのエントリがマークされる
。全てのメソッドの呼出しがパーズされる(ステップ71において決定される)
と、ステップ80において、テーブルの中のマークされていないメソッドがメモ
リから除去される。
【0017】 図3は、本発明に用いるアルゴリズムをロードする他の方法の流れ図である。
クラス及びそれに関連するメソッドをパーズし、ロードする間、当該クラスが、
既にロードされ、当該クラスに基づいてオブジェクトを以前に生成した他のアプ
リケーションによって使用されていることが決定される。ステップ40,ステッ
プ50,ステップ60,ステップ69,ステップ70及びステップ71は、先に
図2に関連して説明したように、ロードされるべきアプリケーションに関して行
われる。そののち、これらのステップは、ステップ80の前に当該クラスを使用
する別のアプリケーションのそれぞれに関して繰り返され、それらアプリケーシ
ョンが必要とするメソッドを決定する。既に走らせているアプリケーションによ
って必要とされるメソッドは、メモリに既に存在する。しかしながら、不要なメ
ソッドは、それ以前に捨てられており、新しいアプリケーションが捨てられたメ
ソッドのいずれかを必要とする場合には、全クラスが再びロードされ、両方のア
プリケーションにより必要とされるメソッドの組がメモリに保持される。
【0018】 冗長なメソッドが決定されると、通常、テーブルは捨てられるが、他のアプリ
ケーションが当該クラスを必要とする場合には、ロードされたメソッドに加えら
れるメソッドのみが、テーブルを参照して決定され、ロードされればよいように
テーブルを保持し続けることもできる。
【0019】 アプリケーションがロードされている間に冗長なメソッドを決定するための代
替の方法として、サーバにおいてこのプロセスを走らせることが可能であり、そ
の場合には、必要なコードのみが、サーバからクライアントに転送される。
【0020】 本発明に係る冗長なメソッドを決定する方法及びシステムは、また、アプリケ
ーションの実行の間のインターバルに呼び出され、もはや必要とされないメソッ
ドを決定することができる。
【0021】 上述した説明は、主に、MHEGアプリケーションからの冗長なメソッドの除
去に関してであったが、本発明は、冗長となり得るコードの一部がロードされな
ければならない他のアプリケーションにも適用可能である。例えば、Javaコ
ードは、データをロードするためにJARファイルを用いて1つの「あるまとま
った領域(chunk)」にロードされ得る。なお、JARファイルは、1つのファ
イルにマージされるJavaクラスファイルの集まりである。
【図面の簡単な説明】
【図1】 本発明を実現するためのコンピュータシステムのブロック図であ
る。
【図2】 本発明に用いるアルゴリズムをロードする方法の流れ図である。
【図3】 本発明に用いるアルゴリズムをロードする他の方法の流れ図であ
る。
【符号の説明】
10…サーバコンピュータ、20…クライアント端末、21MHEGエンジン
…、22…Java仮想マシン、23…コアMHEGライブラリ、30…データ
通信リンク
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 BB28 BB42 BB48 GG01 HH02 5B076 BA04 BB04 BB06 BB17

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションをロードする工程と、 前記アプリケーションにより必要とされる各オブジェクトのクラスのタイプを
    決定する工程と、 複数の関連機能を有すると共に、前記アプリケーションにより必要とされるク
    ラスのタイプをロードする工程と、 各クラスに関するロードされた関連機能を決定する工程と、 前記アプリケーションにより用いられるべき関連機能を決定する工程と、 ロードされたが、前記アプリケーションにより必要とされない関連機能をメモ
    リから除去する工程と を含むオブジェクト指向のアプリケーションをロードする方法。
  2. 【請求項2】 前記クラスのタイプに関するロードされた関連機能を決定す
    る工程において、ロードされた各関連機能に関するエントリを有するデータ構造
    を生成する請求項1記載の方法。
  3. 【請求項3】 前記アプリケーションにより用いられるべき関連機能を決定
    する工程において、前記データ構造における各々のエントリがマークされる請求
    項2記載の方法。
  4. 【請求項4】 前記データ構造においてマークされていないエントリに対応
    する関連機能をメモリから除去する請求項3記載の方法。
  5. 【請求項5】 前記関連機能が、メソッドを含む請求項1ないし4のいずれ
    か1項に記載の方法。
  6. 【請求項6】 アプリケーションをロードし、前記アプリケーションにより
    必要とされる各オブジェクトのクラスのタイプを決定し、複数の関連機能を有す
    ると共に、前記アプリケーションにより必要とされるクラスのタイプをロードす
    るためのアプリケーション・ローダと、 各クラスに関するロードされた関連機能を決定し、前記アプリケーションによ
    り用いられるべき関連機能を決定し、ロードされたが、前記アプリケーションに
    より必要とされない関連機能をメモリから除去するためのクラスプロセッサと を有するアプリケーションをロードするコンピュータシステム。
  7. 【請求項7】 請求項1ないし5のいずれか1項に記載の方法を走らせるコ
    ンピュータプログラム。
JP2001507231A 1999-06-26 2000-06-22 アプリケーションをロードするコンピュータシステム及び方法 Withdrawn JP2003503799A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB9914927.0A GB9914927D0 (en) 1999-06-26 1999-06-26 Computer system and method for loading applications
GB9914927.0 1999-06-26
PCT/EP2000/005769 WO2001001292A2 (en) 1999-06-26 2000-06-22 Computer system and method for loading applications

Publications (1)

Publication Number Publication Date
JP2003503799A true JP2003503799A (ja) 2003-01-28

Family

ID=10856100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001507231A Withdrawn JP2003503799A (ja) 1999-06-26 2000-06-22 アプリケーションをロードするコンピュータシステム及び方法

Country Status (9)

Country Link
EP (1) EP1135733A2 (ja)
JP (1) JP2003503799A (ja)
KR (1) KR20010072982A (ja)
CN (1) CN1175349C (ja)
BR (1) BR0006857A (ja)
GB (1) GB9914927D0 (ja)
PL (1) PL346280A1 (ja)
TW (1) TW463127B (ja)
WO (1) WO2001001292A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129351A1 (en) * 2001-03-07 2002-09-12 Nexusedge Technologies Pty. Ltd. Software engine and method for software application loading
TWI805400B (zh) * 2022-06-07 2023-06-11 國立陽明交通大學 奈米微粒分徑用的新穎慣性衝擊器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system

Also Published As

Publication number Publication date
WO2001001292A2 (en) 2001-01-04
PL346280A1 (en) 2002-01-28
EP1135733A2 (en) 2001-09-26
KR20010072982A (ko) 2001-07-31
BR0006857A (pt) 2001-07-10
WO2001001292A3 (en) 2001-07-19
CN1335960A (zh) 2002-02-13
TW463127B (en) 2001-11-11
GB9914927D0 (en) 1999-08-25
CN1175349C (zh) 2004-11-10

Similar Documents

Publication Publication Date Title
US6718371B1 (en) XML-based integrated services framework
US6718364B2 (en) Method and apparatus for expedited file downloads in an applet environment
US7634772B2 (en) Automatic software downloading from a computer network
US6347398B1 (en) Automatic software downloading from a computer network
US6044409A (en) Framework for marshaling and unmarshaling argument object references
US7171663B2 (en) External event interrupt for server-side programs
EP2270657A1 (en) Data processing method and device
JPH1091446A (ja) Javaベースアプリケーションの発見とダウンロードのための分散オブジェクトシステムの利用
US20050086237A1 (en) Shared queues in shared object space
CN1492352A (zh) 用于远程web服务克隆和例示的系统和方法
CN111343181B (zh) 报文的处理方法,系统以及数据池和计算机可读存储介质
US6516354B2 (en) Method and apparatus for efficient representation of variable length identifiers in a distributed object system
KR100370548B1 (ko) 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
EP1949228A4 (en) ASYNCHRONOUS JUST-IN-TIME COMPILATION
JP2003503799A (ja) アプリケーションをロードするコンピュータシステム及び方法
WO2001001238A2 (en) Computer system for mheg applications
CN110209464B (zh) 虚拟机的纳管方法、存储介质及管理平台
JP2004265164A (ja) データ転送プロトコルを用いたクライアントとサーバとの間のサービス連携システムおよびそのサービス連携方法
CN118057306A (zh) 安装包的生成方法、装置、服务器、介质和程序产品
JP2004240890A (ja) ミドルウェア透過分散アプリケーションアクセス方式
Wong et al. Remote access to multimedia databases: An object oriented approach
CN118312686A (zh) 基于微前端的访问响应方法和装置、电子设备及存储介质
JP2000501537A (ja) マルチメディア文書へのアクセスを可能にするための方法およびシステム
MXPA01001963A (en) Computer system and method for loading applications
GUIDE Green Book

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904