# US 7,610,586 B2 · Resource manager for clients in an information distribution system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,586 B2
- Document ID: US7610586B2
- Status: Granted
- Kind: B2
- Application number: 11/118,537
- Filed: 2005-04-29
- Published: 2005-11-03
- Granted: 2009-10-27
- Earliest claimed: 2004-04-30
- Assignees: TVWorks, LLC
- Inventors: Labeeb K. Ismail; Steven R. Thomas; Amarendra N. Gogoi
- Web page: https://patentgrep.com/patent/US7610586B2

## CPC

- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 2209/503: Resource availability
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for processing a resource allocation request associated with an application running at a set top box, by identifying all resources required to complete the resource allocation request and acquiring all the identified resources if the resources are available.

## Claims

### Claim 1

A method, comprising:
receiving a resource allocation request associated with an application that will use the resource, the application running at a set top box;
identifying all resources required to complete the resource allocation request;
if there is a conflict between the received resource allocation request and a contending resource allocation request associated with a second application, determining which resource allocation request is to be satisfied; and
if the received resource allocation request is to be satisfied, acquiring all the identified resources,
wherein the determining step comprises invoking a conflict handler that is part of the application running at the set top box, and wherein the requested resources comprises at least one of a video resource, an audio resource, and a tuner resource.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determining step is performed according to at least one of a user input, a priority ranking of activities, and a priority ranking of applications.

### Claim 3 (depends on 1)

The method of claim 1, wherein the conflict handler uses a set of conflict resolution rules.

### Claim 4 (depends on 1)

The method of claim 1, wherein the application comprises at least one of a personal video recorder (PVR) application and an electronic program guide (EPG) application.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
receiving a system call that requires resource acquisition; and
generating a resource allocation request for the resource requiring acquisition.

### Claim 6 (depends on 1)

The method of claim 1, wherein the resource allocation request includes a resource request structure which comprises at least one of a data structure and a software object.

### Claim 7

A method, comprising:
determining whether a resource allocation request associated with a requesting application conflicts with at least one of existing and proposed resource allocations associated with at least one other application, the resource allocation request comprising a request for all of the resources needed by the requesting application, the applications running at a set top box; and
if a conflict exists, resolving the conflict in favor of at least one of the resource allocation request, existing resource allocation, and proposed resource allocation;
wherein the resolving step comprises invoking a conflict handler that is part of the requesting application or the other application, and wherein the requested resources comprises at least one of a video resource, an audio resource, and a tuner resource.

### Claim 8 (depends on 7)

The method of claim 7, wherein the resolving step comprises allocating all of the requested resources to the requesting application if the conflict is resolved in favor of the resource allocation request.

### Claim 9 (depends on 7)

The method of claim 7, wherein the resolving step is performed according to at least one of a user input, a priority ranking of activities, and a priority ranking of applications.

### Claim 10 (depends on 7)

The method of claim 7, wherein the application comprises at least one of a personal video recorder (PVR) application and an electronic program guide (EPG) application.

### Claim 11

A method performed by an application programming interface (API) within a middleware environment of a client device, the method comprising:
receiving a resource allocation request associated with a first application that will use the resource, the application running at a set top box;
identifying all resources required to complete the resource allocation request;
if there is a conflict between the received resource allocation request and a contending resource allocation request associated with a second application, determining which resource allocation request is to be satisfied; and
if the received resource allocation request is to be satisfied, acquiring all the identified resources,
wherein the determining step comprises invoking a conflict handler that is part of one of the first application and the second application, and wherein the requested resources comprises at least one of a video resource, an audio resource, and a tuner resource.

### Claim 12

A memory having stored thereon instructions that, when executed, perform:
receiving a resource allocation request associated with an application that will use the resource, the application running at a set top box;
identifying all resources required to complete the resource allocation request;
if there is a conflict between the received resource allocation request and a contending resource allocation request associated with a second application, determining which resource allocation request is to be satisfied; and
if the received resource allocation request is to be satisfied, acquiring all the identified resources,
wherein the determining step comprises invoking a conflict handler that is part of the application running at the set top box, and wherein the requested resources comprises at least one of a video resource, an audio resource, and a tuner resource.

### Claim 13 (depends on 12)

The memory of claim 12, wherein the determining step is performed according to at least one of a user input, a priority ranking of activities, and a priority ranking of applications.

### Claim 14

An apparatus comprising:
a processor; and
memory storing instructions that, when executed by the processor, perform:
receiving a resource allocation request associated with an application that will use the resource, the application running at a set top box;
identifying all resources required to complete the resource allocation request;
if there is a conflict between the received resource allocation request and a contending resource allocation request associated with a second application, determining which resource allocation request is to be satisfied; and
if the received resource allocation request is to be satisfied, acquiring all the identified resources,
wherein the determining step comprises invoking a conflict handler that is part of the application running at the set top box, and wherein the requested resources comprises at least one of a video resource, an audio resource, and a tuner resource.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the determining step is performed according to at least one of a user input, a priority ranking of activities, and a priority ranking of applications.
