CN102597793A - 用于改进的时钟偏移测量的技术 - Google Patents
用于改进的时钟偏移测量的技术 Download PDFInfo
- Publication number
- CN102597793A CN102597793A CN2010800481976A CN201080048197A CN102597793A CN 102597793 A CN102597793 A CN 102597793A CN 2010800481976 A CN2010800481976 A CN 2010800481976A CN 201080048197 A CN201080048197 A CN 201080048197A CN 102597793 A CN102597793 A CN 102597793A
- Authority
- CN
- China
- Prior art keywords
- network node
- exchange
- single byte
- time
- byte
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
在一个示意性方面中,揭示了适合时钟偏移确定的方法、装置及程序产品。一种方法包括执行与另一网络节点的至少单个字节的多次交换,其中所述单个字节的值对于所述交换而言是不同的。所述方法还包括捕获并存储在所述网络节点上执行的所述多次交换中的每一次交换的时间戳。一种第二方法包括捕获并保存从另一网络节点接收的一组计时消息中的多个计时消息中的每个计时消息的到达时间戳。此第二方法还包括响应于所述一组计时消息的完成而将所述时间戳发送至至少所述另一节点。
Description
技术领域
本发明总体上涉及网络,更具体地说,涉及测量网络节点的时钟偏移。
背景技术
广泛认为,关于时钟同步的纯软件解决方案遭受将准确度限于10微秒或大于10微秒的不可避免的“系统噪声”(进程分派、中断处理等)。当需要微秒级同步时,使用硬件解决方案,例如,在通信链路的两端处具有IEEE1588(精确时间协议)支持的网络适配器。
如图1中所描绘,典型软件时间戳交换使客户端节点A将时间戳T1发送至服务器节点B,服务器节点B在时间T2接收时间戳T1。服务器节点B接着在时间T3发送回复,且客户端节点A在时间T4接收到该回复。使用客户端节点A的时钟来测量T1及T4;在服务器节点B的时钟上测量T2及T3。从此信息可确定客户端A的时钟与服务器B的时钟之间的偏移,但是软件以及硬件延迟造成高抖动。IEEE 1588在硬件级别获取时间戳,且提供一个接口以收集这些时间戳。然而,如在IEEE 1588中的硬件实施方式比软件实施方式昂贵且比软件实施方式更难以修改。
因此,需要提供克服这些限制的技术。
发明内容
在本发明的一个示意性方面中,揭示一种在网络节点上执行的方法。所述方法包括执行与另一网络节点的至少单个字节的多次交换,其中所述单个字节的值对于所述交换而言是不同的。所述方法还包括捕获并存储在所述网络节点上执行的所述多次交换中的每一次交换的时间戳。
在另一示意性方面中,揭示一种网络节点,其配置为执行与另一网络节点的至少单个字节的多次交换,其中所述单个字节的值对于所述交换而言是不同的。所述网络节点还配置为捕获并存储在所述网络节点上执行的所述多次交换中的每一次交换的时间戳。
在另一方面中,揭示一种在网络节点上执行的方法。所述方法包括捕获并保存从另一网络节点接收的一组计时消息中的多个计时消息中的每个计时消息的到达时间戳。所述方法还包括响应于所述一组计时消息的完成而将所述时间戳发送至至少所述另一节点。
在一个额外示意性方面中,揭示一种网络节点,其配置为捕获并保存从另一网络节点接收的一组计时消息中的多个计时消息中的每个计时消息的到达时间戳,且配置为响应于所述一组计时消息的完成而将所述时间戳发送至至少所述另一节点。
附图说明
当结合附图阅读时,本发明的实施例的前述及其他方面在以下示意性实施例的“具体实施方式”中更显而易见,这些附图是:
图1示出一种现有时间戳交换方法;
图2是示出两个网络节点之间的通信的硬件方块图;
图3说明用于在正常行为下执行时钟偏移测量的示意性协议;
图4说明用于在客户端超时时执行时钟偏移测量的示意性协议;
图5和图6说明用于在服务器超时时执行时钟偏移测量的示意性协议;
图7是在正常行为下的客户端状态和操作的图;
图8是在异常行为下的客户端状态和操作的图;
图9是在正常行为下的服务器状态和操作的图;
图10是在异常行为下的服务器状态和操作的图;以及
图11是用于执行时钟偏移测量的示意性流程图。
具体实施方式
在一个示意性实施例中,揭示一种用于时钟偏移测量的新技术,所述技术使用将时钟偏移减小至绝对最小值的一系列“乒乓(ping pong)”交换,其中每次交换涉及在每次交换时不同的单个字节(例如,使剩余消息计数递减),且可用于判定该单个字节是否为所述系列中的最后交换。在交换的每一侧上的网络节点私下记录到达时间戳和离开时间戳,并且在交换结束时,例如在非时间关键消息中将所收集的时间戳返回另一侧(对于网络节点中的一个节点或两个节点)。在一个实施例中,一种协议实施方式确保字节交换的每一侧知晓在超时之后是否仍预期另一分组,且仅可存在一个此类延迟后的分组。这极大地简化了超时恢复,且消除了在由于不确定性造成的超时之后重新初始化链路的需要(尽管并非唯一恢复方法,但是是最简单的恢复方法)。
单字节交换的额外益处(在一个示意性实施例中)包括(但不限于)这些交换允许简单数据驱动旋转循环(data-driven spin-loop)用于远程直接存储器存取(RDMA)状况下:目标字节一改变,回复字节即可发送,而不必首先轮询完成状态。在InfiniBand(主要用于高性能计算中的通信链路)的示意性状况下,这可将已经为低的延时减小至少1微秒。
现参看图2,此图描绘两个网络节点(客户端100及服务器200)的硬件方块图。如所展示,客户端100包括布置为存取一个或多个存储器103的一个或多个处理器101,其中存储器103包括计算机程序102。客户端100还包括时钟109。同样地,服务器200包括布置为存取一个或多个存储器203的一个或多个处理器201,其中存储器203包括计算机程序202。服务器200包括时钟209。客户端与服务器在由每一侧上的链路适配器104/204控制的物理链路300上且经由网络310进行通信。在一个示意性实施例中,可在每个存储器103/203之间经由直接存储器存取(DMA)传送存储器103/203中的信息,且两个存储器之间经由链路300的交互允许实施远程直接存储器存取(RDMA)协议,其是用于本发明的特定实施例的协议。应指出的是,可使用其他协议在链路300上交换数据。客户端100的时钟109与服务器200的时钟209之间的时钟偏移待在本文中的示意性实施例中确定。应指出的是,本发明的各方面适用于任何两个网络节点,且并不限于服务器200和客户端100。
在此非限制性实例中,一个或多个存储器103还包括表示传输时间105、传输延迟及时钟偏移107的数据。下文更详细地描述这些数据。服务器200还可将表示传输时间105、传输延迟及时钟偏移107的数据包括在其一个或多个存储器203中(图2中未示出)。时间戳也驻留于存储器103/203中,如下文更详细地描述。
程序102/202在由其各自的一个或多个处理器101/201执行时配置客户端100和服务器200以执行本文中所描述的操作。具体地说,可通过配置后的客户端100/服务器200(由相应程序101/201配置)来执行图3至图10中的操作中的任一操作。
本发明的一个示意性实施例包括在服务器200上运行的程序202,程序202与在客户端100上运行的程序102通信。服务器200与客户端100协调以开始客户端偏移测量处理。在一个实施例中,所述协调包括服务器程序202等待来自客户端100的“门铃”(或“初始化”)请求以开始一系列乒乓消息交换,从而在交换期间收集时间戳测量。各实施例可能或可能不要求服务器200对该请求做出确认(ACK)。使用来自服务器200以及客户端100两者的这些时间戳以估计客户端时钟与服务器时钟之间的相对时间误差(skew)及偏移。在此实例中,客户端程序102发起乒乓消息交换。在乒乓交换期间,在客户端与服务器之间的每一消息中发送一单个字节。在各图所展示的实施例中,字节的值比待交换的剩余分组大1,其中0具有单独含义以发信号通知发送者经历超时且因此预期再一次的回复。然而,本发明并不限于此。在一个示意性实施例中,客户端程序102负责在每一次往返之后使字节递减。服务器200(例如,程序202)在每次服务器200接收到单个字节时记录时间戳。在一个实施例中,服务器200将相同字节发送回客户端。当字节等于1(一)或0(零)时,服务器200立即(例如)发送回服务器200在当前乒乓交换期间已收集的所有时间戳。在客户端100发送具有值1的字节之后,客户端100预期来自服务器200的下一消息含有所有时间戳(而不是单个字节)。
在一个示意性实施例中,将一种实施方式创建为在使用链路300的可靠通信通道上建立的通信协议。此示意性协议(及流程图)在图3中示出。所有消息将以其发送次序来递送,其中在递送中可能存在延迟。在一个示意性实施例中,因为在消息递送中可能存在延迟,所以客户端程序与服务器程序两者使用超时机制以防止过长时间的乒乓交换。下文描述示意性超时机制。
图3说明如上文所描述的示意性情境。在图3的实例中,安排四次乒乓交换。客户端100与服务器200协调以通过请求4(四)次乒乓交换来开始时钟偏移测量处理,且在此实例中,服务器200以确认(ACK)做出回应。
接着通过在客户端100与服务器200之间进行计时消息的第一次交换来开始时钟偏移测量处理。该交换包括:客户端100发送具有值4(四)的字节310-1,且服务器200接收此字节310-1。客户端100捕获并存储客户端时间戳T1,且服务器捕获并存储服务器时间戳T2。该交换以服务器200将字节310-1发送回客户端100而结束。客户端100捕获并存储客户端时间戳T3,且接着进行第二次交换。捕获并存储客户端时间戳T3可视为第一次交换或第二次交换的一部分。
第二次交换包括第一次发送和接收具有值3(三)的字节310-2,捕获并存储客户端时间戳T4,发送和接收字节310-2,以及捕获并存储服务器时间戳T5。第三次交换及第四次交换包括交换分别具有值2(二)及1(一)的字节310-3和310-4以及存储时间戳T6、T7、T8和T9。
响应于预定数目次交换的完成,服务器200将服务器时间戳T2、T4、T6及T8发送至客户端100。在图3的实例中,服务器200通过接收和发送具有值1(一)的字节310来确定完成。
应指出的是,正在进行交换的单个字节是含有单个字节数据有效负载的计时消息,且含有该计时消息的分组可具有额外信息。还应指出的是,发送单个字节的单个元素至少因为单个字节消除了一些潜在额外处理而是有益的。例如,当将消息从一个计算机发送至另一计算机时,所述计算机之一可(例如)因为“字节序(endianness)”而必须改变消息中的字节的次序。如本领域中公知的,“字节序”是用于表示数据的字节(或更大存储器元素)的排序。例如,两个字节A及B(因此组成一个字)可存储为AB或BA。接收BA的网络节点将必须判定字节需要切换至AB以在该特定网络节点上使用。如果仅存在单个字节,则每个计算机使用哪一字节序无关紧要。因此,发送诸如字或双字的单一存储器元素将需要解决字节序。然而,如果实施方式可处置此处理,则可使用字或双字的其他单个元素。对于使用TCP/IP(传输控制协议/因特网协议)的网络,避免字节序问题的优势主要在于简单性;性能影响通常可忽略。当在乒乓交换结束时传输时间戳时,将必须考虑字节序,因此不能够完全避免此问题。然而,对于使用RDMA的网络,从技术观点而言,单个字节旋转循环能力更为重要,且可导致相当的性能改进。
应指出的是,图3中的协议仅为示意性的,且可对此协议进行许多改变且所述改变在本发明的示意性实施例的范围内。在另一示意性实施例中,客户端100在交换之间使字节310中的数目递减。在另一实施例中,客户端100响应于发送前一字节310而使下一数目准备好进行传输。例如,在发送字节310-1之后,客户端100可预备具有值3(三)的另一字节以在一旦自服务器200接收到字节310-4后便准备发送该字节。作为另一实例,客户端100可预备具有适当值的四个字节,且接着将这些字节作为字节310来传送。另外,客户端100可使字节310中的数目的值递增,或可使用某种其他算术或逻辑运算(例如,移位)以预备字节。
无论确定的字节310中的值为何,字节310的值对于每次交换而言不同是有益的,否则将不会知晓字节310的接收次序。在图3的示意性实施例中,每一字节310在交换中具有相同值,但也可修改此值,使得客户端100及服务器200能够辨别每一字节的接收次序。例如,客户端100可发送具有值8(八)的字节310,服务器200使此字节递减且将具有值7(七)的字节310发送回客户端100。下一交换将涉及值6(六)(来自客户端100)及值5(五)(来自服务器200)。字节310的值在每次交换之间仍不同。不同字节值用于两个目的:(1)将远程超时与常规交换区别开,及(2)允许检测字节的改变的旋转循环。所呈现的协议假定顺序递送,因此无序递送通常不在讨论范围之内。
在特定示意性实施例中,使用图3所示的协议包括(但不限于)以下益处:
1)较低延时改进了时钟时间误差和偏移的估计,且导致增加的同步准确性。
2)在交换网络消息的同时,执行在两个节点上同时发生。
3)计时交换消息通过仅使用单个字节分组有效负载而得以简化,从而消除与网络字节次序或一致性关联的问题。对于RDMA网络,这还消除了在时间敏感消息交换期间等待接收完成通知的需要。
4)将计时消息交换从时间戳收集分离。每个网络节点记录单个字节消息到达和离开时间,且在一系列单个字节消息交换完成时与另一节点交换到达/离开时间。
5)相比其他硬件时间同步方法,此方法的软件实施方式具有减少成本且便于安装、更新及维护的其他益处。
因此,在图3的协议的实例中,在客户端节点与服务器节点之间从时间戳收集分离计时消息交换。另外,计时消息不含有来自另一节点的到达时间戳。在交换的猝发中,一个时间戳可表示字节的到达及回复的离开,这是因为应立即进行回复。在客户端与服务器节点之间发送单个字节计时消息的猝发,其中立即回复除交换的最后字节之外的所有字节。在已完成计时消息交换的猝发之后,交换计时消息的到达时间的集合。
如上所述,示意性通信协议建立在可靠通信通道上。所有消息以其发送的次序递送,其中在递送中可能存在延迟。因为在消息递送中可能存在延迟,所以客户端程序与服务器程序两者使用超时机制以防止过长时间的乒乓交换。现论述示意性超时机制。
当客户端100或服务器200超时等待来自另一侧的乒乓回复(例如,等待节点已发送具有大于1的值的字节)时,等待节点发送具有预定值的字节(在此实例中,具有值0的字节)以指示超时且终止当前乒乓交换。超时是单个字节未在预定时段内到达网络节点时发生的状况。
参看图4,此图说明用于在客户端超时时执行时钟偏移测量的示意性协议。客户端100超时等待来自服务器200的对具有值1的字节的答复。客户端100通过将具有值0(零)的字节发送至服务器200来对超时做出回应。超时的客户端100接着预期来自服务器200的下一消息是未决单个字节,后跟具有所收集的时间戳的消息。要指出的是,如果客户端100发送字节=1(一),则客户端100预期来自服务器200的下一消息含有时间戳。客户端100将保持等待时间戳。
参看图5及图6,这些图说明用于在服务器200超时时执行时钟偏移测量的示意性协议。超时的服务器200将发送字节=0(零),后跟服务器200目前已收集的时间戳。在这些状况下,服务器应预期字节=*(星号)的消息(例如,具有包含任何值的字节的消息)在发送途中,这是因为客户端100并不知晓服务器200在发送字节=*(星号)的消息之前已超时。在这些状况下,服务器200应丢弃字节=*(星号)的消息。
图7是在正常行为下的客户端状态和操作的图。图8是在异常行为下的客户端状态和操作的图。要指出的是,对于可靠连接,应递送且以消息发送的次序来递送所有消息。
图9是在正常行为下的服务器状态和操作的图。图10是在异常行为下的服务器状态和操作的图。要指出的是,服务器200不应在发送字节=0(零)与接收时间戳之间接收任何消息。
转向图11,此图说明用于执行时钟偏移测量的示意性流程图。流程图中的操作将由客户端100和服务器200执行,在一个示意性实施例中,客户端100和服务器200均由相应程序102、202配置以执行所述操作。另外,图11的流程图中的操作可通过硬件或软件的任何组合来执行。
在操作A中,网络节点协调以开始时钟偏移测量处理。协调通常包括(但不限于):使客户端100请求多次单字节乒乓交换,及使服务器200发送确认消息(例如,如图3所示)。交换的数目将大体上在4与10之间,但可使用小于4或大于10的数目。
在操作B中,网络节点交换单个字节达预定次数,其中该单个字节的值对于交换而言是不同的(例如,如图3所示及上文参看图3所描述)。在一个示意性实施例中,程序102/202实施远程直接存储器存取(RDMA)存取以便交换操作B的字节。这些交换允许将简单的数据驱动旋转循环用于RDMA的状况下:目标字节一改变,回复字节即可发送,而不必首先轮询完成状态。在InfiniBand的示意性状况下,这可将已经较低的延时减小至少一微秒。
在操作C中,每一节点捕获并存储在该节点上执行的交换的每一部分的时间戳。例如(见图3),客户端100捕获并存储时间戳T1、T3、T5及T7,且服务器200捕获并存储时间戳T2、T4、T6及T8。应指出的是,图11示出用于正常处理的流程图。在图4至图6、图8及图10中示出异常处理。
在操作D中,所述节点中的至少一个将所存储的时间戳传送至另一节点或额外节点。通常,服务器200会将其所存储的时间戳发送至客户端100,客户端100接着执行操作E、F及G。然而,客户端100也可将其所存储的时间戳发送至服务器200,服务器200将接着执行操作E、F及G。客户端100和服务器200还可交换其所存储的时间戳,且客户端100及服务器200中的一者或两者还可将时间戳发送至另一网络节点。
在操作E中,使用时间戳(诸如,图3所示的时间戳T1至T8)来确定传输时间105。使用相邻时间戳之间的差T偶数-T奇数(例如,T2-T1)来确定前向传输时间,且使用T奇数与T偶数之间的差(例如,T3-T2)来确定后向传输时间。在操作F中,接着至少基于在操作E中所确定的最小值(对于每一方向)来选择表观(apparent)前向和后向传输延迟106。还可使用其他技术,诸如凸包(convex hull)滤波。在使用凸包滤波技术的情况下,可有利地单独收集前向和后向传输延迟106,且滤除任何系统噪声。
在操作G中,节点(通常为客户端100)基于在操作F中所确定的表观前向及后向延迟来确定客户端或服务器时钟偏移107。在操作H中,使用时钟偏移107来使网络节点的时钟同步。通常,这意味着将使客户端的时钟(例如,图2的客户端100的时钟109)与服务器的时钟(例如,图2的服务器200的时钟209)同步。
例如,如果客户端100想要追踪服务器200的时钟,则客户端100重复地请求时间戳交换以便测量当前时钟偏移,且从此类测量的历史及适当滤波技术,客户端100可接着引导其时钟109匹配服务器200的时钟。此情形可能每秒进行几次,使得如果本地振荡器的频率稳定在(例如)1ppm(百万分之一)或2ppm,则可将时钟偏移控制在微秒级。
本发明的一个示意性实施方式用于使网络节点群集中的时钟更好地同步,且因此允许用户获得对正在网络节点间处理的事务的准确延迟测量。由于在群集中的节点之间所发送的极小分组以及紧密耦合的乒乓处理,所以本发明的各实施例中的技术提供对时钟之间的偏移及时间误差的更准确测量。
本领域的技术人员将理解,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面(在此通常被称为“电路”、“模块”或“系统”)的实施例的形式。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质(在介质中具有计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是(例如但不限于)电、磁、光、电磁、红外线或半导体系统、装置、设备或它们的任何适当组合。计算机可读存储介质的更具体的实例(非穷举列表)可以包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或它们的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的有形介质。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以使用任何适当的介质(包括但不限于无线、线缆、光缆、RF等或它们的任何适当组合)来传输计算机可读介质中包含的程序代码。
用于执行本发明的各方面的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++之类的面向对象的编程语言以及诸如“C”编程语言或汇编语言或类似编程语言之类的常规过程编程语言。此类计算机程序代码还可包括用于场可编程门阵列的代码,例如VHDL(超高速集成电路硬件描述语言)。
在此参考根据本发明的各实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明的各方面进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。
这些计算机程序指令也可以被存储在可引导计算机、其他可编程数据处理装置或其他设备以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的指令产生一件包括实现在一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。
所述计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备,以导致在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的逻辑功能(多个)的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
前文描述已通过示意性而非限制性实例来提供对执行本发明的实施例的发明者目前所预期的最佳技术的充分和信息性描述。然而,当结合附图及所附权利要求书阅读时,鉴于前文描述,各种修改和改变对于本领域技术人员将变得显而易见。对本发明的教示的所有这些及类似修改仍将落入本发明的范围。
此外,本发明的示意性实施例的一些特征可在无其他特征的相应使用的情况下有利地使用。因而,前文描述应被视为只是例示本发明的实施例的原理而非对其进行限制。
Claims (25)
1.一种在网络节点上执行的方法,所述方法包括:
执行与另一网络节点的至少单个字节的多次交换,其中所述单个字节的值对于所述交换而言是不同的;以及
捕获并存储在所述网络节点上执行的所述多次交换中的每一次交换的时间戳。
2.如权利要求1的方法,还包括从所述另一网络节点接收与在所述另一网络节点上执行的所述多次交换中的每一次交换对应的时间戳。
3.如权利要求1的方法,还包括至少部分地基于所述时间戳来测量所述网络节点之间的多个传输时间,以及至少基于所述传输时间来确定所述网络节点的时钟偏移。
4.如权利要求3的方法,其中所述网络节点包括客户端并且所述另一网络节点包括服务器。
5.如权利要求1的方法,还包括在所述交换中的每次交换之间修改所述单个字节的值。
6.如权利要求1的方法,还包括响应于接收到具有预定值的单个字节而将所有所存储的时间戳传送至所述另一网络节点,所述预定值指示一组所述多次交换的完成。
7.如权利要求1的方法,还包括响应于在预定时段期间未接收到单个字节而确定已发生超时,以及将具有指示所述超时的预定值的单个字节传送至所述另一网络节点。
8.如权利要求7的方法,其中存在预定数目的所述多次交换,所述超时发生在小于所述预定数目次的交换发生的情况下,且所述方法还包括以下操作之一:将所述时间戳传送至所述另一网络节点;或等待从所述另一网络节点接收在所述另一网络节点上执行的所述多次交换中的每一次交换的时间戳。
9.如权利要求1的方法,其中在每一次交换期间或在每一次交换之间修改所述单个字节的值。
10.一种网络节点,其配置为执行与另一网络节点的至少单个字节的多次交换,其中所述单个字节的值对于所述交换而言是不同的,且配置为捕获并存储在所述网络节点上执行的所述多次交换中的每一次交换的时间戳。
11.如权利要求10的网络节点,其中所述网络节点还配置为从所述另一网络节点接收与在所述另一网络节点上执行的所述多次交换中的每一次交换对应的时间戳。
12.如权利要求11的网络节点,其中所述网络节点还配置为至少部分地基于所述时间戳来测量所述网络节点之间的多个传输时间,以及至少基于所述传输时间来确定所述网络节点的时钟偏移。
13.如权利要求12的网络节点,其中所述网络节点包括客户端并且所述另一网络节点包括服务器。
14.如权利要求10的网络节点,其中所述网络节点还配置为在所述交换中的每次交换之间修改所述单个字节的值。
15.如权利要求10的网络节点,其中所述网络节点还配置为响应于接收到具有预定值的单个字节而将所有所存储的时间戳传送至所述另一网络节点,所述预定值指示一组所述多次交换的完成。
16.如权利要求10的网络节点,其中所述网络节点还配置为响应于在预定时段期间未接收到单个字节而确定已发生超时,以及将具有指示所述超时的预定值的单个字节传送至所述另一网络节点。
17.如权利要求16的网络节点,其中存在预定数目的所述多次交换,所述超时发生在小于所述预定数目次的交换发生的情况下,且所述网络节点还配置为执行以下操作之一:将所述时间戳传送至所述另一网络节点;或等待从所述另一网络节点接收在所述另一网络节点上执行的所述多次交换中的每一次交换的时间戳。
18.如权利要求10的网络节点,其中所述网络节点还配置为在每一次交换期间或在每一次交换之间修改所述单个字节的值。
19.一种在网络节点上执行的方法,所述方法包括:
捕获并保存从另一网络节点接收的一组计时消息中的多个计时消息中的每个计时消息的到达时间戳;以及
响应于所述一组计时消息的完成而将所述时间戳发送至至少所述另一节点。
20.如权利要求19的方法,还包括执行与所述另一网络节点的具有单个字节的计时消息的多次交换,其中所述单个字节的值对于所述交换而言是不同的,并且其中针对在所述网络节点处接收的所述单个字节中的每个单个字节而发生所述捕获和保存。
21.如权利要求20的方法,其中将在计时消息中接收的单个字节以值未改变的方式传送回所述另一节点。
22.如权利要求19的方法,还包括通过确定计时消息包括具有预定值的单个字节而确定所述一组计时消息的完成。
23.一种网络节点,其配置为捕获并保存从另一网络节点接收的一组计时消息中的多个计时消息中的每个计时消息的到达时间戳,且配置为响应于所述一组计时消息的完成而将所述时间戳发送至至少所述另一节点。
24.如权利要求23的网络节点,其中所述网络节点还配置为执行与所述另一网络节点的具有单个字节的计时消息的多次交换,其中所述单个字节的值对于所述交换而言是不同的,且其中所述网络节点配置为使得针对在所述网络节点处接收的所述单个字节中的每个单个字节而发生所述捕获和保存。
25.如权利要求24的网络节点,其中所述网络节点配置为使在计时消息中接收的单个字节以值未改变的方式被传送回所述另一节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/610,430 US8533355B2 (en) | 2009-11-02 | 2009-11-02 | Techniques for improved clock offset measuring |
US12/610,430 | 2009-11-02 | ||
PCT/US2010/053913 WO2011053544A1 (en) | 2009-11-02 | 2010-10-25 | Techniques for improved clock offset measuring |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102597793A true CN102597793A (zh) | 2012-07-18 |
Family
ID=43922478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800481976A Pending CN102597793A (zh) | 2009-11-02 | 2010-10-25 | 用于改进的时钟偏移测量的技术 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8533355B2 (zh) |
JP (1) | JP5669853B2 (zh) |
CN (1) | CN102597793A (zh) |
DE (1) | DE112010004237B4 (zh) |
GB (1) | GB2486376B (zh) |
TW (1) | TWI497970B (zh) |
WO (1) | WO2011053544A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107710650A (zh) * | 2015-04-29 | 2018-02-16 | Abb瑞士股份有限公司 | 用于在时变和有损网络上的时钟同步的方法、系统和装置 |
CN110445848A (zh) * | 2019-07-22 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 用于事务处理的方法和装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8139489B2 (en) * | 2008-08-06 | 2012-03-20 | International Business Machines Corporation | Robust jitter-free remote clock offset measuring method |
US8533355B2 (en) | 2009-11-02 | 2013-09-10 | International Business Machines Corporation | Techniques for improved clock offset measuring |
US9100277B2 (en) * | 2012-08-28 | 2015-08-04 | Alcatel Lucent | Client credentials data structure and method of employing the same |
US9916585B2 (en) | 2013-03-12 | 2018-03-13 | Mastercard International Incorporated | Methods and systems for generating a transaction lifecycle output for a payment card transaction |
US10718870B2 (en) | 2017-05-12 | 2020-07-21 | Iposi, Inc. | Internet-based time and frequency recovery for position fixing of GNSS receiver |
EP3659277A1 (en) * | 2017-07-25 | 2020-06-03 | Telefonaktiebolaget LM Ericsson (publ.) | Methods, apparatus and computer-readable media for synchronization over an optical network |
CN111757391B (zh) * | 2019-03-29 | 2024-04-12 | 华为技术有限公司 | 一种通信方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1109695A (zh) * | 1993-05-10 | 1995-10-04 | 塔里根特公司 | 多媒体同步系统 |
EP0697774A1 (en) * | 1994-08-15 | 1996-02-21 | Hewlett-Packard Company | Clock offset estimation |
CN1675864A (zh) * | 2002-06-24 | 2005-09-28 | 霍尼韦尔国际公司 | 容错以太网中的时钟同步方法 |
CN101416431A (zh) * | 2006-02-01 | 2009-04-22 | 迅腾有限公司 | 分组网络中的增强型时钟控制 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3023A (en) * | 1843-03-30 | peters | ||
US8004A (en) * | 1851-03-25 | Francis b | ||
US6167465A (en) * | 1998-05-20 | 2000-12-26 | Aureal Semiconductor, Inc. | System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection |
US6556573B1 (en) * | 1998-06-05 | 2003-04-29 | Nokia Telecommunications Oy | Synchronization of ATM-based network system using variable bit rate ATM adaptation layer protocols |
US6662223B1 (en) * | 1999-07-01 | 2003-12-09 | Cisco Technology, Inc. | Protocol to coordinate network end points to measure network latency |
US6898204B2 (en) * | 2000-04-07 | 2005-05-24 | Broadcom Corporation | Method of determining a collision between a plurality of transmitting stations in a frame-based communications network |
US7512069B2 (en) * | 2000-05-18 | 2009-03-31 | Exfo Service Assurance, Inc. | IP packet identification method and system for TCP connection and UDP stream |
US6928473B1 (en) * | 2000-09-26 | 2005-08-09 | Microsoft Corporation | Measuring network jitter on application packet flows |
US6957357B2 (en) * | 2000-10-30 | 2005-10-18 | International Business Machines Corporation | Clock synchronization with removal of clock skews through network measurements in derivation of a convext hull |
US7194649B2 (en) * | 2000-10-30 | 2007-03-20 | International Business Machines Corporation | Clock synchronization for network measurements with clock resets |
US7023816B2 (en) * | 2000-12-13 | 2006-04-04 | Safenet, Inc. | Method and system for time synchronization |
US7047435B2 (en) * | 2000-12-19 | 2006-05-16 | Siemens Corporate Research, Inc. | System and method for clock-synchronization in distributed systems |
US7103541B2 (en) * | 2002-06-27 | 2006-09-05 | Microsoft Corporation | Microphone array signal enhancement using mixture models |
US7072432B2 (en) * | 2002-07-05 | 2006-07-04 | Meshnetworks, Inc. | System and method for correcting the clock drift and maintaining the synchronization of low quality clocks in wireless networks |
US7257133B2 (en) * | 2002-09-30 | 2007-08-14 | Lucent Technologies Inc. | Method for estimating offset for clocks at network elements |
WO2005002100A1 (en) | 2003-06-30 | 2005-01-06 | Koninklijke Philips Electronics N.V. | High accuracy network clock synchronization |
US7126800B2 (en) * | 2003-07-11 | 2006-10-24 | General Electric Company | Method and system for communications channel delay asymmetry compensation using global positioning systems |
WO2005077063A2 (en) * | 2004-02-09 | 2005-08-25 | Semtech Corporation | Method and apparatus for aligning time references when separated by an unreliable data packet network |
JP2006227225A (ja) * | 2005-02-16 | 2006-08-31 | Alpine Electronics Inc | コンテンツ提供装置及び方法 |
US7359919B2 (en) * | 2005-03-08 | 2008-04-15 | Microsoft Corporation | Reliable request-response messaging over a request-response transport |
GB2425234B (en) * | 2005-04-15 | 2010-04-14 | Zarlink Semiconductor Inc | Method of recovering timing over a granular packet network |
US7688865B2 (en) * | 2005-09-09 | 2010-03-30 | International Business Machines Corporation | Method and system for clock skew and offset estimation |
US7475272B2 (en) * | 2005-09-09 | 2009-01-06 | International Business Machines Corporation | Method for calculating clock offset and skew |
US7103514B1 (en) * | 2005-09-09 | 2006-09-05 | International Business Machines Corporation | Filter turning point detection |
US7643430B2 (en) * | 2005-11-30 | 2010-01-05 | Cisco Technology, Inc. | Methods and apparatus for determining reverse path delay |
US8327192B2 (en) * | 2006-02-06 | 2012-12-04 | Intel Corporation | Method for memory integrity |
US7630397B2 (en) * | 2006-10-26 | 2009-12-08 | Transwitch Corporation | Efficient scalable implementation of VCAT/LCAS for SDH and PDH signals |
EP1936867B1 (en) * | 2006-12-22 | 2013-02-20 | Corvil Limited | Delay measurements in network traffic |
EP1990938A1 (en) | 2007-05-10 | 2008-11-12 | Deutsche Thomson OHG | Method for synchronizing a clock of a network component with a clock of a further network component and network component therefor |
EP2023456A1 (en) * | 2007-08-06 | 2009-02-11 | Abb Research Ltd. | Estimating a time offset between stationary clocks |
EP2026485A1 (en) * | 2007-08-17 | 2009-02-18 | Nokia Siemens Networks Oy | Method and device for a packet based clock recovery |
TW200926660A (en) * | 2007-08-22 | 2009-06-16 | Koninkl Philips Electronics Nv | Synchronisation method |
CN101459502A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 一种网络时钟同步的方法与装置 |
US8249049B2 (en) * | 2009-03-17 | 2012-08-21 | Cisco Technology, Inc. | Clock synchronization |
US8533355B2 (en) | 2009-11-02 | 2013-09-10 | International Business Machines Corporation | Techniques for improved clock offset measuring |
-
2009
- 2009-11-02 US US12/610,430 patent/US8533355B2/en not_active Expired - Fee Related
-
2010
- 2010-10-25 DE DE112010004237.3T patent/DE112010004237B4/de active Active
- 2010-10-25 CN CN2010800481976A patent/CN102597793A/zh active Pending
- 2010-10-25 JP JP2012536918A patent/JP5669853B2/ja active Active
- 2010-10-25 GB GB1205460.7A patent/GB2486376B/en active Active
- 2010-10-25 WO PCT/US2010/053913 patent/WO2011053544A1/en active Application Filing
- 2010-11-02 TW TW099137673A patent/TWI497970B/zh not_active IP Right Cessation
-
2012
- 2012-07-20 US US13/554,000 patent/US8788689B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1109695A (zh) * | 1993-05-10 | 1995-10-04 | 塔里根特公司 | 多媒体同步系统 |
EP0697774A1 (en) * | 1994-08-15 | 1996-02-21 | Hewlett-Packard Company | Clock offset estimation |
CN1675864A (zh) * | 2002-06-24 | 2005-09-28 | 霍尼韦尔国际公司 | 容错以太网中的时钟同步方法 |
CN101416431A (zh) * | 2006-02-01 | 2009-04-22 | 迅腾有限公司 | 分组网络中的增强型时钟控制 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107710650A (zh) * | 2015-04-29 | 2018-02-16 | Abb瑞士股份有限公司 | 用于在时变和有损网络上的时钟同步的方法、系统和装置 |
CN107710650B (zh) * | 2015-04-29 | 2019-08-16 | Abb瑞士股份有限公司 | 用于在时变和有损网络上的时钟同步的方法、系统和装置 |
CN110445848A (zh) * | 2019-07-22 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 用于事务处理的方法和装置 |
CN110445848B (zh) * | 2019-07-22 | 2023-02-24 | 创新先进技术有限公司 | 用于事务处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20120284418A1 (en) | 2012-11-08 |
DE112010004237T5 (de) | 2012-12-20 |
WO2011053544A1 (en) | 2011-05-05 |
US8533355B2 (en) | 2013-09-10 |
TWI497970B (zh) | 2015-08-21 |
US8788689B2 (en) | 2014-07-22 |
JP2013509814A (ja) | 2013-03-14 |
US20110106968A1 (en) | 2011-05-05 |
GB201205460D0 (en) | 2012-05-09 |
GB2486376B (en) | 2018-06-27 |
DE112010004237B4 (de) | 2016-04-14 |
JP5669853B2 (ja) | 2015-02-18 |
TW201132095A (en) | 2011-09-16 |
GB2486376A (en) | 2012-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102597793A (zh) | 用于改进的时钟偏移测量的技术 | |
US8139489B2 (en) | Robust jitter-free remote clock offset measuring method | |
EP2727392B1 (en) | Distributed positioning mechanism for wireless communication devices | |
US9756153B2 (en) | Method for improving accuracy in computation of one-way transfer time for network time synchronization | |
CN104144088A (zh) | 一种提高时延测量精度的网络时延测量方法 | |
CN103248471B (zh) | 基于ptp协议与反射内存网的时钟同步方法 | |
CN102857354B (zh) | 告警信息上报方法、装置及系统 | |
US20150023179A1 (en) | Triangle loopback | |
CN101902370A (zh) | 帧时延测量的装置、系统及方法 | |
CN115002047B (zh) | 一种远程直接数据存取方法、装置、设备以及存储介质 | |
CN109254941A (zh) | 基于fpga的串行信号时钟同步方法、串转并方法及装置 | |
CN106230541B (zh) | 一种用于工业以太网的站点同步系统及方法 | |
CN109313623A (zh) | 切换串口数据传输状态的方法及装置 | |
CN113783664A (zh) | 消息传输方法和消息传输装置 | |
WO2018186876A1 (en) | Technologies for high-precision timestamping of packets | |
Cena et al. | A MODBUS extension for inexpensive distributed embedded systems | |
CN103840934A (zh) | 一种基于时钟自动恢复的开销传递方法及装置 | |
CN114205256A (zh) | 基于twamp协议连续测量网络性能的方法、装置和存储介质 | |
CN105763519A (zh) | 一种一致性控制方法,装置及系统 | |
JP2015198399A (ja) | 通信装置 | |
CN113597012B (zh) | 一种收发密集型窄带无线远距离通信的防冲突方法 | |
CN103078700A (zh) | 一种时钟同步处理方法 | |
EP3609133B1 (en) | Link acquisition in directional wireless systems | |
CN112825493A (zh) | 时戳配置方法及装置、时钟同步方法及装置 | |
T Faraj Al-Janabi et al. | Simulation Study of Wired/Wireless Fieldbus Systems Using Store and Forward Mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120718 |