(57)【要約】【課題】現行のＭＩＤｌｅｔに機能を追加し、効率的に拡張することができる方法を実現することにある。【解決手段】本発明に係る方法は、ＭＩＤｌｅｔに機能を追加し拡張するための一以上のファイル１０４が提供される。パッケージ化構成部１０６はＭＩＤｌｅｔ機能拡張部１０８を生成するためにファイル１０４をパッケージ化するとともに、ＭＩＤｌｅｔ機能拡張部１０８用の記述子１１２を生成し、この記述子１１２に拡張プロパティ１１４を追加する。この拡張プロパティ１１４は、ＭＩＤｌｅｔ機能拡張部１０８をＭＩＤｌｅｔの拡張として認識し、ＭＩＤｌｅｔ機能拡張部１０８を容易に見つけ出すものである。【選択図】図１
2006286003.tif 000002
【特許請求の範囲】
【請求項１】
１以上のＭＩＤｌｅｔスイート、および１以上のダウンロード用ＭＩＤｌｅｔ記述子を提供するサーバシステムにおいて、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、
ＭＩＤｌｅｔに機能を追加し拡張するための、１以上のファイルを提供するステップと、
ＭＩＤｌｅｔ機能拡張部を生成するように上記１以上のファイルをパッケージ化するステップと、
上記ＭＩＤｌｅｔ機能拡張部用の記述子を生成するステップと、
少なくとも１つの拡張プロパティを上記記述子に追加するステップとを含み、該少なくとも１つの拡張プロパティが、上記ＭＩＤｌｅｔ機能拡張部を上記ＭＩＤｌｅｔに対する拡張であると認識し、該ＭＩＤｌｅｔ機能拡張部の発見を容易としており、
さらに、上記記述子をＭＩＤｌｅｔ機能拡張部に関連付けるステップを含むことを特徴とする方法。
【請求項２】
上記少なくとも１つの拡張プロパティは、
拡張されたＭＩＤｌｅｔの名前を識別する名前プロパティと、
拡張されたＭＩＤｌｅｔのベンダを識別するベンダプロパティと、
拡張されたＭＩＤｌｅｔのバージョンを識別するバージョンプロパティと、を有することを特徴とする請求項１に記載の方法。
【請求項３】
上記少なくとも１つの拡張プロパティは、拡張識別子を有することを特徴とする請求項１に記載の方法。
【請求項４】
移動通信機器により上記記述子が発見されるステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
上記記述子を移動通信機器に転送する旨の要求を、該移動通信機器から受信するステップと、
上記要求に対する応答として、上記記述子を上記移動通信機器に転送するステップと、を含むことを特徴とする請求項１に記載の方法。
【請求項６】
上記ＭＩＤｌｅｔ機能拡張部を上記移動通信機器に転送する旨の要求を、該移動通信機器から受信するステップと、
上記要求に対する応答として、上記ＭＩＤｌｅｔ機能拡張部を、上記移動通信機器に転送するステップと、を含むことを特徴とする請求項１に記載の方法。
【請求項７】
移動通信機器において、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、
サーバからＭＩＤｌｅｔ機能拡張部用の記述子を受信するステップを含み、該ＭＩＤｌｅｔ機能拡張部は、ＭＩＤｌｅｔに機能を追加し拡張するための、１つ以上のファイルを有しており、
さらに、上記記述子からの情報をユーザに提供するステップと、
ユーザから、上記ＭＩＤｌｅｔ機能拡張部をダウンロードする旨のダウンロード要求を受信するステップと、
上記ダウンロード要求に対する応答として、サーバに対して、上記ＭＩＤｌｅｔ機能拡張部を移動通信機器に転送する旨の要求を送信するステップと、
上記ＭＩＤｌｅｔのコピーを受信することなく、上記ＭＩＤｌｅｔ機能拡張部をサーバから受信するステップと、
上記ＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールするステップと、を含むことを特徴とする方法。
【請求項８】
上記ＭＩＤｌｅｔ機能拡張部のインストールに応じて、上記ＭＩＤｌｅｔに関連付けられた、システムレベルの拡張プロパティをアップデートするステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
ユーザから、上記ＭＩＤｌｅｔ機能拡張部をアンインストールする旨の、アンインストール要求を受信するステップと、
上記アンインストール要求に対して、上記ＭＩＤｌｅｔをアンインストールすることなく、上記ＭＩＤｌｅｔ機能拡張部を、当該移動通信機器からアンインストールするステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項１０】
上記ＭＩＤｌｅｔ機能拡張部のアンインストールに応じて、上記ＭＩＤｌｅｔに関連付けられた、システムレベルの機能拡張プロパティをアップデートするステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
移動通信機器において、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、
ユーザからＭＩＤｌｅｔを呼び出す旨の要求を受信するステップと、
この要求に応じて上記ＭＩＤｌｅｔを呼び出すステップと、
当該移動通信機器に、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部をインストールすることを決定するステップと、
上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、
上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含むことを特徴とする方法。
【請求項１２】
上記ＭＩＤｌｅｔと上記ＭＩＤｌｅｔ機能拡張部とをリンクするステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
上記ＭＩＤｌｅｔに関連付けられたシステムレベルの拡張プロパティの問い合わせを行うステップを含む、上記ＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールすることを決定するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
上記ＭＩＤｌｅｔ機能拡張部に関連付けられた記述子において拡張プロパティを問い合わせるステップを含む、該ＭＩＤｌｅｔ機能拡張部を発見するステップをさらに有することを特徴とする請求項１１に記載の方法。
【請求項１５】
現行のＭＩＤｌｅｔに機能を追加し拡張するための方法を実行するように構成された移動通信機器であって、
プロセッサと、
上記プロセッサと電気的に通信しているメモリとを備え、該メモリ内には命令が記憶されており、
上記命令が、
ＭＩＤｌｅｔを呼び出す旨のユーザからの要求を受信するステップと、
この要求に応じて、上記ＭＩＤｌｅｔを呼び出すステップと、
ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールすることを決定するステップと、
さらに上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、
上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含む方法を実行可能とすることを特徴とする移動通信機器。
【請求項１６】
現行のＭＩＤｌｅｔに機能を追加し拡張する方法を実施するための、実行可能な命令を含むコンピュータで読み取り可能な記録媒体であって、
上記方法が、
ＭＩＤｌｅｔを呼び出す旨のユーザからの要求を受信するステップと、
この要求に対する応答としてＭＩＤｌｅｔを呼び出すステップと、
移動通信機器に、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部をインストールすることを決定するステップと、
上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、
上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含むことを特徴とする記録媒体。
【請求項１７】
ＭＩＤｌｅｔに機能を追加し拡張するための１つ以上のファイルであるＭＩＤｌｅｔ機能拡張部を取得する取得手段と、
上記取得手段により取得したＭＩＤｌｅｔ機能拡張部を、自装置においてインストールするインストール手段と、を備えることを特徴とする移動通信機器。
【請求項１８】
上記ＭＩＤｌｅｔ機能拡張部に関する情報である機能拡張部情報を含む記述子を取得する記述子取得手段と、
上記記述子取得手段によって取得された記述子から上記機能拡張部情報を抽出し出力する出力手段と、
上記出力手段によって出力された機能拡張部情報に応じて、ユーザから、該機能拡張部情報に対応するＭＩＤｌｅｔ機能拡張部のダウンロード指示を受け付けた場合、上記取得手段が上記記述子取得手段によって取得された記述子に対応するＭＩＤｌｅｔ機能拡張部を取得することを特徴とする請求項１７に記載の移動通信機器。
【請求項１９】
ユーザから、ＭＩＤｌｅｔ機能拡張部をアンインストールする旨の要求を受け付けた場合、上記ＭＩＤｌｅｔ機能拡張部に対応する記述子に基づき、インストールされているＭＩＤｌｅｔから上記ＭＩＤｌｅｔ機能拡張部のみをアンインストールするアンインストール手段を備えることを特徴とする請求項１７または１８に記載の移動通信機器。
【請求項２０】
請求項１７〜１９のいずれか１項に記載の移動通信機器と、
上記機能拡張部を保持しており、上記移動通信機器からのＭＩＤｌｅｔ機能拡張部の送信要求に応じて該ＭＩＤｌｅｔ機能拡張部を送信する送信手段を有するサーバシステムと、を備えることを特徴とする機能拡張システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般的なコンピュータとコンピュータ関連の技術である。とりわけ、機能を追加するように、移動通信機器にてアプリケーションを拡張するシステム、およびその方法に関するものである。
【背景技術】
【０００２】
近年、コンピュータ技術は急速に発展し続けている。実際に、コンピュータは、ビジネス、産業、および学術的な試みのほとんど全ての局面で用いられており、コンピュータ技術の進歩に伴い、ビジネスおよび工業の生産性が大いに増大している。また、多くの家庭でもコンピュータが用いられるようになってきている。
【０００３】
今日では、実に多くの種類のコンピュータが用いられている。なお、本明細書において「コンピュータシステム」という用語は、所望の結果を得るために情報処理を行うことのできる装置または装置の組み合わせを示すものとする。そして、このコンピュータシステムとしては、例えば、パーソナルコンピュータ、携帯用コンピュータ、携帯情報端末（ＰＤＡ）、サーバ、メインフレーム、スーパコンピュータ、ミニコンピュータ、ワークステーション、マイクロコンピュータ、マイクロコントローラなどが挙げられる。
【０００４】
ところで、Ｊａｖａ（登録商標）は、あらゆるハードウェアのプラットホームでそのまま実行可能なアプリケーションを作り出すために設計された、オブジェクト指向のプログラミング言語である。このＪａｖａプログラミング言語で記述されたソースコードは、バイトコードにコンパイルされる。そして、このバイトコードは、Ｊａｖａ仮想マシン(ＪＶＭ)で実行される。なお、このＪａｖａ仮想マシンとは、Ｊａｖａバイトコードをハードウェア上で利用可能なコードに翻訳するホストハードウェアにおいてネイティブコードで記述したプログラムである。
【０００５】
Ｊａｖａ２プラットホーム対応、マイクロ・エディション（Ｊ２ＭＥ）は、プログラマーが上記Ｊａｖａプログラミング言語を用いて、携帯電話、携帯情報端末（ＰＤＡ；Personal Digital Assistance）、ページャなど、組み込み機器用のアプリケーションを開発することを可能にする技術である。なお、本明細書において、これらのような装置を移動通信機器と総称する。
【０００６】
また、モバイル情報デバイスプロファイル（ＭＩＤＰ；Mobile Information Device Profile）は、アーキテクチャ、および、ＭＩＤ用のアプリケーション開発環境を容易に実現させるための、関連するアプリケーションプログラミングインターフェース（ＡＰＩ；Application Program Interface）を定義するものである。そして、このＭＩＤＰ用に作成されたアプリケーションを、ＭＩＤｌｅｔと称する。また、ＭＩＤｌｅｔスイートとは、Ｊａｖａクラスファイル、およびＭＩＤｌｅｔの一部として使用可能な、例えば画像のようなコンテンツファイルを集めたものである。また、これらＭＩＤｌｅｔスイートにおけるファイルは、Ｊａｖａアーカイブ（ＪＡＲ）ファイル内に格納可能であり、ＭＩＤｌｅｔスイートは１つのＭＩＤｌｅｔを含むものであってもよいし、あるいは複数のＭＩＤｌｅｔを含むものであってもよい。なお、ここで用いられているように、ＭＩＤｌｅｔという用語は、独立型のＭＩＤｌｅｔ、またはＭＩＤｌｅｔスイートの一部であるＭＩＤｌｅｔを指すものである。
【０００７】
アプリケーションのパッケージ化に関しては例えば特許文献１が挙げられる。
【０００８】
ところで、現行のＭＩＤｌｅｔに機能を付加することが望ましいという状況が望まれる場合がある。この状況を実現する１つの方法としては、追加の機能を有する、新しいバージョンのＭＩＤｌｅｔを生成することが挙げられる。この追加の機能を手に入れるために、ユーザは新しいバージョンのＭＩＤｌｅｔ全体をそのままダウンロードすればよい。
【０００９】
また、その他、ソフトウェアの機能の追加または拡張に関する技術として特許文献２〜４が挙げられるが、これらの公知文献は、ＭＩＤｌｅｔ、すなわち固有のＪａｖａ実行環境におけるアプリケーションの機能の追加に関するものではない。
【特許文献１】米国特許第６６７５３８２号明細書（１９９９年６月１４日出願）
【特許文献２】国際公開第２００４／０２８１８２号パンフレット（２００４年４月１日公開）
【特許文献３】米国特許出願公開第２００３／００８１００２号明細書（２００３年５月１日公開）
【特許文献４】米国特許出願公開第２００３／００５６１９４号明細書（２００３年３月２０日公開）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記したＭＩＤｌｅｔのアップデート方法は非効率的であるといった問題がある。より具体的には、この新しいバージョンのＭＩＤｌｅｔは、旧バージョンのＭＩＤｌｅｔと同様のファイルをいくつか含んでいる。このため、ＭＩＤｌｅｔのファイルには複数回ダウンロードされるものがあり、新バージョンのＭＩＤｌｅｔをダウンロードすることは幾分非効率的となる。それゆえ、現行のＭＩＤｌｅｔに対して付加的な機能を提供するためのシステムおよび方法を改善することによって利点を得ることができる。本発明は上記の問題点に鑑みてなされたものであり、その目的は、現行のＭＩＤｌｅｔに機能を追加し、効率的に拡張することができる方法、記録媒体、移動通信機器、および機能拡張システムを実現することにある。
【課題を解決するための手段】
【００１１】
本発明に係る方法は、上記した課題を解決するために、１以上のＭＩＤｌｅｔスイート、および１以上のダウンロード用ＭＩＤｌｅｔ記述子を提供するサーバシステムにおいて、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、ＭＩＤｌｅｔに機能を追加し拡張するための、１以上のファイルを提供するステップと、ＭＩＤｌｅｔ機能拡張部を生成するように上記１以上のファイルをパッケージ化するステップと、上記ＭＩＤｌｅｔ機能拡張部用の記述子を生成するステップと、少なくとも１つの拡張プロパティを上記記述子に追加するステップとを含み、該少なくとも１つの拡張プロパティが、上記ＭＩＤｌｅｔ機能拡張部を上記ＭＩＤｌｅｔに対する拡張であると認識し、該ＭＩＤｌｅｔ機能拡張部の発見を容易としており、さらに、上記記述子をＭＩＤｌｅｔ機能拡張部に関連付けるステップを含むことを特徴とする。
【００１２】
上記した方法によると、サーバシステムは、ＭＩＤｌｅｔ機能拡張部を生成するための１以上のファイルをパッケージ化するステップを含むため、ＭＩＤｌｅｔの機能を拡張させるためのファイルを纏め、ＭＩＤｌｅｔ機能拡張部とすることができる。このため、ＭＩＤｌｅｔ機能拡張部のみを単独で扱うことができる。
【００１３】
また、このＭＩＤｌｅｔ機能拡張部用の記述子を生成し拡張プロパティを追加させることができるため、この記述子によってＭＩＤｌｅｔ機能拡張部を管理することができる。
【００１４】
このように、本発明に係る方法では、ＭＩＤｌｅｔ機能拡張部のみを他のファイル等から分離して扱うことができ、また、このＭＩＤｌｅｔ機能拡張部が記述子により管理することができるため、ＭＩＤｌｅｔ機能拡張部のみを独立して提供することができる。
【００１５】
したがって、ＭＩＤｌｅｔを新たな機能が追加された新しいバージョンに拡張する場合
、サーバシステムがＭＩＤｌｅｔ機能拡張部のみを提供することができ、例えば、新バージョンのＭＩＤｌｅｔ全体を、そのままを提供する構成と比較して、ＭＩＤｌｅｔの拡張を効率的に行うことができる。
【００１６】
よって、本発明に係る方法は、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００１７】
また、本発明に係る方法は、上記した方法において、上記少なくとも１つの拡張プロパティは、拡張されたＭＩＤｌｅｔの名前を識別する名前プロパティと、拡張されたＭＩＤｌｅｔのベンダを識別するベンダプロパティと、拡張されたＭＩＤｌｅｔのバージョンを識別するバージョンプロパティと、を有することが好ましい。
【００１８】
上記拡張プロパティが、名前プロパティ、ベンダプロパティ、およびバーションプロパティを有するため、この拡張プロパティを参照することで、機能拡張されたＭＩＤｌｅｔの名前、ベンダ、バージョンを識別することができる。
【００１９】
また、本発明に係る方法は、上記した方法において、上記少なくとも１つの拡張プロパティは、拡張識別子を有してもよい。
【００２０】
上記方法によると、拡張プロパティが拡張識別子を有しているため、該拡張識別子を参照することにより、ＭＩＤｌｅｔ機能拡張部を上記ＭＩＤｌｅｔに対する拡張であると認識し、該ＭＩＤｌｅｔ機能拡張部の発見を容易とすることができる。
【００２１】
また、本発明に係る方法は、上記した方法において、移動通信機器により上記記述子が発見されるステップをさらに含むことが好ましい。
【００２２】
また、本発明に係る方法は、上記した方法において、上記記述子を移動通信機器に転送する旨の要求を、該移動通信機器から受信するステップと、上記要求に対する応答として、上記記述子を上記移動通信機器に転送するステップと、を含んでいてもよい。
【００２３】
また、本発明に係る方法は、上記した方法において、上記ＭＩＤｌｅｔ機能拡張部を上記移動通信機器に転送する旨の要求を、該移動通信機器から受信するステップと、上記要求に対する応答として、上記ＭＩＤｌｅｔ機能拡張部を上記移動通信機器に転送するステップと、を含んでいることが好ましい。
【００２４】
また、本発明に係る方法は、上記した課題を解決するために、移動通信機器において、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、サーバからＭＩＤｌｅｔ機能拡張部用の記述子を受信するステップを含み、該ＭＩＤｌｅｔ機能拡張部は、ＭＩＤｌｅｔに機能を追加し拡張するための、１つ以上のファイルを有しており、さらに、上記記述子からの情報をユーザに提供するステップと、ユーザから、上記ＭＩＤｌｅｔ機能拡張部をダウンロードする旨のダウンロード要求を受信するステップと、上記ダウンロード要求に対する応答として、サーバに対して、上記ＭＩＤｌｅｔ機能拡張部を移動通信機器に転送する旨の要求を送信するステップと、上記ＭＩＤｌｅｔのコピーを受信することなく、上記ＭＩＤｌｅｔ機能拡張部をサーバから受信するステップと、上記ＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールするステップと、を含むことを特徴とする。
【００２５】
上記方法によると、サーバから移動通信機器が記述子を受信するステップを含むため、移動通信機器は、ＭＩＤｌｅｔを拡張する１つ以上のファイルを有するＭＩＤｌｅｔ機能拡張部に関する情報を得ることができる。
【００２６】
また、記述子からの情報をユーザに提供するステップを含むため、移動通信機器のユーザは、上記ＭＩＤｌｅｔ機能拡張部に関する情報を把握することができ、該該ＭＩＤｌｅｔ機能拡張部のサーバからの取得の要否を判定することができる。
【００２７】
また、ユーザからのダウンロード要求に応じて、ＭＩＤｌｅｔ全体のコピーを受信することなく、ＭＩＤｌｅｔ機能拡張部をサーバから受信することができる。すなわち、本発明に係る方法は、ユーザが所望するＭＩＤｌｅｔ機能拡張部のみをサーバから受信することができる。このため、移動通信機器がインストールしているＭＩＤｌｅｔを新たな機能が追加された新しいバージョンに拡張する場合、追加された機能を含むＭＩＤｌｅｔ全体をそのままダウンロードする構成と比較して、受信するデータ量を低減させることができる。よって、本発明に係る方法は、移動通信機器において、機能を追加するように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００２８】
また、本発明に係る方法は、上記した方法において、上記ＭＩＤｌｅｔ機能拡張部のインストールに応じて、上記ＭＩＤｌｅｔに関連付けられた、システムレベルの拡張プロパティをアップデートするステップをさらに含んでいてもよい。
【００２９】
上記方法によると、上記ＭＩＤｌｅｔ機能拡張部のインストールに応じて、上記ＭＩＤｌｅｔに関連付けられた、システムレベルの拡張プロパティをアップデートすることができるため、拡張プロパティをＭＩＤｌｅｔ機能拡張部のインストール後のＭＩＤｌｅｔに対応するものとすることができる。
【００３０】
また、本発明に係る方法は、上記した方法において、ユーザから、上記ＭＩＤｌｅｔ機能拡張部をアンインストールする旨の、アンインストール要求を受信するステップと、上記アンインストール要求に対して、上記ＭＩＤｌｅｔをアンインストールすることなく、上記ＭＩＤｌｅｔ機能拡張部を、当該移動通信機器からアンインストールするステップと、を含むことが好ましい。
【００３１】
上記方法によると、上記ＭＩＤｌｅｔをアンインストールすることなく、上記ＭＩＤｌｅｔ機能拡張部を、当該移動通信機器からアンインストールすることができるため、ＭＩＤｌｅｔの初期化を効率的に行うことができる。
【００３２】
また、本発明に係る方法は、上記した方法において、上記ＭＩＤｌｅｔ機能拡張部のアンインストールに応じて、上記ＭＩＤｌｅｔに関連付けられた、システムレベルの拡張プロパティをアップデートするステップをさらに含むことが好ましい。
【００３３】
また、本発明に係る方法は、上記した課題を解決するために、移動通信機器において、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、ユーザからＭＩＤｌｅｔを呼び出す旨の要求を受信するステップと、この要求に応じて上記ＭＩＤｌｅｔを呼び出すステップと、当該移動通信機器に、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部をインストールすることを決定するステップと、上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含むことを特徴とする。
【００３４】
上記方法によると、移動通信機器は、自装置にインストールしているＭＩＤｌｅｔと、発見したＭＩＤｌｅｔ機能拡張部とをそれぞれ呼び出し、該ＭＩＤｌｅｔに該ＭＩＤｌｅｔ機能拡張部をインストールすることを決定することができる。
【００３５】
したがって、本発明に係る方法は、ＭＩＤｌｅｔに対してＭＩＤｌｅｔ機能拡張部を効率よくインストールすることができる。
【００３６】
また、本発明に係る方法は、上記した方法において、上記ＭＩＤｌｅｔと上記ＭＩＤｌｅｔ機能拡張部とをリンクするステップをさらに含んでいてもよい。
【００３７】
上記方法によると、上記ＭＩＤｌｅｔと上記ＭＩＤｌｅｔ機能拡張部とをリンクさせるため、該ＭＩＤｌｅｔと該ＭＩＤｌｅｔ機能拡張部とは、例えば互いのクラス、コンテンツにアクセスできる。
【００３８】
また、本発明に係る方法は、上記した方法において、上記ＭＩＤｌｅｔに関連付けられたシステムレベルの拡張プロパティの問い合わせを行うステップを含む、上記ＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールすることを決定するステップをさらに含むことが好ましい。
【００３９】
また、本発明に係る方法は、上記した方法において、上記ＭＩＤｌｅｔ機能拡張部に関連付けられた記述子において拡張プロパティを問い合わせるステップを含む、該ＭＩＤｌｅｔ機能拡張部を発見するステップをさらに有してもよい。
【００４０】
また、本発明に係る移動通信機器は、上記した課題を解決するために、現行のＭＩＤｌｅｔに機能を追加し拡張するための方法を実行するように構成された移動通信機器であって、プロセッサと、上記プロセッサと電気的に通信しているメモリとを備え、該メモリ内には命令が記憶されており、上記命令が、ＭＩＤｌｅｔを呼び出す旨のユーザからの要求を受信するステップと、この要求に応じて、上記ＭＩＤｌｅｔを呼び出すステップと、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールすることを決定するステップと、さらに上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含む方法を実行可能とすることを特徴とする。
【００４１】
したがって、本発明に係る移動通信機器は、現行のＭＩＤｌｅｔに対してＭＩＤｌｅｔ機能拡張部のみをインストールすることができるため、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００４２】
本発明に係る記録媒体は、上記した課題を解決するために、現行のＭＩＤｌｅｔに機能を追加し拡張する方法を実施するための、実行可能な命令を含むコンピュータで読み取り可能な記録媒体であって、上記方法が、ＭＩＤｌｅｔを呼び出す旨のユーザからの要求を受信するステップと、この要求に対する応答としてＭＩＤｌｅｔを呼び出すステップと、移動通信機器に、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部をインストールすることを決定するステップと、上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含むことを特徴とする。
【００４３】
また、本発明に係る移動通信機器は、上記した課題を解決するために、ＭＩＤｌｅｔに機能を追加し拡張するための１つ以上のファイルであるＭＩＤｌｅｔ機能拡張部を取得する取得手段と、上記取得手段により取得したＭＩＤｌｅｔ機能拡張部を、自装置においてインストールするインストール手段と、を備えることを特徴とする。
【００４４】
上記構成によると取得手段およびインストール手段を備えているため、ＭＩＤｌｅｔを拡張するために、ＭＩＤｌｅｔ機能拡張部を取得し自装置にインストールすることができる。このように、本発明に係る移動通信機器は、機能を追加するようにＭＩＤｌｅｔを拡張するために、ＭＩＤｌｅｔ機能拡張部のみを取得する構成であるため、例えば、機能が追加された新バージョンのＭＩＤｌｅｔ全体をそのままダウンロードする構成と比較して、ＭＩＤｌｅｔの拡張を効率的に行うことができる。
【００４５】
したがって、本発明に係る移動通信機器は、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００４６】
また、本発明に係る移動通信機器は、上記した構成において、上記ＭＩＤｌｅｔ機能拡張部に関する情報である機能拡張部情報を含む記述子を取得する記述子取得手段と、上記記述子取得手段によって取得された記述子から上記機能拡張部情報を抽出し出力する出力手段と、上記出力手段によって出力された機能拡張部情報に応じて、ユーザから、該機能拡張部情報に対応するＭＩＤｌｅｔ機能拡張部のダウンロード指示を受け付けた場合、上記取得手段が上記記述子取得手段によって取得された記述子に対応するＭＩＤｌｅｔ機能拡張部を取得するように構成されていてもよい。
【００４７】
また、本発明に係る移動通信機器は、上記した構成において、ユーザから、ＭＩＤｌｅｔ機能拡張部をアンインストールする旨の要求を受け付けた場合、上記ＭＩＤｌｅｔ機能拡張部に対応する記述子に基づき、インストールされているＭＩＤｌｅｔから上記ＭＩＤｌｅｔ機能拡張部のみをアンインストールするアンインストール手段を備えるように構成されていてもよい。
【００４８】
本発明に係る機能拡張システムは、上記した課題を解決するために、上記移動通信機器と、上記機能拡張部を保持しており、上記移動通信機器からのＭＩＤｌｅｔ機能拡張部の送信要求に応じて該ＭＩＤｌｅｔ機能拡張部を送信する送信手段を有するサーバシステムと、を備えることを特徴とする。
【００４９】
したがって、本発明に係る機能拡張システムは、移動通信機器は、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【発明の効果】
【００５０】
本発明に係る方法は、以上のように、１以上のＭＩＤｌｅｔスイート、および１以上のダウンロード用ＭＩＤｌｅｔ記述子を提供するサーバシステムにおいて、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、ＭＩＤｌｅｔに機能を追加し拡張するための、１以上のファイルを提供するステップと、ＭＩＤｌｅｔ機能拡張部を生成するように上記１以上のファイルをパッケージ化するステップと、上記ＭＩＤｌｅｔ機能拡張部用の記述子を生成するステップと、少なくとも１つの拡張プロパティを上記記述子に追加するステップとを含み、該少なくとも１つの拡張プロパティが、上記ＭＩＤｌｅｔ機能拡張部を上記ＭＩＤｌｅｔに対する拡張であると認識し、該ＭＩＤｌｅｔ機能拡張部の発見を容易としており、さらに、上記記述子をＭＩＤｌｅｔ機能拡張部に関連付けるステップを含むことを特徴とする。
【００５１】
よって、本発明に係る方法は、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００５２】
本発明に係る方法は、以上のように、移動通信機器において、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、サーバからＭＩＤｌｅｔ機能拡張部用の記述子を受信するステップを含み、該ＭＩＤｌｅｔ機能拡張部は、ＭＩＤｌｅｔに機能を追加し拡張するための、１つ以上のファイルを有しており、さらに、上記記述子からの情報をユーザに提供するステップと、ユーザから、上記ＭＩＤｌｅｔ機能拡張部をダウンロードする旨のダウンロード要求を受信するステップと、上記ダウンロード要求に対する応答として、サーバに対して、上記ＭＩＤｌｅｔ機能拡張部を移動通信機器に転送する旨の要求を送信するステップと、上記ＭＩＤｌｅｔのコピーを受信することなく、上記ＭＩＤｌｅｔ機能拡張部をサーバから受信するステップと、上記ＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールするステップと、を含むことを特徴とする。
【００５３】
よって、本発明に係る方法は、移動通信機器において、機能を追加するように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００５４】
本発明に係る方法は、以上のように、現行のＭＩＤｌｅｔに機能を追加し拡張する方法であって、ユーザからＭＩＤｌｅｔを呼び出す旨の要求を受信するステップと、この要求に応じて上記ＭＩＤｌｅｔを呼び出すステップと、当該移動通信機器に、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部をインストールすることを決定するステップと、上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含むことを特徴とする。
【００５５】
したがって、本発明に係る方法は、ＭＩＤｌｅｔに対してＭＩＤｌｅｔ機能拡張部を効率よくインストールすることができる。
【００５６】
本発明に係る移動通信機器は、以上のように、本発明に係る移動通信機器は、上記した課題を解決するために、現行のＭＩＤｌｅｔに機能を追加し拡張するための方法を実行するように構成された移動通信機器であって、プロセッサと、上記プロセッサと電気的に通信しているメモリとを備え、該メモリ内には命令が記憶されており、上記命令が、ＭＩＤｌｅｔを呼び出す旨のユーザからの要求を受信するステップと、この要求に応じて、上記ＭＩＤｌｅｔを呼び出すステップと、ＭＩＤｌｅｔに機能を追加し拡張するためのＭＩＤｌｅｔ機能拡張部を当該移動通信機器にインストールすることを決定するステップと、さらに上記ＭＩＤｌｅｔ機能拡張部を発見するステップと、上記ＭＩＤｌｅｔ機能拡張部を呼び出すステップと、を含む方法を実行可能とすることを特徴とする。
【００５７】
したがって、本発明に係る移動通信機器は、現行のＭＩＤｌｅｔに対してＭＩＤｌｅｔ機能拡張部のみをインストールすることができるため、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００５８】
本発明に係る移動通信機器は、以上のように、ＭＩＤｌｅｔに機能を追加し拡張するための１つ以上のファイルであるＭＩＤｌｅｔ機能拡張部を取得する取得手段と、上記取得手段により取得したＭＩＤｌｅｔ機能拡張部を、自装置においてインストールするインストール手段と、を備えることを特徴とする。
【００５９】
したがって、本発明に係る移動通信機器は、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【００６０】
本発明に係る機能拡張システムは、以上のように、上記移動通信機器と、上記機能拡張部を保持しており、上記移動通信機器からのＭＩＤｌｅｔ機能拡張部の送信要求に応じて該ＭＩＤｌｅｔ機能拡張部を送信する送信手段を有するサーバシステムと、を備えることを特徴とする。
【００６１】
したがって、本発明に係る機能拡張システムは、移動通信機器は、機能を追加できるように現行のＭＩＤｌｅｔを効率的に拡張することができるという効果を奏する。
【発明を実施するための最良の形態】
【００６２】
本発明の実施形態に係る、アプリケーションに機能を追加し拡張するためのシステムおよびその方法の実施例を以下に説明する。なお、本発明に係る実施形態は、付属図面（図１〜図９）を伴った以下の記述と請求項とによってより明らかにされるであろう。また、これらの図面は単に実施形態の一例を示しているだけであり、本発明の範囲を限定するものではない。つまり付属図面は、本発明の実施形態の一例をさらに具体的かつ詳細に説明するものである。
【００６３】
現行のＭＩＤｌｅｔに機能を追加し、拡張するためのシステムおよび方法について説明する。本実施の形態に係る方法は、ダウンロードのための１つ以上のＭＩＤｌｅｔスイートとＭＩＤｌｅｔ記述子を提供するサーバシステムとによって実現される。そして、ＭＩＤｌｅｔに機能を追加し、拡張するための、１つ以上のファイルが提供される。また、パッケージ化構成部は、ＭＩＤｌｅｔ機能拡張部を形成するために１つ以上のファイルをパッケージする。さらにまた、パッケージ化構成部は、ＭＩＤｌｅｔ機能拡張部用の記述子も形成する。
【００６４】
また、この記述子には、少なくとも１つの拡張プロパティ(extension property)が追加される。なお、この少なくとも１つの拡張プロパティは、ＭＩＤｌｅｔに対する拡張部としてＭＩＤｌｅｔ機能拡張部を識別し、このＭＩＤｌｅｔ機能拡張部の発見を容易とするものである。拡張プロパティの例としては、機能拡張されたＭＩＤｌｅｔの名前を識別する、名前プロパティが挙げられる。また、機能拡張されたＭＩＤｌｅｔのベンダを識別する、ベンダプロパティが挙げられる。さらにまた、機能拡張されたＭＩＤｌｅｔのバージョンを識別する、バージョンプロパティがある。なお、この少なくとも１つの拡張プロパティは、拡張識別子を含んでおり、また、上記記述子は、ＭＩＤｌｅｔ機能拡張部と関連付けられている。
【００６５】
また、このサーバシステムでは、移動通信機器（ＭＩＤ）により上記記述子が発見できるようになっている。すなわち、サーバシステムは、移動通信機器（ＭＩＤ）から、上記記述子を該移動通信機器（ＭＩＤ）に転送する旨の要求を受信する。この要求に応じて、サーバシステムは、この記述子を移動通信機器（ＭＩＤ）に転送する。また、サーバシステムは、ＭＩＤｌｅｔ機能拡張部を上記移動通信機器（ＭＩＤ）に転送する旨の要求を、該移動通信機器（ＭＩＤ）から受信する。そして、この要求に応じて、サーバシステムは、ＭＩＤｌｅｔ機能拡張部を移動通信機器（ＭＩＤ）に転送する。
【００６６】
なお、本発明に係る方法は、下記に示す方法であるとも言える。すなわち、モバイル情報デバイスプロファイルを実行するサーバシステム１０２によって実施される方法である。この方法では、現行のＭＩＤｌｅｔに機能を追加し拡張するための一以上のファイル１０４が提供される。このファイル１０４は、Ｊａｖａクラスファイル、コンテンツ（例えば、画像）などを含む。パッケージ化構成部１０６はＭＩＤｌｅｔ機能拡張部１０８を生成するためにファイル１０４をパッケージ化するとともに、ＭＩＤｌｅｔ機能拡張部１０８用の記述子１１２を生成し、この記述子１１２に拡張プロパティ１１４を追加する。この拡張プロパティ１１４は、ＭＩＤｌｅｔ機能拡張部１０８をＭＩＤｌｅｔの拡張として認識し、ＭＩＤｌｅｔ機能拡張部１０８を容易に見つけ出すものである。この記述子１１２はＭＩＤｌｅｔ機能拡張部１０８に関連付けられている。
【００６７】
また、上述した本実施の形態に係る方法を実施するための構成を有するサーバシステムについて記載する。このサーバシステムは、プロセッサ、およびこのプロセッサと電気的に通信しているメモリとを備えている。そして、このメモリ内には命令が記憶されている。そして、この命令によって、上記した本実施の形態に係る方法を実行可能とする。また、上述した本実施の形態に係る方法を実施するための実行可能な命令を格納するコンピュータで読み取り可能な記録媒体もまた開示する。
【００６８】
また、本発明の別の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張するための方法は、移動通信機器（ＭＩＤ）によって実行できるものである。すなわち、移動通信機器（ＭＩＤ）は、サーバからＭＩＤｌｅｔ機能拡張部用の記述子を受信する。なお、このＭＩＤｌｅｔ機能拡張部には、ＭＩＤｌｅｔに機能を追加し拡張するための複数ファイルが含まれている。また、上記記述子からの情報は、ユーザに提供される。アプリケーションマネージャは、ユーザからＭＩＤｌｅｔ機能拡張部をダウンロードする旨のダウンロード要求を受信する。このダウンロード要求に応じて、アプリケーションマネージャは、ＭＩＤｌｅｔ機能拡張部を、移動通信機器（ＭＩＤ）に転送する旨の要求をサーバに送信する。サーバがこの要求を満たすと、ＭＩＤｌｅｔの余分なコピーを受信することなく、移動通信機器（ＭＩＤ）がＭＩＤｌｅｔ機能拡張部をサーバから受信する。そして、インストーラが、移動通信機器（ＭＩＤ）においてＭＩＤｌｅｔ機能拡張部をインストールする。また、このアプリケーションマネージャは、ＭＩＤｌｅｔ機能拡張部のインストールに応じて、ＭＩＤｌｅｔと関連付けられた、システムレベルでの拡張プロパティをアップデートする。
【００６９】
またある時点において、アプリケーションマネージャは、ＭＩＤｌｅｔ機能拡張部をアンインストールする旨のアンインストール要求をユーザから受信する。このアンインストール要求に応じて、アプリケーションマネージャは、ＭＩＤｌｅｔをアンインストールすることなくＭＩＤｌｅｔ機能拡張部を、移動通信機器（ＭＩＤ）においてアンインストールする。また、ＭＩＤｌｅｔに関連付けられた、システムレベルの拡張プロパティも、ＭＩＤｌｅｔ機能拡張部のアンインストールに応じて、アップデートされる。
【００７０】
さらにまた、本発明の別の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張する方法について記述する。この方法は、移動通信機器（ＭＩＤ）によって実行されるものである。すなわち、移動通信機器（ＭＩＤ）は、ユーザから、ＭＩＤｌｅｔを呼び出す旨の要求を受信する。この要求に応じて、移動通信機器（ＭＩＤ）が有するアプリケーションマネージャがこのＭＩＤｌｅｔを呼び出す。
【００７１】
そして、移動通信機器（ＭＩＤ）は、当該移動通信機器（ＭＩＤ）にＭＩＤｌｅｔ機能拡張部をインストールすることを決定する。なお、いくつかの実施例では、このステップにおいて、上記ＭＩＤｌｅｔに関連付けられたシステムレベルの拡張プロパティの問い合わせを含んでいてもよい。そして、アプリケーションマネージャは、ＭＩＤｌｅｔ機能拡張部を発見する。なお、このステップにおいて、ＭＩＤｌｅｔ機能拡張部に関連付けられた記述子にて、拡張プロパティの問い合わせを行う。そして、このアプリケーションマネージャは、ＭＩＤｌｅｔ機能拡張部を呼び出す。なお、このＭＩＤｌｅｔとＭＩＤｌｅｔ機能拡張部とは、互いのクラス（class）、コンテンツ（content files）にアクセスできるようにリンクしている。
【００７２】
また、上記に述べた、一つ以上の実施の形態に係る方法を実施するように構成された移動通信機器（ＭＩＤ）についても開示する。すなわち、上記移動通信機器（ＭＩＤ）は、プロセッサ、およびこのプロセッサと電気的に通信しているメモリとを備えている。そして、このメモリ内には命令が記憶されている。そして、この命令によって、上記した１つ以上の本実施の形態に係る方法を実行可能とする。また、上述した１つ以上の本実施の形態に係る方法を実施するための実行可能な命令を格納するコンピュータで読み取り可能な記録媒体もまた開示する。
【００７３】
ここで、本発明に係る様々な実施形態について、図面を参照して説明する。なお、図面において、類似した参照符号は、同一のまたは機能的に類似した構成要素を示すものとする。また、概略的に記述され、これら図面によって示されているように、本発明に係る実施形態は、多種多様な構成で配置し設定することができる。したがって、図にて示すように、以下において詳述する本発明に係るいくつかの典型的な実施形態は、請求の範囲に記載されている本発明の範囲を限定することを意図したものではなく、単に本発明に係る実施形態を代表したものである。
【００７４】
なお、上記「典型的な」という用語は、ここでは単に「例、事例、説明となる」ことを意味しているだけであって、ここで「典型的な」ものとして説明されている実施形態は、必ずしも他の実施形態よりも好ましい、あるいは優れているものであると解釈されるべきではない。また、実施形態の様々な特徴が図中に示されているが、この図面は特に示唆されない限り、必ずしも縮尺どおりではない。
【００７５】
ここで開示された実施形態の多くの特性は、コンピュータソフトウェア、コンピュータのハードウェア、またはそれら両方の組み合わせとして実現できるものである。このようなソフトウェアとハードウェアとの互換性をはっきりと図示するために、概して、機能性の観点から、様々な構成部材を示している。このような機能性がハードウェアとして実現されるかソフトウェアとして実現されるかは、特定のアプリケーションおよびシステム全体により強いられた設計制約に依存するものである。また、当業者は各特定のアプリケーションごとに応じた、様々な方法で記述した上記機能性を実施することができるが、そのような実施の決定は、本発明の範囲から逸脱するものであると解釈されるべきではない。
【００７６】
上述した機能性をコンピュータソフトウェアとして実現する場合、このソフトウェアは、記憶装置に格納されている、および／または電気信号としてシステムバスまたはネットワークを介して伝送される、あらゆる種類のコンピュータへの命令、あるいはコンピュータ実行コードを含むものである。また、ここに記述した構成部材に関連した機能性を実現するためのソフトウェアは、１つの命令または多数の命令を含んでおり、また、様々な異なる命令セグメントを介し、異なるプログラム間で、およびいくつかの記憶装置にわたって配信される。
【００７７】
上述したように、上記モバイル情報デバイスプロファイル（ＭＩＤＰ）は、アーキテクチャ、ならびに携帯電話、携帯情報端末（ＰＤＡ）、ページャなどのような移動通信機器(ＭＩＤ)用のアプリケーション開発環境を容易に実現させる、関連するアプリケーションプログラミングインターフェース（ＡＰＩ）を規定するものである。そして、このＭＩＤＰ用に記述されたアプリケーションを、ＭＩＤｌｅｔと称する。なお、図１では、ＭＩＤｌｅｔに機能を追加し拡張するための、本実施の形態に係るシステム１００における構成部材を示す。このシステム１００は、１つ以上のＭＩＤｌｅｔスイートおよびダウンロード用の１つ以上のＭＩＤｌｅｔ記述子を提供するサーバシステム１０２を備えている。
【００７８】
また、アプリケーション開発者は、現行のＭＩＤｌｅｔ（図１では不図示）に機能を追加し拡張するための、１つ以上のファイル１０４を作成することができる。例えば、このファイル１０４によって、現行のゲーム対する追加レベルを提供することができる。なお、このファイル１０４は、Ｊａｖａクラスファイルや、例えば画像のようなコンテンツファイルなどを含んでいてもよい。
【００７９】
パッケージ化構成部１０６は、ＭＩＤｌｅｔ機能拡張部１０８を作成するために、ファイル１０４をパッケージ化するものである。いくつかの実施例では、このパッケージ化構成部１０６は、Ｊａｖａアーカイブツール(Java Achieve Tool)であってもよく、ファイル１０４をJＡＲ（Java archive）ファイルとともにパッケージ化する。
【００８０】
また、ＭＩＤＰの仕様に応じて、パッケージ化構成部１０６は、記述子を、ＭＩＤによるダウンロードに関して利用可能な各ＭＩＤｌｅｔ（またはＭＩＤｌｅｔスイート）用に生成する。この記述子は、ＭＩＤｌｅｔに関連付けられているが、該ＭＩＤｌｅｔからは分離されたファイルである。なお、このＭＩＤｌｅｔ用の記述子は、たとえばＭＩＤｌｅｔの名前、ＭＩＤｌｅｔのサイズなど、該ＭＩＤｌｅｔに関する情報を含んでいる。
【００８１】
また、図示した実施形態では、パッケージ化構成部１０６は、ＭＩＤｌｅｔ機能拡張部１０８用の記述子１１２を生成する。なお、この記述子１１２は、ＭＩＤｌｅｔ機能拡張部１０８に関連付けられ、かつ該ＭＩＤｌｅｔ機能拡張部１０８からは分離されたファイルである。また、記述子１１２は、ＭＩＤｌｅｔ機能拡張部１０８に関する情報を含んでいる。とりわけ、記述子１１２は、１以上の標準的なプロパティ１１３や、拡張プロパティ１１４などを含む様々なプロパティを有している。なお、この標準的なプロパティ１１３は、ＭＩＤＰの仕様において、すでに規定されているプロパティである。それに対して、拡張プロパティ１１４は、ＭＩＤＰの仕様において、規定されているものではない。つまり、この拡張プロパティ１１４は、現行のＭＩＤｌｅｔを拡張し、容易にＭＩＤｌｅｔ機能拡張部１０８を発見することができるように、該ＭＩＤｌｅｔ機能拡張部１０８を識別するものである。
【００８２】
図２では、本実施の形態に係る、ＭＩＤｌｅｔ機能拡張部１０８用の記述子２１２を示している。この記述子２１２は、すでにＭＩＤＰの仕様によって規定されている様々な標準的なプロパティ２１３を含んでいる。更に、この記述子２１２には、１以上の拡張プロパティ２１４があり、この拡張プロパティ２１４には名前プロパティ２１４ａ、ベンダプロパティ２１４ｂ、バージョンプロパティ２１４ｃなどがある。
【００８３】
ネームプロパティ２１４ａには、機能拡張されたＭＩＤｌｅｔの名前を識別する名前情報２１６ａを含んでいる。なお、いくつかの実施例では、この名前情報２１６ａを、「ＭＩＤｌｅｔ−Ｅｘｔｅｎｄｓ−Ｎａｍｅ」と設定するものとする。
【００８４】
また、ベンダプロパティ２１４ｂには、機能拡張されたＭＩＤｌｅｔのベンダを識別する、ベンダ情報２１６ｂを含んでいる。なお、いくつかの実施例では、このベンダ情報２１６ｂを、「ＭＩＤｌｅｔ−Ｅｘｔｅｎｄｓ−Ｖｅｎｄｏｒ」と設定するものとする。
【００８５】
また、バージョンプロパティ２１４ｃには、機能拡張されたＭＩＤｌｅｔのバージョンを識別する、バージョン情報２１６ｃを含んでいる。なお、いくつかの実施例では、バージョン情報２１６ｃを「ＭＩＤｌｅｔ−Ｅｘｔｅｎｄｓ−Ｖｅｒｓｉｏｎ」と設定する。
【００８６】
また、上記記述子２１２には他の拡張プロパティ２１４ｄも含まれる。なお、これらの他の拡張プロパティ２１４ｄは、オリジナルのＭＩＤｌｅｔが機能拡張を認識し、クラスファイルに対するエントリーポイントを得るために、オリジナルのＭＩＤｌｅｔによって定義される。そして、この拡張プロパティ２１４ｄにより、拡張対象を発見し、インスタンス化することができる。
【００８７】
図示する実施形態では、それぞれの拡張プロパティ２１４は拡張識別子２１８を含んでいる。上記ＭＩＤＰのＡＰＩは、ＭＩＤｌｅｔスイート若しくはＪＡＤからプロパティを抽出することが可能であり、(プロパティ名)がＳｙｓｔｅｍ．ｇｅｔＰｒｏｐｅｒｔｙという関数を提供する。また、この拡張識別子２１８は、ＭＩＤｌｅｔ機能拡張部からプロパティを抽出することを可能とする。なお、この拡張識別子２１８は、「＼Ｅｘｔｅｎｓｉｏｎ−＜ｎ＞＼」と設定されており、ここで「＜ｎ＞」は、機能拡張部の数（たとえば、<ｎ>は最初の機能拡張部では１となり、続く機能拡張部ごとに増加する）である。例えば、プロパティ「＼Ｅｘｔｅｎｓｉｏｎ−1＼ＭＩＤｌｅｔ−Ｎａｍｅ」は、ＭＩＤｌｅｔに対する最初の機能拡張部に関する名前を示している。
【００８８】
一度、ＭＩＤｌｅｔ機能拡張部と、それに付随する記述子とが作成されると、ＭＩＤは、記述子とＭＩＤｌｅｔ機能拡張部とをＭＩＤＰサーバシステムから発見し、ダウンロードすることが可能となる。なお、図３は、いくつかの実施例において、この機能を実現するために用いられる様々な構成部材を示す図である。
【００８９】
図３に示すシステム３００では、ＭＩＤＰサーバシステム３０２と電気的に通信している、移動通信機器（ＭＩＤ）３２０を備える構成である。そして、このＭＩＤ３２０は、アプリケーションマネージャ３２２を備えている。いくつかの実施例では、このアプリケーションマネージャ３２２は、Ｊａｖａアプリケーションマネージャ（Java Application Manager:ＪＡＭ）であってもよい。なお、ＭＩＤＰの仕様では、アプリケーションマネージャ３２２を、アプリケーションマネージャソフトウェア（Application Management Software；ＡＭＳ）と称する場合がある。
【００９０】
上記アプリケーションマネージャ３２２は、ＭＩＤｌｅｔのダウンロードおよび寿命（ライフサイクル）を管理するように構成されている。本実施の形態において、ＭＩＤｌｅｔ３４２に対する機能拡張部３０８が、ＭＩＤＰサーバ３０２からのダウンロード用に利用可能となると、上記アプリケーションマネージャ３２２は、ＭＩＤｌｅｔ機能拡張部３０８のダウンロードと寿命とを管理する。
【００９１】
さらに具体的にいうと、ある時点で、アプリケーションマネージャ３２２は、ＭＩＤ３２０に対して、ＭＩＤｌｅｔ機能拡張部３０８用の記述子３１２を転送する旨の要求３２４をＭＩＤＰサーバシステム３０２に送信する。なお、この要求３２４は、複数の記述子をＭＩＤ３２０に転送する旨の一般的な要求として含まれるものである。例えば、いくつかの実施例では、アプリケーションマネージャ３２２は、ＭＩＤＰサーバシステム３０２に対して、ＭＩＤ３２０で利用可能となる、いくつかの新しい記述子を転送するように定期的に要求している。
【００９２】
この要求３２４に応じて、ＭＩＤＰサーバシステム３０２が備える、リクエストハンドラ３３４は、記述子３１２をＭＩＤ３２０に転送する。そして、ＭＩＤ３２０では、アプリケーションマネージャ３２２が、リクエストハンドラ３３４から記述子３１２を受信すると、該記述子３１２からの情報３２８をＭＩＤ３２０のユーザに対して、ユーザインタフェース３２６を通じて提供する。このようにして、本実施の形態に係るＭＩＤ３２０は、ＭＩＤｌｅｔ機能拡張部３０８がダウンロード可能であることを、ユーザに通知するという効果を奏する。
【００９３】
ここで例えば、ゲーム（ＭＩＤｌｅｔ３４２）をＭＩＤ３２０にインストールすると仮定する。そして少なくとも１つの新しいレベルのゲーム（ＭＩＤｌｅｔ機能拡張部３０８）が利用可能となったものと仮定する。新しいレベルのゲームがダウンロード可能となったある時点で、アプリケーションマネージャ３２２は、ＭＩＤＰサーバシステム３０２から新しいレベルのゲームに関する記述子をダウンロードする。そして、アプリケーションマネージャ３２２は、記述子からの情報（例えばゲームの新しいレベルについての短い記述）をＭＩＤ３２０のユーザに対して表示する。このようにして、新しいレベルのゲームがダウンロード可能になったことをユーザに知らせることができる。
【００９４】
ここで、ユーザが、記述子３１２に対応するＭＩＤｌｅｔ機能拡張部（新しいレベルのゲーム）３０８をダウンロードする場合、ユーザは、このＭＩＤｌｅｔ機能拡張部３０８をダウンロードするために、要求３３０を、ユーザインタフェース３２６を通じてアプリケーションマネージャ３２２に送出する。そして、アプリケーションマネージャ３２２は、このユーザの要求３３０を受信する。
【００９５】
このユーザの要求３３０に応じて、アプリケーションマネージャ３２２は、ＭＩＤｌｅｔ機能拡張部３０８をＭＩＤ３２０に転送する旨の要求３３２を、ＭＩＤＰサーバシステム３０２に対して送信する。ＭＩＤＰサーバシステム３０２では、アプリケーションマネージャ３２２からの要求３３２を受信すると、リクエストハンドラ３３４が、この要求３３２を満たし、ＭＩＤｌｅｔ機能拡張部３０８をＭＩＤ３２０に転送する。
【００９６】
ある場合では、図３で示すシステム３００は、公知のＪ２ＭＥのシステムと比較していくつか有利な点を有している。上述したとおり、公知のＪ２ＭＥシステムでは、開発者は以前のバージョンのＭＩＤｌｅｔに対して、追加機能を含む新しいバージョンのＭＩＤｌｅｔを作ることができる。しかしながら、このＪ２ＭＥシステムでは、他のＭＩＤｌｅｔファイルから、新しい機能を実行するＭＩＤｌｅｔファイルを分離する仕組みがない。それ故、ＭＩＤにて実行する新しい機能を有するためには、すでにダウンロードされ、ＭＩＤにおいてインストールしているいくつかのファイルを含むような場合であっても、新しいバージョンのＭＩＤｌｅｔを全てダウンロードしなければならない。この方法では、いくつかのＭＩＤｌｅｔファイルを複数回ダウンロードしてインストールすることになるので非効率的となる。
【００９７】
これに対して、図３に示したシステム３００では、ＭＩＤ３２０のユーザは、オリジナルのＭＩＤｌｅｔ３４２をダウンロードすることなく、ＭＩＤｌｅｔ機能拡張部３０８だけをダウンロードすればよい。言い換えれば、ＭＩＤＰサーバシステム３０２からＭＩＤｌｅｔ機能拡張部３０８を、ＭＩＤ３２０に転送する場合、オリジナルのＭＩＤｌｅｔ３４２をＭＩＤ３２０に再転送する必要がない。つまり、オリジナルのＭＩＤｌｅｔ３４２がすでにＭＩＤ３２０にダウンロードされており、インストールされているので、ＭＩＤＰサーバシステム３０２とＭＩＤ３２０との両者のリソースをより効率的に使うこのような方法を提供できる。
【００９８】
ＭＩＤＰサーバシステム３０２からＭＩＤ３２０がＭＩＤｌｅｔ機能拡張部３０８を受信した場合、上記アプリケーションマネージャ３２２は、インストーラ３３６を呼び出す。そして、このインストーラ３３６は、アプリケーションマネージャ３２２からの指示に応じて、ＭＩＤｌｅｔ機能拡張部３０８をＭＩＤ３２０にインストールする。このようにＭＩＤｌｅｔ機能拡張部３０８がＭＩＤ３２０にインストールされると、アプリケーションマネージャ３２２は、オリジナルのＭＩＤｌｅｔ３４２に関連付けられた拡張プロパティ３４０をアップデートする。この拡張プロパティ３４０とは、システムレベルのプロパティであり、例えば、ＭＩＤ３２０により保持されているものである。すなわち、システム５００に関連するプロパティである。そして、この拡張プロパティ３４０は、ＭＩＤｌｅｔ３４２に関する機能拡張部がＭＩＤ３２０にいくつインストールされているかを示している。ある実施例では例えば、システムレベルの拡張プロパティ３４０の値がＮ（Ｎはゼロ以上の任意の整数）である場合、ＭＩＤ３２０には、ＭＩＤｌｅｔ３４２に対するＮ個の機能拡張部がインストールされることとなる。
【００９９】
図３に関連させ上述した議論では、ＭＩＤＰサーバシステム３０２からＭＩＤｌｅｔ機能拡張部３０８を発見し、ダウンロードし、インストールする、ＭＩＤ３２０の機能に焦点をあてて説明した。ところで、時々、ＭＩＤ３２０のユーザは、ＭＩＤ３２０にインストールした、１以上のＭＩＤｌｅｔ３４２を呼び出す構成であってもよい。またいくつかの実施例では、ＭＩＤｌｅｔ３４２を呼び出す際、ＭＩＤ３２０にインストールされているＭＩＤｌｅｔ３４２に対する、いくつかの機能拡張部（ＭＩＤｌｅｔ機能拡張部３０８）もまた自動的に呼び出すように構成されていてもよい。図４は、いくつかの実施例において、この機能を実行するように使用される様々な構成部材を示している。
【０１００】
この図４に示すシステム４００では、ＭＩＤ４２０において、ＭＩＤｌｅｔ４４２をすでにインストールしているものとする。そして、ＭＩＤｌｅｔ４４２に対する機能拡張部４０８もまた、ＭＩＤ４２０にインストールされているものとする。ユーザがＭＩＤｌｅｔ４４２の起動を所望する場合、該ユーザは、ユーザインタフェース４２６を通じて、ＭＩＤｌｅｔ４４２を起動する旨の要求４４６をアプリケーションマネージャ４２２に送出する。一方、この要求４４６に応じて、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ４４２を呼び出す。より具体的には、（もしＪＶＭ４４４が起動していなければ）アプリケーションマネージャ４２２が、Ｊａｖａ仮想マシン（Java virtual machine;ＪＶＭ）４４４を起動させ、ＭＩＤｌｅｔ４４２をＪＶＭ４４４にロードする。
【０１０１】
また、アプリケーションマネージャ４２２は、ＭＩＤ４２０にインストールされているＭＩＤｌｅｔ４４２に対する機能拡張部がいくつか存在しているかを決定する。図示した実施例では、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ４４２用の機能拡張部が、ＭＩＤ４２０にいくつインストールされているか、システムレベルの拡張プロパティ４４０に問い合わせることにより決定している。
【０１０２】
ここで、図示した実施形態では、アプリケーションマネージャ４２２は、ＭＩＤ４２０にインストールされたＭＩＤｌｅｔ４４２に対する一つの機能拡張部４０８があると決定する。そして、このアプリケーションマネージャ４２２は、機能拡張部４０８を発見する。言い換えれば、アプリケーションマネージャ４２２は、ＭＩＤ４２０にインストールされている他のＭＩＤｌｅｔ、および／またはＭＩＤｌｅｔ機能拡張部の中からＭＩＤｌｅｔ機能拡張部４０８を認識する。なお、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ４４２に関連付けられた記述子４１２における、拡張プロパティ４１４に問い合わせることで、ＭＩＤｌｅｔ機能拡張部４０８を発見することができる。
【０１０３】
このようにＭＩＤｌｅｔ機能拡張部４０８を発見すると、アプリケーションマネージャ４２２は、このＭＩＤｌｅｔ機能拡張部４０８を呼び出す。より具体的には、アプリケーションマネージャ４２２は、ＪＶＭ４４４にＭＩＤｌｅｔ機能拡張部４０８をロードする。なお、ＭＩＤｌｅｔ４４２とＭＩＤｌｅｔ機能拡張部４０８とは、互いのクラス、コンテンツファイルにアクセスできるように、ＭＩＤｌｅｔ４４２とＭＩＤｌｅｔ機能拡張部４０８とがリンクされている。
【０１０４】
上記した議論では、ＭＩＤ４２０のユーザがＭＩＤｌｅｔ４４２を呼び出すことに応じて、アプリケーションマネージャ４２２を含む、様々な構成部材の操作に焦点をおいて説明した。上記で述べたように、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ４４２のユーザによる呼び出しに応じて、ＭＩＤｌｅｔ４４２に対する機能拡張部４０８を、自動的に呼び出すように構成されていた。いくつかの実施例では、ＭＩＤ４２０のユーザは、ＭＩＤｌｅｔ４４２ではなく、ＭＩＤｌｅｔ機能拡張部４０８を呼び出す構成であってもよい。このような構成の場合、ユーザからのＭＩＤｌｅｔ機能拡張部４０８の呼び出しに応じて、アプリケーションマネージャ４２２は、自動的にオリジナルのＭＩＤｌｅｔ４４２を呼び出すように構成される。
【０１０５】
またある時点で、ＭＩＤのユーザは、ＭＩＤから、ＭＩＤｌｅｔ機能拡張部をアンインストールする事を決定することができる。いくつかの実施例では、オリジナルのＭＩＤｌｅｔをアンインストールしないで、ＭＩＤｌｅｔ機能拡張部をＭＩＤからアンインストールすることができる。なお、図５は、この機能を実現するために用いられる様々な構成部材について示している。
【０１０６】
より具体的には、図５に示したシステム５００では、ＭＩＤｌｅｔ５４２およびＭＩＤ５２０にインストールされているＭＩＤｌｅｔ５４２用のＭＩＤｌｅｔ機能拡張部５０８を有している。ＭＩＤｌｅｔ機能拡張部５０８のアンインストールを所望する場合、ユーザは、ユーザインタフェース５２６を通じて、ＭＩＤｌｅｔ機能拡張部５０８をアンインストールする旨の要求５４８をアプリケーションマネージャ５２２に送出する。この要求５４８に応じて、アプリケーションマネージャ５２２は、アンインストーラ５５０を呼び出す。このアンインストーラ５５０は、アプリケーションマネージャ５２２からの指示に応じて、ＭＩＤｌｅｔ機能拡張部５０８をアンインストールする。このアンインストーラによる機能拡張部５０８のアンインストールは下記のようにして実現できる。すなわち、ユーザからの指示に応じて、アップリケーションマネージャ５２２は、機能拡張部に関連する拡張プロパティを読み出す。そして、該拡張プロパティから、インストールされているＭＩＤｌｅｔ機能拡張部に関する情報を抽出し、ユーザインタフェース５２６を通じてユーザに示す。ユーザはこの示された情報に応じて、ＭＩＤｌｅｔ機能拡張部５０８をアンインストールするか否かを判断する。ここで、ユーザがアンインストールすると判断した場合、その旨を示す指示がユーザインタフェース５２６を通じてアプリケーションマネージャ５２２に送出される。アプリケーションマネージャ５２２は、ユーザから受信したこの指示に応じて、ユーザに示した上記拡張プロパティに対応するＭＩＤｌｅｔ機能拡張部５０８をアンインストールする。この方法の優れている点は、オリジナルのＭＩＤｌｅｔ５４２をアンインストールすることなく、ＭＩＤｌｅｔ機能拡張部５０８をアンインストールする点である。
【０１０７】
例えば、ＭＩＤｌｅｔ５４２がゲームであり、機能拡張部５０８がこのゲームに対して少なくとも一つのレベルを追加するものであるとする。ここで、追加したレベルがもはや不要となった場合、ユーザはゲームそのものをアンインストールすることなく、この追加のレベルをアンインストールできる。
【０１０８】
ＭＩＤｌｅｔ機能拡張部５０８がアンインストールされると、アプリケーションマネージャ５２２は、ＭＩＤｌｅｔ５４２用のＭＩＤｌｅｔ機能拡張部５０８がＭＩＤ５２０にいくつインストールされているかを示す、システムレベルの拡張プロパティ５４０をアップデートする。例えば、ＭＩＤｌｅｔ機能拡張部５０８のアンインストール前において、拡張プロパティ５４０の値が１であるとする。この場合、ＭＩＤ５２０には、ＭＩＤｌｅｔ５４２に対するＭＩＤｌｅｔ機能拡張部５０８が１つインストールされていることになる。ここで、ＭＩＤｌｅｔ機能拡張部５０８のアンインストール後において、アプリケーションマネージャ５２２が、上記値が「０」となるようにプロパティ５４０をアップデートしたとする。この場合、ＭＩＤ５２０にインストールされている、ＭＩＤｌｅｔ５４２に対するＭＩＤｌｅｔ機能拡張部５０８が無いということを示す。
【０１０９】
図６は、本実施の形態に係る、現行のＭＩＤｌｅｔに機能を追加し拡張する方法６００を示すものである。この方法６００は、ＭＩＤＰサーバシステム１０２が備える構成部材によって実行される。
【０１１０】
この方法６００では、まず、現行のＭＩＤｌｅｔに機能を追加し拡張するためのファイル１０４を提供する（Ｓ６０２）。なお、このファイル１０４は、例えばＪａｖａのクラスファイルや、コンテンツファイル（画像など）などである。そして、パッケージ化構成部１０６は、ＭＩＤｌｅｔ機能拡張部１０８を作成するため、このファイル１０４をパッケージ化する（Ｓ６０４）。そして、パッケージ化構成部１０６は、ＭＩＤｌｅｔ機能拡張部１０８用の記述子１１２を生成する（Ｓ６０６）。なお、上記で記載したように、記述子１１２は、ＭＩＤｌｅｔ機能拡張部１０８に関する情報を含む、分離したファイルである。
【０１１１】
次に、パッケージ化構成部１０６は、記述子１１２に対して１以上の拡張プロパティ１１４を追加する（Ｓ６０８）。なお、この拡張プロパティ１１４は、現行のＭＩＤｌｅｔに対して機能を拡張するＭＩＤｌｅｔ機能拡張部１０８を識別するとともに、ＭＩＤｌｅｔ機能拡張部１０８の発見を容易とするものである。拡張プロパティ１１４の例として、ネームプロパティ２１４ａ、ベンダプロパティ２１４ｂ、バージョンプロパティ２１４ｃなどが挙げられる。そして、パッケージ化構成部１０６は、この記述子１１２を、ＭＩＤｌｅｔ機能拡張部１０８と関連付ける（Ｓ６１０）。
【０１１２】
次いで、ＭＩＤ３２０により、ＭＩＤｌｅｔ機能拡張部１０８用の記述子１１２が発見される（Ｓ６１２）。そして、ＭＩＤＰサーバシステム１０２におけるリクエストハンドラ３３４は、ＭＩＤ３２０におけるアプリケーションマネージャ３２２から記述子１１２（記述子３１２）を該ＭＩＤ３２０に転送する旨の要求を受信する（Ｓ６１４）。これに応じて、リクエストハンドラ３３４は、上記要求を満たし、記述子１１２（記述子３１２）をＭＩＤ３２０に転送する（Ｓ６１６）。このようにリクエストハンドラ３３４から記述子１１２（記述子３１２）を受信すると、ＭＩＤ３２０では、アプリケーションマネージャ３２２が、該記述子３１２から得た情報３２８を、ユーザインタフェース３２６を通じてＭＩＤ３２０のユーザに対して提供する。
【０１１３】
ここで、提供された記述子３１２の情報から、ユーザがＭＩＤｌｅｔ機能拡張部１０８をダウンロードすることを決定した場合、該ユーザは、ＭＩＤｌｅｔ機能拡張部１０８のダウンロードの要求３３０を、ユーザインタフェース３２６を通じてアプリケーションマネージャ３２２に送出する。そして、アプリケーションマネージャ３２２が、ユーザからの要求３３０に応じて、ＭＩＤＰサーバシステム３０２に対して、ＭＩＤｌｅｔ機能拡張部１０８をＭＩＤ３２０に転送する旨の要求３３２を送信する。
【０１１４】
このようにして、リクエストハンドラ３３４は、ＭＩＤｌｅｔ機能拡張部１０８をＭＩＤ３２０に転送する旨の要求をＭＩＤ３２０におけるアプリケーションマネージャ３２２から受信する（Ｓ６１８）。そして、これに応じて、リクエストハンドラ３３４は、上記要求を満たし、ＭＩＤｌｅｔ機能拡張部１０８をＭＩＤ３２０に転送する（Ｓ６２０）。
【０１１５】
また、図７は、本発明の別の実施形態に係る、機能を追加するようにＭＩＤｌｅｔを拡張する方法７００を示す図である。この方法７００は、ＭＩＤ３２０が備える構成部材によって実行される。
【０１１６】
まず、ＭＩＤ３２０が、ＭＩＤｌｅｔ機能拡張部３０８用の記述子３１２を、ＭＩＤＰサーバシステム３０２から受信する（Ｓ７０２）。このように記述子３１２を受信すると、ＭＩＤ３２０が備えるアプリケーションマネージャ３２２は、記述子３１２から得た情報３２８を、ＭＩＤ３２０のユーザに対して提供する（Ｓ７０４）。例えば、ＭＩＤｌｅｔ機能拡張３０８によって提供される機能についての簡単な記述とともに、ＭＩＤｌｅｔ機能拡張部３０８の名が、ユーザに対して表示される。このことによってユーザは、ＭＩＤｌｅｔ機能拡張部３０８をダウンロードするか否かについて適宜決定することができる。
【０１１７】
ユーザがＭＩＤｌｅｔ機能拡張部３０８をダウンロードすることを決定した場合、アプリケーションマネージャ３２２は、ユーザから、ＭＩＤｌｅｔ機能拡張３０８をダウンロードする旨の要求３３０を受信する（Ｓ７０６）。このユーザの要求３３０に応じて、アプリケーションマネージャ３２２は、ＭＩＤｌｅｔ機能拡張部３０８をＭＩＤ３２０に転送する旨の要求３３２を、ＭＩＤＰサーバシステム３０２に送信する（Ｓ７０８）。ＭＩＤＰサーバシステム３０２がこの要求を満たすと、アプリケーションマネージャ３２２は、該ＭＩＤＰサーバシステム３０２からＭＩＤｌｅｔ機能拡張部３０８を受信する（Ｓ７１０）。ここで、ＭＩＤＰサーバシステム３０２は、ＭＩＤｌｅｔ機能拡張部３０８をＭＩＤ３２０に転送する際、オリジナルのＭＩＤｌｅｔ３４２を、ＭＩＤ３２０に再転送する必要はない。それ故、アプリケーションマネージャ３２２は、オリジナルＭＩＤｌｅｔ３４２のさらなるコピーを受信しない。
【０１１８】
このようにＭＩＤｌｅｔ機能拡張部３０８を受信すると、アプリケーションマネージャ３２２からの指示に応じて、インストーラ３３６は、ＭＩＤｌｅｔ機能拡張部３０８をインストールする（Ｓ７１２）。一方、アプリケーションマネージャ３２２は、ＭＩＤｌｅｔ３４２に関連付けられたシステムレベルの拡張プロパティ３４０をアップデートする（Ｓ７１４）。このシステムレベル拡張プロパティ３４０は、ＭＩＤ３２０にインストールされている、ＭＩＤｌｅｔ３４２用のＭＩＤｌｅｔ機能拡張部３０８がいくつあるのかを示している。
【０１１９】
ある時点でアプリケーションマネージャ３２２は、ユーザからＭＩＤｌｅｔ機能拡張部３０８をアンインストールする旨の要求（要求５４８）を受信する（Ｓ７１６）。この要求（要求５４８）に応じて、アプリケーションマネージャ３２２は、ＭＩＤｌｅｔ機能拡張部３０８（ＭＩＤｌｅｔ機能拡張部５０８）をアンインストールする（Ｓ７１８）。この方法の優れている点は、オリジナルのＭＩＤｌｅｔ３４２をアンインストールすることなく、ＭＩＤｌｅｔ機能拡張部３０８（ＭＩＤｌｅｔ機能拡張部５０８）がアンインストールされる点である。機能拡張部３０８（ＭＩＤｌｅｔ機能拡張部５０８）のアンインストールに応じて、アプリケーションマネージャ３２２は、ＭＩＤｌｅｔ３４２（ＭＩＤｌｅｔ５４２）に関連付けられたシステムレベルの拡張プロパティ３４０（拡張プロパティ５４０）をアップデートする（Ｓ７２０）。
【０１２０】
図８は、本発明の別の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張する方法８００について示すものである。なお、この方法８００は、ＭＩＤ４２０が備える構成部材により実行される。
【０１２１】
まず、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ４４２を呼び出す旨の要求（要求４４６）を、ＭＩＤ４２０のユーザから受信する（Ｓ８０２）。このユーザからのの要求（要求４４６）に応じて、上記アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ４４２を呼び出す（Ｓ８０４）。すなわち、いくつかの実施例では、ＭＩＤｌｅｔ４４２をＪＶＭ４４４に呼び出すことで実現される。
【０１２２】
次に、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ機能拡張部４０８を、ＭＩＤ４２０にインストールすることを決定する（Ｓ８０６）。なお、アプリケーションマネージャ４２２は、ＭＩＤ４２０においてＭＩＤｌｅｔ４４２用のＭＩＤｌｅｔ機能拡張部４０８がいくつインストールされているかを示す、システムレベルの拡張プロパティ４４０への問い合わせにより、この決定を行うことができる。
【０１２３】
そして、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ機能拡張部４０８を発見する（Ｓ８０８）。すなわち、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ機能拡張部４０８に関連付けられた記述子４１２における拡張プロパティ４１４に問い合わせることでＭＩＤｌｅｔ機能拡張を発見することができる。
【０１２４】
そして、アプリケーションマネージャ４２２は、ＭＩＤｌｅｔ機能拡張部４０８を呼び出す（Ｓ８１０）。すなわち、いくつかの実施例では、ＭＩＤｌｅｔ機能拡張部４０８をＪＶＭ４４４に読み出す構成であってもよい。また、ＭＩＤｌｅｔ４４２とＭＩＤｌｅｔ機能拡張４０８とが互いのクラスファイル、コンテンツファイルにアクセスできるように、ＭＩＤｌｅｔ４４２とＭＩＤｌｅｔ機能拡張４０８とがリンクしている（Ｓ８１２）。
【０１２５】
図９は、例えばＭＩＤＰサーバシステム１０２および／またはＭＩＤ３２０などのコンピュータシステム９０１において一般的に利用される主要なハードウェア構成を示す図である。この図示した構成部材は、物理的に同一構造内に配置されてもよいし、分離された筐体または構造内に配置されていてもよい。
【０１２６】
このコンピュータシステム９０１は、プロセッサ９０３、およびメモリ９０５を備える。このプロセッサ９０３は、コンピュータシステム９０１の動作を制御するものであり、マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ（ＤＳＰ）または他の公知となっている装置などによって実現できる。プロセッサ９０３は典型的には論理的、算術的な処理を、メモリ９０５に記憶されたプログラムの命令に基づいて実行する。
【０１２７】
ここで用いられる、メモリ９０５という用語は電子情報を記憶できる、電子機器全般として広く定義されるものあり、具体的にはＲＯＭ（read only memory）、ＲＡＭ(random access memory)、磁気ディスク、光ディスク、フラッシュメモリＲＡＭ、プロセッサ９０３を含むオンボードメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタなどによって実現できる。メモリ９０５は典型的には、プログラム命令および他の情報を保存する。プログラム命令をプロセッサ９０３が実行することにより、ここで明記した、いくつか、またはすべての方法を実施することができる。
【０１２８】
また、コンピュータシステム９０１は、他の電子デバイスと通信するための、１つ以上の通信インターフェース９０７も備える。通信インターフェース９０７は、有線通信技術に基づくものであってもよいし、無線通信技術に基づくものであってもよい。さらには、両方の技術に基づくものであってもよい。通信インターフェース９０７の種類としては、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）、イーサネット（登録商標）アダプタ、ＩＥＥＥ１３９４バスインタフェース、スモールコンピュータシステムインタフェース（ＳＣＳＩ）、赤外線（ＩＲ）通信ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線通信アダプタなどがある。
【０１２９】
また、上記コンピュータシステム９０１は、１つ以上の入力装置９０９、および出力装置９１１を備えている。この入力装置９０９の例としては、キーボード、マウス、マイクロフォン、遠隔制御装置、操作ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。出力装置９１１の例としては、スピーカ、プリンタなどがある。コンピュータシステムに典型的な出力装置としては、表示装置９１３が挙げられる。本明細書において開示した実施形態において用いられる表示装置９１３は、例えばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、ガスプラズマ、エレクトロルミネッセンスなど、あらゆる好適な映像投影技術を利用することができる。また、表示制御装置９１５は、メモリ９０５に保存されたデータを好適に、テキスト、画像、および／または動画に変換し、表示装置９１３で表示させることができるものである。
【０１３０】
もちろん、図９はコンピュータシステムの可能な構成の一例が記載されており、様々なほかのアーキテクチャや構成が利用可能である。
【０１３１】
また、情報と信号は、様々な異なる科学技術および技術によって表現することができる。上記した記述子を通して示すことができる、例えば、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップなどは、電圧、電流、電磁波、磁場、磁粒子、光子場、光子、若しくはこれらの組み合わせによって示すことができる。
【０１３２】
本明細書において開示した実施形態に関連して記述された、様々に示した論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェア、コンピュータソフトウェア、若しくはそれらを両者の組み合わせにより実現できる。このハードウェアとソフトウェアとの互換性を明確に説明するために、具体例として挙げた様々な構成部材、ブロック、モジュール、回路、および処理工程を、概してそれらの機能性に関して、上述した。そのような機能性がハードウェアとして実現されるかソフトウェアとして実現されるかについては、特定のアプリケーションおよびシステム全体により制限される設計制約に依存する。当業者は、上述の機能性を各特定の用途のために様々な方法で実施可能であるが、そのような実施の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【０１３３】
本明細書にて開示した実施形態に関連して記述した、様々な実施例での論理ブロック、モジュール、および回路を、汎用プロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）、特定用途向け集積回路(ＡＳＩＣ)、フィールド・プログラマブル・ゲート・アレイ信号（ＦＰＧＡ）、もしくは他のプログラム可能な論理回路、または個別ゲート、トランジスタ論理、個別のハードウェア構成部材、あるいは本実施の形態で示した機能性を実現できるように構成されたこれら各部材のあらゆる組み合わせによって、実行または実施可能とする。また、上記汎用プロセッサは、マイクロプロセッサであってもよいが、別法としては、従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。上記プロセッサは、コンピュータ・デバイスの組み合わせとして実装できる。
なお、このコンピュータ・デバイスの組み合わせとは、例えばＤＳＰおよびマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアと結合した１つ以上のマイクロプロセッサの組み合わせ、またはこれらの別の機器構成などである。
【０１３４】
ここで開示された上記実施形態に関連して記述された方法またはアルゴリズムによる上記ステップは、ハードウェア、プロセッサによって実行されるソフトウェア・モジュール、またはそれらの組み合わせにおいて直接実施されてもよい。また、このソフトウェア・モジュールを、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または公知となっている他のあらゆる形式の記録媒体に備える構成であってもよい。実施例では、上記記録媒体は、プロセッサに結合されていた。このようなプロセッサは、この記憶媒体から情報を読み取ったり、情報を書き込んだりすることができる。また、別の方法として、記録媒体をプロセッサと一体に構成してもよい。また、該プロセッサおよび記録媒体をＡＳＩＣに備える構成であってもよく、そして該ＡＳＩＣがユーザ端末に備えられていてもよい。また、別の方法として、プロセッサおよび記憶媒体を個別部品としてユーザ端末に備える構成であってもよい。
【０１３５】
本明細書で開示した方法では、この方法を達成するための１つ以上のステップまたは動作を含んでいる。また、この方法のステップおよび／または動作は、本発明の範囲から逸脱することなく、互いに入れ替えることができる。すなわち、上記実施形態を適切に作動させるためのステップまたは動作において特定の順序が要求されない場合、特定のステップおよび／または動作の特定の順序および／または使用は、本発明の範囲から逸脱することなく、変更することができる範囲である。
【０１３６】
本発明の特定の実施形態および応用例について図示し、説明したが、本発明は、明細書中において開示されたまさにその構成および構成要素に限定されるものではない。当業者には明白な様々な修正、変更、および変形が、本発明の精神と範囲とから逸脱することなく、ここで開示された本発明の上記方法およびシステムの配置、操作、および細部において可能である。
【０１３７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１３８】
本実施の形態に係る移動通信機器は、ＭＩＤｌｅｔに新たな機能を追加する必要がある場合、ＭＩＤｌｅｔを拡張するためのファイルである機能拡張部のみを、該機能拡張部に関する情報を含む記述子を参照してＭＩＤＰサーバシステムからダウンロードできる。このため、アプリケーションソフトを効率的に更新する必要がある装置において広く利用できる。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張するシステムの構成を示す図であり、このシステムは、ＭＩＤＰを実行するサーバシステム、ＭＩＤｌｅｔ機能拡張部、そして付随する記述子を備える。
【図２】ＭＩＤｌｅｔ機能拡張部用の記述子の実施例を示す図である。
【図３】ＭＩＤＰサーバシステムから記述子およびＭＩＤｌｅｔ機能拡張部を発見し、ダウンロードするために用いられる、ＭＩＤが備える様々な構成部材について示す図である。
【図４】ＭＩＤにインストールされた一つ以上のＭＩＤｌｅｔを呼び出すために用いられる、ＭＩＤが備える様々な構成部材について示す図である。
【図５】ＭＩＤからＭＩＤｌｅｔ機能拡張をアンインストールするために用いられる、ＭＩＤが備える様々な構成部材について示す図である。
【図６】本発明の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張する方法について示す図である。
【図７】本発明の別の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張する方法について示す図である。
【図８】本発明の別の実施形態に係る、ＭＩＤｌｅｔに機能を追加し拡張する方法について示す図である。
【図９】コンピュータシステムにおいて一般的に利用されている、主なハードウェア構成部材を示す図である。
【符号の説明】
【０１４０】
１００  システム（機能拡張システム）
１０２  ＭＩＤＰサーバシステム（サーバシステム）
１０４  ファイル
１０６  パッケージ化構成部
１０８  ＭＩＤｌｅｔ機能拡張部
１１２  記述子
１１４  拡張プロパティ
２１２  記述子
２１４ａ  名前プロパティ
２１４ｂ  ベンダプロパティ
２１４ｃ  バージョンプロパティ
２１６ａ  名前情報
２１６ｂ  ベンダ情報
２１６ｃ  バージョン情報
３００  システム（機能拡張システム）
３０２  ＭＩＤＰサーバシステム（サーバシステム）
３０８  ＭＩＤｌｅｔ機能拡張部
３１２  記述子
３２０  移動通信機器
３２２  アプリケーションマネージャ（取得手段・記述子取得手段・出力手段）
３２６  ユーザインタフェース（出力手段）
３３６  インストーラ（インストール手段）
３４０  プロパティ
３４２  ＭＩＤｌｅｔ
４００  システム（機能拡張システム）
４０８  ＭＩＤｌｅｔ機能拡張部
４１２  記述子
４１４  拡張プロパティ
４２０  移動通信機器
４２２  アプリケーションマネージャ（取得手段・記述子取得手段・出力手段）
４２６  ユーザインタフェース（出力手段）
４４０  プロパティ
４４２  ＭＩＤｌｅｔ
５００  システム（機能拡張システム）
５０８  ＭＩＤｌｅｔ機能拡張部
５２０  移動通信機器
５２２  アプリケーションマネージャ（取得手段・記述子取得手段・出力手段）
５２６  ユーザインタフェース（出力手段）
５４０  プロパティ
５４２  ＭＩＤｌｅｔ
５５０  アンインストーラ
９０１  コンピュータシステム
９０３  プロセッサ
９０５  メモリ
【図１】
2006286003.tif 000003
【図２】
2006286003.tif 000004
【図３】
2006286003.tif 000005
【図４】
2006286003.tif 000006
【図５】
2006286003.tif 000007
【図６】
2006286003.tif 000008
【図７】
2006286003.tif 000009
【図８】
2006286003.tif 000010
【図９】
2006286003.tif 000011