(57)【要約】【課題】外部演算デバイスに関する無線デバイス中心の制御を提供するための方法及び装置。【解決手段】無線デバイスが接続可能な外部デバイス上のリソースを利用することを可能にする装置及び方法は、外部デバイス上にソフトウェア・コンポーネントをインストールすることを備えることができ、そのソフトウェア・コンポーネントは、無線デバイスと外部デバイス上の所望のリソースとの間の通信を利用可能にするように動作する。別の態様では、無線デバイス常駐アプリケーションは、無線ネットワークを介して遠隔サーバからアプリケーション・インストール・パッケージを得るように動作し、そしてオンデマンド方式で外部デバイス上の外部デバイス・アプリケーションをインストールするように動作する。【選択図】図２
2008537452.tif 000002
【特許請求の範囲】
【請求項１】
接続されている外部デバイス上のリソースを利用する無線デバイスの方法であって、
予め決められたデバイス・リソースを利用するために動作するアプリケーションを無線デバイス上で実行すること、ここにおいて、該無線デバイスは該予め決められたデバイス・リソースの１番目のものを備える；
外部デバイスを該無線デバイスに接続すること、ここにおいて、該外部デバイスは該予め決められたデバイス・リソースの２番目のものを備える；及び
該予め決められたリソースの該１番目のものを利用することと該予め決められたリソースの該２番目のものを利用することとの間で該無線デバイスのアプリケーションを自動的に切り替えること、
を具備する方法。
【請求項２】
自動的に切り替えることは、予め決められた外部デバイス・リソース選択論理に基づく、請求項１の方法。
【請求項３】
該接続された外部デバイス上にインターフェース手段をインストールすることをさらに具備し、ここにおいて、該インターフェース手段は該無線デバイス・アプリケーションと該外部デバイス上の該予め決められたデバイス・リソースとの間の通信を使用可能にするために動作する、請求項１の方法。
【請求項４】
無線ネットワークを介して遠隔サーバから該インターフェース手段を該無線デバイス上で得ることをさらに備える、請求項３の方法。
【請求項５】
該外部デバイスのメモリ中に外部デバイス・アプリケーション・モジュールをインストールすることをさらに具備し、ここにおいて、該アプリケーション・モジュールは該無線デバイス・アプリケーションに関連して該外部デバイス上で実行可能である、請求項１の方法。
【請求項６】
該外部デバイス・アプリケーション・モジュールをインストールすることは、
アプリケーション管理パッケージを該無線デバイス上で得ること；及び
該アプリケーション管理パッケージを使用して該外部デバイス上の該外部デバイス・アプリケーションをインストールすること
をさらに備える、請求項５の方法。
【請求項７】
無線ネットワークを介して遠隔サーバから該アプリケーション管理パッケージを得ることをさらに備える、請求項６の方法。
【請求項８】
複数のアプリケーション・モジュールから該外部デバイス・アプリケーション・モジュールの選択を受け取ることをさらに備える、請求項６の方法。
【請求項９】
該選択は、外部デバイス・タイプに基づく、請求項８の方法。
【請求項１０】
無線ネットワークを介して遠隔サーバからアプリケーション・モジュール管理パッケージを該無線デバイス上で得ることをさらに備える、請求項６の方法。
【請求項１１】
該無線デバイスの制御の下で該外部デバイス・アプリケーション・モジュールをアンインストールすることをさらに備える、請求項５の方法。
【請求項１２】
通信を自動的に切り替えることは、該外部デバイスにデータを伝送することをさらに備え、ここにおいて、該外部デバイスは該外部デバイスのメモリ内に該データを記憶するように動作する、請求項１の方法。
【請求項１３】
通信を自動的に切り替えることは、遠隔サーバにデータを転送するように動作する該外部デバイス上の通信インターフェースに該データを伝送することをさらに備える、請求項１の方法。
【請求項１４】
通信を自動的に切り替えることは、該外部デバイスから処理されたデータを受信することをさらに備える、請求項１の方法。
【請求項１５】
複数のネットワーク接続から選択されたネットワーク接続を使用して遠隔サーバと通信することをさらに具備し、ここにおいて、該複数のネットワーク接続は少なくとも１つの外部デバイス常駐ネットワーク接続を備える、請求項１の方法。
【請求項１６】
該外部デバイス上に以前にインストールされた外部デバイス・アプリケーション及びデバイス・ドライバのうちの少なくとも１つを修正することをさらに具備する、請求項１の方法。
【請求項１７】
機械によって実行されるときに、該機械に下記の動作を実行させる命令を具備する機械読み取り可能な媒体であって、該動作は、
予め決められたデバイス・リソースを利用するために動作するアプリケーションを無線デバイス上で実行すること、ここにおいて、該無線デバイスは該予め決められたデバイス・リソースの１番目のものを備える；
外部デバイスを該無線デバイスに接続すること、ここにおいて、該外部デバイスは該予め決められたデバイス・リソースの２番目のものを備える；及び
該予め決められたリソースの該１番目のものを利用することと該予め決められたリソースの該２番目のものを利用することとの間で該無線デバイス・アプリケーションを自動的に切り替えること、
を具備することを特徴とする、機械読み取り可能な媒体
【請求項１８】
下記の行為を実行するために構成された少なくとも１つのプロセッサであって、該行為は、
予め決められたデバイス・リソースを利用するために動作するアプリケーションを無線デバイス上で実行すること、ここにおいて、該無線デバイスは該予め決められたデバイス・リソースの１番目のものを備える；
外部デバイスを該無線デバイスに接続すること、ここにおいて、該外部デバイスは該予め決められたデバイス・リソースの２番目のものを備える；及び
該予め決められたリソースの該１番目のものを利用することと該予め決められたリソースの該２番目のものを利用することとの間で該無線デバイス・アプリケーションを自動的に切り替えること、
を具備することを特徴とする、プロセッサ。
【請求項１９】
無線デバイスであって、
予め決められたデバイス・リソースを利用するために動作するアプリケーションを無線デバイス上で実行するための手段、ここにおいて、該無線デバイスは該予め決められたデバイス・リソースの１番目のものを備える；
外部デバイスを該無線デバイスに接続するための手段、ここにおいて、該外部デバイスは該予め決められたデバイス・リソースの２番目のものを備える；及び
該予め決められたリソースの該１番目のものを利用することと該予め決められたリソースの該２番目のものを利用することとの間で該無線デバイス・アプリケーションを自動的に切り替えるための手段、
を具備する無線デバイス。
【請求項２０】
無線デバイスであって、
処理エンジン；
該処理エンジンによってアクセス可能なメモリ；
プロセッサと該メモリとの間の通信、そして該無線デバイスと第１の予め決められたデバイス・リソースを有する外部デバイスとの間の通信を交換するために動作する通信モジュール；
該通信モジュールと通信する第２の予め決められたデバイス・リソース；
該メモリ中に常駐し、そして該処理エンジンによって実行な第１のアプリケーション、ここにおいて、該第１のアプリケーションは該第１の予め決められたデバイス・リソースと該第２の予め決められたデバイス・リソースのうちのいずれかを利用するために動作する；及び
該メモリ中に常駐し、そして該処理エンジンによって実行な選択モジュールを具備し、ここにおいて、該選択モジュールは該第２の予め決められたデバイス・リソースを利用することと該第１のアプリケーションの実行の間に該第１の予め決められたデバイス・リソースを用いることとの間で該第１のアプリケーションを自動的に切り替えるように動作する
ことを特徴とする、無線デバイス。
【請求項２１】
該選択モジュールは、該第１の予め決められたデバイス・リソースと該第２の予め決められたデバイス・リソースとの間の該利用をいつ自動的に切り替えるかを決定するために動作する予め決められた外部デバイス・リソース選択論理回路をさらに備える、請求項２０のデバイス。
【請求項２２】
該第１のアプリケーションは、データを記憶すること、データを処理すること及びデータを伝送することのうちの少なくとも１つのために該第１の予め決められたリソースを利用するようにさらに動作する、請求項２０のデバイス。
【請求項２３】
該無線デバイスは、該第１のデバイス・リソースを利用している間に該外部デバイスを介して該遠隔サーバにデータを伝送するように構成される、請求項２０のデバイス。
【請求項２４】
該無線デバイスは、インターフェース手段を有する外部デバイス・マネージャをさらに具備し、ここにおいて、該外部デバイス・マネージャは該外部デバイス上にインターフェース手段をインストールするように動作し、該インターフェース手段は該第１のアプリケーションと該外部デバイス上の該第１の予め決められたデバイス・リソースとの間の通信を利用可能にするために動作する、請求項２０のデバイス。
【請求項２５】
該無線デバイスは、デバイス・ドライバと外部デバイス・アプリケーションとのうちの少なくとも１つを備えるオンデマンド方式モジュールを有する外部デバイス・マネージャをさらに具備し、ここにおいて、該オンデマンド方式モジュールは該デバイス・ドライバと該外部デバイス・アプリケーションとのうちの少なくとも１つを該外部デバイス上にダウンロードするためにそしてインストールするために動作する、請求項２０のデバイス。
【請求項２６】
該デバイス・ドライバ及び該外部デバイス・アプリケーションは、該外部デバイス上に常駐する既存のデバイス・ドライバ及び既存の外部デバイス・アプリケーションそれぞれの更新されたバージョンを備える、請求項２５のデバイス。
【請求項２７】
該デバイス・ドライバ及び該外部デバイス・アプリケーションは、該外部デバイスに関係するデバイス・タイプに基づいて複数のデバイス・ドライバ及び複数の外部デバイス・アプリケーションからそれぞれ選択される、請求項２５のデバイス。
【請求項２８】
複数の可能性のある外部デバイスのリストを有する外部デバイス・タイプ選択モジュールをさらに備え、ここにおいて、該デバイス・タイプは、該複数の可能性のある外部デバイスのうちの選択された１つに対応する、請求項２７のデバイス。
【請求項２９】
該外部デバイスを調べるために動作し、そして該外部デバイス上に常駐するデバイス・ドライバと外部デバイス・アプリケーションとのうちの少なくとも１つのリストを備える調査結果を生成するために動作する外部デバイス調査モジュールをさらに具備し、ここにおいて、該調査結果は該デバイス・ドライバ及び該外部デバイス・アプリケーションのそれぞれ１つに関係するバージョン情報をさらに備える、請求項２０のデバイス。
【請求項３０】
無線ネットワークを介して限定されたサービス通信チャネルを該無線デバイス上で確立するために動作する限定されたサービス設定をさらに具備する、請求項２０のデバイス。
【請求項３１】
無線ネットワークにおいて無線デバイスに接続された外部デバイス上にアプリケーションをインストールする方法であって、
該外部デバイスに接続された該無線デバイスからコマンドを受信すること、ここにおいて、該コマンドは該無線デバイス上で実行可能なアプリケーション管理パッケージの要求を備え、該アプリケーション管理パッケージは該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作し、該外部デバイス・アプリケーションはデータを交換するために動作しそして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する；及び
該無線デバイスに該アプリケーション管理パッケージを伝送すること
を具備する方法。
【請求項３２】
複数の外部デバイス・タイプのうちの選択された１つに基づいて選択された外部デバイス・タイプ上で実行可能な外部デバイス・アプリケーションを列挙することの要求を該無線デバイスから受け取ることをさらに具備する、請求項３１の方法。
【請求項３３】
該無線デバイスの管理の下で動作している外部デバイス・リソースを介して該外部デバイスからデータを受信することをさらに具備する、請求項３１の方法。
【請求項３４】
下記の行為を実行するために構成された少なくとも１つのプロセッサであって、該行為は、
外部デバイスに接続された無線デバイスからコマンドを受信すること、ここにおいて、該コマンドは該無線デバイス上で実行可能なアプリケーション管理パッケージの要求を備え、該アプリケーション管理パッケージは該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作し、該外部デバイス・アプリケーションはデータを交換するためにそして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する；及び
該無線デバイスに該アプリケーション管理パッケージを伝送すること
を具備することを特徴とする、プロセッサ。
【請求項３５】
機械によって実行されるときに、該機械に下記の動作を実行させる命令を具備する機械読み取り可能な媒体であって、該動作は、
外部デバイスに接続された無線デバイスからコマンドを受信すること、ここにおいて、該コマンドは該無線デバイス上で実行可能なアプリケーション管理パッケージの要求を備え、該アプリケーション管理パッケージは該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作し、該外部デバイス・アプリケーションはデータを交換するためにそして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する；及び
該無線デバイスに該アプリケーション管理パッケージを伝送すること
を具備することを特徴とする、機械読み取り可能な媒体。
【請求項３６】
外部デバイスに接続された無線デバイスからコマンドを受信するための手段、ここにおいて、該コマンドは該無線デバイス上で実行可能なアプリケーション管理パッケージの要求を備え、該アプリケーション管理パッケージは該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作し、該外部デバイス・アプリケーションはデータを交換するためにそして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する；及び
該無線デバイスに該アプリケーション管理パッケージを伝送するための手段
を具備する装置。
【請求項３７】
無線デバイスに外部デバイス・アプリケーションを伝送するための装置であって、
プロセッサ；
該プロセッサと通信するメモリ、ここにおいて、該メモリは該無線デバイス上で実行可能なアプリケーション管理パッケージを備え、該アプリケーション管理パッケージは該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作し、該外部デバイス・アプリケーションはデータを交換するためにそして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する；及び
該メモリ中に常駐し、そして該プロセッサによって実行可能なユーザ管理制御論理回路を具備し、ここにおいて、該ユーザ管理制御論理回路は無線ネットワークを介して該無線デバイスに該アプリケーション管理パッケージを伝送するために構成される
ことを特徴とする、装置。
【請求項３８】
該メモリ中に常駐し、そして複数の外部デバイス・アプリケーションと複数のデバイス・ドライバとのうちの少なくとも１つのリストを有するオンデマンド方式デバイス・ドライバ／アプリケーション・モジュールをさらに具備し、ここにおいて、該アプリケーション管理モジュールに関係する該外部デバイス・アプリケーションはデバイス・タイプに基づいて選択された該複数の外部デバイス・アプリケーションのうちの１つを備える、請求項３７の装置。
【請求項３９】
該無線デバイスの制御の下で動作している外部デバイス・リソースを介して該外部デバイスから伝送されるデータを受信するために動作する情報保管場所をさらに具備する、請求項３７の装置。
【請求項４０】
無線デバイスに接続された外部デバイス上のデバイス・リソースを使用する方法であって、
無線デバイス・アプリケーションを無線デバイス上で受け取ること；
該無線デバイス・アプリケーションを実行すること、それによって該アプリケーションは該無線デバイス上のメモリ中に無線デバイス機能に関連するデータを記憶する；
追加のメモリ・リソースが該アプリケーションによって要求されることを自動的に決定すること；
利用可能なメモリを備える外部デバイスを該無線デバイスに接続すること；
該外部デバイス上の無線デバイス・インターフェース・コンポーネントを自動的にインストールすること；及び
該無線デバイス・アプリケーションによって生成された該機能に関連するデータの少なくとも一部を該外部デバイスの該利用可能なメモリ中に記憶すること
を具備する方法。
【請求項４１】
該無線デバイスは、該外部デバイス上で、遠隔サーバへのネットワーク接続を自動的に検出すること、そして該外部デバイス上で検出された該ネットワーク接続を経由して該遠隔サーバに該記憶された機能に関連するデータの少なくとも一部を伝送することさらに具備する、請求項４０の方法。
【発明の詳細な説明】
【関連文献】
【０００１】
［米国特許法３５§１１９による優先権の主張］
特許に関する本出願は、米国特許仮出願番号第６０／６７３，８６７号、名称“ラプタ・ハンドセット中心の設計（ＲＨＣＤ：Raptor Handset Centric Design）”、２００５年４月２１日出願、に優先権を主張し、本出願の譲受人に譲渡され、そして本明細書中に引用によってその全体が取り込まれている。
【技術分野】
【０００２】
記載される実施形態は、一般に無線通信デバイスに係る。より詳しくは、記載される実施形態は、接続された外部演算デバイスと相互運用する無線デバイスに関する。
【背景技術】
【０００３】
無線デバイスは、計算能力を向上させて製造されてきており、そしてパーソナル・コンピュータと同等になりつつある。セルラ電話機のような、これらの“高性能な”無線デバイスは、データのアップローディング及びダウンローディングのような目的のために外部演算デバイスに接続することが可能な通信ポートを有する。
【０００４】
無線デバイスの現在の能力にも拘らず、無線デバイスをテストする多くの状況は、デスクトップ・コンピュータ又はラップトップ・コンピュータの制御の下でまだ実行されている。
【０００５】
このように、無線デバイスの使用を通して外部リソースの制御を提供する新たなそして改善された方法及び装置を提供することが望まれている。
【発明の開示】
【サマリー】
【０００６】
記載された実施形態は、接続された外部デバイスのデバイス・リソースを利用するための無線デバイス中心の手段を提供するように動作する装置、方法、コンピュータ読み取り可能な媒体、及びプロセッサを具備する。そのような複数の実施形態は、既存の無線アプリケーションの機能を拡張することができ、接続された外部演算デバイスのリソースを利用することができる。
【０００７】
ある複数の態様では、接続された外部デバイス上のリソースを利用する無線デバイスの方法は、予め決められたデバイス・リソースを利用するために動作するアプリケーションを無線デバイス上で実行することを具備する。該無線デバイスは、該予め決められたデバイス・リソースの１番目のものを備える。さらに、本方法は、外部デバイスを該無線デバイスに接続することを含み、ここにおいて、該外部デバイスは、該予め決められたデバイス・リソースの２番目のものを備える。それに加えて、本方法は、該予め決められたリソースの該１番目のものを利用することと該予め決められたリソースの該２番目のものを利用することとの間で該無線デバイス・アプリケーションを自動的に切り替えることを含む。関連する態様では、機械読み取り可能な媒体は、機械によって実行されるときに、該機械に上記の動作を実行させる命令を具備する。別の関連する態様では、少なくとも１つのプロセッサは、上記の行為を実行するために構成される。
【０００８】
別の態様では、無線デバイスは、予め決められたデバイス・リソースを利用するために動作するアプリケーションを無線デバイス上で実行するための手段を具備し、ここにおいて、該無線デバイスは、該予め決められたデバイス・リソースの１番目のものを備える。さらに、該デバイスは、外部デバイスを該無線デバイスに接続するための手段を具備し、ここにおいて、該外部デバイスは、該予め決められたデバイス・リソースの２番目のものを備える。それに加えて、該デバイスは、該予め決められたリソースの該１番目のものを利用することと該予め決められたリソースの該２番目のものを利用することとの間で該無線デバイス・アプリケーションを自動的に切り替えるための手段を具備する。
【０００９】
さらに別の態様では、無線デバイスは、処理エンジン及び該処理エンジンによってアクセス可能なメモリを具備する。さらに該デバイスは、プロセッサと該メモリとの間の、そして該無線デバイスと第１の予め決められたデバイス・リソースを有する外部デバイスとの間の通信を交換するために動作する通信モジュールを具備する。該デバイスは、しかも該通信モジュールと通信する第２の予め決められたデバイス・リソースを具備する。さらに、該デバイスは、該メモリ中に常駐し、そして該処理エンジンによって実行可能な第１のアプリケーションを具備する。該第１のアプリケーションは、該第１の予め決められたデバイス・リソースと該第２の予め決められたデバイス・リソースのうちのいずれかを利用するために動作する。それに加えて、該デバイスは、該メモリ中に常駐し、そして該処理エンジンによって実行可能な選択モジュールを具備する。該選択モジュールは、該第１のアプリケーションの実行の間に該第２の予め決められたデバイス・リソースを利用することと該第１の予め決められたデバイス・リソースを用いることとの間で該第１のアプリケーションを自動的に切り替えるために動作する。
【００１０】
別の態様では、無線ネットワークにおいて無線デバイスに接続された外部デバイス上にアプリケーションをインストールする方法は、該外部デバイスに接続された該無線デバイスからコマンドを受信することを具備する。該コマンドは、該無線デバイス上で実行可能なアプリケーション管理パッケージの要求を備え、ここにおいて、該アプリケーション管理パッケージは、該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作する。該外部デバイス・アプリケーションは、データを交換するために動作し、そして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する。それに加えて、本方法は、該無線デバイスに該アプリケーション管理パッケージを伝送することを含む。関連する態様では、機械読み取り可能な媒体は、機械によって実行されるときに、該機械に上記の動作を実行させる命令を具備する。別の関連する態様では、少なくとも１つのプロセッサは、上記の行為を実行するために構成される。
【００１１】
さらに別の態様では、装置は、外部デバイスに接続された無線デバイスからコマンドを受信するための手段を具備する。該コマンドは、該無線デバイス上で実行可能なアプリケーション管理パッケージの要求を備え、ここにおいて、該アプリケーション管理パッケージは、該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作する。該外部デバイス・アプリケーションは、データを交換するために動作し、そして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する。それに加えて、本装置は、該無線デバイスに該アプリケーション管理パッケージを伝送するための手段を具備する。
【００１２】
さらなる態様では、無線デバイスに外部デバイス・アプリケーションを伝送するための装置は、プロセッサ及び該プロセッサと通信するメモリを具備する。該メモリは、該無線デバイス上で実行可能なアプリケーション管理パッケージを備え、ここにおいて、該アプリケーション管理パッケージは、該外部デバイス上の外部デバイス・アプリケーションをインストールするために動作する。該外部デバイス・アプリケーションは、データを交換するために動作し、そして該無線デバイス上で実行している無線デバイス・アプリケーションに関連して実行するように動作する。本装置は、さらに、該メモリ中に常駐し、そして該プロセッサによって実行可能なユーザ管理制御論理回路を具備する。該ユーザ管理制御論理回路は、無線ネットワークを介して該無線デバイスに該アプリケーション管理パッケージを伝送するために構成される。
【００１３】
さらに、別の態様では、無線デバイスに接続された外部デバイス上のデバイス・リソースを使用する方法は、無線デバイス・アプリケーションを無線デバイス上で受け取ることを具備する。本方法は、さらに該無線デバイス・アプリケーションを実行することを含み、それによって該アプリケーションは該無線デバイス上のメモリ中に無線デバイス機能に関連するデータを記憶する。さらに、本方法は、追加のメモリ・リソースが該アプリケーションによって要求されることを自動的に決定することを含む。その意味で、本方法は、該無線デバイスに利用可能なメモリを備える外部デバイスを接続することを含む。さらに、本方法は、該外部デバイス上に無線デバイス・インターフェース・コンポーネントを自動的にインストールすること、及び該外部デバイスの該利用可能なメモリ中に該機能に関連するデータの少なくとも一部を記憶することを含む。それに加えて、ある複数の態様では、本方法は、該無線デバイスが、該外部デバイスにおける遠隔サーバへのネットワーク接続を自動的に検出すること、そして該外部デバイスにおいて検出された該ネットワーク接続を経由して遠隔サーバに該記憶された機能に関連するデータを伝送することさらに具備することができる。
【００１４】
［詳細な説明］
開示された実施形態は、その開示された実施形態を限定するためではなく説明するために用意された添付された図面とともに以降に記載される。図面では、類似の表示は、類似の要素を示す。
【００１５】
装置及び方法は、外部デバイスと相互通信する無線デバイスの機能を拡張するために本明細書中に記載される。そのような装置及び方法は、接続可能な外部演算デバイスの無線デバイス中心の制御、同様に、ハンドセット中心の制御と呼ばれる、を提供することができる。ある複数の態様では、例えば、無線デバイスは、外部演算デバイスの１又はそれより多くのデバイス・リソースを制御するために利用されることができる。例えば、無線デバイスは、外部デバイス上の記憶能力及び／又はネットワーク接続のようなリソースを利用することができる。その上、別の態様では、無線デバイスの制御の下で、ユーザは、例えば“オンデマンド（on-demand）”方式で、外部演算デバイス・アプリケーションをインストールすることができ、同様に外部演算デバイス上に既にインストールされた既存のアプリケーションに対する更新及び／又はパッチをインストールすることができる。
【００１６】
１つの限定されないシナリオでは、例えば、記載される態様は、無線デバイス機能を現場ベースでテストすること、モニタすること及び／又は解析に対して有用である。そのようなシナリオでは、専門技術者は、所望の機能を実行するために無線デバイス・ベースのアプリケーションを利用することができ、そして次に：（１）利用可能である又は適切であるときには、外部デバイス・リソースを利用する；及び／又は（２）無線デバイス・アプリケーションに関連して動作させるために外部デバイス上の相補的なアプリケーションをダウンロードする、ことができる。いずれのケースにおいても、記載された実施形態は、効率を改善すること、及び無線デバイスと外部デバイスとの間の対話を自動化することを可能にする。例えば、記載された態様を通して、無線デバイス・アプリケーションは、外部デバイスとの通信を自動的に確立することができ、既存のデバイス・ドライバ及びアプリケーションを自動的にスキャンすることができ、そして無線デバイス上で実行している及び／又は計画されているアプリケーションのアクティビティに直接関係する新たな及び／又は更新されたドライバ及び／又はアプリケーションを自動的にロードすることができる。
【００１７】
図１は、接続可能な外部演算デバイス１０６のリソースの能力を高めることによって、及び／又は無線デバイス１０２上で実行している無線アプリケーション１１４を管理するため、制御するため及び／又はモニタするために外部演算デバイス１０６上の実行可能なアプリケーション・モジュール１３６をインストールすることによって、無線デバイス１０２の機能を拡張するために動作するシステム１００の１態様を図示する。
【００１８】
外部デバイス・リソースを利用する複数の態様において、例えば、無線デバイス１０２は、無線アプリケーション１１４がその上にインストールされるコンピュータ・プラットフォーム１１２を備えることができる。例えば、無線アプリケーション１１４は、無線デバイス１０２の予め決められた機能をテストするように及び／又はモニタするように動作し、そして対応するデータ及び／又は対応するデバイス状態情報を記録するように動作する診断タイプの及び／又はモニタ・タイプのアプリケーションを備えることができる。無線アプリケーション１１４によって収集されるこの情報は、通常動作の間に及び／又は所定のテストを実行することに関してのどちらかで、無線デバイス１０２の予め決められた機能パラメータを解析するために使用されることができる。いずれのケースにおいても、無線アプリケーション１１４は、１又はそれより多くの無線デバイス・リソース１１５を利用することができ、それはその無線アプリケーション１１４の実行の間に、無線デバイス１０２に関係する任意のハードウェア・コンポーネント及び／又はソフトウェア・コンポーネントを含む。例えば、ハードウェア・コンポーネント及び／又はソフトウェア・コンポーネントは、メモリ、データ記憶装置、処理能力、出力手段、例えば、ディスプレイ、オーディオ・スピーカ及び触覚型フィードバック手段、入力手段、例えば、キー、キーボード、タッチ・スクリーン、音声認識モジュール及び／又はマウス、通信インターフェース、等のようなコンポーネントの１つ又は任意の組み合わせを含むことができるが、これらに限定されない。
【００１９】
無線アプリケーション１１４が常駐無線デバイス・リソース１１５を使い切ってしまうケース、又は無線デバイス・リソース１１５によって実行される機能が最適なものよりも少ない及び／又はある方法で制限されるケースがあり得る。これらの事例では、無線デバイス・リソース１１５を補うために別のリソースを見つけることは無線デバイス１０２にとって有利であり得る。例えば、無線デバイス１０２は、外部デバイス・マネージャ１２０をさらに備えることができ、それは無線アプリケーション１１４によって利用されることができる外部デバイス・リソース１３２を有する外部デバイス１０６と通信を開始するように動作する。例えば、外部デバイス・マネージャ１２０は、１又はそれより多くのインターフェース・ドライバ１３４を備えることができ、そして外部デバイス・マネージャ１２０は、外部演算デバイス１０６上のこれらのドライバのうちの選択された１又はそれより多くをインストールするように動作することができる。特に、これらの態様では、選択された１又はそれより多くのインターフェース・ドライバ１３４は、無線アプリケーション１１４によるその後の利用のために、それぞれの外部デバイス・リソース１３２と無線アプリケーション１１４をインターフェースするように動作する。例えば、外部デバイス・リソース１３２は、外部デバイス１０６の任意のハードウェア・コンポーネント及び／又はソフトウェア・コンポーネントを備えることができる。例えば、外部デバイス・リソース１３２は、メモリ、データ記憶装置、処理能力、出力手段、例えば、ディスプレイ、オーディオ・スピーカ及び触覚型フィードバック手段、入力手段、例えば、キー、キーボード、タッチ・スクリーン、音声認識モジュール及び／又はマウス、通信インターフェース、等のようなコンポーネントの１つ又は任意の組み合わせを含むことができるが、これらに限定されない。
【００２０】
例えば、外部デバイス・リソース１３２がメモリ及び／又はデータ保管場所を備えるケースでは、無線アプリケーション１１４は、常駐無線デバイス・メモリから外部デバイス・メモリ又はデータ保管場所へ、例えば、ログ・ファイルの形式で収集したデータを伝達することができる。例えば、そのようなデータ伝達は、常駐無線デバイス・メモリが予め決められた使用済み容量しきい値に達するときに生じることがある、及び／又はデータはストリーミング方式でそれが収集されたように伝達されることができる。他の１つの例では、外部デバイス・リソース１３２は、ネットワーク１１０への通信リンク１４０を備えることができる。無線デバイス１０２がサーバ１０４への通信リンクを持たない場合、又は外部デバイス１０６の通信リンク１４０が同等の無線デバイス・ベースのリンクよりも相対的に早い及び／又はより効率的である場合の状況においては、無線デバイス常駐アプリケーション１１４は、外部デバイス・リソース１３２をアクセスすることができ、遠隔サーバ１０４との通信を利用可能にする。そのように、これらの態様では、外部デバイス・マネージャ１２０は、無線アプリケーション１１４が１又はそれより多くの外部デバイス・リソース１３２を利用することを可能にするように動作する。
【００２１】
外部デバイス上へとアプリケーションをダウンロードする態様では、例えば、外部デバイス・マネージャ１２０は、外部演算デバイス１０６上にアプリケーション・モジュール１３６をインストールするように動作することができる。アプリケーション・モジュール１３６は、例えば、管理機能及び／又は制御機能への無線アプリケーション１１４とインターフェースするように動作することができる、及び／又は無線アプリケーション１１４の動作とともに後処理能力を与えるように動作することができる。
【００２２】
例えば、管理及び制御のケースでは、アプリケーション・モジュール１３６は、無線アプリケーション１１４に関係するアプリケーションを備え、そして無線アプリケーション１１４の実行に関係するパラメータを制御し、管理し、そして変更する機能的な能力を有する。例えば、ある複数の態様では、無線アプリケーション１１４は、無線デバイス１０２から診断データを集めることができ、そして／又は無線デバイス１０２に関する性能テストをランすることができ、そしてアプリケーション・モジュール１３６は、どのデータが集められたかそして／又はどのテストがランされるか、どのようにしてデータが集められるかそして／又はどのようにテストが実行されるか、そしてデータ及び／又は性能テスト結果がどのようにしてアプリケーション・モジュール１３６又はある別の指定されたアドレスに報告して戻されるかを制御するための能力を提供する。別の１つのケースでは、アプリケーション・モジュール１３６は、無線アプリケーション１１４の使用の容易さを改善することのような、無線アプリケーション１１４との組み合わせで使用するためのツールを提供することができる。例えば、外部デバイス１０６が無線デバイス１０２上の対応するディスプレイ及びキーボードよりも大きなディスプレイ及び大きなキーボードを有する場合に、アプリケーション・モジュール１３６は、無線アプリケーション１１４を管理しそして制御するために外部デバイス１０６上のこれらのユーザ・インターフェース・コンポーネントを利用する能力を提供することができる。
【００２３】
さらに、例えば、無線デバイス１０２は、遠隔サーバ１０４に接続されたネットワーク１１０に対する、無線周波数（ＲＦ：radio frequency）リンクのような無線インターフェース１３８を有することができる。この例では、無線アプリケーション１１４は、遠隔サーバ１０４からインターフェース１３８を介してダウンロードされたデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２を使用して“オンデマンド”方式でアプリケーション・モジュール１３６をインストールするように動作することができる。１つの態様では、デバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２は、外部演算デバイス１０６の設定可能な場所へとアプリケーション・モジュール１３６をインストールする及び／又はアンインストールする。例えば、上記したように、外部デバイス１０６に対してアプリケーション・モジュール１３６を提供するための無線デバイス１０２の能力は、フィールド・テストのような状況において望ましいことがあり、そのフィールド・テストでは、遠隔サーバへの無線アクセスは、外部演算デバイス１０６上にアプリケーション・モジュール１３６をインストールすることに最も適した方法であり得る。
【００２４】
あるいは、ある複数の状況では、外部演算デバイス１０６上の既存のアプリケーション・モジュール１３６は、現在のバージョンではないことがある。システム１００の別の１つの態様では、外部デバイス・マネージャ・モジュール１３４は、既存のアプリケーション・モジュール１３６に対応する更新及び／又はパッチを遠隔サーバ１０４から検索するように動作することができ、そしてさらに外部演算デバイス１０６のメモリ５０６（図５）中に更新及び／又はパッチをインストールするように動作することができる。既存のアプリケーション・モジュール１３６が無線デバイス１０２及び／又は外部デバイス・マネージャ１３４によって以前にインストールされたモジュールである必要はない。
【００２５】
無線デバイス１０２は、通信インターフェース１０８を経由して外部演算デバイスと通信することができる。例えば、通信インターフェース１０８は、いずれかの通信ポートへの有線すなわちケーブル、又はいずれかのインターフェース手段を含むことができ、外部デバイス上で利用可能な物理インターフェース又は無線インターフェースを含むことができる。例えば、通信インターフェース１０８は、下記の技術を含むことができるが、それらに限定されない、それは、例えば、無線電気通信インターフェース、シリアル・ポート、ユニバーサル・シリアル・バス（ＵＳＢ：universal serial bus）ポート、ＦＩＲＥＷＩＲＥシリアル・バス・インターフェース、赤外線インターフェース及びＢＬＵＥＴＯＯＴＨ（登録商標）技術インターフェースのような短距離無線周波数インターフェース、である。
【００２６】
本明細書中に開示された実施形態が手持ち無線デバイス上のデータをモニタするため、ログするため、及び／又は解析するために実行可能な無線デバイス常駐アプリケーション１１４に関係することがあるとはいえ、システム１００の装置及び方法は、限定されるのではなく、外部デバイス１０６上で利用可能な１又はそれより多くのリソースを利用するように動作する任意の無線デバイス常駐アプリケーション１１４に向けられることができる。
【００２７】
図２を参照して、無線デバイス１０２は、任意のタイプのコンピュータ化されたセルラ電話機１０２のような無線デバイス、個人ディジタル補助装置、双方向テキスト・ページャ、携帯型コンピュータ、そして無線通信ポータルを有し、そしてしかもネットワーク又はインターネットへの有線接続を有する分離型コンピュータ・プラットフォームでさえも含むことができる。無線デバイスは、遠隔操作子機、又は自身のエンド・ユーザを持たないが無線ネットワーク１１０を介してデータを単純に通信する他のデバイス、例えば、遠隔センサ、診断ツール、及びデータ・リレー、であり得る。
【００２８】
無線デバイス１０２は、しかもコンピュータ・プラットフォーム２０６に相互接続された入力手段２０２及び出力手段２０４を含むことができる。入力手段２０２は、無線デバイス１０２への入力を生成するために動作し、そしてキー又はキーボード、マウス、タッチ−スクリーン・ディスプレイ、及び音声認識モジュールのような手段を含むことができる。出力手段２０４は、ディスプレイ、音響スピーカ、及び例えば、無線デバイス１０２のユーザに情報を中継するための触覚型フィードバック手段を含むことができる。
【００２９】
コンピュータ・プラットフォーム１１２は、メモリ２０６を含むことができ、それは揮発性メモリ及び不揮発性メモリを含むことができ、例えば、読出し専用メモリ及び／又はランダム・アクセス・メモリ（ＲＡＭ及びＲＯＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・カード、又はコンピュータ・プラットフォームにとって一般的な任意のメモリである。さらに、メモリ２０６は、１又はそれより多くのフラッシュ・メモリ・セルを含むことができる、又は磁気媒体、光学的媒体、テープ、又はソフト・ディスクあるいはハード・ディスクのような任意の２次的又は３次的な記憶デバイスであり得る。
【００３０】
さらに、コンピュータ・プラットフォーム１１２は、処理アセンブリ２１２を含むことができ、それは用途特定集積回路（ＡＳＩＣ：application specific integrated circuit）、又は他のチップセット、プロセッサ、論理回路、あるいはメモリ２０６中に常駐するアプリケーション・プログラムを実行するように動作する別のデータ処理デバイスであり得る。処理アセンブリ２１２は、ハードウェア、ソフトウェア、ファームウェア、実行可能な命令、データ、及びそれらの組み合わせに組み込まれた様々な処理サブシステム２１４を含み、それらは無線デバイス１０２の機能及び無線ネットワーク１１０上で無線デバイスの動作を可能にする。
【００３１】
より詳しくは、処理サブシステム１６２は、別のネットワーク・デバイスと通信を開始しそして維持すること、そしてデータ及びコンピュータ・プラットフォーム２０６上で実行するアプリケーションを交換することを可能にすることができ、ＡＰＩ層２１０からのデータ読出し及びデータ書込みを受け取るいずれかのサブシステム・コンポーネントを含む。セルラ電話機のような１つの態様では、処理サブシステム２１２は、そのようなコンポーネントをサポートするシステム・モニタを含むことができ、例えば、診断ルーチン、不揮発性メモリ、ファイル・システム、伝送、受信、サーチャ、層１、層２、層３、主制御、遠隔処置、手持ち機器、出力管理、診断、ディジタル信号プロセッサ、ビデオ、カムコーダ、ボコーダ、メッセージ通信、コール・マネージャ、所在地決定、所在地決定エンジン、ユーザ・インターフェース（ＵＩ：user interface）、スリープ、限定されたサービス、保安措置、認証、ＵＳＩＭ／ＳＩＭ、音声サービス、グラフィックス、ＭＰＥＧ，ＧＰＲＳのようなマルチメディア、等を含む。
【００３２】
ＡＰＩ層２１０は、ソフトウェア・コンポーネントを備えることができ、それは処理アセンブリ２１２を有するメモリ常駐アプリケーション・プログラム及びその中に含まれるサブシステムをインターフェースする。１つの態様では、ＡＰＩ層２１０は、それぞれの無線デバイス１０２上で実行するランタイム環境である。そのようなランタイム環境の１つが、カリフォルニア州、サンディエゴ市のクァルコム社によって開発されたバイナリ・ランタイム・エンバイロメント・フォー・ワイアレス（BINARY RUNTIME ENVIROMENT FOR WIRELESS（登録商標））（ＢＲＥＷ（登録商標））ソフトウェアである。例えば、無線演算デバイス上でアプリケーションの実行を制御するように動作する別のランタイム環境が、利用されることができる。
【００３３】
無線アプリケーションは、様々な手段によってメモリ２０６中へとロードされることができ、無線デバイス１０２、例えば、遠隔サーバ１０４、に物理的に接続された又はそれと通信しているいずれかのコンピュータ・デバイスからダウンロードすることを含むが、それらに限定されない。
【００３４】
そのような無線アプリケーションの１つは、無線デバイス１０２の予め決められた機能的な能力をモニタするようにそして／又はテストするように動作し、そして対応する機能関連データ１２１を記録するように動作する無線アプリケーション１１４を備えることができる。例えば、無線アプリケーション１１４は、パラメータを有する設定１２３を備えることができ、そのパラメータは、例えば、どのデバイス・データをモニタしそして／又は記録するか、どのデストを実行するか、そして収集されたデータをどのように報告するかを指示する。例えば、機能関連データ１２１は、処理サブシステム２１４からの記録のようなデータ、デバイス・コンポーネント状態情報、無線を介した（ＯＴＡ：over the air）メッセージ、そしてモニタされたアクティビティ及び／又はテストされたアクティビティの前の、最中の、及び／又は後の無線デバイス機能及び／又は無線デバイスの状態を反映することができるいずれかの別のデータを含むことができるが、それらに限定されない。ある複数の態様では、無線アプリケーション１１４は、ログ１２４中に機能関連データ１２１を記憶することができ、一方で別の態様では、機能関連データ１２１は、本明細書中に論じられる原理に基づいて外部デバイス１０６（図１）にストリームされることができる。
【００３５】
別の１つの無線アプリケーションは、外部デバイス・マネージャ１２０を含むことができ、それは接続された外部演算デバイス１０６のリソースへのアクセスを無線アプリケーション１１４に提供するために構成されたハードウェア、ソフトウェア、ファームウェア、データ、実行可能な命令、及びデータのうちの１つ又はいずれかの組み合わせを含むことができる。
【００３６】
図２及び図３を参照して、外部デバイス・マネージャ１２０は、外部デバイス・リソース１３２（図１参照）をアクセスするための、そして外部デバイス１０６上で実行可能なアプリケーション・モジュール１３６をインストールするための無線デバイス中心の手段を提供するように動作する。外部デバイス・マネージャ１２０が無線デバイス１０２上に常駐するいずれかのアプリケーションによって利用され得ることは、注目されるべきである。１つの態様では、外部デバイス・マネージャ１２０と無線アプリケーション１１４は、別々のモジュールであり得る。別の実施形態では、外部デバイス・マネージャ１２０は、無線アプリケーション１１４のソフトウェア内に統合されることができる。
【００３７】
外部デバイス・マネージャ１２０は、外部デバイス・マネージャ１２０の全ての機能を管理するために、ユーザ・インターフェース３０２とともに動作する制御論理回路３２８を備えることができる。例えば、無線デバイス１０２へ外部デバイス１０６を最初に接続すると、外部デバイス・マネージャ１２０は、無線デバイス１０２が外部デバイス１０６のリソースをアクセスすることを可能にするために外部演算デバイス１０６上へと１又はそれより多くのインターフェース・ドライバ１３４をロードすることを開始することができる。インターフェース・ドライバ１３４は、無線アプリケーション１１４がそれぞれの外部デバイス・リソース１３２と通信することそしてそれにコマンドを発することを可能にする。例えば、インターフェース・ドライバ１３４は、適切なデバイス・リソース、例えば、メモリ・デバイス、ディスプレイ・ユニット、及び／又はネットワーク・アダプタ、に外部デバイス１０６により受信されたデータを向けるように動作することができる。さらに、外部デバイス・マネージャ１２０は、例えば、１又はそれより多くのアプリケーション・モジュール１３６をインストールするためそしてアンインストールするために、外部デバイス１０６に関係するデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２の実行を制御することができる。
【００３８】
さらに、例えば、ある複数の態様では、外部デバイス１０６は、それぞれが、例えば、別のオペレーティング・システム、例えば、Ｗｉｎ３２、Ｌｉｎｕｘ（登録商標）、等、を備える複数の異なるタイプのパーソナル・コンピュータのうちのいずれか１つを備えることができる。その意味で、外部デバイス・マネージャ１２０は、ユーザが無線デバイス１０２に接続された外部デバイス１０６に特有のデバイス・タイプを選択することを可能にするように動作する手段、すなわち、サポートする外部デバイス・タイプを含んでいる外部デバイス・リスト３２５を有する外部デバイス・タイプ選択モジュール３２４、を含むことができる。選択されたデバイス・タイプは、外部デバイス・タイプ・パラメータ３２６として記憶されることができ、そして遠隔サーバ１０４に伝送されることができる。特に、外部デバイス・タイプ・パラメータ３２６は、下記のうちの１つ又は任意の組み合わせを含むことができるが、それらに限定されない、それらは、デバイス製造者、デバイス・モデル、デバイス・オペレーティング・システム、オペレーティング・システムのバージョン、デバイス・ハードウェア・コンポーネント、デバイス・ハードウェア・コンポーネントのバージョン、デバイス・ソフトウェア・コンポーネント、デバイス・ソフトウェア・コンポーネントのバージョン、及び無線デバイス１０２と外部デバイス１０６との間のインターフェースを利用可能にするために有用であり得るいずれかの他の情報、である。
【００３９】
それに加えて、ある複数の態様では、外部デバイス・マネージャ１２０は、特定の外部デバイスのために直接関係するアプリケーション及び／又はデバイス・ドライバを集めるために遠隔サーバ１０４に要求を送信するように動作することができる。例えば、その要求は、外部デバイス・タイプ・パラメータ３２６を含むことができ、それは遠隔サーバ１０４が対応するアプリケーション及び／又はデバイス・ドライバを相互に関係付けることができる。その意味で、要求に応じて、外部デバイス・マネージャ１２０は、接続された外部デバイス１０６に特有のオンデマンド方式のアプリケーション／デバイス・ドライバ・モジュール３０８を受け取ることができそして記憶することができる。例えば、アプリケーション／デバイス・ドライバ・モジュール３０８は、利用可能なアプリケーション・リスト３０９及び利用可能なデバイス・ドライバ・リスト３１１を含むことができ、それによりユーザが外部デバイス１０６上にインストールする特定のアプリケーション及び／又はデバイス・ドライバを選択することを可能にする。
【００４０】
外部デバイス・マネージャ１２０は、利用可能なアプリケーション・リスト３０９及び／又は利用可能なデバイス・ドライバ・リスト３１１からの選択に基づいて、遠隔サーバ１０４への別の要求を生成することができそして送信することができる。例えば、その要求は、選択されたアプリケーション／デバイス・ドライバ・パラメータ３１６を含むことができ、それは、アプリケーション／デバイス・ドライバ識別子を含むことができるが、それに限定されない。応答において、外部デバイス・マネージャ１２０は、対応するデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２を遠隔サーバ１０４から受け取ることができ、それは遠隔サーバ１０４から無線デバイス１０２へダウンロードされることができる。デバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２は、外部デバイス１０６によって実行可能な要求されたアプリケーション及び／又はデバイス・ドライバを含むことができ、無線デバイス１０２及び無線アプリケーション１１４とインターフェースする。
【００４１】
その上に、遠隔サーバ１０４及び／又は外部デバイス１０６と通信している間の任意に時点において、外部デバイス・マネージャ１２０の中に配置された認定論理回路３０６は、無線デバイス１０２のアイデンティティを有効にするように動作することができる。認定方式は、ユーザ情報３１０、例えば、ユーザ名／パスワード情報、を交換することを含むが、これに限定されない。
【００４２】
外部デバイス・マネージャ１２０は、環境設定値３２２をさらに備えることができ、それは遠隔サーバ、例えば、遠隔サーバ１０４のネットワーク・アドレスを含むことができ、その遠隔サーバから、例えば、オンデマンド方式のアプリケーション／デバイス・ドライバ・モジュール３０８、インターフェース・ドライバ１３４、及びデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２をダウンロードする。
【００４３】
外部デバイス・マネージャ制御論理回路３２８は、しかも、遠隔サーバ１０４及び／又は外部デバイス１０６への制御コマンド３２０を生成しそして伝送するように動作することができる。例えば、制御コマンド３２０は、上記の要求メッセージ、及び／又はデータ、例えば、外部デバイス・タイプ・モジュール３２４、オンデマンド方式のアプリケーション／デバイス・ドライバ・モジュール３０８、及びデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２、を良好に受信すると遠隔サーバ１０４に送信する受領通知メッセージを含むことができる。さらに、例えば、制御コマンド３２０は、外部演算デバイス１０６上で実行可能な動作を開始するいずれかのメッセージであり得る。例えば、そのような動作は、メモリ５０６（図５）中の特定の場所に受信したデータを記憶すること、設定可能なネットワーク１１０の場所からデータを伝送すること／受信すること、及び以前にインストールしたアプリケーション・モジュールをアンインストールすることのうちの１つ又は任意の組み合わせを含むが、それらに限定されない。
【００４４】
その上、外部デバイス・マネージャ１２０は、選択論理回路３３１を有する外部デバイス・リソース選択モジュール３３０を備えることができ、選択論理回路３３１は外部デバイス１０６上の利用可能な外部デバイス・リソース１３２を調査するように動作し、そして利用するために１又はそれより多くの外部デバイス・リソース１３２を選択する能力を無線デバイス１０２のユーザを与えるように動作する。ある複数の態様では、各常駐無線デバイス・リソース１１５は、無線デバイス・リソース特性１１７（図２）を含み、それはそれぞれのコンポーネントの現在の機能的な能力及び／又は既存の機能的な能力に関係する１又はそれより多くのパラメータを識別する。同様に、各外部デバイス・リソース１３２（図５）は、無線デバイス・リソース特性１３３（図５）を有することができ、それはそれぞれのコンポーネントの現在の機能的な能力及び／又は既存の機能的な能力に関係する１又はそれより多くのパラメータを識別する。その意味で、ある複数の態様では、外部デバイス・リソース選択モジュール３３０は、それぞれの無線デバイス・リソース特性１１７の状態及び外部デバイス・リソース特性１３３のうちの対応する１つの状態を自動的にモニタするように動作することができ、そしてそれらのそれぞれの状態に応じて無線アプリケーション１１４によるそれらの利用を切り替えるように動作することができる。この点について、選択論理回路３３１は、任意の所定の時刻においてどのリソースが最適であるかを決定するために、予め決められたルール、アルゴリズム、複数のルーチン、曖昧論理回路、帰納的な関係、等を含むことができる。さらに、選択論理回路３３１がそれぞれのデバイス・リソースのどちらをそれに対して使用するかに関する無線デバイス・ユーザへの選択をさらに提供することができることに、注意すべきである。
【００４５】
例えば、１つのシナリオでは、無線アプリケーション１１４が別の１つのデバイス、例えば、遠隔サーバ１０４に収集されたデータ１２１を伝送する必要があるときのように、外部デバイス・マネージャ１２０は、１又はそれより多くの外部デバイス通信インターフェース能力のリストを提供することができ、その通信インターフェース能力は利用可能な無線デバイス通信インターフェース能力を用いて提示されることができる。このリストは、無線デバイス１０２のユーザが状況の特定の要求に基づいて１又はそれより多くの所望の通信インターフェースを選択することを可能にする。例えば、外部デバイス１０６は、ネットワーク１１０へのネットワーク接続を有することができ、そのネットワーク１１０は無線デバイス１０２上で利用可能な無線インターフェース１３８よりも早く、そしてある複数のシナリオでは、より早い接続が望まれることがある。別のシナリオでは、しかしながら、外部デバイスは、比較的早いデータ接続、すなわち比較的高い帯域幅のデータ接続を有することができ、それは比較的遅い、すなわち比較的低い帯域幅を有する代わりのデータ接続よりも多くの費用がかかる。無線デバイス１０２のユーザは、その時は追加の料金に値するかどうかを決定することができる。例えば、伝達されようとしているデータが急ぎでない場合に、比較的遅いデータ接続が、十分であり得る。いずれのケースにおいても、外部デバイス・リソース選択モジュール３３０は、利用可能なリソースの識別情報を提供するように設定可能であり、そして無線アプリケーション１１４との組み合わせで使用するために１又はそれより多くの所望のリソースの選択を可能にする。それに加えて、外部デバイス・リソース選択モジュール３３０は、予め決められた規則、設定、曖昧論理、帰納的関係、ニューラル・ネットワーク、等に基づいて常駐リソース及び／又は外部デバイス・リソースの最適な設定を解析するようにそして自動的に選択するようにさらに動作することができる。
【００４６】
それに加えて、外部デバイス・マネージャ１２０は、外部デバイス調査モジュール３３２を備えることができ、それは接続された外部デバイス１０６上に常駐するデバイス・ドライバ及びアプリケーションに関連する情報を集めるように動作する。例えば、外部デバイス調査モジュール３３２は、調査結果３３３を集めるように動作することができ、それはデバイス・ドライバ及び／又はアプリケーションのリストを含むことができ、名前、識別子、バージョン番号、及びそれぞれのデバイス・ドライバ及び／又はアプリケーションが現在のものであるかどうかを識別する際に有用ないずれかの他の情報を含む。さらに、外部デバイス調査モジュール３３２、及び／又は外部デバイス・マネージャ１２０は、オンデマンド方式のデバイス・ドライバ／アプリケーション管理モジュール３０８によって遠隔サーバ１０４から検索されることができるようなそれぞれのデバイス・ドライバ及び／又はアプリケーションの既知のバージョン、現在のバージョンのリストと調査結果３３３とを比較するように動作することができる。いずれのケースでも、外部デバイス調査モジュール３３２及び／又は外部デバイス・マネージャ１２０は、もしあるならば、調査結果３３３中にリストされたデバイス・ドライバ及び／又はアプリケーションのどれが現在のものでないことを識別するリストを生成するように動作することができ、それによって下記に論じられるように、その後に更新することを可能にする。
【００４７】
遠隔サーバ１０４と外部デバイス１０６のうちの１つ又は両方と無線デバイス１０２との間の通信は、通信モジュール２２４によって設定されることができる。通信モジュール２２４は、ハードウェア、ソフトウェア、実行可能な命令、データ、及びそれらの組み合わせのうちのいずれかに組み込まれることができ、それらは無線デバイス１０２、外部デバイス１０６、無線ネットワーク１１０及び無線ネットワーク１１０に接続された他のデバイスの様々なコンポーネントの間の通信を可能にするように動作する。
【００４８】
通信モジュール２２４は、無線デバイス１０２の複数の常駐コンポーネント間での、そして無線デバイス１０２といずれかの他の外部デバイスとの間での通信及びデータを伝送するように及び／又は受信するように動作するいずれかのコンポーネントを備えることができる。例えば、通信モジュール２２４は、送信及び受信チェーン・コンポーネントを含み、それは無線デバイス１０２への入力の任意の点及び／又はそれからの出力の任意の点を含むことができるいずれかのポート及び／又はインターフェースを含む。
【００４９】
ある複数の態様では、無線デバイス１０２及び遠隔デバイス、例えば、遠隔サーバ１０４は、無線ネットワーク１１０を介して限定されたアクセス通信チャネルを経由して通信することができる。通信チャネルは、限定されたサービス設定２３０に基づいて設定されることができ、そして無線デバイス１０２及び／又は演算デバイス１０６上のいずれかに記憶されたテスト・データを遠隔サーバ１０４に伝送するために、又は無線アプリケーション１１４及び外部デバイス・マネージャ１２０の少なくとも一部を無線デバイス１０２にダウンロードするために使用されることができる。限定されたアクセス通信チャネルは、一般にエンド・ユーザには利用可能ではなく、そして通信の認められるタイプ及び利用することができる関連する通信チャネルを識別する限定されたサービス設定２３２に基づいて設定されることができる。限定されたサービス設定２３０は、無線ネットワーク１１０を経由してダウンロードされることができ、シリアル接続を経由してのように無線デバイス１０２にローカルに伝達されることができ、又は無線デバイス１０２上に事前にロードされることができる。
【００５０】
図４を参照して、遠隔サーバ１０４（又は複数のサーバ）は、いずれかのタイプのプロセッサ・アセンブリ４０８、サーバ、パーソナル・コンピュータ、ミニ・コンピュータ、メインフレーム・コンピュータ、端末、又は無線ネットワーク１１０を介して無線デバイス１０２にソフトウェア・エージェント又はアプリケーションを送るように動作する特殊用途演算デバイス又は汎用演算デバイスのどちらかの任意の演算デバイス、のうちの少なくとも１つを備えることができ、そのソフトウェア・エージェント又はアプリケーションは、例えば、無線アプリケーション１１４；外部デバイス・マネージャ１２０；オンデマンド方式のアプリケーション／デバイス・モジュール３０８；インターフェース・ドライバ１３４；及び１又はそれより多くのデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２である。さらに、無線デバイス１０２及び外部デバイス１０６にデータをダウンロードするために、そしてそれらから受信するデータを記憶するために一緒に動作する別のサーバ又は遠隔サーバ１０４に関係するコンピュータ・デバイスがあり得る。
【００５１】
それに加えて、遠隔サーバ１０４は、ネットワーク１１０に遠隔サーバ１０４を接続するように動作する通信モジュール４１０を備えることができる。その上、通信モジュール４１０は、遠隔サーバ１０４がネットワーク接続された外部デバイス１０６によって直接アクセスされることを可能にすることができる。
【００５２】
遠隔サーバ１０４は、メモリ４０２及びメモリ常駐ユーザ・マネージャ・モジュール１１８をさらに備えることができ、そのユーザ・マネージャ・モジュール１１８はソフトウェア、ハードウェア、データ、及び一般に無線デバイス１０２へそしてそこからデータをダウンロードすること及び／又は無線デバイス１０２、例えば、ユーザ・マネージャ制御論理回路４０４を管理するように動作するいずれかの実行可能な命令を含むことができる。
【００５３】
ユーザ・マネージャ・モジュール１１８は、情報保管場所４０６をさらに含むことができ、それは任意のタイプのメモリ及び／又は記憶デバイスを備え、そして無線デバイス１０２から受信するデータを記憶するように動作する。
【００５４】
前に明らかにしたように、遠隔サーバ１０４は、無線アプリケーション１１４、インターフェース・ドライバ１３４、オンデマンド方式のデバイス・ドライバ／アプリケーション・モジュール３０８、外部デバイス・マネージャ１２０及びデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２を備えることができ、そのパッケージは無線デバイス１０２へダウンロードすることのために利用可能であり得る。
【００５５】
その上、ユーザ・マネージャ・モジュール１１８中に配置された認定論理回路４１２は、遠隔サーバ１０４にデータを伝送しようと又はそこからデータを受信しようと試みている無線デバイス１０２のアイデンティティを有効にするように動作することができる。認定方式は、無線デバイス１０２により送信されたユーザ情報３１０、例えば、ユーザ名／パスワート情報（図３参照）、を交換することを含むが、それらに限定されない。
【００５６】
ユーザ・マネージャ・モジュール１１８の開示されたコンポーネントの実際の場所は、限定されず、そしてサーバ上に又はネットワーク１１０に接続された別のデバイス上に物理的に置かれることができる。
【００５７】
図５を参照して、ある複数の態様では、外部デバイス１０６は、携帯型ラップトップ・コンピュータであり得るという一方で、外部デバイス１０６の物理的属性は、限定されない。外部デバイス１０６は、下記のいずれかのタイプの演算デバイスのうちの少なくとも１つを備えることができるが、それらに限定されない、その演算デバイスは、ラップトップ・コンピュータ、パーソナル・コンピュータ、ミニ・コンピュータ、メインフレーム・コンピュータ、端末、又は無線デバイス・アプリケーション１１４に対して利用可能にされることができるデバイス・リソース、例えば、メモリ、データ記憶装置、ネットワーク接続、出力手段、等を有する特殊用途演算デバイス又は汎用演算デバイスのどちらかの任意の演算デバイスである。
【００５８】
ある複数の態様では、外部デバイス１０６は、処理アセンブリ５１２を備えることができ、メモリ常駐オペレーティング・システム５００、例えば、Ｌｉｎｕｘ、Ｗｉｎ３２、等、を実行する。その上、外部デバイス１０６は、通信モジュール５１４を備えることができ、それは無線デバイス１０２にメッセージ及びデータを伝送するように、そしてそれからメッセージ及びデータを受信するように動作する。外部デバイス１０６は、いずれかの利用可能なインターフェース、例えば、シリアル・ポート、ＵＳＢ、ＦＩＲＥＷＩＲＥ、ＢＬＵＥＴＯＯＴＨ、赤外線、等を介して無線デバイス１０２と通信することができる。
【００５９】
外部デバイス１０６は、コンピュータ・プラットフォーム１３０に相互接続された、入力手段５０２及び出力手段５０４、例えば、ＬＣＤスクリーンのようなディスプレイ・スクリーン、をさらに備えることができる。入力手段５０２及び出力手段５０４は、認定されたユーザが無線デバイス１０２からダウンロードされたアプリケーション・モジュール１３６と直接的にインターフェースすることを、そして無線デバイス・アプリケーション１１４とインターフェースすることを可能にすることができる。
【００６０】
外部デバイス・コンピュータ・プラットフォーム１３０は、メモリ５０６をさらに備えることができ、メモリ５０６は１又はそれより多くのアプリケーション・モジュール１３６、１又はそれより多くのインターフェース・ドライバ１３４、及び接続された無線デバイス１０２から受信するデータを含むことができる。ある複数の態様では、例えば、ログ５０８は、無線デバイス１０２によって収集された、バッチ・ファイル及び／又はストリーミングＯＴＡメッセージ、機能データ、無線デバイス・コンポーネント状態情報、等を記憶することができる。診断モニタ及びロガーのようなアプリケーション・モジュール１３６は、出力手段５０４上のＯＴＡメッセージを見るように動作することができ、そして／又は遠隔サーバ１０４への又は任意の別の予め決められた宛て先への引き続く送信のためにログ５０８中の収集された情報を記憶するように動作することができる。
【００６１】
図１に戻って参照して、ネットワーク１１０は、無線デバイス１０２とネットワーク１１０に接続された任意のデバイスとの間の無線通信を、少なくとも部分的に、可能にするために動作するいずれかの通信ネットワークを含むことができる。さらに、ネットワーク１１０は、全てのネットワーク・コンポーネント、そしてそのネットワークを形成する全ての接続されたデバイスを含むことができる。例えば、ネットワーク１１０は、下記の少なくとも１つを、又は任意の組み合わせを含むことができ、それらは：セルラ電話ネットワーク；順方向リンクのみの（ＦＬＯ：Forward Link Only）ネットワークのようなマルチキャスト・ネットワーク、例えば、カリフォルニア州、サンディエゴ市のクァルコム社から利用可能なＭＥＤＩＡＦＬＯ（登録商標）システム；ディジタル・ビデオ放送（ＤＶＢ：digital video broadcasting）ネットワーク、例えば、衛星のためのＤＶＢ−Ｓ、ケーブルのためのＤＶＢ−Ｃ、地上波テレビのためのＤＶＢ−Ｔ、携帯型地上波テレビのためのＤＶＢ−Ｈ；地上波電話ネットワーク；衛星電話ネットワーク；赤外線ネットワーク、例えば、赤外線データ連合（“ＩｒＤＡ：Infrared Data Association”）に基づくネットワーク；近距離無線ネットワーク；ＢＬＵＥＴＯＯＴＨ（登録商標）技術ネットワーク；ＺＩＧＢＥＥ（登録商標）プロトコル・ネットワーク；超広帯域（“ＵＷＢ：ultra wide band”）プロトコル・ネットワーク；家庭無線通信周波数（“ＨｏｍｅＲＦ”）ネットワーク；共用無線接続プロトコル（“ＳＷＡＰ：shared wireless access protocol”）ネットワーク；広帯域ネットワーク、例えば、無線イサーネット互換性提携（“ＷＥＣＡ：wireless Ethernet（登録商標） compatibility alliance”）ネットワーク、無線忠実度提携（“Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ”）ネットワーク及び８０２．１１ネットワーク；公衆電話交換ネットワーク；公衆異種通信ネットワーク、例えば、インターネット；個人通信ネットワーク；及び陸上移動無線通信ネットワーク、である。
【００６２】
電話ネットワークの好適な例は、下記のアナログ及びディジタル・ネットワーク／技術のうちの少なくとも１つの、又は任意の組み合わせを含む、例えば：符号分割多元接続（“ＣＤＭＡ：code division multiple access”）、広帯域符号分割多元接続（“ＷＣＤＭＡ”）、ユニバーサル移動電話通信システム（“ＵＭＴＳ：universal mobile telecommunication system”）、高度移動電話サービス（“ＡＭＰＳ：advanced mobile phone service”）、時分割多元接続（“ＴＤＭＡ：time division multiple access”）、周波数分割多元接続（“ＦＤＭＡ：frequency division multiple access”）、直交周波数分割多元接続（“ＯＦＤＭＡ：orthogonal frequency division multiple access”）、移動通信の広域システム（“ＧＳＭ：global system for mobile communication”）、単一キャリア（“１Ｘ”）無線伝送技術（“ＲＴＴ：radio transmission technology”）、発展データ専用（“ＥＶ−ＤＯ：evolution data only”）技術、汎用パケット無線通信サービス（“ＧＰＲＳ：general packet radio service”）、拡張データＧＳＭ環境（“ＥＤＧＥ：enhanced data GSM environment”）、高速ダウンリンク・データ・パケット・アクセス（“ＨＳＰＤＡ：high speed downlink data packet access”）、アナログ及びディジタル衛星システム、及び無線通信ネットワークとデータ通信ネットワークのうちの少なくとも１つを使用することができるいずれかの他の技術／プロトコル、である。
【００６３】
図６を参照して、システム１００に類似のシステム６００の１態様は、少なくとも１つの無線デバイス１０２とキャリア・ネットワーク６０６を介して有線ネットワーク６０２に接続されたセルラ電話無線ネットワーク６１０とを備える。６１０のセルラ無線システムは、単なる具体例であり、そして任意のシステムを含むことができ、それによって、無線デバイス１０２のような遠隔モジュールは、音声及びデータを含んでいるパケットを、限定するのではなく、無線ネットワーク・キャリア及び／又はサーバを含むネットワーク１１０のコンポーネントの２者間及び複数間で及び／又は相互の２者間及び複数間で無線を介して通信する。
【００６４】
ネットワーク１１０によれば、遠隔サーバ１０４は、無線デバイス１０２から受信したデータを記憶するために有線ネットワーク６０２（例えば、ローカル・エリア・ネットワーク、ＬＡＮ）を経由して通信することができる。遠隔サーバ１０４は、セルラ電気通信サービスを提供するために必要ないずれかの別のネットワーク・コンポーネントとともにネットワーク６０２上に存在することができる。
【００６５】
遠隔サーバ１０４は、データ・リンク６０４、例えば、インターネット、安全なＬＡＮ、ＷＡＮ、又は他のネットワーク、を経由してキャリア・ネットワーク６０６と通信することができる。キャリア・ネットワーク６０６は、移動交換センタ（“ＭＳＣ（mobile switching center）”）６１２に送られた（一般的にデータ・パケットである）メッセージを制御する。さらに、キャリア・ネットワーク６０６は、インターネット、及び／又はＰＯＴＳ（“plain old telephone service（簡単な古い電話サービス）”）のようなネットワーク６０８によりＭＳＣ６１２と通信する。一般的に、ネットワーク６１０では、ネットワーク又はインターネット部分はデータを伝達し、そしてＰＯＴＳ部分は音声情報を伝達する。ＭＳＣ６１２は、別のネットワーク６１４、例えば、データ・ネットワーク及び／又はデータ伝達に対するインターネット部分と音声情報に対するＰＯＴＳ部分、によって複数の基地局（“ＢＴＳ（base station）”）６１６に接続されることができる。ＢＴＳ６１６は、ショート・メッセージング・サービス（“ＳＭＳ（short messaging service）”）、又は別の無線を介した（ＯＴＡ：over-the-air）方法によって無線デバイス１０２に最終的に無線でメッセージを同報通信する。
【００６６】
動作において、図７を参照して、ある複数の態様では、無線デバイスが接続された外部デバイスの外部デバイス・リソースを利用することを可能にする方法、及び／又は無線デバイスが外部デバイス上のアプリケーションをオンデマンド方式でインストールを実行することを可能にする方法が、説明される。ステップ７０２において、外部リソースの利用を実行するために必要な論理回路と手段を与えることができ、そしてアプリケーションのダウンロード能力を与えることができる外部デバイス・マネージャ１２０は、無線デバイス１０２のメモリ２０６中へとロードされることができる。例えば、複数の手段のうちのいずれか１つは、無線デバイス１０２上へと外部デバイス・マネージャ１２０をロードするために利用されることができ、それはネットワーク・デバイス、例えば、遠隔サーバ１０４からのネットワーク１１０を経由する無線伝送、無線デバイスに直接接続された別のデバイスからのローディング、及び無線デバイスの製造時のローディングを含むが、それらに限定されない。
【００６７】
さらに、例えば、ある複数の態様では、無線デバイス１０２は、外部デバイス・マネージャ１２０を要求している遠隔サーバ１０４へコマンド３２０を伝送することができる。無線デバイス１０２と遠隔サーバ１０４との間の通信において、ある複数の態様では、コマンド３２０は、例えば、限定されたサービス設定２３０内で規定されるサービス設定値２３２に基づいて、限定されたアクセス・サービス・チャネルを介して伝送されることができる。いずれのケースでも、接続プロトコルは、ハイパーテキスト伝達プロトコル（ＨＴＴＰ：Hypertext Transfer Protocol）、ファイル伝達プロトコル（ＦＴＰ：file transfer protocol）又はネットワーク１１０を介してデータの伝送を可能にするために利用可能ないずれかの別のプロトコルであり得る。その上、ある複数の態様では、遠隔サーバ認定論理回路４１２及び無線デバイス１０２の外部デバイス・マネージャ１２０中に存在する認定論理回路３０６は、ユーザ識別情報３１０に基づいて無線デバイス１０２のアイデンティティを認証するように動作することができる。そのようなユーザ識別情報３１０は、設定可能なユーザ名／パスワード情報を含むことができる。
【００６８】
本方法は、さらに外部デバイスを無線デバイスに接続することを含むことができる（ステップ７０４）。例えば、外部デバイス１０６は、通信インターフェース１０８を介して無線デバイス１０２に接続されることができる。通信インターフェース１０８は、２つのデバイス間のデータの交換及び／又は通信を可能にする任意の手段、例えば、直接の電気的な接続、無線リンク及び／又は電波接続、等であり得る。
【００６９】
２つのデバイスを接続すると、本方法は、無線デバイスが外部デバイス上へとデバイス・ドライバをインストールすることを含む（ステップ７０６）。例えば、外部デバイス・マネージャ１２０は、デバイス・ドライバ／デバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２を実行することができ、それは外部デバイス１０６上へと１又はそれより多くのインターフェース・ドライバ１３４をダウンロードするように動作する。ある複数の態様では、１又はそれより多くのインターフェース・ドライバ１３４は、予め決められたデバイス・ドライバの集合の初期ダウンロード・パッケージを含むことができる。例えば、初期ダウンロード・パッケージは、無線デバイス１０２を使用可能にするように動作するデバイス・ドライバを含むことができ、無線アプリケーション１１４及び／又は外部デバイス・マネージャ１２０を含み、１又はそれより多くの予め決められた外部デバイス・リソース１３２を利用する、そのリソースは、例えば、普通に利用されることができる一般的なリソースであり、メモリ及び／又はデータ記憶装置、プロセッサ、通信インターフェース、ディスプレイ、キーボード、マウス、等を含む。さらに、例えば、初期ダウンロード・パッケージは、複数のオペレーティング・システムに対応する上記のデバイス・ドライバの集合を含むことができる。その意味で、外部デバイス１０６のオペレーティング・システム５１０は、複数の初期デバイス・ドライバの集合のうちの少なくとも１つを認識するようにそしてダウンロードするように動作し、それによって外部デバイス１０６と無線デバイス１０２との間の通信を使用可能にする。
【００７０】
オプションとして、２つのデバイス間の通信が一旦確立されると、本方法は、外部デバイス上のデバイス・ドライバ及び／又はアプリケーションのステータスの調査を開始する無線デバイスをさらに含むことができ、これらのコンポーネントが最新のものであるかどうかを決定する（ステップ７０８）。例えば、外部デバイス・マネージャ１２０は、外部デバイス調査モジュール３３２を実行することができ、それは名前、バージョン番号、及びそれぞれの項目のステータスに関連するいずれかの他の情報を含むデバイス・ドライバを及び外部デバイスを識別するように動作する。
【００７１】
さらに、このオプションの態様では、本方法は、外部デバイスについてのデバイス・ドライバ及び／又はアプリケーション・ステータス情報の調査結果を受け取ること（ステップ７１０）、そして更新が利用可能であるかどうか及び／又は望まれているかどうかを決定すること（ステップ７１２）をさらに含むことができる。例えば、外部デバイス・マネージャ１２０は、調査結果３３３を受け取ることができそして記憶することができ、その調査結果３３３は上記のデバイス・ドライバ及び／又はアプリケーション・ステータス情報のリストであり得る。さらに、外部デバイス・マネージャ１２０は、無線デバイス１０２及び／又は外部デバイス１０６のユーザにいずれかのデバイス上のユーザ・インターフェースを介して調査結果３３３を提供することができる。それに加えて、ユーザ入力に応じて及び／又は更新設定値に基づいて、更新が利用可能である場合そして／又は望まれている場合に、その時には本方法は、図８に関して以下に論じられるように更新を実行し（ステップ８０２参照）、そして次に、以下に論じられるように、本方法は、ステップ７１４に戻る。もし更新が利用できない場合そして／又は望まれていない場合に、このオプションの態様は打ち切られ、そして以下に論じられるように、ステップ７１４に戻る。
【００７２】
外部デバイスとの通信を確立すると、そしてオプションとして外部デバイス上のデバイス・ドライバ及び／又はアプリケーションを更新すると、本方法は、無線デバイス・ユーザが、外部デバイス・リソースを使用したがるかどうか（ステップ７１４）そして／又は外部デバイス上へとアプリケーションをダウンロードするかどうか（ステップ７１６）を決定することに続く。
【００７３】
もし、外部デバイス・リソースの利用が望まれる場合、無線デバイスは、利用する１又はそれより多くの選択されたリソースの指示を受け取る（ステップ７１８）。例えば、ある複数の態様では、外部デバイス・マネージャ１２０は、ユーザ・インターフェースを介して無線デバイス１０２のユーザからの選択を受け取る。別の態様では、外部デバイス・マネージャ１２０及び／又は無線アプリケーション１１４は、予め決められた設定値に基づいて及び／又は無線アプリケーション１１４の特定の機能に基づいて１又はそれより多くの外部デバイス・リソース１３２を自動的に選択することができる。例えば、もし、無線アプリケーション１１４が無線デバイス１０２上の利用可能なメモリ／記憶装置を超えるデータ記憶装置の予め決められた量を利用することが知られている場合に、外部デバイス・マネージャ制御論理回路３２８は、利用する外部デバイス・メモリ及び／又はデバイス・リソースを自動的に選択することができる。
【００７４】
利用する１又はそれより多くの外部デバイス・リソースを識別すると、無線デバイスは、無線アプリケーションが選択された外部デバイス・リソースと通信することを可能にする適切なデバイス・ドライバが常駐することを検証する（ステップ７２０）。例えば、外部デバイス・マネージャ１２０は、調査結果３３３にリストされるような又は独自に検証されるような既存のデバイス・ドライバを選択された外部デバイス・リソースと比較するように動作することができ、適切なデバイス・ドライバが外部デバイス１０６上に常駐していることを確認する。
【００７５】
もし、適切なドライバが常駐しない場合には、本方法は、上に説明されたように、戻って適切なドライバをインストールする（ステップ７０６）。
【００７６】
適切なドライバが常駐する場合には、無線デバイスは、１又はそれより多くの選択された外部デバイス・リソースを利用する（ステップ７２２）。例えば、無線アプリケーション１１４は、選択された外部デバイス・リソース、例えば、メモリ、データ記憶装置、プロセッサ、通信インターフェース、等、と通信するようにそれが実行するあいだ動作することができる。
【００７７】
外部デバイス・リソースが望まれるように無線アプリケーションによって既に利用された後に、１又はそれより多くのデバイス・ドライバのそれぞれがアンインストールされるべきであるかどうかを決定することを、本方法はさらに含むことができる。例えば、無線アプリケーション１１４の実行が終わると、外部デバイス・マネージャ１２０は、（複数の）デバイス・ドライバのそれぞれをアンインストールするか否かを無線デバイス・ユーザに問い合わせることができる。あるいは、判断は、所定の無線アプリケーション１１４に関係付けられる及び／又は外部デバイス・マネージャ１２０に関係付けられる予め決められた設定値に基づくことができる。
【００７８】
いずれのケースでも、もしデバイス・ドライバがアンインストールされないのであれば、本方法は、終了する（ステップ７２８）。
【００７９】
デバイス・ドライバがアンインストールされようとしている場合には、本方法は進行し、そして無線アプリケーションによって利用される１又はそれより多くのデバイス・ドライバのそれぞれのデインストールを実行し（ステップ７２６）、本方法の終了が続く（ステップ７２８）。例えば、外部デバイス・マネージャ１２０は、デバイス・ドライバ／デバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２を実行することができ、それはデバイス・ドライバのそれぞれをデインストールするように動作することができる。デインストール・プロセスが完了した後で、本方法は、終了する。
【００８０】
オプションとして、外部デバイス・リソースを利用した後で（ステップ７２２）、本方法は、外部デバイスに別のデバイス・ドライバ及び／又はアプリケーション・モジュールをダウンロードするためのオプションを無線デバイスに提供することができ（ステップ７１６）、それはより詳細に以下に論じられる。
【００８１】
上記したように、外部デバイス・リソースを利用しないことを判断した後で（ステップ７１４）、又はオプションとして外部デバイス・リソースを利用した後で（ステップ７２２）、本方法は、外部デバイスに別のデバイス・ドライバ及び／又はアプリケーション・モジュールをダウンロードするためのオプションを無線デバイスに提供することができる。例えば、外部デバイス・マネージャ１２０は、デバイス・ドライバ／デバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２を実行することができ、それは無線デバイスから外部デバイスにアプリケーションをダウンロードするように動作することができる。
【００８２】
もし、ダウンロードが望まれていないという入力を無線デバイスが受け取る場合には、上に論じたように、本方法は、ステップ７２４に続く。例えば、外部デバイス・マネージャ１２０は、デバイス・ドライバ及び／又はアプリケーションをダウンロードするか否かのユーザに向けられた問い合わせに対する応答を受け取ることができる。あるいは、この指示は、所定の無線アプリケーション１１４に関係付けられた及び／又は外部デバイス・マネージャ１２０に関係付けられた予め決められた設定に基づくことができる。
【００８３】
ダウンロードが望まれているという入力を無線デバイスが受け取る場合には、以下に論じられるように、本方法は、ステップ８０２に続く。例えば、外部デバイス・マネージャ１２０は、デバイス・ドライバ及び／又はアプリケーションをダウンロードするか否かのユーザに向けられた問い合わせに対する応答を受け取ることができる。あるいは、この指示は、所定の無線アプリケーション１１４に関係付けられた及び／又は外部デバイス・マネージャ１２０に関係付けられた予め決められた設定に基づくことができる。
【００８４】
図８を参照して、本方法は、調査の結果としての更新を得るための指示（図７、ステップ７１２）、デバイス・リソースを利用することとは反対にデバイス・ドライバ及び／又はアプリケーションを得ようとする指示（図７、ステップ７１４と７１６）のどちらかに基づいて、及び／又はデバイス・リソースを利用した後で受け取る同様の指示に基づいて（図７、ステップ７２２と７１６）、外部デバイスへのデバイス・ドライバ及び／又はアプリケーションを識別することそしてダウンロードすることを含むことができる。
【００８５】
この点において、本方法は、遠隔サーバと接続すること、及び識別された外部デバイス・タイプに特有のデバイス・ドライバ及び／又はアプリケーションのリストを要求することを含むことができる（ステップ８０２）。例えば、外部デバイス・マネージャ１２０は、外部デバイス・タイプに関係付けられた識別情報、例えば、外部デバイス・タイプ・パラメータ３２６を受け取るように動作することができる。この識別情報は、可能性のある外部デバイス・タイプのリストから選択されることができる、そして／又はデバイス・ユーザによって入力され、そして無線デバイス１０２における及び／又は遠隔サーバ１０６におけるデバイス・タイプ・パラメータ３２６と関係付けられることができる。さらに、外部デバイス・マネージャ１２０は、１又はそれより多くの設定パラメータ３２２を備えることができ、それはこの情報を問い合わせるために所定の遠隔サーバ１０４を識別する。
【００８６】
さらに、例えば、ある複数の態様では、遠隔サーバ１０４は、あるユーザが最初に識別することができる特定の外部デバイス・タイプ上へとロードされように設計されたデバイス・ドライバ／アプリケーション・モジュール・インストール・パッケージ１２２を備えることができる。それに応じて、ユーザ・インターフェース３０２の動作を介して、外部デバイス・タイプ・モジュール３２４によって提示されるメニューから接続された外部デバイス１０６にしたがった特定の外部デバイス・タイプを、無線デバイス１０２のユーザは、選択することができる。無線デバイス１０２は、選択された外部デバイス・タイプを外部デバイス・タイプ・パラメータ３２６として記憶することができる。ある複数の実施形態では、外部デバイス・タイプ・モジュール３２４は、外部デバイス・マネージャ１２０の一部としてダウンロードすることができる。別の態様では、外部デバイス・タイプ・モジュール３２４は、設定可能であり、そして遠隔サーバ１０４からダウンロードされることができる。
【００８７】
それに加えて、これらの態様では、外部デバイス・タイプを選択すると、外部デバイス・マネージャ１２０は、遠隔サーバ１０４に接続するように動作することができ、そして外部デバイス１０６に特有のオンデマンド方式のアプリケーションのモジュール３０８からのメニューを受け取るために外部デバイス・タイプ・パラメータ３２６を送信するように動作することができる。接続プロトコルは、ＨＴＴＰ、ＦＴＰ又はネットワーク１１０を経由するデータの伝送を可能にするために利用可能ないずれかの他のプロトコルであり得る。
【００８８】
本方法は、利用可能な、デバイス・タイプに特有のデバイス・ドライバ及び／又はアプリケーションのリストを遠隔サーバから受け取ることをさらに含むことができる（ステップ８０４）。例えば、無線デバイス１０２は、指定された外部デバイス１０６に特有のオンデマンド方式デバイス・ドライバ・リスト３１１及び／又はオンデマンド方式アプリケーション・リスト３０９を有するモジュール３０８からのメニューを遠隔サーバ１０４から受け取るように動作することができる。外部デバイス・マネージャ１２０は、出力手段２０４を使用してモジュール３０８からのメニューを表示するようにさらに動作することができる。
【００８９】
本方法は、選択された１又はそれより多くの利用可能なデバイス・ドライバ及び／又は利用可能なアプリケーションをインストールするための指示を受け取ることをさらに含むことができる（ステップ８０６）。例えば、無線デバイス１０２は、ユーザ・インターフェース３０２の動作を介して、モジュール３０８からのメニューからオンデマンド方式でデバイス・ドライバ及び／又はアプリケーションのユーザ選択を受け取ることができる。さらに、無線デバイス１０２は、選択されたデバイス・ドライバ及び／又はアプリケーションを選択されたデバイス・ドライバ／アプリケーション・パラメータ３１６として記憶することができる。
【００９０】
さらに、本方法は、選択されたデバイス・ドライバ及び／又はアプリケーションの要求を遠隔サーバに送信することを含むことができる（ステップ８０８）。例えば、外部デバイス・マネージャ１２０は、遠隔サーバ１０４へパラメータ３１６の送信を開始するように動作することができる。
【００９１】
本方法は、要求されたデバイス・ドライバ及び／又はアプリケーションに基づいてインストール・パッケージを遠隔サーバから受け取ることをさらに含むことができる（ステップ８１０）。例えば、無線デバイス１０２は、外部デバイス１０６に対して要求されたデバイス・ドライバ及び／又はアプリケーションに基づいて遠隔サーバ１０４からダウンロードされたデバイス・ドライバ／アプリケーション管理パッケージ１２２を受け取ることができそして記憶することができる。
【００９２】
それに加えて、本方法は、無線デバイスが受信したデバイス・ドライバ及び／又はアプリケーションを外部デバイス上へとインストールすることを含むことができる（ステップ８１２）。例えば、外部デバイス・マネージャ１２０は、受信したデバイス・ドライバ／アプリケーション管理パッケージ１２２を実行することができ、それは要求されたドライバ／アプリケーションを外部デバイス１０６上へとインストールするように動作する。
【００９３】
さらに、本方法は、ダウンロードされたデバイス・ドライバ及び／又はアプリケーションを介して外部デバイスとともに無線デバイス上での動作を実行することを含むことができる（ステップ８１４）。例えば、ある複数の態様では、外部デバイス１０６は、アプリケーション・モジュール１３６を実行することができ、無線デバイス１０２上での動作を管理し、制御し、そしてモニタすることができる。
【００９４】
図９を参照して、ある複数の態様では、遠隔サーバ１０４上で動作可能な本方法は、図７と図８のフローチャートの方法に対応するように無線デバイス１０２と通信することを説明する。具体的に、図９の方法は、無線デバイス１０２上にデバイス・ドライバ／デバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２をロードするように動作し、その後で無線デバイス１０２は、接続された外部デバイス１０６上にインターフェース・ドライバ１３６及び／又はアプリケーション・モジュール１３６の１つ又はそれより多くを自動的にインストールするように動作する。
【００９５】
ステップ９０２において、遠隔サーバ１０４のメモリ４０２中に常駐するユーザ・マネージャ・モジュール１１８は、無線デバイス１０２から接続要求を受け取ると、認定論理回路４１２を使用して無線デバイス１０２のアイデンティティを認証する。認証すると、ユーザ・マネージャ制御論理回路４０４は、いずれかの利用可能なプロトコル、例えば、ＨＴＴＰ及びＦＴＰを含む、を使用してネットワーク１１０を経由して無線デバイス１０２に外部デバイス・マネージャ１２０を転送することができる。ある複数の実施形態では、ユーザ・マネージャ・モジュール１１８は、外部デバイス・マネージャ１２０の伝送の受領通知を受け取るように動作することができる。
【００９６】
ステップ９０４において、遠隔サーバ１０４は、無線デバイス１０２に接続された外部デバイス１０６に特有の適用可能なデバイス・ドライバ及び／又はアプリケーションを列挙しているモジュール３０８からのメニューを伝送するための要求を受け取ることができる。１つの実施形態では、遠隔サーバ１０４は、無線デバイス１０２に接続された外部デバイス１０６のタイプを特定する外部デバイス・タイプ・パラメータ３２６を備えるコマンド３２０を受信することができる。
【００９７】
ステップ９０４において受け取られた要求に応答して、ステップ９０６において、遠隔サーバ１０４は、無線デバイス１０２にモジュール３０８からのメニューを転送するように動作することができる。モジュール３０８は、無線デバイス１０２に接続された特定の外部デバイス１０６に適用可能なデバイス・ドライバ及び／又はアプリケーションを列挙することができる。
【００９８】
ステップ９０８において、遠隔サーバ１０４は、特定のデバイス・ドライバ／アプリケーション・モジュール管理パッケージ１２２をダウンロードする要求を受け取るように動作する。１つの実施形態では、選択されたデバイス・ドライバ／アプリケーション・パラメータ３１６を備えるコマンド３２０は、ユーザ・マネージャ制御論理回路４０４によって受け取られることができそして解析されることができる。
【００９９】
ステップ９１０において、遠隔サーバ１０４は、選択されたデバイス・ドライバ／アプリケーション・パラメータ３１６に基づいてそれぞれの管理パッケージ１２２を無線デバイス１０２に伝送するように動作することができる。
【０１００】
そのように、記載された態様は、外部デバイス・リソースの無線デバイス中心の制御又は手持ち機器中心の制御及び／又は無線デバイス１０２に接続された外部デバイス１０６上へのドライバ及び／又はアプリケーションのオンデマンド方式のインストールとデインストールを可能にする。
【０１０１】
それゆえ、限定するものとして解釈されるべきでない一例のケースでは、無線デバイスに接続された外部デバイス上のデバイス・リソースを使用する方法は、無線デバイス・アプリケーションを無線デバイス上で受け取ることを備える。本方法は、無線デバイス・アプリケーションを実行することをさらに含み、それによってアプリケーションは無線デバイス上のメモリ中にデバイス機能に関連するデータを記録する。さらに、本方法は、追加のメモリ・リソースが無線デバイス・アプリケーションによって要求されているかを自動的に決定することを含む。その意味で、本方法は、無線デバイスに対して利用可能なメモリを備える外部デバイスを接続することを含む。さらに、本方法は、外部デバイス上に無線デバイス・インターフェース・コンポーネントを自動的にインストールすること、そして外部デバイスの利用可能なメモリ中にデバイス機能に関連するデータの少なくとも一部を記録することを含む。それに加えて、ある複数の態様では、本方法は、無線デバイスが、遠隔サーバへのネットワーク接続を、外部デバイス上で自動的に検出すること、そしてその外部デバイス上で検出されたネットワーク接続を経由して遠隔サーバに記憶された機能に関連するデータの少なくとも一部を伝送することを備える。
【０１０２】
本明細書中に開示された態様に関連して述べられた、様々な例示的な論理回路、論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ：digital signal processor）、用途特定集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：field programmable gate array）又は他のプログラマブル論理デバイス、ディスクリート・ゲート論理回路又はトランジスタ論理回路、ディスクリート・ハードウェア・コンポーネント、又は本明細書中で説明された機能を実行するために設計されたこれらのいずれかの組み合わせの中に、搭載される又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算装置の組み合わせとして与えられることができる。例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアとともに１又はそれより多くのマイクロプロセッサの組み合わせ、又はいずれかの別のそのような構成の組み合わせであり得る。
【０１０３】
さらに、本明細書中に開示された態様に関連して説明された方法のステップ又はアルゴリズムは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、ＣＤ−ＲＯＭ、又はこの技術において公知のいずれかの他の記憶媒体の中に存在できる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込むことができるようにプロセッサに接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、ＡＳＩＣ中に存在できる。ＡＳＩＣは、ユーザ端末中に存在できる。あるいは、プロセッサ及び記憶媒体は、ユーザ端末中の単体コンポーネントとして存在できる。
【０１０４】
前述の開示は例示的な態様及び／又は複数の態様を示すとはいえ、様々な変更及び変形が、記述された態様及び／又は添付された特許請求の範囲によって規定される態様の範囲から逸脱することなくここになされるはずであることを、注意すべきである。なお、記載された態様の要素が単数で説明される又は請求されることがあるけれども、単数形への限定が明白に述べられない限り、複数は予想される。その上、いずれかの態様の全て又は一部及び／又は態様は、それ以外に述べられない限り、いずれかの別の態様の全て又は一部及び／又は態様とともに利用されることができる。
【図面の簡単な説明】
【０１０５】
【図１】図１は、外部デバイスについての無線デバイス中心の制御を提供するためのシステムの１態様の概要図である。
【図２】図２は、図１の無線デバイスのブロック図の１態様である。
【図３】図３は、図１の外部デバイス・マネージャのブロック図の１態様である。
【図４】図４は、図１の遠隔サーバのブロック図の１態様である。
【図５】図５は、図１の外部デバイスのブロック図の１態様である。
【図６】図６は、図１のセルラ電話機ネットワーク態様の１態様の概要図である。
【図７】図７は、図１の無線デバイスの動作の態様に関係するフローチャートである。
【図８】図８は、図７の動作の態様に関係するフローチャートである。
【図９】図９は、図１の遠隔サーバの動作の１態様に関係するフローチャートである。
【符号の説明】
【０１０６】
１００…システム，１０２…無線デバイス，１０４…遠隔サーバ，１０６…外部デバイス，１０８…通信インターフェース，１３８…無線インターフェース，１４０…通信リンク，６０２…有線ネットワーク，６０４…データ・リンク，６０８，６１０，６１４…ネットワーク。
【図１】
2008537452.tif 000003
【図２】
2008537452.tif 000004
【図３】
2008537452.tif 000005
【図４】
2008537452.tif 000006
【図５】
2008537452.tif 000007
【図６】
2008537452.tif 000008
【図７】
2008537452.tif 000009
【図８】
2008537452.tif 000010
【図９】
2008537452.tif 000011
【国際調査報告】
2008537452.tif 000012
2008537452.tif 000013
2008537452.tif 000014
2008537452.tif 000015
2008537452.tif 000016