JP2004023753A - ソフトウェア無線機 - Google Patents
ソフトウェア無線機 Download PDFInfo
- Publication number
- JP2004023753A JP2004023753A JP2002180148A JP2002180148A JP2004023753A JP 2004023753 A JP2004023753 A JP 2004023753A JP 2002180148 A JP2002180148 A JP 2002180148A JP 2002180148 A JP2002180148 A JP 2002180148A JP 2004023753 A JP2004023753 A JP 2004023753A
- Authority
- JP
- Japan
- Prior art keywords
- software
- memory
- library
- defined radio
- history
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Transceivers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量を確保する。
【解決手段】使用するソフトウェア(ライブラリ)を切り替えることにより無線通信機能を変更することができる無線通信を実現するソフトウェア無線機において、外部からダウンロードするソフトウェア(ライブラリ)をフラッシュメモリ18に保存するとき、フラッシュメモリの空き状況、履歴管理部4が有するライブラリ管理情報、およびユーザの選択に基づいて、フラッシュメモリ中のソフトウェアの一部を削除する。
【選択図】 図1
【解決手段】使用するソフトウェア(ライブラリ)を切り替えることにより無線通信機能を変更することができる無線通信を実現するソフトウェア無線機において、外部からダウンロードするソフトウェア(ライブラリ)をフラッシュメモリ18に保存するとき、フラッシュメモリの空き状況、履歴管理部4が有するライブラリ管理情報、およびユーザの選択に基づいて、フラッシュメモリ中のソフトウェアの一部を削除する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、使用するソフトウェアを切り替えることにより無線通信機能を変更することができるソフトウェア無線機に関するもので、移動無線端末に用いて好適である。
【0002】
【従来の技術】
近年、使用するソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機の開発が進められている。ソフトウェア無線機は、利用場面によっては頻繁にソフトウェアの切り替えを行うことが想定される。このような場面に対応するために、いくつかの技術が提案されている。
【0003】
特開2000−244358号公報に記載の技術は、この様な場面等のために、ソフトウェア無線機側で無線機能を制御するソフトウェアとしてのライブラリをソフトウェア無線機に保存して、複数の通信システムに対応しようとするものである。
【0004】
また、特開2001ー160765号公報に記載の技術は、ライブラリ管理機能を有し、ソフトウェア無線機が対応する無線通信システムの機能を実現するためのライブラリを保存していない場合に、このライブラリ管理機能が不足するライブラリを特定し、必要なライブラリを取得するものである。
【0005】
また、特開2001−43073号公報および特開2001−43087号公報に記載の技術は、ソフトウェア無線機が互いのソフトウェアの保存状況を通信によって検索し、不足分を相互補完するものである。
【0006】
また特開2001−4556号公報に記載の技術は、現在利用可能なサービスの種別を識別し、そのサービスの中から通信品質に基づいて選んだサービスに必要なソフトウェアを入手・実行することができるものである。
【0007】
【発明が解決しようとする課題】
しかし、上記のようなソフトウェア(ライブラリ)の切り替えを頻繁に行って無線通信機能を変更すると、各無線通信機能を実現するためのソフトウェアが数多く必要となる。それら全てのソフトウェアを保存しようとすると、保存のためのメモリ容量が不足してしまい、使用するソフトウェアを取得・保存できなくなってしまうという問題がある。
【0008】
本発明は上記点に鑑みて、ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量を確保することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するための請求項1に記載の発明は、使用するソフトウェアを切り替えることにより無線通信機能を変更することができる無線通信を実現するソフトウェア無線機であって、使用するソフトウェアを保存するためのメモリと、使用するためのソフトウェアを外部から取得する外部取得手段と、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況を調べ、この空き状況に基づいて、メモリ中のソフトウェアの一部をメモリから削除する削除手段と、を備えたことを特徴とするソフトウェア無線機である。
【0010】
これによって、削除手段が、外部取得手段が取得するソフトウェアをメモリに保存するとき、メモリの空き状況に基づいて、メモリ中のソフトウェアの一部をメモリから削除するので、使用するソフトウェアを保存するためのメモリが不足することがなくなる。すなわち、ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量の確保ができるようになる。
【0011】
なお、この請求項1における削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するときには必ずメモリ中のソフトウェアの一部を削除するわけではない。すなわち、メモリの空き状況によっては、削除しない場合もあり得る。
【0012】
また、請求項2に記載の発明は、請求項1に記載のソフトウェア無線機において、メモリに保存されているソフトウェアの使用履歴を記録する履歴記録手段を備え、削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況と、履歴記録手段の記録しているソフトウェアの使用履歴に基づいて、メモリ中のソフトウェアの一部をメモリから削除することを特徴とする。
【0013】
これによって、請求項1の発明に加え、削除手段は履歴記録手段の記録しているソフトウェアの使用履歴に基づいてメモリ中のソフトウェアの一部を削除するので、より効率的なソフトウェアの管理ができるようになる。
【0014】
また、請求項3に記載の発明は、請求項2に記載のソフトウェア無線機において、削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況と、履歴記録手段の記録しているソフトウェアの使用履歴に基づいて、メモリ中のソフトウェアのうち、メモリから削除する候補となるものを当該ソフトウェア無線機のユーザに表示し、ユーザが候補から選択したものをメモリから削除することを特徴とする。
【0015】
これによって、ユーザが選択したものが削除されるので、削除するソフトウェアの確認をユーザが行うことができ、削除の安全性が高まる。
【0016】
また、請求項4に記載の発明は、請求項2ないし3のいずれか1つソフトウェア無線機において、履歴記録手段の記録しているソフトウェアの使用履歴は、メモリに保存されているソフトウェアの過去の使用頻度と最近の使用実績のうち少なくとも1つを含み、削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況と、上記した過去の使用頻度と最近の使用実績のうち少なくとも1つとに基づき、メモリ中のソフトウェアの一部をメモリから削除することを特徴とする。
【0017】
【発明の実施の形態】
図2は、本発明の一実施形態に係るソフトウェア無線機のハードウェア構成図である。このソフトウェア無線機は、CPU7、アンプ8a、アンプ8b、ミキサ9、局部周波数発振器であるシンセサイザ10、D/A変換器11、A/D変換器12、FPGA(Field Programable Gate Array)13、ASIC(Application Specific Integrated Circuit)14、DSP15、I/O16、RAM17、フラッシュメモリ18、アンテナ19、入力装置20、表示装置21を有している。
【0018】
FPGA13は、外部からの制御によって回路構成を変えるデジタル処理回路である。
【0019】
ASIC14は、特定処理用のデジタル回路である。
【0020】
DSP15は、プログラムによって作動するデジタル処理回路で、CPU7から命令を受信することによって作動する。
【0021】
I/O16は、ASIC14およびCPU7とデータのやりとりを行い、外部の装置とデータの交換を行うためのインターフェースである。外部とのデータ交換の規格としては、例えばUSBまたはIEEE1394等を用いる。
【0022】
RAM17は揮発性のメモリであり、フラッシュメモリ18は不揮発性のメモリである。
【0023】
入力装置20は、ソフトウェア無線機のユーザによって操作されることによって、その操作に基づいた信号をCPU7に出力する装置である。
【0024】
CPU7は、ソフトウェアをフラッシュメモリ18から読み出してRAM17に書き込み、このRAM17からそのソフトウェアの命令を逐次読み込んで実行することで作動するものである。その作動においては、DSP15およびI/O16とデータのやりとりを行い、RAM17およびフラッシュメモリ18に対してデータの書き込み/読み出しを行い、アンプ8a、アンプ8b、ミキサ9、シンセサイザ10、D/A変換器11、A/D変換器12、FPGA13、ASIC14、DSP15、I/O16の作動を制御する。また、必要があれば表示装置21に信号を出力して情報を表示させることで、ユーザに情報を通知する。
【0025】
このようなソフトウェア無線機による通信においては、アンテナ19によって受信された無線信号が、アンプ8aによって増幅され、さらにミキサ9によってシンセサイザ10の出力とかけ合わされることで復調され、A/D変換器12によってデジタル信号に変換される。このデジタル信号は、FPGA13によって受信され、必要に応じてこのFPGA13、DSP15、およびASIC14のデジタル処理回路によってデコード、並び替え等の処理を施され、その後DSP15からCPU7に渡される。またCPU7によって生成された無線送信用のデータは、DSP15によって受信され、必要に応じてこのDSP15、ASIC14、およびFPGA13によってエンコード、並び替え等の処理を施され、その後FPGA13からD/A変換器11に送信され、このD/A変換器11によってアナログ信号に変換される。このアナログ信号は、ミキサ9によってシンセサイザ10の出力とかけ合わされることで変調され、そしてアンプ8bによって増幅され、アンテナ19から無線電波として出力される。
【0026】
また、このソフトウェア無線機は、CPU7がアンプ8a、アンプ8b、ミキサ9、シンセサイザ10、D/A変換器11、A/D変換器12、FPGA13、ASIC14、DSP15、I/O16の作動を制御し、これらの機能を切り替えることで、対応無線通信システム等の無線通信機能を変更することができるようになっている。
【0027】
図1に、ソフトウェア無線機のソフトウェア/ハードウェア構成図を示す。CPU7が実行するソフトウェアは、アプリケーション1、ライブラリ管理部2、ライブラリ3、履歴管理部4、O/S5、デバイスドライバ6に大別される。
【0028】
なお、本実施形態においては、アプリケーション1、ライブラリ管理部2、ライブラリ3、履歴管理部4、O/S5、デバイスドライバ6等のソフトウェアは、CPU7によって実行されるようになっているが、以降は簡単のため、これらのソフトウェアによるCPU7の作動を、単にこれらのソフトウェアの作動として記す。
【0029】
アプリケーション1は、ソフトウェア無線機のユーザが直接利用する、最も上位の層のソフトウェアである。アプリケーション1の例としては、Webブラウザ、メーラ等の他、ユーザの操作によって使用する通信システムを切り替えるための通信システムスイッチャがある。このアプリケーション1は、無線通信機能を実現するための専用言語によって記述されたソフトウェアである。この専用言語を用いることによって、このソフトウェア無線機が有する個々のハードウェアに依存せずにプログラムを記述することができる。すなわち、ソフトウェア無線機のハードウェア構成が変化しても、同じアプリケーション1のソフトウェアを利用することができる。この専用言語において呼び出すことができる関数としては、例えば通信相手に発呼するcall関数、通信相手からの着呼に応答するrespond関数、特定のURLにアクセスするgeturl関数、メールを送信するsendmail関数、通信システムを切り替えるusenewsystem関数等がある。以下、usenewsystem関数を代表例として、ソフトウェア無線機の作動について説明する。
【0030】
usenewsystem関数は、使用するシステム名を文字列引数として受け取る。例えば、アプリケーション1のソースにおいて以下のような記述で用いられる。
【0031】
$newsystem = ”PDC(1.5GHz)”;
usenewsystem($newsystem);
この記述は、新たにPDC(1.5GHz)の通信システムの使用を開始するための命令である。
【0032】
この専用言語で記述されたプログラムは、コンパイルされることにより、O/S5において解釈、実行可能なバイナリコードに変換される。
【0033】
O/S5は、ソフトウェア無線機の各種動作のための基本的なハードウェア制御機能、処理機能、および管理機能を実現するため、ソフトウェア無線機上で常時実行されているソフトウェアである。O/S5において、上記したバイナリコードが解釈されると、O/S5はバイナリコードが呼び出している関数のうち、ライブラリ3にその本体があるものをリンクすることによって、このバイナリを実行する。
【0034】
ライブラリ3は、アプリケーション1によって呼び出される関数のうち、ハードウェアの具体的な制御を行う必要があるものの本体部分となるソフトウェアである。
【0035】
usenewsystem関数の本体部分もここにあり、シンセサイザ10、FPGA13、DSP15等のハードウェアに特化した命令のセットの記述を含んでいる。例えば、usenewsystem関数の場合は、以下のような命令を含んでいる。
【0036】
この命令によって、使用開始する通信システムがPDC(1.5GHz)なら、usenewsystem関数は、pdc15start関数を呼び出す。このpdc15startもライブラリ3に属するソフトウェアであり、以下のような命令を含んでいる。
【0037】
これらの命令は、周波数が1.5GHzとなるようシンセサイザ10を制御し、FPGAの構成をPDC(1.5GHz)用として登録されたものに変更し、DSPにPDC(1.5GHz)用の命令を読み込ませて実行させる。すなわち、これらの命令はPDC(1.5GHz)による通信が行えるように、ソフトウェア無線機のハードウェアを再構成するためのものである。上記したusenewsystem関数は、使用する通信システム毎にそれぞれに特化したライブラリ3の関数を呼び出すことで、通信システムや無線通信機能を切り替える。
【0038】
O/S5は、これらのアプリケーション1のバイナリとライブラリ3とをリンクしたものを実行する。その実行において、上記したようなハードウェアの再構成等のハードウェア制御を行うときには、ハードウェア制御のための命令をデバイスドライバ6に渡すことで実現する。
【0039】
デバイスドライバ6は、O/S5から渡されたハードウェア制御のための命令を、それぞれのハードウェアが実行可能な形式の命令に変換し、その変換した命令をCPU7から実際のハードウェアに電気信号として出力させるための処理を行うソフトウェアである。すなわちデバイスドライバ6は、ハードウェアの個々の仕様、バージョン等の違いによる命令の違いを吸収する役目を果たすようになっている。したがって、デバイスドライバ6は個々のハードウェアと密接に関連しており、ハードウェアを交換すればデバイスドライバ6もそれに合ったものに交換する必要がある。
【0040】
この様な、アプリケーション1、ライブラリ3、O/S5、デバイスドライバ6の関係は、例えばUNIX系のシステムにおけるアプリケーション、シェアードライブラリ、カーネル、デバイスドライバの関係と類似している。
【0041】
以上のようなソフトウェア構成によって、アプリケーション1は個々のハードウェアの制御についてはライブラリ3以下に任せることで、ハードウェアに依存しないプログラミングが可能となる。そして、ソフトウェア無線機は使用するソフトウェア(ライブラリ)を切り替えることにより無線通信機能を変更することができる。ただし、使用しようとする通信システムに対応するライブラリが存在しない場合は、後述するように必要なライブラリをフラッシュメモリ18へダウンロードする必要がある。
【0042】
履歴管理部4は、O/S5上で実行され、フラッシュメモリ18に格納されているライブラリ管理情報にアクセスすることで、このライブラリ管理情報の読み出し、書き換えを行うソフトウェアである。ライブラリ管理情報へのアクセスは、ライブラリ管理部2等からの要求によって行われる。
【0043】
図3に、この履歴管理部4がアクセスするライブラリ管理情報の構成を表として示す。ライブラリ管理情報は、現在ソフトウェア無線機が有しているライブラリのそれぞれについての、ライブラリ識別情報、容量、入手日、最終使用日、過去3ヶ月間の使用頻度、過去1年間の使用回数を有している。
【0044】
ライブラリ識別情報は、個々のライブラリの名称である。例えばGPSは、GPS(Global Positioning System)のための位置情報取得等の関数の実体を有し、O/S5、デバイスドライバ6を介してGPS関連のハードウェアを作動させるためのプログラムを有するライブラリである。またGSM、PCS(Single)、およびAMPS+PCSは、GSM(Global System for Mobile Communications)、PCS(Personal Communication systems)、AMPS(Advanced mobile phone service)に対応する通信を行う関数の実体を有するライブラリである。
【0045】
容量は、当該ライブラリをフラッシュメモリ18へ格納したときの、フラッシュメモリ18内における占有バイト数である。
【0046】
入手日は、当該ライブラリをフラッシュメモリ18へ格納したときの日付である。この日付が過去のものであればあるほど、当該ライブラリは古いバージョンのものであるということができる。
【0047】
最終使用日は、当該ライブラリが最後に使用された日付である。当該ライブラリが現在使用中の場合は、この項目は「現在使用中」となる。
【0048】
過去3ヶ月間の使用頻度は、当該ライブラリが3ヶ月前から現在までに使用された日数である。なお、当該ライブラリが同日中に複数回使用された場合であっても、この項目の日数は1日分しか増えないようになっている。
【0049】
過去1年間の使用回数は、当該ライブラリがフラッシュメモリ18へ格納されてから現在までに使用された回数である。
【0050】
この最終使用日、過去3ヶ月間の使用頻度、使用回数は、使用履歴情報と総称される。
【0051】
また、図3中には示していないが、ライブラリ管理情報は、各ライブラリ毎の過去1年間における毎日の使用回数、すなわち毎日の使用実績を有している。この毎日の使用実績を使用して再計算することで、履歴管理部4はライブラリ管理情報の使用履歴情報を常時更新するようになっている。
【0052】
ライブラリ管理部2は、O/S5上でアプリケーション1と並行して実行されるプログラムである。ライブラリ管理部2は、通信システム変更のための関数呼び出しを、O/S5に問い合わせることで常時監視している。この関数呼び出しを検知すると、ライブラリ管理部2は呼び出された関数を含むライブラリ、すなわち通信システム切り替えのために必要なライブラリが揃っているか否かを調べ、不足するライブラリがあれば、I/O16から有線によって、または無線によって当該ライブラリを図示しない外部のサーバ等からダウンロードする。また、ライブラリのダウンロード時に、フラッシュメモリ18中にこのライブラリを格納するための空き領域がなければ、フラッシュメモリ18内のライブラリ中から選択したものをユーザに問い合わせた上で削除する。
【0053】
なお、サーバは、ソフトウェア無線機が必要とするライブラリを有しており、ソフトウェア無線機からの要求によってライブラリ本体、あるいはライブラリのバージョン、動作可能条件、ファイルサイズ等の情報を、ソフトウェア無線機に返信するようになっている。
【0054】
上記のようなライブラリ管理部2の関数呼び出し検知後の作動の詳細を、フローチャートとして図4および図5に示して説明する。
【0055】
ライブラリ管理部2は、アプリケーション1からの通信システム変更の関数呼び出しを検知すると(ステップ405)、変更後の通信システムにとって必要なライブラリを特定する。これは、ライブラリ管理部2が、ライブラリ3における各関数の依存関係をチェックすることによって特定することができる。そして、この特定したライブラリをフラッシュメモリ18内で参照し、存在しているか否かをチェックする(ステップ410)。そして、特定したライブラリ中で、フラッシュメモリ18内に存在しない、すなわち不足するものがあるか否かを判定する(ステップ415)。
【0056】
不足プログラムが無ければ、すなわち必要なライブラリが全て揃っていれば、ライブラリ管理部2は先に検知した関数呼び出しをライブラリ3に渡すことで、無線機能の再構成および動作テストを経た後システム切り替えを行わせる(ステップ420)。
【0057】
そして、ライブラリ管理情報中の当該ライブラリの使用履歴情報を書き換えるよう履歴管理部4に要求する(ステップ425)。書き換えの具体的内容は以下の(1)〜(4)の通りである。
(1)新たに使用するライブラリの毎日の使用実績の今日の使用回数を1つ増やす
(2)新たに使用するライブラリの最終使用日の項目を「使用する」にする
(3)使用を終了するライブラリの最終使用日の項目を今日の日付にする
(4)履歴管理部4にライブラリ管理情報の再計算をさせる
ステップ415で不足プログラムがあると判定すると、ライブラリ管理部2は必要なライブラリの情報を、有線または無線でサーバに要求する。そしてサーバから、ライブラリのバージョン、動作可能条件、ファイルサイズ等を受信する。そして、O/S5を介してデバイスドライバ6からハードウェアの性能に関する諸元を取得し、ライブラリの動作可能条件に合致するか等の整合性の確認を行う(ステップ435)。
【0058】
そして、受信したファイルサイズから当該ライブラリがフラッシュメモリ18に記録されるときの占有バイト数を取得する(ステップ440)。そして、フラッシュメモリ18のライブラリを記録するための空き領域の大きさを確認する(ステップ445)。そして、この占有バイト数と空き領域との比較を行い、フラッシュメモリ18内に当該ライブラリが格納できる空き領域があるか否かを判定する(ステップ450)。
【0059】
空き領域があると判定すれば、ライブラリ管理部2はO/S5およびデバイスドライバ6を介してプログラムをRAM17内にダウンロードし(ステップ455)、ステップ420と同様、無線機能の再構成および動作テストを経た後システム切り替えをライブラリ3に行わせる(ステップ460)。
【0060】
そして、ステップ425と同様に、ライブラリ管理情報中の当該ライブラリの使用履歴情報を書き換えるよう履歴管理部4に要求し、更にRAM17上の当該ライブラリをフラッシュメモリ18に記録する(ステップ465)。
【0061】
ステップ450でフラッシュメモリ18の空き容量が十分でないでないと判定すると、ライブラリ管理部2は当該ライブラリを記録するために、他のライブラリを削除するための処理を開始する。まず、削除可能性検索条件の設定を行う。すなわち、現在フラッシュメモリ18に記録されているライブラリのうち、どのライブラリを先に削除するかの条件を1つ決める(ステップ520)。この条件は、後述するステップ590においてソフトウェア無線機を使用するユーザが選択を行っていれば、その選択による設定に決まり、そうでなければデフォルトの設定に決まる。デフォルトの設定は以下のような条件式となっている。
【0062】
<必要空き容量以上の容量を有する>AND<過去3ヶ月間に1日も使用していない>AND<2年以上前に入手している>AND<過去1年間の使用回数が3回以下である>AND<最終使用日が1年以上前である>
ANDは論理積演算子である。すなわち、<>内の項目が全て真となって初めて全体が真となる。また、ユーザが選択できるオプションとして、
<最終使用日が3ヶ月以上前である>、
<最終使用日が1ヶ月以上前である>、
<過去3ヶ月の使用日数が5日以下である>
<過去3ヶ月の使用日数が10日以下である>
<1年以上前に入手している>
<半年以上前に入手している>
<過去1年間の使用回数が10回以下である>
<過去1年間の使用回数が20回以下である>
等、条件式の個々の要素の条件を段階的にゆるめたものを組み合わせることができるようにあらかじめ設定されている。
【0063】
そして、決まった削除可能性検索条件に合致するライブラリを検索するために、履歴管理部4にライブラリ管理情報を要求して受け取り、このライブラリ管理情報に記載の内容と削除可能性検索条件とを比較し、条件が合致するライブラリのリストを作成する(ステップ520)。
【0064】
そして、このようにして作成したリスト中に、ライブラリが1つも記載されていない、すなわちリストが空であるか否かを判定する(ステップ530)。
【0065】
空でない、すなわち削除候補となるライブラリが存在していると判定すると、ライブラリ管理部2はこのリストをO/S5とデバイスドライバ6を介して表示装置21に表示させることにより、ユーザに通知し、そしてリスト中の個々のライブラリについて、削除可能か否かを指定するよう促すメッセージを表示させる(ステップ540)。
【0066】
また、このメッセージに応じて入力装置20からユーザが行った削除の可否の指定をデバイスドライバ6とO/S5を介して受信すると、この指定で削除OKのものがあるか否かを判定する(ステップ550)。そしてあると判定すると、そのライブラリの削除を行い(ステップ560)、その後ステップ445、450、455、460、および465を経て当該ライブラリのダウンロードを行う。
【0067】
なお、ステップ530でリストが空であると判定した場合、あるいはステップ550で削除OKのライブラリが無いと判定した場合、現在の削除可能性検索条件では、削除することのできるライブラリがないことになる。そこで、ライブラリ管理部2は削除可能性条件をゆるめることが可能か否かを判定する(ステップ570)。すなわち、現在よりゆるい検索のオプションがまだ存在するか否かを判定する。ゆるめることができないと判定すれば、削除できるライブラリが見つかる可能性はないとして、ライブラリ管理部2は表示装置に当該ライブラリのダウンロードは不可であると表示し(ステップ560)、ダウンロードのための処理を終了する。
【0068】
条件をゆるめることができると判定すれば、ライブラリ管理部2は1つまたは複数のオプションを表示装置にリスト表示し(ステップ590)、入力装置からユーザによる指定を待つ。この指定を受信すると、処理はステップ510に戻り、この指定された検索条件で再度削除を試みる。
【0069】
この様なライブラリ管理部2の処理によるソフトウェア無線機の作動により、外部からダウンロードするソフトウェア(ライブラリ)をフラッシュメモリ18に保存するとき、フラッシュメモリ18の空き状況、ライブラリ管理情報、およびユーザの選択に基づいて、フラッシュメモリ18中のソフトウェアの一部を削除するので、使用するソフトウェアを保存するためのメモリが不足することがなくなる。すなわち、ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量の確保ができるようになる。
【0070】
なお、本実施形態においては、ライブラリ管理部2がライブラリをダウンロードするときにフラッシュメモリ18から他のライブラリを削除するようになっているが、ダウンロードするものはライブラリである必要はなく、また削除するのもライブラリである必要はない。これらはソフトウェア無線機が使用するソフトウェアであればよい。例えば、アプリケーションをダウンロードするときにフラッシュメモリ18から他のアプリケーションを削除するようになっていてもよいし、あるいはアプリケーションをダウンロードするときに他のライブラリを削除するようになっていてもよい。
【0071】
また、本実施形態においては、フラッシュメモリ18が使用するソフトウェアを保存するためのメモリを構成する。ただし、このメモリはフラッシュメモリ18である必要は必ずしもなく、ハードディスクのような記憶装置であってもよい。
【0072】
また、履歴管理部4がメモリに保存されているソフトウェアの使用履歴記録手段を構成する。
【0073】
また、ライブラリ管理情報がメモリに保存されているソフトウェアの使用履歴に対応する。
【0074】
また、ライブラリ管理部2のステップ455のダウンロード処理が、使用するためのソフトウェアを外部から取得する外部取得手段を構成する。
【0075】
また、ライブラリ管理部2のステップ435、440、445、450、およびステップ510〜580の処理が、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況に基づいて、メモリ中のソフトウェアの一部をメモリから削除する削除手段を構成する。
【図面の簡単な説明】
【図1】本発明の実施形態に係るソフトウェア無線機のソフトウェア/ハードウェア構成図である。
【図2】ソフトウェア無線機のハードウェアの構成図である。
【図3】履歴管理部4がアクセスするライブラリ管理情報の構成を示す図表である。
【図4】ライブラリ管理部2の関数呼び出し検知後の作動のフローチャートである。
【図5】ライブラリ管理部2の関数呼び出し検知後の作動のフローチャートである。
【符号の説明】
1…アプリケーション、2…ライブラリ管理部、3…ライブラリ、
4…履歴管理部、5…O/S、6…デバイスドライバ、7…CPU、
8a、8b…アンプ、9…ミキサ、10…シンセサイザ、
11…D/A変換器、12…A/D変換器、13…FPGA、
14…ASIC、15…DSP、16…I/O、17…RAM、
18…フラッシュメモリ、19…アンテナ、20…入力装置、
21…表示装置。
【発明の属する技術分野】
本発明は、使用するソフトウェアを切り替えることにより無線通信機能を変更することができるソフトウェア無線機に関するもので、移動無線端末に用いて好適である。
【0002】
【従来の技術】
近年、使用するソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機の開発が進められている。ソフトウェア無線機は、利用場面によっては頻繁にソフトウェアの切り替えを行うことが想定される。このような場面に対応するために、いくつかの技術が提案されている。
【0003】
特開2000−244358号公報に記載の技術は、この様な場面等のために、ソフトウェア無線機側で無線機能を制御するソフトウェアとしてのライブラリをソフトウェア無線機に保存して、複数の通信システムに対応しようとするものである。
【0004】
また、特開2001ー160765号公報に記載の技術は、ライブラリ管理機能を有し、ソフトウェア無線機が対応する無線通信システムの機能を実現するためのライブラリを保存していない場合に、このライブラリ管理機能が不足するライブラリを特定し、必要なライブラリを取得するものである。
【0005】
また、特開2001−43073号公報および特開2001−43087号公報に記載の技術は、ソフトウェア無線機が互いのソフトウェアの保存状況を通信によって検索し、不足分を相互補完するものである。
【0006】
また特開2001−4556号公報に記載の技術は、現在利用可能なサービスの種別を識別し、そのサービスの中から通信品質に基づいて選んだサービスに必要なソフトウェアを入手・実行することができるものである。
【0007】
【発明が解決しようとする課題】
しかし、上記のようなソフトウェア(ライブラリ)の切り替えを頻繁に行って無線通信機能を変更すると、各無線通信機能を実現するためのソフトウェアが数多く必要となる。それら全てのソフトウェアを保存しようとすると、保存のためのメモリ容量が不足してしまい、使用するソフトウェアを取得・保存できなくなってしまうという問題がある。
【0008】
本発明は上記点に鑑みて、ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量を確保することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するための請求項1に記載の発明は、使用するソフトウェアを切り替えることにより無線通信機能を変更することができる無線通信を実現するソフトウェア無線機であって、使用するソフトウェアを保存するためのメモリと、使用するためのソフトウェアを外部から取得する外部取得手段と、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況を調べ、この空き状況に基づいて、メモリ中のソフトウェアの一部をメモリから削除する削除手段と、を備えたことを特徴とするソフトウェア無線機である。
【0010】
これによって、削除手段が、外部取得手段が取得するソフトウェアをメモリに保存するとき、メモリの空き状況に基づいて、メモリ中のソフトウェアの一部をメモリから削除するので、使用するソフトウェアを保存するためのメモリが不足することがなくなる。すなわち、ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量の確保ができるようになる。
【0011】
なお、この請求項1における削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するときには必ずメモリ中のソフトウェアの一部を削除するわけではない。すなわち、メモリの空き状況によっては、削除しない場合もあり得る。
【0012】
また、請求項2に記載の発明は、請求項1に記載のソフトウェア無線機において、メモリに保存されているソフトウェアの使用履歴を記録する履歴記録手段を備え、削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況と、履歴記録手段の記録しているソフトウェアの使用履歴に基づいて、メモリ中のソフトウェアの一部をメモリから削除することを特徴とする。
【0013】
これによって、請求項1の発明に加え、削除手段は履歴記録手段の記録しているソフトウェアの使用履歴に基づいてメモリ中のソフトウェアの一部を削除するので、より効率的なソフトウェアの管理ができるようになる。
【0014】
また、請求項3に記載の発明は、請求項2に記載のソフトウェア無線機において、削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況と、履歴記録手段の記録しているソフトウェアの使用履歴に基づいて、メモリ中のソフトウェアのうち、メモリから削除する候補となるものを当該ソフトウェア無線機のユーザに表示し、ユーザが候補から選択したものをメモリから削除することを特徴とする。
【0015】
これによって、ユーザが選択したものが削除されるので、削除するソフトウェアの確認をユーザが行うことができ、削除の安全性が高まる。
【0016】
また、請求項4に記載の発明は、請求項2ないし3のいずれか1つソフトウェア無線機において、履歴記録手段の記録しているソフトウェアの使用履歴は、メモリに保存されているソフトウェアの過去の使用頻度と最近の使用実績のうち少なくとも1つを含み、削除手段は、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況と、上記した過去の使用頻度と最近の使用実績のうち少なくとも1つとに基づき、メモリ中のソフトウェアの一部をメモリから削除することを特徴とする。
【0017】
【発明の実施の形態】
図2は、本発明の一実施形態に係るソフトウェア無線機のハードウェア構成図である。このソフトウェア無線機は、CPU7、アンプ8a、アンプ8b、ミキサ9、局部周波数発振器であるシンセサイザ10、D/A変換器11、A/D変換器12、FPGA(Field Programable Gate Array)13、ASIC(Application Specific Integrated Circuit)14、DSP15、I/O16、RAM17、フラッシュメモリ18、アンテナ19、入力装置20、表示装置21を有している。
【0018】
FPGA13は、外部からの制御によって回路構成を変えるデジタル処理回路である。
【0019】
ASIC14は、特定処理用のデジタル回路である。
【0020】
DSP15は、プログラムによって作動するデジタル処理回路で、CPU7から命令を受信することによって作動する。
【0021】
I/O16は、ASIC14およびCPU7とデータのやりとりを行い、外部の装置とデータの交換を行うためのインターフェースである。外部とのデータ交換の規格としては、例えばUSBまたはIEEE1394等を用いる。
【0022】
RAM17は揮発性のメモリであり、フラッシュメモリ18は不揮発性のメモリである。
【0023】
入力装置20は、ソフトウェア無線機のユーザによって操作されることによって、その操作に基づいた信号をCPU7に出力する装置である。
【0024】
CPU7は、ソフトウェアをフラッシュメモリ18から読み出してRAM17に書き込み、このRAM17からそのソフトウェアの命令を逐次読み込んで実行することで作動するものである。その作動においては、DSP15およびI/O16とデータのやりとりを行い、RAM17およびフラッシュメモリ18に対してデータの書き込み/読み出しを行い、アンプ8a、アンプ8b、ミキサ9、シンセサイザ10、D/A変換器11、A/D変換器12、FPGA13、ASIC14、DSP15、I/O16の作動を制御する。また、必要があれば表示装置21に信号を出力して情報を表示させることで、ユーザに情報を通知する。
【0025】
このようなソフトウェア無線機による通信においては、アンテナ19によって受信された無線信号が、アンプ8aによって増幅され、さらにミキサ9によってシンセサイザ10の出力とかけ合わされることで復調され、A/D変換器12によってデジタル信号に変換される。このデジタル信号は、FPGA13によって受信され、必要に応じてこのFPGA13、DSP15、およびASIC14のデジタル処理回路によってデコード、並び替え等の処理を施され、その後DSP15からCPU7に渡される。またCPU7によって生成された無線送信用のデータは、DSP15によって受信され、必要に応じてこのDSP15、ASIC14、およびFPGA13によってエンコード、並び替え等の処理を施され、その後FPGA13からD/A変換器11に送信され、このD/A変換器11によってアナログ信号に変換される。このアナログ信号は、ミキサ9によってシンセサイザ10の出力とかけ合わされることで変調され、そしてアンプ8bによって増幅され、アンテナ19から無線電波として出力される。
【0026】
また、このソフトウェア無線機は、CPU7がアンプ8a、アンプ8b、ミキサ9、シンセサイザ10、D/A変換器11、A/D変換器12、FPGA13、ASIC14、DSP15、I/O16の作動を制御し、これらの機能を切り替えることで、対応無線通信システム等の無線通信機能を変更することができるようになっている。
【0027】
図1に、ソフトウェア無線機のソフトウェア/ハードウェア構成図を示す。CPU7が実行するソフトウェアは、アプリケーション1、ライブラリ管理部2、ライブラリ3、履歴管理部4、O/S5、デバイスドライバ6に大別される。
【0028】
なお、本実施形態においては、アプリケーション1、ライブラリ管理部2、ライブラリ3、履歴管理部4、O/S5、デバイスドライバ6等のソフトウェアは、CPU7によって実行されるようになっているが、以降は簡単のため、これらのソフトウェアによるCPU7の作動を、単にこれらのソフトウェアの作動として記す。
【0029】
アプリケーション1は、ソフトウェア無線機のユーザが直接利用する、最も上位の層のソフトウェアである。アプリケーション1の例としては、Webブラウザ、メーラ等の他、ユーザの操作によって使用する通信システムを切り替えるための通信システムスイッチャがある。このアプリケーション1は、無線通信機能を実現するための専用言語によって記述されたソフトウェアである。この専用言語を用いることによって、このソフトウェア無線機が有する個々のハードウェアに依存せずにプログラムを記述することができる。すなわち、ソフトウェア無線機のハードウェア構成が変化しても、同じアプリケーション1のソフトウェアを利用することができる。この専用言語において呼び出すことができる関数としては、例えば通信相手に発呼するcall関数、通信相手からの着呼に応答するrespond関数、特定のURLにアクセスするgeturl関数、メールを送信するsendmail関数、通信システムを切り替えるusenewsystem関数等がある。以下、usenewsystem関数を代表例として、ソフトウェア無線機の作動について説明する。
【0030】
usenewsystem関数は、使用するシステム名を文字列引数として受け取る。例えば、アプリケーション1のソースにおいて以下のような記述で用いられる。
【0031】
$newsystem = ”PDC(1.5GHz)”;
usenewsystem($newsystem);
この記述は、新たにPDC(1.5GHz)の通信システムの使用を開始するための命令である。
【0032】
この専用言語で記述されたプログラムは、コンパイルされることにより、O/S5において解釈、実行可能なバイナリコードに変換される。
【0033】
O/S5は、ソフトウェア無線機の各種動作のための基本的なハードウェア制御機能、処理機能、および管理機能を実現するため、ソフトウェア無線機上で常時実行されているソフトウェアである。O/S5において、上記したバイナリコードが解釈されると、O/S5はバイナリコードが呼び出している関数のうち、ライブラリ3にその本体があるものをリンクすることによって、このバイナリを実行する。
【0034】
ライブラリ3は、アプリケーション1によって呼び出される関数のうち、ハードウェアの具体的な制御を行う必要があるものの本体部分となるソフトウェアである。
【0035】
usenewsystem関数の本体部分もここにあり、シンセサイザ10、FPGA13、DSP15等のハードウェアに特化した命令のセットの記述を含んでいる。例えば、usenewsystem関数の場合は、以下のような命令を含んでいる。
【0036】
この命令によって、使用開始する通信システムがPDC(1.5GHz)なら、usenewsystem関数は、pdc15start関数を呼び出す。このpdc15startもライブラリ3に属するソフトウェアであり、以下のような命令を含んでいる。
【0037】
これらの命令は、周波数が1.5GHzとなるようシンセサイザ10を制御し、FPGAの構成をPDC(1.5GHz)用として登録されたものに変更し、DSPにPDC(1.5GHz)用の命令を読み込ませて実行させる。すなわち、これらの命令はPDC(1.5GHz)による通信が行えるように、ソフトウェア無線機のハードウェアを再構成するためのものである。上記したusenewsystem関数は、使用する通信システム毎にそれぞれに特化したライブラリ3の関数を呼び出すことで、通信システムや無線通信機能を切り替える。
【0038】
O/S5は、これらのアプリケーション1のバイナリとライブラリ3とをリンクしたものを実行する。その実行において、上記したようなハードウェアの再構成等のハードウェア制御を行うときには、ハードウェア制御のための命令をデバイスドライバ6に渡すことで実現する。
【0039】
デバイスドライバ6は、O/S5から渡されたハードウェア制御のための命令を、それぞれのハードウェアが実行可能な形式の命令に変換し、その変換した命令をCPU7から実際のハードウェアに電気信号として出力させるための処理を行うソフトウェアである。すなわちデバイスドライバ6は、ハードウェアの個々の仕様、バージョン等の違いによる命令の違いを吸収する役目を果たすようになっている。したがって、デバイスドライバ6は個々のハードウェアと密接に関連しており、ハードウェアを交換すればデバイスドライバ6もそれに合ったものに交換する必要がある。
【0040】
この様な、アプリケーション1、ライブラリ3、O/S5、デバイスドライバ6の関係は、例えばUNIX系のシステムにおけるアプリケーション、シェアードライブラリ、カーネル、デバイスドライバの関係と類似している。
【0041】
以上のようなソフトウェア構成によって、アプリケーション1は個々のハードウェアの制御についてはライブラリ3以下に任せることで、ハードウェアに依存しないプログラミングが可能となる。そして、ソフトウェア無線機は使用するソフトウェア(ライブラリ)を切り替えることにより無線通信機能を変更することができる。ただし、使用しようとする通信システムに対応するライブラリが存在しない場合は、後述するように必要なライブラリをフラッシュメモリ18へダウンロードする必要がある。
【0042】
履歴管理部4は、O/S5上で実行され、フラッシュメモリ18に格納されているライブラリ管理情報にアクセスすることで、このライブラリ管理情報の読み出し、書き換えを行うソフトウェアである。ライブラリ管理情報へのアクセスは、ライブラリ管理部2等からの要求によって行われる。
【0043】
図3に、この履歴管理部4がアクセスするライブラリ管理情報の構成を表として示す。ライブラリ管理情報は、現在ソフトウェア無線機が有しているライブラリのそれぞれについての、ライブラリ識別情報、容量、入手日、最終使用日、過去3ヶ月間の使用頻度、過去1年間の使用回数を有している。
【0044】
ライブラリ識別情報は、個々のライブラリの名称である。例えばGPSは、GPS(Global Positioning System)のための位置情報取得等の関数の実体を有し、O/S5、デバイスドライバ6を介してGPS関連のハードウェアを作動させるためのプログラムを有するライブラリである。またGSM、PCS(Single)、およびAMPS+PCSは、GSM(Global System for Mobile Communications)、PCS(Personal Communication systems)、AMPS(Advanced mobile phone service)に対応する通信を行う関数の実体を有するライブラリである。
【0045】
容量は、当該ライブラリをフラッシュメモリ18へ格納したときの、フラッシュメモリ18内における占有バイト数である。
【0046】
入手日は、当該ライブラリをフラッシュメモリ18へ格納したときの日付である。この日付が過去のものであればあるほど、当該ライブラリは古いバージョンのものであるということができる。
【0047】
最終使用日は、当該ライブラリが最後に使用された日付である。当該ライブラリが現在使用中の場合は、この項目は「現在使用中」となる。
【0048】
過去3ヶ月間の使用頻度は、当該ライブラリが3ヶ月前から現在までに使用された日数である。なお、当該ライブラリが同日中に複数回使用された場合であっても、この項目の日数は1日分しか増えないようになっている。
【0049】
過去1年間の使用回数は、当該ライブラリがフラッシュメモリ18へ格納されてから現在までに使用された回数である。
【0050】
この最終使用日、過去3ヶ月間の使用頻度、使用回数は、使用履歴情報と総称される。
【0051】
また、図3中には示していないが、ライブラリ管理情報は、各ライブラリ毎の過去1年間における毎日の使用回数、すなわち毎日の使用実績を有している。この毎日の使用実績を使用して再計算することで、履歴管理部4はライブラリ管理情報の使用履歴情報を常時更新するようになっている。
【0052】
ライブラリ管理部2は、O/S5上でアプリケーション1と並行して実行されるプログラムである。ライブラリ管理部2は、通信システム変更のための関数呼び出しを、O/S5に問い合わせることで常時監視している。この関数呼び出しを検知すると、ライブラリ管理部2は呼び出された関数を含むライブラリ、すなわち通信システム切り替えのために必要なライブラリが揃っているか否かを調べ、不足するライブラリがあれば、I/O16から有線によって、または無線によって当該ライブラリを図示しない外部のサーバ等からダウンロードする。また、ライブラリのダウンロード時に、フラッシュメモリ18中にこのライブラリを格納するための空き領域がなければ、フラッシュメモリ18内のライブラリ中から選択したものをユーザに問い合わせた上で削除する。
【0053】
なお、サーバは、ソフトウェア無線機が必要とするライブラリを有しており、ソフトウェア無線機からの要求によってライブラリ本体、あるいはライブラリのバージョン、動作可能条件、ファイルサイズ等の情報を、ソフトウェア無線機に返信するようになっている。
【0054】
上記のようなライブラリ管理部2の関数呼び出し検知後の作動の詳細を、フローチャートとして図4および図5に示して説明する。
【0055】
ライブラリ管理部2は、アプリケーション1からの通信システム変更の関数呼び出しを検知すると(ステップ405)、変更後の通信システムにとって必要なライブラリを特定する。これは、ライブラリ管理部2が、ライブラリ3における各関数の依存関係をチェックすることによって特定することができる。そして、この特定したライブラリをフラッシュメモリ18内で参照し、存在しているか否かをチェックする(ステップ410)。そして、特定したライブラリ中で、フラッシュメモリ18内に存在しない、すなわち不足するものがあるか否かを判定する(ステップ415)。
【0056】
不足プログラムが無ければ、すなわち必要なライブラリが全て揃っていれば、ライブラリ管理部2は先に検知した関数呼び出しをライブラリ3に渡すことで、無線機能の再構成および動作テストを経た後システム切り替えを行わせる(ステップ420)。
【0057】
そして、ライブラリ管理情報中の当該ライブラリの使用履歴情報を書き換えるよう履歴管理部4に要求する(ステップ425)。書き換えの具体的内容は以下の(1)〜(4)の通りである。
(1)新たに使用するライブラリの毎日の使用実績の今日の使用回数を1つ増やす
(2)新たに使用するライブラリの最終使用日の項目を「使用する」にする
(3)使用を終了するライブラリの最終使用日の項目を今日の日付にする
(4)履歴管理部4にライブラリ管理情報の再計算をさせる
ステップ415で不足プログラムがあると判定すると、ライブラリ管理部2は必要なライブラリの情報を、有線または無線でサーバに要求する。そしてサーバから、ライブラリのバージョン、動作可能条件、ファイルサイズ等を受信する。そして、O/S5を介してデバイスドライバ6からハードウェアの性能に関する諸元を取得し、ライブラリの動作可能条件に合致するか等の整合性の確認を行う(ステップ435)。
【0058】
そして、受信したファイルサイズから当該ライブラリがフラッシュメモリ18に記録されるときの占有バイト数を取得する(ステップ440)。そして、フラッシュメモリ18のライブラリを記録するための空き領域の大きさを確認する(ステップ445)。そして、この占有バイト数と空き領域との比較を行い、フラッシュメモリ18内に当該ライブラリが格納できる空き領域があるか否かを判定する(ステップ450)。
【0059】
空き領域があると判定すれば、ライブラリ管理部2はO/S5およびデバイスドライバ6を介してプログラムをRAM17内にダウンロードし(ステップ455)、ステップ420と同様、無線機能の再構成および動作テストを経た後システム切り替えをライブラリ3に行わせる(ステップ460)。
【0060】
そして、ステップ425と同様に、ライブラリ管理情報中の当該ライブラリの使用履歴情報を書き換えるよう履歴管理部4に要求し、更にRAM17上の当該ライブラリをフラッシュメモリ18に記録する(ステップ465)。
【0061】
ステップ450でフラッシュメモリ18の空き容量が十分でないでないと判定すると、ライブラリ管理部2は当該ライブラリを記録するために、他のライブラリを削除するための処理を開始する。まず、削除可能性検索条件の設定を行う。すなわち、現在フラッシュメモリ18に記録されているライブラリのうち、どのライブラリを先に削除するかの条件を1つ決める(ステップ520)。この条件は、後述するステップ590においてソフトウェア無線機を使用するユーザが選択を行っていれば、その選択による設定に決まり、そうでなければデフォルトの設定に決まる。デフォルトの設定は以下のような条件式となっている。
【0062】
<必要空き容量以上の容量を有する>AND<過去3ヶ月間に1日も使用していない>AND<2年以上前に入手している>AND<過去1年間の使用回数が3回以下である>AND<最終使用日が1年以上前である>
ANDは論理積演算子である。すなわち、<>内の項目が全て真となって初めて全体が真となる。また、ユーザが選択できるオプションとして、
<最終使用日が3ヶ月以上前である>、
<最終使用日が1ヶ月以上前である>、
<過去3ヶ月の使用日数が5日以下である>
<過去3ヶ月の使用日数が10日以下である>
<1年以上前に入手している>
<半年以上前に入手している>
<過去1年間の使用回数が10回以下である>
<過去1年間の使用回数が20回以下である>
等、条件式の個々の要素の条件を段階的にゆるめたものを組み合わせることができるようにあらかじめ設定されている。
【0063】
そして、決まった削除可能性検索条件に合致するライブラリを検索するために、履歴管理部4にライブラリ管理情報を要求して受け取り、このライブラリ管理情報に記載の内容と削除可能性検索条件とを比較し、条件が合致するライブラリのリストを作成する(ステップ520)。
【0064】
そして、このようにして作成したリスト中に、ライブラリが1つも記載されていない、すなわちリストが空であるか否かを判定する(ステップ530)。
【0065】
空でない、すなわち削除候補となるライブラリが存在していると判定すると、ライブラリ管理部2はこのリストをO/S5とデバイスドライバ6を介して表示装置21に表示させることにより、ユーザに通知し、そしてリスト中の個々のライブラリについて、削除可能か否かを指定するよう促すメッセージを表示させる(ステップ540)。
【0066】
また、このメッセージに応じて入力装置20からユーザが行った削除の可否の指定をデバイスドライバ6とO/S5を介して受信すると、この指定で削除OKのものがあるか否かを判定する(ステップ550)。そしてあると判定すると、そのライブラリの削除を行い(ステップ560)、その後ステップ445、450、455、460、および465を経て当該ライブラリのダウンロードを行う。
【0067】
なお、ステップ530でリストが空であると判定した場合、あるいはステップ550で削除OKのライブラリが無いと判定した場合、現在の削除可能性検索条件では、削除することのできるライブラリがないことになる。そこで、ライブラリ管理部2は削除可能性条件をゆるめることが可能か否かを判定する(ステップ570)。すなわち、現在よりゆるい検索のオプションがまだ存在するか否かを判定する。ゆるめることができないと判定すれば、削除できるライブラリが見つかる可能性はないとして、ライブラリ管理部2は表示装置に当該ライブラリのダウンロードは不可であると表示し(ステップ560)、ダウンロードのための処理を終了する。
【0068】
条件をゆるめることができると判定すれば、ライブラリ管理部2は1つまたは複数のオプションを表示装置にリスト表示し(ステップ590)、入力装置からユーザによる指定を待つ。この指定を受信すると、処理はステップ510に戻り、この指定された検索条件で再度削除を試みる。
【0069】
この様なライブラリ管理部2の処理によるソフトウェア無線機の作動により、外部からダウンロードするソフトウェア(ライブラリ)をフラッシュメモリ18に保存するとき、フラッシュメモリ18の空き状況、ライブラリ管理情報、およびユーザの選択に基づいて、フラッシュメモリ18中のソフトウェアの一部を削除するので、使用するソフトウェアを保存するためのメモリが不足することがなくなる。すなわち、ソフトウェアを切り替えることによって無線通信機能を変更することができるソフトウェア無線機において、使用するソフトウェアを保存するためのメモリ容量の確保ができるようになる。
【0070】
なお、本実施形態においては、ライブラリ管理部2がライブラリをダウンロードするときにフラッシュメモリ18から他のライブラリを削除するようになっているが、ダウンロードするものはライブラリである必要はなく、また削除するのもライブラリである必要はない。これらはソフトウェア無線機が使用するソフトウェアであればよい。例えば、アプリケーションをダウンロードするときにフラッシュメモリ18から他のアプリケーションを削除するようになっていてもよいし、あるいはアプリケーションをダウンロードするときに他のライブラリを削除するようになっていてもよい。
【0071】
また、本実施形態においては、フラッシュメモリ18が使用するソフトウェアを保存するためのメモリを構成する。ただし、このメモリはフラッシュメモリ18である必要は必ずしもなく、ハードディスクのような記憶装置であってもよい。
【0072】
また、履歴管理部4がメモリに保存されているソフトウェアの使用履歴記録手段を構成する。
【0073】
また、ライブラリ管理情報がメモリに保存されているソフトウェアの使用履歴に対応する。
【0074】
また、ライブラリ管理部2のステップ455のダウンロード処理が、使用するためのソフトウェアを外部から取得する外部取得手段を構成する。
【0075】
また、ライブラリ管理部2のステップ435、440、445、450、およびステップ510〜580の処理が、外部取得手段が取得したソフトウェアをメモリに保存するとき、メモリの空き状況に基づいて、メモリ中のソフトウェアの一部をメモリから削除する削除手段を構成する。
【図面の簡単な説明】
【図1】本発明の実施形態に係るソフトウェア無線機のソフトウェア/ハードウェア構成図である。
【図2】ソフトウェア無線機のハードウェアの構成図である。
【図3】履歴管理部4がアクセスするライブラリ管理情報の構成を示す図表である。
【図4】ライブラリ管理部2の関数呼び出し検知後の作動のフローチャートである。
【図5】ライブラリ管理部2の関数呼び出し検知後の作動のフローチャートである。
【符号の説明】
1…アプリケーション、2…ライブラリ管理部、3…ライブラリ、
4…履歴管理部、5…O/S、6…デバイスドライバ、7…CPU、
8a、8b…アンプ、9…ミキサ、10…シンセサイザ、
11…D/A変換器、12…A/D変換器、13…FPGA、
14…ASIC、15…DSP、16…I/O、17…RAM、
18…フラッシュメモリ、19…アンテナ、20…入力装置、
21…表示装置。
Claims (4)
- 使用するソフトウェアを切り替えることにより無線通信機能を変更することができる無線通信を実現するソフトウェア無線機であって、
前記使用するソフトウェアを保存するためのメモリと、
前記使用するためのソフトウェアを外部から取得する外部取得手段と、
前記外部取得手段が取得したソフトウェアを前記メモリに保存するとき、前記メモリの空き状況を調べ、この空き状況に基づいて、前記メモリ中のソフトウェアの一部を前記メモリから削除する削除手段と、を備えたことを特徴とするソフトウェア無線機。 - 前記メモリに保存されているソフトウェアの使用履歴を記録する履歴記録手段を備え、
前記削除手段は、前記外部取得手段が取得したソフトウェアを前記メモリに保存するとき、前記メモリの空き状況と、前記履歴記録手段の記録しているソフトウェアの使用履歴に基づいて、前記メモリ中のソフトウェアの一部を前記メモリから削除することを特徴とする請求項1に記載のソフトウェア無線機。 - 前記削除手段は、前記外部取得手段が取得したソフトウェアを前記メモリに保存するとき、前記メモリの空き状況と、前記履歴記録手段の記録しているソフトウェアの使用履歴に基づいて、前記メモリ中のソフトウェアのうち、前記メモリから削除する候補となるものを当該ソフトウェア無線機のユーザに表示し、前記ユーザが前記候補から選択したものを前記メモリから削除することを特徴とする請求項2に記載のソフトウェア無線機。
- 前記履歴記録手段の記録しているソフトウェアの使用履歴は、前記メモリに保存されているソフトウェアの過去の使用頻度と最近の使用実績のうち少なくとも1つを含み、
前記削除手段は、前記外部取得手段が取得したソフトウェアを前記メモリに保存するとき、前記メモリの空き状況と、前記過去の使用頻度と最近の使用実績のうち少なくとも1つとに基づき、前記メモリ中のソフトウェアの一部を前記メモリから削除することを特徴とする請求項2ないし3のいずれか1つソフトウェア無線機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002180148A JP2004023753A (ja) | 2002-06-20 | 2002-06-20 | ソフトウェア無線機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002180148A JP2004023753A (ja) | 2002-06-20 | 2002-06-20 | ソフトウェア無線機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004023753A true JP2004023753A (ja) | 2004-01-22 |
Family
ID=31177364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002180148A Pending JP2004023753A (ja) | 2002-06-20 | 2002-06-20 | ソフトウェア無線機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004023753A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076486A1 (ja) * | 2004-02-06 | 2005-08-18 | Sanyo Electric Co., Ltd. | 放送受信機能付き携帯電話機 |
WO2005076125A1 (ja) * | 2004-02-10 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | プログラム実行装置、プログラム実行方法、及びプログラム |
KR100617565B1 (ko) | 2004-12-20 | 2006-09-01 | 엘지전자 주식회사 | 이동단말기의 컨텐츠 프리인스톨 방법 |
JP2007148844A (ja) * | 2005-11-29 | 2007-06-14 | Hitachi Kokusai Electric Inc | ソフトウェア無線機におけるドメイン管理インタフェース |
JP2007529181A (ja) * | 2004-03-15 | 2007-10-18 | サムスン エレクトロニクス カンパニー リミテッド | マルチモード/マルチバンド移動局及びその移動局の動作方法 |
JP2007328811A (ja) * | 2007-08-06 | 2007-12-20 | Sharp Corp | 受像機 |
JP2008500794A (ja) * | 2004-05-18 | 2008-01-10 | キョウセラ ワイヤレス コープ. | 無線通信機器用のモジュラデータコンポーネント |
JP2008526174A (ja) * | 2004-12-22 | 2008-07-17 | サーフ テクノロジー インコーポレイテッド | 衛星測位支援型の通信システムの選択 |
DE102007022970A1 (de) * | 2007-05-16 | 2008-11-20 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur dynamischen Rekonfiguration eines Funkkommunikationssystems |
US7720506B1 (en) | 2006-07-28 | 2010-05-18 | Rockwell Collins, Inc. | System and method of providing antenna specific front ends for aviation software defined radios |
US7831255B1 (en) | 2006-07-31 | 2010-11-09 | Rockwell Collins, Inc. | System and method of providing automated availability and integrity verification for aviation software defined radios |
US7885409B2 (en) | 2002-08-28 | 2011-02-08 | Rockwell Collins, Inc. | Software radio system and method |
JP2011518447A (ja) * | 2007-12-13 | 2011-06-23 | イセラ・インコーポレーテッド | 無線アクセス技術 |
JP2015516701A (ja) * | 2012-06-21 | 2015-06-11 | エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. | ソフトウェア定義光ネットワーク |
-
2002
- 2002-06-20 JP JP2002180148A patent/JP2004023753A/ja active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7885409B2 (en) | 2002-08-28 | 2011-02-08 | Rockwell Collins, Inc. | Software radio system and method |
US8280397B2 (en) | 2004-02-06 | 2012-10-02 | Kyocera Corporation | Mobile telephone unit with broadcast receiving function |
WO2005076486A1 (ja) * | 2004-02-06 | 2005-08-18 | Sanyo Electric Co., Ltd. | 放送受信機能付き携帯電話機 |
CN100422927C (zh) * | 2004-02-10 | 2008-10-01 | 松下电器产业株式会社 | 程序执行装置及程序执行方法 |
WO2005076125A1 (ja) * | 2004-02-10 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | プログラム実行装置、プログラム実行方法、及びプログラム |
JP2007529181A (ja) * | 2004-03-15 | 2007-10-18 | サムスン エレクトロニクス カンパニー リミテッド | マルチモード/マルチバンド移動局及びその移動局の動作方法 |
JP2008500794A (ja) * | 2004-05-18 | 2008-01-10 | キョウセラ ワイヤレス コープ. | 無線通信機器用のモジュラデータコンポーネント |
KR100617565B1 (ko) | 2004-12-20 | 2006-09-01 | 엘지전자 주식회사 | 이동단말기의 컨텐츠 프리인스톨 방법 |
JP2008526174A (ja) * | 2004-12-22 | 2008-07-17 | サーフ テクノロジー インコーポレイテッド | 衛星測位支援型の通信システムの選択 |
JP2007148844A (ja) * | 2005-11-29 | 2007-06-14 | Hitachi Kokusai Electric Inc | ソフトウェア無線機におけるドメイン管理インタフェース |
US7720506B1 (en) | 2006-07-28 | 2010-05-18 | Rockwell Collins, Inc. | System and method of providing antenna specific front ends for aviation software defined radios |
US7831255B1 (en) | 2006-07-31 | 2010-11-09 | Rockwell Collins, Inc. | System and method of providing automated availability and integrity verification for aviation software defined radios |
DE102007022970A1 (de) * | 2007-05-16 | 2008-11-20 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur dynamischen Rekonfiguration eines Funkkommunikationssystems |
US8346182B2 (en) | 2007-05-16 | 2013-01-01 | Rohde & Schwarz Gmbh & Co. Kg | Method and a device for dynamic reconfiguration of a radio communications system |
JP2007328811A (ja) * | 2007-08-06 | 2007-12-20 | Sharp Corp | 受像機 |
JP4571171B2 (ja) * | 2007-08-06 | 2010-10-27 | シャープ株式会社 | 受像機 |
JP2011518447A (ja) * | 2007-12-13 | 2011-06-23 | イセラ・インコーポレーテッド | 無線アクセス技術 |
JP2015516701A (ja) * | 2012-06-21 | 2015-06-11 | エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. | ソフトウェア定義光ネットワーク |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11039301B2 (en) | Apparatuses, methods and systems for implementing a system-on-chip with integrated reprogrammable cellular network connectivity | |
JP2004023753A (ja) | ソフトウェア無線機 | |
US7542758B2 (en) | Field downloading of wireless device software | |
US8045978B2 (en) | Apparatus and method for managing tool kit menu of portable terminal in roaming condition | |
US9204239B1 (en) | Segmented customization package within distributed server architecture | |
US7159214B2 (en) | System and method for compacting field upgradeable wireless communication device software code sections | |
US9143924B1 (en) | Segmented customization payload delivery | |
US7386846B2 (en) | System and method for the management of wireless communications device system software downloads in the field | |
EP1246057A2 (en) | Remote program downloading system | |
US8342960B2 (en) | Information processor | |
US7904897B2 (en) | Executing applications from a semiconductor nonvolatile memory | |
US10970020B2 (en) | Non-transitory computer-readable recording medium storing computer-readable instructions for causing information processing device to execute image process, and information processing device | |
US11051160B2 (en) | Apparatuses, methods and systems for implementing a system-on-chip with integrated reprogrammable cellular network connectivity | |
US7366840B2 (en) | Method for processing data, a data processing system and a portable terminal with data processing capability | |
US11200036B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
KR100879547B1 (ko) | 이동통신단말기의 펌웨어 업데이트 방법 및 이를 이용하는이동통신단말기 | |
JP2004527806A (ja) | メモリ利用度の自律的最適化及びソフトウェア機能のダウンロードのための方法及び装置 | |
JP2001273147A (ja) | 情報配布方法、情報配布システム、情報配布サーバ、端末機器および記録媒体 | |
JP2007004704A (ja) | アプリケーションを削除するicカードシステム | |
JP4007936B2 (ja) | 制御サーバ装置 | |
KR100627819B1 (ko) | 왑 브라우저의 기능을 이용하여 애플리케이션을 제어하는방법 | |
KR100662291B1 (ko) | 휴대장치에서의 모듈 프로그램 구현 방법 | |
JP4666231B2 (ja) | アプリケーション競合管理システム及びその方法並びにそれを用いた情報処理端末 | |
JP2006338441A (ja) | Icカード用icモジュール、icカード及びicカードのプログラム | |
JP7346955B2 (ja) | アプリケーションプログラム及びソフトウェアエージェント |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061010 |