Absolute/ CPU time

I have the following problem:

I need to have a timer function that is w.r.t the cpu clock and not dependent on the process. 

I wish to develop an application that needs to expire after an year (say).  This needs to be independent of the system clock since the user can modify the clock. 

Any help will be appreciated.

 


Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest Way To Send Money Home!

The CPU clock is only running when your system is running, so if the user
powers down the machine (either intentionally, or say due to power loss), it
would start over again…

You could of course check the time every time the applicaiton is started,
and store a registry entry or some such that remembers the time of the last
time application was run, and if “now is before last time it was used”, you
know that the date has been altered. (Just remember that we do have things
like daylight savings time in some countries, so if time has changed by an
hour or so, it’s not necessarily the user cheating. Using GMT timezone on
all machines would solve that problem).

Another option would be to use an external time from a server somewhere, and
use that time (for instance, one of your servers could have a time-service
on it, and if you encrypt/code the date/time info somehow, you’d be safe
from “change local time”).

However, most people seem to want to have upto date time on their machines,
and I’ve seen many license managers that use the clock of the system to
decide whether to run or not. I’d say that the majority of applications that
are time-bombed, will be able to run if you set the time back on the
machine. For most purposes, this is adequate, as most people don’t like to
have the date/time wrong on their machine. Particularly if you do regular
checks, so it’s not enough to set the time back at the start of day, and
then change it back to “current” when Windows have started.


Mats

-----Original Message-----
From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
Sent: Wednesday, March 31, 2004 11:47 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Absolute/ CPU time

I have the following problem:

I need to have a timer function that is w.r.t the cpu clock and not
dependent on the process.

I wish to develop an application that needs to expire after an year (say).
This needs to be independent of the system clock since the user can modify
the clock.

Any help will be appreciated.


Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
Way To Send Money Home! http:
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:>

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps running in the background despite the machine being put off else how do u think that the system clock will show the right time.  Is there a way to access that background clock that is running in the background despite the machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss), it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the last
>time application was run, and if “now is before last time it was used”, you
>know that the date has been altered. (Just remember that we do have things
>like daylight savings time in some countries, so if time has changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere, and
>use that time (for instance, one of your servers could have a time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their machines,
>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year (say).
>This needs to be independent of the system clock since the user can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
> _____
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
</http:>


Post Classifieds on MSN classifieds. Buy and Sell on MSN Classifieds.

The clock that keeps the current time and date is a 8253 or 8254 chip (or
compatible) with three porogrammable counters. Two of these counters are
used
for DRAM refresh and to drive the speaker. The third one is hooked to IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API…
Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps
running in the background despite the machine being put off else how do u
think that the system clock will show the right time. Is there a way to
access that background clock that is running in the background despite the
machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss),
it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the
last
>time application was run, and if “now is before last time it was used”,
you
>know that the date has been altered. (Just remember that we do have
things
>like daylight savings time in some countries, so if time has changed by
an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere,
and
>use that time (for instance, one of your servers could have a
time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their
machines,
>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications
that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like
to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year
(say).
>This needs to be independent of the system clock since the user can
modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
> _____
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns.
Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com

----------------------------------------------------------------------------

Post Classifieds on MSN classifieds. Buy and Sell on MSN Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:>

Timers are long ago not used for DRAM refresh, since the days of EDO RAM if not earlier, but this timer channel is still reserved.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: Prokash Sinha
To: Windows System Software Devs Interest List
Sent: Friday, April 02, 2004 9:30 AM
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip (or
compatible) with three porogrammable counters. Two of these counters are used
for DRAM refresh and to drive the speaker. The third one is hooked to IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API… Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps running in the background despite the machine being put off else how do u think that the system clock will show the right time. Is there a way to access that background clock that is running in the background despite the machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”
>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss), it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the last
>time application was run, and if “now is before last time it was used”, you
>know that the date has been altered. (Just remember that we do have things
>like daylight savings time in some countries, so if time has changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere, and
>use that time (for instance, one of your servers could have a time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their machines,
>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year (say).
>This needs to be independent of the system clock since the user can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
> _____
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com

----------------------------------------------------------------------------
Post Classifieds on MSN classifieds. Buy and Sell on MSN Classifieds. —
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:>

Yes, there is a CMOS clock that runs off a 32KHz crystal. That is what is
keeping the system time. However, if you start the machine, go into the BIOS
setup screen, you can change the CMOS clock to whatever date and time you
like. Also, if you don’t like that method, you can take the battery out of
the motherboard (or, if you’re unlucky, have a battery that doesn’t have
enough power), and the clock will reset to some default date/time (which
time and date it resets to will depend on the BIOS of the machine).

You could access this clock through some standard OS functions, but you’d
not get anything different than what you get when you ask for the normal
“system time”, as any time you update the system time, the CMOS clock will
be reset to this value [at least that’s as far as I know, it may be that the
system clock is updated only on certain events (i.e. shutdown), but it seems
much easier to just write the time whenever it’s being changed by any app].


Mats

-----Original Message-----
From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
Sent: Friday, April 02, 2004 4:34 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps
running in the background despite the machine being put off else how do u
think that the system clock will show the right time. Is there a way to
access that background clock that is running in the background despite the
machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss),
it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the last

>time application was run, and if “now is before last time it was used”, you

>know that the date has been altered. (Just remember that we do have things
>like daylight savings time in some countries, so if time has changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere,
and
>use that time (for instance, one of your servers could have a time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their machines,

>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications
that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year (say).
>This needs to be independent of the system clock since the user can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
>
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com



Post Classifieds on MSN classifieds. Buy and Sell on MSN
http: Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:></http:>

Yes, you can use the timer interrupt to keep track of time in the system.
However, only when the system is running. If I were to write a piece of code
that kills the app after 365 days (or whatever), then I wouldn’t want to
restrict it to any machine that is not powered down, and here is the entire
problem of the OP. There is no easy way to check that the time in a PC is
actually the current time, unless you have access to a certified time from
somewhere, because you can change the date and time of the machine at will,
and no software can stop that, since this is handled in the BIOS for the
most basic version of it.

As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that time.
[Just bear in mind that PC clocks do tend to run slightly off the “real”
time, so it may be necessary for the user to adjust the time].

Or it’s possible to use a network service that supplies a date/time to the
system and use this for a reference, and only allow, say two hours of
running at any given time if this service isn’t available. But that assumes
that the system is connected to a network, of course.


Mats

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 6:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip (or
compatible) with three porogrammable counters. Two of these counters are
used
for DRAM refresh and to drive the speaker. The third one is hooked to IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API…
Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps
running in the background despite the machine being put off else how do u
think that the system clock will show the right time. Is there a way to
access that background clock that is running in the background despite the
machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss),
it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the last

>time application was run, and if “now is before last time it was used”, you

>know that the date has been altered. (Just remember that we do have things
>like daylight savings time in some countries, so if time has changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere,
and
>use that time (for instance, one of your servers could have a time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their machines,

>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications
that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year (say).
>This needs to be independent of the system clock since the user can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
>
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com



Post Classifieds on MSN classifieds. Buy and Sell on MSN
http: Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:></http:>

Only way I can see, as U said, is to use daytime server !

-prokash
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@3Dlabs.com
Sent: Friday, April 02, 2004 12:59 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Yes, you can use the timer interrupt to keep track of time in the system.
However, only when the system is running. If I were to write a piece of code
that kills the app after 365 days (or whatever), then I wouldn’t want to
restrict it to any machine that is not powered down, and here is the entire
problem of the OP. There is no easy way to check that the time in a PC is
actually the current time, unless you have access to a certified time from
somewhere, because you can change the date and time of the machine at will,
and no software can stop that, since this is handled in the BIOS for the
most basic version of it.

As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that time.
[Just bear in mind that PC clocks do tend to run slightly off the “real”
time, so it may be necessary for the user to adjust the time].

Or it’s possible to use a network service that supplies a date/time to the
system and use this for a reference, and only allow, say two hours of
running at any given time if this service isn’t available. But that assumes
that the system is connected to a network, of course.


Mats
-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 6:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip
(or
compatible) with three porogrammable counters. Two of these counters are
used
for DRAM refresh and to drive the speaker. The third one is hooked to
IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API…
Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that
keeps running in the background despite the machine being put off else how
do u think that the system clock will show the right time. Is there a way
to access that background clock that is running in the background despite
the machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”

>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the
user
>powers down the machine (either intentionally, or say due to power
loss), it
>would start over again…
>
>You could of course check the time every time the applicaiton is
started,
>and store a registry entry or some such that remembers the time of
the last
>time application was run, and if “now is before last time it was
used”, you
>know that the date has been altered. (Just remember that we do have
things
>like daylight savings time in some countries, so if time has changed
by an
>hour or so, it’s not necessarily the user cheating. Using GMT
timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server
somewhere, and
>use that time (for instance, one of your servers could have a
time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be
safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their
machines,
>and I’ve seen many license managers that use the clock of the system
to
>decide whether to run or not. I’d say that the majority of
applications that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t
like to
>have the date/time wrong on their machine. Particularly if you do
regular
>checks, so it’s not enough to set the time back at the start of day,
and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year
(say).
>This needs to be independent of the system clock since the user can
modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
> _____
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns.
Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com

--------------------------------------------------------------------------
Post Classifieds on MSN classifieds. Buy and Sell on MSN
Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:>

That requires the system to be up. However, a clock chip on an USB port
could be an absolute time device the size of a Cruiser, no need for
networking or even for the OS to be up. Even SoftICE could read that time
while the system’s stopped. That’d solve the problem I have, that my target
machines are often off the network and as I stop them with SoftICE, the
clock drifts away from real time.

Alberto.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Prokash Sinha
Sent: Friday, April 02, 2004 10:30 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Only way I can see, as U said, is to use daytime server !

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@3Dlabs.com
Sent: Friday, April 02, 2004 12:59 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Yes, you can use the timer interrupt to keep track of time in the system.
However, only when the system is running. If I were to write a piece of code
that kills the app after 365 days (or whatever), then I wouldn’t want to
restrict it to any machine that is not powered down, and here is the entire
problem of the OP. There is no easy way to check that the time in a PC is
actually the current time, unless you have access to a certified time from
somewhere, because you can change the date and time of the machine at will,
and no software can stop that, since this is handled in the BIOS for the
most basic version of it.

As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that time.
[Just bear in mind that PC clocks do tend to run slightly off the “real”
time, so it may be necessary for the user to adjust the time].

Or it’s possible to use a network service that supplies a date/time to the
system and use this for a reference, and only allow, say two hours of
running at any given time if this service isn’t available. But that assumes
that the system is connected to a network, of course.


Mats

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 6:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip (or
compatible) with three porogrammable counters. Two of these counters are
used
for DRAM refresh and to drive the speaker. The third one is hooked to IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API…
Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps
running in the background despite the machine being put off else how do u
think that the system clock will show the right time. Is there a way to
access that background clock that is running in the background despite the
machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss),
it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the last

>time application was run, and if “now is before last time it was used”, you

>know that the date has been altered. (Just remember that we do have things
>like daylight savings time in some countries, so if time has changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere,
and
>use that time (for instance, one of your servers could have a time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their machines,

>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications
that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year (say).
>This needs to be independent of the system clock since the user can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
>
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com



Post Classifieds on MSN classifieds. Buy and Sell on MSN
http: Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.</http:></http:>

Synching clk skewing is difficult !, each one would probably would do its
ownway. But yes, if there is a secondary, trustworthy reference point, then
there is
no need for network, at least for an absolute time w/plus-minus delta …

-prokash
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira, Alberto
Sent: Friday, April 02, 2004 7:36 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

That requires the system to be up. However, a clock chip on an USB port
could be an absolute time device the size of a Cruiser, no need for
networking or even for the OS to be up. Even SoftICE could read that time
while the system’s stopped. That’d solve the problem I have, that my target
machines are often off the network and as I stop them with SoftICE, the
clock drifts away from real time.

Alberto.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Prokash Sinha
Sent: Friday, April 02, 2004 10:30 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Only way I can see, as U said, is to use daytime server !

-prokash
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@3Dlabs.com
Sent: Friday, April 02, 2004 12:59 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Yes, you can use the timer interrupt to keep track of time in the
system. However, only when the system is running. If I were to write a piece
of code that kills the app after 365 days (or whatever), then I wouldn’t
want to restrict it to any machine that is not powered down, and here is the
entire problem of the OP. There is no easy way to check that the time in a
PC is actually the current time, unless you have access to a certified time
from somewhere, because you can change the date and time of the machine at
will, and no software can stop that, since this is handled in the BIOS for
the most basic version of it.

As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that time.
[Just bear in mind that PC clocks do tend to run slightly off the “real”
time, so it may be necessary for the user to adjust the time].

Or it’s possible to use a network service that supplies a date/time to
the system and use this for a reference, and only allow, say two hours of
running at any given time if this service isn’t available. But that assumes
that the system is connected to a network, of course.


Mats
-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 6:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254
chip (or
compatible) with three porogrammable counters. Two of these counters
are used
for DRAM refresh and to drive the speaker. The third one is hooked
to IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system
BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL
API… Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock
that keeps running in the background despite the machine being put off else
how do u think that the system clock will show the right time. Is there a
way to access that background clock that is running in the background
despite the machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”

>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if
the user
>powers down the machine (either intentionally, or say due to
power loss), it
>would start over again…
>
>You could of course check the time every time the applicaiton is
started,
>and store a registry entry or some such that remembers the time
of the last
>time application was run, and if “now is before last time it was
used”, you
>know that the date has been altered. (Just remember that we do
have things
>like daylight savings time in some countries, so if time has
changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT
timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server
somewhere, and
>use that time (for instance, one of your servers could have a
time-service
>on it, and if you encrypt/code the date/time info somehow, you’d
be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their
machines,
>and I’ve seen many license managers that use the clock of the
system to
>decide whether to run or not. I’d say that the majority of
applications that
>are time-bombed, will be able to run if you set the time back on
the
>machine. For most purposes, this is adequate, as most people
don’t like to
>have the date/time wrong on their machine. Particularly if you do
regular
>checks, so it’s not enough to set the time back at the start of
day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and
not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an
year (say).
>This needs to be independent of the system clock since the user
can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
> _____
>
>Easiest Money Transfer to India . Send Money To 6000 Indian
Towns. Easiest
>Way To Send Money Home!
http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as:
xxxxx@3dlabs.com
>To unsubscribe send a blank email to
xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to
xxxxx@lists.osr.com

----------------------------------------------------------------------
Post Classifieds on MSN classifieds. Buy and Sell on MSN
Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to
xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to
xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.</http:>

Yes, for the OP, a USB device that can be fitted externally. It does limit
it to software that is sent out via post, can’t be downloaded, as it’s
necessary for the external clock device to be shipped as well. And of
course, if there’s software to change the time of the external USB device,
then you’d be in the same position as with the CMOS clock…


Mats

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 4:48 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Synching clk skewing is difficult !, each one would probably would do its
ownway. But yes, if there is a secondary, trustworthy reference point, then
there is
no need for network, at least for an absolute time w/plus-minus delta …

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira, Alberto
Sent: Friday, April 02, 2004 7:36 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

That requires the system to be up. However, a clock chip on an USB port
could be an absolute time device the size of a Cruiser, no need for
networking or even for the OS to be up. Even SoftICE could read that time
while the system’s stopped. That’d solve the problem I have, that my target
machines are often off the network and as I stop them with SoftICE, the
clock drifts away from real time.

Alberto.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Prokash Sinha
Sent: Friday, April 02, 2004 10:30 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Only way I can see, as U said, is to use daytime server !

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@3Dlabs.com
Sent: Friday, April 02, 2004 12:59 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Yes, you can use the timer interrupt to keep track of time in the system.
However, only when the system is running. If I were to write a piece of code
that kills the app after 365 days (or whatever), then I wouldn’t want to
restrict it to any machine that is not powered down, and here is the entire
problem of the OP. There is no easy way to check that the time in a PC is
actually the current time, unless you have access to a certified time from
somewhere, because you can change the date and time of the machine at will,
and no software can stop that, since this is handled in the BIOS for the
most basic version of it.

As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that time.
[Just bear in mind that PC clocks do tend to run slightly off the “real”
time, so it may be necessary for the user to adjust the time].

Or it’s possible to use a network service that supplies a date/time to the
system and use this for a reference, and only allow, say two hours of
running at any given time if this service isn’t available. But that assumes
that the system is connected to a network, of course.


Mats

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 6:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip (or
compatible) with three porogrammable counters. Two of these counters are
used
for DRAM refresh and to drive the speaker. The third one is hooked to IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system BIOS
adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API…
Look for it…

-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps
running in the background despite the machine being put off else how do u
think that the system clock will show the right time. Is there a way to
access that background clock that is running in the background despite the
machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”

>To: “Windows System Software Devs Interest List”
>Subject: RE: [ntdev] Absolute/ CPU time
>Date: Wed, 31 Mar 2004 12:03:27 +0100
>
>The CPU clock is only running when your system is running, so if the user
>powers down the machine (either intentionally, or say due to power loss),
it
>would start over again…
>
>You could of course check the time every time the applicaiton is started,
>and store a registry entry or some such that remembers the time of the last

>time application was run, and if “now is before last time it was used”, you

>know that the date has been altered. (Just remember that we do have things
>like daylight savings time in some countries, so if time has changed by an
>hour or so, it’s not necessarily the user cheating. Using GMT timezone on
>all machines would solve that problem).
>
>Another option would be to use an external time from a server somewhere,
and
>use that time (for instance, one of your servers could have a time-service
>on it, and if you encrypt/code the date/time info somehow, you’d be safe
>from “change local time”).
>
>However, most people seem to want to have upto date time on their machines,

>and I’ve seen many license managers that use the clock of the system to
>decide whether to run or not. I’d say that the majority of applications
that
>are time-bombed, will be able to run if you set the time back on the
>machine. For most purposes, this is adequate, as most people don’t like to
>have the date/time wrong on their machine. Particularly if you do regular
>checks, so it’s not enough to set the time back at the start of day, and
>then change it back to “current” when Windows have started.
>
>–
>Mats
>
>-----Original Message-----
>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
>Sent: Wednesday, March 31, 2004 11:47 AM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] Absolute/ CPU time
>
>
>
>I have the following problem:
>
>I need to have a timer function that is w.r.t the cpu clock and not
>dependent on the process.
>
>I wish to develop an application that needs to expire after an year (say).
>This needs to be independent of the system clock since the user can modify
>the clock.
>
>Any help will be appreciated.
>
>
>
>
>
>
>
>
>
>
>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest
>Way To Send Money Home! http:
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@3dlabs.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com



Post Classifieds on MSN classifieds. Buy and Sell on MSN
http: Classifieds. —
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:></http:>

Check out the HASP4 Time from Aladdin (www.hasp.com)

On 2-Apr-04, at 7:58 AM, xxxxx@3Dlabs.com wrote:

Yes, for the OP, a USB device that can be fitted externally. It does
limit it to software that is sent out via post, can’t be downloaded,
as it’s necessary for the external clock device to be shipped as well.
And of course, if there’s software to change the time of the external
USB device, then you’d be in the same position as with the CMOS
clock…
?

Mats
-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 4:48 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Synching clk skewing is difficult !, each one would probably would do
its ownway. But yes, if there is a secondary, trustworthy reference
point, then there is
no need for network, at least for an absolute time w/plus-minus delta

?
-prokash
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira,
Alberto
Sent: Friday, April 02, 2004 7:36 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

That requires the system to be up. However, a clock chip on an USB
port could be an absolute time device the size of a Cruiser, no need
for networking or even for the OS to be up. Even SoftICE could read
that time while the system’s stopped. That’d solve the problem I have,
that my target machines are often off the network and as I stop them
with SoftICE, the clock drifts away from real time.
?
Alberto.
?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Prokash Sinha
Sent: Friday, April 02, 2004 10:30 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Only way I can see, as U said, is to use daytime server !
?
-prokash
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@3Dlabs.com
Sent: Friday, April 02, 2004 12:59 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Yes, you can use the timer interrupt to keep track of time in the
system. However, only when the system is running. If I were to write a
piece of code that kills the app after 365 days (or whatever), then I
wouldn’t want to restrict it to any machine that is not powered down,
and here is the entire problem of the OP. There is no easy way to
check that the time in a PC is actually the current time, unless you
have access to a certified time from somewhere, because you can change
the date and time of the machine at will, and no software can stop
that, since this is handled in the BIOS for the most basic version of
it.
?
As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that
time. [Just bear in mind that PC clocks do tend to run slightly off
the “real” time, so it may be necessary for the user to adjust the
time].
?
Or it’s possible to use a network service that supplies a date/time to
the system and use this for a reference, and only allow, say two hours
of running at any given time if this service isn’t available. But that
assumes that the system is connected to a network, of course.
?

Mats
-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@garlic.com]
Sent: Friday, April 02, 2004 6:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip
(or
compatible) with three porogrammable counters. Two of these counters
are used
for DRAM refresh and to drive the speaker. The third one is hooked to
IRQ 0
(interrupt 8) and the default handler for interrupt 8 in the system
BIOS
adjusts the current time in the BIOS data area at each “tick”.
So the programmatic interface on NT family has to be some DDK/HAL
API… Look for it…
?
-prokash

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful
vishwanathan
Sent: Thursday, April 01, 2004 7:34 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that
keeps running in the background despite the machine being put off else
how do u think that the system clock will show the right time.? Is
there a way to access that background clock that is running in the
background despite the machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com
>Reply-To: “Windows System Software Devs Interest List”

> >To: “Windows System Software Devs Interest List”
>
> >Subject: RE: [ntdev] Absolute/ CPU time
> >Date: Wed, 31 Mar 2004 12:03:27 +0100
> >
> >The CPU clock is only running when your system is running, so if the
> user
> >powers down the machine (either intentionally, or say due to power
> loss), it
> >would start over again…
> >
> >You could of course check the time every time the applicaiton is
> started,
> >and store a registry entry or some such that remembers the time of
> the last
> >time application was run, and if “now is before last time it was
> used”, you
> >know that the date has been altered. (Just remember that we do have
> things
> >like daylight savings time in some countries, so if time has changed
> by an
> >hour or so, it’s not necessarily the user cheating. Using GMT
> timezone on
> >all machines would solve that problem).
> >
> >Another option would be to use an external time from a server
> somewhere, and
> >use that time (for instance, one of your servers could have a
> time-service
> >on it, and if you encrypt/code the date/time info somehow, you’d be
> safe
> >from “change local time”).
> >
> >However, most people seem to want to have upto date time on their
> machines,
> >and I’ve seen many license managers that use the clock of the system
> to
> >decide whether to run or not. I’d say that the majority of
> applications that
> >are time-bombed, will be able to run if you set the time back on the
> >machine. For most purposes, this is adequate, as most people don’t
> like to
> >have the date/time wrong on their machine. Particularly if you do
> regular
> >checks, so it’s not enough to set the time back at the start of day,
> and
> >then change it back to “current” when Windows have started.
> >
> >–
> >Mats
> >
> >-----Original Message-----
> >From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]
> >Sent: Wednesday, March 31, 2004 11:47 AM
> >To: Windows System Software Devs Interest List
> >Subject: [ntdev] Absolute/ CPU time
> >
> >
> >
> >I have the following problem:
> >
> >I need to have a timer function that is w.r.t the cpu clock and not
> >dependent on the process.
> >
> >I wish to develop an application that needs to expire after an year
> (say).
> >This needs to be independent of the system clock since the user can
> modify
> >the clock.
> >
> >Any help will be appreciated.
> >
> >
> >
> >
> >
> >
> >
> >
> >?? _____
> >
> >Easiest Money Transfer to India . Send Money To 6000 Indian Towns.
> Easiest
> >Way To Send Money Home!??http:
> >Questions? First check the Kernel Driver FAQ at
> >http://www.osronline.com/article.cfm?id=256
> >
> >You are currently subscribed to ntdev as: xxxxx@3dlabs.com
> >To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
> >
> >
> >—
> >Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
> >
> >You are currently subscribed to ntdev as: xxxxx@hotmail.com
> >To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
> Post Classifieds on MSN classifieds. Buy and Sell on MSN Classifieds.
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@garlic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@3dlabs.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@garlic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@compuware.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@garlic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>
> The contents of this e-mail are intended for the named addressee
> only. It contains information that may be confidential. Unless you are
> the named addressee or an authorized designee, you may not copy or use
> it, or disclose it to anyone else. If you received it in error please
> notify us immediately and then destroy it.
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@3dlabs.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@telus.net
> To unsubscribe send a blank email to xxxxx@lists.osr.com
-----------------------------------------
Cliff Russell
Software Engineer

e-mail: xxxxx@atimi.com
ichat: xxxxx@mac.com
phone: 250 818 5711

Atimi Software: Software Development - On Time.
http://www.atimi.com</http:>

Golly, HASP used to mean “Houston Automatic Spooling Program”. Did IBM give
up on the trademark ?

Alberto.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Cliff Russell
Sent: Friday, April 02, 2004 3:40 PM
To: xxxxx@lists.osr.com
Subject: Re: [ntdev] Absolute/ CPU time

Check out the HASP4 Time from Aladdin (www.hasp.com)

On 2-Apr-04, at 7:58 AM, xxxxx@3Dlabs.com wrote:

Yes, for the OP, a USB device that can be fitted externally. It does limit
it to software that is sent out via post, can’t be downloaded, as it’s
necessary for the external clock device to be shipped as well. And of
course, if there’s software to change the time of the external USB device,
then you’d be in the same position as with the CMOS clock…

Mats

-----Original Message-----

From: Prokash Sinha [mailto:xxxxx@garlic.com]

Sent: Friday, April 02, 2004 4:48 PM

To: Windows System Software Devs Interest List

Subject: RE: [ntdev] Absolute/ CPU time

Synching clk skewing is difficult !, each one would probably would do its
ownway. But yes, if there is a secondary, trustworthy reference point, then
there is

no need for network, at least for an absolute time w/plus-minus delta …

-prokash

-----Original Message-----

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira, Alberto

Sent: Friday, April 02, 2004 7:36 AM

To: Windows System Software Devs Interest List

Subject: RE: [ntdev] Absolute/ CPU time

That requires the system to be up. However, a clock chip on an USB port
could be an absolute time device the size of a Cruiser, no need for
networking or even for the OS to be up. Even SoftICE could read that time
while the system’s stopped. That’d solve the problem I have, that my target
machines are often off the network and as I stop them with SoftICE, the
clock drifts away from real time.

Alberto.

-----Original Message-----

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Prokash Sinha

Sent: Friday, April 02, 2004 10:30 AM

To: Windows System Software Devs Interest List

Subject: RE: [ntdev] Absolute/ CPU time

Only way I can see, as U said, is to use daytime server !

-prokash

-----Original Message-----

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@3Dlabs.com

Sent: Friday, April 02, 2004 12:59 AM

To: Windows System Software Devs Interest List

Subject: RE: [ntdev] Absolute/ CPU time

Yes, you can use the timer interrupt to keep track of time in the system.
However, only when the system is running. If I were to write a piece of code
that kills the app after 365 days (or whatever), then I wouldn’t want to
restrict it to any machine that is not powered down, and here is the entire
problem of the OP. There is no easy way to check that the time in a PC is
actually the current time, unless you have access to a certified time from
somewhere, because you can change the date and time of the machine at will,
and no software can stop that, since this is handled in the BIOS for the
most basic version of it.

As I suggested, it’s possible to store the last time the software was
started, and check that the current time isn’t (much) before that time.
[Just bear in mind that PC clocks do tend to run slightly off the “real”
time, so it may be necessary for the user to adjust the time].

Or it’s possible to use a network service that supplies a date/time to the
system and use this for a reference, and only allow, say two hours of
running at any given time if this service isn’t available. But that assumes
that the system is connected to a network, of course.

Mats

-----Original Message-----

From: Prokash Sinha [mailto:xxxxx@garlic.com]

Sent: Friday, April 02, 2004 6:31 AM

To: Windows System Software Devs Interest List

Subject: RE: [ntdev] Absolute/ CPU time

The clock that keeps the current time and date is a 8253 or 8254 chip (or

compatible) with three porogrammable counters. Two of these counters are
used

for DRAM refresh and to drive the speaker. The third one is hooked to IRQ 0

(interrupt 8) and the default handler for interrupt 8 in the system BIOS

adjusts the current time in the BIOS data area at each “tick”.

So the programmatic interface on NT family has to be some DDK/HAL API…
Look for it…

-prokash

-----Original Message-----

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of cheerful vishwanathan

Sent: Thursday, April 01, 2004 7:34 PM

To: Windows System Software Devs Interest List

Subject: RE: [ntdev] Absolute/ CPU time

Hi Mats!

Thanks for the response but I still feel that there is a clock that keeps
running in the background despite the machine being put off else how do u
think that the system clock will show the right time. Is there a way to
access that background clock that is running in the background despite the
machine being put off?

Thanks again.

From: xxxxx@3Dlabs.com

Reply-To: “Windows System Software Devs Interest List”


>To: “Windows System Software Devs Interest List”

>Subject: RE: [ntdev] Absolute/ CPU time

>Date: Wed, 31 Mar 2004 12:03:27 +0100

>

>The CPU clock is only running when your system is running, so if the user

>powers down the machine (either intentionally, or say due to power loss),
it

>would start over again…

>

>You could of course check the time every time the applicaiton is started,

>and store a registry entry or some such that remembers the time of the last

>time application was run, and if “now is before last time it was used”, you

>know that the date has been altered. (Just remember that we do have things

>like daylight savings time in some countries, so if time has changed by an

>hour or so, it’s not necessarily the user cheating. Using GMT timezone on

>all machines would solve that problem).

>

>Another option would be to use an external time from a server somewhere,
and

>use that time (for instance, one of your servers could have a time-service

>on it, and if you encrypt/code the date/time info somehow, you’d be safe

>from “change local time”).

>

>However, most people seem to want to have upto date time on their machines,

>and I’ve seen many license managers that use the clock of the system to

>decide whether to run or not. I’d say that the majority of applications
that

>are time-bombed, will be able to run if you set the time back on the

>machine. For most purposes, this is adequate, as most people don’t like to

>have the date/time wrong on their machine. Particularly if you do regular

>checks, so it’s not enough to set the time back at the start of day, and

>then change it back to “current” when Windows have started.

>

>–

>Mats

>

>-----Original Message-----

>From: cheerful vishwanathan [mailto:xxxxx@hotmail.com]

>Sent: Wednesday, March 31, 2004 11:47 AM

>To: Windows System Software Devs Interest List

>Subject: [ntdev] Absolute/ CPU time

>

>

>

>I have the following problem:

>

>I need to have a timer function that is w.r.t the cpu clock and not

>dependent on the process.

>

>I wish to develop an application that needs to expire after an year (say).

>This needs to be independent of the system clock since the user can modify

>the clock.

>

>Any help will be appreciated.

>

>

>

>

>

>

>

>

> _____

>

>Easiest Money Transfer to India . Send Money To 6000 Indian Towns. Easiest

>Way To Send Money Home! http:

>Questions? First check the Kernel Driver FAQ at

>http://www.osronline.com/article.cfm?id=256

>

>You are currently subscribed to ntdev as: xxxxx@3dlabs.com

>To unsubscribe send a blank email to xxxxx@lists.osr.com

>

>

>

>—

>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

>

>You are currently subscribed to ntdev as: xxxxx@hotmail.com

>To unsubscribe send a blank email to xxxxx@lists.osr.com

Post Classifieds on MSN classifieds. Buy and Sell on MSN Classifieds. —

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com

To unsubscribe send a blank email to xxxxx@lists.osr.com



Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com

To unsubscribe send a blank email to xxxxx@lists.osr.com



Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com

To unsubscribe send a blank email to xxxxx@lists.osr.com



Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@compuware.com

To unsubscribe send a blank email to xxxxx@lists.osr.com



Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@garlic.com

To unsubscribe send a blank email to xxxxx@lists.osr.com

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.



Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@3dlabs.com

To unsubscribe send a blank email to xxxxx@lists.osr.com



Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@telus.net

To unsubscribe send a blank email to xxxxx@lists.osr.com

-----------------------------------------

Cliff Russell

Software Engineer

e-mail: xxxxx@atimi.com

ichat: xxxxx@mac.com

phone: 250 818 5711

Atimi Software: Software Development - On Time.

http://www.atimi.com

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.</http:>

HASP, that is at least 20 yrs old, not sure about the life of a trademark, and again IBM does not go after little guy, they would not recover the lawyer’s paycheck out of it…
-pro

Trademarks are IIRC 75 years, but at the time of HASP I don’t think they
allowed acronyms. IBM will definitely go after the little guy with a
vengeance if it suits them. I always laugh when I see them portrayed as the
friend and defender of Linux and Open Source after the years of being the
“evil empire” before the term was applied to Microsoft.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting

“Programmers Society Prokash Sinha” wrote in message
news:xxxxx@ntdev…
> HASP, that is at least 20 yrs old, not sure about the life of a trademark,
and again IBM does not go after little guy, they would not recover the
lawyer’s paycheck out of it…
> -pro
>

IBM is serious about the Open Source, if OS/2 was as successful as Windows, then I think IBM would not have to go thru this route. I’m an ex-IBMer, and I do Windows, sometime I do it good :).

Same with SUN and MS allience, it’s all twist and turns :).

-pro