掌桥专利:专业的专利平台
掌桥专利
首页

用于以最低成本满足业务流可用性目标的网络随机跨层优化

文献发布时间:2023-06-19 13:48:08


用于以最低成本满足业务流可用性目标的网络随机跨层优化

本申请属于申请日为2016年7月1日的中国发明专利申请No.201680034266.5的分案申请。

本申请要求于2015年10月26日提交的题为“用于以最低成本满足业务流可用性目标的网络随机跨层优化(NETWORK STOCHASTIC CROSS-LAYER OPTIMIZATION FOR MEETINGTRAFFIC FLOW AVAILABILITY TARGET AT MINIMUM COST)”的美国专利申请No.14/922,905的优先权,上述申请则要求于2015年07月09日提交的题为“用于以最低成本满足业务流可用性目标的网络随机跨层优化(NETWORK STOCHASTIC CROSS-LAYER OPTIMIZATION FORMEETING TRAFFIC FLOW AVAILABILITY TARGET AT MINIMUM COST)”的美国临时专利申请No.62/190,553的优先权,以上两份申请都被转让给受让人并且被通过引用合并于此。

技术领域

本公开涉及用于以最低成本满足业务流可用性目标的网络随机跨层优化。

背景技术

大规模网络被设计为满足不同的服务目的。网络设计针对每种服务目的进行单独优化。通常,优化基于用户的过往经验和判断以人工方式完成,并且经常导致过度配备的网络。随着网络规模的扩大,网络的过度配备代表着网络所有者的显著成本。

发明内容

根据本公开的一个方面,一种用于设计网络的方法包括生成能够满足业务需求的最低货币成本网络模型。响应于均定义网络成本、物理层特征或逻辑层特征之一的变量集合,定义来自所述变量集合中的至少两个变量之间的关系的约束集合,以及降低所述最低货币成本网络模型所定义的网络的货币成本的目的,生成所述最低货币成本网络。所述方法还包括生成优化网络故障集合(F

根据本公开的另一个方面,一种用于设计网络的系统包括存储处理器可执行指令的计算机可读介质以及至少一个处理器。所述处理器可执行指令的执行使得所述至少一个处理器生成能够满足业务需求的最低货币成本网络模型。响应于均定义网络成本、物理层特征或逻辑层特征之一的变量集合,定义来自所述变量集合中的至少两个变量之间的关系的约束集合,以及降低所述最低货币成本网络模型所定义的网络的货币成本的目的,生成所述最低货币成本网络。所述处理器可执行指令的执行使得所述至少一个处理器生成优化网络故障集合F

根据本公开的另一个方面,一种计算机可读介质包括用于设计网络的指令。所述指令的执行使得处理器生成能够满足业务需求的最低货币成本网络模型。响应于均定义网络成本、物理层特征或逻辑层特征之一的变量集合,定义来自所述变量集合中的至少两个变量之间的关系的约束集合,以及降低所述最低货币成本网络模型所定义的网络的货币成本的目的,生成所述最低货币成本网络。所述处理器可执行指令的执行使得所述处理器生成优化网络故障集合F

以上总体描述以及以下对附图的描述和详细文字描述是示例性和解释性的,并且意在提供对如所请求保护的方面的进一步解释。从以下对附图的简要描述以及对本发明的详细描述中,其它的目的、优势和新颖特征对于本领域技术人员而言将是显而易见的。

附图说明

本领域技术人员将会理解的是,本文所描述的附图仅是出于说明的目的。所要理解的是,在一些实例中,所描述实施方式的各个方面可以以有所夸张或放大的方式被示出从而促进对所描述实施方式的理解。在图中,同样的附图标记在各附图中一般指代同样的特征、功能相似或结构相似的要素。附图并不一定依比例绘制,而是强调对教导的原理加以图示。附图并非意在以任何方式限制本教导的范围。所述系统和方法能够通过参考以下附图的说明性描述而更好地被理解,其中:

图1A图示了网络的示例物理拓扑的框图。

图1B图示了在图1A所示的网络的物理拓扑上实现的示例逻辑拓扑的框图。

图2图示了示例网络管理器的框图。

图3图示了用于使用图2所示的示例网络管理器来设计网络的示例方法的流程图。

具体实施方式

上文所介绍以及下文更详细讨论的各种概念可以以任意的多种方式来实施,因为所描述的概念并不局限于任何特定方式的实施方式。具体实施方式和应用的示例主要是出于说明的目的而提供。

本公开描述了用于网络规划的系统和方法。所述系统和方法能够整合网络业务需求、可用性要求、延时、物理基础设施和联网设备能力以及详细成本结构来计算具有最低或者与常规方法相比有所降低的成本的网络设计。在一些实施方式中,所述方法包括提供初始的确定性故障集合,并且随后连续执行网络优化和网络可用性仿真来确定哪些故障对于网络模型的性能影响最大。具有高度影响的故障随后可以被提供回系统,所述系统在降低网络成本的同时生成有所改善的网络模型。

图1A图示了示例网络100的示例物理拓扑的框图。网络100包括高层节点102(1)–102(3)(总体上称作高层节点102)和低层节点106(1)–106(3)(总体上称作低层节点106)。高层节点102通过交换机104(1)和104(2)(总体上称作交换机104)耦合至低层节点106。高层节点102和低层节点106通过物理链路108耦合至交换机104。

在一些实施方式中,交换机104是波长选择交换机或其它类型的交换机,诸如光电路交换机(OCS)。每个交换机104包括高层节点102耦合到的多个北端口以及低层节点106耦合到的多个南端口。交换机104内的北端口和南端口的互连是可配置的,并且北端口和南端口的互连确定了高层和低层节点如何互连。在一些实施方式中,物理拓扑被称作L1拓扑,这是指开放系统互连(OSI)栈中的第一层级。

图1B图示了在网络100的物理拓扑上实施的示例逻辑拓扑150的框图。逻辑拓扑150确定了高层节点102如何跨交换机104所创建的网络100与低层节点106进行通信。例如,交换机104之一将高层节点102(1)耦合至低层节点106(1),并且其它交换机104将高层节点102(1)耦合至低层节点106(3)。逻辑链路112形成逻辑拓扑150内的高层节点102和低层节点106之间的连接。网络100的物理拓扑与逻辑拓扑150之间的映射可以被称作跨层网络拓扑。在一些实施方式中,逻辑拓扑被称作L3拓扑,这是指开放系统互连(OSI)栈中的第三层级。

图2图示了示例网络管理器200的框图。网络管理器200包括被配置为生成网络的物理拓扑和网络的逻辑拓扑之间的跨层映射的跨层拓扑管理器202。网络管理器200还包括被配置为针对物理拓扑中的每个链路生成随机故障的故障生成器204。网络管理器200包括接收跨层拓扑管理器202和故障生成器所生成或接收的数据的流量工程(TE)仿真器206,并且计算L1和L3拓扑模型所定义的网络是否能够满足业务需求。

网络管理器200由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))和/或通用计算设备来实施。网络管理器200除硬件之外还可以包括存储在计算机可读介质上的代码,所述代码在被执行时使得网络管理器200执行本文所描述的一种或多种方法。

网络管理器200的故障生成器204生成会在网络中出现的可能故障的组合。每个可能故障可以被称作故障样本,并且包括物理网络中的一个或多个链路和其它网络设备的故障。在一些实施方式中,故障生成器204接受过往故障数据,例如链路或网络设备将会在指定时间发生故障的概率。在一些实施方式中,故障生成器204所生成的可能故障是基于过往故障数据最可能在网络中发生的故障。在其它实施方式中,故障生成器204能够接收用于生成可能故障的用户指令。例如,用户可能希望运行“what-if分析”来确定发生具体故障的情况下的后果。在这些情况下,用户能够向故障生成器204指示哪些链路和网络设备将会发生故障以及它们将会如何发生故障。

网络管理器200的TE仿真器206是从跨层拓扑管理器202、故障生成器204以及其它源接收数据以计算跨逻辑层模型的哪些需求被满足而哪些未被满足的流量工程仿真器。

作为概述,网络管理器200的跨层拓扑管理器202被配置为生成物理拓扑模型、逻辑拓扑模型和跨层拓扑,所述跨层拓扑是网络的逻辑和物理层之间的映射。在一些实施方式中,生成物理拓扑模型、逻辑拓扑模型和跨层拓扑被称作“计算网络”。跨层拓扑管理器202被配置为计算降低网络的整体成本但是使得所述网络能够满足可用性、延时和带宽要求的网络。在一些实施方式中,跨层拓扑管理器202包括混合整数线性问题求解器以用于计算满足多种约束的成本有所降低的网络。在一些实施方式中,线性问题在计算上没有混合整数线性问题复杂,并且跨层拓扑管理器202通过针对线性问题进行求解并且将结果向上取整为最接近的整数来近似混合整数线性问题的结果。例如,使用线性问题可以得到具有少量硬件组件的网络设计。作为示例,跨层拓扑管理器202可以设计出包括129.4个机架的网络。跨层拓扑管理器202随后将该结果向上取整而使得它们能够在物理上实现——例如,129.4个机架将被实现为130个机架。

在计算网络时,跨层拓扑管理器202接收拓扑数据、容量数据、延时数据、设备数据、可用性数据或者它们的组合作为约束。例如,在开发降低整体成本的网络模型时,跨层拓扑管理器202接收有关网络的物理结构的信息。有关物理层的信息可以包括光纤是自有的还是从其它提供商租用的。租用和自有光纤在生成成本有所降低的跨层拓扑时被分开考虑,因为自有光纤与租用光纤相比包括附加成本,诸如安装和维护光纤的成本。维护光纤的成本还可以包括运营光纤所需要的诸如机架、机箱、光学共用器(optical commons)、线卡、在线放大器之类的附加设备的成本,并且还可以包括电气成本。跨层拓扑管理器202在计算网络模型之前还从故障生成器204生成故障集合。在一些实施方式中,故障根据网络的现有故障策略而生成。在其它实施方式中,通过将故障概率纳入考虑的网络仿真来生成故障。

跨层拓扑管理器202基于提供至跨层拓扑管理器202的变量和约束的列表来生成线性规划模型。以降低或最小化网络的货币成本为目的,跨层拓扑管理器202在给定所述变量和约束的列表的情况下求解所述线性规划模型。变量的集合包括定义网络成本、物理层特征或逻辑层特征的变量。示例的网络成本变量可以包括购买机架的成本或者通过租用光纤传送数据的成本。示例的物理层特征变量可以包括物理路由器所具有的端口数量,而示例的逻辑层变量可以包括逻辑链路的容量。网络管理器200的跨层拓扑管理器202可以实现到整数线性规划模型中的变量列表包括:每个自有光纤的指示所述自有光纤是否有源的布尔变量;每个L1节点的指示所述L1节点是否来自预定制造商的布尔变量;与每个相应制造商相关联的指示由所述相应制造商所提供的每个L1节点处的机箱数量的非负整数变量;每个L1节点的指示预定制造商的所述L1节点处的机架数量的非负整数变量;每个L1节点的指示所述L1节点是否包括预定制造商的光学共用器的布尔变量;每个L1节点的指示预定制造商的所述L1节点处的用于上/下路的线卡数量的非负整数变量;每个L1节点的指示是否在预定制造商的所述L1节点处再生了子链路的布尔变量;每个L1节点的指示预定制造商的所述L1节点处用于再生的线卡数量的非负整数变量;每个子链路的指示所述子链路所使用的租用光纤数量的非负整数变量;每个子链路的指示所述子链路在L3节点上所占用的端口数量的非负整数变量;每个链路的指示子链路是否被使用的布尔变量;指示链路容量的非负连续变量;每个子链路的指示子链路容量的非负连续变量;指示业务量的非负连续变量;以及它们的任意组合。

所述约束定义了以上所描述变量中的至少两个之间的关系。网络管理器200的跨层拓扑管理器202可以将其实现到整数线性规划模型中的约束的列表包括:如果使用子链路,则相应的链路被认为也被使用;如果节点并非可重构的光分插复用器(ROADM)并且已经使用了链路,则所述节点是中间线路放大器(ILA);如果节点是ROADM,则它的所有链路都具有光学共用器;如果节点具有大于3的度,则所述节点是ROADM;如果链路在L1节点处需要上/下路,则具有上/下路的线卡的数量大于或等于所述链路的容量除以单个线卡的带宽;链路在所述链路包括正数数量的租用光纤或线卡的情况下认为被使用;在复用器或解复用器(例如,ROADM)处发生上路、下路和再生;在光纤链路超过光纤到达范围时需要再生;如果子链路在L1节点再生,则实现所述子链路所需的线卡的数量大于或等于所述子链路的容量除以每个线卡的带宽容量;每个线卡和光学共用器被要求处于机箱中并且每个机箱容纳预定数量的线卡或光学共用器;每个光学共用器的每个度要求至少一个机架;每个机箱被要求处于机架中并且每个机架容纳预定数量的机箱;每个路由器必须具有比与之连接的物理链路更多(或者至少具有相同数量)的端口;物理层中的每个节点必须具有比与之连接的物理链路更多(或者至少具有相同数量)的端口;每条链路的容量被所述链路的子链路的容量之和限制;租用光纤的数量具有等于或大于行经所述租用光纤的子链路的容量之和的容量;针对每个故障,通过链路的流量小于所述链路的容量;针对每个故障、每个流以及每个节点,除了流的源和宿之外,节点的传入流量等于所述节点的传出流量,其中传入流和传出流的差异等于(负)需求;或者它们的任意组合。

使用以上的约束和变量,跨层拓扑管理器202能够通过求解线性规划而计算出降低实施网络的成本的网络模型,所述线性规划使得如将运营中对每条光纤进行运营的总成本、每个ILA L1节点的总成本、多个所需机架中的每一个的总成本、光学共用器的总成本、上/下路所需线卡的总成本、再生所需的线卡的总成本的两倍、通过租用线路的数据传输的总成本、以及用于向每个物理链路提供端口的路由器的成本相加在一起的等式所提供的成本最小化。

以程序方式,以上所描述的提供给跨层拓扑管理器202的目的可以被输入为:

sum{fiber}FiberLightingCost(fiber)*islitvar(fiber)

+sum{l1node,vendor}ILACost*isilavar(l1node,vendor)

+sum{l1node,vendor}ChassisCost(vendor)*numchassisvar(l1node,vendor)

+sum{l1node,vendor}RackCost(vendor)*numracksvar(l1node,vendor)

+sum{fiber,l1node,vendor}OpticalCommonsCost(vendor)*hasopticalcommonsvar_(fiber,l1node,vendor)

+sum{link,l1node,vendor}LineCardForAddDropCost(vendor)*numlinecardsadddropvar_(link,l1node,vendor)

+sum{sublink,l1node,vendor}2*LineCardForRegenCost(vendor)*numlinecardsregenonesidevar(sublink,l1node,vendor)

+sum{sublink,leasedwave}LeasedWaveCost(leasedwave)*numleasedwavesvar(sublink,leasedwave)

+sum{sublink,l3node}PortCost(l3node)*numportsvar(sublink,l3node)

在一些实施方式中,为了改善本文所描述的方法的可扩展性,跨层拓扑管理器202能够近似以上所描述的变量和约束或者包括对以上所描述的变量的附加的约束和限制。例如,在生成L1路径时,跨层拓扑管理器202能够通过使用包括迭代地去除所计算路径的边的最短路径算法并且随后重新计算所述边被去除的路径来减少所考虑路径的数量。在其它实施方式中,通过不考虑在预定阈值以上的路径来减少所考虑路径的数量。

在一些实施方式中,为了改善可扩展性,跨层拓扑管理器202假设链路的每个子链路具有相同的路径。由于子链路被假设具有相同的路径,所以影响所述链路的故障导致每个子链路的总故障。在其它实施方式中,链路的子链路具有不同的路径,这使得所述链路能够在支持所述链路的子链路的一部分的一条物理链路中发生故障时以有所减小的容量进行操作。在这些实施方式中,跨层拓扑管理器202还包括遵循不同路径的子链路之间的延时在预定阈值以下的约束。

在一些实施方式中,链路的数量受到约束。一对节点能够通过多条链路进行链接,并且所述多条链路中的每一个可以由多条不同的子链路来实现。在物理环境中,能够将两个节点耦合在一起的链路的数量可能由于维护、配置或空间的考虑而受到限制。为了考虑这些物理因素,在一些实施方式中,节点对之间的并行链路的数量被约束所限制。

在一些实施方式中,增加了地理约束。所述地理约束通过限制针对网络的一部分的计算中所包括的链路来减少通过网络的可能光纤路径的数量。在跨层拓扑管理器202所进行的后续计算中,对网络的剩余部分进行分析。

在一些实施方式中,网络的每个故障、流、链路和方向与变量相关联。为了减少变量的数量,在一些实施方式中,节点对之间的并行物理链路被作为单个“兆链路(megalink)”被分组在一起。

在一些实施方式中,在节点对之间并行行进的物理链路上施加附加的约束。例如,可以针对主路径和辅路径设置辅路径的延时大于主路径的延时的约束。并行链路的附加约束可以包括网络中不存在其延时大于主路径的延时且小于辅路径的延时的路径的约束。在一些实施方式中,增加了流经网络的流量仅沿有限数量的路径进行路由以及所述流量沿所述有限数量的路径被均匀分割的约束。

在一些实施方式中,流是延时敏感的,并且基于延时的约束被整合到跨层拓扑管理器202所求解的线性规划中。例如,基于延时的约束能够对经过网络的流的平均延时加以限制。在一些实施方式中,通过去除包括大幅绕行(这会导致大的延时)的路径而减少变量的数量。在一些实施方式中,流沿着预定数量的路径之一进行路由。在这些实施方式中,并非所述预定数量的路径之一的可能路径被丢弃从而减少线性规划中的变量数量。

在一些实施方式中,跨层拓扑管理器202通过从由其它故障所主导的计算中去除故障来降低所计算的线性规划的计算复杂度。例如,如果第一故障仅对被第二故障所影响的链路的一部分有所影响并且所述第二故障导致更大数量的网络容量的损失,则所述第一故障由所述第二故障主导。在这些实施方式中,所述第一故障并未包括在跨层拓扑管理器202所执行的网络优化中。

在一些实施方式中,通过将单源多目的地的流分解为单源单目的地的流来提高跨层拓扑管理器202的计算效率。在对流分解之后,具有相同目的地的被分解流随后被合并。如果网络具有N个节点并且从每个节点到每个其它节点都存在流(全网状),则分解过程将变量总数减少了(N-1)。所述流能够通过在具有负的传出流的目的地节点开始并且沿着从所述目的地到单个源的路径向后行进而被分解。沿所述向后路径的最小流被选择。沿所述路径的单源多目的地流被减少以所选择的最小流,这导致至少一条链路不再承载流。重复该过程直至每个单源多目的地的流都被完全分解。

在一些实施方式中,通过将小的、长的流整合到更大、更短的流的序列之中来提高跨层拓扑管理器202的计算效率。例如,考虑包括从节点A到节点B的一个短的、大的流(例如,100个流单元),从节点B到节点C的一个短的、大的流,以及从节点A到节点C的长的、小的流(例如,1个流单元)的网络。通过将所述三个流建模为包括从节点A到节点B的具有101个流单元的第一流以及从节点B到节点C的具有101个流单元的第二流来降低计算复杂度。

图3图示了用于设计网络的示例方法300的流程图。方法300包括生成能够满足给定业务需求集合的初始网络模型(步骤302)。方法300包括生成优化故障集合(F

如上文所给出的,方法300包括生成初始网络模型以满足给定业务需求集合(步骤302)。在一些实施方式中,生成所述初始网络模型包括生成物理拓扑、逻辑拓扑、以及将所述逻辑拓扑映射至所述物理拓扑的跨层拓扑的模型。所述网络模型被生成为在所述网络未经历任何类型的故障时满足业务需求。

所述方法包括生成优化故障集合(F

接下来且同样参考图2,计算新的最低货币成本网络(步骤306)。所述最低货币成本网络通过将优化故障集合(F

方法300还包括生成随机故障集合(F

接下来,方法300包括确定所述最低货币成本网络在所述最低成本网络经历随机故障集合(F

如果流并不满足所要求的可用性,则方法300包括从随机故障集合(F

方法300还包括将从随机故障集合(F

在一些实施方式中,如上文所描述的,故障集合在最低成本网络的计算之外进行选择。例如,方法300最初被提供固定故障集合,所述固定故障集合在仿真每次发现网络模型无法支持的故障之后进行更新。

在其它实施方式中,故障集合在最低成本网络的计算期间进行选择——这提供了一种用于计算最低货币成本网络模型的闭环方法。在这些实施方式中,跨层拓扑管理器202最初被提供以用于计算最低成本网络模型的故障集合、所述故障集合中的每个故障的发生概率以及多个流中的每一个的目标可用性。所述故障集合中的每个故障被随机生成,例如,将每个故障的发生视为独立的随机变量。跨层拓扑管理器202随后生成最低货币成本网络模型使得在故障集合中的所有故障下多个流中的每一个都被满足的概率大于所述多个流中的每一个的相应目标可用性。例如,如果流具有95%的目标可用性,则生成网络模型使得所述流在其概率相加达到至少95%的故障期间是可用的。注意到,跨层拓扑并不需要对网络进行修改来确保所有流在所有故障集合中的可用性,而仅是确保充分数量的故障集合来满足每个流的预定目标可用性。接下来,最低成本网络的计算被建模为两个阶段的随机整数程序,其中第一阶段决策是长期容量规划决策(例如,链路的容量、L3/L1映射、光纤点亮、硬件部署),而第二阶段决策则是每个故障情形期间的流路由的实时决策。随后使用机会约束来迫使流需求在故障集合的故障子集的情况下得以满足,其中所述流在故障子集下被满足的概率大于或等于目标可用性。

在一些实施方式中,当链路和节点故障发生时,可能需要数分钟来生成新的端对端路径。然而,对链路的一部分进行局部修复则能够通过将路径的所述部分在绕过故障链路或节点的备用隧道上进行重新路由来实现。与生成新的端对端路径相比,在局部修复路径的所述部分能够更快地进行(例如,在不足50毫秒的时间帧内)。

当发生链路或节点故障时,与故障相邻的节点能够开始通过备用路径转发业务,期望所述备用路径具有支持新业务所需的带宽。在一些实施方式中,所述备用路径是局部备用路径,这是绕过故障的最短路径(或基本上最短的路径)。与生成新的端对端路径相比,所述局部备用路径提供了相对更快的修复(例如,在不足50毫秒的时间帧内)。

在一些实施方式中,备用路径被整合到最低成本网络模型中。被添加至最低成本网络以支持备用路径的附加带宽量被称作重新路由税。将备用路径整合到最低成本网络模型中以如上文关于方法300所描述的生成最低成本网络为开始。在一些实施方式中,针对最低成本网络中的每个可能的网络故障识别出备用路径。在一些其它实施方式中,仅针对可能网络故障的子集来识别备用路径。如果备用路径无法支持其正常业务和重新路由业务,则计算沿备用路径所需的附加带宽量并且将所述附加带宽添加至最低成本网络模型中的备用路径。对所计算的每个故障所需的附加带宽进行求和提供了网络的重新路由税。在一些实施方式中,仅针对承载高优先级业务——例如具有高可用性要求的业务——的路径生成备用路径。

在一些实施方式中,以上所描述的方法300能够提供多个最低成本网络。例如,方法300能够多次运行,在每次运行期间都能够在步骤308提供不同的随机故障集合,这会使得方法300生成不同的最低成本网络模型。在这些实施方式中,能够通过确定哪个最低成本网络在重新路由税被整合到网络总成本之中时具有最低成本而从多次运行所生成的多个最低成本网络中选择最终的最低成本网络。例如,第一最低成本网络可以具有成本X,其稍低于第二最低成本网络的成本Y;然而,第一最低成本网络的重新路由税T

该说明书中所描述的主题和操作能够以数字电子电路来实现,或者以计算机软件、固件或硬件(包括在该说明书中所公开的结构及其结构等同物)来实现,或者以它们中一个或多个的组合来实现。该说明书中所公开主题的实施例能够被实现为一个或多个计算机程序,例如编码在一个或多个计算机存储介质上以便由数据处理装置执行或者控制其操作的一个或多个计算机程序指令模块。

计算机可读介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或者它们中一个或多个的组合,或者包括于其中。此外,虽然计算机可读介质并不是传播信号,但是计算机存储介质可以是被编码在人为生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的组件或媒体(例如,多个CD、碟片或其它存储设备),或者包括于其中。因此,计算机存储介质可以是有形且非瞬态的。

能够由数据处理装置对一个或多个计算机可读存储设备上所存储或者从其它来源所接收的数据执行该说明书中所描述的操作。术语“数据处理装置”或“计算设备”包含用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机、片上系统或者多个处理器,或者前述的组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机、或者它们中的一个或多个的组合的代码。该装置和执行环境能够实现各种不同的计算模型架构,诸如web服务、分布式计算和网格计算架构。

计算机程序(也被称作程序、软件、软件应用、脚本或代码)能够以任意形式的编程语言进行编写,包括编译或解释语言、声明或过程语言,并且其可以以任意形式部署,包括作为独立程序或者作为适于在计算环境中使用的模块、组件、子程序、对象或其它单元。计算机程序可以对应于文件系统中的文件,但是并非需要如此。程序可以存储在保存其它程序或数据(例如,标记语言文档中所存储的一个或多个脚本)的文件的一部分之中,存储在专用于所讨论程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序能够被部署为在一台计算机上执行或者在位于一个地点或跨多个地点分布并且通过通信网络进行互连的多台计算机上执行。

作为示例,适于执行计算机程序的处理器包括通用和专用微处理器,以及任意类型的计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或者其二者接收指令和数据。计算机的基本部件是用于执行指令的中央处理器以及用于存储指令和数据的一个或多个存储器。通常,计算机还将包括一个或多个用于存储数据的大型存储设备,或者计算机可操作地耦合为从所述大型存储设备接收数据或者向其传送数据,或者二者,所述大型存储设备例如磁、磁光盘或光盘。然而,计算机无需具有这样的设备。

虽然该说明书包含许多具体实施细节,但是这些并不应当被理解为对任何发明以及所要求保护的内容的范围进行限制,而是作为特定于特定发明的特定实施例的特征的描述。该说明书中以单独实施例为背景进行描述的某些特征也能够在单个实施例中以组合形式来实现。相反,以单个实施例为背景进行描述的各种特征也能够单独或以任意适当子组合在多个实施例中实现。此外,虽然特征在上文中可以被描述为以某种组合起作用并且甚至最初要求如此,但是来自所要求保护的组合的一个或多个特征在一些情况下可以脱离该组合,并且所要求保护的组合可以针对子组合或子组合的变型。

类似地,虽然操作在图中以特定顺序进行描绘,但是这并不应当被理解为要求这样的操作以所示出的特定顺序或以连续顺序来执行,或者所有所图示的操作都要被执行以实现所期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,以上所描述实施例中的各种系统组件的分离并不应当被理解为在所有实施例中都要求这样的分离,并且应当理解的是,所描述的程序组件和系统通常在单个产品中集成在一起或者被封装到多个产品中。

因此,已经对该主题的特定实施方式进行了描述。其它实施方式处于以下权利要求的范围之内。例如,权利要求中所引用的动作可以以不同顺序来执行并且仍然实现所期望的结果。作为一个示例,附图中所描绘的过程并非必然要求所示出的特定顺序或连续顺序以实现所期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

技术分类

06120113818882