(57)【特許請求の範囲】
【請求項１】
実行しうる複数の種類のオペレーティングシステムのいずれかと、
少なくとも１つが実行されて無線通信処理を全体として実現する複数のソフトウェアコンポーネントと、
前記オペレーティングシステム上において実行され、前記複数のソフトウェア内の少なくとも１つが、前記オペレーティングシステムの種類の種類と独立に実行され得るようにするミドルウェアと
を実行する無線装置であって、
前記ミドルウェアは、
第１〜第３のインタフェースコンポーネントを含み、前記複数のソフトウェアの前記オペレーティングシステムの種類の種類にかかわらない実行のために用いられる複数のインタフェースコンポーネント
を備え、
前記第１〜第３のインタフェースコンポーネント以外の前記複数のインタフェースコンポーネントそれぞれは、前記無線通信処理に共通して使用される共通インタフェースが初期化され、前記共通インタフェースの共通インタフェース名とＩＰアドレスとが前記第２のインタフェースコンポーネントに登録された後に、それぞれのインタフェース名とＩＰアドレスとを、前記第２のインタフェースコンポーネントに登録し、
前記第１のインタフェースコンポーネントは、
前記無線装置が起動されるときに、前記共通インタフェースを起動して初期化し、
前記初期化された共通インタフェースの共通インタフェース名とＩＰアドレスとを、前記複数のインタフェースコンポーネントの内の第２のインタフェースコンポーネントに登録し、
前記第２のインタフェースコンポーネントに登録された前記第１〜第３のインタフェースコンポーネント以外の前記複数のインタフェースコンポーネントそれぞれのＩＰアドレスを取得し、
前記取得したＩＰアドレスを、前記第３のインタフェースコンポーネントに設定し、
前記第３のインタフェースコンポーネントは、前記設定された前記第１〜第３のインタフェースコンポーネント以外の前記複数のインタフェースコンポーネントそれぞれのＩＰアドレスに基づいて、これらのインタフェースコンポーネントに対応する前記ソフトウェアコンポーネントをダウンロードする
無線装置。
【請求項２】
実行しうる複数の種類のオペレーティングシステムのいずれかと、
少なくとも１つが実行されて無線通信処理を全体として実現する複数のソフトウェアコンポーネントと、
前記オペレーティングシステム上において実行され、前記複数のソフトウェア内の少なくとも１つが、前記オペレーティングシステムの種類の種類と独立に実行され得るようにするミドルウェアと
を実行する無線装置であって、
前記無線装置は、
前記ソフトウェアコンポーネントを実行するＤＳＰと、このＤＳＰのレジスタとを含む複数のハードウェアデバイス
を含み、
前記ミドルウェアは、
第１，第４〜第６のインタフェースコンポーネントを含み、前記複数のソフトウェアの前記オペレーティングシステムの種類の種類にかかわらない実行のために用いられる複数のインタフェースコンポーネント
を備え、
前記第１のインタフェースコンポーネントは、
前記第４のインタフェースコンポーネントに予め定められた前記ハードウェアデバイスに対応する前記ソフトウェアコンポーネントを指定して、前記指定したソフトウェアコンポーネントの起動を指示し、
前記第４のインタフェースコンポーネントは、前記第５のインタフェースコンポーネントに定義されたメソッドをコールして、前記指定されたソフトウェアコンポーネントを起動し、
前記第５のインタフェースコンポーネントは、
前記メソッドのコールに応じて、プロファイルを解析し、前記ＤＳＰのレジスタにおける書き込み領域を前記第６のインタフェースコンポーネントに指示し、
前記指示した書き込み領域へ前記ソフトウェアコンポーネントが書き込まれると、前記ＤＳＰのリセットを、前記第６のインタフェースコンポーネントに指示し、
前記第６のインタフェースコンポーネントは、
前記指定されたソフトウェアコンポーネントの書き込み領域の指定に応じて、前記指定されたＤＳＰのレジスタにおける書き込み領域へ前記ソフトウェアコンポーネントを書き込み、
前記ＤＳＰのリセットの指示に応じて、前記ＤＳＰを、前記ソフトウェアコンポーネントの実行のためにリセットする
無線装置。
【請求項３】
実行しうる複数の種類のオペレーティングシステムのいずれかと、
少なくとも１つが実行されて無線通信処理を全体として実現する複数のソフトウェアコンポーネントと、
前記オペレーティングシステム上において実行され、前記複数のソフトウェア内の少なくとも１つが、前記オペレーティングシステムの種類の種類と独立に実行され得るようにするミドルウェアと
を実行する無線装置であって、
前記無線装置は、
前記ソフトウェアコンポーネントを実行するＤＳＰと、このＤＳＰのレジスタとを含む複数のハードウェアデバイス
を含み、
前記ミドルウェアは、
第１〜第６のインタフェースコンポーネントを含み、前記複数のソフトウェアの前記オペレーティングシステムの種類の種類にかかわらない実行のために用いられる複数のインタフェースコンポーネント
を備え、
前記第１〜第３のインタフェースコンポーネント以外の前記複数のインタフェースコンポーネントそれぞれは、前記無線通信処理に共通して使用される共通インタフェースが初期化され、前記共通インタフェースの共通インタフェース名とＩＰアドレスとが前記第２のインタフェースコンポーネントに登録された後に、それぞれのインタフェース名とＩＰアドレスとを、前記第２のインタフェースコンポーネントに登録し、
前記第１のインタフェースコンポーネントは、
前記無線装置が起動されるときに、前記共通インタフェースを起動して初期化し、
前記初期化された共通インタフェースの共通インタフェース名とＩＰアドレスとを、前記複数のインタフェースコンポーネントの内の第２のインタフェースコンポーネントに登録し、
前記第２のインタフェースコンポーネントに登録された前記第１〜第３のインタフェースコンポーネント以外の前記複数のインタフェースコンポーネントそれぞれのＩＰアドレスを取得し、
前記取得したＩＰアドレスを、前記第３のインタフェースコンポーネントに設定し、
前記第４のインタフェースコンポーネントに予め定められた前記ハードウェアデバイスに対応する前記ソフトウェアコンポーネントを指定して、前記指定したソフトウェアコンポーネントの起動を指示し、
前記第４のインタフェースコンポーネントは、前記第５のインタフェースコンポーネントに定義されたメソッドをコールして、前記指定されたソフトウェアコンポーネントを起動し、
前記第３のインタフェースコンポーネントは、前記設定された前記第１〜第３のインタフェースコンポーネント以外の前記複数のインタフェースコンポーネントそれぞれのＩＰアドレスに基づいて、これらのインタフェースコンポーネントに対応する前記ソフトウェアコンポーネントをダウンロードし、
前記第４のインタフェースコンポーネントは、前記第５のインタフェースコンポーネントに定義されたメソッドをコールして、前記指定されたソフトウェアコンポーネントを起動し、
前記第５のインタフェースコンポーネントは、
前記メソッドのコールに応じて、プロファイルを解析し、前記ＤＳＰのレジスタにおける書き込み領域を前記第６のインタフェースコンポーネントに指示し、
前記指示した書き込み領域へ前記ソフトウェアコンポーネントが書き込まれると、前記ＤＳＰのリセットを、前記第６のインタフェースコンポーネントに指示し、
前記第６のインタフェースコンポーネントは、
前記指定されたソフトウェアコンポーネントの書き込み領域の指定に応じて、前記指定されたＤＳＰのレジスタにおける書き込み領域へ前記ソフトウェアコンポーネントを書き込み、
前記ＤＳＰのリセットの指示に応じて、前記ＤＳＰを、前記ソフトウェアコンポーネントの実行のためにリセットする
無線装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア無線装置に関する。
【背景技術】
【０００２】
例えば、引用文献１は、複数のモジュールから成るドメイン内で動作するソフトウェアプログラムの動作状況を管理するドメイン管理インタフェースを提供する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４８８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上述のような背景からなされたものであり、ＯＳの違いを考慮することなく複数のソフトウェアを動作させることができるインタフェースを備え、低負荷で動作するプラットフォームを備えるよう改良された無線装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明に係る無線装置（１）は、オペレーティングシステム（２０８）と、複数のソフトウェアコンポーネント（２００，２０２）と、前記オペレーティングシステムと前記複数のソフトウェアコンポーネントとの間に備えられたミドルウェア（３０）とを有し、前記複数のソフトウェアコンポーネントの１つ以上を実行して、全体として無線通信処理を行う無線装置であって、前記ミドルウェアに含まれ、この無線装置が起動されるときに、予め定められた条件に基づいて、前記複数のソフトウェアコンポーネントの１つ以上を起動させる第１の起動手段（３０８）と、前記ミドルウェアに含まれ、前記複数のソフトウェアコンポーネントのうち、外部から指定されたソフトウェアコンポーネントを起動させる第２の起動手段（３１０）とを有する。
なお、ここで付された符号は、本願発明の理解を助けることを意図するものであり、本願発明の技術的範囲を限定することを意図するものではない。
【発明の効果】
【０００６】
本発明に係る無線装置によれば、ＯＳの違いを考慮することなく複数のソフトウェアを動作させることができるインタフェースを備え、低負荷で動作するプラットフォームを実現することができる。
【図面の簡単な説明】
【０００７】
【図１】（Ａ）は、本発明に係るソフトウェア無線装置の構成を例示する図であり、（Ｂ）は、（Ａ）に示したソフトウェア無線装置のプラットフォームレイヤの構成を例示する図である。
【図２】図１（Ｂ）に示したプラットフォームレイヤにおいて、ソフトウェアを実行させるサービスインタフェースの構成を例示する図である。
【図３】（Ａ）は、図２に示したＡｕｔｏＦａｃｔｏｒｙインタフェースのクラス図を例示する図であり、（Ｂ）は、ＡｕｔｏＦａｃｔｏｒｙインタフェースに定義されるメソッド名または属性名、および、これらの説明を例示する図である。
【図４】（Ａ）は、図２に示したＭｉｃｒｏＭａｎａｇｅｒインタフェースのクラス図を例示する図であり、（Ｂ）は、ＭｉｃｒｏＭａｎａｇｅｒインタフェースに定義されるメソッド名または属性名、および、これらの説明を例示する図である。
【図５】図１（Ａ）に示したソフトウェア無線装置の起動処理を例示するシーケンス図である。
【図６】図１（Ａ）に示したソフトウェア無線装置におけるソフトウェアの交換処理を例示するシーケンス図である。
【発明を実施するための形態】
【０００８】
［本発明の背景］
本発明の理解を助けるために、まず、本発明がなされるに至った背景を説明する。
例えば、無線装置は、ソフトウェア実行環境を備えた複数の演算処理装置と、ＣＯＲＢＡ（Common Object Request Broker Architecture）対応の複数のソフトウェアとを有し、無線通信処理の内容に応じて、複数のソフトウェアコンポーネントの中から必要なソフトウェアを、演算処理装置上の適切なソフトウェア実行環境に配置して実行するように構成される。
また、上述の無線装置には、複数のハードウェアデバイスの追加、削除などの操作を動的に管理するために、ＳＣＡ（Software Communication Architecture）という標準化技術を利用するプラットフォームが構築される。
【０００９】
例えば、ＳＣＡを利用するプラットフォームは、登録または削除されるハードウェアデバイスを動的に管理したり、ハードウェアデバイスの登録情報に基づいて、複数のソフトウェアから、無線通信処理に必要なソフトウェアを選択し、動的に配置したりするミドルウェアを備える。
上述のミドルウェアにより、複数のハードウェアデバイスや、複数のソフトウェアコンポーネントを動的に管理することができる一方で、このミドルウェアを動作させるためには、高性能のプロセッサを必要とする場合がある。
したがって、ハードウェアデバイスの追加などを行わない携帯電話などのプロセッサの性能では、上述のミドルウェアを備えるプラットフォームを動作させる負荷が高くなる場合がある。
【００１０】
また、上述の複数のソフトウェアコンポーネントは、同一のＯＳ（Operating System）上でしか動作しないので、異なるＯＳ上で、同一のソフトウェアを動作させることができない。
したがって、ＯＳの種類ごとに、同一の動作を行うソフトウェアを実装する必要があり、非効率的になる場合がある。
本発明に係る無線装置は、このような背景からなされたものであり、本発明に係る無線装置のプラットフォームは、ＯＳの違いを考慮することなく複数のソフトウェアを動作させることができるインタフェースを備え、ＳＣＡを利用するプラットフォームよりも低負荷で動作するよう工夫されている。
【００１１】
［無線装置１］
図１（Ａ）は、本発明に係る無線装置１の構成を例示する図である。
図１（Ａ）に示すように、無線装置１は、ＲＦ部１０２と、ＲＦ部１０２に接続されたアンテナ１００と、ＣｏｍｐａｃｔＰＣＩ(Peripheral Component Interconnect)などのバス１１０を介して接続されたモデム部１２、コーデック部１４および制御部１６から構成される。
また、図１（Ａ）に示すように、モデム部１２は、ＣＰＵ１０４およびメモリ１０６を含み、コーデック部１４および制御部１６は、ＣＰＵ１０４、メモリ１０６およびネットワーク接続を行うためのＬＡＮインタフェース（ＩＦ）１０８を含む。
なお、これらの構成部分においては、ＣＰＵ１０４とともに、あるいは、ＣＰＵ１０４の代わりに、ＤＳＰ(Digital Signal Processor)が用いられてもよい。
無線装置１は、制御部１６により、モデム部１２およびコーデック部１４を制御して、必要な処理を行い、ＲＦ部１０２およびアンテナ１００を介して、予め定められた無線方式の信号を送受信して、無線通信処理を行う。
なお、  以下の各図において、実質的に同じ構成部分には、同じ符号が付される。
【００１２】
［プラットフォームレイヤ２０］
図１（Ｂ）は、無線装置１（図１（Ａ））のプラットフォームレイヤ２０の構成を例示する図である。
図１（Ｂ）に示すように、無線装置１が備えるプラットフォームレイヤ２０は、ＤＳＰソフトウェア２００、ＧＰＰ（General Purpose Processor）ソフトウェア２０２、および、入出力ライブラリ２０４、ＤＳＰのハードウェア２０６、ミドルウェア３０、ＯＳ２０８、および、ＧＰＰのハードウェア２１０からなるプラットフォームから構成される。
なお、以下、ＤＳＰソフトウェア２００およびＧＰＰソフトウェア２０２を区別せず、単に「ソフトウェア」と記述することがある。
【００１３】
なお、以下、本実施形態におけるプラットフォームレイヤ２０のプラットフォームは、下記のポリシー（１）〜（５）に従って実現される場合を具体例とする。
（１）１つのＧＰＰボード上で実現する。
（２）ＧＰＰボードには、ＤＳＰやＦＰＧＡ（Field Programmable Gate Array）を搭載することができる。
（３）ソフトウェアは、予め定められた実行環境で実行される。つまり、複数の実行環境への動的なソフトウェア配置は行わない。
（４）ＤＳＰやＦＰＧＡと通信するソフトウェアが常駐しているか否かに関わらず、プラットフォームのソフトウェア実行環境は利用可能である。
（５）セキュリティプロキシを備えない。
【００１４】
ＤＳＰソフトウェア２００は、無線通信処理を実現するＤＳＰ用のソフトウェアコンポーネントである。
ＧＰＰソフトウェア２０２は、無線通信処理を実現するＧＰＰ用のソフトウェアコンポーネントである。
入出力ライブラリ２０４は、ＤＳＰソフトウェア２００とＤＳＰのハードウェア２０６とを仲介するインタフェースであり、このインタフェースに定義されたメソッドがコールされることにより、双方に対するデータの入出力を実現する。
また、入出力ライブラリ２０４は、通信バスを介して、ミドルウェア３０と通信を行い、各種処理を行う。
【００１５】
通信バスは、例えば、バス１１０（図１（Ａ））内のソフトウェアバスであるＯＲＢ（Object Request Broker）である。
ミドルウェア３０は、ＯＳ２０８上で動作し、ＧＰＰソフトウェア２０２とＯＳ２０８とを仲介する複数のインタフェース（図２を参照して後述）から構成される。
ＧＰＰソフトウェア２０２は、これらの複数のインタフェースに定義されたメソッドをコールすることにより、ＯＳ２０８の違いを考慮することなく、ＯＳ２０８上で、ＧＰＰのハードウェア２１０の資源を具体的に利用して実行するよう処理される。
また、ミドルウェア３０は、通信バスを介して、入出力ライブラリ２０４と通信を行い、各種処理を行う。
【００１６】
［サービスインタフェース３］
図２は、プラットフォームレイヤ２０（図１（Ｂ））において、ＯＳ２０８の違いを考慮することなく、ソフトウェアを実行させるサービスインタフェース３の構成を例示する図である。
図２に示すように、サービスインタフェース３は、１つのＧＰＰボード上に搭載されたＤＳＰ用の入出力ライブラリ２０４、および、ＣＰＵ用のミドルウェア３０から構成される。
また、ミドルウェア３０は、ＨＣＩ（Host Controller Interface）３００、ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２、Ｌｏｇ３０４、ＧＰＰ＿Ｄｅｖｉｃｅ３０６、ＡｕｔｏＦａｃｔｏｒｙ３０８、ＭｉｃｒｏＭａｎａｇｅｒ３１０、および、ＤｏｗｎＬｏａｄｅｒ３１２などのＣＯＲＢＡ対応の複数のインタフェースを備える。
【００１７】
ＨＣＩ３００は、無線装置１（図１（Ｂ））の起動時に、必要なソフトウェアを起動させるための処理を行うインタフェースである。
例えば、ＨＣＩ３００は、ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２に起動させるソフトウェアのＩＰアドレスを要求して取得し、ＤｏｗｎＬｏａｄｅｒ３１２に対して、取得したＩＰアドレスを設定する。
また、ＨＣＩ３００は、予め定められたハードウェアデバイスに対応するソフトウェアを起動させるための処理を行う。
ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２は、各種インタフェース名と、インタフェーのＩＰアドレスを登録し、要求に応じて、登録されたアドレスを要求元に対して出力するインタフェースである。
【００１８】
ＧＰＰ＿Ｄｅｖｉｃｅ３０６は、ＤＳＰ、シリアルデバイス、オーディオデバイスなどのＣＯＲＢＡ非対応のハードウェアデバイスにアクセス可能とする論理デバイスインタフェースである。
ＡｕｔｏＦａｃｔｏｒｙ３０８は、無線装置１（図１（Ａ））の次回起動時に、今回最後に実行されているソフトウェアを自動的に起動させるよう設定するインタフェースである（図３を参照して後述）。
ＭｉｃｒｏＭａｎａｇｅｒ３１０は、ソフトウェアの起動および終了を指示し、ソフトウェアのリストを管理するインタフェースである（図４を参照して後述）。
ＤｏｗｎＬｏａｄｅｒ３１２は、ＨＣＩ３００から設定されたＩＰアドレスに基づいて、ＩＰアドレスに対応するソフトウェアをダウンロードするインタフェースである。
【００１９】
［ＡｕｔｏＦａｃｔｏｒｙ３０８］
図３（Ａ）は、サービスインタフェース３（図２）に含まれるＡｕｔｏＦａｃｔｏｒｙインタフェース３０８のクラス図を例示する図であり、図３（Ｂ）は、ＡｕｔｏＦａｃｔｏｒｙインタフェース３０８に定義されるメソッド名または属性名、および、これらの説明を例示する図である。
図３（Ａ）に示すように、ＡｕｔｏＦａｃｔｏｒｙインタフェース３０８は、ＡｐｐｌｉｃａｔｉｏｎＦａｃｔｏｒｙインタフェースを継承する。
ＡｐｐｌｉｃａｔｉｏｎＦａｃｔｏｒｙインタフェースは、ＳＣＡを利用するプラットフォームが備えるミドルウェアであり、例えば、無線通信処理の内容に応じて、必要なソフトウェアを選択して、選択したソフトウェアを、複数の実行環境のいずれかに配置したり、起動したりする。
【００２０】
ＡｕｔｏＦａｃｔｏｒｙインタフェース３０８は、上述のポリシー（３）に従って、複数の実行環境への動的なソフトウェア配置を行わず、無線装置１（図１（Ａ））の次回起動時に、今回最後に実行されているソフトウェアを自動的に起動させるよう設定する。
図３（Ｂ）に示すように、ＡｕｔｏＦａｃｔｏｒｙインタフェース３０８には、例えば、ソフトウェアの自動起動の設定がオンであるかオフであるかを示す属性ＡｕｔｏＯｎ＿ＯＦＦを定義する。
また、属性ＡｕｔｏＯｎ＿ＯＦＦが、オンを示す場合は、次回起動時に、今回最後に実行されているソフトウェアを自動的に起動させるよう設定するＡｕｔｏ＿ｃｒｅａｔｅ＿ａｔ＿ｓｔａｒｔメソッドを定義する。
【００２１】
［ＭｉｃｒｏＭａｎａｇｅｒ３１０］
図４（Ａ）は、サービスインタフェース３（図２）に含まれるＭｉｃｒｏＭａｎａｇｅｒインタフェース３１０のクラス図を例示する図であり、図４（Ｂ）は、ＭｉｃｒｏＭａｎａｇｅｒ３１０に定義されるメソッド名または属性名、および、これらの説明を例示する図である。
図４（Ａ）に示すように、ＭｉｃｒｏＭａｎａｇｅｒインタフェース３１０は、ＤｏｍａｉｎＭａｎａｇｅｒインタフェースと集約関係にある。
ＤｏａｍｉｎＭａｎａｇｅｒインタフェースは、ＳＣＡを利用するプラットフォームが備えるミドルウェアであり、例えば、ＧＰＰ＿Ｄｅｖｉｃｅ３０６（図２）などの各種インタフェースを管理し、管理されたインタフェースのメソッドのコールに応じて、ソフトウェアに対する処理や管理を行う。
【００２２】
ＭｉｃｒｏＭａｎａｇｅｒインタフェース３１０は、ＤｏｍａｉｎＭａｎａｇｅｒインタフェースに定義された各種処理のうち、ソフトウェアの起動および終了を指示する処理と、ソフトウェアのリスト管理とを行う。
図４（Ｂ）に示すように、ＭｉｃｒｏＭａｎａｇｅｒインタフェース３１０には、例えば、指定したソフトウェアを起動させるｌａｕｎｃｈＡｐｐｌｉｃａｔｉｏｎメソッドや、指定したソフトウェアを終了させるｃｌｅａｎＡｐｐｌｉｃａｔｉｏｎメソッドを定義する。
【００２３】
［無線装置１の第１の動作例］
図５は、無線装置１（図１（Ａ））の起動処理を例示するシーケンス図である。
以下、図５を参照して、無線装置１の起動処理を、第１の動作例として説明する。
図５に示すように、ステップ４００（Ｓ４００）において、ＨＣＩ３００は、無線装置１において、無線通信処理の内容に関わらず、共通して使用される共通インタフェースを起動し、初期化する。
【００２４】
ステップ４０２（Ｓ４０２）において、ＨＣＩ３００（図２）は、Ｓ４００において起動・初期化された共通インタフェース名と、ＩＰアドレスとを、ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２に対して登録処理する。
ステップ４０４（Ｓ４０４）において、３つのインタフェースＭｉｃｒｏＭａｎａｇｅｒ３１０、Ｌｏｇ３０４およびＧＰＰ＿Ｄｅｖｉｃｅ３０６は、それぞれ起動処理を行い、インタフェース名と、ＩＰアドレスとを、ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２に対して登録処理する。
ステップ４０６（Ｓ４０６）において、ＤｏｗｎＬｏａｄｅｒ３１２は、起動処理を行い、インタフェース名と、ＩＰアドレスとを、ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２に対して登録処理する。
【００２５】
ステップ４０８（Ｓ４０８）において、ＨＣＩ３００は、ＮａｍｉｎｇＳｅｒｖｉｃｅ３０２に対して、ＭｉｃｒｏＭａｎａｇｅｒ３１０、Ｌｏｇ３０４およびＧＰＰ＿Ｄｅｖｉｃｅ３０６のＩＰアドレスを要求して、取得する。
ステップ４１０（Ｓ４１０）において、ＨＣＩ３００は、Ｓ４０８において取得した各インタフェースのＩＰアドレスを、ＤｏｗｎＬｏａｄｅｒ３１２に対して設定する。
ステップ４１２（Ｓ４１２）において、ＤｏｗｎＬｏａｄｅｒ３１２は、Ｓ４１０においてＨＣＩ３００から設定されたＩＰアドレスに基づいて、ＩＰアドレスに対応するソフトウェアをダウンロードする。
ステップ４１４（Ｓ４１４）において、ＨＣＩ３００は、起動完了処理を行う。
【００２６】
［無線装置１の第２の動作例］
図６は、無線装置１（図１（Ａ））におけるソフトウェアの交換処理を例示するシーケンス図である。
ソフトウェアの交換処理は、ＧＰＰ＿Ｄｅｖｉｃｅ３０６（図２）が別のハードウェアデバイスまたは最新のハードウェアデバイスにアクセス可能になるようにすることである。
以下、図６を参照して、無線装置１におけるソフトウェアの交換処理を、第２の動作例として説明する。
【００２７】
ステップ５００（Ｓ５００）において、ＨＣＩ３００（図２）は、ＭｉｃｒｏＭａｎａｇｅｒ３１０のｌａｕｎｃｈＡｐｐｌｉｃａｔｉｏｎメソッドをコールして、予め定められたハードウェアデバイスに対応するソフトウェアを指定して、指定したソフトウェアの起動処理を指示する。
ステップ５０２（Ｓ５０２）において、ＭｉｃｒｏＭａｎａｇｅｒ３１０は、ＡｕｔｏＦａｃｔｏｒｙ３０８のｃｒｅａｔｅメソッドをコールして、Ｓ５００において指定されたソフトウェアの起動処理を行う。
ステップ５０４（Ｓ５０４）において、ＡｕｔｏＦａｃｔｏｒｙ３０８は、プロファイルを解析する。
【００２８】
ステップ５０６（Ｓ５０６）において、ＡｕｔｏＦａｃｔｏｒｙ３０８は、ＧＰＰ＿Ｄｅｖｉｃｅ３０６のメソッドをコールして、ＤＳＰレジスタのソフトウェアの書き込み領域の割り当て処理を指示する。
ステップ５０８（Ｓ５０８）において、ＡｕｔｏＦａｃｔｏｒｙ３０８は、ＧＰＰ＿Ｄｅｖｉｃｅ３０６のメソッドをコールして、ソフトウェアの書き込み処理を指示する。
ステップ５１０（Ｓ５１０）において、ＧＰＰ＿Ｄｅｖｉｃｅ３０６は、Ｓ５０６において割り当てたＤＳＰレジスタの領域へ、Ｓ５０８において指示されたソフトウェアの書き込み処理を行う。
【００２９】
ステップ５１２（Ｓ５１２）において、ＡｕｔｏＦａｃｔｏｒｙ３０８は、ＧＰＰ＿Ｄｅｖｉｃｅ３０６のメソッドをコールして、ＤＳＰのリセット処理を指示する。
ステップ５１４（Ｓ５１４）において、ＧＰＰ＿Ｄｅｖｉｃｅ３０６は、Ｓ５１２におけるＡｕｔｏＦａｃｔｏｒｙ３０８からの指示を受けて、ＤＳＰのリセット処理を行う。
ステップ５１６（Ｓ５１６）において、ＨＣＩ３００は、ソフトウェア交換処理の完了通知を行う。
【００３０】
［無線装置１の特徴］
以下、無線装置１（図１（Ａ））の特徴を説明する。
以上説明したように、無線装置１のプラットフォームは、ソフトウェアを自動的に起動するインタフェース、および、指定したソフトウェアの起動処理を指示するインタフェースなどから構成されるミドルウェアを備える。
このようなインタフェースにより、ＳＣＡを利用するプラットフォームが有するインタフェースのように、複数のソフトウェアから動的に適切なソフトウェアを選択して、配置する必要がないので、低負荷でプラットフォームを動作させることができる。
また、無線装置１のプラットフォームは、ＯＳとソフトウェアの間に、このようなインタフェースから構成されるミドルウェアを備えることにより、ＯＳの違いを考慮することなく、複数のソフトウェアを動作させることができる。
したがって、本発明に係る無線装置１によれば、ＯＳの違いを考慮することなく複数のソフトウェアを動作させることができるインタフェースを有し、ＳＣＡを利用するプラットフォームよりも低負荷で動作するプラットフォームを実現することができる。
【符号の説明】
【００３１】
１・・・無線装置，１２・・・モデム部，１４・・・コーデック部，１６・・・制御部，１００・・・アンテナ，１０２・・・ＲＦ部，１０４・・・ＣＰＵ，１０６・・・メモリ，１０８・・・ＬＡＮ−ＩＦ，１１０・・・バス，２０・・・プラットフォームレイヤ，２００・・・ＤＳＰソフトウェア，２０２・・・ＧＰＰソフトウェア，２０４・・・入出力ライブラリ，２０６・・・ＤＳＰハードウェア，２０８・・・ＯＳ，２１０・・・ＧＰＰハードウェア，３・・・サービスインタフェース，３０・・・ミドルウェア，３００・・・ＨＣＩ，３０２・・・ＮａｍｉｇＳｅｒｖｉｃｅ，３０４・・・Ｌｏｇ，３０６・・・ＧＰＰ＿Ｄｅｖｉｃｅ，３０８・・・ＡｕｔｏＦａｃｔｏｒｙ，３１０・・・ＭｉｃｒｏＭａｎａｇｅｒ，３１２・・・ＤｏｗｎＬｏａｄｅｒ
【図１】
0005534801.tif 000002
【図２】
0005534801.tif 000003
【図３】
0005534801.tif 000004
【図４】
0005534801.tif 000005
【図５】
0005534801.tif 000006
【図６】
0005534801.tif 000007