When docking a Live Pen™ 2 with penDirector, what is the logic that determines if the data in the pen data needs to be downloaded?
In LP2 all data are downloaded due to their being no splitting in the pen. Basically the caching is in use when data present in the pen are for more than one subscriber and one of them is not receiving data. The installed subscribing application gets the data and the remaining data is cached by penDirector since data cannot be split inside LP2. The data is then kept by penDirector until the other subscriber/application is installed and then it will be notified with all the cached data and new data from LP2.
The cached data is created when penDirector is configured to "delete data in pen after successful synchronization" and some data wasn't processed (there's no subscriber for that data).
Live Pen™ 2 can only delete all data from pen and that's why unprocessed data is cached on computer, otherwise it'll be lost.
The cached data for a pen is stored on computer in %LOCALAPPDATA%\Anoto\penDirector\LocalStrokes\<penid>.isf file as a pgc file.
During each pen synchronization cached data is merged with new data from pen and penDirector tries to process it. Cached data is stored on computer until it is processed by some subscriber or it could be manually deleted by user using Clear command.
Live Pen™ 2