System and method for providing content-oriented services to content providers and content consumers
First Claim
1. A content service network for providing content-oriented services on contents delivered over a wide-area network, comprising:
- a content delivery network having a plurality of service-enabled proxies positioned at edge servers disposed in content delivery paths between content providers and content consumers on the wide-area network; and
a service delivery overlay having a plurality of application servers each distinct from the service-enabled proxies, the plurality of application servers for performing content processing for rendering content-oriented services and at least a service management server for managing service subscriptions, the service management server having a service subscription component for receiving service subscriptions for content-oriented services from subscribers, creating for each subscribed service a service instruction including service binding data identifying a subscriber for said each subscribed service and identifying said each subscribed service, and distributing the service instructions to the service-enabled proxies positioned at the edge servers such that when the service management server is in an eager mode, the service management server distributes the service instructions immediately after receiving a service subscription and when the service management server is in a lazy mode the service-enabled proxy fetches the service instructions from the service management server on a periodic basis, the service management server for distributing applications for performing services to the application servers and executable modules for performing services to the service-enabled proxies,each of the service-enabled proxies havingan instruction cache for storing service instructions received from the service management servera content cache for storing content received from a content provider in response to a content request andbeing programmedto receive a content request from a client machine, when the requested content is not stored in the content cache to forward the content request to a content provider, to receive the requested content from the content provider, and to store the requested content in the content cache, and when the requested content is stored in the content cache, to retrieve the requested content from the content cache,to match a message associated with the requested content against service binding data of the service instructions in the instruction cache to identify a service to be rendered on the requested content, retrieving a service instruction associated with the identified service, and executing the associated service instruction to render the identified service on the requested content, including calling a remote service of a remote application server in the service delivery overlay to perform content processing required for the identified service on the requested content and receiving a modified content in return when the associated service instruction calls for remote processing by executing an application distributed by the service management server and calling a local service of the edge server at which a service-enable proxy is positioned to perform content processing for the identified service on the requested content when the associated service instruction calls for local processing by executing an executable module distributed by the service management server, andto send the modified content to the client machine.
7 Assignments
0 Petitions
Accused Products
Abstract
A content service network for providing content-oriented services over the Internet or similar networks comprises a service delivery overlay having a plurality of application servers and a content delivery network overlay having a plurality of service-enabled proxies in content delivery paths between content providers and content consumers. The service delivery overlay and the content delivery network collaborate to provide content-oriented processing, such as adaptive video delivery, content personalization, language translation, etc. The content service network accepts subscriptions from content providers and content consumer. For each subscription, service instructions including service binding data for binding the subscribed services with the subscriber'"'"'s identity are generated and distributed to the service-enabled proxies. When a service-enabled proxy detects that a message passing therethrough requires a subscribed service, it retrieves service instructions for the service and renders the service either by making a remote call to an application service or by invoking a local execution module.
53 Citations
19 Claims
-
1. A content service network for providing content-oriented services on contents delivered over a wide-area network, comprising:
-
a content delivery network having a plurality of service-enabled proxies positioned at edge servers disposed in content delivery paths between content providers and content consumers on the wide-area network; and a service delivery overlay having a plurality of application servers each distinct from the service-enabled proxies, the plurality of application servers for performing content processing for rendering content-oriented services and at least a service management server for managing service subscriptions, the service management server having a service subscription component for receiving service subscriptions for content-oriented services from subscribers, creating for each subscribed service a service instruction including service binding data identifying a subscriber for said each subscribed service and identifying said each subscribed service, and distributing the service instructions to the service-enabled proxies positioned at the edge servers such that when the service management server is in an eager mode, the service management server distributes the service instructions immediately after receiving a service subscription and when the service management server is in a lazy mode the service-enabled proxy fetches the service instructions from the service management server on a periodic basis, the service management server for distributing applications for performing services to the application servers and executable modules for performing services to the service-enabled proxies, each of the service-enabled proxies having an instruction cache for storing service instructions received from the service management server a content cache for storing content received from a content provider in response to a content request and being programmed to receive a content request from a client machine, when the requested content is not stored in the content cache to forward the content request to a content provider, to receive the requested content from the content provider, and to store the requested content in the content cache, and when the requested content is stored in the content cache, to retrieve the requested content from the content cache, to match a message associated with the requested content against service binding data of the service instructions in the instruction cache to identify a service to be rendered on the requested content, retrieving a service instruction associated with the identified service, and executing the associated service instruction to render the identified service on the requested content, including calling a remote service of a remote application server in the service delivery overlay to perform content processing required for the identified service on the requested content and receiving a modified content in return when the associated service instruction calls for remote processing by executing an application distributed by the service management server and calling a local service of the edge server at which a service-enable proxy is positioned to perform content processing for the identified service on the requested content when the associated service instruction calls for local processing by executing an executable module distributed by the service management server, and to send the modified content to the client machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A service-enabled proxy positioned at an edge server of a content delivery network of a content service network, the edge server in content delivery paths between content providers and content consumers on a wide-area network for providing content-oriented services, comprising:
-
a service instruction cache for storing service instructions, each service instruction having service binding data identifying a service subscriber and specifying a subscribed content-oriented service and representing a contract between a subscriber and a service provider, the service instruction being provided to the service-enabled proxy by a service management server of a service delivery overlay of the content service network through which the subscriber and the service provider agreed to the contract such that when the service management server is in an eager mode, the service management server distributes the service instructions immediately after receiving a service request and when the service management server is in a lazy mode the service-enabled proxy fetches the service instructions from the service management server on a periodic basis; a message parser for parsing a message passing through the service-enabled proxy for extracting information for identifying, based on the service binding data of the service instructions, a content-oriented service to be rendered on the message; an instruction processor for loading a service instruction associated with the identified content-oriented service from the service instruction cache; and a service execution module for executing the loaded service instruction to cause rendering of the identified content-oriented service on the message, the service execution module being programmed to make a remote call to a remote application server for performing content processing on the message to render the identified content-oriented service when the loaded service instruction calls for remote processing and being programmed to make a local call to a local service of the edge server for performing content processing on the message to render the identified content-oriented service when the loaded service instruction calls for local processing, the service execution module including an execution module for performing a service that was distributed to the service-enabled proxy by the service management server. - View Dependent Claims (12, 13, 14)
-
-
15. A storage device having computer-executable instructions for a service-enabled proxy at an edge server of a content delivery network of a content service network, the edge server in content-delivery paths between content providers and content consumers on a wide-area network to performs steps for providing content-oriented services, the steps comprising:
-
receiving a message routed along a content delivery path; determining whether the message requires an associated content-oriented service based on service binding data for service instructions stored in an instruction cache, each service instruction being constructed for a corresponding subscribed content-oriented service and including service binding data identifying a subscriber of said corresponding subscribed content-oriented service and specifying said corresponding subscribed content-oriented service, the service instruction being provided to the service-enabled proxy by a service management server of a service delivery overlay of the content service network such that when the service management server is in an eager mode, the service management server distributes the service instructions immediately after receiving a service request and when the service management server is in a lazy mode the service-enabled proxy fetches the service instructions from the service management server on a periodic basis, each service instruction representing a contract between a subscriber and a service provider such that the service provider will provide a subscribed to service to the subscriber; loading a service instruction for the associated content-oriented service for the message from the instruction cache; and executing the loaded service instruction to render the associated content-oriented service for the message, including making a remote call to a remote application server to perform content processing on the message to render the associated content-oriented for the message when the loaded service instruction calls for remote processing and making a local call to a local service of the edge server to perform content processing on the message to render the associated content-oriented for the message when the loaded service instruction calls for local processing, the service execution module including an execution module for performing a service that was distributed to the service-enabled proxy by the service management server. - View Dependent Claims (16, 17, 18, 19)
-
Specification