METHOD, SYSTEM AND COMPUTER PROGRAM FOR COLLECTING INFORMATION WITH IMPROVED TIME-STAMP ACCURACY

Information

  • Patent Application
  • 20070198706
  • Publication Number
    20070198706
  • Date Filed
    February 07, 2007
    18 years ago
  • Date Published
    August 23, 2007
    17 years ago
Abstract
A solution for collecting information from multiple clients on a central server is proposed. Particularly, each client records the start and the stop of any software product, and then uploads the recorded information to the server periodically. For this purpose, the client retrieves the current value Ts(a) of the internal time of the server Ts at its startup; this value Ts(a) is stored onto the client as a time base TB. A monotonic counter is then used to measure a time offset Oc relative to the time base TB. Whenever a record R(i) indicative of the usage of a software product is recorded on the client, it is time-stamped with the time base TB plus the current value of the time offset Oc(i). In this way, the time stamp TR(i) of every usage record R(i) is always synchronized with the internal time of the server Ts (independently of the internal time of the client Tc).
Description

REFERENCE TO THE DRAWINGS

The invention itself, as well as further features and the advantages thereof, will be best understood with reference to the following detailed description, given purely by way of a non-restrictive indication, to be read in conjunction with the accompanying drawings, in which:



FIG. 1
a is a schematic block diagram of a data processing system in which the solution according to an embodiment of the invention is applicable;



FIG. 1
b shows the functional blocks of an exemplary computer of the system;



FIGS. 2
a-2c are time diagrams illustrating the solution according to different embodiments of the invention;



FIG. 3 depicts the main software components that can be used to practice the solution according to an embodiment of the invention; and



FIGS. 4
a-4c show a diagram describing the flow of activities relating to an implementation of the solution according to an embodiment of the invention.


Claims
  • 1. A method for collecting information in a data processing system including a central entity and at least one local entity, for each local entity the method including the steps of: retrieving an activation value of the internal time of the central entity corresponding to an activation of the local entity,storing a time base based on the activation value of the internal time of the central entity,measuring a time offset relative to the time base independently of the internal time of the local entity,recording a set of information items to be uploaded to the central entity,associating a recording time to each information item based on the sum between the time base and a recording value of the time offset corresponding to the recording of the information item, anduploading the information items with the associated recording times to the central entity.
  • 2. The method according to claim 1, wherein the step of measuring the time offset includes: incrementing a monotonic counter.
  • 3. The method according to claim 2, wherein the counter is reset at a startup of the local entity, the step of measuring the time offset further including: recording an initial value of the counter corresponding to the storing of the time base,
  • 4. The method according to claim 1, further including the steps of: storing a correction value based on the difference between the time base and a corresponding value of the internal time of the local entity, andestimating the time base for a further activation of the local entity in response to a failure of the retrieving of the activation value of the internal time of the central entity, the time base being estimated according to a corresponding value of the internal time of the local entity and the correction value.
  • 5. The method according to claim 4, wherein the step of storing the correction value includes: calculating the correction value in response to a turnoff of the local entity, the correction value being based on the time base plus a value of the time offset corresponding to the turnoff minus a value of the internal time of the local entity corresponding to the turnoff.
  • 6. The method according to claim 4, further including the steps of: transmitting an uploading time to the central entity, the uploading time being based on the sum between the estimated time base and a value of the time offset corresponding to the uploading of the information items, anddetermining an accuracy of the recording times according to a comparison between the uploading time and a value of the internal time of the central entity corresponding to the uploading the information items.
  • 7. The method according to claim 6, further including the steps of: correcting the recording times according to the difference between the uploading time and the value of the internal time of the central entity corresponding to the uploading of the information items.
  • 8. The method according to claim 4, wherein a sequence of further activations of the local entity with the failure of the retrieving of the activation value of the internal time of the central entity is performed before the uploading of the information items, the method further including the step of: invalidating the recording times based on each estimated time base non-corresponding to a last further activation in the sequence.
  • 9. The method according to claim 1, wherein the step of recording the set of information items includes: detecting the start or the stop of each one of a set of software products on the local entity for use by a software licensing application.
  • 10. (canceled)
  • 11. (canceled)
  • 12. A computer program product in a computer-usable medium, the computer program when executed on a data processing system including a central entity and at least one local entity causing the system to perform a method for collecting information in the system, the method including the steps of: retrieving an activation of the internal time of the central entity corresponding to an activation of the local entity,storing a time base based on the activation value of the internal time of the central entity,measuring a time offset relative to the time base independently of the internal time of the local entity,recording a set of information items to be uploaded to the central entity,associating a recording time to each information item based on the sum between the time base and a recording value of the time offset corresponding to the recording of the information item,uploading the information items with the associated recording times to the central entity.
  • 13. A data processing system including a central server and at least one local client, for each local client the system including: a synchronizer for retrieving an activation value of the internal time of the central server corresponding to an activation of the local client and for storing a time base based on the activation value of the internal time of the central server,a timer for measuring a time offset relative to the time base independently of the internal time of the local client, andan agent for recording a set of information items to be uploaded to the central server, for associating a recording time to each information item based on the sum between the time base and a recording value of the time offset corresponding to the recording of the information item, and for uploading the information items with the associated recording times to the central server.
Priority Claims (1)
Number Date Country Kind
06101467.6 Feb 2006 EP regional