1. A method for servicing streaming media comprising: receiving said streaming media; determining an allocation of available processing and memory resources; performing a multi-stage service on said streaming media; and caching an intermediate result from one of the stages of said multi-stage process, said result selected according to said available processing and memory resources.