24. An apparatus comprising: a request and results processing server; and a search engine server; wherein the request and results processing server includes a content search suggestion engine configured to suggest programming content based on at least one of a user's past search criterion and previously downloaded content, and wherein the search engine server includes a search engine processor configured to maintain a list of a plurality of active searches based on the user's past search criterion responsive to determining that the user's past search criterion does not yield a matching result with respect to a program content database, and wherein the search engine processor is configured to receive a notification that a change is made to the program content database, and wherein the search engine processor is configured to determine that a match exists between the list of active searches and the change made to the program content database, and wherein the search engine server is configured to forward a notification of the match to the request and results processing server responsive to determining that a match exists between the list of active searches and the change made to the program content database.
24. An apparatus comprising: a request and results processing server; and a search engine server; wherein the request and results processing server includes a content search suggestion engine configured to suggest programming content based on at least one of a user's past search criterion and previously downloaded content, and wherein the search engine server includes a search engine processor configured to maintain a list of a plurality of active searches based on the user's past search criterion responsive to determining that the user's past search criterion does not yield a matching result with respect to a program content database, and wherein the search engine processor is configured to receive a notification that a change is made to the program content database, and wherein the search engine processor is configured to determine that a match exists between the list of active searches and the change made to the program content database, and wherein the search engine server is configured to forward a notification of the match to the request and results processing server responsive to determining that a match exists between the list of active searches and the change made to the program content database. 49. The apparatus of claim 24 , further comprising: a content delivery server comprising: a local content request processor configured to initiate delivery of content from local sources, a digital rights management processor configured to apply a digital rights management (DRM) scheme to the delivered content, an advertisement processor configured to insert advertising into the delivered content, a content delivery processor configured to manage the delivery of the delivered content and to validate that the delivered content matches an original content download request, and an encryption processor configured to encrypt the delivered content.