(57)【要約】本発明は、移動装置において機密情報に関わるガーベージコレクションを実行する方法及び移動装置において機密情報に関わるガーベージコレクションを実行するシステムを開示する。移動装置において無線ネットワークを介して機密保護情報が受信される。機密情報は、この機密保護情報から抽出される。移動装置で動作するソフトウェアプログラムは、オブジェクトを用いて機密情報にアクセスする。オブジェクトが到達不能になった後にオブジェクトで機密保護ガーベージコレクションが実行される。
2005521133.tif 000002
【特許請求の範囲】
【請求項１】
移動装置において機密情報について機密保護ガーベージコレクションを実行する方法であって、この方法は：
移動装置において無線ネットワークを介して機密保護情報を受信するステップと；
該機密保護情報から機密情報を抽出するステップと；
該機密情報を該移動装置のメモリーに格納するステップとを含んでおり；
該移動装置で動作するソフトウェア・プログラムは第１オブジェクトを使用して格納されている機密情報にアクセスするようになっており；
該方法は、更に：
機密保護ガーベージコレクション動作を実行するべき旨の指示として使用されるべきトリガーを待つステップと；
トリガーが発生したと判定するステップと；
トリガーが発生したならば、機密保護アプリケーションがオブジェクトを無参照符化することを要求するステップとを更に含み、該機密保護アプリケーションが該第１オブジェクトを無参照符化したために該第１オブジェクトは到達不能となり；
該方法は、更に：
該第１オブジェクトが到達不能になったと判定するステップと；
該第１オブジェクトが到達不能になったという判定に基づいて、該到達不能の第１オブジェクトを該メモリーから抹消するステップと；
該第１オブジェクトが使用していたメモリーを回収するステップとを含むことを特徴とする方法。
【請求項２】
移動装置において機密保護ガーベージコレクションをトリガーする方法であって、この方法は：
機密保護ガーベージコレクション動作を実行するべき旨の指示として使用されるべきトリガーを待つステップと；
トリガーが発生したと判定するステップと；
トリガーが発生したならば、該移動装置で動作しているアプリケーションが機密オブジェクトを無参照符化することを要求するステップと；
該無参照符化された機密オブジェクトに対して機密保護ガーベージコレクションを実行するステップとを含み、該機密保護ガーベージコレクションは、無参照符化された機密オブジェクトに関連する機密データを読み出し不能にすることを特徴とする方法。
【請求項３】
移動装置で動作するガーベージコレクション・システムであって、該移動装置は、該移動装置に格納されている機密情報にアクセスするためにソフトウェア・プログラムにより使用される少なくとも１つのオブジェクトを格納するためのメモリーを包含し、このシステムは：
機密保護ガーベージコレクション動作を実行するべき旨の指示として使用される少なくとも１つのトリガリング・イベントに関する情報を格納するコンフィギュレーション・データ構造と；
該コンフィギュレーション・データ構造及び該メモリーへのデータ・アクセス経路を有するガーベージコレクション・モジュールとを含み；
該ガーベージコレクション・モジュールは、該トリガリング・イベントの検出に基づいて機密保護ガーベージコレクション動作を実行するように構成可能であり、該トリガリング・イベントの該検出は、該コンフィギュレーション・データ構造に格納されている情報に基づいて実行され；
該機密保護ガーベージ動作は、該オブジェクトが到達不能であるという判定と、該到達不能オブジェクトに関するワイプ機能の呼び出しとを含むことを特徴とするガーベージコレクション・システム。
【請求項４】
移動装置において機密情報を処理する機密保護ガーベージコレクション・システムであって、該システムは：
移動装置において無線ネットワークを介して機密情報を受け取るための手段と；
該機密保護情報から機密情報を抽出するための手段と；
該機密情報を該移動装置のメモリーに格納するための手段と；
該移動装置で動作するソフトウェア・プログラムが、格納された該機密情報にアクセスするためにオブジェクトを使用することと；
トリガリング・イベントが発生したことを判定するための手段と；
該オブジェクトが到達不能になったことを判定するための手段と；
該オブジェクトが到達不能であると判定された後に該到達不能オブジェクトを該メモリーから抹消するための手段と；
該抹消されたオブジェクトが読み出し不能にされることと；
該到達不能オブジェクトが使用していたメモリーを回収するための手段とを含むことを特徴とする機密保護ガーベージコレクション・システム。
【請求項５】
機密保護ガーベージコレクションを実行するように構成可能な移動装置であって、前記移動装置は：
機密情報を処理するソフトウェア・プログラムを実行するように構成可能なマイクロプロセッサと；
該機密情報にアクセスするために該ソフトウェア・プログラムにより使用される少なくとも１つのオブジェクトを格納するためのヒープ・メモリーと；
該マイクロプロセッサで動作することができて該ヒープ・メモリーへのデータ・アクセス経路を有するガーベージコレクション・モジュールとを含み；
該ガーベージコレクション・モジュールは、該ヒープ・メモリー内の該オブジェクトが到達不能であると検出されると、該ヒープ・メモリーに格納されている該オブジェクトに関してワイプ機能を呼び出すように構成可能であることを特徴とする移動装置。
【請求項６】
移動装置において機密情報に関わる機密保護ガーベージコレクションを実行する方法であって、該方法は：
移動装置において無線ネットワークを介して機密保護情報を受け取るステップと；
該機密保護情報から機密情報を抽出するステップと；
該機密情報を該移動装置のメモリーに格納するステップと；
該移動装置で動作するソフトウェア・プログラムが、該格納されている機密情報にアクセスするためにオブジェクトを使用することと；
該オブジェクトが到達不能になっていると判定するステップと；
該オブジェクトが到達不能になっているという判定に基づいて、その到達不能のオブジェクトを該メモリーから抹消するステップと；
該オブジェクトが使用していたメモリーを回収するステップとを含むことを特徴とする方法。
【請求項７】
該移動装置はパーソナルディジタルアシスタントであることを特徴とする請求項６に記載の方法。
【請求項８】
該移動装置は移動通信装置であることを特徴とする請求項６に記載の方法。
【請求項９】
該移動装置はデータ・メッセージ通信能力を有するセルラー電話であることを特徴とする請求項６に記載の方法。
【請求項１０】
該移動装置は無線双方向通信装置であることを特徴とする請求項６に記載の方法。
【請求項１１】
該移動装置はデータ・メッセージ通信装置であることを特徴とする請求項６に記載の方法。
【請求項１２】
該移動装置は双方向ページャーであることを特徴とする請求項６に記載の方法。
【請求項１３】
該移動装置は無線インターネット装置であることを特徴とする請求項６に記載の方法。
【請求項１４】
該無線ネットワークは該無線ネットワークを提供するための手段を含むことを特徴とする請求項６に記載の方法。
【請求項１５】
該機密保護情報はＳ／ＭＩＭＥ暗号化されたメッセージであることを特徴とする請求項６に記載の方法。
【請求項１６】
該機密情報は該Ｓ／ＭＩＭＥメッセージの非暗号化バージョンであることを特徴とする請求項１５に記載の方法。
【請求項１７】
暗号化されているＳ／ＭＩＭＥメッセージに対して私用のキーを入手して使用することによって該機密保護メッセージが非暗号化されたことを特徴とする請求項１６に記載の方法。
【請求項１８】
該機密情報はパーソナル情報管理（ＰＩＭ）アプリケーションの使用から生じることを特徴とする請求項６に記載の方法。
【請求項１９】
該機密情報は、移動装置を音声通信のために使用することから生じることを特徴とする請求項６に記載の方法。
【請求項２０】
該機密情報は移動装置をビデオ通信のために使用することから生じることを特徴とする請求項６に記載の方法。
【請求項２１】
該機密情報は移動装置をショートメッセージサービス（ＳＭＳ）通信のために使用することから生じることを特徴とする請求項６に記載の方法。
【請求項２２】
該機密情報は移動装置をｅ−メール・メッセージ通信のために使用することから生じることを特徴とする請求項６に記載の方法。
【請求項２３】
該機密情報は移動装置をウェブページ通信のために使用することから生じることを特徴とする請求項６に記載の方法。
【請求項２４】
該機密情報は移動装置を無線アクセスプロトコル（ＷＡＰ）通信のために使用することから生じることを特徴とする請求項６に記載の方法。
【請求項２５】
オブジェクトは、他のオブジェクトにより参照符付けされていないときに到達不能であることを特徴とする請求項６に記載の方法。
【請求項２６】
オブジェクトは、該オブジェクトが該ソフトウェア・プログラムによって無参照符化されているときに到達不能であることを特徴とする請求項６に記載の方法。
【請求項２７】
オブジェクトは、如何なるオブジェクトによっても参照符付けされていないときに到達不能であることを特徴とする請求項６に記載の方法。
【請求項２８】
該メモリー内の該オブジェクトが到達不能であると検出されたとき、該オブジェクトが使用していたメモリーを確実に回収するためにワイプ機能が使用されることを特徴とする請求項６に記載の方法。
【請求項２９】
該オブジェクトの抹消に加えてシステム・クリップボードが清掃されることを特徴とする請求項２８に記載の方法。
【請求項３０】
該移動装置で実行される少なくとも実質的に全てのガーベージコレクションがワイプ機能を使用することを特徴とする請求項２８に記載の方法。
【請求項３１】
該移動装置で実行される全てのガーベージコレクションが該ワイプ機能を使用し、これにより全てのオブジェクトを機密扱いすることを特徴とする請求項２８に記載の方法。
【請求項３２】
該メモリーは該移動装置のマイクロプロセッサで動作するソフトウェア・プログラムを格納し、該メモリーから該オブジェクトを抹消するために非固有ワイプ機能が使用されることを特徴とする請求項６に記載の方法。
【請求項３３】
該メモリーは該移動装置のマイクロプロセッサで動作するソフトウェア・プログラムを格納し、該メモリーから該オブジェクトを抹消するために固有ワイプ機能が使用されることを特徴とする請求項６に記載の方法。
【請求項３４】
該オブジェクトは、該メモリー内の該オブジェクトのデータを全てゼロで書き直すことによって該メモリーから抹消されることを特徴とする請求項３３に記載の方法。
【請求項３５】
該オブジェクトは、該メモリー内の該オブジェクトのデータを全て１で書き直すことによって該メモリーから抹消されることを特徴とする請求項３３に記載の方法。
【請求項３６】
該オブジェクトは、該メモリー内の該オブジェクトのデータをランダムなデータで書き直すことによって該メモリーから抹消されることを特徴とする請求項３３に記載の方法。
【請求項３７】
該オブジェクトは、アタッカーによる巧妙なメモリー回復手法を妨害するために該メモリーから抹消されることを特徴とする請求項３３に記載の方法。
【請求項３８】
該メモリーは、該移動装置のマイクロプロセッサで動作するソフトウェア・プログラムを格納し、該オブジェクトを該メモリーから抹消するためにワイプ機能が使用されることを特徴とする請求項６に記載の方法。
【請求項３９】
該ソフトウェア・プログラムは、該ワイプ機能を使用することのできる機密保護ガーベージコレクター・ソフトウェア・モジュールを有する仮想マシーン・ソフトウェアを含むことを特徴とする請求項３８に記載の方法。
【請求項４０】
該仮想マシーン・ソフトウェアは、該ソフトウェア・プログラムに見出される仮想マシーン命令を解釈するように構成されることを特徴とする請求項３９に記載の方法。
【請求項４１】
該メモリーは、該オブジェクトを格納するときに用いる動的に割り当てることのできるメモリーを含むことを特徴とする請求項３９に記載の方法。
【請求項４２】
該メモリーはヒープ・メモリーを含み、該仮想マシーン・ソフトウェアは参照符テーブルを介してヒープに格納されているオブジェクトにアクセスするように構成されることを特徴とする請求項３９に記載の方法。
【請求項４３】
該機密オブジェクトを処理する該オブジェクトは機密オブジェクトであり、該機密保護情報を処理するオブジェクトは機密保護オブジェクトであり、該ヒープは機密オブジェクトが機密保護オブジェクトから区別され得るように仕切りを含むことを特徴とする請求項４２に記載の方法。
【請求項４４】
該機密保護オブジェクトは該移動装置の不揮発性メモリーに格納され、該機密オブジェクトは該移動装置の揮発性メモリーに格納されることを特徴とする請求項４３に記載の方法。
【請求項４５】
オブジェクトのメモリー・アドレスが該参照符テーブルに格納され、該参照符テーブル内のオブジェクトのインデックスが与えられると該オブジェクトのメモリー・アドレスを得ることができることを特徴とする請求項４４に記載の方法。
【請求項４６】
オブジェクトは、自分のフォーマットの中に、該オブジェクトの、他のオブジェクトへの参照符を含むことを特徴とする請求項４５に記載の方法。
【請求項４７】
該参照符テーブルは、該オブジェクトが他のオブジェクトに、当該他のオブジェクトが揮発性メモリーに格納されているか不揮発性メモリーに格納されているかに関わらず、アクセスすることを可能にすることを特徴とする請求項４６に記載の方法。
【請求項４８】
該オブジェクトを作るソフトウェア・プログラムは、該移動装置で動作する機密保護ビューアー・アプリケーションであることを特徴とする請求項４７に記載の方法。
【請求項４９】
該機密保護ビューアー・アプリケーションは、該仮想マシーン・ソフトウェアにより実行されたとき、該オブジェクトがヒープに割り当てられて該参照符テーブル内の自分に対応するエントリーを介してアクセス可能になるという結果をもたらすことを特徴とする請求項４８に記載の方法。
【請求項５０】
該機密情報を該移動装置のユーザに表示するためにビューアー・オブジェクトが使用されることを特徴とする請求項４９に記載の方法。
【請求項５１】
該ビューアー・オブジェクトは、該機密保護ビューアー・アプリケーションにおける認証によって機密オブジェクトを動的に作ることを特徴とする請求項５０に記載の方法。
【請求項５２】
該オブジェクトを抹消して該オブジェクトが使用していたメモリーを回収する決定は、機密保護上の理由に基づくことを特徴とする請求項６に記載の方法。
【請求項５３】
該オブジェクトを抹消して該オブジェクトが使用していたメモリーを回収する決定は、機密保護上の理由に基づいており、残っているメモリーの量には基づかないことを特徴とする請求項６に記載の方法。
【請求項５４】
該オブジェクトを抹消して該オブジェクトが使用していたメモリーを回収する決定は、該オブジェクトが到達不能になっていると判定する前記ステップに基づき、該決定は利用可能なメモリーのレベルとは無関係であることを特徴とする請求項６に記載の方法。
【請求項５５】
該オブジェクトを抹消して該オブジェクトが使用していたメモリーを回収する決定は、該オブジェクトが到達不能になっていると判定する前記ステップに基づき、該判定はメモリーの量が予め選択されたスレショルドより少ないことに基づいては実行されないことを特徴とする請求項６に記載の方法。
【請求項５６】
機密保護ガーベージコレクション動作を実行するべき旨の指示として用いられるトリガーが発生したと判定するステップと；
該トリガーを受け取ったことに基づいて、機密保護アプリケーションが該アプリケーションの機密オブジェクトを無参照符化することを要求するステップと；
該機密保護アプリケーションによって機密オブジェクトが無参照符化されたと判定するステップと；
該機密オブジェクトが無参照符化されたという判定に基づいて、その無参照符化されたオブジェクトをメモリーから抹消するステップと；
を更に含むことを特徴とする請求項６に記載の方法。
【請求項５７】
複数の機密オブジェクトが該機密保護アプリケーションによって無参照符化されたという判定に基づいて複数のオブジェクトが抹消され、ガーベージコレクションがどのように実行されるべきか決定するためにトリガーのタイプが使用されることを特徴とする請求項５６に記載の方法。
【請求項５８】
複数の機密保護アプリケーションが自分達それぞれの機密オブジェクトを無参照符化するように要求されることを特徴とする請求項５６に記載の方法。
【請求項５９】
該トリガーに関連するパラメータがコンフィギュレーション・ファイルからロードされ、該パラメータは、トリガーが発生したという判定に使用されることを特徴とする請求項５６に記載の方法。
【請求項６０】
該コンフィギュレーション・ファイルは、全ての無参照符オブジェクトが機密扱いされるべきであると指定することを特徴とする請求項５６に記載の方法。
【請求項６１】
該トリガーはトリガー手段を含むことを特徴とする請求項５６に記載の方法。
【請求項６２】
該トリガーは、予め選択されたイベントの発生に基づいて発生することを特徴とする請求項５６に記載の方法。
【請求項６３】
該イベントは、該移動装置が所定時間にわたってアイドルであったときに発生するタイムアウト・イベントであることを特徴とする請求項６２に記載の方法。
【請求項６４】
該イベントはクレードル・イベントであることを特徴とする請求項６２に記載の方法。
【請求項６５】
該クレードル・イベントは、該移動装置が該移動装置のクレードルに入れられまたは該クレードルから取り除かれるときに発生することを特徴とする請求項６４に記載の方法。
【請求項６６】
該イベントはホルスター・イベントであることを特徴とする請求項６２に記載の方法。
【請求項６７】
該ホルスター・イベントは、該移動装置が該移動装置のホルスターに入れられまたは該ホルスターから取り除かれるときに発生することを特徴とする請求項６６に記載の方法。
【請求項６８】
該イベントはスクリーン・ロック・イベントであることを特徴とする請求項６２に記載の方法。
【請求項６９】
該イベントはユーザ・ロック・イベントであることを特徴とする請求項６２に記載の方法。
【請求項７０】
該イベントはアプリケーション・イベントであることを特徴とする請求項６２に記載の方法。
【請求項７１】
該アプリケーション・イベントは、視聴者が機密オブジェクトを表示するのを止めたときを含むことを特徴とする請求項７０に記載の方法。
【請求項７２】
トリガーを発生させる前に、解読されたメッセージを熟成させるためにコンフィギュレーション・パラメータが使用されることを特徴とする請求項７１に記載の方法。
【請求項７３】
解読されたメッセージの熟成は、メッセージを見、それを閉じ、そして所定タイムアウト期間内にそれを再開する機会を該移動装置のユーザに与えるために使われることを特徴とする請求項７２に記載の方法。
【請求項７４】
該イベントはロールバック・トリガー・イベントであることを特徴とする請求項６２に記載の方法。
【請求項７５】
該ロールバック・トリガー・イベントは、該移動装置のシステム・クロック又は時刻帯が変更されたときに発生することを特徴とする請求項７４に記載の方法。
【請求項７６】
該イベントはトランシーバに基づくイベントであることを特徴とする請求項６２に記載の方法。
【請求項７７】
該トランシーバに基づくイベントは、該移動装置が無線ネットワークを介して通信する場合に発生することを特徴とする請求項７６に記載の方法。
【請求項７８】
該トリガーの判定に基づいて、機密保護アプリケーションが該アプリケーションの非機密オブジェクトを無参照符化することを要求することを特徴とする請求項５６に記載の方法。
【請求項７９】
該機密保護ガーベージコレクション動作は、該無参照符化された機密オブジェクトを抹消することを含むことを特徴とする請求項５６に記載の方法。
【請求項８０】
該機密保護ガーベージコレクション動作は、該無参照符化された機密オブジェクトにより使用されていたメモリーを回収することを含むことを特徴とする請求項７９に記載の方法。
【請求項８１】
機密保護ガーベージコレクション動作を実行するべき旨の指示として用いられるトリガーが発生したと判定するステップと；
該トリガーを受け取ったことに基づいて、機密保護アプリケーションが該アプリケーションの機密オブジェクトを無参照符化することを要求するステップと；
該無参照符化された機密オブジェクトに対して機密保護ガーベージコレクションを実行するステップとを更に含むことを特徴とする請求項６に記載の方法。
【請求項８２】
機密保護ガーベージコレクション動作を実行する前にトリガーを待つステップと；
機密保護ガーベージコレクション動作を実行するべき旨の指示として用いられるトリガーが発生したと判定するステップと；
該トリガーを受け取ったことに基づいて、機密保護アプリケーションが該アプリケーションの機密オブジェクトを無参照符化することを要求するステップと；
該アプリケーションにより無参照符化された該機密オブジェクトに対して機密保護ガーベージコレクション動作を実行するステップとを更に含むことを特徴とする請求項６に記載の方法。
【請求項８３】
機密保護ガーベージコレクション動作を実行する前にトリガーを待つステップと；
機密保護ガーベージコレクション動作を実行するべき旨の指示として用いられるトリガーが発生したと判定するステップと；
該トリガーを受け取ったことに基づいて、機密保護アプリケーションが該アプリケーションの機密オブジェクトを無参照符化することを要求するステップと；
該アプリケーションによって無参照符化された該機密オブジェクトに対して機密保護ガーベージコレクション動作を実行するステップとを更に含むことを特徴とする請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連する事件
本出願は、２００２年３月２０日に出願された米国仮特許出願第６０／３６５，５１５号の利益及び優先権を主張し、その開示の全体を参照により本出願に取り入れる。
【０００２】
背景
１．  技術分野
本発明は、移動装置に関し、特に移動装置における機密保護メモリー手法に関する。
【背景技術】
【０００３】
２．  関連技術の説明
多くの公知移動装置は、データ、音声、及び／又はマルチメディア（オーディオ／ビデオ）を送信し、受信し、或いは少なくとも使用するためにジャヴァ（Java（登録商標））を用いるなどしてオブジェクトを支援する。これらのオブジェクトは、セルラーネットワークからの機密情報に含まれ、多様なサービスと関連する。しかし、移動装置で現在実行されるガーベージコレクション操作には機密保護上の欠陥がある。
【０００４】
その様な欠陥の非限定的実例は、到達不能のオブジェクトの収集を含む。例えば、図１は参照符が付されていないオブジェクトのガーベージコレクション間のヒープの代表的状態を示す。代表的なガーベージ・コレクターは、到達不能のオブジェクトを収集する前にメモリーがローになるまで待つ。従って、オブジェクトは、収集されるよりかなり前に到達不能になる可能性がある。これは、特にメモリー回復自体が安全でなければ、攻撃の機会の予測できない窓を生じさせる。
【発明の開示】
【課題を解決するための手段】
【０００５】
要約
本書に開示されている教示により機密保護ガーベージコレクション・システムが提供され、このシステムはマイクロプロセッサと、アドレス指定可能な記憶装置とを含み、ヒープと、ワイプ機能を呼び出すことのできる機密保護ガーベージコレクション・ソフトウェア・モジュールとを有する。機密保護ガーベージコレクション・ソフトウェア・モジュールは、ヒープ内のオブジェクトが到達不能になっていることを検出すると、ワイプ機能を呼び出すことによって、それらが使用していたメモリーを安全に回収する。
【０００６】
他の実施態様では、機密保護安全ガーベージコレクションを多様な方法でトリガーすることができ、その方法は、トリガーを待ち、全ての機密保護アプリケーションについて後続のステップを実行し、機密保護アプリケーションが機密オブジェクトを無参照符化することを要求し、機密保護ガーベージコレクションを実行し、全ての機密保護アプリケーションが処理され終わっているか否か判定することステップを含むが、これらに限定はされない。
【０００７】
詳細な説明
図を参照すると、図２は代表的な機密保護ガーベージコレクション・システム３００を示すブロック図である。システム３００は特に機密情報を保護するものであり、機密情報は、それ自体として独立して存在するか、パーソナル情報管理（ＰＩＭ）から生じるか、或いは、音声及び／又はビデオ通話、ショートメッセージサービス（ＳＭＳ）通信、ｅ−メールメッセージ通信、ウェブページ通信及び無線アクセスプロトコル（ＷＡＰ）通信などの通信から生じることがある。システム３００は、機密保護暗号解読手法及び機密保護永続記憶手法を可能にする。パーソナルディジタルアシスタント、移動通信装置、セルラー電話、及び無線双方向通信装置、などのいろいろなタイプの移動装置が、また機密情報を有する任意の装置において、システム３００を利用することができる。
【０００８】
図２の代表的機密保護ガーベージコレクション・システム３００は、マイクロプロセッサ１００と、データバス１３０によってマイクロプロセッサ１１０に接続されたアドレス指定可能な記憶装置１２０とを含む。アドレス指定可能な記憶装置１２０はマイクロプロセッサ・ソフトウェア・モジュール１４０、ヒープ１５０及び参照符テーブル１６０を格納する。
【０００９】
マイクロプロセッサ・ソフトウェア１４０は、固有ワイプ機能１７０を含む。固有ワイプ機能１７０は、アドレス指定可能な記憶装置１２０の一部分に存するデータを抹消することができる。“Ｃ”プログラミング言語中の適当な機能は機能’ｍｅｍｓｅｔ（）’であり、これを用いて、精巧なメモリー回復手法を妨害するためにデータを全部ゼロ又は全部１又はランダム・データで書き換えることができる。マイクロプロセッサ・ソフトウェア１４０は、仮想マシーン・ソフトウェア２００も含むことができ、これは、固有ワイプ機能１７０を使用することができると共に参照符テーブル１６０を介してヒープ１５０中のオブジェクトにアクセスすることができる機密保護ガーベージコレクター・ソフトウェア・モジュール２０５を有する。このソフトウェア１４０は、オブジェクト指向環境（例えば、ジャヴァ）などの多様な実施環境で使用され得るものである。
【００１０】
仮想マシーン・ソフトウェア２００は、ソフトウェア・モジュール２１０で見出される仮想マシーン命令を解釈することができる。特定の仮想マシーン・ソフトウェア・モジュール（例えば、機密保護ビューアー・アプリケーション２２０）が示されていて、機密保護ガーベージコレクション手法を使用するアプリケーション例として用いられる。
【００１１】
機密保護ビューアー・アプリケーション２２０は、仮想マシーン・ソフトウェア２００により実行されたとき、ビューアー・オブジェクト１０Ｖがヒープ１５０において割り当てられるという結果をもたらし、それに対応する参照符テーブル１６０内の＠Ｖ３５Ｖエントリーを介してアクセス可能である。ビューアー・オブジェクト１０Ｖは、例えば、オブジェクト１０Ｓなどの機密オブジェクト内の機密情報を表示するユーザ・インターフェース・オブジェクトであって良い。ビューアー・オブジェクト１０Ｖは、好ましくは、ビューアー・アプリケーション２２０における認証によって機密保護オブジェクト７０Ｅから機密オブジェクト１０Ｓを動的に作成する。
【００１２】
例えば、機密保護オブジェクト７０ＥがＳ／ＭＩＭＥ被暗号化メッセージであれば、機密オブジェクト１０Ｓは、好ましくはプライベート・キーを入手して被暗号化Ｓ／ＭＩＭＥメッセージ・オブジェクト７０Ｅに対して使用することにより、機密保護ビューアー・アプリケーション・モジュール２２０（この場合にはＳ／ＭＩＭＥｅ−メール・ビューアー・アプリケーション）により動的に作成されるＳ／ＭＩＭＥメッセージの透明な暗号化されていないバージョンである。
【００１３】
ヒープ１５０の機密部分及び機密保護部分の境界をそれぞれ示す領域１５２及び１５７により示されているように、オブジェクト１０Ｓなどの機密オブジェクトをオブジェクト７０Ｅなどの機密保護オブジェクトから区別できるようにヒープ１５０を分割することができる。近い将来に事態を調整するために機密オブジェクト及び機密保護オブジェクトの処理に関して多様な分割形態が可能であり、或いは全く不可能であることが理解されなければならない。
【００１４】
領域１５５により、ヒープ１５０の到達不能な部分も示されている。領域１５５は、最早他のオブジェクトにより参照符付けされていなくて、それ自体としてガーベージコレクションに適するオブジェクト１０Ｖ’，１０Ｓ’及び７０Ｅ’を含んでいる。オブジェクト１０Ｓ’は到達不能でもあり且つ機密であり、オブジェクト７０Ｅ’は到達不能であり且つ機密保護であり、オブジェクト１０Ｖ’は到達不能であるだけであることに注目されたい。
【００１５】
Ｓ／ＭＩＭＥビューアー・アプリケーション２２０の例に戻ると、例えばＳ／ＭＩＭＥビューアー・アプリケーションが削除メッセージ・ユーザインターフェース・コマンドに応答してビューアー１０Ｖ’を表示することを止めたならば、オブジェクト１０Ｖ’、１０Ｓ’及び７０Ｅ’は到達不能である。従って、１０Ｖ’への参照符が失われたとき、ビューアー１０Ｖ’が機密オブジェクト１０Ｓ’及び７０Ｅ’への参照符を有する唯一のオブジェクトであったならば、３つのオブジェクト全部がガーベージコレクションされ得る候補となる。しかし、オブジェクト７０Ｅは、ビューアー１０Ｖ’によって参照符付けされているけれども、依然として到達可能であって機密保護されるということに注目しなければならない（例えば、暗号化されたＳ／ＭＩＭＥ−おそらく、それはビューアー１０Ｖ’によって見られた前のメッセージであってユーザにより削除されていなかったので）。
【００１６】
機密保護ガーベージコレクター・モジュール２０５は、オブジェクト１０Ｖ’、１０Ｓ’及び７０Ｅ’が到達不能であることを発見すると、固有ワイプ機能１７０を呼び出して少なくともオブジェクト１０Ｓ’と、また任意にオブジェクト１０Ｖ’及び７０Ｅ’をワイプすることによって、これらのオブジェクトが使用していたメモリーを確実に回収する。任意に、全てのガーベージコレクションがワイプ固有機能１７０を使用し、これにより全てのオブジェクトを機密扱いする。
【００１７】
図３ａ及び３ｂを参照すると、図３ａは、代表的な暗号メッセージ・ビューイング・アプリケーションにおける、参照符テーブル、ＲＡＭ内のビューアー・オブジェクト、フラッシュ内の永続的被暗号化オブジェクト、及びＲＡＭ内の一時的機密オブジェクトを特徴とする、図２のアドレス指定可能な記憶装置例の物理的ビューを詳しく示すブロック図である。
【００１８】
図３ｂは、図３ａの論理ビューを示すブロック図である。両方について、次に説明する。
【００１９】
オブジェクト１０Ｓ及びオブジェクト７０Ｅを参照符付けするオブジェクト１０Ｖは、ＲＡＭ２０又はフラッシュ８０内の何処かに現れるものとして示されている。
【００２０】
ＲＡＭ２０内の何処かにあるものとして参照符テーブル３０も示されている。参照符テーブル３０は、記憶素子へのインデックス付きアクセスを簡単化するために一定サイズ“ｗ”３７の記憶素子（３５Ｖ，３５Ｓ，３５Ｅ）を数個有する。各々の使用されている記憶素子（３５Ｖ，３５Ｓ，３５Ｅ）は、ここではＲＡＭ２０及びフラッシュ８０から成るアドレス指定可能なスペースに位置するオブジェクト（１０Ｖ，１０Ｓ，７０Ｅ）に対応する。例えば、オブジェクトＶ１０Ｖは記憶素子インデックス“ｖ”３５Ｖとの対応関係を見出し、オブジェクトＥ７０Ｅは記憶素子インデックス“ｅ”３５Ｅとの対応関係を見出すが、オブジェクトＳ１０Ｓは記憶素子インデックス“ｓ”３５Ｓとの対応関係を見出す。対応するオブジェクト（１０Ｖ，１０Ｓ，７０Ｅ）のアドレス（４０Ｖ，４０Ｓ，９０Ｅ）が記憶素子（３５Ｖ，３５Ｓ，３５Ｅ）に格納されているので、参照符テーブル３０内のオブジェクトのインデックスを知ればオブジェクト（１０Ｖ，１０Ｓ，７０Ｅ）のアドレス（４０Ｖ，４０Ｓ，９０Ｅ）をそれぞれ得ることが可能である。このことは、初めに参照符テーブル３０のアドレス＠Ｒ５０を得ることにより行われる。次に、例えば実例Ｖオブジェクト１０Ｖについての“ｓ”５５Ｓなどのオブジェクトの参照符が与えられると、インデックス５５Ｖ“ｖ”に各記憶素子のサイズ“ｗ”３７を掛けることによって記憶素子のアドレス＠（Ｒ＋ｖ＊ｗ）６０Ｗを得ることができる。
【００２１】
“ｖ”記憶素子３５Ｖは対応するオブジェクトＶ１０Ｖのアドレスを保持しているので、この記憶素子の内容を分析すればＲＡＭ２０内のオブジェクトＶ１０Ｖのアドレス＠Ｖ４０Ｖが得られる。同様に、“ｓ”記憶素子３５Ｓを分析すればＲＡＭ２０内のオブジェクト１０Ｓのアドレス＠Ｓ４０Ｓが得られ、“ｅ”記憶素子３５Ｅはフラッシュ８０内のオブジェクト７０Ｅのアドレス＠Ｅ９０Ｅを指す。各オブジェクト（１０Ｖ，１０Ｓ，７０Ｅ）がそのフォーマットの中に参照符テーブル３０と関連する“この参照符”（５５Ｖ，５５Ｓ，５５Ｅ）をどのように含むかということも示されている。オブジェクトＶ１０Ｖがそのフォーマットの中にオブジェクトＥ７０Ｅへの参照符“Ｅ”６５ＥとオブジェクトＳ１０Ｓへの参照符“Ｓ”６５Ｓとをどのように含むかということも示されている。このことは、オブジェクトＥ７０Ｅがフラッシュ８０内のアドレス９０ＥにありオブジェクトＶ７０ＡがＲＡＭ２０内にあるという事実に関わらず、オブジェクトＶ１０Ｖの範囲内の実行時間コンテキストがオブジェクトＥ７０Ｅと１０Ｓとに同様にアクセスできることを許容する。
【００２２】
オブジェクト１０Ｖは機密保護多目的インターネット・メール・エクステンション（Ｓ／ＭＩＭＥ）ビューアーであって良く、その場合にはオブジェクト７０Ｅは永続（Ｓ／ＭＩＭＥ）被暗号化メッセージであって良く、オブジェクト１０Ｓは被暗号化メッセージ７０Ｅの機密の解読されたバージョンであって良い。ビューアー・オブジェクト１０Ｖは、ビューアー１０Ｖのユーザ（即ち、Ｓ／ＭＩＭＥメッセージの意図された受取人）の要求時に及びその認証後に、被暗号化オブジェクト７０Ｅから機密オブジェクト１０Ｓを作成しても良い。
【００２３】
図４を参照すると、図４は移動装置で機密保護ガーベージコレクションをトリガーする方法の例を示す流れ図を示している。ステップ４１０はトリガーを待つことを含む。トリガーに関連する任意のパラメータを、コンフィギュレーション４０２を介して記憶装置１２０からロードすることができる。トリガーは、下記の多様なイベントから生じ得るけれども、これらに限定されない：
・  ４０５Ｉはタイムアウト・イベントであり、これは移動装置がアイドル状態に置かれているときに発生し得る；
・  ４０５Ｈは、ホルスター又はクレードル・イベントであり、これはユーザ又はアタッカーが装置をそのホルスター（その様に装備されている場合）或いはクレードル（その様に装備されている場合）に入れたり或いはそれから取り除くときに発生し得る；
・  ４０５Ｌはスクリーン・ロック又はユーザ・ロック・イベントであり、これは例えばユーザがロック・スクリーンでパスワードを入力するときやユーザが装置又はスクリーンをわざわざロックするときなど、任意の数の理由から発生し得る；
・  ４０５Ａはビューアーが機密オブジェクトを表示するのを止めたときなどの、アプリケーション・イベントである。Ｓ／ＭＩＭＥの場合、メッセージは好ましくは機密保護され（暗号化され）、見られるときだけ解読される。しかし、メッセージを見たり、それを閉じたり、短いタイムアウト期間中にそれを再開したりする機会を機密保護ガーベージコレクション・トリガーからユーザに与えさせる前に、解読されたメッセージをコンフィギュレーション・パラメータを用いて熟成させることができる。
【００２４】
・  ４０５Ｒはロールバック・トリガーであり、これはシステム・クロック（その様に装備されている場合）又は時刻帯が変更されるときに発生し得る。具体的場合を明示するためにコンフィギュレーション・パラメータを用いることができる。
【００２５】
・  ４０５Ｅはトランシーバ・イベントであり、これは移動装置が例えば無線ネットワークを介して通信する場合（その様に装備されている場合）に発生し得る。例えば、Ｓ／ＭＩＭＥを使用して通信するとき、或いはＳＳＬ又はＴＬＳを用いてブラウズしている間、キャッシュを確実にガーベージコレクションすることができる。
【００２６】
ステップ４２０は、全ての機密保護アプリケーションのために後続のステップを実行することを含む。機密保護アプリケーションは、コンフィギュレーションにより選択することができ、或いは全てのアプリケーションを包含することができる。
【００２７】
ステップ４３０は、機密保護アプリケーションが機密オブジェクトの参照符を取ることを要求する。従って、このステップはアタッカーの機会の窓がトリガーに関わらず機密保護アプリケーションにおいて大いに制限されることを保証するのに役立つ。
【００２８】
ステップ４４０は確実にガーベージコレクションすることを含む。このステップは、少なくとも、固有ワイプ機能コールを呼び出すことを含むが、例えばシステム・クリップボード（もしその様に装備され構成されていれば）を一掃する（これに限定はされない）などの他の動作を含んでいても良い。このステップを実行する代表的方法について以下で図５を参照して説明する。
【００２９】
ステップ４５０は、全ての機密保護アプリケーションが処理されたか否か判定することを含む。もし全てのアプリケーションがクリーンならば（例えば、アプリケーションが機密オブジェクトへの参照符を持っていないなど）、残っている機密保護アプリケーションのためにステップ４３０及び４４０が反復される。或いは、もし全ての機密保護アプリケーションがクリーンならば、ステップ４１０が続き、該方法が新たに始まる。
【００３０】
図４の方法は、仮想マシーンのための“デーモン”アプリケーションとして実行されて良い。
【００３１】
図５を参照すると、図５は無参照符オブジェクトを確実にガーベージコレクションする機密保護ガーベージコレクションの代表的方法を示す流れ図である。
【００３２】
図５の方法５００を用いて図４のステップ４４０を実行することができる。ステップ５１０は、無参照符オブジェクトを回収することを含む。このステップは、図４の方法４００においてどのトリガーがガーベージコレクションを行わせたかなどの表示を例えばコンフィギュレーション情報５０２を介して受け取ることができる。例えば、Ｓ／ＭＩＭＥビューアー・アプリケーションがトリガーであったならば、無参照符機密オブジェクトは好ましくはトリガーの原因の付近から始まってヒープから収集される。
【００３３】
ステップ５２０はヒープ内の全ての無参照符オブジェクトのために後続のステップを実行することを含む。ステップ５３０は、無参照符オブジェクトが機密であるか否か判定することを含む。図２を参照して説明したように、好ましい実施態様では、全ての無参照符オブジェクトが機密扱いされる。このことはコンフィギュレーション情報５０２において明示されても良い。もし無参照符オブジェクトが機密であると判定されたならば、ステップ５４０が続き、これにステップ５５０が続くが、もし否であれば、ステップ５５０が続く。
【００３４】
ステップ５４０は、固有ワイプ機能を呼び出して無参照符機密オブジェクト中の機密情報を抹消することを含む。図２を参照して説明したように、固有ワイプ機能はゼロ、１、又はランダムなデータに対するオブジェクト・データのＣ“ｍｅｍｓｅｔ（）”であって良い。どのオプションを使うかはコンフィギュレーション５０２で指定されて良い。非固有ワイプ機能を使用することも考えられる。
【００３５】
ステップ５５０は、オブジェクト・メモリーを回収することを含む。このステップは在来のガーベージコレクターにより達成され得る。在来のガーベージコレクターに対する呼び出しを機密保護ガーベージコレクターに対する呼び出しと置き換えることにより、多数の現存する方法及びシステムにおいて機密保護ガーベージコレクションを可能にすることができる。
【００３６】
ステップ５６０は全ての無参照符オブジェクトが回収されたか否か判定することを含む。この判定がなされたならば、該方法は終了する。もし否であれば、ステップ５３０が続き、機密保護ガーベージコレクションを続行する。
【００３７】
図６は、６００において、機密保護ガーベージコレクション・システムを有する移動装置を示す。移動装置６００は、無線ネットワーク６０４を介して情報（例えば、機密保護メッセージ６０２）を受け取る。移動装置６００で動作するソフトウェア・プログラム６０６は、機密保護メッセージ６０２を扱うために機密保護オブジェクトが作成されてアドレス指定可能な記憶装置６０８内に格納されるように、機密保護メッセージ６０２を処理する。この例では、機密情報が機密保護メッセージ６０６から抽出され、この機密情報を扱うために機密オブジェクトが作成されてアドレス指定可能な記憶装置６０８内に格納される。
【００３８】
アドレス指定可能な記憶装置６０８内のオブジェクト（６１０，６１２，６１４）が到達不能であると検出されたとき、機密保護ガーベージコレクター・モジュール６１６はワイプ機能６１８を呼び出すことによって該オブジェクト（６１０，６１２，６１４）が使っていたメモリー６０８を確実に回収する。随意に、全てのガーベージコレクションがワイプ機能６１８を使い、これにより全てのオブジェクト（６１０，６１２，６１４）を機密扱いする。しかし、ガーベージコレクション・モジュール６１６は、ワイプ機能６１８を使えるオブジェクトのタイプを変更する可能性があることが理解されなければならない。例えば、ガーベージコレクション・モジュール６１６は、到達不能の機密オブジェクト６１０に対してのみ、或いは到達不能の機密保護オブジェクト６１２に対してのみ、或いはこれらの組み合わせに対してワイプ機能６１８を使用するように構成されて良い。更に、ガーベージコレクション・モジュール６１６は、１つ以上のソフトウェア・プログラムの到達不能のオブジェクトに対してワイプ機能６１８を使用するように構成されて良い。その様なアプローチは、機密情報への認可されていないアクセスを阻止するために機密保護ガーベージコレクションを始動する。メモリーが不足したときだけではなくてオブジェクト（機密オブジェクトなど）が到達不能になったときに機密保護ガーベージコレクションが始動される。
【００３９】
図７に示されている無線装置など、多様な移動装置が本書に開示されているシステム及び方法を利用することができる。図７を参照すると、無線装置９００は、好ましくは、少なくとも音声及びデータ通信能力を有する双方向通信装置である。装置９００は、好ましくは、インターネット上の他のコンピュータシステムと通信する能力を有する。該装置により提供される機能性により、装置９００は、データ・メッセージ通信装置、双方向ページャー、データ・メッセージ通信能力付きセルラー電話、無線インターネット装置或いはデータ通信装置（電話能力を持っていたり持っていなかったりする）と称されて良い。
【００４０】
装置９００が双方向通信用に動作可能にされるときには、装置９００は通信サブシステム９１１を含むことができ、これは受信装置９１２、送信装置９１４、及び付随するコンポーネントを含み、この付随コンポーネントは、１つ以上の好ましくは埋め込み式の或いは内部のアンテナ素子９１６及び９１８、局部発振器（ＬＯ）９１３、及びディジタル信号処理装置（ＤＳＰ）９２０等の処理モジュールなどである。通信分野の専門家にとっては明らかであるように、通信サブシステム９１１の具体的デザインは、該装置が動作するように意図された通信ネットワークに依存する。例えば、北米市場向けの装置９００はＭｏｂｉｔｅｘ移動通信システム又はＤａｔａＴＡＣ移動通信システム内で動作するように設計された通信サブシステム９１１をおそらく含むであろうし、欧州用の装置９００は一般パケット無線サービス（ＧＰＲＳ）通信サブシステム９１１をおそらく含むであろう。
【００４１】
一般に、装置９００は、該装置とセルラーネットワークとの相互作用及び該ネットワークが提供するサービスを通じて機密保護情報及び機密情報を取得又は作成することができる。セルラーネットワークと、該ネットワークが提供するサービスとの例は、大体は音声サービス及び一定のデータサービスを提供する符号分割多重アクセス（ＣＤＭＡ）ネットワーク及びグローバルサービスモバイル（ＧＳＭ）ネットワークを含む。音声サービスは、通常は簡素な旧式電話サービス（ＰＯＴＳ）と両立する。一定のセルラーネットワークではショートメッセージサービス（ＳＭＳ）及び無線アプリケーション・プロトコル（ＷＡＰ）が利用できる。ＭｏｂｉＴｅｘ（商標）、Ｄａｔａｔａｃ（商標）などのデータネットワーク及び一般パケット無線サービス（ＧＰＲＳ）及びユニバーサル移動通信システム（ＵＭＴＳ）などの高度ネットワークは、適切に構成された無線移動装置がｅ−メール、ウェブ・ブラウジング、ＳＭＳ、ＷＡＰ及びＰＩＭなどのデータサービスを提供することを可能にする。将来のネットワークはおそらくビデオサービスも提供するであろう。従って、機密情報のソースはたくさんある。
【００４２】
ネットワーク・アクセス要件もネットワーク９１９のタイプによりまちまちであろう。例えば、Ｍｏｂｉｔｅｘ及びＤａｔａＴＡＣネットワークでは、９００等の移動装置は、各装置に関連する独特の個人識別番号即ちＰＩＮを用いてネットワークに登録される。しかし、ＧＰＲＳネットワークでは、ネットワーク・アクセスは装置９００の加入者又はユーザに関連付けられる。従って、ＧＰＲＳ装置は、ＧＰＲＳネットワークで動作するためには、一般にＳＩＭカードと呼ばれる加入者アイデンティティー・モジュール（図示されていない）を必要とする。ＳＩＭカードが無ければ、ＧＰＲＳ装置は十分に機能しない。局所的な又は非ネットワーク通信機能（もしあれば）は動作可能であろうが、装置９００はネットワーク９１９を介する通信に関わる如何なる機能も実行することはできないであろう。所要のネットワーク登録又は起動手続きが完了すれば、装置９００はネットワーク９１９を介して通信信号を送受信することができる。通信ネットワーク９１９を通してアンテナ９１６により受信された信号は受信装置９１２に入力され、これは、信号増幅、周波数下降変換、フィルタリング、チャネル選択などのような一般的受信装置機能を実行することができ、また図７に示されている実例システムではアナログディジタル変換を実行することができる。受信された信号をアナログディジタル変換すれば、復調及び復号のようなより複雑な通信機能をＤＳＰ９２０で実行することが可能となる。同様に、送信されることになる信号はＤＳＰ９２０によって例えば変調及び符号化を含む処理をされ、そしてディジタルアナログ変換、周波数上昇変換、フィルタリング、増幅及びアンテナ９１８を介しての通信ネットワーク９１９での送信のために送信装置９１４に入力される。
【００４３】
ＤＳＰ９２０は、通信信号を処理するだけではなくて、受信装置及び送信装置の制御にも備える。例えば、受信装置９１２及び送信装置９１４で通信信号に加えられる利得は、ＤＳＰ９２０で実行される自動利得制御アルゴリズムを通して適応的に制御され得る。
【００４４】
装置９００は好ましくはマイクロプロセッサ９３８を含み、これは装置の全体的動作を制御する。少なくともデータ通信及び音声通信を含む通信機能は、通信サブシステム９１１を通して実行される。マイクロプロセッサ９３８は、ディスプレイ９２２、フラッシュメモリー９２４、ランダムアクセスメモリー（ＲＡＭ）９２６、補助入出力（Ｉ／Ｏ）サブシステム９２８、シリアルポート９３０、キーボード９３２、スピーカー９３４、マイクロフォン９３６、短距離通信サブシステム９４０及び全体として９４２で示されているその他の装置サブシステムなどの更なる装置サブシステムとも相互作用する。
【００４５】
図７に示されているサブシステムのうちの或るものは通信関連機能を実行するが、その他のサブシステムは“常駐”の又は装置搭載の機能を提供することができる。特に、例えばキーボード９３２及びディスプレイ９２２などの一部のサブシステムは、通信ネットワークを介して送信されるテキストメッセージを入力するなどの通信関連機能と計算器又はタスクリストなどの装置常駐機能との両方のために使用され得るものである。
【００４６】
図２のエレメント１１０であって良いマイクロプロセッサ９３８により使用されるオペレーティングシステム・ソフトウェアは好ましくはフラッシュメモリー９２４などの永続的記憶装置に格納されるが、このメモリーは、図３ａのエレメント８０であって良く、またその代わりに読み出し専用メモリー（ＲＯＭ）又は同様の記憶エレメントであっても良く、或いは図２，３ａ及び３ｂのアドレス指定可能な記憶装置１２０の一部分であっても良い。オペレーティングシステム、具体的装置アプリケーション、或いはその部分を、図２のエレメント２０であって良いＲＡＭ９２６などの揮発性記憶装置に一時的にロードしても良いことを当業者は理解するであろう。受信された通信信号をＲＡＭ９２６に格納し得るということも考えられる。フラッシュメモリー９２４は、好ましくはデータ通信モジュール９２４Ｂを含み、装置９００が音声通信用に動作可能にされるときには音声通信モジュール９２４Ａを含む。本発明の目的上、フラッシュメモリー９２４には他のソフトウェア・モジュール９２４Ｎも含まれ、これは図２のマイクロプロセッサ・ソフトウェア１４０であって良い。
【００４７】
マイクロプロセッサ９３８は、そのオペレーティングシステム機能に加えて、好ましくは該装置でのソフトウェア・アプリケーションの実行を可能にする。例えば少なくともデータ・アプリケーション及び音声通信アプリケーションを含む基本的装置動作を制御するアプリケーションの所定集合が普通は製造時に装置９００にインストールされる。装置にロードできる好ましいアプリケーションは、ｅ−メール、カレンダー・イベント、音声メール、予約、及びタスク・アイテムなどの（これらに限定はされない）装置ユーザに関連するデータ・アイテムを組織し管理する能力を有するパーソナル情報マネージャー（ＰＩＭ）アプリケーションであろう。当然、装置へのＰＩＭデータ・アイテムの格納を容易にするために利用し得る１つ以上の記憶装置が装置で利用可能であろう。この様なＰＩＭアプリケーションは、好ましくは、無線ネットワークを介してデータ・アイテムを送受信する能力を有する。好ましい実施態様では、ＰＩＭデータ・アイテムは無線ネットワークを介してシームレスに統合、同期化及び更新され、装置ユーザの対応するデータ・アイテムはホストコンピュータ・システムに格納され或いは関連付けられる。更なるアプリケーションを、ネットワーク９１９、補助Ｉ／Ｏサブシステム９２８、シリアルポート９３０、短距離通信システム９４０又は他の任意の適切なサブシステム９４２を通して装置９００にロードし、マイクロプロセッサ９３８により実行されるようにユーザによりＲＡＭ９２６又は好ましくは不揮発性記憶装置（図示されていない）にインストールすることができる。アプリケーションのインストレーションがこの様に柔軟であるので、装置の機能性が向上し、強化された装置搭載機能、通信関連機能、またはこれら両方が提供され得る。例えば、機密保護通信アプリケーションは、電子商業機能及び他のその様な財務取引を装置９００を用いて実行することを可能にすることができる。
【００４８】
データ通信モードでは、テキスト・メッセージ或いはウェブページ・ダウンロードなどの受信された信号は通信サブシステム９１１によって処理されてマイクロプロセッサ９３８に入力され、これは好ましくはその受信された信号をディスプレイ９２２に、或いはその代わりに補助Ｉ／Ｏ装置９２８に出力するために、更に処理する。装置９００のユーザは、キーボード９３２を用いて例えばｅ−メール・メッセージなどのデータ・アイテムを作成することもでき、これは好ましくはディスプレイ９２２及び場合によっては補助Ｉ／Ｏ装置９２８と関連する完全な英数字キーボード又は電話型キーパッドである。その様に作成されたアイテムは、通信サブシステム９１１を通して通信ネットワークで送信されて良い。
【００４９】
音声通信については、受信された信号が好ましくはスピーカー９３４に出力され、送信される信号がマイクロフォン９３６により作られる点を除いて、装置９００の全体としての動作は実質的に同様である。音声メッセージ記録サブシステムなどの、代わりの音声システム又はオーディオＩ／Ｏサブシステムも装置９００で実現されて良い。音声又はオーディオ信号出力は好ましくは主としてスピーカー９３４を通して達成されるけれども、例えば電話を掛けた人のアイデンティティー、音声通話の持続時間、或いはその他の音声通話関連情報の表示を提供するためにディスプレイ９２２を使用することもできる。
【００５０】
シリアルポート９３０は、普通は、ユーザのデスクトップコンピュータ（図示されていない）と同期することが望ましいパーソナルディジタルアシスタント（ＰＤＡ）型の通信装置で実現されるが、オプションの装置コンポーネントである。この様なポート９３０は、ユーザが外部装置又はソフトウェアアプリケーションを通して好みをセットすることを可能にし、また無線通信ネットワークを通す方法以外の方法で行われる装置９００への情報又はソフトウェアのダウンロードに備えることによって装置の能力を拡張する。この代わりのダウンロード経路を使用して、例えば直接的で従って確実で信頼できる接続を通して暗号化キーを装置にロードし、これにより機密保護装置通信を可能にすることができる。
【００５１】
短距離通信サブシステム９４０は、装置９００といろいろなシステム又は装置（これらは必ずしも類似する装置でなくても良い）との間の通信に備えることのできる更なるオプションのコンポーネントである。例えば、サブシステム９４０は、赤外線装置及び関連する回路及びコンポーネントを含むことができ、或いは同様に動作可能にされているシステム及び装置との通信に備えるＢｌｕｅｔｏｏｔｈ（商標）通信モジュールを含むことができる。
【００５２】
好ましい動作方法を含めて本発明の好ましい実施態様を詳しく説明したが、多様なエレメント及びステップでこの動作を実行できることが理解されなければならない。この好ましい実施態様は、実例として提示されたに過ぎず、本発明の範囲を限定するように意図されたものではない。この明細書は、同様に本発明のエレメントに対応する代わりのエレメントを有する実施例を当業者が作って使用することをおそらく可能にするであろう。従って、本発明の意図された範囲は、本明細書の文字どおりの言葉と異ならない他の構造、システム又は方法を包含し、更に本明細書の文字どおりの言葉と大差の無い他の構造、システム又は方法も包含する。
【図面の簡単な説明】
【００５３】
【図１】図１は、公知のガーベージコレクターを用いる無参照符オブジェクト間の代表的ヒープの状態を示す。
【図２】図２は、本発明の実施態様に従う代表的な機密保護ガーベージコレクション・システムを示すブロック図である。
【図３】図３ａは、代表的暗号メッセージ観察アプリケーションにおけるＲＡＭ及びフラッシュ内のオブジェクトを特徴とする、図２のアドレス指定可能な記憶装置の例の物理的ビューを詳しく示すブロック図である。図３ｂは、図３ａの論理ビューを示すブロック図である。
【図４】図４は、本発明の実施態様に従う移動装置において機密保護ガーベージコレクションをトリガーする方法の例を示す流れ図である。
【図５】図５は、本発明の実施態様に従って無参照符オブジェクトを確実にガーベージコレクションする機密保護ガーベージコレクション方法例を示す流れ図である。
【図６】図６は、移動装置において機密保護ガーベージコレクションに用いるソフトウェア・コンポーネントを示すブロック図である。
【図７】図７は、代表的無線装置のコンポーネントの略図である。
【図１】
2005521133.tif 000003
【図２】
2005521133.tif 000004
【図３】
2005521133.tif 000005
【図４】
2005521133.tif 000006
【図５】
2005521133.tif 000007
【図６】
2005521133.tif 000008
【図７】
2005521133.tif 000009
【国際調査報告】
2005521133.tif 000010
2005521133.tif 000011
2005521133.tif 000012
2005521133.tif 000013
2005521133.tif 000014
2005521133.tif 000015
2005521133.tif 000016