A method, implemented in a preprocessor, for preprocessing an original multimedia presentation to generate a preprocessed multimedia presentation which is to be delivered by a delivery processor via a distribution network to a presentation processor, and presented by the presentation processor to a customer, the distribution network having a network bit rate and the presentation processor having a memory capacity, wherein the original multimedia presentation includes presentation commands and associated multimedia objects and offers to the customer at least one interactive feature having enabled and disabled states and wherein each presentation command has an associated presentation time on one of a plurality of clocks of the original multimedia presentation for presenting its associated object, and each associated object has a size, said method comprising the steps of:
- (a) receiving and storing input signals to the preprocessor, said input signals including the original multimedia presentation to be preprocessed and presentation technology parameters which include a round trip latency between the delivery processor and the presentation processor, the bit rate of the distribution network, and the memory capacity of the presentation processor;
- (b) defining a first clock of said plurality of clocks of the original multimedia presentation as an active clock;
- (c) defining a memory counter with the memory capacity of the presentation processor;
- (d) identifying one of the objects on said active clock which has not been scheduled for delivery and which has the earliest presentation time as an active object;
- (e) if the interactive feature is not enabled between the time on said active clock and the presentation time of said active object, scheduling for delivery said active object at a delivery time defined as the earliest time that said memory counter indicates sufficient available memory capacity;
- (f) increasing said memory counter by the size of said active object;
- (g) updating said active clock by the time required to deliver said active object from the delivery processor to the presentation processor by employing the network bit rate;
- (h) if there are other unscheduled objects on said active clock, repeating steps (d) through (g);
- and
- (i) if there are other clocks which not been identified as said active clock, defining a next clock of the plurality of clocks as said active clock and repeating steps (d) through (h).