在多处理器计算环境中管理数据服务的方法和设备的制作方法

文档序号:6593969阅读:142来源:国知局
专利名称:在多处理器计算环境中管理数据服务的方法和设备的制作方法
技术领域
本发明大体上涉及移动计算,且更具体地说,涉及用于管理一个或一个以上计算 装置之间的共享网络连接的技术。
背景技术
按照惯例,用于移动计算装置(例如,个人数字助理(PDA)、智能电话、手持式计算 机等)的双处理器和/或其它多处理器环境可包括负责空中接口协议操作的调制解调器处 理器和运行所述装置的操作系统的应用程序处理器。此外,此环境中的相应处理器可连接 到外围设备和/或外部存储器,所述外部存储器可分割成分别对应于调制解调器处理器、 应用程序处理器和处理器间通信的三个区。为了完成各种计算任务,多处理器移动计算环境中的相应处理器和/或所述处理 器与之相关联的存储器区可经配置以彼此交互。因此,例如,使用应用程序处理器在移动计 算装置上运行的应用程序可利用由调制解调器处理器提供的无线数据连接性。作为另一实 例,移动计算装置可利用与经由一个或一个以上接口连接或联机到所述移动装置的另一计 算装置共享的数据服务。在此实例中,移动计算装置和所联机的装置可关于移动装置的无 线数据连接利用共用因特网协议(IP)地址。因此,可能需要移动装置来监视上行链路和下 行链路包流,且执行网络地址翻译(NAT)以将适当的数据引导到所联机的装置。传统上,此 些操作由应用程序处理器在移动装置处执行,使得所有数据包必须传送到调制解调器存储 器区且从调制解调器存储器区传送到应用程序存储器区。鉴于上述实例,可了解,在嵌入式应用程序情况和数据服务共享情况两者中,在移 动装置的调制解调器与应用程序处理器之间需要大量的数据复制以用于数据处理和/或 传送。这些数据复制可产生移动装置的系统总线和外部存储器上的过多事务,从而增加功 率消耗和CPU资源使用,并且增加端到端延迟。因此,将需要实施用于移动计算装置的至少 减轻上述缺点的多处理器管理技术。

发明内容
以下呈现对所主张标的物的各种方面的简化概述,以便提供对此些方面的基本理 解。此概述并非所有被涵盖方面的广泛综述,且既无意识别关键或重要元素也无意划定此 些方面的范围。此概述的唯一目的是以简化形式呈现所揭示方面的一些概念,作为稍后呈
7现的更详细描述的序言。根据一方面,本文中描述一种方法。所述方法可包含从应用程序处理器接收一个 或一个以上网络地址翻译(NAT)规则;在所耦合的接口上获得包;尝试对从所述应用程序 处理器接收的对应于所述所获得的包的NAT规则的识别;在成功的识别尝试后即刻根据所 识别的NAT规则来翻译所述所获得的包,且将经翻译的包转发到一个或一个以上经翻译包 目的地;以及在不成功的识别尝试后即刻将所述所获得的包转发到一个或一个以上包处理 目的地。第二方面涉及一种移动计算设备,其可包含存储器,所述存储器存储与由应用程 序处理器提供的一个或一个以上NAT规则有关的数据。所述移动计算设备可进一步包含耦 合到所述存储器的至少一个处理器,其与所述应用程序处理器相异,所述至少一个处理器 经配置以在所耦合的接口上接收包,尝试对对应于所述所接收的包的NAT规则的识别,在 NAT规则的成功识别后即刻根据所识别的NAT规则来翻译所述所接收的包并将所述经翻译 的包转发到至少一个经翻译包目的地,且在NAT规则的不成功识别后即刻将所述所接收的 包转发到至少一个包处理目的地。根据第三方面,本文中描述一种设备。所述设备可包含用于从相关联的应用程序 处理器接收相应的NAT映射规则的装置;用于识别经由接口获得的包的装置;用于尝试使 所述所识别的包与所接收的NAT映射规则匹配的装置;用于在成功的所尝试匹配后即刻根 据匹配NAT映射规则来翻译所述所识别的包的装置;用于在应用所述匹配NAT映射规则后 即刻将所述经翻译的包引导到一个或一个以上经翻译包目的地的装置;以及用于在不成功 的所尝试匹配后即刻将所述所识别的包引导到一个或一个以上包处理目的地的装置。本文中所描述的第四方面涉及一种集成电路,其执行机器可执行指令。所述指令 可包含从相关联的应用程序处理器接收相应的NAT映射规则;识别经由接口获得的包; 尝试使所述所识别的包与相应的NAT映射规则匹配;在成功的所尝试匹配后即刻根据匹配 NAT映射规则来翻译所述所识别的包;在应用匹配NAT映射规则后即刻将所述经翻译的包 引导到一个或一个以上经翻译包目的地;以及在不成功的所尝试匹配后即刻将所述所识别 的包引导到一个或一个以上包处理目的地。为实现前述和相关目的,所主张标的物的一个或一个以上方面包含在下文充分描 述且在所附权利要求书中特别指出的特征。以下描述和附图详细陈述所主张标的物的某些 说明性方面。然而,这些方面仅指示可使用所主张标的物的原理的各种方式中的少数几种。 此外,所揭示的方面意在包括所有此些方面及其均等物。


图1是根据各种方面的促进多处理器移动计算环境中的高效存储器管理的系统 的框图。图2是根据各种方面的用于借助于网络地址翻译(NAT)功能而共享网络接口(包 括对相应本地处理器和/或经联机处理器的服务)的实例系统的框图。图3说明可用以实施网络接口共享的实例移动计算架构。图4说明根据各种方面的可用以促进与网络接口共享会话相关联的高级数据服 务管理的移动计算架构的实例。
图5到图6说明根据各种方面的与由相应的实例多处理器移动计算实施方案进行 的网络接口共享会话相关联的信息流。图7到图9是用于管理与移动计算装置相关联的数据流的相应方法的流程图。图10是促进用于网络接口共享应用程序的数据服务管理的设备的框图。图11说明本文中所描述的各种方面可在其中起作用的实例无线通信系统。图12是可用以实施本文中所描述的一个或一个以上方面的实例计算系统的框 图。
具体实施例方式现在参看图式描述所主张标的物的各种方面,其中相同参考标号始终用以指代相 同元件。在以下描述中,为实现阐释目的,陈述大量特定细节以便提供对一个或一个以上方 面的透彻理解。然而,可为明显的是,所述方面可在没有这些特定细节的情况下实践。在其 它例子中,以框图形式展示众所周知的结构和装置以便促进描述一个或一个以上方面。如本申请案中所使用,术语“组件”、“模块”、“系统”等既定指代计算机相关实体, 其为硬件、固件、硬件与软件的组合、软件或执行中软件。举例来说,组件可为(但不限于) 在处理器上运行的进程、集成电路、对象、可执行文件、执行线程、程序和/或计算机。作为 说明,在计算装置上运行的应用程序和计算装置两者均可为组件。一个或一个以上组件可 驻存在进程和/或执行线程内,且一组件可位于一台计算机上和/或分布于两台或两台以 上计算机之间。此外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体执行。 所述组件可经由本地进程和/或远程进程进行通信,例如根据具有一个或一个以上数据包 的信号(所述数据例如是来自一个借助所述信号与在本地系统、分布式系统中的另一组件 和/或跨越例如因特网等网络与其它系统交互的组件的数据)。此外,本文中结合无线终端和/或基站而描述各种方面。无线终端可指代将语音 连接性和/或数据连接性提供给用户的装置。无线终端可连接到例如膝上型计算机或桌上 型计算机等计算装置,或其可为例如个人数字助理(PDA)等自含式装置。无线终端也可称 作系统、订户单元、订户台、移动台、移动装置、远程台、接入点、远程终端、接入终端、用户终 端、用户代理、用户装置或用户设备(UE)。无线终端可为订户台、无线装置、蜂窝式电话、PCS 电话、无绳电话、会话发起协议(SIP)电话、无线本地环路(WLL)台、个人数字助理(PDA)、具 有无线连接能力的手持式装置或连接到无线调制解调器的其它处理装置。基站(例如,接 入点或演进型节点B(eNB))可指代接入网络中经由一个或一个以上扇区经空中接口与无 线终端通信的装置。基站可通过将接收到的空中接口帧转换为IP包而充当无线终端与接 入网络(其可包括因特网协议(IP)网络)的其余部分之间的路由器。基站还可协调对空 中接口的属性的管理。此外,本文中所描述的各种功能可以硬件、软件、固件或其任一组合来实施。如果 以软件实施,那么可将所述功能作为一个或一个以上指令或代码存储在计算机可读媒体上 或经由计算机可读媒体传输。计算机可读媒体包括计算机存储媒体与包括促进将计算机程 序从一处传送到另一处的任何媒体的通信媒体。存储媒体可为可由计算机存取的任何可用 媒体。作为实例(而非限制),此计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光 盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于以指令或数据结构的形式携载或存储所要程序代码且可由计算机存取的任何其它媒体。此外,严格地说,任何连接均可被 称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL) 或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程来源传输软件,那么同 轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波等无线技术包括在媒体的定义 中。如本文中所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学盘、数字多功能光盘 (DVD)、软性磁盘和蓝光光盘(BD),其中磁盘通常以磁性方式再现数据,且光盘使用激光以 光学方式再现数据。以上各项的组合也应包括在计算机可读媒体的范围内。本文中所描述的各种技术可用于各种无线通信系统,例如码分多址(CDMA)系 统、时分多址(TDMA)系统、频分多址(FDMA)系统、正交频分多址(OFDMA)系统、单载波 FDMA(SC-FDMA)系统和其它此类系统。术语“系统”与“网络”在本文中常可互换使用。CDMA 系统可实施例如通用陆上无线电接入(UTRA)、CDMA2000等无线电技术。UTRA包括宽带 CDMA (W-CDMA)和 CDMA 的其它变型。另外,CDMA2000 涵盖 IS-2000、IS-95 和 IS-856 标准。 TDMA系统可实施例如全球移动通信系统(GSM)等无线电技术。OFDMA系统可实施例如演 进型 UTRA(E-UTRA)、超移动宽带(UMB)、IEEE 802. 11 (Wi-Fi)、IEEE 802. 16 (WiMAX)、IEEE 802. 20、Flash-0FDM 等无线电技术。UTRA和E-UTRA是通用移动电信系统(UMTS)的一部 分。3GPP长期演进(LTE)是使用E-UTRA的即将出现的版本,其在下行链路上使用0FDMA, 且在上行链路上使用SC-FDMA。UTRA、E-UTRA、UMTS、LTE和GSM在来自名为“第3代合作伙 伴计划”(3GPP)的组织的文献中得以描述。此外,CDMA2000和UMB在来自名为“第3代合 作伙伴计划2” (3GPP2)的组织的文献中得以描述。将依据可包括若干装置、组件、模块等的系统来呈现各种方面。应理解并了解,各 种系统可包括额外装置、组件、模块等,且/或可不包括结合图而论述的所有装置、组件、模 块等。还可使用这些做法的组合。现在参看图式,图1说明根据本文中所描述的各种方面的促进多处理器移动计算 环境中的有效存储器管理的系统100。根据一个方面,系统100可包括移动装置120,移动装 置120可利用例如BREW(无线二进制运行时环境)、哩纳克斯(Linux)、移动视窗(Windows Mobile)等操作系统(0 来提供各种通信和/或计算服务。在一个实例中,可将移动装置 120构造为多处理器装置。更明确地说,移动装置120可包括调制解调器处理器122,调制 解调器处理器122管理关于与核心网络110的通信的空中接口协议操作(例如,通过控制 调制解调器123和/或一个或一个以上其它合适组件)。核心网络110可为(例如)计算 网络或网间网络(例如,因特网)、利用任何合适无线通信技术的无线或蜂窝式通信网络或 其组合(例如 UTRA, E-UTRA, UMTS、LTE、GSM、CDMA2000、UMB, Wi-Fi, WiMAX 等),等等。此 外,移动装置120可包括应用程序处理器124(在本文中也称为“应用程序处理器(apps processor) ”),应用程序处理器IM管理移动装置120的操作系统和/或在其上运行的相 应应用程序。在另一实例中,调制解调器处理器122和应用程序处理器IM可连接到共享存储 器128。作为特定实例,可将存储器1 分割成三个区,所述三个区可分别对应于调制解调 器处理器122、应用程序处理器IM和处理器122与IM和/或移动装置120所利用的其它 处理器之间的处理器间通信。另外和/或替代地,调制解调器处理器122和/或应用程序 处理器1 可经由SDI0(安全数字输入/输出)、通用串行总线(USB)、蓝牙(BT)、UART(通用异步接收器/发射器)和/或任何其它外围接口来连接到一个或一个以上外围设备(未 图示)。根据一个方面,调制解调器处理器122和应用程序处理器IM可协作以提供各种 服务。作为第一实例,移动装置120可执行一个或一个以上嵌入式应用程序,所述一个或一 个以上嵌入式应用程序将由调制解调器123提供的无线数据连接性用于基于网络或基于 因特网的服务。在此实例中,调制解调器123可处理空中接口协议,且将与下行链路数据流 相关联的相应包写入到存储器1 的调制解调器区。接下来,可将相应包复制到存储器1 的共享区,其中所述相应包可随后由应用程序处理器124复制到存储器1 的应用程序区。 因此,可了解,在上述实例中,可需要至少三次数据移动以在调制解调器处理器122与应用 程序处理器1 之间处理和传送数据包。或者,对于下行链路数据路径,可将存储器1 的 第一区配置为可由调制解调器处理器122读取和写入,且仅可由应用程序处理器IM读取, 和/或反之亦然。然而,可了解,此配置可还需要存储器128内的数据复制或移动。作为实 例,此配置中的下行链路数据路径可需要从调制解调器123到存储器128的调制解调器区 的第一数据移动和从存储器1 的调制解调器区到存储器1 的应用程序区的第二数据移 动。作为第二实例,移动装置120可与经由联机链路132而与移动装置120相关联的 经联机的计算机130协作来运行一个或一个以上嵌入式应用程序。经联机的计算机130 可为任何合适计算装置,例如个人计算机(PC)、膝上型或平板型计算机、PDA、智能电话 等。此外,用以将经联机的计算机130连接到移动装置120的联机链路132可为USB、火线 (Firewire)、Wi-Fi、蓝牙和/或任何其它合适接口。在此实例中,移动装置120和经联机的 计算机130可具有相异的内部或私有因特网协议(IP)地址,使得移动装置120可区分引导 到移动装置120和/或经联机的计算机130的IP数据流,且相应地转发对应的包。另外或 替代地,移动装置120和经联机的计算机130可在无线数据连接上共享共用公共IP地址和 /或其它网络地址。在此实例中,移动装置120可经配置以监视上行链路包流,且基于一个 或一个以上网络地址翻译(NAT)操作将内部地址和/或端口翻译为适当的引出地址和/或 端口,或反之亦然。下文进一步详细地描述此些操作。在一个实例中,移动装置120使用应用程序处理器124执行NAT操作,使得需要 将大体上所有数据包从存储器128的调制解调器区传送到存储器128的应用程序区。因 此,以与上文描述的嵌入式应用程序情境类似的方式,可了解,在调制解调器处理器122与 应用程序处理器1 之间可能需要至少三次数据复制来进行与联机会话相关联的数据处 理和传送。更具体地说,由于输送层和网络协议层以及NAT操作由应用程序处理器IM执 行,因此可能要求去往经联机的计算机130的包在下行链路方向上传送到应用程序处理器 124。此外,对于上行链路方向,可了解,来自经联机的计算机130的包可在将包转发到调制 解调器处理器122之前传送到移动装置120处的应用程序处理器124以用于协议层处理。 以此方式执行过多数据复制可在与移动装置120相关联的系统总线和外部存储器上产生 不必要的事务,这可增加功率消耗,花费额外的处理器资源,增加端到端延迟且/或以一种 或一种以上其它方式负面地影响用户体验。为减轻与常规共享存储器系统相关联的上述低效率和/或其它缺点,系统100中 的移动装置120根据各种方面可包括一个或一个以上外围模块126。在一个实例中,可将外围模块126实施为硬件、软件和/或独立于调制解调器处理器122和应用程序处理器IM 的其它组件,从而促进相关联存储器128的加速使用。根据一个方面,外围模块1 可由移动装置120利用以大体减少与调制解调器处 理器122与应用程序处理器IM之间的数据移动相关联的处理开销。作为实例,在驻存在 移动装置120上的嵌入式应用程序的情况下,外围模块1 可通过在完成任何相关联的空 中接口协议和/或IP/传输控制协议(TCP) /用户数据报协议(UDP)操作之后从存储器1 的调制解调器区读取包且将其写入到存储器128的应用程序区来促进调制解调器处理器 122与应用程序处理器IM之间仅需要一次数据复制的交互。作为另一实例,在数据服务于移动装置120与经联机的计算机130之间共享的情 况下,外围模块1 可将去往经联机的计算机130的相应包移动到联机链路132(例如, USB、火线、蓝牙等),通过联机链路132,移动装置120与经联机的计算机130可直接耦合而 不通过应用程序处理器124。因此,可了解,以所述方式利用外围模块1 可实现功率节约、 增加的CPU(中央处理单元)资源效率、减少的包等待时间和/或其它益处。举例来说,在 无嵌入式应用程序数据的情况下,应用程序处理器IM可经配置以完全不激活以实现功率 节约,使得仅要求调制解调器处理器122活动以为经联机的计算机130处理数据。在另一实例中,可将外围模块1 实施为一个或一个以上专用ASIC(专用集成电 路)和/或其它硬件组件,使得需要总线带宽、处理器资源等的操作(例如,加密、校验和 计算等)可分组在一起且在专用外围模块126中实施。因此,可从存储器1 读取数据单 次,其后可即刻将相应操作卸载到专用外围模块126,来代替对处理器122和/或124加荷 (stressing)0根据一个方面,外围模块1 可由调制解调器处理器122和/或任何其它合适组 件配置以促进用于网络层(例如,IP)和/或输送层(例如,TCP/UDP)处理(例如,IP滤波 和包转发、NAT翻译、IP/TCP/UDP校验和确认和计算等)的一个或一个以上操作。下文进一 步详细描述可由外围模块126执行的这些和其它操作的特定实例。根据一额外方面,外围模块1 可经配置以具有对存储器128的与调制解调器处 理器122和应用程序处理器IM两者相关联的区段的读取和写入存取权。在一个实例中, 对存储器128的安全保护可经由存储器保护单元(MPU)维持,MPU可实施跨调制解调器处 理器122、应用程序处理器IM和/或外围模块126的存储器存取控制。接下来转到图2,说明系统200,在系统200上在PC 210与移动终端220之间进行 实例联机和网络共享程序。然而,应了解,虽然系统200说明用于PC和移动终端的实例网 络共享程序,但任何合适计算装置均可以与由系统200说明的方式类似的方式来利用联机 和/或网络共享。如系统200所说明,经由到无线通信系统的连接(通过基站230和/或另一合适实 体)而能够接入因特网240和/或另一合适网络或网间网络的移动终端220可利用网络共 享以经由私有或局域网215而与一个或一个以上经联机的装置210 (例如,使用USB、Wi-Fi、 蓝牙个人区域网(PAN)和/或任何其它合适接口连接到移动终端220)共享对因特网240 的接入权。在一个实例中,移动终端220可利用联机模块222来协调由与局域网215相关 联的所有装置经由调制解调器2M和/或另一合适通信装置进行的去往和/或来自因特网 240的通信。
根据一个方面,移动终端220可进一步包括NAT模块226,NAT模块2 可使多个 主机装置能够使用由单个公共IP地址界定的单个网络连接来接入例如因特网240等广域 网(WAN)。举例来说,在局域网215内,相应的相关联装置210到220可被指派有识别局域 网215上的相应装置的私有IP地址(例如,192. 168.0. 1,192. 168. 0. 2等),但移动终端 220可将公共IP地址(例如,157. χ. y. ζ等,其中x、y和ζ为0与255之间的整数)用于局 域网215与因特网240之间的通信。因此,如系统200中展示,移动终端220处的NAT模块 226可通过将包从局域{私有IP地址,端口 }对翻译为WAN{公共IP地址,端口 }对(且反 之亦然)来启用局域网215上的装置与基站230和/或因特网240之间的通信。在一个实 例中,除IP地址翻译外或代替IP地址翻译可执行端口翻译,以防止使用局域网215的装置 之间的端口冲突。另外或替代地,NAT模块2 可在翻译期间对相应的包执行一个或一个 以上操作,例如执行相应包的标头内的TCP和/或IP校验和调整,以反映对所述包执行的 任何适用IP地址和/或端口翻译。在另一实例中,当经由联机模块222将经联机的数据服 务提供给一个或一个以上装置210时,可激活NAT模块226。根据另一方面,可使移动终端220知晓NAT,使得使用中的全局端口不被指派为用 于新插口的暂时端口值,其中所述新插口使用与移动终端220相关联的全局IP地址。类似 地,移动终端220可形成NAT映射,使得新NAT映射避开正由使用与移动终端220相关联的 全局IP地址的现有插口使用的公共端口。在一个实例中,如由图3中的系统300展示,移动计算装置可管理与一个或一个以 上其它装置的网络接口共享布置相关联的数据和/或控制信息的通信。虽然如图3中所说 明的系统300的一些元件可与各种移动计算实施方案相关联,但应了解,在系统300内说明 的相应元件是作为特定非限制性实例而提供,且除非另有明确陈述,否则所附权利要求书 无意限于任何特定实施方案或其组合。在一个实例中,系统300可由移动计算装置和/或任何其它合适计算装置实施,且 可包括应用程序处理器310、PC接口 340和调制解调器350,其每一者可分别共享系统存储 器330。根据一个方面,可利用PC接口 340以结合网络接口共享操作和/或任何其它合适 操作而将一个或一个以上计算装置耦合到实施系统300的装置。PC接口 340可经由USB、 蓝牙、火线和/或任何其它合适接口类型实施。在一个实例中,PC接口 340可由与应用程 序处理器310相关联的PC接口驱动器322控制。根据另一方面,可利用调制解调器350来管理去往和/或来自与系统300相关联 的公共通信网络的通信。在一个实例中,调制解调器350可由与应用程序处理器310相关 联的调制解调器驱动器3M控制。另外或替代地,调制解调器处理器、协议处理驱动器和/ 或其它合适控制机构可提供于调制解调器350内和/或结合调制解调器350而提供以促进 对调制解调器350的控制。在另一实例中,系统300可包括用于在与系统300相关联的移动装置与PC和/或 其它合适计算装置之间的经联机数据连接的机构。在此实例中,应用程序处理器310可充 当在与调制解调器350相关联的调制解调器处理器与经联机的计算装置之间的中间节点, 使得所述经联机的装置为各种数据的来源和/或汇集,且一些或所有其余数据是源自应用 程序处理器310和/或汇集于应用程序处理器310处。为实现这些目的,应用程序处理器 310可包括NAT模块312,NAT模块312可允许应用程序处理器310和经联机的装置两者经由相关联的调制解调器处理器共享共用无线连接。在一个实例中,NAT模块312可以软件 形式实施于应用程序处理器310处。另外或替代地,应用程序处理器可进一步包括TCP/IP 模块314以促进系统300与相关联的公共网络之间的数据通信所需的包输送、成帧和/或 任何其它合适操作。当系统300中的应用程序处理器310充当经联机的计算装置与公共网络之间的中 间节点时,可观察到系统300经配置以路由发射到公共网络和/或从公共网络发射的所有 包。这些包可对应于(例如)输入和/或输出端点(EP)。然而,如由系统300展示,即使 在去往和/或来自公共网络的相应包未由实施系统300的装置消耗的情况下,仍可能需要 在传达所述包之前经由应用程序处理器310和PC接口 340路由此些包以用于标头更新和 /或其它处理。因此,可了解,传入或传出相关联的公共网络的大体上所有包均可能需要由 应用程序处理器310进行处理,这可造成应用程序处理器310的过度疲劳、功率使用等。因此,为减轻至少一个上述缺点,如由图4中的系统400说明,可将NAT翻译和/ 或其它包处理操作从应用程序处理器310卸载到一个或一个以上相异模块。根据由图4说 明的一个方面,系统400可包括智能外围子系统(SPS)模块460,智能外围子系统(SPS)模 块460可包括用于执行从应用程序处理器310卸载的相应操作的一个或一个以上处理器和 /或其它适当组件。在一个实例中,SPS 460可与和经联机的计算装置相关联的PC接口 340耦合(例 如,经由接口控制器442),PC接口 340可充当用于所述经联机的计算装置的具备NAT能力 的经联机网络连接接口。另外或替代地,SPS 460可与和调制解调器350相关联的协议处理 器452(例如,经由协议控制器456)、可由SPS 460和应用程序处理器310接入的共享系统 存储器330和/或任何其它合适接口耦合。基于这些关联,SPS 460可针对在与系统400相 关联的私有网络内传达的相应包执行一个或一个以上操作。举例来说,在检测到包后,SPS 460即可针对所述包执行NAT翻译,识别所述包的一个或一个以上既定目的地,且在大体上 需要最少交互的情况下将包从应用程序处理器310路由到对应的目的地适配器。因此,作为实例,当上行链路(UL)包到达PC接口 340时,SPS 460可分析所述包且 识别所述包是既定用于包处理目的地(例如,与应用程序处理器310相关联的装置等)还 是用于经翻译的包目的地(例如,与调制解调器350相关联的WAN等)。在识别所述包既定 用于一个或一个以上经翻译的包目的地后,SPS 460即可执行NAT翻译且将所述包直接转 发到调制解调器350和/或任何其它合适目的地,而无需来自应用程序处理器310的干预。 类似地,SPS 460可针对到达调制解调器350的经识别为去往与PC接口 340相关联的经联 机计算装置等的下行链路(DL)包而执行NAT翻译和向PC接口 340和/或任何其它合适的 经翻译包目的地的直接转发。通过以此方式执行NAT翻译和转发,可了解,SPS 460可提供 应用程序处理器310处的处理功率、与应用程序处理器与SPS 460之间的处理器间通信相 关联的总线带宽和/或其它性能准则的显著节约。根据另方面,SPS 460可基于由应用程序处理器310提供给SPS 460的一个或一 个以上NAT规则对相应的包执行NAT翻译操作。在一个实例中,一组NAT规则可由SPS驱 动器414配置为从私有IP地址/端口对到公共IP地址/端口对的映射或其它合适映射的 表。在另一实例中,SPS驱动器414可至少部分地基于从NAT卸载(OL)驱动器412接收到 的指令而设定NAT规则。
根据另一方面,SPS驱动器可经配置以识别在与系统400相关联的私有网络上的 应用程序与调制解调器350与之相关联的公共网络上的应用程序之间进行的新连接。在识 别到新连接后,NAT OL驱动器412即可协同或独立于与应用程序处理器310相关联的OS而 起作用,以为新连接设置NAT翻译规则,可随后将所述NAT翻译规则提供给SPS驱动器414 以中继到SPS 460。另外或替代地,SPS驱动器414可经配置以识别不再利用对应于相应 NAT规则的一个或一个以上连接,基于此情形,SPS驱动器414可指令在SPS 460处移除对 应的NAT规则。在一个实例中,在NAT规则于SPS 460处移除后,SPS驱动器414即可另外 经配置以将状态信息传递到NAT OL驱动器412,以指示所述NAT规则不再由SPS 460处置。如系统400中进一步说明,SPS 460可包括用于处理UL方向和/或DL方向上的 相应包的相应组件。在DL方向上,既定用于经由PC接口 340连接的装置的包可最初由协 议处理器452处理,协议处理器452可使用滤波块妨4执行对包的滤波和/或如由协议控 制器456指导的任何其它合适操作。随后,并非如系统300中所说明将包传递到应用程序 处理器310,而是将包提供给SPS 460。在于SPS 460处接收到包后,决策块462即可确定由SPS驱动器414配置的一个 或一个以上NAT规则是否与由所述包指定(例如,如由公共IP地址和/或端口指定)的连 接匹配。如果识别到匹配规则,那么可在NAT块464处使用所识别的规则对所述包执行NAT 翻译。另外或替代地,可在开放式系统互连(OSI)第2层(U)包块466和/或另一合适模 块处对所述包执行L2或链路层成帧。否则,如果未发现匹配NAT规则,那么决策块462可 替代地将包传递到应用程序处理器310以供处理。在处理之后,SPS驱动器414和/或与应 用程序处理器310相关联的一个或一个以上其它组件可任选地产生对应于所述包的新NAT 规则,且促进所产生的规则在SPS 460处的安装。基于决策块462所进行的动作,可利用多 路复用器(MUX) 468将经处理的包从执行处理的位置传递到PC接口 340以用于继续转发到 适当装置。类似地,在UL方向上,可将在PC接口 340处接收到的既定用于与调制解调器350 相关联的公共网络的包提供给SPS 460。在到达SPS 460后,L2剖析块472和/或另一合 适模块即可对所述包执行L2解帧(de-framing)或剖析,其后可以类似于上文关于决策块 462,NAT块464和多路复用器468所描述的方式的方式使用决策块474、NAT块476和多路 复用器478经由SPS 460路由所述包。可随后将经处理的UL包提供给协议处理器452,可 由调制解调器350将所述包从协议处理器452传达到相关联的公共网络。根据一个方面,SPS 460可利用一个或一个以上L2包块466、L2剖析块472和/ 或任何其它合适模块来对由SPS 460处理的相应包进行L2成帧和/或解帧。在一个实例 中,可利用L2包块466、L2剖析块472和/或其它类似块来促进与调制解调器350与之通 信的网络(例如,利用CDMA、UMTS、WLAN、蓝牙等的网络)和对应于PC接口 340的联机链路 (例如,USB、火线、Wi-Fi等)相关联的链路层协议和与NAT翻译相关联的较高级网络和输 送层协议(例如,OSI第3层(L3)和/或第4层(L4)协议)之间的互操作性。因此,在一个实例中,可利用L2剖析块472来对从PC接口 340接收到的相应包执 行L2解帧,以便启用对包含于所述包中的网络层和/或输送层信息的各种处理操作(例 如,NAT翻译、TCP/IP校验和确认和计算等)。类似地,可利用L2包块466以根据与PC接 口 340相关联的一个或一个以上链路层协议对由块462到464等处理的包执行L2成帧,以便促进相应包的使用。通过以此方式执行包剖析和/或包封,可了解,可将400内与对应于 已知NAT关系的相应包的处理有关的大体上所有功能卸载到SPS 460,借此使系统400能够 实现高数据速率,而不会招致应用程序处理器310处的费用。另外或替代地,虽然未在系统400中展示,但OSI第2层或链路层成帧和解帧两者 可在SPS 460内通过(例如)利用在决策块462之前的L2剖析块和/或在多路复用器478 之前的L2包块来对上行链路和/或下行链路包而执行。可了解,这可进行以启用在PC接 口 340和调制解调器350处利用异质L2协议的系统的经由SPS 460进行的加速包处理。因 此,例如,在上行链路或下行链路上到达SPS 460的包可在链路层处根据第一链路层协议 而解帧,在网络和/或输送层级上处理,且随后在链路层处根据第二相异链路层协议而重 新成帧。根据另一方面,系统400可选择代替向SPS 460的卸载处理或除了向SPS 460的 卸载处理之外基于各种准则将相应的包传递到应用程序处理器310以供处理。举例来说, 系统400说明可将由调制解调器350在下行链路上接收到的经分段包提供给应用程序处理 器310处的调制解调器驱动器324以供重组。在重组之后,对相应的经重组包的NAT翻译 和/或其它操作可由应用程序处理器310执行,或调制解调器驱动器324可替代地将经重 组的包卸载到SPS 460以供进一步处理。如由系统400进一步说明,在PC接口 340和/或应用程序处理器310处起源的 相应包可(另外或替代地)在应用程序处理器310与PC接口 340之间路由,而无需来自 SPS460的干预。经由应用程序处理器310路由的包可包括(例如)对应于与SPS 460或 NAT卸载接口无关的端点(例如,控制端点)、与相异于NAT卸载接口的接口(例如,诊断 (Diag)接口、美国国家海洋电子协会(NMEA)接口等)相关联的端点等的包;在于应用程序 处理器310上运行的应用程序正与于PC接口 340与之相关联的装置上运行的应用程序通 信而无调制解调器350的涉入的情况下对应于用于NAT卸载接口的端点的包;和/或任何 其它合适包。在一个实例中,在将包从PC接口 340转发到应用程序处理器310后,经转发 的包即可由PC接口驱动器322处理,此后可利用多路复用器422和/或其它合适装置选择 性地将经处理的包提供回到PC接口 340和/或到SPS 460以供进一步处理。关于上述实例,应了解,无需将经分段包、如系统400中展示直接在PC接口 340与 PC接口驱动器322之间传达的包和/或在系统400内传达的任何其它包直接提供给应用程 序处理器310。或者,可了解,可将此些包提供给SPS 460以促进上文关于应用程序处理器 310而描述的一些或所有处理。接下来参看图5到图6,提供相应图式500到600,其说明根据各种方面的在可与 移动计算装置相关联的调制解调器处理器502与应用程序处理器504之间的实例信息流。 首先转向图5中的系统500,可将位于与调制解调器处理器502相关联的第一协议数据单元 (PDU)缓冲器512处的相应PDU传递到标头处理块514,标头处理块514可产生对应于PDU 的控制信息,且结合来自PDU缓冲器512的对应PDU将所产生的控制信息提交给协议处理 器518。在接收到相应PDU后,协议处理器518即可对所述PDU执行一个或一个以上处理操 作,例如循环冗余校验(CRC)确认、解密等。协议处理器可接着将经处理的PDU提供给第二 PDU缓冲器520,第二 PDU缓冲器520又可将所述PDU转发到调制解调器处理器502与应用 程序处理器504所共用的共享缓冲器532。
16
在相应PDU到达共享缓冲器532后,应用程序处理器504即可将所述PDU读取到 一个或一个以上网络接口缓冲器讨2,网络接口缓冲器M2又可将所述PDU转发到网络接口 驱动器M4。在一个实例中,网络接口驱动器544可将去往与系统500相关联的装置的包提 交给驻存在应用程序处理器504上的一个或一个以上嵌入式数据应用程序M6。另外或替 代地,网络接口驱动器544可将去往经联机的计算机装置的一个或一个以上包提供给耦合 到所述经联机的计算机装置的接口控制器例如,USB控制器、蓝牙控制器等)。如由系统500所说明,为了促进数据在调制解调器处理器502与应用程序处理器 504之间的移动,需要三次数据移动一从协议处理器518到PDU缓冲器520、从PDU缓冲器 520到共享缓冲器532以及从共享缓冲器532到网络接口缓冲器M2。此外,对于数据在调 制解调器处理器502与经联机的计算机装置之间的传送,可了解,可需要在网络接口缓冲 器542与接口控制器548之间的经由网络接口驱动器M4的第四次数据移动。鉴于上述内容,根据一个方面,可实施如图6中说明的系统600来增加存储器存取 效率,减少应用程序处理器504的负担和/或提供其它益处。如系统600说明,调制解调器 处理器502可将相应的PDU提供给协议加速器612,协议加速器612可尝试使接收到的PDU 与静态下行链路NAT映射匹配。在一个实例中,可将不与协议加速器612所已知的静态映 射匹配的PDU传递到一个或若干个网络接口缓冲器M2,网络接口缓冲器542又可将所述 PDU转发到应用程序处理器504以供进一步处理。应用程序处理器504可随后将对应于所 述PDU的控制信息提供给NAT模块616,NAT模块616可基于控制信息而配置一个或一个以 上新NAT映射,且将经配置的NAT映射转发到SPS处理器614。另外或替代地,可将针对其 发现静态地址/端口映射的相应PDU传递到SPS处理器614,SPS处理器614可经由对应的 联机链路将PDU转发到经联机的计算机618。在一个实例中,SPS处理器614可进一步对相 应的PDU执行基于一个或一个以上链路层协议(例如,IEEE 802. 3,IEEE 802. 11等)的解 帧、对端口或校验和信息的修改和/或添加,和/或任何其它合适操作。在另一实例中,SPS 处理器614可将与不再被利用的NAT映射有关的信息、不与任何已知静态NAT映射匹配的 PDU等转发到NAT模块616以供转发到应用程序处理器504。因此,可了解,对于协议加速器612和/或SPS处理器614处针对其而存在DL映 射的PDU,可以比系统500所需的存储器存取少的所需存储器存取来执行从调制解调器处 理器502到经联机的计算机618的传送。此外,可观察到,在此情况下应用程序处理器504 实质上不需要进行任何操作,借此增加应用程序处理器504和系统600的总效率。现在参看图7到图9,说明可根据本文中所陈述的各种方面而执行的方法。虽然为 了阐释简单起见将所述方法展示并描述为一系列动作,但应理解并了解,所述方法不受动 作次序限制,因为根据一个或一个以上方面,一些动作可以与本文所展示和描述的次序不 同的次序发生和/或与其它动作同时发生。举例来说,所属领域的技术人员将理解并了解, 可将方法替代地表示为一系列相关状态或事件,例如以状态图的形式。此外,根据一个或一 个以上方面,并不需要所有所说明的动作来实施方法。参看图7,说明用于管理与移动计算装置(例如,移动装置120)相关联的数据流的 方法700。将了解,方法700可由(例如)移动计算装置和/或与之相关联的一个或一个以 上硬件或软件组件(例如,外围模块126)或任何其它适当计算装置或装置组件来执行。方 法700在框702开始,其中从应用程序处理器(例如,应用程序处理器124)接收一组NAT规则。接下来,在框704处,经由第一所耦合的接口(例如,到调制解调器123的接口或到 经联机的计算机130的PC接口)接收包。在框706,可接着尝试对来自在框702接收到的 规则的对应于在框704接收到的包的NAT规则的识别。在框708处,确定框706处所尝试的对匹配NAT规则的识别是否成功。如果识别 成功,那么方法700可通过以下动作来结束进行到框710,其中使用在框706处成功地识 别的NAT规则来翻译在框704处接收到的包;接着进行到框712,其中将所述包传递到第二 所耦合的接口(例如,在包源自经联机的计算机的情况下的调制解调器接口或反之亦然)。 相比之下,如果框706处的识别不成功,那么方法可替代地通过从框708进行到框714而结 束,在框714中将在框704处接收到的包传递到应用程序处理器。图8说明可用于管理与移动计算环境相关联的下行链路数据的实例方法800。方 法800可由(例如)计算装置(例如,经由例如SPS 460等一个或一个以上硬件组件及其 子组件)和/或任何其它合适装置执行。方法800在框802处开始,其中从应用程序处理 器(例如,经由SPS驱动器414从应用程序处理器310)接收一组NAT规则。接下来,在框 804处,从调制解调器子系统接口(例如,与调制解调器350相关联的协议处理器45 接收 下行链路包。在框806处,接着尝试对在框802处接收到的对应于在框804处接收到的包 的NAT规则的识别(例如,通过决策块462)。根据一个方面,方法800可在框808处基于框806处的所尝试识别的结果而出现 分支。举例来说,如果在框806处成功地识别NAT规则,那么方法800可从框808进行到框 810,其中使用所识别的NAT规则来翻译在框802处接收到的包(例如,通过NAT块464); 接着进行到框812,其中对所述包执行第2层成帧(例如,通过L2包块466)。方法800可 接着在框818处结束,其中将所述包转发(例如,通过MUX 468)到与经联机的计算机相关 联的所耦合的接口(例如,PC接口 340)。或者,如果在框806处未成功地识别NAT规则,那么方法800可从框808进行到框 814,其中将在框802处接收到的包转发到应用程序处理器以供进一步处理。方法800可接 着从框814结束,或可任选地进行到框816,其中将在框814处转发到应用程序处理器的包 在处理之后从应用程序处理器收回。在完成框816处描述的动作后,方法800即可接着在 如上文描述的框818处结束。转向图9,说明用于管理与移动计算环境相关联的上行链路数据的方法900。将了 解,方法900可由任何合适计算装置和/或与计算装置有关的子组件执行。方法900在框 902处开始,其中从应用程序处理器接收一组NAT规则。接下来,在框904处,从与经联机的 计算机相关联的所耦合的接口接收上行链路包。可接着在框906处对在框904处接收到的 包执行第2层剖析(例如,通过L2剖析块47 ,且可随后在框908处尝试对在框902处接 收到的对应于在框1404处接收到的包的NAT规则的识别(例如,通过决策块474)。如图9中展示,方法900可在框910处基于框908处的所尝试识别的结果而出现 分支。因此,在于框908处NAT规则的成功识别后,方法900即可从框910进行到框912, 其中使用所识别的NAT规则来翻译在框902处接收到的包(例如,通过NAT块476)。方法 900可接着在框914处结束,其中将所述包转发(例如,通过MUX 478)到调制解调器接口。或者,在于框908处识别NAT规则的不成功尝试后,方法900可从框910进行到框 916,其中将在框902处接收到的包转发到应用程序处理器以供进一步处理。方法900可在框916处描述的动作之后结束,或可任选地进行到框918,其中在处理之后包从应用程序处 理器返回。在完成框918中描述的动作之后,方法900可如上文所描述在框914处结束。图10说明促进网络接口共享应用程序的数据服务管理的设备1000。将了解,可将 设备1000表示为包括功能块,所述功能块可为表示由处理器、软件或其组合(例如,固件) 实施的功能的功能块。设备1000可由任何合适计算装置(例如,移动装置120)和/或其组 件(例如,外围模块126)实施,且可包括用于从相关联的应用程序处理器接收NAT映射规 则的模块1002、用于识别经由第一接口获得的包的模块1004、用于尝试所识别的包与相应 的所接收NAT映射规则的匹配的模块1006、用于在成功的所尝试匹配后即刻根据匹配NAT 映射规则翻译所述包且将所述包引导到第二接口的模块1008,以及用于在不成功的所尝试 匹配后即刻将包引导到应用程序处理器的模块1010。现在参看图11,根据各种方面提供无线多址通信系统的说明。在一个实例中,接入 点IlOO(AP)包括多个天线群组。如图11中所说明,一个天线群组可包括天线1104和1106, 另一天线群组可包括天线1108和1110,且另一天线群组可包括天线1112和1114。虽然在 图11中针对每一天线群组仅展示两个天线,但应了解,更多或更少天线可用于每一天线群 组。在另一实例中,接入终端1116可与天线1112和1114通信,其中天线1112和1114经 由前向链路1120将信息发射到接入终端1116,且经由反向链路1118从接入终端1116接 收信息。另外和/或替代地,接入终端1122可与天线1106和1108通信,其中天线1106和 1108经由前向链路11 将信息发射到接入终端1122,且经由反向链路IlM从接入终端 1122接收信息。在另一实例中,接入终端1116和/或1122可耦合到相应的计算装置,且可 操作以经由本文中大体描述的一个或一个以上数据服务共享技术而提供经耦合计算装置 与接入点1100或接入点1100与之相关联的核心网络或网间网络之间的连接性。在频分双 工系统中,通信链路1118、1120、11M和11 可使用不同频率来进行通信。举例来说,前向 链路1120可使用不同于反向链路1118所使用频率的频率。每一天线群组和/或所述天线经设计以在其中进行通信的区域可被称为接入点 的扇区。根据一个方面,天线群组可经设计以在由接入点1100所覆盖的区域的扇区中向接 入终端通信。在经由前向链路1120和11 的通信中,接入点1100的发射天线可利用波束 成形,以便改进不同接入终端1111和1122的前向链路的信噪比。此外,使用波束成形向随 机散布于其覆盖范围中的接入终端发射的接入点与经由单个天线向其所有接入终端发射 的接入点相比,对相邻小区中的接入终端引起较少干扰。接入点(例如,接入点1100)可为用于与终端通信的固定台,且还可称为基站、 eNB、接入网络和/或其它合适术语。此外,接入终端(例如,接入终端1116或112 也可 称为移动终端、用户设备、无线通信装置、终端、无线终端和/或其它适当术语。转向图12,说明可在其中实施本文中所描述的各种方面的实例计算系统或操作环 境。所属领域的技术人员可了解,预期手持式、便携式和其它计算装置以及所有种类的计算 对象结合所主张的标的物而使用,例如在可合意配置网络的任何地方。因此,下文在图12 中描述的以下通用计算系统仅为可实施所主张的标的物的计算系统的一个实例。如图12中展示,可用于实施本文中所描述的各种方面的计算环境1200的实例包 括呈计算机1210的形式的通用计算装置。计算机1210的组件可包括(但不限于)一个或 一个以上处理单元1220、系统存储器1230和将包括系统存储器1230在内的各种系统组件耦合到处理单元1220的系统总线1221。系统总线1221可为若干类型的总线结构(包括存 储器总线或存储器控制器、外围总线和使用多种总线架构中的任一者的局部总线)中的任一者。在一个实例中,系统存储器1230可使用易失性和/或非易失性存储器(例如,只 读存储器(ROM)和/或随机存取存储器(RAM))来实施。含有有助于在计算机1210内的元 件之间传送信息(例如,在启动期间)的基本例程的基本输入/输出系统(BIOS)可存储在 存储器1230中。存储器1230还可含有可由处理单元1220立即存取和/或当前正由处理 单元1220操作的数据和/或程序模块。作为非限制性实例,存储器1230还可包括操作系 统、应用程序、其它程序模块和程序数据。此外,计算机1210可包括其它计算机存储媒体,所述计算机存储媒体可为可装卸 或非可装卸的,以及易失性或非易失性的。举例来说,计算机1210可包括硬盘驱动器,其 从非可装卸、非易失性磁性媒体读取或向非可装卸、非易失性磁性媒体写入;磁盘驱动器, 其从可装卸、非易失性磁盘读取或向可装卸、非易失性磁盘写入;光盘驱动器,其从可装卸、 非易失性光盘(例如CD-ROM或其它光学媒体)读取或向可装卸、非易失性光盘写入;等等。 可使用的其它计算机存储媒体包括卡式磁带、快闪存储器卡、数字化多功能光盘、数字录像 带、固态RAM、固态ROM等。在另一实例中,用户可经由例如小键盘或键盘等输入装置;例如鼠标、轨迹球、触 摸板、触摸屏等指点装置;麦克风;相机或光学传感器;和/或任何其它合适的输入装置将 命令和信息输入到计算机1210中。与计算机1210相关联的输入装置可经由输入接口 1240 连接到处理单元1220。输入接口 1240可以任何合适方式实施,例如并行端口、通用串行总 线(USB)端口等。另外或替代地,监视器、显示屏幕、扬声器和/或任何其它合适输出装置 可经由输出接口 1250连接到系统总线1221,输出接口 1250又可与处理单元1220、系统存 储器1230和/或计算机1210的任何其它合适组件通信。根据一个方面,计算机1210可使用到一个或一个以上其它远程计算机(例如,远 程计算机1270)的逻辑连接在连网环境中操作。远程计算机1270可为个人计算机、服务器、 路由器、网络PC、对等装置或其它常见网络节点和/或任何其它远程媒体消耗或发射装置, 且可包括上文关于计算机1210而描述的元件中的任一或所有元件。在一个实例中,计算机 1210和远程计算机1270可经由网络或子网1271而耦合。另外,计算机1210可经由网络 适配器1260促进到远程计算机1270和/或通信网络或网间网络的连接。因此,在计算机 1210与远程计算机1270和因特网两者相关联的情况下,计算机1210可利用一种或一种以 上技术来使远程计算机1270能够如上文大体描述那样利用其到因特网的连接。将理解,本文中所描述的方面可由硬件、软件、固件、中间体、微码或其任一组合来 实施。当系统和/或方法以软件、固件、中间体或微码、程序代码或代码段实施时,其可存储 在例如存储组件等机器可读媒体中。代码段可表示过程、函数、子程序、程序、例程、子例程、 模块、软件包、类,或指令、数据结构或程序语句的任一组合。可通过传递和/或接收信息、 数据、自变量、参数或存储器内容而将代码段耦合到另一代码段或硬件电路。可使用包括存 储器共享、消息传递、令牌传递、网络传输等的任何合适手段来传递、转发或传输信息、自变 量、参数、数据等。对于软件实施方案,可用执行本文中所描述的功能的模块(例如,过程、函数等)来实施本文中所描述的技术。软件代码可存储在存储器单元中且由处理器执行。存储器单 元可在处理器内或处理器外实施,在后一种情况下,存储器单元可经由此项技术中已知的 各种手段以通信方式耦合到处理器。 上文已描述的内容包括一个或一个以上方面的实例。当然,不可能为了描述前述 方面而描述组件或方法的每个可想到的组合,但所属领域的技术人员可认识到,各种方面 的许多进一步组合和排列是可能的。因此,所描述的方面既定包含属于所附权利要求书的 精神和范围的所有此些更改、修改和变化。此外,就术语“包括”在具体实施方式
或所附权 利要求书中使用来说,此术语既定如“包含”在被用作权利要求中的过渡词时被解释的那样 以类似于术语“包含”的方式包括在内。此外,用于具体实施方式
或所附权利要求书中的术 语“或”意在为“非排它性或”。
权利要求
1.一种方法,其包含从应用程序处理器接收一个或一个以上网络地址翻译(NAT)规则; 在所耦合的接口上获得包;尝试对从所述应用程序处理器接收的对应于所述所获得的包的NAT规则的识别; 在成功的识别尝试后,即刻根据所识别的NAT规则来翻译所述所获得的包,且将所述 经翻译的包转发到一个或一个以上经翻译包目的地;以及在不成功的识别尝试后,即刻将所述所获得的包转发到一个或一个以上包处理目的地。
2.根据权利要求1所述的方法,其中所述方法进一步包含以下动作中的一者或一者以上在对NAT规则的所尝试识别之前,根据链路层协议来处理所述所获得的包;或 在将所述经翻译的包转发到所述一个或一个以上经翻译包目的地之前,根据链路层协 议来处理所述经翻译的包。
3.根据权利要求2所述的方法,其中所述获得包含在所述所耦合的接口上获得使用链路层协议而构造的包;且 所述处理所述所获得的包包含剖析所述所获得的包以识别对应于网络层或输送层中 的一者或一者以上的包信息。
4.根据权利要求1所述的方法,其中所述处理所述经翻译的包包含根据链路层协议使 所述经翻译的包成帧。
5.根据权利要求1所述的方法,其中所述所耦合的接口包含与调制解调器相关联的协 议处理器,且所述一个或一个以上经翻译包目的地包含经启用以由相关联的经联机计算装 置使用的具备NAT能力的经联机网络连接接口。
6.根据权利要求5所述的方法,其中所述获得包含 识别所述调制解调器所连接到的公共网络;以及 在所述调制解调器处从所述所识别的公共网络获得包。
7.根据权利要求6所述的方法,其中所述获得进一步包含经由所述调制解调器从所述 公共网络以多个片段的形式获得所述包。
8.根据权利要求7所述的方法,其进一步包含在尝试对NAT规则的识别之前将相应的 所获得片段转发到所述一个或一个以上包处理目的地。
9.根据权利要求7所述的方法,其进一步包含在尝试对NAT规则的识别之前从其相应 片段重构所述所获得的包。
10.根据权利要求5所述的方法,其中所述方法进一步包含识别所述所获得的包的标头中所指定的公共地址和端口 ;且 所述尝试对NAT规则的识别包含尝试识别指定包含用户数据报协议(UDP)或传输控制 协议(TCP)中的一者或一者以上的输送协议和对应于所述所识别的公共地址和端口的私 有地址和端口的NAT规则。
11.根据权利要求10所述的方法,其中所述翻译包含修改所述所获得的包的所述标头以指定由所述所识别的NAT规则给出的所述私有地 址和端口 ;以及更新所述所获得的包的所述标头中的校验和,以反映所述私有地址和端口。
12.根据权利要求1所述的方法,其中所述所耦合的接口为经启用以由经联机的计算 装置使用的网络连接接口,且所述一个或一个以上经翻译包目的地包含与调制解调器相关 联的接口。
13.根据权利要求12所述的方法,其中所述获得包含经由所述网络连接接口从所述经 联机的计算装置获得包。
14.根据权利要求12所述的方法,其中所述方法进一步包含识别所述所获得的包的标头中所指定的私有地址和端口 ;且所述尝试对NAT规则的识别包含尝试识别根据包含UDP或TCP中的一者或一者以上的 输送协议而指定对应于所述所识别的私有地址和端口的公共地址和端口的NAT规则。
15.根据权利要求14所述的方法,其中应用所识别的NAT规则包含修改所述所获得的包的所述标头以指定由所述所识别的NAT规则给出的所述公共地 址和端口 ;以及更新所述所获得的包的所述标头中的校验和,以反映所述公共地址和端口。
16.根据权利要求1所述的方法,其进一步包含识别由所述所耦合的接口处的所述所获得的包指定的目的地;以及在由所述所获得的包指定的所述目的地与所述应用程序处理器相关联的情况下,在尝 试对NAT规则的识别之前,将所述所获得的包从第一所耦合的接口转发到所述应用程序处 理器。
17.根据权利要求1所述的方法,其中所述一个或一个以上包处理目的地包含所述应 用程序处理器。
18.—种移动计算设备,其包含存储器,其存储与由应用程序处理器提供的一个或一个以上网络地址翻译(NAT)规则 有关的数据;以及耦合到所述存储器的至少一个处理器,其与所述应用程序处理器相异,所述至少一个 处理器经配置以在所耦合的接口上接收包,尝试对对应于所述所接收的包的NAT规则的识 别,在NAT规则的成功识别后即刻根据所识别的NAT规则来翻译所述所接收的包且将所述 经翻译的包转发到至少一个经翻译包目的地,且在NAT规则的不成功识别后即刻将所述所 接收的包转发到至少一个包处理目的地。
19.根据权利要求18所述的移动计算设备,其中所述至少一个处理器进一步经配置以 执行以下动作中的至少一者在尝试对NAT规则的识别之前,根据开放式系统互连(OSI)第 2层(U)协议来处理所述所接收的包;或在将所述经翻译的包转发到所述至少一个包处理 目的地之前,根据L2协议来处理所述经翻译的包。
20.根据权利要求19所述的移动计算设备,其中所述至少一个处理器进一步经配置以 在所述所耦合的接口上接收使用L2协议构造的包,且至少部分地通过对所述所接收的包 执行L2解帧来处理所述所接收的包以促进对包含于所述所接收的包内的第3层(U)或第 4层(L4)信息中的一者或一者以上的操作。
21.根据权利要求19所述的移动计算设备,其中所述至少一个处理器进一步经配置以 至少部分地通过根据L2协议使所述经翻译的包成帧来处理所述经翻译的包。
22.根据权利要求18所述的移动计算设备,其中所述所耦合的接口为与调制解调器相 关联的协议处理器接口,且所述至少一个经翻译包目的地包含与经启用以由相关联的经联 机计算装置使用的联机链路相关联的网络连接接口。
23.根据权利要求22所述的移动计算设备,其中所述至少一个处理器进一步经配置以 识别所述所接收的包的标头中所指定的公共地址和端口,且至少部分地通过尝试识别指定 包含用户数据报协议(UDP)或传输控制协议(TCP)中的一者或一者以上的输送协议和对应 于所述所识别的公共地址和端口的私有地址和端口的NAT规则,来尝试对NAT规则的识别。
24.根据权利要求23所述的移动计算设备,其中所述至少一个处理器进一步经配置以 至少部分地通过修改所述所接收的包的所述标头以指定由所识别的NAT规则给出的所述 所识别的私有地址和端口和更新所述所接收的包的所述标头中的校验和以反映所述私有 地址和端口,来应用所述所识别的NAT规则。
25.根据权利要求18所述的移动计算设备,其中所述所耦合的接口为与经联机的计算 装置相关联的网络连接接口,且所述至少一个经翻译包目的地包含与调制解调器相关联的 接口。
26.根据权利要求25所述的移动计算设备,其中所述至少一个处理器进一步经配置以 经由所述网络连接接口从所述经联机的计算装置接收包。
27.根据权利要求25所述的移动计算设备,其中所述至少一个处理器进一步经配置以 识别所述所接收的包的标头中所指定的私有地址和端口,且至少部分地通过尝试识别根据 包含UDP或TCP中的一者或一者以上的输送协议而指定对应于所述所识别的私有地址和端 口的公共地址和端口的NAT规则,来尝试对NAT规则的识别。
28.根据权利要求27所述的移动计算设备,其中所述至少一个处理器进一步经配置以 至少部分地通过修改所述所接收的包的所述标头以指定由所识别的NAT规则给出的所述 所识别的公共地址和端口和更新所述所接收的包的所述标头中的校验和以反映所述公共 地址和端口,来应用所述所识别的NAT规则。
29.根据权利要求25所述的移动计算设备,其中所述至少一个处理器进一步经配置以 识别所述所接收的包的终止点,且在所述所接收的包的所述终止点与所述应用程序处理器 相关联的情况下,在尝试对NAT规则的识别之前,将所述所接收的包从所述所耦合的接口 转发到所述应用程序处理器。
30.根据权利要求18所述的移动计算设备,其中所述至少一个包处理目的地包含所述 应用程序处理器。
31.一种设备,其包含用于从相关联的应用程序处理器接收相应的网络地址翻译(NAT)映射规则的装置;用于识别经由接口获得的包的装置;用于尝试使所述所识别的包与所接收的NAT映射规则匹配的装置;用于在成功的所尝试匹配后即刻根据匹配NAT映射规则来翻译所述所识别的包的装置;用于在应用所述匹配NAT映射规则后即刻将所述经翻译的包引导到一个或一个以上 经翻译包目的地的装置;以及用于在不成功的所尝试匹配后即刻将所述所识别的包引导到一个或一个以上包处理目的地的装置。
32.根据权利要求31所述的设备,其进一步包含用于在所述用于尝试匹配的装置的操 作之前对所述所识别的包执行链路层处理的装置。
33.根据权利要求31所述的设备,其进一步包含用于在所述用于将所述经翻译的包引 导到所述一个或一个以上经翻译包目的地的装置的操作之前对所述经翻译的包执行链路层处理的装置。
34.根据权利要求31所述的设备,其中所述接口与调制解调器相关联,且至少一个经 翻译包目的地与经联机计算装置相关联。
35.根据权利要求34所述的设备,其中所述用于识别的装置包含用于识别所述调制解调器所连接到的公共网络的装置;以及用于识别由所述调制解调器经由所述所识别的公共网络接收的包的装置。
36.根据权利要求34所述的设备,其中所述设备进一步包含用于识别所述所识别的包的标头中所指定的公共地址和端口的 装置;且所述用于尝试匹配的装置包含用于尝试对指定包含用户数据报协议(UDP)或传输控 制协议(TCP)中的一者或一者以上的输送协议以及对应于所述所识别的公共地址和端口 的私有地址和端口的NAT映射规则的识别的装置。
37.根据权利要求36所述的设备,其中所述用于翻译的装置包含用于修改所述所识别的包的所述标头以使得所述标头指定由所述所识别的NAT映射 规则给出的所述私有地址和端口的装置;以及用于基于由所述所识别的NAT映射规则给出的所述私有地址和端口而修改所述所识 别的包的所述标头中的校验和的装置。
38.根据权利要求31所述的设备,其中所述接口与经联机的计算装置相关联,且至少 一个经翻译包目的地与调制解调器相关联。
39.根据权利要求38所述的设备,其中所述用于识别的装置包含用于识别由所述经联 机计算装置传达的包的装置。
40.根据权利要求38所述的设备,其中所述设备进一步包含用于识别所述所识别的包的标头中所指定的私有地址和端口的 装置;且所述用于尝试匹配的装置包含用于尝试对根据包含UDP或TCP中的一者或一者以上的 输送协议而指定对应于所述所识别的私有地址和端口的公共地址和端口的NAT映射规则 的识别的装置。
41.根据权利要求40所述的设备,其中所述用于翻译的装置包含用于修改所述所识别的包的所述标头以使得所述标头指定由所述所识别的NAT映射 规则给出的所述公共地址和端口的装置;以及用于基于由所述所识别的NAT映射规则给出的所述公共地址和端口而修改所述所识 别的包的所述标头中的校验和的装置。
42.根据权利要求31所述的设备,其中至少一个包处理目的地包含所述应用程序处理
43.一种集成电路,其执行机器可执行指令,所述指令包含从相关联的应用程序处理器接收相应的网络地址翻译(NAT)映射规则; 识别经由接口获得的包;尝试使所述所识别的包与相应的NAT映射规则匹配; 在成功的所尝试匹配后即刻根据匹配NAT映射规则来翻译所述所识别的包; 在应用匹配NAT映射规则后即刻将所述经翻译的包引导到一个或一个以上经翻译包 目的地;以及在不成功的所尝试匹配后即刻将所述所识别的包引导到一个或一个以上包处理目的地。
44.根据权利要求43所述的集成电路,其中所述指令进一步包含在尝试使所述所识别 的包与相应的NAT映射规则匹配之前,对所述所识别的包执行开放式系统互连(OSI)第2 层(L2)处理。
45.根据权利要求43所述的集成电路,其中所述指令进一步包含在将所述经翻译的包 引导到第二接口之前,对所述经翻译的包执行L2处理。
46.根据权利要求43所述的集成电路,其中所述接口与调制解调器相关联,且至少一 个经翻译包目的地与经联机计算装置相关联。
47.根据权利要求43所述的集成电路,其中所述指令进一步包含识别所述所识别的包的标头中所指定的公共地址和端口 ;且 所述尝试匹配包含尝试对指定包含用户数据报协议(UDP)或传输控制协议(TCP)中的 一者或一者以上的输送协议以及对应于所述所识别的公共地址和端口的私有地址和端口 的NAT映射规则的识别。
48.根据权利要求47所述的集成电路,其中所述翻译包含修改所述所识别的包的所述标头以使得所述标头指定由所述所识别的NAT映射规则 给出的所述私有地址或端口 ;以及基于由所述所识别的NAT映射规则给出的所述私有地址和端口而修改所述所识别的 包的所述标头中的校验和。
49.根据权利要求43所述的集成电路,其中所述接口与经联机计算装置相关联,且至 少一个经翻译包目的地与调制解调器相关联。
50.根据权利要求49所述的集成电路,其中所述指令进一步包含识别所述所识别的包的标头中所指定的私有地址和端口 ;且 所述尝试匹配包含尝试对根据包含UDP或TCP中的一者或一者以上的输送协议而指定 对应于所述所识别的私有地址和端口的公共地址和端口的NAT映射规则的识别。
51.根据权利要求50所述的集成电路,其中所述翻译包含修改所述所识别的包的所述标头以使得所述标头指定由所述所识别的NAT映射规则 给出的所述公共地址和端口 ;以及基于由所述所识别的NAT映射规则给出的所述公共地址和端口而修改所述所识别的 包的所述标头中的校验和。
52.根据权利要求43所述的集成电路,其中至少一个包处理目的地包含所述应用程序 处理器。
全文摘要
本发明描述促进用于在多处理器计算环境中操作的数据服务的增强型数据服务功能性的系统和方法。如本文中所描述,可利用相应的处理器和/或其它组件来形成智能外围子系统(SPS)。如本文中进一步描述,所述SPS可结合移动计算装置处的调制解调器处理器和应用程序处理器而操作,以便减少所述应用程序处理器处的负担且改进存储器使用效率。在移动计算装置与经联机的计算装置共享网络连接的情况下,所述SPS可使与所述移动计算装置相关联的调制解调器接口与经由其将相异计算装置联机到所述移动计算装置的接口耦合,使得可在各种情形下将例如第2层(L2)成帧和/或解帧、网络地址翻译(NAT)等操作卸载到所述SPS。
文档编号G06F9/46GK102067569SQ200980123012
公开日2011年5月18日 申请日期2009年6月23日 优先权日2008年6月23日
发明者乌品德尔·S·巴巴尔, 伊德列阿斯·米尔, 史蒂文·J·德夫勒, 杰弗里·A·戴克, 杰拉尔德·J·钱伯斯, 萨姆森·吉姆, 马尔切洛·V·利奥伊 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1