CN101491059B - 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备 - Google Patents

用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备 Download PDF

Info

Publication number
CN101491059B
CN101491059B CN200780027238.1A CN200780027238A CN101491059B CN 101491059 B CN101491059 B CN 101491059B CN 200780027238 A CN200780027238 A CN 200780027238A CN 101491059 B CN101491059 B CN 101491059B
Authority
CN
China
Prior art keywords
gps
network connection
linking
related data
engine
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.)
Expired - Fee Related
Application number
CN200780027238.1A
Other languages
English (en)
Other versions
CN101491059A (zh
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
Priority claimed from US11/780,467 external-priority patent/US8364850B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101491059A publication Critical patent/CN101491059A/zh
Application granted granted Critical
Publication of CN101491059B publication Critical patent/CN101491059B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供用于使电信装置在实用引擎与应用程序之间共享网络连接的方法和系统。当经由所述共享网络连接来合并所述实用引擎与所述应用程序的传出数据时,经由IP数据过滤器来过滤传入数据以将实用引擎特定数据路由到所述实用引擎,同时允许所有其他数据通过以供所述应用程序使用。许多实用程序可由不同形式的实用引擎支持。在此类实用程序之中包括GPS服务,其中GPS相关数据可从GPS服务器接收且可由基于所述GPS服务器所确定的位置来提供位置特定信息的应用程序利用。

Description

用于在包括GPS的实用引擎与应用程序之间共享网络连接的方法和设备
本申请案主张2006年7月20日申请的题为“多处理器多模式环境中的GPS服务”的第60/832,347号美国临时专利申请案的优先权,所述美国临时专利申请案以全文引用的方式并入本文。 
技术领域
本发明涉及用于经由单一共享网络连接来传输和/或接收GPS特定信息和应用程序特定信息的方法和系统。 
背景技术
电信装置(装备有无线调制解调器的膝上型计算机、PDA装置、智能电话,等等)的增加的移动性已产生了可提供或利用位置相对信息的软件应用程序。举例来说,此类应用程序可包括最新的数字地图、附近设施(如餐馆、企业和商店)的地址、本地天气预报、来自个人地址簿的附近条目的列表,或本地地理数据。所述软件应用程序自身运行于应用程序处理器上,但可利用外部全球定位系统(GPS)信息来获得装置的位置作为用于各种基于位置的应用程序的输入。 
复杂的GPS启用移动装置(尤其是具有多个处理器的移动装置)可能需要用以在GPS相关数据业务与应用程序相关数据业务之间共享或多路传输给定网络连接的方式。这可能是因为一次仅有一个点对点(PPP)连接可用于给定网络。 
发明内容
移动电信装置(移动装置)的实施例可包括一个或一个以上处理器,所述处理器包括至少一个应用程序处理器以及至少一个调制解调器处理器,所述至少一个调制解调器处理器可支持由运行于所述应用程序处理器上的一个或一个以上应用程序所需的实用程序或服务的实施。应用程序处理器可管理和执行许多软件应用程序以及控制用户界面。调制解调器处理器可管理射频物理资源和到一个或一个以上固定基站、相关联的网络以及网络服务器的最低阶层无线电和协议链路。调制解调器处理器还可提供用于应用 程序处理器与调制解调器处理器之间的相互作用的应用程序编程接口(API)。此实用程序或服务的实例是耦合到调制解调器或运行于调制解调器内的GPS引擎,所述GPS引擎将GPS服务提供到运行于应用程序处理器上的应用程序。可用于一个处理器(例如,调制解调器处理器)上的实用程序或服务可能需要在运行于应用程序处理器上的应用程序正存取一不同外部数据源的同时存取一外部数据源作为其功能的一部分。此情形产生了使多个应用程序能够同时接入外部网络的路由问题。为了解决此路由问题,实施例包括用以通过接入不同外部服务器的两个应用程序来启用同时数据转移的IP数据过滤机制。另外,实施例提供用于在许多应用程序之中共享共同服务信息(如GPS坐标信息)的应用程序接口。 
在另一实施例中,运行于调制解调器处理器上的一个或一个以上实用引擎需要接入网络连接。为了进行此动作,实用引擎可能需要在各种网络连接之中进行选择且与一运行于应用程序处理器上的应用程序共享一个或一个以上活动数据网络连接。为了与应用程序共享数据网络连接,实用引擎可起始IP数据过滤器以经由所述共享数据网络连接来监视包数据业务。所述过滤器向实用引擎路由与所述实用引擎有关的所有数据包,且将所有其他数据包路由到共享所述网络连接的应用程序。 
附图说明
并入本文且构成本说明书的一部分的附图说明当前优选的实施例,且连同上文给出的一般描述和下文给出的详细描述一起用以解释实施例的特征。 
图1说明包括管理多个数据网络连接的应用程序处理器和具有GPS引擎的调制解调器处理器的实施例的系统方框图。 
图2为说明用于本发明的实施例的步骤序列的过程流程图。 
图3A、图3B、图4A和图4B说明具有一个或一个以上GPS应用程序的替代性实施例的系统方框图。 
图5为说明用于具有一个或一个以上GPS应用程序的实施例的步骤序列的过程流程图。 
图6说明在调制解调器处理器上具有一个或一个以上系统程序的替代性实施例的系统方框图,所述系统程序与应用程序处理器共享包数据调用。 
图7说明包括管理多个数据网络连接的应用程序处理器和具有GPS引擎与实用引擎的调制解调器处理器的实施例的系统方框图。 
图8说明包括管理多个数据网络连接的应用程序处理器和具有两个实用引擎的调制解调器处理器的实施例的系统方框图。 
图9为说明用于具有一个或一个以上实用引擎的实施例的步骤序列的过程流程图。 
具体实施方式
将参看随附图式来详细地描述本发明的各种实施例。在任何可能之处,将在整个图式中使用相同参考数字来指代相同或类似部分。 
实施例移动装置可包括一个或一个以上处理器,所述处理器包括至少一个应用程序处理器以及至少一个调制解调器处理器。所述至少一个调制解调器处理器可支持至少一个实用引擎的实施。实用引擎是提供由许多应用程序利用的服务或数据的过程或电路/过程。GPS引擎是实用引擎的实例,因为其所产生的地理位置信息可由许多位置相关应用程序使用。应用程序处理器可管理和执行许多软件应用程序以及控制用户界面。所述至少一个调制解调器处理器可管理射频物理资源和到一个或一个以上固定基站、相关联的网络以及网络服务器的最低层级无线电和协议链路。调制解调器处理器还可提供用于所述至少一个应用程序处理器与调制解调器处理器之间的相互作用的应用程序编程接口(API)。 
GPS引擎可运行于调制解调器处理器上,因为调制解调器处理器拥有可被增选并用以从一个或一个以上GPS卫星接收信号的射频接收器资源。在接收到卫星信号后,GPS引擎便可经由共享网络连接将信息发送到远程GPS服务器处理器。所述远程GPS服务器处理器可能能够基于从GPS引擎接收的信息来计算移动装置的位置。一旦确定移动装置的位置,GPS服务器或某一其他网络资源便也可基于所确定的移动装置位置而向移动装置提供其他补充信息。此补充信息的实例包括(但不限于)最新的数字地图、附近设施(如餐馆、企业和商店)的地址、本地天气预报、来自地址簿的附近条目的列表,或本地地理数据。此补充信息另外可能不可局部地用于移动装置上。 
归因于所操纵的数据的量,调制解调器处理器上的GPS引擎可使用包交换数据网络连接来与远程GPS服务器通信。与常规的电路交换相比,包交换数据网络启用经改善的数据传输速率。包交换数据网络连接可用于2G和3G移动电信装置上。举例来说,全球移动电信系统(UMTS)装置为3G装置,其为包交换装置。 
包数据协议(PDP,例如,IP、X.25、帧中继)上下文为存在于UMTS装置上的数据结构,其在订户具有活动会话(即,计算机系统之间的相互作用的时期)时含有所述订户的会话信息。当移动装置想要使用UMTS时,其必须首先附加且接着启动网络简档 (network profile)。此网络简档可为(但不限于)PDP上下文。这将网络简档数据结构分配于订户当前正访问的服务GPRS服务节点(SGSN)和服务用户接入点的网关GPRS服务节点(GGSN)中。UMTS允许多重网络简档支持。因此,可通过UMTS装置来维持多个网络连接以支持多个应用程序。 
然而,在具有多重包数据协议(PDP)上下文支持的UMTS环境中,实用服务(例如,GPS服务)可能可用于仅一个网络简档上。调制解调器上的GPS引擎可以与GPS服务器相关联的特定网络简档来配置。在支持实用引擎(例如,GPS引擎)的网络简档已经被另一应用程序进程使用的实例中,所述实用引擎可“背负于”数据网络连接或与一运行于应用程序处理器上的应用程序共享数据网络连接。 
实用引擎自身、连接管理器或另一软件模块可选择待共享的适当数据网络连接。由于在从给定域的PDP启动期间仅有一个IP地址被指派到移动装置,所以在试图支持网络与多个处理器上的一个或一个以上应用程序之间的同时数据转移时可存在路由问题。为了解决此路由问题,实施例可包括用于实用引擎特定信息与应用程序特定信息的同时数据转移的IP数据过滤机制。另外,实施例可提供应用程序接口以在应用程序之中共享位置信息。 
可由包括(例如)GPS引擎的移动装置来使用多种实用引擎。为了说明的简易性起见,首先参看GPS引擎来描述各种实施例的组织和功能,因为GPS服务是可由许多应用程序使用且需要对外部数据源(即,GPS服务器)的同时网络连接的实用服务的实例。接着参看图7至图9来描述具有一个或多个通用实用引擎的移动装置的实施例。 
在多模式移动装置(例如,蜂窝式电话、手机或膝上型调制解调器)中,可存在若干可用网络和用于数据的传输及接收的若干包数据网络连接。另外,多模式移动装置可能能够接入采用多种无线技术(例如,1x、EvDO、UMTS、WLAN和WiFi)的多个无线网络和多个IP网络(例如,IPv4、IPv6)。尽管UMTS网络可同时支持对多个域的连接性,但所述数据网络连接中仅有一个数据网络连接可支持GPS服务。在此类多个数据网络连接情形中,多模式移动装置可经由网络来识别支持GPS服务的数据网络连接。一旦识别出所述数据网络连接,便可将所述数据网络连接指派至GPS引擎以用于接收GPS服务。 
然而,支持GPS服务的数据网络连接也可为其他GPS和非GPS服务应用程序提供远程服务(例如,因特网连接性)。具体来说,可能需要在同时运行于多模式装置上的应用程序与GPS引擎之间共享支持GPS服务的数据网络连接。所述应用程序无需为GPS应用程序。共享所述数据网络连接的GPS引擎与应用程序之间的唯一关系可为:两者均 需要基本上同时接入相同的数据网络连接。连接管理器可由移动装置使用以分配有限数目的可能数据网络连接和管理数据网络连接的共享。 
具体来说,在具有多重PDP支持的UMTS环境中,移动装置可使多个网络简档同时为活动的。一个网络简档(其可包括GPS服务的IP地址)可为GPS引擎所需。网络简档参数可包括网络简档编号、APN名称、PDP类型、IP网络家族(v4或v6),以及技术类型(例如,CDMA/EV-DO、GSM/GPRS、UMTS、WLAN,等等)。对于例如PDA、智能电话和嵌入于膝上型计算机中的调制解调器的某些类型的装置(即,形状因数)来说,可将参数设定配置于应用程序处理器上,且可通过所述应用程序处理器来分配所有包数据连接。或者,所述参数设定可通过调制解调器处理器来分配(例如,在单机蜂窝式电话或充当用于系栓式膝上型计算机的调制解调器的蜂窝式电话的状况下)。 
同时,应用程序(未必与GPS相关)可能需要接入与GPS引擎的网络简档相关的相同数据网络连接。也就是说,所述应用程序与所述GPS引擎需要共享相同的包数据调用。 
图1说明包括管理多个数据网络连接的应用程序处理器和具有GPS引擎的调制解调器处理器的实施例的系统方框图。如图1所示,移动装置90可包括一个或一个以上处理器100、200以及GPS引擎210。在所说明的实施例中,移动装置90具有至少一个应用程序处理器100和调制解调器处理器200。 
应用程序处理器100可管理和执行许多软件应用程序。举例来说,应用程序处理器100可至少管理GPS应用程序110、无线应用程序协议(WAP)应用程序111、因特网探测器应用程序112和多媒体消息服务(MMS)应用程序119,以及其他软件应用程序。应用程序处理器100也可经由显示器和小键盘或键盘(未图示)来控制用户界面。 
调制解调器处理器200可管理射频物理资源和最低阶层无线电和协议链路91。无线电和协议链路91可用一个或一个以上无线通信网络300来提供无线通信。调制解调器处理器200还可将应用程序编程接口(API)220提供到应用程序处理器100以用于应用程序处理器100与调制解调器处理器200之间的相互控制和数据相互作用。 
与调制解调器处理器200建立通信链路的无线通信网络300通常包括至少一个固定基站和至少一个数据服务器(未图示)。所述至少一个数据服务器可自身为或可包括GPS服务器301。 
图1说明应用程序处理器100和调制解调器处理器200两者均被包含于相同整体单元(例如,智能电话或个人数据助理(PDA))内的实施例。或者,应用程序处理器100和调制解调器处理器200可位于单独单元中。举例来说,可将膝上型计算机系栓至充当 调制解调器的蜂窝式电话。在此实例中,应用程序处理器100位于膝上型计算机中,而调制解调器处理器200位于连接到膝上型计算机的GPS启用蜂窝式电话或无线适配器中。在此实例替代性配置中,链接膝上型计算机与电话/适配器的局部连接可为(例如)控制消息和数据流所经由的有线电缆、蓝牙链路或红外线链接。 
GPS引擎210可为运行于调制解调器处理器200上的软件模块。或者,GPS引擎210可呈硬件或固件(例如,ASIC芯片)的形式。GPS引擎210可共享和利用在调制解调器处理器200内所发现的射频收发器(传输器-接收器)230,以便从一个或一个以上GPS卫星400接收无线信号92。也就是说,通常用于网络通信的射频收发器230的接收器资源可被时间共享或暂时增选以用于GPS卫星信号接收。这可包括收发器230电路的部分(例如,放大器或滤波器、存储器单元,以及数据连接和路由电路)或中央收发器电路和功能的时间共享(例如,暂时改变接收频率和收发器230的信号解码的方式,以便接收GPS卫星时间信号)。 
在从足够数目的卫星400接收到和解码GPS卫星信号后,GPS引擎210便将所述GPS卫星信号处理为待经由TCP/IP或类似的通信堆栈240而传输的数字数据形式。 
可接着经由无线通信网络300而通过无线电收发器230来将经处理的数字数据信号传输至GPS服务器301。GPS服务器301可进一步处理从GPS引擎210接收的GPS卫星信号,以确定移动装置90的位置坐标和/或额外的补充位置信息。接着经由无线通信网络300将由GPS服务器301确定的位置数据传输回到GPS引擎210。此位置相对信息另外可能不可局部地用于移动装置90上。由GPS服务器301提供的信息(例如)可识别移动装置相对于街道地址、城市、县、地区或其他政治区域的位置。因为位于移动装置内的调制解调器处理器200可能缺乏足够硬件来执行非平凡、耗时、高精确度的3维几何计算,所以所述移动装置可设法将此类计算卸载到外部GPS服务器301,而不是在可能缺乏内建式硬件浮点算术单元的调制解调器处理器200上执行所述计算。因此,GPS引擎210的实施例可能需要接入数据网络连接以将必需的GPS数据发送至GPS服务器301以及接收来自所述GPS服务器301的必需GPS数据。 
为了与外部GPS服务器301通信,调制解调器处理器200上的GPS引擎210需要数据网络连接(例如,由软件通信堆栈240实施)。具体来说,在具有多重网络简档支持的UMTS环境中,GPS服务可能可用于仅一个网络简档上。调制解调器处理器200上的GPS引擎210可以与特定GPS服务器301相关联的特定网络简档来配置。此特定配置或供应信息可能需要从GPS引擎210传递到连接管理器130。尽管可存在直接信息路径来进行所述动作,但经充分设计的包数据(PD)应用程序接口220可经由包数据管 理器120而以更为结构化且受过训练的软件协议来传递所述信息。 
为了支持GPS位置服务以及运行于应用程序处理器100上的其他应用程序,GPS引擎210可能需要与应用程序处理器100共享潜在若干数据网络连接140中的一者。这是因为在从给定域的PDP启动期间仅有一个IP地址可被指派至装置90。因此,可能需要存在将来自无线通信网络300的数据包正确地路由至GPS引擎210以及运行于应用程序处理器100上的一个或一个以上应用程序110、111、112、...119的某种其他方式。 
为了解决此路由问题,实施例可包括用于GPS特定信息与应用程序特定信息经由相同数据网络连接(也就是说,通过共享所述一个指派的IP地址)的同时数据转移的IP数据过滤器242。过滤器242为特定地监视数据包的软件模块,其留意具有特定的预期格式或内容的数据包。在图1所说明的实例实施例中,IP数据过滤器经配置以特定地留意GPS相关数据包且将其从GPS服务器301中分离出。GPS相关格式或内容可包括TCP端口编号和IP地址或其他独特内容,其基于数据包中的源地址而将数据包识别为源自GPS服务器301。如果IP数据过滤器242将一包识别为GPS相关,则将所述包传递至GPS引擎210。另外,IP数据过滤器242将包按现状传递至正共享PDP启动、网络连接和IP地址的应用程序。通过以类似方式操作,IP数据过滤器242还可允许装置90上的一个以上的应用程序共享相同的PDP启动、网络连接和IP地址。 
实施例可将以下程序用于在连接管理器130与GPS引擎210之间共享关于数据网络连接选择的信息。尽管连接管理器130负责分配数据网络连接,但GPS引擎210可能需要指示将哪一PDP启动用于接收GPS数据服务。也就是说,可能需要在单独处理器上的这些软件实体之间进行信息性“信号交换(handshaking)”。 
与GPS引擎210共享的数据网络连接可能不是GPS应用程序110可能正使用的相同数据网络连接。也就是说,GPS引擎210可与需要存取网络资源的某一其他应用程序共享数据网络连接。举例来说,GPS引擎210可能需要特定PDP启动、数据网络连接和IP地址以用于与GPS服务器301通信。然而,起始GPS位置确定(GPS location fix)的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)数据连接的管理。 
在步骤2中,用户可启动需要GPS位置信息的应用程序。举例来说,用户可采用其移动装置90来获得到达最近的高尔夫球场的驾驶方向。启动存储于移动装置90上的GPS应用程序110导致一请求被发送到包数据管理器120,以起始一GPS位置确定会话来确定移动装置90的位置。包数据管理器110又可将一信号发送到包数据API 220,使得将用以确定移动装置90的位置的请求转发到GPS引擎210。如果已经在步骤1中识别支持GPS服务的数据网络连接,那么包数据管理器120可将一信号发送到GPS引擎210,其向GPS引擎210通知待使用的所识别的数据网络连接。 
在步骤3中,GPS引擎210试图起始包交换数据调用。为了进行此动作,GPS引擎210向包数据管理器120发信号以起始所请求的网络接口(CDMA、UMTS、WLAN、...)。所请求的接口(例如,所供应的UMTS PDP上下文)是适于经由无线通信网络300将GPS引擎210连接到GPS服务器301的接口。GPS引擎210可向包数据管理器120提供所请求的接口名称、家族类型和用以执行包交换数据调用的技术。除了指定CDMA、UMTS、WLAN等等以外,GPS引擎210还可请求特定IP版本(IPv4、IPv6,等等)。尤其对于UMTS来说,GPS引擎210可提供作为接口请求的参数的接入点名称(APN)、PDP类型(例如,IP、X.25、帧中继)、所要的服务质量(QoS),等等。可能需要这些参数来完全建立对一特定服务器的数据网络连接。 
在步骤4中,包数据管理器120经由连接管理器130来请求起始包交换(PS)数据调用。可在步骤3中从GPS引擎210获得用于进行数据调用的参数且将所述参数传递到连接管理器130。或者,网络提供者可在内部供应数据调用参数,例如,APN名称、PDP类型、IP家族,等等。作为响应,连接管理器130基于由包数据管理器120提供的参数来指导调制解调器处理器200调用适当的可用接口。 
在步骤5中,连接管理器130基于步骤4中由包数据管理器120所提供的选择参数而经由RF收发器(传输器-接收器)230来请求启动适当的可用网络接口。由包数据管理器120所提供的参数在每次起始一数据调用时可能不同。所述参数可视移动装置90的位置和可用网络而变化。 
在步骤6中,一旦适当的网络接口连接91经由RF收发器单元230而为活动的,连 接管理器130便针对最终的接口参数而查询无线通信网络300且将此信息(APN、装置IP地址、调用类型)传回到包数据管理器120。 
在步骤7中,包数据管理器120经由包数据API 220向GPS引擎210通知包交换数据调用被成功地打开。包数据管理器120接着经由包数据API 220向GPS引擎210提供用于GPS引擎210接入GPS服务器301的必需的网络信息。用于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业务。 
在步骤9中,使用IP数据过滤器242和TCP/IP通信堆栈240从IP数据业务自动地提取网络GPS信息。也就是说,GPS相关接收数据业务通过IP数据过滤器242而被脱除或过滤,且被路由到GPS引擎210。具体来说,预期的特定GPS相关形式的每一传入数据包经由通信堆栈240而被转向到GPS引擎。在相同网络连接上所接收的任何其他数据包并未经由通信堆栈240来路由,而是例如经由PPP接口245而被路由到应用程序处理器100。此路由可对用户透明地发生。将由GPS引擎210所传输的任何数据与经由相同网络连接而从应用程序处理器100所传输的数据合并或交错。 
在步骤10中,使用GPS服务的应用程序确定是否需要其他GPS位置确定。如果需要,那么将步骤9和步骤10重复不定的次数。 
在步骤11中,如果不再需要GPS位置确定,那么GPS应用程序110通知包数据管理器120暂停与GPS服务器的会话。或者,包数据管理器120可检测到GPS应用程序110在一时间段内尚未请求GPS位置确定。此超时时期在应用程序可能从未被用户明确地终止的移动装置中可能为必需的。在任一状况下,包数据管理器120向连接管理器130通知不再与GPS引擎210共享包交换数据调用。如果不再与某一应用程序共享包交换数据调用,那么终止所述调用。如果包交换数据调用正被某一应用程序使用,那么不通过连接管理器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)层次结构中较高的阶层处)的GPS应用程序110通信。 
图3A说明具有至少一个额外GPS应用程序115的实施例。图3A展示执行于相同应用程序处理器100上的两个GPS应用程序110、115,但可存在运行于相同应用程序处理器100上的甚至更多的GPS应用程序(未图示)。或者,如果存在一个以上的应用程序处理器,那么各种GPS应用程序110、115可执行于一个以上的应用程序处理器上。在图3B所示的实施例中包括两个应用程序处理器。举例来说,移动装置可含有“双重核心”或甚至“四重核心”处理器芯片,所述处理器芯片自身含有两个或两个以上的处理单元。 
如图3A所示,与如图1的实施例中所示的检查单一网络连接相反,替代性实施例的IP数据过滤器242可一次检查在一个以上的网络连接上的包。此配置允许一次共享或背负一个以上的网络连接。 
参看图3A和图3B,实施例可包括GPS接口121,所述GPS接口121在多个GPS应用程序110、115、610之中共享来自GPS引擎210的GPS位置信息。所共享的GPS接口121可简单为包数据管理器120的扩展。举例来说,第一GPS应用程序(例如,图3A或图3B的应用程序110)可如上文结合图2、步骤1至步骤8所描述而建立GPS位置确定会话。接着,其他GPS应用程序115、610可分别如图3A和图3B中所示而经由对所共享的GPS接口121的调用来存取可用位置信息。因为一个应用程序(例如,GPS应用程序110)经由包数据管理器120而开始GPS服务(如在图2的步骤2中),所以可能适当的是使包数据管理器120扩展成具有所共享的GPS接口121(如图3A和图3B所示)。所共享的GPS接口121可呈现被管理、高阶层、可共享的虚拟GPS资源,其隐藏了GPS如何被实施。换句话说,所述接口将与在存在完全自立式GPS处理器时相同。 
在其他替代性实施例中,多个GPS应用程序可同时运行。在此类实例中,用于GPS引擎210的包交换数据调用可能已经为活动的。这可能是因为当另一GPS应用程序115或610请求GPS服务时,第一GPS应用程序110已经促成连接。在此状况下,当请求另一GPS服务时,包数据管理器120(或更具体来说,所共享的GPS接口121)可简单地将成功状态传回到GPS应用程序115或610。 
图5连同图3A、图3B、图4A和图4B一起说明替代性实施例的步骤序列,其可起始和管理对网络的共享包数据连接且支持两个或两个以上的GPS应用程序。在步骤51中,所共享的GPS接口121经由调制解调器处理器200中的包数据应用程序编程接口(PDAPI)220而请求来自GPS引擎210的服务。所共享的GPS接口121可经由PD管理器120和PD API 220而从GPS引擎210获得通信参数。这些通信参数可指定对GPS服务器的所供应的网络连接、所要的接口家族类型,或GPS定位会话是否已经在进行中。而且,实施例可能需要初始化一到所共享的GPS接口121的通道。此控制流步骤51开始包交换数据连接的管理。 
在步骤52中,用户可启动存储于移动装置90内的应用程序,其需要移动装置90的GPS位置。通过启动GPS应用程序110,将请求发送到所共享的GPS接口121,以起始GPS位置确定会话来确定移动装置90的位置。包数据管理器120又可将一信号发送到包数据API 220,使得将用以确定移动装置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来起始对适当的可用数据网络连接的数据调用的启动。所述适当的可用数据网络连接是由调制解调器处理器200基于步骤54中由所共享的GPS接口121所提供的参数而启动。由所共享的GPS接口121所提供的参数在每次起始数据调用时可能不同。所述参数可视移动装置90的位置和可用网络而变化。 
在步骤56中,一旦适当的网络接口连接91经由RF收发器单元230而为现用的,连接管理器130便针对最终的接口参数而查询无线通信网络300,且将此信息(APN、装置IP地址、调用类型)传回到所共享的GPS接口121。 
在步骤57中,所共享的GPS接口121经由包数据API 220而向GPS引擎210通知包交换数据调用被成功地打开。所共享的GPS接口121接着经由包数据API 220而向GPS引擎210提供用于使GPS引擎210接入GPS服务器301的必需的数据网络连接信息。用于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中,使用TCP/IP通信堆栈240的IP数据过滤器242而从IP数据业务自动地提取网络GPS信息。也就是说,GPS相关接收数据业务通过IP数据过滤器242而被脱除或过滤且被路由到GPS引擎210。具体来说,预期的特定形式的每一传入数据包经由通信堆栈240而被路由到GPS引擎210且未被转发到应用程序处理器100。在相同数据网络连接上所接收的任何其他数据包并未经由通信堆栈240来路由,而是例如经由PPP接口245而被路由到应用程序处理器100。所述路由可对用户透明地发生。将由GPS引擎210所传输的所有数据与经由同一数据网络连接而从应用程序处理器100所传输的数据合并或交错。 
此时,在步骤52A中,图3A的第二GPS应用程序115或图3B的应用程序610开始执行且经由所共享的GPS接口121而请求GPS位置确定。作为响应,所共享的GPS接口121递增当前需要GPS位置确定会话的应用程序的计数。可在所述过程中的任何其他时间发生步骤52A,且仅为了说明的目的而将其按原状置放于图5中。另外,第三GPS应用程序可类似地在任何时间由用户起始且要求经由所共享的GPS接口121的服务。 
所共享的GPS接口121的目的是管理和同步对GPS服务的所有请求。所共享的GPS接口121和包数据API 220实际上呈现虚拟的共享GPS服务。可通过包数据管理器120来实施所共享的GPS接口121。或者,可通过增加包数据API 220来实施所共享的GPS 接口121,然而,将GPS接口121定位于包数据API 220内可能会限制由图3B的应用程序610对所述GPS接口的可存取性或限制从图4A和图4B的应用程序519对所述GPS接口的可存取性。 
在步骤60中,当前为活动的GPS应用程序110、115或610中的一者确定是否其不再需要所共享的GPS接口121的服务。这可能是因为所述特定GPS应用程序110、115或610已停止执行或已处于非活动持续一指定的时间段。在此状况下,将利用所共享的GPS接口121的应用程序的计数递减1。如果计数不为零,那么所共享的GPS接口121将继续支持当前需要GPS位置确定的其他GPS应用程序,从而继续执行步骤59。 
如果活动GPS应用程序的计数(如由所共享的GPS接口121所递减)为零,那么可接着执行步骤61。在步骤61中,所共享的GPS接口121向连接管理器130通知不再需要与GPS引擎210共享包交换数据调用。如果没有其他应用程序当前与GPS引擎210共享包交换数据调用,那么连接管理器130终止所述数据调用。在任一状况下,所共享的GPS接口121在步骤62中通知包数据API停止GPS定位会话。步骤62可包括停用通信堆栈240中的IP数据过滤器242,因为可能不再存在待过滤出的任何GPS相关数据包。 
图4A和图4B说明额外替代性实施例。除了应用程序处理器100以外,可存在至少一个外部处理器500,例如,膝上型计算机或PDA。外部处理器500可通过电缆或无线链路93或94(例如,以太网、USB、火线、蓝牙或某种专有技术)而与多处理器移动装置90链接。在图4A所说明的实施例中,专用通信链路收发器540被包括于通信链路93的任一端上。在图4B所说明的实施例中,现有通信堆栈140被包括于应用程序处理器100中以用于经由通道94而与外部处理器500的通信协议堆栈540通信。为了说明的目的,图4A和图4B仅简单地展示一个GPS应用程序510。然而,如同应用程序处理器100,可在外部处理器500上执行多个GPS应用程序。外部处理器500可至少与应用程序处理器100一样复杂。也就是说,外部处理器500也可包括额外软件组件,例如,经展示用于应用程序处理器100的各种软件组件。 
图4A和图4B展示外部处理器500与应用程序处理器100之间的不同种类的通信。另外,图4A展示控制流2以及GPS应用程序510与所共享的GPS接口121之间的数据流。运行于外部处理器500中的GPS应用程序510可通过通信链路540和通信通道93而请求来自所共享的GPS接口121的GPS服务。举例来说,可在通信驱动器540使用非TCP/IP协议(例如,蓝牙或USB)的情况下使用此布置。 
图4B展示控制流2以及TCP/IP通信堆栈140与540之间的数据流。可在通信通道 94使用标准TCP/IP网络协议的情况下使用此布置。在此状况下,包数据管理器120至连接管理器130必须建立局部连接,例如,对外部处理器500的TCP1/IP1/PPP1连接140。接着,GPS应用程序510使用此连接来将请求和数据发送到所共享的GPS接口121或接收请求和数据。 
假定GPS应用程序510为GPS相关应用程序,以便展示其如何与GPS引擎210以及应用程序处理器100的各种软件组件相关。除了GPS应用程序510与所共享的GPS接口121之间的控制和数据路径的变化以外,由图4A和图4B所说明的实施例所执行的步骤可与图5中的步骤相同。图5的步骤设置GPS引擎以用于与一应用程序共享包交换数据调用,所述应用程序已经由所述包交换数据调用而连接至网络。图4A和图4B的实施例可分别特定地需要在应用程序处理器100与外部处理器500之间配置通信通道93或94。这在图5的步骤51中得以执行。 
图6说明另一实施例,其中除了GPS引擎210以外,调制解调器处理器200可执行至少一个实用引擎250。图6展示管理流到额外实用引擎250的控制和/或数据流的GPS引擎210。额外实用引擎250可具有其自己的TCP/IP/过滤器堆栈260。特定来说,实用引擎250可能能够过滤出—或注射到—与所述实用引擎250特定有关的PPP流数据包中,这类似于GPS引擎IP数据过滤器242路由GPS特定数据包的方式。替代于PPP协议,一不同协议(未图示)可运行于通信堆栈240和/或260的链路层上,因为CDMA和UMTS两者也支持直接经由网络数据连接来发送IP数据包。 
GPS和实用引擎的其他布置、互连或数目是可能的。举例来说,在图7中,GPS引擎210和实用引擎250具有个别通信堆栈,但共享单一复合过滤器270。通过复合过滤器,可针对适当的目的地来路由从数据包流所提取的数据,即,每一处理器和GPS引擎210的TCP/IP堆栈、实用引擎250,或应用程序处理器100中的共享所述数据连接的另一应用程序。 
图8为不具有运行于调制解调器处理器200上的GPS引擎的移动装置90的另一实施例的方框图。替代于GPS引擎,存在至少一个非GPS实用引擎250(251),所述至少一个非GPS实用引擎250(251)可能需要经由通信堆栈260(261)来接入网络连接。如同GPS引擎,非GPS实用引擎250(251)可能需要与运行于至少一个应用程序处理器100上的应用程序116或118共享一个或一个以上活动数据网络连接。共享数据网络连接的原因可如前文所描述。也就是说,在从给定域的PDP启动期间仅有一个IP地址可被指派至装置。然而,可能需要有从网络300上的实用服务器302到应用程序116或118以及到实用引擎260的同时数据转移。也可能需要经由共享数据网络连接而在相反 方向上进行数据转移。为了与应用程序116或118共享数据网络连接,实用引擎250或251可使用IP数据过滤器270以经由共享连接来监视包数据业务。IP数据过滤器270基于特定的预期地址、格式或内容来辨识与实用引擎有关的数据包。举例来说,IP数据过滤器经配置以基于数据包中的源地址来留意实用相关数据包且将其从实用服务器302中分离出。实用相关格式或内容可包括TCP或UDP端口编号和IP地址或其他独特内容,其将数据包识别为源自实用服务器302。IP数据过滤器270将经辨识的实用相关数据包路由到实用引擎250或251(所有数据包均与实用引擎有关),且将所有其他数据包路由到共享数据网络连接的应用程序。或者,如图6中的状况,每一实用引擎250或251可具有其自己单独的IP数据过滤器。 
参看图8和图9,结合用于执行方法步骤的系统来说明用于替代性实施例的步骤序列。在步骤71中,包数据管理器120经由调制解调器处理器200中的包数据应用程序编程接口(PD API)220而向连接共享管理器290登记其存在。包数据管理器120可经由包数据管理器120和PD API 220而从连接共享管理器290获得通信参数。这些通信参数可指定对由实用引擎250、251所需的实用相关服务器302的所供应的数据网络连接,所述实用引擎250、251针对此而正管理共享数据网络连接。被提供到包数据管理器120的参数可包括所要的接口家族类型,或实用服务是否已经在进行中。此控制流步骤71开始包交换数据连接的管理。 
在步骤72中,用户可启动应用程序116,其需要来自实用引擎250、251的服务。通过启动应用程序116,将一请求发送到包数据管理器120以起始来自实用引擎250、251的服务。包数据管理器120又可将一信号发送到包数据API 220,使得将实用服务请求转发到连接共享管理器290,所述连接共享管理器290又可将所述请求转发到提供所请求的服务的实用引擎250、251。如果一次一个以上的应用程序可请求来自特定实用引擎250、251的服务,那么PD管理器120或连接共享管理器290可维持需要用于每一实用引擎250、251的此服务的应用程序的数目的计数。 
在步骤73中,连接共享管理器290请求起始包交换数据调用。为了进行此动作,连接共享管理器290向包数据管理器120发信号以起始所请求的接口(CDMA、UMTS、WLAN、...)。所请求的接口(例如,所供应的UMTS PDP上下文)是将经由无线通信网络300而将适当的实用引擎250、251连接到实用服务器302的接口。连接共享管理器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来起始对适当的可用网络接口的数据调用的启动。所述适当的可用接口是由调制解调器处理器200基于步骤74中由包数据管理器120所提供的参数而启动。由包数据管理器120所提供的参数在每次起始数据调用时可能不同。所述参数可视可用网络而变化。 
在步骤76中,一旦适当的数据网络连接91经由RF收发器单元230而为活动的,连接管理器130便针对最终的接口参数而查询无线通信网络300,且将此信息(APN、装置IP地址、调用类型)传回到包数据管理器120。 
在步骤77中,包数据管理器120经由包数据API 220而向连接共享管理器290通知包交换数据调用被成功地打开。包数据管理器120接着经由包数据API 220和连接共享管理器290而向实用引擎250、251提供必需的网络信息以接入实用服务器302。用于连接共享管理器290的网络信息可包括上文在步骤73中所产生的连接请求信息。此连接请求信息可包括接口名称/技术(CDMA、UMTS、WLAN,等等)、接口家族(IPv4、IPv6,等等),以及接口特定信息(对于UMTS来说,为APN名称、PDP类型、QoS、域名称、由域所支持的服务,等等)。另外,网络信息可包括经指派以用于数据调用会话的接口IP地址。 
在步骤78中,连接共享管理器290使用上文在步骤77中所描述的网络接口参数来独特地识别使用来自应用程序处理器100的PD管理器120的网络信息而产生的网络接口。连接共享管理器290将相关实用引擎250、251连结到所述网络接口以用于经由TCP/IP通信堆栈260、261而从实用服务器302发送和接收IP业务。连接共享管理器290配置IP数据过滤器270以经由通信堆栈260、261来检查特定形式的数据包且将其和所有其他数据包路由到共享网络连接的应用程序的特定通信堆栈140。 
在步骤79中,通过IP数据过滤器270而从IP数据业务自动地提取来自实用服务器302的入站数据。也就是说,实用相关接收数据业务通过IP数据过滤器270而被脱除或过滤且被路由到适当的实用引擎250、251,如由连接共享管理器290如此所配置。具体来说,预期的特定形式的每一传入数据包或来自实用服务器302的每一传入数据包经由通信堆栈260或261而被路由到连接共享管理器290。所述数据包未被转发到应用程序 处理器100。在相同网络连接上所接收的任何其他数据包并未经由通信堆栈260、261来路由,而是例如经由PPP接口245而被路由到应用程序处理器100。所述路由可对用户透明地发生。将由实用引擎250或251所传输的所有数据与经由同一数据网络连接而从应用程序处理器100所传输的数据合并或交错。 
此时,在步骤72A中,另一应用程序118可开始执行且可经由PD管理器120而请求调制解调器实用服务。作为响应,包数据管理器120可递增当前需要调制解调器实用服务的应用程序的计数。或者,可通过连接共享管理器来维持此计数。可在所述过程中的任何其他时间发生步骤72A,且仅为了说明的目的而将其按原状置放于图9中。另外,第三应用程序(如果其执行)可类似地由用户在此过程中的任一时间起始且要求经由包数据管理器120的服务。包数据管理器120的目的是管理和同步对实用服务的所有应用程序请求。 
步骤80确定当前活动的应用程序116、118中的一者是否不再需要实用服务。这可能是因为所述特定应用程序116、118已停止执行或尚未使用所述服务持续一指定的时间段(超时时期)。或者,应用程序116、118可明确地向PD管理器通知不再需要实用服务。在任一状况下,包数据管理器120(或者,连接共享管理器290)递减利用提供不需要的服务的实用引擎250、251的应用程序的计数。如果计数不为零,那么包数据管理器120将继续支持当前需要服务的其他应用程序,因此所述过程在步骤79处继续。 
如果使用特定实用引擎250、251的活动应用程序的计数(如由包数据管理器120所递减)为零,那么可接着执行步骤81。在步骤81中,包数据管理器120向连接管理器130通知不再需要与连接共享管理器290共享包交换数据调用。如果没有应用程序当前与连接共享管理器290共享包交换数据调用,那么连接管理器130终止所述数据调用。在任一状况下,PD管理器120在步骤82中经由包数据API 220来通知连接共享管理器290停止特定实用引擎250、251。步骤82可包括重新配置IP数据过滤器270,因为可能不再存在来自实用服务器302的待过滤出和路由到特定实用引擎250、251的任何实用相关数据包。 
用于实施图2、图5和图9的步骤的硬件可为经配置以执行一组指令的处理元件和存储器元件,其中所述组指令用于执行对应于以上事件的方法步骤。或者,可通过给定功能特定的电路来执行某些步骤。 
所属领域的技术人员应了解,结合本文中所揭示的实施例而描述的各种说明性逻辑区块、模块、电路和算法步骤可被实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此互换性,已在上文中一般性得描述了各种说明性组件、区块、 模块、电路和步骤的功能性。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以变化的方式来实施所描述的功能性,但这些实施决策不应被解释为导致脱离本发明的范围。 
可通过通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中所描述的功能的任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑区块、模块和电路。通用处理器可为微处理器,但在替代方案中,所述处理器可为任何常规处理器、控制器、微控制器或状态机。也可将处理器实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器,或任何其他此配置。 
结合本文中所揭示的实施例而描述的方法或算法的步骤可直接体现于硬件中、由处理器所执行的软件模块中或所述两者的组合中。软件模块可驻存于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可移除式磁盘、CD-ROM或此项技术中已知的任何其他形式的存储媒体中。将示范性存储媒体耦合到处理器,使得所述处理器可从所述存储媒体读取信息和将信息写入到所述存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻存于ASIC中。所述ASIC可驻存于用户终端中。在替代方案中,处理器和存储媒体可作为离散组件而驻存于用户终端中。 
尽管已参考特定实例实施例而揭示了本发明,但在不脱离由所附权利要求书所界定的本发明的范围和范畴的情况下,对所描述的实施例的许多修改、变动和改变是可能的。因此,并不希望将本发明限于所描述的实施例,而是希望使其具有由所附权利要求书及其等效物的语言所界定的完整范围。 

Claims (43)

1.一种用于在第一实用引擎与第一应用程序之间共享网络连接的方法,其包含:
选择与所述第一实用引擎通信的多个网络连接中的一者;
将所述第一实用引擎连结到与第一实用服务器通信的多个网络连接中的所述选定一者,所述第一实用服务器将第一实用相关数据传输到所述第一实用引擎和从所述第一实用引擎接收第一实用相关数据;
启用所述第一应用程序以经由连结到所述实用引擎的所述网络连接来传输和接收数据;
过滤在所述经连结的网络连接上所接收的第一实用相关数据包;
将所述经过滤的第一实用相关接收数据包路由到所述第一实用引擎;
将在所述经连结的网络连接上所接收的其他数据包路由到所述第一应用程序;以及
将来自所述第一实用引擎与所述第一应用程序的传出数据包合并以用于在所述经连结的网络连接上进行传输。
2.根据权利要求1所述的方法,其进一步包含与所述第一应用程序共享由所述第一实用引擎产生的信息。
3.根据权利要求1所述的方法,其进一步包含:
将第二实用引擎连结到所述经连结的网络连接,所述经连结的网络连接还与第二实用服务器通信且所述第二实用服务器将实用相关数据传输到所述第二实用引擎和从所述第二实用引擎接收实用相关数据。
4.根据权利要求3所述的方法,其进一步包含:
过滤在所述经连结的网络连接上所接收的第二实用相关数据包;以及
将所述经过滤的第二实用相关接收数据包路由到所述第二实用引擎,其中合并传出数据包合并来自所述第一实用引擎、所述第二实用引擎和所述第一应用程序的传出数据包以用于在所述经连结的网络连接上进行传输。
5.根据权利要求1所述的方法,其进一步包含与所述第一应用程序和第二应用程序共享由所述第一实用引擎产生的信息。
6.根据权利要求3所述的方法,其进一步包含经由包数据管理器而与所述第一应用程序和第二应用程序共享由所述第二实用引擎产生的信息。
7.根据权利要求1所述的方法,其中过滤在所述经连结的网络连接上所接收的第一实用相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于源地址来辨识第一实用相关数据包。
8.根据权利要求1所述的方法,其中过滤在所述经连结的网络连接上所接收的第一实用相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于包格式来辨识第一实用相关数据包。
9.根据权利要求1所述的方法,其中过滤在所述经连结的网络连接上所接收的第一实用相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于所述数据包中的内容来辨识第一实用相关数据包。
10.根据权利要求1所述的方法,其中过滤在所述经连结的网络连接上所接收的第一实用相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于TCP或UDP端口编号来辨识第一实用相关数据包。
11.根据权利要求1所述的方法,其中过滤在所述经连结的网络连接上所接收的第一实用相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于IP地址来辨识第一实用相关数据包。
12.根据权利要求1所述的方法,其进一步包含在所述第一实用引擎从所述经连结的网络连接断开的情况下停止过滤在所述经连结的网络连接上所接收的第一实用相关数据包。
13.一种用于在实用引擎与应用程序之间共享网络连接的装置,其包含:
用于选择与第一实用引擎通信的多个网络连接中的一者的装置;
用于将所述第一实用引擎连结到与第一实用服务器通信的多个网络连接中的所述选定一者的装置,所述第一实用服务器将实用相关数据传输到所述第一实用引擎和从所述第一实用引擎接收实用相关数据;
用于启用第一应用程序以经由连结到所述第一实用引擎的所述网络连接来传输和接收数据;
用于过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置;
用于将所述经过滤的第一实用相关接收数据包路由到所述第一实用引擎的装置;
用于将在所述经连结的网络连接上所接收的其他数据包路由到所述第一应用程序的装置;以及
用于合并来自所述第一实用引擎与所述第一应用程序的传出数据包以用于在所述经连结的网络连接上进行传输的装置。
14.根据权利要求13所述的装置,其进一步包含用于与所述第一应用程序共享由所述第一实用引擎产生的信息的装置。
15.根据权利要求13所述的装置,其进一步包含:
用于将第二实用引擎连结到所述经连结的网络连接的装置,所述经连结的网络连接还与第二实用服务器通信,所述第二实用服务器将实用相关数据传输到所述第二实用引擎和从所述第二实用引擎接收实用相关数据。
16.根据权利要求15所述的装置,其进一步包含:
用于过滤在所述经连结的网络连接上所接收的第二实用相关数据包的装置;以及
用于将所述经过滤的第二实用相关接收数据包路由到所述第二实用引擎的装置,
其中所述用于合并传出数据包的装置合并来自所述第一实用引擎、所述第二实用引擎和所述第一应用程序的传出数据包以用于在所述经连结的网络连接上进行传输。
17.根据权利要求13所述的装置,其进一步包含用于与所述第一应用程序和第二应用程序共享由所述第一实用引擎产生的信息的装置。
18.根据权利要求15所述的装置,其进一步包含用于经由包数据管理器与所述第一应用程序和第二应用程序共享由所述第二实用引擎产生的信息的装置。
19.根据权利要求13所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于源地址来辨识第一实用相关数据包的装置。
20.根据权利要求13所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于包格式来辨识第一实用相关数据包的装置。
21.根据权利要求13所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于所述数据包中的内容来辨识第一实用相关数据包的装置。
22.根据权利要求13所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于TCP或UDP端口编号来辨识第一实用相关数据包的装置。
23.根据权利要求13所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于IP地址来辨识第一实用相关数据包的装置。
24.根据权利要求13所述的装置,其进一步包含用于在所述第一实用引擎从所述经连结的网络连接断开的情况下停止过滤在所述经连结的网络连接上所接收的第一实用相关数据包的装置。
25.一种用于在GPS引擎与第一应用程序之间共享网络连接的方法,其包含:
选择与所述GPS引擎通信的多个网络连接中的一者;
将所述GPS引擎连结到与GPS服务器通信的多个网络连接中的所述选定一者,所述GPS服务器将GPS相关数据传输到所述GPS引擎和从所述GPS引擎接收GPS相关数据;
启用所述第一应用程序以经由所述经连结的网络连接来传输和接收数据;
过滤在所述经连结的网络连接上所接收的GPS相关数据包;
将所述经过滤的GPS相关接收数据包路由到所述GPS引擎;
将在所述经连结的网络连接上所接收的其他数据包路由到所述第一应用程序;以及
合并来自所述GPS引擎与所述第一应用程序的传出数据包以用于在所述经连结的网络连接上进行传输。
26.根据权利要求25所述的方法,其进一步包含与所述第一应用程序共享由所述GPS引擎产生的信息。
27.根据权利要求25所述的方法,其进一步包含:
将由所述GPS引擎产生的GPS信息发送到所述GPS服务器;以及
从所述GPS服务器接收GPS坐标信息。
28.根据权利要求25所述的方法,其进一步包含与所述第一应用程序和第二应用程序共享由所述GPS引擎产生的GPS信息。
29.根据权利要求25所述的方法,其中过滤在所述经连结的网络连接上所接收的GPS相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于源地址来辨识GPS相关数据包。
30.根据权利要求25所述的方法,其中过滤在所述经连结的网络连接上所接收的GPS相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于包格式来辨识GPS相关数据包。
31.根据权利要求25所述的方法,其中过滤在所述经连结的网络连接上所接收的GPS相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于所述数据包中的内容来辨识GPS相关数据包。
32.根据权利要求25所述的方法,其中过滤在所述经连结的网络连接上所接收的GPS相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于TCP或UDP端口编号来辨识GPS相关数据包。
33.根据权利要求25所述的方法,其中过滤在所述经连结的网络连接上所接收的GPS相关数据包包含:
监视在所述经连结的网络连接上所接收的数据包;以及
基于IP地址来辨识GPS相关数据包。
34.根据权利要求25所述的方法,其进一步包含在所述GPS引擎从所述经连结的网络连接断开的情况下停止过滤在所述经连结的网络连接上所接收的GPS相关数据包。
35.一种用于在GPS引擎与应用程序之间共享网络连接的装置,其包含:
用于选择与GPS引擎通信的多个网络连接中的一者的装置;
用于将所述GPS引擎连结到与GPS服务器通信的多个网络连接中的所述选定一者的装置,所述GPS服务器将GPS相关数据传输到所述GPS引擎和从所述GPS引擎接收GPS相关数据;用于启用第一应用程序以经由所述经连结的网络连接来传输和接收数据的装置;
用于过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置;
用于将所述经过滤的GPS相关接收数据包路由到所述GPS引擎的装置;
用于将在所述经连结的网络连接上所接收的其他数据包路由到所述第一应用程序的装置;以及
用于合并来自所述GPS引擎与所述第一应用程序的传出数据包以用于在所述经连结的网络连接上进行传输的装置。
36.根据权利要求35所述的装置,其进一步包含用于与所述第一应用程序共享由所述GPS引擎产生的信息的装置。
37.根据权利要求35所述的装置,其进一步包含用于与所述第一应用程序和第二应用程序共享由所述GPS引擎产生的信息的装置。
38.根据权利要求35所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于源地址来辨识GPS相关数据包的装置。
39.根据权利要求35所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于包格式来辨识GPS相关数据包的装置。
40.根据权利要求35所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于所述数据包中的内容来辨识GPS相关数据包的装置。
41.根据权利要求35所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于TCP或UDP端口编号来辨识GPS相关数据包的装置。
42.根据权利要求35所述的装置,其中所述用于过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置包含:
用于监视在所述经连结的网络连接上所接收的数据包的装置;以及
用于基于IP地址来辨识GPS相关数据包的装置。
43.根据权利要求35所述的装置,其进一步包含用于在所述GPS引擎从所述经连结的网络连接断开的情况下停止过滤在所述经连结的网络连接上所接收的GPS相关数据包的装置。
CN200780027238.1A 2006-07-20 2007-07-20 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备 Expired - Fee Related CN101491059B (zh)

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 2007-07-19
US11/780,467 US8364850B2 (en) 2006-07-20 2007-07-19 Utility service in multi-processor environment
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
CN101491059A CN101491059A (zh) 2009-07-22
CN101491059B true CN101491059B (zh) 2013-02-13

Family

ID=40892181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780027238.1A Expired - Fee Related CN101491059B (zh) 2006-07-20 2007-07-20 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备

Country Status (2)

Country Link
CN (1) CN101491059B (zh)
TW (1) TW200813739A (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634302B2 (en) * 2010-07-30 2014-01-21 Alcatel Lucent Apparatus for multi-cell support in a network
US8737417B2 (en) 2010-11-12 2014-05-27 Alcatel Lucent Lock-less and zero copy messaging scheme for telecommunication network applications
US8730790B2 (en) 2010-11-19 2014-05-20 Alcatel Lucent Method and system for cell recovery in telecommunication networks
US8861434B2 (en) 2010-11-29 2014-10-14 Alcatel Lucent Method and system for improved multi-cell support on a single modem board
US9357482B2 (en) 2011-07-13 2016-05-31 Alcatel Lucent Method and system for dynamic power control for base stations
US9565615B2 (en) * 2012-05-16 2017-02-07 Qualcomm Incorporated Evolved hybrid internet protocol (IP) multimedia subsystem (IMS) architecture
CN106612515B (zh) * 2015-10-21 2020-12-29 中兴通讯股份有限公司 终端apn同步方法和装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI108601B (fi) * 1999-01-05 2002-02-15 Nokia Corp QoS-kartoitustiedon välitys pakettiradioverkossa
US7254405B2 (en) * 2004-11-22 2007-08-07 Motorola, Inc. System and method for providing location information to applications

Also Published As

Publication number Publication date
CN101491059A (zh) 2009-07-22
TW200813739A (en) 2008-03-16

Similar Documents

Publication Publication Date Title
US8364850B2 (en) Utility service in multi-processor environment
CN101491059B (zh) 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备
EP2362601B1 (en) Seamless roaming
EP1612996B1 (en) Method for selecting among network interfaces, device with multiple network interfaces and application
US7623843B2 (en) Wireless communication cost prediction for mobile device
US8903392B2 (en) Service status display on a handheld communication device
EP2342869B1 (en) System and method for managing and appling history information of terminal in converged personal network service environment, and converged personal network service server, mobile communication and end device therefor
KR100999807B1 (ko) 무선 어플리케이션 갱신을 위한 시스템 및 방법
EP1404060A2 (en) Wireless communication terminal
JP2011508464A (ja) 無線通信装置、ユニバーサルicカード、及び関連する方法と通信装置
US20230171586A1 (en) Automated Subscription Management for Wireless Devices Having Multiple Subscription Profiles
CN101379804A (zh) 用于使用多个处理器的单个地址与无线网络进行通信的方法及设备
US8606315B2 (en) Multi-dimensional access for mobile user equipment
US20140106745A1 (en) Dynamic wireless transceiver selection in a wireless communication device
US20080139221A1 (en) System for providing address using geocoding application programming interface in open service platform
EP3930376A1 (en) Multi-connectivity restriction for services demanding single-path or single access
US20120163237A1 (en) Apparatus and method for configuring personal space with virtual switch
KR100378820B1 (ko) 에스디알 단말기의 애플리케이션 다운로드 장치 및 방법
KR100700559B1 (ko) 소프트웨어를 다운로드하는 이동 통신 단말기[ 시스템] 및 그 방법
EP2437467A2 (en) Method of handling zone based service procedure
US8600376B2 (en) Line routing to wireless access points
JP2004229143A (ja) 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体
CN1890997B (zh) 移动终端网关
CN111526554B (zh) 切换先行关联预备支持方法和系统
KR100689736B1 (ko) 통합형 기지국의 망 중개 장치 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130213

Termination date: 20180720