IP Library Granted Patent US 10,511,871
Granted Patent B2
US 10,511,871 · App. 15/510,975 · Granted Dec 17, 2019

Decision logic

Inventors: Mark Christie (London, GB); Kris Brown (Retford, GB); Paul Mardling (London, GB); Ralf Tillmann (Mannheim, DE)
Assignee: PIKSEL, INC.
H04N21/2393H04N21/2405H04N21/258H04N21/2662H04L41/5009
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,511,871
App. No.
15/510,975
Granted
Dec 17, 2019
Kind
B2
Abstract

A network entity for delivering video to a front end in accordance with service level information defining at least one service level requirement for providing a service used in delivering the video, the network entity comprising: an input for receiving a request comprising task information identifying a task to be performed requiring the service for delivery of the video; an interface for communication with processing nodes each configured to provide the service for use in delivering the video; and decision logic coupled to the interface and configured to: receive (i) the request transmitted by the video content provider, (ii) characteristics of the processing nodes, and (iii) the at least one service level requirement for providing the service; select processing node(s) based on the received characteristics and the at least one service level requirement, and communicate via the interface with the processing node(s) selected to perform the task.

Claims (61)

1. A network entity for delivering video content that is provided by a video content provider to a front end in accordance with service level information which defines at least one service level requirement for providing a service used in delivering the video content to the front end, the network entity comprising:

an input for receiving a request comprising task information identifying a task to be performed requiring the service for delivery of the video content to the front end;

an interface for communication with processing nodes each configured to provide the service for use in delivering the video content to the front end; and

decision logic coupled to the interface and configured to:

receive (i) the request transmitted by the video content provider, (ii) characteristics of the processing nodes, and (iii) the at least one service level requirement for providing the service;

identify any processing node based on the received characteristics and the at least one service level requirement which meets the request;

wherein if one processing node meets the request, that processing node is selected,

wherein if more than one processing node meets the request, selecting one of the processing nodes in accordance with predetermined rules, wherein the predetermined rules specify one or more characteristics for use in the selection of processing nodes,

wherein if no processing node meets the request:

identifying any combinations of processing nodes which, based on the received characteristics and the at least one service level requirement, meets the request,

wherein if a single combination of the processing nodes is identified as being able to perform the task in accordance with the at least one service level requirement, selecting the single combination of said processing nodes,

wherein if a plurality of combinations of the processing nodes are able to perform the task in accordance with the at least one service level requirement, selecting one of the plurality of combinations of the processing nodes in accordance with predetermined rules,

the decision logic being further configured to communicate via the interface with the selected processing node or combination of processing nodes to perform the task.

2. The network entity according to claim 1 , wherein the decision logic is further configured to determine if the service request comprises an indicator indicating that the task is to be performed in accordance with requested service level information;

wherein the at least one service level requirement corresponds to default service level information if the service request does not comprise the indicator; and

the at least one service level requirement corresponds to requested service level information overriding the default service level information if the service request comprises the indicator.

3. The network entity according to claim 1 , wherein the decision logic is configured to determine that only a single processing node of the processing nodes is able to perform the task in accordance with the at least one service level requirement, and in response to the determination select the single processing node and communicate via the interface with the selected single processing node to perform the task.

4. The network entity according to claim 1 , wherein the predetermined rules specify that only one of the plurality of the processing nodes able to perform the task should be selected.

5. The network entity according to claim 1 , wherein in response to determining no combination of the processing nodes is able to perform the task in accordance with the at least one service level requirement, the decision logic is configured to determine if the service level information comprises an indicator indicating that it is acceptable for the task to be performed without complying with the at least one service level requirement.

6. The network entity according to claim 5 , wherein in response to determining the service level information comprises an indicator indicating that it is acceptable for the task to be performed without complying with the at least one service level requirement, the decision logic is configured to:

select a processing node or combination of the processing nodes to perform the task;

communicate via the interface with the selected processing node or combination of the processing nodes to perform the task; and

transmit a message to the video content provider indicating that the task was performed without complying with the at least one service level requirement.

7. The network entity according to claim 5 , wherein in response to determining the service level information does not comprise an indicator indicating that it is acceptable for the task to be performed without complying with the at least one service level requirement, the decision logic is configured to transmit a message to the video content provider indicating that the task was not performed.

8. The network entity according to claim 1 , wherein the decision logic is configured to determine that a predetermined period of time has elapsed since characteristics of a processing node of the processing nodes have been received, and in response to the determination the decision logic is configured to consider the processing node for selection to perform the task using service level information that has been agreed with a service provider associated with the processing node for providing the service, instead of characteristics of the processing node.

9. The network entity according to claim 1 , wherein the decision logic is configured to determine that a predetermined period of time has elapsed since characteristics of a processing node of the processing nodes have been received, and in response to the determination the decision logic is configured to supply a test task to the processing node that is to be performed by the processing node.

10. The network entity according to claim 1 , wherein the decision logic is configured to determine based on received characteristics of a processing node that the processing node is not complying with service level agreement information that has been agreed with a service provider associated with the processing node for providing the service, and in response to the determination the decision logic is configured to remove the processing node from consideration for selection to perform the task for a predetermined period of time.

11. The network entity according to claim 1 , wherein the characteristics include one or any combination of: a geographical positions of the processing nodes; an availability of the processing nodes; a financial cost of using the processing nodes; a quality of the output provided by the processing node; a capacity of the processing nodes; a throughput of the processing nodes; and a utilization of the processing nodes.

12. The network entity according to claim 1 , wherein the service is one of: a content recommendation service, a content quality verification service, a content storage service, an electronic programming guide service, a concurrency service, a content consumer entitlement verification service, a content metadata management service, an encoding service, a geographical awareness of content consuming devices service, a device verification service, a transcoding service, a digital rights management service, a content encryption service, an analytics service, a content consumer subscriptions service, a content delivery network service, a content ingestion service, a user profile management service, a content security service, provision of a content player, a payment service, and a billing service.

13. The network entity according to claim 1 , wherein the decision logic is configured to communicate via the interface with the selected at least one processing node using an application programming interface.

14. The network entity of claim 1 in which a plurality of services are used in combination for delivery of video content to a front end, wherein the plurality of services comprise at least a storage service, an encoding service and a content player service.

15. The network entity of claim 1 , wherein it is determined that a plurality of processing nodes, in combination, are able to perform the task, and selecting one or both of an individual processing node and a combination of processing nodes in dependence on one or both of the service requirements and the one or more characteristics defined by the predetermined rules.

16. The network entity of claim 1 , wherein if it is determined that a plurality of the processing nodes are individually able to perform the task in accordance with the at least one service level requirement; then the decision logic is configured to select at least one of the plurality of processing nodes in accordance with predetermined rules, wherein the predetermined rules specify one or more characteristics for use in the selection of the processing nodes; and communicate via the interface with the at least one processing node selected to perform the task.

17. A method for delivering video content that is provided by a video content provider to a front end in accordance with service level information which defines at least one service level requirement for providing a service used in delivering the video content to the front end, the method comprising:

receiving characteristics of processing nodes each configured to provide the service for use in delivering the video content to the front end;

receiving a request comprising task information identifying a task to be performed requiring the service for delivery of the video content to the front end;

receiving the at least one service level requirement for providing the service;

identifying any processing node based on the received characteristics and the at least one service level requirement which meets the request;

wherein if one processing node meets the request, that processing node is selected,

wherein if more than one processing node meets the request, selecting one of the processing nodes in accordance with predetermined rules, wherein the predetermined rules specify one or more characteristics for use in the selection of processing nodes,

wherein if no processing node meets the request:

identifying any combinations of processing nodes which, based on the received characteristics and the at least one service level requirement, meets the request,

wherein if a single combination of the processing nodes is able to perform the task in accordance with the at least one service level requirement, selecting the single combination of the processing nodes; and

wherein if a plurality of combinations of the processing nodes are able to perform the task in accordance with the at least one service level requirement, selecting one of the plurality of combinations of the processing nodes in accordance with predetermined rules, and

the method further comprising communicating via the interface with the selected processing node or combination of processing nodes to perform the task.

18. The method of claim 17 , further comprising:

determining that a plurality of the processing nodes are individually able to perform the task in accordance with the at least one service level requirement;

selecting, in response to the determination, at least one of the plurality of processing nodes in accordance with predetermined rules, wherein the predetermined rules specify one or more characteristics for use in the selection of the processing nodes; and

communicating with the at least one processing node selected to perform the task.

19. A computer program product for delivering video content that is provided by a video content provider to a front end in accordance with service level information which defines at least one service level requirement for providing a service used in delivering the video content to the front end, the computer program product being embodied on a non-transient computer-readable medium and configured so as when executed on one or more processors to:

receive characteristics of processing nodes each configured to provide the service for use in delivering the video content to the front end;

receive a request comprising task information identifying a task to be performed requiring the service for delivery of the video content to the front end;

receive the at least one service level requirement for providing the service;

identify any processing node based on the received characteristics and the at least one service level requirement that meets the request;

wherein if one processing node meets the request, that processing node is selected,

wherein if more than one processing node meets the request, selecting one of the processing nodes in accordance with predetermined rules, wherein the predetermined rules specify one or more characteristics for use in the selection of processing nodes,

wherein if no processing node meets the request:

identifying any combinations of processing nodes which, based on the received characteristics and the at least one service level requirement, meets the request,

wherein if a single combination of the processing nodes is able to perform the task in accordance with the at least one service level requirement, selecting the single combination of the processing nodes; and

wherein if a plurality of combinations of the processing nodes are able to perform the task in accordance with the at least one service level requirement, selecting one of the plurality of combinations of the processing nodes in accordance with predetermined rules, and

communicating via the interface with the selected processing node or combination of processing nodes to perform the task.

Assignments (4)
SECURITY INTEREST Recorded Oct 31, 2025
From: NEP SUPERSHOOTERS, LP
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 072752/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2023
From: PJR HOLDING COMPANY LLC
To: NEP SUPERSHOOTERS L.P.
Reel/Frame 063637/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2022
From: PIKSEL, INC.
To: PRJ HOLDING COMPANY, LLC
Reel/Frame 060703/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2017
From: CHRISTIE, MARK; BROWN, KRIS; MARDLING, PAUL; TILLMANN, RALF
To: PIKSEL, INC.
Reel/Frame 042926/0669 →