(57)【要約】無線通信システムの移動体端末用プラットフォーム・システムのミドルウエア・サービス・レイヤであって、該プラットフォーム・システムは、ソフトウエア・サービス・コンポーネント及びそこにロードされ、インストールされ、実行されたアプリケーション・ソフトウエアを有する、移動体端末プラットフォーム・アセンブリを含んでいる。ミドルウエア・サービス・レイヤは、移動体端末プラットフォーム・アセンブリにアプリケーション・ソフトウエアをロードし、インストールし、実行するために移動体端末プラットフォーム・アセンブリへのアクセスを提供する、少なくとも１つのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を含み、また同時に、少なくとも１つのＡＰＩを介してプラットフォーム・アセンブリをアプリケーションから分離させる。【特許請求の範囲】
【請求項１】
無線通信システムの移動体端末用のプラットフォーム・システムのミドルウエア・サービス・レイヤであって、前記プラットフォーム・システムが、ソフトウエア・サービス・コンポーネントを有する移動体端末プラットフォーム・アセンブリと、前記移動体端末プラットフォーム・アセンブリにロードされ、インストールされ、実行されるアプリケーション・ソフトウエアとを含み、前記ミドルウエア・サービス・レイヤが、前記移動体端末プラットフォーム・アセンブリにアプリケーション・ソフトウエアを、ロードし、インストールし、実行するために該アプリケーション・ソフトウエアに前記移動体端末プラットフォーム・アセンブリへのアクセスを提供する、少なくとも１つのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を備えることを特徴とするミドルウエア・サービス・レイヤ。
【請求項２】
前記ミドルウエア・サービス・レイヤが、前記移動体端末プラットフォーム・アセンブリのコンポーネントを備えることを特徴とする請求項１に記載のミドルウエア・サービス・レイヤ。
【請求項３】
前記少なくとも１つのＡＰＩそれぞれが、少なくとも１つのソフトウエア・モジュールを備えることを特徴とする請求項２に記載のミドルウエア・サービス・レイヤ。
【請求項４】
前記少なくとも１つのＡＰＩが、ネイティブＡＰＩドメイン及び非ネイティブＡＰＩドメインを含むことを特徴とする請求項２に記載のミドルウエア・サービス・レイヤ。
【請求項５】
前記少なくとも１つのＡＰＩが、Java（登録商標）実行環境ＡＰＩドメイン、オープン・アプリケーション・フレームワークＡＰＩドメイン、オープン・プラットフォームＡＰＩドメイン及びＵＩツールキットＡＰＩドメインの少なくとも１つを備えることを特徴とする請求項４に記載のミドルウエア・サービス・レイヤ。
【請求項６】
前記Java（登録商標）実行環境ＡＰＩドメインが、Java（登録商標）実行環境マネージャ・モジュール、Java（登録商標）アプリケーション・モジュール及びJava（登録商標）サポート・レイヤ・モジュールを含むことを特徴とする請求項５に記載のミドルウエア・サービス・レイヤ。
【請求項７】
前記オープン・アプリケーション・フレームワークＡＰＩドメインが、Java（登録商標）アプリケーションをインターセプトするアプリケーション・マネージャ、及び前記Java（登録商標）アプリケーションが前記Java（登録商標）実行環境ＡＰＩドメインを介して前記移動体端末プラットフォーム・アセンブリへアクセスするのを許可すべきか否かを決定する、セキュア・アクセス・マネージャ・モジュールを含むことを特徴とする請求項５に記載のミドルウエア・サービス・レイヤ。
【請求項８】
前記オープン・アプリケーション・フレームワークＡＰＩドメインが、アプリケーションの登録、インストール、開始、停止、アンインストール及び削除を処理するアプリケーション・マネージャ・モジュールを含むことを特徴とする請求項５に記載のミドルウエア・サービス・レイヤ。
【請求項９】
前記オープン・プラットフォームＡＰＩドメインが、前記移動体端末プラットフォーム・アセンブリのＯＳ特有の詳細事項を隠し、メッセージのルーティング／フィルタリング及びメッセージに関連したリソースの処理を含む実行時の複雑な処理からアプリケーションを解放する、ネイティブ・アプリケーション・コア・モジュールを含むことを特徴とする請求項５に記載のミドルウエア・サービス・レイヤ。
【請求項１０】
前記オープン・プラットフォームＡＰＩドメインが、アプリケーションによって使用され得る高いレベルのサービスを提供することにより、前記移動体端末プラットフォーム・アセンブリの機能を拡張する、ネイティブ拡張プラグイン・モジュールを含むことを特徴とする請求項５に記載のミドルウエア・サービス・レイヤ。
【請求項１１】
前記ＵＩツールキットＡＰＩドメインが、ユーザ・アプリケーションに対する前記ミドルウエア・サービス・レイヤにおけるユーザインタフェースを構築するのに使用され得る、視覚的オブジェクトのセットを提供することを特徴とする請求項５に記載のミドルウエア・サービス・レイヤ。
【請求項１２】
前記無線通信システムが、セルラ通信システムを含むことを特徴とする請求項１に記載のミドルウエア・サービス・レイヤ。
【請求項１３】
前記セルラ通信システムが、第３世代のセルラ通信システムを含むことを特徴とする請求項１２に記載のミドルウエア・サービス・レイヤ。
【請求項１４】
無線通信システム用のプラットフォーム・システムの移動体端末プラットフォーム・アセンブリであって、
ソフトウエア・サービス・コンポーネントと、
ミドルウエア・サービス・レイヤ・コンポーネントとを備え、該ミドルウエア・サービス・レイヤ・コンポーネントが、前記移動体端末プラットフォーム・アセンブリにアプリケーション・ソフトウエアを、ロードし、インストールし、実行するために該アプリケーション・ソフトウエアに前記移動体端末プラットフォーム・アセンブリへのアクセスを提供する、少なくとも１つのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を備えることを特徴とする移動体端末プラットフォーム・アセンブリ。
【請求項１５】
前記少なくとも１つのＡＰＩが、複数のＡＰＩを含むことを特徴とする請求項１４に記載の移動体端末プラットフォーム・アセンブリ。
【請求項１６】
前記複数のＡＰＩが、ネイティブＡＰＩドメイン及び非ネイティブＡＰＩドメインを含むことを特徴とする請求項１５に記載の移動体端末プラットフォーム・アセンブリ。
【請求項１７】
前記複数のＡＰＩが、Java（登録商標）実行環境ＡＰＩドメイン、オープン・アプリケーション・フレームワークＡＰＩドメイン及びオープン・プラットフォームＡＰＩドメインを含むことを特徴とする請求項１６に記載の移動体端末プラットフォーム・アセンブリ。
【請求項１８】
移動体端末用のプラットフォーム・システムのミドルウエア・サービス・レイヤを使用する方法であって、
ソフトウエア・サービス・コンポーネント及び前記ミドルウエア・サービス・レイヤを含む移動体端末プラットフォーム・アセンブリを提供することであって、前記ミドルウエア・サービス・レイヤが、前記移動体端末プラットフォーム・アセンブリへのアクセスを提供する少なくとも１つのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を含むこと、及び
前記ミドルウエア・サービス・レイヤを介して、前記移動体端末プラットフォーム・アセンブリ内にアプリケーション・ソフトウエアをロードし、インストールし、実行させることを備えることを特徴とする方法。
【請求項１９】
前記アプリケーション・ソフトウエアが、ネイティブＡＰＩドメイン及び非ネイティブＡＰＩドメインを介して、前記移動体端末プラットフォーム・アセンブリ内にロードされ、インストールされ、実行されることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記アプリケーション・ソフトウエアが、前記移動体端末プラットフォーム・アセンブリの製造者によって、前記移動体端末プラットフォーム・アセンブリ内にロードされ、インストールされ、実行されることを特徴とする請求項１８に記載の方法。
【請求項２１】
前記アプリケーション・ソフトウエアが、前記移動体端末の製造者によって、ロードされ、インストールされ、実行されることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記アプリケーション・ソフトウエアが、前記移動体端末のエンドユーザによって、ロードされ、インストールされ、実行されることを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して無線通信に関し、より詳細には、無線通信システムの移動体端末用のインタフェースに関する。
【背景技術】
【０００２】
本願は、２００２年２月１５日出願の米国特許予備出願第６０／３５７３６６号、２００２年２月１５日出願の米国予備特許出願第６０／３５７２９１号、２００２年９月２３日出願の米国予備特許出願第６０／４１２７５６号、及び２００２年９月２３日出願の米国予備特許出願第６０／４１２８４４号の優先権を主張するものである。
【０００３】
１９８０年代にセルラ通信システムが最初に導入されてから、システムで使用される移動体端末（移動局）はますます複雑になってきている。最初は、移動体端末は主に音声の電話サービスを提供するため、すなわち、音声通信の受信及び送信のために設計された。後年、音声の電話呼のユーザデータには関連のないユーザデータを転送する能力も備えた移動体端末が開発された。そのようなユーザデータは、例えば、パーソナルコンピュータ（ＰＣ）を介して開始されたダイヤルアップ・ネットワーク接続によって転送されるべきデータを含んでいる。
【０００４】
現在、将来の移動通信システムのために、いわゆる「第３世代」（３Ｇ）システムが開発されている。３Ｇシステムは、高速インターネット・アクセスを従来の音声通信と組み合せ、音声通信に加えて、インターネットのブラウジング、音声／動画のストリーミング、位置決め、ビデオ会議及び他の多くの可能性への手段をユーザに提供するであろう。
【０００５】
第３世代のパートナーシップ・プロジェクト（３ＧＰＰ）は、世界中で開発されているいくつかの３Ｇシステム間の互換性を保証するために設立された。音声、データ及びマルチメディアを世界のあらゆるところに配信できる地上及び衛星システムを含む３Ｇシステムを提供するために、世界規模の移動体通信サービス（ＵＭＴＳ）が３ＧＰＰにより開発されている。
【０００６】
３ＧＰＰの標準化によってセルラ通信システムに含まれている機能は急激に増加し、システムで使用される端末の開発者に実質的な要求として課せられている。この要求は、移動体端末がサイズ、メモリ及びパワーが制限された「資源の乏しい」環境であるという事実により一層困難なものとなっている。
【０００７】
従来より、移動体端末の製造者は、彼等の市場の要求の認識に基づいて、端末の基本的動作に必要な全てのハードウエア及びソフトウエア、並びに製造者又は特定のユーザが望む機能及び能力を提供するのに必要なハードウエア及びソフトウエアを含む、実質的に完成した移動体端末システムを、設計し、製造し、市場に出してきた。そのような手法は、市場の要求の急速な変化に素早く適応する柔軟性、あるいは多数のユーザの多様な要求を満たす柔軟性を提供することはできない。
【０００８】
移動体端末の設計及び製造の従来の手順が不十分であることを認識して、複数のユーザにユニットとして販売され得るソフトウエアとハードウエアの機能補完ユニットを複数含む、移動体端末プラットフォーム・アセンブリが開発された。そして各ユーザは、ユーザ自身の特定の要求に合った移動体端末用の完成されたプラットフォーム・システムを得るために、アセンブリ内に彼自身のアプリケーション・ソフトウエアをロードし、インストールし、実行する。移動体端末プラットフォーム・アセンブリ及びプラットフォーム・システムは、本願と同時に出願され、本願と譲渡人が同じ米国特許出願第［代理人文書番号５３８０７−０００２３ＵＳＰＴ及び５３８０７−０００４５ＵＳＰＴ］号に詳細に記載されており、該出願を参照により本願明細書に組み込む。
【０００９】
移動体端末プラットフォーム・アセンブリのソフトウエアとアプリケーション・ソフトウエアが別個に開発され、アプリケーション・ソフトウエアを移動体端末プラットフォーム・アセンブリ内にロードし、インストールし、実行することで後で組み合わされる、上記に記載したようなプラットフォーム・システムは、プラットフォーム・アセンブリのソフトウエアとアプリケーション・ソフトウエアとの間に明確なインタフェースを必要とする。移動体端末用の全てのソフトウエアが一緒に作成される現在の移動体端末には、そのようなインタフェースは存在しない。
【００１０】
従って、無線通信システムの移動体端末用のプラットフォームのインタフェースであって、システムの移動体端末プラットフォーム・アセンブリのソフトウエアとアプリケーション・ソフトウエアとを別個に開発し、インタフェースを介して組み合せることでプラットフォーム・システムを完成させることを可能とする、インタフェースが必要とされている。
【発明の開示】
【発明が解決しようとする課題及び課題を解決するための手段】
【００１１】
本発明は、システムの移動体端末プラットフォーム・アセンブリのソフトウエアとアプリケーション・ソフトウエアとを別個に開発し、インタフェースを介して組み合せることでプラットフォーム・システムを完成させることを可能とする、無線通信システムの移動体端末用のプラットフォームのインタフェースを提供するものである。
【００１２】
本発明によれば、該インタフェースは、移動体端末プラットフォーム・アセンブリにアプリケーション・ソフトウエアをロードし、インストールし、実行するために移動体端末プラットフォーム・アセンブリへのアクセスを提供する、少なくとも１つのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を含む、ミドルウエア・サービス・レイヤを備えている（本明細書において使用される「ロード」という用語は、例えば、インターネットからのダウンロードやハードウエア・チップの実装を含む、アプリケーション・ソフトウエアがインタフェースを介して移動体端末プラットフォーム・アセンブリのソフトウエアと組み合わされ得るあらゆる仕組みを含むように意図している）。少なくとも１つのＡＰＩは、標準化された（非ネイティブの）インタフェース、事実上の標準インタフェース及び／又はオープン・ネイティブ・インタフェースを含んでいてもよい。例えば、標準化されたインタフェースは、ＭＤＩＰ／ＣＬＤＣ（移動体情報機器プロファイル／接続制限された機器の構成：Mobile Information Device Profile/Connected Limited Device Configuration）ＡＰＩに従った、Ｊ２ＭＥ（JAVA（登録商標）2 Micro Edition）環境を含んでいるであろう。
【００１３】
本発明の代表的実施形態によれば、ミドルウエア・サービス・レイヤは、プラットフォーム・システムの移動体端末プラットフォーム・アセンブリのミドルウエア・サービス・レイヤ・コンポーネントを備えている。ミドルウエア・サービス・レイヤ・コンポーネントは、完成したプラットフォーム・システムを提供するために、アセンブリ内にアセンブリのソフトウエアと組み合せるべきアプリケーション・ソフトウエアをロードし、インストールし、実行するための複数のＡＰＩを提供し、かつ、加えて、移動体端末プラットフォーム・アセンブリをまとめて（カプセル化し）、プラットフォーム・アセンブリをＡＰＩを介してアプリケーションから分離させるように働く。その結果、ミドルウエア・サービス・レイヤ・コンポーネントはユーザ（本明細書で使用する「ユーザ」という用語は、製造者、エンドユーザ、又は他の顧客やユーザを含む）に、アセンブリへのアクセスやアセンブリの詳細な知識なしに、移動体端末プラットフォーム・アセンブリを十分に使用する能力を提供する。
【００１４】
ミドルウエア・サービス・レイヤのその他の利点及び特定の詳細事項は、添付の図面と共に以下に記載する詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明を説明するのに役立つ、無線通信システムの移動体端末用のプラットフォーム・システムの概略を示すブロック図である。全体を参照番号１０で示すプラットフォーム・システムは、移動体端末プラットフォーム・アセンブり１２と、移動体端末プラットフォーム・アセンブリ内にロードされ、インストールされ、実行された１つ以上のアプリケーション（すなわち、アプリケーション・ソフトウエア）１４を含んでいる。プラットフォーム・システム１０は、全体を破線１６で示す移動体端末に組み込まれるように構成されている。
【００１６】
移動体端末プラットフォーム・アセンブリ１２は、ソフトウエア・サービス・コンポーネント２２、ハードウエア・コンポーネント２４及びインタフェース・コンポーネント２６を含んでいる。
【００１７】
ソフトウエア・サービス・コンポーネント２２は、インタフェース・コンポーネント２６を介してユーザに提供されるサービスを供与する、複数のよく構成された機能的ソフトウエアユニットを含んでいる。図１に示した代表的なシステムでは、複数のソフトウエアユニットは、ＵＭＴＳアクセスサービス・ソフトウエア・スタック３０と、データ通信サービス・ソフトウエア・スタック３２と、ＭＭＩ（マン−マシン・インタフェース）サービス・ソフトウエア・スタック３４と、アプリケーション・プラットフォーム・サービス・ソフトウエア・スタック３６と、運用及びサービス・ソフトウエア・スタック３８を含む、複数の縦（垂直）方向の機能的スタックを備えている。
【００１８】
ハードウエア・コンポーネント２４は、機能的ソフトウエア・スタックそれぞれに関連しており、かつそれらによって制御されるハードウエアユニットのセットを備えている。図１に示された代表的システムでは、ハードウエアユニットは、ＵＭＴＳアクセスサービス・ハードウエア４０と、データ通信サービス・ハードウエア４２と、ＭＭＩサービス・ハードウエア４４と、アプリケーション・プラットフォーム・サービス・ハードウエア４６と、運用及びサービス・ハードウエア４８とを含んでいる。
【００１９】
本発明の代表的な実施形態によれば、インタフェース・コンポーネント２６は、１つ以上のアプリケーション１４を移動体端末プラットフォーム・アセンブリ１２内にロードし、インストールし、実行するためのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を少なくとも１つ含み、移動体端末プラットフォーム・アセンブリをそれを使用するアプリケーションから分離させ、かつアプリケーションに様々な他のサービスを提供する、ミドルウエア・サービス・レイヤ・コンポーネントを備えている。ミドルウエア・サービス・レイヤ・コンポーネント２６の特定の詳細事項は以下で説明する。
【００２０】
プラットフォーム・システム１０の移動体端末プラットフォーム・アセンブリ１２は、アプリケーション・ソフトウエア１４（本明細書で使用される「アプリケーション・ソフトウエア」という用語は、ユーザが利用できることを望む可能性がある機能を提供するあらゆるソフトウエアであってよい）から分離させ、完成されまとまったユニットとして、設計され、実現され（アセンブルされ）テストされる。従ってユーザは、彼等自身のアプリケーション・ソフトウエアを開発すること、そうでなければ取得することができ、プラットフォーム・システム１０を完成させるために、後でそのソフトウエアを移動体端末プラットフォーム・アセンブリ１２に追加することができる。そのため移動体端末プラットフォーム・アセンブリ１２は、販売されるかそうでなければ複数の様々なユーザに譲渡され得、その各ユーザは、彼等自身のプラットフォーム・システムに対する特定の要件を満足させるべく、彼等自身のアプリケーション・ソフトウエアをアセンブリにロードし、インストールし、実行することによってプラットフォーム・システム１０を完成させることができる。
【００２１】
図２は、本発明を説明するのに更に役立つ、図１の移動体端末プラットフォーム・アセンブリ１２を展開した一例を概略的に示すブロック図である。図２に示されたように、移動体端末プラットフォーム・アセンブリ１２は、メインＣＰＵ５０内で実行されているソフトウエアによって制御される。メインＣＰＵ５０は、マイクロプロセッサ、マイクロプログラミングプロセッサ、又はＤＳＰ（デジタル・シグナル・プロセッサ）のようなプロセッサを１つ以上含んでいてもよい。ＭＭＩソフトウエア・サービス・スタック３４用のＤＳＰが５２で示されている。ソフトウエア・コンポーネント２２のソフトウエア・スタック３０〜３８のそれぞれは、各スタックに関連したハードウエアを動作させるために、ハードウエア駆動ソフトウエア６０〜６８を含んでいる。図２に示されたように、機能的ソフトウエア・スタックによって制御されるハードウエア・ユニットの代表例は、受信器、送信器、パワー及び周波数コントローラ、ＧＳＭ送受信器、ブルートゥース・モジュール、様々な通信及びマン−マシン・ペリフェラル、パワー管理及びＳＩＭインタフェース、メモリ及びセキュリティ・ハードウエアを含んでいる。
【００２２】
移動体端末プラットフォーム・アセンブリ１２及びプラットフォーム・システム１０の更なる詳細事項は、上述の本願と譲渡人が同じ米国特許出願第［代理人文書番号５３８０７−０００４５ＵＳＰＴ］号に記載されている。
【００２３】
移動体端末プラットフォーム・アセンブリ１２に組み込まれているソフトウエアは、好ましくはソフトウエアの構成が分かりやすくなるような方法で配置され、その結果、ソフトウエアの設計が一層容易となり、アップグレードあるいは修正が一層簡単になる。図３は、本発明を説明するのに更に役立つ、移動体端末プラットフォーム・アセンブリ１２のソフトウエア・アーキテクチャの概略を示すブロック図である。
【００２４】
図３に示されているように、ソフトウエア・サービス・コンポーネント２２は、上記で説明したように、複数の縦の、機能的ソフトウエア・スタックに組織化されているのに加え、ミドルウエア・サービス・レイヤ２６のソフトウエアとソフトウエア・サービス・コンポーネント２２のソフトウエアとが共に、全体が参照番号７０で示される階層化アーキテクチャを画定するように複数の横（水平）のレイヤを画定するようにも配置されており、階層化アーキテクチャ７０において、高いレベルのサービス・レイヤから低いレベルのサービス・レイヤに降順でレイヤが配置されている。
【００２５】
このソフトウエア・アーキテクチャは、縦に区切られた複数のソフトウエア・レイヤを補完する横に区切られた複数の機能的ソフトウエア・ユニットを含む点で、ＩＳＯ／ＯＳＩ（ＩＳＯ開放型システム間相互接続）標準モデルと異なっている。横方向の区切りは、独立したモジュール型（サービス）コンポーネントの生成に大きく寄与している。
【００２６】
階層化アーキテクチャの最も高いレベルのレイヤは、ミドルウエア・サービス・レイヤ２６である。ソフトウエア・サービス・コンポーネント２２のレイヤは、アプリケーション・サービスを提供するアプリケーション・サーバ・レイヤ８０と、プラットフォームに特有のアプリケーションのサービスを提供するプラットフォーム・サービス・レイヤ８２と、セッション・プロトコル及びアプリケーション特有のプロトコルを提供するプラットフォーム・プロトコル・レイヤ８４と、音声アクセス／制御、データ通信転送プロトコル、メッセージ転送プロトコルなどを提供するトランスポート・レイヤ８６と、外部データＩＦアクセス、構造化記憶サービス及び他のローレベル・プラットフォーム・サポート・サービスを提供するデータ・アクセス・レイヤ８８と、論理ドライバ・レイヤ９０と、ハードウエアの依存性をまとめる物理ドライバ・レイヤ９２とを含んでいる。加えて、ソフトウエア・サービス・コンポーネント２２は、プラットフォーム・アセンブリによって要求される汎用的サービスを提供する、基本システムサービス・レイヤ９４を含んでいる。
【００２７】
下側の２つのレイヤ９０及び９２は、ソフトウエアとハードウエアとの間の依存性を分離させるハードウエア・アブストラクション・レイヤ（ＨＡＬ）を構成する。物理ドライバ・レイヤだけがハードウエアの詳細事項（すなわち、ＡＳＩＣハードウエアのどのレジスタが割り当てられるか）と関連している。論理ドライバ・レイヤ９０は、ハードウエアについての論理マッピングを提供する。すなわち、このレイヤは、移動体端末プラットフォーム・アセンブリのハードウエア及びソフトウエアの部品間のブリッジを提供する。
【００２８】
ソフトウエア自体は、例えば、モジュール１０２、１０４，１０６などの複数のソフトウエア・モジュールに組織化される。ソフトウエア・サービス・コンポーネント２２において、単一のモジュールは、１つの縦方向の機能的スタック内にだけあり、そのスタック内の１つの横方向レイヤにだけ存在し得る。各レイヤは１つから多数のモジュールを含んでいてもよく、特定のスタック内の特定のレイヤ内の全てのモジュールは、抽象化（abstraction）レベルが同じである。様々なモジュール間の通信は、ソフトウエアのモジュールからモジュールへのアクセスについての基本的規則のセットに従う、ソフトウエア・バックプレーン（ＳｗＢＰ）１１２によって達成される。これらの規則の概略は以下の通りである。
【００２９】
−ソフトウエア・モジュールは、自身のレイヤの下側をインタフェースする全てのレイヤ機能を呼び出してもよい。  
−チャネル・イベントやデータストリームの方向についての制限は無い。それらはあらゆる方向に行ける。  
−ソフトウエア・モジュールは、モジュールが属するレイヤとは無関係に、自身のレイヤの上側をインタフェースする（ＳｗＢＰで）レイヤの機能を呼び出すことは決してない。  
−ソフトウエア・モジュールは、同じ縦方向スタック内で自身のレイヤをインタフェースするレイヤの機能を呼び出してもよい。  
−ソフトウエア・モジュールは、別の縦方向スタック内の同じレイヤ内のソフトウエア・モジュールの機能を呼び出してもよい（この能力は、縦方向スタック内のレイヤの数を制限することを許可される）。
【００３０】
様々なモジュールとＳｗＢＰ内のインタフェースとの間には強い結合は無い。その結果、モジュール及び／又はインタフェースの実現を、インタフェースのクライアントに影響を与えることなく自由に変更できる。これによりプラットフォーム・アセンブリ内の他のモジュールに影響を与えずに、個々のモジュールの追加、削除又は変更が可能となるので、これは重要な能力である。
【００３１】
移動体端末プラットフォーム・アセンブリ内でのモジュール間の内部通信を可能とするＳｗＢＰソフトウエアの構造を含む、階層化アーキテクチャの更なる詳細事項は、上記で述べた譲渡人が同じ米国特許出願第［代理人文書番号５３８０７−０００２３ＵＳＰＴ］号に記載されている。
【００３２】
ミドルウエア・サービス・レイヤ・コンポーネント２６は、移動体端末プラットフォーム・アセンブリ１２内のソフトウエアと、プラットフォーム・アセンブリ内にロードされ、インストールされ、実行されるアプリケーション・ソフトウエアとの間に明確なインタフェースを提供し、加えて、移動体端末プラットフォーム・アセンブリをまとまったものとし、該アセンブリをミドルウエア・サービス・レイヤ・コンポーネントによってアプリケーションから分離させ、アプリケーションに様々な他のサービスを提供するよう働く。
【００３３】
図４は、本発明の代表的実施形態による、ミドルウエア・サービス・レイヤ・コンポーネント２６を詳細に示すブロック図である。図４に示されているように、ミドルウエア・サービス・レイヤ・コンポーネント２６は、Java（登録商標）実行環境ＡＰＩドメイン２０２、オープン・アプリケーション・フレームワーク（ＯＡＦ）ＡＰＩドメイン２０４、オープン・プラットフォームＡＰＩ（ＯＰＡ）ドメイン２０６及びＵＩツールキットＡＰＩドメイン２０８を含む複数のＡＰＩドメインを備えている。
【００３４】
ミドルウエア・サービス・レイヤ・コンポーネント２６内のＡＰＩを通じて、移動体端末プラットフォーム・アセンブリ１２は、複数のアプリケーション環境をサポートする。図４の代表的な実施形態では、ミドルウエア・サービス・レイヤ２６は、ネイティブ・アプリケーション（特定のプロセッサ及びその命令セットで動作するようにコンパイルされているアプリケーション）用と、Java（登録商標） Ｊ２ＭＥ  ＣＬＤＣ／ＭＩＤＰ（Java（登録商標） 2 マイクロエディション接続制限された機器の構成／移動体情報機器プロファイル：Java（登録商標） 2 Micro Edition Connected Limited Device Configuration/Mobile Information Device Profile）アプリケーションなどの非ネイティブ・アプリケーション用の環境をサポートする。各アプリケーション環境はそれ自体の特性を有し、以下に応じて定義される。
【００３５】
−アプリケーションが開発される方法（プログラミング言語のサポート、コンパイル及びリンク）。  
−アプリケーションが実行される方法（例えば、インタープリタあるいはネイティブ・コードの実行）。  
−提供される機能サービス。  
−使用の際の考えられる制限。
【００３６】
多数のアプリケーション環境の代替を提供することで、コスト、使用の容易さ、販売時期、機能セット、サイズ、携帯性などの要求が異なる幅広い製品への対応が容易となる。
【００３７】
ＡＰＩドメインそれぞれは複数ののソフトウエア・モジュールを備えており、図５は本発明の代表的実施形態による、Java（登録商標）実行環境ＡＰＩドメイン２０２内の主要なソフトウエア・モジュールを示すブロック図である。図示されたように、Java（登録商標）実行環境ＡＰＩドメイン２０２は、Java（登録商標）実行マネージャ（ＪＥＭ）モジュール２１０、Java（登録商標）アプリケーション環境（ＪＡＥ）モジュール２１２及びJava（登録商標）サポート・レイヤ（ＪＳＬ）モジュール２１４を含んでいる。ＪＥＭモジュール２１０は、Java（登録商標）アプリケーション環境及びJava（登録商標）アプリケーションを制御する。ＪＡＥモジュール２１２は、その中でJava（登録商標）アプリケーションが実行される環境を定義し、Java（登録商標）仮想マシン（ＪＶＭ）、Ｊ２ＭＥ  ＭＩＤＰライブラリ及びＪ２ＭＥ  ＣＬＤＣランタイム・ライブラリを含んでいる。ＪＳＬモジュール２１４は、ＪＡＥ実装と移動体端末プラットフォーム・アセンブリ１２との間のレイヤを備えている。これはサード・パーティのJava（登録商標）環境をプラットフォーム・アセンブリに移植するのを容易とするインタフェースを提供する。ＪＳＬモジュール２１４はまた、ＪＶＭとプラットフォーム・アセンブリとの間のアダプテーション・レイヤ、Java（登録商標）ＶＭサポート・レイヤ（ＪＶＭＳＬ）、ＣＬＤＣとＭＩＤＰ  ＡＰＩ実装とプラットフォーム・アセンブリとの間のアダプテーション・レイヤ、Java（登録商標）ライブラリ・サポート・レイヤ（ＪＬＳＬ）を含んでいる。
【００３８】
図６は、本発明の別の代表的実施形態による、オープン・アプリケーション・フレームワーク（ＯＡＦ）ＡＰＩドメイン２０４内の主要なソフトウエア・モジュールを示すブロック図である。図示されたように、該モジュールは、セキュア・アクセス・マネージャ（ＳＡＭ）モジュール２２０と、アプリケーション・マネージャ（ＡＭ）モジュール２２２とを含んでいる。ＳＡＭモジュール２２０は、資格認定（credential）に従ってJava（登録商標）アプリケーションをモニタするために、Java（登録商標）などの非ネイティブ・アプリケーションによって作成されたオープン・プラットフォームＡＰＩドメイン２０６へのアクセスの許可を担う。すなわち、ＳＡＭモジュール２２０は、非ネイティブ環境からの呼を許可すべきか否かを決定する責任を持っている。これに関して、Java（登録商標）実行環境によるプラットフォーム・サービスへのアクセスは、ネイティブ・アプリケーション環境についてよりも制限される可能性がある。ＡＭモジュール２２２は、非ネイティブ（Java（登録商標））及びネイティブ実行環境内で実行されるアプリケーションの制御を担う。ＡＭモジュールは、非ネイティブ・アプリケーションを実行環境とネイティブ・プラットフォーム・サービスとの間で（Java（登録商標）アプリケーションの場合にはJava（登録商標）サポート・レイヤの境界で）インターセプトし、ＳＡＭにアクセスを許可するよう要求する。アクセスが許可されたら、非ネイティブ・アプリケーションはＯＰＡに送られ、ネイティブ・アプリケーションと同様に扱われる。概して、ＡＭモジュール２２２は、全てのアプリケーションの登録、インストール、開始、停止、アンインストール及び削除を扱う。
【００３９】
図７は、本発明の代表的実施形態による、オープン・プラットフォームＡＰＩ（ＯＰＡ）ドメイン２０６の主要なソフトウエア・モジュールを示すブロック図である。図示されたように、ＯＰＡドメイン２０６は、５つのモジュール：ネイティブ環境マネジメント（ＮＥＭ）モジュール２３０と、ネイティブ・アプリケーション・コア（ＮＡＣ）モジュール２３２と、ＯＰＡインタフェース及びハンドラ・モジュール２３４と、ミドルウエア・サポート・サービス・モジュール２３６と、ネイティブ拡張プラグイン・モジュール２３８を含んでいる。
【００４０】
ネイティブ環境マネジメント・モジュール２３０は、プラットフォーム・システム１０内でネイティブ・アプリケーションを制御する責任を有する。該モジュールは、ネイティブ・アプリケーションに関する制御コマンドをアプリケーション・マネージャ２２２（図６）から受け取り、システム内で現在実行中のネイティブ・アプリケーションの経過を追う。
【００４１】
ネイティブ・アプリケーション・コア・モジュール２３２は、スレッド化及びメッセージ処理の複雑性を管理し取り計らうが、これらはそうでなければアプリケーション自体で扱う必要がある。該モジュールはまた、メッセージのルーティング／フィルタリング及びメッセージに関連したリソースの処理を含む実行時の複雑な処理からアプリケーションを解放すべく、ＯＳの実現手段の詳細を隠すことによって、ＯＳの独立性を達成するのを目的として働く。ネイティブ・アプリケーション・コアの主要な役割は、起動及びシャットダウン段階のアプリケーションの詳細事項と、メッセージの処理における詳細事項を隠すことである。
【００４２】
ミドルウエア・サポート・サービス・モジュール２３６は、例えば、オブジェクト管理及びリソースの監視などの様々なハンドラに共通なあるいは集中させる必要があるサービスを、ＯＰＡドメインに提供する。
【００４３】
ネイティブ拡張プラグイン・モジュール２３８は、ＯＰＡインタフェース及びハンドラ・モジュール２３４を通じたプラットフォーム・アセンブリの任意の拡張として見ることもできる。このようなモジュールは、ＯＰＡインタフェース及びハンドラ・モジュール２３４を規制し適用される、同じインタフェースのガイドライン、パラダイム及びメカニズムに従う。ＯＰＡネイティブ拡張プラグイン２３８は、ＯＰＡインタフェース及びハンドラ・モジュール２３４を通じてプラットフォーム機能だけにアクセスしてもよい。いくつかの拡張プラグイン・モジュールがシステム内に同時に存在し得る。
【００４４】
ネイティブ拡張プラグイン・モジュール２３８は、以下の特性に従う。  
１．ユーザ・アプリケーションによって使用され得る、高いレベルのサービスを提供するという点において、プラットフォーム・アセンブリの機能を拡張することを目的とする。  
２．そのサービスを、コンポーネントベースのＯＰＡインタフェース（ＥＣＭ）を介してエクスポートする。  
３．そのサービスを、コンポーネントベースのＯＰＡインタフェース（ＥＣＭ）を介してインポートする。
【００４５】
ＵＩツールキットＡＰＩドメイン２０８は、アプリケーションに対するユーザインタフェースを構築するのに使用される視覚的オブジェクトのセットを提供する。これらのオブジェクトは、Java（登録商標）実行環境によって使用されてもよい。加えて、ＵＩツールキットＡＰＩドメインは、テキストのレンダリング、入力方法及びテキストリソースの処理などの他のＵＩ関連機能のサポートを提供する。
【００４６】
ＵＩツールキットＡＰＩドメイン２０８の主要な機能は、頻繁に要求される機能についてより高いレベルのサポートを導入することにより、アプリケーションの高速な開発を可能とすることである。また、互いに個別に開発されたとしても、様々なアプリケーションの外観及び動作についての共通の原理を維持するのを助長する。アプリケーションは、図形を提示する及びユーザ入力を処理するのにツールキットＡＰＩドメイン２０８を使用しても使用しなくてもよい。図８は、例えば、ネイティブ・アプリケーション２４０やJava（登録商標）（非ネイティブ）アプリケーション２４２などのアプリケーションが、オープン・プラットフォームＡＰＩドメイン２０６を通じて、移動体端末プラットフォーム・アセンブリ１２のＵＩサーバ２４４を直接使用できるようにする方法を概略的に示す図である。
【００４７】
望むのであれば、ＵＩツールキット２０８のいくつかの部分は、移動体端末プラットフォーム・アセンブリ１２のユーザによって置き換え又は修正されてもよい。
【００４８】
本発明によるミドルウエア・サービス・レイヤ・コンポーネントは、いくつかの利点を提供する。すなわち、
１．アプリケーション・ソフトウエアを、移動体端末プラットフォーム・アセンブリのアプリケーションと分離させて、移動体端末プラットフォーム・アセンブリにロード、インストール、実行できる。  
２．逆方向の互換性が提供される。すなわち、プラットフォーム・アセンブリのソフトウエアのアップグレードや修正にも関わらず、ユーザは既存のアプリケーション・ソフトウエアを再利用できる。  
３．アプリケーションとプラットフォーム・アセンブリとの間のアクセス・メカニズムは、プラットフォーム・アセンブリによって提供される全ての機能について一貫している。機能に関わらず全ての開発者が同じメカニズム上で練習できるので、これによりアプリケーション・ソフトウエアの開発が加速されるであろう。全てのアプリケーションがプラットフォーム・アセンブリの同じサポート・メカニズムを利用するので、アプリケーション・ソフトウエアのメモリ消費量も減少され得る。
【００４９】
本発明のミドルウエア・サービス・レイヤ・コンポーネントにより、ユーザが彼等自身のインタフェースをプラットフォーム・アセンブリに追加することも可能である。これは、アプリケーションの観点からミドルウエア・サービス・レイヤ・コンポーネントの一部と見なされ得るように、ユーザが自身のプラグインを記述することで達成される。これはユーザがプラットフォーム・アセンブリを彼等自身の要求に応じて調整するのを可能とし、同時に、彼等のアプリケーションが新たなプラットフォーム・アセンブリ構成上で再利用するのを可能とする。
【００５０】
図９は、本発明の別の代表的実施形態による、移動体端末の移動体端末プラットフォーム・アセンブリのミドルウエア・サービス・レイヤを使用する方法のステップを概略的に示すフローチャートである。この方法全体は参照番号３００で示されており、移動体端末に移動体端末プラットフォーム・アセンブリを提供すること（ステップ３０２）から始まっている。移動体端末プラットフォーム・アセンブリは、ソフトウエア・サービス・コンポーネントと、移動体端末プラットフォーム・アセンブリへのアクセスを提供するアプリケーション・プログラミング・インタフェース（ＡＰＩ）を少なくとも１つ含むミドルウエア・サービス・レイヤとを含んでいる。そして、移動体端末プラットフォーム・アセンブリを使用できるようにするため、アプリケーション・ソフトウエアは、ミドルウエア・サービス・レイヤを介して、移動体端末プラットフォーム・アセンブリにロードされ、インストールされ、実行される（ステップ３０４）。
【００５１】
以上説明したのは本発明の代表的な実施形態を構成するものであるが、本発明はその範囲から逸脱せずに様々な方法で変更することができることに留意されたい。例えば、ここで記載した代表的な実施形態では、ミドルウエア・サービス・レイヤ・コンポーネントが２つのアプリケーション環境をサポートするが、必要に応じてあるいは特定のユーザ・アプリケーションのために、他の環境がサポートされてもよい。また、本発明を主に第３世代のセルラ通信システムで使用されるものとして記載したが、本発明は第２世代及び他のセルラ通信システム、及び例えば、ブルートゥース・システムなどの他の無線通信システムでも使用できる。本発明は様々な方法で変更できるので、本発明は特許請求の範囲で規定される程度にだけ限定されるべきであると理解されたい。
【図面の簡単な説明】
【００５２】
【図１】本発明を説明するのに役立つ、無線通信システムの移動体端末用のプラットフォーム・システムの概略を示すブロック図である。
【図２】本発明を説明するのに更に役立つ、図１のプラットフォーム・システムの移動体端末プラットフォーム・アセンブリの概略を示す展開ブロック図である。
【図３】本発明を説明するのに更に役立つ、図１及び図２の移動体端末プラットフォーム・アセンブリのソフトウエア・アーキテクチャの概略を示すブロック図である。
【図４】本発明の代表的実施形態による、図１から３のミドルウエア・サービス・レイヤ・コンポーネントを詳細に示すブロック図である。
【図５】本発明の別の代表的実施形態による、図４のミドルウエア・サービス・レイヤ・コンポーネントのJava（登録商標）実行環境ＡＰＩドメインを詳細に示すブロック図である。
【図６】本発明の別の代表的実施形態による、図４のミドルウエア・サービス・レイヤ・コンポーネントのオープン・アプリケーション・フレームワークＡＰＩドメインを詳細に示すブロック図である。
【図７】本発明の別の代表的実施形態による、図４のミドルウエア・サービス・レイヤ・コンポーネントのオープン・プラットフォームＡＰＩドメインを詳細に示すブロック図である。
【図８】本発明の別の代表的実施形態による、ＵＩツールキットＡＰＩが、アプリケーションをオープン・プラットフォームＡＰＩドメインを通じて図１から３のプラットフォーム・アセンブリのＵＩサーバを直接使用できるようにする方法を概略的に示す図である。
【図９】本発明の別の代表的実施形態による、移動体端末の移動体端末プラットフォーム・アセンブリを使用できるようにする方法のステップを概略的に示すフローチャートである。
【図１】
2005518015.tif 000002
【図２】
2005518015.tif 000003
【図３】
2005518015.tif 000004
【図４】
2005518015.tif 000005
【図５】
2005518015.tif 000006
【図６】
2005518015.tif 000007
【図７】
2005518015.tif 000008
【図８】
2005518015.tif 000009
【図９】
2005518015.tif 000010
【国際調査報告】
2005518015.tif 000011
2005518015.tif 000012
2005518015.tif 000013