(57)【要約】  ユーティリティ・エンジンとアプリケーションとの間でネットワーク接続を共有する電気通信デバイスのための方法及びシステム。ユーティリティ・エンジンとアプリケーションの発信されるデータが共有ネットワーク接続を介して統合される間に、着信データは、ＩＰデータ・フィルタを介してフィルタで処理されて、ユーティリティ・エンジン特有のデータを該ユーティリティ・エンジンへ配信し、一方で全ての他のデータが該アプリケーションによる使用のために通過することを可能にする。複数のユーティリティは、様々な形式のユーティリティ・エンジンによりサポートされることができる。そのようなユーティリティの中にあるものは、ＧＰＳサービスであり、そこでは、ＧＰＳ関連データは、ＧＰＳサーバから受信されることができ、そして該ＧＰＳサーバによって決定される位置に基づいて位置に特有の情報を提供するアプリケーションにより利用されることができる。
2009545035.tif 000002
【特許請求の範囲】
【請求項１】
第１のユーティリティ・エンジンと第１のアプリケーション・プログラムとの間でネットワーク接続を共有する方法、前記方法は、
前記第１のユーティリティ・エンジンと通信している複数のネットワーク接続のうちの１つを選択すること、
前記第１のユーティリティ・エンジンへ第１のユーティリティ関連データを送信しそして前記第１のユーティリティ・エンジンから第１のユーティリティ関連データを受信することが可能である第１のユーティリティ・サーバと通信している複数のネットワーク接続のうちの前記選択された１つに前記第１のユーティリティ・エンジンを縛ること、及び
前記ユーティリティ・エンジンへ縛られた前記ネットワーク接続を経由してデータを送信しそして受信するために前記第１のアプリケーション・プログラムを動作可能にすること、
を具備する方法。
【請求項２】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理すること、
前記フィルタで処理された第１のユーティリティ関連の受信したデータ・パケットを前記第１のユーティリティ・エンジンへ配信すること、
前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第１のアプリケーション・プログラムへ配信すること、及び
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記第１のユーティリティ・エンジンから発信されるデータ・パケットを統合すること、
をさらに具備する、請求項１の方法。
【請求項３】
前記第１のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーションと共有すること、をさらに具備する、請求項２の方法。
【請求項４】
第２のユーティリティ・サーバとも通信しており、そして第２のユーティリティ・エンジンへユーティリティ関連データを送信し前記第２のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である前記縛られたネットワーク接続に、第２のユーティリティ・エンジンを縛ること、
をさらに具備する、請求項１の方法。
【請求項５】
前記縛られたネットワーク接続において受信した第２のユーティリティ関連データ・パケットをフィルタで処理すること、及び
前記フィルタで処理された第２のユーティリティ関連の受信したデータ・パケットを前記第２のユーティリティ・エンジンへ配信すること、をさらに具備し、ここにおいて、発信されるデータ・パケットを統合することは、前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記第１のユーティリティ・エンジンと前記第２のユーティリティ・エンジンから発信されるデータ・パケットを統合する
請求項４の方法。
【請求項６】
前記第１のアプリケーション及び第２のアプリケーションと前記第１のユーティリティ・エンジンにより生成される情報を共有すること、をさらに具備する、請求項１の方法。
【請求項７】
パケット・データ・マネージャを介して前記第１のアプリケーション及び第２のアプリケーションと前記第２のユーティリティ・エンジンにより生成される情報を共有すること、をさらに具備する、請求項４の方法。
【請求項８】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
ソース・アドレスに基づいて第１のユーティリティ関連データ・パケットを認識すること、
を具備する、請求項２の方法。
【請求項９】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
パケット・フォーマットに基づいて第１のユーティリティ関連データ・パケットを認識すること、
を具備する、請求項２の方法。
【請求項１０】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
前記データ・パケット中のコンテントに基づいて第１のユーティリティ関連データ・パケットを認識すること、
を具備する、請求項２の方法。
【請求項１１】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
ＴＣＰポート番号又はＵＤＰポート番号に基づいて第１のユーティリティ関連データ・パケットを認識すること、
を具備する、請求項２の方法。
【請求項１２】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
ＩＰアドレスに基づいて第１のユーティリティ関連データ・パケットを認識すること、
を具備する、請求項２の方法。
【請求項１３】
前記第１のユーティリティ・エンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することを中止すること、をさらに具備する、請求項２の方法。
【請求項１４】
パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
複数のネットワーク接続から前記パケット交換ネットワークへのネットワーク接続を選択し、
ユーティリティ・エンジンを動作させ、そして
データ・パケット・フィルタを動作させる
ように構成されたモデム・プロセッサ、及び
アプリケーション・プログラムを動作させるように構成されたアプリケーション・プロセッサ、を具備し、
ここにおいて、前記モデム・プロセッサは、
前記選択したネットワーク接続が前記ユーティリティ・エンジンと前記アプリケーション・プログラムとの間で共有され、そして
前記データ・パケット・フィルタが、前記選択したネットワーク接続において受信したユーティリティに特有のデータ・パケットを前記ユーティリティ・エンジンへ配信し、前記選択したネットワーク接続からの全ての他のデータ・パケットを前記アプリケーション・プログラムへ配信し、そして前記ユーティリティ・エンジン及び前記アプリケーション・プログラムから前記選択したネットワーク接続へ複数の発信されるデータ・パケットを統合する、
ようにさらに構成される、
移動マイクロプロセッサ電気通信デバイス。
【請求項１５】
前記モデム・プロセッサは、
パケット・データ・マネージャと、
接続マネージャと、
を動作させるようにさらに構成され、そして
ここにおいて、前記パケット・データ・マネージャ、前記接続マネージャ、及び前記データ・パケット・フィルタは、前記選択したネットワーク接続を共有することを容易にする、
請求項１４の移動マイクロプロセッサ電気通信デバイス。
【請求項１６】
前記モデム・プロセッサは、共有されたユーティリティ・インターフェースを動作させるようにさらに構成され、２又はそれより多くのアプリケーション・プログラムが前記ユーティリティ・エンジンから複数のユーティリティ・サービスを同時に要請することを可能にする、請求項１４の移動マイクロプロセッサ電気通信デバイス。
【請求項１７】
パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
第１のユーティリティ・エンジンと通信している複数のネットワーク接続のうちの１つを選択するための手段、
前記第１のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第１のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第１のユーティリティ・サーバと通信している複数のネットワーク接続のうちの前記選択した１つに前記第１のユーティリティ・エンジンを縛るための手段、及び
前記ユーティリティ・エンジンへ縛られた前記ネットワーク接続を経由してデータを送信しそして受信するために第１のアプリケーション・プログラムを動作可能にするための手段、
を具備する、移動マイクロプロセッサ電気通信デバイス。
【請求項１８】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理するための手段、
前記フィルタで処理された第１のユーティリティ関連の受信したデータ・パケットを前記第１のユーティリティ・エンジンへ配信するための手段、
前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第１のアプリケーション・プログラムへ配信するための手段、及び
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記第１のユーティリティ・エンジンから発信されるデータ・パケットを統合するための手段、
をさらに具備する、請求項１７の移動マイクロプロセッサ電気通信デバイス。
【請求項１９】
前記第１のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーションと共有するための手段、をさらに具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項２０】
第２のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第２のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第２のユーティリティ・サーバとも通信している前記縛られたネットワーク接続へ前記第２のユーティリティ・エンジンを縛るための手段、
をさらに具備する、請求項１７の移動マイクロプロセッサ電気通信デバイス。
【請求項２１】
前記縛られたネットワーク接続において受信した第２のユーティリティ関連データ・パケットをフィルタで処理するための手段、及び
前記フィルタで処理された第２のユーティリティ関連の受信したデータ・パケットを前記第２のユーティリティ・エンジンへ配信するための手段、をさらに具備し、
ここにおいて、前記発信されるデータ・パケットを統合するための手段は、前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記第１のユーティリティ・エンジンと前記第２のユーティリティ・エンジンから発信されるデータ・パケットを統合する、
請求項２０の移動マイクロプロセッサ電気通信デバイス。
【請求項２２】
前記第１のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーション及び第２のアプリケーションと共有するための手段、をさらに具備する、請求項１７の移動マイクロプロセッサ電気通信デバイス。
【請求項２３】
パケット・データ・マネージャを介して、前記第２のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーション及び第２のアプリケーションと共有するための手段、をさらに具備する、請求項２０の移動マイクロプロセッサ電気通信デバイス。
【請求項２４】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
ソース・アドレスに基づいて第１のユーティリティ関連データ・パケットを認識するための手段、
を具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項２５】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
パケット・フォーマットに基づいて第１のユーティリティ関連データ・パケットを認識するための手段、
を具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項２６】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
前記データ・パケット中のコンテントに基づいて第１のユーティリティ関連データ・パケットを認識するための手段、
を具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項２７】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
ＴＣＰポート番号又はＵＤＰポート番号に基づいて第１のユーティリティ関連データ・パケットを認識するための手段、
を具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項２８】
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
ＩＰアドレスに基づいて第１のユーティリティ関連データ・パケットを認識するための手段、
を具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項２９】
前記第１のユーティリティ・エンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することを中止するための手段、をさらに具備する、請求項１８の移動マイクロプロセッサ電気通信デバイス。
【請求項３０】
実行可能なソフトウェア命令を記憶しているマルチ−プロセッサ通信デバイス中のコンピュータ読取り可能な媒体、前記ソフトウェア命令は、
第１のユーティリティ・エンジンと通信している複数のネットワーク接続のうちの１つを選択し、
前記第１のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第１のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第１のユーティリティ・サーバと通信している複数のネットワーク接続のうちの前記選択した１つに前記第１のユーティリティ・エンジンを縛り、そして
前記縛られたネットワーク接続を経由してデータを送信しそして受信するために第１のアプリケーション・プログラムを動作可能にする、
ように構成されたソフトウェア命令である、コンピュータ読取り可能な媒体。
【請求項３１】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理し、
前記フィルタで処理された第１のユーティリティ関連の受信したデータ・パケットを前記第１のユーティリティ・エンジンへ配信し、
前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第１のアプリケーション・プログラムへ配信し、そして
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記第１のユーティリティ・エンジンから発信されるデータ・パケットを統合する、
ようにさらに構成されたソフトウェア命令である、請求項３０のコンピュータ読取り可能な媒体。
【請求項３２】
前記記憶された実行可能なソフトウェア命令は、
前記第１のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーションと共有することを可能にする、
ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項３３】
前記記憶された実行可能なソフトウェア命令は、
前記第２のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第２のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第２のユーティリティ・サーバとも通信している前記縛られたネットワーク接続へ第２のユーティリティ・エンジンを縛る、
ようにさらに構成されたソフトウェア命令である、請求項３０のコンピュータ読取り可能な媒体。
【請求項３４】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信した第２のユーティリティ関連データ・パケットをフィルタで処理し、
前記フィルタで処理された第２のユーティリティ関連の受信したデータ・パケットを前記第２のユーティリティ・エンジンへ配信し、そして
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記第１のユーティリティ・エンジンと前記第２のユーティリティ・エンジンから発信されるデータ・パケットを統合する、
ようにさらに構成されたソフトウェア命令である、請求項３３のコンピュータ読取り可能な媒体。
【請求項３５】
前記記憶された実行可能なソフトウェア命令は、前記第１のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーション及び第２のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項３３のコンピュータ読取り可能な媒体。  
【請求項３６】
前記記憶された実行可能なソフトウェア命令は、パケット・データ・マネージャを介して、前記第２のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーション及び第２のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項３４のコンピュータ読取り可能な媒体。  
【請求項３７】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
ソース・アドレスに基づいて第１のユーティリティ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項３８】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
パケット・フォーマットに基づいて第１のユーティリティ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項３９】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
前記データ・パケット中のコンテントに基づいて第１のユーティリティ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項４０】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
ＴＣＰポート番号又はＵＤＰポート番号に基づいて第１のユーティリティ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項４１】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
ＩＰアドレスに基づいて第１のユーティリティ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項４２】
前記記憶された実行可能なソフトウェア命令は、前記第１のユーティリティ・エンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信した第１のユーティリティ関連データ・パケットをフィルタで処理することを中止する、ようにさらに構成されたソフトウェア命令である、請求項３１のコンピュータ読取り可能な媒体。
【請求項４３】
ＧＰＳエンジンと第１のアプリケーション・プログラムとの間でネットワーク接続を共有するための方法、前記方法は、
前記ＧＰＳエンジンと通信している複数のネットワーク接続のうちの１つを選択すること、
前記ＧＰＳエンジンへＧＰＳ関連データを送信しそして前記ＧＰＳエンジンからＧＰＳ関連データを受信することが可能であるＧＰＳサーバと通信している複数のネットワーク接続のうちの前記選択した１つに前記ＧＰＳエンジンを縛ること、及び
前記縛られたネットワーク接続を経由してデータを送信しそして受信するために前記第１のアプリケーション・プログラムを動作可能にすること、
を具備する方法。
【請求項４４】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理すること、
前記フィルタで処理されたＧＰＳ関連の受信したデータ・パケットを前記ＧＰＳエンジンへ配信すること、
前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第１のアプリケーション・プログラムへ配信すること、及び
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記ＧＰＳエンジンから発信されるデータ・パケットを統合すること、
をさらに具備する、請求項４３の方法。
【請求項４５】
前記ＧＰＳエンジンにより生成される情報を前記第１のアプリケーションと共有すること、をさらに具備する、請求項４４の方法。
【請求項４６】
前記ＧＰＳエンジンにより生成されるＧＰＳ情報を前記ＧＰＳサーバへ送ること、及び
前記ＧＰＳサーバからＧＰＳ座標情報を受信すること、
をさらに具備する、請求項４４の方法。
【請求項４７】
前記ＧＰＳエンジンにより生成されるＧＰＳ情報を前記第１のアプリケーション及び第２のアプリケーションと共有すること、をさらに具備する、請求項４３の方法。
【請求項４８】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
ソース・アドレスに基づいてＧＰＳ関連データ・パケットを認識すること、
を具備する、請求項４４の方法。
【請求項４９】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
パケット・フォーマットに基づいてＧＰＳ関連データ・パケットを認識すること、
を具備する、請求項４４の方法。
【請求項５０】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
前記データ・パケット中のコンテントに基づいてＧＰＳ関連データ・パケットを認識すること、
を具備する、請求項４４の方法。
【請求項５１】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
ＴＣＰポート番号又はＵＤＰポート番号に基づいてＧＰＳ関連データ・パケットを認識すること、
を具備する、請求項４４の方法。
【請求項５２】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することは、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
ＩＰアドレスに基づいてＧＰＳ関連データ・パケットを認識すること、
を具備する、請求項４４の方法。
【請求項５３】
前記ＧＰＳエンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することを中止すること、をさらに具備する、請求項４４の方法。
【請求項５４】
パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
複数のネットワーク接続から前記パケット交換ネットワークへのネットワーク接続を選択し、
ＧＰＳエンジンを動作させ、
データ・パケット・フィルタを動作させ、そして
前記パケット交換ネットワークとの前記選択したネットワーク接続を動作させる
ように構成されたモデム・プロセッサ、及び
アプリケーション・プログラムを動作させるように構成されたアプリケーション・プロセッサ、を具備し、
ここにおいて、前記モデム・プロセッサは、
前記選択したネットワーク接続が、前記ＧＰＳエンジンと前記アプリケーション・プログラムとの間で共有され、そして
前記データ・パケット・フィルタが、前記選択したネットワーク接続において受信したＧＰＳに特有のデータ・パケットを前記ＧＰＳエンジンへ配信し、前記選択したネットワーク接続からの全ての他のデータ・パケットを前記アプリケーション・プログラムへ配信し、そして前記ＧＰＳエンジンと前記アプリケーション・プログラムから前記選択したネットワーク接続へ発信されるデータ・パケットを統合する
ようにさらに構成される、モデム・プロセッサである、
移動マイクロプロセッサ電気通信デバイス。
【請求項５５】
前記モデム・プロセッサは、
パケット・データ・マネージャと、
接続マネージャ
を動作させるようにさらに構成され、そして
ここにおいて、前記パケット・データ・マネージャ、前記接続マネージャ、及び前記データ・パケット・フィルタは、前記選択したネットワーク接続を共有することを容易にする、
請求項５４の移動マイクロプロセッサ電気通信デバイス。
【請求項５６】
前記モデム・プロセッサは、共有されたＧＰＳ・インターフェースを動作させて、２又はそれより多くのアプリケーション・プログラムが前記ＧＰＳエンジンからＧＰＳサービスを同時に要請することを可能にするようにさらに構成される、請求項５４の移動マイクロプロセッサ電気通信デバイス。
【請求項５７】
パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
ＧＰＳエンジンと通信している複数のネットワーク接続のうちの１つを選択するための手段、
前記ＧＰＳエンジンへＧＰＳ関連データを送信しそして前記ＧＰＳエンジンからＧＰＳ関連データを受信することが可能であるＧＰＳサーバと通信している複数のネットワーク接続のうちの前記選択した１つに前記ＧＰＳエンジンを縛るための手段、及び
前記縛られたネットワーク接続を経由してデータを送信しそして受信するために第１のアプリケーション・プログラムを動作可能にするための手段、
を具備する、移動マイクロプロセッサ電気通信デバイス。
【請求項５８】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理するための手段、
前記フィルタで処理されたＧＰＳ関連の受信したデータ・パケットを前記ＧＰＳエンジンへ配信するための手段、
前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第１のアプリケーション・プログラムへ配信するための手段、及び
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記ＧＰＳエンジンから発信されるデータ・パケットを統合するための手段、
をさらに具備する、請求項５７の移動マイクロプロセッサ電気通信デバイス。
【請求項５９】
第１のＧＰＳエンジンにより生成される情報を前記第１のアプリケーションと共有するための手段、をさらに具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６０】
前記ＧＰＳエンジンにより生成される情報を前記第１のアプリケーション及び第２のアプリケーションと共有するための手段、をさらに具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６１】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
ソース・アドレスに基づいてＧＰＳ関連データ・パケットを認識するための手段、
を具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６２】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
パケット・フォーマットに基づいてＧＰＳ関連データ・パケットを認識するための手段、
を具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６３】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
前記データ・パケット中のコンテントに基づいてＧＰＳ関連データ・パケットを認識するための手段、
を具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６４】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
ＴＣＰポート番号又はＵＤＰポート番号に基づいてＧＰＳ関連データ・パケットを認識するための手段、
を具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６５】
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理するための前記手段は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
ＩＰアドレスに基づいてＧＰＳ関連データ・パケットを認識するための手段、
を具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６６】
前記ＧＰＳエンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することを中止するための手段、をさらに具備する、請求項５８の移動マイクロプロセッサ電気通信デバイス。
【請求項６７】
実行可能なソフトウェア命令を記憶しているマルチ−プロセッサ通信デバイス中のコンピュータ読取り可能な媒体、前記ソフトウェア命令は、
ＧＰＳエンジンと通信している複数のネットワーク接続のうちの１つを選択し、
前記ＧＰＳエンジンへＧＰＳ関連データを送信しそして前記ＧＰＳエンジンからＧＰＳ関連データを受信することが可能であるＧＰＳサーバと通信している複数のネットワーク接続のうちの前記選択した１つに前記ＧＰＳエンジンを縛り、そして
前記縛られたネットワーク接続を経由してデータを送信しそして受信するために第１のアプリケーション・プログラムを動作可能にする、
ように構成されたソフトウェア命令である、コンピュータ読取り可能な媒体。
【請求項６８】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理し、
前記フィルタで処理されたＧＰＳ関連の受信したデータ・パケットを前記ＧＰＳエンジンへ配信し、
前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第１のアプリケーション・プログラムへ配信し、そして
前記縛られたネットワーク接続における送信のために前記第１のアプリケーション・プログラムと前記ＧＰＳエンジンから発信されるデータ・パケットを統合する
ようにさらに構成されたソフトウェア命令である、請求項６７のコンピュータ読取り可能な媒体。
【請求項６９】
前記記憶された実行可能なソフトウェア命令は、
第１のユーティリティ・エンジンにより生成される情報を前記第１のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項６７のコンピュータ読取り可能な媒体。
【請求項７０】
前記記憶された実行可能なソフトウェア命令は、前記ＧＰＳエンジンにより生成される情報を前記第１のアプリケーション及び第２のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項６７のコンピュータ読取り可能な媒体。
【請求項７１】
前記記憶された実行可能なソフトウェア命令は、
前記ＧＰＳエンジンにより生成されるＧＰＳ情報を前記ＧＰＳサーバへ送り、そして
前記ＧＰＳサーバからＧＰＳ座標情報を受信する
ようにさらに構成されたソフトウェア命令である、請求項６７のコンピュータ読取り可能な媒体。
【請求項７２】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
ソース・アドレスに基づいてＧＰＳ関連データ・パケットを認識する
ようにさらに構成されたソフトウェア命令である、請求項６８のコンピュータ読取り可能な媒体。  
【請求項７３】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
パケット・フォーマットに基づいてＧＰＳ関連データ・パケットを認識する
ようにさらに構成されたソフトウェア命令である、請求項６８のコンピュータ読取り可能な媒体。
【請求項７４】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
前記データ・パケット中のコンテントに基づいてＧＰＳ関連データ・パケットを認識する
ようにさらに構成されたソフトウェア命令である、請求項６８のコンピュータ読取り可能な媒体。
【請求項７５】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
ＴＣＰポート番号又はＵＤＰポート番号に基づいてＧＰＳ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項６８のコンピュータ読取り可能な媒体。
【請求項７６】
前記記憶された実行可能なソフトウェア命令は、
前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
ＩＰアドレスに基づいてＧＰＳ関連データ・パケットを認識する、
ようにさらに構成されたソフトウェア命令である、請求項６８のコンピュータ読取り可能な媒体。
【請求項７７】
前記記憶された実行可能なソフトウェア命令は、前記ＧＰＳエンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信したＧＰＳ関連データ・パケットをフィルタで処理することを中止するようにさらに構成される、請求項６８のコンピュータ読取り可能な媒体。
【請求項７８】
ネットワーク、
前記ネットワークを経由してアクセス可能なＧＰＳサーバ、及び
マルチプロセッサ通信デバイス、
を具備する電気通信システムであって、
前記マルチプロセス通信デバイスは、
ＧＰＳエンジンを含み、そしてデータ・パケット・フィルタとデータ通信ソフトウェア・プロトコル・スタックを含んでいるソフトウェアを実行するモデム・プロセッサ、及び
ＧＰＳアプリケーション・プログラムを含んでいるソフトウェアを実行するアプリケーション・プロセッサ、を具備し、
ここにおいて、前記モデム・プロセッサ及びアプリケーション・プロセッサは、
前記ＧＰＳエンジンと前記アプリケーション・プログラムが前記ネットワークへの接続を共有し、
前記アプリケーション・プログラムが前記ＧＰＳエンジンからＧＰＳ位置決定を要請し、
前記ＧＰＳエンジンが前記ネットワークを経由して前記ＧＰＳサーバへＧＰＳ関連データを送りそして前記ＧＰＳサーバからＧＰＳ関連データを受信し、そして
前記データ・パケット・フィルタが、前記ネットワークから受信したＧＰＳ関連データ・パケットを分離しそして前記ＧＰＳエンジンへ配信し、前記ネットワークから受信した非ＧＰＳ関連データ・パケットを前記アプリケーション・プログラムへ配信し、そして前記共有された接続へ前記アプリケーション・プログラムからそして前記ＧＰＳエンジンから発信されるデータ・パケットを統合する、
ように構成される、電気通信システム。
【請求項７９】
前記モデム・プロセッサは、前記ＧＰＳエンジンが前記ネットワークを経由して前記ＧＰＳサーバへＧＰＳ関連データを送信し、そして前記ＧＰＳエンジンが前記ＧＰＳサーバから前記通信デバイスの位置に関連する処理された位置情報を受信する、ようにさらに構成される、請求項７８のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの、共有ネットワーク接続を経由してＧＰＳ特有の情報及びアプリケーション特有の情報を送信するためそして／又は受信するための方法及びシステムに関係する。
【０００２】
［関連出願への相互参照］
本出願は、その全体が本明細書中に引用により取り込まれている、２００６年７月２０日に出願した米国特許仮出願番号第６０／８３２，３４７号、名称“マルチ−プロセッサ・マルチ−モード環境におけるＧＰＳサービス”に優先権を主張する。
【背景技術】
【０００３】
電気通信デバイス（無線モデムを装備するラップトップ、ＰＤＡデバイス、スマート・フォーン、等）の移動性の増大は、位置に関連する情報を提供することができる又は利用することができるソフトウェア・アプリケーションを産み出してきている。そのようなアプリケーションは、例えば、最新のディジタル地図、（レストラン、商業施設、及び小売店のような）近隣の施設の住所、ローカルな天気予報、個人住所録からの近隣の記載項目のリスト、又はローカルな地理的データ、を含むことができる。ソフトウェア・アプリケーションそれ自身は、アプリケーション・プロセッサ上で作動するが、様々な位置に基づくアプリケーションの入力としてデバイスの所在地を取り込むために外部ＧＰＳ（全地球測位システム：Global Positioning System）情報を利用することができる。
【０００４】
複雑な、ＧＰＳを利用可能にする移動デバイス、特に複数のプロセッサを有するものは、ＧＰＳに関連するデータ・トラフィックとアプリケーションに関連するデータ・トラフィックとの間で所与のネットワーク接続を共有する又は多重化する方法を必要とすることがある。これは、たった１つのポイント−ツー−ポイント（ＰＰＰ）接続が同時に所与のネットワークに対して利用可能であるという理由のためである。
【発明の概要】
【０００５】
移動電気通信デバイス（移動デバイス）のある実施形態は、少なくとも１つのアプリケーション・プロセッサと同様に少なくとも１つのモデム・プロセッサを含む、１又はそれより多くのプロセッサを含むことができ、該モデム・プロセッサはアプリケーション・プロセッサ上で作動している１又はそれより多くのアプリケーションにより要求されるユーティリティ又はサービスの実装をサポートすることができる。アプリケーション・プロセッサは、複数のソフトウェア・アプリケーション・プログラムを管理しそして実行することができ、同様にユーザ・インターフェースを制御することができる。モデム・プロセッサは、１又はそれより多くの固定基地局、提携ネットワーク、及びネットワーク・サーバへの最も低いレベルの無線リンク及びプロトコル・リンク並びに無線周波数物理リソースを管理することができる。モデム・プロセッサは、アプリケーション・プロセッサとモデム・プロセッサとの間の相互情報交換のためのアプリケーション・プログラミング・インターフェース（ＡＰＩ：application programming interface）を同様に提供することができる。そのようなユーティリティ又はサービスの一例は、アプリケーション・プロセッサ上で作動しているアプリケーションへのＧＰＳサービスを提供するモデムに接続された又はその中で作動しているＧＰＳエンジンである。モデム・プロセッサのような１つのプロセッサ上で利用可能なユーティリティ又はサービスは、それらの機能を果たすことのための一部として外部データ・ソースをアクセスする必要があり、同時に、アプリケーション・プロセッサ上で作動しているアプリケーションは、別の外部データ・ソースをアクセスしている。この状況は、複数のアプリケーションが同時に外部ネットワークをアクセスすることを可能にする配信経路の問題を引き起こす。この配信経路の問題を解決するために、ある実施形態は、ＩＰデータ・フィルタリング機構を含み、別の外部サーバをアクセスする２つのアプリケーションによる同時のデータ伝達を可能にする。さらに、ある実施形態は、複数のアプリケーションの間で（ＧＰＳ座標情報のような）共通のサービス情報を共有するためのアプリケーション・インターフェースを提供する。
【０００６】
別の１つ実施形態では、モデム・プロセッサ上で作動している１又はそれより多くのユーティリティ・エンジンは、ネットワーク接続へのアクセスを必要とする。そうするために、ユーティリティ・エンジンは、様々なネットワーク接続の中から選択する必要があり、そしてアプリケーション・プロセッサ上で作動しているアプリケーションとの１又はそれより多くのアクティブなデータ・ネットワーク接続を共有する必要があり得る。アプリケーション・プログラムとデータ・ネットワーク接続を共有するために、ユーティリティ・エンジンは、ＩＰデータ・フィルタを開始することができて、共有データ・ネットワーク接続を経由するパケット・データ・トラフィックをモニタする。フィルタは、ユーティリティ・エンジンに直接関係する全てのデータ・パケットを該ユーティリティ・エンジンに配信し、そして該ネットワーク接続を共有するアプリケーションへ全ての他のデータ・パケットを配信する。
【図面の簡単な説明】
【０００７】
【図１】複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及びＧＰＳエンジンを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。
【図２】本発明の実施形態に関するステップのシーケンスを説明するプロセス・フロー図である。
【図３Ａ】１又はそれより多くのＧＰＳアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。
【図３Ｂ】１又はそれより多くのＧＰＳアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。
【図４Ａ】１又はそれより多くのＧＰＳアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。
【図４Ｂ】１又はそれより多くのＧＰＳアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。
【図５】１又はそれより多くのＧＰＳアプリケーションを有する実施形態に関するステップのシーケンスを説明するプロセス・フロー図である。
【図６】アプリケーション・プロセッサとパケット・データ通話を共有するモデム・プロセッサにおいて１又はそれより多くのシステム・プログラムを有する代替の実施形態のシステム・ブロック図を図示する。
【図７】複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及びＧＰＳエンジンとユーティリティ・エンジンとを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。
【図８】複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及び２つのユーティリティ・エンジンを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。
【図９】１又はそれより多くのユーティリティ・エンジンを有する実施形態に関するステップのシーケンスを説明するプロセス・フロー図である。
【詳細な説明】
【０００８】
本明細書中に取り込まれそして本明細書の一部を構成する添付されている図面は、現在の好ましい実施形態を説明し、そして、上記に与えられた一般的な説明及び下記に与えられる詳細な説明とともに、該実施形態の特徴を説明することに役立つ。
【０００９】
本発明の様々な実施形態が、添付されている図面を参照して詳細に説明される。可能な限り、同じ参照番号が、同じ部分又は同様な部分を参照するために図面全体を通して使用される。
【００１０】
実施形態の移動デバイスは、少なくとも１つのアプリケーション・プロセッサ、同様に少なくとも１つのモデム・プロセッサを含んでいる、１又はそれより多くのプロセッサを含むことができる。少なくとも１つのモデム・プロセッサは、少なくとも１つのユーティリティ・エンジンの実行をサポートすることができる。ユーティリティ・エンジンは、複数のアプリケーションにより利用されるサービス又はデータを提供するプロセス又は回路／プロセスである。ＧＰＳエンジンは、ユーティリティ・エンジンの一例であり、その理由は、それが生成する地理的な位置情報が複数の位置に関連するアプリケーションにより使用されることができるためである。アプリケーション・プロセッサは、複数のソフトウェア・アプリケーション・プログラムを管理しそして実行することができ、同様にユーザ・インターフェースを制御することができる。少なくとも１つのモデム・プロセッサは、１又はそれより多くの固定基地局、提携するネットワーク、及びネットワーク・サーバへの最も低いレベルの無線リンク及びプロトコル・リンク並びに無線周波数物理リソースを管理することができる。モデム・プロセッサは、少なくとも１つのアプリケーション・プロセッサとモデム・プロセッサとの間の相互情報交換のためのアプリケーション・プログラミング・インターフェース（ＡＰＩ）を同様に提供することができる。
【００１１】
モデム・プロセッサが１又はそれより多くのＧＰＳ衛星からの信号を受信するように取り込まれそして利用されることができる無線周波数受信機リソースを持っているので、ＧＰＳエンジンは、モデム・プロセッサ上で作動することができる。衛星信号を受信すると、ＧＰＳエンジンは、遠隔ＧＰＳサーバ・プロセッサへ共有ネットワーク接続を経由して情報を送ることができる。遠隔ＧＰＳサーバ・プロセッサは、ＧＰＳエンジンから受信する情報に基づいて移動デバイスの位置を計算することが可能である。一旦、移動デバイスの位置が決定されると、ＧＰＳサーバ又はある別のネットワーク・リソースは、決定した移動デバイスの位置に基づいて他の補足情報を移動デバイスに同様に提供することができる。そのような補足情報の例は、最新のディジタル地図、（レストラン、商業施設、及び小売店のような）近隣の施設の住所、ローカルな天気予報、個人住所録からの近隣の記載項目のリスト、又はローカルな地理的データ、を含むが、これらに限定されない。そのような補足情報は、そうでなければ移動デバイス上でローカルに利用可能でないことがある。
【００１２】
操作されたデータの量に応じて、モデム・プロセッサ上のＧＰＳエンジンは、パケット交換データ・ネットワーク接続を使用して、遠隔ＧＰＳサーバと通信することができる。パケット交換データ・ネットワークは、従来の回路交換と比較してデータ送信速度の改善を可能にする。パケット交換データ・ネットワーク接続は、２Ｇ及び３Ｇ移動電気通信デバイスにおいて利用可能である。例えば、ユニバーサル移動電気通信システム（ＵＭＴＳ：Universal Mobile Telecommunication System）デバイスは、パケット交換デバイスである３Ｇデバイスである。
【００１３】
ＰＤＰ（パケット・データ・プロトコル（Packet Data Protocol）、例えば、ＩＰ、Ｘ．２５、ＦｒａｍｅＲｅｌａｙ）コンテクストは、ＵＭＴＳデバイス上にあるデータ構造であり、それは加入者がアクティブなセッション（すなわち、複数のコンピュータ・システム間の情報交換の期間）を有するとき、加入者のセッション情報を含む。移動デバイスがＵＭＴＳを使用しようと望む時には、ネットワーク・プロフィールを最初に添付する必要があり、そして次に起動する必要がある。そのようなネットワーク・プロフィールは、ＰＤＰコンテクストであり得るが、それに限定されない。これは、加入者が現在アクセスしている取扱いＧＰＲＳサービス・ノード（ＳＧＳＮ：Serving GPRS Service Node）及び加入者アクセス・ポイントを取り扱うゲートウェイＧＰＲＳサービス・ノード（ＧＧＳＮ：Gateway GPRS Service Node）にネットワーク・プロフィール・データ構造を割り当てる。ＵＭＴＳは、マルチキャスト・ネットワーク・プロフィール・サポートを可能にする。そのように、複数のネットワーク接続は、ＵＭＴＳデバイスにより維持管理されて、複数のアプリケーションをサポートすることができる。
【００１４】
しかしながら、複数のＰＤＰ（パケット・データ・プロトコル）コンテクスト・サポートを有するＵＭＴＳ環境において、ユーティリティ・サービス、例えば、ＧＰＳサービス、は、１つだけのネットワーク・プロフィールにおいて利用可能であり得る。モデム上のＧＰＳエンジンは、ＧＰＳサーバと協働する特定のネットワーク・プロフィールにより構成されることができる。ユーティリティ・エンジン（例えば、ＧＰＳエンジン）をサポートしているネットワーク・プロフィールが別のアプリケーション・プロセスにより既に使用中である場合には、ユーティリティ・エンジンは、アプリケーション・プロセッサ上で作動しているアプリケーションとデータ・ネットワーク接続を“ピギーバック（piggyback）”する、又は共有することができる。
【００１５】
ユーティリティ・エンジンそれ自身、接続マネージャ、又は別のソフトウェア・モジュールは、共有されるべき適切なデータ・ネットワーク接続を選択することができる。唯１つのＩＰアドレスが所与のドメインからＰＤＰ起動の期間に移動デバイスに割り当てられるので、複数のプロセッサ上の１又はそれより多くのアプリケーションとネットワークとの間のデータ伝達を同時にサポートしようと試みる際に配信経路の問題があり得る。この配信経路の問題を解決するために、ある実施形態は、ユーティリティ・エンジン特有の情報及びアプリケーション特有の情報の同時のデータ伝達のためにＩＰデータ・フィルタリング機構を含むことができる。さらに、ある実施形態は、位置情報を複数のアプリケーションの間で共有するためにアプリケーション・インターフェースを提供することができる。
【００１６】
様々なユーティリティ・エンジンは、例えば、ＧＰＳエンジンを含んでいる移動デバイスにより使用されることができる。説明を容易にするために、様々な実施形態の体系化及び機能が、ＧＰＳエンジンを参照して最初に説明される、その理由は、ＧＰＳサービスが複数のアプリケーションによって使用されることが可能なユーティリティ・サービスの一例であり、そして外部データ・ソース（すなわち、ＧＰＳサーバ）への同時のネットワーク接続を必要とするためである。一般的な１つのユーティリティ・エンジン又は複数のユーティリティ・エンジンを有する移動デバイスの実施形態が、図７−９を参照して次に説明される。
【００１７】
セルラ電話機、ハンドセット、ラップトップ・モデムのような、マルチモード移動デバイスにおいて、データの送信及び受信のための複数のパケット・データ・ネットワーク接続及び利用可能な複数のネットワークがあり得る。それに加えて、マルチモード移動デバイスは、様々な無線技術（例えば、１ｘ、ＥｖＤＯ、ＵＭＴＳ、ＷＬＡＮ、及びＷｉＦｉ）を利用する複数の無線ネットワーク及び複数のＩＰネットワーク（例えば、ＩＰｖ４、ＩＰｖ６）へのアクセスを有することができる。ＵＭＴＳネットワークが同時に複数のドメインへの接続をサポートすることが可能である一方で、複数のデータ・ネットワーク接続のうちの１つだけが、ＧＰＳサービスをサポートすることができる。そのような複数のデータ・ネットワーク接続のシナリオにおいて、マルチモード移動デバイスは、ネットワークを経由してＧＰＳサービスをサポートしているデータ・ネットワーク接続を同定することができる。一旦、そのデータ・ネットワーク接続が同定されると、そのデータ・ネットワーク接続は、ＧＰＳサービスを受信するためにＧＰＳエンジンに割り当てられることができる。
【００１８】
しかしながら、ＧＰＳサービスをサポートしているデータ・ネットワーク接続は、他のＧＰＳサービス・アプリケーション及び非ＧＰＳサービス・アプリケーション、例えば、インターネット接続、のために遠隔サービスを同様に提供することができる。特に、ＧＰＳサービスをサポートするデータ・ネットワーク接続は、マルチモード・デバイス上で同時に作動しているＧＰＳエンジンとアプリケーション・プログラムとの間で共有される必要があり得る。アプリケーション・プログラムは、ＧＰＳアプリケーションである必要はない。データ・ネットワーク接続を共有しているアプリケーション・プログラムとＧＰＳエンジンとの間の唯一の関係は、両者が同じデータ・ネットワーク接続への必須の同時のアクセスを必要とすることであり得る。接続マネージャは、移動デバイスにより使用されることができて、限られた数の可能なデータ・ネットワーク接続を割り当て、そしてデータ・ネットワーク接続を共有することを管理することができる。
【００１９】
具体的に、複数のＰＤＰサポートを有するＵＭＴＳ環境において、移動デバイスは、同時にアクティブである複数のネットワーク・プロフィールを有することが可能である。ＧＰＳサービスのＩＰアドレスを含むことができる１つのネットワーク・プロフィールは、ＧＰＳエンジンにより必要とされることがある。ネットワーク・プロフィール・パラメータは、ネットワーク・プロフィール番号、ＡＰＮ名、ＰＤＰタイプ、ＩＰネットワーク・ファミリ（ｖ４又はｖ６）、及び技術タイプ（例えば、ＣＤＭＡ／ＥＶ−ＤＯ，ＧＳＭ／ＧＰＲＳ，ＵＭＴＳ，ＷＬＡＮ，等）を含むことができる。ＰＤＡ、スマート・フォーン、ラップトップ中に搭載されたモデムのようなデバイスのある種のタイプ（形状因子）に関して、パラメータ設定値は、アプリケーション・プロセッサ上で設定されることができ、そして全てのパケット・データ接続は、アプリケーション・プロセッサにより割り当てられることができる。パラメータ設定値は、独立型のセル電話機又は制限されたラップトップ・コンピュータのためのモデムとして動作するセル電話機のケースにおけるように、モデム・プロセッサにより代わりに割り当てられることが可能である。
【００２０】
一方で、必ずしもＧＰＳに関連する必要はないが、アプリケーション・プログラムは、ＧＰＳエンジンのネットワーク・プロフィールに関連する同じデータ・ネットワーク接続へのアクセスを必要とすることがある。すなわち、アプリケーション・プログラム及びＧＰＳエンジンは、同じパケット・データ通話を共有する必要がある。
【００２１】
図１は、複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及びＧＰＳエンジンを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。図１に示されるように、移動デバイス９０は、１又はそれより多くのプロセッサ１００，２００及びＧＰＳエンジン２１０を含むことができる。図示された実施形態では、移動デバイス９０は、少なくとも１つのアプリケーション・プロセッサ１００及びモデム・プロセッサ２００を有する。
【００２２】
アプリケーション・プロセッサ１００は、複数のソフトウェア・アプリケーション・プログラムを管理しそして実行することができる。例えば、アプリケーション・プロセッサ１００は、少なくともＧＰＳアプリケーション１１０、無線アプリケーション・プロトコル（ＷＡＰ：wireless application protocol）アプリケーション１１１、インターネット・エクスプローラ・アプリケーション１１２、及びマルチメディア・メッセージ・サービス（ＭＭＳ：Multimedia Message Service）アプリケーション１１９、同様に他のソフトウェア・アプリケーションを管理することができる。アプリケーション・プロセッサ１００は、ディスプレイ及びキーパッド又はキーボード（図示されず）を通してユーザ・インターフェースを同様に制御することができる。
【００２３】
モデム・プロセッサ２００は、無線周波数物理リソース及び最も低いレベルの無線リンク及びプロトコル・リンク９１を管理することができる。無線リンク及びプロトコル・リンク９１は、１又はそれより多くの無線通信ネットワーク３００との無線通信を提供することができる。モデム・プロセッサ２００は、アプリケーション・プロセッサ１００とモデム・プロセッサ２００との間のデータ情報交換及び相互制御のためにアプリケーション・プロセッサ１００へＡＰＩ（application programming interface：アプリケーション・プログラミング・インターフェース）２２０を同様に提供することができる。
【００２４】
モデム・プロセッサ２００が通信リンクを設定する無線通信ネットワーク３００は、一般的に少なくとも１つの固定基地局及び少なくとも１つのデータ・サーバ（図示されず）を含む。少なくとも１つのデータ・サーバは、それ自身がＧＰＳサーバ３０１であり得る又はＧＰＳサーバ３０１を含むことができる。
【００２５】
図１は、アプリケーション・プロセッサ１００とモデム・プロセッサ２００の両方が同一の統合ユニット、例えば、スマート・フォーン又はＰＤＡ（personal data assistant：個人データ補助装置）、の内部に含まれている実施形態を図示する。あるいは、アプリケーション・プロセッサ１００とモデム・プロセッサ２００は、別々のユニット中にあることができる。例えば、ラップトップ・コンピュータは、モデムとして動作するセル電話機へつなげられることができる。そのような事例では、アプリケーション・プロセッサ１００は、ラップトップ・コンピュータ中に置かれ、一方でモデム・プロセッサ２００は、ＧＰＳを利用可能なセルラ電話機又はラップトップへ接続された無線アダプタ中にある。この例の代わりの構成では、ラップトップと電話機／アダプタをつないでいるローカル接続は、例えば、それを通して制御メッセージ及びデータが流れる有線ケーブル、ブルートゥース・リンク、又は赤外線接続であり得る。
【００２６】
ＧＰＳエンジン２１０は、モデム・プロセッサ２００上で作動しているソフトウェア・モジュールであり得る。あるいは、ＧＰＳエンジン２１０は、ＡＳＩＣチップのような、ハードウェア又はファームウェアの形式であり得る。ＧＰＳエンジン２１０は、１又はそれより多くのＧＰＳ衛星４００から無線信号９２を受信するために、モデム・プロセッサ２００内に見られる無線周波数トランシーバ（送信機−受信機）２３０を共有しそして利用することができる。すなわち、ネットワーク通信のために通常使用される、無線周波数トランシーバ２３０の受信機リソースは、ＧＰＳ衛星信号受信のためにタイム・シェアリングされる又は一時的に取り込まれることができる。これは、増幅器又はフィルタのようなトランシーバ２３０回路の一部、メモリ・ユニット及びデータ接続と配信回路、又はＧＰＳ衛星時間信号を受信するためのトランシーバ２３０の信号デコーディング方式及び一時的に変化する受信周波数のような、中央トランシーバ回路及び機能のタイム・シェアリング、を含むことができる。
【００２７】
十分な数の衛星４００からＧＰＳ衛星信号を受信しそしてデコードすると、ＧＰＳエンジン２１０は、ＴＣＰ／ＩＰ又は類似の通信スタック２４０を経由して送信されるように、ディジタル・データ形式へとＧＰＳ衛星信号を処理する。
【００２８】
処理されたディジタル・データ信号は、次にＧＰＳサーバ３０１へ無線通信ネットワーク３００を介して無線トランシーバ２３０を経由して送信されることができる。ＧＰＳサーバ３０１は、ＧＰＳエンジン２１０から受信されるＧＰＳ衛星信号をさらに処理することができて、移動デバイス９０の位置座標及び／又は追加の補足位置情報を決定することができる。ＧＰＳサーバ３０１により決定される位置データは、次に、無線通信ネットワーク３００を介してＧＰＳエンジン２１０へ送信して戻される。そのような位置関連情報は、移動デバイス９０上ではそうでなければローカルに利用可能ではないことがあり得る。ＧＰＳサーバ３０１により提供される情報は、例えば、街区住所、市、郡、国又は他の行政地域に関する移動デバイスの位置を同定することができる。移動デバイス内に置かれるモデム・プロセッサ２００が、重大な、時間のかかる、高精度の、３次元地理的計算を実行するために十分なハードウェアを欠くことがあるために、移動デバイスは、組み込みハードウェア浮動小数点計算ユニットを欠くことがあるモデム・プロセッサ２００上で計算を実行する代わりに、そのような計算を外部ＧＰＳサーバ３０１へオフロードすることを求めることができる。そのように、ＧＰＳエンジン２１０の実施形態は、データ・ネットワーク接続へのアクセスを必要とすることができ、必要なＧＰＳデータをＧＰＳサーバ３０１へ送りそして受信することができる。
【００２９】
外部ＧＰＳサーバ３０１と通信するために、モデム・プロセッサ２００上のＧＰＳエンジン２１０は、ソフトウェア通信スタック２４０により与えられるような、データ・ネットワーク接続を必要とする。具体的に、複数のネットワーク・プロフィール・サポートを有するＵＭＴＳ環境において、ＧＰＳサービスは、１つだけのネットワーク・プロフィール上で利用可能であり得る。モデム・プロセッサ２００上のＧＰＳエンジン２１０は、特定のＧＰＳサーバ３０１と関係付けられる特有のネットワーク・プロフィールで構成されることができる。この特定の構成又は供給（provisioning）情報は、ＧＰＳエンジン２１０から接続マネージャ１３０へ渡される必要があり得る。それを行うための直接情報パスがあり得る一方で、良く設計されたパケット・データ（ＰＤ）アプリケーション・インターフェース２２０は、さらに構造化され、そしてより規則正しいソフトウェア・プロトコルでパケット・データ・マネージャ１２０を経由してその情報を渡すことができる。
【００３０】
アプリケーション・プロセッサ１００上で作動しているＧＰＳ位置決めサービスを、同様に他のアプリケーション・プログラムをサポートするために、ＧＰＳエンジン２１０は、複数の可能性のあるデータ・ネットワーク接続１４０のうちの１つをアプリケーション・プロセッサ１００と共有する必要があり得る。これは、１つだけのＩＰアドレスが所与のドメインからＰＤＰ起動の期間にデバイス９０へ割り当てられることができるためである。それゆえ、無線通信ネットワーク３００からＧＰＳエンジン２１０へデータ・パケットを、同様にアプリケーション・プロセッサ１００上で実行している１又はそれより多くのアプリケーション・プログラム１１０，１１１，１１２，．．．，１１９を正しく配信する複数の別の方法があることが必要とされ得る。
【００３１】
この配信経路の問題を解決するために、ある実施形態は、同じデータ・ネットワーク接続を経由して−すなわち、１つの割り当てられたＩＰアドレスを共有することによって−ＧＰＳ特有の情報及びアプリケーション特有の情報を同時にデータ伝達するためのＩＰデータ・フィルタ２４２を含むことができる。フィルタ２４２は、特有の、予期されるフォーマット又はコンテントを有するデータ・パケットを待ち受けるためにデータ・パケットを特にモニタするソフトウェア・モジュールである。図１に図示される一例の実施形態では、ＩＰデータ・フィルタは、ＧＰＳサーバ３０１からのＧＰＳ関連データ・パケットを特に待ち受けそして分離するように構成される。ＧＰＳ関連フォーマット又はコンテントは、ＴＣＰポート番号及びＩＰアドレス又はデータ・パケット中のソース・アドレスに基づいてＧＰＳサーバ３０１から発せられるとしてデータ・パケットを同定する他の固有のコンテント、を含むことができる。ＩＰデータ・フィルタ２４２がＧＰＳに関係するとしてあるパケットを同定する場合に、そのパケットは、ＧＰＳエンジン２１０へ渡される。それ以外は、ＩＰデータ・フィルタ２４２は、ＰＤＰ起動、ネットワーク接続、及びＩＰアドレスを共有しているアプリケーション・プログラムへパケットをそのまま渡す。類似の方式で動作すると、ＩＰデータ・フィルタ２４２は、デバイス９０上で１より多くのアプリケーション・プログラムが同じＰＤＰ起動、ネットワーク接続、及びＩＰアドレスを共有することを同様に可能にすることができる。
【００３２】
ある実施形態は、接続マネージャ１３０とＧＰＳエンジン２１０との間でデータ・ネットワーク接続選択に関する情報を共有するために次の手順を利用することができる。接続マネージャ１３０がデータ・ネットワーク接続を担当している一方で、ＧＰＳエンジン２１０は、ＧＰＳデータ・サービスを受信するためにどちらのＰＤＰ起動を使用するかを指示する必要があり得る。すなわち、別々のプロセッサ上のこれらのソフトウェア・エンティティ間で情報を提供する“ハンドシェーキング”をする必要があり得る。
【００３３】
ＧＰＳエンジン２１０と共有されるデータ・ネットワーク接続は、ＧＰＳアプリケーション１１０がおそらく使用しているものと同じデータ・ネットワーク接続でないことがある。すなわち、ＧＰＳエンジン２１０は、ネットワーク・リソースへのアクセスを要求しているある別のアプリケーションとデータ・ネットワーク接続を共有していることがあり得る。例えば、ＧＰＳエンジン２１０は、ＧＰＳサーバ３０１との通信のために特定のＰＤＰ起動、データ・ネットワーク接続、及びＩＰアドレスを要求することがある。しかしながら、ＧＰＳ位置決定を開始するＧＰＳアプリケーション１１０は、別のネットワーク上の、そしてそれゆえ、別のＰＤＰ起動及びネットワーク接続を経由して、あるネットワーク・リソースをアクセスしていることがある。ネットワーク・リソースは、例えば、地図グラフィックス又は地理的なデータのソースであり得る。
【００３４】
具体例の実施形態の動作が、図１と図２の両方を参照して説明される。図１は、複数の構成要素を接続しているデータ・フロー経路及び／又は制御フロー経路とともにアプリケーション・プロセッサ、モデム・プロセッサ、及びネットワークのＧＰＳサーバの様々な情報交換をする構成要素を示す。図１の制御経路及びデータ経路は、図２に示される対応する機能ステップの番号により認識され、それは制御フロー経路及び／又はデータ・フロー経路を経由する情報の流れを引き起こす。
【００３５】
ステップ１では、パケット・データ・マネージャ１２０は、モデム・プロセッサ２００中のパケット・データ・アプリケーション・プログラミング・インターフェース（ＰＤ  ＡＰＩ）２２０を経由してＧＰＳエンジン２１０からのサービスを要請する。このステップの一部として、パケット・データ・マネージャ１２０は、ＧＰＳエンジン２１０から通信パラメータ、例えば、要求されるＧＰＳサービスを提供する供給ネットワーク接続、所望のインターフェース・ファミリー・タイプ、又はＧＰＳ決定セッションが既に進行しているかどうか、を取得することができる。このようにして、パケット・データ・マネージャ１２０は、ＧＰＳデータをサポートするネットワーク接続を認識することができる。この制御フロー・ステップ１は、ＰＳ（packet switched：パケット交換）データ接続の管理で始まる。
【００３６】
ステップ２では、ユーザは、ＧＰＳ位置情報を必要とするアプリケーションを起動することができる。例えば、ユーザは、彼の／彼女の移動デバイス９０を利用して、最も近いゴルフ・コースへの運転方向指示を取得することができる。移動デバイス９０上に記憶されたＧＰＳアプリケーション１１０を起動することは、パケット・データ・マネージャ１２０へ送られる要請が移動デバイス９０の位置を決定するためにＧＰＳ位置決定セッションを開始するようにさせる。順番にパケット・データ・マネージャ１１０は、パケット・データＡＰＩ２２０へ信号を送ることができ、その結果、移動デバイス９０の位置を決定するための要請がＧＰＳエンジン２１０へ転送される。ＧＰＳサービスをサポートするデータ・ネットワーク接続がステップ１において既に認識されている場合には、パケット・データ・マネージャ１２０は、信号をＧＰＳエンジン２１０へ送り、使用されようとしている認識されたデータ・ネットワーク接続をＧＰＳエンジン２１０に知らせる。
【００３７】
ステップ３では、ＧＰＳエンジン２１０は、パケット交換データ通話を開始しようと試みる。そうするために、ＧＰＳエンジン２１０は、パケット・データ・マネージャ１２０へ信号を送り、要請されたネットワーク・インターフェース（ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ，．．．）を開始する。（供給ＵＭＴＳ  ＰＤＰコンテクストのような）要請されたインターフェースは、無線通信ネットワーク３００を経由してＧＰＳサーバ３０１へＧＰＳエンジン２１０を接続するために適したものである。ＧＰＳエンジン２１０は、要請されたインターフェース名、ファミリー・タイプ、及びパケット交換データ通話を実行するための技術をパケット・データ・マネージャ１２０に提供することができる。ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ、等を特定する一方で、ＧＰＳエンジン２１０は、特定のＩＰバージョン（ＩＰｖ４、ＩＰｖ６、等）を同様に要請することができる。特にＵＭＴＳに関して、ＧＰＳエンジン２１０は、インターフェース要請のパラメータとして、アクセス・ポイント名（ＡＰＮ）、ＰＤＰタイプ（例えば、ＩＰ、Ｘ．２５、ＦｒａｍｅＲｅｌａｙ）、所望のサービスの品質（ＱｏＳ：quality of service）、等を提供することができる。これらのパラメータは、特定のサーバへのデータ・ネットワーク接続を完全に設定するために必要とされることがある。
【００３８】
ステップ４では、パケット・データ・マネージャ１２０は、接続マネージャ１３０を経由してパケット交換（ＰＳ）データ通話の開始を要請する。データ通話を行うためのパラメータは、ステップ３においてＧＰＳエンジン２１０から得られることができ、そして接続マネージャ１３０へ渡されることができる。あるいは、ＡＰＮ名、ＰＤＰタイプ、ＩＰファミリー等、のようなデータ通話パラメータは、ネットワーク・プロバイダにより内部的に供給されることができる。それに応じて、接続マネージャ１３０は、パケット・データ・マネージャ１２０により提供されるパラメータに基づいて適切であり利用可能なインターフェースを呼び出すようにモデム・プロセッサ２００を管理する。
【００３９】
ステップ５では、接続マネージャ１３０は、ステップ４においてパケット・データ・マネージャ１２０により提供される選択パラメータに基づいてＲＦトランシーバ（送信機−受信機）２３０を経由して適切であり利用可能なネットワーク・インターフェースの起動を要請する。パケット・データ・マネージャ１２０により提供されるパラメータは、データ通話が開始される各回ごとに異なることがあり得る。パラメータは、移動デバイス９０の位置及び利用可能な１つの又は複数のネットワークに応じて変わることがある。
【００４０】
ステップ６では、一旦、適切なネットワーク・インターフェース接続９１がＲＦトランシーバ・ユニット２３０を経由して動作すると、接続マネージャ１３０は、無線通信ネットワーク３００に最終的なインターフェース・パラメータを問い合わせ、そしてパケット・データ・マネージャ１２０へこの情報（ＡＰＮ，デバイスＩＰアドレス、通話のタイプ）を返す。
【００４１】
ステップ７では、パケット・データ・マネージャ１２０は、パケット交換データ通話が良好に通じたことを、パケット・データＡＰＩ２２０を介してＧＰＳエンジン２１０に通知する。パケット・データ・マネージャ１２０は、次に、ＧＰＳサーバ３０１をアクセスするためにＧＰＳエンジン２１０にとって必要なネットワーク情報を、パケット・データＡＰＩ２２０を介して、ＧＰＳエンジン２１０に提供する。ＧＰＳエンジン２１０のためのネットワーク情報は、上記のステップ３において生成される接続要請情報を含むことができる。この情報は、インターフェース名／技術（ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ、等）、インターフェース・ファミリー（ＩＰｖ４、ＩＰｖ６、等）及びインターフェース特有の情報（ＵＭＴＳに関して、ＡＰＮ名、ＰＤＰタイプ、ＱｏＳ、ドメイン名、ドメインによりサポートされるサービス、等）、を含むことができる。それに加えて、ネットワーク情報は、データ通話セッションに対して割り当てられたインターフェースＩＰアドレスを含むことができる。
【００４２】
ステップ８では、ＧＰＳエンジン２１０は、提供されたネットワーク・インターフェース・パラメータを使用して、アプリケーション・プロセッサ１００のパケット・データ・マネージャ１２０からのネットワーク情報を使用して取り出されるネットワーク・インターフェースを一義的に同定する。ＧＰＳエンジン２１０は、ＴＣＰ／ＩＰ通信スタック２４０及びＩＰデータ・フィルタ２４２を経由してＧＰＳ位置決定のためのＩＰトラフィックを送るためそして受信するためにネットワーク・インターフェースに縛る（bind）。
【００４３】
ステップ９では、ネットワークＧＰＳ情報は、ＩＰデータ・フィルタ２４２及びＴＣＰ／ＩＰ通信スタック２４０を使用してＩＰデータ・トラフィックから自動的に抽出される。すなわち、ＧＰＳに関連する受信したデータ・トラフィックは、ＩＰデータ・フィルタ２４２により取り去られ、又はフィルタで処理され、そしてＧＰＳエンジン２１０へ配信される。具体的に、予期される、特定のＧＰＳに関連する形式の各着信データ・パケットは、通信スタック２４０を経由してＧＰＳエンジンへ転送される。同じネットワーク接続上で受信されるいずれの他のデータ・パケットも、通信スタック２４０を経由して配信されない、しかし、例えば、ＰＰＰインターフェース２４５を経由してアプリケーション・プロセッサ１００へ配信される。この配信は、ユーザにトランスペアレントに生じることができる。ＧＰＳエンジン２１０により送信された任意のデータは、同じネットワーク接続を経由してアプリケーション・プロセッサ１００から送信されたデータと結合される、又はインターリーブされる。
【００４４】
ステップ１０では、ＧＰＳサービスを使用するアプリケーションは、さらにＧＰＳ位置決定が必要とされるかどうかを判断する。もしそうであれば、ステップ９と１０は、不定の回数繰り返される。
【００４５】
ステップ１１では、これ以上ＧＰＳ位置決定が必要とされない場合には、ＧＰＳアプリケーション１１０は、ＧＰＳサーバとのセッションを停止するようにパケット・データ・マネージャ１２０に通知する。あるいは、パケット・データ・マネージャ１２０は、ＧＰＳアプリケーション１１０がある時間の期間にわたりＧＰＳ位置決定を要請していないことを検出することができる。そのような時間切れ期間は、アプリケーションがユーザにより決して明確に終了されないことがある移動デバイスにおいて必要であり得る。いずれのケースにおいても、パケット・データ・マネージャ１２０は、パケット交換データ通話がＧＰＳエンジン２１０とこれ以上必要とされないことを、接続マネージャ１３０に通知する。パケット交換データ通話が複数のアプリケーション・プログラムとこれ以上共有されることがない場合には、通話は、打ち切られる。パケット交換データ通話が複数のアプリケーション・プログラムによって使用中である場合には、通話は、接続マネージャ１３０によって打ち切られず、そしてアプリケーション・プロセッサ１００の動作は、通常のように継続する。
【００４６】
ステップ１２では、パケット・データＡＰＩは、パケット交換データ通話が打ち切られていることをＧＰＳエンジンに通知し、そしてＧＰＳ関連データ・パケットをさらにフィルタで取り去る必要がないのでＩＰデータ・フィルタ２４２を終わらせる。
【００４７】
図１は、ＰＰＰ（ポイント−ツー−ポイント・プロトコル）レベル２４５でアプリケーション・プロセッサ１００とモデム・プロセッサ２００との間の相互接続を示す。図１は相互接続１４０，２４５がＰＰＰであるように図示するが、相互接続をＰＰＰに限定するように意図されていないことは、注意されるべきである。プロセッサ１００，２００は、しかも、イサーネット又はいずれかの他のリンク層インターフェース又は専用のインターフェースを経由して、ＩＰレベルで直接に相互接続されるはずである。
【００４８】
ＧＰＳエンジン２１０は、より高いレベルで、例えば、ＴＣＰプロトコルレベルで又はオープン・システム相互接続（ＯＳＩ：open system interconnect）階層における高い方のレベルで、ＧＰＳアプリケーション・プログラム１１０と同様に通信することができる。
【００４９】
図３Ａは、少なくとも１つの追加のＧＰＳアプリケーション・プログラム１１５を有する実施形態を図示する。図３Ａは、同じアプリケーション・プロセッサ１００上で実行している２つのＧＰＳアプリケーション１１０，１１５を示すが、同じアプリケーション・プロセッサ１００上で作動しているより多くのＧＰＳアプリケーション（図示されず）さえあり得る。あるいは、様々なＧＰＳアプリケーション１１０，１１５は、１よりも多くが存在する場合には、１より多くのアプリケーション・プロセッサ上で実行されることができる。２つのアプリケーション・プロセッサが、図３Ｂに示される実施形態では含まれる。例えば、移動デバイスは、それ自身が２又はそれより多くの処理ユニットを含んでいる“デュアル・コア”又は“クァド・コア”プロセッサ・チップでさえ含むことができる。
【００５０】
図３Ａに示されるように、代替の実施形態のＩＰデータ・フィルタ２４２は、図１の実施形態において示されたように１つのネットワーク接続を調査することとは反対に、同時に１より多くのネットワーク接続上のパケットを調査することができる。そのような構成は、同時に１より多くのネットワーク接続を共有する又はピギーバックすることを許容する。
【００５１】
図３Ａと図３Ｂを参照して、実施形態は、複数のＧＰＳアプリケーション１１０，１１５，６１０の間でＧＰＳエンジン２１０からのＧＰＳ位置情報を共有するＧＰＳインターフェース１２１を含むことができる。共有ＧＰＳインターフェース１２１は、単純にパケット・データ・マネージャ１２０の拡張であり得る。例えば、第１のＧＰＳアプリケーション・プログラム、例えば、図３Ａ又は図３Ｂのアプリケーション・プログラム１１０、は、図２のステップ１からステップ８に関係して上に記述したようにＧＰＳ位置決定セッションを確立することができる。次に、別のＧＰＳアプリケーション１１５，６１０は、それぞれ、図３Ａと図３Ｂに示されたように、共有ＧＰＳインターフェース１２１への通話を通して利用可能な位置情報をアクセスすることができる。ＧＰＳアプリケーション１１０のような、１つのアプリケーションが、図２のステップ２におけるように、パケット・データ・マネージャ１２０を経由してＧＰＳサービスを開始するという理由で、図３Ａと図３Ｂに示されたように、共有ＧＰＳインターフェース１２１に拡張されることは、パケット・データ・マネージャ１２０にとって適切であり得る。共有ＧＰＳインターフェース１２１は、ＧＰＳがどのようにして実装されるかを隠し、管理され、高レベルの、共有可能な、仮想ＧＰＳリソースを表すことができる。言い換えると、インターフェースは、完全に自立したＧＰＳプロセッサが存在するときと同じであるはずである。
【００５２】
別の代替の実施形態では、複数のＧＰＳアプリケーションが、同時に作動していることがある。そのような事例では、ＧＰＳエンジン２１０に対するパケット交換データ通話は、既にアクティブであることがある。これは、別のＧＰＳアプリケーション１１５又は６１０がＧＰＳサービスを要請するときに、第１のＧＰＳアプリケーション１１０が既に接続されているという、理由であり得る。このケースでは、パケット・データ・マネージャ１２０、すなわちより具体的に共有ＧＰＳインターフェース１２１は、追加のＧＰＳサービスが要請されたときに、ＧＰＳアプリケーション１１５又は６１０へ良好なステータスを単純に返すことができる。
【００５３】
図５は、図３Ａ，３Ｂ，４Ａ，４Ｂとともに、ネットワークへの共有パケット・データ接続を開始し管理することができ、そして２又はそれより多くのＧＰＳアプリケーションをサポートすることができる代替の実施形態のステップのシーケンスを説明する。ステップ５１では、共有ＧＰＳインターフェース１２１は、モデム・プロセッサ２００中のパケット・データ・アプリケーション・プログラミング・インターフェース（ＰＤ  ＡＰＩ）２２０を経由してＧＰＳエンジン２１０からのサービスを要請する。共有ＧＰＳインターフェース１２１は、ＰＤマネージャ１２０及びＰＤ  ＡＰＩ２２０を経由してＧＰＳエンジン２１０から通信パラメータを取得することができる。これらの通信パラメータは、ＧＰＳサーバへの与えられたネットワーク接続、所望のインターフェース・ファミリー・タイプ、又はＧＰＳ決定セッションが既に進行中であるかどうか、を特定することができる。同様に、ある実施形態は、共有ＧＰＳインターフェース１２１へのチャネルの初期化を必要とすることがある。この制御フロー・ステップ５１は、パケット交換データ接続の管理を始める。
【００５４】
ステップ５２では、ユーザは、移動デバイス９０のＧＰＳ位置を必要とする該移動デバイス９０内に記憶されたアプリケーションを起動することができる。ＧＰＳアプリケーション１１０を起動することによって、要請は、共有ＧＰＳインターフェース１２１へ送られて、移動デバイス９０の位置を決定するためにＧＰＳ位置決定セッションを開始する。順にパケット・データ・マネージャ１２０は、パケット・データＡＰＩ２２０へ信号を送ることができ、その結果、移動デバイス９０の位置を決定するための要請が、ＧＰＳエンジン２１０へ転送される。
【００５５】
ステップ５３では、ＧＰＳエンジン２１０は、パケット交換データ通話の開始を要請する。そのように行うために、ＧＰＳエンジン２１０は、共有ＧＰＳインターフェース１２１に信号を送り、要請されたインターフェース（ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ，．．．）を開始する。要請されたインターフェース（例えば、供給されるＵＭＴＳ  ＰＤＰコンテクスト）は、無線通信ネットワーク３００を経由してＧＰＳエンジン２１０をＧＰＳサーバ３０１へ接続するために適しているものである。ＧＰＳエンジン２１０は、要請されたインターフェース名ファミリー・タイプ、及びパケット交換データ通話を実行するための技術、を有する共有ＧＰＳインターフェース１２１を与えることができる。ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ、等を指定することのほかに、ＧＰＳエンジン２１０は、例えば、特定のＩＰバージョン（ＩＰｖ４、ＩＰｖ６、等）を同様に要請することができる。特にＵＭＴＳに関して、ＧＰＳエンジン２１０は、インターフェース要請のパラメータとして、ＡＰＮ名、ＰＤＰタイプ、所望のＱｏＳ（サービスの品質）、等を与えることができる。次にステップ５４では、共有ＧＰＳインターフェース１２１は、接続マネージャ１３０を経由してパケット交換データ通話の開始を要請する。データ通話は、ステップ５３においてＧＰＳエンジン２１０から得られたパラメータの組み合わせを使用して行われることができる。
【００５６】
次に、ステップ５５では、接続マネージャ１３０は、ステップ５４において共有ＧＰＳインターフェース１２１により与えられる選択パラメータに基づいてＲＦトランシーバ（送信機−受信機）２３０を経由して適切であり利用可能なデータ・ネットワーク接続へのデータ通話の起動を開始する。適切であり利用可能なデータ・ネットワーク接続は、ステップ５４において共有ＧＰＳインターフェース１２１によって与えられるパラメータに基づいてモデム・プロセッサ２００により起動される。共有ＧＰＳインターフェース１２１により与えられるパラメータは、データ通話が開始される各回ごとに異なることがある。パラメータは、移動デバイス９０の位置及び利用可能な１又は複数のネットワークに応じて変化することがある。
【００５７】
ステップ５６では、一旦、適切なネットワーク・インターフェース接続９１がＲＦトランシーバ・ユニット２３０を経由して動作すると、接続マネージャ１３０は、最終的なインターフェース・パラメータを無線通信ネットワーク３００に問い合わせ、そして共有ＧＰＳインターフェース１２１へこの情報（ＡＰＮ，デバイスＩＰアドレス、通話のタイプ）を返す。
【００５８】
ステップ５７では、共有ＧＰＳインターフェース１２１は、パケット交換データ通話が良好につながったことを、パケット・データＡＰＩ２２０を介してＧＰＳエンジン２１０に知らせる。共有ＧＰＳインターフェース１２１は、次に、ＧＰＳサーバ３０１をアクセスするためにＧＰＳエンジン２１０にとって必要なデータ・ネットワーク接続情報をパケット・データＡＰＩ２２０を介してＧＰＳエンジン２１０に提供する。ＧＰＳエンジン２１０に対するデータ・ネットワーク接続情報は、上記のステップ５３において生成された接続要請情報を含むことができる。この接続要請情報は、インターフェース名／技術（ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ、等）、インターフェース・ファミリー（ＩＰｖ４、ＩＰｖ６、等）、及びインターフェース特有の情報（ＵＭＴＳに関して、ＡＰＮ名、ＰＤＰタイプ、ＱｏＳ、ドメイン名、ドメインによりサポートされるサービス、等）を含むことができる。それに加えて、データ・ネットワーク接続情報は、データ通話セッションに対して割り当てられたインターフェースＩＰアドレスを含むことができる。
【００５９】
ステップ５８では、ＧＰＳエンジン２１０は、上記のステップ５７において説明したネットワーク・インターフェース・パラメータを使用して、アプリケーション・プロセッサ１００の共有ＧＰＳインターフェース１２１からのネットワーク情報を使用してもたらされるネットワーク・インターフェースを一義的に同定する。ＧＰＳエンジン２１０は、ＴＣＰ／ＩＰ通信スタック２４０を経由してＧＰＳ位置決定のためにＩＰトラフィックを送るためそして受信するためにネットワーク・インターフェースに縛る。フィルタ２４２は、通信スタック２４０を経由する特定の形式のデータ・パケットを、そしてネットワーク接続を共有するアプリケーションの特定の通信スタック１４０への全ての他のものを、フィルタで処理しそして配信するように構成される。
【００６０】
ステップ５９では、ネットワークＧＰＳ情報は、ＴＣＰ／ＩＰ通信スタック２４０のＩＰデータ・フィルタ２４２を使用してＩＰデータ・トラフィックから自動的に抽出される。すなわち、ＧＰＳ関連の受信したデータ・トラフィックは、ＩＰデータ・フィルタ２４２により取り去られる、又はフィルタで処理され、そしてＧＰＳエンジン２１０へ配信される。具体的に、予期される特定の形式の各着信データ・パケットは、通信スタック２４０を経由してＧＰＳエンジン２１０へ配信され、そしてアプリケーション・プロセッサ１００へは転送されない。同じデータ・ネットワーク接続において受信されたいずれかの他のデータ・パケットは、通信スタック２４０を経由して配信されないが、例えば、ＰＰＰインターフェース２４５を経由してアプリケーション・プロセッサ１００へ配信される。配信は、ユーザにトランスペアレントに行われることができる。ＧＰＳエンジン２１０によって送信される全てのデータは、同じデータ・ネットワーク接続を経由してアプリケーション・プロセッサ１００から送信されるデータと結合される、又はインターリーブされる。
【００６１】
ステップ５２Ａにおけるこの時点において、図３Ａの第２のＧＰＳアプリケーション・プログラム１１５又は図３Ｂのアプリケーション・プログラム６１０は、実行を開始し、そして共有ＧＰＳインターフェース１２１を経由してＧＰＳ位置決定を要請する。応答では、共有ＧＰＳインターフェース１２１は、ＧＰＳ位置決定セッションを現在要求しているアプリケーションのカウントを増加させる。ステップ５２Ａは、プロセスにおいて任意の別の時間に行われることができ、そして説明目的だけのために図５にそのまま配置される。さらに、第３のＧＰＳアプリケーションは、ユーザにより同様に開始されるはずであり、そして任意の時間において共有ＧＰＳインターフェース１２１を経由してサービスを要求するはずである。
【００６２】
共有ＧＰＳインターフェース１２１の目的は、ＧＰＳサービスに関する全ての要請を管理しそして調和させることである。共有ＧＰＳインターフェース１２１及びパケット・データＡＰＩ２２０は、仮想共有ＧＰＳサービスを実際に提示する。共有ＧＰＳインターフェース１２１は、パケット・データ・マネージャ１２０により実装される。あるいは、共有ＧＰＳインターフェース１２１は、パケット・データＡＰＩ２２０を拡大することよって実装されることができる、しかしながら、パケット・データＡＰＩ２２０内にＧＰＳインターフェース１２１を置くことは、図３Ｂのアプリケーション６１０による又は図４Ａと図４Ｂのアプリケーション５１９からのＧＳＰインターフェースのアクセス可能性を制限することがある。
【００６３】
ステップ６０では、現在アクティブであるＧＰＳアプリケーション１１０，１１５又は６１０のうちの１つは、共有ＧＰＳインターフェース１２１のサービスが最早必要ないかどうかを判断する。これは、特定のＧＰＳアプリケーション１１０，１１５又は６１０が実行することを中止してしまった、又は指定された時間の期間にわたり非アクティブであったためであり得る。このケースでは、共有ＧＰＳインターフェース１２１を利用しているアプリケーションのカウントは、１だけ減少される。カウントがゼロでない場合には、共有ＧＰＳインターフェース１２１は、ＧＰＳ位置決定を現在必要としている他のＧＰＳアプリケーションをサポートし続け、ステップ５９を実行し続ける。
【００６４】
共有ＧＰＳインターフェース１２１によって減少されるので、アクティブなＧＰＳアプリケーションがゼロである場合には、ステップ６１は、次に実行されることができる。ステップ６１では、共有ＧＰＳインターフェース１２１は、パケット交換データ通話がＧＰＳエンジン２１０と共有される必要がこれ以上ないことを接続マネージャ１３０に通知する。いずれの他のアプリケーションもＧＰＳエンジン２１０とパケット交換データ通話を現在共有していない場合には、接続マネージャ１３０は、データ通話を打ち切る。いずれのケースにおいても、共有ＧＰＳインターフェース１２１は、ステップ６２において、ＧＰＳ決定セッションを中止するようにパケット・データＡＰＩに通知する。フィルタで除去されるＧＰＳ関連のデータ・パケットが最早何もないので、ステップ６２は、通信スタック２４０においてＩＰデータ・フィルタ２４２を非動作にすることを含むことができる。
【００６５】
図４Ａと図４Ｂは、追加の代替の実施形態を図示する。アプリケーション・プロセッサ１００に加えて、少なくとも１つの外部プロセッサ５００、例えば、ラップトップ・コンピュータ又はＰＤＡ、があり得る。外部プロセッサ５００は、ケーブル若しくは無線リンク９３又は９４、例えば、イサーネット、ＵＳＢ、ファイアワイア、ブルートゥース、又はある所有権のある技術、によりマルチプロセッサ移動デバイス９０とリンクされることができる。図４Ａに図示された実施形態では、専用通信リンク・トランシーバ５４０は、通信リンク９３のどちらの端にも含まれる。図４Ｂに図示された実施形態では、既存の通信スタック１４０が外部プロセッサ５００の通信プロトコル・スタック５４０とチャネル９４を経由して通信するためにアプリケーション・プロセッサ１００中に含まれる。説明の目的で、図４Ａと図４Ｂは、単純に１つだけのＧＰＳアプリケーション５１０を示す。しかしながら、アプリケーション・プロセッサ１００によるように、複数のＧＰＳアプリケーションが、外部プロセッサ５００上で実行されることができる。外部プロセッサ５００は、少なくともアプリケーション・プロセッサ１００と同様に複雑であり得る。すなわち、外部プロセッサ５００は、アプリケーション・プロセッサ１００に関して示された様々なソフトウェア・コンポーネントのような、追加のソフトウェア・コンポーネントを同様に含むことができる。
【００６６】
図４Ａと図４Ｂは、外部プロセッサ５００とアプリケーション・プロセッサ１００との間の異なる種類の通信を示す。さらに、図４Ａは、ＧＰＳアプリケーション５１０と共有ＧＰＳインターフェース１２１との間の制御フロー２及びデータ・フローを示す。外部プロセッサ５００において作動しているＧＰＳアプリケーション５１０は、通信リンク５４０及び通信チャネル９３により共有ＧＰＳインターフェース１２１からＧＰＳサービスを要請することが可能である。この配置は、通信ドライバ５４０が非ＴＣＰ／ＩＰプロトコル、例えば、ブルートゥース又はＵＳＢ、を使用する場合に、使用されることができる。
【００６７】
図４Ｂは、ＴＣＰ／ＩＰ通信スタック１４０と５４０との間の制御フロー２及びデータ・フローを示す。この配置は、通信チャネル９４が標準ＴＣＰ／ＩＰネットワーク・プロトコルを使用する場合に、使用されることができる。このケースでは、パケット・データ・マネージャ１２０は、接続マネージャ１３０を経由して外部プロセッサ５００へのＴＣＰ１／ＩＰ１／ＰＰＰ１接続１４０のような、ローカル接続を設定する必要がある。次に、ＧＰＳアプリケーション５１０は、この接続を使用して、共有ＧＰＳインターフェース１２１へ要請又はデータを送る又は受信する。
【００６８】
ＧＰＳアプリケーション５１０は、それがＧＰＳエンジン２１０とアプリケーション・プロセッサ１００の様々なソフトウェア・コンポーネントとにどのように関連するかを示すためにＧＰＳ関連アプリケーションであると仮定される。ＧＰＳアプリケーション５１０と共有ＧＰＳインターフェース１２１との間の制御経路及びデータ経路の変更を除いて、図４Ａと図４Ｂにより図示される実施形態によって実行されるステップは、図５のものと同じであり得る。図５のステップは、パケット交換データ通話を経由して既に接続されているアプリケーションとそのパケット交換データ通話を共有するためにＧＰＳエンジンを設定する。図４Ａと図４Ｂの実施形態は、アプリケーション・プロセッサ１００と外部プロセッサ５００との間のそれぞれ通信チャネル９３と９４を構成することを具体的に必要とすることがある。これは、図５のステップ５１において実行される。
【００６９】
図６は、別の１つの実施形態を図示し、そこではモデム・プロセッサ２００が、ＧＰＳエンジン２１０に加えて少なくとも１つのユーティリティ・エンジン２５０を実行していることがある。図６は、追加のユーティリティ・エンジン２５０への制御フロー及び／又はデータ・フローを管理するＧＰＳエンジン２１０を示す。追加のユーティリティ・エンジン２５０は、それ自身のＴＣＰ／ＩＰスタック２６０を有することができる。特に、ユーティリティ・エンジン２５０は、ＧＰＳエンジンＩＰデータ・フィルタ２４２がＧＰＳ特有のデータ・パケットを配信する方法と同じように、そのユーティリティ・エンジン２５０へ特に直接関連するＰＰＰストリーム・データ・パケットをフィルタで除去する−又はその中に注入する−能力があり得る。ＣＤＭＡとＵＭＴＳの両方がネットワーク・データ接続を経由して直接ＩＰデータ・パケットを送ることを同様にサポートするため、ＰＰＰプロトコルの代わりに、別のプロトコル（図示されず）は、通信スタック２４０及び／又は２６０のリンク層上で作動することが可能である。
【００７０】
他の配置、相互接続、又はＧＰＳエンジンとユーティリティ・エンジンの数が、可能である。例えば、図７では、ＧＰＳエンジン２１０とユーティリティ・エンジン２５０は、個々の通信スタックを有するが、１つの複合フィルタ２７０を共有する。複合フィルタを使用して、データ・パケットのストリームから抽出されるデータは、適切な宛先へ、すなわち、各プロセッサのＴＣＰ／ＩＰスタック及びＧＰＳエンジン２１０、ユーティリティ・エンジン２５０、又はデータ接続を共有しているアプリケーション・プロセッサ１００内の別のアプリケーションへ、配信されることが可能である。
【００７１】
図８は、モデム・プロセッサ２００上で作動しているＧＰＳエンジンを持たない移動デバイス９０の別の１つの実施形態のブロック図である。ＧＰＳエンジンの代わりに、少なくとも１つの非ＧＰＳユーティリティ・エンジン２５０(２５１)があり、それは通信スタック２６０（２６１）を経由してネットワーク接続へのアクセスを必要とすることがある。ＧＰＳエンジンを使用するように、非ＧＰＳユーティリティ・エンジン２５０（２５１）は、少なくとも１つのアプリケーション・プロセッサ１００上で作動しているアプリケーション１１６又は１１８と１又はそれより多くのアクティブなデータ・ネットワーク接続を共有する必要があり得る。データ・ネットワーク接続を共有することの理由は、前に説明した通りであり得る。すなわち、１つだけのＩＰアドレスが、所与のドメインからＰＤＰ起動の期間にデバイスに割り当てられることができる。しかしながら、ネットワーク３００上のユーティリティ・サーバ３０２からアプリケーション・プログラム１１６又は１１８へ、同様にユーティリティ・エンジン２６０への同時のデータ伝送である必要があり得る。しかも、共有データ・ネットワーク接続を経由して反対の方向へのデータ伝送である必要があり得る。アプリケーション・プログラム１１６又は１１８とデータ・ネットワーク接続を共有するために、ユーティリティ・エンジン２５０又は２５１は、ＩＰデータ・フィルタ２７０を使用することができて、共有接続を経由するパケット・データ・トラフィックをモニタすることができる。ＩＰデータ・フィルタ２７０は、特定の、予想されるアドレス、フォーマット又はコンテントに基づいてユーティリティ・エンジンに直接関係するデータ・パケットを認識する。例えば、ＩＰデータ・フィルタは、データ・パケット中のソース・アドレスに基づいてユーティリティ・サーバ３０２からのユーティリティ関連のデータ・パケットを待ち受けそして分離するように構成される。ユーティリティ関連のフォーマット又はコンテントは、ＴＣＰポート番号又はＵＤＰポート番号及びＩＰアドレス又はユーティリティ・サーバ３０２から発せられるようなデータ・パケットを認識する他の固有のコンテント、を含むことができる。ＩＰデータ・フィルタ２７０は、ユーティリティ・エンジン２５０又は２５１へ認識されたユーティリティ関連のデータ・パケットを、ユーティリティ・エンジンへ直接関係する全てのデータ・パケットを配信し、そしてデータ・ネットワーク接続を共有しているアプリケーションへ全ての他のデータ・パケットを配信する。あるいは、各ユーティリティ・エンジン２５０又は２５１は、図６のケースのように、それ自身の別々のＩＰデータ・フィルタを有することができる。
【００７２】
図８及び図９を参照して、代わりの実施形態に関するステップのシーケンスが、本方法のステップを実行するためのシステムに関係して説明される。ステップ７１では、パケット・データ・マネージャ１２０は、モデム・プロセッサ２００中のパケット・データ・アプリケーション・プログラミング・インターフェース（ＰＤ  ＡＰＩ）２２０を経由して接続共有マネージャ２９０に自身の存在を登録する。パケット・データ・マネージャ１２０は、パケット・データ・マネージャ１２０及びＰＤ  ＡＰＩ２２０を経由して接続共有マネージャ２９０から通信パラメータを取得することができる。これらの通信パラメータは、共有データ・ネットワーク接続を管理しているユーティリティ・エンジン２５０、２５１によって要求されるユーティリティ・サーバ３０２への与えられたデータ・ネットワーク接続を特定することができる。パケット・データ・マネージャ１２０へ与えられるパラメータは、所望のインターフェース・ファミリー・タイプ又はユーティリティ・サービスが既に進行中であるかどうか、を含むことができる。この制御フロー・ステップ７１は、パケット交換データ通話の管理を始める。
【００７３】
ステップ７２では、ユーザは、ユーティリティ・エンジン２５０，２５１からのサービスを必要とするアプリケーション１１６を起動することができる。アプリケーション１１６を起動することによって、要請は、パケット・データ・マネージャ１２０へ送られて、ユーティリティ・エンジン２５０，２５１からのサービスを開始する。パケット・データ・マネージャ１２０は順に、パケット・データＡＰＩ２２０へ信号を送り、その結果、ユーティリティ・サービス要請は、接続共有マネージャ２９０へ転送され、それは順に、要請されたサービスを提供するユーティリティ・エンジン２５０，２５１へ要請を転送することができる。同時に１より多くのアプリケーションが特定のユーティリティ・エンジン２５０，２５１からサービスを要請することがある場合には、ＰＤマネージャ１２０又は接続共有マネージャ２９０は、各ユーティリティ・エンジン２５０，２５１に対してそのようなサービスを要求しているアプリケーションの数のカウントを維持管理することができる。
【００７４】
ステップ７３では、接続共有マネージャ２９０は、パケット交換データ通話の開始を要請する。そうするために、接続共有マネージャ２９０は、パケット・データ・マネージャ１２０へ信号を送り、要請されたインターフェース（ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ，．．．）を開始する。（与えられたＵＭＴＳ  ＰＤＰコンテクストのような）要請されたインターフェースは、無線通信ネットワーク３００を経由してユーティリティ・サーバ３０２へ適切なユーティリティ・エンジン２５０，２５１を接続するものである。接続共有マネージャ２９０は、パケット交換データ通話を実行するために、要請されたインターフェース名、ファミリー・タイプ、及び技術をパケット・データ・マネージャ１２０に提供することができる。ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ、等を指定するだけでなく、接続共有マネージャ２９０は、例えば、特定のＩＰバージョン（ＩＰｖ４、ＩＰｖ６、等）を同様に要請することができる。特にＵＭＴＳに関して、接続共有マネージャ２９０は、インターフェース要請のパラメータとして、ＡＰＮ名、ＰＤＰタイプ、所望のＱｏＳ（サービスの品質）、等、を提供することができる。次にステップ７４では、パケット・データ・マネージャ１２０は、接続マネージャ１３０を経由してパケット交換データ通話の開始を要請する。データ通話は、ステップ７３において接続共有マネージャ２９０から得られる複数のパラメータの組み合わせを使用して行われることができる。
【００７５】
次にステップ７５では、接続マネージャ１３０は、ステップ７４においてＰＤマネージャ１２０により提供された選択パラメータに基づいて、ＲＦトランシーバ（送信機−受信機）２３０を経由して適切であり利用可能なネットワーク・インターフェースへのデータ通話の起動を開始する。適切であり利用可能なインターフェースは、ステップ７４においてパケット・データ・マネージャ１２０により提供されたパラメータに基づいてモデム・プロセッサ２００により起動される。パケット・データ・マネージャ１２０により提供されるパラメータは、データ通話が開始される各回ごとに異なることがあり得る。パラメータは、利用可能な１つのネットワーク又は複数のネットワークに依存して変わることがある。
【００７６】
ステップ７６では、一旦、適切なデータ・ネットワーク接続９１がＲＦトランシーバ・ユニット２３０を経由してアクティブになると、接続マネージャ１３０は、最終のインターフェース・パラメータを無線通信ネットワーク３００に問い合わせ、そしてこの情報（ＡＰＮ、デバイスＩＰアドレス、通話のタイプ）をパケット・データ・マネージャ１２０へ返す。
【００７７】
ステップ７７では、パケット・データ・マネージャ１２０は、パケット交換データ通話が良好に通じたことをパケット・データＡＰＩ２２０を介して接続共有マネージャ２９０に通知する。パケット・データ・マネージャ１２０は、次にユーティリティ・サーバ３０２をアクセスするために必要なネットワーク情報をパケット・データＡＰＩ２２０と接続共有マネージャ２９０とを経由してユーティリティ・エンジン２５０，２５１に提供する。接続共有マネージャ２９０のためのネットワーク情報は、上記のステップ７３において生成された接続要請情報を含むことができる。この接続要請情報は、インターフェース名／技術（ＣＤＭＡ，ＵＭＴＳ，ＷＬＡＮ，等）、インターフェース・ファミリー（ＩＰｖ４、ＩＰｖ６、等）、及びインターフェース特有の情報（ＵＭＴＳに関して、ＡＰＮ名、ＰＤＰタイプ、ＱｏＳ、ドメイン名、ドメインによりサポートされるサービス、等）を含むことができる。それに加えて、ネットワーク情報は、データ通話セッションに割り当てられたインターフェースＩＰアドレスを含むことができる。
【００７８】
ステップ７８では、接続共有マネージャ２９０は、上記のステップ７７において説明されたネットワーク・インターフェース・パラメータを使用して、アプリケーション・プロセッサ１００のＰＤマネージャ１２０からのネットワーク情報を使用してもたらされるネットワーク・インターフェースを一義的に同定する。接続共有マネージャ２９０は、ＴＣＰ／ＩＰ通信スタック２６０，２６１を経由してユーティリティ・サーバ３０２からＩＰトラフィックを送るためそして受信するためにネットワーク・インターフェースへ関連するユーティリティ・エンジン２５０，２５１を縛る。接続共有マネージャ２９０は、通信スタック２６０，２６１を経由して特定の形式のデータ・パケットを、そしてネットワーク接続を共有しているアプリケーションの特定の通信スタック１４０への全ての他のものを、検査しそして配信するようにＩＰデータ・フィルタ２７０を設定する。
【００７９】
ステップ７９では、ユーティリティ・サーバ３０２からの着信のデータは、ＩＰデータ・フィルタ２７０によりＩＰデータ・トラフィックから自動的に抽出される。すなわち、ユーティリティに関連する受信データ・トラフィックは、ＩＰデータ・フィルタ２７０により取り去られ、又はフィルタで処理され、そして接続共有マネージャ２９０により設定されたように適切なユーティリティ・エンジン２５０，２５１へ配信される。具体的に、予想される特定の形式の又はユーティリティ・サーバ３０２からの全ての着信データ・パケットは、通信スタック２６０又は２６１を経由して接続共有マネージャ２９０へ配信される。そのデータ・パケットは、アプリケーション・プロセッサ１００へは転送されない。同じネットワーク接続において受信されるいずれかの他のデータ・パケットは、通信スタック２６０，２６１を経由して配信されないが、例えば、ＰＰＰインターフェース２４５を経由して、アプリケーション・プロセッサ１００へ配信される。配信は、ユーザにトランスペアレントに生じることができる。ユーティリティ・エンジン２５０又は２５１により送信される全てのデータは、同じデータ・ネットワーク接続を経由してアプリケーション・プロセッサ１００から送信されるデータと統合される、又はインターリーブされる。
【００８０】
ステップ７２Ａにおけるこの時点で、別の１つのアプリケーション・プログラム１１８は、実行を開始することができ、そしてＰＤマネージャ１２０を経由してモデム・ユーティリティ・サービスを要請することができる。それに応じて、パケット・データ・マネージャ１２０は、モデム・ユーティリティ・サービスを現在要求しているアプリケーションのカウントを増加させることができる。あるいは、このカウントは、接続共有マネージャによって維持管理されることができる。ステップ７２Ａは、プロセス中の別の時間に起きることが可能であり、そして説明目的だけのために図９にあるように配置されている。さらに、もし実行されるのであれば、第３のアプリケーションは、このプロセスの任意の時点においてユーザにより同様に開始されるはずであり、そしてパケット・データ・マネージャ１２０を経由してサービスを要求するはずである。パケット・データ・マネージャ１２０の目的は、ユーティリティ・サービスに関する全てのアプリケーション要請を管理しそして同期させることである。
【００８１】
ステップ８０は、現在アクティブなアプリケーション１１６，１１８のうちの１つが、ユーティリティ・サービスをこれ以上必要としないかどうかを判断する。これは、特定のアプリケーション１１６，１１８が実行することを中止してしまった、又は指定された時間の期間（タイム−アウト期間）のあいだサービスを使用しなかったためであり得る。あるいは、アプリケーション１１６，１１８は、ユーティリティ・サービスが最早必要とされないことをＰＤマネージャに明確に知らせることができる。いずれのケースにおいても、パケット・データ・マネージャ１２０、又は代わりに接続共有マネージャ２９０、は、不必要なサービスを提供しているユーティリティ・エンジン２５０，２５１を利用するアプリケーションのカウントを減少させる。カウントがゼロでない場合には、パケット・データ・マネージャ１２０は、サービスを現在必要としている別のアプリケーションをサポートし続け、そのためプロセスはステップ７９において継続する。
【００８２】
パケット・データ・マネージャ１２０によって減少されるので、特定のユーティリティ・エンジン２５０，２５１を使用しているアクティブなアプリケーションのカウントがゼロである場合には、ステップ８１が、次に実行されることができる。ステップ８１では、パケット・データ・マネージャ１２０は、パケット交換データ通話が接続共有マネージャ２９０と共有されることを最早要求されないことを接続マネージャ１３０に通知する。いずれのアプリケーションも接続共有マネージャ２９０とパケット交換データ通話を現在共有していない場合には、接続マネージャ１３０は、データ通話を打ち切る。いかなるケースでも、ＰＤマネージャ１２０は、ステップ８２において、特定のユーティリティ・エンジン２５０，２５１を停止するように、パケット・データＡＰＩ２２０を経由して接続共有マネージャ２９０に通知する。ステップ８２は、ＩＰデータ・フィルタ２７０を再設定することを含むことができる、その理由は、フィルタで除去されそして特定のユーティリティ・エンジン２５０，２５１へ配信されようとしている、ユーティリティ・サーバ３０２からのユーティリティ関連のデータ・パケットが最早何もないためである。
【００８３】
図２，図５及び図９の複数のステップを実行するために使用するハードウェアは、命令の集合を実行するように構成された処理素子及びメモリ素子であり得る、ここにおいて、該命令の集合は、上記のイベントに対応する方法のステップを実行するためにものである。あるいは、あるステップは、所与の機能に特有である電子回路により実行されることができる。
【００８４】
本明細書中に開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路及びアルゴリズムのステップが、電子ハードウェア、コンピュータ・ソフトウェア又は両者の組み合わせとして与えられることができることを、当業者は、認識するはずである。ハードウェアとソフトウェアのこの互換性を明確に説明するために、様々な例示的な複数の構成要素、ブロック、モジュール、回路、及びステップが、それらの機能性の面から一般的に上に説明されてきている。そのような機能性が、ハードウェア又はソフトウェアとして与えられるかどうかは、個別のアプリケーション及びシステム全体に課せられた設計の制約に依存する。知識のある者は、説明された機能性をそれぞれの個別のアプリケーションに対して違ったやり方で実行することができる。しかし、そのような実行の判断は、開示された方法の範囲からの逸脱を生じさせるように解釈されるべきではない。
【００８５】
本明細書中に開示された実施形態に関連して述べられた、様々な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ：digital signal processor）、用途特定集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：field programmable gate array）又は他のプログラマブル論理デバイス、ディスクリート・ゲート論理回路又はトランジスタ論理回路、ディスクリート・ハードウェア・コンポーネント、又は本明細書中で説明された機能を実行するために設計されたこれらのいずれかの組み合わせで、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算装置の組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアとともに１又はそれより多くのマイクロプロセッサの組み合わせ、若しくはいずれかの別のそのような構成の組み合わせ、として与えられることができる。
【００８６】
本明細書中に開示された実施形態に関連して説明された方法又はアルゴリズムは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、ＣＤ−ＲＯＭ、又はこの技術において公知のいずれかの他の記憶媒体の中に存在することができる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めることができるようにプロセッサに接続される。代案では、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、ＡＳＩＣ中に存在できる。ＡＳＩＣは、ユーザ端末中に存在できる。代案では、プロセッサ及び記憶媒体は、ユーザ端末中に単体素子として存在できる。
【００８７】
本発明が具体的に例の実施形態を参照して記述されてきているが、記述した実施形態への様々な変形、代案、及び変更は、添付された特許請求の範囲に規定されるように、本発明の領域及び範囲から乖離することなく可能である。したがって、本発明は、記述された実施形態に制限するのではなく、特許請求の範囲の文言により規定される全体の範囲、及びそれに等価なものを有するように、意図されている。
【図１】
2009545035.tif 000003
【図２】
2009545035.tif 000004
【図３Ａ】
2009545035.tif 000005
【図３Ｂ】
2009545035.tif 000006
【図４Ａ】
2009545035.tif 000007
【図４Ｂ】
2009545035.tif 000008
【図５】
2009545035.tif 000009
【図６】
2009545035.tif 000010
【図７】
2009545035.tif 000011
【図８】
2009545035.tif 000012
【図９】
2009545035.tif 000013
【国際調査報告】
2009545035.tif 000014
2009545035.tif 000015
2009545035.tif 000016