用于通信网络的设备

申请号 CN201580046547.8 申请日 2015-06-29 公开(公告)号 CN107077699B 公开(公告)日 2021-03-12
申请人 CFPH; 有限责任公司; 发明人 J.洛夫莱斯;
摘要 一种促进金融交易的网络系统。 软件 定义网络可操作来向多种客户提供多种贸易相关的服务而具有短等待时间。路由 进程 的核心或处理器 亲和性 可提高路由的速度。通过共享 存储器 空间进行数据捕获可允许进行多种解析而不引入不可接受的延迟。
权利要求

1.一种用于通信网络的设备,所述设备包括:
第一路由装置,所述第一路由装置被配置来将第一网络上的被寻址到所述第一网络的本地地址和端口对的通信量引导到远程第二网络上的目的地,并且将第三网络上的被寻址到所述第三网络的本地地址和端口对的通信量引导到所述远程第二网络上的所述目的地,其中所述第一路由装置被配置成使得:第一处理器的第一核心被配置来执行针对所述第一网络的路由,并且所述第一处理器的第二核心被配置来执行针对所述第三网络的路由;
其中,为了促进将所述第一网络的所述本地地址和端口对映射到所述目的地,所述路由装置被配置来打开到所述目的地的第一套接字,打开到第二目的地的第二套接字,使被寻址到所述第一网络的所述本地地址和端口对的通信量负载平衡以使得所述通信量在使用所述第一套接字的所述目的地与使用所述第二套接字的所述第二目的地之间分流,并且响应于确定所述第一套接字已经失败而将路由故障切换至所述第二套接字;
其中所述路由装置的第三核心被配置来执行进程,所述进程被配置来:访问与所述第一核心共享的存储器空间的一部分,从所述存储器空间的所述部分复制分组报头和整个分组中的至少一个,并且促进将所述分组报头和所述整个分组中的所述至少一个传输到联接到所述第一路由装置的解析引擎,同时所述第一核心将所述整个分组路由到所述目的地。
2.如权利要求1所述的设备,其中所述负载平衡以轮转法和最少连接的方式中的至少一种发生。
3.如权利要求1所述的设备,其中所述路由装置包括多个多核处理器
4.如权利要求1所述的设备,其中所述路由装置被配置来以千兆比特速度路由数据。
5.如权利要求1所述的设备,其包括:
第二路由装置,所述第二路由装置被配置来将地址和端口对映射到所述第一网络并且将第二地址和端口对映射到所述第二网络,其中所述第二路由装置被配置成使得:第二处理器的第一核心被配置来执行从所述目的地到所述第一网络的路由,并且所述第二处理器的第二核心被配置来执行从所述目的地到所述第二网络的路由。
6.如权利要求5所述的设备,其中所述第一路由装置被配置来根据字典方案压缩路由到所述目的地的数据组,并且所述第二路由装置被配置来根据所述字典方案解压缩所述数据组块以便传输到所述目的地。
7.如权利要求5所述的设备,其中通过所述第一路由装置从所述第一网络和所述第二网络进行的映射使得能够实现从所述第一网络和所述第二网络到软件定义网络的服务。
8.如权利要求5所述的设备,其中所述第二路由装置使得所述目的地能够订购从所述第一网络和所述第二网络向软件定义网络提供的服务。
9.如权利要求5所述的设备,其中所述第一路由装置和所述第二路由装置定义横跨多个远程数据中心的软件定义网络。
10.如权利要求5所述的设备,其中所述目的地包括贸易客户并且所述第一网络包括电子金融交换器驻留在其上的网络。

说明书全文

用于通信网络的设备

[0001] 相关申请的交叉引用
[0002] 本申请要求2014年6月30日提交的美国临时申请62/019,366的优先权,所述申请据此以引用方式并入本文。
[0003] 领域
[0004] 一些实施方案涉及通信网络元件。
[0005] 背景
[0006] 通信网络可包括一个或多个网络元件以促进例如计算装置之间的数据通信。
[0007] 附图简述
[0008] 图1A示出根据一些实施方案的示例性系统;
[0009] 图1B示出图1A的系统的示例性配置;
[0010] 图2示出根据一些实施方案的另一个示例性系统;
[0011] 图3示出根据一些实施方案的示例性网络元件;
[0012] 图4示出根据一些实施方案的示例性SDN;
[0013] 图5示出根据一些实施方案的示例性SDN的方面;
[0014] 图6示出根据一些实施方案的示例性SDN的方面;
[0015] 图7示出根据一些实施方案的示例性SDN的方面;
[0016] 图8示出根据一些实施方案的示例性SDN的方面;
[0017] 图9示出根据一些实施方案的示例性SDN的方面;
[0018] 图10示出根据一些实施方案的示例性SDN的方面;
[0019] 图11示出根据一些实施方案的示例性SDN的方面;
[0020] 图12示出根据一些实施方案的示例性SDN的方面;
[0021] 图13示出根据一些实施方案的示例性SDN的方面;
[0022] 图14示出根据一些实施方案的示例性SDN的方面;
[0023] 图15示出根据一些实施方案的示例性SDN的方面;
[0024] 图16示出根据一些实施方案的示例性SDN的方面;并且
[0025] 图17示出根据一些实施方案的示例性SDN的方面。
[0026] 图18示出根据一些实施方案的示例性SDN的方面。
[0027] 概述
[0028] 下文应理解为实施方案而不是权利要求书。
[0029] A. 一种设备,其包括:第一路由装置,所述第一路由装置被配置来将第一网络的本地地址和端口对映射到第二网络上的目的地并且将第三网络的本地地址和端口对映射到所述第二网络上的所述目的地,其中所述第一路由装置被配置成使得:第一处理器的第一核心被配置来执行针对所述第一网络的路由,并且所述第一处理器的第二核心被配置来执行针对所述第二网络的路由;其中,为了促进将所述第一网络的所述本地地址和端口对映射到所述目的地,所述路由装置被配置来打开到所述目的地的第一套接字,打开到第二目的地的第二套接字,并且响应于确定所述第一套接字已经失败而将路由故障切换至所述第二套接字;其中所述路由装置的第三核心被配置来执行进程,所述进程被配置来:访问与所述第一核心共享的存储器空间的一部分,从所述存储器空间的所述部分复制分组报头和整个分组中的至少一个,并且促进将所述分组报头和所述整个分组中的所述至少一个传输到联接到所述第一路由装置的解析引擎。
[0030] A.1. 如权利要求A所述的设备,其中所述第一路由装置被配置来使发送到所述本地地址和端口对的通信量负载平衡,使得所述通信量在使用所述第一套接字的所述目的地与使用所述第二套接字的所述第二目的地之间分流。A.1.1.如权利要求A.1所述的设备,其中所述负载平衡以轮转法和最少连接的方式中的至少一种发生。A.2.如权利要求A所述的设备,其中所述路由装置包括多个多核处理器。A.3.如权利要求A所述的设备,其中所述路由装置被配置来以千兆比特速度路由数据。
[0031] A.4. 如权利要求A所述的设备,其包括:第二路由装置,所述第二路由装置被配置来将地址和端口对映射到所述第一网络并且将第二地址和端口对映射到所述第二网络,其中所述第二路由装置被配置成使得:第二处理器的第一核心被配置来执行从所述目的地到所述第一网络的路由,并且所述第二处理器的第二核心被配置来执行从所述目的地到所述第二网络的路由。A.4.1.如权利要求A.4所述的设备,其中所述第一路由装置被配置来根据字典方案压缩路由到所述目的地的数据组,并且所述第二路由装置被配置来根据所述字典方案解压缩所述数据组块以便传输到所述目的地。A.4.2.如权利要求A.4所述的设备,其中通过所述第一路由装置从所述第一网络和所述第二网络进行的映射实现从所述第一网络和所述第二网络到软件定义网络的服务。A.4.3.如权利要求A.4所述的设备,其中所述第二路由装置使得所述目的地能够订购从所述第一网络和所述第二网络向软件定义网络提供的服务。A.4.4.如权利要求A.4所述的设备,其中所述第一路由装置和所述第二路由装置定义横跨多个数据中心的软件定义网络。A.4.5.如权利要求A.4所述的设备,其中所述目的地包括贸易客户并且所述第一网络包括电子交换器驻留在其上的网络。
[0032] 详细描述
[0033] 参考图1A,示出示例性系统100。系统100可包括多个实体,包括实体110和多个实体130a-130n (在图1A中详细示出其中的一个),所述多个实体中的一个或多个可通过网络103互连。实体110可以是例如提供服务的服务提供商,并且每个实体130可以是例如由服务提供商110提供的服务的客户/用户(例如,公司、行、投资资金管理机构、贸易公司等)。仅出于描述目的,实体110在本文将称为服务提供商并且实体130将称为用户/客户。然而,这些术语意图是非限制性的并且其他示例性实体是可能的。此外,作为向实体130提供服务的服务提供商的实体110也是实例,并且实体110与130之间的其他关系是可能的。
[0034] 作为一个实例,服务提供商110可提供用于贸易/买卖/匹配项目(例如像金融票据、不动产、赌注/赌资、有形货物、服务等)的一个或多个电子营销市场,并且因此,可提供一个或多个电子匹配/贸易引擎。类似地,客户130可试图在由服务提供商130提供的电子营销市场上贸易一个或多个项目。根据这个实例,客户130中的一个或多个可向例如服务提供商110电子传送包括例如以指定价格和/或数量(例如,出价、报价、命中、售得金额(take))买和/或卖项目的订单的数据/消息。类似地,服务提供商110可电子接收并执行这类订单,并且向客户130传送包括例如待决订单和已执行订单的价格和数量的数据/消息。本领域的技术人员将认识到,这仅是实例并且其他和/或另外服务可由服务提供商110提供,并且另外和/或其他消息/数据可在服务提供商110与客户130之间传递。例如,客户130中的一个或多个可向例如服务提供商110电子传送包括例如以指定赔率和/或赌金对团队或事件等下注或下反注(back or lay)的订单的数据/消息。类似地,服务提供商110可电子接收并执行/匹配这类订单,并且向客户130传送包括例如待决订单和/或已执行订单的指定赔率和/或赌金的数据/消息。
[0035] 服务提供商110可包括一个或多个网络元件112以及向例如客户130提供服务的一个或多个计算系统114(其可包括/或可连接到一个或多个数据库系统)。本领域的技术人员将认识到,服务提供商110可包括另外和/或其他计算系统,和/或网络元件。出于描述目的,计算系统114在本文可称为服务器。然而,应理解,术语服务器的使用是非限制性的,并且可使用其他类型的计算系统。服务器114中的一个或多个可包括一个或多个处理器和一个或多个存储器。服务器114中的一个或多个还可包括使服务器能够连接到网络元件112并且由此连接到网络103的一个或多个基于网络硬件/软件/固件接口/端口。这类接口可被配置来支持一种或多种不同类型的物理网络连接(诸如、光纤和/或无线),可被配置来支持一种或多种不同类型的协议(诸如以太网),并且可被配置来以任何速度(诸如Gb速率)操作。本领域的技术人员将认识到,服务器114可具有另外和/或其他配置。服务提供商110还可包括可存储在一个或多个数据库系统和/或服务器114上并且可被配置来在服务器114中的一个或多个上执行的一个或多个基于软件和/或固件和/或硬件的应用程序。每个服务器可执行相同或不同应用程序。作为一个实例,所述应用程序可被配置来提供用于如本文所述贸易/匹配一个或多个项目的一个或多个电子匹配/贸易引擎。
[0036] 网络元件112可包括例如一个或多个路由器和/或交换机,其包括例如核心和/或边缘路由器和/或交换机。网络元件112中的每一个可包括使网络元件能够相互连接、连接到服务器114中的一个或多个和/或连接到网络103的一个或多个基于网络硬件/软件/固件的接口/端口。这类接口可被配置来支持一种或多种不同类型的物理网络连接(诸如铜、光纤和/或无线),可被配置来支持一种或多种不同类型的协议(诸如以太网),并且可被配置来以任何速度(诸如Gb速率)操作。本领域的技术人员将认识到,网络元件112可具有另外和/或其他配置。网络元件112中的一个或多个可包括到彼此、到服务器114和/或到网络103的一个或多个物理连接(有线/无线)。网络元件112以及服务器114中的一个或多个可进一步被配置成使得服务器114中的一个或多个具有私用网络地址并且因此驻留在服务提供商110的私用网络上,和/或具有公共地址并且因此驻留在公共网络上。以此方式,网络元件
112可被配置成使得服务器114可与彼此和/或与网络103通信,并且由此与例如连接到网络
103的一个或多个其他计算系统(诸如客户130的计算系统138)通信。本领域的技术人员还将认识到,网络元件112可包括如本文所述的另外和/或其他元件,并且可提供不同于本文所述的另外和/或其他类型的功能。
[0037] 示例性客户130(如由客户130a所示)可包括一个或多个网络元件132、134和136以及一个或多个计算系统138(其可包括/或连接到一个或多个数据库系统)。本领域的技术人员将认识到,客户130可包括另外和/或其他计算系统,和/或网络元件。本领域的技术人员将认识到,其他客户130可包括与图1A中示出的客户130a的配置类似的配置和/或其他配置。出于描述目的,计算系统138在本文可称为服务器。然而,应理解,术语服务器的使用是非限制性的,并且可使用其他类型的计算系统。服务器138中的一个或多个可包括一个或多个处理器和一个或多个存储器。服务器138中的一个或多个还可包括使服务器能够连接到网络元件132-136中的一个或多个并且由此连接到网络103的一个或多个基于网络硬件/软件/固件的接口/端口。这类接口可被配置来支持一种或多种不同类型的物理网络连接(诸如铜、光纤和/或无线),可被配置来支持一种或多种不同类型的协议(诸如以太网),并且可被配置来以任何速度(诸如Gb速率)操作。本领域的技术人员将认识到,服务器138可具有另外和/或其他配置。客户130还可包括可存储在一个或多个数据库系统和/或服务器138上并且可被配置来在服务器138中的一个或多个上执行的一个或多个基于软件和/或固件和/或硬件的应用程序。每个服务器可执行相同或不同应用程序。作为一个实例,所述应用程序可被配置来使用由服务提供商110的服务器114提供的服务,并且具体地,可被配置来例如通过使用由服务提供商110的服务器114提供的电子匹配/贸易引擎来与一个或多个其他客户130贸易一个或多个项目。根据这个实例,客户130的服务器138中的一个或多个可通过网络
103向例如服务提供商110的服务器114电子传送包括例如以指定价格和/或数量(例如,出价、报价、命中、售得金额)买和/或卖项目的订单的数据/消息。类似地,服务提供商110的服务器114可电子接收并执行这类订单,并且向客户130的服务器138传送包括例如待决订单和已执行订单的价格和数量的数据/消息。本领域的技术人员将认识到,这仅是实例并且其他和/或另外服务可由服务提供商110提供,并且另外和/或其他消息/数据可在服务提供商
110与客户130之间传递,如本文所述。
[0038] 客户130的网络元件132-136可包括例如一个或多个路由器和/或交换机,其包括例如核心和/或边缘路由器和/或交换机。网络元件中的每一个可包括使网络元件能够相互连接、连接到服务器138中的一个或多个和/或连接到网络103的一个或多个基于网络硬件/软件/固件的接口/端口。这类接口可被配置来支持一种或多种不同类型的物理网络连接(诸如铜、光纤和/或无线),可被配置来支持一种或多种不同类型的协议(诸如以太网),并且可被配置来以任何速度(诸如Gb速率)操作。本领域的技术人员将认识到,网络元件132-136可具有另外和/或其他配置。网络元件132-136中的一个或多个可包括到彼此、到服务器
138中的一个或多个和/或到网络103的一个或多个物理连接(有线/无线)。网络元件132-
136可进一步被配置成使得服务器138中的一个或多个具有私用网络地址并且因此驻留在相应客户130的私用网络上,和/或具有公共地址并且因此驻留在公共网络上。以此方式,网络元件132-136可被配置成使得服务器114可与彼此和/或与网络103通信,并且由此与例如连接到网络103的一个或多个其他计算系统(诸如服务器114)通信。本领域的技术人员还将认识到,网络元件132-136可包括如本文所述的另外和/或其他元件,并且可提供不同于本文所述的功能的另外和/或其他类型的功能。
[0039] 网络103可包括一个或多个网络元件,其包括例如一个或多个路由器和/或交换机。这类网络元件可包括一个或多个基于网络硬件/软件/固件的接口/端口,所述接口/端口可被配置来支持一种或多种不同类型的物理网络连接(诸如铜、光纤和/或无线),可被配置来支持一种或多种不同类型的协议(诸如以太网),并且可被配置来以任何速度(诸如Gb速率)操作。网络103的一个或多个元件可包括到彼此、到实体110和实体130中的每一个的一个或多个物理连接(有线/无线)。以此方式,网络103可被配置成使得实体110的计算系统114和实体130的计算系统138可与至少彼此通信。网络103可被配置为公共和/或私用网络。
本领域的技术人员还将认识到,网络103可包括如本文所述的另外和/或其他网络元件,并且可以不同于本文所述的另外和/或方式来配置。
[0040] 转向图1B,其中类似参考数字指代如本文所述的类似元件,图1B示出可以是图1A的系统100的示例性配置的系统200。根据这个实例,服务提供商110的网络元件112可包括交换机(诸如核心交换机),所述交换机包括到服务器114中的每一个的一个或多个连接。作为实例,网络元件112可以是Arista 7124应用交换机,尽管可使用其他和/或另外网络元件。网络元件112以及服务器114中的一个或多个可进一步被配置成使得服务器114中的一个或多个在网络103上具有网络地址,所述地址可称为“公共”地址(尽管所述地址实际上可能不是公共的)。根据示例性系统200的示例性方面,网络103可以是服务提供商110的私用网络(可能是拥有的或租用的)。根据这个实例,网络元件112以及服务器114中的一个或多个将是网络103的一部分。换句话讲,网络元件112的对接服务器114并且还对接客户130的网络接口可以位于相同地址空间上。
[0041] 根据图1B的这个示例性配置的再一方面,示例性客户130 (如由客户130a所示)的网络元件136可包括交换机、诸如核心交换机,网络元件134可以是交换机、诸如边缘交换机,并且网络元件132可以是路由器。交换机136可包括到服务器138中的每一个的一个或多个连接和到交换机134的一个或多个连接。进而,交换机134可包括到路由器136的一个或多个连接。网络元件132-136以及服务器138中的一个或多个可进一步被配置成使得服务器138中的一个或多个具有私用网络地址(即,不在网络103上的地址)并且因此驻留在与网络
103分离的私用网络上。其他客户130n可具有类似的配置。
[0042] 根据图1B的这个示例性配置的再一方面,每个客户130可在网络103上具有一个(可能多个)地址,所述地址可称为“公共”地址(尽管所述地址实际上可能不是公共的)。因此,每个路由器132也可被配置为网络地址转换器(NAT)并且可能地被配置为端口地址转换器(PAT),所述转换器例如在服务器138在客户130网络上的一个或多个私用地址与例如网络103上被指配给相应客户130的公共地址之间进行映射。因此,当服务器138正在向服务器114传送消息/数据(其可封装在例如包括地址和/或端口的分组中)时,路由器136可将分组中服务器138的私用地址转换成网络103上被指配给客户130的公共地址。同样地,这类转换还可包括将由服务器138上的应用程序使用的端口号转换成另一个端口号。类似地,当服务器114正在向服务器138传送消息/数据(其可封装在例如包括地址和/或端口的分组中)时,路由器136可将分组中被指配给客户130的公共地址转换成服务器138的私用地址。同样地,作为地址转换的一部分,路由器136还可执行端口转换。
[0043] 根据图1B的这个示例性配置的再一方面,网络103可包括服务提供商110的交换机112与例如客户130的路由器132中的每一个之间的点对点连接113a-113n (尽管同样地,非点对点连接是可能的)。例如,服务提供商110的交换机112与例如客户130的路由器132之间的每个连接可以是以例如1Gb、10 Gb、100Gb等运行的光纤连接、诸如单模光纤连接(尽管可使用其他类型的连接和速率)。根据这个示例性配置的又一方面,以下两者中的一者或多者可位于同处、诸如处于相同房间中:服务提供商110的服务器114和网络元件112,和相应客户130的网络元件132-136和服务器138。例如,服务器114中的一个或多个和网络元件112可驻留在一个机架中。类似地,第一相应客户130的网络元件132-136和服务器138中的一个或多个可驻留在另一个相应机架中,等等。本领域的技术人员还将认识到,系统200可包括不同于本文所述的另外和/或其他元件,并且可包括不同于本文所述的那些配置的另外和/或其他配置。
[0044] 如图1A和图1B中所示的示例性系统100和200可能发生的一个示例性问题在于:当在服务器114与服务器138之间传送数据时,可引入显著延迟。作为具体实例,由于例如网络/端口转换功能,路由器132可引入(例如,大于100 us的)延迟。类似地,不同客户130处的不同路由器132可经历不同延迟。
[0045] 转向图2,其中类似参考数字指代如本文所述的类似元件,图2示出类似于图1B的示例性系统200的示例性系统300。根据这个实例,系统300包括网络元件202。网络元件202可以是服务提供商110的一部分,并且因此,可由服务提供商110拥有和/或操作。网络元件202可与服务提供商110的服务器114和/或服务提供商110的一个或多个网络元件(包括网络元件112)位于同处,并且可与这些元件驻留在相同机架中。本领域中的技术人员将认识到,网络元件202无需由服务提供商110拥有和/或操作并且无需与服务提供商110的网络元件和/或服务器位于同处。
[0046] 网络元件202可包括使网络元件能够可能地通过例如网络元件112连接到服务器114的一个或多个基于网络硬件/软件/固件的接口/端口204a……204n。网络元件202还可包括使网络元件能够连接到例如相应客户130a-130n的服务器138的一个或多个基于网络硬件/软件/固件的接口/端口206a……206n。网络元件202的网络接口204a-204n和206a-
206n可被配置来支持一种或多种不同类型的物理网络连接(诸如铜、光纤和/或无线),可被配置来支持一种或多种不同类型的协议(诸如以太网),并且可被配置来以任何速度(诸如Gb速率)操作。此外,不同网络接口204a-204n和206a-206n可具有不同配置。本领域的技术人员将认识到,网络元件202可具有另外和/或其他配置。
[0047] 如图2进一步所示,网络元件202的网络接口204a-204n中的一个或多个可例如由到网络元件112 (它可以是交换机)的连接210a-210n物理连接(有线/无线地)。根据另一个和/或另外实例,网络元件202的网络接口204a-204n中的一个或多个可各自由直接到服务提供商110的相应服务器114的一个或多个连接210a-210n物理连接。根据示例性系统300的再一方面,每个客户130a-130n可被分配网络元件202的一个或多个相应网络接口206a-206n。因此,网络元件202的每个相应网络接口206a-206n可例如由直接地和/或通过相应客户130a-130n的一个或多个网络元件(诸如网络元件136,它可以是例如交换机)到相应客户的相应服务器138的连接212a-212n物理连接(有线/无线地)。例如,每个连接212a-212n可以是以例如1Gb、10 Gb、100Gb等运行的光纤连接、诸如单模光纤连接(尽管可使用其他类型的连接和速率)。本领域的技术人员将认识到,网络元件202和系统300的另外和/或其他配置是可能的。
[0048] 根据示例性系统300的再一方面,网络元件202的网络接口204a-204n、连接210a-210n、网络元件112、以及服务器114中的一个或多个可驻留在网络214上,所述网络214可以是服务提供商110的私用网络并且具有网络地址空间。因此,网络元件112以及服务器114中的一个或多个可被配置成使得服务器114中的一个或多个在网络214上具有在所述网络地址空间内的网络地址。根据这个示例性配置的再一方面,网络接口206a、连接212a、相应客户130a的例如网络元件136、以及相应客户130a的服务器138中的一个或多个可驻留在客户
130a的网络216a上,所述网络216a可以是客户130a的私用网络并且具有网络地址空间。因此,客户130a的网络元件136以及服务器138中的一个或多个可被配置成使得服务器138中的一个或多个在网络216a上具有在相应网络地址空间内的网络地址。类似地,例如网络接口206n、连接212n、客户130n的网络元件136、以及客户130n的服务器138中的一个或多个可驻留在客户130n的网络216n上,所述网络216n可以是客户130n的私用网络并且具有相应网络地址空间。因此,客户130n的网络元件136以及服务器138中的一个或多个可被配置成使得客户130n的服务器138中的一个或多个在网络216n上具有在相应网络地址空间内的网络地址。图2中未示出的其他客户130可具有类似配置。
[0049] 根据本示例性系统的再一方面,网络元件202可以是例如双向的网络地址转换器(NAT)并且可能地是双向的端口地址转换器(PAT)。更确切地,根据这个实例,每个客户130a-130n可在网络214上具有在网络214的网络地址空间内的一个(可能多个)地址。因此,针对每个客户130a-130n,网络元件202可被配置为NAT/PAT,所述NAT/PAT例如在服务器138在相应客户网络216a-216n上(即,在相应网络的网络地址空间内)的一个或多个地址与网络214上被指配给相应客户130a-130n的在网络214的网络地址空间内的地址之间进行映射。因此,当服务器138正在向服务器114传送消息/数据(其可封装在例如包括地址和/或端口的分组中)时,网络元件202可将分组中服务器138在网络216a-216n上的地址转换成网络
214上被指配给客户130a-130n的地址。同样地,这类转换也可包括将分组中由服务器138上的应用程序使用的端口号转换成另一个端口号。类似地,当服务器110正在向服务器138传送消息/数据(其可封装在例如包括地址和/或端口的分组中)时,网络元件202可将分组中网络214上被指配给客户130a-130n的地址转换成服务器138在网络216a-216n上的地址。同样地,作为地址转换的一部分,网络元件202还可执行端口转换。
[0050] 转向图3,其中类似参考数字指代如本文所述的类似元件,图3示出网络元件202的示例性体系结构。网络元件202可包括多个计算处理器,其包括处理器301a……301n中的一个或多个以及处理器302a、302b、……、302n中的一个或多个。处理器301a-301n在本文可称为调度处理器,并且处理器302a-302n在本文可称为网络处理器。术语“调度”和“网络”意图是非限制性的并且仅为了便于讨论而在本文中使用。处理器301a-301n和302a-302n中的每一个在例如存储器、处理速度等方面可以被或可以不被类似地配置。本领域的技术人员将认识到,网络元件202可包括另外和/或更少的处理器。根据示例性网络元件202的再一方面,调度处理器301a-301n和网络处理器302a-302n中的任何一个或多个可通过通信体系结构(诸如,总线体系结构)互连,所述通信体系结构可包括例如共享存储器体系结构。本领域的技术人员将认识到,其他和/或另外通信体系结构是可能的。通信体系结构可以是这样以使得调度处理器301a-301n中的任一个可被配置来与网络处理器302a-302n中的任一个通信。本领域的技术人员将认识到,其他配置是可能的。
[0051] 如本文所讨论,网络元件202还可包括可被配置来例如与服务器114直接或间接对接的一个或多个网络接口204a-204n以及可被配置来例如与相应客户130a-130n对接的一个或多个网络接口206a-206n。网络接口204a-204n和206a-206n可具有相同配置和/或一种或多种不同配置。例如,接口204a-204n和206a-206n可以是以例如1Gb、10Gb、100Gb等速率运行的长程或短程、单模或多模光纤接口的任何组合。网络接口204a-204n和206a-206n中的一个或多个在物理上可位于其自己的网络接口卡上,和/或网络接口204a-204n和206a-206n中的若干个在物理上可位于一个或多个共用网络接口卡上。本领域的技术人员将认识到,其他配置是可能的。
[0052] 如本文中所讨论,每个网络接口206a-206n可被分配给相应客户130a-130n并且与其对接。本领域的技术人员将认识到,给定客户可被分配多个网络接口(例如,出于负载平衡目的、备用等)。根据示例性网络接口202的再一方面,每个网络接口206a-206n可被指配/分配给网络处理器302a-302n中的相应一个,使得通过相应网络接口传送的所有数据仅由相应网络处理器处置。然而,本领域技术人员将认识到,另外和/或其他配置是可能的,所述另外和/或其他配置包括将两个或更多个网络接口206a-206n指配给给定网络处理器302a-302n和/或将两个或更多个网络处理器302a-302n指配给给定网络接口206a-206n。根据示例性网络元件202的再一方面,给定网络接口206a-206n可通过通信体系结构(诸如,总线体系结构、诸如PCIe总线体系结构)与其相应网络处理器302a-302n互连。本领域的技术人员将认识到,其他和/或另外通信体系结构是可能的。通信体系结构可以是这样以使得任何网络接口206a-206n可被配置来与网络处理器302a-302n中的任何一个或多个通信,并且反之亦然。根据网络元件202的再一方面,每个网络处理器302a-302n可对除例如来自其相关联网络接口206a-206n的中断之外的所有中断屏蔽。本领域的技术人员将认识到,其他配置是可能的。
[0053] 如图3进一步所示,示例性网络元件202可包括一个或多个网络应用程序303a-303n。应用程序303a-303n可以是基于软件的应用程序,尽管包括基于固件和/或硬件的应用程序的其他和/或另外配置是可能的。网络元件202还可包括应用程序303a-303n可存储在其上和/或所述应用程序可从其执行的一个或多个存储器装置。这类存储器装置可电连接到处理器301a-301n和302a-302n中的一个或多个。根据网络元件202的一方面,每个网络处理器可执行应用程序303a-303n。根据网络元件202的再一方面,每个应用程序303a-303n仅可在相应处理器上执行。因此,应用程序303a仅可在处理器302a上执行,应用程序303b仅可在处理器302b上执行,等等。这可称为处理器亲和性。然而,本领域技术人员将认识到,另外和/或其他配置是可能的,所述另外和/或其他配置包括使多个应用程序303a-303n在单个处理器302a-302n上执行和/或使应用程序303a-303n中的一个或多个在多个处理器上执行。例如,在一些实施方案中,路由装置可具有在l流级处被指配的核心或处理器亲和性。
[0054] 这样,根据网络元件202的示例性配置,给定网络应用程序303a-303n可被指配/分配给相应网络处理器302a-302n并且在其上执行,所述相应网络处理器302a-302n可被指配/分配给相应网络接口206a-206n,所述相应网络接口206a-206n可被指配/分配给相应客户130a-130n。根据这个示例性配置的再一方面,每个网络应用程序302a-302n可被配置为NAT并且可能地被配置为PAT,并且执行网络/端口转换以用于在网络214与相应客户130a-130n的相应网络216a-216n之间传递消息/数据。因此,网络元件202可(诸如由网络管理员)配置来将给定网络接口206a-206n指配/分配给给定网络处理器302a-302n,并且可进一步被配置成使得每个网络处理器上的网络应用程序303a-303n基于所指配接口连接到的客户
130a-130n而执行NAT/PAT功能。根据网络处理器302a-302n和网络接口206a-206n的物理硬件配置/布局,和/或由每个相应客户130a-130n生成和/或发送至每个相应客户的数据量,网络接口206a-206n到网络处理器302a-302n的某些指配/分配可在网络元件202的总数据吞吐量方面比其他指配/分配更加有益,并且相应地诸如由管理员指配。例如,将给定网络接口206a-206n分配给附近网络处理器302a-302n可以是有益的。本领域的技术人员将认识到,网络应用程序302a-302n无需被配置为NAT/PAT,并且一个网络应用程序可被配置来执行与另一个网络应用程序不同的功能等。
[0055] 根据示例性网络接口202的再一方面,每个网络接口204a-204n可被指配/分配给调度处理器301a-301n中的相应一个,使得通过相应网络接口传送的所有数据仅由相应调度处理器处置。然而,本领域的技术人员将认识到,另外和/或其他配置是可能的。例如,所有网络接口204a-204n可被指配/分配给调度处理器301a-301n中的一个,和/或调度处理器中的每一个可被配置来与网络接口204a-204n中的任何一个或多个通信。根据示例性网络元件202的再一方面,给定网络接口204a-204n可通过通信体系结构(诸如,总线体系结构、诸如PCIe总线体系结构)与相应调度处理器301a-301n互连。本领域的技术人员将认识到,其他和/或另外通信体系结构是可能的。通信体系结构可以是这样以使得任何网络接口204a-204n可被配置来与调度处理器301a-301n中的任何一个或多个通信,并且反之亦然。
根据网络元件202的再一方面,调度处理器301a-301n中的一个或多个可对除例如来自网络接口204a-204n中的一个或多个的中断之外的所有中断屏蔽。本领域的技术人员将认识到,其他配置是可能的。
[0056] 如图3中进一步所示,网络元件202还可包括一个或多个调度应用程序和/或一个或多个管理应用程序,它们在图3中共同地被示出为应用程序304a-304n。应用程序304a-304n可以是基于软件的应用程序,尽管包括基于固件和/或硬件的应用程序的其他配置是可能的。如所讨论,网络元件202还可包括应用程序304a-304n可存储在其上和/或所述应用程序可从其执行的一个或多个存储器装置。根据网络元件202的一个实例,每个调度处理器
301a-301n可执行一个或多个调度应用程序、一个或多个管理应用程序或两者的组合。作为另一个实例,调度应用程序和/或管理应用程序可在多个处理器上执行。作为另一个实例,调度应用程序可在一个调度处理器301a-301n上执行并且负责(如在本文中所讨论)网络处理器302a-302n的子集,而另一个调度应用程序可在另一个调度处理器301a-301n上执行并且负责网络处理器302a-302n的不同子集。作为另一个实例,调度应用程序可在一个调度处理器301a-301n上执行并且负责所有网络处理器302a-302n。作为再一个实例,调度应用程序可在多个调度处理器301a-301n上执行并且负责所有网络处理器302a-302n。本领域的技术人员将认识到,其他变型是可能的。为了便于描述,网络元件202在本文中将被描述为具有一个调度应用程序和一个管理应用程序。本领域的技术人员将认识到,网络元件202可包括与本文所述那些不同类型的应用程序。
[0057] 根据示例性网络元件202的再一方面,调度应用程序304可被配置来如下所述在网络接口206a-206n与网络接口204a-204n之间传递消息/数据:
[0058] a. 对于在网络接口206a-206n上接收的消息/数据,一旦相应网络应用程序303a-303n已经例如对相应分组执行NAT/PAT转换,那么调度应用程序304可检索/获得所转换分组并且将所转换分组转发/传送到网络接口204a-204n中的一个上/将其转发/传送到网络接口204a-204n中的一个。
[0059] b. 对于在网络接口204a-204n上接收的消息/数据,调度应用程序304可获得所述消息/数据,确定相应网络应用程序303a-303n中的哪一个将对相应分组执行NAT/PAT转换,并且将所述分组转发/传送到那个网络应用程序,在那个网络应用程序处,所述分组可被转换(NAT/PAT)并且转发/传送到相应网络接口206a-206n/到其上。
[0060] 这样,根据网络元件202的示例性操作,给定客户130a-130n的给定服务器138可向服务提供商110的服务器114传输消息/数据(其可封装在例如包括地址和/或端口的分组中)。所述消息/数据/分组可在网络元件202的给定网络接口206a-206n处被接收。被指配给那个类网络接口206a-206n的网络处理器302a-302n的给定网络应用程序303a-303n然后可从网络接口206获得/接收和/或被转发所述消息/数据/分组(或其一部分)并且对所述相应分组执行NAT/PAT转换。网络应用程序303a-303n然后可将所转换消息/数据/分组转发到调度应用程序304和/或使其可供调度应用程序304使用,所述调度应用程序304然后又可获得和/或接收所转换消息/数据/分组,然后将所转换消息/数据/分组转发到相应网络接口204a-204n和/或使其可供相应网络接口204a-204n使用,在相应网络接口204a-204n处,所述消息/数据/分组然后可被传送到服务器114。类似地,服务提供商110的给定服务器114可向客户130a-130n的服务器138传输消息/数据(其可封装在例如分组中)。所述消息/数据/分组可在网络元件202的给定网络接口204a-204n处被接收。调度应用程序304然后可从网络接口204a-204n获得/接收和/或被转发所述消息/数据/分组(或其一部分),确定相应网络应用程序303a-303n/网络处理器302a-302n中的哪一个将对所述消息/数据/分组执行NAT/PAT转换,并且将所述消息/数据/分组转发到那个网络应用程序303a-303n或使其可供那个网络应用程序303a-303n使用(作为一个实例,并且其他实现方式是可能的,以便使调度应用程序将消息/数据转发到正确的网络处理器302a-302n,所述调度应用程序可维持将与客户130相关联的网络地址映射到相应网络处理器302a-302n的表格,所述表格可由管理员配置)。网络应用程序303a-303n进而可获得和/或接收所述消息/数据/分组,对相应分组执行NAT/PAT转换,并且将所转换消息/数据/分组转发到被指配给网络应用程序303a-303n正在其上执行的网络处理器302a-302n的相应网络接口206a-206n和/或使其可供相应网络接口206a-206n使用。网络接口206然后可将所述消息/数据/分组传送到客户130a-130n的服务器138。本领域的技术人员将认识到,这仅是实例,并且网络元件202的其他和/或另外示例性操作是可能的。本领域的技术人员还将认识到,由如本文所述的由调度应用程序304执行的操作和如本文所述的由网络应用程序303a-303n执行的操作可完全或部分地由另一者执行。
[0061] 关于调度应用程序304与任何给定网络应用程序303a-303n之间的通信(作为一个实例),所述两个应用程序可通过一个或多个(例如,两个)共享存储器循环队列通信。例如,网络应用程序303可将所转换的来自网络接口206的消息放置到第一存储器队列中,并且更新所述队列的索引/指针,例如以反映另一个消息在所述队列中。类似地,调度应用程序304可监测所述队列的索引/指针,识别在所述队列中存在新消息,读出所述消息,并且更新索引/指针,例如以反映所述消息已经被读出。类似地,调度应用程序304可将来自网络接口204的消息放置到第二存储器队列中,并且更新所述队列的索引/指针,例如以反映另一个消息在所述第二队列中。类似地,网络应用程序303可监测所述第二队列的索引/指针,识别在所述队列中存在新消息,读出所述消息,并且更新索引/指针,例如以反映所述消息已经被读出。类似过程可供其他网络应用程序303 (其可具有它们自己一组队列)用于与调度应用程序304通信。本领域的技术人员将认识到,这些仅仅是实例并且可使用其他通信技术/过程。
[0062] 如所讨论,网络元件202还可包括例如可在调度处理器301a-301n上执行的管理应用程序304。这种应用程序可由管理员用来监测网络元件202的状态并且配置所述网络元件。例如,网络元件202可包括例如一个或多个输入/输出装置,诸如显示接口、鼠标键盘触摸屏、(用于远程访问的)网络接口等。通过使用这类接口和管理应用程序304,例如,管理员可监测网络元件202的状态并且配置所述网络元件。例如,管理员可将给定网络接口206a-206n指配/分配和/或重新指配/重新分配给给定网络处理器302a-302n。管理员可进一步根据客户130a-130n来配置给定网络处理器302的网络应用程序303a-303n (例如,关于网络应用程序303正在其间进行转换的地址和/或端口),网络应用程序303正代表所述客户130a-130n执行NAT/PAT转换。本领域的技术人员将认识到,可以其他方式配置网络应用程序。例如,网络元件202的硬件/软件配置的一个优点在于:管理员例如可重新配置给定客户130a-130n (例如,在NAT/PAT配置方面、在哪一个网络处理器302a-302n被指配给客户的方面和/或在哪一个网络接口206a-206n被指配给网络处理器302a-302n和/或客户的方面)而不干扰其他客户。管理应用程序304还可包括例如IPMI子系统,使得管理员可监测网络元件202的状态。这种子系统也可与管理应用程序304分离。本领域的技术人员将认识到,这些仅是示例性管理功能,并且其他/另外功能是可能的。
[0063] 根据网络元件202的再一方面,网络元件还可包括一个或多个存储器装置、诸如固态驱动器,并且可包括捕获移动通过网络元件的所有(或部分)数据并且将所述数据记录到驱动器的一个或多个记录应用程序。根据再一方面,所述记录应用程序可过滤所述数据并且仅存储所述数据的部分,和/或可对所述数据进行分析(诸如等待时间计算)并且存储这类分析。根据又一方面,所述记录程序可过滤所述数据(诸如查找市场数据价格、已完成交易等)和/或对所述数据执行分析,并且将所过滤数据和/或分析转发到别的网络接口(例如,不同于网络接口204a-204n和206a-206n)上。在网络元件202外部的其他系统和用户(像客户130)可接收这类数据和/或分析,包括接收针对价格的数据和/或分析。本领域的技术人员将认识到,这些仅是示例性记录功能,并且其他/另外记录功能是可能的。
[0064] 根据网络元件202的示例性实现方式,可使用包括多个(例如,8个)核心的英特尔Sandy Bridge处理器来提供处理器301a-301n和302a-302n中的一个或多个。例如,对于给定Sandy Bridge处理器,一个或多个核心可被分配为调度处理器302a-302n,并且一个或多个核心可被分配为网络处理器303a-303n。这类核心可如本文针对处理器301a-301n和302a-302n所述来配置和进行操作。网络元件202还可包括多个Sandy Bridge处理器。这里,对于每个Sandy Bridge处理器,一个或多个核心可被分配为网络处理器302a-302n,并且一个或多个核心可被分配为调度处理器301a-301n (其例如仅与所述芯片的网络处理器一起工作以用于在网络接口204a-204n与206a-206n之间移动消息的目的)。在这种配置中,网络接口206a-206n中的任一个可被分配给Sandy Bridge的网络处理器(核心)中的任一个。可替代地,仅某些网络接口206a-206n可被分配给一个Sandy Bridge处理器,而另一组网络接口206a-206n可被分配给另一个Sandy Bridge处理器,等等。类似地,网络接口204a-204n中的任一个可被分配给Sandy Bridge处理器的调度处理器(核心)中的任一个。可替代地,仅某些网络接口204a-204n可被分配给一个Sandy Bridge处理器,而另一组网络接口206a-
206n可被分配给另一个Sandy Bridge处理器,等等。本领域的技术人员将认识到,这些仅仅是实例并且可以使用其他配置和其他芯片组
[0065] 根据网络元件202的再一个示例性实现方式,可通过例如来自Hotlava的一种或多种网络接口卡(其包括Tambora 120G6、Tambora 64G6、Tambora 80G4、Tambora 64G4和Bosavi 12G6中的任何一种或多种)来提供网络接口204a-204n和/或206a-206n。本领域的技术人员将认识到,这些仅仅是实例并且可使用其他网络接口卡,包括来自其他供应商的那些。
[0066] 根据网络元件202的再一示例性实现方式,可将例如Sandy Bridge处理器以及例如来自Hotlava的网络接口卡插到单个主板上,并且这种系统可运行Linux操作系统。同样地,本领域的技术人员将认识到,这些仅仅是实例并且其他配置是可能的。
[0067] 本领域的技术人员将认识到,网络元件202还可(例如,在还如本文在图2和图3中所讨论地被配置的同时)被反向配置。例如,网络214上的给定服务器114可在另一个网络(诸如网络216a)上具有一个(可能多个)地址,尽管对接到网络接口206的别的网络是可能的。因此,对于给定服务器114,网络元件202可被配置为NAT/PAT (如本文所讨论),所述NAT/PAT例如在服务器114在客户网络214上的一个或多个地址与网络216a上被指配给服务器的地址之间进行映射。
[0068] 虽然本公开就某些实施方案和总体相关联的方法进行了描述,但本领域的技术人员将明白所述实施方案和所述方法的更改和变换。因此,示例性实施方案的上述描述并不约束本公开。在不背离本公开的精神和范围的情况下,其他变化、替换和更改也是可能的。在各种实施方案中,定义和/或实现软件定义网络的路由装置可根据希望驻留在数据中心和/或客户和/或服务提供商处。例如,SDN的边缘路由装置可提供l流路由,客户或服务提供商(provide)的交换机或边缘路由装置可提供这类功能等等。
[0069] 一些实施方案可包括软件定义网络。这种网络可使用高速联网装置,诸如本文公开的一个(例如,诸如装置202的装置)。这种网络可以高度灵活性和速度实现和/或分布式金融网络。在一些实施方案中,软件定义网络可包括运营商级网络转换系统。
[0070] 对于SDN的端点,SDN可根据希望执行分组的NAT(具有报头)和/或可支持端口级重定向(端口地址转换)—充当一个或多个外部网络与一个或多个内部SDN IP区之间的代理。这种设计可帮助减少路由并且有助于确保外部网络变化可在无需任何下游路由变化的情况下发生。在一些实施方案中,每个由SDN横跨的数据中心可存在一个内部SDN IP区。l流可被定义为可从源访问的IP和端口对。SDN可向由特定l流定义的服务提供商提供路由、解析、负载平衡、故障切换等服务。
[0071] 在客户网络处,SDN可显现为具有静态路由的简单服务器连接。例如,客户到SDN的连接可类似于上文关于通过网络装置202进行的连接所述的连接。当其他端点(例如,FIX端点、市场数据端点和/或内部服务)被启用时,面向客户的SDN端点可在如由客户网络定义的不同端口或IP (例如,如l流)上呈现这些服务。
[0072] 故障切换和负载平衡可在应用层被处置并且可在叫做逻辑流(l流)的每个IP和端口组上被定义。这允许通过将网络故障切换提升至应用级来对应用级故障切换和负载平衡进行细粒控制。
[0073] SDN可充当用来向全球网络供电的专有连接层。不像传统网络系统,这种SDN可与网络级和应用级两级的系统交互。像传统服务器一样,端点可使用标准IPv4 TCP/IP设置进行连接。一旦连接,SDN然后就可被配置来在称为l流的每IP和端口对上提供无数传递、解析、负载平衡和故障切换选项。
[0074] 在一些实施方案中,针对每个端点,SDN可使用1 Gbe、10 Gbe单模光纤(SMF)连接。如上应认识到,在各种实施方案中,可使用任何类型的连接,并且这些实例是非限制性的。
SDN端点(在SDN侧上)可被配置有来自适合(suite)外部网络的任何地址空间的一个或许多IP地址。在一些实施方案中,SDN端点可具有以下要求:每个SDN端点必须被指配(至少) 1个静态IPv4地址,并且每个SDN端点必须被提供(至少) 1个默认网关。应认识到,虽然就IPv4和TCP给出实例,但其他实例可使用任何所希望的技术,诸如IPv6和UDP等。
[0075] 到和/或来自SDN的连接可终止于或源自于借助于由SDN对l流IP和端口对进行的完全网络地址转换而被指配给外部连接的IP地址。
[0076] SDN端点可直接连接到所连接的用户/服务提供商的外部主和/或次交换机或其他元件。这种配置可促进一些形式的等待时间的减少。图5示出LUCERA SDN端点到外部LAN的外部交换机的连接的实例。在一些实施方案中,应用服务器与SDN之间不存在另外的路由层。在这种配置中,每个端点可被指配来自外部IP池的IP地址,并且SDN端点可被配置成非常像传统服务器网络接口。
[0077] 在一些实现方式中,SDN端点可连接到外部防火墙或路由器。这种配置类似于上述配置,只是IP地址是从转接网络指配。图6示出这种连接的实例。这种拓扑可被部署来产生DMZ或允许VLAN合并。如果需要另外的源路由(如果外部转接不执行完全NAT),那么也可将它们添加到SDN端点。
[0078] 如果希望将SDN连接到多个VLAN,那么一些实施方案可采用以上的直接连接拓扑并且将端点添加到每个VLAN。图7示出被配置来连接到三个单独802.1Q标记的VLAN的示例性SDN端点。在一些实施方案中,端点可支持例如高达1024个VLAN端点每物理连接。SDN端点灵活地允许这样以适应外部网络,并且可被视为网络中的单个网关或网关的集合。
[0079] 在一些实施方案中,SDN可作为运营商级网络地址转换系统操作。SDN上的每个物理端点可映射到物理网络接口并且每个逻辑IP地址可附接到那个接口。图8示出SDN节点和外部接口以及对应的内部结构(fabric)连接。在一些实施方案中,图8的元件可对应于诸如上文所述的元件202的网络元件。
[0080] 在一些实施方案中,SDN端点可执行完全(报头重写)网络地址转换以连接到核心结构。针对每个l流,可存在被指配以执行和管理NAT和/或PAT服务的一个进程(和/或核心和/或处理器)。每个外部连接可直接连接到单个接口并且NAT层可防止在外部网络上察看到通信量。
[0081] 在一些实施方案中,在默认情况下,接口可以是可从ping (ICMP回显)达到的并且没有其他端口。当应用程序被使得可供SDN (如l流)使用时,外部接口上的端口可得以启用。图9示出示例性情景,其中客户的端点可访问来自ExchangeCo的两个服务:端口9999上的市场数据馈送和9998上的FIX会话。这两个服务各自具有由IP和端口对定义的单独的l流。SDN执行ExchangeCO网络的完全NAT并且在端口9999和9998上的本地端点上呈现服务。如果希望的话,所述端口也可改变。例如,如果需要的话,SDN可在9000和9001上呈现ExchangeCO服务。在里面,SDN可采用非阻塞无拥塞结构并且内部通信可在私用结构IP区上发生。在一些实施方案中,交叉数据中心连接(包括例如冗余的横贯大陆的线路)作为边缘节点操作并且可支持内部l流。
[0082] 在一些实施方案中,SDN端点可允许访问任何数量的l流。针对给定服务(其可被标识为一组IP、端口和/或协议),SDN定义l流以管理服务的访问、故障切换和/或质量。SDN可以对访问l流的用户不可见的方式管理这些操作元件。l流可被定义为进入或外出。进入l流可以是在SDN外部并且被提供到SDN中的服务。外出l流可以是在SDN内部并且被向外提供到外部端点的服务。
[0083] 图10示出示例性进入i流正被启用。在这个实例中,ExchangeCo网络上的FIX引擎想要使得SDN客户能够访问其市场。ExchangeCO如下定义l流:IP:192.168.1.1、端口:9999、协议TCP上的市场数据;IP:192.168.1.2、端口:9998、协议TCP上的订单会话。
[0084] 图11示出客户具有用于访问ExchagneCo服务的外出l流。如果CustomerCo希望访问ExchangeCO服务,并且已经与ExchangeCo协商以获得凭证并且已经由ExchangeCo批准进行访问,那么SDN然后为客户启用用于服务的l流。ExchangeCO服务将(源IP)显现在本地CustomerCO LAN (或VLAN)上并且CustomerCO不需要知道实际ExchangeCO端点的细节。这种抽象化可允许ExchangeCO改变网络设置,而无需强制执行下游路由更新、故障切换和负载平衡,无需中断客户到ExchangeCo的连接,等等。
[0085] 在一些实施方案中,l流还可改变端口(端口地址转换)。在一些实施方案中,l流可横越交叉数据中心结构。例如,在图12的实例中,CustomerCO希望访问两个FX匹配源作为流动性的接受者(外出l流)并且访问2个FX匹配源作为流动性的提供者(进入l流)。
[0086] 作为另外的实例,图13示出希望通过SDN连接到NY4(其可标识特定数据中心)中的六个流动性提供商和LD4 (其可标识在地理上相异的数据中心)中的五个流动性提供商的流动性聚合器。为了简化聚合器侧上的连接,可在单个IP地址(在此示出为10.2.1.1)上达到所有目的地。针对每个目的地,可顺序地定义出站端口,因此所有的10个端点显现在单个IP上,其中每个端口映射到一个逻辑端点。
[0087] SDN可作为传统网络设备操作,因为它可检测链路级和IP级的故障。例如,让我们定义以下在图14中可见的进入l流:FIX引擎1:l流 IP 端口 协议
主 192.168.1.2 9999 TCP
次 192.168.2.4 8888 TCP
[0088] 表1。
[0089] l流可在主动/被动情景以及链路(物理)上的故障切换或IP故障下操作。可打开套接字以建立这些l流中的每一个。如果套接字被破坏,那么任一l流中可发生失败状态。如果主套接字被破坏,那么可在其位置中使用次l流。由于次套接字是在失败状态发生之前打开的,因而在检测到故障之后建立新的连接不存在延迟。
[0090] 将这个l流用作外出的客户可透明地将故障切换到次路径上,而从客户的度上不会对联网进行任何改变。在这种示例性情景中,在主链路发生故障时,主会话将失败并且l流将开始路由到次链路(如果这是FIX引擎,那么可发起新的会话实例)。应注意,故障检测逻辑适合外出l流。在(主链路)下游发生故障时,外出l流将接收IP层错误并且断开会话并使用次重新建立连接(有状态服务)。在一些实现方式中,故障切换方法采用有状态端点并且在故障时记录TCP重新连接。
[0091] 故障切换和负载平衡可由SDN类似地处理。可在外出和/或外出l流处应用故障切换和/或负载平衡。负载平衡服务可以许多方式实现。两个非限制性实例可包括:轮转法(具有或不具有权值)和最少连接法。
[0092] 当采用轮转平衡时,每个服务器可根据它们的权值而轮流使用。这可以是最简单且最常实施的负载平衡方法。轮转权值可被应用来将通信量引导至在计算上更加鲁棒的服务器。在一些实现方式中,池中端点的数量可限于例如1024,这意味着可存在多达1024个‘服务器’来平衡l流。图15示出利用轮转法和权值的双服务器负载平衡的实例。根据由SDN端点实施的轮转加权算法,进入所示外出l流的分组在两个进入l流之中路由至主或次fix引擎。
[0093] 在最少连接负载平衡实例中,挑选当前所连接会话数量最少的服务器。这种负载平衡方法可最适于具有不均匀计算负载的服务,并且连接长度是可变的(例如,数据库服务或web服务)。
[0094] 在一些实施方案中,可对进入和/或外出l流应用压缩。这种压缩可采取任何希望的形式。可使用的一种示例性压缩包括字典类型压缩。可使用的这种字典格压缩的一个实例包括与DEFLATE算法有关的压缩算法,诸如zlib库压缩算法。本领域的一般技术人员将认识到,在各种实施方案中,可使用其他类型的压缩算法。
[0095] 在一些情况下,压缩可通过减小和/或最小化分组大小和/或消除额外数据的传输而有助于减少等待时间和/或提高带宽。这对于大的消息更新和/或基于文本的l流(例如,FIX消息l流)来说尤其如此。
[0096] 在一些实施方案中,压缩和/或解压缩可在SDN级发生。可在进程/处理器/核心之间和/或之中共享/建立字典。API或对l流建立控制的其他方式可用来向进程指示压缩风格和方式。例如,在为新的l流建立与SDN端点的SDN连接时,可建立符合希望压缩例程的用于压缩的字典。所述字典可被可访问l流的SDN端点共享。进入那个l流端点的数据可根据压缩例程来压缩。离开所述l流的数据可根据压缩例程解压缩。端点处的进程可根据稳定例程执行指令(例如,通过由处理器/核心(诸如元件202中的那些来执行压缩和/或解压缩。
[0097] 图16示出通过l流进行的压缩的示例性实例。在这个实例中,针对每个数据块(例如,2048个字节或别的量的数据),在l流的发送器和接收端点两者上创建字典条目。所述字典以持续的方式而不是预建立或预共享的方式创建。建立字典条目的方法可跨端点预定义,这样两个端点生成相同的字典条目。其他实现方式可使用预建立或预共享的字典而不是持续的字典。
[0098] 在特定数据块的初始传递时,针对那个块,在传递端上形成字典条目。创建条目可能经历性能折损,因为与在不创建字典条目的情况下简单地传输数据相比,可能需要另外的处理。在实例中,在接收端点处,第一块可以是ABC。所创建的字典条目将ABC建立为第一条目。第二数据块可以是DEF。所创建的字典条目将DEF建立为第二条目。数据作为ABCDEF被传输到另一端点,在所述另一端点处创建匹配字典条目。
[0099] 在后续传递时,特定数据块可压缩到更小的大小。例如,2048个字节的数据块可压缩到标识字典条目的10个字节的引用。在实例中,在接收到包括两个块:DEF和HIJ的新数据串之后,接收l流将DEF块转变成对第二字典条目的引用并且为HIJ块创建新字典条目以作为第三条目。然后,传输到另一l流端点的数据是第二字典条目和HIJ块的引用指针。在另一端点处接收之后,所述端点查找第二字典条目以重新创建DEF块,从而创建完整的DEFHIJ串。所述另一端点还为HIJ块创建新字典条目。
[0100] 应认识到,给出示例性数据大小作为非限制性实例,并且可根据希望使用任何大小的字典引用和/或块。
[0101] 在一些实施方案中,可对进入和/或外出l流应用加密。这种加密可采取任何希望的形式。加密可内联地应用。例如,加密可包括SSL加密。加密可包括TLS加密。进程/处理器/核心可以每l流为基础应用相同或不同的密钥(例如,私用和/或公共密钥)。例如,可(例如,使用公共密钥)对进入l流的一个端点的数据进行加密。在一些实施方案中,数据可以加密形式离开l流并且由目的地(例如,使用公共密钥)解密。在一些实施方案中,当数据离开l流的另一端点时,所述数据可由端点(例如,使用私用密钥)解密。不同的l流可使用不同的一个密钥和/或多个密钥类似地加密和解密。可支持的一些示例性加密算法和/或密钥包括AES128- SHA、AES256-SHA和RC4-MD5。对于基于AES的密钥,端点可实现英特尔的AES-NI指令集以用于短等待时间和高吞吐量的传输。将加密卸载到SDN可允许分析应用(例如,分组捕获、解析等)对通信量进行操作。其他实施方案可包括由源和/或目的地进行加密,而不是卸载到SDN。在这类实施方案中,数据内容对SDN可以是未知的,从而使某种分析应用不可用。其他分析应用可能够不受干扰地对加密数据进行操作和/或可使用递送后报告系统来允许操作。
[0102] 在一些实施方案中,可对进入和/或外出l流应用解析应用。在一些实施方案中,l流解析可仅对分组报头进行操作。这种解析可允许执行分析,而不管是否将加密和/或压缩卸载到SDN。其他实施方案可包括有效负载(诸如分组捕获机制)的解析。处理可内联地起作用并且因此当数据分组横越SDN时并不干扰它。这种处理可通过将分组报头置于解析处理器、核心或进程的缓冲器或队列中来执行。所述缓冲器可以是与执行路由和/或传输过程的进程、处理器或核心共享的存储器空间。例如,在通过SDN端点或SDN的其他节点处理报头/数据分组之后,可将分组报头置于环形缓冲器或其他队列存储器的一部分上以供由解析进程处理。所述解析处理可在SDN路由进程本身之外发生。这种结构可确保传输后分析发生在不干扰SDN分组流的情况下发生。
[0103] 解析信息可被存储并且可以是历史地可查询的。这种查询可从连接到SDN的装置到由不涉及通过SDN路由数据的计算系统运行的非路由系统(诸如处理器或数据库)地执行。可保留不同粒度平以用于持续不同时间长度地进行查询。可保留不同指标以用于持续不同时间长度地进行查询。可作为对l流的解析而提供的示例性指标可包括带宽、错误和/或等待时间信息,诸如:带宽(位数)、吞吐量(分组数)、TCP再传输(总分组数的%)、TCP再传输(分组的#)、TCP无序分组(总分组数的%)、TCP无序分组(分组的#)、TCP活动流、应用环程时间、TCP握手等待时间等等。解析信息可通过web套接字来流式传输和/或以任何所希望的方式递送。
[0104] 在一些实施方案中,关于SDN和/或l流性能的进一步解析可以是可获得的。SDN可提供数百、数千、数万等的遥测点以用于确定关于通过SDN传输的数据的解析数据。例如,沿通过SDN的任何路由的每个跃点或节点可充当遥测点。定制指标可由客户根据可由这类遥测点收集的任何信息定义。一些另外的示例性指标可包括SNMP指标、Statsd指标、Kstats指标等。
[0105] 在一些实施方案中,可分析整个数据分组而不是分析报头。报头和分组的捕获和/或分析可以类似方式操作。
[0106] 图17和图18示出可在一些实施方案中使用的分组和/或报头捕获和/或分析布置的示例性结构。这种布置可允许对所捕获的分组和/或分组报头进行分析。捕获机制可在l流里面被组织为虚拟tap。所述虚拟tap实现网络分组中介器(broker)以根据希望散布分组信息。
[0107] 存储器空间(诸如环形缓冲器)可在图17中所示的两个进程/处理器/核心之间共享。例如,一个进程/处理器/核心可操作与l流有关的路由。另一个进程/处理器/核心可操作SDN的分组捕获和/或其他解析或功能。分组可被输入到缓冲器中并且由两个进程/处理器/核心处理。在一些实施方案中,两个核心可访问缓冲器的任何元件以处理缓冲器中的分组。在一些实施方案中,路由或l流进程/处理器/核心可访问第一组空间并且分组捕获进程/处理器/核心可访问第二组空间。第一组空间可具有比第二组空间更高的优先级。例如,在一个实施方案中,分组捕获进程/处理器/核心可在以新数据重写环形缓冲器中的最后空间、从而使其变成环形缓冲器中的第一空间之前访问所述空间。在这种实施方案中,可在允许分组捕获进程/处理器/核心对分组起作用之前优先考虑路由或l流进程/处理器/核心来处理所述分组。在一些实施方案中,分组捕获进程/处理器/核心可在中断对缓冲器的路由或l流访问方面受限制,但路由或l流进程/处理器/核心被允许中断分组捕获进程/处理器/核心。以此方式,保持路由是最重要的并且使等待时间或数据传递最小化。
[0108] 在一些实施方案中,分组捕获进程/处理器/核心可将数据从共享存储器复制到写入器缓冲器(例如,另一个环形缓冲器)。这种缓冲器可具有任何大小。一种示例性大小可以是4MB缓冲器。所述缓冲器可存储被排队以写入到磁盘或以其他方式由分析工具作用于的数据。在一些实施方案中,分组捕获进程/处理器/核心可将所捕获的分组传输到收集器代理或进程,或以其他方式将所述分组排队以便由低优先级传输进程传输。
[0109] 在一些实施方案中,对所捕获分组的捕获后处理可远离SDN的核心路由元件进行。例如,由不具有与数据的传输和/或路由有关的任何功能的处理器进行。例如,收集器代理可在这种非路由处理器上操作。图18示出这种收集器代理的操作和远离SDN的路由进行的后处理。信息从一个位置到另一个位置的复制可以可靠方式进行以维持数据完整性。例如,RAFT一致性算法可用来确保可靠复制。
[0110] 分组可用可信时间源加时间戳,这样解析可适当地重新创建或分析关于分组的信息。这种加时间戳可以是报头的一部分。GPS或CDMA时钟源可用于加时间戳。这种加时间戳也可用于次序优先级确定(例如,SDN的交换服务提供商处的价格时间优先级次序)。
[0111] 在一些实施方案中,可将所捕获分组广播到消息队列,所述消息队列允许订购所述队列的任何应用程序对所捕获的分组起作用。例如,收集器代理可将所接收分组推送到消息队列。每个l流可被指配存储器队列中的通道。这样,从特定l流捕获的分组(例如,在端点处、在SDN内的节点处等)可在所指配通道上广播。应用程序可监听特定通道上的数据并且根据希望对所述数据起作用。
[0112] 初始后处理任务可订购在消息队列上公布的l流原始文件输出。初始后处理任务可向队列公布回从原始分组捕获被重新格式化成所希望格式的数据。一种示例性格式包括PCAP格式。这样格式化的数据然后可由PCAP分析应用程序(例如,Wireshark、TCPFlow)根据希望来消费。一种示例性格式包括。初始后处理任务可在其他任务之前操作。初始后处理任务的操作可将数据指配到通道(例如,通过使用格式化重新公布的数据中的l流uuid标记)。
[0113] 响应于格式化数据在消息队列中被公布,后处理引擎可根据希望对所述数据起作用。例如,可指配后处理引擎(例如,通过API)以为来自特定l流的分组提供解析。当用那个l流的uuid标记的或以其他方式在消息队列的那个l流通道上的分组出现时,后处理引擎可起作用来分析所述分组。
[0114] 在一些实施方案中,后处理引擎可起作用来存储文件。这种存储可根据希望包括长期存储或短期存储。数据可以gzip和索引方式来存储在任何所希望的存储介质上。后处理引擎可起作用来提供重放l流活动。分组在后处时被无序地接收并且基于所述分组的时间戳被重新排序以提供准确信息。后处理可用来对所捕获分组和/或报头执行任何所希望的解析分析。
[0115] 存在可能的SDN功能性的众多实例,包括例如在一些实施方案中可以多种组合的方式提供的l流压缩、加密、分组捕获、解析等功能性。应认识到,这类功能性实例是非限制性的。
[0116] 图4示出可在一些实施方案中实现的另一个示例性SDN。在这个实例中,四个SDN端点401、403、405和407(它们可以对应于或不对应于先前图中的客户130)被示出为通过两个SDN网络装置202A和202B连接到SDN。每个网络装置为SDN数据中心411和413中的单独数据中心服务。所述数据中心可通过SDN结构连接,所述SDN结构被示出为内部联网元件和装置415。每个数据中心被示出为具有由417和419指示的内部SDN端点和/或其他服务提供商(例如,它们可以对应于或不对应于先前图中的元件、诸如114)。应认识到,这个实例作为非限制性实例被给出以示出一些实施方案的一些可能的功能性和/或布置。一些实施方案可具有不同布置、元件、功能性等。
[0117] 在基于云的和/或分布式高速贸易网络中,各端点和/或参与方可通过SDN向其他端点和/或参与方提供服务以促进贸易。例如,作为非限制性的示例性设置,端点405和407可向SDN参与方提供市场数据服务,端点401可向SDN参与方提供交换服务,并且端点403可以是利用SDN的分布式服务的贸易实体。
[0118] 端点403处的客户可通过访问由SDN指配到用于端点403的那些服务的IP地址和端口组合来访问到端点405和407中的每一个的市场数据l流。端点405和407处的服务可通过SDN传送回到端点403处的客户以提供市场数据信息。类似地,端点403可通过SDN与端点401通信以提供贸易命令(例如,出价、报价)。
[0119] 类似于外部端点,内部服务(诸如端点417)可提供服务。例如,内部服务可提供交换功能性。类似于外部服务,那个内部服务可被访问(例如,利用端口和IP对)。在一些实施方案中,端点可能不知道它们正在访问内部端点还是外部端点,因为对两者的访问可能是完全相同的(例如,利用不同端口和/或IP地址,和/或API命令)。
[0120] 这些端点中的任一个处的网络改变可由SDN考虑到。附接到SDN的元件对附接到SDN的其他元件可显现为单个网络空间。然而,所述元件实际上可相异地连接并且在物理上分离。SDN可提取这些物理差异,从而允许端点在逻辑上将彼此视作连接的装置。这种布置可允许将市场数据从这些SDN附接的服务高速和/或短等待时间地传送到SDN附接的贸易实体。
[0121] SDN的元件(诸如元件419)可对SDN的部件提供控制以促进SDN功能性。例如,控制器419可引导SDN的元件如何路由和/或处理由SDN恢复的分组。例如,核心302和/或应用程序303可被控制来根据SDN的希望对数据作出响应(例如,根据SDN结构路由、在相关时忽略、在希望时加密或压缩、在希望时分析和/或捕获)。
[0122] 例如,针对客户403,SDN可控制在网络装置202A中的专用于客户403的核心上运行的网络应用程序来启用到端点401、405和407中的每一个的路由。到其他端点的路由可由SDN控制器针对那个客户禁用。那些路由稍后可被开放和/或已开放的路由稍后可被关闭。例如,如果新的交换系统附接到SDN,那么可在变得可由客户访问的IP和端口对下建立到那个系统的新的路由。作为另一个实例,如果客户不支付市场数据的订购费,那么市场数据端点可变得不可访问并且路由可不再对403处的客户开放。控制元件419可接收关于这类路由改变的各种输入并且控制应用程序(诸如核心302A上的303A)来根据这类网络改变处理分组。
[0123] 作为另一个实例,客户可请求数据加密、数据压缩、数据解析、分组捕获等以用于访问服务。这种请求可通过控制器419和/或直接通过可用网络应用程序(例如,303A)访问的API进行。所述应用程序然后可以和/或被控制来根据那个请求处理分组。
[0124] 对服务(诸如加密、压缩、负载平衡等)的控制和/或应用可在多种位置处发生和/或通过各种实体发生。例如,客户可向SDN的API (例如,SDN控制元件419和/或元件220的核心/应用程序)指示:在特定l流中与市场数据源的通信应被压缩。SDN可控制SDN的部件(例如,通过SDN的API (例如,l流的每个末端处的核心/应用程序)之中的通信)来在数据通过时对数据应用所请求的压缩。在一些实施方案中,这种压缩可在l流中从端点到端点地应用。在其他实施方案中,这种压缩可应用到l流的跃点(例如,在SDN结构内)。应认识到,加密功能性可以与标识加密的端点类似的方式操作,以便与l流和SDN的操作来应用所标识加密的一个或多个部件一起使用。
[0125] 作为另一个实例,负载平衡可在l流处通过来自服务提供商的引导来控制。例如,提供交换服务的进入l流可标识负载平衡应以轮转方式发生(例如,通过使用到SDN控制器或SDN的其他元件诸如核心或应用程序的SDN API,所述其他元件控制像元件220的装置中的路由)。SDN的一个或多个元件可被控制来促进所标识负载平衡。例如,连接到交换器的核心可被控制来根据负载平衡公式将到达这个核心的每隔一个分组路由到不同的目的地。当SDN应对负载平衡时,服务的用户以及甚至服务本身可不知道网络路由的实际调整。
[0126] 作为另一个实例,可在l流级处类似地应用和/或控制解析和/或分组捕获。端点可标识将要应用到特定l流的所希望的分析和/或捕获。SDN可确定如何和/或在哪里应用所希望的捕获和/或解析。例如,将服务连接到SDN的核心可操作来捕获分组和/或对分组应用解析。作为另一个实例,使用服务的端点的核心可操作来将服务的用户的解析和/或捕获分组应用到分组。SDN可确定在哪里和如何应用那个捕获和/或解析,并且控制核心来在端点请求捕获和/或解析时应用捕获和/或解析(例如,通过引导核心/应用程序在具有某些特性的分组通过SDN时对所述分组执行动作)。
[0127] 同样地,应认识到,这些实例、结构和功能性仅作为限制性实例给出。
[0128] 以下部分提供对解释本申请的指导。
[0129] I. 术语
[0130] 除非另有明确规定,否则术语“产品”是指机器、物质的制造和/或组成。
[0131] 除非另有明确规定,否则术语“过程”是指过程、算法、方法等。
[0132] 每个过程(不论叫做方法、算法还是其他)在本质上包括一个或多个步骤,并且因此对过程的“一个步骤”或“多个步骤”的所有引用均具有对过程的单纯描述或对术语‘过程’或类似术语的单纯叙述中的内在前提基础。因此,权利要求书中对过程的‘一个步骤’或‘多个步骤’的任何引用均具有足够的前提基础。
[0133] 除非另有明确规定,否则术语“发明”和类似术语是指“本申请中所公开的一个或多个发明”。
[0134] 除非另有明确规定,否则术语“一实施方案”、“实施方案”、“多个实施方案”、“所述实施方案”、“所述多个实施方案”、“一个或多个实施方案”、“一些实施方案”、“某些实施方案”、“一个实施方案”、“另一个实施方案”等是指“本发明的一个或多个(并非所有)实施方案”。
[0135] 除非另有明确规定,否则术语发明的“变型”是指发明的实施方案。
[0136] 术语“指示”以极其广泛的意义使用。事物的“指示”应被理解成包括可用来确定所述事物的任何事物。
[0137] 事物的指示可包括标识所述事物的电子消息(例如,通过附连到小部件的序列号对所述小部件的标识、由小部件的一个或多个特性对所述小部件的标识)。事物的指示可包括可用来计算和/或查找事物的信息(例如,标识其小部件是可用来确定所述小部件的部分的机器的信息)。事物的指示可指定与所述事物有关的事物(例如,所述事物的特性、所述事物的名称、与所述事物有关的事物的名称)。事物的指示可不指定与所述事物有关的事物(例如,字母“a”可以是计算机系统的小部件的指示,所述指示被配置来解释字母“a”以标识小部件)。事物的指示可包括事物的标志、征兆和/或令牌。指示例如可包括代码、引用、实例、链路、信号和/或标识符。事物的指示可包括表示、描述和/或以其他方式与所述事物相关联的信息。
[0138] 事物的指示的变换可以是事物的指示(例如,事物的加密指示可以是事物的指示)。事物的指示可包括事物本身、事物的复本和/或事物的一部分。事物的指示可能对未被配置来理解所述指示的事物是无意义的(例如,人可能不理解字母“a”指示小部件,但它仍可以是所述小部件的指示,因为计算机系统可从字母“a”确定所述小部件)。应理解以下事实:事物的指示可用来确定所述事物并不意味着所述事物或任何其他事物是确定的。除非另有规定,否则事物的指示可包括任何数量的指示。事物的指示可包括其他事物的指示(例如,指示许多事物的电子消息)。(指示可在权利要求书语言中用作非常广泛的术语。例如:接收金融票据的指示。)
[0139] 术语“表示”是指:(1)用来如同单词、符号等一样表达、指明、代表或指代;(2)由某一术语、字符、符号等表达或指明;(3)如同图片一样描画或描绘或呈现……的相似性;或(4)充当……的标志或符号。
[0140] 除非另有明确规定,否则在描述一个实施方案时对“另一个实施方案”的引用并不意味着所引用的实施方案与另一个实施方案(例如,在所引用的实施方案之前所描述的一个实施方案)互相排斥。类似地,两个(或更多)实施方案被引用的单纯事实并不意味着那些实施方案互相排斥。
[0141] 本发明的一个实施方案可包括或涵盖或包含本发明的多于一个其他实施方案。例如,包括元素a、b和c的第一实施方案可涵盖包括元素a、b、c和d的第二实施方案以及涵盖元素a、b、c和e的第三实施方案。类似地,所述第一实施方案、所述第二实施方案和所述第三实施方案中的每一个可涵盖包括元素a、b、c、d和e的第四实施方案。
[0142] 除非另有明确规定,否则术语“包括”及其各种变型是指“包括但不一定限于”。因此,例如,句子“机器包括红色小部件和蓝色小部件”是指所述机器包括所述红色小部件和所述蓝色小部件,但是也可能包括一个或多个其他项目。
[0143] 除非另有明确规定,否则术语“由……组成”及其变型是指“包括并且也限于”。因此,例如,句子“机器由红色小部件和蓝色小部件组成”是指所述机器包括所述红色小部件和所述蓝色小部件,但是不包括任何其他事物。
[0144] 除非另有明确规定,否则术语“构成”及其变型是指“形成……的组成部分、成分或成员”。因此,例如,句子“红色小部件和蓝色小部件构成机器”是指所述机器包括所述红色小部件和所述蓝色小部件。
[0145] 除非另有明确规定,否则术语“排他性地构成”及其变型是指“排他性地构成……的组成部分、是……的仅有成分或者是……的仅有成员”。因此,例如,句子“红色小部件和蓝色小部件排他性地构成机器”是指所述机器由所述红色小部件和所述蓝色小部件组成(即,并且没有其他事物)。
[0146] 除非另有明确规定,否则术语“一个”、“一种”和“所述”指代“一个或多个”。因此,例如,除非另有明确规定,否则短语“小部件”是指一个或多个小部件。类似地,在表述短语“小部件”之后,短语“所述小部件”的后续表述是指“所述一个或多个小部件”。因此,应理解,单词“所述”也可指代具有前提基础的特定术语。例如,如果段落提到“一个特定单个特征”并且然后提及“所述特征”,那么短语“所述特征”应理解成指代先前提到的“一个特定单个特征”。(应理解,在“一个特定单个特征”中的术语“一个(a)”指代“一个(one)”特定单个特征而不是“一个或多个”特定单个特征。)
[0147] 除非另有明确规定,否则术语“多个”是指“两个或更多个”。
[0148] 除非另有明确规定,否则术语“在本文中”是指“在本申请中,包括可能以引用方式并入的任何内容”。
[0149] 除非另有明确规定,否则当短语“……中的至少一个”修饰多个事物(诸如一系列枚举的事物)时,这种短语是指那些事物中的一个或多个的任何组合。例如,短语“小部件、汽车以及车轮中的至少一个”是指(i)小部件;(ii)汽车;(iii)车轮;(iv)小部件和汽车;(v)小部件和车轮;(vi)汽车和车轮;或(vii)小部件、汽车以及车轮。当短语“……中的至少一个”修饰多个事物时,这种短语并不是指所述多个事物“中的每一个中的一个”。例如,短语“小部件、汽车和车轮中的至少一个”并不是指“一个小部件、一个汽车和一个车轮”。
[0150] 诸如“一个”、“两个”等数值术语在用作基数词来指示某些事物的数量(例如,一个小部件、两个小部件)时是指这个数值术语所指示的数量,但不是指至少这个数值术语所指示的数量。例如,短语“一个小部件”并不是指“至少一个小部件”,并且因此短语“一个小部件”并不涵盖例如两个小部件。
[0151] 除非另有明确规定,否则短语“基于”并不是指“仅仅基于”。换句话说,短语“基于”涵盖“仅基于”和“至少基于”两者。短语“至少基于”等同于短语“至少部分地基于”。例如,短语“基于元素B和元素C计算元素A”涵盖其中将元素A计算为B乘C的乘积(换句话说,A = B x C)的实施方案,其中将A计算为B加C的和(换句话说,A = B + C)的实施方案,其中将A计算为B乘C乘D的乘积的实施方案,其中将A计算为B加C的平方根加D乘E的和的实施方案等。
[0152] 除非另有明确规定,否则术语“表示”和类似术语不是排他性的。例如,除非另有明确规定,否则术语“表示”并不是指“仅仅表示”。例如,短语“数据表示信用卡号”涵盖“数据仅仅表示信用卡号”和“数据表示信用卡号并且数据还表示其他事物”两者。
[0153] 术语“借此”在本文中仅用在仅表达在术语“借此”之前明确表述的某种事物的预期结果、目的或后果的从句或其他单词组之前。因此,当术语“借此”在权利要求书中使用时,术语“借此”修饰的从句或其他单词并不对权利要求书建立特定的另外的限制或以其他方式约束权利要求书的意思或范围。
[0154] 术语“例如(e.g.)”、“诸如”和类似术语是指“例如(for example)”,并且因此并不限制它们所说明的术语或短语。例如,在句子“计算机通过互联网发送数据(例如,指令、数据结构)”中,术语“例如”说明“指令”是计算机可以通过互联网发送的“数据”的实例,并且还说明“数据结构”是计算机可以通过互联网发送的“数据”的实例。然而,“指令”和“数据结构”两者仅仅是“数据”的实例,并且除“指令”和“数据结构”之外的其他事物也可以是“数据”。
[0155] 术语“相应的”和类似术语是指“单独来说”。因此,如果两个或更多个事物具有“相应的”特性,那么每个这种事物具有它自己的特性,并且这些特性可以彼此不同但不一定彼此不同。例如,短语“两个机器中的每一个具有相应的功能”是指所述两个机器中的第一个具有一个功能并且所述两个机器中的第二个也具有一个功能。第一个机器的功能可能与或不与第二个机器的功能相同。
[0156] 术语“即”和类似术语是指“也就是说”,并且因此限制它所说明的术语或短语。例如,在句子“计算机通过互联网发送数据(即指令)”中,术语“即”说明“指令”是计算机通过互联网所发送的“数据”。
[0157] 除非另有明确规定,否则数值范围包括范围中的整数和非整数。例如,范围“1至10”包括从1至10的整数(例如,1、2、3、4、……、9、10)和非整数(例如,1.0031415926、1.1、
1.2、……、1.9)。
[0158] 在两个或更多个术语或短语同义(例如,因为明确陈述这些术语或短语是同义的)的情况下,一个这种术语或短语的实例并不是指另一个这种术语或短语的实例必须具有不同的意义。例如,在陈述致使“包括”的意义与“包括但不限于”同义的情况下,仅仅使用短语“包括但不限于”并不是指术语“包括”是指除“包括但不限于”之外的某种事物。
[0159] II. 确定
[0160] 术语“确定(determining)”及其在语法上的变体(例如,确定(to determine)价格、确定(determining)价值、满足某个准则的对象的确定(determination))是在极其广泛的意义上使用。术语“确定”包括各种各样的动作,并且因此“确定”可以包括演算、计算、处理、推导、调查、查找(例如,在表格、数据库或另一个数据结构中查找)、呈现为电子格式或数字表示、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括分解、选择、挑选、建立等。
[0161] 术语“确定”并不意味着确定性或绝对精度,并且因此“确定”可以包括估算、推断、预测、猜测、取平均值等。
[0162] 术语“确定”并不意味着必须执行数学处理,并且不意味着必须使用数值方法,并且不意味着使用算法。
[0163] 术语“确定”并不意味着必须使用任何特定装置。例如,计算机不需要一定执行确定。
[0164] 术语“确定”可包括“演算”。术语“演算”应理解成包括执行一个或多个演算。演算可包括计算、处理和/或推导。演算可由计算装置执行。例如,演算事物可包括由计算机处理器对数据应用算法并且生成所述事物作为处理器的输出。
[0165] 术语“确定”可包括“参考”。术语“参考”应理解成包括例如对事物进行一次或多次参考。参考可包括查询、访问、选择、挑选、读取和/或查找。参考的行动可由计算装置执行。例如,参考事物可包括读取事物由处理器存储在其中的存储位置。
[0166] 术语“确定”可包括“接收”。例如,接收事物可包括收入所述事物。在一些实施方案中,接收可包括被执行来收入事物的行动,诸如操作所述事物通过其被收入的网络接口。在一些实施方案中,接收可在没有被执行来收入所述事物的行动的情况下执行,诸如在直接存储器写入或硬连线电路中。接收事物可包括从可能已经演算事物的远程源接收所述事物。
[0167] III. 句子形式
[0168] 在第一权利要求的限制将涵盖一个特征和多于一个特征(例如,诸如“至少一个小部件”的限制涵盖一个小部件以及多于一个小部件)的情况下,以及在取决于第一权利要求的第二权利要求中,第二权利要求使用定冠词“所述(the)”来指代这个限制(例如,“所述小部件”)的情况下,这种单纯的使用并不意味着第一权利要求仅涵盖一个所述特征,并且这不意味着第二权利要求仅涵盖一个所述特征(例如,“所述小部件”可以涵盖一个小部件和多于一个小部件两者)。
[0169] 当序数词(诸如“第一”、“第二”、“第三”等)在术语前用作形容词时,这个序数词仅仅用来(除非另有明确规定)指示特定特征,诸如用来将这个特定特征与由相同术语或类似术语描述的另一个特征区分开,但这个序数词并不具有任何其他意思或限制效果—它仅仅是方便的名称。例如,也可如此命名“第一小部件”以仅仅将它与例如“第二小部件”区分开。因此,在术语“小部件”之前单纯使用序数词“第一”和“第二”并不指示两个小部件之间的任何其他关系,并且也不指示任一个或两个小部件的任何其他特性。例如,在术语“小部件”之前单纯使用序数词“第一”和“第二”(1)并不指示任一个小部件在次序或位置上在任何其他小部件之前或之后出来;(2)并不指示任一个小部件在时间上在任何其他小部件之前或之后出现或起作用;并且(3)并不指示任一个小部件在重要性或质量的等级上高于或低于任何其他小部件。单纯使用序数词并不限定用所述序数词标识的特征的数值限制。例如,在术语“小部件”之前单纯使用序数词第一”和“第二”并不指示正好存在两个小部件。
[0170] 当在本文中对单个装置、制品或其他产品进行描述时,在另一个实施方案中,可以可替代地使用多于一个装置或制品(不管它们是否协作)来代替所描述的单个装置或制品。因此,可以可替代地由多于一个装置或制品(不管它们是否协作)来处理被描述为由一个装置处理的功能性。
[0171] 类似地,当在本文中对多于一个装置、制品或其他产品进行描述(不管它们是否协作)时,在另一个实施方案中,可以可替代地使用单个装置或制品来代替所描述的多于一个装置或制品。例如,可用单个基于计算机的装置替换多个基于计算机的装置。在一些实施方案中,这种多个基于计算机的装置可一起操作来执行诸如网格计算系统中所常见的过程的一个步骤。在一些实施方案中,这种多个基于计算机的装置可操作来向彼此提供添加的功能性,使得所述多个基于计算机的装置可操作来执行诸如云计算系统中所常见的过程的一个步骤。(相反,可用彼此协作操作的多个基于计算机的装置替换单个基于计算机的装置。例如,可用通过互联网与彼此通信的服务器和工作站替换单个计算装置)因此,被描述为由多于一个装置或制品处理的各种功能性可以可替代地由单个装置或制品处理。
[0172] 在另一个实施方案中,所描述的单个装置的功能性和/或特征可以可替代地由已经描述但未明确描述为具有这类功能性/特征的一个或多个其他装置来体现。因此,其他实施方案不需要包括所描述的装置本身,而是可包括在这些其他实施方案中将会具有这类功能性/特征的一个或多个其他装置。
[0173] IV. 所公开实例和术语不是限制性的
[0174] 标题(在本申请的第一页的开头阐述)和摘要(在本申请的结尾阐述)都不应被视为以任何方式限制所公开发明的范围,都不应用来解释任何权利要求的意义,或都不应用来限制任何权利要求的范围。本申请中包括摘要,这仅仅是因为根据37 C.F.R. §1.72(b),摘要是所要求的。
[0175] 本申请中所提供的各章节的小标题仅仅是为了方便起见,并且不应视为以任何方式限制本公开。
[0176] 仅出于说明性目的,在本申请中描述并呈现大量实施方案。所描述的实施方案不在任何意义上具有限制性并且不意图在任何意义上具有限制性。所公开发明可广泛地适用于大量实施方案,如从本公开容易理解的那样。本领域的一般技术人员应认识到,所公开发明可以在具有各种修改和变更(诸如结构、逻辑、软件以及电气修改)的情况下实践。尽管所公开发明的特定特征可参照一个或多个特定实施方案和/或附图加以描述,但是应理解,除非另有明确规定,否则这类特征并不限于在描述这类特征时所参照的所述一个或多个特定实施方案或附图中使用。
[0177] 尽管可将实施方案公开为包括若干特征,但是本发明的其他实施方案可包括比所有这类特征少的特征。因此,例如,权利要求可涉及比所公开实施方案中的整组特征少的特征,并且这种权利要求将不被解释为要求所述权利要求明确陈述的那些特征之外的特征。
[0178] 本申请中所描述的方法步骤或产品元素的实施方案并不构成本文所要求保护的本发明,或对于本文所要求保护的本发明来说并不是必不可少的,或并不与本文所要求保护的本发明共同延伸,除非本说明书中明确说明是这样或(参考权利要求和由所述权利要求限定的本发明)在权利要求中明确表述。
[0179] 权利要求书的表述除法定分类之外的任何内容的任何前序应解释为表述所要求保护的发明的目的、益处和可能用法,并且这类前序不应被解释为限制所要求保护的发明。
[0180] 本公开不是本发明的所有实施方案的文字描述。此外,本公开也不是所有实施方案中必须存在的本发明的特征的列表。
[0181] 并非所有所公开实施方案都一定由权利要求书(甚至包括所有待决的、已修订的、已发布的以及已取消的权利要求)涵盖。另外,所公开实施方案可以(但不需要一定)由若干权利要求涵盖。因此,在权利要求(不管是待决的、已修订的、已发布的或是已取消的)涉及特定实施方案的情况下,这并不是其他权利要求的范围也不涵盖所述实施方案的证据。
[0182] 除非另有明确规定,否则被描述为彼此通信的装置不需要持续地彼此通信。相反,这类装置仅需要在必要时或希望时向彼此进行传输,并且实际上在大部分时间可不交换数据。例如,通过互联网与另一个机器通信的机器在很长一段时间内(例如,有时是几周)可以不向所述另一个机器传输数据。另外,彼此通信的装置可直接通信或通过一个或多个媒介间接地通信。如果装置能够与彼此至少进行单向通信,那么它们就与彼此通信。例如,如果第一装置能够向第二装置传输信息,那么所述第一装置就与所述第二装置通信。类似地,如果第二装置能够从第一装置接收信息,那么所述第二装置就与所述第一装置通信。
[0183] 将实施方案描述为具有若干部件或特征并不意味着这些部件或特征中的全部或甚至任一个是所要求的。相反,描述各种任选的部件以说明本发明的各种各样的可能实施方案。除非另有明确规定,否则没有部件或特征是必不可少的或所要求的。
[0184] 尽管过程步骤、算法等可以按特定的顺序次序来描述或要求保护,但是这类过程可被配置成按不同的次序进行。换句话说,可明确描述或要求保护的步骤的任何顺序或次序并不一定指示要求按这个次序执行这些步骤。本文所描述的过程的步骤可以按任何可能的次序执行。此外,一些步骤可以同时执行,尽管被描述为或被暗示为不同时发生(例如,因为一个步骤是在另一个步骤之后描述)。另外,通过在附图中描绘过程来示出这个过程并不意味着所示出的过程不包括这个过程的其他变化和修改,并不意味着所示出的过程或其步骤中的任一个步骤对于本发明是必需的,并且不意味着所示出的过程是优选的。
[0185] 尽管可以将过程描述为包括多个步骤,但是这并不意味着所述步骤中的全部或任一个是优选的、必不可少的或所要求的。在所描述发明的范围内的各种其他实施方案包括省略了所描述步骤中的一些或全部的其他过程。除非另有明确规定,否则没有步骤是必不可少的或所要求的。
[0186] 尽管过程可以单独进行描述或在不参考其他产品或方法的情况下进行描述,但是在一个实施方案中,所述过程可以与其他产品或方法交互。例如,这种交互可包括将一个商业模型连接到另一个商业模型。这种交互可以提供来增强所述过程的灵活性或合意性。
[0187] 尽管可以将产品描述为包括多个部件、方面、质量、特性和/或特征,但是这并不指示所述多个中的任一个或全部是优选的、必不可少的或所要求的。在所描述发明的范围内的各种其他实施方案包括省略了所描述多个中的一些或全部的其他产品。
[0188] 除非另有明确规定,否则项目的枚举列表(所述项目可以或可以不编号)并不意味着所述项目中的任一个或全部是互相排斥的。同样地,除非另有明确规定,否则项目的枚举列表(所述项目可以或可以不编号)并不意味着所述项目中的任一个或全部包含任何类别。例如,枚举列表“计算机、膝上型计算机和PDA”并不意味着这个列表的三个项目中的任一个或全部是互相排斥的,并且不意味着这个列表的三个项目中的任一个或全部包含任何类别。
[0189] 项目的枚举列表(所述项目可以或可以不编号)并不意味着所述项目中的任一个或全部是彼此等同的或容易彼此替换。
[0190] 所有实施方案均是说明性的,并且不意味着本发明或任何实施方案已被做出或执行(视情况而定)。
[0191] V. 计算
[0192] 本领域的一般技术人员将容易明白的是,本文所描述的各种过程可由例如适当地编程的通用计算机、专用计算机和计算装置实现。通常,处理器(例如,一个或多个微处理器、一个或多个微控制器、一个或多个数字信号处理器)将(例如,从存储器或类似装置)接收指令,并且执行那些指令,从而执行由那些指令限定的一个或多个过程。指令可体现在例如一个或多个计算机程序、一个或多个脚本中。
[0193] 术语“计算”应指使用处理器根据软件算法进行确定。
[0194] “处理器”是指一个或多个微处理器、中央处理单元(CPU)、计算装置、微控制器、数字信号处理器、图形处理单元(GPU)或类似装置或其任何组合,而不管体系结构(例如,芯片级多处理或多核、RISC、CISC、无内流水线型微处理器、流水线配置、同时多线程、具有集成图形处理单元的微处理器、GPGPU)是怎样的。
[0195] “计算装置”是指一个或多个微处理器、中央处理单元(CPU)、计算装置、微控制器、数字信号处理器、图形卡、移动游戏装置或类似装置或其任何组合,而不管体系结构(例如,芯片级多处理或多核、RISC、CISC、无内锁流水线型微处理器、流水线配置、同时多线程)是怎样的。
[0196] 因此,对过程的描述同样是对用于执行所述过程的设备的描述。执行所述过程的设备可包括例如处理器和适于执行所述过程的那些输入装置和输出装置。例如,对过程的描述是对包括处理器和存储器的设备的描述,所述存储器存储包括指令的程序,所述指令在由处理器执行时,引导所述处理器执行方法。
[0197] 执行所述过程的设备可包括一起工作以执行所述过程的多个计算装置。计算装置中的一些可一起工作以执行过程的每个步骤,可实施过程的单独步骤,可提供其他计算装置可促进执行所述过程的底层服务。这类计算装置可在集中式管理机构的指令下起作用。在另一个实施方案中,这类计算装置可在没有集中式管理机构的指令的情况下起作用。可以这些方式中的一些或全部操作的设备的一些实例可包括网格计算机系统、云计算机系统、对等计算机系统、被配置来将软件提供为服务的计算机系统等。例如,所述设备可包括在远程服务器上执行其大部分处理负载但向本地用户计算机输出显示信息并且从本地用户计算机接收用户输入信息的计算机系统,诸如执行VMware软件的计算机系统。
[0198] 此外,实施这类方法(以及其他类型的数据)的程序可使用多种介质(例如,计算机可读介质)以数种方式存储和传输。在一些实施方案中,硬连线电路或定制硬件可代替软件指令中的一些或全部或与所述软件指令中的一些或全部结合使用,所述软件指令中的一些或全部可实施各种实施方案的过程。因此,硬件和软件的各种组合可仅替代软件使用。
[0199] 术语“计算机可读介质”指代参与提供可由计算机、处理器或类似装置读取的数据(例如,指令、数据结构)的任何非暂态介质、多个所述非暂态介质或不同介质的组合。这种介质可采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘以及其他持久性存储器。非易失性介质包括通常构成主存储器的动态随机存取存储器(DRAM)。传输介质包括同轴电缆、铜线和光纤,包括构成联接到处理器的系统总线的电线。传输介质可包括或传达声波、光波和电磁发射,诸如在射频(RF)和红外(IR)数据通信期间生成的那些波。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD、任何其他光学介质、穿孔卡、纸带、任何其他具有孔样式的物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储芯片或盒式磁带、如下所述的载波,或计算机可从中读取的任何其他介质。
[0200] 术语“有形计算机可读介质”指代包括硬件部件的“计算机可读介质”,诸如光盘或磁盘。
[0201] 各种形式的计算机可读介质可涉及将数据(例如,指令序列)运送到处理器。例如,数据可以(i)从RAM递送到处理器;(ii)通过无线传输介质进行运送;(iii)根据众多格式、标准或协议(诸如以太网(或IEEE802.3)、由IEEE 802.11规范限定的无线局域网通信(不论所述规范是否得到WiFi联盟批准)、SAP、ATP、蓝牙TM以及TCP/IP、TDMA、CDMA和3G)进行格式化和/或传输;和/或(iv)以本领域中众所周知的多种方式中的任一种进行加密,以确保隐私或防止欺诈。
[0202] 术语“数据库”指代以可检索格式存储的任何电子存储的数据集合。
[0203] 术语“数据结构”指代硬件机器(诸如计算机)中的数据库。
[0204] 术语“网络”是指由通信路径互连的一系列点或节点。例如,网络可包括由一个或多个有线和/或无线通信路径互连的多个计算机或通信装置。网络可与其他网络互连并且包括子网络。
[0205] 术语“预定”是指事先(例如,在当前时间或当前动作之前)确定。例如,短语“显示预定值”是指显示在显示行动之前确定的值。
[0206] 术语“条件”是指(1)履行约定所取决于的前提,或(2)对于其他事物的出现或发生必不可少的事物。
[0207] 术语“交易”是指(1)货物、服务或资金的交换或转移,或(2)涉及彼此相互影响或起作用的两方或两个事物的通信动作或活动。
[0208] 因此,对过程的描述同样是对存储用于执行所述过程的程序的计算机可读介质的描述。计算机可读介质可存储(以任何适当形式)适于执行方法的那些程序元件。例如,对过程的描述是对计算机可读存储介质的描述,所述计算机可读存储介质存储包括指令的程序,所述指令在由处理器执行时,引导所述处理器执行方法。
[0209] 正如对过程中的各个步骤的描述并不指示所有所描述的步骤都是必需的,设备的实施方案包括可操作来执行所描述过程的某部分(但不一定是全部)的计算机或计算装置。
[0210] 同样地,正如对过程中的各个步骤的描述并不指示所有所描述的步骤都是必需的,存储程序或数据结构的计算机可读介质的实施方案包括存储程序的计算机可读介质,所述程序在被执行时可致使处理器执行所描述过程的某部分(但不一定是全部)。
[0211] 在描述数据库的情况下,本领域的一般技术人员应理解,(i)可容易地采用所描述的那些数据库结构的替代性数据库结构,和(ii)可容易地采用除数据库之外的其他存储器结构。本文呈现的任何样本数据库的任何例示或描述是用于信息的存储表示的说明性布置。除了由例如在附图中或别处展示的表格所建议的那些布置之外,可采用任何数量的其他布置。类似地,所展示的任何数据库条目仅仅表示示例性信息;本领域普通技术人员应了解,所述条目的数量和内容可与本文描述的那些不同。进一步地,不管将数据库作为表格的任何描绘,可使用其他格式(包括关系数据库、基于对象的模型和/或分布式数据库)来存储和操纵本文描述的数据类型。同样地,可使用数据库的对象方法或行为来实施各种过程,诸如本文所描述。另外,数据库可以已知的方式来在装置本地或在装置远程进行存储,所述装置访问这种数据库中的数据。
[0212] 各种实施方案可被配置来在网络环境中工作,所述网络环境包括与一个或多个装置(例如,通过通信网络)通信的计算机。计算机可通过任何有线或无线介质(例如,互联网、LAN、WAN或以太网、令牌环、电话线、电缆线、无线电信道、光通信线、商业在线服务提供商、公告板系统、卫星通信链路、上述各项的任何组合)与装置直接或间接通信。所述装置中的每一个本身可包括计算机或适于与计算机通信的其他计算装置,诸如基于Intel® Pentium®或Centrino™、AtomTM或CoreTM处理器的那些计算装置。任何数量和类型的装置可与计算机通信。
[0213] 在一个实施方案中,服务器计算机或集中式管理机构可能不是必要的或需要的。例如,在一个实施方案中,本发明可在不具有集中管理机构的情况下在一个或多个装置上实践。在这种实施方案中,在本文被描述为由服务器计算机执行的任何功能或被描述为存储在服务器计算机上的数据可以替代地由一个或多个这类装置执行或存储在其上。
[0214] 在描述过程的情况下,在一个实施方案中,所述过程可在没有任何用户干预的情况下操作。在另一个实施方案中,所述过程包括某种人类干预(例如,步骤由人类执行或在人类的协助下执行)。
[0215] 如本文所使用,术语“加密”指代用于遮掩或隐藏信息以使得在没有特殊知识的情况下无法容易理解所述信息的过程。加密的过程可将叫做明文的原始信息变换成加密信息。所述加密信息可叫做密文,并且用于将明文变换成密文的算法可称为密码。密码还可用于执行将密文转变回明文的逆向操作。密码的实例包括替换密码、换位密码和使用转轮机实现的密码。
[0216] 在各种加密方法中,密码可能需要叫做密钥的补充信息片。密钥可例如由位串组成。密钥可结合密码使用来对明文进行加密。密钥还可结合密码使用来对密文进行解密。在叫做对称密钥算法(例如,私钥密码术)的密码类别中,使用相同密钥进行加密和解密两者。加密信息的不可侵犯性因此可取决于被保密的密钥。对称密钥算法的实例是DES和AES。在叫做非对称密钥算法(例如,公钥密码术)的密码类别中,使用不同密钥进行加密和解密。在非对称密钥算法的情况下,公共场合的任何成员可使用第一密钥(例如,公钥)来将明文加密成密文。然而,仅第二密钥(例如,私钥)的持有者将能够将密文解密回明文。非对称密钥算法的实例是RSA算法。
[0217] VI. 继续申请
[0218] 本公开向本领域的一般技术人员提供对若干实施方案和/或发明的使能描述。这些实施方案和/或发明中的一些在本申请中可能不要求保护,但是可以在一个或多个继续申请中要求保护,所述一个或多个继续申请要求本申请的优先权的权益。
[0219] 申请人打算提交另外的申请来寻求针对本申请中已公开并实现但未要求保护的主题的专利
[0220] VII. 免责声明
[0221] 对特定实施方案的大量引用并不指示对另外的不同实施方案的放弃或否定,并且类似地,对全都包括特定特征的各实施方案的描述的引用并不指示对不包括所述特定特征的实施方案的放弃或否定。本申请中的明确放弃或否定将以短语“不包括”或以短语“不能执行”开始。
[0222] VIII. 审查历史
[0223] 在解释本申请(其包括权利要求书)时,不管是否存在被视为与本申请相关的其他专利申请,并且不管是否存在与本申请共享优先权权利要求的其他专利申请,本领域的一般技术人员都应参考本申请的审查历史,而不应参考任何其他专利或专利申请的审查历史。
QQ群二维码
意见反馈