A method and apparatus wherein a
software scheduling agent resides on a communication network and / or
client device, such as location-aware
wireless communication appliances,
television set top boxes, or other
end user client devices is disclosed. The
software scheduling agent is part of a probabilistic modeling
system in which the scheduler operates to perform constrained random variation with selection.
Digital content is generated, organized, and stored on the communication network and / or the
client devices. An electronic
digital content wrapper, which holds information in the form of data and
metadata related to the
digital content is associated with each item of
digital content. Contextual profiles for each user and each item of digital content are established by the users and the network and maintained by a
service provider on the communication network. The
software scheduling agent compares the contextual digital content profile for each item of digital content to the contextual
user profile for each user to determine which digital content should be offered for presentation to each user. The comparison and determination of which items of digital content should be offered for presentation to which users is performed by a process of constrained random variation. After the software scheduling agent determines which items of digital content would most likely be relevant or interesting to the user, the digital content is transmitted, either in whole or in part, at predetermined times over the communication network to the appropriate client devices. The digital content is then stored, either in whole or in part, in cache memory on the client device until an appropriate time when the digital content is digitally packaged and presented to particular users over those user's client devices.