一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在计算机网络中建立虚拟网络路由的制作方法

2022-03-19 18:35:17 来源:中国专利 TAG:

在计算机网络中建立虚拟网络路由
1.相关申请案交叉申请
2.本发明要求2017年12月6日递交的发明名称为“在计算机网络中建立虚拟网络路由”的第15/832,984号美国非临时专利申请案的在先申请优先权,该在先申请的全部内容以引入的方式并入本文。
技术领域
3.本发明涉及在计算机网络中建立虚拟网络路由。


背景技术:

4.在网络计算背景中,可以实现网络虚拟化以将计算网络、硬件和软件网络资源以及网络功能组合成基于软件的单个管理实体。服务提供商可以使用网络虚拟化向其客户提供一个或多个虚拟网络(virtual network,vn)。每个vn提供用于在客户网络中源节点和目的节点之间传输数据包的网络服务。网络服务的示例可以包括连接、加密、数据存储和操作以及应用级服务。vn可以使用服务提供商网络中的计算资源来实现,服务提供商网络包括例如一个或多个计算节点。通过网络虚拟化,这些计算资源可以在不同的vn之间共享。在一些情况下,vn可以是虚拟私有网络(virtual private network,vpn),其在vn上提供安全功能。vpn可以使用通过加密、认证或其组合保护的安全隧道来实现。


技术实现要素:

5.本发明描述了在计算机网络中建立虚拟网络路由。
6.在第一种实现方式中,一种建立虚拟网络(virtual network,vn)路由的计算机实现的方法,包括:在软件定义网络(software defined networking,sdn)控制器处接收来自客户网络的第一路由请求,其中,所述第一路由请求包括vn的目的地址和与所述vn的第一服务相关联的第一服务质量(quality of service,qos)指示;所述sdn控制器基于所述第一qos指示和所述目的地址确定提供商网络中的第一vn路由;所述sdn控制器将第一vn标签与所述第一vn路由相关联;从所述sdn控制器向所述客户网络发送第一路由响应,其中,所述第一路由响应包括所述第一vn标签;从所述sdn控制器向所述提供商网络的边缘路由器发送所述第一vn标签和指示所述第一vn路由的第一路由信息。
7.在第二种实现方式中,一种根据不同的虚拟网络(virtual network,vn)路由对数据包进行路由的计算机实现的方法包括:在提供商网络的边缘路由器处接收来自软件定义网络(software defined networking,sdn)控制器的第一vn标签和指示第一vn路由的第一路由信息;在所述边缘路由器处接收来自客户网络的第一数据包,其中,所述第一数据包包括第一元数据字段,所述第一元数据字段指示所述第一数据包与所述第一vn标签相关联;根据所述第一vn路由对所述第一数据包进行路由。
8.在第三种实现方式中,一种软件定义网络(software defined networking,sdn)控制器包括:包含指令的非瞬时性存储器;以及与所述存储器进行通信的一个或多个硬件
处理器,其中,所述一个或多个硬件处理器执行所述指令以:从客户网络接收第一路由请求,其中,所述第一路由请求包括虚拟网络(virtual network,vn)的目的地址和与所述vn的第一服务相关联的第一服务质量(quality of service,qos)指示;基于所述第一qos指示和所述目的地址确定提供商网络中的第一vn路由;将第一vn标签与所述第一vn路由相关联;向所述客户网络发送第一路由响应,其中,所述第一路由响应包括所述第一vn标签;从所述sdn控制器向所述提供商网络的边缘路由器发送所述第一vn标签和指示所述第一vn路由的第一路由信息。
9.前述实现方式可使用计算机实现的方法,存储计算机可读指令以执行计算机实现的方法的非瞬时性计算机可读介质,以及包括与硬件处理器可互操作耦合的计算机存储器的计算机实现的系统来实现,其中,硬件处理器用于执行计算机实现的方法和存储在非瞬时性计算机可读介质上的指令。
10.本文中标的物的一个或多个实现方式的细节在附图和说明书中阐述。标的物的其他特征、方面和优点将在说明书、附图和权利要求中显而易见。
附图说明
11.图1示出了根据一实现方式的在虚拟网络(virtual network,vn)上传输数据包的示例性通信系统。
12.图2示出了根据一实现方式的建立vn路由的示例性流程的流程图。
13.图3示出了根据一实现方式的第一数据包的示例性格式的示意图。
14.图4示出了根据一实现方式的网络服务报头(network service header,nsh)的示例性格式的示意图。
15.图5示出了根据一实现方式的示例性pcinitiate消息的伪代码。
16.图6示出了根据一实现方式的示例性转发规则对象。
17.图7示出了根据一实现方式的示例性计算机系统的框图,所述计算机系统用于提供与本发明所描述的算法、方法、功能、流程、流和过程相关联的计算功能。
18.图8(包括图8a和图8b)示出了根据一实现方式的建立vn路由的示例性方法的流程图。
19.图9示出了根据一实现方式的根据不同的vn路由对数据包进行路由的示例性方法的流程图。
20.图10示出了根据一实现方式的本发明所描述的软件定义网络(software defined networking,sdn)控制器的示例性结构的示意图。
21.图11示出了根据一实现方式的本发明所描述的提供商网络的边缘路由器的示例性结构的示意图。
22.在各附图中,类似的参考编号和标识表示类似的元素。
具体实施方式
23.以下详细说明描述了在计算机网络中建立虚拟网络路由,旨在使本领域技术人员能够在一个或多个特定实现方式的上下文中制作和使用所公开的标的物。
24.可以对所公开的实现方式进行各种修改、变更和排列,这些修改、变更和排列对于
本领域的普通技术人员是显而易见的,并且所定义的一般原则可以应用于其他实现方式和应用,而不脱离本发明范围。在一些实例中,对所描述的标的物的理解非必要的细节可以省略,以避免非必要的细节模糊一个或多个所描述的实现方式,因为此类细节属于本领域普通技术人员的技术范围。本发明并非旨在限于所描述或示出的实现方式,而是具有与所描述的原则和特征一致的最广泛的范围。
25.在一些情况下,vn服务可以由提供商网络提供。提供商网络可以由电信公司、数据运营商、无线通信提供商、因特网服务提供商、有线电视运营商等服务提供商拥有、运营或同时拥有和运营。提供商网络可以在提供商网络中提供数据传输路由,为vn进行数据包路由。数据传输路由可以称为vn路由或vn路径。在一些情况下,vn可用于提供虚拟私有网络(vpn)连接,vn路由或vn路径也可以称为vpn路由或vpn路径。vn路由可以与vn的端点相关联。在一些情况下,提供商网络可以使用多协议标签交换(multiprotocol label switching,mpls)协议来实现。在这些或其他情况下,vn路由可以为标签交换路径(label switched path,lsp),lsp在请求建立vn时由提供商网络实例化。
26.在一些情况下,提供商网络的客户可能会为vn提供不同的服务。例如,企业可以为企业员工提供实时视频会议应用和电子邮件应用。实时视频会议应用和电子邮件应用可以使用相同的vn端点,但是可以关联不同的服务质量(quality of service,qos)策略。例如,实时视频会议应用可能需要高带宽和低时延,而电子邮件应用可能需要中等带宽且没有时延限制。由于对于两种应用,vn的端点是相同的,因此提供商网络可能使用相同的vn路由来传输这些不同应用的数据包,导致可能无法满足这些不同的qos策略。
27.在一些实现方式中,可以使用vn标签来区分不同的服务或应用。提供商网络可以接收vn路由请求,vn路由请求指示与vn相关联的服务的qos策略。提供商网络可以确定满足qos策略的vn路由,并将vn标签与vn路由相关联。vn标签可以包含在数据包的元数据字段中。提供商网络接收到数据包后,可以解析元数据字段,识别vn标签,并使用与vn标签相关联的vn路由对数据包进行路由。这种方式为同一个vn提供服务差异化能力,使得提供商网络能够高效地分配资源以满足同一个vn的不同qos策略。图1至图11以及相关描述提供了这些实现方式的额外细节。
28.图1示出了根据一实现方式的在vn上传输数据包的示例性通信系统100。示例性通信系统100包括向客户网络110和120提供vn 150的提供商网络130。
29.客户网络,例如客户网络110或120,表示请求vn服务的客户的通信网络。客户可以包括一个或多个个体、一组或多组个体、一个或多个企业或者请求vn服务的其他任何实体。如图所示,客户网络可以包括一个或多个客户节点,例如客户节点114和124。客户节点表示在客户网络中创建、接收或传输数据包的网络节点。客户节点的示例可以包括调制解调器、集线器、网桥、交换机和数据终端设备(data terminal equipment,dte),例如数字电话听筒、打印机或主机。
30.每个客户网络可以包括客户网络控制器(customer network controller,cnc),例如cnc116或cnc 126。cnc是为客户网络提供网络控制功能的服务器。网络控制功能的示例可以包括认证、发现、网络配置、提供应用编程接口和其他网络服务。在一些实现方式中,cnc可以和提供商网络进行通信以请求vn。vn可以提供两种或以上服务,两种或以上服务中的每一种可以有不同的qos策略。图2至图11以及相关描述提供了这些实现方式的额外细
节。
31.每个客户网络还可以包括一个或多个客户边缘路由器(customer edge router,er),例如客户er 112和122。边缘路由器,也称为接入路由器,是位于网络边界的网络路由器,其连接到外部网络,例如广域网、因特网或其他网络。在一些实现方式中,客户er可以是vn的端点。在所描述的示例中,客户er 112是vn 150的源端,客户er 122是vn 150的目的端。
32.提供商网络130表示提供vn服务的服务提供商的通信网络。服务提供商包括提供或支持语音、视频、音频或数据内容通信的任何实体,包括电信公司、数据运营商、无线通信提供商、因特网服务提供商、有线电视运营商等。提供商网络130包括一个或多个提供商节点,例如图示的提供商节点142、144、146、148。提供商节点表示在提供商网络130中传输数据包的网络节点。提供商节点的示例可以包括调制解调器、集线器、网桥、交换机和dte。提供商网络130包括软件定义网络(software-defined networking,sdn)控制器132。sdn控制器132表示确定提供商网络130中数据传输路径的服务器。在一些实现方式中,sdn控制器132可以访问提供商网络130的拓扑信息。sdn控制器132可以使用拓扑信息来进行路径计算。在一些实现方式中,sdn控制器132可以使用底层路由协议来构建拓扑数据库(topology database,ted)。路由协议的示例可以包括开放式最短路径优先(open shortest path first,ospf)、中间系统到中间系统(intermediate system to intermediate system,is-is)和边界网关协议(border gateway protocol,bgp)。基于ted,sdn控制器132可以计算节点的类型长度值(type,length,value,tlv)能力以及相邻节点之间的路径,确定满足qos策略的路由。在一些情况下,sdn控制器132可以继续监控提供商网络130中的流量状况,根据当前流量状况重新计算和更新路由。在一些情况下,sdn控制器132可以为多域提供商网络的多域服务协调器(multi-domain service coordinator,mdsc),或单域提供商网络的物理网络控制器(provisioning network controller,pnc)。
33.提供商网络130还包括一个或多个提供商边缘路由器(provider edge router,er),例如提供商er 134和136,提供商er 134和136将提供商网络130连接到外部网络,例如客户网络110和120。在一些实现方式中,提供商er可以存储为sdn控制器132接收的路由信息,并根据路由信息对数据包进行路由。
34.提供商网络130向客户网络110和120提供用于网络服务的vn 150。vn,例如vn 150,表示可以组合以提供网络服务的硬件和软件网络资源。在所描述的示例中,vn 150在客户网络110中的客户er 112与客户网络120中的客户er 122之间提供数据传输。vn 150可以使用一个或多个提供商er 134-136和一个或多个提供商节点142-148来实现。在一些情况下,如下文示例中所讨论,同一个vn 150可以通过使用不同提供商节点的多个vn路由来实现。
35.在示例性操作中,sdn控制器132可以从cnc 116接收第一路由请求。第一路由请求可以包括用于建立vn 150的端点地址信息,以及指示vn 150提供的第一服务的qos策略的第一qos指示。sdn控制器132可以基于第一qos指示和端点地址信息确定第一vn路由。第一vn路由可以包括提供商节点142和144。sdn控制器132可以将第一vn标签与第一vn路由相关联。sdn控制器132可以向cnc 116发送第一路由响应。第一路由响应可以包括第一vn标签。sdn控制器132可以向提供商er 134发送第一vn标签和指示第一路由的第一路由信息。提供
商er 134可以相关联地存储第一vn标签和第一路由信息。
36.类似地,sdn控制器132可以从cnc 116接收第二路由请求。第二路由请求可以包括和第一路由请求相同的端点地址信息,以及指示vn 150提供的第二服务的不同qos策略的第二qos指示。sdn控制器132可以基于第二qos指示和端点地址信息确定第二vn路由。第二vn路由可以包括提供商节点146和148。sdn控制器132可以将第二vn标签与第二vn路由相关联。sdn控制器132可以向cnc 116发送第二路由响应。第二路由响应可以包括第二vn标签。sdn控制器132可以向提供商er 134发送第二vn标签和指示第二路由的第二路由信息。提供商er 134可以相关联地存储第二vn标签和第二路由信息。
37.提供商er 134可以从客户er 112接收数据包。数据包可以包括元数据字段。元数据字段可以包括指示与数据包相关联的服务的vn标签。提供商er 134可以解析元数据字段并提取vn标签。如果vn标签是第一vn标签,则提供商er 134使用第一vn路由传输数据包,第一vn路由包括提供商节点142和144。如果vn标签是第二vn标签,则提供商er 134使用第二vn路由传输数据包,第二vn路由包括提供商节点146和148。图2至图11以及相关描述提供了这些实现方式的额外细节。
38.尽管图1示出的元素包括实现各种特征和功能的各种组件、部分或模块,然而,这些元素也可以适当地包括若干子模块、第三方服务、组件、库等。此外,各种组件的特征和功能可以适当地组合成较少的组件。
39.图2示出了根据一实现方式的建立vn路由的示例性流程200的流程图。为了清楚呈现,以下说明通常在本说明中其他图的上下文中对流程200进行描述。在所描述的示例中,流程200由客户er 112和122、客户网络中的cnc 116、提供商节点142和144、提供商er 134和136以及提供商网络中的sdn控制器132来执行。然而,应理解,流程200可适当地由例如任何合适的系统、环境、软件或硬件或者系统、环境、软件和硬件的组合来执行。在一些实现方式中,流程200的各步骤可以并行、组合、循环或以任意顺序执行。
40.所述流程开始于210,其中,cnc 116向sdn控制器132发送第一路由请求,用于为第一服务建立第一vn路由。在一些实现方式中,第一路由请求中可以包括vn对应的地址信息。例如,第一路由请求可以包括目的地址,如客户er 122的因特网协议(internet protocol,ip)地址;源地址,如客户er 112的ip地址;或其组合。在一些情况下,可以使用源地址和目的地址对来表示提供商网络中的vn。在一些情况下,可以使用一个地址,如目的地址,来表示提供商网络中的vn。
41.第一路由请求还可以包括第一qos指示。第一qos指示可以指示第一服务的qos。qos指示可以包括带宽、时延、错误率或其他针对第一服务的qos策略。在一个示例中,第一qos指示可以指示每秒10千兆字节(gigabyte per second,gbps)的带宽策略和小于10毫秒(millisecond,ms)的时延策略。在另一个示例中,第一qos指示可以指示5gbps带宽的带宽策略,且没有时延策略。通过在第一路由请求中包括第一qos指示,cnc 116请求sdn控制器132在提供商网络中建立能够满足第一服务的qos策略的vn路由。可以根据标准化协议,例如网络配置协议(network configuration protocol,netconf)、restconf协议或路径计算单元通信协议(path computation element protocol,pcep),对第一qos指示进行格式化。可替代地,可以根据提供商网络和客户网络使用的私有协议对第一qos指示进行格式化。
42.在212处,sdn控制器132确定提供商网络中的第一vn路由。第一vn路由基于第一路
由请求中包括的地址信息来确定。例如,sdn控制器132可以选择能够将数据包从客户er112(源地址所指示的)路由到客户er 122(目的地址所指示的)的vn路由。
43.第一vn路由还基于第一路由请求中包括的第一qos指示来确定。sdn控制器132可以选择提供商网络中能够根据第一qos指示所指示的服务策略对数据包进行路由的提供商节点。在一些实现方式中,sdn控制器132可以基于提供商网络中的流量状况、每个提供商节点的处理速度及其组合来选择这些提供商节点。流量状况的示例可以包括提供商节点的当前处理负载和相邻提供商节点之间的链路的当前传输速率。例如,sdn控制器132可以选择一个或多个候选提供商节点,计算每个候选提供商节点处的期望处理时延,计算相邻候选提供商节点之间的每条链路的期望传输时延,将期望传输时延和期望处理时延相加以计算期望时延,并确定选择的候选提供商节点是否能够形成满足第一qos指示所指示的时延策略的vn路由。如果满足时延策略,则选择的候选提供商节点可以包括在第一vn路由中。否则,sdn控制器132可以选择其他提供商节点作为候选节点并重新计算。在所描述的示例中,第一vn路由包括提供商节点142和144。
44.在214处,sdn控制器132将第一vn标签与第一vn路由相关联。第一vn标签是客户网络可以用来指示将为第一服务路由数据包的指示。在一个示例中,第一vn标签可以是“vnap 1.a”,表示vn 1的服务a。
45.在216处,响应于第一路由请求,sdn控制器132向cnc 116发送第一路由响应。第一路由响应包括第一vn标签。
46.在218处,sdn控制器132向提供商er 134发送第一vn标签和第一路由信息。第一路由信息指示212处sdn控制器132确定的第一vn路由。在一些实现方式中,第一路由信息可以包括第一vn路由中每一跳的地址。例如,第一路由信息可以依次包括提供商er 134、提供商节点142、提供商节点144和提供商er 136的ip地址。
47.在220处,提供商er 134存储与第一vn标签相关联的第一路由信息。
48.在222处,cnc 116向客户er 112发送第一vn标签。客户er 112可以将第一vn标签与第一服务相关联。
49.在230处,客户er 112向提供商er 134发送第一数据包。第一数据包包括第一vn标签,第一vn标签指示第一数据包针对第一服务。在一些情况下,第一vn标签可以包括在元数据字段中。图3示出了根据一实现方式的第一数据包的示例性格式的示意图300。如图3所示,第一数据包包括元数据字段302、ip报头字段304和载荷字段306。ip报头字段304可以包括第一数据包的报头信息,例如ip版本以及源和目的ip地址。载荷字段306可以包括第一数据包的数据载荷。元数据字段302可以包括第一vn标签。
50.在一些实现方式中,第一元数据字段可以为根据因特网工程任务组(internet engineering task force,ietf)协议定义的网络服务报头(network service header,nsh)。图4示出了根据一实现方式的nsh的示例性格式的示意图400。如图所示,nsh包括16个字节。前4个字节包括元数据(meta data,md)类型字段402和下一协议字段404。md类型字段402指示要携带的元数据的类型。在所描述的示例中,md类型字段402可以设置为类型2。下一协议字段404指示第一数据包的协议类型。在所描述的示例中,可以将下一协议字段404设置为mpls或分段路由。
51.接下来4个字节包括服务路径标识字段412和服务索引字段414。这些字段指示针
对第一个数据包的服务路径信息。在一些情况下,这些字段可以设置为已配置的数字,以指示使用nsh携带vn标签。例如,服务路径标识字段412可以设置为100,服务索引字段414可以设置为255。这些字段可以设置为其他配置值的组合。
52.接下来8个字节包括第一vn标签。在一些情况下,第一vn标签可以包括src-vn-ap-id416和dest-vn-ap-id 418。src-vn-ap-id 416可以设置为对应于vn的源地址和第一服务的vn接入点(vn access point,vnap)。例如,src-vn-ap-id 416可以设置为“客户er 112地址.a(customer er 112address.a)”。dest-vn-ap-id 418可以设置为对应于vn的目的地址和第一服务的vn接入点(vn access point,vnap)。例如,src-vn-ap-id 416可以设置为“客户er122地址.a(customer er 122address.a)”。
53.仍然参考图2,在232处,提供商er 134提取第一数据包中包括的第一vn标签。提供商er 134基于第一vn标签确定第一数据包的vn路由。在一些实现方式中,提供商er 134可以查找存储的vn标签和相关联的路由信息,并找到与第一vn标签相关联的第一路由信息。
54.在一些实现方式中,提供商er 134可以通过移除第一元数据字段,例如nsh,和添加mpls报头来修改第一数据包。所述修改也可以称为弹出和推送操作,其中,从第一数据包弹出第一元数据字段,并向第一数据包推送mpls报头。mpls报头指示第一vn路由。例如,mpls报头可以依次包括提供商er 134、提供商节点142、提供商节点144和提供商er136的ip地址。
55.在234处,提供商er 134根据第一vn路由对第一数据包进行路由。如图所示,提供商er 134向提供商节点142发送第一数据包,提供商节点142是第一vn路由中的下一跳。在236处,提供商节点142向提供商节点144发送第一数据包,提供商节点144是第一vn路由中的下一跳。在238处,提供商节点142向提供商er 136发送第一数据包,提供商er 136是第一vn路由中的下一跳。在240处,提供商er 136向客户er 122发送第一数据包,客户er 122是vn的目的端。在一些情况下,提供商er 136可以在向客户er 122发送第一数据包之前从第一数据包中移除mpls报头。
56.流程200的部分或全部可以用于传输针对第一服务的其他数据包。流程200的部分或全部还可以用于传输针对不同服务的数据包。例如,cnc 116可以向sdn控制器132发送第二路由请求。第二路由请求可以包括和第一路由请求相同的地址信息,以及和第一qos指示不同的第二qos指示,从而指示第二路由请求针对同一vn中的不同业务。sdn控制器132可以确定满足第二qos指示所指示的qos策略的第二vn路由。sdn控制器132可以将第二vn标签与第二vn路由相关联。sdn控制器132可以在第二路由响应中向客户er 112发送第二vn标签。sdn控制器132还可以向提供商er 134发送第二vn标签和指示第二vn路由的第二路由信息。相应地,客户er 112可以发送包括第二vn标签的第二数据包,提供商er 134可以基于第二vn路由对第二数据包进行路由。
57.在一些情况下,提供商网络中的流量状况可能会发生变化。例如,提供商节点142可能会过载,或者提供商节点142和144之间的链路可能会拥塞。sdn控制器132可以监控提供商网络中的流量状况并检测流量状况的变化。此类监控可以是周期性的、事件触发的或其组合。如果流量状况发生变化,sdn控制器132可以重新计算第一路由的qos条件并确定第一vn路由是否继续满足第一qos指示设置的qos策略。如果sdn控制器132确定第一vn路由不再满足qos策略,则sdn控制器132可以确定满足qos策略的不同的vn路由。sdn控制器132可
以向提供商er 134发送不同的vn路由的路由信息和第一vn标签。提供商er 134可以更新其查找表以将第一vn标签与不同的vn路由的路由信息相关联,并在之后基于不同的vn路由对数据包进行路由。
58.图2中的信令消息,例如第一路由请求和第一路由响应,可以根据mpls协议或其他标准化协议进行格式化。可替代地或同时,信令消息可以根据提供商网络和客户网络使用的私有协议进行格式化。
59.在一些情况下,sdn控制器132与提供商网络中的其他节点(例如提供商er 134)之间的信令消息可以根据路径计算单元通信协议(path computation element protocol,pcep)来实现。例如,第一路由信息和第一vn标签可以在pcinitiate消息中传输。图5示出了根据一实现方式的示例性pcinitiate消息500的伪代码。如图所示,示例性pcinitiate消息500包括可用于指示第一路由信息和第一vn标签的转发规则对象502。
60.图6示出了根据一实现方式的转发规则对象502。转发规则对象502包括目的ip地址字段602、下一跳地址字段604、vnap标识字段606、接口字段608和标签字段610。目的ip地址字段602指示第一vn路由的目的地址,例如客户er 122的地址。下一跳地址字段604指示第一vn路由中下一跳的地址。在一些情况下,可以将下一跳地址字段设置为路由中下一跳的地址,例如提供商节点142的地址。vnap标识字段606指示vn的标识(identifier,id)。接口字段608指示对载荷进行路由的接口的标识。标签字段610指示第一vn标签。
61.图7示出了根据一实现方式的示例性计算机系统700的框图,计算机系统700用于提供与本发明所描述的算法、方法、功能、流程、流和过程相关联的计算功能。计算机系统700或多个计算机系统700可用于实现本发明前述的计算节点,例如sdn控制器、cnc、边缘路由器、提供商节点和客户节点。
62.所示的计算机702旨在包括任意计算设备,例如服务器、台式计算机、膝上型计算机/笔记本电脑、无线数据端口、智能手机、个人数据助理(personal data assistant,pda)、平板计算设备、这些设备中的一个或多个处理器或任何其他合适的处理设备,包括计算设备的物理或虚拟实例(或两者)。此外,计算机702可以包括一种计算机,其包括输入设备,例如按键板、键盘、触摸屏或其他能够接受用户信息的设备,以及传输与计算机702的操作相关联的信息的输出设备,其中,所述信息包括数字数据、可视性、或音频信息(或信息的组合),或者图形用户界面(graphical user interface,gui)。
63.计算机702可以作为计算机系统中的客户端、网络组件、服务器、数据库或其他持久性存储或者任何其他组件(或其组合),以执行本发明所描述的标的物。所示的计算机702可通信地耦合到网络730。在一些实现方式中,计算机702的一个或多个组件可用于在环境中进行操作,包括基于云计算的、本地、全局或其他环境(或环境的组合)。
64.计算机702在高层次上是一种电子计算设备,用于接收、传输、处理、存储或管理与所描述的标的物相关联的数据和信息。根据一些实现方式,计算机702还可以包括应用服务器、电子邮件服务器、网络服务器、缓存服务器、流数据服务器或其他服务器(或服务器的组合),或者可通信地与其耦合。
65.计算机702可以通过网络730接收来自客户端应用(例如,在另一台计算机702上执行)的请求,并使用合适的软件应用处理接收到的请求以响应接收到的请求。此外,还可以从内部用户(例如,从命令控制台或通过其他合适的访问方法)、外部或第三方、其他自动化
应用以及其他任何合适的实体、个体、系统或计算机向计算机702发送请求。
66.计算机702的每个组件都可以使用系统总线703进行通信。在一些实现方式中,计算机702的任何或所有组件、硬件或软件(或硬件和软件两者的组合)可以使用应用编程接口(application programming interface,api)712或服务层713(或api 712和服务层713的组合)通过系统总线703相互连接或连接到接口704(或者即相互连接又连接到接口704)。api712可以包括例程、数据结构和对象类的规范。api 712可以独立或依赖于计算机语言,可以指一个完整的接口、单个函数或者甚至一组api。服务层713向计算机702或可通信地耦合到计算机702的其他组件(无论是否示出)提供软件服务。使用服务层的所有服务消费者均可访问计算机702的功能。软件服务,例如服务层713提供的软件服务,通过定义的接口提供可重用的定义的功能。例如,所述接口可以是使用java、c 或其他合适的语言编写的软件,以可扩展标记语言(extensible markup language,xml)格式或其他合适的格式提供数据。尽管api 712和服务层713作为计算机702的集成组件示出,但是在一种可替代的实现方式中,api 712或服务层713可以示出为相对于计算机702的其他组件或相对于可通信地耦合到计算机702的其他组件(无论是否示出)的独立组件。此外,api 712或服务层713的任何或所有部分可以在不脱离本发明范围的情况下实现为另一软件模块、企业应用或硬件模块的子模块。
67.计算机702包括接口704。尽管在图7中示出为单个接口704,但是可以根据计算机702的特定需求、期望或特定实现方式使用两个或以上接口704。接口704用于计算机702在分布式环境中与连接到网络730(无论是否示出)的其他系统进行通信。通常,接口704包括在软件或硬件(或软件和硬件的组合)中编码的逻辑,并且可操作以与网络730进行通信。更具体地,接口704可以包括支持与通信相关联的一个或多个通信协议的软件,使得网络730或接口硬件可操作以在所示的计算机702内部和外部传输物理信号。
68.计算机702包括处理器705。尽管在图7中示出为单个处理器705,但是可以根据计算机702的特定需要、期望或特定实现方式使用两个或以上处理器。通常,处理器705执行指令并操作数据以执行计算机702的操作以及本发明所描述的任何算法、方法、功能、流程、流和过程。
69.计算机702还包括数据库706,数据库706可以保存计算机702或可以连接到网络730(无论是否示出)的其他组件(或者计算机702和其他组件)的数据。例如,数据库706可以是内存中的、常规的或其他类型的数据库,其存储与本发明一致的数据。在一些实现方式中,根据计算机702的特定需求、期望或特定实现方式以及所描述的功能,数据库706可以是两种或以上不同类型的数据库(例如,混合内存数据库和传统数据库)的组合。尽管在图7中示出为单个数据库706,但是可以根据计算机702的特定需求、期望或特定实现方式以及所描述的功能使用两个或以上数据库(相同类型或类型组合)。尽管数据库706示出为计算机702的组成部分,但是在可替代的实现方式中,数据库706可以位于计算机702的外部。
70.计算机702还包括存储器707,存储器707可以保存计算机702或可以连接到网络730(无论是否示出)的其他组件(或者计算机702和其他组件)的数据。例如,存储器707可以是随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、光存储器、磁存储器等,其存储与本发明一致的数据。在一些实现方式中,根据计算机702的特定需求、期望或特定实现方式以及所描述的功能,存储器707可以是两种或以上不同类型
的存储器的组合(例如,ram和磁存储器的组合)。尽管在图7中示出为单个存储器707,但是可以根据计算机702的特定需求、期望或特定实现方式以及所描述的功能使用两个或以上存储器707(相同类型或类型组合)。尽管存储器707示出为计算机702的组成部分,但是在可替代的实现方式中,存储器707可以位于计算机702的外部。
71.应用708是根据计算机702的特定需求、期望或特定实现方式提供功能的算法软件引擎,特别是针对本发明所描述的功能。例如,应用708可以作为一个或多个组件、模块或应用。此外,尽管示出为单个应用708,但是应用708可以在计算机702上实现为多个应用708。此外,尽管示出为计算机702的组成部分,但是在可替代的实现方式中,应用708可以位于计算机702的外部。
72.计算机702还可以包括电源714。电源714可以包括可充电或不可充电电池,可充电或不可充电电池可配置为用户可更换或非用户可更换。在一些实现方式中,电源714可以包括电源转换或管理电路(包括充电、待机或其他电源管理功能)。在一些实现方式中,电源714可以包括电源插头,以使计算机702接入墙插或其他电源来例如为计算机702供电或为可充电电池充电。
73.可以存在与包含计算机702的计算机系统相关联的或在其外部的任意数量的计算机702,每个计算机702通过网络730进行通信。此外,在不脱离本发明范围的情况下,术语“客户端”、“用户”和其他合适的术语可适当地互换使用。此外,本发明考虑到了许多用户可能使用一台计算机702,或者一个用户可能使用多台计算机702。
74.图8(包括图8a和图8b)示出了根据一实现方式的建立vn路由的示例性方法800的流程图。方法800可以由sdc控制器来实现,例如图1和图2所示的sdn控制器132。方法800还可以使用附加的、更少的或不同的实体来实现。此外,方法800还可以使用附加的、更少的或不同的操作来实现,这些操作可以按所示顺序或不同顺序执行。在一些实例中,一个操作或一组操作可以迭代或重复,例如,进行指定次数的迭代或直到达到终止条件。
75.示例性方法800开始于802,其中,sdn控制器从客户网络接收第一路由请求。在一些情况下,sdn控制器为mdsc或pnc中的至少一个。第一路由请求包括vn的目的地址和与vn的第一服务相关联的第一qos指示。在804处,sdn控制器基于第一qos指示和目的地址确定提供商网络中的第一vn路由。在一些情况下,提供商网络为多协议标签交换(multiprotocol label switching,mpls)网络,第一vn路由为标签交换路径(label switched path,lsp)。在806处,sdn控制器将第一vn标签与第一vn路由相关联。在808处,sdn控制器向客户网络发送第一路由响应。第一路由响应包括第一vn标签。在810处,sdn控制器向提供商网络的边缘路由器发送第一vn标签和第一路由信息。第一路由信息指示第一vn路由。在一些情况下,第一vn标签和第一路由信息使用路径计算单元通信协议(path computation element protocol,pcep)消息来发送。在一些情况下,第一路由信息包括指示第一vn路由的转发规则对象。
76.在一些实现方式中,在812处,sdn控制器从客户网络接收第二路由请求。第二路由请求包括vn的目的地址和与vn的第二服务相关联的第二qos指示。第二qos指示和第一qos指示指示不同的qos策略。在814处,sdn控制器基于第二qos指示和目的地址确定提供商网络中的第二vn路由。第二vn路由和第一vn路由不同。在816处,sdn控制器将第二vn标签与第二vn路由相关联。在818处,sdn控制器向客户网络发送第二路由响应。第二路由响应包括第
二vn标签。在820处,sdn控制器向提供商网络的边缘路由器发送第二vn标签和第二路由信息。第二路由信息指示第二vn路由。
77.在一些实现方式中,在822处,sdn控制器确定提供商网络中的流量状况已发生变化。在824处,响应于确定提供商网络中的流量状况已发生变化,sdn控制器基于第一qos指示和流量状况确定第三vn路由。在826处,sdn控制器向提供商网络的边缘路由器发送第一vn标签和第三路由信息。第三路由信息指示第三vn路由。
78.图9示出了根据一实现方式的根据不同的vn路由对数据包进行路由的示例性方法900的流程图。方法900可以由提供商网络的边缘路由器来实现,例如图1和图2中示出的提供商er 134。方法900还可以使用附加的、更少的或不同的实体来实现。此外,方法900还可以使用附加的、更少的或不同的操作来实现,这些操作可以按所示顺序或不同顺序执行。在一些实例中,一个操作或一组操作可以迭代或重复,例如,进行指定次数的迭代或直到达到终止条件。
79.示例性方法900开始于902,其中,提供商网络的边缘路由器从sdn控制器接收第一vn标签和第一路由信息。第一路由信息指示第一vn路由。在904处,边缘路由器从客户网络接收第一数据包。第一数据包包括第一元数据字段。第一元数据字段指示第一数据包与第一vn标签相关联。在906处,边缘路由器根据第一vn路由对第一数据包进行路由。在一些实现方式中,第一元数据字段为nsh。在一些实现方式中,对第一数据包进行路由包括通过移除第一元数据字段并添加多协议标签交换(multiprotocol label switching,mpls)报头来修改第一数据包,以及对修改后的第一数据包进行路由。mpls报头指示第一vn路由。在一些实现方式中,第一vn标签和第一路由信息在路径计算单元通信协议(path computation element protocol,pcep)消息中进行接收。在一些实现方式中,第一路由信息包括指示第一vn路由的转发规则对象。在一些实现方式中,sdn控制器为mdsc或pnc中的至少一个。
80.在一些实现方式中,在908处,边缘路由器从sdn控制器接收第一vn标签和第二路由信息。第二路由信息指示与第一vn路由不同的第二vn路由。在910处,边缘路由器从客户网络接收第二数据包。第二数据包包括第二元数据字段。第二元数据字段指示第二数据包与第一vn标签相关联。在912处,边缘路由器根据第二vn路由对第二数据包进行路由。
81.图10示出了根据一实现方式的本发明所描述的sdn控制器1000的示例性结构的示意图。sdn控制器1000包括接收电路1002、发射电路1004、确定电路1006和存储电路1008。确定电路1006可以耦合到或与接收电路1002、发射电路1004和存储电路1008进行通信。在一些实现方式中,sdn控制器1000还可以包括一个或多个电路,用于执行本发明所描述的任一步骤或步骤的组合。
82.接收电路1002用于从客户网络接收第一路由请求。第一路由请求包括vn的目的地址和与vn的第一服务相关联的第一服务质量(quality of service,qos)指示。
83.确定电路1006用于基于第一qos指示和目的地址确定提供商网络中的第一vn路由。
84.存储电路1008用于相关联地存储第一vn标签和第一vn路由。
85.发射电路1004用于向客户网络发送第一vn标签和指示第一vn路由的第一路由信息。发射电路1004还用于向提供商网络的边缘路由器发送第一vn标签和指示第一vn路由的第一路由信息。
network controller,pnc)中的至少一个。
100.第六特征可以与前述特征中的任一个相结合,其中,提供商网络为多协议标签交换(multiprotocol label switching,mpls)网络,第一vn路由为标签交换路径(label switched path,lsp)。
101.在第二种实现方式中,一种根据不同的虚拟网络(virtual network,vn)路由对数据包进行路由的计算机实现的方法包括:在提供商网络的边缘路由器处接收来自软件定义网络(software defined networking,sdn)控制器的第一vn标签和指示第一vn路由的第一路由信息;在边缘路由器处接收来自客户网络的第一数据包,其中,第一数据包包括第一元数据字段,第一元数据字段指示第一数据包与第一vn标签相关联;根据第一vn路由对第一数据包进行路由。
102.前述和其他所描述的实现方式可选地可以分别包括以下特征中的一个或多个:
103.第一特征可以与以下特征中的任一个相结合,其中,所述方法还包括:在提供商网络的边缘路由器处接收来自sdn控制器的第一vn标签和第二路由信息,其中,第二路由信息指示与第一vn路由不同的第二vn路由;在边缘路由器处接收来自客户网络的第二数据包,其中,第二数据包包括第二元数据字段,第二元数据字段指示第二数据包与第一vn标签相关联;根据第二vn路由对第二数据包进行路由。
104.第二特征可以与前述或以下特征中的任一个相结合,其中,第一元数据字段为网络服务报头(network service header,nsh)。
105.第三特征可以与前述或以下特征中的任一个相结合,其中,对第一数据包进行路由包括:通过移除第一元数据字段并添加多协议标签交换(multiprotocol label switching,mpls)报头来修改第一数据包,其中,mpls报头指示第一vn路由;对修改后的第一数据包进行路由。
106.第四特征可以与前述或以下特征中的任一个相结合,其中,第一vn标签和第一路由信息在路径计算单元通信协议(path computation element protocol,pcep)消息中进行接收
107.第五特征可以与前述或以下特征中的任一个相结合,其中,第一路由信息包括指示第一vn路由的转发规则对象。
108.第六特征可以与前述特征中的任一个相结合,其中,sdn控制器为多域服务协调器(multi-domain service coordinator,mdsc)或物理网络控制器(provisioning network controller,pnc)中的至少一个。
109.在第三种实现方式中,一种软件定义网络(software defined networking,sdn)控制器包括:包含指令的非瞬时性存储器;以及与所述存储器进行通信的一个或多个硬件处理器,其中,所述一个或多个硬件处理器执行所述指令以:从客户网络接收第一路由请求,其中,第一路由请求包括虚拟网络(virtual network,vn)的目的地址和与vn的第一服务相关联的第一服务质量(quality of service,qos)指示;基于第一qos指示和目的地址确定提供商网络中的第一vn路由;将第一vn标签与第一vn路由相关联;向客户网络发送第一路由响应,其中,第一路由响应包括第一vn标签;从sdn控制器向提供商网络的边缘路由器发送第一vn标签和指示第一vn路由的第一路由信息。
110.前述和其他所描述的实现方式可选地可以分别包括以下特征中的一个或多个:
111.第一特征可以与以下特征中的任一个相结合,其中,所述一个或多个硬件处理器还执行所述指令以:从客户网络接收第二路由请求,其中,第二路由请求包括vn的目的地址和与vn的第二服务相关联的第二qos指示,第二qos指示和第一qos指示指示不同的qos策略;基于第二qos指示和目的地址确定提供商网络中的第二vn路由,其中,第二vn路由和第一vn路由不同;将第二vn标签与第二vn路由相关联;向客户网络发送第二路由响应,其中,第二路由响应包括第二vn标签;向提供商网络的边缘路由器发送第二vn标签和指示第二vn路由的第二路由信息。
112.第二特征可以与前述或以下特征中的任一个相结合,其中,所述一个或多个硬件处理器还执行所述指令以:确定提供商网络中的流量状况已发生变化;响应于确定提供商网络中的流量状况已发生变化,基于第一qos指示和流量状况确定第三vn路由;向提供商网络的边缘路由器发送第一vn标签和指示第三vn路由的第三路由信息。
113.第三特征可以与前述或以下特征中的任一个相结合,其中,第一vn标签和第一路由信息使用路径计算单元通信协议(path computation element protocol,pcep)消息来发送。
114.第四特征可以与前述或以下特征中的任一个相结合,其中,第一路由信息包括指示第一vn路由的转发规则对象。
115.第五特征可以与前述或以下特征中的任一个相结合,其中,sdn控制器包括多域服务协调器(multi-domain service coordinator,mdsc)或物理网络控制器(provisioning network controller,pnc)中的至少一个。
116.第六特征可以与前述特征中的任一个相结合,其中,提供商网络为多协议标签交换(multiprotocol label switching,mpls)网络,第一vn路由为标签交换路径(label switched path,lsp)。
117.在第四种实现方式中,一种非瞬时性计算机可读介质,其存储用于在通信网络中处理数据包的计算机指令,当所述计算机指令被一个或多个硬件处理器执行时,使得路由器的所述一个或多个硬件处理器执行以下操作:在软件定义网络(software defined networking,sdn)控制器处接收来自客户网络的第一路由请求,其中,第一路由请求包括vn的目的地址和与vn的第一服务相关联的第一服务质量(quality of service,qos)指示;sdn控制器基于第一qos指示和目的地址确定提供商网络中的第一vn路由;sdn控制器将第一vn标签与第一vn路由相关联;从sdn控制器向客户网络发送第一路由响应,其中,第一路由响应包括第一vn标签;以及从sdn控制器向提供商网络的边缘路由器发送第一vn标签和指示第一vn路由的第一路由信息。
118.前述和其他所描述的实现方式可选地可以分别包括以下特征中的一个或多个:
119.第一特征可以与以下特征中的任一个相结合,其中,所述操作还包括:在sdn控制器处接收来自客户网络的第二路由请求,其中,第二路由请求包括vn的目的地址和与vn的第二服务相关联的第二qos指示,第二qos指示和第一qos指示指示不同的qos策略;sdn控制器基于第二qos指示和目的地址确定提供商网络中的第二vn路由,其中,第二vn路由和第一vn路由不同;sdn控制器将第二vn标签与第二vn路由相关联;从sdn控制器向客户网络发送第二路由响应,其中,第二路由响应包括第二vn标签;从sdn控制器向提供商网络的边缘路由器发送第二vn标签和指示第二vn路由的第二路由信息。
120.第二特征可以与前述或以下特征中的任一个相结合,其中,所述操作还包括:sdn控制器确定提供商网络中的流量状况已发生变化;响应于确定提供商网络中的流量状况已发生变化,sdn控制器基于第一qos指示和流量状况确定第三vn路由;从sdn控制器向提供商网络的边缘路由器发送第一vn标签和指示第三vn路由的第三路由信息。
121.第三特征可以与前述或以下特征中的任一个相结合,其中,第一vn标签和第一路由信息使用路径计算单元通信协议(path computation element protocol,pcep)消息来发送。
122.第四特征可以与前述或以下特征中的任一个相结合,其中,第一路由信息包括指示第一vn路由的转发规则对象。
123.第五特征可以与前述或以下特征中的任一个相结合,其中,sdn控制器包括多域服务协调器(multi-domain service coordinator,mdsc)或物理网络控制器(provisioning network controller,pnc)中的至少一个。
124.第六特征可以与前述特征中的任一个相结合,其中,提供商网络为多协议标签交换(multiprotocol label switching,mpls)网络,第一vn路由为标签交换路径(label switched path,lsp)。
125.在第五种实现方式中,一种边缘路由器包括:包含指令的非瞬时性存储器;以及与所述存储器进行通信的一个或多个硬件处理器,其中,所述一个或多个硬件处理器执行所述指令以:在提供商网络的边缘路由器处接收来自软件定义网络(software defined networking,sdn)控制器的第一vn标签和指示第一vn路由的第一路由信息;在边缘路由器处接收来自客户网络的第一数据包,其中,第一数据包包括第一元数据字段,第一元数据字段指示第一数据包与第一vn标签相关联;根据第一vn路由对第一数据包进行路由。
126.前述和其他所描述的实现方式可选地可以分别包括以下特征中的一个或多个:
127.第一特征可以与以下特征中的任一个相结合,其中,所述一个或多个硬件处理器还执行所述指令以:在提供商网络的边缘路由器处接收来自sdn控制器的第一vn标签和第二路由信息,其中,第二路由信息指示与第一vn路由不同的第二vn路由;在边缘路由器处接收来自客户网络的第二数据包,其中,第二数据包包括第二元数据字段,第二元数据字段指示第二数据包与第一vn标签相关联;根据第二vn路由对第二数据包进行路由。
128.第二特征可以与前述或以下特征中的任一个相结合,其中,第一元数据字段为网络服务报头(network service header,nsh)。
129.第三特征可以与前述或以下特征中的任一个相结合,其中,对第一数据包进行路由包括:通过移除第一元数据字段并添加多协议标签交换(multiprotocol label switching,mpls)报头来修改第一数据包,其中,mpls报头指示第一vn路由;对修改后的第一数据包进行路由。
130.第四特征可以与前述或以下特征中的任一个相结合,其中,第一vn标签和第一路由信息在路径计算单元通信协议(path computation element protocol,pcep)消息中进行接收
131.第五特征可以与前述或以下特征中的任一个相结合,其中,第一路由信息包括指示第一vn路由的转发规则对象。
132.第六特征可以与前述特征中的任一个相结合,其中,sdn控制器为多域服务协调器
(multi-domain service coordinator,mdsc)或物理网络控制器(provisioning network controller,pnc)中的至少一个。
133.在第六种实现方式中,一种非瞬时性计算机可读介质,其存储用于在通信网络中处理数据包的计算机指令,当所述计算机指令被一个或多个硬件处理器执行时,使得路由器的所述一个或多个硬件处理器执行以下操作:在提供商网络的边缘路由器处接收来自软件定义网络(software defined networking,sdn)控制器的第一vn标签和指示第一vn路由的第一路由信息;在边缘路由器处接收来自客户网络的第一数据包,其中,第一数据包包括第一元数据字段,第一元数据字段指示第一数据包与第一vn标签相关联;根据第一vn路由对第一数据包进行路由。
134.前述和其他所描述的实现方式可选地可以分别包括以下特征中的一个或多个:
135.第一特征可以与以下特征中的任一个相结合,其中,所述操作还包括:在提供商网络的边缘路由器处接收来自sdn控制器的第一vn标签和第二路由信息,其中,第二路由信息指示与第一vn路由不同的第二vn路由;在边缘路由器处接收来自客户网络的第二数据包,其中,第二数据包包括第二元数据字段,第二元数据字段指示第二数据包与第一vn标签相关联;根据第二vn路由对第二数据包进行路由。
136.第二特征可以与前述或以下特征中的任一个相结合,其中,第一元数据字段为网络服务报头(network service header,nsh)。
137.第三特征可以与前述或以下特征中的任一个相结合,其中,对第一数据包进行路由包括:通过移除第一元数据字段并添加多协议标签交换(multiprotocol label switching,mpls)报头来修改第一数据包,其中,mpls报头指示第一vn路由;对修改后的第一数据包进行路由。
138.第四特征可以与前述或以下特征中的任一个相结合,其中,第一vn标签和第一路由信息在路径计算单元通信协议(path computation element protocol,pcep)消息中进行接收
139.第五特征可以与前述或以下特征中的任一个相结合,其中,第一路由信息包括指示第一vn路由的转发规则对象。
140.第六特征可以与前述特征中的任一个相结合,其中,sdn控制器为多域服务协调器(multi-domain service coordinator,mdsc)或物理网络控制器(provisioning network controller,pnc)中的至少一个。
141.本文中所描述的标的物和功能操作的实现方式可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件,包括本文中公开的结构及其结构等效物,或者一个或多个它们的组合中实现。本文中所描述的标的物的实现方式可以实现为一个或多个计算机程序,即一个或多个计算机程序指令模块,其在有形、非瞬时性、计算机可读的计算机存储介质上进行编码,以供数据处理装置执行或控制数据处理装置的操作。可替代地或者此外,程序指令可以在人工生成的传播信号中/上进行编码,例如,机器生成的电性、光学或电磁信号,所述信号用于对信息进行编码以传输到合适的接收器装置,以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或计算机存储介质的组合。
142.术语“实时(real-time)”、“快速实时(real(fast)time,rft)”、“近实时(near(ly)
real-time,nrt)”、“准实时”或类似术语(本领域普通技术人员所理解的)指动作和响应在时间上是接近的,使得个体基本上同时感知到动作和响应的发生。例如,个体访问数据的动作和显示(或发起显示)数据的响应之间的时间差可能小于1毫秒、小于1秒或小于5秒。虽然不需要立即显示(或发起显示)所请求的数据,但考虑到所描述的计算系统的处理限制以及例如收集、准确测量、分析、处理、存储或传输数据所需的时间,所述数据没有任何拖延地进行显示(或发起显示)。
143.术语“数据处理装置”、“计算机”或“电子计算机设备”(或本领域普通技术人员所理解的等效物)指数据处理硬件,包括各种用于数据处理的装置、设备和机器,例如,包括可编程处理器、计算机、多个处理器或计算机。所述装置还可以是或者进一步包括专用逻辑电路,例如中央处理器(central processing unit,cpu)、现场可编程门阵列(field programmable gate array,fpga)或专用集成电路(application-specific integrated circuit,asic)。在一些实现方式中,数据处理装置或专用逻辑电路(或数据处理装置和专用逻辑电路的组合)可以基于硬件或软件(或基于硬件和软件的组合)。所述装置可选地可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或执行环境组合的代码。本发明设想使用具有或不具有传统操作系统的数据处理装置,例如,linux、unix、windows、mac os、android、ios或其他任何合适的传统操作系统。
144.一种计算机程序,也可以称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码,可以使用任何形式的编程语言来编写,包括编译或解释语言,或声明性或过程性语言。计算机程序可以使用任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适合在计算环境中使用的单元。计算机程序可以但不一定需要对应于文件系统中的文件。程序可以存储在包含其他程序或数据的文件的一部分中,例如,一个或多个脚本存储在标记语言文档,专用于所述程序的单个文件,或者多个协作文件中,例如,存储一个或多个模块、子程序或部分代码的文件。计算机程序可以部署在一台计算机上来执行,也可以部署在多台计算机上,这些计算机可以位于一个站点,也可以分布在多个站点并通过通信网络互连。尽管各图中示出的程序的部分显示为通过各种对象、方法或其他流程实现各种特征和功能的独立模块,但是程序可替代地可以包括若干子模块、第三方服务、组件、库等,视情况而定。反过来,各种组件的特征和功能可以适当地组合成单个组件。用于进行计算确定的阈值可以静态地、动态地或者静态和动态地确定。
145.本文中所描述的方法、流程或逻辑流可以由一台或多台可编程计算机执行,这些计算机执行一个或多个计算机程序,通过操作输入数据和生成输出来执行功能。所述方法、流程或逻辑流也可以由专用逻辑电路来执行,并且装置也可以实现为专用逻辑电路,例如,cpu、fpga或asic。
146.适合执行计算机程序的计算机可以基于通用或专用微处理器,或通用和专用微处理器,或任何其他类型的cpu。通常,cpu会从rom或随机存取存储器(random access memory,ram)或两者中接收指令和数据。计算机的基本元件是用于执行指令的cpu,以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或者可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,从这些设备接收数据或将数据传送给这些设备。然而,计算机不一定需要这样的设备。此外,计算机可以嵌入
microwave access,wimax)、使用例如802.11a/b/g/n或802.20(或802.11x和802.20的组合或与本发明一致的其他协议)的无线局域网(wireless local area network,wlan)、因特网的全部或部分、任何其他通信系统或者位于一个或多个位置的系统(或通信网络的组合)。网络可以在网络地址之间传输例如因特网协议(internet protocol,ip)包、帧中继帧、异步传输模式(asynchronous transfer mode,atm)信元、语音、视频、数据或其他合适的信息(或传输类型的组合)。
151.计算系统可以包括客户端和服务器。客户端和服务器通常是彼此远离的,通常通过通信网络进行交互。客户端和服务器的关系是由运行在各自计算机上的计算机程序生成的,计算机程序之间具有客户端-服务器关系。
152.尽管本文包含许多具体的实施细节,但这些不应解释为对任何发明范围或对可要求保护的范围的限制,而应解释为针对特定发明的特定实现方式的特征的描述。本文中在单独的实现方式的上下文中描述的某些特征也可以在单个实现方式中组合实现。反过来,在单个实现方式的上下文中描述的各种特征也可以在多个实现方式中单独实现,或以任何合适的子组合实现。此外,尽管前述的特征可描述为以某些组合起作用,甚至最初可以如此声称,但在一些情况下,可以从组合中去除所声称的组合中的一个或多个特征,所要求保护的组合可以指向子组合或子组合的变体。
153.描述了标的物的特定实现方式。所描述的实现方式的其他实现方式、改动和排列在以下权利要求的范围内,对于本领域技术人员是显而易见的。尽管操作在附图或权利要求中以特定顺序进行描述,但这不应理解为要求按照所示的特定顺序或按顺序来执行此类操作,或者要求执行所示的所有操作(一些操作可被视为可选操作),以实现期望的结果。在某些情况下,多任务处理或并行处理(或多任务处理和并行处理的组合)可能是有利的,并且可以在适当的情况下执行。
154.此外,不应将前述实现方式中的各种系统模块和组件的分离或集成理解为需要在所有实现方式中进行此类分离或集成。应理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
155.因此,前述的示例性实现方式不定义或限制本发明。只要不偏离本发明的精神和范围,其它修改、替代以及变更也是可能的。
156.此外,任何权利要求所述的实现方式均被视为至少适用于计算机实现的方法;非瞬时性计算机可读介质,其存储用于执行计算机实现的方法的计算机可读指令;以及计算机系统,包括与硬件处理器可互操作耦合的计算机存储器,其中,硬件处理器用于执行计算机实现的方法和存储在非瞬时性计算机可读介质上的指令。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献