Bug 172 - Usage not preserved when starting "collective"
Status:
RESOLVED FIXED
Component:
Core
Version:
1.0.0
Hardware:
PC All
Importance:
P2 major
Target Milestone:
---
Assignee:
Rob Caelers
URL:
Depends on:
Blocks:
Reported:
Jan 15 2003 01:40:51 UTC
by:
Kees-Jan Dijkzeul
Modified:
Jun 22 2003 08:23:35 UTC
WhoWhenWhatRemovedAdded
Rob CaelersJan 15 2003 04:15:45 UTCop_sysWindows 2000All
statusNEWASSIGNED
Rob CaelersJun 22 2003 08:23:35 UTCstatusASSIGNEDRESOLVED
resolutionFIXED
Description
Kees-Jan Dijkzeul  Jan 15 2003 01:40:51 UTC
test case:
- Start one computer. Do some work.
- Start the other computer. Don't use it.
- On the one computer, tell wr to connect to the other (may be automatic if you
started collective in a previous session.

Expected result:
Upon connecting, the usage of both computers is added to give a cumulative usage

Actual result:
Usage from the other computer is copied to my own. Effectively, my daily limit
(as well as other timers) is reset.

Common usage pattern:
Work on your main pc. After some time, start the secondary pc (test-pc,
secondary laptop). You loose your daily usage so far. (which can be very
painfull :-)
Comment 1
Rob Caelers  Jan 15 2003 04:15:45 UTC
Sounds reasonable.
Comment 2
Rob Caelers  Jan 16 2003 00:39:28 UTC
On 2nd thought: what if you reboot a computer that was part of the collective
and rejoin after the reboot. If you add up the daily usages of both computers,
your days will become very short....

This is not trivial....
Comment 3
Kees-Jan Dijkzeul  Jan 20 2003 04:32:07 UTC
If I came up with trivial problems only, it wouldn't be fun any more :-)

I suggest that each computer keeps track of local usages, and buffers the remote
usage on other computers. Then, you can always add up to a cumulative usage.
Comment 4
Rob Caelers  Jan 20 2003 07:22:10 UTC
Mmm, let's take 2 computers, 10 minutes restbreak every 20 minutes.

1. Connect both computers
2. Work for 5 minutes on computer 1
3. Disconnect
4. Work for 4 minutes on computer 2
5. Reconnect

Local usage of computer 1 = 5 minutes, local usage of computer 2 = 4 minutes. No
problem. total usage 9 minutes.

Now work for 14 minutes in step 4. Computer 1 will have reset the restbreak
timer (natural break). Local usage of computer 1 = 0 minutes, local usage of
computer 2 = 14 minutes. Total usage 14 minutes instead of 19.

Just adding local usages won't work.... 
Comment 5
Kees-Jan Dijkzeul  Jan 21 2003 03:57:44 UTC
Sigh...

Second attempt (Dijkstra style :-):

From the perspective of any one timer, life consists of periods of "activity",
with some breaks in between. For the moment, I don't care whether the break is
forced or natural. Also, in the periods of "activity" there may be some idle
time. As long as it is less than a natural break, I don't care.

For each period of activity, you record
- Value of the system clock at first activity
- Value of the system clock at last activity
- Total amount of activity in between.

Theorem:
If you have this information, for all timers, for all computers in the network,
then you can determine (in retrospect) what the current values for all timers
should be.

Proof:
Left as an exercise to the reader.

Observations:
- This is not a lot of information It can easily be shared over the network. In
fact, all of this should be in the statistics anyway.
- For most cases, probably only the last period of activity is relevant (for all
computers, for all timers) to determine current timer values, reducing the
information to be shared even further.
Comment 6
Rob Caelers  Jun 22 2003 08:23:35 UTC
Needs further testing. closing anyway.