JP2009545035A - マルチ−プロセッサ環境におけるユーティリティ・サービス - Google Patents

マルチ−プロセッサ環境におけるユーティリティ・サービス Download PDF

Info

Publication number
JP2009545035A
JP2009545035A JP2009521027A JP2009521027A JP2009545035A JP 2009545035 A JP2009545035 A JP 2009545035A JP 2009521027 A JP2009521027 A JP 2009521027A JP 2009521027 A JP2009521027 A JP 2009521027A JP 2009545035 A JP2009545035 A JP 2009545035A
Authority
JP
Japan
Prior art keywords
gps
utility
network connection
engine
data packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009521027A
Other languages
English (en)
Other versions
JP4995908B2 (ja
Inventor
バンガラ、ベンカタ・サティシュ・クマー
バッバー、アッピンダー・シング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009545035A publication Critical patent/JP2009545035A/ja
Application granted granted Critical
Publication of JP4995908B2 publication Critical patent/JP4995908B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/02Hybrid access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ユーティリティ・エンジンとアプリケーションとの間でネットワーク接続を共有する電気通信デバイスのための方法及びシステム。ユーティリティ・エンジンとアプリケーションの発信されるデータが共有ネットワーク接続を介して統合される間に、着信データは、IPデータ・フィルタを介してフィルタで処理されて、ユーティリティ・エンジン特有のデータを該ユーティリティ・エンジンへ配信し、一方で全ての他のデータが該アプリケーションによる使用のために通過することを可能にする。複数のユーティリティは、様々な形式のユーティリティ・エンジンによりサポートされることができる。そのようなユーティリティの中にあるものは、GPSサービスであり、そこでは、GPS関連データは、GPSサーバから受信されることができ、そして該GPSサーバによって決定される位置に基づいて位置に特有の情報を提供するアプリケーションにより利用されることができる。

Description

本発明は、1つの、共有ネットワーク接続を経由してGPS特有の情報及びアプリケーション特有の情報を送信するためそして/又は受信するための方法及びシステムに関係する。
[関連出願への相互参照]
本出願は、その全体が本明細書中に引用により取り込まれている、2006年7月20日に出願した米国特許仮出願番号第60/832,347号、名称“マルチ−プロセッサ・マルチ−モード環境におけるGPSサービス”に優先権を主張する。
電気通信デバイス(無線モデムを装備するラップトップ、PDAデバイス、スマート・フォーン、等)の移動性の増大は、位置に関連する情報を提供することができる又は利用することができるソフトウェア・アプリケーションを産み出してきている。そのようなアプリケーションは、例えば、最新のディジタル地図、(レストラン、商業施設、及び小売店のような)近隣の施設の住所、ローカルな天気予報、個人住所録からの近隣の記載項目のリスト、又はローカルな地理的データ、を含むことができる。ソフトウェア・アプリケーションそれ自身は、アプリケーション・プロセッサ上で作動するが、様々な位置に基づくアプリケーションの入力としてデバイスの所在地を取り込むために外部GPS(全地球測位システム:Global Positioning System)情報を利用することができる。
複雑な、GPSを利用可能にする移動デバイス、特に複数のプロセッサを有するものは、GPSに関連するデータ・トラフィックとアプリケーションに関連するデータ・トラフィックとの間で所与のネットワーク接続を共有する又は多重化する方法を必要とすることがある。これは、たった1つのポイント−ツー−ポイント(PPP)接続が同時に所与のネットワークに対して利用可能であるという理由のためである。
移動電気通信デバイス(移動デバイス)のある実施形態は、少なくとも1つのアプリケーション・プロセッサと同様に少なくとも1つのモデム・プロセッサを含む、1又はそれより多くのプロセッサを含むことができ、該モデム・プロセッサはアプリケーション・プロセッサ上で作動している1又はそれより多くのアプリケーションにより要求されるユーティリティ又はサービスの実装をサポートすることができる。アプリケーション・プロセッサは、複数のソフトウェア・アプリケーション・プログラムを管理しそして実行することができ、同様にユーザ・インターフェースを制御することができる。モデム・プロセッサは、1又はそれより多くの固定基地局、提携ネットワーク、及びネットワーク・サーバへの最も低いレベルの無線リンク及びプロトコル・リンク並びに無線周波数物理リソースを管理することができる。モデム・プロセッサは、アプリケーション・プロセッサとモデム・プロセッサとの間の相互情報交換のためのアプリケーション・プログラミング・インターフェース(API:application programming interface)を同様に提供することができる。そのようなユーティリティ又はサービスの一例は、アプリケーション・プロセッサ上で作動しているアプリケーションへのGPSサービスを提供するモデムに接続された又はその中で作動しているGPSエンジンである。モデム・プロセッサのような1つのプロセッサ上で利用可能なユーティリティ又はサービスは、それらの機能を果たすことのための一部として外部データ・ソースをアクセスする必要があり、同時に、アプリケーション・プロセッサ上で作動しているアプリケーションは、別の外部データ・ソースをアクセスしている。この状況は、複数のアプリケーションが同時に外部ネットワークをアクセスすることを可能にする配信経路の問題を引き起こす。この配信経路の問題を解決するために、ある実施形態は、IPデータ・フィルタリング機構を含み、別の外部サーバをアクセスする2つのアプリケーションによる同時のデータ伝達を可能にする。さらに、ある実施形態は、複数のアプリケーションの間で(GPS座標情報のような)共通のサービス情報を共有するためのアプリケーション・インターフェースを提供する。
別の1つ実施形態では、モデム・プロセッサ上で作動している1又はそれより多くのユーティリティ・エンジンは、ネットワーク接続へのアクセスを必要とする。そうするために、ユーティリティ・エンジンは、様々なネットワーク接続の中から選択する必要があり、そしてアプリケーション・プロセッサ上で作動しているアプリケーションとの1又はそれより多くのアクティブなデータ・ネットワーク接続を共有する必要があり得る。アプリケーション・プログラムとデータ・ネットワーク接続を共有するために、ユーティリティ・エンジンは、IPデータ・フィルタを開始することができて、共有データ・ネットワーク接続を経由するパケット・データ・トラフィックをモニタする。フィルタは、ユーティリティ・エンジンに直接関係する全てのデータ・パケットを該ユーティリティ・エンジンに配信し、そして該ネットワーク接続を共有するアプリケーションへ全ての他のデータ・パケットを配信する。
複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及びGPSエンジンを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。 本発明の実施形態に関するステップのシーケンスを説明するプロセス・フロー図である。 1又はそれより多くのGPSアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。 1又はそれより多くのGPSアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。 1又はそれより多くのGPSアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。 1又はそれより多くのGPSアプリケーションを有する代替の実施形態のシステム・ブロック図を図示する。 1又はそれより多くのGPSアプリケーションを有する実施形態に関するステップのシーケンスを説明するプロセス・フロー図である。 アプリケーション・プロセッサとパケット・データ通話を共有するモデム・プロセッサにおいて1又はそれより多くのシステム・プログラムを有する代替の実施形態のシステム・ブロック図を図示する。 複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及びGPSエンジンとユーティリティ・エンジンとを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。 複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及び2つのユーティリティ・エンジンを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。 1又はそれより多くのユーティリティ・エンジンを有する実施形態に関するステップのシーケンスを説明するプロセス・フロー図である。
詳細な説明
本明細書中に取り込まれそして本明細書の一部を構成する添付されている図面は、現在の好ましい実施形態を説明し、そして、上記に与えられた一般的な説明及び下記に与えられる詳細な説明とともに、該実施形態の特徴を説明することに役立つ。
本発明の様々な実施形態が、添付されている図面を参照して詳細に説明される。可能な限り、同じ参照番号が、同じ部分又は同様な部分を参照するために図面全体を通して使用される。
実施形態の移動デバイスは、少なくとも1つのアプリケーション・プロセッサ、同様に少なくとも1つのモデム・プロセッサを含んでいる、1又はそれより多くのプロセッサを含むことができる。少なくとも1つのモデム・プロセッサは、少なくとも1つのユーティリティ・エンジンの実行をサポートすることができる。ユーティリティ・エンジンは、複数のアプリケーションにより利用されるサービス又はデータを提供するプロセス又は回路/プロセスである。GPSエンジンは、ユーティリティ・エンジンの一例であり、その理由は、それが生成する地理的な位置情報が複数の位置に関連するアプリケーションにより使用されることができるためである。アプリケーション・プロセッサは、複数のソフトウェア・アプリケーション・プログラムを管理しそして実行することができ、同様にユーザ・インターフェースを制御することができる。少なくとも1つのモデム・プロセッサは、1又はそれより多くの固定基地局、提携するネットワーク、及びネットワーク・サーバへの最も低いレベルの無線リンク及びプロトコル・リンク並びに無線周波数物理リソースを管理することができる。モデム・プロセッサは、少なくとも1つのアプリケーション・プロセッサとモデム・プロセッサとの間の相互情報交換のためのアプリケーション・プログラミング・インターフェース(API)を同様に提供することができる。
モデム・プロセッサが1又はそれより多くのGPS衛星からの信号を受信するように取り込まれそして利用されることができる無線周波数受信機リソースを持っているので、GPSエンジンは、モデム・プロセッサ上で作動することができる。衛星信号を受信すると、GPSエンジンは、遠隔GPSサーバ・プロセッサへ共有ネットワーク接続を経由して情報を送ることができる。遠隔GPSサーバ・プロセッサは、GPSエンジンから受信する情報に基づいて移動デバイスの位置を計算することが可能である。一旦、移動デバイスの位置が決定されると、GPSサーバ又はある別のネットワーク・リソースは、決定した移動デバイスの位置に基づいて他の補足情報を移動デバイスに同様に提供することができる。そのような補足情報の例は、最新のディジタル地図、(レストラン、商業施設、及び小売店のような)近隣の施設の住所、ローカルな天気予報、個人住所録からの近隣の記載項目のリスト、又はローカルな地理的データ、を含むが、これらに限定されない。そのような補足情報は、そうでなければ移動デバイス上でローカルに利用可能でないことがある。
操作されたデータの量に応じて、モデム・プロセッサ上のGPSエンジンは、パケット交換データ・ネットワーク接続を使用して、遠隔GPSサーバと通信することができる。パケット交換データ・ネットワークは、従来の回路交換と比較してデータ送信速度の改善を可能にする。パケット交換データ・ネットワーク接続は、2G及び3G移動電気通信デバイスにおいて利用可能である。例えば、ユニバーサル移動電気通信システム(UMTS:Universal Mobile Telecommunication System)デバイスは、パケット交換デバイスである3Gデバイスである。
PDP(パケット・データ・プロトコル(Packet Data Protocol)、例えば、IP、X.25、FrameRelay)コンテクストは、UMTSデバイス上にあるデータ構造であり、それは加入者がアクティブなセッション(すなわち、複数のコンピュータ・システム間の情報交換の期間)を有するとき、加入者のセッション情報を含む。移動デバイスがUMTSを使用しようと望む時には、ネットワーク・プロフィールを最初に添付する必要があり、そして次に起動する必要がある。そのようなネットワーク・プロフィールは、PDPコンテクストであり得るが、それに限定されない。これは、加入者が現在アクセスしている取扱いGPRSサービス・ノード(SGSN:Serving GPRS Service Node)及び加入者アクセス・ポイントを取り扱うゲートウェイGPRSサービス・ノード(GGSN:Gateway GPRS Service Node)にネットワーク・プロフィール・データ構造を割り当てる。UMTSは、マルチキャスト・ネットワーク・プロフィール・サポートを可能にする。そのように、複数のネットワーク接続は、UMTSデバイスにより維持管理されて、複数のアプリケーションをサポートすることができる。
しかしながら、複数のPDP(パケット・データ・プロトコル)コンテクスト・サポートを有するUMTS環境において、ユーティリティ・サービス、例えば、GPSサービス、は、1つだけのネットワーク・プロフィールにおいて利用可能であり得る。モデム上のGPSエンジンは、GPSサーバと協働する特定のネットワーク・プロフィールにより構成されることができる。ユーティリティ・エンジン(例えば、GPSエンジン)をサポートしているネットワーク・プロフィールが別のアプリケーション・プロセスにより既に使用中である場合には、ユーティリティ・エンジンは、アプリケーション・プロセッサ上で作動しているアプリケーションとデータ・ネットワーク接続を“ピギーバック(piggyback)”する、又は共有することができる。
ユーティリティ・エンジンそれ自身、接続マネージャ、又は別のソフトウェア・モジュールは、共有されるべき適切なデータ・ネットワーク接続を選択することができる。唯1つのIPアドレスが所与のドメインからPDP起動の期間に移動デバイスに割り当てられるので、複数のプロセッサ上の1又はそれより多くのアプリケーションとネットワークとの間のデータ伝達を同時にサポートしようと試みる際に配信経路の問題があり得る。この配信経路の問題を解決するために、ある実施形態は、ユーティリティ・エンジン特有の情報及びアプリケーション特有の情報の同時のデータ伝達のためにIPデータ・フィルタリング機構を含むことができる。さらに、ある実施形態は、位置情報を複数のアプリケーションの間で共有するためにアプリケーション・インターフェースを提供することができる。
様々なユーティリティ・エンジンは、例えば、GPSエンジンを含んでいる移動デバイスにより使用されることができる。説明を容易にするために、様々な実施形態の体系化及び機能が、GPSエンジンを参照して最初に説明される、その理由は、GPSサービスが複数のアプリケーションによって使用されることが可能なユーティリティ・サービスの一例であり、そして外部データ・ソース(すなわち、GPSサーバ)への同時のネットワーク接続を必要とするためである。一般的な1つのユーティリティ・エンジン又は複数のユーティリティ・エンジンを有する移動デバイスの実施形態が、図7−9を参照して次に説明される。
セルラ電話機、ハンドセット、ラップトップ・モデムのような、マルチモード移動デバイスにおいて、データの送信及び受信のための複数のパケット・データ・ネットワーク接続及び利用可能な複数のネットワークがあり得る。それに加えて、マルチモード移動デバイスは、様々な無線技術(例えば、1x、EvDO、UMTS、WLAN、及びWiFi)を利用する複数の無線ネットワーク及び複数のIPネットワーク(例えば、IPv4、IPv6)へのアクセスを有することができる。UMTSネットワークが同時に複数のドメインへの接続をサポートすることが可能である一方で、複数のデータ・ネットワーク接続のうちの1つだけが、GPSサービスをサポートすることができる。そのような複数のデータ・ネットワーク接続のシナリオにおいて、マルチモード移動デバイスは、ネットワークを経由してGPSサービスをサポートしているデータ・ネットワーク接続を同定することができる。一旦、そのデータ・ネットワーク接続が同定されると、そのデータ・ネットワーク接続は、GPSサービスを受信するためにGPSエンジンに割り当てられることができる。
しかしながら、GPSサービスをサポートしているデータ・ネットワーク接続は、他のGPSサービス・アプリケーション及び非GPSサービス・アプリケーション、例えば、インターネット接続、のために遠隔サービスを同様に提供することができる。特に、GPSサービスをサポートするデータ・ネットワーク接続は、マルチモード・デバイス上で同時に作動しているGPSエンジンとアプリケーション・プログラムとの間で共有される必要があり得る。アプリケーション・プログラムは、GPSアプリケーションである必要はない。データ・ネットワーク接続を共有しているアプリケーション・プログラムとGPSエンジンとの間の唯一の関係は、両者が同じデータ・ネットワーク接続への必須の同時のアクセスを必要とすることであり得る。接続マネージャは、移動デバイスにより使用されることができて、限られた数の可能なデータ・ネットワーク接続を割り当て、そしてデータ・ネットワーク接続を共有することを管理することができる。
具体的に、複数のPDPサポートを有するUMTS環境において、移動デバイスは、同時にアクティブである複数のネットワーク・プロフィールを有することが可能である。GPSサービスのIPアドレスを含むことができる1つのネットワーク・プロフィールは、GPSエンジンにより必要とされることがある。ネットワーク・プロフィール・パラメータは、ネットワーク・プロフィール番号、APN名、PDPタイプ、IPネットワーク・ファミリ(v4又はv6)、及び技術タイプ(例えば、CDMA/EV−DO,GSM/GPRS,UMTS,WLAN,等)を含むことができる。PDA、スマート・フォーン、ラップトップ中に搭載されたモデムのようなデバイスのある種のタイプ(形状因子)に関して、パラメータ設定値は、アプリケーション・プロセッサ上で設定されることができ、そして全てのパケット・データ接続は、アプリケーション・プロセッサにより割り当てられることができる。パラメータ設定値は、独立型のセル電話機又は制限されたラップトップ・コンピュータのためのモデムとして動作するセル電話機のケースにおけるように、モデム・プロセッサにより代わりに割り当てられることが可能である。
一方で、必ずしもGPSに関連する必要はないが、アプリケーション・プログラムは、GPSエンジンのネットワーク・プロフィールに関連する同じデータ・ネットワーク接続へのアクセスを必要とすることがある。すなわち、アプリケーション・プログラム及びGPSエンジンは、同じパケット・データ通話を共有する必要がある。
図1は、複数のデータ・ネットワーク接続を管理するアプリケーション・プロセッサ及びGPSエンジンを有するモデム・プロセッサを含んでいる実施形態のシステム・ブロック図を図示する。図1に示されるように、移動デバイス90は、1又はそれより多くのプロセッサ100,200及びGPSエンジン210を含むことができる。図示された実施形態では、移動デバイス90は、少なくとも1つのアプリケーション・プロセッサ100及びモデム・プロセッサ200を有する。
アプリケーション・プロセッサ100は、複数のソフトウェア・アプリケーション・プログラムを管理しそして実行することができる。例えば、アプリケーション・プロセッサ100は、少なくともGPSアプリケーション110、無線アプリケーション・プロトコル(WAP:wireless application protocol)アプリケーション111、インターネット・エクスプローラ・アプリケーション112、及びマルチメディア・メッセージ・サービス(MMS:Multimedia Message Service)アプリケーション119、同様に他のソフトウェア・アプリケーションを管理することができる。アプリケーション・プロセッサ100は、ディスプレイ及びキーパッド又はキーボード(図示されず)を通してユーザ・インターフェースを同様に制御することができる。
モデム・プロセッサ200は、無線周波数物理リソース及び最も低いレベルの無線リンク及びプロトコル・リンク91を管理することができる。無線リンク及びプロトコル・リンク91は、1又はそれより多くの無線通信ネットワーク300との無線通信を提供することができる。モデム・プロセッサ200は、アプリケーション・プロセッサ100とモデム・プロセッサ200との間のデータ情報交換及び相互制御のためにアプリケーション・プロセッサ100へAPI(application programming interface:アプリケーション・プログラミング・インターフェース)220を同様に提供することができる。
モデム・プロセッサ200が通信リンクを設定する無線通信ネットワーク300は、一般的に少なくとも1つの固定基地局及び少なくとも1つのデータ・サーバ(図示されず)を含む。少なくとも1つのデータ・サーバは、それ自身がGPSサーバ301であり得る又はGPSサーバ301を含むことができる。
図1は、アプリケーション・プロセッサ100とモデム・プロセッサ200の両方が同一の統合ユニット、例えば、スマート・フォーン又はPDA(personal data assistant:個人データ補助装置)、の内部に含まれている実施形態を図示する。あるいは、アプリケーション・プロセッサ100とモデム・プロセッサ200は、別々のユニット中にあることができる。例えば、ラップトップ・コンピュータは、モデムとして動作するセル電話機へつなげられることができる。そのような事例では、アプリケーション・プロセッサ100は、ラップトップ・コンピュータ中に置かれ、一方でモデム・プロセッサ200は、GPSを利用可能なセルラ電話機又はラップトップへ接続された無線アダプタ中にある。この例の代わりの構成では、ラップトップと電話機/アダプタをつないでいるローカル接続は、例えば、それを通して制御メッセージ及びデータが流れる有線ケーブル、ブルートゥース・リンク、又は赤外線接続であり得る。
GPSエンジン210は、モデム・プロセッサ200上で作動しているソフトウェア・モジュールであり得る。あるいは、GPSエンジン210は、ASICチップのような、ハードウェア又はファームウェアの形式であり得る。GPSエンジン210は、1又はそれより多くのGPS衛星400から無線信号92を受信するために、モデム・プロセッサ200内に見られる無線周波数トランシーバ(送信機−受信機)230を共有しそして利用することができる。すなわち、ネットワーク通信のために通常使用される、無線周波数トランシーバ230の受信機リソースは、GPS衛星信号受信のためにタイム・シェアリングされる又は一時的に取り込まれることができる。これは、増幅器又はフィルタのようなトランシーバ230回路の一部、メモリ・ユニット及びデータ接続と配信回路、又はGPS衛星時間信号を受信するためのトランシーバ230の信号デコーディング方式及び一時的に変化する受信周波数のような、中央トランシーバ回路及び機能のタイム・シェアリング、を含むことができる。
十分な数の衛星400からGPS衛星信号を受信しそしてデコードすると、GPSエンジン210は、TCP/IP又は類似の通信スタック240を経由して送信されるように、ディジタル・データ形式へとGPS衛星信号を処理する。
処理されたディジタル・データ信号は、次にGPSサーバ301へ無線通信ネットワーク300を介して無線トランシーバ230を経由して送信されることができる。GPSサーバ301は、GPSエンジン210から受信されるGPS衛星信号をさらに処理することができて、移動デバイス90の位置座標及び/又は追加の補足位置情報を決定することができる。GPSサーバ301により決定される位置データは、次に、無線通信ネットワーク300を介してGPSエンジン210へ送信して戻される。そのような位置関連情報は、移動デバイス90上ではそうでなければローカルに利用可能ではないことがあり得る。GPSサーバ301により提供される情報は、例えば、街区住所、市、郡、国又は他の行政地域に関する移動デバイスの位置を同定することができる。移動デバイス内に置かれるモデム・プロセッサ200が、重大な、時間のかかる、高精度の、3次元地理的計算を実行するために十分なハードウェアを欠くことがあるために、移動デバイスは、組み込みハードウェア浮動小数点計算ユニットを欠くことがあるモデム・プロセッサ200上で計算を実行する代わりに、そのような計算を外部GPSサーバ301へオフロードすることを求めることができる。そのように、GPSエンジン210の実施形態は、データ・ネットワーク接続へのアクセスを必要とすることができ、必要なGPSデータをGPSサーバ301へ送りそして受信することができる。
外部GPSサーバ301と通信するために、モデム・プロセッサ200上のGPSエンジン210は、ソフトウェア通信スタック240により与えられるような、データ・ネットワーク接続を必要とする。具体的に、複数のネットワーク・プロフィール・サポートを有するUMTS環境において、GPSサービスは、1つだけのネットワーク・プロフィール上で利用可能であり得る。モデム・プロセッサ200上のGPSエンジン210は、特定のGPSサーバ301と関係付けられる特有のネットワーク・プロフィールで構成されることができる。この特定の構成又は供給(provisioning)情報は、GPSエンジン210から接続マネージャ130へ渡される必要があり得る。それを行うための直接情報パスがあり得る一方で、良く設計されたパケット・データ(PD)アプリケーション・インターフェース220は、さらに構造化され、そしてより規則正しいソフトウェア・プロトコルでパケット・データ・マネージャ120を経由してその情報を渡すことができる。
アプリケーション・プロセッサ100上で作動しているGPS位置決めサービスを、同様に他のアプリケーション・プログラムをサポートするために、GPSエンジン210は、複数の可能性のあるデータ・ネットワーク接続140のうちの1つをアプリケーション・プロセッサ100と共有する必要があり得る。これは、1つだけのIPアドレスが所与のドメインからPDP起動の期間にデバイス90へ割り当てられることができるためである。それゆえ、無線通信ネットワーク300からGPSエンジン210へデータ・パケットを、同様にアプリケーション・プロセッサ100上で実行している1又はそれより多くのアプリケーション・プログラム110,111,112,...,119を正しく配信する複数の別の方法があることが必要とされ得る。
この配信経路の問題を解決するために、ある実施形態は、同じデータ・ネットワーク接続を経由して−すなわち、1つの割り当てられたIPアドレスを共有することによって−GPS特有の情報及びアプリケーション特有の情報を同時にデータ伝達するためのIPデータ・フィルタ242を含むことができる。フィルタ242は、特有の、予期されるフォーマット又はコンテントを有するデータ・パケットを待ち受けるためにデータ・パケットを特にモニタするソフトウェア・モジュールである。図1に図示される一例の実施形態では、IPデータ・フィルタは、GPSサーバ301からのGPS関連データ・パケットを特に待ち受けそして分離するように構成される。GPS関連フォーマット又はコンテントは、TCPポート番号及びIPアドレス又はデータ・パケット中のソース・アドレスに基づいてGPSサーバ301から発せられるとしてデータ・パケットを同定する他の固有のコンテント、を含むことができる。IPデータ・フィルタ242がGPSに関係するとしてあるパケットを同定する場合に、そのパケットは、GPSエンジン210へ渡される。それ以外は、IPデータ・フィルタ242は、PDP起動、ネットワーク接続、及びIPアドレスを共有しているアプリケーション・プログラムへパケットをそのまま渡す。類似の方式で動作すると、IPデータ・フィルタ242は、デバイス90上で1より多くのアプリケーション・プログラムが同じPDP起動、ネットワーク接続、及びIPアドレスを共有することを同様に可能にすることができる。
ある実施形態は、接続マネージャ130とGPSエンジン210との間でデータ・ネットワーク接続選択に関する情報を共有するために次の手順を利用することができる。接続マネージャ130がデータ・ネットワーク接続を担当している一方で、GPSエンジン210は、GPSデータ・サービスを受信するためにどちらのPDP起動を使用するかを指示する必要があり得る。すなわち、別々のプロセッサ上のこれらのソフトウェア・エンティティ間で情報を提供する“ハンドシェーキング”をする必要があり得る。
GPSエンジン210と共有されるデータ・ネットワーク接続は、GPSアプリケーション110がおそらく使用しているものと同じデータ・ネットワーク接続でないことがある。すなわち、GPSエンジン210は、ネットワーク・リソースへのアクセスを要求しているある別のアプリケーションとデータ・ネットワーク接続を共有していることがあり得る。例えば、GPSエンジン210は、GPSサーバ301との通信のために特定のPDP起動、データ・ネットワーク接続、及びIPアドレスを要求することがある。しかしながら、GPS位置決定を開始するGPSアプリケーション110は、別のネットワーク上の、そしてそれゆえ、別のPDP起動及びネットワーク接続を経由して、あるネットワーク・リソースをアクセスしていることがある。ネットワーク・リソースは、例えば、地図グラフィックス又は地理的なデータのソースであり得る。
具体例の実施形態の動作が、図1と図2の両方を参照して説明される。図1は、複数の構成要素を接続しているデータ・フロー経路及び/又は制御フロー経路とともにアプリケーション・プロセッサ、モデム・プロセッサ、及びネットワークのGPSサーバの様々な情報交換をする構成要素を示す。図1の制御経路及びデータ経路は、図2に示される対応する機能ステップの番号により認識され、それは制御フロー経路及び/又はデータ・フロー経路を経由する情報の流れを引き起こす。
ステップ1では、パケット・データ・マネージャ120は、モデム・プロセッサ200中のパケット・データ・アプリケーション・プログラミング・インターフェース(PD API)220を経由してGPSエンジン210からのサービスを要請する。このステップの一部として、パケット・データ・マネージャ120は、GPSエンジン210から通信パラメータ、例えば、要求されるGPSサービスを提供する供給ネットワーク接続、所望のインターフェース・ファミリー・タイプ、又はGPS決定セッションが既に進行しているかどうか、を取得することができる。このようにして、パケット・データ・マネージャ120は、GPSデータをサポートするネットワーク接続を認識することができる。この制御フロー・ステップ1は、PS(packet switched:パケット交換)データ接続の管理で始まる。
ステップ2では、ユーザは、GPS位置情報を必要とするアプリケーションを起動することができる。例えば、ユーザは、彼の/彼女の移動デバイス90を利用して、最も近いゴルフ・コースへの運転方向指示を取得することができる。移動デバイス90上に記憶されたGPSアプリケーション110を起動することは、パケット・データ・マネージャ120へ送られる要請が移動デバイス90の位置を決定するためにGPS位置決定セッションを開始するようにさせる。順番にパケット・データ・マネージャ110は、パケット・データAPI220へ信号を送ることができ、その結果、移動デバイス90の位置を決定するための要請がGPSエンジン210へ転送される。GPSサービスをサポートするデータ・ネットワーク接続がステップ1において既に認識されている場合には、パケット・データ・マネージャ120は、信号をGPSエンジン210へ送り、使用されようとしている認識されたデータ・ネットワーク接続をGPSエンジン210に知らせる。
ステップ3では、GPSエンジン210は、パケット交換データ通話を開始しようと試みる。そうするために、GPSエンジン210は、パケット・データ・マネージャ120へ信号を送り、要請されたネットワーク・インターフェース(CDMA,UMTS,WLAN,...)を開始する。(供給UMTS PDPコンテクストのような)要請されたインターフェースは、無線通信ネットワーク300を経由してGPSサーバ301へGPSエンジン210を接続するために適したものである。GPSエンジン210は、要請されたインターフェース名、ファミリー・タイプ、及びパケット交換データ通話を実行するための技術をパケット・データ・マネージャ120に提供することができる。CDMA,UMTS,WLAN、等を特定する一方で、GPSエンジン210は、特定のIPバージョン(IPv4、IPv6、等)を同様に要請することができる。特にUMTSに関して、GPSエンジン210は、インターフェース要請のパラメータとして、アクセス・ポイント名(APN)、PDPタイプ(例えば、IP、X.25、FrameRelay)、所望のサービスの品質(QoS:quality of service)、等を提供することができる。これらのパラメータは、特定のサーバへのデータ・ネットワーク接続を完全に設定するために必要とされることがある。
ステップ4では、パケット・データ・マネージャ120は、接続マネージャ130を経由してパケット交換(PS)データ通話の開始を要請する。データ通話を行うためのパラメータは、ステップ3においてGPSエンジン210から得られることができ、そして接続マネージャ130へ渡されることができる。あるいは、APN名、PDPタイプ、IPファミリー等、のようなデータ通話パラメータは、ネットワーク・プロバイダにより内部的に供給されることができる。それに応じて、接続マネージャ130は、パケット・データ・マネージャ120により提供されるパラメータに基づいて適切であり利用可能なインターフェースを呼び出すようにモデム・プロセッサ200を管理する。
ステップ5では、接続マネージャ130は、ステップ4においてパケット・データ・マネージャ120により提供される選択パラメータに基づいてRFトランシーバ(送信機−受信機)230を経由して適切であり利用可能なネットワーク・インターフェースの起動を要請する。パケット・データ・マネージャ120により提供されるパラメータは、データ通話が開始される各回ごとに異なることがあり得る。パラメータは、移動デバイス90の位置及び利用可能な1つの又は複数のネットワークに応じて変わることがある。
ステップ6では、一旦、適切なネットワーク・インターフェース接続91がRFトランシーバ・ユニット230を経由して動作すると、接続マネージャ130は、無線通信ネットワーク300に最終的なインターフェース・パラメータを問い合わせ、そしてパケット・データ・マネージャ120へこの情報(APN,デバイスIPアドレス、通話のタイプ)を返す。
ステップ7では、パケット・データ・マネージャ120は、パケット交換データ通話が良好に通じたことを、パケット・データAPI220を介してGPSエンジン210に通知する。パケット・データ・マネージャ120は、次に、GPSサーバ301をアクセスするためにGPSエンジン210にとって必要なネットワーク情報を、パケット・データAPI220を介して、GPSエンジン210に提供する。GPSエンジン210のためのネットワーク情報は、上記のステップ3において生成される接続要請情報を含むことができる。この情報は、インターフェース名/技術(CDMA,UMTS,WLAN、等)、インターフェース・ファミリー(IPv4、IPv6、等)及びインターフェース特有の情報(UMTSに関して、APN名、PDPタイプ、QoS、ドメイン名、ドメインによりサポートされるサービス、等)、を含むことができる。それに加えて、ネットワーク情報は、データ通話セッションに対して割り当てられたインターフェースIPアドレスを含むことができる。
ステップ8では、GPSエンジン210は、提供されたネットワーク・インターフェース・パラメータを使用して、アプリケーション・プロセッサ100のパケット・データ・マネージャ120からのネットワーク情報を使用して取り出されるネットワーク・インターフェースを一義的に同定する。GPSエンジン210は、TCP/IP通信スタック240及びIPデータ・フィルタ242を経由してGPS位置決定のためのIPトラフィックを送るためそして受信するためにネットワーク・インターフェースに縛る(bind)。
ステップ9では、ネットワークGPS情報は、IPデータ・フィルタ242及びTCP/IP通信スタック240を使用してIPデータ・トラフィックから自動的に抽出される。すなわち、GPSに関連する受信したデータ・トラフィックは、IPデータ・フィルタ242により取り去られ、又はフィルタで処理され、そしてGPSエンジン210へ配信される。具体的に、予期される、特定のGPSに関連する形式の各着信データ・パケットは、通信スタック240を経由してGPSエンジンへ転送される。同じネットワーク接続上で受信されるいずれの他のデータ・パケットも、通信スタック240を経由して配信されない、しかし、例えば、PPPインターフェース245を経由してアプリケーション・プロセッサ100へ配信される。この配信は、ユーザにトランスペアレントに生じることができる。GPSエンジン210により送信された任意のデータは、同じネットワーク接続を経由してアプリケーション・プロセッサ100から送信されたデータと結合される、又はインターリーブされる。
ステップ10では、GPSサービスを使用するアプリケーションは、さらにGPS位置決定が必要とされるかどうかを判断する。もしそうであれば、ステップ9と10は、不定の回数繰り返される。
ステップ11では、これ以上GPS位置決定が必要とされない場合には、GPSアプリケーション110は、GPSサーバとのセッションを停止するようにパケット・データ・マネージャ120に通知する。あるいは、パケット・データ・マネージャ120は、GPSアプリケーション110がある時間の期間にわたりGPS位置決定を要請していないことを検出することができる。そのような時間切れ期間は、アプリケーションがユーザにより決して明確に終了されないことがある移動デバイスにおいて必要であり得る。いずれのケースにおいても、パケット・データ・マネージャ120は、パケット交換データ通話がGPSエンジン210とこれ以上必要とされないことを、接続マネージャ130に通知する。パケット交換データ通話が複数のアプリケーション・プログラムとこれ以上共有されることがない場合には、通話は、打ち切られる。パケット交換データ通話が複数のアプリケーション・プログラムによって使用中である場合には、通話は、接続マネージャ130によって打ち切られず、そしてアプリケーション・プロセッサ100の動作は、通常のように継続する。
ステップ12では、パケット・データAPIは、パケット交換データ通話が打ち切られていることをGPSエンジンに通知し、そしてGPS関連データ・パケットをさらにフィルタで取り去る必要がないのでIPデータ・フィルタ242を終わらせる。
図1は、PPP(ポイント−ツー−ポイント・プロトコル)レベル245でアプリケーション・プロセッサ100とモデム・プロセッサ200との間の相互接続を示す。図1は相互接続140,245がPPPであるように図示するが、相互接続をPPPに限定するように意図されていないことは、注意されるべきである。プロセッサ100,200は、しかも、イサーネット又はいずれかの他のリンク層インターフェース又は専用のインターフェースを経由して、IPレベルで直接に相互接続されるはずである。
GPSエンジン210は、より高いレベルで、例えば、TCPプロトコルレベルで又はオープン・システム相互接続(OSI:open system interconnect)階層における高い方のレベルで、GPSアプリケーション・プログラム110と同様に通信することができる。
図3Aは、少なくとも1つの追加のGPSアプリケーション・プログラム115を有する実施形態を図示する。図3Aは、同じアプリケーション・プロセッサ100上で実行している2つのGPSアプリケーション110,115を示すが、同じアプリケーション・プロセッサ100上で作動しているより多くのGPSアプリケーション(図示されず)さえあり得る。あるいは、様々なGPSアプリケーション110,115は、1よりも多くが存在する場合には、1より多くのアプリケーション・プロセッサ上で実行されることができる。2つのアプリケーション・プロセッサが、図3Bに示される実施形態では含まれる。例えば、移動デバイスは、それ自身が2又はそれより多くの処理ユニットを含んでいる“デュアル・コア”又は“クァド・コア”プロセッサ・チップでさえ含むことができる。
図3Aに示されるように、代替の実施形態のIPデータ・フィルタ242は、図1の実施形態において示されたように1つのネットワーク接続を調査することとは反対に、同時に1より多くのネットワーク接続上のパケットを調査することができる。そのような構成は、同時に1より多くのネットワーク接続を共有する又はピギーバックすることを許容する。
図3Aと図3Bを参照して、実施形態は、複数のGPSアプリケーション110,115,610の間でGPSエンジン210からのGPS位置情報を共有するGPSインターフェース121を含むことができる。共有GPSインターフェース121は、単純にパケット・データ・マネージャ120の拡張であり得る。例えば、第1のGPSアプリケーション・プログラム、例えば、図3A又は図3Bのアプリケーション・プログラム110、は、図2のステップ1からステップ8に関係して上に記述したようにGPS位置決定セッションを確立することができる。次に、別のGPSアプリケーション115,610は、それぞれ、図3Aと図3Bに示されたように、共有GPSインターフェース121への通話を通して利用可能な位置情報をアクセスすることができる。GPSアプリケーション110のような、1つのアプリケーションが、図2のステップ2におけるように、パケット・データ・マネージャ120を経由してGPSサービスを開始するという理由で、図3Aと図3Bに示されたように、共有GPSインターフェース121に拡張されることは、パケット・データ・マネージャ120にとって適切であり得る。共有GPSインターフェース121は、GPSがどのようにして実装されるかを隠し、管理され、高レベルの、共有可能な、仮想GPSリソースを表すことができる。言い換えると、インターフェースは、完全に自立したGPSプロセッサが存在するときと同じであるはずである。
別の代替の実施形態では、複数のGPSアプリケーションが、同時に作動していることがある。そのような事例では、GPSエンジン210に対するパケット交換データ通話は、既にアクティブであることがある。これは、別のGPSアプリケーション115又は610がGPSサービスを要請するときに、第1のGPSアプリケーション110が既に接続されているという、理由であり得る。このケースでは、パケット・データ・マネージャ120、すなわちより具体的に共有GPSインターフェース121は、追加のGPSサービスが要請されたときに、GPSアプリケーション115又は610へ良好なステータスを単純に返すことができる。
図5は、図3A,3B,4A,4Bとともに、ネットワークへの共有パケット・データ接続を開始し管理することができ、そして2又はそれより多くのGPSアプリケーションをサポートすることができる代替の実施形態のステップのシーケンスを説明する。ステップ51では、共有GPSインターフェース121は、モデム・プロセッサ200中のパケット・データ・アプリケーション・プログラミング・インターフェース(PD API)220を経由してGPSエンジン210からのサービスを要請する。共有GPSインターフェース121は、PDマネージャ120及びPD API220を経由してGPSエンジン210から通信パラメータを取得することができる。これらの通信パラメータは、GPSサーバへの与えられたネットワーク接続、所望のインターフェース・ファミリー・タイプ、又はGPS決定セッションが既に進行中であるかどうか、を特定することができる。同様に、ある実施形態は、共有GPSインターフェース121へのチャネルの初期化を必要とすることがある。この制御フロー・ステップ51は、パケット交換データ接続の管理を始める。
ステップ52では、ユーザは、移動デバイス90のGPS位置を必要とする該移動デバイス90内に記憶されたアプリケーションを起動することができる。GPSアプリケーション110を起動することによって、要請は、共有GPSインターフェース121へ送られて、移動デバイス90の位置を決定するためにGPS位置決定セッションを開始する。順にパケット・データ・マネージャ120は、パケット・データAPI220へ信号を送ることができ、その結果、移動デバイス90の位置を決定するための要請が、GPSエンジン210へ転送される。
ステップ53では、GPSエンジン210は、パケット交換データ通話の開始を要請する。そのように行うために、GPSエンジン210は、共有GPSインターフェース121に信号を送り、要請されたインターフェース(CDMA,UMTS,WLAN,...)を開始する。要請されたインターフェース(例えば、供給されるUMTS PDPコンテクスト)は、無線通信ネットワーク300を経由してGPSエンジン210をGPSサーバ301へ接続するために適しているものである。GPSエンジン210は、要請されたインターフェース名ファミリー・タイプ、及びパケット交換データ通話を実行するための技術、を有する共有GPSインターフェース121を与えることができる。CDMA,UMTS,WLAN、等を指定することのほかに、GPSエンジン210は、例えば、特定のIPバージョン(IPv4、IPv6、等)を同様に要請することができる。特にUMTSに関して、GPSエンジン210は、インターフェース要請のパラメータとして、APN名、PDPタイプ、所望のQoS(サービスの品質)、等を与えることができる。次にステップ54では、共有GPSインターフェース121は、接続マネージャ130を経由してパケット交換データ通話の開始を要請する。データ通話は、ステップ53においてGPSエンジン210から得られたパラメータの組み合わせを使用して行われることができる。
次に、ステップ55では、接続マネージャ130は、ステップ54において共有GPSインターフェース121により与えられる選択パラメータに基づいてRFトランシーバ(送信機−受信機)230を経由して適切であり利用可能なデータ・ネットワーク接続へのデータ通話の起動を開始する。適切であり利用可能なデータ・ネットワーク接続は、ステップ54において共有GPSインターフェース121によって与えられるパラメータに基づいてモデム・プロセッサ200により起動される。共有GPSインターフェース121により与えられるパラメータは、データ通話が開始される各回ごとに異なることがある。パラメータは、移動デバイス90の位置及び利用可能な1又は複数のネットワークに応じて変化することがある。
ステップ56では、一旦、適切なネットワーク・インターフェース接続91がRFトランシーバ・ユニット230を経由して動作すると、接続マネージャ130は、最終的なインターフェース・パラメータを無線通信ネットワーク300に問い合わせ、そして共有GPSインターフェース121へこの情報(APN,デバイスIPアドレス、通話のタイプ)を返す。
ステップ57では、共有GPSインターフェース121は、パケット交換データ通話が良好につながったことを、パケット・データAPI220を介してGPSエンジン210に知らせる。共有GPSインターフェース121は、次に、GPSサーバ301をアクセスするためにGPSエンジン210にとって必要なデータ・ネットワーク接続情報をパケット・データAPI220を介してGPSエンジン210に提供する。GPSエンジン210に対するデータ・ネットワーク接続情報は、上記のステップ53において生成された接続要請情報を含むことができる。この接続要請情報は、インターフェース名/技術(CDMA,UMTS,WLAN、等)、インターフェース・ファミリー(IPv4、IPv6、等)、及びインターフェース特有の情報(UMTSに関して、APN名、PDPタイプ、QoS、ドメイン名、ドメインによりサポートされるサービス、等)を含むことができる。それに加えて、データ・ネットワーク接続情報は、データ通話セッションに対して割り当てられたインターフェースIPアドレスを含むことができる。
ステップ58では、GPSエンジン210は、上記のステップ57において説明したネットワーク・インターフェース・パラメータを使用して、アプリケーション・プロセッサ100の共有GPSインターフェース121からのネットワーク情報を使用してもたらされるネットワーク・インターフェースを一義的に同定する。GPSエンジン210は、TCP/IP通信スタック240を経由してGPS位置決定のためにIPトラフィックを送るためそして受信するためにネットワーク・インターフェースに縛る。フィルタ242は、通信スタック240を経由する特定の形式のデータ・パケットを、そしてネットワーク接続を共有するアプリケーションの特定の通信スタック140への全ての他のものを、フィルタで処理しそして配信するように構成される。
ステップ59では、ネットワークGPS情報は、TCP/IP通信スタック240のIPデータ・フィルタ242を使用してIPデータ・トラフィックから自動的に抽出される。すなわち、GPS関連の受信したデータ・トラフィックは、IPデータ・フィルタ242により取り去られる、又はフィルタで処理され、そしてGPSエンジン210へ配信される。具体的に、予期される特定の形式の各着信データ・パケットは、通信スタック240を経由してGPSエンジン210へ配信され、そしてアプリケーション・プロセッサ100へは転送されない。同じデータ・ネットワーク接続において受信されたいずれかの他のデータ・パケットは、通信スタック240を経由して配信されないが、例えば、PPPインターフェース245を経由してアプリケーション・プロセッサ100へ配信される。配信は、ユーザにトランスペアレントに行われることができる。GPSエンジン210によって送信される全てのデータは、同じデータ・ネットワーク接続を経由してアプリケーション・プロセッサ100から送信されるデータと結合される、又はインターリーブされる。
ステップ52Aにおけるこの時点において、図3Aの第2のGPSアプリケーション・プログラム115又は図3Bのアプリケーション・プログラム610は、実行を開始し、そして共有GPSインターフェース121を経由してGPS位置決定を要請する。応答では、共有GPSインターフェース121は、GPS位置決定セッションを現在要求しているアプリケーションのカウントを増加させる。ステップ52Aは、プロセスにおいて任意の別の時間に行われることができ、そして説明目的だけのために図5にそのまま配置される。さらに、第3のGPSアプリケーションは、ユーザにより同様に開始されるはずであり、そして任意の時間において共有GPSインターフェース121を経由してサービスを要求するはずである。
共有GPSインターフェース121の目的は、GPSサービスに関する全ての要請を管理しそして調和させることである。共有GPSインターフェース121及びパケット・データAPI220は、仮想共有GPSサービスを実際に提示する。共有GPSインターフェース121は、パケット・データ・マネージャ120により実装される。あるいは、共有GPSインターフェース121は、パケット・データAPI220を拡大することよって実装されることができる、しかしながら、パケット・データAPI220内にGPSインターフェース121を置くことは、図3Bのアプリケーション610による又は図4Aと図4Bのアプリケーション519からのGSPインターフェースのアクセス可能性を制限することがある。
ステップ60では、現在アクティブであるGPSアプリケーション110,115又は610のうちの1つは、共有GPSインターフェース121のサービスが最早必要ないかどうかを判断する。これは、特定のGPSアプリケーション110,115又は610が実行することを中止してしまった、又は指定された時間の期間にわたり非アクティブであったためであり得る。このケースでは、共有GPSインターフェース121を利用しているアプリケーションのカウントは、1だけ減少される。カウントがゼロでない場合には、共有GPSインターフェース121は、GPS位置決定を現在必要としている他のGPSアプリケーションをサポートし続け、ステップ59を実行し続ける。
共有GPSインターフェース121によって減少されるので、アクティブなGPSアプリケーションがゼロである場合には、ステップ61は、次に実行されることができる。ステップ61では、共有GPSインターフェース121は、パケット交換データ通話がGPSエンジン210と共有される必要がこれ以上ないことを接続マネージャ130に通知する。いずれの他のアプリケーションもGPSエンジン210とパケット交換データ通話を現在共有していない場合には、接続マネージャ130は、データ通話を打ち切る。いずれのケースにおいても、共有GPSインターフェース121は、ステップ62において、GPS決定セッションを中止するようにパケット・データAPIに通知する。フィルタで除去されるGPS関連のデータ・パケットが最早何もないので、ステップ62は、通信スタック240においてIPデータ・フィルタ242を非動作にすることを含むことができる。
図4Aと図4Bは、追加の代替の実施形態を図示する。アプリケーション・プロセッサ100に加えて、少なくとも1つの外部プロセッサ500、例えば、ラップトップ・コンピュータ又はPDA、があり得る。外部プロセッサ500は、ケーブル若しくは無線リンク93又は94、例えば、イサーネット、USB、ファイアワイア、ブルートゥース、又はある所有権のある技術、によりマルチプロセッサ移動デバイス90とリンクされることができる。図4Aに図示された実施形態では、専用通信リンク・トランシーバ540は、通信リンク93のどちらの端にも含まれる。図4Bに図示された実施形態では、既存の通信スタック140が外部プロセッサ500の通信プロトコル・スタック540とチャネル94を経由して通信するためにアプリケーション・プロセッサ100中に含まれる。説明の目的で、図4Aと図4Bは、単純に1つだけのGPSアプリケーション510を示す。しかしながら、アプリケーション・プロセッサ100によるように、複数のGPSアプリケーションが、外部プロセッサ500上で実行されることができる。外部プロセッサ500は、少なくともアプリケーション・プロセッサ100と同様に複雑であり得る。すなわち、外部プロセッサ500は、アプリケーション・プロセッサ100に関して示された様々なソフトウェア・コンポーネントのような、追加のソフトウェア・コンポーネントを同様に含むことができる。
図4Aと図4Bは、外部プロセッサ500とアプリケーション・プロセッサ100との間の異なる種類の通信を示す。さらに、図4Aは、GPSアプリケーション510と共有GPSインターフェース121との間の制御フロー2及びデータ・フローを示す。外部プロセッサ500において作動しているGPSアプリケーション510は、通信リンク540及び通信チャネル93により共有GPSインターフェース121からGPSサービスを要請することが可能である。この配置は、通信ドライバ540が非TCP/IPプロトコル、例えば、ブルートゥース又はUSB、を使用する場合に、使用されることができる。
図4Bは、TCP/IP通信スタック140と540との間の制御フロー2及びデータ・フローを示す。この配置は、通信チャネル94が標準TCP/IPネットワーク・プロトコルを使用する場合に、使用されることができる。このケースでは、パケット・データ・マネージャ120は、接続マネージャ130を経由して外部プロセッサ500へのTCP1/IP1/PPP1接続140のような、ローカル接続を設定する必要がある。次に、GPSアプリケーション510は、この接続を使用して、共有GPSインターフェース121へ要請又はデータを送る又は受信する。
GPSアプリケーション510は、それがGPSエンジン210とアプリケーション・プロセッサ100の様々なソフトウェア・コンポーネントとにどのように関連するかを示すためにGPS関連アプリケーションであると仮定される。GPSアプリケーション510と共有GPSインターフェース121との間の制御経路及びデータ経路の変更を除いて、図4Aと図4Bにより図示される実施形態によって実行されるステップは、図5のものと同じであり得る。図5のステップは、パケット交換データ通話を経由して既に接続されているアプリケーションとそのパケット交換データ通話を共有するためにGPSエンジンを設定する。図4Aと図4Bの実施形態は、アプリケーション・プロセッサ100と外部プロセッサ500との間のそれぞれ通信チャネル93と94を構成することを具体的に必要とすることがある。これは、図5のステップ51において実行される。
図6は、別の1つの実施形態を図示し、そこではモデム・プロセッサ200が、GPSエンジン210に加えて少なくとも1つのユーティリティ・エンジン250を実行していることがある。図6は、追加のユーティリティ・エンジン250への制御フロー及び/又はデータ・フローを管理するGPSエンジン210を示す。追加のユーティリティ・エンジン250は、それ自身のTCP/IPスタック260を有することができる。特に、ユーティリティ・エンジン250は、GPSエンジンIPデータ・フィルタ242がGPS特有のデータ・パケットを配信する方法と同じように、そのユーティリティ・エンジン250へ特に直接関連するPPPストリーム・データ・パケットをフィルタで除去する−又はその中に注入する−能力があり得る。CDMAとUMTSの両方がネットワーク・データ接続を経由して直接IPデータ・パケットを送ることを同様にサポートするため、PPPプロトコルの代わりに、別のプロトコル(図示されず)は、通信スタック240及び/又は260のリンク層上で作動することが可能である。
他の配置、相互接続、又はGPSエンジンとユーティリティ・エンジンの数が、可能である。例えば、図7では、GPSエンジン210とユーティリティ・エンジン250は、個々の通信スタックを有するが、1つの複合フィルタ270を共有する。複合フィルタを使用して、データ・パケットのストリームから抽出されるデータは、適切な宛先へ、すなわち、各プロセッサのTCP/IPスタック及びGPSエンジン210、ユーティリティ・エンジン250、又はデータ接続を共有しているアプリケーション・プロセッサ100内の別のアプリケーションへ、配信されることが可能である。
図8は、モデム・プロセッサ200上で作動しているGPSエンジンを持たない移動デバイス90の別の1つの実施形態のブロック図である。GPSエンジンの代わりに、少なくとも1つの非GPSユーティリティ・エンジン250(251)があり、それは通信スタック260(261)を経由してネットワーク接続へのアクセスを必要とすることがある。GPSエンジンを使用するように、非GPSユーティリティ・エンジン250(251)は、少なくとも1つのアプリケーション・プロセッサ100上で作動しているアプリケーション116又は118と1又はそれより多くのアクティブなデータ・ネットワーク接続を共有する必要があり得る。データ・ネットワーク接続を共有することの理由は、前に説明した通りであり得る。すなわち、1つだけのIPアドレスが、所与のドメインからPDP起動の期間にデバイスに割り当てられることができる。しかしながら、ネットワーク300上のユーティリティ・サーバ302からアプリケーション・プログラム116又は118へ、同様にユーティリティ・エンジン260への同時のデータ伝送である必要があり得る。しかも、共有データ・ネットワーク接続を経由して反対の方向へのデータ伝送である必要があり得る。アプリケーション・プログラム116又は118とデータ・ネットワーク接続を共有するために、ユーティリティ・エンジン250又は251は、IPデータ・フィルタ270を使用することができて、共有接続を経由するパケット・データ・トラフィックをモニタすることができる。IPデータ・フィルタ270は、特定の、予想されるアドレス、フォーマット又はコンテントに基づいてユーティリティ・エンジンに直接関係するデータ・パケットを認識する。例えば、IPデータ・フィルタは、データ・パケット中のソース・アドレスに基づいてユーティリティ・サーバ302からのユーティリティ関連のデータ・パケットを待ち受けそして分離するように構成される。ユーティリティ関連のフォーマット又はコンテントは、TCPポート番号又はUDPポート番号及びIPアドレス又はユーティリティ・サーバ302から発せられるようなデータ・パケットを認識する他の固有のコンテント、を含むことができる。IPデータ・フィルタ270は、ユーティリティ・エンジン250又は251へ認識されたユーティリティ関連のデータ・パケットを、ユーティリティ・エンジンへ直接関係する全てのデータ・パケットを配信し、そしてデータ・ネットワーク接続を共有しているアプリケーションへ全ての他のデータ・パケットを配信する。あるいは、各ユーティリティ・エンジン250又は251は、図6のケースのように、それ自身の別々のIPデータ・フィルタを有することができる。
図8及び図9を参照して、代わりの実施形態に関するステップのシーケンスが、本方法のステップを実行するためのシステムに関係して説明される。ステップ71では、パケット・データ・マネージャ120は、モデム・プロセッサ200中のパケット・データ・アプリケーション・プログラミング・インターフェース(PD API)220を経由して接続共有マネージャ290に自身の存在を登録する。パケット・データ・マネージャ120は、パケット・データ・マネージャ120及びPD API220を経由して接続共有マネージャ290から通信パラメータを取得することができる。これらの通信パラメータは、共有データ・ネットワーク接続を管理しているユーティリティ・エンジン250、251によって要求されるユーティリティ・サーバ302への与えられたデータ・ネットワーク接続を特定することができる。パケット・データ・マネージャ120へ与えられるパラメータは、所望のインターフェース・ファミリー・タイプ又はユーティリティ・サービスが既に進行中であるかどうか、を含むことができる。この制御フロー・ステップ71は、パケット交換データ通話の管理を始める。
ステップ72では、ユーザは、ユーティリティ・エンジン250,251からのサービスを必要とするアプリケーション116を起動することができる。アプリケーション116を起動することによって、要請は、パケット・データ・マネージャ120へ送られて、ユーティリティ・エンジン250,251からのサービスを開始する。パケット・データ・マネージャ120は順に、パケット・データAPI220へ信号を送り、その結果、ユーティリティ・サービス要請は、接続共有マネージャ290へ転送され、それは順に、要請されたサービスを提供するユーティリティ・エンジン250,251へ要請を転送することができる。同時に1より多くのアプリケーションが特定のユーティリティ・エンジン250,251からサービスを要請することがある場合には、PDマネージャ120又は接続共有マネージャ290は、各ユーティリティ・エンジン250,251に対してそのようなサービスを要求しているアプリケーションの数のカウントを維持管理することができる。
ステップ73では、接続共有マネージャ290は、パケット交換データ通話の開始を要請する。そうするために、接続共有マネージャ290は、パケット・データ・マネージャ120へ信号を送り、要請されたインターフェース(CDMA,UMTS,WLAN,...)を開始する。(与えられたUMTS PDPコンテクストのような)要請されたインターフェースは、無線通信ネットワーク300を経由してユーティリティ・サーバ302へ適切なユーティリティ・エンジン250,251を接続するものである。接続共有マネージャ290は、パケット交換データ通話を実行するために、要請されたインターフェース名、ファミリー・タイプ、及び技術をパケット・データ・マネージャ120に提供することができる。CDMA,UMTS,WLAN、等を指定するだけでなく、接続共有マネージャ290は、例えば、特定のIPバージョン(IPv4、IPv6、等)を同様に要請することができる。特にUMTSに関して、接続共有マネージャ290は、インターフェース要請のパラメータとして、APN名、PDPタイプ、所望のQoS(サービスの品質)、等、を提供することができる。次にステップ74では、パケット・データ・マネージャ120は、接続マネージャ130を経由してパケット交換データ通話の開始を要請する。データ通話は、ステップ73において接続共有マネージャ290から得られる複数のパラメータの組み合わせを使用して行われることができる。
次にステップ75では、接続マネージャ130は、ステップ74においてPDマネージャ120により提供された選択パラメータに基づいて、RFトランシーバ(送信機−受信機)230を経由して適切であり利用可能なネットワーク・インターフェースへのデータ通話の起動を開始する。適切であり利用可能なインターフェースは、ステップ74においてパケット・データ・マネージャ120により提供されたパラメータに基づいてモデム・プロセッサ200により起動される。パケット・データ・マネージャ120により提供されるパラメータは、データ通話が開始される各回ごとに異なることがあり得る。パラメータは、利用可能な1つのネットワーク又は複数のネットワークに依存して変わることがある。
ステップ76では、一旦、適切なデータ・ネットワーク接続91がRFトランシーバ・ユニット230を経由してアクティブになると、接続マネージャ130は、最終のインターフェース・パラメータを無線通信ネットワーク300に問い合わせ、そしてこの情報(APN、デバイスIPアドレス、通話のタイプ)をパケット・データ・マネージャ120へ返す。
ステップ77では、パケット・データ・マネージャ120は、パケット交換データ通話が良好に通じたことをパケット・データAPI220を介して接続共有マネージャ290に通知する。パケット・データ・マネージャ120は、次にユーティリティ・サーバ302をアクセスするために必要なネットワーク情報をパケット・データAPI220と接続共有マネージャ290とを経由してユーティリティ・エンジン250,251に提供する。接続共有マネージャ290のためのネットワーク情報は、上記のステップ73において生成された接続要請情報を含むことができる。この接続要請情報は、インターフェース名/技術(CDMA,UMTS,WLAN,等)、インターフェース・ファミリー(IPv4、IPv6、等)、及びインターフェース特有の情報(UMTSに関して、APN名、PDPタイプ、QoS、ドメイン名、ドメインによりサポートされるサービス、等)を含むことができる。それに加えて、ネットワーク情報は、データ通話セッションに割り当てられたインターフェースIPアドレスを含むことができる。
ステップ78では、接続共有マネージャ290は、上記のステップ77において説明されたネットワーク・インターフェース・パラメータを使用して、アプリケーション・プロセッサ100のPDマネージャ120からのネットワーク情報を使用してもたらされるネットワーク・インターフェースを一義的に同定する。接続共有マネージャ290は、TCP/IP通信スタック260,261を経由してユーティリティ・サーバ302からIPトラフィックを送るためそして受信するためにネットワーク・インターフェースへ関連するユーティリティ・エンジン250,251を縛る。接続共有マネージャ290は、通信スタック260,261を経由して特定の形式のデータ・パケットを、そしてネットワーク接続を共有しているアプリケーションの特定の通信スタック140への全ての他のものを、検査しそして配信するようにIPデータ・フィルタ270を設定する。
ステップ79では、ユーティリティ・サーバ302からの着信のデータは、IPデータ・フィルタ270によりIPデータ・トラフィックから自動的に抽出される。すなわち、ユーティリティに関連する受信データ・トラフィックは、IPデータ・フィルタ270により取り去られ、又はフィルタで処理され、そして接続共有マネージャ290により設定されたように適切なユーティリティ・エンジン250,251へ配信される。具体的に、予想される特定の形式の又はユーティリティ・サーバ302からの全ての着信データ・パケットは、通信スタック260又は261を経由して接続共有マネージャ290へ配信される。そのデータ・パケットは、アプリケーション・プロセッサ100へは転送されない。同じネットワーク接続において受信されるいずれかの他のデータ・パケットは、通信スタック260,261を経由して配信されないが、例えば、PPPインターフェース245を経由して、アプリケーション・プロセッサ100へ配信される。配信は、ユーザにトランスペアレントに生じることができる。ユーティリティ・エンジン250又は251により送信される全てのデータは、同じデータ・ネットワーク接続を経由してアプリケーション・プロセッサ100から送信されるデータと統合される、又はインターリーブされる。
ステップ72Aにおけるこの時点で、別の1つのアプリケーション・プログラム118は、実行を開始することができ、そしてPDマネージャ120を経由してモデム・ユーティリティ・サービスを要請することができる。それに応じて、パケット・データ・マネージャ120は、モデム・ユーティリティ・サービスを現在要求しているアプリケーションのカウントを増加させることができる。あるいは、このカウントは、接続共有マネージャによって維持管理されることができる。ステップ72Aは、プロセス中の別の時間に起きることが可能であり、そして説明目的だけのために図9にあるように配置されている。さらに、もし実行されるのであれば、第3のアプリケーションは、このプロセスの任意の時点においてユーザにより同様に開始されるはずであり、そしてパケット・データ・マネージャ120を経由してサービスを要求するはずである。パケット・データ・マネージャ120の目的は、ユーティリティ・サービスに関する全てのアプリケーション要請を管理しそして同期させることである。
ステップ80は、現在アクティブなアプリケーション116,118のうちの1つが、ユーティリティ・サービスをこれ以上必要としないかどうかを判断する。これは、特定のアプリケーション116,118が実行することを中止してしまった、又は指定された時間の期間(タイム−アウト期間)のあいだサービスを使用しなかったためであり得る。あるいは、アプリケーション116,118は、ユーティリティ・サービスが最早必要とされないことをPDマネージャに明確に知らせることができる。いずれのケースにおいても、パケット・データ・マネージャ120、又は代わりに接続共有マネージャ290、は、不必要なサービスを提供しているユーティリティ・エンジン250,251を利用するアプリケーションのカウントを減少させる。カウントがゼロでない場合には、パケット・データ・マネージャ120は、サービスを現在必要としている別のアプリケーションをサポートし続け、そのためプロセスはステップ79において継続する。
パケット・データ・マネージャ120によって減少されるので、特定のユーティリティ・エンジン250,251を使用しているアクティブなアプリケーションのカウントがゼロである場合には、ステップ81が、次に実行されることができる。ステップ81では、パケット・データ・マネージャ120は、パケット交換データ通話が接続共有マネージャ290と共有されることを最早要求されないことを接続マネージャ130に通知する。いずれのアプリケーションも接続共有マネージャ290とパケット交換データ通話を現在共有していない場合には、接続マネージャ130は、データ通話を打ち切る。いかなるケースでも、PDマネージャ120は、ステップ82において、特定のユーティリティ・エンジン250,251を停止するように、パケット・データAPI220を経由して接続共有マネージャ290に通知する。ステップ82は、IPデータ・フィルタ270を再設定することを含むことができる、その理由は、フィルタで除去されそして特定のユーティリティ・エンジン250,251へ配信されようとしている、ユーティリティ・サーバ302からのユーティリティ関連のデータ・パケットが最早何もないためである。
図2,図5及び図9の複数のステップを実行するために使用するハードウェアは、命令の集合を実行するように構成された処理素子及びメモリ素子であり得る、ここにおいて、該命令の集合は、上記のイベントに対応する方法のステップを実行するためにものである。あるいは、あるステップは、所与の機能に特有である電子回路により実行されることができる。
本明細書中に開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路及びアルゴリズムのステップが、電子ハードウェア、コンピュータ・ソフトウェア又は両者の組み合わせとして与えられることができることを、当業者は、認識するはずである。ハードウェアとソフトウェアのこの互換性を明確に説明するために、様々な例示的な複数の構成要素、ブロック、モジュール、回路、及びステップが、それらの機能性の面から一般的に上に説明されてきている。そのような機能性が、ハードウェア又はソフトウェアとして与えられるかどうかは、個別のアプリケーション及びシステム全体に課せられた設計の制約に依存する。知識のある者は、説明された機能性をそれぞれの個別のアプリケーションに対して違ったやり方で実行することができる。しかし、そのような実行の判断は、開示された方法の範囲からの逸脱を生じさせるように解釈されるべきではない。
本明細書中に開示された実施形態に関連して述べられた、様々な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP:digital signal processor)、用途特定集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)又は他のプログラマブル論理デバイス、ディスクリート・ゲート論理回路又はトランジスタ論理回路、ディスクリート・ハードウェア・コンポーネント、又は本明細書中で説明された機能を実行するために設計されたこれらのいずれかの組み合わせで、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算装置の組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアとともに1又はそれより多くのマイクロプロセッサの組み合わせ、若しくはいずれかの別のそのような構成の組み合わせ、として与えられることができる。
本明細書中に開示された実施形態に関連して説明された方法又はアルゴリズムは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、CD−ROM、又はこの技術において公知のいずれかの他の記憶媒体の中に存在することができる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めることができるようにプロセッサに接続される。代案では、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、ASIC中に存在できる。ASICは、ユーザ端末中に存在できる。代案では、プロセッサ及び記憶媒体は、ユーザ端末中に単体素子として存在できる。
本発明が具体的に例の実施形態を参照して記述されてきているが、記述した実施形態への様々な変形、代案、及び変更は、添付された特許請求の範囲に規定されるように、本発明の領域及び範囲から乖離することなく可能である。したがって、本発明は、記述された実施形態に制限するのではなく、特許請求の範囲の文言により規定される全体の範囲、及びそれに等価なものを有するように、意図されている。

Claims (79)

  1. 第1のユーティリティ・エンジンと第1のアプリケーション・プログラムとの間でネットワーク接続を共有する方法、前記方法は、
    前記第1のユーティリティ・エンジンと通信している複数のネットワーク接続のうちの1つを選択すること、
    前記第1のユーティリティ・エンジンへ第1のユーティリティ関連データを送信しそして前記第1のユーティリティ・エンジンから第1のユーティリティ関連データを受信することが可能である第1のユーティリティ・サーバと通信している複数のネットワーク接続のうちの前記選択された1つに前記第1のユーティリティ・エンジンを縛ること、及び
    前記ユーティリティ・エンジンへ縛られた前記ネットワーク接続を経由してデータを送信しそして受信するために前記第1のアプリケーション・プログラムを動作可能にすること、
    を具備する方法。
  2. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理すること、
    前記フィルタで処理された第1のユーティリティ関連の受信したデータ・パケットを前記第1のユーティリティ・エンジンへ配信すること、
    前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第1のアプリケーション・プログラムへ配信すること、及び
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記第1のユーティリティ・エンジンから発信されるデータ・パケットを統合すること、
    をさらに具備する、請求項1の方法。
  3. 前記第1のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーションと共有すること、をさらに具備する、請求項2の方法。
  4. 第2のユーティリティ・サーバとも通信しており、そして第2のユーティリティ・エンジンへユーティリティ関連データを送信し前記第2のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である前記縛られたネットワーク接続に、第2のユーティリティ・エンジンを縛ること、
    をさらに具備する、請求項1の方法。
  5. 前記縛られたネットワーク接続において受信した第2のユーティリティ関連データ・パケットをフィルタで処理すること、及び
    前記フィルタで処理された第2のユーティリティ関連の受信したデータ・パケットを前記第2のユーティリティ・エンジンへ配信すること、をさらに具備し、ここにおいて、発信されるデータ・パケットを統合することは、前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記第1のユーティリティ・エンジンと前記第2のユーティリティ・エンジンから発信されるデータ・パケットを統合する
    請求項4の方法。
  6. 前記第1のアプリケーション及び第2のアプリケーションと前記第1のユーティリティ・エンジンにより生成される情報を共有すること、をさらに具備する、請求項1の方法。
  7. パケット・データ・マネージャを介して前記第1のアプリケーション及び第2のアプリケーションと前記第2のユーティリティ・エンジンにより生成される情報を共有すること、をさらに具備する、請求項4の方法。
  8. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    ソース・アドレスに基づいて第1のユーティリティ関連データ・パケットを認識すること、
    を具備する、請求項2の方法。
  9. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    パケット・フォーマットに基づいて第1のユーティリティ関連データ・パケットを認識すること、
    を具備する、請求項2の方法。
  10. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    前記データ・パケット中のコンテントに基づいて第1のユーティリティ関連データ・パケットを認識すること、
    を具備する、請求項2の方法。
  11. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    TCPポート番号又はUDPポート番号に基づいて第1のユーティリティ関連データ・パケットを認識すること、
    を具備する、請求項2の方法。
  12. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    IPアドレスに基づいて第1のユーティリティ関連データ・パケットを認識すること、
    を具備する、請求項2の方法。
  13. 前記第1のユーティリティ・エンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することを中止すること、をさらに具備する、請求項2の方法。
  14. パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
    複数のネットワーク接続から前記パケット交換ネットワークへのネットワーク接続を選択し、
    ユーティリティ・エンジンを動作させ、そして
    データ・パケット・フィルタを動作させる
    ように構成されたモデム・プロセッサ、及び
    アプリケーション・プログラムを動作させるように構成されたアプリケーション・プロセッサ、を具備し、
    ここにおいて、前記モデム・プロセッサは、
    前記選択したネットワーク接続が前記ユーティリティ・エンジンと前記アプリケーション・プログラムとの間で共有され、そして
    前記データ・パケット・フィルタが、前記選択したネットワーク接続において受信したユーティリティに特有のデータ・パケットを前記ユーティリティ・エンジンへ配信し、前記選択したネットワーク接続からの全ての他のデータ・パケットを前記アプリケーション・プログラムへ配信し、そして前記ユーティリティ・エンジン及び前記アプリケーション・プログラムから前記選択したネットワーク接続へ複数の発信されるデータ・パケットを統合する、
    ようにさらに構成される、
    移動マイクロプロセッサ電気通信デバイス。
  15. 前記モデム・プロセッサは、
    パケット・データ・マネージャと、
    接続マネージャと、
    を動作させるようにさらに構成され、そして
    ここにおいて、前記パケット・データ・マネージャ、前記接続マネージャ、及び前記データ・パケット・フィルタは、前記選択したネットワーク接続を共有することを容易にする、
    請求項14の移動マイクロプロセッサ電気通信デバイス。
  16. 前記モデム・プロセッサは、共有されたユーティリティ・インターフェースを動作させるようにさらに構成され、2又はそれより多くのアプリケーション・プログラムが前記ユーティリティ・エンジンから複数のユーティリティ・サービスを同時に要請することを可能にする、請求項14の移動マイクロプロセッサ電気通信デバイス。
  17. パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
    第1のユーティリティ・エンジンと通信している複数のネットワーク接続のうちの1つを選択するための手段、
    前記第1のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第1のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第1のユーティリティ・サーバと通信している複数のネットワーク接続のうちの前記選択した1つに前記第1のユーティリティ・エンジンを縛るための手段、及び
    前記ユーティリティ・エンジンへ縛られた前記ネットワーク接続を経由してデータを送信しそして受信するために第1のアプリケーション・プログラムを動作可能にするための手段、
    を具備する、移動マイクロプロセッサ電気通信デバイス。
  18. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理するための手段、
    前記フィルタで処理された第1のユーティリティ関連の受信したデータ・パケットを前記第1のユーティリティ・エンジンへ配信するための手段、
    前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第1のアプリケーション・プログラムへ配信するための手段、及び
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記第1のユーティリティ・エンジンから発信されるデータ・パケットを統合するための手段、
    をさらに具備する、請求項17の移動マイクロプロセッサ電気通信デバイス。
  19. 前記第1のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーションと共有するための手段、をさらに具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  20. 第2のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第2のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第2のユーティリティ・サーバとも通信している前記縛られたネットワーク接続へ前記第2のユーティリティ・エンジンを縛るための手段、
    をさらに具備する、請求項17の移動マイクロプロセッサ電気通信デバイス。
  21. 前記縛られたネットワーク接続において受信した第2のユーティリティ関連データ・パケットをフィルタで処理するための手段、及び
    前記フィルタで処理された第2のユーティリティ関連の受信したデータ・パケットを前記第2のユーティリティ・エンジンへ配信するための手段、をさらに具備し、
    ここにおいて、前記発信されるデータ・パケットを統合するための手段は、前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記第1のユーティリティ・エンジンと前記第2のユーティリティ・エンジンから発信されるデータ・パケットを統合する、
    請求項20の移動マイクロプロセッサ電気通信デバイス。
  22. 前記第1のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーション及び第2のアプリケーションと共有するための手段、をさらに具備する、請求項17の移動マイクロプロセッサ電気通信デバイス。
  23. パケット・データ・マネージャを介して、前記第2のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーション及び第2のアプリケーションと共有するための手段、をさらに具備する、請求項20の移動マイクロプロセッサ電気通信デバイス。
  24. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    ソース・アドレスに基づいて第1のユーティリティ関連データ・パケットを認識するための手段、
    を具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  25. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    パケット・フォーマットに基づいて第1のユーティリティ関連データ・パケットを認識するための手段、
    を具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  26. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    前記データ・パケット中のコンテントに基づいて第1のユーティリティ関連データ・パケットを認識するための手段、
    を具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  27. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    TCPポート番号又はUDPポート番号に基づいて第1のユーティリティ関連データ・パケットを認識するための手段、
    を具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  28. 前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    IPアドレスに基づいて第1のユーティリティ関連データ・パケットを認識するための手段、
    を具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  29. 前記第1のユーティリティ・エンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することを中止するための手段、をさらに具備する、請求項18の移動マイクロプロセッサ電気通信デバイス。
  30. 実行可能なソフトウェア命令を記憶しているマルチ−プロセッサ通信デバイス中のコンピュータ読取り可能な媒体、前記ソフトウェア命令は、
    第1のユーティリティ・エンジンと通信している複数のネットワーク接続のうちの1つを選択し、
    前記第1のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第1のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第1のユーティリティ・サーバと通信している複数のネットワーク接続のうちの前記選択した1つに前記第1のユーティリティ・エンジンを縛り、そして
    前記縛られたネットワーク接続を経由してデータを送信しそして受信するために第1のアプリケーション・プログラムを動作可能にする、
    ように構成されたソフトウェア命令である、コンピュータ読取り可能な媒体。
  31. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理し、
    前記フィルタで処理された第1のユーティリティ関連の受信したデータ・パケットを前記第1のユーティリティ・エンジンへ配信し、
    前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第1のアプリケーション・プログラムへ配信し、そして
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記第1のユーティリティ・エンジンから発信されるデータ・パケットを統合する、
    ようにさらに構成されたソフトウェア命令である、請求項30のコンピュータ読取り可能な媒体。
  32. 前記記憶された実行可能なソフトウェア命令は、
    前記第1のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーションと共有することを可能にする、
    ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  33. 前記記憶された実行可能なソフトウェア命令は、
    前記第2のユーティリティ・エンジンへユーティリティ関連データを送信しそして前記第2のユーティリティ・エンジンからユーティリティ関連データを受信することが可能である第2のユーティリティ・サーバとも通信している前記縛られたネットワーク接続へ第2のユーティリティ・エンジンを縛る、
    ようにさらに構成されたソフトウェア命令である、請求項30のコンピュータ読取り可能な媒体。
  34. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信した第2のユーティリティ関連データ・パケットをフィルタで処理し、
    前記フィルタで処理された第2のユーティリティ関連の受信したデータ・パケットを前記第2のユーティリティ・エンジンへ配信し、そして
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記第1のユーティリティ・エンジンと前記第2のユーティリティ・エンジンから発信されるデータ・パケットを統合する、
    ようにさらに構成されたソフトウェア命令である、請求項33のコンピュータ読取り可能な媒体。
  35. 前記記憶された実行可能なソフトウェア命令は、前記第1のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーション及び第2のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項33のコンピュータ読取り可能な媒体。
  36. 前記記憶された実行可能なソフトウェア命令は、パケット・データ・マネージャを介して、前記第2のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーション及び第2のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項34のコンピュータ読取り可能な媒体。
  37. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    ソース・アドレスに基づいて第1のユーティリティ関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  38. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    パケット・フォーマットに基づいて第1のユーティリティ関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  39. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    前記データ・パケット中のコンテントに基づいて第1のユーティリティ関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  40. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    TCPポート番号又はUDPポート番号に基づいて第1のユーティリティ関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  41. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    IPアドレスに基づいて第1のユーティリティ関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  42. 前記記憶された実行可能なソフトウェア命令は、前記第1のユーティリティ・エンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信した第1のユーティリティ関連データ・パケットをフィルタで処理することを中止する、ようにさらに構成されたソフトウェア命令である、請求項31のコンピュータ読取り可能な媒体。
  43. GPSエンジンと第1のアプリケーション・プログラムとの間でネットワーク接続を共有するための方法、前記方法は、
    前記GPSエンジンと通信している複数のネットワーク接続のうちの1つを選択すること、
    前記GPSエンジンへGPS関連データを送信しそして前記GPSエンジンからGPS関連データを受信することが可能であるGPSサーバと通信している複数のネットワーク接続のうちの前記選択した1つに前記GPSエンジンを縛ること、及び
    前記縛られたネットワーク接続を経由してデータを送信しそして受信するために前記第1のアプリケーション・プログラムを動作可能にすること、
    を具備する方法。
  44. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理すること、
    前記フィルタで処理されたGPS関連の受信したデータ・パケットを前記GPSエンジンへ配信すること、
    前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第1のアプリケーション・プログラムへ配信すること、及び
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記GPSエンジンから発信されるデータ・パケットを統合すること、
    をさらに具備する、請求項43の方法。
  45. 前記GPSエンジンにより生成される情報を前記第1のアプリケーションと共有すること、をさらに具備する、請求項44の方法。
  46. 前記GPSエンジンにより生成されるGPS情報を前記GPSサーバへ送ること、及び
    前記GPSサーバからGPS座標情報を受信すること、
    をさらに具備する、請求項44の方法。
  47. 前記GPSエンジンにより生成されるGPS情報を前記第1のアプリケーション及び第2のアプリケーションと共有すること、をさらに具備する、請求項43の方法。
  48. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    ソース・アドレスに基づいてGPS関連データ・パケットを認識すること、
    を具備する、請求項44の方法。
  49. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    パケット・フォーマットに基づいてGPS関連データ・パケットを認識すること、
    を具備する、請求項44の方法。
  50. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    前記データ・パケット中のコンテントに基づいてGPS関連データ・パケットを認識すること、
    を具備する、請求項44の方法。
  51. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    TCPポート番号又はUDPポート番号に基づいてGPS関連データ・パケットを認識すること、
    を具備する、請求項44の方法。
  52. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することは、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタすること、及び
    IPアドレスに基づいてGPS関連データ・パケットを認識すること、
    を具備する、請求項44の方法。
  53. 前記GPSエンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することを中止すること、をさらに具備する、請求項44の方法。
  54. パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
    複数のネットワーク接続から前記パケット交換ネットワークへのネットワーク接続を選択し、
    GPSエンジンを動作させ、
    データ・パケット・フィルタを動作させ、そして
    前記パケット交換ネットワークとの前記選択したネットワーク接続を動作させる
    ように構成されたモデム・プロセッサ、及び
    アプリケーション・プログラムを動作させるように構成されたアプリケーション・プロセッサ、を具備し、
    ここにおいて、前記モデム・プロセッサは、
    前記選択したネットワーク接続が、前記GPSエンジンと前記アプリケーション・プログラムとの間で共有され、そして
    前記データ・パケット・フィルタが、前記選択したネットワーク接続において受信したGPSに特有のデータ・パケットを前記GPSエンジンへ配信し、前記選択したネットワーク接続からの全ての他のデータ・パケットを前記アプリケーション・プログラムへ配信し、そして前記GPSエンジンと前記アプリケーション・プログラムから前記選択したネットワーク接続へ発信されるデータ・パケットを統合する
    ようにさらに構成される、モデム・プロセッサである、
    移動マイクロプロセッサ電気通信デバイス。
  55. 前記モデム・プロセッサは、
    パケット・データ・マネージャと、
    接続マネージャ
    を動作させるようにさらに構成され、そして
    ここにおいて、前記パケット・データ・マネージャ、前記接続マネージャ、及び前記データ・パケット・フィルタは、前記選択したネットワーク接続を共有することを容易にする、
    請求項54の移動マイクロプロセッサ電気通信デバイス。
  56. 前記モデム・プロセッサは、共有されたGPS・インターフェースを動作させて、2又はそれより多くのアプリケーション・プログラムが前記GPSエンジンからGPSサービスを同時に要請することを可能にするようにさらに構成される、請求項54の移動マイクロプロセッサ電気通信デバイス。
  57. パケット交換ネットワークと通信する移動マイクロプロセッサ電気通信デバイス、前記移動マイクロプロセッサ電気通信デバイスは、
    GPSエンジンと通信している複数のネットワーク接続のうちの1つを選択するための手段、
    前記GPSエンジンへGPS関連データを送信しそして前記GPSエンジンからGPS関連データを受信することが可能であるGPSサーバと通信している複数のネットワーク接続のうちの前記選択した1つに前記GPSエンジンを縛るための手段、及び
    前記縛られたネットワーク接続を経由してデータを送信しそして受信するために第1のアプリケーション・プログラムを動作可能にするための手段、
    を具備する、移動マイクロプロセッサ電気通信デバイス。
  58. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理するための手段、
    前記フィルタで処理されたGPS関連の受信したデータ・パケットを前記GPSエンジンへ配信するための手段、
    前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第1のアプリケーション・プログラムへ配信するための手段、及び
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記GPSエンジンから発信されるデータ・パケットを統合するための手段、
    をさらに具備する、請求項57の移動マイクロプロセッサ電気通信デバイス。
  59. 第1のGPSエンジンにより生成される情報を前記第1のアプリケーションと共有するための手段、をさらに具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  60. 前記GPSエンジンにより生成される情報を前記第1のアプリケーション及び第2のアプリケーションと共有するための手段、をさらに具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  61. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    ソース・アドレスに基づいてGPS関連データ・パケットを認識するための手段、
    を具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  62. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    パケット・フォーマットに基づいてGPS関連データ・パケットを認識するための手段、
    を具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  63. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    前記データ・パケット中のコンテントに基づいてGPS関連データ・パケットを認識するための手段、
    を具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  64. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    TCPポート番号又はUDPポート番号に基づいてGPS関連データ・パケットを認識するための手段、
    を具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  65. 前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理するための前記手段は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタするための手段、及び
    IPアドレスに基づいてGPS関連データ・パケットを認識するための手段、
    を具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  66. 前記GPSエンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することを中止するための手段、をさらに具備する、請求項58の移動マイクロプロセッサ電気通信デバイス。
  67. 実行可能なソフトウェア命令を記憶しているマルチ−プロセッサ通信デバイス中のコンピュータ読取り可能な媒体、前記ソフトウェア命令は、
    GPSエンジンと通信している複数のネットワーク接続のうちの1つを選択し、
    前記GPSエンジンへGPS関連データを送信しそして前記GPSエンジンからGPS関連データを受信することが可能であるGPSサーバと通信している複数のネットワーク接続のうちの前記選択した1つに前記GPSエンジンを縛り、そして
    前記縛られたネットワーク接続を経由してデータを送信しそして受信するために第1のアプリケーション・プログラムを動作可能にする、
    ように構成されたソフトウェア命令である、コンピュータ読取り可能な媒体。
  68. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理し、
    前記フィルタで処理されたGPS関連の受信したデータ・パケットを前記GPSエンジンへ配信し、
    前記縛られたネットワーク接続において受信した他のデータ・パケットを前記第1のアプリケーション・プログラムへ配信し、そして
    前記縛られたネットワーク接続における送信のために前記第1のアプリケーション・プログラムと前記GPSエンジンから発信されるデータ・パケットを統合する
    ようにさらに構成されたソフトウェア命令である、請求項67のコンピュータ読取り可能な媒体。
  69. 前記記憶された実行可能なソフトウェア命令は、
    第1のユーティリティ・エンジンにより生成される情報を前記第1のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項67のコンピュータ読取り可能な媒体。
  70. 前記記憶された実行可能なソフトウェア命令は、前記GPSエンジンにより生成される情報を前記第1のアプリケーション及び第2のアプリケーションと共有するようにさらに構成されたソフトウェア命令である、請求項67のコンピュータ読取り可能な媒体。
  71. 前記記憶された実行可能なソフトウェア命令は、
    前記GPSエンジンにより生成されるGPS情報を前記GPSサーバへ送り、そして
    前記GPSサーバからGPS座標情報を受信する
    ようにさらに構成されたソフトウェア命令である、請求項67のコンピュータ読取り可能な媒体。
  72. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    ソース・アドレスに基づいてGPS関連データ・パケットを認識する
    ようにさらに構成されたソフトウェア命令である、請求項68のコンピュータ読取り可能な媒体。
  73. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    パケット・フォーマットに基づいてGPS関連データ・パケットを認識する
    ようにさらに構成されたソフトウェア命令である、請求項68のコンピュータ読取り可能な媒体。
  74. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    前記データ・パケット中のコンテントに基づいてGPS関連データ・パケットを認識する
    ようにさらに構成されたソフトウェア命令である、請求項68のコンピュータ読取り可能な媒体。
  75. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    TCPポート番号又はUDPポート番号に基づいてGPS関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項68のコンピュータ読取り可能な媒体。
  76. 前記記憶された実行可能なソフトウェア命令は、
    前記縛られたネットワーク接続において受信したデータ・パケットをモニタし、そして
    IPアドレスに基づいてGPS関連データ・パケットを認識する、
    ようにさらに構成されたソフトウェア命令である、請求項68のコンピュータ読取り可能な媒体。
  77. 前記記憶された実行可能なソフトウェア命令は、前記GPSエンジンが前記ネットワーク接続を切られる場合、前記縛られたネットワーク接続において受信したGPS関連データ・パケットをフィルタで処理することを中止するようにさらに構成される、請求項68のコンピュータ読取り可能な媒体。
  78. ネットワーク、
    前記ネットワークを経由してアクセス可能なGPSサーバ、及び
    マルチプロセッサ通信デバイス、
    を具備する電気通信システムであって、
    前記マルチプロセス通信デバイスは、
    GPSエンジンを含み、そしてデータ・パケット・フィルタとデータ通信ソフトウェア・プロトコル・スタックを含んでいるソフトウェアを実行するモデム・プロセッサ、及び
    GPSアプリケーション・プログラムを含んでいるソフトウェアを実行するアプリケーション・プロセッサ、を具備し、
    ここにおいて、前記モデム・プロセッサ及びアプリケーション・プロセッサは、
    前記GPSエンジンと前記アプリケーション・プログラムが前記ネットワークへの接続を共有し、
    前記アプリケーション・プログラムが前記GPSエンジンからGPS位置決定を要請し、
    前記GPSエンジンが前記ネットワークを経由して前記GPSサーバへGPS関連データを送りそして前記GPSサーバからGPS関連データを受信し、そして
    前記データ・パケット・フィルタが、前記ネットワークから受信したGPS関連データ・パケットを分離しそして前記GPSエンジンへ配信し、前記ネットワークから受信した非GPS関連データ・パケットを前記アプリケーション・プログラムへ配信し、そして前記共有された接続へ前記アプリケーション・プログラムからそして前記GPSエンジンから発信されるデータ・パケットを統合する、
    ように構成される、電気通信システム。
  79. 前記モデム・プロセッサは、前記GPSエンジンが前記ネットワークを経由して前記GPSサーバへGPS関連データを送信し、そして前記GPSエンジンが前記GPSサーバから前記通信デバイスの位置に関連する処理された位置情報を受信する、ようにさらに構成される、請求項78のシステム。
JP2009521027A 2006-07-20 2007-07-20 マルチ−プロセッサ環境におけるユーティリティ・サービス Expired - Fee Related JP4995908B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US83234706P 2006-07-20 2006-07-20
US60/832,347 2006-07-20
US11/780,467 US8364850B2 (en) 2006-07-20 2007-07-19 Utility service in multi-processor environment
US11/780,467 2007-07-19
PCT/US2007/074041 WO2008011607A2 (en) 2006-07-20 2007-07-20 Methods, apparatuses and computer readable media for sharing a network connection between a utility engine including gps ad an application

Publications (2)

Publication Number Publication Date
JP2009545035A true JP2009545035A (ja) 2009-12-17
JP4995908B2 JP4995908B2 (ja) 2012-08-08

Family

ID=38896130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009521027A Expired - Fee Related JP4995908B2 (ja) 2006-07-20 2007-07-20 マルチ−プロセッサ環境におけるユーティリティ・サービス

Country Status (5)

Country Link
US (1) US8364850B2 (ja)
EP (1) EP2074798B1 (ja)
JP (1) JP4995908B2 (ja)
KR (1) KR101056148B1 (ja)
WO (1) WO2008011607A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566467B2 (en) * 2007-07-23 2013-10-22 Hewlett-Packard Development Company, L.P. Data processing system and method
US20090184866A1 (en) * 2008-01-18 2009-07-23 Simon Lethbridge Method and device for providing location services
KR101709159B1 (ko) 2009-01-08 2017-03-08 삼성전자주식회사 인터넷 프로토콜을 사용하는 무선 데이터 통신 서비스 방법및 장치
US8774048B2 (en) 2009-01-29 2014-07-08 Qualcomm Incorporated Link management for multimedia content mobility
CN101808270B (zh) * 2010-03-10 2016-03-30 华为终端有限公司 一种基于Android的业务处理方法和装置
US8433335B2 (en) 2010-06-30 2013-04-30 Research In Motion Limited Method and apparatus for sharing information from a communication device
JP5530410B2 (ja) * 2010-10-11 2014-06-25 宏達國際電子股▲ふん▼有限公司 車載ユニットとモバイルデバイスとの間のオペレーション方法、および、その車載ユニットシステム
CN102595467B (zh) * 2011-01-04 2014-09-10 中国移动通信集团公司 一种数据采集方法和设备
CN102271158B (zh) * 2011-07-26 2018-06-01 中兴通讯股份有限公司 一种基于云计算的gps多应用处理方法和移动终端
US8934389B2 (en) * 2012-01-18 2015-01-13 Microsoft Corporation Mechanism for connecting a mobile device to a network
US9565615B2 (en) * 2012-05-16 2017-02-07 Qualcomm Incorporated Evolved hybrid internet protocol (IP) multimedia subsystem (IMS) architecture
CN102882679A (zh) * 2012-07-24 2013-01-16 中兴通讯股份有限公司 电子设备的解锁方法及解锁装置
KR20210137702A (ko) 2020-05-11 2021-11-18 삼성전자주식회사 전자 장치 및 전자 장치에서 수신된 데이터 패킷을 처리하는 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040062262A1 (en) * 2002-10-01 2004-04-01 Chris Venteicher Method and apparatus for managing the usage of data link resources
JP2006072969A (ja) * 2004-07-01 2006-03-16 Alcatel ネットワークインターフェイスの中で、複数のネットワークインターフェイスを備えるデバイスおよびアプリケーションを選択するための方法
US20070211690A1 (en) * 2006-03-13 2007-09-13 Microsoft Corporation Network interface routing using computational context

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0810875B2 (ja) * 1991-04-18 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 局所ネットワークを大域ネットワークと接続する方法及び装置
US5546383A (en) * 1993-09-30 1996-08-13 Cooley; David M. Modularly clustered radiotelephone system
US7130291B1 (en) * 1997-11-26 2006-10-31 Lg Electronics, Inc. Data control system in CDMA mobile communication system providing mobile data and voice service
EP1044525A1 (en) 1998-11-02 2000-10-18 Koninklijke Philips Electronics N.V. Communication system using a multiplex signal carrying an auxiliary signal
FI108601B (fi) 1999-01-05 2002-02-15 Nokia Corp QoS-kartoitustiedon välitys pakettiradioverkossa
FI107674B (fi) 1999-08-30 2001-09-14 Nokia Mobile Phones Ltd Menetelmä tiedonsiirron optimoimiseksi pakettikytkentäisessä langattomassa tiedonsiirtojärjestelmässä
US7072933B1 (en) * 2000-01-24 2006-07-04 Microsoft Corporation Network access control using network address translation
JP2002271359A (ja) * 2001-03-14 2002-09-20 Nec Corp ルータ装置及びその帯域制御方法並びにプログラム
US8135815B2 (en) * 2001-03-27 2012-03-13 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
JP3695362B2 (ja) * 2001-07-12 2005-09-14 日本電気株式会社 通信コネクション迂回システム
US7706785B2 (en) 2003-01-22 2010-04-27 International Business Machines Corporation System and method for context-aware unified communications
US6865184B2 (en) 2003-03-10 2005-03-08 Cisco Technology, Inc. Arrangement for traversing an IPv4 network by IPv6 mobile nodes
US7676599B2 (en) * 2004-01-28 2010-03-09 I2 Telecom Ip Holdings, Inc. System and method of binding a client to a server
US7296092B2 (en) 2004-06-30 2007-11-13 Nokia, Inc. Apparatus for inter-domain communications including a virtual switch for routing data packets between virtual interfaces of the virtual switch
EP1797645B1 (en) * 2004-08-30 2018-08-01 Google LLC Systems and methods for providing nonvolatile memory management in wireless phones
US7139239B2 (en) * 2004-10-05 2006-11-21 Siemens Building Technologies, Inc. Self-healing control network for building automation systems
US7254405B2 (en) 2004-11-22 2007-08-07 Motorola, Inc. System and method for providing location information to applications
US8984140B2 (en) * 2004-12-14 2015-03-17 Hewlett-Packard Development Company, L.P. Managing connections through an aggregation of network resources providing offloaded connections between applications over a network
US8265005B2 (en) * 2006-03-06 2012-09-11 Qualcomm Incorporated Method and apparatus for communicating with a wireless network using a single address for multiple processors
US20070245005A1 (en) * 2006-04-18 2007-10-18 Banerjee Dwip N Method and data processing system for managing a plurality of interfaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040062262A1 (en) * 2002-10-01 2004-04-01 Chris Venteicher Method and apparatus for managing the usage of data link resources
JP2006501772A (ja) * 2002-10-01 2006-01-12 モトローラ・インコーポレイテッド データ・リンク・リソースの使用を管理するための方法および装置
JP2006072969A (ja) * 2004-07-01 2006-03-16 Alcatel ネットワークインターフェイスの中で、複数のネットワークインターフェイスを備えるデバイスおよびアプリケーションを選択するための方法
US20070211690A1 (en) * 2006-03-13 2007-09-13 Microsoft Corporation Network interface routing using computational context

Also Published As

Publication number Publication date
WO2008011607A2 (en) 2008-01-24
KR20090033396A (ko) 2009-04-02
KR101056148B1 (ko) 2011-08-11
WO2008011607A3 (en) 2008-03-20
US8364850B2 (en) 2013-01-29
JP4995908B2 (ja) 2012-08-08
US20080181220A1 (en) 2008-07-31
EP2074798B1 (en) 2018-05-16
EP2074798A2 (en) 2009-07-01

Similar Documents

Publication Publication Date Title
JP4995908B2 (ja) マルチ−プロセッサ環境におけるユーティリティ・サービス
CN109315004B (zh) Pdu类型的设置方法及相关实体
EP1029423B1 (en) Intelligent service interface and messaging protocol for coupling a mobile station to peripheral devices
KR20080027333A (ko) 이동 단말기들을 제어하는 소프트웨어 모듈들을 전송하기위한 네트워크 장비
CA2620617A1 (en) System and method for utilizing ip-based wireless telecommunications client location data
TW201110796A (en) Connection manager for a wireless communication device
WO2021056576A1 (zh) 一种业务传输方法及装置、通信设备
CA2270159C (en) Layer 2 integrated access scheme
BRPI0708478A2 (pt) método e equipamento para comunicação com uma rede sem fio utilizando um único endereço para múltiplos processadores
JP2009260783A (ja) ネットワーク接続装置、接続設定方法、及び接続設定用プログラム
JP4801069B2 (ja) 異種環境での透過的なサービス適合
CN101491059B (zh) 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备
KR20100087221A (ko) 카드 애플리케이션 툴킷을 갖는 성능 구성 파라미터들을 사용하여 통신 세션의 개시를 요구하기 위한 장치 및 방법
JP5399382B2 (ja) 移動体ユーザ機器のための多次元アクセス
US8983530B2 (en) Data session continuity between wireless networks
KR102003739B1 (ko) 액세스 노드에 의한 애플리케이션 호스팅 방법 및 장치
KR100928352B1 (ko) 듀얼 모드 이동국을 향한 접속의 유연한 핸들링을 지원하는 방법 및 장치
KR20080039618A (ko) 이동통신 단말기의 데이터 서비스 방법
US20240172105A1 (en) Electronic Apparatus, Control Circuit, and Transmission Control Method
US8675539B1 (en) Management-packet communication of GPS satellite positions
KR20190089798A (ko) 액세스 노드에 의한 애플리케이션 호스팅 방법 및 장치
JP2000316178A (ja) 無線通信システム、端末局装置および無線通信制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110831

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110907

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110930

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120510

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4995908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees