IP Library Granted Patent US 7,617,515
Granted Patent B1
US 7,617,515 · App. 09/864,476 · Granted Nov 10, 2009

Method and apparatus for managing resources in a multimedia system

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 7,617,515
App. No.
09/864,476
Granted
Nov 10, 2009
Kind
B1
Abstract

A method and apparatus for managing resources within a multimedia system includes processing that begins by receiving a client request for a multimedia system service from one of a plurality of clients. The processing continues by determining whether the client's request is valid for this particular client. The processing continues when the request is valid by determining whether the multimedia system has sufficient resources to fulfill the client request. The processing continues when the multimedia system has sufficient resources to fulfill the client request by allocating at least some of the sufficient resources to fulfill the client request based on a multimedia system resource allocation procedure, which insures that the resources of the system are allocated in an efficient manner.

Claims (142)

1. A method for managing resources in a multimedia system, the method comprises:

receiving a client request at a multimedia server for a multimedia system service from one of a plurality of clients, wherein the multimedia system service includes access to a channel of a plurality of dissimilar channels having dissimilar resource demands;

determining via a processor at the multimedia server whether the client request is valid for the one of the plurality of clients based upon client authenticity and client privileges;

when the client request is valid for the one of the plurality of clients, determining via the processor whether the multimedia system has sufficient resources of a plurality of resources to fulfill the client request; and

allocating at least some of the sufficient resources to fulfill the client request based on a multimedia system resource allocation procedure that are determined based on a priority associated with the multimedia system service and further based on a best match analysis executed via the processor, by maintaining a listing of resource capabilities for each of the plurality of resources; determining a type of resource needed to support the client request; identify and allocate best match resources based on the resource capability of the best match resources and the type of resource needed by the client and further based on a predetermined assignment of assigned resources to a particular one of the plurality of clients.

2. The method of claim 1 , wherein, when the client request is to view a video program, the determining whether the client request is valid further comprises:

determining whether access to the video program is restricted for the one of the plurality of clients;

when the video program is not restricted for the one of the plurality of clients, validating the client request; and

when the video program is restricted for the one of the plurality of clients, denying the client request.

3. The method of claim 2 , wherein the determining whether the access to the video program is restricted further comprises at least one of:

determining whether the video program exceeds a parental control setting for the one of the plurality of clients;

determining whether the one of the plurality of clients has rental privileges to access the video program; and

determining whether the one of the plurality of clients has exceeded an allotted daily viewing quota.

4. The method of claim 1 , wherein the determining whether the client request is valid further comprises:

determining whether the client request is received during an assigned access time period for the one of the plurality of clients;

when the client request is received during the assigned access time period, validating the client request; and

when the client request is not received during the assigned access time period, denying the client request.

5. The method of claim 1 , wherein the determining whether the multimedia system has the sufficient resources further comprises at least one of:

determining whether a tuning module has capacity to accommodate the client request;

determining whether a channel mixer has sufficient processing resources to process the client request; and

determining whether a communication path between a multimedia server and the plurality of clients has sufficient bandwidth to accommodate the client request.

6. The method of claim 1 further comprises:

when the multimedia system does not have the sufficient resources to fulfill the client request, determining whether an alternate multimedia service is available by at least one of:

for a video program, adjusting resolution to a default resolution for the multimedia system;

for a video program, adjusting video quality to a default video quality for the multimedia system;

querying the one of the plurality of clients to select the alternative multimedia service; and

automatically selecting the alternate multimedia service based a pre-programmed alternative selection.

7. The method of claim 1 further comprises:

when the multimedia system does not have the sufficient resources to fulfill the client request, determining whether the client request has priority over a currently serviced client request based on the priority of the multimedia system service and a priority of the service associated with the currently serviced client request; and

when the client request has priority over the currently serviced client request, preempting the currently serviced client request to obtain the sufficient resources.

8. The method of claim 1 further comprises:

when the multimedia system does not have the sufficient resources to fulfill the client request, determining whether allocation of the plurality of resources can be reallocated to fulfill the client request; and

when the plurality of resources can be reallocated to fulfill the client request, adjusting allocation of the plurality of resources to fulfill the client request.

9. The method of claim 8 , wherein the determining whether allocation of the plurality of resources can be reallocated to fulfill the client request further comprises:

monitoring use of the plurality of resources in comparison to capabilities of the plurality of resources;

when the use of at least some of the plurality of resources is not optimal, adjusting the allocation of the plurality of resources.

10. The method of claim 1 , wherein the allocating the at least some of the sufficient resources to fulfill the client request further comprises at least one of:

allocating the at least some of the sufficient resources in a first-come-first serve manner; and

allocating the at least some of the sufficient resources in a trunked manner.

11. The method of claim 1 further comprises:

determining whether the multimedia system has excess available resources;

when the multimedia system has excess available resources, determining whether the one of the plurality of clients has enhanced feature privileges; and

when the one of the plurality of clients has enhanced feature privileges, allocating further resources of the plurality of resources to support enhanced features for the one of the plurality of clients.

12. The method of claim 1 further comprising:

when the multimedia system has insufficient resources to fulfill the client request, determining when the priority associated with the multimedia system service is higher than the priority of an ongoing multimedia service; and

obtaining resources associated with the ongoing multimedia service to fulfill the client request when the priority associated with the multimedia system service is higher than the priority of an ongoing multimedia service.

13. The method of claim 1 wherein the multimedia service has one of a plurality of service types and wherein the multimedia system resource allocation procedure operates based on the one of a plurality of service types.

14. A method for managing resources in a multimedia system, the method comprises:

receiving a client request at a multimedia server for a multimedia service from one of a plurality of clients, the multimedia service having a service type, wherein the multimedia system service includes access to at least one of a radio station channel, a television station channel, a satellite channel, a cable channel, Internet access, and intercom communication;

determining via a processor at the multimedia server whether the client request is valid for the one of the plurality of clients based upon client authenticity and client privileges;

when the client request is valid for the one of the plurality of clients, determining via the processor whether the multimedia system has sufficient resources of a plurality of resources to fulfill the client request; and

allocating resources of the sufficient resources to fulfill the client request that are determined based on a priority associated with the multimedia service and further based on a best match analysis executed via the processor, by maintaining a listing of resource capabilities for each of the plurality of resources; determining a type of resource needed to support the client request; identify and allocate best match resources based on the resource capability of the best match resources and the type of resource needed by the client and further based on a predetermined assignment of assigned resources to a particular one of the plurality of clients.

15. The method of claim 14 , wherein, when the client request is to view a video program, the determining whether the client request is valid further comprises:

determining whether access to the video program is restricted for the one of the plurality of clients;

when the video program is not restricted for the one of the plurality of clients, validating the client request; and

when the video program is restricted for the one of the plurality of clients, denying the client request.

16. The method of claim 14 , wherein the determining whether the client request is valid further comprises:

determining whether the client request is received during an assigned access time period for the one of the plurality of clients;

when the client request is received during the assigned access time period, validating the client request; and

when the client request is not received during the assigned access time period, denying the client request.

17. The method of claim 14 , wherein the determining whether the multimedia system has the sufficient resources further comprises at least one of:

determining whether a tuning module has capacity to accommodate the client request;

determining whether a channel mixer has sufficient processing resources to process the client request; and

determining whether a communication path between a multimedia server and the plurality of clients has sufficient bandwidth to accommodate the client request.

18. The method of claim 14 further comprises:

when the multimedia system does not have the sufficient resources to fulfill the client request, determining whether the client request has priority over a currently serviced client request based on the priority of the multimedia service and a priority of the service associated with the currently serviced client request; and

when the client request has priority over the currently serviced client request, preempting the currently serviced client request to obtain the sufficient resources.

19. The method of claim 14 further comprises:

determining whether the multimedia system has excess available resources;

when the multimedia system has excess available resources, determining whether the one of the plurality of clients has enhanced feature privileges; and

when the one of the plurality of clients has enhanced feature privileges, allocating further resources of the plurality of resources to support enhanced features for the one of the plurality of clients.

20. An apparatus for managing resources in a multimedia system, the apparatus comprises:

processing module; and

memory operably coupled to the processing module, wherein the memory includes operational instructions that cause the processing module to:

receive a client request for a multimedia system service from one of a plurality of clients, wherein the multimedia system service includes access to at least one of a radio station channel, a television station channel, a satellite channel, a cable channel, Internet access, and intercom communication;

determine whether the client request is valid for the one of the plurality of clients, based on control limits set by a user of the multimedia system and client authenticity;

when the client request is valid for the one of the plurality of clients, determine whether the multimedia system has sufficient resources of a plurality of resources to fulfill the client request; and

when the multimedia system has the sufficient resources to fulfill the client request, allocate at least some of the sufficient resources to fulfill the client request based on a multimedia system resource allocation procedure that considers a priority associated with the multimedia service and further based on a best match analysis executed via the processor, by maintaining a listing of resource capabilities for each of the plurality of resources; determining a type of resource needed to support the client request; identify and allocate best match resources based on the resource capability of the best match resources and the type of resource needed by the client and further based on a predetermined assignment of assigned resources to a particular one of the plurality of clients.

21. The apparatus of claim 20 , wherein, when the client request is to view a video program, the memory further comprises operational instructions that cause the processing module to determine whether the client request is valid by:

determining whether access to the video program is restricted for the one of the plurality of clients;

when the video program is not restricted for the one of the plurality of clients, validating the client request; and

when the video program is restricted for the one of the plurality of clients, denying the client request.

22. The apparatus of claim 21 , wherein the memory further comprises operational instructions that cause the processing module to determine whether the access to the video program is restricted by at least one of:

determining whether the video program exceeds a parental control setting for the one of the plurality of clients;

determining whether the one of the plurality of clients has rental privileges to access the video program; and

determining whether the one of the plurality of clients has exceeded an allotted daily viewing quota.

23. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to determine whether the client request is valid by:

determining whether the client request is received during an assigned access time period for the one of the plurality of clients;

when the client request is received during the assigned access time period, validating the client request; and

when the client request is not received during the assigned access time period, denying the client request.

24. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to determine whether the multimedia system has the sufficient resources by at least one of:

determining whether a tuning module has capacity to accommodate the client request;

determining whether a channel mixer has sufficient processing resources to process the client request; and

determining whether a communication path between a multimedia server and the plurality of clients has sufficient bandwidth to accommodate the client request.

25. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to:

when the multimedia system does not have the sufficient resources to fulfill the client request, determine whether an alternate multimedia service is available by at least one of:

for a video program, adjusting resolution to a default resolution for the multimedia system;

for a video program, adjusting video quality to a default video quality for the multimedia system;

querying the one of the plurality of clients to select the alternative multimedia service; and

automatically selecting the alternate multimedia service based a pre-programmed alternative selection.

26. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to:

when the multimedia system does not have the sufficient resources to fulfill the client request, determine whether the client request has priority over a currently serviced client request based on the priority of the multimedia service and a priority of the service associated with the currently serviced client request; and

when the client request has priority over the currently serviced client request, preempt the currently serviced client request to obtain the sufficient resources.

27. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to:

when the multimedia system does not have the sufficient resources to fulfill the client request, determine whether allocation of the plurality of resources can be reallocated to fulfill the client request; and

when the plurality of resources can be reallocated to fulfill the client request, adjust allocation of the plurality of resources to fulfill the client request.

28. The apparatus of claim 27 , wherein the memory further comprises operational instructions that cause the processing module to determine whether allocation of the plurality of resources can be reallocated to fulfill the client request by:

monitoring use of the plurality of resources in comparison to capabilities of the plurality of resources;

when the use of at least some of the plurality of resources is not optimal, adjusting the allocation of the plurality of resources.

29. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to allocate the at least some of the sufficient resources to fulfill the client request by at least one of:

allocating the at least some of the sufficient resources in a first-come-first serve manner; and

allocating the at least some of the sufficient resources in a trunked manner.

30. The apparatus of claim 20 , wherein the memory further comprises operational instructions that cause the processing module to:

determine whether the multimedia system has excess available resources;

when the multimedia system has excess available resources, determine whether the one of the plurality of clients has enhanced feature privileges; and

when the one of the plurality of clients has enhanced feature privileges, allocate further resources of the plurality of resources to support enhanced features for the one of the plurality of clients.

31. An apparatus for managing resources in a multimedia system, the apparatus comprises:

processing module; and

memory operably coupled to the processing module, wherein the memory includes operational instructions that cause the processing module to:

receive a client request for a multimedia service from one of a plurality of clients, the multimedia service having one of a plurality of service types and provides access to at least one of a radio station channel, a television station channel, a satellite channel, a cable channel, Internet access, and intercom communication;

determine whether the client request is valid for the one of the plurality of clients based upon client authenticity and client privileges;

when the client request is valid for the one of the plurality of clients, determine whether the multimedia system has sufficient resources of a plurality of resources to fulfill the client request; and

when the multimedia system has the sufficient resources to fulfill the client request, allocate best match resources of the sufficient resources to fulfill the client request that are determined based on a priority associated with the multimedia service and further based on a best match analysis executed via the processor, by maintaining a listing of resource capabilities for each of the plurality of resources; determining a type of resource needed to support the client request; identify and allocate best match resources based on the resource capability of the best match resources and the type of resource needed by the client and further based on a predetermined assignment of assigned resources to a particular one of the plurality of clients.

32. The apparatus of claim 31 , wherein, when the client request is to view a video program, the memory further comprises operational instructions that cause the processing module to determine whether the client request is valid by:

determining whether access to the video program is restricted for the one of the plurality of clients;

when the video program is not restricted for the one of the plurality of clients, validating the client request; and

when the video program is restricted for the one of the plurality of clients, denying the client request.

33. The apparatus of claim 31 , wherein the memory further comprises operational instructions that cause the processing module to determine whether the client request is valid by:

determining whether the client request is received during an assigned access time period for the one of the plurality of clients;

when the client request is received during the assigned access time period, validating the client request; and

when the client request is not received during the assigned access time period, denying the client request.

34. The apparatus of claim 31 , wherein the memory further comprises operational instructions that cause the processing module to determine whether the multimedia system has the sufficient resources by at least one of:

determining whether a tuning module has capacity to accommodate the client request;

determining whether a channel mixer has sufficient processing resources to process the client request; and

determining whether a communication path between a multimedia server and the plurality of clients has sufficient bandwidth to accommodate the client request.

35. The apparatus of claim 31 , wherein the memory further comprises operational instructions that cause the processing module to:

when the multimedia system does not have the sufficient resources to fulfill the client request, determine whether the client request has priority over a currently serviced client request based on the priority of the multimedia service and a priority of the service associated with the currently serviced client request; and

when the client request has priority over the currently serviced client request, preempt the currently serviced client request to obtain the sufficient resources.

36. The apparatus of claim 31 , wherein the memory further comprises operational instructions that cause the processing module to:

determine whether the multimedia system has excess available resources;

when the multimedia system has excess available resources, determine whether the one of the plurality of clients has enhanced feature privileges; and

when the one of the plurality of clients has enhanced feature privileges, allocate further resources of the plurality of resources to support enhanced features for the one of the plurality of clients.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2019
From: ROVI TECHNOLOGIES CORPORATION
To: ROVI GUIDES, INC.
Reel/Frame 048457/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: ROVI CORPORATION
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 048221/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: VIXS SYSTEMS, INC.
To: ROVI CORPORATION
Reel/Frame 048169/0553 →
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2017
From: COMERICA BANK
To: VIXS SYSTEMS, INC.
Reel/Frame 043601/0817 →
RELEASE OF SECURITY INTEREST Recorded Aug 25, 2016
From: GATX/MM VENTURE FINANCE PARTNERSHIP
To: VIXS SYSTEMS INC.
Reel/Frame 039538/0033 →
SECURITY AGREEMENT Recorded Feb 11, 2009
From: VIXS SYSTEMS INC.
To: COMERICA BANK
Reel/Frame 022240/0446 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CHANGE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 011853 FRAME 0438. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 26, 2007
From: LAKSONO, INDRA
To: VIXS SYSTEMS, INC.
Reel/Frame 018813/0776 →
SECURITY AGREEMENT Recorded Nov 5, 2001
From: VIXS SYSTEMS INC.
To: GATX/MM VENTURE FINANCE PARTNERSHIP
Reel/Frame 012297/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2001
From: LAKSONO, INDRA
To: VIXS, INC.
Reel/Frame 011853/0438 →