"アプリケーションマネージャがクラスをロードしたりアンロードしたりする方法であって、第1のアプリケーションに関連付けられたクラスをロードするように適合された、前記第1のアプリケーションのための第1のクラスローダを構築する処理と、第2のアプリケーションに関連付けられたクラスをロードするように適合された、前記第2のアプリケーションのための第2のクラスローダを構築する処理と、前記第1のクラスローダを利用して、前記第1のアプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記第1のアプリケーションに関連付けられた前記1またはそれ以上のクラスへの参照を維持する処理と、前記第2のクラスローダを利用して、前記第2のアプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記第2のアプリケーションに関連付けられた前記1またはそれ以上のクラスへの参照を維持する処理と、前記第1のアプリケーションの実行が終了または中断したとき、前記第1のアプリケーションのための前記第1のクラスローダへの参照を解除することによって、前記第1のクラスローダへの到達および前記第1のクラスローダによって参照された前記1またはそれ以上のクラスへの到達を不能とし、その結果、前記第1のクラスローダによって参照された前記1またはそれ以上のクラスについて、ガーベッジコレクションの間にアンロード可能にする処理と、前記第2のアプリケーションの実行が終了または中断したとき、前記第2のアプリケーションのための前記第2のクラスローダへの参照を解除することによって、前記第2のクラスローダへの到達および前記第2のクラスローダによって参照された前記1またはそれ以上のクラスへの到達を不能とし、その結果、前記第2のクラスローダによって参照された前記1またはそれ以上のクラスについて、ガーベッジコレクションの間にアンロード可能にする処理とを備える方法。請求項1記載の方法であって、前記第1のクラスローダへの参照の解除は、前記第1のクラスローダへ到達を不能としたことを示すマークを付する処理を含み、前記第2のクラスローダへの参照の解除は、前記第2のクラスローダへ到達を不能としたことを示すマークを付する処理を含む方法。請求項1記載の方法であって、前記参照の解除は、対応するクラスローダへの参照を空ヌルに設定することを含む方法。請求項1記載の方法であって、前記第1および第2のアプリケーションはそれぞれJavaプログラムである方法。請求項1記載の方法であって、さらに、前記第1または第2のアプリケーションを破棄する処理を備え、前記第1または第2のアプリケーションのためのクラスローダへの参照の解除は、前記第1または第2のアプリケーションが破棄されたときに実行される方法。請求項1記載の方法であって、さらに、ガーベッジコレクションを実施し、前記参照が解除されたクラスローダによって参照された前記1またはそれ以上のクラスを削除する処理を備える方法。請求項1記載の方法であって、さらに、前記参照が解除されたクラスローダへ到達を不能としたことを示すマークを付する処理を備える方法。請求項1記載の方法であって、さらに、前記参照が解除されたクラスローダによって参照された前記1またはそれ以上のクラスへ到達を不能としたことを示すマークを付する処理を備える方法。請求項6記載の方法であって、ガーベッジコレクションを実施し、前記参照が解除されたクラスローダによって参照された前記1またはそれ以上のクラスを削除する処理は、前記クラスローダは到達不能であることを決定する処理と、前記到達不能なクラスローダが自身に関連付けられた1またはそれ以上のクラスを有することを確認する処理と、前記1またはそれ以上のクラスへ到達を不能としたことを示すマークを付する処理とを備える方法。請求項9記載の方法であって、さらに、前記クラスローダに関連付けられたメモリを解放する処理と、前記1またはそれ以上のクラスに関連付けられたメモリを解放する処理とを備える方法。請求項1記載の方法であって、さらに、到達不能な全てのオブジェクトおよびクラスを検索する処理と、前記到達不能なオブジェクトおよびクラスを関連のメモリ位置から削除する処理とを備え、前記オブジェクトのそれぞれは、クラスのインスタンスである方法。請求項1記載の方法であって、さらに、前記参照が解除されたクラスローダと関連するクラスとによって消費されるメモリを解放する処理を備える方法。請求項12記載の方法であって、前記参照が解除されたクラスローダと関連のクラスとによって消費されるメモリを解放する処理は、前記クラスローダへ到達を不能としたことを示すマークを付する処理と、前記到達不能なクラスローダを関連のメモリ位置から削除する処理と、前記到達不能なクラスローダが1またはそれ以上の関連のクラスを有することを確認する処理と、前記1またはそれ以上の関連のクラスへ到達を不能としたことを示すマークを付する処理と、到達不能なクラスをメモリから検索する処理と、前記1またはそれ以上の関連のクラスを関連のメモリ位置から削除する処理とを備える方法。請求項13記載の方法であって、前記到達不能なクラスローダを関連のメモリ位置から削除する処理は第1のパスにおいて実施され、前記1またはそれ以上の関連のクラスを関連のメモリ位置から削除する処理は第2のパスにおいて実施される方法。複数のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりする方法であって、複数のアプリケーションのそれぞれに1つずつクラスローダを構築することによって、複数のクラスローダのそれぞれが、前記複数のアプリケーションの1つに関連付けられたクラスをロードするように適合されるようにする処理と、前記複数のクラスローダのうち1またはそれ以上のクラスローダを利用して、対応するアプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記1またはそれ以上のクラスローダのそれぞれが、前記対応するアプリケーションに関連付けられた前記クラスへの参照を維持するようにする処理と、前記対応するアプリケーションがその処理を完了した際に、前記複数のクラスローダのうち前記1またはそれ以上のクラスローダへの到達および前記複数のクラスローダのそれぞれによって参照されたクラスへの到達を不能とし、その結果、前記複数のクラスローダのそれぞれによって参照された前記クラスについて、ガーベッジコレクションの間にアンロード可能にする処理とを備える方法。請求項15記載の方法であって、前記複数のクラスローダのうち前記1またはそれ以上のクラスローダへの到達を不能にする処理は、前記複数のクラスローダのうち前記1またはそれ以上のクラスローダへの参照を解除することを含む方法。請求項15記載の方法であって、さらに、ガーベッジコレクションを実施し、前記到達不能なクラスローダによって参照されたクラスを削除する処理を備える方法。アプリケーションマネージャにおいてアプリケーションに関連付けられたクラスをロードしたりアンロードしたりする方法であって、aアプリケーションがロードされることを示すロード信号を受信する処理と、b前記アプリケーションに関連付けられたクラスをロードするように適合された、前記アプリケーションのためのクラスローダを構築する処理と、c前記アプリケーションがスタートされることを示すスタート信号を受信する処理と、d前記クラスローダを利用して、前記アプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする処理と、e前記アプリケーションの実行が終了または中断したとき、前記アプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達および前記1またはそれ以上のクラスへの到達を不能とし、その結果、前記アプリケーションに関連付けられた前記1またはそれ以上のクラスについて、ガーベッジコレクションの間にアンロード可能にする処理と、f複数のアプリケーションに対して処理a、b、c、dおよびeを繰り返すことによって、複数のクラスローダが構築され、前記複数のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりするために利用されるようにする処理とを備える方法。請求項18記載の方法であって、前記クラスローダの構築は、前記ロード信号の受信に応じて実施され、前記クラスローダを利用した、前記アプリケーションに関連付けられた1またはそれ以上のクラスのロードは、前記スタート信号の受信に応じて実施される方法。請求項18記載の方法であって、さらに、前記アプリケーションがストップされることを示すストップ信号を受信する処理を備える方法。請求項20記載の方法であって、前記クラスローダへの参照の解除は、前記ストップ信号が受信された際に実施される方法。請求項18記載の方法であって、前記クラスローダへの参照の解除は、前記アプリケーションの実行が完了した際か、または前記クラスローダの構築を担うアプリケーションマネージャによって前記アプリケーションの実行が中断された際に実施される方法。1またはそれ以上のアプリケーションに関連付けられたクラスをロードする方法であって、a対応するアプリケーションに関連付けられたクラスをロードするように適合された、アプリケーションごとに個別のクラスローダを構築し、前記アプリケーションのうち対応するアプリケーションの実行が終了または中断したとき、前記構築されたクラスローダへの参照を解除するように適合されたアプリケーションマネージャを構築する処理と、bアプリケーションを受信する処理と、c前記アプリケーションマネージャを利用して、前記受信されたアプリケーションのためのクラスローダを構築する処理と、d前記クラスローダを利用して、前記受信されたアプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持する処理と、e前記アプリケーションマネージャを利用して、前記受信されたアプリケーションの実行が終了または中断したとき、前記クラスローダへの参照を解除する処理とを備える方法。請求項23記載の方法であって、さらに、前記アプリケーションマネージャを利用して、前記アプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達を不能とする処理を備える方法。請求項23記載の方法であって、さらに、受信されたアプリケーションごとに処理b、cおよびdを繰り返す処理を備える方法。請求項25記載の方法であって、さらに、アプリケーションの実行が終了または中断したとき、前記アプリケーションに関連付けられたクラスローダへの参照を解除し、その結果、前記クラスローダおよび関連付けられたクラスについて、ガーベッジコレクションの間にアンロード可能にする処理を備える方法。1またはそれ以上のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりするためのシステムであって、複数のアプリケーションの1つに関連付けられたクラスをロードするようにそれぞれが適合されている複数のクラスローダと、前記複数のクラスローダの1つを利用して、前記複数のアプリケーションの1つに関連付けられたクラスをロードするように適合され、所定の条件に応じて、前記複数のクラスローダの1つへの参照を解除し、その結果、前記複数のクラスローダのそれぞれに関連付けられたクラスについて、ガーベッジコレクションの間にアンロード可能にするように適合されたアプリケーションマネージャとを備えるシステム。1またはそれ以上のアプリケーションに関連付けられたクラスをロードするためのシステムであって、メモリと、メモリと連動して、複数のアプリケーションのそれぞれに1つずつ個別のクラスローダを構築するように適合されたアプリケーションマネージャを実装するプロセッサとを備え、各クラスローダは、対応するアプリケーションに関連付けられたクラスをロードするように適合され、前記アプリケーションマネージャは、前記対応するアプリケーションの実行が終了したとき、または前記アプリケーションマネージャによって前記対応するアプリケーションの実行が中断されたとき、前記構築されたクラスローダへの参照を解除するように作動するシステム。請求項28記載のシステムであって、さらに、第1のアプリケーションに関連付けられたクラスをロードするように適合された第1のクラスローダを備えるシステム。請求項29記載のシステムであって、前記アプリケーションマネージャは前記第1のクラスローダにリンクされているシステム。請求項29記載のシステムであって、さらに、前記第1のアプリケーションに関連付けられた第1のクラスセットを格納するメモリを備え、前記第1のクラスローダは前記第1のクラスセットにリンクされているシステム。請求項28記載のシステムであって、前記システムはデジタルテレビであるシステム。請求項28記載のシステムであって、前記システムはデジタルテレビレシーバであるシステム。1またはそれ以上のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりするためのデジタルテレビレシーバであって、複数のアプリケーションの1つに関連付けられたクラスをロードするようにそれぞれが適合されている複数のクラスローダと、前記複数のクラスローダの1つを利用して、前記複数のアプリケーションの1つに関連付けられたクラスをロードするように適合され、所定の条件に応じて、前記複数のクラスローダの1つへの参照を解除し、その結果、前記複数のクラスローダのそれぞれに関連付けられたクラスについて、ガーベッジコレクションの間にアンロード可能にするように適合されたアプリケーションマネージャとを備えるデジタルテレビレシーバ。デジタルテレビにおいて、1またはそれ以上のアプリケーションに関連付けられたクラスをロードするためのシステムであって、メモリと、メモリと連動して、複数のアプリケーションのそれぞれに1つずつ個別のクラスローダを構築するように適合されたアプリケーションマネージャを実装するプロセッサとを備え、各クラスローダは、前記複数のアプリケーションのうち対応するアプリケーションに関連付けられたクラスをロードするように適合され、前記アプリケーションマネージャは、前記対応するアプリケーションの実行が終了したとき、または前記アプリケーションマネージャによって前記対応するアプリケーションの実行が中断されたとき、前記構築されたクラスローダへの参照を解除するように作動するシステム。アプリケーションに関連付けられたクラスをロードしたりアンロードしたりするようにプロセッサを作動させるように適合されたコンピュータプログラムであって、コンピュータ読み取り可能な命令を格納するためのコンピュータ読み取り可能な媒体を備え、前記コンピュータ読み取り可能な命令は、対応するアプリケーションに関連付けられたクラスをロードするようにそれぞれが適合された、複数のアプリケーションのそれぞれに1つずつ個別のクラスローダを構築する命令と、前記複数のアプリケーションの1つのためのクラスローダを利用して、対応するアプリケーションに関連付けられたクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする命令と、前記複数のアプリケーションの1つのためのクラスローダへの参照を解除することによって、前記クラスローダへの到達を不能にし、その結果、前記複数のクラスローダのそれぞれに関連付けられたクラスについて、ガーベッジコレクションの間にアンロード可能にする命令とを備えるコンピュータプログラム。1またはそれ以上のアプリケーションに関連付けられたクラスをロードするようにプロセッサを作動させるように適合されたコンピュータプログラムであって、コンピュータ読み取り可能な命令を格納するためのコンピュータ読み取り可能な媒体を備え、前記コンピュータ読み取り可能な命令は、アプリケーションごとに個別のクラスローダを構築し、対応するアプリケーションの実行が終了または中断したとき、前記構築されたクラスローダへの参照を解除するように適合されたアプリケーションマネージャを構築する命令であって、前記クラスローダは、前記対応するアプリケーションに関連付けられたクラスをロードするように適合されている命令と、アプリケーションを受信する命令と、前記アプリケーションマネージャを利用し、前記受信されたアプリケーションのためのクラスローダを構築する命令と、前記クラスローダを利用して、前記受信されたアプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする命令と、前記受信されたアプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達を不能にし、その結果、前記複数のクラスローダのそれぞれに関連付けられたクラスについて、ガーベッジコレクションの間にアンロード可能にする命令とを備えるコンピュータプログラム。ガーベッジコレクションでは、もう参照されないクラスのインスタンスは回収されるが、それらに関連するクラスはメモリから除去されない。さらに、Java登録商標は動的言語であるため、クラスのロードは普通一般に実施される。しかしながら、現時点においては、もう不要なクラスをアンロードするためのメカニズムが組み込まれていない。このため、最終的には、Javaプラットフォームに多数のクラスが格納される結果になる。デスクトップ環境の場合はメモリの制限が比較的緩いので、クラスをアンロードする必要はない。さらに、ブラウザをオフにすればまたは閉じれば、クラスはメモリから消去される。しかしながら、組み込みシステムの環境、特にデジタルテレビの分野では、スペースは貴重なリソースである。さらに、デジタルテレビの環境では、複数のアプリケーションを実行することが普通になる。例えば、テレビの視聴者がチャンネルを変えると、各関連のサービスにおいて、複数のクラスを有した新しいアプリケーションをロードする必要が生じる。このため、サイズの限られたメモリが消費し尽くされるまで、ロードされたクラスへのメモリの割り当てが続けられる。メモリが消費されてしまうと、これ以上アプリケーションを実行することが不可能になる。したがって、メモリの利用をモニタリングして、アプリケーションで不要になったクラスを除去することが望ましい。エラー時にテレビをリブート再起動することは望ましくないので、これは特に重要である。以上から、メモリにおけるクラスの格納を管理するための、より良い方法が必要とされていることがわかる。本発明は、不要になったクラスをメモリから動的にアンロードすることを可能にする。これは、ある程度は、各アプリケーションに関連付けられた個々のクラスローダを使用することによって達成される。こうすると、デジタルテレビでのメモリの消費を管理し、限られたメモリリソースをより効率活用することが可能になる。本発明の1態様にしたがうと、アプリケーションマネージャは、アプリケーションのためのクラスローダを構築するように適合される。例えば、デジタルテレビレシーバを通してロードされるアプリケーションに関連付けられたクラスをロードするために、専門のクラスローダを構築インスタンス化しても良い。したがって、このクラスローダは、アプリケーションに関連付けられた1またはそれ以上のクラスをロードするために利用される。本発明の別の1態様にしたがうと、アプリケーションマネージャは、アプリケーションの実行をモニタリングおよび管理するように適合され、そしてアプリケーションの実行が終了した際またはアプリケーションの実行が終結された例えば信号によって際に、作成されたクラスローダへの参照を解除するように適合される。したがって、アプリケーションが終結したことがアプリケーションマネージャによって決定されると、それらのクラスはもう不要になるのでアンロードされる。これは、ある程度は、そのアプリケーションのためのクラスローダへの参照を解除して到達不能にすることによって達成される。このクラスローダは、実行環境にロードしたクラスへの参照を維持している最後のローダであるので、これらのクラスを参照するインスタンスがランタイム環境内にほかに存在しない場合は、このクラスローダへの参照を解除することによって、これらのクラスへの到達を不能にすることができる。したがって、ガーベッジコレクションによってこれらのクラスが有効にアンロードされる。本発明のさらに別の1態様にしたがうと、本発明は、Javaプラットフォーム上に実装される。Javaプラットフォームは、対話式サービス用の新しいクラスにとって理想的な開発プラットフォームおよび配置プラットフォームを提供する。Javaプログラミング言語の使用によって、コンテンツ開発者が、アプリケーションの外見ルックアンドフィールに関して高い制御性および柔軟性を付与されるので、最も動的で強力な対話式テレビを視聴者に体験させることが可能になる。ガーベッジコレクションのプロセスは、メモリ割り当ておよびメモリ管理の負担を、プログラマからプラットフォームへと移すために活用される。また、Javaプログラミング言語で記述された対話式のテレビアプリケーションによって、多種多様なテレビレシーバの全体に渡ってセキュリティ拡張性可搬性が提供されるので、コンテンツ開発者は、自分の対話式アプリケーションを市場に売り出す時間と費用を削減することできる。本発明は、個々のクラスローダを利用して、各アプリケーションに関連付けられたクラスをロードしたりアンロードしたりする。ガーベッジコレクションのプロセスは、関連のクラスがもう不要であると決定された場合に適切なクラスローダへの参照を解除することによって、使用可能なメモリの量を最大化させる。これは、メモリに限界があるデジタルテレビレシーバ等のシステムにおいて特に重要である。添付の図面に関連して行なう以下の説明から、本発明のさらなる利点が明らかになる。以下の説明では、本発明の完全な理解を促すために、多くの詳細構成が具体的に示されている。しかしながら、本発明がこれらの具体的な詳細なしに実現できることは、当業者にとって明らかである。また、本発明を不必要に不明瞭化しないように、周知のプロセス動作の説明は省略してある。ここでは、クラスの動的なアンロードを可能にする発明を開示する。特に、各クラスを、関連のクラスの定義を含んだクラスオブジェクトによって表しても良い。したがって、本明細書では、クラスおよびクラスオブジェクトという用語を互いに取り替え可能な意味で使用するものとする。デジタルテレビおよびデジタルテレビレシーバに関連して本発明を説明する。図1は、代表的なデジタルテレビレシーバを示したブロック図である。図に示すように、アンテナ102を通して信号が受信され、チューナモジュール104によって調整されると、MPEG2トランスポートストリーム106が生成される。すると、デマルチプレクサ108において、ビデオストリーム112と、オーディオストリーム114と、データストリーム116とを含んだ暗号化されたMPEGストリーム110が生成される。これら3種類のストリームは、次いで、暫定的なアクセスサブシステム118において処理される。例えば、暫定的なアクセスサブシステム118では、解読情報122例えば解読アルゴリズムはもちろんキー管理情報120を利用しても良い。暫定的なアクセスサブシステム118では、いずれも解読されたビデオストリーム124と、オーディオストリーム125と、データ126とを含む解読されたMPEGストリーム123が生成される。次いで、デコーダ128によって、解読されたMPEGストリーム123が処理され、復号されたビデオデータはフレームバッファ130に、そして復号されたオーディオデータはスピーカ132に伝送される。Java仮想マシンJVMは、図1のようなデジタルテレビレシーバで受信される情報を処理することによって本発明を実現することが可能な1プラットフォームである。特に、データ126が処理される際には、多数のクラスからなるJavaアプリケーションが含まれる可能性がある。したがって、クラスを動的にロードおよびアンロードすることによって、メモリに限界があるデジタルテレビまたはデジタルテレビレシーバまたはセットトップボックスにおけるメモリの消費を最小限に抑えることが望まれる。本発明は、各アプリケーションの個々のクラスローダをインスタンス化することによって、各アプリケーションに関してクラスをロードしたりアンロードしたりすることを可能にする。図2は、本発明の1実施形態を示したブロック図である。図に示すように、プラットフォーム上におけるアプリケーションの実行およびクラスのロードを管理する目的で、アプリケーションマネージャ202が提供される。アプリケーションマネージャ202を実装する方法に関しては、図7を参照にしながら後ほど詳述する。より詳しく言うと、クラスのロードの管理は、一部には、各アプリケーションのために個々のクラスローダを構築することによってなされる。したがって、アプリケーションマネージャ202は、第1のアプリケーションAPP1に関連付けられたクラスをロードするように適合された第1のクラスローダ204をインスタンス化する。同様に、アプリケーションマネージャ202は、第2のアプリケーションAPP2に関連付けられたクラスをロードするように適合された第2のクラスローダ206をインスタンス化する。アプリケーションマネージャ202およびクラスローダ204,206は、メモリ208に格納されている。次いで、クラスローダ204,206は、それぞれのアプリケーションのためにクラスをロードする。より詳しく言うと、図に示すように、第1のアプリケーションクラスローダ204は、第1のアプリケーションに関連付けられた第1のクラスセット210をロードし、第2のアプリケーションクラスローダ206は、第2のアプリケーションに関連付けられた第2のクラスセット212をロードする。こうして、第1および第2のアプリケーションクラスセット210,212が、実行環境214例えばJVMにロードされる。ロードされたクラスは、各アプリケーションの実行中にアクセスすることが可能である。図3は、クラスのロードプロセスの完了時における、本発明の1実施形態を示したブロック図である。図3は、例えば、JVMによる第1および第2のアプリケーションの実行に関連している。図に示すように、アプリケーションマネージャ202は、第1のアプリケーションクラスローダ204および第2のアプリケーションクラスローダ206の両方へのリンク例えば参照を維持している。また、第1のアプリケーションクラスローダ204は、第1のアプリケーションクラスセット302へのリンク例えば参照を維持している。同様に、第2のアプリケーションクラスローダ206は、第2のアプリケーションクラスセット304へのリンク例えば参照を維持している。例えば、各リンクをポインタの使用によって実現しても良い。アプリケーションマネージャ202は、各アプリケーションの実行中は、全てのクラスローダ204,206に対して参照を継続している。また、クラスローダ204,206は、各アプリケーションの実行中は、アプリケーションクラス302,304をそれぞれ参照している。ある実装において、第1および第2のアプリケーションクラスセットは、メモリ例えばメモリ200にあるJVMスタックに格納されている。メモリは、例えばランダムアクセスメモリRAMで良い。あるアプリケーションの実行が終了した際またはそのアプリケーションが完了前にストップされた際は、アプリケーションマネージャ202は、適切なクラスローダへの参照を解除する。図4は、第2のアプリケーションの実行が完了した後に続く本発明の1実施形態を示したブロック図である。第2のアプリケーションの実行が終了した際または時期尚早にストップされた際は、アプリケーションマネージャ202は、第2のアプリケーションローダ206への参照を解除する。すなわち、アプリケーションマネージャ202は、図中に402で示されるように、第2のアプリケーションローダへのリンクを排除する。例えば、第2のアプリケーションローダ206に対するもとの参照変数を、空ヌルに設定して良い。例えば、第2のアプリケーションローダ206に対する参照変数を、ヌルに設定して良い。第2のクラスローダ206への参照が解除されると、第2のクラスローダ206は、メモリ内において到達不能なオブジェクトになる。上述したように、あるオブジェクト例えばクラスのインスタンスまたはクラスに対する参照がない場合、そのオブジェクトまたはクラスは到達不能であるとされて、ガーベッジコレクトされる。第2のアプリケーションクラスのセットおよびそれらに関連付けられたインスタンスへの最後の参照である第2のクラスローダ206が到達不能であると、関連のクラス304例えばクラスオブジェクトおよびこれらのクラス304の全インスタンス例えばオブジェクトもやはりその時点で到達不能になるので、ガーベッジコレクション406によって、それらのクラスおよびインスタンスが除去される。したがって、参照が解除されたクラスローダ206によって参照されたクラスがガーベッジコレクトされ、それらに割り当てられていたメモリが使用可能なメモリプールに戻される。到達不能性およびガーベッジコレクションを含むJVMに関するさらなる詳細に関しては、Lindholmリンドホルム、YellinイェリンによるTheJavaVirtualMachineSpecificationSecondEditionJava仮想マシン仕様、第2版ISBN0201432943に記載されており、本文献を、引用として本明細書に組み込むものとする。ガーベッジコレクションが完了すると、メモリ内にはもう到達不能なクラスおよびオブジェクトは存在しなくなる。図5に示すように、図4のシステムにおいてガーベッジコレクションが実施されると、到達不能なクラスローダ、到達不能なクラス、そして関連のインスタンスがメモリから削除される。その結果、第1のアプリケーションローダ204および第1のクラスのセット304のみが残る。したがって、本発明は、メモリリソースを動的に開放するのに有用であるので、限りあるメモリリソース例えばデジタルテレビレシーバのメモリ等をより良く活用することが可能になる。図6は、デジタルTVレシーバを通して伝送されるアプリケーションを実行する方法を、本発明の1実施形態にしたがって示したフローチャートである。このプロセスはブロック602から開始し、ブロック604においてデジタルテレビレシーバがオンになる。続いて、ブロック606において、Java登録商標環境がスタートされる。次いで、ブロック608においてアプリケーションマネージャが作成され、ブロック610において実行される。図1に示すようなデジタルテレビレシーバは、様々なデジタルテレビサービルを受信することができる。これらのサービスは、多数のチャンネルを受信することだけでなく、対話式テレビからビデオオンデマンド、そして特殊なプログラミングに至るまで多岐にわたる。ブロック612において、あるサービスがユーザによって選択されると、ブロック614において、その選択されたサービスに関連したアプリケーションがデジタルテレビレシーバを通して受信される。例えば、ユーザがディズニーサービスを選択した場合は、表示の品質を向上させる目的でディズニーアプリケーションが受信される可能性がある。アプリケーションマネージャは、アプリケーションの実行をモニタリングおよび管理する役割を担っている。例えば、ブロック616において、アプリケーションマネージャは、アプリケーションをロードおよび実行するように信号通知される。ブロック618において、アプリケーションをスタートさせるスタート信号が例えばデジタルテレビレシーバを通して受信されると、アプリケーションマネージャは、ブロック620においてそのアプリケーションをスタートさせるように信号通知される。アプリケーションが、ブロック622においてストップ信号が例えばデジタルテレビレシーバを通して受信されるまで実行された後、アプリケーションマネージャは、ブロック624においてそのアプリケーションをストップさせるように信号通知される。このプロセスは、ブロック626において終了する。アプリケーションマネージャは、ロードされたクラスのうちアプリケーションで不要とされたクラスをアンロードするように、様々な形で実装することが可能である。図7は、図6に示されるアプリケーションの実行時にアプリケーションマネージャを実装してクラスをアンロードする方法を、本発明の1実施形態にしたがって示したフローチャートである。このプロセスはブロック702から開始し、ブロック704においてアプリケーションマネージャが適切な初期化を実施する。また、アプリケーションマネージャは、1またはそれ以上のアプリケーションの実行を管理する役割を担っている。このため、アプリケーションマネージャは、図6に示すように、ブロック614および616に進むのに先立って、アプリケーションマネージャが例えばブロードキャストデータストリームから受信されたアプリケーションをロードする、スタートする、またはストップすることを示す信号の受信例えばテレビレシーバを通して受信する待ちをする。したがって、アプリケーションマネージャは、ブロック706において、このような信号の受信待ちをしている。ブロック708において、アプリケーションをロードすることを示す信号が受信されると、アプリケーションマネージャは、アプリケーション710のためのクラスローダを構築する。上述したように、このクラスローダは、アプリケーションに関連付けられた1またはそれ以上のクラスをロードするように設計されている。ブロック712においてスタート信号が受信されると、アプリケーションマネージャは、ブロック714において適切なクラスローダを利用し、アプリケーションに関連付けられたアプリケーションクラスをロードする。例えば、アプリケーションクラスを、アプリケーションのセキュリティ制約にしたがってロードしても良い。このため、クラスローダは、適切なセキュリティチェックを実施して、アプリケーションをロードできるか否かを決定することができる。次いで、アプリケーションマネージャは、ブロック716においてアプリケーションの実行を開始し、ブロック718において、アプリケーションが終了するまたはアプリケーションが完了前に終結されるまで待機する。アプリケーションマネージャは、アプリケーションの実行が終結されたことを示す信号またはメッセージを、そのアプリケーションまたは他のプロセスから受信することによって、そのアプリケーションの終結または完了を認識する。アプリケーションマネージャが、ブロック720に示すように、アプリケーションの実行を完了前にストップさせるストップ信号を受信した場合、そのアプリケーションはブロック722において破棄される例えば削除される。そして、ブロック724において、破棄されたアプリケーションに関連したクリーンアップが実施される。次いで、ブロック726において、そのアプリケーションのためのクラスローダへの参照が解除される。ブロック728においてアプリケーションの実行が完了すると、そのアプリケーションは、アプリケーションのクリーンアップを開始する信号を、例えば、アプリケーションまたはブロードキャスト環境からレシーバを通してアプリケーションマネージャに送信する。例えば、そのアプリケーションに関連するあらゆるファイルが削除され、同じく関連するあらゆるスレッドが除去される。また、各アプリケーションへの参照等の、ブックキーピングに使用されるあらゆる不要なデータを削除しても良い。次いで、プロセスは、ブロック724に進んでアプリケーションのクリーンアップを行ない、ブロック726においてそのアプリケーションのためのクラスローダへの参照を解除する。つまり、クラスローダへのポインタ例えばアプリケーションマネージャに関連付けられた参照変数をヌルに設定し、クラスローダとアプリケーションマネージャとの間のリンクを除去することによって、参照の解除を達成して良い。別の例として、クラスローダを到達不能としてマークしても良い。このクラスローダは、実行環境にロードされたクラスへの参照を最終的に維持しているので、このクラスローダへの参照を解除すれば、これらのクラスは到達不能になる。したがって、ガーベッジコレクションが実施することによって、これらのクラスを有効にアンロードすることができる。ガーベッジコレクションは、参照が解除されたクラスローダに関連付けられたクラスをアンロードする目的で様々な形で実施して良い。例えば、ガーベッジコレクションを、2つの別々のパスに分けて実施しても良い。先ず第1のパスにおいて、ガーベッジコレクションは、到達不能なあらゆるオブジェクトおよびクラスを検索する。このとき、クラスローダおよびそのクラスローダによってロードされたクラスが到達不能であることが決定される。このとき、到達不能なクラスに関連付けられたクラスを到達不能としてマークしても良い。クラスローダが到達不能になると、参照が解除されたそのクラスローダに割り当てられたメモリが、ガーベッジコレクションによって解放される。第2のパスでは、前のパスにおいて到達不能であるとマークされたクラスローダ既に存在しないがロードしたクラスの検索が行なわれ、メモリから除去される。本発明は、任意の適切なコンピュータシステムに実装して良い。図8は、本発明を実装するのに適した代表的な汎用コンピュータシステム1002を示した図である。コンピュータシステムは、任意の適切な形態をとって良い。コンピュータシステムは、例えば、デジタルテレビレシーバまたはセットトップボックスに組み込んでも良い。コンピュータシステム1030、またはさらに特定してCPU1032は、当業者に理解される限りにおいて、仮想マシンをサポートするように構成されて良い。コンピュータシステム1002は、一次記憶デバイス1006通例、読み出し専用メモリすなわちROMと一次記憶デバイス1008通例、ランダムアクセスメモリすなわちRAMを含むメモリデバイスに接続された任意の数のプロセッサ1004中央処理装置すなわちCPUとも呼ばれるを備えている。当業者に周知のように、ROMは、CPU1004にデータおよび命令を一方向的に転送するよう機能し、RAMは通例、データおよび命令を二方向的に転送するのに用いられる。両方の一次記憶デバイス1006および1008は、任意の適切なコンピュータ読み取り可能媒体を含んでいて良い。CPU1004は、一般に、任意の数のプロセッサを含んでいて良い。二次記憶媒体1010は、通例はマスメモリデバイスであり、二方向的にCPU1004に接続され、データ記憶容量を補っている。マスメモリデバイス1010は、コンピュータコード、データなどを含むプログラムを格納するのに用いることが可能なコンピュータ読み取り可能な媒体である。通例、マスメモリデバイス1010は、一般に一次記憶デバイス1006および1008よりも低速なハードディスクなどの記憶媒体である。また、CPU1004は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチセンシティブディスプレイ、トランスデューサカードリーダ、磁気もしくは紙テープリーダ、タブレット、スタイラス、音声もしくは手書き文字認識装置、もしくは、もちろん他のコンピュータのようなその他のよく知られた入力デバイス、を含むがそれらに限定されない1つ以上の入出力デバイス1012に接続されても良い。最後に、CPU1004は、1014に大まかに示されているネットワーク接続を用いて、コンピュータや、例えばインターネットネットワークもしくはイントラネットネットワークなどの通信ネットワークに随意的に接続されても良い。このようなネットワーク接続により、CPU1004は、上述した方法の段階を実行している間に、ネットワークから情報を受信したりネットワークに情報を出力したりすることができると予期される。このような情報は、CPU1004を用いて実行される命令のシーケンスであることが多く、例えば搬送波で運ばれるコンピュータデータ信号の形で、ネットワークから受信したりネットワークに出力したりして良い。本発明は、不要であると決定されたクラスのアンロードを可能にする。アプリケーションごとに個別のクラスローダを使用することによって、クラスのロードおよび不要になった例えば、アプリケーションが終了したまたは終結された場合などクラスのアンドロードが効果的に行なわれる。さらに、カスタマイズされたクラスローダを使用することによって、セキュリティレベルが向上されるので、無許可のアプリケーションのロードおよび実行が回避される。本明細書では、本発明の例示的な実施形態および用途を説明しているが、本発明の概念、範囲、および趣旨の範囲内で多くの変更を加えることが可能であり、これらの変更は、本出願を熟読した当業者にとって明らかである。例えば、本明細書では、デジタルテレビのコンテキストにおいてクラスのアンロードを可能にするものとして本発明を説明している。しかしながら、本発明は、他のコンテキストでクラスをロードしたりアンロードしたりするのに使用することも可能である。さらに、本明細書では、Javaプラットフォーム上に実装するものとして本発明を説明しているが、オブジェクト指向言語が使用される他の様々なプラットフォームまたはコンテキストにおいて本発明を実装しても良い。このため、到達不能性とは、一般に、参照が解除されたエンティティが有する使用不可性を指して良い。さらに、上述したプロセスブロックは、単に例示的なものである。したがって、クラスのロードやアンロードを、別のプロセスブロックを使用して行なっても良い。したがって、上述した実施形態は、例示を目的としたものであって限定的ではなく、本発明は、本明細書で取り上げた項目に限定されず、添付した特許請求の範囲の範囲および均等物の範囲内で変更することが可能である。以上の実施例に関し、更に、以下の項目を開示する。1アプリケーションに関連付けられたクラスをロードしたりアンロードしたりする方法であって、前記アプリケーションに関連付けられたクラスをロードするように適合された、前記アプリケーションのためのクラスローダを構築する処理と、前記クラスローダを利用して、前記アプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする処理と、前記アプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達を不能にする処理とを備える方法。21記載の方法であって、前記クラスローダへの参照の解除は、前記クラスローダへ到達を不能としたことを示すマークを付することを含む方法。31記載の方法であって、前記参照の解除は、前記クラスローダへの参照を空ヌルに設定することを含む方法。41記載の方法であって、前記クラスローダへの参照の解除は、前記1またはそれ以上のクラスがもう不要になった際に実施される方法。51記載の方法であって、前記アプリケーションはJavaプログラムである方法。61記載の方法であって、さらに、前記アプリケーションを実行する処理を備え、前記クラスローダへの参照の解除は、前記アプリケーションの実行が終結された際に実施される方法。71記載の方法であって、さらに、前記アプリケーションを破棄する処理を備え、前記アプリケーションのための前記クラスローダへの参照の解除は、前記アプリケーションが破棄された際に実施される方法。81記載の方法であって、さらに、ガーベッジコレクションを実施し、前記参照が解除されたクラスローダによって参照された前記1またはそれ以上のクラスを削除する処理を備える方法。91記載の方法であって、さらに、前記参照が解除されたクラスローダへ到達を不能としたことを示すマークを付する処理を備える方法。101記載の方法であって、さらに、前記参照が解除されたクラスローダによって参照された前記1またはそれ以上のクラスへ到達を不能としたことを示すマークを付する処理を備える方法。118記載の方法であって、ガーベッジコレクションを実施し、前記参照が解除されたクラスローダによって参照された前記1またはそれ以上のクラスを削除する処理は、前記クラスローダは到達不能であることを決定する処理と、前記クラスローダが自身に関連付けられたクラスを1またはそれ以上有することを確認する処理と、前記1またはそれ以上のクラスへ到達を不能としたことを示すマークを付する処理とを備える方法。1211記載の方法であって、さらに、前記クラスローダに関連付けられたメモリを解放する処理と、前記1またはそれ以上のクラスに関連付けられたメモリを解放する処理とを備える方法。131記載の方法であって、さらに、到達不能な全てのオブジェクトおよびクラスを検索する処理と、前記到達不能なオブジェクトおよびクラスを前記関連のメモリ位置から削除する処理とを備える方法。141記載の方法であって、さらに、前記参照が解除されたクラスローダと関連するクラスとによって消費されるメモリを解放する処理を備える方法。1514記載の方法であって、前記参照が解除されたクラスローダと関連のクラスとによって消費されるメモリを解放する処理は、前記クラスローダへ到達を不能としたことを示すマークを付する処理と、到達不能なオブジェクトをメモリから検索する処理と、前記到達不能なクラスローダを関連のメモリ位置から削除する処理と、前記到達不能なクラスローダが1またはそれ以上の関連のクラスを有することを確認する処理と、前記1またはそれ以上の関連のクラスへ到達を不能としたことを示すマークを付する処理と、到達不能なクラスをメモリから検索する処理と、前記1またはそれ以上の関連のクラスを関連のメモリ位置から削除する処理とを備える方法。1615記載の方法であって、前記到達不能なクラスローダを関連のメモリ位置から削除する処理は第1のパスにおいて実施され、前記1またはそれ以上の関連のクラスを関連のメモリ位置から削除する処理は第2のパスにおいて実施される方法。17多数のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりする方法であって、複数のアプリケーションのそれぞれに1つづつクラスローダを構築することによって、複数のクラスローダのそれぞれが、前記複数のアプリケーションの1つに関連付けられたクラスをロードするように適合されるようにする処理と、前記複数のクラスローダのうち1またはそれ以上のクラスローダを利用することによって、前記対応するアプリケーションに関連付けられた1またはそれ以上のクラスをロードし、前記1またはそれ以上のクラスローダのそれぞれが、前記対応するアプリケーションに関連付けられた前記クラスへの参照を維持するようにする処理と、前記対応するアプリケーションがその処理を完了した際に、前記複数のクラスローダのうち1またはそれ以上のクラスローダへの到達を不能にする処理とを備える方法。1817記載の方法であって、前記複数のクラスローダのうち1またはそれ以上のクラスローダへの到達を不能にする処理は、前記複数のクラスローダのうち前記1またはそれ以上のクラスローダへの参照を解除することを含む方法。1917記載の方法であって、さらに、ガーベッジコレクションを実施し、前記到達不能なクラスローダによって参照されたクラスを削除する処理を備える方法。20アプリケーションに関連付けられたクラスをロードしたりアンロードしたりする方法であって、アプリケーションがロードされることを示すロード信号を受信する処理と、前記アプリケーションに関連付けられたクラスをロードするように適合された、前記アプリケーションのためのクラスローダを構築する処理と、前記アプリケーションがスタートされることを示すスタート信号を受信する処理と、前記クラスローダを利用して、前記アプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする処理と、前記クラスローダへの参照を解除することによって、前記アプリケーションのための前記クラスローダへの到達を不能にする処理とを備える方法。2120記載の方法であって、前記クラスローダの構築は、前記ロード信号の受信に応じて実施され、前記クラスローダを利用した、前記アプリケーションに関連付けられた1またはそれ以上のクラスのロードは、前記スタート信号の受信に応じて実施される方法。2220記載の方法であって、さらに、前記アプリケーションがストップされることを示すストップ信号を受信する処理を備える方法。2322記載の方法であって、前記クラスローダへの参照の解除は、前記ストップ信号が受信された際に実施される方法。2420記載の方法であって、前記クラスローダへの参照の解除は、前記アプリケーションの実行が終了した際か、または前記クラスローダの構築を担うアプリケーションマネージャによって前記アプリケーションの実行が終結された際に実施される方法。251またはそれ以上のアプリケーションに関連付けられたクラスをロードする方法であって、aアプリケーションのためのクラスローダを構築するように適合され、そして前記構築されたクラスローダを前記アプリケーションが終了した際または前記アプリケーションの実行が終結された際にその参照を解除するように適合されたアプリケーションマネージャを作成する処理であって、前記クラスローダは、前記アプリケーションに関連付けられたクラスをロードするように適合されている処理と、bアプリケーションを受信する処理と、c前記アプリケーションマネージャを利用し、前記受信されたアプリケーションのためのクラスローダを構築する処理と、d前記クラスローダを利用して、前記アプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが前記1またはそれ以上のクラスへの参照を維持するようにする処理とを備える方法。2625記載の方法であって、さらに、前記アプリケーションマネージャを利用して、前記アプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達を不能にする処理を備える方法。2725記載の方法であって、さらに、受信された各アプリケーションに対して処理b、c、およびdを繰り返すことを備える方法。2827記載の方法であって、さらに、アプリケーションの実行が終了した際またはアプリケーションの実行が終結された際に、そのアプリケーションに関連付けられたクラスローダへの参照を解除する処理を備える方法。291またはそれ以上のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりするためのシステムであって、複数のアプリケーションの1つに関連付けられたクラスをロードするようにそれぞれが適合されている複数のクラスローダと、前記複数のクラスローダの1つを利用して、前記複数のアプリケーションの1つに関連付けられたクラスをロードするように適合され、そして所定の条件に応じて、前記複数のクラスローダの1つへの参照を解除するように適合されたアプリケーションマネージャとを備えるシステム。301またはそれ以上のアプリケーションに関連付けられたクラスをロードするためのシステムであって、メモリと、メモリと連動して、アプリケーションのためのクラスローダを構築するように適合されたアプリケーションマネージャを実装するプロセッサとを備え、前記クラスローダは、前記アプリケーションに関連付けられたクラスをロードすうように適合され、前記アプリケーションマネージャは、前記アプリケーションが終了した際または前記アプリケーションマネージャによって前記アプリケーションの実行が終結された際に、前記構築されたクラスローダへの参照を解除するように作動するシステム。3130記載のシステムであって、さらに、第1のアプリケーションに関連付けられたクラスをロードするように適合された第1のクラスローダを備えるシステム。3231記載のシステムであって、前記アプリケーションマネージャは前記第1のクラスローダにリンクされているシステム。3331記載のシステムであって、さらに、前記第1のアプリケーションに関連付けられた第1のクラスセットを格納するメモリを備え、前記第1のクラスローダは前記第1のクラスセットにリンクされているシステム。3430記載のシステムであって、前記システムはデジタルテレビであるシステム。3530記載のシステムであって、前記システムはデジタルテレビレシーバであるシステム。361またはそれ以上のアプリケーションに関連付けられたクラスをロードしたりアンロードしたりするためのデジタルテレビレシーバであって、複数のアプリケーションの1つに関連付けられたクラスをロードするようにそれぞれが適合されている複数のクラスローダと、前記複数のクラスローダの1つを利用して、前記複数のアプリケーションの1つに関連付けられたクラスをロードするように適合され、そして所定の条件に応じて、前記複数のクラスローダの1つへの参照を解除するように適合されたアプリケーションマネージャとを備えるシステム。37デジタルテレビにおいて、1またはそれ以上のアプリケーションに関連付けられたクラスをロードするためのシステムであって、メモリと、メモリと連動して、アプリケーションのためのクラスローダを構築するように適合されたアプリケーションマネージャを実装するプロセッサとを備え、前記クラスローダは、前記アプリケーションに関連付けられたクラスをロードすうように適合され、前記アプリケーションマネージャは、前記アプリケーションが終了した際または前記アプリケーションマネージャによって前記アプリケーションの実行が終結された際に、前記構築されたクラスローダへの参照を解除するように作動するシステム。38アプリケーションに関連付けられたクラスをロードしたりアンロードしたりするようにプロセッサを作動させるように適合されたコンピュータプログラム製品であって、コンピュータ読み取り可能な命令を格納するためのコンピュータ読み取り可能な媒体を備え、前記コンピュータ読み取り可能な命令は、前記アプリケーションに関連付けられたクラスをロードするように適合された、前記アプリケーションのためのクラスローダを構築する命令と、前記クラスローダを利用して、前記アプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする命令と、前記アプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達を不能にする命令とを備えるコンピュータプログラム製品。391またはそれ以上のアプリケーションに関連付けられたクラスをロードするようにプロセッサを作動させるように適合されたコンピュータプログラム製品であって、コンピュータ読み取り可能な命令を格納するためのコンピュータ読み取り可能な媒体を備え、前記コンピュータ読み取り可能な命令は、アプリケーションのためのクラスローダを構築するように適合され、そして前記構築されたクラスローダを前記アプリケーションが終了した際または前記アプリケーションの実行が終結された際にその参照を解除するように適合されたアプリケーションマネージャを作成する命令であって、前記クラスローダは、前記アプリケーションに関連付けられたクラスをロードするように適合されている命令と、アプリケーションを受信する命令と、前記アプリケーションマネージャを利用し、前記受信されたアプリケーションのためのクラスローダを構築する命令と、前記クラスローダを利用して、前記アプリケーションに関連付けられた1またはそれ以上のクラスをロードすることによって、前記クラスローダが、前記1またはそれ以上のクラスへの参照を維持するようにする命令と、前記アプリケーションのための前記クラスローダへの参照を解除することによって、前記クラスローダへの到達を不能にする命令とを備えるコンピュータプログラム製品。"