JP4593107B2 - バイトコードをネイティブコードにコンパイルする方法 - Google Patents

バイトコードをネイティブコードにコンパイルする方法 Download PDF

Info

Publication number
JP4593107B2
JP4593107B2 JP2003536878A JP2003536878A JP4593107B2 JP 4593107 B2 JP4593107 B2 JP 4593107B2 JP 2003536878 A JP2003536878 A JP 2003536878A JP 2003536878 A JP2003536878 A JP 2003536878A JP 4593107 B2 JP4593107 B2 JP 4593107B2
Authority
JP
Japan
Prior art keywords
bytecode
file
grouping information
files
receiving terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003536878A
Other languages
English (en)
Other versions
JP2005505849A5 (ja
JP2005505849A (ja
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of JP2005505849A publication Critical patent/JP2005505849A/ja
Publication of JP2005505849A5 publication Critical patent/JP2005505849A5/ja
Application granted granted Critical
Publication of JP4593107B2 publication Critical patent/JP4593107B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Devices For Executing Special Programs (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、バイトコードをネイティブコードにコンパイルする方法に関し、特に前記バイトコードが、サーバから次のコンパイルのために受信する端末に送信されるバイトコードファイルに含まれる場合に関する。
デジタルビデオ放送(DVB)は、デジタル放送の分野において規格化活動を請け負う組織である(http://www.dvb.orgを参照)。DVBのマルチメディア・ホーム・プラットフォーム(MHP)規格(ETSI reference TS 101 812, version 1.1.1, blue book reference A057 05/00)は、アナログテレビ(TV)からデジタル・インタラクティブ・マルチメディアの未来への調和された移行を促進するように設計された一連の基準である。特に、前記MHPは、インタラクティブ・デジタル・アプリケーションとこれらのアプリケーションが実行される端末との間の汎用、即ちハードウェアに依らないインターフェースを規定する。これは、デジタル・コンテンツ・プロバイダが、ローエンドからハイエンドまでのセットトップボックス、統合デジタルテレビ及びマルチメディアPCにわたる全ての型式の端末をアドレスすることを可能にする。前記MHPは、以下の例、即ち、電子番組ガイド、情報サービス(向上されたテレテキスト、ニュース及び株価表示等)、並びにテレビコンテンツ、ゲーム及びEコマースと同期するアプリケーションを含む多種のアプリケーションをサポートする。
前記DVB MHP規格及びこの合成要素は、既知であり、よく文書化されており、従って、本発明に関する要素のみが、下に詳述される。
デジタル・ストレージ・メディア・コマンド・アンド・コントロール(DSM−CC)は、DVBのMHPにおいてMPEG−1及びMPEG−2ストリームに関連した制御チャネルを開発するツールキットとして使用される。MPEG−2規格のパート6(DSM−CCのための拡張)に原理的に規定され、これは、特に、放送カルーセルが規定されることを可能にする。このようなカルーセルは、データセットをバッファにアセンブルする機構であり、周期的な態様で再生され、即ち、周期的に放送される。例えば、このようなカルーセルは、Javaクラスファイルと、テキスト情報と、MHPアプリケーションを実行するために前記受信器に必要とされるグラフィカルデータとを含む全てのアプリケーションファイルを放送するために使用され得る。
DSM−CCオブジェクトカルーセルは、DVBのMHPだけではなく、例えば、英国におけるONdigital、BBCテレビ、Channel4デジタル放送を含む幾つかの地上波デジタルテレビ放送においても使用される。
MHPは、DVB−Jとして知られるプラットフォームに基づき、Sun MicrosystemsのJava(R)仮想マシン(JVM)規格において規定されるような仮想マシンを含む。Javaは、JVM上で実行されるハードウェアに依存しない実行可能な“バイトコード”を作成する手段を提供する。異なるハードウェア・プラットフォームは、異なるJVMインプリメンテーションを持つことができるが、しかし全てが、同じバイトコードを実行するだろう。これは、アプリケーションが様々な異なるセットトップボックス又は統合デジタルテレビに対して書かれ、コンパイルされ、放送されることができるデジタルテレビのような放送環境に対して理想的である。
Javaソースコードは、Javaコンパイラを用いてバイトコードにコンパイルされ、クラスファイルに記憶され、JVMにより実行されることができる。DVBのMHPを用いて、Javaアプリケーション・クラスファイルは、DSM−CCを使用して受信器に対して放送され、前記DSM−CCは、対応するファイル構造を規定することができ、前記対応するファイル構造は、この場合、前記クラスファイルを前記受信器に記憶又はキャッシュするために複製されることができる。加えて、前記DSM−CCは、関連するJavaクラスファイル及び放送のための他のファイルのグループを有するモジュールを規定するために使用されることができる。
最初のJVMインプリメンテーションにおいて、前記バイトコードが翻訳されたが、しかしながら、最近のJVMは、前記バイトコードをより速く実行するネイティブ命令にコンパイルする。このようなコンパイルは、典型的には、以下の態様の何れにおいても起こり得る。
ジャストインタイム(JIT)
これは、クラスファイルがロードされるか、又はクラスファイル内のメソッド(特定の機能を実行するバイトコードのセクション)が実行されるかのどちらかの場合に、バイトコードが、ネイティブコードにコンパイルされる場合である。JITインプリメンテーションの不利点は、前記JVMが、最初にアクセスされる場合にクラス又はメソッドをコンパイルする時間の量を費やさなければならない点である。この時間の間に、前記JVMは、前記コンパイルが完了するまでJavaアプリケーションの実行を停止して待つ。典型的には、前記コンパイラにより実行される最適化が大きいほど、待ち時間は大きくなるが、前記ネイティブコードは、速く実行するだろう。
ランタイム解析
これらは翻訳されたJVMに基づく。前記JVMは、ランタイムにおける測定を行い、何れのクラス又はメソッドが、コンパイルされた場合に最高のパフォーマンスの向上を生じるだろうか評価する。これは、クラス又はメソッドが使用される回数と、前記クラス又はメソッドからバイトコードを実行するのに費やされる時間の量との測定を含むことができる。一度識別されると、これらは、(待ち時間を導入して)フォアグラウンドでコンパイルされるか、又はさもなければ浪費されるプロセッサ時間を使用して、バックグラウンドでコンパイルされることができる。この技術を使用するJVMは、新しいクラスファイルがロードされるか、又は以前に使用されていないメソッドが実行される場合に、JITインプリメンテーションより少ない待ち時間を持つが、しかし幾らかの翻訳が常に実行されるので、より遅い速度で実行する。ランタイム情報の記憶は、実行速度において小さなオーバーヘッドを持つ。この技法は、バイトコード・インタプリタとバイトコード・ネイティブコード・コンパイラの両方を必要とする。
アヘッド・オブ・タイム(AOT)
前記バイトコードは、コンパイル後に処理され、新しいクラスファイルが作成される。前記新しいクラスファイルは、メソッドのネイティブ・インプリメンテーションを含む。前記JVMは、これらのネイティブ・インプリメンテーションを認識し、バイトコードの代わりに使用する。典型的には、コンパイル時間は、Javaアプリケーションの実行を妨げないので、AOT時間コンパイルによりJITより良い最適化が実行されることができる。前記ネイティブコードは、単一のプロセッサに対して特有であり、従ってAOTコンパイルは、異なる受信器製造者により使用される幅広いプロセッサがあり得るので、放送環境に対しては適していない。
本発明の目的は、サーバから受信端末に送信されたバイトコードファイルに含まれるバイトコードをネイティブコードにコンパイルする代替の及び効率的な方法を提供することである。
本発明によると、このような方法は、バイトコードを含むバイトコードファイルをサーバから受信端末に、例えば放送カルーセルを使用して、送信するステップと、前記バイトコードファイルのグループ分けに関するグループ分け情報を前記受信端末に送信するステップと、前記受信端末において受信されたバイトコードファイルをネイティブコードにコンパイルするステップとを有し、前記バイトファイルは、前記バイトコードファイルのグループ分けに応じてコンパイルのために選択される。コンパイル後、前記バイトコードファイルは、後の実行のためにメモリにキャッシュされることができる。
本発明の前記方法は、依然としてプラットフォーム独立性を維持しながら、及びJITコンパイル又はランタイム解析と関連した待ち時間無しで、アヘッド・オブ・タイムで選択されたバイトコードがコンパイルされることを可能にする。
前記グループ分け情報は、送信のための前記バイトコードの前記グループ分け、前記サーバに記憶されたような前記バイトコードファイルのディレクトリ構造、又は前記バイトコードファイルを前記受信端末に記憶するのに使用されるディレクトリ構造に関してもよい。
第1オプションの場合、前記バイトコードは、同じグループで送信された他のバイトコードファイルの翻訳、コンパイル又は実行のいずれかが行われるとコンパイルに対して選択され得る。例えば、このようなグループ分け情報は、前記DVBのMHP規格のDSM−CCプロトコルを使用して記述されてもよい。
後の2つのオプションの場合、単一のグループは、典型的には、単一のディレクトリに関するであろうから、バイトコードファイルは、この場合、同じディレクトリに属する他のバイトコードファイルの翻訳、コンパイル又は実行が行われるとコンパイルのために選択され得る。
再び、前記後の2つのオプションの場合、前記グループ分け情報は、それぞれのバイトコードファイルのファイル名に追加されたファイル位置、即ち、従来的に既に放送された情報の新しい使用を有してもよい。
本発明により更に提供されるのは、請求項14ないし18に記載のサーバと、請求項19ないし27に記載の受信端末とである。
本発明は、ここで、添付された概略図を参照して、例としてのみ記述されるだろう。
図1は、補助アプリケーションデータと一緒にテレビのオーディオ及びビデオデータをDVBのMHP規格による対応する受信システム101に送信するように構成されたテレビ放送システム100を示す。例えば、前記テレビ放送システムは、民間衛星放送局に属する衛星放送システムであってもよく、前記受信システムは、衛星受信パラボラアンテナと、前記受信されたデータを処理してテレビ116上に表示するセットトップボックスとの多くの対応する組み合わせの1つであってもよい。同様に、前記放送システム及び対応する受信システムは、地上波ベースであることができる。どちらの場合にも、このようなシステムの設計、製造及び操作は、既知であり、本発明に関係しない部分は、ここで更には詳述されないだろう。
オーディオ105、ビデオ104及びデータ106入力部を介して、放送システム100は、事前に記録されたオーディオ及びビデオ・テレビ・コンテンツを含む記憶媒体102からのオーディオ及びビデオデータ・ストリームと、Javaクラスファイル及び関係したグラフィックファイルを有するコンピュータ103からのアプリケーションデータ・ストリームとをフィードされる。前記アプリケーションデータは、前記オーディオ及びビデオ・コンテンツに関連した補助情報を含む(図示されない)向上されたデータ/テレテキスト・サービスを提供するためのものであり、前記情報を介して、ユーザは、前記オーディオ及びビデオデータが表示されるのと同時にナビゲートすることができる。
前記オーディオ、ビデオ及びデータストリームは、送信器108を使用して単一のチャネルにのせて対応する受信システムに放送される前に、マルチプレクサ107において多重化される。前記図示された受信システムにおいて、入ってくる伝送は、受信器109により受信され、デマルチプレクサ110において非多重化され、オーディオ、ビデオ及びアプリケーションデータ・ストリームは、それぞれオーディオ出力部112、ビデオ出力部111及びデータ出力部113を介して出力される。前記アプリケーションデータから導かれる表示データは、この場合、テレビ信号処理ユニット115における前記オーディオ及びビデオデータを持つフィードであり、テレビ信号処理ユニット115から、対応するテレビ信号が、テレビ116上に表示するために出力される。
前記アプリケーションデータの前記Javaクラスファイルは、特に、前記オーディオ及びビデオ・コンテンツに関連した前記補助情報を表示する窓を生成するために提供されることができ、関連したグラフィックファイルは、装飾用のフレーミング窓及びメニュー・ナビゲーション・オプションの表示を含む外観のために提供されてもよい。このような向上されたデータ/テレテキスト・サービスの例は、前記オーディオ及びビデオ・コンテンツが、演奏するポップスグループを表す場合であり、前記アプリケーションデータは、前記オーディオ及びビデオ表示の部分にわたる窓に表示されるようにウェブ型のインターフェースを用いてデータ/テレテキスト・サービスを提供し、前記ポップスグループのファンは、今度のコンサート及びゴシップ等を詳述する情報のページを閲覧することができる。
特定のJavaクラスファイルは、1つのクラスファイルの翻訳又はコンパイルが、他のクラスファイルの翻訳又はコンパイルに帰着するであろう、またはなり得る、即ち、1つのクラスファイルが、他のクラスファイルの実行を要求し得る限り互いに関連付けられるだろう。この情報は、前記受信器においてランタイム解析により得られることができるが、しかし以前述べたように、これは、待ち時間を導入する。しかしながら幸運にも、前記アプリケーションデータをオーサリングすると、どのクラスファイルが、このように関連付けられるか、及びこれらのクラスファイルが、これに応じてグループ分けされることができることは、認識されるだろう。本発明によると、これらのグループ分けは、前記受信システムにより識別され、これにより特定のクラスファイルは、事前にコンパイルされ、同じグループ内の他のバイトコードファイルの翻訳、コンパイル及び実行のいずれかが行われると後の実行のためにメモリにキャッシュされる。
前記クラスファイルの前記グループ分けは、以下の例の何れかによる前記受信システムに伝達されることができる。
例1
前記グループ分けは、送信中の前記バイトコードファイルの配置に関して規定される。このようなグループ分けは、クラスファイル及び他のファイルを放送するためにモジュールにグループ分けすることができるDVBのMHPのDSM−CCを使用して規定されることができ、ここで、モジュールの内容は、特定のアプリケーションに関連する。例えば、図2を参照すると、モジュール1は、ディレクトリ“dir1”内の全てのクラスファイルのリストを含み、モジュール2は、クラスファイル“file1.class”、“file4.class”、“file5.class”及びディレクトリ“dir2”内のクラスファイルのリストを含み、モジュール3は、クラスファイル“file2.class”、“file3.class”、“file6.class”、“file7.class”及びディレクトリ“dir3”内の全てのクラスファイルのリストを含み、グラフィックファイル“file8.gif”をも含む。バイトコードファイルは、この場合、同じグループで送信された他のバイトコードファイルの翻訳、コンパイル又は実行のいずれかが行われるとコンパイルのために選択されてもよい。
例2
前記グループ分けは、送信の前に前記サーバに記憶される場合の前記バイトコードファイルの前記ディレクトリ構造により規定され、これにより単一のグループは、単一のディレクトリに対応する。この場合に、前記グループ分け情報は、それぞれのバイトコードファイルのファイル名に追加されたファイル位置を含むことにより、前記バイトコードファイルの中で分配されてもよい。例えば、図3を参照して、前記示されたディレクトリ構造は、クラスファイルの3つのグループに対応することができ、グループ1は、全てのクラスファイルを含むディレクトリ“dir1”に対応し、グループ2は、クラスファイル“file4.class”及び“file5.class”を含む“dir2”に対応し、グループ3は、クラスファイル“file6.class”及び“file7.class”を含む“dir3”に対応する。この場合、所定のクラスファイルは、一度しか放送される必要がないが、1つより多いグループに属することができる。バイトコードファイルは、この場合、コンパイルのために選択されることができ、これによりディレクトリ“dir2”及び“dir3”に対応するグループ内のクラスファイルは、同じディレクトリに属する他のバイトコードファイルの翻訳、コンパイル又は実行が行われると選択され、クラスファイル“file1.class”、“file2.class”及び“file3.class”(即ちディレクトリ“dir2”又は“dir3”ではなくディレクトリ“dir1”内のクラスファイル)のコンパイルが行われると、ディレクトリ“dir1”内の全てのクラスファイルがコンパイルされる。
例3
前記グループ分けが、前記バイトコードファイルを前記受信端末に記憶するために使用されるように、前記サーバに記憶された場合の前記ファイルのディレクトリ構造と同じである必要がないディレクトリ構造により規定されることを除き、例2と同様である。
例4
前記グループ分けは、前記クラスファイルと共に送信され、特に、効率的なコンパイルのためにクラスファイルのグループ分けを規定する唯一の目的のために提供された付加的な情報により規定される。
上述の実施例は、主としてカルーセルでバイトコードを放送する放送システムの文脈において本発明を記述する。しかしながら、本発明は、Javaアップレット等のインターネット転送を含む、バイトコードが受信システムに送信される他の装置に対して同様に適用することができる。
本発明により構成されたテレビ放送システム及び対応する受信システムを示す。 図1の放送システムにより使用される対応するディレクトリと、Javaクラスファイルの構造をグループ分けするモジュールと、他の関係したファイルとを示す。 図1の放送システムにより使用される対応するディレクトリと、Javaクラスファイルの構造をグループ分けするモジュールと、他の関係したファイルとを示す。

Claims (18)

  1. 受信端末によって、サーバから送信されたバイトコードを受信してネイティブコードにコンパイルする方法であって、
    前記サーバによって、所定のバイトコードを含む複数のバイトコードファイルを前記受信端末に送信するとともに、受信側で前記複数のバイトコードファイルの翻訳、コンパイル及び実行のいずれかを行う場合に、前記複数のバイトコードファイルがグループ単位で関連付けられていることを示し、且つバイトコードファイルのグループを特定するためのグループ分け情報を、前記受信端末に送信するステップと、
    前記受信端末によって、前記複数のバイトコードファイル及び前記グループ分け情報を受信し、前記グループ分け情報に基づいて前記グループ単位で関連付けられている複数のバイトコードファイルを選択して、前記複数のバイトコードファイルに含まれるバイトコードをネイティブコードにコンパイルすステップとを含み、
    前記グループ分け情報を、デジタルビデオ放送のマルチメディア・ホーム・プラットフォーム規格のデジタル・ストレージ・メディア・コマンド・アンド・コントロール(DSM−CC)プロトコルを使用して規定することを特徴とする方法。
  2. 前記グループ分け情報が、前記サーバに記憶された場合の前記バイトコードファイルのディレクトリ構造を規定し、これにより単一のグループが、単一のディレクトリに対応づけられる、請求項1に記載の方法。
  3. 前記グループ分け情報が、それぞれのバイトコードファイルのファイル名に追加されたファイル位置を有する、請求項2に記載の方法。
  4. 前記グループ分け情報が、前記バイトコードファイルを前記受信端末に記憶するために使用されるディレクトリ構造を規定し、これにより単一のグループが、単一のディレクトリに対応付けられる、請求項1に記載の方法。
  5. 前記グループ分け情報が、それぞれのバイトコードファイルのファイル名に追加されたファイル位置を有する、請求項4に記載の方法。
  6. 前記サーバが、放送カルーセルを使用してバイトコードファイルを前記受信端末に送信する、請求項1ないし5の何れか一項に記載の方法。
  7. 前記コンパイルのために選択されたバイトコードファイルが、後の実行のためにコンパイル後にメモリにキャッシュされる、請求項1ないし6の何れか一項に記載の方法。
  8. 前記バイトコードが、Java(登録商標)バイトコードである、請求項1ないし7の何れか一項に記載の方法。
  9. バイトコードを含む複数のバイトコードファイルを受信端末に送信するとともに、受信側で前記複数のバイトコードファイルの翻訳、コンパイル及び実行のいずれかを行う場合に、前記複数のバイトコードファイルがグループ単位で関連付けられていることを示し、且つバイトコードファイルのグループを特定するためのグループ分け情報を前記受信端末に送信するように構成された送信器を備え、
    当該サーバは、前記グループ分け情報デジタルビデオ放送のマルチメディア・ホーム・プラットフォーム規格のデジタル・ストレージ・メディア・コマンド・アンド・コントロール(DSM−CC)プロトコルを使用して規定し、
    受信側において、前記複数のバイトコードファイル及び前記グループ分け情報を受信し、前記グループ分け情報に基づいて前記グループ単位で関連付けられている複数のバイトコードファイルを選択して、前記複数のバイトコードファイルに含まれるバイトコードをネイティブコードにコンパイルできるように、前記グループ分け情報を送信することを特徴とするサーバ。
  10. 前記グループ分け情報が、前記サーバに記憶された場合の前記バイトコードファイルのディレクトリ構造を規定し、これにより単一のグループが、単一のディレクトリに対応付けられる、請求項9に記載のサーバ。
  11. 前記グループ分け情報が、それぞれのバイトコードファイルのファイル名に追加されたファイル位置を有する、請求項10に記載のサーバ。
  12. 放送カルーセルを使用して前記バイトコードファイルを前記受信端末に送信するように構成された請求項9ないし11の何れか一項に記載のサーバ。
  13. 前記バイトコードが、Javaバイトコードである、請求項9ないし12の何れか一項に記載のサーバ。
  14. バイトコードを含む複数のバイトコードファイルと、受信側で前記複数のバイトコードファイルを翻訳、コンパイル及び実行のいずれかを行う場合に、前記複数のバイトコードファイルがグループ単位で関連付けられていることを示し、且つバイトコードファイルのグループを特定するためのグループ分け情報とをサーバから受信するように構成された受信器と、
    前記受信器において受信された前記バイトコードファイルをネイティブコードにコンパイルするコンパイラとを有し、
    前記グループ分け情報は、サーバ側においてデジタルビデオ放送のマルチメディア・ホーム・プラットフォーム規格のデジタル・ストレージ・メディア・コマンド・アンド・コントロール(DSM−CC)プロトコルを使用して規定されており
    前記コンパイラは、前記グループ分け情報に基づいて前記グループ単位で関連付けられている複数のバイトコードファイルを選択して、前記複数のバイトコードファイルに含まれるバイトコードをネイティブコードにコンパイルすることを特徴とする受信端末。
  15. 前記グループ分け情報が、前記バイトコードファイルを前記受信端末に記憶するために使用されるディレクトリ構造を規定し、これにより単一のグループが、単一のディレクトリに対応付けられる、請求項14に記載の受信端末。
  16. 前記グループ分け情報が、それぞれのバイトコードファイルのファイル名に追加されたファイル位置を有する、請求項15に記載の受信端末。
  17. 前記コンパイルのために選択されたバイトコードファイルが、後の実行のためにコンパイル後にメモリにキャッシュされる、請求項14ないし16の何れか一項に記載の受信端末。
  18. 前記バイトコードが、Javaバイトコードである、請求項14ないし17の何れか一項に記載の受信端末。
JP2003536878A 2001-10-19 2002-10-16 バイトコードをネイティブコードにコンパイルする方法 Expired - Fee Related JP4593107B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0125176.8A GB0125176D0 (en) 2001-10-19 2001-10-19 A method of compiling bytecode to native code
PCT/IB2002/004305 WO2003034215A2 (en) 2001-10-19 2002-10-16 A method of compiling bytecode to native code

Publications (3)

Publication Number Publication Date
JP2005505849A JP2005505849A (ja) 2005-02-24
JP2005505849A5 JP2005505849A5 (ja) 2006-01-05
JP4593107B2 true JP4593107B2 (ja) 2010-12-08

Family

ID=9924195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003536878A Expired - Fee Related JP4593107B2 (ja) 2001-10-19 2002-10-16 バイトコードをネイティブコードにコンパイルする方法

Country Status (9)

Country Link
US (1) US7222336B2 (ja)
EP (1) EP1440370B1 (ja)
JP (1) JP4593107B2 (ja)
KR (1) KR100940130B1 (ja)
CN (1) CN1307547C (ja)
AT (1) ATE394737T1 (ja)
DE (1) DE60226475D1 (ja)
GB (1) GB0125176D0 (ja)
WO (1) WO2003034215A2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1377034A1 (en) * 2002-06-27 2004-01-02 Thomson Licensing S.A. Data processing device and method for interactive television
WO2004054247A1 (en) * 2002-12-09 2004-06-24 Koninklijke Philips Electronics N.V. Interactive television system with partial character set generator
JP4713820B2 (ja) * 2003-05-28 2011-06-29 パナソニック株式会社 プログラム実行制御装置、プログラム実行制御方法
US20050039189A1 (en) * 2003-08-14 2005-02-17 Todd Anderson Methods and apparatus to preemptively compile an application
GB0401781D0 (en) * 2004-01-28 2004-03-03 Koninkl Philips Electronics Nv Digital broadcasting terminal
KR100725386B1 (ko) * 2004-09-25 2007-06-07 삼성전자주식회사 가상 머신 어플리케이션을 실행하는 방법 및 그 방법을이용한 디지털 방송 수신기
US7707547B2 (en) * 2005-03-11 2010-04-27 Aptana, Inc. System and method for creating target byte code
US7844958B2 (en) * 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US7805708B2 (en) * 2005-05-13 2010-09-28 Texas Instruments Incorporated Automatic tool to eliminate conflict cache misses
US7784041B2 (en) * 2006-03-30 2010-08-24 Oracle America, Inc. Mechanism for reducing detectable pauses in dynamic output caused by dynamic compilation
US7561081B2 (en) * 2006-07-12 2009-07-14 Qualcomm Incorporated Method and apparatus for optimization of SigComp UDVM performance
EP1988451A1 (en) * 2007-05-04 2008-11-05 Deutsche Thomson OHG Method for generating a set of machine-interpretable instructions for presenting media content to a user
US8914774B1 (en) 2007-11-15 2014-12-16 Appcelerator, Inc. System and method for tagging code to determine where the code runs
US8954989B1 (en) 2007-11-19 2015-02-10 Appcelerator, Inc. Flexible, event-driven JavaScript server architecture
US8260845B1 (en) 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US8566807B1 (en) 2007-11-23 2013-10-22 Appcelerator, Inc. System and method for accessibility of document object model and JavaScript by other platforms
US8719451B1 (en) 2007-11-23 2014-05-06 Appcelerator, Inc. System and method for on-the-fly, post-processing document object model manipulation
US8819539B1 (en) 2007-12-03 2014-08-26 Appcelerator, Inc. On-the-fly rewriting of uniform resource locators in a web-page
US8806431B1 (en) 2007-12-03 2014-08-12 Appecelerator, Inc. Aspect oriented programming
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
US8938491B1 (en) 2007-12-04 2015-01-20 Appcelerator, Inc. System and method for secure binding of client calls and server functions
US8527860B1 (en) 2007-12-04 2013-09-03 Appcelerator, Inc. System and method for exposing the dynamic web server-side
US8335982B1 (en) 2007-12-05 2012-12-18 Appcelerator, Inc. System and method for binding a document object model through JavaScript callbacks
US8285813B1 (en) 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
US8639743B1 (en) 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en) 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US9558096B2 (en) * 2014-03-21 2017-01-31 Marvell World Trade Ltd. Method and apparatus for supporting performance analysis
CN106528259B (zh) * 2016-11-04 2019-07-09 网易(杭州)网络有限公司 数据发送、接收方法及其装置
CN109960507B (zh) * 2017-12-14 2021-06-08 Oppo广东移动通信有限公司 编译优化方法、装置、存储介质、智能终端及服务器
US11327733B2 (en) 2020-05-27 2022-05-10 Blaize, Inc. Method of using multidimensional blockification to optimize computer program and device thereof
KR102604270B1 (ko) * 2023-08-22 2023-11-21 주식회사 피앤피시큐어 Java bci 기술을 이용한 애플리케이션의 통신 암호화 플러그인 방법과 시스템

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01240934A (ja) * 1988-03-23 1989-09-26 Hitachi Ltd 自動再コンパイル方法
JPH0250731A (ja) * 1988-08-12 1990-02-20 Nec Corp コンパイル装置
JPH09185542A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd オブジェクト管理方法
US6012068A (en) * 1997-06-30 2000-01-04 International Business Machines Corporation Media manager for access to multiple media types
US5995754A (en) * 1997-10-06 1999-11-30 Sun Microsystems, Inc. Method and apparatus for dynamically optimizing byte-coded programs
US5937411A (en) * 1997-11-21 1999-08-10 International Business Machines Corporation Method and apparatus for creating storage for java archive manifest file
US6349344B1 (en) * 1997-12-16 2002-02-19 Microsoft Corporation Combining multiple java class files into a run-time image
US6110226A (en) * 1998-02-19 2000-08-29 Cygnus Solutions Java development environment using optimizing ahead-of-time compiler
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization
US6405367B1 (en) * 1998-06-05 2002-06-11 Hewlett-Packard Company Apparatus and method for increasing the performance of Java programs running on a server
KR20010072477A (ko) * 1998-08-13 2001-07-31 썬 마이크로시스템즈, 인코포레이티드 가상 머신 환경에서 네이티브 코드를 변환하고 실행하는방법 및 장치
US6463177B1 (en) * 1998-11-04 2002-10-08 Sharp Laboratories Of America, Inc. Dynamic management of embedded coded images in a digital storage device
CA2255035C (en) * 1998-11-30 2002-01-29 Victor Shih-Chuan Chan Archiving tool
CA2255042C (en) * 1998-11-30 2004-04-13 Leonard W. Theivendra Class loader
US6295641B1 (en) * 1998-12-03 2001-09-25 International Business Machines Corporation Method and apparatus for dynamically selecting bytecodes for just in time compiling in a user's environment
CA2267477C (en) * 1999-03-30 2003-10-14 Object Technology International Inc. Packaging memory image files
US6701334B1 (en) * 1999-07-13 2004-03-02 Sun Microsystems, Inc. Methods and apparatus for implementing individual class loaders
US6718364B2 (en) * 1999-08-10 2004-04-06 Sun Microsystems, Inc. Method and apparatus for expedited file downloads in an applet environment
GB9925510D0 (en) * 1999-10-29 1999-12-29 Ibm Incorporating native code in java archive files
US6976268B2 (en) * 1999-12-10 2005-12-13 Sun Microsystems, Inc. Methods and apparatus for efficiently accessing periodically broadcast data
US20050210145A1 (en) * 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
US20030009769A1 (en) * 2001-06-25 2003-01-09 Debra Hensgen Trusted application level resource advisor

Also Published As

Publication number Publication date
KR100940130B1 (ko) 2010-02-03
US20030079208A1 (en) 2003-04-24
WO2003034215A2 (en) 2003-04-24
DE60226475D1 (de) 2008-06-19
US7222336B2 (en) 2007-05-22
CN1571955A (zh) 2005-01-26
ATE394737T1 (de) 2008-05-15
WO2003034215A3 (en) 2004-01-22
CN1307547C (zh) 2007-03-28
EP1440370A2 (en) 2004-07-28
GB0125176D0 (en) 2001-12-12
EP1440370B1 (en) 2008-05-07
KR20040053179A (ko) 2004-06-23
JP2005505849A (ja) 2005-02-24

Similar Documents

Publication Publication Date Title
JP4593107B2 (ja) バイトコードをネイティブコードにコンパイルする方法
US7065752B2 (en) Method and apparatus compilation of an interpretative language for interactive television
JP2000224120A (ja) 放送環境内で資源を位置するための方法及びシステム
JP2008512012A (ja) デジタルテレビで双方向サービスを提供する方法及びシステム
JPWO2007052736A1 (ja) デジタル放送システム、受信装置、及び送出装置
US20150296005A1 (en) Receiving device, receiving method, transmission device, transmission method, and program
US20090228949A1 (en) Digital broadcasting terminal
JP5414792B2 (ja) リッチメディアサービスを提供する方法及び装置
US7512955B2 (en) Method and system for accessing and implementing declarative applications used within digital multi-media broadcast
US6941559B2 (en) Software bus and interface for digital television application software environments
US20060117105A1 (en) Devices and methods for conditional execution decision making in relation to services received and creation of information messages associated with said services, and associated products
US7032239B1 (en) Providing content description and connection information in digital broadcast networks
US6721949B1 (en) Kernel abstraction layer for digital television set-top box firmware
CN101453654A (zh) 执行服务中应用程序的方法
US20080209453A1 (en) System and Method for Reducing the Start-up Time of Mhp Applications
JP5311813B2 (ja) コマーシャル処理装置
FI110973B (fi) Menetelmä sovellusten lähettämiseen digitaalisessa yleislähetysverkossa
Ribeiro de Oliveira et al. Method for synchronized driving of sign language avatar using a digital tv signal
US20040148630A1 (en) File searching method of data broadcasting system
Lin et al. An interactive service platform solution based on enhanced data carousel scheme
KR100399090B1 (ko) 층 상태의 확장 데이터 통신
KR100269433B1 (ko) 웹을 이용한 데이빅 시스템 및 그 데이빅 서버액세스 방법
Jang et al. Xlet-based, IESG (Integrated Electronic Service Guide) in ATSC-ACAP
Standard ATSC Data Application Reference Model
Reimers et al. DVB Data Broadcasting

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051014

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070323

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100105

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100915

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees