TRACKING AND VALIDATING TIME OF PORTABLE DIGITAL RECORDING DEVICES
20220221898 · 2022-07-14
Assignee
Inventors
Cpc classification
G16H10/60
PHYSICS
International classification
Abstract
An automatic time tracking and validating method of a portable digital device, including: maintaining by the portable digital device a current clock time and current uptime; and recording by the portable digital device a plurality of times a first entry that has: user information; the current clock time; the current uptime. A reference time recording process is performed once or more, including: recording by the portable digital device together with a server, which server has a reference time, a second entry that has: the reference time; the current clock time; and the current uptime. The portable digital device provides the server with the first and second entries.
Claims
1. An automatic time tracking and validating method of a portable digital device, comprising: maintaining by the portable digital device a current clock time and current uptime; recording by the portable digital device a plurality of times a first entry comprising: user information; the current clock time; the current uptime; performing one or more times a reference time recording process comprising: recording by the portable digital device together with a server, which server has a reference time, a second entry that comprises: the reference time; the current clock time; and the current uptime; the method further comprising providing by the portable digital device the server with the first and second entries.
2. The method of claim 1, wherein the recording of the first entry is performed in response to the portable digital device receiving from a user the user information.
3. The method of claim 1, wherein the user information comprises information provided by the user.
4. The method of claim 1, wherein the method further comprises verifying reliability of the recorded current clock times of the first entries.
5. The method of claim 1, further comprising using encryption by the portable digital device such that access to the first and second entries is inhibited and integrity of the first and second entries is protected.
6. The method of claim 1, wherein the user information is measured from the user.
7. The method of claim 1, wherein the user information of each first record is defined by the user.
8. The method of claim 1, wherein the user is allowed to record input when preferred by the user.
9. The method of claim 8, wherein the verifying is performed using the second entries.
10. The method of claim 1, wherein the verifying is performed by the server.
11. The method of claim 1, wherein the recording of the first and second entries is performed by a time tracking module of the portable digital device.
12. The method claim 11, wherein the obtaining of the current reference time from the server is performed by the time tracking module.
13. The method of claim 1, wherein the second entries are recorded in the portable digital device.
14. The method of claim 1, wherein the server provides the portable digital device with the reference time.
15. The method of claim 1, further comprising maintaining a boot number counter by the portable digital device or by the time tracking module.
16. The method of claim 15, further comprising continually checking if the boot number counter value has increased and if yes, responsively performing the reference time recording process.
17. The method of claim 16, wherein the boot number counter value is additionally recorded to next first entry.
18. The method of claim 17, wherein the boot number counter value is additionally recorded to the second entry on performing the reference time recording process responsive to the increasing of the boot number counter value.
19. The method of claim 18, further comprising determining whether the boot number counter value has increased by more than one since previously recorded combination of boot number counter value, uptime and current clock time.
20. The method of claim 19, further comprising, if the boot number counter value has increased by more than one since previously recorded combination of boot number counter value, uptime and current clock time, performing recording a first indication to a subsequently recorded first entry.
21. The method of claim 20, further wherein the first indication indicates unreliability of the clock time until next performing of the reference time recording process.
22. The method of claim 1, further comprising determining, from the recorded current uptime and the reference time of the second entries, if the portable digital device has been restarted and if yes, subtracting the uptime from the current clock time and recording the result as previous starting time.
23. The method of claim 1, further comprising determining whether the previous starting time calculated for one first entry is later than that calculated for a subsequent first entry and if yes, determining that at least one of these first entries is erroneous.
24. The method of claim 1, further comprising determining how much the previous starting time calculated for one first entry differs from that calculated for second entry, and based on difference then determining the one first entry as having correct clock time and therefore entry being correct, or determining the one first entry being erroneous or that it is not possible to determine whether entry is correct or erroneous.
25. The method of claim 1, further comprising determining, based on the reference time whether the subsequent first entry had a correct clock time and if yes, then determining the one first entry and the subsequent first entry respectively as erroneously and correctly timed.
26. The method of claim 1, further comprising compensating time zone changes by detecting abrupt changes in the difference between the recorded current clock time and either the uptime or reference time, when the difference is N times half an hour, wherein N is an integer.
27. The method of claim 1, wherein the verifying comprises determining, for one uptime period, a difference between the recorded current uptime and the current clock time of the second entries and checking whether that difference has changed more than a predetermined first maximum change.
28. The method of claim 1, wherein the verifying comprises determining, for one uptime period, a difference between the recorded current uptime and the current clock time of the first entries and checking whether that difference has changed more than a predetermined second maximum change.
29. The method of claim 1, wherein the method comprises determining which ones if any of the first entries the recorded current uptime and current clock time mutually change more than by second maximum change and recording to such first entries a second indication.
30. The method of claim 1 The method of any one of preceding claims, further comprising determining whether the portable digital device has been restarted once after recording both the previous first and second entries and if yes, recording next first entry with a third indication.
31. The method of claim 1, wherein the second entry comprises user information.
32. The method of claim 1, wherein the second entry is one of the first entries.
33. A portable digital device comprising: at least one circuitry configured to maintain a current clock time and a current uptime; at least one processor configured to perform with the at least one circuitry at least the method of claim 1.
34. A computer program comprising computer executable program code which when executed by at least one processor causes an apparatus at least to perform the method of claim 32.
35. A computer program product comprising a non-transitory computer readable medium having the computer program of claim 34.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Some example embodiments of the invention will be described with reference to the accompanying drawings, in which:
[0060]
[0061]
[0062]
[0063]
DETAILED DESCRIPTION
[0064] In the following description, like reference signs denote like elements or steps.
[0065]
[0066]
[0067] The general structure of the portable digital device 200 comprises a communication interface 210, a processor 220, and a memory 260. The portable digital device further comprises software 270 stored in the memory 260 and operable to be loaded into and executed in the processor 220. The software 270 may comprise one or more software modules and can be in the form of a computer program product. The portable digital device 200 further comprises a user interface 230. Still further there are a clock 240 for maintaining current clock time and an uptime counter 250 for maintaining the uptime. Notice that the separately drawn entities need not be discrete or separate from each other, they are just drawn this way in sake of simplicity.
[0068] The communication interface 210 comprises, for example, a base 100 or base 1000 Ethernet connection; a local bus; a Bluetooth circuitry; a short range radio communication circuitry; an ANT circuitry; an ANT+ circuitry; a universal serial bus circuitry; a parallel and/or a serial link circuitry. The communication interface 210 is configured in an example embodiment to communicate with one circuitry with the Internet and with the same or one or more other circuitries with the wired and/or wireless measuring devices 112, 114.
[0069] The processor 220 is, or comprises, e.g., a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a graphics processing unit, an application specific integrated circuit (ASIC), a field programmable gate array, a microcontroller or a combination of such elements.
[0070] The memory 260 may be for example a volatile or a non-volatile memory, such as a read-only memory (ROM), a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), a random-access memory (RAM), a flash memory, a data disk, an optical storage, a magnetic storage, a smart card, or the like. The portable digital device 200 may comprise a plurality of memories. The memory 260 can be constructed as a part of the portable digital device 200 or it may be inserted into a slot, port, or the like of the portable digital device 200 by a user. The memory 260 may serve the sole purpose of storing data, or it may be constructed as a part of an apparatus serving other purposes, such as processing data.
[0071] The user interface 230 comprises, for example, a circuitry for receiving input from a user of the portable digital device 200, e.g., via a keyboard, graphical user interface shown on the display of the portable digital device 200, speech recognition circuitry, or an accessory device, such as a headset, and for providing output to the user via, e.g., a graphical user interface or a loudspeaker.
[0072] A skilled person appreciates that in addition to the elements shown in
[0073]
[0074] The communication interface 210′ comprises, for example, a base 100 or base 1000 Ethernet connection, a local bus, a parallel and/or a serial link circuitry.
[0075] The processor 220′ is, or comprises, e.g., a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a graphics processing unit, an application specific integrated circuit (ASIC), a field programmable gate array, a microcontroller or a combination of such elements.
[0076]
[0082] In an embodiment, the recording of the first entry is performed in response to the portable digital device receiving from a user the user information. The receiving of the user information can be started on initiative of the user. Alternatively, or additionally, the portable digital device 200 can be configured to prompt the user for the user information at given times. The user information of each first record can be freely defined by the user, optionally comprising one or more choices made from respective groups of predetermined alternatives. Further alternatively or additionally, the user information may comprise automatically obtained information such as measurement information received from the wired or wireless measurement device 112, 114.
[0083] The method may further comprise any one or more of: [0084] 410) time stamping the user information; [0085] 412) verifying reliability of the time stamping with and without network access. [0086] 414) verifying reliability of the recorded current clock times of the first entries, e.g. using the second entries; [0087] 416) performing the verifying performed by the server; [0088] 418) performing the verifying by the portable digital device.
[0089] In an embodiment, the recording of the first and second entries is performed by a time tracking module of the portable digital device. The communicating with the server can be performed by the time tracking module. The obtaining of the current reference time from the server can be performed by the time tracking module. The using of the encryption can be performed by the time tracking module.
[0090] In an embodiment, the second entries are recorded in the portable digital device. Alternatively, the second entries may be recorded to the server by providing the current clock time and uptime. The server may record the reference time on recording the second entry. The server may provide the portable digital device with the reference time.
[0091] In an embodiment, the method further comprises any one or more of: [0092] 420) maintaining a boot number counter. The boot number counter may be maintained by the portable digital device. In an embodiment, the boot number counter is maintained by the time tracking module. [0093] 422) continually (in some embodiments periodically, in some other embodiments irregularly or with changing periods of time) checking if the boot number counter value has increased and if yes, responsively performing the reference time recording process. The boot number counter value may be additionally recorded to next first entry. [0094] 424) recording the boot number counter value additionally to the second entry on performing the reference time recording process responsive to the increasing of the boot number counter value. [0095] 426) determining whether the boot number counter value has increased by more than one since previously recorded combination of boot number counter value, uptime and current clock time, and if yes, recording a first indication to a subsequently recorded first entry; [0096] 428) determining whether the portable digital device has been restarted once after recording both the previous first and second entries and if yes, recording next first entry with a third indication, e.g. indicating one restart since recording previous first and second entries; [0097] 430) determining, from the recorded current uptime and the reference time of the second entries, if the portable digital device has been restarted and if yes, subtracting the uptime from the current clock time and recording the result as previous starting time. [0098] 432) determining whether the previous starting time calculated for one first entry is later than that calculated for a subsequent first entry and if yes, determining that at least one of these first entries is erroneous; [0099] 434) determining how much the previous starting time calculated for one first entry differs from that calculated for second entry, and based on difference then determining the one first entry as having correct clock time and therefore entry being correct, or determining the one first entry being erroneous or that it is not possible to determine whether entry is correct or erroneous; [0100] 436) determining, based on the reference time whether the subsequent first entry had a correct clock time and if yes, then determining the one first entry and the subsequent first entry respectively as erroneously and correctly timed. [0101] 438) compensating time zone changes by detecting abrupt changes in the difference between the recorded current clock time and either the uptime or reference time, when the difference is N hours, wherein N is an integer between −23 and −1 or +1 and +23; [0102] 440) determining, for one uptime period, a difference between the recorded current uptime and the current clock time of the second entries and checking whether that difference has changed more than a predetermined first maximum change. The uptime period may refer to the period from starting up (e.g., cold boot, warm boot, power on) until a next shutdown or restart of the portable digital device. The first maximum change may be greater than 10 s, 30 s, 1 min, 2 min, 5 min or 10 min. The first maximum change may be per 24 hours greater than 10 s, 30 s, 1 min, 2 min, 5 min or 10 min. [0103] 442) In the verifying, determining, for one uptime period, a difference between the recorded current uptime and the current clock time of the first entries and checking whether that difference has changed more than a predetermined second maximum change; [0104] 444) determining which in which if any of the first entries the recorded current uptime and current clock time mutually change more than by second maximum change and recording to such first entries a second indication. The second indication may indicate unreliable current clock time. [0105] 446) In the using of encryption by the portable digital device, encrypting the first entries. [0106] 448) In the using of encryption by the portable digital device, encrypting the second entries. [0107] 450) In the using of encryption by the portable digital device, cryptographically signing the first entries. [0108] 452) In the using of encryption by the portable digital device, cryptographically signing the second entries.
[0109] In an embodiment, the encryption employs public key encryption.
[0110] In an embodiment, the second entry comprises user information. In an embodiment, the second entry is one of the first entries. The recording of the user information in some second entries or having the second entry as one of the first entries may remove the need of recording separate first and second entries.
[0111] Various embodiments have been presented. It should be appreciated that in this document, words comprise, include and contain are each used as open-ended expressions with no intended exclusivity.
[0112] The foregoing description has provided by way of non-limiting examples of particular implementations and embodiments of the invention a full and informative description of the best mode presently contemplated by the inventors for carrying out the invention. It is however clear to a person skilled in the art that the invention is not restricted to details of the embodiments presented in the foregoing, but that it can be implemented in other embodiments using equivalent means or in different combinations of embodiments without deviating from the characteristics of the invention.
[0113] Furthermore, some of the features of the afore-disclosed embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description shall be considered as merely illustrative of the principles of the present invention, and not in limitation thereof. Hence, the scope of the invention is only restricted by the appended patent claims.