CN102739468B - 用于当实时时钟不可用时修订相对时间戳的方法 - Google Patents

用于当实时时钟不可用时修订相对时间戳的方法 Download PDF

Info

Publication number
CN102739468B
CN102739468B CN201210090374.8A CN201210090374A CN102739468B CN 102739468 B CN102739468 B CN 102739468B CN 201210090374 A CN201210090374 A CN 201210090374A CN 102739468 B CN102739468 B CN 102739468B
Authority
CN
China
Prior art keywords
time
network
assemble index
stamp
assemble
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.)
Active
Application number
CN201210090374.8A
Other languages
English (en)
Other versions
CN102739468A (zh
Inventor
D·卡拉甘
S·卡拉莫夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102739468A publication Critical patent/CN102739468A/zh
Application granted granted Critical
Publication of CN102739468B publication Critical patent/CN102739468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本发明涉及当实时时钟不可用时的相对时间戳。驻留在电子处理设备上的操作系统或其他软件采用聚集时间戳。以此方式,可生成时间戳并将其彼此进行比较,而无需具有备用电源的实时时钟。聚集时间包括设备将其时钟与通过网络可用的基准时间进行同步的最后知晓的时间。聚集时间还包括相对时间值,每当设备通电时,该相对时间值就部分地使用会话时钟来积累。当网络时间变得可用时,操作系统或其他软件将使用此信息来修补已生成的聚集时间戳。时间戳的比较对于在同一设备上生成的戳印而言在大多数时间将被解决,而当被比较的时间戳由不同的设备生成时,通常通过比较时间帧来解决。

Description

用于当实时时钟不可用时修订相对时间戳的方法
技术领域
本发明涉及当实时时钟不可用时的相对时间戳。
背景技术
典型的个人计算机(PC)以及诸如移动电话之类的其他嵌入式设备包括两个时间记录系统:硬件实时时钟(RTC);以及由操作系统维护的软件虚拟时钟。出于在设备被关闭或主电源被断开时维护准确的一天中的时间的信息的目的,RTC通常包括电池备用电源。以此方式,RTC持续维护对当前日期和时间的估计。在PC通电和初始化期间(即,在操作系统引导期间),软件虚拟时钟通常被同步到RTC。
在可信的远程时间源变得可用时,这些设备共同调节它们的基准时间。现有许多用于通过网络(例如,因特网)同步计算机系统时间时钟的不同的时间同步系统。这些网络时间同步系统的示例包括网络时间协议(NTP)以及相关简单网络时间协议(SNTP)。由PC或其他设备执行的时间同步软件通常提供RTC至外部时间源的周期性时间同步。时间同步软件还可跟踪RTC时间记录误差并调节可编程RTC时间记录电路以改进各周期性时间同步之间的RTC时间记录准确度。
对RTC和备用电源的需求增大了设备的整体成本,并且会限制设备可靠性,因为其取决于具有固定寿命的组件。另外,备用电源会包括电池内的危险材料。虽然普通的电话电池可被移除来循环使用,但是包含备用电池的系统常常需要拆开来回收危险材料。
发明内容
在一个实现中,驻留在电子处理设备上的操作系统或其他软件采用聚集时间戳。以此方式,可生成时间戳并将其彼此进行比较,而无需具有备用电源的实时时钟。聚集时间包括设备将其时钟与通过网络可用的基准时间进行同步的最后知晓的时间。聚集时间还包括相对时间值,每当设备通电时,该相对时间值就部分地使用会话时钟来积累。当网络时间变得可用时,操作系统或其他软件将使用此信息来通过将网络时间添加到生成的聚集时间戳来修补该已生成的聚集时间戳。事件的时间顺序可通过比较在同一设备上生成的时间戳来确定,而当被比较的时间戳由不同的设备生成时,通常将通过比较时间帧来解决。
提供本概述是为了介绍将在以下详细描述中进一步描述的管理身临其境的环境的简化概念。本发明内容并不旨在标识所要求保护的主题的必要特征,也不旨在用于帮助确定所要求保护的主题的范围。用于管理身临其境的环境的技术和/或装置此处也被分开地或结合地称为“技术”,如上下文所准许的。
附图说明
图1和2是示出由两个不同的电子处理设备生成的时间戳的时间线。
图3是其中可使用聚集时间戳的示例性电子处理设备的简化框图。
图4是图解图3中所示的设备的会话时钟和存储器组件可如何被用来生成和比较时间戳的简化示意图。
图5是类似于图4的简化示意图,其示出了在采用可调整(fixable)时间时,图3中所示的设备400的会话时钟和存储器组件可如何被用来生成和比较时间戳。
具体实施方式
如以下详细描述的,描述了用于在不使用具有电池备用的RTC的情况下跟踪在PC或其他电子处理设备中发生的事件的时间先后次序和发出这些事件的时间戳的方法和装置。该技术假定在设备的正常操作期间的某一时间将建立可靠网络连接。该技术还可被应用来维护从不建立网络连接的各设备中的相对时间先后次序。
驻留在设备上的操作系统或其他软件采用聚集时间的概念。聚集时间包括设备将其时钟与通过网络可用的基准时间(在此称为“网络时间”)进行同步的最后知晓的时间。聚集时间还包括用于提供相对时间值的单调时钟值。当网络时间变得可用时,操作系统或其他软件将使用此信息来修补已生成的聚集时间戳。对于在同一设备上生成的戳印而言时间戳的比较通常将被解决,而当被比较的时间戳由不同的设备生成时,其将通过比较时间帧来解决。
将讨论聚集时间的三个方面。第一方面涉及生成或设置聚集时间的方式。第二方面涉及一旦聚集时间被设置,随时间维护聚集时间的方式。第三方面涉及聚集时间被用来比较采用聚集时间的时间戳的方式。这些方面中的每一个将被依次讨论。
聚集时间包括以下四个字段:网络时间;功率时间;网络间隔;以及系统ID。网络时间是指由设备通过与之处于通信中的网络注册基准时间的最后时间。当基准时间可用时,在生成时间戳时注册基准时间。网络时间可根据任何合适的基准来指定,但是在以下的示例中,通常将根据协调单元时间(UTC)时间单元来指定的。
功率时间是指以紧接在其中网络时间最后变得不可用的最后会话之后的会话开始并且在一个或多个会话(在该会话期间PC或其他设备通电)上累积的时间量。会话是指在引导设备与使其断电之间的时间段。根据此定义,网络时间表示在功率时间复位或等于0时的实际当前时间。换言之,每当知道网络时间时,功率时间就复位或等于零。
网络间隔表示其中继在没有参考网络时间的情况下作出时间戳之后获取网络时间的时间。仅针对在网络时间不可用时生成的时间戳设置网络间隔。
聚集时间中的最后字段是系统ID,它是在其上作出时间戳的物理设备的唯一标识符。
给定以上对聚集时间的各个分量的定义,将参照图1中就具有系统ID等于1的设备示出的时间线来描述其中根据聚集时间生成或设置时间戳的方式。在图1中,沿着始于零时并结束于十五时的按时间先后顺序的时间线示出了九个时间戳T1-T9。因而,例如,时间戳T1在时刻2.5处设置,而时间戳T7在时刻12.5处设置。还沿时间线示出了设备在每个时刻处的状态。具体而言,设备在时刻0-2、7-9以及10-12之间通电。另外,基准时间在时刻3-4、5-6以及13-14之间可用。在所有其他时刻处,网络不可用,且因此基准时间也不可用。
聚集时间使用以下标记法来表示:{网络时间,功率时间,网络间隔,系统ID}。
表1
如表1中所见的,每当网络可用于提供基准网络时间时,就执行聚集时间戳维护。在这些时刻,执行维护以更新具有未被设置为零的功率时间的任何时间戳。网络间隔被设置为新近获得的基准时间(而网络时间仍被设置为先前获得的基准时间)。
图2是具有等于2的系统ID的设备的时间线。在图2中,沿着始于时刻十一并结束于时刻十七的按时间先后顺序的时间线示出了三个时间戳T10-T12。与对图1的时间戳确定聚集时间值的方式相类似,图2的聚集时间值如下:
T10={12.5,0,0,2}
T11={12.5,0.5,0,2}
T11(经调整)={12.5,0.5,16,2}
T12={16.5,0,0,2}
为了将时间戳彼此进行比较,需要考虑三个不同的情形。在第一情形中,功率时间未被设置(例如,等于0)。在此情形中,网络时间与当前基准时间相同。无论时间戳是在同一设备还是不同设备上创建的,这都将成立。因而,参照图1和2中的时间戳,时间戳T3在时间戳T2之后的时间发生,因为T3的网络时间更大。类似地,时间戳T9(在设备1上加戳印)晚于时间戳T10(在设备2上加戳印)发生,因为T9的网络时间更大。
当被比较的时间戳中的任一个具有被设置(即,非零)的功率时间并且它们在同一设备上作出时(即,当聚集时间中的系统ID相同时),发生第二情形。再次地,在这些情形下,网络时间的值决定该比较。如果两个时间戳的网络时间的值相同,则功率时间将决定该比较。例如,再次参考图1和2中的时间戳:T6晚于T4发生,因为T6的网络时间更大;T8在晚于T6的时间发生,因为T8的网络时间更大;T6在晚于T1的时间发生,因为T6的网络时间更大;T6晚于T1(经调整)发生,因为T6的网络时间更大;以及T7在晚于T6的时间发生,因为尽管它们具有相同的网络时间,但是T7的功率时间更大。
当功率时间中的至少一个被设置但是被比较的两个时间戳具有不同的系统ID的值时,发生第三(最后)的情形。即,时间戳是在两个不同的设备上生成的。为了在这些情形下比较两个时间戳,引入时间帧的概念。每个聚集时间戳与时间帧相关联,并且表示期间作出该时间戳的基准时间间隔。如果功率时间未被设置(例如,等于0),则时间帧具有等于聚集时间戳的网络时间的单个值。另一方面,如果功率时间被设置(例如,不等于0),则时间帧表示较早时间与较晚时间之间的时间间隔。较早时间等于聚集时间的网络时间与功率时间的总和,而较晚时间在聚集时间戳的网络间隔为零的情况下等于当前时间,或者较晚时间在网络间隔不等于零的情况下等于聚集时间戳的网络间隔。
在此第三情形(即,第一和第二聚集时间戳中的至少一个的功率时间为非零,且设备ID不同)中,比较与聚集时间戳相关联的两个时间帧。具体而言,如果第一和第二时间帧不重叠,则具有较晚时间帧的聚集时间戳在较晚的时间发生。然而,如果两个时间帧重叠,则比较无法被解决,并且保留不确定性。预期在统计上这是很少发生的,并且不反映该方法的任何不足;在此情形中,信息确实不可用,因为在两个时间帧重叠时,无法分辨在一个时间帧内发生的事件是在另一时间帧内发生的事件之前还是之后。
表2示出了与来自图1和2的聚集时间帧相关联的时间帧。
表2
基于表2中所示的时间帧,以下两个示例性时间戳比较可被解决。在第一示例中,T6(经调整)在晚于T11的时间发生。这时因为时间帧[7,13]和时间帧[13,CT]不重叠,且时间帧[7,13]在时间帧[13,CT]之前发生。在第二示例中,将时间戳T6(经调整)与时间帧T10进行比较。这一比较的结果是不确定的,因为同时间戳T6(经调整)相关联的时间帧[12.5,12.5]与同时间戳T10相关联的时间帧[7,13]重叠。
图3是其中可实现或使用以上所描述的时间戳技术的各方面的示例性电子处理设备400的简化框图。电子处理设备400一般表示各种各样的通用或专用计算环境,而不旨在对此处所描述的系统和方法的使用范围或功能提出任何限制。例如,电子处理设备400可以是消费者电子设备,诸如移动电话、个人数字助理、个人计算机、个人媒体播放器、计算机/电视机设备、机顶盒、硬驱动存储设备、摄像机、DVD播放器、电缆调制解调器、本地媒体网关、或另一类型的已知或以后开发的电子设备。电子处理设备400也可以是一种类型的网络化服务器或其任一方面。这样的服务器可以是分布式计算网络的部分,且可被用来整体或部分地实现、主存或代理任何类型的基于网络的服务。
如图所示,电子处理设备400包括处理器402、计算机可读介质404、和计算机可执行指令406。一个或多个内部总线421可用于承载数据、地址、控制信号以及电子处理设备400或其元件内的、去往它们的或来自它们的其它信息。
处理器402可以是真实或虚拟的处理器,其通过执行计算机可执行指令406来控制操作环境的功能。处理器可在汇编、编译或机器级执行指令以执行特定的过程。
计算机可读介质404可表示任何形式的、现在已知或将来开发的、能够记录、存储或传输诸如计算机可执行指令406和数据408之类的计算机可读数据的任意数量的本地或远程设备或其组合。具体地,计算机可读介质404可以是或可包括半导体存储器(例如,诸如只读存储器(“ROM”)、任何类型的可编程ROM(“PROM”)、相变存储器(PRAM)、随机存取存储器(“RAM”)、或闪存);磁存储设备(诸如软盘驱动器、硬盘驱动器、磁鼓、磁带、或磁光盘);光学存储设备(诸如任何类型的紧致盘或数字多功能盘);磁泡存储器;高速缓冲存储器;磁心存储器;全息存储器;记忆棒;纸带;穿孔卡,或其任何组合。
计算机可执行指令406表示任何信号处理方法或所存储的指令。通常,计算机可执行指令406根据用于基于组件的软件开发的公知惯例被实现为软件组件,并被编码到计算机可读介质中。计算机程序可按照各种方式组合或分发。然而,计算机可执行指令406不限于由计算机程序的任何特定实施例来实现,且在其它实例中可以由硬件、软件、固件、或其任何组合来实现或在其中执行。
计算机可执行指令406包括诸如用于引导和/或控制设备400的低层操作的基本输入/输出系统(“BIOS”)或统一可扩展固件接口(UEFI)450之类的组件。计算机可执行指令406还包括用于控制电子处理设备400的操作系统441。该操作系统可包括Java或.NET虚拟机模块或者与其进行接口,Java虚拟机模块允许经由Java或受管理的(C#、Silverlight)应用程序来控制硬件组件和/或操作系统操作。计算机可执行指令406还包括时间戳逻辑440,其可被设备400用来计算、维护或比较以上所描述的聚集时间戳。在一些实现中,时间戳逻辑440可被直接结合到操作系统441中。
时间戳逻辑组件440可包含出于在从网络获得网络时间(例如,UTC)之后将具有诸如图1中所示的时间T1和T7之类的功率时间戳的事件转换成一天中的实际时间的时间戳的目的,而向操作系统提供服务的应用。在例如当文件是在系统获得网络时间之前被创建或修改时发生此情景。这些文件可包含所创建的文件时间戳,该所创建的文件时间戳是不可对照来自该系统外部的不支持聚集时间的文件来按时间先后顺序进行比较的聚集时间值。因而,该系统可作为后台任务来将文件从聚集时间转换成一天中的时间。当具有可被修补成一天中的实际时间的聚集时间的文件被从系统拷贝下来时,时间戳逻辑可被调用以转换它们。例如,如果远程客户机计算通过网络接口410从该设备请求文件,可使用诸如但不限于用于流传送文件的FTP(文件传输协议)、SMB(服务器消息接发块)、NFS(网络文件系统)协议之类的标准网络文件传输协议将文件从聚集时间修补为一天中的时间(假定其可被修补)。远程客户机可接收文件以及与关联于该文件的标准常规文件时间戳格式的日期和时间戳信息有关的相关联元数据。
时间戳逻辑还可用于帮助索引或搜索引擎组件460来确定系统中文件的时间先后排序。例如,用户可能期望找到诸如在2011年1月1日早上12:00之后但在2011年3月15日下午1:00之前之类的特定日期和时间期间创建的所有文件。搜索引擎可检查仅用聚集时间来加戳印的文件,并确定由实际网络时间围入的哪些时间窗可适用于搜索参数。因而,系统可返回在该时间窗期间所创建的文件和信息——即使系统不可获得实际时间值。不采用本文中描述的技术的传统系统将在没有电池备用RTC的情况下通电并使用自诸如时间1980年1月1日00:00:00之类的系统“零”时刻起流逝的系统时间来开始对文件加时间戳。然而,具有聚集时间的系统将在知晓实际真实时间的窗口之间引导,并且仍对文件进行加戳印,以使得可通过在真实时间窗内进行搜索来发现它们。
永久或非易失性存储器420被用来存储网络时间记录和功率时间记录,该网络时间记录和功率时间记录被时间戳逻辑440用来生成和比较时间戳。如果计算机可读介质404的全部或部分包括永久存储器,则永久存储器420可被包括在计算机可读介质404中。
电子处理设备400还包括输入接口416和输出接口,其是任何已知或后来开发的、便于分别接收电子处理设备400的输入和输出的物理或逻辑元件。
网络接口410表示一个或多个物理或逻辑元件,诸如连接设备或计算机可执行指令,其经由一个或多个协议或技术实现电子处理设备400与外部设备或服务之间的通信。此类通信可以但不一定是客户端-服务器类型通信或对等通信。在给定网络接口处接收到的信息可穿过通信协议栈的一个或多个层。通过网络接口410提供给电子处理设备400的信息是在设备与适合的网络处于通信中时可用的基准时间。
会话时钟430包括用于每当设备40被通电就维护按时间先后顺序的时间的电路。会话时钟430不包括诸如电池或电容器之类的备用电源,并因此在设备断电时不会维护时间。会话时钟430可被实现为使用标准单调硬件时钟或甚至标准CPU计时器维护按时间先后顺序的时间的软件。
专用硬件442表示实现电子处理设备400的功能的任何硬件或固件。专用硬件的示例包括编码器/解码器、硬件辅助加密/解密功能、专用集成电路等。
可以理解,电子处理设备400的特定配置可以包括比所描述的那些更少、更多、或不同的组件或功能。另外,电子处理设备400的功能组件可以由位于一处或远程放置的一个或多个设备以各种方式来实现。本文中描述为计算机程序的功能/组件不限于通过计算机程序的任何特定实施例的实现。相反,此类功能/组件是传送或变换数据的过程,且一般可使用硬件、软件、固件或其任何组合来实现或执行。
图4是图解图3中所示的设备400的会话时钟和存储器组件可如何被用来生成和比较时间戳的简化示意图。在此示例中,设备500利用会话时钟530,该会话时钟530采用可重置无电池时钟电路来在设备通电时维护会话时间。设备将网络时间记录维护在永久存储器520中。当事件的时间戳被请求和生成时,注册表示最后知晓的基准时间的网络时间记录522。另外,系统还将功率时间记录524维护在永久存储器520中。功率时间记录524表示设备在不具有对基准时间的访问的情况下所花费的累积操作时间。如同网络时间记录522一样,当事件的时间戳被请求和生成时,注册功率时间记录524。
一旦在会话中获得了网络连接,会话时钟530和功率时间记录524被重置,且网络时间记录522被设置。如果在会话期间连接丢失且被重新获得,则不采取动作,因为基准时间已被获得并在会话全程中被维护。例如,用聚集时间对诸如对文件540和550的创建之类的所有事件加戳印,而不用管当前网络时间是否可用。如图4中所示的,每当时间戳被请求,会话时钟530所记录的累积会话时间就被添加到网络时间记录522(如果在会话期间曾获得基准时间)或添加到功率时间记录524。另外,会话时钟530被重置,且经刷新的网络时间记录连同功率时间记录524被用来生成聚集时间戳。设备ID被存储在诸如EEPROM 525之类的只读存储器(ROM)中。
每当获得网络时,文件系统560就扫描用设置了功率时间字段(指示戳印是在基准时间不可用时作出的)的聚集时间来加戳印的所有文件,并将当前网络时间记录加戳印到网络间隔字段,以指示期间作出该戳印的最小已知的基于基准的时间间隔的末尾。网络间隔与网络时间值之间的差异表示期间生成戳印的已知时间帧的持续时间;时间帧越短,对在不同系统上生成的时间戳的比较将更可能被解决。如先前所提及的,对在同一设备上生成的时间戳的比较通常将被解决。
在一些情形中,可能不必使用聚集时间的概念,就能在没有使用具有电池备用的RTC的情况下跟踪在PC或其他电子处理设备中发生的事件的时间先后次序以及发出这些事件的时间戳。具体而言,在其中保证网络时间迟早将获得的那些情形中,可采用本文中称为可调整时间的概念。可调整时间在这样的系统中尤其有效:其中对网络的访问具有高间歇性但大多数时间可用——在此情形中,在大多数时间对时间戳的比较将被解决。
当采用可调整时间时,驻留在设备上的操作系统或其他软件提供平常的基于网络(例如,UTC)的时间戳——其再次被称为网络时间。如果在生成戳印时网络不可用,则网络时间的值保持无效(空)。对于每个生成的为空的空时间戳印,辅助信息被包括在时间戳中,其使得该时间戳能够在获得网络之际被修补。当网络时间接下来变得可用时,操作系统或其他软件使用所获得的网络时间值连同辅助信息来通过溯及既往地设置准确时间值来修补所有空时间戳。
可调整时间包括网络时间和辅助信息——其在本文中被称为服务数据。当网络时间可用时,生成具有平常的网络时间的时间戳。然而,当网络时间不可用时,生成其中网络时间未设置(空)且服务数据被设置的时间戳,这允许在当网络时间变得可用时的稍后的时间来调整该时间戳。该服务数据包括三个属性:会话时间(以时间单位计)、会话ID(会话身份)以及系统ID(系统身份)。会话时间是指花费在当前会话中的时间量。会话ID是会话的唯一身份,而系统ID是系统的唯一身份。
如同聚集时间那样,可调整时间的概念可由利用可重置无时钟电路的设备来使用。时钟被用来确定自最后复位起的会话时间。设备维护表示网络时间(若可用)的非永久网络时间记录。如果网络时间在当前会话中不可用,则网络时间记录不被设置。设备还维护表示设备花费在当前会话中的时间的非永久会话时间记录。
一旦在会话期间获得网络连接,已累积的会话时间被添加(例如,闪速传送)至会话时间记录,并且会话时间时钟被复位。另外,网络时间记录被设置。如果在该会话期间网络连接随后丢失并重新获得,则不采取动作,因为网络时间记录已被获得,并经由在下一项目符号(bullet)中的处理在该会话全程中被维护。系统使用网络时间记录来在所有的时间对所有文件加戳印,而不管当前网络时间是否可用。每当时间戳被请求时,如果在会话中曾获得网络连接,则累积的会话时间就被添加到网络时间记录。累积的会话时间也被无条件地添加会话时间记录,并且会话时间时钟被复位。经刷新的网络时间记录连同会话时间记录被用来生成时间戳,并且按需被用来生成服务数据并将其添加到戳印(后者并非是时间表示的一部分——时间戳中的时间以常规时间单元为单位的值来表示)。
每当获得网络时,文件系统(参见以下图5)就扫描通过具有其中网络时间未设置(空)——其指示时间戳是在网络时间基准不可用时作出的——的时间戳的所有文件。具有未设置的网络时间的那些时间戳,并且如果其是在同一系统以及在同一会话中生成的(由时间戳中包括的会话数据来指示),则那些时间戳的时间值使用以下公式来调整:
时间=<当前网络时间>-(<当前会话时间>-<服务数据中指定的会话时间>)
此等式提供了实际时间,因为括号中的表达式表示具有空或未设置的网络时间的时间戳是多久之前作出的。以此方式,可重构生成时间戳的确切时间。
根据可调整时间生成时间戳的方式将再次使用图1中所示的时间线来例示。表4中例示了该过程。可调整时间戳是使用以下标记法来表示的:Ti=网络时间戳;服务数据={会话时间,会话ID,系统ID}
表3
可按惯常的方式(即,两个时间戳值中较大的一者表示较晚的时间)来比较可调整时间戳。这样的比较仅当两个时间戳都被设置的情况下才可执行。如果两个时间戳中的任一者未被设置,则比较无法被解决。
图5是类似于图4的简化示意图,其示出在采用可调整时间时,图3中所示的设备400的会话时钟和存储器组件可如何被用来生成和比较时间戳。在此示例中,设备600利用会话时钟630,该会话时钟530采用可复位无电池时钟电路来在设备通电时维护会话时间。设备将网络时间记录维护在非永久存储器620中。当事件的时间戳被请求和生成时,注册表示最后知晓的基准时间的网络时间记录622。另外,系统还将会话时间记录624维护在非永久存储器620中。会话时间记录624表示花费在当前会话中的时间量。如同网络时间记录622一样,当事件的时间戳被请求和生成时,注册会话时间记录624。
可以理解,当图3或4中的一个元素或组件被指出为对另一个元素作出响应时,这些元素可直接或间接耦合。此处所描述的连接在实践中可以是逻辑或物理的,以实现元素之间的耦合或通信接口。连接可被实现为软件进程之间的进程间通信,或联网计算机之间的机器间通信等。
本文中所使用的词语“示例性”意味着用作示例、实例、或说明。此处被描述为“示例性”的任何实现或其各方面不必被解释为对于其它实现或其方面是优选的或更有利的。
如可以理解的,可设计除上述具体实施例之外的实施例而不背离所附权利要求书的精神和范围,本文主题的范围旨在由所附权利要求书限定。

Claims (9)

1.一种用于为在电子处理设备上发生的事件生成时间戳的方法,包括:
确定作出时间戳时的最后可用网络时间以及所述事件发生的相对时间;
基于作出时间戳的所述最后可用网络时间以及所述事件发生的所述相对时间来生成所述事件的第一聚集时间值;
在网络时间接下来可用时修订所述第一聚集时间值,以提供经修订的聚集时间值;以及
将所述事件的时间戳与所述经修订的聚集时间值进行关联,
其中所述事件发生的所述相对时间包括功率时间,所述功率时间表示以继其中网络时间最后变得不可用的最后会话之后的会话开始的时间,且所述功率时间是在期间所述电子处理设备通电的一个或多个会话上积累的,并且每当网络时间可用时,所述功率时间就复位。
2.如权利要求1所述的方法,其特征在于,所述相对时间还包括网络间隔,所述网络间隔表示在没有参考网络时间的情况下作出时间戳之后获得网络时间的时间,并且当网络时间可用时,所述网络间隔等于零。
3.如权利要求2所述的方法,其特征在于,由填充至少四个字段的值来指定聚集时间值,第一字段用所述最后可用网络时间的值来填充,第二字段用所述功率时间的值来填充,第三值用所述网络间隔来填充,而第四字段由唯一地标识所述电子处理设备的设备ID来填充。
4.如权利要求3所述的方法,其特征在于,修订所述第一聚集时间值是在网络时间接下来可用且所述聚集时间具有大于零的功率时间的值以及等于零的网络间隔的值时执行的。
5.如权利要求3所述的方法,其特征在于,所述事件与文件相关联,并且修订所述第一聚集时间值包括扫描具有带被设置的功率时间的聚集时间戳的文件,以及用当前网络时间来更新所述网络间隔的值。
6.一种用于确定并比较第一事件的第一时间戳与第二事件的第二时间戳的方法,这些事件是在一个或多个电子设备上发生的,所述方法包括:
确定所述第一事件的第一聚集时间戳以及所述第二事件的第二聚集时间戳,其中所述聚集时间戳是由填充至少四个字段的值来指定的,第一字段用最后可用网络时间的值来填充,第二字段用功率时间的值来填充,第三值用网络间隔的值来填充,而第四字段由唯一地标识所述电子处理设备的设备ID来填充;以及
如果所述第一和第二聚集时间戳两者的功率时间未设置,则将所述第一聚集时间戳的网络时间与所述第二聚集时间戳的网络时间进行比较,以确定具有较晚的网络时间的所述第一或第二聚集时间戳在较晚的时间发生。
7.如权利要求6所述的方法,其特征在于,如果所述第一和第二聚集时间戳两者的所述功率时间未设置且所述第一和第二聚集时间戳的设备ID相同或不同,则执行将所述第一聚集时间戳的网络时间与所述第二聚集时间戳的网络时间进行比较以确定具有较晚的网络时间的所述第一或第二聚集时间戳在较晚的时间发生。
8.权利要求6所述的方法,其特征在于,还包括:如果所述第一和第二聚集时间戳中的至少一个的功率时间为非零且所述第一和第二聚集时间戳的所述设备ID相同,则将所述第一聚集时间戳的网络时间与所述第二聚集时间戳的网络时间进行比较,以确定具有较晚的网络时间的所述第一或第二聚集时间戳在较晚的时间发生,或者,如果所述第一和第二聚集时间戳的网络时间相同,则将所述第一聚集时间戳的所述功率时间与所述第二聚集时间戳的所述功率时间进行比较,以确定具有较晚的功率时间的所述第一或第二聚集时间戳在较晚的时间发生。
9.权利要求6所述的方法,其特征在于,还包括:如果所述第一和第二聚集时间戳中的至少一个的所述功率时间为非零且所述第一和第二聚集时间戳的设备ID不同,则将同所述第一聚集时间戳相关联的第一时间帧与同所述第二聚集时间戳的第二时间帧进行比较,以使得如果所述第一和第二时间帧不重叠,则具有较晚的时间帧的所述聚集时间帧被确定为在较晚的时间发生,其中如果所述功率时间等于零,则聚集时间戳的时间帧等于所述聚集时间戳的所述网络时间,或者如果所述功率时间不等于零,则所述时间帧表示较早时间与较晚时间之间的时间间隔,其中所述较早时间等于所述聚集时间戳的网络时间和功率时间的总和,并且如果所述聚集时间戳的所述网络间隔为零,则所述较晚时间等于当前时间,而如果网络间隔不等于零,则所述较晚时间等于所述聚集时间戳的网络间隔。
CN201210090374.8A 2011-03-31 2012-03-30 用于当实时时钟不可用时修订相对时间戳的方法 Active CN102739468B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/077,011 US8984168B2 (en) 2011-03-31 2011-03-31 Relative timestamp when real time clock is unavailable
US13/077,011 2011-03-31

Publications (2)

Publication Number Publication Date
CN102739468A CN102739468A (zh) 2012-10-17
CN102739468B true CN102739468B (zh) 2017-09-15

Family

ID=46928797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210090374.8A Active CN102739468B (zh) 2011-03-31 2012-03-30 用于当实时时钟不可用时修订相对时间戳的方法

Country Status (2)

Country Link
US (3) US8984168B2 (zh)
CN (1) CN102739468B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984168B2 (en) 2011-03-31 2015-03-17 Microsoft Technology Licensing, Llc Relative timestamp when real time clock is unavailable
JP2014052747A (ja) * 2012-09-05 2014-03-20 International Business Maschines Corporation 日時フォーマットの生成方法、プログラム及びシステム
WO2014118961A1 (ja) * 2013-01-31 2014-08-07 富士通株式会社 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム
JP6168799B2 (ja) * 2013-03-12 2017-07-26 三菱電機株式会社 仮想計算機システム
JP2015093477A (ja) * 2013-11-14 2015-05-18 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
EP2922303A1 (en) * 2014-03-04 2015-09-23 LG Electronics Inc. Display device for managing a plurality of time source data and method for controlling the same
US9534486B2 (en) 2014-03-13 2017-01-03 Halliburton Energy Services Inc. Method and system for tracking time in a downhole tool without the need for a battery
US9948673B2 (en) 2016-05-26 2018-04-17 Visa International Service Association Reliable timestamp credential
GB2552135A (en) 2016-06-29 2018-01-17 Crf Box Oy Method and apparatus for adjusting event timestamp relating to clinical trial
CN107748703A (zh) * 2017-09-29 2018-03-02 南京南瑞集团公司 一种包含时标容错与纠错机制的嵌入式数据存储方法
US10564863B2 (en) 2018-04-24 2020-02-18 International Business Machines Corporation Identifying an availability of a system
US10992602B2 (en) * 2019-08-19 2021-04-27 Landis+Gyr Innovations, Inc. Sequential storage of collected data from heterogeneous intervals
CN111083127B (zh) * 2019-12-05 2021-11-09 达闼机器人有限公司 会话管理方法、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784841A (zh) * 2003-03-27 2006-06-07 高通股份有限公司 基于来自多个通信系统的时间信息的虚拟实时时钟
CN101047434A (zh) * 2007-04-10 2007-10-03 华为技术有限公司 一种时间标签同步方法、系统、装置
CN101431438A (zh) * 2008-11-25 2009-05-13 上海华为技术有限公司 一种解决日志时间混乱的方法以及电子装置
US7765316B1 (en) * 2000-10-10 2010-07-27 Intel Corporation Scheduling the uploading of information from a client to a server

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896524A (en) * 1997-02-06 1999-04-20 Digital Equipment Corporation Off-line clock synchronization for multiprocessor event traces
KR100350970B1 (ko) 1997-09-26 2002-12-18 삼성전자 주식회사 운영체제타이머에초기값설정방법
US6772361B1 (en) 2000-07-10 2004-08-03 Advanced Micro Devices, Inc. Real time clock (RTC) having several highly desirable timekeeping dependability and security attributes, and methods for accessing a register thereof
US7062528B2 (en) * 2000-07-14 2006-06-13 Sony Corporation Method and system for identifying a time specific event
US20080168565A1 (en) * 2007-01-09 2008-07-10 Nokia Corporation Method, system, mobile device, apparatus and computer program product for validating rights objects
US7453910B1 (en) * 2007-12-18 2008-11-18 International Business Machines Corporation Synchronization of independent clocks
EP2085855A1 (en) 2008-01-30 2009-08-05 Deutsche Thomson OHG Method for processing time values in a computer or programmable machine
US8269649B2 (en) 2009-01-29 2012-09-18 Itron, Inc. Relative time system
US8984168B2 (en) 2011-03-31 2015-03-17 Microsoft Technology Licensing, Llc Relative timestamp when real time clock is unavailable

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765316B1 (en) * 2000-10-10 2010-07-27 Intel Corporation Scheduling the uploading of information from a client to a server
CN1784841A (zh) * 2003-03-27 2006-06-07 高通股份有限公司 基于来自多个通信系统的时间信息的虚拟实时时钟
CN101047434A (zh) * 2007-04-10 2007-10-03 华为技术有限公司 一种时间标签同步方法、系统、装置
CN101431438A (zh) * 2008-11-25 2009-05-13 上海华为技术有限公司 一种解决日志时间混乱的方法以及电子装置

Also Published As

Publication number Publication date
US8984168B2 (en) 2015-03-17
US9544374B2 (en) 2017-01-10
US20150207886A1 (en) 2015-07-23
US20120254468A1 (en) 2012-10-04
US20120254418A1 (en) 2012-10-04
CN102739468A (zh) 2012-10-17
US8972607B2 (en) 2015-03-03

Similar Documents

Publication Publication Date Title
CN102739468B (zh) 用于当实时时钟不可用时修订相对时间戳的方法
CN111209346B (zh) 一种区块链数据归档方法、装置和计算机可读存储介质
CN104541266B (zh) 用于同步设备的机构、系统及方法
CN102968486B (zh) 一种基于变化日志的高可靠文件同步方法
US8190562B2 (en) Linking framework for information technology management
US8005789B2 (en) Method and apparatus for synchronizing multimedia content with device which supports multi-server environment
CN109313634A (zh) 用于单个文件的文件同步暂停
CN101322116A (zh) 资源新鲜度和复制
CN103902405B (zh) 一种准连续性数据复制方法及装置
CN109919691B (zh) 一种数据处理的系统、方法以及装置
CN109118358A (zh) 数字资产的基于分量的同步
CN109542330B (zh) 数据存储方法、数据查询方法及装置
CN107040576A (zh) 信息推送方法及装置、通讯系统
CN106339387A (zh) 一种数据库集群中新增服务器的数据同步方法及装置
CN104793981B (zh) 一种虚拟机集群的在线快照管理方法及装置
CN101615206A (zh) 提供元数据的系统和方法
CN108572888A (zh) 磁盘快照创建方法和磁盘快照创建装置
CN117349291A (zh) 一种数据库主键短id生成方法、电子设备和介质
CN110858211B (zh) 数据存储方法、装置及系统、存储介质
TW201227268A (en) Data backup system and data backup and retrival method
CN109947592A (zh) 一种数据同步方法、装置以及相关设备
CN107506379A (zh) 基于数据库row模式构建流式实时电影生态模型的方法
CN109308188B (zh) 一种基于区块链的版本控制方法及系统
CN111858175A (zh) 一种基于移动存储装置备份云平台数据的方法与设备
CN104317805A (zh) 更新弹窗图片库的方法、弹窗图片库更新装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant