(57)【要約】本発明は、インタラクティブコンテンツを再生する再生装置において、マークアップ文書に連結されたアプレットを実行させる装置及び方法に関する。そのアプレット実行方法は、（ａ）アプリケーションマネージャーがアプレット実行を要請されるステップと、（ｂ）前記アプリケーションマネージャーが、前記アプレットがバウンドアプレットであるか、またはアンバウンドアプレットであるかについてアプレット種類を判別するステップと、（ｃ）前記アプリケーションマネージャーが、メモリに保存された前記アプレットをバーチャルマシンにローディングするステップと、（ｄ）前記（ｂ）ステップでの判別結果、前記アプレットがアンバウンドアプレットであれば、前記アプリケーションマネージャーが前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御するステップと、（ｅ）前記アプレットが初期状態になった直後、前記アプリケーションマネージャーが前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するステップと、を含む。  本発明に係るアプレット実行装置及び方法は、アプレットの種類を分類して、それぞれのライフサイクルを異なって定義してアプレットの機能を拡張させ、特に、マークアップ文書の切替如何と関係なく継続的に動作するアプレットを提供する。
2006509300.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザによりマークアップ文書アプレットを実行する方法において、
前記ブラウザからアプレット実行を要請されるステップと、
前記アプレットがバウンドアプレットであるか、アンバウンドアプレットであるかのアプレット種類を判別するステップと、
前記要請されたアプレットをバーチャルマシンにローディングするステップと、
前記アプレットがアンバウンドアプレットであれば、前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御し、前記アプレットが初期状態となった直後に前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するステップと、を含むことを特徴とするアプレット実行方法。
【請求項２】
前記アプレットが終了すれば、前記バーチャルマシンに通知して、前記アプレットがストップ状態になるように制御するステップと、
前記バーチャルマシンに通知して、前記アプレットがディストロイ状態になるように制御するステップと、を更に含むことを特徴とする請求項１に記載のアプレット実行方法。
【請求項３】
前記アプレットがバウンドアプレットであれば、前記アプレットと連結されたマークアップ文書が文法に合う形態構造であることが確認されれば、前記アプリケーションマネージャーが前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御するステップを更に含むことを特徴とする請求項１に記載のアプレット実行方法。
【請求項４】
前記マークアップ文書がブラウザによってレンダリング中に前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するステップと、
前記マークアップ文書が前記ブラウザによってアンロードされれば、前記バーチャルマシンに通知して、前記アプレットがストップ状態になるように制御するステップと、
前記バーチャルマシンに通知して、前記アプレットがディストロイ状態になるように制御するステップと、を更に含むことを特徴とする請求項３に記載のアプレット実行方法。
【請求項５】
マークアップ文書アプレットを実行する装置において、
外部から入力されたマークアップ文書を保存するメモリと、
前記マークアップ文書と関連したアプレットを実行するバーチャルマシンと、
前記メモリから前記マークアップ文書を入力されて、前記マークアップ文書に含まれた前記マークアップ文書と関連したアプレットに関する情報を出力するブラウザと、
前記ブラウザから前記アプレットに関する情報を入力されて、前記アプレットを外部から取り出して前記メモリに保存するように制御し、前記ブラウザから前記メモリに保存された前記アプレットの実行を要請されて、前記メモリに保存された前記アプレットを前記バーチャルマシンにローディングし、前記アプレットがバウンドアプレットであるか、アンバウンドアプレットがであるかの前記アプレットの種類を判別して、前記アプレットがアンバウンドアプレットであれば、前記Ｊａｖａバーチャルマシンに通知して、前記アプレットが初期状態になるように制御し、前記アプレットが初期状態になった直後に前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するアプリケーションマネージャーと、を含むことを特徴とするアプレット実行装置。
【請求項６】
前記アプリケーションマネージャーは、前記バーチャルマシンから前記アプレットが終了したことを通知された場合に、前記バーチャルマシンに通知して、前記アプレットがストップ状態になるように制御し、前記バーチャルマシンに通知して、前記アプレットがディストロイ状態になるように制御することを特徴とする請求項５に記載のアプレット実行装置。
【請求項７】
前記アプリケーションマネージャーは、前記アプレットの種類を判別した結果、前記アプレットがバウンドアプレットであれば、前記ブラウザから前記アプレットと関連した前記マークアップ文書が文法に合う形態構造であることを通知されれば、前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御することを特徴とする請求項５に記載のアプレット実行装置。
【請求項８】
前記アプリケーションマネージャーは、前記マークアップ文書が前記ブラウザによってレンダリング中に前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御し、前記マークアップ文書が前記ブラウザによってアンロードされれば、前記バーチャルマシンに通知して、前記アプレットがストップ状態になるように制御し、前記マークアップ文書が再びディスプレイされれば、前記アプレットが前記スタート状態及び前記ストップ状態になるように制御する動作を繰返し、前記バーチャルマシンに通知して、前記アプレットがディストロイ状態になるように制御することを特徴とする請求項７に記載のアプレット実行装置。
【請求項９】
ブラウザからアプレット実行を要請されるステップと、
前記アプレットがバウンドアプレットであるか、アンバウンドアプレットであるかのアプレット種類を判別するステップと、
要請されたアプレットをバーチャルマシンにローディングするステップと、
前記アプレットがアンバウンドアプレットであれば、前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御するステップと、
前記アプレットが初期状態になった直後に前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するステップと、を含むことを特徴とするアプレット実行方法を実現するためのプログラムを記録したコンピュータ可読記録媒体。
【請求項１０】
インタラクティブデジタルバーサタイルディスク（ＤＶＤ）プレイヤーにおいて、
プロセスによって前記プレイヤーを制御するプログラムされたコンピュータプロセッサーを含み、前記プロセスは、
インタラクティブコンテンツをディスプレイするために、タグアプレットをバウンドアプレット及びアンバウンドアプレットに分類するマークアップ文書を処理するステップと、
前記分類によって、前記マークアップ文書のアプレット実行がバウンドアプレットであるか、またはアンバウンドアプレットであるかを決定するステップと、
前記アプレットがアンバウンドアプレットであれば、前記アンバウンドアプレットをまず初期状態に設定し、その次にスタート状態に設定するために、所定のコマンドを直ちに発送することで、前記アンバウンドアプレットを始めるステップと、を含むことを特徴とするインタラクティブＤＶＤプレイヤー。
【請求項１１】
前記プログラムされたコンピュータプロセッサーは、前記マークアップ文書処理と同期化せずに、前記アンバウンドアプレットを始めることを特徴とする請求項１０に記載のインタラクティブＤＶＤプレイヤー。
【請求項１２】
前記始まったアンバウンドアプレットは、前記マークアップ文書処理と関係なく実行し続けることを特徴とする請求項１０に記載のＤＶＤプレイヤー。
【請求項１３】
マークアップ文書のタグアプレットを分類するステップと、
前記分類によって、前記タグアプレットの寿命の相異なる実行を制御するステップとを含む方法。
【請求項１４】
前記分類ステップは、前記タグアプレットをバウンドアプレット及びアンバウンドアプレットに分類するステップを含み、
前記制御によって、バウンドアプレットの実行寿命は、前記マークアップ文書の寿命と関係があり、前記アンバウンドアプレットの実行寿命は、前記マークアップ文書の寿命と関係がないことを特徴とする請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプレット実行装置及び方法に係り、特に、インタラクティブコンテンツを再生する再生装置において、インタラクティブ機能を支援するためのマークアップ文書に連結されたアプレットを実行させる装置及び方法に関する。
【背景技術】
【０００２】
インタラクティブコンテンツとは、情報記録媒体、例えば、インタラクティブＤＶＤにオーディオ／ビデオデータ（以下、ＡＶデータという）及びインタラクティブ機能を支援するためのマークアップ文書が共に保存されたデータを言う。マークアップ文書は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（ｅＸｔｅｎｄｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのマークアップ言語で作成された文書を言う。
【０００３】
インタラクティブ−ＤＶＤに記録されたＡＶデータは、一般のＤＶＤ−Ｖｉｄｅｏと同じ方式で再生もされ、ブラウザを通じてＡＶデータが再生されて表示されるＡＶ画面が、マークアップ文書に定義された表示ウィンドウに埋め込まれて、マークアップ文書と共にディスプレイされもする。後者がインタラクティブ機能が支援される場合である。インタラクティブ機能は、例えば、ＡＶデータが映画タイトルである場合、表示ウィンドウの一部では映画が上映され、他部では、映画の字幕がディスプレイされ、更に他部では、予告編を広告する停止映像などの多様なインタラクティブコンテンツが表示される。
【０００４】
一方、マークアップ文書には、アプレットが連結されており、アプレットにより多様なインタラクティブ機能が具現される。
【０００５】
アプレットとは、小さなアプリケーションを意味する。ワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）上では、Ｊａｖａ（登録商標）のような客体指向プログラミング言語を使って、ウェブページ、すなわち、マークアップ文書と共にユーザー側に送られるように小さくしたプログラムをアプレットと称する。Ｊａｖａアプレットは、アニメーションや簡単な計算、またユーザーがサーバーに別途に要請せずとも行い得る簡単な作業を行うことができる。
【０００６】
従来には、あらゆるアプレットが、連結されたマークアップ文書に従属的であるため、マークアップ文書がアンロードされて他の文書に切り替えられれば、マークアップ文書に連結されたアプレットも動作を中断せねばならず、ユーザーによりマークアップ文書が再び呼び出されて画面に出力されれば、連結されたアプレットも再び動作を行った。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明が達成しようとする技術的課題は、マークアップ文書に従属的なアプレットと共にマークアップ文書に非従属的なアプレットを実行する装置及び方法を提供するところにある。
【課題を解決するための手段】
【０００８】
前記課題を達成するために、本発明によるアプレット実行装置は、外部から入力されたマークアップ文書を保存するメモリと、アプレットを実行するバーチャルマシンと、前記メモリから前記マークアップ文書を入力されて、前記マークアップ文書に含まれた前記マークアップ文書と関連したアプレットに関する情報を出力するブラウザと、前記ブラウザから前記アプレットに関する情報を入力されて、前記アプレットを外部から取り出して前記メモリに保存するように制御し、前記ブラウザから前記メモリに保存された前記アプレットの実行を要請されて、前記メモリに保存された前記アプレットを前記バーチャルマシンにローディングし、前記アプレットがバウンドアプレットであるか、アンバウンドアプレットであるかについて前記アプレットの種類を判別し、前記アプレットがアンバウンドアプレットであれば、前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御し、前記アプレットが初期状態になった直後、前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するアプリケーションマネージャーと、を含む。
【０００９】
前記課題を達成するために、本発明によるアプレット実行方法は、（ａ）アプリケーションマネージャーがアプレット実行を要請されるステップと、（ｂ）前記アプリケーションマネージャーが前記アプレットがバウンドアプレットであるか、アンバウンドアプレットであるかについてアプレット種類を判別するステップと、（ｃ）前記アプリケーションマネージャーがメモリに保存された前記アプレットをバーチャルマシンにローディングするステップと、（ｄ）前記（ｂ）ステップでの判別結果、前記アプレットがアンバウンドアプレットであれば、前記アプリケーションマネージャーが前記バーチャルマシンに通知して、前記アプレットが初期状態になるように制御するステップと、（ｅ）前記アプレットが初期状態になった直後、前記アプリケーションマネージャーが前記バーチャルマシンに通知して、前記アプレットがスタート状態になるように制御するステップとを含む。
【発明を実施するための最良の形態】
【００１０】
以下、添付された図面を参照して、本発明に係る好ましい実施形態を詳細に説明する。
【００１１】
図１は、インタラクティブコンテンツを再生するためのシステムを説明するためのブロック図である。図１を参照するに、インタラクティブコンテンツを再生するためのシステムは、コンテンツ保存媒体１００、インタラクティブコンテンツ再生装置２００、ディスプレイ部３００、リモコン４００及びインターネット５００を含む。
【００１２】
コンテンツ保存媒体１００は、インタラクティブコンテンツを保存する媒体であって、例えば、インタラクティブＤＶＤがある。インタラクティブＤＶＤは、ＡＶデータ、マークアップ文書データ及びその他のデータを保存する。
【００１３】
図３は、コンテンツ保存媒体１００に保存されたデータのディレクトリ構造を示すための図であって、ＡＶデータを保存するＶＩＤＥＯ＿ＴＳディレクトリ、マークアップ文書データなどのインタラクティブ機能を支援するデータが保存されたＤＶＤ＿ＥＮＡＶディレクトリ及びその他のファイルの構造を有している。
【００１４】
図２は、インタラクティブコンテンツとして、ブラウザを通じてマークアップ文書スクリーンと共にディスプレイされるＡＶスクリーンのブロック図である。図２を参照するに、インタラクティブコンテンツ再生装置２００は、コンテンツ保存媒体１００に記録されたＡＶデータを一般的な方式で再生することができ、図２に示されたように、ブラウザを通じてＡＶデータが再生されて表示されるＡＶ画面が、マークアップ文書に定義されたマークアップ文書画面に埋め込まれて、マークアップ文書と共にディスプレイすることもできる。
【００１５】
また、インタラクティブコンテンツ再生装置２００は、インターネット５００のようなネットワークを介してインタラクティブコンテンツを提供されて再生することもできる。例えば、インタラクティブコンテンツ再生装置２００を利用して、インターネット５００を介してオンラインゲームを楽しむ場合である。
【００１６】
図４は、ブラウザを通じて画面に出力されるマークアップ文書の構成要素を示す図である。マークアップ文書を構成する要素としては、マークアップ文書と連結された複数のアプレット、ＧＩＦ、ＪＰＥＧのような停止映像及びフレームがある。
【００１７】
図５は、図１に示されたインタラクティブコンテンツ再生装置２００の詳細構成を説明するためのブロック図である。図５を参照するに、インタラクティブコンテンツ再生装置２００は、リーダー２１０、バッファメモリ２２０、キャッシュメモリ２３０、デコーダー２４０、プレゼンテーションエンジン２５０、ネットワークデータトランシーバ２６０及びブレンダー２７０を含む。
【００１８】
リーダー２１０は、ピックアップ部（図示せず）を備えて、コンテンツ保存媒体１００からデータを読み取ってバッファメモリ２２０にＡＶデータを出力し、キャッシュメモリ２３０には、インタラクティブ機能に関連したマークアップ文書データ及び関連したアプレットなどのデータを出力する。
【００１９】
デコーダー２４０は、ＡＶデータを入力されて復号化する。例えば、ＭＰＥＧ方式で符号化されたビデオデータを復号化するか、またはＭＰＥＧ、ＡＣ３などの方式で符号化されたオーディオデータを復号化する。
【００２０】
プレゼンテーションエンジン２５０は、マークアップ文書などのデータを入力されて、マークアップ文書を解釈してブレンダー２７０に出力する。また、リモコン４００を通じてユーザーから入力ＵＯＰ（Ｕｓｅｒ  ＯＰｅｒａｔｉｏｎ）を受けてインタラクティブな機能を行う。ＵＯＰは、例えば、ユーザーがリモコンを通じて再生、再生停止、再生一時停止などの再生に関する命令と、その他のインタラクティブコンテンツの再生中に必要なナビゲーションキー入力等に関する命令とを含む。
【００２１】
ネットワークデータトランシーバ２６０は、インターネット５００を通じて遠隔地サーバー（図示せず）との通信を行う。
【００２２】
したがって、一般的に、ブレンダー２７０は、図２に示されたように通常のＡ／Ｖスクリーン（ａ）をディスプレイするために、バッファメモリ２２０からディスプレイ部３００に入力されるデコードされたＡ／Ｖデータを出力するか、または、図２に示されたようなインタラクティブコンテンツスクリーン（ｂ）を出力するために、前記入力されたデコードされたＡ／Ｖデータを前記入力された解釈されたマークアップ文書データと混ぜる。前記入力されたデコードされたＡＶデータをディスプレイするＡＶスクリーンは、前記入力された解釈されたマークアップ文書データにより定義されたマークアップ文書スクリーンに埋め込まれる。
【００２３】
図６は、図５に示されたプレゼンテーションエンジン２５０の詳細構成を説明するためのブロック図である。図６を参照するに、プレゼンテーションエンジン２５０は、ＪＶＭ  ２５１、ブラウザ２５３及びアプリケーションマネージャー２５５を含む。
【００２４】
ＪＶＭ  ２５１は、Ｊａｖａバーチャルマシンをいう。ＪＶＭ  ２５１は、マークアップ文書に連結されたＪａｖａアプレットを実行する。もちろん、他のプログラム方式によるアプレットを実行するバーチャルマシンも可能である。本実施形態では、ＪａｖａアプレットとＪａｖａバーチャルマシンとを例として説明する。
【００２５】
ブラウザ２５３は、マークアップ文書をディスプレイ装置３００を介してディスプレイする。
【００２６】
アプリケーションマネージャー２５５は、ＪＶＭ  ２５１及びブラウザ２５３のようなアプリケーションの動作を管理する。アプリケーションマネージャー２５５は、独立的な管理マネージングプログラムであってもよく、オペレーティングシステム（ＯＳ）の一部として具現されてもよい。
【００２７】
図７は、図６に示されたＪＶＭ  ２５１の詳細構成を説明するためのブロック図である。図７を参照するに、ＪＶＭ  ２５１は、コンパイラ２５１ａ、インタープリタ２５１ｂ及びランタイムシステム２５１ｃを含む。
【００２８】
Ｊａｖａプログラミング言語で作成されたプログラム、すなわち、Ｊａｖａアプレットは、バイトコード状にコンパイラ２５１ａまたはインタープリタ２５１ｂに入力され、コンパイラ２５１ａまたはインタープリタ２５１ｂでバイトコードがコンパイルリングまたはインタープリティングされて、機械語命令がランタイムシステム２５１ｃに出力されて、ランタイムシステム２５１ｃは、Ｊａｖａアプレットを実行させる。
【００２９】
バーチャルマシン、特に、ＪＶＭ２５１についての詳細な説明は、“Ｔｈｅ  Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”（Ｔｉｍｅ  Ｌｉｎｄｈｏｌｍ  ａｎｄ  ＦｒａｎｋＹｅｌｌｉｎ、ＩＳＢＮ  ０−２０１−６３４５２−Ｘ）に記載されている。
【００３０】
図８は、図６に示されたブラウザ２５３の詳細構成を説明するためのブロック図である。図８を参照するに、ブラウザ２５３は、ＨＴＭＬパーサー２５３ａ、ＣＳＳパーサー２５３ｂ、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリー形成部２５３ｃ、プレゼンテーション方式決定部２５３ｄ、スクリプトインタープリタ２５３ｅ、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）制御部２５３ｆ及びレイアウトフォーマッタ２５３ｇから構成される。
【００３１】
ＨＴＭＬパーサー２５３ａは、ＨＴＭＬ形式のマークアップ文書データを入力された場合に、文書がＨＴＭＬ文法に符合しているか否かを検証する機能を行う。
【００３２】
ＣＳＳパーサー２５３ｂは、マークアップ文書データが色、フォント等に関するディスプレイ規則に符合しているか否かを検証する機能を行う。
【００３３】
ＤＯＭツリー形成部２５３ｃは、マークアップ文書データを構造化する機能を行う。すなわち、マークアップ文書のヘッド部分とボディー部分とに区分し、ヘッド部分は、更にタイトルとスクリプトタグ部分とに区分して、マークアップ文書データをツリー形式に分類してデータを構造化する。ドームツリー形成部２５３ｃでの構造化過程により、マークアップ文書に連結されたアプレットが何であり、何処に保存されたか等に関する情報が抽出される。
【００３４】
プレゼンテーション方式決定部２５３ｄは、色、フォントなどのディスプレイ方式を決定する機能を行う。
【００３５】
スクリプトインタープリタ２５３ｅは、ドームツリー形成部２５３ｃから抽出されたスクリプターを入力されて、スクリプターを解釈して所定命令を行う。スクリプターは、スクリプト言語で作成された一種の命令プログラムである。
【００３６】
ＵＩ制御部２５３ｆは、ユーザーとのインタフェーシングを制御する。
【００３７】
レイアウトフォーマッタ２５３ｇは、マークアップ文書の各タグに表示されたレイアウト情報によって、画面でのレイアウトフォーマットを決定してブレンダー２７０に出力する。
【００３８】
本発明では、従来のアプレットの機能を拡張して新たなアプレットを提案する。アプレットをバウンドアプレットとアンバウンドアプレットとに分類する。
【００３９】
バウンドアプレットは、従来と同じアプレットである。すなわち、マークアップ文書の所定タグに定義されており、マークアップ文書に従属的である。バウンドアプレットと対照的に、アンバウンドアプレットは、対応するマークアップ文書に独立的に実行する。
【００４０】
アンバウンドアプレットは、最初実行時には、所定のマークアップ文書に定義されたところによって実行されるが、実行された後には、そのマークアップ文書とは独立的に動作する。したがって、アンバウンドアプレットの実行が定義されたマークアップ文書がアンロードされても、それと関係なく続けてＪＶＭ  ２５１で実行される。アンバウンドアプレットのライフサイクルは、アプリケーションマネージャー２５５によって制御される。
【００４１】
図９は、ＪＶＭ  ２５１、ブラウザ２５３及びアプリケーションマネージャー２５５間の相互動作を示す図である。
【００４２】
ＸＨＴＭＬアプレットは、一種のアンバウンドアプレットである。しかし、ＸＨＴＭＬアプレットは、他のアンバウンドアプレットとは異なる特性を有する。すなわち、他のアンバウンドアプレットは、コンテンツ保存媒体１００や遠隔地のコンテンツ保存媒体（図示せず）からコンテンツ再生装置２００に取り出すことに比べて、ＸＨＴＭＬアプレットは、コンテンツ再生装置２００内のメモリから取り出す。すなわち、ＸＨＴＭＬアプレットは、コンテンツ再生装置２００内のメモリにあらかじめ保存されていたアプレットである。
【００４３】
ＸＨＴＭＬアプレットは、ＪＶＭ  ２５１初期化ステップで実行される。ＸＨＴＭＬアプレットは、他のバウンドアプレットまたはアンバウンドアプレットがマークアップ文書のドームツリー構造にアクセスするためのインターフェース機能を行う。
【００４４】
ブラウザ２５３は、バウンドアプレットのイベントをアプリケーションマネージャー２５５に通知し、ＪＶＭ  ２５１は、アンバウンドアプレットのイベントをアプリケーションマネージャー２５５に通知する。ＪＶＭ  ２５１からアンバウンドアプレットのイベントを通知されたアプリケーションマネージャー２５５は、該当アンバウンドアプレットのライフサイクルを制御する。
【００４５】
したがって、アンバウンドアプレットは、マークアップ文書と関係なくＪＶＭ  ２５１で実行され、アンバウンドアプレット自体に定義された命令によって実行を中断する場合には、それをＪＶＭ  ２５１がアプリケーションマネージャー２５５に通知し、アプリケーションマネージャー２５５は、アンバウンドアプレットの実行を中止するか、またはメモリから削除することをＪＶＭ  ２５１に通知する。
【００４６】
図１０は、バウンドアプレットのライフサイクルを示す図である。
【００４７】
Ｊａｖａアプレットの状態は、通常的に４、５個の状態として定義される。本実施形態では、Ｉｎｉｔ、Ｓｔａｒｔ、Ｓｔｏｐ、Ｄｅｓｔｒｏｙの４つの状態について説明する。
【００４８】
まず、コンテンツ保存媒体１００またはインターネット５００を介して入力されたマークアップ文書はキャッシュメモリ２３０に保存される。キャッシュメモリ２３０に保存されたマークアップ文書がプレゼンテーションエンジン２５０に入力されてパーシングされた後、ブラウザ２５３によりドームツリー構造が形成される。ブラウザ２５３は、マークアップ文書内の所定タグ内に記載されたアプレットに関する情報をアプリケーションマネージャー２５５に伝送してアプレット実行を要請する。アプリケーションマネージャー２５５は、ブラウザ２５３から受信したアプレットに関する情報によって、マークアップ文書と連結されたアプレットをコンテンツ保存媒体１００またはインターネット５００から取り出してキャッシュメモリ２３０に保存する。
【００４９】
バウンドアプレットの実行方法は、幾つかがあり得るが、本実施形態では２つを説明する。
【００５０】
第一に、マークアップ文書内のオブジェクトタグにより実行する方法である。以下は、バウンドアプレットを定義したオブジェクトタグの例である。
【００５１】
【表１】
2006509300.tif 000003
“ｍｙ＿ａｐｐｌｅｔ.ｊａｒ”というａｒｃｈｉｖｅ内の“ｍｙ＿ａｐｐｌｅｔ.ｃｌａｓｓ”というバウンドアプレットを定義している。
【００５２】
第二は、ＡＤＦ（Ａｐｐｌｅｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅ）ファイルによる方法である。この方法は、バウンドアプレットがいくつかのマークアップ文書に従属的な場合に使用する。ＡＤＦファイルにより実行されるバウンドアプレットをプラグインアプレットという。
【００５３】
以下は、プラグインアプレットを定義したＡＤＦファイルの例である。
【００５４】
【表２】
2006509300.tif 000004
後述するが、アンバウンドアプレットもＡＤＦファイルにより定義されて実行される。アンバウンドアプレットに関するＡＤＦファイルであるか、バウンドアプレットに関するＡＤＦファイルであるかは、“ｐｌｕｇｉｎ＝“ｙｅｓ””という情報により区別される。“ｐｌｕｇｉｎ＝“ｙｅｓ””であれば、バウンドアプレットであることを示す。
【００５５】
アプリケーションマネージャー２５５は、ブラウザ２５３から前記したようなオブジェクトタグやＡＤＦファイルを受けて、アプレットがバウンドアプレットであるか、またはアンバウンドアプレットであるかを判断した後、アプレットを実行させる。
【００５６】
前記したように、アプリケーションマネージャー２５５は、マークアップ文書内のオブジェクトタグまたはＡＤＦファイルを解釈して、マークアップ文書に連結されたバウンドアプレットをコンテンツ保存媒体１００またはインターネット５００から取り出してキャッシュメモリ２３０にローディングする。
【００５７】
その後、ブラウザ２５３は、マークアップ文書のドームツリー構造形成が終了したことをアプリケーションマネージャー２５５に通知する。アプリケーションマネージャー２５５は、ＪＶＭ  ２５１にｉｎｉｔ（）関数を呼び出すことを通知する。ＪＶＭ  ２５１がバウンドアプレットプログラム内のｉｎｉｔ（）関数を呼び出せば、バウンドアプレットはＩｎｉｔ状態になる。
【００５８】
Ｉｎｉｔ状態となった後、アプリケーションマネージャー２５５は、マークアップ文書がブラウザ２５３によりレンダリング中にＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がバウンドアプレットプログラム内のｓｔａｒｔ（）関数を呼び出せば、バウンドアプレットは、スタート状態になる。したがって、バウンドアプレット開始ｉｎｉｔ（）とｓｔａｒｔ（）の順に、バウンドアプレットが依存するマークアップ文書のＤＯＭツリー構造が完了するまでバウンドアプレットは開始され得ない。また、バウンドアプレットは、依存するマークアップ文書のブラウザレンダリングの開始までは開始されえない。更に詳細に、ブラウザ２５３のＤＯＭ生成器２５３ｃが、従属的なマークアップ文書のＤＯＭツリー構造の生成を完了する時、バウンドアプレットはまず開始され、次いで、従属的なマークアップ文書のブラウザレンダリングを開始すれば、バウンドアプレットは始まる。言い換えれば、バウンドアプレットの開始に続くバウンドアプレットの開始順序は、ブラウザマークアップ文書のレンダリングプロセスとの同期化を要求し、それは、ＤＯＭ生成の完了と共に始まり、ＤＯＭ生成の完了後にはレイアウトフォーマッタ２５３ｇがブレンダー２７０に出力する。
【００５９】
その後、マークアップ文書のアンロードイベントが発生して、ブラウザ２５３でマークアップ文書がアンロードされれば、アプリケーションマネージャー２５５はＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がバウンドアプレットプログラム内のｓｔｏｐ（）関数を呼び出せば、バウンドアプレットはストップ状態になる。
【００６０】
もし、マークアップ文書が再びユーザーにより再訪問されて画面にディスプレイされれば、アプリケーションマネージャー２５５はＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がバウンドアプレットプログラム内のｓｔａｒｔ（）関数を呼び出して、バウンドアプレットは再びスタート状態になり、アンロードイベントが発生すれば、再びストップ状態になる。
【００６１】
バウンドアプレットが、メモリ管理政策によってランタイムシステム２５１ｃで削除されるには、ＪＶＭ  ２５１は、削除させる前にバウンドアプレットプログラム内のｄｅｓｔｒｏｙ（）関数を呼び出して、バウンドアプレットがディストロイ状態にした後、ランタイムシステムで削除する。
【００６２】
図１１は、アンバウンドアプレットのライフサイクルを示す図である。
【００６３】
アンバウンドアプレットの状態も、バウンドアプレットのようにＩｎｉｔ、Ｓｔａｒｔ、Ｓｔｏｐ、Ｄｅｓｔｒｏｙの４つの状態を有する。
【００６４】
アンバウンドアプレットの実行方法は幾つかがあり得るが、本実施形態では、その中ＡＤＦファイルによる方法を説明する。しかし、本発明は、前記したアンバウンド実行方法に制限されるものではなく、アンバウンドアプレットを実行する他の方法が使用されうる。
【００６５】
マークアップ文書内のオブジェクトタグにアンバウンドアプレットを定義したＡＤＦファイルが定義されている。以下は、ＡＤＦファイルが定義されたオブジェクトタグの例である。
【００６６】
【表３】
2006509300.tif 000005
前記オブジェクトタグを見れば、“ｍｙ＿ａｐｐｌｅｔ.ａｐｍ”がアンバウンドアプレットが定義されたＡＤＦファイルを示す。
【００６７】
以下は、アンバウンドアプレットを定義したＡＤＦファイルの例である。
【００６８】
【表４】
2006509300.tif 000006
“ｐｌｕｇｉｎ＝“ｙｅｓ””という情報がないため、アプリケーションマネージャー２５５は、前記ＡＤＦファイルが“ｍｙ＿ａｐｐｌｅｔ.ｃｌａｓｓ”という名前のアンバウンドアプレットを定義することが分かる。ＡＤＦファイルに定義されたところによって、アプリケーションマネージャー２５５は、“ｍｙ＿ａｐｐｌｅｔ.ｃｌａｓｓ”というアンバウンドアプレットをコンテンツ保存媒体１００またはインターネット５００から取り出してキャッシュメモリ２３０にローディングする。
【００６９】
キャッシュメモリ２３０にローディングされた後、バウンドアプレットとは違って、ドームツリー構造の形成が終了するまで待機する等のいかなる同期化などを必要とせず、アンバウンドアプレットがキャッシュメモリ２３０にローディングされれば、直ちにアプリケーションマネージャー２５５は、ＪＶＭ  ２５１にｉｎｉｔ（）関数を呼び出すことを通知する。バウンドアプレット実行と対照的に、アンバウンドアプレットについては、アプリケーションマネージャー２５５は、ＪＶＭ  ２５１にアンバウンドアプレットプログラム内のｉｎｉｔ（）関数を呼び出せというコマンドを直ちに発送する。それにより、アンバウンドアプレットは、Ｉｎｉｔ状態になる。
【００７０】
Ｉｎｉｔ状態になった直後に、アプリケーションマネージャー２５５はＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がアンバウンドアプレットプログラム内のｓｔａｒｔ（）関数を呼び出せば、アンバウンドアプレットはスタート状態になる。
【００７１】
アンバウンドアプレットは、バウンドアプレットとは違って、連結されたマークアップ文書のアンローディング如何に関係なく、続けてＪＶＭ  ２５１で実行される。アンバウンドアプレットは、自体にプログラムされたものによって、プログラム実行中断を命令するイベントが発生すれば、自体的に実行を中断する。
【００７２】
プログラム実行中断を命令するイベントが発生すれば、ＪＶＭ  ２５１がアプリケーションマネージャー２５５に通知して、アプリケーションマネージャー２５５は、ＪＶＭ  ２５１にｓｔｏｐ（）関数を呼び出すように再び通知すれば、ＪＶＭ  ２５１がアンバウンドアプレットプログラム内のｓｔｏｐ（）関数を呼び出して、アンバウンドアプレットはストップ状態になる。
【００７３】
アンバウンドアプレットがメモリ管理政策によってランタイムシステム２５１ｃで削除されるには、ＪＶＭ  ２５１は、削除させる前にアンバウンドアプレットプログラム内のｄｅｓｔｒｏｙ（）関数を呼び出してアンバウンドアプレットをディストロイ状態にした後、アンバウンドアプレットをランタイムシステム２５１ｃで削除する。
【００７４】
以下では、図面を参照して本発明に係るアプレット実行方法を説明する。
【００７５】
図１２は、本発明に係るアプレット実行方法を説明するためのフローチャートである。
【００７６】
アプリケーションマネージャー２５５は、ブラウザ２５３からマークアップ文書内の所定タグ内に記載されたアプレットに関する情報及び／またはＡＤＦファイルを受信して、アプレット実行要請を受ける（第７１０ステップ）。
【００７７】
アプリケーションマネージャー２５５は、ブラウザ２５３から前記したようなオブジェクトタグやＡＤＦファイルを受けて、アプレットがバウンドアプレットであるか、またはアンバウンドアプレットであるかを判断する（第７２０ステップ）。
【００７８】
第７２０ステップでの判断結果、アプレットがバウンドアプレットであれば、アプリケーションマネージャー２５５は、マークアップ文書内のオブジェクトタグまたはＡＤＦファイルに定義されたバウンドアプレットをコンテンツ保存媒体１００またはインターネット５００から取り出してキャッシュメモリ２３０にローディングする（第７３１ステップ）。
【００７９】
ブラウザ２５３は、マークアップ文書のドームツリー構造形成が終了したことをアプリケーションマネージャー２５５に通知し、アプリケーションマネージャー２５５は、ＪＶＭ  ２５１にｉｎｉｔ（）関数を呼び出すことを通知する。ＪＶＭ  ２５１がバウンドアプレットプログラム内のｉｎｉｔ（）関数を呼び出せば、バウンドアプレットは、Ｉｎｉｔ状態になる（第７３２ステップ）。
【００８０】
Ｉｎｉｔ状態になった後、アプリケーションマネージャー２５５は、マークアップ文書がブラウザ２５３によりレンダリング中にＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がバウンドアプレットプログラム内のｓｔａｒｔ（）関数を呼び出せば、バウンドアプレットはスタート状態になる（第７３３ステップ）。
【００８１】
その後、マークアップ文書のアンロードイベントが発生して、ブラウザ２５３でマークアップ文書がアンロードされれば、アプリケーションマネージャー２５５はＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がバウンドアプレットプログラム内のｓｔｏｐ（）関数を呼び出せば、バウンドアプレットはストップ状態になる（第７３４ステップ）。
【００８２】
ストップ状態中にアプリケーションマネージャー２５５は、マークアップ文書が再びユーザーによって再訪問されて、再び画面にディスプレイされれば（第７３５ステップ）、アプリケーションマネージャー２５５はＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がバウンドアプレットプログラム内のｓｔａｒｔ（）関数を呼び出して、バウンドアプレットは再びスタート状態になる。
【００８３】
しかし、ストップ状態中にバウンドアプレットがメモリ管理政策によってランタイムシステム２５１ｃで削除されるには、ＪＶＭ  ２５１は、削除させる前にバウンドアプレットプログラム内のｄｅｓｔｒｏｙ（）関数を呼び出して、バウンドアプレットをディストロイ状態にする（第７３６ステップ）。バウンドアプレットをディストロイ状態にした後、バウンドアプレットをランタイムシステム２５１ｃで削除する。
【００８４】
一方、第７２０ステップでの判断結果、アプレットがアンバウンドアプレットであれば、アプリケーションマネージャー２５５は、ＡＤＦファイルに定義されたアンバウンドアプレットをコンテンツ保存媒体１００またはインターネット５００から取り出してキャッシュメモリ２３０にローディングする（第７４１ステップ）。
【００８５】
キャッシュメモリ２３０に該当アンバウンドアプレットがローディングされれば、アプリケーションマネージャー２５５は、ＪＶＭ  ２５１にｉｎｉｔ（）関数を呼び出すことを通知する。ＪＶＭ  ２５１がアンバウンドアプレットプログラム内のｉｎｉｔ（）関数を呼び出せば、アンバウンドアプレットはＩｎｉｔ状態になる（第７４２ステップ）。
【００８６】
Ｉｎｉｔ状態になった後、直ちにアプリケーションマネージャー２５５はＪＶＭ  ２５１に通知して、ＪＶＭ  ２５１がアンバウンドアプレットプログラム内のｓｔａｒｔ（）関数を呼び出せば、アンバウンドアプレットはスタート状態になる（第７４３ステップ）。
【００８７】
アンバウンドアプレットの実行中断を命令するイベントが発生すれば、ＪＶＭ  ２５１がアプリケーションマネージャー２５５に通知し、アプリケーションマネージャー２５５は、ＪＶＭ  ２５１にｓｔｏｐ（）関数を呼び出すように再び通知すれば、ＪＶＭ  ２５１がアンバウンドアプレットプログラム内のｓｔｏｐ（）関数を呼び出して、アンバウンドアプレットはストップ状態になる（第７４４ステップ）。
【００８８】
アンバウンドアプレットがメモリ管理政策によってランタイムシステム２５１ｃから削除されるには、ＪＶＭ  ２５１は、削除させる前にアンバウンドアプレットプログラム内のｄｅｓｔｒｏｙ（）関数を呼び出してアンバウンドアプレットをディストロイ状態にする（第７４６ステップ）。アンバウンドアプレットをディストロイ状態にした後、アンバウンドアプレットをランタイムシステム２５１ｃから削除する。
【００８９】
図１３Ａないし図１３Ｅは、本発明に係るバウンドアプレットとアンバウンドアプレットの例を示す図である。図１３Ａは、マークアップ文書を示す。マークアップ文書には“Ｍｏｖｉｅ”、“Ｃｏｍｍｅｎｔａｒｙ”及び“Ｆｅａｔｕｒｅ”の３つのボタンがある。ユーザーがアイコンを“Ｍｏｖｉｅ”ボタンに位置させれば、マークアップ文書の下端にバウンドアプレットの形態で具現された“Ｐｌａｙ“Ｒｅｔｕｒｎ  ｏｆ  Ｍｏｚａｒｔ””というメッセージが表示される。
【００９０】
図１３Ｂは、ユーザーが“Ｍｏｖｉｅ”ボタンをクリックした場合に、アンバウンドアプレットで具現された画面がディスプレイされたことを示す図である。
【００９１】
図１３Ｃは、ユーザーが再び図１３Ａに示されたマークアップ文書に戻って、“Ｃｏｍｍｅｎｔａｒｙ”ボタンをクリックした場合に、アンバウンドアプレットで具現された画面がディスプレイされたことを示す図である。
【００９２】
図１３Ｄは、ユーザーが再び図１３Ａに示されたマークアップ文書に戻って“Ｆｅａｔｕｒｅ”ボタンをクリックした場合に、アンバウンドアプレットで具現された画面がディスプレイされたことを示す図である。
【００９３】
図１３Ｂないし図１３Ｄに示されたアンバウンドアプレットは、マークアップ文書と独立的にＪＶＭ  ２５１で実行される。図１３Ａに示されたマークアップ文書は、ブラウザ２５３によって実行される。
【００９４】
図１３Ｅは、図１３Ａのマークアップ文書及び図１３Ｂないし図１３Ｄのアンバウンドアプレットが同時に実行されていることを示す図である。すなわち、図１３Ｂないし図１３Ｄに示されたような画面をアンバウンドアプレットで具現することで、一旦、プレゼンテーションエンジン２５０によりインタラクティブコンテンツ再生装置２００の内部メモリ２３０にロードされ、ＪＶＭ  ２５１によって実行されれば、それらの複数のアンバウンドアプレットは、マークアップ文書と関係なくＪＶＭ  ２５１で継続的に実行され、したがって、ユーザーがアンバウンドアプレットを選択すれば、直ちに画面に出力することができる。なぜなら、アンバウンドアプレットは既にロードされており、ＪＶＭ  ２５１によってメモリで実行しているため、アンバウンドアプレットの検索とローディングとに時間がかからないためである。
【００９５】
さらに、本発明は、コンピュータ可読記録媒体にコンピュータ可読コードとして具現することが可能である。コンピュータ可読記録媒体は、コンピュータシステムによって読み取られ得るデータが保存されるあらゆる種類の記録装置を含む。コンピュータ可読記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、また、キャリアウェーブ（例えば、インターネットを介した伝送）の形態で具現されるものも含む。また、コンピュータ可読記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータ可読コードとして保存されて実行されうる。更に詳細には、インタラクティブコンテンツ再生装置２００の図５ないし図９の機能ブロック及び図１０ないし図１２の動作で具現されたような、前記本発明のプロセスは、コンピュータハードウェア及び／またはソフトウェアで具現されうる。
【産業上の利用可能性】
【００９６】
本発明に係るアプレット実行装置及び方法は、アプレットをマークアップ文書に従属的なバウンドアプレットと、マークアップ文書に非従属的なアンバウンドアプレットとに分類し、それぞれのライフサイクルを異なって定義してアプレットの機能を拡張させ、特に、アンバウンドアプレットを新たに定義することで、マークアップ文書の切替如何と関係なく、動作し続けるアプレットを提供する効果を有する。更に具体的に、本発明は、ブラウザからアプレットの実行要請を受信して、アプレットがバウンドアプレットであるか、またはアンバウンドアプレットであるかを決定し、アプレットをロードするインタラクティブコンテンツを再生する装置でアプレットを実行する方法及び装置を提供する。ロードされたアプレットがアンバウンドアプレットであれば、バーチャルマシンに所定のコマンドが直ちに発送され、アプレットは、ブラウザと同期化されずにそれぞれ“ｉｎｉｔｉａｔｅ”状態と“ｓｔａｒｔ‘状態になる。言い換えれば、分類されたアンバウンドアプレットに対してプレゼンテーションマネージャー２５０は、まずアンバウンドアプレットを開始してから開始せよというコマンドを直ちに発送するが、それは、ＤＯＭ生成の完了及び連結されたマークアップ文書のブラウザレンダリングの開始まで待つことを要求する、バウンドアプレット開始前のバウンドアプレット開始とは異なる。
【００９７】
例えば、本発明は、インタラクティブデジタルバーサタイルディスク（ＤＶＤ）プレイヤーを提供する。インタラクティブＤＶＤプレイヤーは、プロセスによって、前記プレイヤーを制御するプログラムされたコンピュータプロセッサーを含み、前記プロセスは、インタラクティブコンテンツをディスプレイするためにタグアプレットをバウンドアプレット及びアンバウンドアプレットに分類するマークアップ文書を処理するステップと、前記分類によって前記マークアップ文書のアプレット実行がバウンドアプレットであるか、またはアンバウンドアプレットであるかを決定するステップと、前記アプレットがアンバウンドアプレットであれば、前記アンバウンドアプレットをまず初期状態に設定し、次にスタート状態に設定するために、所定のコマンドを直ちに発送することで前記アンバウンドアプレットを開始するステップとを含む。本発明によって実行されたアンバウンドアプレットは、マークアップ文書の処理と関係なく継続的に実行できる。また、本発明は、前記タグアプレットをバウンドアプレット及びアンバウンドアプレットに分類するステップと、前記分類によって前記タグアプレットもついて相異なる実行寿命サイクルを設定するステップと、を含み、バウンドアプレットの実行寿命は、前記マークアップ文書の寿命に関係あり、前記アンバウンドアプレットの実行寿命は前記マークアップ文書の寿命に関係ない。
【図面の簡単な説明】
【００９８】
【図１】インタラクティブコンテンツを再生するためのシステムを説明するためのブロック図である。
【図２】ブラウザを通じてＡＶ画面とマークアップ文書画面とが共にディスプレイされることを示す図である。
【図３】コンテンツ保存媒体に保存されたデータのディレクトリ構造を示すための図である。
【図４】ブラウザを通じて画面に出力されるマークアップ文書の構成要素を示す図である。
【図５】図１に示されたインタラクティブコンテンツ再生装置の詳細構成を説明するためのブロック図である。
【図６】図５に示されたプレゼンテーションエンジンの詳細構成を説明するためのブロック図である。
【図７】図６に示されたＪＶＭ（Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）の詳細構成を説明するためのブロック図である。
【図８】図６に示されたブラウザの詳細構成を説明するためのブロック図である。
【図９】ＪＶＭ、ブラウザ及びアプリケーションマネージャーの相互動作を示す図である。
【図１０】バウンドアプレットのライフサイクルを示す図である。
【図１１】アンバウンドアプレットのライフサイクルを示す図である。
【図１２】本発明に係るアプレットの実行方法を説明するためのフローチャートである。
【図１３Ａ】本発明に係るバウンドアプレットとアンバウンドアプレットの例を示す図である。
【図１３Ｂ】本発明に係るバウンドアプレットとアンバウンドアプレットの例を示す図である。
【図１３Ｃ】本発明に係るバウンドアプレットとアンバウンドアプレットの例を示す図である。
【図１３Ｄ】本発明に係るバウンドアプレットとアンバウンドアプレットの例を示す図である。
【図１３Ｅ】本発明に係るバウンドアプレットとアンバウンドアプレットの例を示す図である。
【図１】
2006509300.tif 000007
【図２】
2006509300.tif 000008
【図３】
2006509300.tif 000009
【図４】
2006509300.tif 000010
【図５】
2006509300.tif 000011
【図６】
2006509300.tif 000012
【図７】
2006509300.tif 000013
【図８】
2006509300.tif 000014
【図９】
2006509300.tif 000015
【図１０】
2006509300.tif 000016
【図１１】
2006509300.tif 000017
【図１２】
2006509300.tif 000018
2006509300.tif 000019
2006509300.tif 000020
2006509300.tif 000021
【国際調査報告】
2006509300.tif 000022
2006509300.tif 000023