(57)【特許請求の範囲】
【請求項１】
無線ネットワークを介して無線デバイスとサーバとの間の通信を提供するための無線通信インターフェースと、
前記無線通信インターフェースに結合され、前記無線通信インターフェースを制御するためのコンピュータプラットフォームであって、前記コンピュータプラットフォームは、ダウンロードされるアプリケーション用のアプリケーション実行時環境を維持するためのものでもあり、オペレーティングシステム、前記オペレーティングシステムとインターフェースし前記コンピュータプラットフォーム上の常駐プログラムの実行をサポートするように構成されるアプリケーションプログラミングインターフェースレイヤ、および第１の組の属性をサポートするデータ処理回路を備える、コンピュータプラットフォームと
を備える無線デバイスにおいて、
前記第１の組の属性は、緯度および経度を求めて前記無線デバイスに問い合わせる際に使用可能な位置および場所のクラスを備えた、前記アプリケーション実行時環境内で利用可能な１組のクラスに対応する少なくとも１つの属性を備え、前記コンピュータプラットフォームの前記アプリケーションプログラミングインターフェースレイヤを含む前記アプリケーション実行時環境を記述し、
前記オペレーティングシステムおよびアプリケーションプログラミングインターフェースレイヤは、無線デバイスによって作り出される前記サーバへのアプリケーションを求めるアプリケーションダウンロード要求に応答して前記無線通信インターフェースから受信される第２の組の属性と突き合わせた、前記第１の組の属性との比較を前記コンピュータプラットフォームに実行させるための第１のロジックを含み、
前記第２の組の属性は、前記アプリケーションに関連する所要の実行時環境を記述し、
前記オペレーティングシステムおよびアプリケーションプログラミングインターフェースレイヤは、前記コンピュータプラットフォームに、
前記比較が、前記アプリケーションと、前記コンピュータプラットフォームの前記アプリケーションプログラミングインターフェースレイヤを含む前記アプリケーション実行時環境とに互換性がないことを指示する場合に、ダウンロードされることが要求された前記アプリケーションに関連する前記所要の実行時環境をサポートするために、前記アプリケーション実行時環境が、ユーザ入力を用いることなく整えられるかどうかを判定させ、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられる場合、前記アプリケーション実行時環境を整えることを試みさせ、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられない場合、前記サーバから前記無線デバイスへの前記アプリケーションのダウンロードのブロックを実行させ、
前記比較が前記アプリケーションと前記アプリケーション実行時環境とに互換性があることを指示する場合、または前記アプリケーション実行時環境が整えられている場合に、前記アプリケーションをダウンロードさせる
ための第２のロジックを含む、
無線デバイス。
【請求項２】
前記第２の組の属性は、前記サーバから前記無線デバイスに伝送されるファイルの一部として前記無線デバイスによって受信される、請求項１に記載の無線デバイス。
【請求項３】
前記ブロックは、前記アプリケーションのダウンロードの開始を防ぐことと、前記無線デバイス上に関連するエラーメッセージを表示させることとによって実行される請求項１に記載の無線デバイス。
【請求項４】
前記第１の組の属性は、前記アプリケーション実行時環境内で利用可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項５】
前記第１の組の属性は、前記アプリケーション実行時環境にとってアクセス可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項６】
前記第１の組の属性は、前記アプリケーション実行時環境の利用可能なストレージ容量の量を識別する属性を備える、請求項１に記載の無線デバイス。
【請求項７】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項６に記載の無線デバイス。
【請求項８】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項６に記載の無線デバイス。
【請求項９】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な１組のクラスに対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１０】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なライブラリのリストに対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１１】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なサードパーティライブラリのリストに対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１２】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な利用可能なストレージ容量の量を識別する属性を備える、請求項１に記載の無線デバイス。
【請求項１３】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項１２に記載の無線デバイス。
【請求項１４】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項１２に記載の無線デバイス。
【請求項１５】
前記コンピュータプラットフォームが使用可能であり、前記アプリケーション実行時環境内で利用可能な表示機構特性を有する表示機構をさらに備え、前記第１の組の属性は、前記表示機構特性に対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１６】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、ネットワーク接続特性に対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１７】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、プロセッサ速度特性に対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１８】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、エンドユーザ入力機構特性に対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項１９】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、アプリケーション実行関連特性に対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項２０】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、複数のアプリケーション実行関連特性に対応する複数の属性を備える、請求項１に記載の無線デバイス。
【請求項２１】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、メニュー作成特性に対応する少なくとも１つの属性を備える、請求項１に記載の無線デバイス。
【請求項２２】
無線ネットワークを介した、サーバ上に記憶されたアプリケーションを求めるダウンロード要求を管理するために無線デバイス上で使用可能な方法であって、前記無線デバイスが無線通信インターフェースと、オペレーティングシステムおよびコンピュータプラットフォーム上の常駐プログラムの実行をサポートするアプリケーションプログラミングインターフェースレイヤをサポートするデータ処理回路を備えるコンピュータプラットフォームとを備える、無線デバイス上で使用可能な方法において、
アプリケーションのダウンロードを求める要求を前記サーバに送信することと、
前記アプリケーションに関連する所要の実行時環境を記述する第２の組の属性を受信することと、
前記アプリケーションと前記アプリケーション実行時環境とに互換性があるかどうかを判定するために、前記コンピュータプラットフォームにおいて、前記第２の組の属性を、少なくとも緯度および経度を求めて前記無線デバイスに問い合わせる際に使用可能な位置および場所のクラスを備えた、前記アプリケーション実行時環境内で利用可能な１組のクラスに対応する少なくとも１つの属性を備え、前記無線デバイスの前記コンピュータプラットフォームの前記アプリケーションプログラミングインターフェースレイヤによってサポートされるアプリケーション実行時環境を記述する第１の組の属性と比較することと、
前記比較することが、前記アプリケーションと、前記コンピュータプラットフォームの前記アプリケーションプログラミングインターフェースレイヤを含む前記アプリケーション実行時環境とに互換性がないことを指示する場合に、ダウンロードされることが要求された前記アプリケーションに関連する前記所要の実行時環境をサポートするために、前記アプリケーション実行時環境が、ユーザ入力を用いることなく整えられるかどうかを判定することと、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられる場合、前記アプリケーション実行時環境を整えることを試みることと、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられない場合、前記サーバから前記無線デバイスへの前記アプリケーションのダウンロードを前記コンピュータプラットフォームにおいてブロックすることと、
前記比較することが前記アプリケーションと前記アプリケーション実行時環境とに互換性があることを指示する場合、または前記アプリケーション実行時環境が整えられている場合に、前記アプリケーションをダウンロードすることと
を備える、方法。
【請求項２３】
前記第２の組の属性は、前記サーバによって伝送されるファイル内で受信される、請求項２２に記載の方法。
【請求項２４】
前記ブロックするステップは、
前記サーバからの前記アプリケーションのダウンロードの開始を防ぐことと、
前記無線デバイス上にエラーメッセージを表示することと
を備える、請求項２２に記載の方法。
【請求項２５】
前記第１の組の属性は、前記アプリケーション実行時環境内で利用可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項２６】
前記第１の組の属性は、前記アプリケーション実行時環境にとってアクセス可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項２７】
前記第１の組の属性は、前記アプリケーション実行時環境の利用可能なストレージ容量の量を識別する属性を備える、請求項２２に記載の方法。
【請求項２８】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項２７に記載の方法。
【請求項２９】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項２７に記載の方法。
【請求項３０】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な１組のクラスに対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項３１】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なライブラリのリストに対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項３２】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なサードパーティライブラリのリストに対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項３３】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な利用可能なストレージ容量の量を識別する属性を備える、請求項２２に記載の方法。
【請求項３４】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項３３に記載の方法。
【請求項３５】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項３３に記載の方法。
【請求項３６】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、表示機構特性に対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項３７】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、ネットワーク接続特性に対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項３８】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、プロセッサ速度特性に対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項３９】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、エンドユーザ入力機構特性に対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項４０】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、アプリケーション実行関連特性に対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項４１】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、複数のアプリケーション実行関連特性に対応する複数の属性を備える、請求項２２に記載の方法。
【請求項４２】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、メニュー作成特性に対応する少なくとも１つの属性を備える、請求項２２に記載の方法。
【請求項４３】
前記第１の組の属性は、プロセッサ情報を識別する属性を備える、請求項１に記載の無線デバイス。
【請求項４４】
無線ネットワークを介して無線デバイスとサーバとの間の通信を提供するための無線通信インターフェースと、
前記無線通信インターフェースに結合され、前記無線通信インターフェースを制御するためのコンピュータプラットフォームであって、前記コンピュータプラットフォームは、ダウンロードされるアプリケーション用のアプリケーション実行時環境を維持するためのものでもあり、オペレーティングシステムおよび第１の組の属性をサポートするデータ処理回路を備える、コンピュータプラットフォームと
を備える無線デバイスにおいて、
前記第１の組の属性は、緯度および経度を求めて前記無線デバイスに問い合わせる際に使用可能な位置および場所のクラスを備えた、前記アプリケーション実行時環境内で利用可能な１組のクラスに対応する少なくとも１つの属性を備え、前記アプリケーション実行時環境を記述し、
前記オペレーティングシステムは、無線デバイスによって作り出される前記サーバへのアプリケーションを求めるアプリケーションダウンロード要求に応答して前記無線通信インターフェースから受信される第２の組の属性と突き合わせた、前記第１の組の属性との比較を前記コンピュータプラットフォームに実行させるための第１のロジックを含み、
前記第２の組の属性は、前記アプリケーションに関連する所要の実行時環境を記述し、
前記オペレーティングシステムは、前記コンピュータプラットフォームに、
前記比較が、前記アプリケーションと前記アプリケーション実行時環境とに互換性がないことを指示する場合に、ダウンロードされることが要求された前記アプリケーションに関連する前記所要の実行時環境をサポートするために、前記アプリケーション実行時環境が、ユーザ入力を用いることなく整えられるかどうかを判定させ、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられる場合、前記アプリケーション実行時環境を整えることを試みさせ、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられない場合、前記サーバから無線デバイスへの前記アプリケーションのダウンロードのブロックを実行させ、
前記比較が前記アプリケーションと前記アプリケーション実行時環境とに互換性があることを指示する場合、または前記アプリケーション実行時環境が整えられている場合に、前記アプリケーションをダウンロードさせる
ための第２のロジックを含む、無線デバイス。
【請求項４５】
前記第２の組の属性は、前記サーバから前記無線デバイスに伝送されるファイルの一部として前記無線デバイスによって受信される、請求項４４に記載の無線デバイス。
【請求項４６】
前記ブロックは、前記アプリケーションのダウンロードの開始を防ぐことと、前記無線デバイス上に関連するエラーメッセージを表示させることとによって実行される請求項４４に記載の無線デバイス。
【請求項４７】
前記第１の組の属性は、前記アプリケーション実行時環境内で利用可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項４８】
前記第１の組の属性は、前記アプリケーション実行時環境にとってアクセス可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項４９】
前記第１の組の属性は、前記アプリケーション実行時環境の利用可能なストレージ容量の量を識別する属性を備える、請求項４４に記載の無線デバイス。
【請求項５０】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項４９に記載の無線デバイス。
【請求項５１】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項４９に記載の無線デバイス。
【請求項５２】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な１組のクラスに対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項５３】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なライブラリのリストに対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項５４】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なサードパーティライブラリのリストに対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項５５】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な利用可能なストレージ容量の量を識別する属性を備える、請求項４４に記載の無線デバイス。
【請求項５６】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項５５に記載の無線デバイス。
【請求項５７】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項５５に記載の無線デバイス。
【請求項５８】
無線ネットワークを介した、サーバ上に記憶されたアプリケーションを求めるダウンロード要求を管理するために無線デバイス上で使用可能な方法において、
アプリケーションのダウンロードを求める要求を前記サーバに送信することと、
前記アプリケーションに関連する所要の実行時環境を記述する第２の組の属性を受信することと、
前記アプリケーションと前記アプリケーション実行時環境とに互換性があるかどうかを判定するために、前記第２の組の属性を、緯度および経度を求めて前記無線デバイスに問い合わせる際に使用可能な位置および場所のクラスを備えた、前記アプリケーション実行時環境内で利用可能な１組のクラスに対応する少なくとも１つの属性を備え、前記無線デバイスによってサポートされるアプリケーション実行時環境を記述する第１の組の属性と比較することと、
前記比較することが、前記アプリケーションと前記アプリケーション実行時環境とに互換性がないことを指示する場合に、ダウンロードされることが要求された前記アプリケーションに関連する前記所要の実行時環境をサポートするために、前記アプリケーション実行時環境が、ユーザ入力を用いることなく整えられるかどうかを判定することと、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられる場合、前記アプリケーション実行時環境を整えることを試みることと、
前記アプリケーション実行時環境が、前記ユーザ入力を用いることなく整えられない場合、前記サーバから前記無線デバイスへの前記アプリケーションのダウンロードをブロックすることと、
前記比較することが前記アプリケーションと前記アプリケーション実行時環境とに互換性があることを指示する場合、または前記アプリケーション実行時環境が整えられている場合に、前記アプリケーションをダウンロードすることと
を備える、方法。
【請求項５９】
前記第２の組の属性は、前記サーバによって伝送されるファイル内で受信される、請求項５８に記載の方法。
【請求項６０】
前記ブロックするステップは、
前記サーバからの前記アプリケーションのダウンロードの開始を防ぐことと、
前記無線デバイス上にエラーメッセージを表示することと
を備える、請求項５８に記載の方法。
【請求項６１】
前記第１の組の属性は、前記実行時環境内で利用可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項６２】
前記第１の組の属性は、前記実行時環境にとってアクセス可能なライブラリのリストに対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項６３】
前記第１の組の属性は、前記アプリケーション実行時環境の利用可能なストレージ容量の量を識別する属性を備える、請求項５８に記載の方法。
【請求項６４】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項６３に記載の方法。
【請求項６５】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項６３に記載の方法。
【請求項６６】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な１組のクラスに対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項６７】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なライブラリのリストに対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項６８】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要なサードパーティライブラリのリストに対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項６９】
前記第２の組の属性は、前記アプリケーションの実行をサポートするために必要な利用可能なストレージ容量の量を識別する属性を備える、請求項５８に記載の方法。
【請求項７０】
前記利用可能なストレージの量は、前記ストレージのランダムアクセスメモリ部分内の利用可能なストレージの量である、請求項６９に記載の方法。
【請求項７１】
前記利用可能なストレージの量は、前記ストレージのファイルシステム部分内の利用可能なストレージの量である、請求項６９に記載の方法。
【請求項７２】
前記コンピュータプラットフォームが使用可能であり、前記アプリケーション実行時環境内で利用可能な表示機構特性を有する表示機構をさらに備え、前記第１の組の属性は、前記表示機構特性に対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項７３】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、ネットワーク接続特性に対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項７４】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、プロセッサ速度特性に対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項７５】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、エンドユーザ入力機構特性に対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項７６】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、アプリケーション実行関連特性に対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項７７】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、複数のアプリケーション実行関連特性に対応する複数の属性を備える、請求項４４に記載の無線デバイス。
【請求項７８】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、メニュー作成特性に対応する少なくとも１つの属性を備える、請求項４４に記載の無線デバイス。
【請求項７９】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、表示機構特性に対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項８０】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、ネットワーク接続特性に対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項８１】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、プロセッサ速度特性に対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項８２】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、エンドユーザ入力機構特性に対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項８３】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、アプリケーション実行関連特性に対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【請求項８４】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、複数のアプリケーション実行関連特性に対応する複数の属性を備える、請求項５８に記載の方法。
【請求項８５】
前記第１の組の属性および前記第２の組の属性の少なくとも１つが、メニュー作成特性に対応する少なくとも１つの属性を備える、請求項５８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピュータデバイスネットワーク及び通信に関する。特に、本発明は、初期通信接続をブリッジしたときと、無線ネットワーク上のコンピュータデバイス間の進行中の通信の間におけるデータ転送と、コンピュータデバイスインタフェースプロトコルとに関する。
【背景技術】
【０００２】
例えば携帯電話のような無線デバイスは、無線ネットワークによって、音声及びデータを含むパケットを通信する。既存の無線ネットワークでは、無線ネットワーク上の２つのコンピュータデバイス間で初期コンタクトがあると、これらデバイスは、「ハンドシェイク」と呼ばれる情報のサマリの交換を行う。このハンドシェイク処理によってこれらコンピュータデバイスは、データ経路をまず同期させ、デバイス間の満足できる接続を維持するのに必要な関連データを渡すことができるようになる。これらコンピュータデバイスは、満足できる接続を維持するために、初期コンタクトがブリッジされた後、通信が進行している間にも、ハンドシェイク動作に従事することができる。
【０００３】
アナログ又はデジタル無線携帯ネットワークでは、携帯デバイスと基地局との間で初期ハンドシェイクセッションがある。一般に、デバイスがオンのとき、移動スイッチは、例えば移動識別番号（ＭＩＮ：mobile identification number）を通じてデバイスの識別を判定し、どのセルが、そのデバイスからの送信を搬送し、そのセル内の空いたチャネルを割り当て、そのデバイスから音声又はデータ送信を取得するかを決定する。例えばデバイスモデル識別のような基本データもまた、携帯デバイスの初期ログにおいて交換される。進行中のデータ交換は、携帯ネットワーク内でも起こるが、一般に、単に「ハンドオフ」、すなわちセルからセルへのデバイスの物理的な移動を管理するためものである。動作中の通信を行っている基地局は、デバイスの信号がハンドオーバ閾値より下に下がった後に移動スイッチに対してハンドオフ要求を送る。
【０００４】
複雑なデバイスの場合、頑強な通信を確立するために、初期デバイスコンタクト時に交換する必要のあるデータを考慮することができる。更に、例えばデータ又はアプリケーション転送のような通信の間、複雑な動作がより多くなされるのであれば、そのような時間における有意なハンドシェイク通信は、サーバ又は既存の通信接続を途絶させうる。従って、本発明が主に目的としているものは、無線ネットワークを介したコンピュータデバイス間のハンドシェイクを行う改良されたシステムである。
【発明の概要】
【０００５】
本発明は、無線ネットワーク上の例えばアプリケーションダウンロードサーバのようなサーバと、無線デバイスとの間のデータ通信、すなわち「ハンドシェイク」のためのシステム、方法、及びコンピュータプログラムである。無線デバイスがアプリケーションダウンロードサーバと通信すると、このサーバは、「ハンドシェイクセッション」の間、無線デバイス属性を示すデータを無線デバイスから取得し、この無線デバイス属性に基づいて、アプリケーションへのアクセスを決定する。このアプリケーションは、無線ネットワーク上の別のコンピュータデバイスであるか、又はこのサーバ自身かの何れかに常駐することができる。
【０００６】
インタフェースするシステムは、無線ネットワークと選択的に通信する一つ又は複数の無線デバイスと、一つ又は複数のアプリケーションダウンロードサーバとを含む。各無線デバイスは、その属性を持ち、その上で選択的にコンピュータプログラムを実行させるためのコンピュータプラットフォームを持つ。更に、各無線デバイスは、前記コンピュータプラットフォームに選択的にアクセスできるエンドユーザを持つ。一つ又は複数のアプリケーションダウンロードサーバは、無線ネットワークと選択的に通信し、各アプリケーションダウンロードサーバは、少なくとも一つの常駐アプリケーションを持ち、無線デバイスにアプリケーションを選択的にダウンロードする。一旦無線デバイスが無線ネットワークを介してアプリケーションダウンロードサーバと初めに通信すると、アプリケーションダウンロードサーバは、無線デバイス属性を示すデータを無線デバイスから取得し、アプリケーションダウンロードサーバ上に常駐するアプリケーションであるか、又はこのサーバによって制御される例えばコンピュータプログラム、グラフィック、及びメニュー等のようなアプリケーションへの無線デバイスのアクセスを決定する。
【０００７】
特に、無線ネットワーク上のアプリケーションダウンロードサーバと、無線デバイスとの間の通信の方法は、無線ネットワークを介して無線デバイスからサーバへ通信することと、無線デバイス属性を示すデータを無線デバイスから取得することと、この無線デバイス属性に基づいて、アプリケーションダウンロードサーバ上に常駐するアプリケーションであるか、又はこのサーバによって制御されるアプリケーションへの無線デバイスのアクセスを決定することとの各ステップを含む。無線デバイスからデータを取得するステップは、無線デバイスによってダウンロードされた所望のアプリケーションが常駐しているアプリケーションダウンロードサーバにおいて無線デバイス属性を受信することでありうる。更に、無線デバイスからデータを取得するステップは、無線デバイスによるアプリケーションダウンロードサーバの初期コンタクト時か、又は、進行中の通信の間、無線デバイスによって試みられたアプリケーションダウンロード時において起こることができる。
【０００８】
従って、本発明によって、無線ネットワークを介して利用可能なアプリケーションへのデバイスのアクセスを管理するために、複雑な無線デバイスとアプリケーションダウンロードサーバとの間の必要なデータ通信が可能となる。例えばハードウェア及びソフトウェア能力と加入者アイデンティティのような属性データの送信によって、使用不可能又は不適切なソフトウェアにデバイスがアクセスするリスクが最小化される。更に、もしも無線デバイスとサーバとの間の通信の間に、複雑な動作が行われることがより増加すると、アクセス制御を維持するために、現存する接続を中断することなく邪魔にならないハンドシェイクを更に起こすことができる。
【０００９】
本発明のその他の目的、利点、及び特徴が、図面の簡単な説明、本発明の詳細記述、及び特許請求の範囲を説明した後の検討により明らかになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、無線ネットワーク及び無線デバイスの代表図であり、この無線デバイスは、このネットワークを介してサーバ及び別のコンピュータデバイスへ通信をブリッジする。
【図２】図２は、携帯電気通信ネットワークを介して異なる無線デバイスとアプリケーションダウンロードサーバとの間の通信を提供する無線ネットワークのハードウェア要素のブロック図である。
【図３】図３は、アプリケーションダウンロードサーバと相互作用し、無線デバイスプラットフォーム上で一つ又は複数のアプリケーションを実行させる無線デバイスコンピュータプラットフォームのブロック図である。
【図４】図４は、ロードバランスサーバを経由して無線デバイスと通信するアプリケーションダウンロードサーバのブロック図である。
【図５】図５は、無線デバイスからの通信試行を受信し、無線デバイス属性を取得してアプリケーションアクセスを決定するアプリケーションダウンロードサーバ上で実行する処理のフローチャートである。
【図６】図６は、アプリケーションダウンロードサーバへのコンタクトを試み、無線デバイス属性を選択的にサーバに提供する無線デバイス上で実行する処理のフローチャートである。
【発明を実施するための形態】
【００１１】
全体を通じて同一番号が同一要素を示している図を参照する。図１は、無線通信ポータル、又は無線ネットワーク１４へのその他のデータアクセスを介してソフトウェアアプリケーション又はその他のデータを無線デバイスに選択的にダウンロードする少なくとも一つのアプリケーションダウンロードサーバ１６と、無線ネットワーク１４を介して通信する例えば携帯電話１２のような一つ又は複数の無線デバイス間でハンドシェイクするための本発明のシステム１０の一つの実施例を示している。ここに図示するように、無線デバイスはグラフィックディスプレイ１３を備えた携帯電話１２、パーソナルデジタルアシスタント１８、ここでは２方式テキストページャとして示されグラフィックディスプレイを備えたページャ２０、又は無線通信ポータルを持つ個別のコンピュータプラットフォーム２２でありうる。さもなければ、ネットワーク又はインターネットへの有線接続２４を持つ。従って、本システム１０は、限定される訳ではないが、無線モデム、ＰＣＭＣＩＡカード、アクセス端末、パーソナルコンピュータ、アクセス端末、ディスプレイ又はキーパッドを持たない電話、あるいはこれらの任意の組み合わせ又は部分的組み合わせを含む無線通信ポータルを含む任意の遠隔コンピュータモジュールの形態で実行されうる。ここで使用されるように、用語「アプリケーション」は、実行可能及び非実行型のソフトウェアファイル、生データ、集合データ、パッチ、グラフィックス、メニュー、及びその他のコードセグメントを含むことを意図している。アプリケーション又はコードセグメントは、「クライアント」ソフトウェアとして無線デバイス１２，１８，２０，２２上で常駐、動作、及び／又は利用されることが可能である。又は、クライアントベースのアプリケーションの代わりにウェブベースの又は配信されたアプリケーションでありうる。
【００１２】
システム１０では、一つ又は複数の無線デバイス１２，１８，２０，２２が無線ネットワーク１４と選択的に通信する。これら無線デバイスは、それぞれエンドユーザを持ち、無線ネットワーク１４との通信接続を制御する。そして、エンドユーザは、無線ネットワークを介してアプリケーションダウンロードサーバ１６からアプリケーション又はデータをダウンロードするように試みる。アプリケーションダウンロードサーバ１６は、一般に少なくとも一つの常駐アプリケーションを持ち、（例えば図２に示す携帯ネットワークのような）ネットワークを介して一つ又は複数の無線デバイス１２，１８，２０，２２と選択的に通信し、そこにアプリケーションを選択的にダウンロードする。サーバ１６はまた、例えばデータベース２８、第２のアプリケーションダウンロードサーバ３０、又はスタンドアローンサーバ３２のようなその他のデータストア上に常駐するアプリケーションへの無線デバイス１２，１８，２０，２２のアクセスを制御することができる。無線デバイス１２，１８，２０，２２から無線デバイス属性を示すデータを取得し、その後、これら無線デバイス属性に基づいて、アプリケーションダウンロードサーバ１６を介してアクセス可能なアプリケーションへの無線デバイスのアクセスを決定するアプリケーションダウンロードサーバ１６を通じて、システム１０は、アプリケーションダウンロード処理を容易にする。ハンドシェイクは、初期コンタクトにおいて、又は無線デバイス１２，１８，２０，２２が進行中の通信の間にアプリケーションへのアクセスを試みるとデバイス属性を運ぶことができる。
【００１３】
従って、このシステム１０は、例えば３Ｇ移動電話のように、この電話と共に製造されたアプリケーションとは異なる無線デバイス上のアプリケーションをエンドユーザが動作させることができるようになるという要求に対処する。このシステム１０は、透過的に、すなわちエンドユーザが知ったり、気づいたりすることなく動作するように、無線デバイス１２，１８，２０，２２に対して利用可能なアプリケーションをフィルタする。例えば、無線デバイス１２，１８，２０，２２は、ユーザフレンドリではないアドレスブック、及び／又は人が個別のパーソナルコンピュータ上で用いるアドレスブックと同期していないアドレスブックを用いて製造することが可能である。その結果、エンドユーザは、よりユーザフレンドリであり、所望する同期機能を持つ別のアドレスブックをダウンロードすることを望むであろう。プログラムの別の例はゲーム、マッピングアプリケーション（位置決めアプリケーション）、及び”Ｂｌｕｅｔｏｏｔｈ（登録商標）”遠隔制御である。エンドユーザは、アプリケーションをダウンロードするための通信時間に対して課金されうるので、エンドユーザは、アプリケーションダウンロードに先立って、そのアプリケーションがエンドユーザの無線デバイス１２，１８，２０，２２上で実際に動作するかを判定する方法を必要とする。アプリケーションダウンロードに先立つそのような決定方法が無いと、エンドユーザは、利用できないアプリケーションをダウンロードするための通信時間に対して支払うかもしれない。更に、もしもエンドユーザがなぜアプリケーションが動作しないのかを確認できなければ、このエンドエンドユーザはいらいらして、カスタマサービスコールをするであろう。従って、エンドユーザが、データインタフェースを介してアプリケーションをダウンロードすることを試みるとき、実際のダウンロードが可能になる前に、ハンドシェイクが使われ、無線デバイスの能力が判定される。ハンドシェイクによって、もしも無線デバイス１２，１８，２０，２２がサポートしているという結果が得られれば、このアプリケーションの必要なもの全ては、ダウンロードされるアプリケーションであろう。さらに、ダウンロードの拒否の代わりに、例えば「可能ではない」、「可能である」、「推奨されない」、及び「その他の推奨」のような多元レベルの結果のような別の結果が起こりうる。
【００１４】
例えばアプリケーションダウンロードサーバ１６のように、無線デバイス１２，１８，２０，２２にアプリケーションを提供する一つ又は複数のアプリケーションダウンロードサーバ１６は、ここでは、無線ネットワーク１４と通信している他のコンピュータ要素を備えたローカルサーバ側ネットワーク２６上に示されている。格納されたアプリケーションデータベース２８は、無線デバイス１２，１８，２０，２２上で実行可能なように直接又はアプリケーションダウンロードサーバ１６を介してアクセスされ、ダウンロードされるソフトウェアアプリケーション及びデータを含むことができる。また、スタンドアローンサーバ３２、及び他の機能と共にアプリケーションを無線デバイス１２，１８，２０，２２に提供することができる第２のアプリケーションダウンロードサーバ３０も示されている。これら要素の全ては、これから詳述するように、アプリケーションアクセスを提供するために直列に動作することができる。しかしながら、サーバ側の全ての機能もまた、例えばアプリケーションダウンロードサーバ１６のような一つのサーバ上で実行可能であることが留意されるべきである。更に、どのようなコンピュータ又はサーバ側コンピュータプラットフォームも、無線ネットワーク１４を介して無線デバイス１２，１８，２０，２２への個別のサービス及び処理を提供することができる。
【００１５】
図２は携帯電気通信ネットワーク上のシステム１０の要素の相関関係と無線ネットワーク１４の要素とをより完全に示すブロック図である。この無線ネットワーク１４は単に典型的なものであり、限定される訳ではないが、無線ネットワークキャリア及び／又はサーバを含むあらゆるシステムを含むことができる。このシステムによって、例えば無線デバイス１２，１８，２０，２２のような遠隔モジュールは、互いに及び／又は無線ネットワーク１４の要素間で無線により通信する。アプリケーションダウンロードサーバ４０（後に詳述する）のシリーズは、ロードバランスサーバ４２のシリーズと通信しており、サーバシリーズ４２に対するデータフローの管理を支援する。ロードバランスサーバ４２は、仮想プライベートネットワーク（ＶＰＮ）ルータとなりうるキャリアネットワーク４６に最終的に接続しているルータ４４のシリーズと通信する。他のサーバ側要素は、携帯電気通信サーバを提供するために必要なあらゆる要素を備えた携帯データネットワーク上に存在するであろう。従って、サーバ側サポートは、これら要素を増やすことによって、スケール化が容易である。
【００１６】
ルータ４４は、例えばインターネット、安全なＬＡＮ、ＷＡＮ、又はその他のネットワークのようなデータリンクを介してキャリアネットワーク４６と通信する。キャリアネットワーク４６は、メッセージングサービスコントローラ（ＭＳＣ）４８に送られたメッセージ（一般にデータパケットの形態である）を制御する。キャリアネットワーク４６は、ネットワーク、インターネット、及び／又はＰＯＴＳ（平易な通常の電話システム：plain ordinary telephone system）によってＭＳＣ４８と通信する。一般に、キャリアネットワーク４６とＭＳＣ４８との間のネットワーク又はインターネット接続がデータを転送し、ＰＯＴＳが音声情報を転送する。ＭＳＣ４８は、多数の基地局（ＢＴＳ）５０に接続されている。キャリアネットワークと同様な方法で、ＭＳＣ４８は、一般に、データ転送のためのネットワーク及び／又はインターネットと、音声情報のためのＰＯＴＳとの両方によってＢＴＳ５０に接続されている。ＢＴＳ５０は最終的にはショートメッセージングサービス（ＳＭＳ）又は、当該技術分野で知られたその他の無線方法によって、例えば携帯電話１２のような無線デバイスに無線によって最終的にメッセージをブロードキャストする。
【００１７】
図３に示すように、アプリケーションレイヤ６８内の一つ又は複数のソフトウェアアプリケーションを取得し、実行する無線デバイスコンピュータプラットフォーム６０のブロック図が示されている。アプリケーションレイヤ６８内では、アプリケーションダウンロードサーバ１６からアプリケーションが送信される。コンピュータプラットフォーム６０は、他の要素の中でも、アプリケーション特有の集積回路（ＡＳＩＣ）６２、又はその他のプロセッサ、マイクロプロセッサ、ロジック回路、プログラマブルゲートアレイ、又はその他のデータ処理デバイスを含む。ＡＳＩＣ６２は、無線デバイスの製造時において搭載され、通常はアップグレードされない。ＡＳＩＣ６２又はその他のプロセッサは、無線デバイス１２，１８，２０，２２のメモリ内のあらゆる常駐プログラムの実行をサポートするデバイスオペレーティングレイヤ６６とインタフェースするアプリケーションプログラミングインタフェース（ＡＰＩ）レイヤ６４を実行する。メモリは、リードオンリメモリ（ＲＯＭ）又はランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュカード、又はコンピュータプラットフォームに共通なあらゆるメモリからなる。コンピュータプラットフォーム６０はまた、例えば、アプリケーションダウンロードサーバ１６からダウンロードされたソフトウェアアプリケーションのように、メモリ内で実際に使用されていないソフトウェアアプリケーションを保持することができるローカルデータベースとも通信する。このローカルデータベースは一般に、一つ又は複数のフラッシュメモリセルからなるが、例えば磁気媒体、ＥＰＲＯＭ、ＥＥＰＲＯＭ、光学媒体、テープ、又はソフトディスクやハードディスクのような当該技術分野で知られたあらゆる２次又は３次記憶装置でありうる。ＯＳレイヤ６６は、キャリアネットワーク４６を通じてなされるＨＴＴＰ／ＳＳＬ及びＴＣＰ／ＩＰ交換を介してアプリケーションダウンロードサーバ１６とインタフェースすることとして具体化される。
【００１８】
図４は、データインタフェースの一つの実施例を示す。ここでは、アプリケーションダウンロードサーバ１６は、一つのロードバランスインタフェースサーバ６８とインタフェースする「薄い」サーバである。ロードバランスサーバは、最終的には、例えば携帯電話１２のような無線デバイスとの通信接続をサポートする。アプリケーションダウンロードサーバ１６が、ＣＤＭＡを介して動作しているＩＰ接続において示されている一方、このシステム１０は、例えばＢｌｕｅｔｏｏｔｈプロトコルに基づいたもののように、異なる無線インタフェースによって動作する別の接続をサポートすることができることに言及されるべきである。アプリケーションダウンロードサーバ１６は、キャッシュされたプログラムスレッドと同様、アクティブなサーブレットスレッドをも含むＪＡＶＡ（登録商標）サーブレットエンジンを含み、このＪＡＶＡ（登録商標）エンジンは、バッファ７４を介してウェブサーバ７６とインタフェースする。従って、もしも望まれるのであれば、別個のコンピュータデバイスが、アプリケーションダウンロードサーバ１６を備えることができると理解される。ウェブサーバ７６もまた、別個のコンピュータデバイスとなることができ、バッファ７８とロードバランスシステム７０を介してロードバランサ６８とインタフェースする。ロードバランサは、最も効率的な方法でデータロードをアプリケーションダウンロードサーバシリーズ（図２における４０）に配信できるように、最終的に無線デバイス１２，１８，２０，２２とインタフェースする。
【００１９】
動作中、初期ハンドシェイク、又は無線デバイス１２，１８，２０，２２とアプリケーションダウンロードサーバ１６との間のダウンロード試行時におけるハンドシェイクかの何れかを介して、ダウンロードされるアプリケーションが選択されるとき、アプリケーションの必要性に関する情報が、無線デバイスの利用可能な能力と比較される。一つの実施例では、アプリケーションダウンロードサーバ１６は、例えば、アプリケーションによって要求されるクラス又は特徴のようなアプリケーションの要求を述べる情報ファイルを含む。例えば、マッピングアプリケーションは、デバイスに対して現在の緯度と経度とを問い合わせるための位置及び場所のクラスに対するアクセスと、デバイスのディスプレイ上にビットマップを描画するための表示パラメータと、プルダウンメニューを作成するためのメニュー機能と、エンドユーザ入力機能と、例えばＴＣＰ／ＩＰ接続のようなネットワーク機能とを必要とする。属性の別の例は、サードパーティライブラリへのアクセスである。マッピングアプリケーションの例では、マッピングプログラムを適切に使用するために、サードパーティのマップライブラリへのアクセスが必要となる。また、情報ファイルは特定のファイルシステムと、ＲＡＭ記憶装置要求をも含む。例えば、特定の情報ファイルは、アプリケーションはサイズが１００Ｋであると述べ、よって、無線デバイスは、ダウンロードを格納するための１００Ｋのファイルシステム空間と、動作時においてアプリケーションをロードするための１００ＫのＲＡＭとを持たねばならない。情報ファイルはまた、例えば、ディスプレイ上で必要となる色の数、スクリーン寸法、プロセッサ速度、又は首尾よくなされるアプリケーションダウンロード及び実行に影響を与えるその他の基準のような他のハードウェア要求を含むことができる。
【００２０】
一つの実施例では、ハンドシェイクは、アプリケーションダウンロードサーバ１６から無線デバイス１２，１８，２０，２２に送信される情報ファイルの内容を持つ。そのような実施例では、無線デバイスは、この情報ファイル内で概説された全ての要求をサポートするか否かを判定する。もしも無線デバイス１２，１８，２０，２２が、アプリケーションの特徴のサポートを許可するのであれば、このアプリケーションのダウンロードは、ハンドシェイク後に始まる。あるいは、もしも要求される特徴の全てがサポートされている訳ではないのであれば、無線デバイスが特定の要求を満足していないのでアプリケーションをダウンロードすることができないということをエンドユーザに対して示すメッセージが表示される。そのようなメッセージは、無線デバイス１２，１８，２０，２２によって自律的に生成することが可能である。あるいはこのメッセージは、例えば第２のサーバ３２又は無線ネットワーク１４上の別のサーバのようなサーバから取得することができる。もしも、そのようなエラーメッセージがサーバ１６，３０，３２から送られるように具体化されるのであれば、ネットワークキャリアは、カスタマケアの目的のためにこのメッセージをカスタマイズすることができる。
【００２１】
アプリケーションをダウンロードすることができない理由を改善するために、無線デバイス１２，１８，２０，２２上で追加ステップを行うことができることもまた言及されるべきである。例えば、もしもダウンロード失敗の唯一の理由が、あるソフトウェアクラス又はライブラリが、アプリケーションをサポートするために必要な無線デバイスプラットフォーム６０上に常駐しないことであれば、無線デバイス１２，１８，２０，２２は、ダウンロードが失敗したというメッセージを直ちに発するのではなく、これらクラス又はライブラリのダウンロードを試みることができる。もしもこれらクラス／ライブラリのダウンロードが成功すれば、その後、このアプリケーションはダウンロードされる。
【００２２】
別の実施例では、情報ファイルがアプリケーションダウンロードサーバ１６から無線デバイス１２，１８，２０，２２に送信されるのではなく、無線デバイスが、アプリケーションダウンロードサーバ１６に無線デバイスの属性を送信する。一例として、無線デバイスは、アプリケーションダウンロードサーバに対して、利用可能な４００ＫのＲＡＭ、利用可能な１ＭＢのフラッシュ、及び８ビットカラーディスプレイを備えた６０×７５スクリーンを持っているということと、ネットワーククラスとしてＢｌｕｅｔｏｏｔｈクラスを持っているということとを送る。そのような場合、アプリケーションが必要とする全てを無線デバイス１２，１８，２０，２２がサポートしているものとアプリケーションダウンロードサーバ１６が判定した場合にのみアプリケーションがダウンロードされる。あるいは、アプリケーションダウンロードサーバ１６は、ダウンロードが試みられた無線デバイスへとエラーを返すことができる。
【００２３】
図５は、例えば携帯電話１２のような無線デバイスとインタフェースしているアプリケーションダウンロードサーバ１６上で実行している処理の一つの実施例を示すフローチャートである。ステップ８０に示すように、アプリケーションダウンロードサーバ１６は、無線デバイス１２，１８，２０，２２から接続試行を受信し、ステップ８２に示すように、無線デバイス属性を取得するために無線デバイスに対して要求を送る。この実施例では、次に判定部８４に示すように、アプリケーションダウンロードサーバ１６が、属性を取得するための許可を無線デバイス１２，１８，２０，２２のエンドユーザから受けたかを判定する。そして、もしも受けていなければ、ステップ８６に示すように、エンドユーザに対してエラーが返され、要求したアクセスが拒否され、しかる後に、ステップ８０における接続試行を待つ処理に戻る。判定部８４において、もしも無線デバイス１２，１８，２０，２２のエンドユーザが無線デバイス属性にアクセスする許可を認めれば、ステップ９０に示すように、無線デバイス属性が無線デバイスから取得される。これは、上述したように、アプリケーションダウンロードサーバ１６と無線デバイス１２，１８，２０，２２との間のファイル交換を通じてなされる。判定部８４は、アプリケーションダウンロードサーバ１６による望まれない無線デバイスアクセスに対する単なる予防手段であり、必ずしもシステム１０に実装する必要はないことが言及されるべきである。
【００２４】
無線デバイス属性が一旦取得されると、判定部９０に示すように、無線デバイスが、要求されたアプリケーションにアクセスできるかの判定がなされる。例えば、不適切なハードウェア又はソフトウェア能力のような理由によって、無線デバイスがこのアプリケーションにアクセスできないのであれば、ステップ８６に示すように、エンドユーザにエラーが返され、この処理は、ステップ８０における無線デバイスからの接続試行を待つ状態に戻る。もしも無線デバイス１２，１８，２０，２２がこのアプリケーションをダウンロードできるのであれば、ステップ９２に示すように、この要求されたアプリケーションが無線デバイスに提供され、判定部１００に示すように、エンドユーザが新たなアプリケーションへのアクセスを要求したかが判定される。もしもエンドユーザが新たなアプリケーションを要求していなければ、無線デバイスとの相互作用の特定のスレッドに関連する判定部１００において、待機状態に入る。あるいは、もしもエンドユーザが別のアプリケーションを要求したのであれば、この処理はステップ８０に戻り、この要求を新たな接続試行のように取り扱う。
【００２５】
図６は、図５に示すアプリケーションダウンロードサーバ１６と相互作用する無線デバイス１２，１８，２０，２２において起こる並列処理を示す。無線デバイスは、ステップ１０２に示すように、アプリケーションへのアクセスを試みる。そして、要求されたアプリケーションに対してアクセスを提供していることを示す無線ネットワーク１４上の何れのサーバとも接続する。そして、判定部１０４に示すように、アプリケーションダウンロードサーバ１６が無線デバイス属性にアクセスする要求を送ったかを無線デバイスが判定する。もしも送られた要求がなかったならば、判定部１１４において、無線デバイスは、比較が必要ないものと考え、アプリケーションへのアクセスを待つ。判定部１０４において、もしも無線デバイス属性にアクセスする許可が要求されたのであれば、ステップ１０６に示すように、エンドユーザは許可を求められ、判定部１０８において、属性アクセスに対する許可をエンドユーザが与えたかが判定される。
【００２６】
判定部１０８において、もしもエンドユーザが属性アクセスに対する許可を与えていなければ、ステップ１１０に示すように、エラーがエンドユーザへ返され、要求したアプリケーションへのアクセスができないことが示される。そして、この処理実行スレッドは終了する。さもなければ、もしも属性にアクセスする許可をエンドユーザが与えたならば、ステップ１１２に示すように、アプリケーションダウンロードサーバ１６に属性が送られる。ステップ１１２は、この処理の一つの実施例であり、無線デバイス１２，１８，２０，２２は、その属性を、ファイル又は他のデータを経由して、アプリケーションダウンロードサーバ１６に送る必要はないが、この属性へのアクセスを、サーバのエージェントに単に提供するか、または、当該技術分野で知られた任意の他のデータ収集方法を通じてこの属性を検索可能とすることができる。ステップ１１２において属性が送られた後、判定部１１４に示すように、要求したアプリケーションに無線デバイスがアクセスしたかが判定される。そして、もしもアクセスしていなければ、ステップ１１０において、エラーがエンドユーザに返され、このアプリケーションアクセススレッドが終了する。さもなければ、判定部１１４においてアクセスが許可されれば、この処理スレッドは、無線デバイス１２，１８，２０，２２上で単純に終了する。このネットワークを介した別のアプリケーションへアクセスすることをエンドユーザが要求すると、この処理は、ステップ１０２において再び始まる。
【００２７】
従って、システム１０は、無線ネットワーク１４上のアプリケーションダウンロードサーバ１６と無線デバイス１２，１８，２０，２２との間の通信の方法を提供する。この方法は、無線ネットワーク１４を介して無線デバイス１２，１８，２０，２２からアプリケーションダウンロードサーバ１６へ通信するステップを含む。そして無線デバイスは、その属性と、その上でコンピュータプログラムを選択的に実行するためのコンピュータプラットフォーム６０とを持っている。さらに無線デバイスは、コンピュータプラットフォーム６０に選択的にアクセスすることができるエンドユーザと、常駐する少なくとも一つのダウンロード可能なアプリケーショを持つアプリケーションダウンロードサーバ１６とを有する。この方法は更に、無線デバイス１２，１８，２０，２２から、無線デバイス属性を示すデータを取得することと、その後、無線デバイス属性に基づき、アプリケーションダウンロードサーバ１６を通じて、アクセス可能なアプリケーションへの無線デバイス１２，１８，２０，２２のアクセスを決定することとの各ステップを含んでいる。無線デバイス１２，１８，２０，２２からデータを取得するステップは、コンピュータプラットフォーム６０に関するデータ、及び／又は無線デバイスコンピュータプラットフォーム６０上に常駐するソフトウェアを含む無線デバイスの属性を取得することが可能である。
【００２８】
無線デバイス１２，１８，２０，２２からこのデータを取得するステップは、無線デバイス１２，１８，２０，２２によってダウンロードされた所望されたアプリケーションが常駐しているアプリケーションダウンロードサーバ１６において無線デバイス属性を受信することが可能である。無線デバイス１２，１８，２０，２２からデータを取得するステップは、アプリケーションダウンロードサーバ１６の無線デバイスによる初期コンタクト時に起こることができる。あるいは、無線デバイスによるアプリケーションダウンロード試行時に起こることができる。この方法は更に、アプリケーションダウンロード試行時において、無線デバイス１２，１８，２０，２２のエンドユーザに対して、無線デバイス属性に対するアクセスを要求するように促すことと、エンドユーザ許可が認められると、無線デバイス属性をアプリケーションダウンロードサーバ１６に送信することとの各ステップを含むこともできる。
【００２９】
もしもシステム１０がそのように具体化されるのであれば、この方法は更に、ダウンロードを要求されたアプリケーションに対する要求を無線デバイス１２，１８，２０，２２に送信することと、受信した要求に基づいて、このダウンロードが可能であるかを示すこととの各ステップを含むことができる。あるいは、この方法は、ダウンロードを要求されたアプリケーションに対する要求を無線デバイス１２，１８，２０，２２に送信するステップを含むことができる。このステップは、アプリケーションが常駐しているアプリケーションダウンロードサーバ１６からこの要求を送信することとすることができる。更に、この方法は、このダウンロードが可能であるかを示すことは、無線デバイス１２，１８，２０，２２からアプリケーションダウンロードサーバ１６へとデータを送信し、このダウンロードが可能であるかを示すステップを含むことができる。
【００３０】
無線デバイス１２，１８，２０，２２によるダウンロードが失敗すると、この方法は、エンドユーザに対して、ダウンロード失敗を通知するステップを含むことができる。
【００３１】
無線デバイス１２，１８，２０，２２のコンピュータプラットフォーム上で実行可能である本方法を考慮して、本発明は、コンピュータ読取可能媒体上に常駐するプログラムを含んでいる。
【００３２】
ここではこのプログラムが、コンピュータプラットフォームを持つサーバ又はその他のコンピュータデバイスに対して、本方法のステップを実行するように命令する。コンピュータ読取可能媒体は、アプリケーションダウンロードサーバ１６のメモリでありうる。又は、例えばデータベース２８のような接続可能なデータベース内にありうる。更に、このコンピュータ読取可能媒体は、例えば磁気ディスク又はテープ、光ディスク、ハードディスク、フラッシュメモリ、又は当該技術分野で知られたその他の記憶媒体のように、無線デバイスコンピュータプラットフォーム上にロード可能な２次記憶媒体でありうる。
【００３３】
図５及び図６のコンテクストでは、この方法は、例えば、例えば無線デバイスコンピュータプラットフォーム６０、アプリケーションダウンロードサーバ１６、及びスタンドアローンサーバ３２のような無線ネットワーク１４の部分を操作して、機械読取可能な命令のシーケンスを実行することによって実施される。この命令は、信号ベアリング、又はデータ記憶一次、二次、又は三次のといった様々な種類の媒体内に常駐することができる。例えば、この媒体は、無線ネットワーク１４の構成要素によってアクセス可能な、又はその中に常駐しているＲＡＭ（図示せず）を備えているかもしれない。ＲＡＭ、ディスケット、又はその他の２次記憶媒体に含まれようとも、この命令は、例えば、ＤＡＳＤストレージ（例えば、従来の「ハードドライブ」又はＲＡＩＤアレイ）、磁気テープ、電子読み出し専用メモリ（例えばＲＯＭ、ＥＰＲＯＭ、又はＥＥＰＲＯＭ）、フラッシュメモリカード、光記憶装置（例えばＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、デジタル光テープ）、紙「パンチ」カード、又はデジタル及びアナログ送信媒体を含むその他の適切なデータ記憶媒体のような種々の機械読取可能なデータ記憶媒体上に格納されうる。
【００３４】
前述した開示は、本発明の実例となる実施例である一方、様々な変形及び変更が、添付する特許請求の範囲によって定義される本発明の範囲から逸脱せずになされることが言及されるべきである。更に、本発明の構成要素は、単数で記述又はクレイムされているが、もしも単数への限定が明示的に述べられていないのであれば、複数が考慮される。
【図１】
0005490738.tif 000002
【図２】
0005490738.tif 000003
【図３】
0005490738.tif 000004
【図４】
0005490738.tif 000005
【図５】
0005490738.tif 000006
【図６】
0005490738.tif 000007