1460740689-6f6d365e-e14c-4351-9c78-50b62387c263

1. Display system, comprising:
a processor circuitry implementing a TV feature architecture embodied in software and including:
an application logic coordination unit (ALCU)
and plural plug in modules (PIM) communicating with the ALCU, each PIM representing a desired TV system feature, the ALCU routing information between the PIMs, wherein new PIMs may be added to the ALCU to cooperate with PIMs communicating with the ALCU
wherein a PIM providing a first feature embodies a first application launch judgment in a first model line and a PIM providing the first feature embodies a second application launch judgment in a second model line, the second application launch judgment being different than the first application launch judgment.
2. The system of claim 1, wherein a PIM providing a first feature registers for a first event in a first model line and a PIM providing the first feature registers for a second event in a second model line, the second event being different than the first event.
3. The system of claim 1, wherein PIM-to-PIM interactions are defined at the PIM level to be product-specific.
4. The system of claim 1, wherein each PIM includes:
an interface code unique to a particular model line; and
a feature code common across all model lines in which the PIM is sought to be used.
5. The system of claim 4, wherein the interface code translates calls from other PIMs received through the ALCU into calls understood by the feature code.
6. The system of claim 1, wherein the ALCU includes a public interface, a utilities interface, and a PIM interface.
7. A method comprising:
providing in first and second TV system model lines an application logic coordination unit (ALCU) common to both model lines; and
providing plural plug in modules (PIM) configured for communicating with the ALCU, with each PIM representing a desired TV system feature and with the ALCU routing information between the PIMs, wherein a set of PIMs in the first model line are different from a set of PIMs in the second model line;
wherein a PIM providing a first feature embodies a first application launch judgment in a first model line and a PIM providing the first feature embodies a second application launch judgment in a second model line, the second application launch judgment being different than the first application launch judgment.
8. The method of claim 7, comprising downloading a new PIM to a TV in the first model line after the TV is vended to provide a feature represented by the PIM to the TV, the TV not having the feature prior to downloading the PIM.
9. The method of claim 7, wherein a PIM providing a first feature registers for a first event in a first model line and a PIM providing the first feature registers for a second event in a second model line, the second event being different than the first event.
10. The method of claim 7, wherein PIM-to-PIM interactions are defined at the PIM level to be product-specific.
11. The method of claim 7, wherein each PIM includes:
an interface code unique to a particular model line; and
a feature code common across all model lines in which the PIM is sought to be used, wherein the interface code is unique to a desired feature of the model line.
12. The method of claim 11, wherein the interface code translates calls from other PIMs received through the ALCU into calls understood by the feature code.
13. The method of claim 7, wherein the ALCU includes a public interface, a utilities interface, and a PIM interface.
14. TV system architecture embodied on a tangible computer readable storage medium comprising:
an application logic coordination unit (ALCU); and
plural plug in modules (PIM) communicating with the ALCU, each PIM representing a desired TV system feature, PIM-to-PIM interactions being defined at the PIM level to be product-specific.
15. The system of claim 14, wherein a PIM providing a first feature registers for a first event in a first model line and a PIM providing the first feature registers for a second event in a second model line, the second event being different than the first event.
16. The system of claim 14, wherein each PIM includes:
an interface code unique to a particular model line; and
a feature code common across all model lines in which the PIM is sought to be used, wherein the interface code translates calls from other PIMs received through the ALCU into calls understood by the feature code.
17. The system of claim 14, wherein the ALCU includes a public interface, a utilities interface, and a PIM interface.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A computer-implemented method for optimizing allocation of resources across projects in a project portfolio, comprising:
receiving, at a computing device, (i) resource information representing a plurality of resources available for allocation to the projects, (ii) a portfolio of project definitions, each project definition comprising a unique identifier and one or more project-level constraints, and (iii) one or more portfolio-level optimization criteria including an objective function defined by the equation,
max
\u2062

{
\u2211

k
=
1

n

\u2062
\u2062
Z
\u2061
p
k
*

F
\u2061
p
k
}
where n represents the number of projects in the project portfolio, pk represents the kth project, function Z represents an optimization criterion function, and function F represents a successful-and-on-time completion function;
generating, using the computing device, a plurality of project portfolio allocation scenarios, wherein generating each project portfolio allocation scenario comprises:
assigning a date value to each of the unique identifiers; and
allocating one or more of the plurality of resources to one or more of the unique identifiers, wherein the assignment of the date values and the allocation of the resources to the one or more unique identifiers satisfies the one or more project-level constraints associated with each project definition; and
assigning, using the computing device, a weight to each of the one or more portfolio-level optimization criteria; and
determining, using the computing device, one or more optimized project portfolio allocation scenarios from the plurality of project portfolio allocation scenarios by satisfying the one or more portfolio-level optimization criteria scaled by the respective weight, wherein determining the one or more optimized project portfolio allocation scenarios optimizes a sequence of the projects to satisfy the one or more portfolio-level optimization criteria scaled by the respective weight.
2. The computer-implemented method of claim 1, wherein determining the one or more optimized project portfolio allocation scenarios comprises:
selecting, using the computing device, a first project portfolio allocation scenario from the plurality of the project portfolio allocation scenarios; and
revising, using the computing device, the sequence of the projects in the first project portfolio allocation scenario to satisfy the one or more portfolio-level optimization criteria scaled by the respective weight.
3. The computer-implemented method of claim 2, further comprising changing, using the computing device, the allocation of the resources in the first project portfolio allocation scenario to satisfy the one or more portfolio-level optimization criteria scaled by the respective weight.
4. The computer-implemented method of claim 1, further comprising defining, using the computing device, at least one of the one or more project-level constraints, the one or more portfolio-level optimization criteria, and the weights based on one or more user inputs.
5. The computer-implemented method of claim 1, wherein the one or more project-level constraints comprise: one or more start dates or date ranges, one or more end dates or date ranges, one or more resource constraints, a cost constraint, one or more location constraints, or any combination thereof.
6. The computer-implemented method of claim 1, wherein the one or more portfolio-level optimization criteria comprises a resource utilization criterion, a schedule criterion, a risk level criterion, a cost criterion, a return-on-investment criterion, an inter-project dependency criterion, or any combination thereof.
7. The computer-implemented method of claim 1, wherein the portfolio-level optimization criterion is a return-on-investment criterion.
8. The computer-implemented method of claim 1, further comprising generating an action plan based on the optimized project portfolio allocation scenario, the action plan comprising at least one of modifying resource allocation of the plurality of resources or acquiring additional resources.
9. The computer-implemented method of claim 1, wherein the plurality of resources comprise one or more human resources, one or more physical resources, or any combination thereof.
10. The computer-implemented method of claim 1, wherein the plurality of resources comprises one or more physical resources including one or more computer resources, one or more geographic locations, one or more supply materials, one or more equipment items, or any combination thereof.
11. The computer-implemented method of claim 1, wherein the resource information comprises attribute information for one or more of the plurality of resources.
12. The computer-implemented method of claim 11, wherein the attribute information comprises skills information, geographic location information, language information, availability information, or any combination thereof, for one or more human resources.
13. The computer-implemented method of claim 1, wherein each project definition from the portfolio of project definitions further includes information indicating a priority level.
14. The computer-implemented method of claim 13, wherein allocating one or more of the plurality of resources to one or more of the unique identifiers comprises allocating resources to a first unique identifier before allocating resources to a second unique identifier, wherein the first unique identifier is associated with a first priority level higher than a second priority level associated with the second unique identifier.
15. The computer-implemented method of claim 1, wherein assigning the date value to at least one of the unique identifiers comprises assigning, using the computing device, a null date value indicating that the project associated with the unique identifier is canceled or not scheduled.
16. The computer-implemented method of claim 1, wherein the portfolio of project definitions comprise a baseline set of project definitions and a new project definition, the resource information further including allocation information associating the plurality of resources with the baseline set of project definitions.
17. The computer-implemented method of claim 1, wherein the plurality of resources comprises a set of allocated resources and one or more unallocated resources, the resource information further including allocation information associating the set of allocated resources with the plurality of project definitions.
18. The computer-implemented method of claim 1, wherein the resource information comprises baseline allocation information associating the plurality of resources with the portfolio of project definitions.
19. A computer program product, tangibly embodied in a non-transitory machine-readable storage device, for optimizing allocation of resources across projects, the computer program product including instructions being operable to cause data processing apparatus to:
receive (i) resource information representing a plurality of resources available for allocation to the projects, (ii) a portfolio of project definitions, each project definition comprising a unique identifier and one or more project-level constraints, and (iii) one or more portfolio-level optimization criteria, including an objective function defined by the equation,
max
\u2062

{
\u2211

k
=
1

n

\u2062
\u2062
Z
\u2061
p
k
*

F
\u2061
p
k
}
where n represents the number of projects in the project portfolio, pk represents the kth project, function Z represents an optimization criterion function, and function F represents a successful-and-on-time completion function;
generate a plurality of project portfolio allocation scenarios, wherein the instructions that cause the data processing apparatus to generate each project allocation scenario comprise instructions that cause the data processing apparatus to:
assign a date value to each of the unique identifiers; and
allocate one or more of the plurality of resources to one or more of the unique identifiers, wherein the assignment of the date values and the allocation of the resources to the one or more unique identifiers satisfies the one or more project-level constraints associated with each project definition; and
assign a weight to each of the one or more portfolio-level optimization criteria; and
determine, using the data processing apparatus, one or more optimized project portfolio allocation scenarios from the plurality of project portfolio allocation scenarios by satisfying the one or more portfolio-level optimization criteria scaled by the respective weight, wherein determine the one or more optimized project portfolio allocation scenarios optimizes a sequence of the projects to satisfy the one or more portfolio-level optimization criteria scaled by the respective weight.
20. The computer program product of claim 19, wherein the portfolio-level optimization criterion is a return-on-investment criterion.