Patent ID: 7631318

Claim:
A system implemented at least in part by a computing device for providing digital rights management services, the system comprising: a processor; and a plurality of customized pipelines, implemented on the processor, that are unconditionally independent of one another, each customized pipeline is configured for providing a specific digital rights management service to a customer by executing a plurality of plug-in components of the customized pipeline in a sequential order from start to finish, the customized pipeline comprising: a service program that provides a processing framework for performing the specific digital rights management service; wherein plug-in options are selected from amongst a plurality of optional plug-in modular components, the plurality of plug-in components corresponding to the selected plug-in options are integrated into the processing framework according to a respective predefined set of interface rules, each of the plurality of plug-in components is denied direct access to data structures of the service program, the denial of direct access being implemented by controlling data interaction between each of the plurality of plug-in components and the service program, each of the plurality of plug-in components is validated for providing trust between the service program and each of the plurality of plug-in components, a first asynchronous component that is appended to an end point of the customized pipeline in the plurality of customized pipelines, the end point selected such that the first asynchronous component is operative only after all the plurality of plug-in components of the customized pipeline have performed their respective tasks, and wherein the first asynchronous component is configured to have no control over a processing of a request associated with the respective tasks performed by the plurality of plug-in components of the customized pipeline, and a second asynchronous component that is appended to the end point of the customized pipeline wherein the second asynchronous component operates in parallel with, and independent of, the first asynchronous component, and wherein the second asynchronous component is operative only after all the plurality of plug-in components of the customized pipeline have performed their respective tasks, the second asynchronous component configured to have no control over a processing of a request associated with the respective tasks performed by the plurality of plug-in components of the customized pipeline.