15. An apparatus to match a user profile with desired data, the apparatus comprising: a webcasting system, the system including: a profile handler; a profile matcher; a profile database; an data item fetcher; a processor, wherein the processor is capable of executing instructions to: build a profile index, wherein the profile index includes a collection of user profiles including predicates; identify predicates shared by user profiles; and evaluate the predicates, wherein each predicate is evaluated once and the evaluation includes matching each predicate of the profile collection against data items.
15. An apparatus to match a user profile with desired data, the apparatus comprising: a webcasting system, the system including: a profile handler; a profile matcher; a profile database; an data item fetcher; a processor, wherein the processor is capable of executing instructions to: build a profile index, wherein the profile index includes a collection of user profiles including predicates; identify predicates shared by user profiles; and evaluate the predicates, wherein each predicate is evaluated once and the evaluation includes matching each predicate of the profile collection against data items. 20. The apparatus recited in claim 15, wherein the processor is further capable of executing instructions to: dynamically monitor the evaluation of each predicate; assign an evaluation cost to each predicate based upon the monitoring, wherein the cost of a cheap predicate requires less evaluation time and the cost of an expensive predicate requires more evaluation time; and evaluate the cheap predicates before the expensive predicates.