使用虚拟化来隔离时间同步业务的制作方法

文档序号:33385436发布日期:2023-03-08 07:58阅读:35来源:国知局
使用虚拟化来隔离时间同步业务的制作方法
使用虚拟化来隔离时间同步业务
1.本技术要求于2020年3月24日提交的美国临时专利申请搞62/994,277的权益,该申请的内容以其整体通过引用并入本文。
技术领域
2.本公开涉及时间同步。


背景技术:

3.通常,同步系统基于所选主设备(也称为“主要”设备或“领导者”设备)的时钟来同步多个设备的时钟。主设备是从诸如全球定位系统(gps)的同步系统内部或外部部署的其它主设备或智能引擎获得时间同步数据的计算设备。通常的同步系统具有一层主设备,其中其他终端设备(也称为“从”设备、“复制”设备或“跟随”设备)被连接到至少一个主设备。主设备被连接到更精确的时间戳源。在一些实现中,主设备可以属于服务提供商并且可以被设计成支持精确的时间处理,而终端设备可以属于服务客户端并且从主设备接收时间戳偏移。这些主设备和终端设备可以由网络任意选择或分配。
4.在许多应用中,包括但不限于金融、科学、军事和游戏产业,时间同步可能是有益的。例如,这种知识将用于定义高频交易系统中的交易订单和多用户游戏中的玩家响应。


技术实现要素:

5.一般而言,本公开描述了用于使用虚拟化来提供时间同步业务的客户隔离的技术。例如,终端设备可以使用诸如基于云的服务交换(这里称为“云交换”)的交换来访问时间同步服务。例如,云交换提供弹性且独立的基于云的服务交换,基于云的服务客户(“云客户”或简称为“客户”)和/或基于云的服务提供商(“云提供商”)通过该交换连接以分别接收和提供云服务。一种这样的云服务可以包括由诸如网络时间协议(ntp)或精确时间协议(ptp)的时间同步协议提供的时间同步服务,以在整个计算机网络中同步设备的时钟。作为一个示例,诸如ntp或ptp等时间同步协议描述了的主计算设备(例如,时间同步服务器),该的主计算设备用作参考时钟(例如,使用主计算设备的硬件时钟)以向客户端计算设备提供将其系统时间与主计算设备的系统时间进行同步的参考定时信号。
6.根据本发明中所描述的技术,单个主计算设备(例如,时间同步服务器(例如,ptp主))配置有用于多个客户端计算设备(包括其中客户为不同客户实体)的时间同步服务的多个实例,而不管所述多个客户是否具有重叠ip地址。
7.作为一个示例,本公开描述了一种方法,包括:由计算设备执行的可编程网络平台接收被连接到由所述可编程网络平台管理的云交换的多个客户网络中的客户网络的互联网协议(ip)地址;由所述可编程网络平台利用与所述客户网络的ip地址相关联的虚拟化局域网(vlan)来配置被连接到所述云交换的时间同步服务器,所述时间同步服务器包括提供时间同步服务的多个实例;以及由所述可编程网络平台利用针对所述vlan的虚拟路由和转发(vrf)或网络命名空间来配置所述时间同步服务器,其中所述vrf或网络命名空间包括用
于在所述客户网络与提供所述时间同步服务的所述多个实例中的特定实例之间发送时间同步业务的路由。
8.作为另一示例,本公开描述了一种计算设备,包括:一个或多个计算机处理器;以及包括指令的存储器,所述指令在由所述一个或多个计算机处理器执行时使所述一个或多个计算机处理器:接收被连接到云交换的多个客户网络中的客户网络的互联网协议(ip)地址;利用与所述客户网络的ip地址相关联的虚拟化局域网(vlan)来配置被连接到所述云交换的时间同步服务器,所述时间同步服务器包括提供时间同步服务的多个实例;以及利用虚拟路由和转发(vrf)或vlan的网络命名空间来配置时间同步服务器,其中所述vrf包括用于在客户网络与提供时间同步服务的多个实例中的特定实例之间发送时间同步业务的路由。
9.作为另一示例,本公开描述了一种互连系统,包括:被连接到云交换的多个客户网络;被连接到所述云交换的时间同步服务器,所述时间同步服务器包括:提供时间同步服务的多个实例;与所述多个客户网络中的特定客户网络的互联网协议(ip)地址相关联的虚拟化局域网(vlan);以及针对所述vlan的虚拟路由和转发(vrf)或网络命名空间,其中所述vrf或网络命名空间包括用于在所述特定客户网络与提供所述时间同步服务的所述多个实例中的特定实例之间发送时间同步业务的路由。
10.以此方式,单个主计算设备(例如,ptp主计算设备)可充当参考时钟以向多个客户端计算设备提供参考定时信号,这与到多个主计算设备的多个连接相比提供更高等级的定时精度(例如,通过使用单个硬件时钟)。此外,通过为多个客户中的每一个配置vlan和vrf或网络命名空间,无论客户是否具有重叠的ip地址,客户都可以连接到单个主计算设备,这提供了更大的可扩展性。
11.在附图和以下描述中阐述了本公开的一个或多个示例的细节。本公开的其他特征,目的和优点将从描述和附图以及从权利要求中显而易见。
附图说明
12.图1是根据本公开中描述的一种或多种技术的使用云交换来提供时间同步服务的示例网络系统的框图。
13.图2是根据本发明的一个或多个技术更详细地说明图1的网络系统的框图。
14.图3a是根据本发明中所描述的技术的一个或多个方面进一步详细说明时间同步服务器的实例的框图。
15.图3b是根据本发明中所描述的技术的一个或多个方面进一步详细说明时间同步服务器的另一实例的框图。
16.图4是说明根据本发明的一个或多个技术的冗余精确定时系统的概念图。
17.图5是经配置以执行根据本发明的一个或多个技术的时间同步服务器的更详细视图的框图。
18.图6是示出根据本公开中描述的技术的使用云交换来提供时间同步服务的示例操作的流程图。
具体实施方式
19.一般来说,根据本发明中所描述的技术,描述用于使用交换的时间同步服务的技术。
20.出于本公开的目的,时间同步系统或系统表示允许执行时间同步操作的一组复杂的设备、算法、程序、模块和组件。
21.出于本发明的目的,设备时钟指示设备的内部时钟。设备可以具有单个设备时钟或多于一个设备时钟,包括网络接口卡(nic)卡时钟、图形处理单元(gpu)时钟、中央处理单元(cpu)时钟或其它时钟中的一个或多个。
22.出于本发明的目的,系统时钟指示与时间同步系统相关联的时钟。系统时钟可以是提供精确时间信号并产生精确时间戳的高精度时钟,例如gps上的时钟。时间同步系统可以具有多于一个的系统时钟。
23.出于本公开的目的,时间戳指示由时间测量设备记录的单独的时间信号测量。出于本公开的目的,设备时间戳指示由设备生成的时间戳。出于本公开的目的,系统时间戳指示由时间同步系统计算的时间戳。出于本公开的目的,时间戳偏移(在本文中也称为“时间同步偏移”和“偏移”)指示两个时间戳之间的差异。例如,可以将时间戳偏移计算为设备时间戳与系统时间戳之间的差值。
24.出于本公开的目的,网络时间协议(ntp)是用于分组交换、可变延迟数据网络上的计算机系统之间的时钟同步的网络协议。出于本公开的目的,精确时间协议(ptp)是用于在整个计算机网络中同步时钟的协议。
25.出于本公开的目的,交换机指示通过使用分组交换将计算机网络上的设备连接在一起以接收、处理数据并将数据转发到目的地设备的计算机网络设备。出于本公开的目的,ptp交换机指示支持ptp标准协议并允许接收、处理和转发时间戳到目的地设备的交换机。为了本公开的目的,ntp交换机指示支持ntp标准协议并允许接收、处理和转发时间戳到目的地设备的交换机。出于本发明的目的,主交换机指示允许从gps天线接收、处理和转发时间信号的特殊装置。为了本公开的目的,系统状态指示参数集合,其允许估计系统如何被加载和“准备时间同步”。
26.出于本公开的目的,主计算设备(也称为“主设备”、“主要设备”或“领导者”设备)指示从被部署在同步系统内的其他主设备或智能引擎获得时间同步数据的特定类型的设备,诸如与gps通信的gps模块。出于本发明的目的,终端设备(也称为“从”设备、“复制”装置或“跟随”装置,其全部可在本发明中互换使用)指示通常连接到一个或多个主设备的所有非主设备的名称。
27.现代技术利用虚拟化资源、分布式系统和边缘计算,它们中的每一个都增加了对精确定时的需要,以便实现性能益处。两个主要的矢量(vector)当前驱动对亚微秒定时的需要。第一矢量是新法规和工业标准要求更高的准确度、可靠性、弹性、透明度和可追溯性以用于时间和同步。这些标准包括金融工具市场指令ii-欧洲证券和市场管理机构(“mifidii-esma”,finance)、g.8275-国际电信联盟(“itu”,telecommunications)、统一审计跟踪-证券和交易委员会规则613(“cat-sec”,finance)和c37.238-2011-电气和电子工程师协会(“ieee”,power)。
28.驱动需求的第二个向量是新兴应用、商业模式和需要更严格的定时和同步作为基
本组件的使用情况的数量。这些包括长期演进(lte)、先进的pro、&5g频率和相位同步(电信)、使用时间戳用于严格一致性的全球分布式数据库(企业系统)、分布式分类账(区块链)和高频交易粒状监管记录链(财务和企业系统)、用于安全关键应用的运输或后勤同步(企业系统,例如无人驾驶飞机、自主车辆)、工业自动化或物联网组件同步和集成(企业系统)、以及关键基础设施保护和用于gps的可行备份的国家准备任务(联邦)。
29.高度精确的定时是用于高频交易以便创建可信记录以及用于诸如全球分布式数据库、分布式分类账和自主车辆的新兴应用的基本组件。使用本文描述的技术,数据中心或集群可以实现亚微秒精度,并且可以在全球规模上的客户应用、网络与云的交叉处容易地访问和消费。
30.本文描述的技术的一个示例实现环境在一个或多个数据中心内。数据中心可以容纳多个不同类型的设备,每个设备由不同的实体拥有,但是每个设备可以在整个数据中心结构内被链接。数据中心内的一些设备可以与同一数据中心中的其它设备交换数据,但是也可以与位于不同地理或大城市区域中的数据中心中的设备交换数据。这样,数据中心可以实现本文描述的技术,以在同一数据中心或不同数据中心的设备内的设备上有效且精确地同步时钟。这样,本文描述的技术可以被实现为数据中心中的客户设备上的可下载软件插件,其使得数据中心中的设备能够执行本文描述的时间同步过程。本文所述的技术可平衡多个特征,包括可扩展性、通用性、精度、成本、安全性和冗余性。
31.图1是根据本公开中描述的一种或多种技术的使用交换(例如云交换)提供时间同步服务的示例互连系统100的概念图。互连系统100提供地理上分布式的、精确定时服务(pts)解决方案,其可以本地地、区域地或全局地扩展。当利用包括白兔(white rabbit)、ptp(精确时间协议)、ntp(网络时间协议)、软件客户端和通过e-sync机制的ip或以太网分发的传递机制时,该设计可以建立在精确时钟和高级算法上,以传递微秒级的精度,并且在一些情况下传递纳秒级的精度。
32.图1包括提供弹性且独立的基于云的服务交换的云交换102,基于云的服务客户(“云客户”)和/或基于云的服务提供商(“云提供商”)通过该交换连接以分别接收和提供云服务。云交换102向交换的客户(例如,企业、网络运营商、网络服务提供商和作为服务的软件(saas)客户)提供到全球多个云服务提供商(csp)的安全、私有、虚拟连接。多个csp由于在云交换中具有至少一个可访问端口而参与云交换,通过该端口,客户可以分别连接到由csp提供的一个或多个云服务。云交换102允许任何客户的私有网络在公共点直接交叉连接到任何其他客户,从而允许客户的网络之间的网络业务的直接交换。
33.在该示例中,操作计算设备108a1-108an(统称为“计算设备108a”)的云客户网络104a和操作计算设备108b1-108bn(统称为“计算设备108b”)的云客户网络104b连接到云交换102以接收服务,诸如由时间同步服务器110提供的时间同步服务。云交换102可以提供一个或多个云交换点(如图2中进一步描述的),每个云交换点表示例如地理上位于同一大城市区域内的数据中心(“基于城域的”,例如加利福尼亚的硅谷;纽约市,纽约市;德克萨斯州达拉斯;伊利诺斯州芝加哥;等)。如本文所使用的,对“云交换”或“基于云的服务交换”的引用可以指云交换点。云交换提供商可以在多个不同的大城市区域中部署云交换102的实例,云交换102的每个实例具有一个或多个云交换点。
34.云交换102包括网络基础设施和操作环境,客户网络104a的计算设备108a和客户
网络104b的计算设备108b通过该网络基础设施和操作环境接收由时间同步服务器110提供的时间同步服务。在该示例中,云交换102的网络基础设施可以包括一个或多个网络设备,例如网络设备114,以向客户网络104a和104b(统称为“客户网络104”或“客户104”)提供对由时间同步服务器110提供的时间同步服务的访问。网络设备114可以表示支持诸如ptp或ntp的时间同步协议的路由器或交换机,其允许接收、处理和转发时间戳到目的地设备。
35.计算设备108a和108b(统称为“计算设备108”)可以是共同位于云交换点之一的相应数据中心内的相应客户网络的计算设备、或者是经由中转(transit)网络服务提供商(nsp)(图1中未示出)接收服务的客户网络的计算设备。在该示例中,计算设备108a可以经由网络设备116a访问云交换102。类似地,计算设备108b可以经由网络设备116b访问云交换102。网络设备116a和116b可以表示边缘网络设备,例如路由器或交换机。
36.在图1的示例中,云交换102包括可编程网络平台120,可编程网络平台120用于动态地对云交换102进行编程,以响应性地且可靠地满足对云交换102所提供的服务的业务要求进行封装的服务请求。一个这样的服务包括由时间同步服务器110提供的时间同步服务,时间同步服务器110耦合到(或共同定位在)云交换102。结果,可编程网络平台120可以根据明确定义的服务策略、服务策略的质量、服务级别协议、以及成本,并且进一步根据用于业务级别服务的服务拓扑,将业务级别服务编排到时间同步服务器110。
37.可编程网络平台120使得管理云交换102的云服务提供商能够动态地配置和管理云交换102,以例如促进用于从时间同步服务器110到一个或多个客户设备108的服务递送的虚拟连接。云交换102可以使客户能够绕过公共互联网以直接连接到时间同步服务器110,从而提高性能、降低成本、增加连接的安全性和隐私,以及利用云计算用于附加应用。这样,例如,企业、网络运营商和saas客户可以至少在某些方面将诸如时间同步服务的云服务与它们的内部应用进行集成,就好像这些服务是它们自己的数据中心网络的一部分或者直接耦合到它们自己的数据中心网络一样。
38.可编程网络平台120可表示在云交换102的一个或多个数据中心内执行的应用,或者备选地,可表示在云提供商(例如)的后办公室或分支机构的场外执行的应用。可编程网络平台120可以全部或部分地分布在数据中心中,每个数据中心与不同的云交换点相关联以组成云交换102。虽然示出为管理单个云交换102,但是可编程网络平台120可以控制用于多个不同云交换的服务供应。备选地或附加地,可编程网络平台120的多个单独实例可以控制用于相应的多个不同云交换的服务供应。
39.在图1的示例中,云交换102向客户104提供对时间同步服务的访问,该时间同步服务允许在整个计算机网络中与设备进行精确和准确的时间同步。时间同步服务可以支持ntp和ptp协议。关于ntp的进一步信息在“网络时间协议版本4:协议和算法规范”提供,rfc5905,互联网工程任务组(ietf),2010年6月,在https://tools.ietf.org/html/rfc5905获得,其全部内容通过引用并入本文。关于ptp的进一步信息在2008年7月24日的“1588-2008-用于网络测量和控制系统的精密时钟同步协议的ieee标准”中提供,以及“精确时间协议版本2(ptpv2)管理信息库”中提供,rfc8173,ietf,2017年6月,可在https://tools.ietf.org/html/rfc8173获得,其每一个的全部内容通过引用并入本文。
40.在这些和其他示例中,时间同步服务可以由云交换(例如云交换102)的可编程网络平台120来配置。云交换系统中的时间同步服务的一个示例在2019年6月11日提交的题为“定时同步服务和分配系统”的美国申请号16/438,310中提供,该申请的全部内容通过引用结合于此。
41.在工业中存在以可扩展方提供准确和精确的时间同步的某些挑战。通常,在没有本发明中所描述的技术的情况下,主计算设备可在单播模式中实施(例如)时间同步协议,其中每个客户端计算设备配置有主计算设备的ip地址,使得每个客户端计算设备可个别地连接到主计算设备。然而,在这些示例中,时间同步服务器向时间同步服务器提供单个实例。如果时间同步实例发生故障,则到主计算设备的每个连接也发生故障。
42.在其他示例中,主计算设备可以在多播模式下实现时间同步协议,其中主计算设备可以向多个客户端设备多播时间同步消息(例如,时间戳)。然而,在一些示例中,如果客户的子网具有重叠的ip地址(例如,其中子网的一个或多个客户计算设备具有与另一子网的一个或多个客户计算设备相同的ip地址),则主计算设备通常不能准确地向客户计算设备提供参考定时信号。
43.在一些示例中,客户端计算设备可通过使用例如最佳主时钟算法来发现主计算设备的过程来连接到多个主计算设备之一。然而,在这些示例中,多个客户计算设备可以使用不同的时间同步服务器,其使用不同的硬件时钟,从而导致跨不同客户网络上的较低精确度。
44.根据本发明的技术,单个主计算设备(例如,时间同步服务器110)配置有时间同步服务的多个实例,其中每个实例的时间同步业务与使用虚拟化的其它实例的时间同步业务隔离。
45.当客户网络104被机载(即,连接)到云交换102时,可编程网络平台120可以从至少一个客户网络104接收ip地址,该ip地址将被用于接收由时间同步服务器110提供的时间同步服务。作为一个示例,客户网络104a的管理员可以为客户网络104a提供ip地址为10.10.20.20/24的可编程网络平台120。类似地,客户网络104b的管理员可以为客户网络104b提供ip地址为10.10.20.20/24的可编程网络平台120。
46.响应于接收到客户网络104的ip地址,可编程网络平台120可以利用用于特定客户网络的ip地址的vlan来配置时间同步服务器110。例如,可编程网络平台120可以配置用于客户网络104a的ip地址的vlan 200和用于客户网络104b的ip地址的vlan 201。这样,每个vlan可以提供到相应客户网络的连通性,同时保持与其它客户网络的业务隔离。
47.可编程网络平台120可以配置用于特定vlan的虚拟路由和转发(vrf)实例(或者在一些示例中,网络命名空间)。例如,可编程网络平台120可以配置与vlan 200相关联的vrf 112a和与vlan201相关联的vrf 112b。vrf 112a和vrf 112b中的每一个(统称为“vrf 112”)包括一个或多个路由,以便为其相关联的vlan发送时间同步业务(例如ptp或ntp消息)。例如,vrf可以发送与特定客户网络和时间同步服务的特定实例相关联的用于vlan的时间同步业务。
48.例如,可编程网络平台120可以配置由时间同步服务器110执行的定时过程(例如,诸如ptp守护程序之类的定时守护程序),以便为相应的客户网络提供时间同步服务的特定实例。每个定时过程(例如,守护程序)可以使用时间同步服务器110的相同硬件时钟(例如,nic的硬件时钟)。如下面进一步描述的,vrf 112a可以包括用于在提供时间同步服务的第一实例的第一定时过程(例如,图3a的定时守护程序304a)和客户网络104a之间发送时间同
步业务的路由。类似地,vrf 112b可以包括用于在提供时间同步服务的第二实例的第二定时过程(例如,图3a的定时守护程序304b)与客户网络104b之间发送时间同步业务的路由。
49.以此方式,通过利用多个时间同步服务实例来配置单个主计算设备(例如,时间同步服务器110),多个客户网络可使用该单个主计算设备作为参考时钟(例如,通过利用单个硬件时钟)来向客户网络的多个客户计算设备提供参考定时信号,这与到多个主计算设备(每个主计算设备具有其自己的硬件时钟并因此具有不同的定时信号)的多个连接相比,提供了更高水平的定时精度。此外,通过为多个客户网络中的每一个配置vlan和vrf(或网络命名空间),无论客户网络是否具有重叠的ip地址,客户网络都可以连接到单个主计算设备,该单个主计算设备本质上使得时间同步服务以单播模式操作,这可以提供更高的精度和可扩展性。
50.图2是更详细地示出图1的互连系统100的云交换的框图。在图2的示例中,主机托管(colocation)设施200可以表示图1的云交换102的示例实现。互连系统100描绘了诸如数据中心或仓库的主机托管设施200内的交换点128,其例如向客户网络104a和104b提供对由时间同步服务器202提供的时间同步服务的访问。尽管图2的主机托管设施200被图示为具有单个交换点,但是主机托管设施200可以包括多个交换点。
51.如本文所使用的,术语“客户”可以包括由主机托管设施提供商部署的主机托管设施的租户,由此客户从主机托管设施提供商购买主机托管、互连和/或其它网络服务中的一个或多个。在一些示例中,客户通过在主机托管设施200处托管来接收这样的服务,例如租用空间和/或电力来访问在主机托管设施200处提供的服务。在其他示例中,客户可以不是主机托管设施的物理租户,而是可以虚拟地连接到云交换,而不需要主机托管设施200中的物理存在。
52.在主机托管设施200中,空间和电力可以以笼子(cage)(由围栏或其他分界线包围的公共占地面积的区域)、机壳(cabinet)、机架(rack)、套装(suite)(不是公共占地面积的一部分的封闭房间)或其他空间的形式以灵活的增量被划分并租借给客户网络104,在所述其他空间中客户可以定位他们的网络设备以向/从主机托管设施200中托管的其他(多个)客户提供和/或接收网络服务。客户网络104可以租用主机托管设施200内的空间,以便与其它租户托管,以提高独立设施上的效率,以及将网络设备与主机托管设施200或校园内的其它租户/客户的网络设备互连,以降低延迟/抖动,并提高可靠性、性能和相对于传输网络的安全性等。主机托管设施200可以托管许多客户,例如客户网络104及其网络、服务器和/或存储装备。每个客户网络104可以具有选择在主机托管设施200处托管的特定原因,包括容量、地理接近度、连接到其他客户,与其他客户托管、以及价格。尽管图2示出了两个客户,但是互连系统100可以包括托管在主机托管设施200中(或虚拟连接到主机托管设施200)的一个或多个附加客户,以从主机托管设施200提供商接收诸如时间同步服务的网络服务。
53.操作计算设备108的云客户可以经由到云交换点128的第3层对等和物理连接直接接收基于云的服务,或者经由网络服务提供商(图2中未示出)之一(也称为“运营商”)间接接收基于云的服务。nsp通过在一个或多个云交换点内保持物理存在并且聚合来自一个或多个设备客户108的第3层访问来提供“云中转”。nsp可以在第3层直接与主机托管设施200的云交换点128对等(peer),并且在这样做时提供到一个或多个客户设备108的间接第3层连通性和对等,客户(例如,正在操作的客户设备108)可以通过该客户设备108从主机托管
设施200获得云服务。主机托管设施200的每个云交换点被分配不同的自治系统号(asn)。因此,每个云交换点是从云服务提供商到客户设备108的路径向量路由协议(例如,bgp)路径中的下一跳。结果,尽管每个云交换点不是具有一个或多个广域网链路以及伴随的互联网接入和中转策略的中转网络,但是每个云交换点可以经由外部bgp(ebgp)或其他外部网关路由协议与多个不同自治系统对等,以便从一个或多个云服务提供商交换、聚集和路由服务业务到客户。换言之,云交换点可以使云服务提供商和客户将在成对的基础上维护的ebgp对等关系内在化。相反,客户可以利用云交换点来配置单个ebgp对等关系,并且经由云交换点从一个或多个云服务提供商接收多个云服务。虽然本文主要针对云交换点与客户、nsp或云服务提供商网络之间的ebgp或其他第3层路由协议对等进行描述,但是云交换点可以以其他方式从这些网络学习路由,诸如通过静态配置、或经由路由信息协议(rip)、开放最短路径优先(ospf)、中间系统到中间系统(is-is)或其他路由分发协议。
54.作为上述示例,一个客户可以与用于主机托管设施200的云交换提供商签订合同,以经由云交换点直接访问第3层云服务。这样,该客户接收到到云服务提供商的冗余第3层连通性。上述合同在云交换点的网络基础设施中通过nsp和云交换点的交换设备内的l3对等配置以及在云交换点内建立的l3连接(例如,第3层虚拟电路)来例示,以将云服务提供商网络互连到nsp和客户网络,所有这些都具有在一个或多个云交换点内提供连通性的至少一个端口。
55.在一些示例中,主机托管设施200允许任何nsp的客户中的对应客户和包括操作客户设备的客户的其他云客户经由虚拟第2层(l2)或第3层(l3)连接而被直接连接到任何其他客户网络和/或任何csp,从而允许在客户网络和csp之间直接交换网络业务。虚拟l2或l3连接可以被称为“虚拟电路”。
56.nsp可各自表示与转接网络相关联的网络服务提供商,nsp的网络订户可通过该中转网络经由主机托管设施200访问由csp提供的云服务。通常,csp的客户可以包括网络运营商、大型企业、管理的服务提供商(msp)、以及用于由csp经由主机托管设施200提供的这种基于云的服务的软件即服务(saas)、平台即paas,基础设施即基础设施(iaas)、虚拟化即虚拟化(vaas)和数据存储即数据存储(dsaas)客户。
57.以这种方式,主机托管设施200以透明和中性的方式流线化并简化了(经由运营商nsp或直接地)使csp和客户合作的过程。一个示例应用是主机托管和互连数据中心,其中csp和nsp和/或操作客户设备108的客户可能已经具有网络存在,例如通过在数据中心内具有可用于互连的一个或多个可访问端口,其可以表示云交换点。这允许参与的nsp、客户和csp在同一设施内具有宽范围的互连性选项。以这种方式,nsp/客户可以具有创建多对多互连的选项,其中仅一次挂钩到一个或多个云交换点。换言之,主机托管设施200允许客户互连到多个csp和云服务,而不是必须跨中转网络建立单独的连接以访问不同的云服务提供商或一个或多个云服务提供商的不同云服务。
58.主机托管设施200可以经由托管在主机托管设施200中的客户网络104之间的网络基础设施的网络设备来提供一种或多种不同类型的互连服务。例如,主机托管设施200可以提供主机托管设施200的租户之间的物理或“层-1”(在开放系统互连模型(osi模型)中)互连。物理互连可以包括例如由类别5或类别6(cat5/6)电缆、同轴电缆和/或光纤电缆建立的物理交叉连接。在一些示例中,主机托管设施200可以提供主机托管设施200的租户之间的
数据链路或“第2层”(在osi模型中)互连。在一些示例中,提供第2层互连的主机托管设施200可被称为以太网交换,其中以太网是底层第2层协议。在一些示例中,主机托管设施200可以提供主机托管设施200的租户之间的网络和/或传输或“层-3/4”(在osi模型中)互连。在一些示例中,主机托管设施200可以提供层3/4互连(称为互联网交换),其中tcp/ip是底层的层3/4协议。例如,主机托管设施200可以提供互联网交换,以允许主机托管设施200的租户的路由器(例如,图1的网络设备116)使用诸如边界网关协议的第3层路由协议来直接与主机托管设施200的其他租户对等,以交换促进第3层业务交换的路由,从而提供私有对等。在一些示例中,主机托管设施200可以提供间接第3层路由协议对等,由此每个客户网络104向主机托管设施网络基础设施内的主机托管设施提供商部署的自治系统(as)通告其第3层路由,以提供由as介导的私有对等。as然后可以典型地结合隧道或其它转发机制中继这些路由,以建立到客户网络104的连接。在一些示例中,主机托管设施200可以提供间接的第3层路由协议对等以便于服务业务交换(称为基于云的服务交换,或者更简单地称为云交换)。在2016年4月14日提交的标题为“cloud-based services exchange”的美国专利号9,948,552,以及于2016年1月20日提交,标题为“multi-cloud,multi-service data model”美国专利第号10,015,268中可以找到交换的附加描述,其每一者的全部内容以引用的方式并入本文中。在2015年10月29日提交的题为“interconnectionplatform for real-time configuration and management of a cloud-based services exchange”的美国专利号9,886,267中找到了对由交换提供的互连服务的附加描述,该专利的全部内容通过引用并入本文。如本文所使用的,互连是由网络基础设施的网络设备提供的网络服务的示例。
59.在图2的示例中,时间同步服务器202可以提供时间同步服务,例如根据ntp或ptp。图2的时间同步服务器202可以表示图1的时间同步服务器110的示例。在该示例中,时间同步服务器202被托管在主机托管设施200中,但是在一些示例中,时间同步服务器202可以在连接到被托管在主机托管设施200中的服务提供商(例如,网络服务提供商或运营商)的主机托管设施200的外部。
60.在图2的示例中,交换点128包括网络基础设施和操作环境,客户网络104通过该操作环境接收网络服务,诸如由时间同步服务器202提供的时间同步服务。在一些示例中,交换点128的网络基础设施可包括诸如路由器和/或交换机(例如交换机226)等网络设备,以向客户网络104提供对由时间同步服务器202提供的时间同步服务的访问。交换机226可以表示图1的网络设备114的示例实现。交换点128内的网络设备的数量被示为简化示例,并且可以包括任意数量的网络设备,以向客户网络104提供对互连系统100的时间同步服务的访问。每个网络设备包括多个资源和特征以提供对时间同步服务的访问。例如,交换机226可以包括用于实现由交换机提供的特征的网络设备资源,这种网络设备资源包括控制平面中央处理单元(“cpu”)、数据平面cpu、控制平面存储器、数据平面存储器、端口、线路卡和其它网络设备资源。网络设备特征可包括提供对网络服务的支持并利用基于硬件的网络设备资源来实现网络服务的逻辑组件。例如,网络设备特征可以包括虚拟局域网(vlan)支持和网络设备支持的其他特征,以实现由运营商配置的网络服务(直接地或经由诸如软件定义联网(sdn)控制器的配置设备)。
61.在一些示例中,客户可以经由可编程网络平台120(“pnp 120”)从主机托管设施200提供商请求时间同步服务。如上所述,pnp 120可以表示在互连系统100的一个或多个数
据中心内执行的应用,或者备选地,例如,在站点外/远程地在主机托管设施提供商的后办公室或分支机构处执行的应用。虽然示出为管理单个主机托管设施200,但是可编程网络平台120可以控制用于多个不同主机托管设施的服务供应。备选地或附加地,可编程网络平台120的多个单独实例可以控制用于相应的多个不同主机托管设施的服务供应。可编程网络平台120可包括例如可与(多个)应用230交换信息以接收服务请求的服务接口214(或“服务应用编程接口(api)”)。服务接口214定义应用230可调用可编程网络平台120的方法、字段和/或其它软件原语。
62.(多个)应用230表示与pnp 120通信以请求用于客户网络的时间同步服务的至少一个应用。应用230表示用于与pnp 120介接的客户端侧软件,且可包含客户门户、客户应用和/或控制台,例如命令行接口或图形用户接口。(多个)应用230的用户或客户可以包括客户网络104,例如企业客户、云服务和内容提供商、运营商、网络服务提供商(nsp)或主机托管设施200的其他客户。(多个)应用230的用户还可以包括主机托管设施200提供者的操作者/管理员。在一些示例中,(多个)应用230和pnp 120可以表示相同应用的不同功能或模块。
63.在一些示例中,客户网络104a的管理员204(诸如运营商或软件代理)可以经由服务接口214向可编程网络平台120提供客户网络104a的ip地址。类似地,客户网络104b的管理员206可以经由服务接口214向可编程网络平台120提供客户网络104b的ip地址。在一些示例中,单个管理员可以为不同的客户网络(例如,如图4中进一步描述的,为主要客户网络和备份客户网络)提供不同的ip地址。
64.响应于接收到客户网络104a的ip地址,可编程网络平台120在时间同步服务器202上配置与客户网络104a的子网ip地址相关联的vlan 200。类似地,响应于接收客户网络104b的ip地址,可编程网络平台120还在时间同步服务器202上配置与客户网络104b的子网ip地址相关联的vlan 201。可编程网络平台120可以将vlan 200和vlan 201分配给时间同步服务器202的单个物理端口(称为“vlan中继”)。为了区分每个vlan上的业务,例如用与相应vlan相关联的vlan id来标记时间同步业务。例如,当向客户网络104a发送时间同步业务(例如,时间戳)时,时间同步服务器202可以将与vlan 200相关联的vlan id添加到时间同步业务。类似地,当向客户网络104b发送时间同步业务时,时间同步服务器202可以将与vlan 201相关联的vlan id添加到时间同步业务。
65.在一些示例中,交换机226可以从客户网络104a的客户设备108a中的至少一个接收时间同步业务,并将与vlan 200相关联的vlan id添加(或交换诸如图1的vlan 100的现有vlan id)到时间同步业务,以将时间同步业务发送到时间同步服务的特定实例(例如,定时守护程序304a)。类似地,交换机226可以从客户网络104b的客户设备108b中的至少一个接收时间同步业务,并将与vlan 201相关联的vlan id添加(或交换诸如图1的vlan 101的现有vlan id)到时间同步业务,以将时间同步业务发送到时间同步服务的特定实例(例如,定时守护程序304b)。
66.可编程网络平台120还可以为每个vlan配置虚拟路由和转发(vrf)实例或网络命名空间,以在特定客户网络和由时间同步服务器202提供的时间同步服务的特定实例之间路由时间同步业务。例如,可编程网络平台120可以用vlan 200的vrf来配置时间同步服务器202,以在客户网络104a和提供由时间同步服务器202提供的时间同步服务的第一实例
246的第一守护程序(例如,图3a的定时守护程序304a)之间发送时间同步业务。作为一个示例,可编程网络平台120可以配置vrf,该vrf包括分配给时间同步服务器202的网络接口卡(nic)250的物理端口的vlan 200的虚拟接口,其中vlan 200的虚拟接口被映射到时间同步服务的特定实例(例如,图3a的定时守护程序304a)。这样,当第一守护程序处理时间同步服务的第一实例246并使时间同步服务器202向客户网络104a发送时间同步消息时,时间同步服务器202可以将与vlan 200相关联的vlan id添加到时间同步业务,以将业务发送到客户网络104a。
67.类似地,可编程网络平台120可以用vlan 201的vrf来配置时间同步服务器202,以在客户网络104b和提供由时间同步服务器202提供的时间同步服务的第二实例248的第二守护程序(例如,图3a的定时守护程序304b)之间发送时间同步业务。在该示例中,可编程网络平台120可以配置vrf,该vrf包括分配给时间同步服务器202的(nic)250的物理端口的vlan 201的虚拟接口,其中vlan201的虚拟接口被映射到时间同步服务的特定实例(例如,图3a的定时守护程序304b)。这样,当第二守护程序处理时间同步服务的第二实例246并使时间同步服务器202向客户网络104b发送时间同步消息时,时间同步服务器202可以将与vlan 201相关联的vlan id添加到时间同步业务,以将该业务发送到客户网络104b。
68.这样,当交换机226从客户网络104a的客户设备108a中的至少一个接收到时间同步业务216时,交换机226可以添加与vlan 200相关联的vlan id,以向在时间同步服务器202内配置的第一守护程序发送业务。作为一个示例,当交换机226从客户网络104a的客户设备108a中的至少一个接收到具有与vlan 100相关联的vlan id的时间同步业务216时,交换机226可以将与vlan 100相关联的vlan id转换为与vlan 200相关联的vlan id,以向在时间同步服务器202内配置的第一守护程序发送业务。类似地,当交换机226从客户网络104b的客户设备108b中的至少一个接收到时间同步业务218时,交换机226可以添加与vlan 201相关联的vlan id,以将业务发送到在时间同步服务器202内配置的第二守护程序。作为一个示例,当交换机226从客户网络104b的客户设备108b中的至少一个接收到具有与vlan 101相关联的vlan id的时间同步业务218时,交换机226可以将与vlan 101相关联的vlan id转换为与vlan 201相关联的vlan id,以向在时间同步服务器202内配置的第一守护程序发送业务。业务216和218可以包括ptp或ntp消息,更一般地称为时间同步消息,包含时间戳和/或时间偏移信息。
69.如在图3a和3b中进一步描述的,可编程网络平台120可以使用vrf和网络命名空间的混合,这取决于虚拟化(包括容器化)的类型。
70.图3a是根据本发明中所描述的技术的一个或多个方面进一步详细说明时间同步服务器的示例的框图。在图3a的示例中,时间同步服务器300可以表示图1的时间同步服务器110或图2的时间同步服务器202的示例实现,其配置有虚拟路由和转发实例以路由针对与特定客户网络以及时间同步服务的特定实例相关联的vlan的时间同步业务。
71.在图3a的示例中,时间同步服务器300包括网络接口卡(“nic”)302a-302b(统称为“nic 302”)。图3a的示例仅仅是一个示例,并且可以包括任意数量的nic。在该示例中,nic 302a配置有包括vlan 314a-314m(统称为“vlan 314”)的第一vlan集合。nic302b配置有包括vlan 324a-324n(统称为“vlan 324”)的第二vlan集合。每个vlan与请求时间同步服务的云交换的特定客户网络相关联。
72.可编程网络平台(例如,图1和图2的可编程网络平台120)可以利用针对每个vlan的vrf来配置的时间同步服务器300,其中每个vrf包括一个或多个路由以在特定客户网络和时间同步服务的特定实例之间发送时间同步业务。例如,vrf 314a包括vlan 312a的虚拟接口,该虚拟接口被分配给nic 302a的物理端口,并被映射到提供时间同步服务的第一实例的定时守护程序304a。类似地,vrf314b包括vlan 312b的虚拟接口,该虚拟接口被分配给nic 302a的物理端口并且被映射到提供时间同步服务的第二实例的定时守护程序304b。同样,vrf 314m包括vlan 312m的虚拟接口,该虚拟接口被分配给nic 302a的物理端口,并被映射到提供时间同步服务的第m个实例的定时守护程序304m。
73.在nic 302a上配置的vlan的数量由于硬件限制而受到限制。随着连接到云交换的客户网络的数量继续扩展,附加的网络接口卡(例如,nic 302b)可以被添加到时间同步服务器300,并且由可编程网络平台利用用于附加客户网络的一个或多个vlan来配置。例如,可编程网络平台可以利用针对每个附加客户网络的vlan来配置nic 302b,并配置针对vlan的vrf,以在时间同步服务的实例和附加客户网络之间路由时间同步业务。例如,vrf 324a包括vlan322a的虚拟接口,该虚拟接口被分配给nic 302b的物理端口并且被映射到提供时间同步服务的实例的定时守护程序306a。类似地,vrf324b包括vlan 322b的虚拟接口,该虚拟接口被分配给nic 302b的物理端口并且被映射到提供时间同步服务的另一实例的定时守护程序306b。同样,vrf 324n包括vlan 322n的虚拟接口,该虚拟接口被分配给nic 302b的物理端口,并且被映射到提供时间同步服务的第n个实例的定时守护程序306n。
74.定时进程,例如定时守护程序304a-304m(统称为“定时守护程序304”),可以各自为vlan 312中的对应vlan提供时间同步服务的实例。类似地,定时守护程序306a-306n(统称为“定时守护程序306”)可以各自为vlan 322中的对应vlan提供时间同步服务的实例。每个定时守护程序304可以使用相同的硬件时钟(例如nic302a的硬件时钟310a)作为参考时钟,以向客户端计算设备提供参考定时信号,该客户端计算设备将其系统时间与时间同步服务器300的系统时间进行同步。类似地,每个定时守护程序306可以使用相同的硬件时钟(例如nic 302b的硬件时钟310b)作为参考时钟,以向客户端计算设备提供参考定时信号,该客户端计算设备将其系统时间与时间同步服务器300的系统时间进行同步。虽然硬件时钟310a和310b被示为nic时钟,但是硬件时钟可以包括网络接口卡(nic)时钟,图形处理单元(gpu)时钟,中央处理单元(cpu)时钟或其它硬件时钟中的一个或多个。
75.图3b是根据本发明中所描述的技术的一个或多个方面进一步详细说明时间同步服务器的另一示例的框图。在图3b的示例中,时间同步服务器350可以表示图1的时间同步服务器110或图2的时间同步服务器202的示例实现,其配置有命名空间以路由与特定客户网络和时间同步服务的特定实例相关联的vlan的时间同步业务。参考vrf(例如,如图3a中所描述的)描述的本公开的技术同样可以应用于网络命名空间,诸如在网络容器(例如,kubernetes)的上下文中,如下所述。网络命名空间可以提供具有网络隔离的容器,其中每个容器包括其自己的ip地址、路由表等。
76.在图3b的示例中,时间同步服务器350配置有命名空间,每个命名空间包括一个或多个路由以在时间同步服务的特定实例和特定客户网络之间发送时间同步业务。在该示例中,可编程网络平台(例如,图1和图2的可编程网络平台120)可以将时间同步服务器350的每个nic 302配置为包括针对每个vlan的命名空间,其中每个vlan与特定的客户网络相关
联。例如,命名空间334a包括vlan312a的虚拟接口,该虚拟接口被分配给nic 302a的物理端口并被映射到提供时间同步服务的第一实例的定时守护程序304a。类似地,名称空间334b包括vlan 312b的虚拟接口,该虚拟接口被分配给nic 302a的物理端口并且被映射到提供时间同步服务的第二实例的定时守护程序304b。同样,名称空间334m包括vlan 312m的虚拟接口,该虚拟接口被分配给nic 302a的物理端口,并被映射到提供时间同步服务的第m个实例的定时守护程序304m。
77.在nic 302a上配置的vlan的数量由于硬件限制而受到限制。随着连接到云交换的客户网络的数量继续扩展,可编程网络平台可以利用针对附加客户网络的一个或多个vlan来配置时间同步服务器300的附加网络接口卡,例如nic 302b。例如,可编程网络平台可以利用针对每个附加客户网络的vlan来配置nic 302b,并且配置针对vlan的命名空间,以在时间同步服务的实例和附加客户网络之间路由时间同步业务。例如,名称空间344a包括vlan 322a的虚拟接口,该虚拟接口被分配给nic 302b的物理端口并且被映射到提供时间同步服务的实例的定时守护程序306a。类似地,名称空间344b包括vlan 322b的虚拟接口,该虚拟接口被分配给nic 302b的物理端口并且被映射到提供时间同步服务的另一实例的定时守护程序306b。类似地,名称空间344n包括vlan 322n的虚拟接口,该虚拟接口被分配给nic 302b的物理端口并且被映射到提供时间同步服务的第n个实例的定时守护程序306n。
78.图4是说明根据本发明的一个或多个技术的冗余精确定时系统的概念图。图4的互连系统400可以包括两个冗余时间同步主设备,例如主要时间同步服务器410a和备份时间同步服务器410b。根据如上所述的技术,主要同步服务器410a和备份时间同步服务器410b均可被配置为提供时间同步服务。在图4的示例中,备份时间同步服务器410b可以在主要时间同步服务器410a发生故障的情况下提供时间同步服务。
79.在该示例中,客户网络404a可以是主要网络,而客户网络404b可以是备份网络。客户网络404a(例如,主要网络)的客户设备408a1-408an(统称为“客户设备408a”)可以经由主要云交换402a访问主要同步服务器410a和备份同步服务器410b。类似地,客户网络404b(例如,备份客户网络)的客户设备408b1-408bn(统称为“客户设备408b”)可以经由备份云交换402b访问主要同步服务器410a和备份同步服务器410b。
80.互连系统400可以包括属于客户的两个冗余vlan(例如vlan411),分别经由主要云交换402a和备份云交换402b向时间同步服务提供主要连接和备份连接。客户可以具有分配给每个云交换的端口(例如,在图4中被示为“lag端口”),并且需要到时间同步服务器的两个虚拟电路连接。
81.在图4的示例中,当客户网络404a机载(onboard)到云交换402a时,可编程网络平台120可从客户接收来自客户子网的可用ip地址,该可用ip地址可用于配置主要时间同步服务器410a和备份时间同步服务器410b。在该示例中,客户网络404a的管理员可以向可编程网络平台120提供10.10.20.20/24的第一ip地址和10.10.20.21/24的第二ip地址。作为响应,可编程网络平台120可以用第一ip地址(例如10.10.20.20/24)配置主要时间同步服务器410a,并用第二ip地址(例如10.10.20.21/24)配置备份时间同步服务器410b。
82.在图4的示例中,可编程网络平台120可以配置与主要时间同步服务器410a、备份时间同步服务器410b和主客户网络404a相关联的vlan 400。可编程网络平台120可以用与
vlan 400相关联的vrf412a来配置主要时间同步服务器410a。类似地,可编程网络平台120可以用与vlan 400相关联的vrf 412a来配置备份时间同步服务器410b。
83.因为到主要时间同步服务器410a和备份时间同步服务器410b的路由在相同的vrf(例如,vrf 412a)中,并且与相同的vlan(例如,vlan 400)相关联,所以在主要时间同步服务器410a发生故障的情况下,客户端设备可以切换到备份时间同步服务器410b。例如,在客户设备408a以多播模式运行时间同步协议的情况下,客户设备可以自动检测备份时间同步服务器410b作为主设备(例如,使用最佳主时钟算法)。以这种方式,客户设备408a可以自动切换到备份时间同步服务器。
84.在一些示例中,可编程网络平台120可以为备份连接配置与主要时间同步服务器410a、备份时间同步服务器410b和备份客户网络404b相关联的vlan 401。可编程网络平台120可以用与vlan 401相关联的vrf 412b来配置主要时间同步服务器410a。类似地,可编程网络平台120可以用与vlan 401相关联的vrf 412b来配置备份时间同步服务器410b。在主要连接发生故障(例如云交换402a发生故障)的情况下,客户网络可以使用备份连接来访问由主要时间同步服务器410a或备份时间同步服务器410b提供的时间同步服务。
85.图5是经配置以执行根据本公开的一个或多个技术的时间同步服务器540的更详细视图的框图。图5的时间同步服务器540可以表示图1的时间同步服务器110、图2的时间同步服务器202、图3a的时间同步服务器300、图3b的时间同步服务器350和/或图4的时间同步服务器410a和410b的示例实现。图5仅示出了时间同步服务器540的一个示例,并且同步服务器540的许多其他示例可以在其他实例中使用,并且可以包括示例时间同步服务器540中所包括的组件的子集,或者可以包括图5的示例时间同步服务器540中未示出的附加组件。
86.如图5的示例所示,时间同步服务器540包括一个或多个处理器552、一个或多个输入组件542、一个或多个通信单元544、一个或多个输出组件546以及一个或多个存储组件548。时间同步服务器540的存储组件548包括时间同步引擎554。通信信道550可互连组件542、544、546、548和552中的每一个以用于组件间通信(物理地、通信地和/或操作地)。在一些示例中,通信信道550可以包括系统总线、网络连接、进程间通信数据结构或用于传递数据的任何其他方法。
87.时间同步服务器540的一个或多个通信单元544可以通过在一个或多个网络上发送和/或接收网络信号,经由一个或多个有线和/或无线网络与外部设备进行通信。通信单元544的示例包括一个或多个网络接口卡(例如,nic 556a-556n),诸如以太网卡、光收发器、射频收发器、gps接收器或能够发送和/或接收信息的任何其它类型的设备。通信单元544的其它示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电以及通用串行总线(usb)控制器。
88.时间同步服务器540的一个或多个输入组件542可以接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,时间同步服务器540的输入组件542包括存在敏感输入设备(例如,触敏屏幕,psd)、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自人或机器的输入的任何其它类型的设备。在一些示例中,输入组件542可以包括一个或多个传感器组件、一个或多个位置传感器(gps组件、wi-fi组件、蜂窝组件)、一个或多个温度传感器、一个或多个运动传感器(例如,加速计、陀螺仪)、一个或多个压力传感器(例如,气压计)、一个或多个环境光传感器、以及一个或多个其他传感器(例如,麦克风、相机、红外接近
度传感器、湿度计等)。
89.时间同步服务器540的一个或多个输出组件546可以生成输出。输出的示例是触觉、音频和视频输出。在一个示例中,时间同步服务器540的输出组件546包括psd、声卡、视频图形适配卡、扬声器、阴极射线管(crt)监视器、液晶显示器(lcd)或用于向人或机器生成输出的任何其它类型的设备。
90.一个或多个处理器552可以实现与时间同步服务器540相关联的功能和/或执行指令。处理器552的示例包括应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器、以及被配置为用作处理器、处理单元或处理设备的任何其他硬件。时间同步引擎554可由处理器552操作以执行时间同步服务器540的各种动作,操作或功能。例如,时间同步服务器540的处理器552可以检索并执行由存储部件548存储的指令,这些指令使处理器552执行时间同步引擎554的操作。当由处理器552执行时,这些指令可以使时间同步服务器540将信息存储在存储部件548内。
91.时间同步服务器540内的一个或多个存储组件548可存储用于在时间同步服务器540的操作期间处理的信息(例如,时间同步服务器540可存储在时间同步服务器540处执行期间由时间同步引擎554访问的数据)。在一些示例中,存储部件548是临时存储器,这意味着存储部件548的主要目的不是长期存储。时间同步服务器540上的存储部件548可以被配置用于将信息短期存储为易失性存储器,并且因此如果断电则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、以及本领域已知的其它形式的易失性存储器。
92.在一些示例中,存储组件548还包括一个或多个计算机可读存储介质。一些示例中的存储组件548包括一个或多个非暂时性计算机可读存储介质。存储组件548可经配置以存储比通常由易失性存储器存储的更大量的信息。存储组件548可进一步经配置以将信息长期存储为非易失性存储器空间且在通电或断电循环之后保留信息。非易失性存储器的实例包含磁性硬盘、光盘、软盘、快闪存储器或电可编程存储器(eprom)或电可擦除可编程(eeprom)存储器的形式。存储组件548可以存储与同步引擎554相关联的程序指令和/或信息(例如,数据)。存储组件548可包括被配置成存储与同步引擎554相关联的数据或其它信息的存储器。
93.根据本发明的技术,时间同步引擎554根据本发明中所描述的技术使用交换来提供时间同步服务。时间同步引擎554可以执行多个时间同步守护程序或进程(例如,ptp守护程序和/或ntp守护程序),其中每个时间同步进程处理对应客户网络的时间同步服务器的实例。每个时间同步过程通过相应的vrf或命名空间发送和接收定时分组,其中vrf或命名空间与相应的客户网络相关联。如上所述,时间同步服务器540还包括硬件网络接口卡(nic)556a-556n,所有由主设备发送和接收的定时分组都通过它们。每个硬件nic包括硬件时钟,并将时间戳应用于发送或接收的分组,所述时间戳指示根据硬件时钟的时间。
94.以这种方式,即使客户网络可能具有重叠的ip地址,时间同步服务器540也可以管理以隔离时间同步业务的每个实例的时间同步业务。服务提供商可以将本文描述的技术实现为对客户的服务,以同步客户设备上的时钟。时间同步服务器540可以提供服务来同步单个数据中心内的客户设备上的时钟,或者可以同步位于彼此远离的不同地理区域的客户设备。在一些示例中,本文所描述的技术的一些方面可以被实现为可下载软件插件,其在例如
数据中心中的客户设备上执行,并且使得计算系统能够执行如本文所描述的时间同步过程。在一些示例中,类似于时间同步服务器540(但执行客户端侧功能)的设备可以对应于安装有软件插件和/或网卡的客户设备,该软件插件和/或网卡使得能够接收并能够基于所接收的时间戳偏移来执行客户端侧时间同步动作。
95.图6是示出根据本公开中描述的技术的使用云交换来提供时间同步服务的示例操作的流程图。参考图1的可编程网络平台来描述图6的操作。
96.在图6的示例中,可编程网络平台120接收被连接到由可编程网络平台管理的云交换102的多个客户网络中的客户网络的ip地址(602)。例如,客户网络104a的管理员可以为客户网络104a提供ip地址为10.10.20.20/24的可编程网络平台120。类似地,客户网络104b的管理员可以为客户网络104b提供ip地址为10.10.20.20/24的可编程网络平台120。
97.响应于接收到被连接到云交换102的客户网络的ip地址,可编程网络平台120利用与客户网络的ip地址相关联的vlan来配置被连接到云交换102的时间同步服务器110(604)。例如,可编程网络平台120可以配置用于客户网络104a的ip地址的vlan 200和用于客户网络104b的ip地址的vlan 201。这样,每个vlan可以提供到相应客户网络的连通性,同时保持与其它客户网络的业务隔离。
98.可编程网络平台120还利用针对vlan的vrf或网络名空间来配置时间同步服务器,其中vrf或网络名空间包括用于在客户网络与提供时间同步服务的多个实例中的特定实例之间发送时间同步业务的路由(606)。例如,可编程网络平台120可以配置与vlan 200相关联的vrf 112a和与vlan 201相关联的vrf 112b。vrf 112a和112b中的每一个包括用于发送针对其相关联的vlan的时间同步业务(例如,ptp或ntp消息)的一个或多个路由。例如,vrf可以发送针对与特定客户网络和时间同步服务的特定实例相关联的vlan的时间同步业务。例如,vrf 112a可以包括用于在提供时间同步服务的第一实例的第一定时过程(例如,图3a的定时守护程序304a)与客户网络104a之间发送时间同步业务的路由。类似地,vrf112b可以包括用于在提供时间同步服务的第二实例的第二定时过程(例如,图3a的定时守护程序304b)与客户网络104b之间发送时间同步业务的路由。
99.取决于所述实例,本文中所描述的技术中的任一者的某些动作或事件可以不同次序执行、可被添加、合并或完全省去(例如,并非所有所描述的动作或事件均为实践所述技术所必需的)。此外,在某些示例中,可以例如通过多线程处理、中断处理或多个处理器而不是顺序地同时执行动作或事件。
100.在一个或多个示例中,所描述的功能可以用硬件、软件、固件或其任意组合来实现。如果以软件实现,则这些功能可以作为计算机可读介质上的一个或多个指令或代码来存储或传输,并由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或者包括便于例如根据通信协议将计算机程序从一个地方传送到另一个地方的任何介质的通信介质。以此方式,计算机可读媒体通常可对应于(1)非暂态的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可以是可由一个或多个计算机或一个或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包括计算机可读介质。
101.作为示例而非限制,这种计算机可读存储介质可包括ram、rom、eeprom、cd-rom或
其他光盘存储、磁盘存储或其他磁存储设备、闪存、或可用于存储指令或数据结构形式的所需程序代码并可由计算机访问的任何其他介质。而且,任何连接被适当地称为计算机可读介质。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤电缆、双绞线、dsl或例如红外线、无线电和微波的无线技术包含在媒体的定义中。计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它瞬态介质,而是针对非暂态、有形存储介质。本文使用的磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
102.指令可由包括处理电路的一个或多个处理器执行,例如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者或适合于实施本文中所描述的技术的任何其它结构。另外,在一些方面中,本文所描述的功能性可提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合编解码器中。此外,所述技术可完全实施于一个或多个电路或逻辑元件中。
103.本发明的技术可实施于各种各样的装置或设备中,包含无线手持机,集成电路(ic)或一组ic(例如,芯片组)。在本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但不一定需要由不同的硬件单元来实现。相反,如上所述,各种单元可以结合在编解码器硬件单元中、或者由包括如上所述的一个或多个处理器的协作硬件单元的集合连同适当的软件和/或固件来提供。
104.已经描述了本公开的各种示例。可以设想所描述的系统、操作或功能的任何组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1