通信系统中的数据路由的制作方法

文档序号:21699589发布日期:2020-07-31 23:01阅读:244来源:国知局
通信系统中的数据路由的制作方法

相关申请的交叉引用

本申请要求kapela在2017年10月16日提交的,标题为“通信系统中的数据路由”的美国临时专利申请no.62/573,023的优先权,在此通过引用将其全部内容并入本申请。

本文描述的主题通常涉及数据处理,尤其涉及在诸如长期演进(lte)通信系统的通信系统中的数据路由。



背景技术:

蜂窝网络向个人和商业实体提供按需通信能力。蜂窝网络是可以分布在被称为小区的陆地区域上的无线网络。每个这样的小区由至少一个固定位置的收发机(即小区站点或基站)服务。每个小区可以使用与其相邻小区不同的频率,以避免干扰并在每个小区内提供有保证的带宽。当小区被连接在一起时,它们在广阔的地理区域上提供无线电覆盖,使得移动电话、无线设备、便携式收发机等能够彼此通信并与网络中任何地方的固定收发机和电话通信。这种通信通过基站执行,即使当移动收发机在传输期间移动通过不止一个小区时也能实现。主要的无线通信提供商在全世界部署了小区站点,以允许移动电话和移动计算设备连接到公共交换电话网和因特网。

移动电话是一种便携式电话,其能够使用无线电波通过小区站点或发射塔接和/或打电话和/或数据呼叫,以将信号传送到移动电话和从移动电话传送信号。考虑到大量的移动电话用户,当前的移动电话网络提供有限的和共享的资源。小区站点的覆盖可以取决于特定的地理位置和/或使用网络的用户的数量。各个小区站点可以彼此相邻,借以由一个小区站点服务的用户设备(例如,移动电话)可以移动到另一个小区站点(例如,相邻小区站点),其中,在该另一个小区站点处,新小区站点承担对用户设备的服务。此外,位于小区站点边缘(例如,远离服务于特定地理区域的基站)的用户设备(例如,移动电话)可能会经历减弱的服务质量(例如,较差的接收、较慢的数据接收/传输、掉话等)。更靠近小区站点彼此相邻的点的用户可能经历差的服务质量。

移动网络运营商不断地寻求更靠近用户-网络互连的点的“卸载”数据业务的方式。移动网络运营商(mno)通常以各种形式常规化地参与网络“对等”以减少商品ip传输成本、提高网络鲁棒性和/或总体实用性;然而,这通常适当地发生在实际无线订户/用户设备的上游。这意味着,即使对于数据中心或其他中心站点的范围内的“直接对等”内容业务,运营商也必须将所有业务从其核心或对等位置传输到无线边缘。这会显著影响到用户设备的数据传输的有效性。另外,这种业务的传输大大增加了与基站回程相关联的操作成本。因此,需要一种用于卸载业务的系统和方法,该系统和方法可以向mno提供减少回程和聚集网络元件上的负担的能力。



技术实现要素:

在一些实施方式中,本主题涉及用于通信系统中的数据路由的计算机实施方法。该方法可以包括接收数据分组,确定数据分组的源,基于该源确定用于数据分组的传输的转发路由,其中该转发路由包括以下中的至少一个:已知的内容路由和默认的内容路由,以及基于所确定的转发路由来发送数据分组。

在一些实施方式中,本主题可以包括以下可选特征中的一个或更多个。该分组可以由本地ip接入装置系统接收,该本地ip接入装置系统可以通信地耦合到由移动网络运营商所运营的至少一个组件(例如,演进型节点b(enodeb)、以太网交换机、回程网络、演进分组核心(包括sgw、pgw、pcrf、mme等)和至少一个内容提供商(例如,内容提供商服务器))。本地ip接入装置系统接收的分组可以包括以下中的至少之一:从内容提供商接收的ip分组和从由移动网络运营商所运营的至少一个组件接收的gtp分组。

如果该分组是从由移动网络运营商运营的演进分组核心接收的gtp分组,则将该gtp分组转发到由移动网络运营商所运营的enodeb。如果该gtp分组是从由移动网络运营商所运营的enodeb接收到的,则可以基于所确定的ip分组的封装目的地址来检查和路由gtp分组中包含的至少一个封装的ip分组(例如,来自通信地耦合到enodeb的用户设备)。路由包括确定是沿着已知的内容路由还是默认的内容路由来路由分组。如果所确定的目的地址是已知的内容路由,则gtp分组可以被解封装,并可以执行网络地址转换,这使得ip分组被转发到内容提供商。否则,如果确定该路由为默认的内容路由,则将gtp分组重新封装并发送到由移动网络运营商所运营的演进分组核心。

如果分组是从内容提供商接收的ip分组,则将分组发送到与由移动网络运营商所运营的enodeb通信地耦合的用户设备。分组的传输可以使用gtpteid来执行,该gtpteid可以由移动网络运营商(即,由移动网络运营商所运营的演进分组核心的mme)来确定。

本文还描述了包括包含具体指令的有形的具体化的机器可读介质,当执行所述指令时,使得一个或更多个机器(例如,计算机等)进行本文描述的操作。类似地,还描述了可以包括处理器和耦合到处理器的存储器的计算机系统。存储器可以包括使处理器执行本文描述的一个或更多个操作的一个或更多个程序。另外,计算机系统可以包括能够并行地将单个指令应用于多个数据点的附加专用处理单元。

在附图和以下说明中阐述了本文描述的主题的一个或更多个变型的细节。由说明书、附图以及权利要求书,本文描述的主题的其它特征和优点将是显而易见的。

附图说明

并入本说明书并构成本说明书的一部分的附图示出了本文所公开的主题的某些方面,与说明书一起帮助解释与本公开的实施方式相关联的一些原理。在附图中,

图1a示出了示例性的传统长期演进(lte)通信系统;

图1b进一步示出了图1a所示系统的细节;

图1c示出了图1a所示系统的演进分组核心的附加细节;

图2示出了包括图1a-1c所示系统的组件的示例性通信系统;

图3示出了根据本主题的一些实施方式的可以提供数据卸载能力的示例性系统;

图4示出了根据本主题的一些实施方式的用于提供回程和内容卸载/路由的示例性通信系统;

图5示出了在使用图4所示的系统的常规数据承载会话路径期间执行的示例性路由过程;

图6a-b示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统;

图7示出了根据本主题的一些实施方式的可以由图6a-b所示的系统执行的用于分组的路由的示例性过程;

图8示出了根据本主题的一些实施方式的图6a-b中所示的装置的示例性框图;

图9示出了根据本主题的一些实施方式的可以由图6a-b所示的装置执行的用于分组的路由的示例性过程;

图10a和10b分别示出了根据本主题的一些实施方式的用于卸载/路由分组的示例性系统和过程;

图11a和11b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的另一示例性系统和过程;

图12a和12b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的又一示例性系统和过程;

图13a和13b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的另一示例性系统和过程;

图14a和14b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的另一示例性系统和过程;

图15示出了根据本主题的一些实施方式的示例性系统;以及

图16示出了根据本主题的一些实施方式的示例性方法。

具体实施方式

为了解决当前可用的解决方案的缺陷,本主题的一个或更多个实施方式提供了用于在无线通信系统中卸载业务的方法、系统和设备。以下是对示例性无线通信系统(例如,长期演进通信系统)的描述。

图1a-1c示出了示例性的传统长期演进(lte)通信系统100及其各种组件。lte系统由用于移动电话和数据终端的高速数据的无线通信的标准管理。该标准基于gsm/edge(全球移动通信系统/gsm演进的增强数据速率)以及umts/hspa(通用移动电信系统/高速分组接入)网络技术。该标准由3gpp(第3代合作伙伴计划)开发。

如图1a所示,系统100可以包括演进通用陆地无线接入网络(eutran)104、演进分组核心(epc)106和分组数据网络(pdn)108,其中eutran104和epc106提供用户设备102和pdn108之间的通信。eutran104可以包括向多个用户设备102(a,b,c)提供通信能力的多个演进节点b(“enodeb”或“enodeb”或“enodeb”或“enb”)或基站204(a,b,c)。用户设备102可以是移动电话、智能电话、平板电脑、个人计算机、个人数字助理(pda)、服务器、数据终端和/或任何其他类型的用户设备和/或其任何组合。用户设备102可以经由任何enodeb204连接到epc106,并最终连接到pdn108。通常,用户设备102可以连接到距离最近的enodeb204。在lte系统100中,eutran104和epc106一起工作以为用户设备102提供连接性、移动性及服务。

图1b进一步示出了图1a所示的网络100的细节。如上所述,eutran104包括多个enodeb204(也称为小区站点)。enodeb204提供无线电功能,并执行关键控制功能,所述关键控制功能包括空中链路资源的调度或无线电资源管理、活动模式移动性或切换以及服务的准入控制。enodeb204负责选择哪些移动性管理实体(mme,如图1c中所示)将服务于用户设备102,并负责如报头压缩和加密之类的协议特征。组成eutran104的enodeb204彼此合作以进行无线电资源管理和切换。

用户设备102和enodeb204之间的通信经由空中接口208(也称为“lte-uu”接口)发生。如图1b所示,空中接口208a提供用户设备102a和enodeb204a之间的通信。空中接口208分别在下行链路和上行链路上使用正交频分多址接入(ofdma)和单载波频分多址(sc-fdma)(ofdma的变体)。ofdma允许使用多种已知的诸如多输入多输出(mimo)的天线技术。

空中接口208使用各种协议,这些协议包括用于用户设备102和enodeb204之间的信令的无线电资源控制(rrc)和用于用户设备102和mme(如图1c所示)之间的信令的非接入层(nas)。除了信令之外,用户业务在用户设备102和enodeb204之间传送。系统100中的信令和业务两者都由物理层(phy)信道承载。

多个enodeb204可以使用x2接口(例如,连接enb2204b和enb3204c的x2接口210)彼此互连。x2接口可以在两个enodeb之间建立,以便提供信号交换,该信号交换可以包括负载或干扰相关信息以及切换相关信息。enodeb204经由s1接口206(a,b,c)与演进分组核心106通信。s1接口206可以被分成两个接口:一个用于控制平面(即,s1-mme接口),另一个用于用户平面(即,s1-u接口)。

epc106建立并施行用户服务的服务质量(qos),允许用户设备102在移动时保持一致的互联网协议(ip)地址。应当注意,网络100中的每个节点具有其自己的ip地址。epc106被设计为与传统无线网络交互工作。epc106还被设计为在核心网络架构中分离控制面(即,信令)和用户面(即,业务),这允许实施方式中的更多灵活性,控制和用户数据功能的独立可扩展性。

epc106架构专用于分组数据,并在图1c中更详细地示出。epc106包括服务网关(sgw)304、pdn网关(pgw)312、移动性管理实体(mme)308、归属订户服务器(hss)316(用于epc106的订户数据库)以及策略控制和计费规则功能(pcrf)314。这些中的一些(诸如sgw、pgw、mme和hss等)通常根据制造商的实施方式被组合到节点中。

sgw304用作ip分组数据路由器的功能是epc106中的用户设备的承载路径锚。因此,当用户设备在移动性操作期间从一个enodeb204移动到另一个enodeb204时,sgw304保持相同,且朝向eutran104的承载路径被切换以与服务于用户设备102的新enodeb204通话。如果用户设备102移动到另一个sgw304的域,则mme308将把所有用户设备的承载路径转移到新的sgw。sgw304建立用于用户设备到一个或更多个pgw312的承载路径。如果接收到空闲用户设备的下行数据,则sgw304缓存下行分组,并请求mme308定位和重新建立去往和通过eutran104的承载路径。

pgw316是epc106(以及用户设备102和eutran104)和pdn108(图1a中所示)之间的网关。pgw312用作用户业务的路由器,以及代表用户设备执行功能。这些包括用户设备的ip地址分配、下行用户业务的分组过滤以确保其被放置在适当的承载路径上、包括数据速率的下行qos的施行。根据订户正在使用的服务,在用户设备102和pgw312之间可以存在多个用户数据承载路径。订户可以使用由不同pgw服务的pdn上的服务,在这种情况下,用户设备具有至少一个建立到每个pgw312的承载路径。在用户设备从一个enodeb切换到另一个enodeb期间,如果sgw304也在改变,则来自pgw312的承载路径被切换到新的sgw。

mme308管理epc106内的用户设备102,mme308管理包括管理订户认证、维护经认证的用户设备102的环境、在网络中为用户业务建立数据承载路径以及保持跟踪尚未从网络离开的空闲移动设备的位置。对于需要重新连接到接入网以接收下行数据的空闲用户设备102,mme308发起寻呼以定位用户设备,并重新建立去往和通过eutran104的承载路径。特定用户设备102的mme308由enodeb204选择,用户设备102从该mme308处发起系统接入。mme308通常是epc106中的mme的集合的一部分,用于负载共享和冗余的目的。在用户的数据承载路径的建立中,mme308负责选择pgw312和sgw304,该pgw312和该sgw304将构成通过epc106的数据路径的末端。

pcrf314负责策略控制决策以及负责控制存在于pgw312中的策略控制执行功能(pcef)中的基于流的计费功能。pcrf314提供qos授权(qos类标识符(qci)和比特率),该qos授权决定在pcef中将如何处理特定数据流,并确保这是根据用户的预订配置处理的。

如上所述,ip服务或服务器210由pdn108(如图1a所示)提供。

enodeb204的主要功能之一是无线电资源管理,无线电资源管理包括调度用于用户设备102的上行链路和下行链路空中接口资源、控制承载资源以及准入控制。作为用于epc106的代理的enodeb204负责传送用于在移动设备空闲时对移动设备进行定位的寻呼消息。enodeb204还通过无线传输、报头压缩、通无线发送的用户数据的加密和解密,以及建立切换报告和触发标准来传达公共控制信道信息。如上所述,enodeb204可以通过x2接口与其它enodeb204进行协作,以便进行切换和干扰管理。enodeb204经由s1-mme接口与epc的mme通信,并利用s1-u接口与sgw通信。此外,enodeb204通过s1-u接口与sgw交换用户数据。enodeb204和epc106具有多对多关系以支持mme和sgw之间的负载共享和冗余。enodeb204从mme组中选择mme,因此负载可以由多个mme共享以避免拥塞。

如图1a-1c所示,系统100可以被实施为集中式云无线电接入网络(cran)。cran可以提供大规模集中式部署,这允许大量(例如,数十万个等)远程无线电头端(rrh)连接到集中式基带单元(bbu)池。在cran中,任何bbu可以使用高带宽(例如,10gbit/s或更大)和低延迟与bbu池内的其他bbu通信。此外,cran还提供了开放平台实时虚拟化能力,这可以确保将bbu池中的资源动态地分配给基站。

图2示出了示例性通信系统340。系统340可以包括与图1a-1c所示的系统类似的组件。特别地,系统340可以包括一个或更多个数据网络354、356,该数据网络354、356可以彼此通信地耦合、耦合到一个或更多个基站(例如,enodeb)358、以及耦合到核心网络,该核心网络可以包括sgw350、mme352、pgw346、hss348、pdn344以及各种其它组件。核心网络组件(例如,pdn344)可以通信地耦合到因特网和/或任何其它网络342。enodeb358可以向各种用户设备(例如,无线电话、智能电话、平板计算机、个人计算机等)(图2中未示出)提供通信能力。

使用系统340,用户设备可以通过数据网络354、356和核心网络向可能位于因特网342中的一个或更多个服务器发送对数据的请求。响应于该请求,服务器可以将所请求的数据发送到用户设备。该过程通常是高资源消耗的、计算密集的、易于发生数据/路径损耗、错误、可能遭受差的服务质量、可能具有较高的数据发送/接收成本等。

在一些实施方式中,本主题使用本地ip接入装置系统(lipa)来提供回程和内容路由/卸载。该系统可以被放置在通信网络(例如,诸如以上参考图1a-1c、2描述的网络)内的若干任何位置,例如塔站点、区域中心站点和“云ran”基带处理站点。

图3示出了根据本主题的一些实施方式的可以提供数据卸载能力的示例性系统360。除了图2所示的组件之外,系统360可以包括服务网关(sgw),该服务网关(sgw)具有使用本地ip接入装置系统(lipa)组件362的回程和内容路由/卸载,本地ip接入装置系统(lipa)组件362可以通信地耦合到一个或更多个数据网络364。在一些实施方式中,取决于从用户设备(图3中未示出)接收的和/或向用户设备发送的数据,具有lipa组件的sgw362可以确定该数据是否应当被发送到数据网络364和/或通过到达因特网342中包含的服务器来遵循默认路由,如下所述。

图4示出了根据本主题的一些实施方式的用于提供回程和内容卸载的示例性通信系统400。系统400类似于图3所示的系统360,系统400可以包括一个或更多个用户设备401、一个或更多个基站402(a、b、c)、数据网络404、回程网络416、epc418、因特网420、内容提供商服务器422、lipa装置406(类似于图3所示的具有lipa组件的sgw362)以及主机对等装置或系统408(类似于图3所示的数据网络组件364)。移动网络运营商(mno)可以提供/控制基站402、数据网络404、lipa装置406、epc418和因特网420的操作。回程组件可以包括以太网传输设备(图4中未示出)、回程网络416(这些组件可以由网络提供商提供/控制)以及数据网络410(例如,以太网交换机)(位于主机对等装置408内)。内容提供商可以与内容提供商服务器422和412(a、b、c)相关联(后者位于主机对等装置408内)。在一些示例性实施方式中,lipa装置可以被放置在一个或更多个enodeb402附近(例如,在塔的物理位置处)。

lipa装置406可以基于与由lipa装置406接收的数据传输(例如,数据分组)相关联的源、类型和/或任何其它信息的标识和/或基于任何其它参数来提供内容回程和内容卸载。一旦确定了与数据传输相关联的信息,lipa装置406就可以执行适当的路由决策,以路由接收到的数据分组。在一些实施方式中,lipa装置406还可以合并服务网关(sgw)的一个或更多个功能。

装置406可以是任何计算设备,包括用于执行本文所描述的功能的硬件、软件和/或其任何组合。装置406还可以具有各种通信能力,可以通信地耦合到交换机404以及主机对等装置408,如图4所示。装置406还可以通信地耦合到系统400内的任何组件。装置406可以包括可以允许从/向epc418接收/发送数据分组的一个或更多个通信端口,以及可以允许从/向内容提供商412接收/发送数据分组的一个或更多个通信端口。在一些实施方式中,装置406不执行可以由装置406接收的数据分组的存储,而是如上所述,装置406可以将这样的数据分组路由到适当的目的端,如下面进一步的详细描述。

图8示出了根据本主题的一些实施方式的装置406的示例性框图。装置406可以包括一个或更多个处理组件806、一个或更多个端口802、一个或更多个端口804、以及一个或更多个源网络地址转换(nat)组件808。端口802可以将装置406通信地耦合到移动网络运营商(mno)传输、回程和/或其它ip接入网络组件/服务810。端口802可以从演进分组核心418和其它移动网络运营商组件(例如,图3中所示的组件342-356)接收数据分组和/或任何其它信息,和/或向演进分组核心418和其它移动网络运营商组件发送数据分组和/或任何其它信息。端口804可以将装置406通信地耦合到内容提供商主机系统812(例如,图3中所示的数据网络364)。端口804可以从内容提供商主机接收数据分组(例如,对数据内容的请求、对数据内容的请求的响应等)和/或发送数据分组(例如,对数据内容的请求、对数据内容的请求的响应等)。在一些示例性实施方式中,端口802、804可以是非屏蔽双绞线(utp)千兆位以太网端口。

在一些实施方式中,端口802(也称为“面向mno”端口)可以被配置有适于到达移动网络运营商的epc组件418和/或可以与装置406通信地耦合的任何enodeb402的ip寻址(如图4所示)。端口802可以被用于经由“默认路由”(例如,由装置406使用从内容提供商而不是对等主机内容提供商获得内容的路由)路由内容请求/对内容请求的响应。在一些示例性实施方式中,mme、enodeb和与装置406通信的其他移动网络运营商设备可以在配置的ip子网上直接有线相邻,和/或可以不在子网上和/或可以由输入到主机系统软件路由表中的静态ip路由到达。

在一些实施方式中,端口804(也称为“面向内容”端口)可以被配置有适当的ip地址以与本地对等交换网络(例如,与主机对等系统408,如图4所示)通信。端口804可以由装置406使用,以经由已知的“内容路由”将内容请求/对内容请求的响应路由到对等内容提供商主机。为了能够与本地对等交换网络通信,本地对等交换网络运营商可以确定适当的地址(如图4所示)并将这些地址提供给移动网络运营商和/或装置406。

在一些实施方式中,源nat组件808可被提供有用户设备源nat范围,该范围也可与对等交换网络的运营商协调。在一些实施方式中,每个装置406可以被分配唯一的用户设备nat地址范围,该范围可以被提供给与装置406对等的每个内容提供商。唯一的源nat地址范围可以允许内容提供商递送针对与移动网络运营商通信的每个用户设备的分组,这避免了关于哪个移动网络运营商组件/用户设备应当从内容提供商接收数据分组的混淆。

在一些实施方式中,源nat组件808的nat特征可以包括基于用户设备源ip地址和分配给用户设备/enodeb会话的gtpteid的会话状态。该信息可以允许源nat组件808区分各种用户设备、内容请求等。

可以理解,装置406可以包括各种其他处理组件(例如,处理组件806)、软件、硬件和/或其任意组合。装置406可以被配置为具有各种通信能力,并可以使用有线连接、无线连接和/或其任意组合来通信地耦合到通信系统内的任何组件(例如,如图4-6所示)。在一些实施方式中,装置406可以是和/或可以包括任何计算设备、电话、无线电话、智能电话、平板计算机、个人计算机、膝上型计算机、服务器、网关、网络元件、设备的网络、无线和/或有线接收机和/或收发机、基站、路由器、调制解调器和/或任何其它类型的设备和/或其任何组合。

图5示出了在使用图4所示的系统400的常规数据承载会话路径期间执行的示例性路由过程。在通信会话中,用户设备401可以经由空中链路(无线网络临时标识符(rnti))接口向基站402(例如,基站402c)发送对数据内容的请求。基站402可以由移动网络运营商(mno)提供/控制。用户设备401的内容请求可以沿路径502被发送到内容提供商422,响应于该请求的数据经由路径504从内容提供商422返回。可以使用gtp(gprs隧道协议(即,lte用来在epc内递送ip分组的通信协议))在用户设备401和内容提供商之间传输数据分组,在此将唯一的隧道端点标识符(teid)分配给到对等体的每个gtp控制连接,将唯一的teid分配给到对等体的每个gtp用户连接(承载)。teid是gtp分组(gtp-c(用于通过s11和s5递送控制信号)或gtp-u(用于通过s1和s5递送应用有效载荷(用户数据))中的32比特数字字段。teid可以在初始附加程序期间(即,在用户设备向网络注册以接收需要注册的服务的过程期间)生成。如双箭头506所示,可以生成创建会话请求,其包括s11mmedlteid和s5sgwdlteid(其中dl代表下行链路),s11mmedlteid和s5sgwdlteid两者都由mnoepc(mme和sgw组件)418生成和包括。创建会话响应可以包括s5pgwulteid和s11sgwulteid(其中ul代表上行链路),s5pgwulteid和s11sgwulteid可以由mnoepc(pgw和sgw组件)418生成和包括。

图6a-b示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统600。虽然系统600包括图4和5所示的组件,但是系统600使用lipa装置406执行路由决策。在一些实施方式中,装置406可以实施gtp代理特征和sgws11gtp-c接口,这可以允许移动网络运营商的epc(mme)418将gtp会话从基站/小区站点402(例如402c)引导到装置406。装置406可以位于或以其他方式接近小区站点402。在小区站点处(或其附近,如图6a所示)的服务网关的功能不改变系统600中的端点之间的数据传输流。在一些实施例中,装置406处的sgw可以由移动网络运营商的mme控制,以便将对应的gtp会话从其自身引导到演进分组核心的mno(sgw)418,如通常发生的那样。流经装置406的gtp分组可以使用常规的ip路由机制来处理。标准的“默认ip路由”(例如0/0等)可以使用mme控制的gtpteid会话隧道,将隧道的用户设备的ip分组照常引导到移动网络运营商的epc(pgw)。用户设备ip寻址和承载控制可以由epc(pgw)418处理。从内容提供商系统学习的任何本地ip路由可以被指定为“更具体的路由”,如果在路由查找期间匹配了目的ip地址,则用户设备ip分组可以被转发到对应的内容提供商。可以通过标准边界网关协议(bgp)在装置406和内容提供商主机或路由器之间交换路由。

如图6a所示,用户设备可以经由路由602向基站402c发送对内容的请求。然后,该请求可以通过数据网络(例如,移动网络运营商控制的交换机)404被路由到装置406。本地基站(例如,enodeb)到装置406处的sgw的gtpteid会话610可以被建立(如图6a中的“南向gtpteid本地enb<->sgw会话”所示)。基于所接收的请求,装置406可以从所接收的请求中提取信息(如下面关于图7所讨论的)以进一步确定所接收的数据分组的路由。从基站接收的内容请求可以沿着“内容路由”(即,到本地内容提供商412(a,b,c))或沿着“默认路由”(即,经由epc到内容提供商422)被路由。一旦装置406接收到响应,内容请求就可以经由路由608被路由到基站。

在确定所接收的内容请求应当沿着“默认路由”被路由时,装置可以经由路由604将内容请求发送到移动网络控制的epc418,epc418然后可以将内容请求发送到内容提供商422。内容提供商422可以生成响应,并经由路由606向epc418发送该响应,然后epc418可以将该响应路由到装置406。为了确保内容请求和对内容请求的响应通过装置406被路由,可以建立回程gtp会话612(如图6a中的“北向gtpteidsgw<->pgw回程gtp会话”所示)。另外,为了提供装置406的mme控制,可以建立s11mme到装置406的sgw连接614。在经由“默认路由”接收到对内容请求的响应时,装置406可以经由路由608将响应数据分组传输到基站402c,基站可以经由空中链路将该响应数据分组递送到用户设备401。

图6b进一步示出了在装置406和主机对等装置或系统408之间发生的通信的细节。如上所述,来自用户设备401的内容或数据请求经由路由602(在图6a-b中由实线示出)被路由到基站402c,然后通过数据网络404被路由到装置406。一旦装置406处理了所接收的请求,它就可以经由路由616将该请求发送到主机对等装置408。然后,所发送的请求可以通过主机对等装置408的数据网络410被路由到适当的内容提供商412a。主机对等装置408可以包括一个或更多个内容提供商412,如图6b所示。内容提供商412可以基于从经由路由616从装置406接收的请求获得的信息/数据来选择。在一些实施方式中,主机对等装置408(和/或装置406)可以包括可以执行查找以确定哪个内容提供商412具有在所接收的内容请求中请求的数据的机制。内容提供商412可以是任何存储位置、存储器位置、处理器、服务器、数据库等和/或其任何组合。

一旦定位了所请求的内容,内容提供商412a就可以经由路由618通过数据网络410向装置406发送响应,所述响应包括在所接收的请求中请求的信息/数据。如上所述,装置406可以经由路由608将接收到的响应信息/数据发送到基站402c。在一些实施方式中,装置406可以使用任何类型的连接(例如,任何类型的数据网络)直接(和/或间接)连接到任何接口的计算和/或通信系统。在一些示例性的非限制性的实施方式中,连接可以包括以下中的至少一个:一个或更多个链路(例如,物理链路、以太网链路、ip链路、由一个或更多个数据发射机/接收机/收发机共享的物理域、无线电波、波导/同轴连接、自由空间/光纤中的光波、金属线上的电磁波、电介质波导和/或任何其他连接和/或其任何组合)、一个或更多个交换/中心仿真连接、一个或更多个独立的点对点连接和/或电路、另外一个或更多个网络/数据路由器(其可以连接到相同和/或不同类型的一个或更多个其他数据网络)、和/或任何其他类型的连接和/或其任何组合。虽然图6b(以及下面图7的讨论)示出了系统600可以操作的方式之一,但是使用装置406路由数据的其它方式也是可能的,如下面将讨论的。

图7示出了根据本主题的一些实施方式的可以由装置406(如图6a-b所示)执行的用于分组的路由的示例性过程700。系统600可首先确定是gtp分组到达“面向mno”端口802(如图8所示)还是ip分组到达“面向内容”端口804(如图8所示)。如果是gtp分组到达面向mno端口802,则装置406可执行处理操作702至734(偶数)。如果是ip分组到达面向内容端口804,则装置406可以执行处理操作703-717(奇数编号)。

在确定gtp分组已经到达面向mno端口802时,在702处,可以确定gtp分组是否已经被从移动网络运营商的pgw(即,如图6a所示的pgw418)发送。如果gtp分组被从移动网络运营商的pgw发送,则在730处,装置406可以访问状态表(该状态表可以由装置406存储)以确定与gtp分组相关联的gtpteid是否存储在该表中。如果是,则在732-734处,gtp分组可以使用面向mno端口802被转发到与gtpteid相关联的所确定的enodeb。

在730处,如果确定gtp分组的gtpteid不在由装置406访问的状态表中,则在728处,可以将gtp分组丢弃,并可以结束gtp分组的任何进一步转发/传输。类似地,如果在704处确定gtp分组不是来自移动网络运营商的pgw,且在706处gtp分组不是被从移动网络运营商的enodeb发送的,则在728处,也可以将gtp分组丢弃,从而结束对gtp分组的进一步处理。

如果在706处确定gtp分组是来自移动网络运营商的enodeb,则在708处,装置406的源nat组件808(如图8所示)可以确定gtpteid是否对应于装置406所存储的源nat条目。在一些实施方式中,nat状态表可包括“存活”在可(例如主要)存储在系统的随机存取存储器、专用内容可寻址存储器、n元内容可寻址存储器和/或任何其它类型的存储器和/或其任何组合中的表中的条目。表的存储可以取决于加载和/或存储性能参数/目标。在一些实施方式中,该表可以包括或不包括其他状态信息。此外,nat表可以包括针对朝向enodeb和/或朝向pgw的承载路径的gtpteid分配的存储和/或关联的组合。在一些实施方式中,gtp状态表可以与地址转换表分开,这取决于各种因素。nat表和其它表可使用以下方法中的至少一个来填充:1)查找异常处理更新(例如,在针对gtpteid和/或gtpteid与ue源ip地址和/或仅ue源ip地址的特定组合发现“无匹配”的情况下,执行分配和表更新/插入例程);2)预分配更新(例如,nat表可以在从mnomme接收到s11控制平面信令消息时被填充,其中该消息可以指示sgw软件组件分配和/或关联s5/8与s1-uteid配对和/或可获得触发附加功能(例如,这样的事件可以用于触发与给定teid/ueip和teid/ueip相关联的新nat的插入);3)卸载触发的nat分配(例如,用于“本地卸载的”ip目的前缀的确定的路由查找可以在执行地址转换之前发生,凭借在这些情况下,直到用户设备向落入能卸载ip网络前缀内的一个这样的卸载的目的ip地址发送ip数据报,才发生nat活动)。

如果存储的源nat条目不存在,则在710处,装置406可从条目池中将源nat条目分配给gtp分组的teid。在一些实施方式中,nat应用软件/逻辑可以使用以下方法中的至少一个来获知池中的可用条目:1)使用显式配置的静态声明;2)通过(一个或更多个)动态路由协议学习的;3)通过网络传递的配置指令学习和/共享。在一些实施方式中,包括一个或更多个地址和/或整个地址前缀(例如,期望地址的范围)的地址集合可以被定义和/或显示,nat应用代码可以使用该地址集合来表示用户设备的原始ip地址。地址声明可用于逻辑地计算和/或更新nat表,该nat表使用上述表填充过程来根据需要更新。

否则,如果条目已经存在,则在712处,gtp分组可以被解封装,且用户设备的源ip地址的转换可以由装置406执行。然后,在转换之后,在714处,可以将ip分组提供给主机系统虚拟接口。在一些实施方式中,主机计算机操作系统可以提供ip路由(例如,卸载路由表)功能。在这种情况下,gtp封装和/或解封装软件可以通过系统提供的网络接口应用编程接口和/或其他功能网络接口仿真机制与主机操作系统交换ip分组。主机操作可以向gtp软件显示一个或更多个这样的软件虚拟和/或仿真物理接口,gtp处理软件可以使用这些接口从这些接口读取ip分组和/或向这些接口写入ip分组,以促进将预期ip分组递送和/或卸载到期望的卸载目的端。另外,来自这样的卸载源的业务可以(例如,经由稍后的取消nat和/或gtp重新封装)被接收和/或返回到适当的用户设备。在没有提供主机操作系统ip路由功能和外部路由器设备附接到lipa装置的示例性实施方式中,接口可以成为各种类型的物理数据链路接口(例如以太网、高速串行、pci、pci-e等)。

在716处,可以访问卸载路由表以确定ip分组的路由。在一些实施方式中,ip路由表功能可以由主机计算机操作系统提供。路由表可以存储在随机存取存储器和/或任何其它存储器类型(例如内容可寻址存储器(cam)、三态内容寻址存储器(tcam)等)中。可以使用以下方法中的至少一个来填充路由表:1)输入和/或定义“静态”路由;2)路由协议(例如ospf、bgp等)从外部路由器和/或其它类似系统接收路由,然后通过api或其它机制指示应当包含路由的主机ip路由表以及与路由相关联的属性(例如度量、下一跳接口/ip地址、标签施加、弹出、交换等)。在一些实施方式中,ip路由功能可以在gtp和/或nat功能的“外部”。

在718处如果路由被包含在卸载路由表中,则在726处,ip分组可以经由面向内容端口804被转发到所指示的下一跳。

在718处如果路由不在卸载路由表中,则在720处,将ip分组提供给gtp/nat后台程序虚拟接口。在一些实施方式中,主机计算机操作系统可以提供ip路由(例如,卸载路由表)功能。在这种情况下,gtp封装和/或解封装软件可以使用系统提供的类似网络的接口api和/或其他功能网络接口仿真机制来与主机操作系统交换ip分组。主机操作可以向gtp软件显示一个或更多个这样的软件虚拟和/或仿真物理接口,gtp软件可以利用这些接口从这些接口读取ip分组和/或向这些接口写入ip分组,以促进将预期ip分组递送和/或卸载到期望的卸载目的端。此外,如上所述,来自这样的卸载源的业务可以(例如,经由稍后的取消nat和gtp重新封装)被接收和/或返回到适当的用户设备。在没有提供主机操作系统ip路由功能及外部路由器设备附接到lipa装置406的示例性实施方式中,该接口可以是物理数据链路接口(例如以太网、高速串行、pci、pci-e等)。然后,在722处,装置406可以在用户设备nat表中执行与分组相关联的源ip地址的查找,将源地址转换为原始用户设备源ip地址,并用已知的gtpteid和pgw目的端对该原始用户设备源ip地址进行封装。nat处理逻辑可以使用单个表,该表可以关联任何、一些和/或所有用户设备ip地址和/或关联的s1u和s5/8gteteid。然后,在724处,gtp分组经由面向mno端口802(如图8所示)被转发到移动网络提供商的确定的pgw。

在703处,如果在面向内容端口804上接收到ip分组,则装置406可以执行对包含用户设备源nat范围的表的查找。在707处,如果与所接收的ip分组相关联的路由不在用户设备源地址表中,则在709处,可以丢弃该ip分组,并可以终止对该ip分组的任何进一步处理。在707处,如果路由在用户设备源地址表中,则在711处,装置406可以将ip分组提供给gtp/nat后台程序虚拟接口。然后在713处,装置406可以确定分组的目的ip地址是否被分配给现有的teid转换。如果不是,则在709处丢弃该ip分组。如果分组的目的ip地址已经被分配,则在715处,装置406可以将nat范围目的ip地址转换为用户设备目的地址,利用匹配的gtpteid对该用户设备目的地址进行封装,并将目的gtpip地址设置为目标enodeb。在717处,在封装之后,可以使用面向mno端口802(如图8所示)将gtp分组转发到所确定的enodeb。

在一些示例性实施方式中,仅gtp分组可以使用面向mno端口802来发送和/或接收,仅ip分组可以在面向内容端口804上接收。此外,gtp分组仅可以经由s11gtp-c接口协议利用由epc(mme)418(如图6a-b所示)在承载建立期间标识的enodeb和sgw交换。因此,分组的转发可以根据以下来执行:

·来自mnoepc(pgw/sgw)418的gtp分组仅可以向包含如由epc的mme用信号发出的用户设备会话的enodeb402转发;

·来自内容主机对等系统408的ip分组只能经由如通过epc的mme用信号发出的gtpteid向用户设备转发;

·来自enodeb的包含封装的用户设备ip分组的gtp分组可以基于用户设备的ip分组的封装的目的ip地址来检查和路由;

·如果ip目的端是已知的内容路由,则gtp分组可被解封装并被网络地址转换;

·如果ip目的端不是已知的内容路由,而是匹配的默认路由,则gtp分组可以被重新封装并沿着sgwgtp会话被转发。

图9示出了根据本主题的一些实施方式的可以由装置406(如图6a-b所示)执行的用于分组的路由的示例性过程900。如上所述,系统600最初可确定是gtp分组到达“面向mno”端口802(如图8所示)还是ip分组到达“面向内容”端口804(如图8所示)。如果是gtp分组到达面向mno端口802,则装置406可执行处理操作902-920(偶数)。如果是ip分组到达面向内容端口804,则装置406可以执行处理操作901-909(奇数)。

在902处,确定gtp分组已经到达面向mno端口802时,在904处,可以确定gtp分组是否已经从移动网络运营商的pgw(即,如图6a-b所示的mno(pgw)418)发送。如果gtp分组是从移动网络运营商的pgw发送的,则在908处,装置406可以类似于sgw的动作(即将gtp分组转发到主机特定的teid的enodeb),在910处,可以使用面向mno端口802将gtp分组转发到所确定的与gtpteid相关联的enodeb。

在904处,如果确定gtp分组不是来自移动网络运营商的pgw,并且在906处确定gtp分组不是从移动网络运营商的enodeb发送的,则在912处还可以将gtp分组丢弃,从而结束对gtp分组的进一步处理。

在906处,如果确定gtp分组来自移动网络运营商的enodeb,则在914处,可以确定封装的用户设备ip分组目的ip地址是否在卸载表中。如果是,则在916处,可以对gtp分组进行解封装。然后,在918处,ip分组可以经由面向内容端口804被转发到所指示的下一跳。否则,如果在914处分组目的ip地址不在卸载表中,则在920处,gtp分组可经由面向mno端口802(如图8所示)被转发到移动网络提供商的确定的pgw。

在901处如果在面向内容端口804上接收到ip分组,则在903处,装置406可以确定内容ip分组目的ip地址是否在ue/sgw会话表中。如果不是,则在905处,可以丢弃ip分组,并且可以终止对ip分组的任何进一步处理。如果是,则在907处,装置406可以利用gtp报头和ue目的地址的相关联的teid值来封装内容ip分组。在909处,在封装之后,gtp分组可以使用面向mno端口802(如图8所示)被转发到所确定的enodeb。

以下提供了使用图4-5所示的系统400来卸载和/或路由数据的各种方式的讨论。图10a-b示出了分别用于使用装置406(“类型1系统”)执行(包括网络地址转换的)数据的集成路由的示例性系统1000和过程1050。图11a-b分别示出了用于执行数据路由的示例性系统1100和过程1152,凭借装置406执行网络地址转换,包括执行路由的单独的操作系统(os)(“类型2系统”)。图12a-b分别示出了用于执行数据路由的示例性系统1200和过程1252,其中外部系统执行数据路由(“类型3系统”)。图13a-b分别示出了用于执行数据路由的示例性系统1330和过程1300,其中不执行网络地址转换,且路由功能被集成到装置406中(“类型4系统”)。图14a-b分别示出了用于执行数据路由的示例性系统1400和过程1452,其中不执行网络地址转换,且路由功能在装置406的外部(“类型5系统”)。上述系统/过程的使用可以取决于实施环境(例如,带宽、吞吐量、功率-受限等环境)。作为非限制性示例,类型3和5系统可以在要求超过100gps的吞吐量的环境中使用,而其他类型的系统可以在不要求高吞吐量的环境中使用。功率需求也会影响所使用的系统类型。

类型1系统

图10a和10b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统1000和过程1050。系统1000可以在lipa装置(例如lipa装置406)可提供路由和网络地址转换(nat)功能的情况下实施。系统1000和过程1050可以并入到以上关于图4-8讨论的任何系统中/由以上关于图4-8讨论的任何系统执行。

参考图10a,系统1000可包括物理主机计算系统1001,该物理主机计算系统1001可包括具有gtp-u后台程序1003、gtp-cs11后台程序1005、路由协议后台程序1007和内核路由表1009的主机内核。计算系统1001还可以包括接口11011和接口21013。接口1011可以用于处理去往/来自mno的enodeb和/或sgw的gtp-uip分组1019、去往/来自mno的pgw的gtp-uip分组1023以及去往/来自mno的mme的gtp-cs11控制分组1021。接口1013可用于处理去往/来自用户设备的卸载的内容流以及与内容提供商路由器和/或服务器1015、1017的协议邻居会话。

gtp-u后台程序1003可以包括能够执行gtp封装/解封装、确定ueteid和nat状态的组件,还可以包括集成ip路由信息库(rib)。gtp-u后台程序1003和gtp-cs11后台程序1005可以使用gtpteid同步api接口通信地耦合,该api接口可以用于数据的传输,以执行数据分组的封装/解封装。分组1019和1023可以经由接口1011和内核路由表1009被接收,并由后台程序1003封装/解封装组件处理。控制分组1021也可由后台程序1005经由接口1011和内核路由表1009接收。路由协议后台程序1007可以将协议rib数据推入(push)到gtp-u后台程序1003的rib数据库。

类似于上面讨论的图7和9,图10b示出了根据本主题的一些实施方式的可以由系统1000(如图10a所示)执行的用于分组的路由的示例性过程1050。系统1000最初可以确定是gtp分组到达“面向mno”接口还是ip分组到达“面向内容”接口。如果是gtp分组到达面向mno接口,则系统1000可执行处理操作1002-1026。如果是ip分组到达面向内容接口,则系统1000可以执行处理操作1028-1042。

在1002处,确定gtp分组已经到达面向mno接口时,可以确定gtp分组是否已经从移动网络运营商的pgw发送。如果gtp分组是从移动网络运营商的pgw发送的,则在1010处,系统1000可以访问状态表,以确定与gtp分组相关联的gtpteid是否存储在该表中。在一些实施方式中,该表可以包括各种数据结构,作为非限制性示例,数据结构可以包括以下中的至少一个:链表、索引列表、有序列表、多级查找-抽象数据结构、和/或任何其他数据结构和/或其任何组合。在接收到数据分组时,可以访问该表,并可以做出关于应当如何处理和/或丢弃数据分组的适当决定。作为非限制性示例,该表可在一行中包括以下示例性类型的数据中的一个或更多个:[唯一索引]、[ueimsi]、[ueguti]、[eps承载id]、[s1uteid]、[s1uenb目的ip]、[s5/8teid]、[s5/8teidpgw目的ip]、[分配的uepdnip地址]。可以理解,其它(包括比以上列出的更多或更少的)数据可以包括在该表中。在一些实施方式中,该表可以“保存”在gtp-u后台程序1003内,和/或可以是gtp-u后台程序1003的gtp解封装/封装功能块的“一部分”,如图10a所示。返回参考图10,在1024-1026处,如果gtpteid存储在表中,则可以使用面向mno接口将gtp分组转发到所确定的与ueteid相关联的enodeb。

在1010处,如果确定gtp分组的gtpteid不在状态表中,则在1012处,可以丢弃gtp分组,并可以结束gtp分组的任何进一步转发/传输。类似地,在1004处,如果确定gtp分组不是来自移动网络运营商的pgw,并且在1006处,确定gtp分组不是从移动网络运营商的enodeb发送的,则在1012处,也可以丢弃gtp分组,从而结束对gtp分组的进一步处理。

在1006处,如果确定gtp分组来自移动网络运营商的enodeb,则在1008处,系统1000可以执行卸载路由表查找。在一些实施方式中,卸载表可以包括ip路由信息(也称为图10a中所示的过程1003的iprib表)。该表可以被存储在存储器和/或其它快速检索的数据存储位置中。在一些示例性的非限制性的实施方式中,该表可以包括以下格式的条目中的一个或更多个:[唯一索引]、[目的ip前缀]、[目的ip前缀长度]、[下一跳ip地址]、[可选:层2邻接地址]、[可选:层1和层2输出接口索引]、[可选:层2源地址]。在一些实施方式中,本主题系统可以包括一个或更多个表,这些表可以包含具有存储在iprib表中的匹配索引值的条目(图10a中所示的过程1003的部分)。例如,在ip路由器的一些示例性实施方式中,“层2邻接”和“层2重写”表可以是外部的和/或可以从ip路由表中抽象出来。这种单独的表可用于可扩展性和/或性能目的。在ip路由查找发生之后,可以访问“层2邻接”表以确定例如应当在所生成的将包含ip分组的以太网帧上使用的源和/或目的地以太网地址。将这些表维护为单独的数据结构可以用于并行地和/或使用专用的、专门的硬件(即,cam、tcam等)执行以太网交换和/或ip路由查找的实施方式中。返回参考图10a,在1014处,如果路由不在卸载表中,则在1042处,gtp分组可以使用面向mno接口被转发到所确定的pgw。

在1014处,如果路由在卸载路由表中,则在1016处,可以确定是否存在与特定teid的源nat条目的一对一的对应关系。如果不是,则在1018处,从ip地址池中分配用于teid的源nat条目。在一些实施方式中,nat应用软件/逻辑可以使用以下方法中的至少一个来获知池中的可用条目:1)使用显式配置的静态声明;2)通过动态路由协议学习的配置;3)学习的和/或共享的网络递送配置指令。在一些实施方式中,可以定义和/或显示包括一个或更多个地址和/或整个地址前缀(例如,期望地址的范围)的地址集合,nat应用代码可以使用该地址集合来表示用户设备的原始ip地址。地址声明可以用于逻辑地计算和/或更新nat表,该nat表使用上述表填充过程来根据需要更新。

在一些实施方式中,可以使用以下处理中的至少一个来执行nat表中的条目的分配和/或解除分配:编程/线性/随机/伪随机遍历、考虑和/或不考虑“最后分配”和/或“最后解除分配”指针和/或计数器、考虑和/或不考虑配置地址的列表、和/或任何其他进程和/或其任何组合。然后,上述进程的结果可以与编码和/或授予“使用中”和/或“未使用中”状态的指示符和/或抽象的“标志”进行比较。在整个可用地址表都完成且没有空闲条目的情况下,可以执行异常处理逻辑,异常处理逻辑可以包括一个或更多个“清除”和/或“中止”功能。使用这些功能,分配器组件可以确定它是否应当重新声明最旧的和/或最近最少活动的(即,在n个时间单位中没有分组匹配的那个)和/或其它对照的度量。在中止情况下,如果没有空闲条目,则分配器组件可以被配置为沿着“常规”转发路径(即,朝向当前的存在的gtpteid状态和已知的pgw)返回分组,从而不卸载分组。

在一些实施方式中,ip地址池可以被存储在存储器中,和/或由(假设在系统的配置中这样启用)nat功能块管理和/或更新。在一些示例性、非限制性实施方式中,nat表格式可以至少包括以下项:[唯一索引]、[ueimsi]、[ueguti]、[eps承载id]、[uepdnip]、[uenat源ip]。

在一些实施方式中,分配过程可以开始于确定到达面向内容接口上的分组中的目的地ip地址(来自内容服务系统和/或其他ip系统等)是否被分配给活动转换(即,当使用接收到的“来自内容”分组中的目的地址搜索字段“uenat源ip”时,是否找到唯一索引)。如果返回唯一索引(即非空索引值),则确定gtp状态表中是否存在eps承载id(这可以是图10a中所示的操作1010的一部分)。如果gtp表中存在eps承载,则重新取回与给定的ueeps会话id相对应的当前enodebip地址和gtpteid值,并可以执行取消nat过程(例如,将目的ip从nat范围交换到所分配的uepdnip地址)。

返回参考图10a,处理进行到1020处,在该处gtp分组可被解封装,可执行用户设备的源ip地址的转换,可为适当的内容目的ip地址设置下一跳。然后,在1022处,ip分组可以经由面向内容接口被转发到所指示的下一跳。

在1028处,如果在面向内容的接口上接收到ip分组,则在1030处,系统1000可以执行对包含用户设备源nat范围的表的查找。在1032处,如果与所接收的ip分组相关联的路由不在用户设备源地址表中,则在1034处,可以丢弃该ip分组,并可以终止对该ip分组的任何进一步处理。在1032处,如果路由在用户设备源地址表中,则在1036,系统1000可以确定分组的目的ip地址是否被分配给现有的teid转换。如果不是,则在1034处,丢弃该ip分组。如果已经分配了目标ip地址,则在1038处,系统1000可以将nat范围目的ip地址转换为用户设备目的地址,利用匹配的gtpteid对其进行封装,并将目的gtpip地址设置为目标enodeb。在1040处,在封装之后,可以使用面向mno接口将gtp分组转发到所确定的enodeb。

类型2系统

图11a和11b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统1100和过程1152。系统1100可以在lipa装置(例如lipa装置406)提供nat功能和单独的操作系统可提供路由功能的实施中使用。系统1100和过程1152可以并入到以上关于图4-8讨论的任何系统中/由以上关于图4-8讨论的任何系统执行。

参考图11a,类似于图10a中所示的系统1000,系统1100可以包括物理主机计算系统1101,所述物理主机计算系统1101可以包括具有gtp-u后台程序1103的主机内核、gtp-cs11后台程序1105、路由协议后台程序1107和内核路由表1109。计算系统1101还可以包括接口11111和接口21113。接口1111可用于处理去往/来自mnoenb的gtp-uip分组1119、去往/来自mnopgw的gtp-uip分组1123以及去往/来自mme的gtp-cs11控制分组1121。接口1113可用于处理去往/来自ue的卸载的内容流以及处理与内容提供商路由器和/或服务器1115、1117的协议邻居会话。

gtp-u后台程序1103可以被配置为提供gtp封装/解封装功能以及确定ueteid和nat状态。在一些实施方式中,为了获得去往和来自用户设备的nat范围路由,可以在gtp-u后台程序1103和内核路由表1109之间提供单独的接口(“接口3”,如图11a所示)。此外,为了获得关于到epc的pgw的“默认路由”的信息可以提供附加接口(如图11a所示的“接口4”)。

gtp-u后台程序1103和gtp-cs11后台程序1105可以使用gtpteid同步api接口(类似于图10a)通信地耦合,该api接口可以用于传输数据,以执行数据分组的封装/解封装。分组1119和1123可经由接口1111和内核路由表1109被接收,并由后台程序1103封装/解封装组件处理。控制分组1121也可由后台程序1105经由接口1111和内核路由表1109接收。路由协议后台程序1107可以使用内核路由表api通信地耦合到内核路由表1109。

图11b(其示出了与图7所示的过程700类似的过程)示出了根据本主题的一些实施方式的可以由系统1100(如图11a所示)执行用于分组的路由的示例性过程1100。系统1100可首先确定是gtp分组到达“面向mno”接口还是ip分组到达“面向内容”接口。如果是gtp分组到达面向mno接口,则系统1100可执行处理操作1102至1134。如果是ip分组到达面向内容接口,则系统1100可以执行处理操作1136-1150。

在1102处,在确定gtp分组已经到达面向mno接口时,可以确定gtp分组是否已经被从移动网络运营商的pgw发送。如果gtp分组被从移动网络运营商的pgw发送,则在1130处,系统1100可访问状态表以确定与gtp分组相关联的gtpteid是否存储在该表中。如果是,则在1132-1134处,gtp分组可以使用面向mno接口被转发到与ueteid相关联的所确定的enodeb。

在1130处,如果确定gtp分组的gtpteid不在状态表中,则在1128处,可以丢弃该gtp分组,并且可以结束gtp分组的任何进一步转发/传输。类似地,在1104处,如果确定gtp分组不是来自移动网络运营商的pgw,且在1106处该gtp分组不是被从移动网络运营商的enodeb发送的,则在1128处,还可以丢弃gtp分组,从而结束对gtp分组的进一步处理。

在1106处如果确定gtp分组来自移动网络运营商的enodeb,则在1108处,源nat组件可以确定gtpteid是否对应于源nat条目。如果存储的源nat条目不存在,则在1110处,系统1100可从条目池中将源nat条目分配给gtp分组的teid。否则,如果条目已经存在,则在1112处,gtp分组可被解封装,且用户设备的源ip地址的转换可由系统1100来执行。然后,在转换之后,在1114处,ip分组可以被提供给主机系统接口。在1116处,可以访问卸载路由表以确定ip分组的路由。在1118处,如果该路由被包含在卸载路由表中,则在1126处,ip分组可以经由面向内容的接口被转发到所指示的下一跳。

在1118处,如果路由不在卸载路由表中,则在1120处,ip分组可被提供给gtp/nat后台程序接口。然后,在1122处,系统1100可以在用户设备nat表中执行与分组相关联的源ip地址的查找,将源地址转换成原始用户设备源ip地址,并用已知的gtpteid和pgw目的端来封装该原始用户设备源ip地址。然后,在1124处,gtp分组可以经由面向mno接口被转发到所确定的移动网络提供商的pgw。

在1136处,如果在面向内容接口上接收到ip分组,则在1138处,系统1100可执行对包含用户设备源nat范围的表的查找。在1140处,如果与所接收的ip分组相关联的路由不在用户设备源地址表中,则在1142处,可以丢弃该ip分组,并可以终止对该ip分组的任何进一步处理。在1140处,如果路由在用户设备源地址表中,则在1144处,系统1100可将ip分组提供给gtp/nat后台程序接口。然后在1146处,系统1100可以确定分组的目的ip地址是否被分配给现有的teid转换。如果不是,则在1142处丢弃该ip分组。如果分组的目的ip地址已经被分配,则在1148处,系统1100可以将nat范围目的ip地址转换为用户设备目的地址,利用匹配的gtpteid对该用户设备目的地址进行封装,并将目的gtpip地址设置为目标enodeb。在1150处,在封装之后,可以使用面向mno接口将gtp分组转发到所确定的enodeb。

类型3系统

图12a和12b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统1200和过程1252。系统1200可以在lipa装置(例如lipa装置406)提供nat功能和单独的外部路由系统提供ip路由功能的实施方式中使用。系统1200和过程1252可以并入到以上关于图4-8讨论的任何系统中/由以上关于图4-8讨论的任何系统执行。

参考图12a,类似于图10a和11a中分别示出的系统1000和1100,系统1200可包括物理主机计算系统1201,所述物理主机计算系统1201可包括具有gtp-u后台程序1205和gtp-cs11后台程序1203的主机内核。计算系统1201还可以包括接口11211、接口2120和接口31213。接口1211可以用于处理去往/来自mnoenodeb的gtp-uip分组1219、去往/来自mno的pgw的gtp-uip分组1223以及去往/来自mno的mme的gtp-cs11控制分组1221,这与图10a和11a中所示的接口1011和1111类似。接口1209可以用于处理来自用户设备的所有ip分组和返回到用户设备的内容ip分组,并可以通信地耦合到外部路由器1225(例如,商用ip和边界网关协议(bgp)路由器),进而该外部路由器1225可以通信地耦合到内容提供商路由器和/或服务器1215、1217。接口1213可以用于处理经由mno的pgw到因特网的用户设备ip分组,还可以通信地耦合到外部路由器1225。

外部路由器1225可以使用内容卸载网络接口通信地耦合到路由器1215、1217,通过该内容卸载网络接口可以传输去往/来自用户设备的协议邻居会话和卸载的内容流。路由器1225可以包括一个或更多个处理器,所述处理器可以执行ip路由查找和路由协议处理(凭借路由的ue网络地址转换范围可以由路由器1225确定)。具体地,路由器1225可以(经由内容卸载网络接口)使用特定的ip路由和使用到mno的pgw的默认(即0/0)路由来与路由器/服务器1215、1217通信地耦合。路由器1225可以经由系统1201的接口1209从/向用户设备接收/发送数据。

类似于图10a和11a,gtp-u后台程序1205和gtp-cs11后台程序1203可以使用gtpteid同步api接口通信地耦合,该api接口可用于传输数据,以执行数据分组的封装/解封装。分组1219和1223可以经由接口1211被接收,由后台程序1205的封装/解封装组件处理。控制分组1221可由后台程序1203经由接口1211接收。

图12b示出了根据本主题的一些实施方式的可由系统1200执行用于分组的路由的示例性过程1252。系统1200可首先确定是gtp分组到达“面向mno”接口还是ip分组到达“面向内容”接口,或者确定pgw的ueip分组是否从外部路由器到达。如果gtp分组到达面向mno接口,则系统1200可以执行处理操作1202-1212,1226-1234。如果ip分组从外部路由器到达,则可以执行操作1220-1224。如果ip分组到达面向内容接口,则系统1200可以执行处理操作1236-1250。

在1202处,在确定gtp分组已经到达面向mno接口时,则在1204处,可以确定gtp分组是否已经被从移动网络运营商的pgw发送。如果gtp分组被从移动网络运营商的pgw发送,则在1230处,系统1200可访问状态表以确定与gtp分组相关联的gtpteid是否存储在该表中。如果是,则在1232-1234处,可以将gtp分组转发到所确定的与ueteid相关联的enodeb。

在1230处如果确定gtp分组的gtpteid不在状态表中,则在1228处,可以丢弃gtp分组,且可以结束gtp分组的任何进一步的转发/传输。类似地,在1204处,如果确定gtp分组不是来自移动网络运营商的pgw,且在1206处,确定gtp分组不是被从移动网络运营商的enodeb发送的,则在1228处,还可以丢弃gtp分组,从而结束对gtp分组的进一步处理。

在1206处如果确定gtp分组是来自移动网络运营商的enodeb,则在1208处,可以确定gtpteid是否对应于源nat条目。如果存储的源nat条目不存在,则在1210处,系统1200可从条目池中将源nat条目分配给gtp分组的teid。否则,如果条目已经存在,则在1212处,gtp分组可被解封装,用户设备的源ip地址的转换可由系统1200执行。然后,在转换之后,在1226处,可以经由面向路由器的接口将ip分组提供给外部路由器,如图12a所示。

在1220处如果从外部路由器接口接收到去往mno的pgw的ueip分组,则在1222处,系统1200可以在用户设备nat表中执行与该分组相关联的源ip地址的查找,将源地址转换为原始用户设备源ip地址,并用已知的gtpteid和pgw目的信息对该原始用户设备源ip地址进行封装。然后,在1224处,gtp分组可经由面向mno接口被转发到所确定的移动网络提供商的pgw。

在1236处,如果在面向内容接口上接收到ip分组,则在1238处,系统1200可以执行对包含用户设备源nat范围的表的查找。在1240处,如果与所接收的ip分组相关联的路由不在用户设备源地址表中,则在1242处,可以丢弃该ip分组,并可以终止对该ip分组的任何进一步处理。在1240处,如果路由在用户设备源地址表中,则在1246处,系统1200可以确定分组的目的ip地址是否被分配给现有的teid转换。如果不是,则在1242处丢弃该ip分组。如果分组的目的ip地址已经被分配,则在1248处,系统1200可以将nat范围目的ip地址转换为用户设备目的地址,利用匹配的gtpteid对该用户设备目的地址进行封装,并将目的gtpip地址设置为目标enodeb。在1250处,在封装之后,可以使用面向mno接口将gtp分组转发到所确定的enodeb。

类型4系统

图13a和13b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统1330和过程1300。系统1330可以在lipa装置(例如lipa装置406)可以提供路由,但是没有网络地址转换(nat)功能的情况下实施。系统13300和过程1300可以并入到上面关于图4-8讨论的任何系统中/由上面关于图4-8讨论的任何系统执行。

参考图13a,系统1330可以包括物理主机计算系统1341,所述物理主机计算系统1341可以包括(类似于图10a)具有gtp-u后台程序1313、gtp-cs11后台程序1315、路由协议后台程序1137和内核路由表1319的主机内核。计算系统1341还可以包括接口11321和接口21323。接口1321可以用于处理去往/来自mno的enodeb和/或sgw的gtp-uip分组1329、去往/来自mno的pgw的gtp-uip分组1333以及去往/来自mno的mme的gtp-cs11控制分组1331。接口1323可以用于处理去往/来自用户设备的卸载的内容流以及处理与内容提供商路由器和/或服务器1325、1327的协议邻居会话。

gtp-u后台程序1313可以包括可执行gtp封装/解封装、确定ueteid状态的组件,还可以包括集成ip路由信息库(rib)。gtp-u后台程序1313和gtp-cs11后台程序1315可以使用gtpteid同步api接口通信地耦合,该api接口可以用于数据的传输,以执行数据分组的封装/解封装。分组1329和1333可以经由接口1321和内核路由表1319被接收,由后台程序1313封装/解封装组件处理。控制分组1331可以由后台程序1315经由接口1321和内核路由表1319接收。路由协议后台程序1317可以将协议rib数据推入到gtp-u后台程序1313的rib数据库。系统1330与系统1000(图10a中所示)的不同之处在于,系统1330不提供网络地址转换功能。

图13b示出了根据本发明的一些实施方式的可由系统1330(如图13a所示)执行用于分组的路由的示例性过程1300。系统1330可首先确定是gtp分组到达“面向mno”接口还是ip分组到达“面向内容”接口。如果是gtp分组到达面向mno接口,则系统1330可执行处理操作1302-1324。如果是ip分组到达面向内容接口,则系统1330可以执行处理操作1301-1309。

在1302处,在确定gtp分组已经到达面向mno接口时,可以确定gtp分组是否已经被从移动网络运营商的pgw发送。如果gtp分组被从移动网络运营商的pgw发送,则在1308处,系统1330可以执行典型的服务网关(sgw)的功能,将gtp分组转发到具有gtp分组的特定teid的enodeb。然后,在1310处,gtp分组可以使用面向mno接口被转发到所确定的与ueteid相关联的enodeb。

在1304处,如果确定gtp分组不是来自移动网络运营商的pgw,且在1306处,确定gtp分组不是被从移动网络运营商的enodeb发送的,则在1312处,还可以丢弃gtp分组,由此结束对gtp分组的进一步处理。

在1306处,如果确定gtp分组来自移动网络运营商的enodeb,则在1322处,系统1330可以确定gtp分组是否包含ip有效载荷。如果否,则在1322处,系统1330执行典型的服务网关的功能,将gtp分组转发到具有gtp分组的teid的pgw,且在1324处,可使用面向mno接口将gtp分组转发到所确定的pgw。

在1322处,如果gtp分组包含ip有效载荷,则在1314处,系统1330可以确定封装的用户设备的ip分组目的ip地址是否在卸载路由表中。如果不是,则系统1330可以执行如上所述的处理操作1322-1324。否则,在1316处,gtp分组可被解封装,在1318处,用户设备的ip分组可经由面向内容接口被转发到所指示的下一跳。

在1301处,如果在面向内容接口上接收到ip分组,则在1303处系统1330可确定内容ip分组的目的ip地址是包含在gtp会话表中还是包含在网络地址转换会话表中(类似于上文讨论的表)中。在该实施方式中,系统1330可以访问gtp状态表,以确定来自卸载源的目的ip是否匹配已知的uepdnip地址。如果是,如本文所讨论的,就像系统1330在执行nat过程一样,可以通过遵循类似的过程将分组递送到正确的ue。如果不是,则在1305处可以丢弃ip分组,并可以终止对ip分组的任何进一步处理。否则,在1307处,系统1330可以用gtp报头和用于用户设备的目的地址的相关联的teid值来封装内容ip分组。在1309处,在封装之后,可以使用面向mno接口将gtp分组转发到所确定的enodeb。

类型5系统

图14a和14b分别示出了根据本主题的一些实施方式的用于分组的卸载/路由的示例性系统1400和过程1452。系统1400可以用于在lipa装置(例如lipa装置406)提供单独的外部路由系统的实施方式中,该外部路由系统提供ip路由功能,但不提供nat功能。系统1400和过程1452可并入到以上关于图4-8讨论的任何系统中/由以上关于图4-8讨论的任何系统执行。

参考图14a,系统1400可以包括物理主机计算系统1401,该物理主机计算系统1401可以包括具有gtp-u后台程序1405和gtp-cs11后台程序1403的主机内核。计算系统1401还可以包括接口11411、接口21409和接口31413。接口1411可以用于处理去往/来自mnoenodeb的gtp-uip分组1419、去往/来自mno的pgw的gtp-uip分组1423以及去往/来自mno的mme的gtp-cs11控制分组1421。接口1409可以用于处理来自用户设备的所有ip分组和返回到用户设备的内容ip分组,可以通信地耦合到外部路由器1425(例如商用ip和bgp路由器),进而该外部路由器1425又可以通信地耦合到内容提供商路由器和/或服务器1415、1417。接口1413可以用于处理经由mno的pgw到因特网的用户设备ip分组,还可以通信地耦合到外部路由器1425。

外部路由器1425可以使用内容卸载网络接口通信地耦合到路由器1415、1417,通过该内容卸载网络接口可以发送去往/来自用户设备的协议邻居会话和卸载的内容流。路由器1425可以包括一个或更多个处理器,该处理器可以执行ip转发、网络地址转换和路由协议处理。具体地,路由器1425可以(经由内容卸载网络接口)使用特定ip路由和使用到mno的pgw的默认(即0/0)路由来与路由器/服务器1415、1417通信地耦合。路由器1425可以经由系统1401的接口1409从/向用户设备接收/发送数据。

gtp-u后台程序1405可以包括可以执行gtp封装/解封装以及确定ueteid和ip接入点名称(apn)状态的组件。gtp-u后台程序1405和gtp-cs11后台程序1403可以使用gtpteid同步api接口来通信地耦合,该api接口可以用于传输数据,以执行数据分组的封装/解封装。分组1419和1423可以经由接口1411被接收,由后台程序1405封装/解封装组件处理。控制分组1421可以由后台程序1403经由接口1411接收。

图14b示出了根据本主题的一些实施方式的可由系统1400执行以用于分组的路由的示例性过程1452。系统1400可以首先确定是gtp分组到达“面向mno”接口还是ip分组到达“面向内容”接口,或者确定去往pgw的ueip分组是否从外部路由器到达。如果gtp分组在面向mno接口上到达,则系统1400可以执行处理操作1402-1412、1424-1434。如果ip分组从外部路由器到达,则可以执行操作1420-1424。如果ip分组到达面向内容接口,则系统1400可以执行处理操作1436-1450。

在1402处,当确定gtp分组已到达面向mno接口时,在1404处,可以确定gtp分组是否已被从移动网络运营商的pgw发送。如果gtp分组被从移动网络运营商的pgw发送,则在1430处,系统1400可访问状态表,以确定与gtp分组相关联的gtpteid是否存储在该表中。如果是,则在1432-1434处,可以使用面向mno端口802将gtp分组转发到所确定的与ueteid相关联的enodeb。

在1430处,如果确定gtp分组的gtpteid不在状态表中,则在1428,可以丢弃gtp分组,并可以结束gtp分组的任何进一步的转发/传输。类似地,在1404处,如果确定gtp分组不是来自移动网络运营商的pgw,且在1406处,确定gtp分组不是被从移动网络运营商的enodeb发送的,则在1428处,还可以丢弃gtp分组,从而结束对gtp分组的进一步处理。

在1406处,如果确定gtp分组来自移动网络运营商的enodeb,则在1408处确定gtp隧道是否包含有效载荷ip信息。如果是,则在1412处,可以解封装gtp分组。然后,在解封装之后,在1426处,ip分组可以经由面向路由器的接口被发送到外部路由器(例如,路由器1425),如图14a所示。否则,在1424处,gtp分组可经由面向mno端口802被转发到所确定的移动网络运营商的pgw。

在1420处,如果从外部路由器接口接收到去往mno的pgw的ueip分组,则在1422处,系统1400可以在用户设备ip表(类似于上面讨论的gtp表)中执行与分组相关联的源ip地址的查找,并利用已知的gtpteid和pgw目的信息对该源ip地址进行封装。然后,在1424处,gtp分组可经由面向mno接口被转发到所确定的移动网络提供商的pgw。

在1436处,如果在面向内容接口上从外部路由器接口接收到(去往用户设备的)ip分组,则在1438处,系统1400可以执行包含目的ip地址的用户设备ip表的查找。在1446处,如果与所接收的ip分组相关联的路由不在用户设备ip表中,则在1442处,可以丢弃该ip分组,并可以终止对该ip分组的任何进一步处理。在1446处,如果路由在用户设备ip表中,则在1448处,系统1400可以利用匹配的gtpteid来对该路由进行封装,并将目的gtpip地址设置为目标enodeb。在1450处,在封装之后,可以使用面向mno接口将gtp分组转发到所确定的enodeb。

在一些实施方式中,本主题可以被配置为在系统1500中实施,如图15所示。系统1500可以包括处理器1510、存储器1520、存储设备1530和输入/输出设备1540中的一个或更多个。组件1510、1520、1530和1540中的每一个都可以使用系统总线1550来互连。处理器1510可以被配置为处理用于在系统600内执行的指令。在一些实施方式中,处理器1510可为单线程处理器。在可替代实施方式中,处理器1510可为多线程处理器。处理器1510还可以被配置为处理存储在存储器1520中或存储设备1530上的指令,所述指令包括通过输入/输出设备1540接收或发送信息。存储器1520可以在系统1500内存储信息。在一些实施方式中,存储器1520可以是计算机可读介质。在可替代实施方式中,存储器1520可以是易失性存储器单元。在又一些实施方式中,存储器1520可以是非易失性存储器单元。存储设备1530能够为系统1500提供大容量存储。在一些实施方式中,存储设备1530可以是计算机可读介质。在可替代实施方式中,存储设备1530可以是软盘设备、硬盘设备、光盘设备、磁带设备、非易失性固态存储器或任何其他类型的存储设备。输入/输出设备1540可以被配置为提供针对系统1500的输入/输出操作。在一些实施方式中,输入/输出设备1540可以包括键盘和/或定点设备。在可替代实施方式中,输入/输出设备1540可以包括用于显示图形用户接口的显示单元。

图16示出了根据本主题的一些实施方式的用于在通信系统(例如,长期演进通信系统)中的分组的路由的示例性方法1600。在1602处,接收分组,并确定分组的源。在1604处,基于所确定的源,可以确定用于分组的传输的转发路由,其中转发路由包括以下中的至少一个:已知的内容路由和默认的内容路由。

在一些实施方式中,本主题可以包括以下可选特征中的一个或更多个。分组可以由本地ip接入装置系统接收,该本地ip接入装置系统可以通信地耦合到由移动网络运营商(例如,enodeb、以太网交换机、回程网络、演进分组核心(包括sgw、pgw、pcrf、mme等)和至少一个内容提供商(例如,内容提供商服务器))运营的至少一个组件。由本地ip接入装置系统接收的分组可包括以下中的至少一个:从内容提供商接收的ip分组和从由移动网络运营商运营的至少一个组件接收的gtp组件。

如果分组是从由移动网络运营商运营的演进分组核心接收的gtp分组,则将该gtp分组转发到由移动网络运营商运营的enodeb。如果gtp分组是从由移动网络运营商运营的enodeb接收到的,则可以基于所确定的ip分组的封装的目的地址来检查和路由gtp分组中包含的(例如,来自通信地耦合到enodeb的用户设备的)至少一个封装的ip分组。路由包括确定是沿着已知的内容路由来路由分组还是默认的内容路由来路由分组。如果所确定的目的地址是已知的内容路由,则gtp分组可以被解封装,并可以执行网络地址转换,这使得ip分组被转发到内容提供商。否则,如果确定路由为默认的内容路由,则将gtp分组重新封装并发送到由移动网络运营商运营的演进分组核心。

如果分组是从内容提供商接收的ip分组,则将分组发送到与移动网络运营商运营的enodeb通信地耦合的用户设备。分组的传输可以使用gtpteid来执行,gtpteid可以由移动网络运营商(即,由移动网络运营商运营的演进分组核心的mme)来确定。

本文公开的系统和方法可以以各种形式实施,包括例如数据处理器(诸如还包括数据库、数字电子电路、固件、软件或它们的组合的计算机)。此外,本公开的实施方式的上述特征和其它各方面和原理可以在各种环境中实施。这样的环境和相关应用可以被专门构造为用于执行根据本公开的实施方式的各种过程和操作,或者这样的环境和相关应用可以包括由代码选择性地激活或重新配置以提供必要功能的通用计算机或计算平台。本文公开的过程不是固有地与任何特定的计算机、网络、架构、环境或其他装置相关,并且可以由硬件、软件和/或固件的适当组合来实现。例如,各种通用机器可以与根据本公开的实施方式的教导所编写的程序一起使用,或者可以更方便地构造专用装置或系统以执行所需的方法和技术。

本文公开的系统和方法可以实施为计算机程序产品(即,有形地呈现在信息载体中(例如,在机器可读存储设备中或在传播信号中的计算机程序))以由数据处理装置执行或控制数据处理装置的操作,例如所述数据处理装置为可编程处理器、计算机或多个计算机。计算机程序可以以任何形式的编程语言(包括编译或解释语言)编写,计算机程序可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适于在计算环境中使用的其他单元。计算机程序可以被部署为在一个计算机上执行,或者在一个站点处或分布在多个站点处并通过通信网络互连的多个计算机上执行。

如本文所使用的,术语“用户”可以指包括个人或计算机的任何实体。

尽管在一些情况下,诸如第一、第二等的序数可以涉及顺序;如在本文档中所使用的序数不一定暗示着顺序。例如,序数可仅用于将一个项目与另一个项目区分。例如,将第一事件与第二事件区分,但不需要暗示任何时间顺序或固定参考系统(使得在本说明书的一段中的第一事件可与在本说明书的另一段中的第一事件不同)。

前面的描述旨在说明而不是限制本发明的范围,本发明的范围由所附权利要求的范围限定。其它实施方式在所附权利要求的范围内。

这些计算机程序也可以被称为程序、软件、软件应用、应用、组件或代码,所述计算机程序包括用于可编程处理器的机器指令,并可以以高级程序化的和/或面向对象的编程语言和/或汇编/机器语言来实施。如本文所使用的,术语“机器可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器和可编程逻辑器件(pld)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。机器可读介质可以非暂时地存储这样的机器指令,例如机器可读介质为非暂时固态存储器或磁硬盘驱动器或任何等效存储介质等。机器可读介质可以替代地或附加地以暂时方式存储这样的机器指令,例如处理器高速缓存或与一个或更多个物理处理器核相关联的其他随机存取存储器。

为了提供与用户的交互,本文描述的主题可以在具有显示设备(例如用于向用户显示信息的阴极射线管(crt)或液晶显示器(lcd)监视器等)、键盘和定点设备(例如鼠标或跟踪球等)的计算机上实施,用户可以通过所述键盘和指示设备向计算机提供输入。也可以使用其它类型的设备来提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感觉反馈(例如视觉反馈、听觉反馈或触觉反馈);来自用户的输入可以以任何形式接收,包括但不限于声学、语音或触觉输入。

本文描述的主题可以在计算系统中实施,该计算系统包括后端组件(例如一个或更多个数据服务器等),或者包括中间件组件(例如一个或更多个应用服务器等),或者包括前端组件(例如具有(通过其用户可以与本文描述的主题的实施方式进行交互的)图形用户接口或web浏览器的一个或更多个客户端计算机),或者包括这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或数字数据通信的介质(诸如通信网络)互连。通信网络的示例包括但不限于局域网(lan)、广域网(wan)和因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常但不专有地彼此远离,通常通过通信网络交互。客户端和服务器的关系由在相应的计算机上运行且彼此具有客户端-服务器关系的计算机程序产生。

在以上描述中阐述的实施方式并不代表与本文描述的主题一致的所有实施方式。相反,它们仅仅是与涉及所描述的主题的各方面一致的一些示例。尽管上面已经详细描述了一些变化,但是其它修改或附加也是可能的。特别地,除了本文所阐述的那些之外,可以提供另外的特征和/或变型。例如,上述实施方式可以涉及所公开的特征的各种组合和子组合和/或上述公开的若干其他特征的组合和子组合。另外,附图中描绘和/或本文描述的逻辑流程不一定需要所示的特定顺序或连续顺序来实现期望的结果。其它实施方式可以在所附权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1