IP Library Granted Patent US 7,721,208
Granted Patent B2
US 7,721,208 · App. 11/247,975 · Granted May 18, 2010

Multi-media center for computing systems

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,721,208
App. No.
11/247,975
Granted
May 18, 2010
Kind
B2
Abstract

Various “media-components” are provided in a “multi-media center.” In modular architecture, a module-controller communicates with media-modules provided for various media-components. A media-module can include or obtain data pertaining to a particular media-component, identify media-player(s), and access information related to their media. However, the media-modules are isolated from each other, and the module-controller effectively controls output generated in response to user input. A user interface library is provided for the media-modules. Media-modules can obtain a template or other tools from the library and construct their user interface (e.g., menus). Media-modules can also identify a media-player that can be initiated in response to user input. Subsequently, the media-controller forwards user input to the media-player.

Claims (83)

1. A method, implemented by a computing system, of providing a multi-media center that includes a plurality of media-components, said method comprising:

configuring a plurality of media-modules for said multi-media center, wherein each of said plurality of media-modules represents a media-component in said multi-media-center, wherein each of said plurality of media-components includes: digital media and an application program to access digital media;

initiating a module-controller that communicates directly with each of said plurality of media-modules;

receiving by said module-controller an input associated with said multi-media center; and

determining, by said module-controller, an output in response to said input, wherein the output is controlled by the module-controller,

wherein at least one of said plurality of media-modules is identified to process and generate a response to said input received by said module-controller;

wherein the plurality of media-modules are isolated from each other and do not directly communicate with each other, and wherein the plurality of media-modules are dynamically removed or added to the multi-media center.

2. A method as recited in claim 1 , wherein said determining of said response, comprises:

determining whether to forward said input to one of said plurality of media-modules.

3. A method as recited in claim 2 , wherein said method further comprises:

determining by a first media-module, a media-module-output for said input.

4. A method as recited in claim 3 , wherein said media-module-output is sent by the first media-module to the module-controller.

5. A method as recited in claim 1 , wherein said determining, by said module-controller, of a response to said input includes one or more of the following:

determining whether to forward said input to one of said plurality of media-modules;

determining whether to process said input by a media-player; and

determining whether to forward said input to another module that is not one of said plurality of media-modules.

6. A method as recited in claim 5 , further comprising:

forwarding said input to a first media-player when said determining determines to process said input by a media-player; and

forwarding said input to a main view when said determining determines to forward said input to another media-module.

7. A method, implemented by a computing system, of providing a multi-media center that includes a plurality of media-components which each includes digital data and an application program to access said digital data, said method comprising:

determining, based on a plurality of media-modules that each respectively represent at least one media-component, a central-user-interface is used to access said plurality of media-components provided by said multi-media center;

receiving input associated with said central-user-interface;

determining whether to forward said input to one of said media-modules; and

forwarding said input to a first media-module of said plurality of media-modules when said determining determines to forward said input by one of said media-modules,

wherein said plurality of media-modules are isolated from each other and do not directly communicate with each other or with a multi-media center user, but communicate with a module-controller, and wherein the media-modules are dynamically removed or added to the multi-media center.

8. A method as recited in claim 7 , wherein said method further comprises:

determining which one of said media-modules is to receive said input when said determining determines to forward said input to one of said media-modules;

generating, by said first media-component, a first output after associated with said input; and

performing, based on said first output, at least a first operation in response to said input associated with said central-user-interface.

9. A method as recited in claim 8 , wherein said first media-module includes or obtains data that is output by said first media-module as said first output.

10. A method as recited in claim 9 ,

wherein said data pertains to a menu for the media-module,

wherein said first output is said menu, and

wherein said first operation is displaying said menu as a part of said central-user-interface.

11. A method as recited in claim 9 ,

wherein said first media-module accesses a library to obtain a template for said menu; and

wherein said first media-module fills said template with said data included in or obtained by said first module.

12. A method as recited in claim 8 ,

wherein said output identifies a first media-player, and

wherein said first operation initiates said first media-player.

13. A method as recited in claim 7 , wherein said method further comprises:

determining whether to process said input by a media-player capable of presenting media; and

processing said input by a media-player when said determining determines to process said input by a media-player.

14. A method as recited in claim 7 , wherein said determining of whether to process said input by a media-player is performed prior to said forwarding.

15. A method as recited in claim 7 ,

wherein each one of said media-modules includes or obtains information that is used to generate a main menu for said media-modules, and

wherein said central-user-interface includes each of said main menu for said media-modules.

16. A method as recited in claim 15 ,

wherein at least one of said media-modules includes or obtains information that is used to generate one or more submenus for said at least one media-module, and

wherein said central-user-interface includes said one or more submenus for said at least one media-module.

17. A method as recited in claim 16 , wherein said information includes a number of menu or submenu items, icons, or streaming video.

18. A method as recited in claim 7 , wherein said module-controller:

receives said input;

sends said input to said first media-module;

receives output from said first media-module in response to said input; and

performs at least one operation based on said output.

19. A method as recited in claim 18 , wherein said at least one operation is one or more of the following:

initiate a media-player to present media; and

facilitate display of said output on a display.

20. A method as recited in claim 19 ,

wherein said module-controller sends said output to a menu-window for display,

wherein said module-controller forwards said input to a main window, and

wherein main window determines whether to process said input.

21. A method as recited in claim 20 , wherein said method further comprises:

determining by said main window whether to process said input; and

determining by said main window a media-module to process said input when the main window determines not to process said input.

22. A computing system for providing a multi-media center that includes a plurality of media-components each including digital media, said computing system comprising:

at least one processor;

a plurality of media-modules each respectively represent at least one media-component provided by said multi-media center, wherein said media-modules include a first media-module that receives input and generate output; and

a module-controller that communicates directly with each of said plurality of media-modules, wherein said module-controller further operates to:

receive input associated with said multi-media center;

forward said input to a first media-module;

process and generate an output, by said first media-module, in response to said input;

receive said output from said first media-module in response to said input; and

perform at least one operation based on said output, wherein said at least one operation is controlled by the module-controller,

wherein said plurality of media-modules do not directly communicate with each other or with a multi-media center user and do not control said output, and wherein the plurality of medial-modules are dynamically removed or added to the multi-media center.

23. A computer readable medium including at least executable computer program modules stored therein for a multi-media center that includes a plurality of media-components, wherein each of said plurality of media-components includes digital data, said computer readable medium comprising:

configuring a plurality of media-modules for said multi-media center, wherein each of said plurality of media-modules represent a media-component in said multi-media-center;

computer program code for initiating a module-controller that communicates with plurality of media-modules for said multi-media center, wherein each of said plurality of media-modules represent a media-component in said multi-media-center;

computer program code for receiving, by said module-controller, an input associated with said multi-media center; and

computer program code for determining, by said module-controller, an output in response to said input, wherein the output is controlled by the module-controller, and

wherein at least one of the plurality of media-modules is identified to process and generate a response to said input received by said module-controller,

wherein the plurality of media-modules are isolated from each other and do not directly communicate with each other, and wherein the plurality of media-modules are dynamically removed or added to the multi-media center.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2008
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 020617/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2005
From: MADDEN, THOMAS
To: APPLE COMPUTER, INC.
Reel/Frame 016812/0715 →