WO2005109885A2 - Controlling content presentation - Google Patents

Controlling content presentation Download PDF

Info

Publication number
WO2005109885A2
WO2005109885A2 PCT/US2005/014740 US2005014740W WO2005109885A2 WO 2005109885 A2 WO2005109885 A2 WO 2005109885A2 US 2005014740 W US2005014740 W US 2005014740W WO 2005109885 A2 WO2005109885 A2 WO 2005109885A2
Authority
WO
WIPO (PCT)
Prior art keywords
media
content
request
search
presentation
Prior art date
Application number
PCT/US2005/014740
Other languages
French (fr)
Other versions
WO2005109885A3 (en
Inventor
Korina J. B. Stark
Original Assignee
Vulcan Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vulcan Inc. filed Critical Vulcan Inc.
Publication of WO2005109885A2 publication Critical patent/WO2005109885A2/en
Publication of WO2005109885A3 publication Critical patent/WO2005109885A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4112Peripherals receiving signals from specially adapted client devices having fewer capabilities than the client, e.g. thin client having less processing power or no tuning capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4131Peripherals receiving signals from specially adapted client devices home appliance, e.g. lighting, air conditioning system, metering devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4227Providing Remote input by a user located remotely from the client device, e.g. at work
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications

Definitions

  • the present disclosure generally relates to techniques for controlling media devices and/or other types of electronic devices.
  • STB set-top box
  • TV television
  • other consumers may similarly receive television programming-related content in other manners (e.g., via satellite transmissions, broadcasts over airwaves, over packet-switched networks, etc.).
  • VOD Video on Demand
  • Consumers generally subscribe to services offered by a cable network "head-end” or other similar content distribution facility to obtain particular content, which in some situations may include interactive content and Internet content.
  • DVRs digital video recorders
  • a DVR may also be known as a personal video recorder (“PVR"), hard disk recorder (“HDR”), personal video station (“PVS”), or a personal television receiver (“PTR”).
  • DVRs may in some situations be integrated into a set-top box, such as with Digeo's MOXITM device, while in other situations may be a separate component connected to an STB and/or television.
  • EPGs electronic programming guides
  • DVR digital video recorder
  • the Internet has become a frequently used source of multimedia content. Consumers may obtain music downloads, pictures, audio or video clips, graphical or textual information, or other multimedia content by accessing suitable Web sites and downloading the desired piece(s) of multimedia content from the accessed Web site(s) [0008]
  • the multimedia industry grows and as additional types of content are increasingly being stored and made available to consumers, it is becoming increasingly difficult for consumers to effectively manage the content and the related capabilities of the various devices that are available to present the content or to control the content presentation.
  • Figure 1 is a block diagram of an embodiment of a content management ("CM") system environment in which an embodiment of a content management system interacts with one or more other devices in the environment.
  • Figure 2 is a block diagram of an embodiment of the CM system and one of the other devices in the environment shown in greater detail, toon]
  • Figure 3 is a block diagram illustrating an embodiment of the CM system operating in conjunction with one of the other devices and a media server.
  • Figure 4 is a block diagram illustrating an embodiment of the CM system that can be remotely accessed via a network.
  • Figure 5 is a block diagram illustrating use of an embodiment of the CM system to control other types of devices in the CM environment.
  • Figure 6 is a flowchart of an embodiment of a routine for operating an embodiment of the CM system.
  • Figure 7 illustrates an example embodiment of a GUI for a content management system.
  • CM Content Management
  • GUI graphical user interface
  • CM Content Management
  • the CM system on the computing device interacts with various other content presentation control devices (e.g., STBs, DVRs, media center devices, etc.) and/or other media devices that store, present, control or otherwise manage content, and in some embodiments may interact with a variety of other types of electronic devices (whether instead of or in addition to content presentation control devices and other media devices).
  • content presentation control devices e.g., STBs, DVRs, media center devices, etc.
  • the CM system acts as a "control point" for such other devices, such as by passing control requests to those devices (e.g., in response to user selections or other actions via the GM system GUI) and/or by retrieving data from those devices (e.g., for display in the CM system GUI to one or more users).
  • the underlying control logic including business rules
  • information about current state of the other devices and/or content used by the other devices are maintained at the other devices, and if so may or may not be available to the CM system or the computing device.
  • At least some content being managed by the CM system via the other devices includes television programming-related content, such as with the CM system receiving and using EPG metadata information for the content (e.g., via interactions with an STB), while in other embodiments a variety of other types of content may be managed via the other devices.
  • control requests may take a variety of forms in various embodiments, and may vary based on a type of device being managed and/or a type of content associated with the device, with example control requests including requests to record a television program, to playback recorded content, to request EPG metadata information so that the CM system can present the EPG information in the GUI or otherwise use the information, to tune a media device to a particular channel, and so forth.
  • the CM system may further perform various other types of device interaction and content management functions, as described in greater detail below.
  • the CM system may control or otherwise communicate with one or more media devices using different communication protocols and/or interfaces.
  • Communication protocols include Universal Plug And Play (“UPnP”), hypertext transfer protocol (“HTTP”), or other suitable protocol(s).
  • the CM system may be used to control the presentation of content by the media devices.
  • the CM system may instruct (or otherwise control) a media device to search for and/or access one or more content repositories for desired content orto otherwise retrieve content from one or more content sources, such as from a media server device via a local area network shared by the media device and the CM system's computing device.
  • the CM system may control the manner in which the media device(s) accesses and presents the content, such as via one or more other presentation devices (e.g., speakers, a stereo, a television display, a computing system display, etc.).
  • the CM system may also be remotely used or otherwise remotely accessed by a user in various ways.
  • the user may remotely access the CM system in such embodiments, such as via a network (e.g., the Internet), thereby giving the user the capability to remotely manage media devices.
  • a network e.g., the Internet
  • the CM system may also interact with other electronic devices in a household, whether alternatively or additionally to interacting with media devices.
  • a "smart home” or “smart office” may be provided wherein the CM system controls electromechanical devices that are present, such as a heating, ventilation and air conditioning (“HVAC”) system, lighting, household appliances ⁇ or other types of devices.
  • HVAC heating, ventilation and air conditioning
  • the CM system may be used to activate playback of the recorded television program by a DVR, while the CM system is also used to control the lighting, temperature, drapes, etc. in the household so as to give the user an optimum environment for viewing the television program, such as in a coordinated manner (e.g., based on a single instruction from the user, such as from a previously defined association and/or previously defined preferences).
  • the CM system may also provide a variety of other types of capabilities via a GUI to allow one or more users to manage, directly or through other devices, various types of multimedia content (such as television programming, photographs, music, video clips, audio clips, video games, etc.).
  • Example embodiments of a CM system GUI and associated content management capabilities are described in further detail in U.S. Patent Application Serial No. (Attorney Docket No. 931086.409), entitled “Time-Based Graphical User Interface For Television Program Information," and in U.S. Patent Application Serial No.
  • multimedia "content” generally includes television programs, movies and other video information (whether stored, such as in a file, or streamed), photos and other images, music and other audio information (whether stored or streamed), presentations, video/teleconferences, videogames, InternetWeb pages and other data, and other similar video or audio content.
  • a network diagram illustrates an example use of an embodiment of the CM system in a home environment 395 for entertainment purposes, although the CM system could similarly be used in business or other non-home environments and for purposes other than entertainment.
  • the home environment includes an STB or other media center 350 receiving external content 360a that is available to one or more consumers (not shown) in the home environment 395, such as television programming-related content 360a or other multimedia content for presentation on a television 370.
  • the media center 350 will be identified for illustrative purposes as one example type of media device that can be controlled by or that can interact with the CM system, although other types of media devices and/or electronic devices may also be shown and described in specific examples.
  • audio and/or video content could similarly be received by and/or stored by the media center 350 and presented to the consumer(s) on the television and/or optional other content presentation devices 380 (e.g., other televisions, a stereo receiver, stand-alone speakers, the displays of various types of computing systems, wireless devices, a digital picture frame, etc.) in the home environment 395.
  • other content presentation devices 380 e.g., other televisions, a stereo receiver, stand-alone speakers, the displays of various types of computing systems, wireless devices, a digital picture frame, etc.
  • the home environment 395 also includes an example computing system 300 suitable for executing an embodiment of the CM system, as well as one or more optional other local computing systems and/or storage devices 390 with which the computing system 300 can interact via local network 385 (e.g., a wireless or wired/cabled LAN).
  • the computing system includes a CPU 305 or other processor(s), various I/O devices 310, storage 320, and memory 330, and the illustrated I/O devices include a display 311 , a network connection 312, a computer-readable media drive 313, and other I/O devices 315 (e.g., a keyboard, a mouse, a pointing device, speakers, etc.).
  • the computing system 300 may further interact with one or more external computing systems, not shown (e.g., via the World Wide Web or otherwise via the Internet), such as to receive additional external content 360b. and/or other information or services.
  • the CM system can be accessed or otherwise operated remotely by a user via the Internet or other network.
  • the computing system 300 interacts with the media center 350 in a variety of ways (e.g., via a direct connection, as part of local network 385, or as part of another network, not shown), including to receive information about current and/or future television programming-related content and/or other content 360a.
  • the information received by the computing system 300 includes EPG metadata information for television programming-related content (e.g., from a cable network operator), and can further include a variety of other types of metadata for the content 360a, whether from the cable network operator or other third-parties (e.g., from various external computing systems, not shown, such as via external content 360b).
  • This received content metadata is then stored in a content metadata database 322 (or other suitable data structure) in the illustrated embodiment for use by the CM system.
  • An embodiment of the CM system 335 is executing in memory 330, and in at least some embodiments comprises software or other machine-readable instructions that can be executed by the CPU 305 or other processor.
  • One example of the CM system 335 would be a service application that runs in the background (e.g., to programmatically receive and handle requests), while in another example would be an application program that runs in the foreground and controls an appropriate display device (e.g., to present a GUI of the CM system.
  • the CM system may provide information about the available content to one or more users, such as via a GUI that is displayed on the display device 311 and/or on one or more of the content presentation devices 370 or 380 or other computing systems 390 (e.g., to one or more users in the home environment), and/or via information transmitted to remote users (not shown).
  • the CM system may provide some or all of the stored content metadata 322 to the users, and also allow the users to manipulate the content in a variety of ways (e.g., to select content for current presentation, for future recording, etc.), as well as in some embodiments maintaining a state of the GUI as displayed information changes.
  • those content manipulation instructions are in the illustrated embodiment stored in a database 324 (or other suitable data structure) on storage 320 for later retrieval and use by the CM system, and at least some such content manipulation instructions may additionally in some embodiments be provided to the media center 350 for use in actually performing the tasks to satisfy the manipulation instructions.
  • the CM system may also interact with other executing programs in order to provide additional information and/or functionality to the user(s), such as one or more optional executing other programs 339 in memory 330 or instead remote executing programs (not shown) on another computing system.
  • the CM system does not itself present the external content 360a to the user(s), instead interacting with the media center 350 to control the display of the content to the user via the TV 370 and/or one or more of the other content presentation devices 380.
  • the CM system may instead receive some or all of the external content 360a, whether via the media center 350 or instead directly from the source of that content, and if so could directly control the presentation of that content to the user(s) on the display device 311 and/or other content presentation device 370 or 380 or other computing system 390.
  • the computing system 300 and/or media center 350 may have access to additional content, such as external content 360b (e.g., from remote computing systems over the Internet), locally stored other content 360c on storage 320, and/or other locally accessible content (not shown), such as from one or more of the other computing systems/storage devices 390 - if so, the computing system 300 may in some embodiments directly present some or all of that content to the user(s), such as on display device 311 (e.g., as part of the CM system GUI) and/or on one or more other content presentation devices 370 or 380 or other computing system 390, while in other embodiments may present some or all of that content to the user(s) by instead interacting with the media center 350 to facilitate the presentation (e.g., by providing the additional content to be presented and/or associated instructions to the media center).
  • additional content such as external content 360b (e.g., from remote computing systems over the Internet), locally stored other content 360c on storage 320, and/or other locally accessible content (not shown), such as
  • the additional content may be content related to the external content 360a but from another source (e.g., additional television-related programming, such as streamed or downloaded over a computer network) and/or multimedia content of other types (e.g., movies and other video information, photos and other images, music and other audio information, presentations, video/teleconferences, videogames, InternetWeb pages and other data, etc.).
  • additional television-related programming such as streamed or downloaded over a computer network
  • multimedia content of other types e.g., movies and other video information, photos and other images, music and other audio information, presentations, video/teleconferences, videogames, InternetWeb pages and other data, etc.
  • the functionality of the CM system may be accessed in various ways in different embodiments. For example, some users may have physical access to the computing system 300, and if so may interact with the various I/O devices 310 to provide and/or receive information. Alternatively or additionally, other users may use other client computing devices to remotely access the CM system, such as other local computing systems 390 or instead remotely (e.g., via the World Wide Web or otherwise via the Internet, such as by using Web services or other remote access capabilities provided by the CM system). Such remote users may use software or other functionality provided on the client computing systems (not shown), such as a browser, to interact with the CM system. In other embodiments, users may receive functionality and/or information from the CM system indirectly via interactions with one or more other devices, such as the media center 350, which may directly receive that functionality or information from the CM system before providing it to the users.
  • the computing system 300 and/or one of more of the computing systems 390 is a cellphone (e.g., a smartphone) or other mobile or handheld device with communications capabilities (e.g., a Pocket PC computer, a PDA, an electronic organizer, etc.), and if so the user may use that device to manage content in various ways.
  • the communications between the cellphone or other device and other computing systems and devices in the example home environment may occur in various manners.
  • some devices may support various types of local communication mechanisms (e.g., wireless communications via Bluetooth, Wi-Fi, direct infrared, etc.) and/or communication mechanisms that may be used remotely (e.g., if the device supports Internet access, such as via GPRS and using HTTP or WAP, via Web services over HTTP, or instead using a standard telecommunications link for exchanging voice and other audio information), and may further support various communication and messaging protocols (e.g., UPnP, Home Audio Video Interoperability (or "HAVI”), etc.).
  • local communication mechanisms e.g., wireless communications via Bluetooth, Wi-Fi, direct infrared, etc.
  • communication mechanisms e.g., if the device supports Internet access, such as via GPRS and using HTTP or WAP, via Web services over HTTP, or instead using a standard telecommunications link for exchanging voice and other audio information
  • communication and messaging protocols e.g., UPnP, Home Audio Video Interoperability (or "HAVI"
  • the device may further be configured to seamlessly switch between local and remote communications as appropriate, such as to automatically use local communications when they are available and to use remote communications otherwise, or instead may use various communications as directed by the user.
  • Remote communications may be appropriate, for example, when the device is remote from the home environment (e.g., outside a building that contains the home environment, not shown, such as at significant distances), such as to perform some or all data exchange via Internet access and/or using voice commands over a standard telecommunication link.
  • various types of devices may have varying communications abilities, and thus devices in various embodiments may use different forms of communication for a single type of information exchange.
  • CM system When a user uses a cellphone or other mobile or handheld device to manage content, various types of information may be exchanged in various ways.
  • software to implement at least a portion of the CM system on the device and/or to interact with a remote executing CM system may be preinstalled on the device when provided to the user (e.g., by the distributor of the device) and/or may be downloaded to the device after the user has the device (e.g. , as an executable file from another local computing system to which the device has a physical or wireless connection, or directly from a remote Web site if the device supports Internet access).
  • EPG and/or other types of metadata may similarly be provided to the device in various ways, such as via Internet access to a local computing system (e.g., computing system 300) and/or a remote computing system, or instead from a local computing system and/or media center device 350 via local communication mechanisms.
  • Commands and other information from the user may similarly be provided from the device to computing systems and other devices in the home environment in various ways, including via Internet access and/or local communication mechanisms.
  • Computing system 300 is merely illustrative and is not intended to limit the scope of the present invention.
  • the computing system may instead be comprised of multiple interacting computing systems or devices, and may be connected to other devices that are not illustrated, including through one or more networks such as via the World Wide Web ("Web”) or otherwise via the Internet.
  • Web World Wide Web
  • the computing system 300 and/or the other computing systems 390 may each comprise any combination of hardware or software that can perform the described techniques, including (without limitation) desktop or other computers, network devices, Internet appliances, PDAs, cordless and other wireless phones, cellphones, devices with walkie-talkie and other push-to-talk capabilities, personal/digital video recorders, pagers, electronic organizers, television-based systems and various other consumer products that include appropriate intercommunication and computing capabilities.
  • the functionality provided by the CM system may in some embodiments be distributed in additional systems, and the CM system may have multiple components that each provides a portion of the functionality of that system.
  • the functionality of some of the illustrated systems may not be provided and/or other additional functionality may be available.
  • Some or all of the system and/or data structures (e.g., portions of a database, such as one or more tables or views or portions thereof) used by the system may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a computer network or other transmission medium, or a portable media article (e.g., a CD, DVD orflash memory device) to be read by an appropriate drive or via an appropriate connection.
  • a computer-readable medium such as a hard disk, a memory, a computer network or other transmission medium, or a portable media article (e.g., a CD, DVD orflash memory device) to be read by an appropriate drive or via an appropriate connection.
  • system and data structures can also be transmitted via generated data signals (e.g., by being encoded in a carrier wave or otherwise included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and can take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames).
  • generated data signals e.g., by being encoded in a carrier wave or otherwise included as part of an analog or digital propagated signal
  • Such computer program products may also take other forms in other embodiments. Accordingly, one or more embodiments may be practiced with other computer system configurations.
  • FIG. 2 shows an embodiment of the CM system 335 and media center 350 in more detail, including illustrating interactions between the two.
  • Figure 2 shows an embodiment of the CM system 335 and media center 350 in more detail, including illustrating interactions between the two.
  • CM system 335 and media center 350 are shown and described herein.
  • the media center 350 may comprise a DVR, STB, PVR, or other media device.
  • The. media center 350 may also be a "standalone" device, such as a Replay TV or TiVo device (as illustrative examples), or may be an integrated device that includes multiple types of capabilities, such as Digeo's MOXITM device or devices provided by many multiple service operators ("MSOs"), as illustrative examples.
  • the media center 350 may include one or more processors (not shown) and a data store 206.
  • the data store 206 may store a variety of different types of data, including but not limited to, external content 360a, information received from the CM system 335 (including command and request information), state information, processing information, or other type of computer- readable information.
  • the media center 350 includes one or more services 200, including a TV watching service and jukebox service in the example of Figure 2, that provide various functionalities and capabilities of the media center 350.
  • These service 200 may also include a communication service 202, such as a UPnP service and/or a HTTP service in an example embodiment, which is used for communication with the CM system 335 and optionally other devices.
  • the communication service 202 may be implemented as a UPnP daemon that runs in the background.
  • the media center 350 exposes access to its services 200 via one or more application program interfaces ("APIs") 204 - by exposing its services via the API 204, external systems (such as the CM system 335) may communicate with the API 204 (e.g., via API function calls) to access, use, or otherwise interact with the functionality provided by the services 200.
  • external systems such as the CM system 335) may communicate with the API 204 (e.g., via API function calls) to access, use, or otherwise interact with the functionality provided by the services 200.
  • the CM system 335 may communicate directly with any of the services 200 without communicating via the API 204, such as by transmitting control instructions in a manner similar to a remote control device (not shown) for the media center 350.
  • the CM system 335 communicates with the media center 350 via the API 204 using one or more suitable protocols 208.
  • Non-limiting examples of a protocol 208 include UPnP, HTTP, a custom protocol, or any other protocol that is suitable to allow two or more devices to communicate with one another, including higher-level protocols based on other communication protocols (e.g., by using Web service calls over HTTP). For the sake of completeness, a general description of the UPnP protocol is provided next.
  • the UPnP architecture allows devices to connect seamlessly and to simplify the implementation of networks in home and corporate environments.
  • the UPnP architecture offers pervasive peer-to-peer network connectivity of PCs of all form factors, intelligent appliances, and/or wireless devices.
  • the UPnP architecture is a distributed, open networking architecture that leverages TCP/IP and the World Wide Web to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office, and everywhere in between.
  • the UPnP architecture enables data communication between any two devices under the command of a suitable control device on the network.
  • the UPnP architecture supports zero-configuration, networking, and automatic discovery for a breadth of device categories from a wide range of vendors, whereby a device may dynamically join a network, obtain an IP address, announce its name, convey its capabilities upon request, and learn about the presence and capabilities of other devices.
  • UPnP networking involves the following steps:
  • the first step in UPnP networking is discovery.
  • a device e.g., the media center 350, other content presentation devices 380, other computing systems 390, and so forth
  • the UPnP discovery protocol allows that device to advertise its services to control points on the network (e.g. , the media center 350 and/or the CM system 335 of the computing system 300).
  • the next step in UPnP networking is description. After a control point has discovered a device, the control point may know very little about the device. For the control point to learn more about the device and its capabilities, or to interact with the device, the control point retrieves the device's description from a uniform resource locator ("URL"), for example, provided by the device in the discovery message.
  • URL uniform resource locator
  • the UPnP description for a device may be expressed in XML and may include, for instance, manufacturer information like the model name and number, serial number, manufacturer name, URLs to vendor- specific web sites, etc.
  • the description may also include a list of any embedded devices or services (e.g., the services 200), as well as URLs for control, eventing, and presentation.
  • the description may include a list of the commands or actions that the service responds to, and parameters or arguments for each action; the description for a service 200 may also include a list of variables, which may model the state of the service at run time, and which may be described in terms of their data type, range, and event characteristics.
  • Control The next step in UPnP networking is control. After a control point has retrieved a description of the device, the control point may send actions to a device's service. One technique to perform this is for a control point to send a suitable control message to a control URL for the service (provided in the device description). Control messages may also be expressed in XML using the Simple Object Access Protocol ("SOAP”) or other suitable format.
  • SOAP Simple Object Access Protocol
  • Event notification The next step in UPnP networking is event notification, or "eventing".
  • a UPnP description for a service includes a list of actions that the service responds to and a list of variables that model the state of the service at run time. The service publishes updates when these variables change, and a control point may subscribe to receive this information. The service publishes updates by sending event messages. Event messages contain the names of one of more state variables and the current value of those variables.
  • UPnP protocol is described herein as one of the protocols 208 that may be used on the local network 385 (which communicatively couples the computing system 300 to the media center 350 and/or to other devices in the home environment 395, other types of protocols may be used, such as HTTP, a custom protocol, or any suitable combination of protocols.
  • the CM system 335 includes a GUI 210, a core module 212, a data store 214, a data manager 216, and one or more gateway modules 218.
  • the GUI 210 may present EPG and/or other multimedia metadata information, controls, or other tools and functionality to allow a user to view, arrange, manipulate, orto otherwise manage and control content, media devices (e.g., the media center 350, the other content presentation devices 380, etc.), and/or other electronic devices.
  • An example of the GUI 210 is illustrated as GUI 100 in Figure 7, and additional examples are disclosed in the other patent applications identified above.
  • the core module 212 serves as the underlying control engine for the CM system, such as to generate or otherwise provide control requests and data requests (e.g., in response to instructions from the GUI, such as based on user selections of controls and other user actions).
  • the core module 212 may generate requests for EPG metadata, recording status information, multimedia content metadata, or other data related to the operation of the media center 350, and then provide the data to the GUI 210.
  • Such data may be stored in a local data store 214 (e.g., at least a portion of the storage 320 of Figure 1 , such as that holds an SQL or other relational database) and/or other data repository or data structure, such as after it is retrieved or otherwise obtained from the media center 350 or other source.
  • a data manager 216 cooperates with the core module 212 to manage the flow of data to, from, and within the CM system 335, such as to provide an interface to the data store (e.g., by acting a database server for a database portion of the data store).
  • the control requests generated by the core module 212 may be sent to the media center device 350 to control or otherwise manage the device, such as requests to record a certain program at a certain time, to play back a recorded program, to turn ON/OFF, and so forth.
  • the core module 212 may also generate control and data requests directed towards other devices, such as the content presentation devices 380, other computing systems 390, and/or any other device in the home environment 395 that is communicatively coupled to or otherwise associated with the CM system 335.
  • the core module 212 may also control or otherwise manage other operational features of the CM system 335, including communications, data storage/processing/management, and other operations.
  • the CM system 335 physically or logically communicates with the media center 350 via the local network 385, which may comprise an Ethernet network connection or other type of network (whether wired and/or wireless).
  • the CM system 335 invoking or otherwise accessing the API 204 of the media center 350 in order to control or otherwise manage one or more of the services 200 of the media center 350 that are exposed via the API, such as via the UPnP Service 202 that is made available via a network connection.
  • the networks 385a and the protocols 208a may be the same or different than the network 385 and the protocol 208, respectively.
  • the CM system 335 further includes one or more gateway modules 218 to facilitate communication with other device.
  • a different gateway module 218 may be provided for each corresponding type of media center 350 or for other type of external devices/systems in communication with the CM system 335, such as to use APIs provided by that type of device and/or to use one or more communication protocols supported by that type of device.
  • each gateway module 218 may communicate with one or more corresponding external devices using an appropriate protocol(s) 208 and/or 208a, such as by way of an interface 220 of that gateway module.
  • a gateway module 222 corresponding to the media center 350 may include a UPnP interface 220 such that calls to the media center's API 204 using the UPnP protocol are passed through the UPnP Service. Additional details regarding communicating between the CM system 335 and external devices will be discussed below.
  • the CM system 335 has an extensible architecture that allows additional gateway modules to be added as appropriate.
  • additional gateway modules may be installed or modified in the CM system 335.
  • certain gateway modules 218 may be deactivated or removed if their corresponding external device(s) is replaced, disconnected, or otherwise discontinued from use.
  • the capability to add, remove, and/or modify the gateway modules 218 provides a convenient and scalable technique to centrally manage or otherwise centrally control a plurality of connected devices, without having to perform substantive modifications to the underlying hardware and/or software of such devices or of the CM system.
  • media centers 350 provide an API 204 that exposes services 200 of the media centers, thereby providing the CM system 335 with a mechanism to use to control or otherwise access these services 200 without having to perform hardware and/or software modifications on the media centers 350.
  • certain modifications may be performed in at least some embodiments to improve the interaction between the CM system 335 and the media center 350.
  • the media center 350 of an embodiment may be designed and/or configured to be able to suppress on-screen displays or messages that typically arise in response to direct interactions with the media center - if so, interactions initiated from the CM system 335 may instead cause such displays or messages to be passed to the CM system 335 for display within the GUI 210 or for other handling as appropriate.
  • CM system 335 may instead be directed to the CM system 335 as part of such a "silent operation" mode, such as for appropriate handling by the CM system 335 (e.g., by providing conflict resolution instructions from the CM system to the media center, such as in response to user instructions via the GUI 210).
  • both the CM system 335 and the media center 350 may be nodes on the same network in at least some embodiments, such as in the examples of Figures 1-2 - such inter-connection allows for device discovery, command control, data retrieval, or other operations pertaining to the communication protocol used and/or pertaining to a specific function being performed.
  • the CM system 335 may connect to other external devices and/or content sources in various ways, including over the same network.
  • the CM system 335 may obtain metadata (e.g., EPG information and/or metadata for other types of multimedia content) and/or other information of interest from connected devices in various ways.
  • the CM system 335 requests the metadata from the media center 350
  • a second scenario (“scenario 2”)
  • the CM system 335 requests the metadata from an external source as part of external content 360b (although the CM system 335 may still retrieve other types of information (e.g., scheduling data) from the media center 350 in scenario 2).
  • the protocol for the connection between the CM system 335 and the media center 350 may be UPnP, UPnP and HTTP, only HTTP, some other protocol, a custom protocol, or any suitable combination thereof. Examples of both of the connection scenarios are provided below:
  • the CM system 335 uses a suitable protocol (e.g., UPnP, HTTP, etc.) to communicate with the media center 350 for device discovery, command interface, data retrieval, and other operations via the local network 385.
  • the data retrieval may include the EPG metadata information, which may be acquired by the media center 350 in various ways (e.g., from a MSO head-end via a DOCSIS modem).
  • the media center 350 makes the EPG data available to the CM system 335 as part of the data retrieval in the specified protocol.
  • connection scenario 2 the media center 350 does not provide EPG or other multimedia content metadata to the CM system 335, and thus the CM system 335 has a second connection to retrieve the metadata, such as involving a network connection to retrieve the metadata from an external data source (e.g., using XMLTV for EPG metadata).
  • the CM system 335 is also capable of aggregating data from multiple sources, including data provided from media devices, Internet data, and other data from various other data sources.
  • One example implementation of the media center 350 includes an integrated media device that uses connection scenario 1 and the UPnP protocol.
  • the integrated media device uses a UPnP-based communication service (e.g., the communication service 202 on the media center 350) for communications between the CM system 335 and the API 204 using the UPnP protocol.
  • the specific functions that are exposed through the UPnP communication service may vary from one media device to another based on what is available in the underlying API 204 and on the specific implementation of the UPnP service.
  • the UPnP interface 220 of the gateway module 222 translates command and data requests from the core module 212 into the UPnP protocol, and then passes the requests to the UPnP communication service 202 on the media center 350.
  • the UPnP interface 220 also passes data received from the media center 350 via the UPnP service 202 to the core module 212 in an appropriate format.
  • the data retrieval from the media center 350 may includes EPG metadata or other metadata.
  • Another example implementation of the media center 350 includes a standalone media device that uses connection scenario 2, with a first connection between the media center 350 and the CM system 335 (e.g., using UPnP) and with a second connection between the CM system 335 and another data source for external content 360b (e.g., using HTTP protocol).
  • the first connection to the media center 350 may, for example, use the UPnP protocol for device discovery and the HTTP protocol for the command interface and data retrieval (of scheduling data), while the second connection to the external data source may, for example, obtain EPG and/or other metadata using the HTTP protocol for data retrieval.
  • one of the other gateway modules 218 of the CM system may contain both UPnP and HTTP interfaces 220, or the CM system may instead use two gateway modules that each support one of the UPnP and HTTP communication protocols, with the one or more gateway modules acting in a manner previously described.
  • a URL or other network address information for an external source of EGP and/or other information may be obtained by the CM system in various, such as based on a predefined configuration for the CM system and/or dynamically from the media center 350.
  • the external content 360b has been described as optionally including EPG metadata and/or other multimedia content metadata.
  • the external content 360b may also include various other types of content, such as promotional types of materials for users (e.g., a trailer for a movie, extra content such as deleted scenes, etc.).
  • the GUI 240 may provide capabilities to allow the user to request some promotional materials and/or the ability to select additional services (e.g., providing additional content), such as for a fee.
  • FIG. 3 is a block diagram illustrating an embodiment of the CM system 335 operating in conjunction with the media center 350 (and/or other media device) and one or more other media servers 302.
  • the CM system 335 may instruct the media center 350 to search for or otherwise obtain media content of interest from one or more of the media servers, such as by providing indications of the content of interest and/or of one or more of the media servers.
  • the media center 350 may contact one or more suitable media servers 302 (e.g., media servers indicated by the CM system), obtain indications of pieces of media content available from the media server(s) (e.g., a playlist or other multimedia content listing 304), and provide indications of at least some of the content (e.g., the playlist or other content listing 304) to the CM system 335, such as for display in the GUI 210.
  • suitable media servers 302 e.g., media servers indicated by the CM system
  • obtain indications of pieces of media content available from the media server(s) e.g., a playlist or other multimedia content listing 304
  • indications of at least some of the content e.g., the playlist or other content listing 304
  • the media center may in some embodiments provide only indications of matching pieces of media (if any), while in the other embodiments may provide all of the identified media piece indications for analysis by the CM system.
  • the media center may in some embodiments generate such a content listing after obtaining the indications of the available media pieces from the media server, and/or the CM system may create one or more such playlists (e.g., if the information received from the media center does not include those playlists).
  • a content listing may include various metadata associated with the pieces of media content, such as title, author, creation date, file size, media type, format, resolution, and/or other characteristics.
  • the CM system may specify to the media center to play or otherwise present one or more of the media pieces, such as based on selections made by a user based on a playlist or other information presented in the GUI, with the media center performing the indicated operation (e.g., by presenting a piece of media content on an associated presentation device, not shown, such as after obtaining the media piece from an appropriate media server, or instead by directing an appropriate media server to cause the media piece to be presented, whether itself or via an associated presentation device).
  • the media center may in some embodiments retrieve and store pieces of media content from one or more such media servers, such as after receiving an instruction to present those media content pieces or instead when initially gathering information about media content pieces that are available from media servers.
  • the media server device(s) 302 may comprise any type of suitable data repository that may store media content of possible interest (e.g., photographs, audio files (such as MP3 files), video clips, movies, songs, Internet Web page content, graphics and text, video games, advertisements, or other types of multimedia content), including devices such as one or more hard disk drives of a computer, servers, databases, mass storage units, tape decks, CDs, DVDs, floppy disks, and/or other type of persistent or non- persistent storage unit.
  • media content of possible interest e.g., photographs, audio files (such as MP3 files), video clips, movies, songs, Internet Web page content, graphics and text, video games, advertisements, or other types of multimedia content
  • devices such as one or more hard disk drives of a computer, servers, databases, mass storage units, tape decks, CDs, DVDs, floppy disks, and/or other type of persistent or non- persistent storage unit.
  • the media server(s) 302 may be located in the same household or premises as the other components of the home environment 395, while in other embodiments the media server(s) 302 may be located remotely from the home environment 395 and be accessible via a network such as the Internet, whether instead of or in addition to one or more local media servers.
  • the media server(s) 302 may be accessible by the media center 350 by way of a network 306, such as an internal network (e.g., an Ethernet or LAN connection) and/or an external network (e.g., the Internet), and may further comprise wireless and/or wired/cabled connections.
  • the media server(s) 302 may communicate with the media server(s) 302 using one or more suitable communication protocols, such as the communication protocols described herein or other protocols or combinations thereof.
  • the media server(s) 302 may further be communicatively coupled or otherwise accessible to the computing system 300, whether instead of or in addition to a connection 306 to the media center.
  • the CM system 335 may thus communicate directly with the media server(s) 302 without the media center 350, such as via a network 307between the CM system 335 and the media server(s) 302 that uses one or more suitable protocols.
  • the network 307 may comprise an internal network (e.g., an Ethernet or LAN connection) or an external network (e.g., the Internet), and may further comprise wireless and/or hardwire connections.
  • a user may use the GUI 210 to instruct the CM system 335 to search a particular media server 302 and/or to search for a particular piece of media content.
  • a search field in the GUI 210 may allow a user to create a customized search for music having a specific genre.
  • the core module 212 of the CM system 335 then passes this search request to an appropriate gateway module 218, which transmits the request to the media center 350 using the local network 385 and a suitable protocol 208.
  • the media center 350 then performs a search of media server(s) based on the criteria provided by the user.
  • Various techniques may be used by the media center 350 to perform a search.
  • the media center 350 may poll each media server 302 via the network 306 to determine whether each media server 302 contains pieces of media or other content that match the search criteria.
  • each media server 302 may return a playlist 304 that lists pieces of media that fit the search criteria.
  • the playlist 304 is then provided by the media center 350 to the CM system 335.
  • the media server(s) 302 may return a playlist 304 or other content listing that contains indications of all of their available stored media. Thereafter, the media center 350 may parse or otherwise process the playlist 304 to obtain a resulting list of only media that fit the search criteria. The resulting list is then provided by the media center 350 to the CM system 335. In yet another embodiment, the media center 350 may provide the playlist 304 of all available stored media to the CM system 335, and the CM system 335 may process the playlist 304 so that only the pieces of media that fit the search criteria are displayed on the GUI 210.
  • the contents of the playlist 304 may be presented on the GUI 210 and/or on a display coupled to the media center 350 (such as on a screen of the television 370 or on a display of the media center 350).
  • the CM system 335 may communicate directly with the media server(s) 302 via the network 307 to obtain a playlist 308 of available media at the media server(s) 302.
  • the playlist 308 may comprise a list of all available media or a list of available media having certain criteria, such as user-defined criteria.
  • the contents of the playlist 308 may then be displayed by the core module 212 on the GUI 210 of the CM system 210.
  • the user may operate the GUI 210 to select a piece of media content from the playlist 304 or 308 so as to cause the selected piece of media content to be played back or otherwise presented.
  • the CM system 335 communicates this request to the media center 350.
  • the media center 350 receives this request from the CM system 335 via the network 385, obtains a copy of the requested song from the appropriate media server 302, and sends the copy of the song to the specified content presentation device 380 for playback.
  • the media center 350 may request the media server 302 to provide the copy of the song directly to the specified content presentation device 380 for playback.
  • the CM system 335 may be remotely accessed by a user, such as via the Internet or other network.
  • This remote access capability allows the user to use the CM system 335 to remotely control content presentation control devices accessible to the CM system (e.g., to program the media center 350 to record a program, to view and manipulate EPG or other metadata, to turn a home appliance ON or OFF, to activate or deactivate parental control settings, and various other functions that may be performed by using the CM system 335 to control the media center 350, content presentation devices 380, and/or other computing devices 390), without necessarily being present in the household environment 395 and physically using the computing device 300 that provides the CM system 335.
  • Figure 4 is a block diagram illustrating an embodiment of the CM system 335 that may be remotely accessed via a network.
  • the illustrated embodiment of the CM system 335 in Figure 4 includes a remoting facade 400 or other suitable component or layer to support two-way communication. While the remoting facade 400 may in some embodiments merely provide access to other elements 212-222 of the CM system such as were described with respect to Figure 3, in the illustrated embodiment the remoting facade provides a higher-level interface to those CM system elements that is better suited for communications 402 with other elements of the computing device 300.
  • the communications 402 are performed using Microsoft's .Net remoting, with the remoting facade 400 being a .Net object that is exposed to other processes and/or components using the .Net remoting communications 402, while in other embodiments a variety of other types of remote procedure call ("RPC") or similar intercommunication mechanisms may instead be used.
  • the illustrated embodiment of the computing device 300 includes a Web server 404, which may be separate from or part of the CM system 335.
  • the Web server 404 includes a Web service 414 that exposes the remoting facade 400 to a network 416 (e.g., a wireless and/or wired/cabled hardwire network, such as the Internet, a WAN, a LAN, a telecommunications company network, and/or other type of network).
  • a network 416 e.g., a wireless and/or wired/cabled hardwire network, such as the Internet, a WAN, a LAN, a telecommunications company network, and/or other type of network.
  • the illustrated Web server 404 further includes a Web application 406, which in at least some embodiments comprises an Active Server Page ("ASP") ASP.Net Web application that provides a Web GUI front-end for the CM system 335.
  • the Web GUI may be provided alternatively or additionally to the GUI 210 of Figure 3, such as to provide remote users on the network 416 with capability to access and use the CM system 335 via the Web GUI while local users access and use the CM system 335 via GUI 210.
  • the Web application 406 in the illustrated embodiment includes Cascade Style Sheets (CSS) 408 that may be used to provide flexibility and ease in generating and changing the look-and-feel of the Web GUI, ASPX pages 410 to support its operation, and code 412 to provide communication between the Web application 406 and the remoting facade 400 of the CM system 335 via .
  • a separate Web GUI may instead not be provided, such as if remote users receive the same GUI 210 as would local users.
  • the Web GUI may be tailored or customized to support various types of devices (e.g., by varying formatting and/or amount of data provided), such as devices with limited display area, connection speed and/or processing power (e.g., cellphones and other handheld or mobile devices, such as smartphones).
  • devices e.g., by varying formatting and/or amount of data provided
  • connection speed and/or processing power e.g., cellphones and other handheld or mobile devices, such as smartphones.
  • the Web GUI and associated functionality provided by the Web application 406 and the Web service 414 are provided by the network 416 to one or more remote devices 418 in the illustrated embodiment.
  • a suitable communication protocol may be used on the network 416 to allow communication between these elements and the remote device(s) 418, including (without limitation) HTTP, HTTPS, SOAP, and/or other communication protocols.
  • Examples of a remote device 418 may include various types of mobile devices (e.g., a laptop, PDA, cellular telephone, Blackberry, GPS device, or other mobile wireless device) as well as stationary computing devices (e.g., a personal computer (PC), workstation, and so forth).
  • the illustrated embodiment of the remote device 418 includes a Web browser 420 or other type of browser or application that is suitable to communicate with the Web server 404 and/or render the Web GUI provided by the Web application 406.
  • the user may use the Web browser 420 to access an interactive Web page and/or Web site where the Web GUI is provided and accessible to allow the user to enter (or view) commands and data, or instead may use a CM application 422 to communicate with a Web service 414 provided by the Web server 404 using a suitable protocol (e.g., HTTP and SOAP).
  • a suitable protocol e.g., HTTP and SOAP
  • a remote device may include only one such access mechanism.
  • the user may generate control requests and data requests using the Web GUI rendered by the Web browser 420, with such requests then communicated by the Web service gateway module 424 to the Web service 414, which in turn communicates the requests to the remoting facade 400 so that the appropriate operations may be performed by the elements 212-222 of the CM system 335 to fulfill the requests.
  • the Web browser 420 may execute a Web page from Web application 406 containing an embedded application (e.g., using ActiveX, s Java applet, client-side JavaScript, etc.) that provides at least a portion of the CM system functionality and that can interact with Web service 414.
  • an embedded application e.g., using ActiveX, s Java applet, client-side JavaScript, etc.
  • CM system 335 While various embodiments of the CM system 335 have been described in the context of controlling media devices (such as the media center 350) in connection with media presentation, in at least some embodiments use of the CM system 335 may be extended to operations and/or devices that are alternative or additional to media devices.
  • One example of such additional use of the CM system 335 is in connection with home automation or a "smart home.”
  • a home environment 395 includes one or more other electromechanical devices that are coupled or otherwise accessible to the CM system 335 and that may be controlled by the CM system.
  • electromechanical devices 500 of various types are present in the home environment in the illustrated embodiment, with examples of the electromechanical (E/M) devices including lighting systems, HVAC systems, security systems, automated drapes, automated wall panels that may be raised/lowered or retracted/extended, telephones, appliances, and various other E/M devices.
  • E/M electromechanical
  • Some E/M devices 500 may have their own associated processor(s) and/or communication capability (e.g., "intelligent" E/M devices), and may be networked to the media center 350, to the other computing systems 390, and/or to the CM system 335 via respective communication networks 504, 502, and 506.
  • the communication networks 504, 502, and 506 may comprise networks similar to the networks 385 and 385a described previously above and may carry communications based on one or more suitable protocols (e.g., UPnP, HAVI, HTTP, etc.).
  • the CM system 335 may directly communicate control requests and data requests directly to such devices via the network 506, without necessarily having to communicate through some other intelligent device in order to initiate an action.
  • an intermediate controlling device is used as an interface between the CM system 335 and such E/M device(s).
  • automated drapes may not have their own associated processor and/or communication interface. Rather, these automated drapes may have an electromechanical actuator that may be controlled by the computing system 390 or by some other intelligent controlling mechanism, such as via a connection provided by the network 502. Therefore, for such less intelligent E/M devices 500, the CM system 335 may communicate with the computing system 390 via the network 385a and the protocol 208a, with the computing system 390 in turn interacting with the appropriate E/M devices via the network 502.
  • operation of at least some of the E/M devices 500 may be correlated or otherwise tied to media presentation. For instance, if the user wishes to watch a movie, various other devices may be controlled in a coordinated manner to facilitate that media presentation (e.g., to set a certain room temperature, lighting level, deactivation of a telephone by directing incoming calls to voicemail, etc.). Moreover, in some situations a user may further desire to start cooking popcorn or a pizza in the oven.
  • the media center 350 (which initiates playback of the movie) under control by the CM system 335 may communicate the playback-related information and/or commands (e.g., date and time at which playback will occur, requests to perform some action, or other commands or information) to the appropriate E/M devices 500 and/or to the computing systems 390, or the CM system 335 may instead directly interact with those E/M devices 500 to effect the desired results.
  • the appropriate E/M devices 500 will then respond as directed, such as to reduce the lighting levels, deactivate the telephone, begin cooking popcorn, and so forth.
  • context information may be maintained across these multiple types of E/M devices 500, the media center 350, the other computing systems 390, and/or the CM system 335. Maintaining such context insures, for instance, that certain devices are not activated or deactivated when they should not be. For example, by maintaining context (e.g. , knowing that the media center 350 is presently controlling presentation of a recorded movie), an inappropriate action is not taken (e.g., opening all the drapes and windows to let excessive amounts of light and noise into the home environment 395).
  • resources may be shared between the various devices of Figure 5.
  • state information may be shared between the various devices so that they know the state of each other, thus allowing devices to optimize or time their operation based on the status of the other devices.
  • certain user interfaces, data repositories, communication interfaces, networks, or other elements may be shared by the various devices,, so that each device need not necessarily provide their own of these elements. Data re-use and data sharing may be implemented to reduce instance of repetitive data generation, memory accesses, or other redundancy.
  • FIG. 6 is a flowchart 600 of an embodiment of a routine for operating the CM system 335.
  • the routine begins at step 602, where connection with one or more external devices is established based on one or more communication protocols. For instance, at least some such other devices may be previously known to the CM system (e.g., based on prior interactions), while other devices may be dynamically identified (e.g., via UPnP discovery, description, etc. steps as described previously above).
  • the CM system 335 next sends a data request to a connected device (e.g., based on a connection and protocol established in step 602 for that device), such as to a media device (e.g., the media center 350), other computing system(s) 390 and/or one or more external data sources.
  • the data request may be sent in response to user input via a GUI displayed to a user (not shown) or independently by the CM system 335 (e.g., as part of a startup routine to obtain metadata for use with such a GUI).
  • the CM system receives the requested data, which may then be presented on a GUI at step 608 (e.g., for viewing and/or manipulation by the user).
  • the routine next continues to step 610 to send a control request to a connected device (e.g., based on a user selection via the GUI after the user has seen the requested data), although in other embodiments the routine may continue instead to step 616.
  • a connected device e.g., based on a user selection via the GUI after the user has seen the requested data
  • the routine may continue instead to step 616.
  • the user may have reviewed a returned listing of recorded media and issued a control request for a selected one of the listed pieces of media to be played back.
  • the connected device then initiates performance of the requested operation(s) based on the control request, such as is illustrated here at step 612 for the sake of convenience, which may include interactions with one or more other presentation devices.
  • the media center 350 may provide the recorded media to the television 370 for presentation thereon.
  • the connected device may perform the requested operation directly. For instance, if the connected device is an intelligent HVAC system and the control request is a request to reduce room temperature, the HVAC system may directly change a thermostat.
  • the CM system 335 optionally receives status data or other feedback from the connected device based on its performance of the control request, with the status data then presented to the user in the GUI at step 608. For instance, the status data may indicate that a television program is being recorded, playback is completed, insufficient memory space is available, the connected device has been turned ON or OFF, and so forth.
  • the CM system 335 then monitors for additional or subsequent control and/or data requests, such as from the GUI and/or from remote users via programmatic requests (e.g., via Web service 414). The CM system continues to monitor for these requests until a request is detected at step 618, with the routine then returning to steps 604 or 610 respectively to perform corresponding data or control requests.
  • routines discussed above may be provided in alternative ways, such as being split among more routines.
  • routines may provide more or less functionality than is described, such as when the amount of functionality that is provided is altered.
  • operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel) and/or in a particular order, in other embodiments, the operations may be performed in other orders and in other manners.
  • certain operations may be embodied in software or other computer-readable instructions stored on a computer-readable medium, such as software stored in the memory 330 of the CM system 335 of Figure 1.
  • Figure 7 illustrates an example of information and capabilities provided by an embodiment of the CM system, and in particular illustrates various features of an example GUI, including a variety of information and user-selectable controls. While specific layouts and formats are shown in Figure 7, such specific details are not intended to be limiting or exhaustive. Similarly, while specify types of devices are illustrated as being currently controlled or otherwise managed via the GUI, a variety of other types of content presentation control devices and other media devices, as well as other electronic devices, may similarly be associated with and managed via the GUI in other embodiments.
  • the example GUI 100 embodiment illustrated in Figure 7 is displaying program listing information for live TV in a view area 140, with the displayed listings initially based on a current time 195.
  • the TV listings in the view area 140 are initially shown in a grid format, with columns of the grid corresponding to successive time units of thirty minutes each and with each row corresponding to a different TV channel that may show one or more TV programs during the displayed time period.
  • the GUI also includes a variety of other areas, including a menu bar 105 with dropdown menus, primary content-type navigation tabs 110, secondary content-type-specific navigation tabs 115, a view control area 125 that includes view and filter controls 120 and time controls 130, a detail area 50, and a status control sidebar area 170 that includes virtual remote control functionality 160 and a user-focused content summary area 165. While not illustrated here, in some embodiments the GUI may further have a status bar display area along the bottom of the GUI below the detail area and status control sidebar area.
  • the view control area 125 also includes a first timebar that corresponds to a relatively long first time period at a first time scale (which is selected based in part using time controls 130) and that may in certain situations display limited information about content (although in this example the first timebar does not display any limited information about any television programs or other content), while the view area 140 illustrates detailed information about content for a relatively short second time period at a second time scale, with a second timebar rendered at the top of the view area 140.
  • a first timebar that corresponds to a relatively long first time period at a first time scale (which is selected based in part using time controls 130) and that may in certain situations display limited information about content (although in this example the first timebar does not display any limited information about any television programs or other content)
  • the view area 140 illustrates detailed information about content for a relatively short second time period at a second time scale, with a second timebar rendered at the top of the view area 140.
  • the example GU1 100 also illustrates a variety of controls and information 505-545 in the status control sidebar area 170, such as to provide virtual remote control capabilities in order to control recording of content on multiple devices (e.g., multiple devices with DVR capabilities) and/or presentation of content on multiple devices (e.g., multiple televisions).
  • the illustrated sidebar area contains multiple user-selectable device control tabs 505, with each tab representing a device that can be controlled, such as with respect to presenting content and/or recording or otherwise obtaining content for later presentation.
  • two television devices are available to which live or previously recorded content can be directed, with the "Main TV" device currently selected as indicated by tab 505a.
  • the current content information section 520 indicates that "The Simpsons" television programming is currently being directed to the "Main TV” television device for presentation, while other content (not shown) may be being directed to the "Bedroom” television device.
  • controls may be sent directly to the device being controlled (e.g., by directing the "Main TV” television device to change channels), while in other embodiments one or more intermediate devices may be involved in the controls (e.g., by directing an STB, not shown, to control live television content sent to the currently selected television device and/or by directing a DVR, not shown, to direct recorded television content sent to the currently selected television device).
  • one or more such intermediate devices may each be able to interact with and/or control multiple presentation devices, such as to have a single STB and/or DVR control content being provided to two television devices (e.g., by using a MOXI device that provides such functionality).
  • Content to be directed to a currently selected device may be selected in various ways.
  • user-selectable channel controls 540 are shown for manipulating a current channel, and in other embodiments other controls (e.g., user-selectable numeric buttons, not shown) may be available for specifying a particular channel.
  • various program listing information for live TV is shown in a separate view area in grid format, and additional information is displayed in the detail area for a "Who Wants to Be a Millionaire" television program that is currently selected in the view area - in this embodiment, a user-selectable "Watch Now" control in the detail area may be selected to cause the currently selected program to be directed to the currently selected television device, and similar functionality may be available for some or all of the television programs indicated in the view area (e.g., via a pop-up menu).
  • the illustrated embodiment of the sidebar also includes a user-focused content summary area 515 related to upcoming recordings and previously recorded programs, and while a display of previously recorded programs in section 515 is not illustrated here, a displayed previously recorded program may be selected for current presentation on the currently selected television device (e.g., via instructions sent to a DVR or other storage device on which that program is stored).
  • a playlist section 510 is also shown in the illustrated embodiment, although no content is displayed in this example for a current playlist.
  • content of various types may be selected for inclusion in one or more such playlists, and content displayed in a playlist in section 510 may similarly be selected for current presentation on the currently selected television device (e.g., via instructions sent to a DVR or other storage device on which that program is stored).
  • content in playlists may include various forms of content, such as video information (e.g., television programming), digital music, photos and other images, etc.
  • the device that is currently selected for control may affect the information in the playlist section in various ways, such as to select a current playlist based on a current device being controlled (e.g., based on the type of device, such as to select a playlist having video information when the device being controlled is a television device) and/or to enable content for current selection only if appropriate for the currently selected device (e.g., to disable video or image information if the currently selected device is a speaker, but to allow video, images and music to be presented on at least some types of television devices, such as based on capabilities of the device).
  • a current device being controlled e.g., based on the type of device, such as to select a playlist having video information when the device being controlled is a television device
  • enable content for current selection only if appropriate for the currently selected device e.g., to disable video or image information if the currently selected device is a speaker, but to allow video, images and music to be presented on at least some types of television devices, such as based on capabilities of the device.
  • the illustrated embodiment of the sidebar control area also includes a variety of other controls related to content being presented and to other types of user instructions that may be provided.
  • various user-selectable controls may affect the type of content being presented from among various sources, such as live television programming (e.g., from a cable company or satellite provider), a menu or other functionality from a DVR (e.g., a MOXI device), and a ticker on at least a portion of the display of the currently selected television device (e.g., with headline news, such as from a cable company or from a provider associated with the DVR).
  • Various interactivity controls 530 may further allow the user to make various selections, such as from a menu or from among multiple options.
  • Various controls 535 may also be used to control the presentation of content, such as to pause presentation, skip backward, skip forward (when available, such as with other than live content) and rewind or fast forward, as well as to provide an instruction to record content that is currently being presented.
  • One or more specialized controls 545 may also be provided, such as to correspond to functionality that may be available on only certain devices, such as on certain types of STBs and/or DVRs.
  • the described techniques may be used in a variety of other ways.
  • the described techniques are applicable to architectures other than a set-top box architecture or architectures based upon the MOXITM system, for instance.
  • an equivalent system and applications may be developed for other DVRs and STBs.
  • the methods and systems discussed herein are applicable to differing protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.), and other devices are ab(e to be controlled orto control other devices in the manner described herein.
  • data structures discussed above may be structured in different manners, such as by having a single data structure split into multiple data structures or by having multiple data structures consolidated into a single data structure.
  • illustrated data structures may store more or less information than is described, such as when other illustrated data structures instead lack or include such information respectively, or when the amount or types of information that is stored is altered.
  • Web World Wide Web
  • Much current Web use involves users interactively requesting Web pages from Web servers (e.g., via executing Web browser applications of the users) and receiving the requested information in response.
  • Web services such as those described herein, allow heterogeneous applications and computers to interact, and may be defined and implemented using a variety of underlying protocols and techniques.
  • some Web service implementations return data in computer-readable XML format using HTTP in response to a Web service invocation request specified as a URI ("Uniform Resource Identifier"), such as a URL that includes a specified operation and one or more query parameters.
  • a Web service invocation request specified as a URI ("Uniform Resource Identifier")
  • URI Uniform Resource Identifier
  • additional underlying protocols are used for various purposes, such as SOAP for standard message exchange, WSDL ("Web Services Description Language”) for description of service invocation interfaces (e.g., using XML format), and UDDI (“Universal Description, Discovery, and Integration service”) for discovery of available services.
  • SOAP for standard message exchange
  • WSDL Web Services Description Language
  • UDDI Universal Description, Discovery, and Integration service

Abstract

A content management (CM) system is provided to centrally control operation of one or more connected devices by issuing control requests and/or data requests. In some situations the connected device(s) include devices that control presentation of television programming-related content, such as digital video recorder ('DVR') devices and media center devices, and in other situations may include other types of media devices and/or other electromechanical ('E/M') devices that may be centrally controlled, such as E/M devices for home automation that may operate independently or in conjunction with the media devices. In some situations, the CM system communicates with the connected devices via a network and using appropriate protocol(s), and may be accessed remotely via a network so as to allow a user to remotely operate the CM system. The CM system may further control searching, identification, selection, and presentation of pieces of media content by the connected device(s).

Description

CONTROLLING CONTENT PRESENTATION
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit under 35 U.S. C. § 119(e) of U.S. Provisional Patent Application Serial No. 60/567,177, entitled "Browser For Multimedia Content" and filed April 30, 2004, and of U.S. Provisional Patent Application Serial No. 60/667,836, entitled "Interface For Manipulating Multimedia Content" and filed April 1 , 2005, each of which is incorporated herein by reference in its entirety. ^
[0002] The present application is also related to each of U.S. Patent Application Serial No. (Attorney Docket No. 931086.405) entitled "Controlling One Or More Media Devices," U.S. Patent Application Serial No. (Attorney Docket No. 931086.407) entitled "Network-Accessible Control Of One Or More Media Devices," and U.S. Patent Application Serial No. (Attorney Docket No. 931086.408) entitled "Smart Home Control Of Electronic Devices/' each of which is filed concurrently and is hereby incorporated by reference in its entirety.
TECHNICAL FIELD [0003] The present disclosure generally relates to techniques for controlling media devices and/or other types of electronic devices.
BACKGROUND INFORMATION
[0004] Consumers in today's society are provided with many different types of multimedia content. Indeed, it is often possible for any particular piece of information to be represented in the form of audio, television, text, video, still image, Internet Web page, or other multimedia format. Given the large amount of information available to consumers and given the many different multimedia formats available, it is beneficial to assist consumers in identifying, obtaining, and presenting pieces of multimedia content that may be of interest.
[0005] In the current world of television, movies, and related media systems, many consumers receive television programming-related content via broadcast over a cable network to a television or similar display, with the content often received via a set-top box ("STB") from the cable network that controls display of particular television (or "TV") programs from among a large number of available television channels, while other consumers may similarly receive television programming- related content in other manners (e.g., via satellite transmissions, broadcasts over airwaves, over packet-switched networks, etc.). In addition, enhanced television programming services and capabilities are increasingly being provided to consumers, such as the ability to receive television programming-related content that is delivered "on demand" using Video on Demand ("VOD") technologies (e.g., based on a pay-per-view business model) and/or various interactive TV capabilities. Consumers generally subscribe to services offered by a cable network "head-end" or other similar content distribution facility to obtain particular content, which in some situations may include interactive content and Internet content.
[0006] Consumers of content are also increasingly using a variety of devices to record and control viewing of content, such as via digital video recorders ("DVRs") that can record television-related content for later playback and/or can temporarily store recent and current content to allow functionality such as pausing or rewinding live television. A DVR may also be known as a personal video recorder ("PVR"), hard disk recorder ("HDR"), personal video station ("PVS"), or a personal television receiver ("PTR"). DVRs may in some situations be integrated into a set-top box, such as with Digeo's MOXI™ device, while in other situations may be a separate component connected to an STB and/or television. In addition, electronic programming guides ("EPGs") are often made available to aid consumers in selecting a desired program to currently view and/or to schedule for delayed viewing. Using an EPG and a DVR, a consumer can cause a desired program to be recorded and can then view the program at a more convenient time or location.
[0007] As another example, the Internet has become a frequently used source of multimedia content. Consumers may obtain music downloads, pictures, audio or video clips, graphical or textual information, or other multimedia content by accessing suitable Web sites and downloading the desired piece(s) of multimedia content from the accessed Web site(s) [0008] However, as the multimedia industry grows and as additional types of content are increasingly being stored and made available to consumers, it is becoming increasingly difficult for consumers to effectively manage the content and the related capabilities of the various devices that are available to present the content or to control the content presentation. Moreover, the increase in number and types of media devices within homes (e.g., televisions, handheld and desktop computing systems, stereos, speakers, cellphones, DVRs, STBs, etc.) makes the task of effectively presenting and otherwise managing the multimedia content even more difficult. For example, it is quite common for each consumer's household to possess several remote controls, with each remote control being operative to control only its corresponding media device. Thus, consumers are forced to familiarize themselves with the features of each individual remote control, which can become difficult or frustrating to a consumer as additional media devices (and their remote controls) are added to a household or whenever such media devices are modified or upgraded to other models and versions. Moreover, in some situations, various electronic devices in the household may not have associated remote controls or may otherwise require the consumer to actively operate their controls, which similarly can lead to difficulties and frustrations for the user.
BRIEF DESCRIPTION OF THE DRAWINGS [0009] Figure 1 is a block diagram of an embodiment of a content management ("CM") system environment in which an embodiment of a content management system interacts with one or more other devices in the environment. [0010] Figure 2 is a block diagram of an embodiment of the CM system and one of the other devices in the environment shown in greater detail, toon] Figure 3 is a block diagram illustrating an embodiment of the CM system operating in conjunction with one of the other devices and a media server. [0012] Figure 4 is a block diagram illustrating an embodiment of the CM system that can be remotely accessed via a network. [0013] Figure 5 is a block diagram illustrating use of an embodiment of the CM system to control other types of devices in the CM environment. [0014] Figure 6 is a flowchart of an embodiment of a routine for operating an embodiment of the CM system. [0015] Figure 7 illustrates an example embodiment of a GUI for a content management system. [0016] Non-limiting and non-exhaustive embodiments are described with reference to the figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
DETAILED DESCRIPTION
[0017] Techniques are described below for managing various types of devices in various ways, such as via a graphical user interface ("GUI") of a Content Management ("CM") system executing on a computing device. In at least some embodiments, the CM system on the computing device interacts with various other content presentation control devices (e.g., STBs, DVRs, media center devices, etc.) and/or other media devices that store, present, control or otherwise manage content, and in some embodiments may interact with a variety of other types of electronic devices (whether instead of or in addition to content presentation control devices and other media devices). In at least some such embodiments, the CM system acts as a "control point" for such other devices, such as by passing control requests to those devices (e.g., in response to user selections or other actions via the GM system GUI) and/or by retrieving data from those devices (e.g., for display in the CM system GUI to one or more users). Moreover, in at least some embodiments the underlying control logic (including business rules) for the other devices, information about current state of the other devices and/or content used by the other devices are maintained at the other devices, and if so may or may not be available to the CM system or the computing device.
[0018] In at least some embodiments, at least some content being managed by the CM system via the other devices includes television programming-related content, such as with the CM system receiving and using EPG metadata information for the content (e.g., via interactions with an STB), while in other embodiments a variety of other types of content may be managed via the other devices. Moreover, control requests may take a variety of forms in various embodiments, and may vary based on a type of device being managed and/or a type of content associated with the device, with example control requests including requests to record a television program, to playback recorded content, to request EPG metadata information so that the CM system can present the EPG information in the GUI or otherwise use the information, to tune a media device to a particular channel, and so forth. In addition, the CM system may further perform various other types of device interaction and content management functions, as described in greater detail below.
[0019] In some embodiments, the CM system may control or otherwise communicate with one or more media devices using different communication protocols and/or interfaces. Non-limiting examples of such communication protocols include Universal Plug And Play ("UPnP"), hypertext transfer protocol ("HTTP"), or other suitable protocol(s).
[0020] In some embodiments, the CM system may be used to control the presentation of content by the media devices. For example, the CM system may instruct (or otherwise control) a media device to search for and/or access one or more content repositories for desired content orto otherwise retrieve content from one or more content sources, such as from a media server device via a local area network shared by the media device and the CM system's computing device. After the desired content is located from a suitable content repository, the CM system may control the manner in which the media device(s) accesses and presents the content, such as via one or more other presentation devices (e.g., speakers, a stereo, a television display, a computing system display, etc.).
[0021] In some embodiments, the CM system may also be remotely used or otherwise remotely accessed by a user in various ways. Thus, whether alternatively or additionally to physically using the CM system at the computing device, the user may remotely access the CM system in such embodiments, such as via a network (e.g., the Internet), thereby giving the user the capability to remotely manage media devices.
[0022] In some embodiments, the CM system may also interact with other electronic devices in a household, whether alternatively or additionally to interacting with media devices. For instance, a "smart home" or "smart office" may be provided wherein the CM system controls electromechanical devices that are present, such as a heating, ventilation and air conditioning ("HVAC") system, lighting, household appliances^ or other types of devices. Thus, for example, if the user wishes to watch a recorded television program, the CM system may be used to activate playback of the recorded television program by a DVR, while the CM system is also used to control the lighting, temperature, drapes, etc. in the household so as to give the user an optimum environment for viewing the television program, such as in a coordinated manner (e.g., based on a single instruction from the user, such as from a previously defined association and/or previously defined preferences).
[0023] In some embodiments, the CM system may also provide a variety of other types of capabilities via a GUI to allow one or more users to manage, directly or through other devices, various types of multimedia content (such as television programming, photographs, music, video clips, audio clips, video games, etc.). Example embodiments of a CM system GUI and associated content management capabilities are described in further detail in U.S. Patent Application Serial No. (Attorney Docket No. 931086.409), entitled "Time-Based Graphical User Interface For Television Program Information," and in U.S. Patent Application Serial No. (Attorney Docket No.931086.411), entitled "Maintaining A Graphical User Interface State That Is Based On A Selected Piece Of Content," both filed concurrently and assigned to the same assignee as the present application, and which are each hereby incorporated by reference in their entirety.
[0024] For illustrative purposes, some embodiments are described below in which specific types of content are managed or otherwise controlled, such as directly by the CM system or indirectly through one or more electronic devices, and in specific ways via specific example embodiments of the CM system. However, the techniques can be used in a wide variety of other situations, and the specific illustrative details discussed herein are not limiting. More generally, as used herein, multimedia "content" generally includes television programs, movies and other video information (whether stored, such as in a file, or streamed), photos and other images, music and other audio information (whether stored or streamed), presentations, video/teleconferences, videogames, InternetWeb pages and other data, and other similar video or audio content.
[0025] Referring first to Figure 1 , a network diagram illustrates an example use of an embodiment of the CM system in a home environment 395 for entertainment purposes, although the CM system could similarly be used in business or other non-home environments and for purposes other than entertainment. In this example, the home environment includes an STB or other media center 350 receiving external content 360a that is available to one or more consumers (not shown) in the home environment 395, such as television programming-related content 360a or other multimedia content for presentation on a television 370. Hereinafter, the media center 350 will be identified for illustrative purposes as one example type of media device that can be controlled by or that can interact with the CM system, although other types of media devices and/or electronic devices may also be shown and described in specific examples.
[0026] Other types of audio and/or video content could similarly be received by and/or stored by the media center 350 and presented to the consumer(s) on the television and/or optional other content presentation devices 380 (e.g., other televisions, a stereo receiver, stand-alone speakers, the displays of various types of computing systems, wireless devices, a digital picture frame, etc.) in the home environment 395.
[0027] The home environment 395 also includes an example computing system 300 suitable for executing an embodiment of the CM system, as well as one or more optional other local computing systems and/or storage devices 390 with which the computing system 300 can interact via local network 385 (e.g., a wireless or wired/cabled LAN). In the illustrated embodiment, the computing system includes a CPU 305 or other processor(s), various I/O devices 310, storage 320, and memory 330, and the illustrated I/O devices include a display 311 , a network connection 312, a computer-readable media drive 313, and other I/O devices 315 (e.g., a keyboard, a mouse, a pointing device, speakers, etc.). In some embodiments the computing system 300 may further interact with one or more external computing systems, not shown (e.g., via the World Wide Web or otherwise via the Internet), such as to receive additional external content 360b. and/or other information or services. In addition, in an embodiment that will be described below, the CM system can be accessed or otherwise operated remotely by a user via the Internet or other network.
[0028] In the illustrated embodiment, the computing system 300 interacts with the media center 350 in a variety of ways (e.g., via a direct connection, as part of local network 385, or as part of another network, not shown), including to receive information about current and/or future television programming-related content and/or other content 360a. In this example, the information received by the computing system 300 includes EPG metadata information for television programming-related content (e.g., from a cable network operator), and can further include a variety of other types of metadata for the content 360a, whether from the cable network operator or other third-parties (e.g., from various external computing systems, not shown, such as via external content 360b). This received content metadata is then stored in a content metadata database 322 (or other suitable data structure) in the illustrated embodiment for use by the CM system.
[0029] An embodiment of the CM system 335 is executing in memory 330, and in at least some embodiments comprises software or other machine-readable instructions that can be executed by the CPU 305 or other processor. One example of the CM system 335 would be a service application that runs in the background (e.g., to programmatically receive and handle requests), while in another example would be an application program that runs in the foreground and controls an appropriate display device (e.g., to present a GUI of the CM system. The CM system may provide information about the available content to one or more users, such as via a GUI that is displayed on the display device 311 and/or on one or more of the content presentation devices 370 or 380 or other computing systems 390 (e.g., to one or more users in the home environment), and/or via information transmitted to remote users (not shown). For example, the CM system may provide some or all of the stored content metadata 322 to the users, and also allow the users to manipulate the content in a variety of ways (e.g., to select content for current presentation, for future recording, etc.), as well as in some embodiments maintaining a state of the GUI as displayed information changes. As the user provides instructions related to manipulation of the content, those content manipulation instructions are in the illustrated embodiment stored in a database 324 (or other suitable data structure) on storage 320 for later retrieval and use by the CM system, and at least some such content manipulation instructions may additionally in some embodiments be provided to the media center 350 for use in actually performing the tasks to satisfy the manipulation instructions. In addition, in some embodiments the CM system may also interact with other executing programs in order to provide additional information and/or functionality to the user(s), such as one or more optional executing other programs 339 in memory 330 or instead remote executing programs (not shown) on another computing system. In the illustrated embodiment, the CM system does not itself present the external content 360a to the user(s), instead interacting with the media center 350 to control the display of the content to the user via the TV 370 and/or one or more of the other content presentation devices 380. However, in other embodiments the CM system may instead receive some or all of the external content 360a, whether via the media center 350 or instead directly from the source of that content, and if so could directly control the presentation of that content to the user(s) on the display device 311 and/or other content presentation device 370 or 380 or other computing system 390. Conversely, in the illustrated embodiment the computing system 300 and/or media center 350 may have access to additional content, such as external content 360b (e.g., from remote computing systems over the Internet), locally stored other content 360c on storage 320, and/or other locally accessible content (not shown), such as from one or more of the other computing systems/storage devices 390 - if so, the computing system 300 may in some embodiments directly present some or all of that content to the user(s), such as on display device 311 (e.g., as part of the CM system GUI) and/or on one or more other content presentation devices 370 or 380 or other computing system 390, while in other embodiments may present some or all of that content to the user(s) by instead interacting with the media center 350 to facilitate the presentation (e.g., by providing the additional content to be presented and/or associated instructions to the media center). As previously noted, the additional content may be content related to the external content 360a but from another source (e.g., additional television-related programming, such as streamed or downloaded over a computer network) and/or multimedia content of other types (e.g., movies and other video information, photos and other images, music and other audio information, presentations, video/teleconferences, videogames, InternetWeb pages and other data, etc.).
[0031] The functionality of the CM system may be accessed in various ways in different embodiments. For example, some users may have physical access to the computing system 300, and if so may interact with the various I/O devices 310 to provide and/or receive information. Alternatively or additionally, other users may use other client computing devices to remotely access the CM system, such as other local computing systems 390 or instead remotely (e.g., via the World Wide Web or otherwise via the Internet, such as by using Web services or other remote access capabilities provided by the CM system). Such remote users may use software or other functionality provided on the client computing systems (not shown), such as a browser, to interact with the CM system. In other embodiments, users may receive functionality and/or information from the CM system indirectly via interactions with one or more other devices, such as the media center 350, which may directly receive that functionality or information from the CM system before providing it to the users.
[0032] For example, in some embodiments the computing system 300 and/or one of more of the computing systems 390 is a cellphone (e.g., a smartphone) or other mobile or handheld device with communications capabilities (e.g., a Pocket PC computer, a PDA, an electronic organizer, etc.), and if so the user may use that device to manage content in various ways. In such embodiments, the communications between the cellphone or other device and other computing systems and devices in the example home environment may occur in various manners. For example, some devices may support various types of local communication mechanisms (e.g., wireless communications via Bluetooth, Wi-Fi, direct infrared, etc.) and/or communication mechanisms that may be used remotely (e.g., if the device supports Internet access, such as via GPRS and using HTTP or WAP, via Web services over HTTP, or instead using a standard telecommunications link for exchanging voice and other audio information), and may further support various communication and messaging protocols (e.g., UPnP, Home Audio Video Interoperability (or "HAVI"), etc.). When a device supports both local and remote communication mechanisms, the device may further be configured to seamlessly switch between local and remote communications as appropriate, such as to automatically use local communications when they are available and to use remote communications otherwise, or instead may use various communications as directed by the user. Remote communications may be appropriate, for example, when the device is remote from the home environment (e.g., outside a building that contains the home environment, not shown, such as at significant distances), such as to perform some or all data exchange via Internet access and/or using voice commands over a standard telecommunication link. In addition, various types of devices may have varying communications abilities, and thus devices in various embodiments may use different forms of communication for a single type of information exchange. When a user uses a cellphone or other mobile or handheld device to manage content, various types of information may be exchanged in various ways. For example, software to implement at least a portion of the CM system on the device and/or to interact with a remote executing CM system may be preinstalled on the device when provided to the user (e.g., by the distributor of the device) and/or may be downloaded to the device after the user has the device (e.g. , as an executable file from another local computing system to which the device has a physical or wireless connection, or directly from a remote Web site if the device supports Internet access). EPG and/or other types of metadata may similarly be provided to the device in various ways, such as via Internet access to a local computing system (e.g., computing system 300) and/or a remote computing system, or instead from a local computing system and/or media center device 350 via local communication mechanisms. Commands and other information from the user may similarly be provided from the device to computing systems and other devices in the home environment in various ways, including via Internet access and/or local communication mechanisms.
[0034] Computing system 300 is merely illustrative and is not intended to limit the scope of the present invention. For example, the computing system may instead be comprised of multiple interacting computing systems or devices, and may be connected to other devices that are not illustrated, including through one or more networks such as via the World Wide Web ("Web") or otherwise via the Internet. More generally, the computing system 300 and/or the other computing systems 390 may each comprise any combination of hardware or software that can perform the described techniques, including (without limitation) desktop or other computers, network devices, Internet appliances, PDAs, cordless and other wireless phones, cellphones, devices with walkie-talkie and other push-to-talk capabilities, personal/digital video recorders, pagers, electronic organizers, television-based systems and various other consumer products that include appropriate intercommunication and computing capabilities. In addition, the functionality provided by the CM system may in some embodiments be distributed in additional systems, and the CM system may have multiple components that each provides a portion of the functionality of that system. Similarly, in some embodiments the functionality of some of the illustrated systems may not be provided and/or other additional functionality may be available.
[0035] While various items are illustrated as being stored in memory or on storage while being used, these items or portions of them can be transferred between memory and other storage devices, such as for purposes of memory management and data integrity. Alternatively or additionally, in other embodiments some or all of the software system (or portions of it) may execute in memory on another device and communicate with the illustrated computing system via inter-computer communication. Some or all of the system and/or data structures (e.g., portions of a database, such as one or more tables or views or portions thereof) used by the system may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a computer network or other transmission medium, or a portable media article (e.g., a CD, DVD orflash memory device) to be read by an appropriate drive or via an appropriate connection. Some or all of the system and data structures can also be transmitted via generated data signals (e.g., by being encoded in a carrier wave or otherwise included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and can take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, one or more embodiments may be practiced with other computer system configurations.
[0036] Figure 2 shows an embodiment of the CM system 335 and media center 350 in more detail, including illustrating interactions between the two. For the purposes of brevity and simplicity of explanation, only certain elements of the CM system 335 and/or the media center 350 are shown and described herein.
[0037] In various embodiments, the media center 350 may comprise a DVR, STB, PVR, or other media device. The. media center 350 may also be a "standalone" device, such as a Replay TV or TiVo device (as illustrative examples), or may be an integrated device that includes multiple types of capabilities, such as Digeo's MOXI™ device or devices provided by many multiple service operators ("MSOs"), as illustrative examples. The media center 350 may include one or more processors (not shown) and a data store 206. The data store 206 may store a variety of different types of data, including but not limited to, external content 360a, information received from the CM system 335 (including command and request information), state information, processing information, or other type of computer- readable information. [0038] In the illustrated embodiment, the media center 350 includes one or more services 200, including a TV watching service and jukebox service in the example of Figure 2, that provide various functionalities and capabilities of the media center 350. These service 200 may also include a communication service 202, such as a UPnP service and/or a HTTP service in an example embodiment, which is used for communication with the CM system 335 and optionally other devices. For example, in some embodiments the communication service 202 may be implemented as a UPnP daemon that runs in the background.
[0039] In the illustrated embodiment, the media center 350 exposes access to its services 200 via one or more application program interfaces ("APIs") 204 - by exposing its services via the API 204, external systems (such as the CM system 335) may communicate with the API 204 (e.g., via API function calls) to access, use, or otherwise interact with the functionality provided by the services 200. Alternatively or additionally, the CM system 335 may communicate directly with any of the services 200 without communicating via the API 204, such as by transmitting control instructions in a manner similar to a remote control device (not shown) for the media center 350. In some embodiments, the CM system 335 communicates with the media center 350 via the API 204 using one or more suitable protocols 208. Non-limiting examples of a protocol 208 include UPnP, HTTP, a custom protocol, or any other protocol that is suitable to allow two or more devices to communicate with one another, including higher-level protocols based on other communication protocols (e.g., by using Web service calls over HTTP). For the sake of completeness, a general description of the UPnP protocol is provided next.
[0040] By way of general discussion, the UPnP architecture allows devices to connect seamlessly and to simplify the implementation of networks in home and corporate environments. The UPnP architecture offers pervasive peer-to-peer network connectivity of PCs of all form factors, intelligent appliances, and/or wireless devices. The UPnP architecture is a distributed, open networking architecture that leverages TCP/IP and the World Wide Web to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office, and everywhere in between.
[0041] The UPnP architecture enables data communication between any two devices under the command of a suitable control device on the network. The UPnP architecture supports zero-configuration, networking, and automatic discovery for a breadth of device categories from a wide range of vendors, whereby a device may dynamically join a network, obtain an IP address, announce its name, convey its capabilities upon request, and learn about the presence and capabilities of other devices. UPnP networking involves the following steps:
[0042] 1. Discovery: Given an IP address, the first step in UPnP networking is discovery. When a device (e.g., the media center 350, other content presentation devices 380, other computing systems 390, and so forth) is added to the network, the UPnP discovery protocol allows that device to advertise its services to control points on the network (e.g. , the media center 350 and/or the CM system 335 of the computing system 300).
[0043] 2. Description: The next step in UPnP networking is description. After a control point has discovered a device, the control point may know very little about the device. For the control point to learn more about the device and its capabilities, or to interact with the device, the control point retrieves the device's description from a uniform resource locator ("URL"), for example, provided by the device in the discovery message. The UPnP description for a device may be expressed in XML and may include, for instance, manufacturer information like the model name and number, serial number, manufacturer name, URLs to vendor- specific web sites, etc. The description may also include a list of any embedded devices or services (e.g., the services 200), as well as URLs for control, eventing, and presentation. For each service, the description may include a list of the commands or actions that the service responds to, and parameters or arguments for each action; the description for a service 200 may also include a list of variables, which may model the state of the service at run time, and which may be described in terms of their data type, range, and event characteristics. [0044] 3. Control: The next step in UPnP networking is control. After a control point has retrieved a description of the device, the control point may send actions to a device's service. One technique to perform this is for a control point to send a suitable control message to a control URL for the service (provided in the device description). Control messages may also be expressed in XML using the Simple Object Access Protocol ("SOAP") or other suitable format.
[0045] 4. Event notification: The next step in UPnP networking is event notification, or "eventing". A UPnP description for a service includes a list of actions that the service responds to and a list of variables that model the state of the service at run time. The service publishes updates when these variables change, and a control point may subscribe to receive this information. The service publishes updates by sending event messages. Event messages contain the names of one of more state variables and the current value of those variables.
[0046] 5. Presentation: The next step in UPnP networking is presentation. If a device has a URL for presentation, then the control point may retrieve a page from this URL, load the page into a Web browser, and depending on the capabilities of the page, allow a user to control the device and/or view device status, the degree to which each of these may be accomplished depends on the specific capabilities of the presentation page and device.
[0047] Various additional details related to the UPnP protocol are available in "Understanding Universal Plug and Play: White Paper", available at http://www.upnp.org/download/UPNP_UnderstandingUPNP.doc, which is hereby incorporated herein by reference in its entirety.
[0048] While the UPnP protocol is described herein as one of the protocols 208 that may be used on the local network 385 (which communicatively couples the computing system 300 to the media center 350 and/or to other devices in the home environment 395, other types of protocols may be used, such as HTTP, a custom protocol, or any suitable combination of protocols.
[0049] In the illustrated embodiment, the CM system 335 includes a GUI 210, a core module 212, a data store 214, a data manager 216, and one or more gateway modules 218. The GUI 210 may present EPG and/or other multimedia metadata information, controls, or other tools and functionality to allow a user to view, arrange, manipulate, orto otherwise manage and control content, media devices (e.g., the media center 350, the other content presentation devices 380, etc.), and/or other electronic devices. An example of the GUI 210 is illustrated as GUI 100 in Figure 7, and additional examples are disclosed in the other patent applications identified above.
[0050] In the illustrated embodiment, the core module 212 serves as the underlying control engine for the CM system, such as to generate or otherwise provide control requests and data requests (e.g., in response to instructions from the GUI, such as based on user selections of controls and other user actions). For example, the core module 212 may generate requests for EPG metadata, recording status information, multimedia content metadata, or other data related to the operation of the media center 350, and then provide the data to the GUI 210. Such data may be stored in a local data store 214 (e.g., at least a portion of the storage 320 of Figure 1 , such as that holds an SQL or other relational database) and/or other data repository or data structure, such as after it is retrieved or otherwise obtained from the media center 350 or other source. In addition, in this illustrated embodiment, a data manager 216 cooperates with the core module 212 to manage the flow of data to, from, and within the CM system 335, such as to provide an interface to the data store (e.g., by acting a database server for a database portion of the data store).
[0051] The control requests generated by the core module 212 may be sent to the media center device 350 to control or otherwise manage the device, such as requests to record a certain program at a certain time, to play back a recorded program, to turn ON/OFF, and so forth. The core module 212 may also generate control and data requests directed towards other devices, such as the content presentation devices 380, other computing systems 390, and/or any other device in the home environment 395 that is communicatively coupled to or otherwise associated with the CM system 335. The core module 212 may also control or otherwise manage other operational features of the CM system 335, including communications, data storage/processing/management, and other operations. [0052] In at least some embodiments, the CM system 335 physically or logically communicates with the media center 350 via the local network 385, which may comprise an Ethernet network connection or other type of network (whether wired and/or wireless). In particular, at least some such communications may include the CM system 335 invoking or otherwise accessing the API 204 of the media center 350 in order to control or otherwise manage one or more of the services 200 of the media center 350 that are exposed via the API, such as via the UPnP Service 202 that is made available via a network connection. In at least some embodiments, there may also be one or more other networks 385a that the CM system 335 uses to communicate with other devices, such as the devices 380, systems 390, and/or other devices and systems, such as by using one or more communication protocols 208a. The networks 385a and the protocols 208a may be the same or different than the network 385 and the protocol 208, respectively.
[0053] In at least some embodiments, the CM system 335 further includes one or more gateway modules 218 to facilitate communication with other device. For example, a different gateway module 218 may be provided for each corresponding type of media center 350 or for other type of external devices/systems in communication with the CM system 335, such as to use APIs provided by that type of device and/or to use one or more communication protocols supported by that type of device. Thus, each gateway module 218 may communicate with one or more corresponding external devices using an appropriate protocol(s) 208 and/or 208a, such as by way of an interface 220 of that gateway module. For example, when the protocol 208 in use is UPnP, a gateway module 222 corresponding to the media center 350 may include a UPnP interface 220 such that calls to the media center's API 204 using the UPnP protocol are passed through the UPnP Service. Additional details regarding communicating between the CM system 335 and external devices will be discussed below.
[0054] In addition, in some embodiments the CM system 335 has an extensible architecture that allows additional gateway modules to be added as appropriate. Thus, as additional media devices and/or other external devices are added to the home environment 395, one or more corresponding new gateway modules 218 may be installed or modified in the CM system 335. Moreover, certain gateway modules 218 may be deactivated or removed if their corresponding external device(s) is replaced, disconnected, or otherwise discontinued from use. The capability to add, remove, and/or modify the gateway modules 218 provides a convenient and scalable technique to centrally manage or otherwise centrally control a plurality of connected devices, without having to perform substantive modifications to the underlying hardware and/or software of such devices or of the CM system. As described above, many media centers 350 provide an API 204 that exposes services 200 of the media centers, thereby providing the CM system 335 with a mechanism to use to control or otherwise access these services 200 without having to perform hardware and/or software modifications on the media centers 350. In some types of media centers 350 and/or with other types of media devices, however, certain modifications may be performed in at least some embodiments to improve the interaction between the CM system 335 and the media center 350. For example, to implement a "silent operation" mode when the CM system 335 is being used, the media center 350 of an embodiment may be designed and/or configured to be able to suppress on-screen displays or messages that typically arise in response to direct interactions with the media center - if so, interactions initiated from the CM system 335 may instead cause such displays or messages to be passed to the CM system 335 for display within the GUI 210 or for other handling as appropriate. Similarly, other types of information that may be provided by the media center in situations other than in response to direct interactions (e.g., messages related to conflicts that are detected, such as related to more programs to be simultaneously recorded and/or presented than can be handled by the media center, and to resolution options for the conflicts) may instead be directed to the CM system 335 as part of such a "silent operation" mode, such as for appropriate handling by the CM system 335 (e.g., by providing conflict resolution instructions from the CM system to the media center, such as in response to user instructions via the GUI 210). [0056] As previously discussed, both the CM system 335 and the media center 350 may be nodes on the same network in at least some embodiments, such as in the examples of Figures 1-2 - such inter-connection allows for device discovery, command control, data retrieval, or other operations pertaining to the communication protocol used and/or pertaining to a specific function being performed. In addition, the CM system 335 may connect to other external devices and/or content sources in various ways, including over the same network. Moreover, the CM system 335 may obtain metadata (e.g., EPG information and/or metadata for other types of multimedia content) and/or other information of interest from connected devices in various ways. For example, in a first scenario ("scenario 1"), the CM system 335 requests the metadata from the media center 350, while in a second scenario ("scenario 2") the CM system 335 requests the metadata from an external source as part of external content 360b (although the CM system 335 may still retrieve other types of information (e.g., scheduling data) from the media center 350 in scenario 2). In both scenarios 1 and 2, the protocol for the connection between the CM system 335 and the media center 350 (and/or between the CM system 335 and some other media device) may be UPnP, UPnP and HTTP, only HTTP, some other protocol, a custom protocol, or any suitable combination thereof. Examples of both of the connection scenarios are provided below:
[0057] As an example involving connection scenario 1 , the CM system 335 uses a suitable protocol (e.g., UPnP, HTTP, etc.) to communicate with the media center 350 for device discovery, command interface, data retrieval, and other operations via the local network 385. The data retrieval may include the EPG metadata information, which may be acquired by the media center 350 in various ways (e.g., from a MSO head-end via a DOCSIS modem). The media center 350 makes the EPG data available to the CM system 335 as part of the data retrieval in the specified protocol.
[0058] As an example involving connection scenario 2, the media center 350 does not provide EPG or other multimedia content metadata to the CM system 335, and thus the CM system 335 has a second connection to retrieve the metadata, such as involving a network connection to retrieve the metadata from an external data source (e.g., using XMLTV for EPG metadata). The CM system 335 is also capable of aggregating data from multiple sources, including data provided from media devices, Internet data, and other data from various other data sources.
[0059] One example implementation of the media center 350 includes an integrated media device that uses connection scenario 1 and the UPnP protocol. The integrated media device uses a UPnP-based communication service (e.g., the communication service 202 on the media center 350) for communications between the CM system 335 and the API 204 using the UPnP protocol. The specific functions that are exposed through the UPnP communication service may vary from one media device to another based on what is available in the underlying API 204 and on the specific implementation of the UPnP service. In the CM system 335, the UPnP interface 220 of the gateway module 222 translates command and data requests from the core module 212 into the UPnP protocol, and then passes the requests to the UPnP communication service 202 on the media center 350. The UPnP interface 220 also passes data received from the media center 350 via the UPnP service 202 to the core module 212 in an appropriate format. The data retrieval from the media center 350 may includes EPG metadata or other metadata.
[0060] Another example implementation of the media center 350 includes a standalone media device that uses connection scenario 2, with a first connection between the media center 350 and the CM system 335 (e.g., using UPnP) and with a second connection between the CM system 335 and another data source for external content 360b (e.g., using HTTP protocol). In this example, the first connection to the media center 350 may, for example, use the UPnP protocol for device discovery and the HTTP protocol for the command interface and data retrieval (of scheduling data), while the second connection to the external data source may, for example, obtain EPG and/or other metadata using the HTTP protocol for data retrieval. To enable such communications, one of the other gateway modules 218 of the CM system may contain both UPnP and HTTP interfaces 220, or the CM system may instead use two gateway modules that each support one of the UPnP and HTTP communication protocols, with the one or more gateway modules acting in a manner previously described. In addition, a URL or other network address information for an external source of EGP and/or other information may be obtained by the CM system in various, such as based on a predefined configuration for the CM system and/or dynamically from the media center 350.
[0061] In the above examples, the external content 360b has been described as optionally including EPG metadata and/or other multimedia content metadata. In other embodiments, the external content 360b may also include various other types of content, such as promotional types of materials for users (e.g., a trailer for a movie, extra content such as deleted scenes, etc.). For example, the GUI 240 may provide capabilities to allow the user to request some promotional materials and/or the ability to select additional services (e.g., providing additional content), such as for a fee.
[0062] Figure 3 is a block diagram illustrating an embodiment of the CM system 335 operating in conjunction with the media center 350 (and/or other media device) and one or more other media servers 302. In this embodiment, the CM system 335 may instruct the media center 350 to search for or otherwise obtain media content of interest from one or more of the media servers, such as by providing indications of the content of interest and/or of one or more of the media servers. In response, the media center 350 may contact one or more suitable media servers 302 (e.g., media servers indicated by the CM system), obtain indications of pieces of media content available from the media server(s) (e.g., a playlist or other multimedia content listing 304), and provide indications of at least some of the content (e.g., the playlist or other content listing 304) to the CM system 335, such as for display in the GUI 210. For example, if the CM system requested information about specified pieces of media or types of media content, the media center may in some embodiments provide only indications of matching pieces of media (if any), while in the other embodiments may provide all of the identified media piece indications for analysis by the CM system. In addition, if a media server does not provide a playlist or other multimedia content listing, the media center may in some embodiments generate such a content listing after obtaining the indications of the available media pieces from the media server, and/or the CM system may create one or more such playlists (e.g., if the information received from the media center does not include those playlists). A content listing may include various metadata associated with the pieces of media content, such as title, author, creation date, file size, media type, format, resolution, and/or other characteristics.
[0063] After the CM system receives indications of available media from the media center, the CM system may specify to the media center to play or otherwise present one or more of the media pieces, such as based on selections made by a user based on a playlist or other information presented in the GUI, with the media center performing the indicated operation (e.g., by presenting a piece of media content on an associated presentation device, not shown, such as after obtaining the media piece from an appropriate media server, or instead by directing an appropriate media server to cause the media piece to be presented, whether itself or via an associated presentation device). In addition, the media center may in some embodiments retrieve and store pieces of media content from one or more such media servers, such as after receiving an instruction to present those media content pieces or instead when initially gathering information about media content pieces that are available from media servers.
[0064] In the example embodiment of Figure 3, the media server device(s) 302 may comprise any type of suitable data repository that may store media content of possible interest (e.g., photographs, audio files (such as MP3 files), video clips, movies, songs, Internet Web page content, graphics and text, video games, advertisements, or other types of multimedia content), including devices such as one or more hard disk drives of a computer, servers, databases, mass storage units, tape decks, CDs, DVDs, floppy disks, and/or other type of persistent or non- persistent storage unit. In some embodiments, the media server(s) 302 may be located in the same household or premises as the other components of the home environment 395, while in other embodiments the media server(s) 302 may be located remotely from the home environment 395 and be accessible via a network such as the Internet, whether instead of or in addition to one or more local media servers. The media server(s) 302 may be accessible by the media center 350 by way of a network 306, such as an internal network (e.g., an Ethernet or LAN connection) and/or an external network (e.g., the Internet), and may further comprise wireless and/or wired/cabled connections. The media server(s) 302 may communicate with the media server(s) 302 using one or more suitable communication protocols, such as the communication protocols described herein or other protocols or combinations thereof.
[0065] In some embodiments, the media server(s) 302 may further be communicatively coupled or otherwise accessible to the computing system 300, whether instead of or in addition to a connection 306 to the media center. In such embodiments, the CM system 335 may thus communicate directly with the media server(s) 302 without the media center 350, such as via a network 307between the CM system 335 and the media server(s) 302 that uses one or more suitable protocols. As with the network 306, the network 307 may comprise an internal network (e.g., an Ethernet or LAN connection) or an external network (e.g., the Internet), and may further comprise wireless and/or hardwire connections.
[0066] In at least some embodiments, a user may use the GUI 210 to instruct the CM system 335 to search a particular media server 302 and/or to search for a particular piece of media content. For example, a search field in the GUI 210 may allow a user to create a customized search for music having a specific genre. The core module 212 of the CM system 335 then passes this search request to an appropriate gateway module 218, which transmits the request to the media center 350 using the local network 385 and a suitable protocol 208.
[0067] The media center 350 then performs a search of media server(s) based on the criteria provided by the user. Various techniques may be used by the media center 350 to perform a search. In one example implementation, the media center 350 may poll each media server 302 via the network 306 to determine whether each media server 302 contains pieces of media or other content that match the search criteria. In such an implementation, each media server 302 may return a playlist 304 that lists pieces of media that fit the search criteria. The playlist 304 is then provided by the media center 350 to the CM system 335.
[0068] In another example implementation, the media server(s) 302 may return a playlist 304 or other content listing that contains indications of all of their available stored media. Thereafter, the media center 350 may parse or otherwise process the playlist 304 to obtain a resulting list of only media that fit the search criteria. The resulting list is then provided by the media center 350 to the CM system 335. In yet another embodiment, the media center 350 may provide the playlist 304 of all available stored media to the CM system 335, and the CM system 335 may process the playlist 304 so that only the pieces of media that fit the search criteria are displayed on the GUI 210. The contents of the playlist 304, whether listing all of the pieces of media in the media server(s) 302 or a subset thereof, may be presented on the GUI 210 and/or on a display coupled to the media center 350 (such as on a screen of the television 370 or on a display of the media center 350). In another embodiment, the CM system 335 may communicate directly with the media server(s) 302 via the network 307 to obtain a playlist 308 of available media at the media server(s) 302. The playlist 308 may comprise a list of all available media or a list of available media having certain criteria, such as user-defined criteria. The contents of the playlist 308 may then be displayed by the core module 212 on the GUI 210 of the CM system 210.
[0069] Thereafter, the user may operate the GUI 210 to select a piece of media content from the playlist 304 or 308 so as to cause the selected piece of media content to be played back or otherwise presented. For example, if the user selects a particular song for playback from the playlist 304 or 308 using the GUI 201 (including perhaps specifying a particular content presentation device 380 to play back the song), the CM system 335 communicates this request to the media center 350. The media center 350 receives this request from the CM system 335 via the network 385, obtains a copy of the requested song from the appropriate media server 302, and sends the copy of the song to the specified content presentation device 380 for playback. Alternatively, the media center 350 may request the media server 302 to provide the copy of the song directly to the specified content presentation device 380 for playback.
[0070] In addition, in at least some embodiments the CM system 335 may be remotely accessed by a user, such as via the Internet or other network. This remote access capability allows the user to use the CM system 335 to remotely control content presentation control devices accessible to the CM system (e.g., to program the media center 350 to record a program, to view and manipulate EPG or other metadata, to turn a home appliance ON or OFF, to activate or deactivate parental control settings, and various other functions that may be performed by using the CM system 335 to control the media center 350, content presentation devices 380, and/or other computing devices 390), without necessarily being present in the household environment 395 and physically using the computing device 300 that provides the CM system 335. Accordingly, Figure 4 is a block diagram illustrating an embodiment of the CM system 335 that may be remotely accessed via a network.
[0071] The illustrated embodiment of the CM system 335 in Figure 4 includes a remoting facade 400 or other suitable component or layer to support two-way communication. While the remoting facade 400 may in some embodiments merely provide access to other elements 212-222 of the CM system such as were described with respect to Figure 3, in the illustrated embodiment the remoting facade provides a higher-level interface to those CM system elements that is better suited for communications 402 with other elements of the computing device 300. In some embodiments, the communications 402 are performed using Microsoft's .Net remoting, with the remoting facade 400 being a .Net object that is exposed to other processes and/or components using the .Net remoting communications 402, while in other embodiments a variety of other types of remote procedure call ("RPC") or similar intercommunication mechanisms may instead be used. In addition, the illustrated embodiment of the computing device 300 includes a Web server 404, which may be separate from or part of the CM system 335. The Web server 404 includes a Web service 414 that exposes the remoting facade 400 to a network 416 (e.g., a wireless and/or wired/cabled hardwire network, such as the Internet, a WAN, a LAN, a telecommunications company network, and/or other type of network).
[0072] The illustrated Web server 404 further includes a Web application 406, which in at least some embodiments comprises an Active Server Page ("ASP") ASP.Net Web application that provides a Web GUI front-end for the CM system 335. The Web GUI may be provided alternatively or additionally to the GUI 210 of Figure 3, such as to provide remote users on the network 416 with capability to access and use the CM system 335 via the Web GUI while local users access and use the CM system 335 via GUI 210. The Web application 406 in the illustrated embodiment includes Cascade Style Sheets (CSS) 408 that may be used to provide flexibility and ease in generating and changing the look-and-feel of the Web GUI, ASPX pages 410 to support its operation, and code 412 to provide communication between the Web application 406 and the remoting facade 400 of the CM system 335 via .Net remoting communication 402. In other embodiments, a separate Web GUI may instead not be provided, such as if remote users receive the same GUI 210 as would local users. In addition, in some embodiments the Web GUI may be tailored or customized to support various types of devices (e.g., by varying formatting and/or amount of data provided), such as devices with limited display area, connection speed and/or processing power (e.g., cellphones and other handheld or mobile devices, such as smartphones).
[0073] The Web GUI and associated functionality provided by the Web application 406 and the Web service 414 are provided by the network 416 to one or more remote devices 418 in the illustrated embodiment. A suitable communication protocol may be used on the network 416 to allow communication between these elements and the remote device(s) 418, including (without limitation) HTTP, HTTPS, SOAP, and/or other communication protocols. Examples of a remote device 418 may include various types of mobile devices (e.g., a laptop, PDA, cellular telephone, Blackberry, GPS device, or other mobile wireless device) as well as stationary computing devices (e.g., a personal computer (PC), workstation, and so forth). [0074] The illustrated embodiment of the remote device 418 includes a Web browser 420 or other type of browser or application that is suitable to communicate with the Web server 404 and/or render the Web GUI provided by the Web application 406. For instance, the user may use the Web browser 420 to access an interactive Web page and/or Web site where the Web GUI is provided and accessible to allow the user to enter (or view) commands and data, or instead may use a CM application 422 to communicate with a Web service 414 provided by the Web server 404 using a suitable protocol (e.g., HTTP and SOAP). While the illustrated embodiment of the remote device includes both a Web browser 420 and a CM application 422 (which in the illustrated embodiment includes a Web service gateway module 424, such as a plug-in module for the CM application), in other embodiments a remote device may include only one such access mechanism. In this example embodiment, the user may generate control requests and data requests using the Web GUI rendered by the Web browser 420, with such requests then communicated by the Web service gateway module 424 to the Web service 414, which in turn communicates the requests to the remoting facade 400 so that the appropriate operations may be performed by the elements 212-222 of the CM system 335 to fulfill the requests. In addition, while not illustrated here, in other embodiments the Web browser 420 may execute a Web page from Web application 406 containing an embedded application (e.g., using ActiveX, s Java applet, client-side JavaScript, etc.) that provides at least a portion of the CM system functionality and that can interact with Web service 414.
[0075] While various embodiments of the CM system 335 have been described in the context of controlling media devices (such as the media center 350) in connection with media presentation, in at least some embodiments use of the CM system 335 may be extended to operations and/or devices that are alternative or additional to media devices. One example of such additional use of the CM system 335 is in connection with home automation or a "smart home." For example, in a "smart home" embodiment illustrated with respect to Figure 5, a home environment 395 includes one or more other electromechanical devices that are coupled or otherwise accessible to the CM system 335 and that may be controlled by the CM system. In particular, a plurality of electromechanical devices 500 of various types are present in the home environment in the illustrated embodiment, with examples of the electromechanical (E/M) devices including lighting systems, HVAC systems, security systems, automated drapes, automated wall panels that may be raised/lowered or retracted/extended, telephones, appliances, and various other E/M devices.
[0076] Some E/M devices 500 may have their own associated processor(s) and/or communication capability (e.g., "intelligent" E/M devices), and may be networked to the media center 350, to the other computing systems 390, and/or to the CM system 335 via respective communication networks 504, 502, and 506. The communication networks 504, 502, and 506 may comprise networks similar to the networks 385 and 385a described previously above and may carry communications based on one or more suitable protocols (e.g., UPnP, HAVI, HTTP, etc.). With intelligent E/M devices 500, the CM system 335 may directly communicate control requests and data requests directly to such devices via the network 506, without necessarily having to communicate through some other intelligent device in order to initiate an action.
[0077] With less intelligent E/M devices 500, an intermediate controlling device is used as an interface between the CM system 335 and such E/M device(s). For example, automated drapes may not have their own associated processor and/or communication interface. Rather, these automated drapes may have an electromechanical actuator that may be controlled by the computing system 390 or by some other intelligent controlling mechanism, such as via a connection provided by the network 502. Therefore, for such less intelligent E/M devices 500, the CM system 335 may communicate with the computing system 390 via the network 385a and the protocol 208a, with the computing system 390 in turn interacting with the appropriate E/M devices via the network 502.
[0078] In some embodiments, operation of at least some of the E/M devices 500 may be correlated or otherwise tied to media presentation. For instance, if the user wishes to watch a movie, various other devices may be controlled in a coordinated manner to facilitate that media presentation (e.g., to set a certain room temperature, lighting level, deactivation of a telephone by directing incoming calls to voicemail, etc.). Moreover, in some situations a user may further desire to start cooking popcorn or a pizza in the oven. Therefore, the media center 350 (which initiates playback of the movie) under control by the CM system 335 may communicate the playback-related information and/or commands (e.g., date and time at which playback will occur, requests to perform some action, or other commands or information) to the appropriate E/M devices 500 and/or to the computing systems 390, or the CM system 335 may instead directly interact with those E/M devices 500 to effect the desired results. The appropriate E/M devices 500 will then respond as directed, such as to reduce the lighting levels, deactivate the telephone, begin cooking popcorn, and so forth.
[0079] Thus in the embodiment described above, context information may be maintained across these multiple types of E/M devices 500, the media center 350, the other computing systems 390, and/or the CM system 335. Maintaining such context insures, for instance, that certain devices are not activated or deactivated when they should not be. For example, by maintaining context (e.g. , knowing that the media center 350 is presently controlling presentation of a recorded movie), an inappropriate action is not taken (e.g., opening all the drapes and windows to let excessive amounts of light and noise into the home environment 395).
[0080] Moreover in some embodiments resources may be shared between the various devices of Figure 5. For example, state information may be shared between the various devices so that they know the state of each other, thus allowing devices to optimize or time their operation based on the status of the other devices. As another example, certain user interfaces, data repositories, communication interfaces, networks, or other elements may be shared by the various devices,, so that each device need not necessarily provide their own of these elements. Data re-use and data sharing may be implemented to reduce instance of repetitive data generation, memory accesses, or other redundancy.
[0081] Figure 6 is a flowchart 600 of an embodiment of a routine for operating the CM system 335. The routine begins at step 602, where connection with one or more external devices is established based on one or more communication protocols. For instance, at least some such other devices may be previously known to the CM system (e.g., based on prior interactions), while other devices may be dynamically identified (e.g., via UPnP discovery, description, etc. steps as described previously above).
[0082] At step 604, the CM system 335 next sends a data request to a connected device (e.g., based on a connection and protocol established in step 602 for that device), such as to a media device (e.g., the media center 350), other computing system(s) 390 and/or one or more external data sources. The data request may be sent in response to user input via a GUI displayed to a user (not shown) or independently by the CM system 335 (e.g., as part of a startup routine to obtain metadata for use with such a GUI). At step 606, the CM system receives the requested data, which may then be presented on a GUI at step 608 (e.g., for viewing and/or manipulation by the user).
[0083] In the illustrated embodiment, the routine next continues to step 610 to send a control request to a connected device (e.g., based on a user selection via the GUI after the user has seen the requested data), although in other embodiments the routine may continue instead to step 616. For instance, the user may have reviewed a returned listing of recorded media and issued a control request for a selected one of the listed pieces of media to be played back. The connected device then initiates performance of the requested operation(s) based on the control request, such as is illustrated here at step 612 for the sake of convenience, which may include interactions with one or more other presentation devices. For instance, if the control request is a request to play back a piece of recorded media, the media center 350 may provide the recorded media to the television 370 for presentation thereon. Alternatively or additionally, the connected device may perform the requested operation directly. For instance, if the connected device is an intelligent HVAC system and the control request is a request to reduce room temperature, the HVAC system may directly change a thermostat.
[0084] At a step 614, the CM system 335 optionally receives status data or other feedback from the connected device based on its performance of the control request, with the status data then presented to the user in the GUI at step 608. For instance, the status data may indicate that a television program is being recorded, playback is completed, insufficient memory space is available, the connected device has been turned ON or OFF, and so forth. At step 616, the CM system 335 then monitors for additional or subsequent control and/or data requests, such as from the GUI and/or from remote users via programmatic requests (e.g., via Web service 414). The CM system continues to monitor for these requests until a request is detected at step 618, with the routine then returning to steps 604 or 610 respectively to perform corresponding data or control requests.
[0085] In some embodiments, the functionality provided by the routine discussed above may be provided in alternative ways, such as being split among more routines. Similarly, in some embodiments the illustrated routine may provide more or less functionality than is described, such as when the amount of functionality that is provided is altered. In addition, while various operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel) and/or in a particular order, in other embodiments, the operations may be performed in other orders and in other manners. In addition, in some embodiments certain operations may be embodied in software or other computer-readable instructions stored on a computer-readable medium, such as software stored in the memory 330 of the CM system 335 of Figure 1.
[0086] Figure 7 illustrates an example of information and capabilities provided by an embodiment of the CM system, and in particular illustrates various features of an example GUI, including a variety of information and user-selectable controls. While specific layouts and formats are shown in Figure 7, such specific details are not intended to be limiting or exhaustive. Similarly, while specify types of devices are illustrated as being currently controlled or otherwise managed via the GUI, a variety of other types of content presentation control devices and other media devices, as well as other electronic devices, may similarly be associated with and managed via the GUI in other embodiments.
[0087] The example GUI 100 embodiment illustrated in Figure 7 is displaying program listing information for live TV in a view area 140, with the displayed listings initially based on a current time 195. The TV listings in the view area 140 are initially shown in a grid format, with columns of the grid corresponding to successive time units of thirty minutes each and with each row corresponding to a different TV channel that may show one or more TV programs during the displayed time period. The GUI also includes a variety of other areas, including a menu bar 105 with dropdown menus, primary content-type navigation tabs 110, secondary content-type-specific navigation tabs 115, a view control area 125 that includes view and filter controls 120 and time controls 130, a detail area 50, and a status control sidebar area 170 that includes virtual remote control functionality 160 and a user-focused content summary area 165. While not illustrated here, in some embodiments the GUI may further have a status bar display area along the bottom of the GUI below the detail area and status control sidebar area.
[0088] The view control area 125 also includes a first timebar that corresponds to a relatively long first time period at a first time scale (which is selected based in part using time controls 130) and that may in certain situations display limited information about content (although in this example the first timebar does not display any limited information about any television programs or other content), while the view area 140 illustrates detailed information about content for a relatively short second time period at a second time scale, with a second timebar rendered at the top of the view area 140.
[0089] The example GU1 100 also illustrates a variety of controls and information 505-545 in the status control sidebar area 170, such as to provide virtual remote control capabilities in order to control recording of content on multiple devices (e.g., multiple devices with DVR capabilities) and/or presentation of content on multiple devices (e.g., multiple televisions). For example, the illustrated sidebar area contains multiple user-selectable device control tabs 505, with each tab representing a device that can be controlled, such as with respect to presenting content and/or recording or otherwise obtaining content for later presentation. In this example, two television devices are available to which live or previously recorded content can be directed, with the "Main TV" device currently selected as indicated by tab 505a. The current content information section 520 indicates that "The Simpsons" television programming is currently being directed to the "Main TV" television device for presentation, while other content (not shown) may be being directed to the "Bedroom" television device. In some embodiments, controls may be sent directly to the device being controlled (e.g., by directing the "Main TV" television device to change channels), while in other embodiments one or more intermediate devices may be involved in the controls (e.g., by directing an STB, not shown, to control live television content sent to the currently selected television device and/or by directing a DVR, not shown, to direct recorded television content sent to the currently selected television device). Moreover, in some embodiments one or more such intermediate devices may each be able to interact with and/or control multiple presentation devices, such as to have a single STB and/or DVR control content being provided to two television devices (e.g., by using a MOXI device that provides such functionality). Content to be directed to a currently selected device may be selected in various ways. For example, user-selectable channel controls 540 are shown for manipulating a current channel, and in other embodiments other controls (e.g., user-selectable numeric buttons, not shown) may be available for specifying a particular channel. In addition, in the current embodiment various program listing information for live TV is shown in a separate view area in grid format, and additional information is displayed in the detail area for a "Who Wants to Be a Millionaire" television program that is currently selected in the view area - in this embodiment, a user-selectable "Watch Now" control in the detail area may be selected to cause the currently selected program to be directed to the currently selected television device, and similar functionality may be available for some or all of the television programs indicated in the view area (e.g., via a pop-up menu). The illustrated embodiment of the sidebar also includes a user-focused content summary area 515 related to upcoming recordings and previously recorded programs, and while a display of previously recorded programs in section 515 is not illustrated here, a displayed previously recorded program may be selected for current presentation on the currently selected television device (e.g., via instructions sent to a DVR or other storage device on which that program is stored).
[0091] A playlist section 510 is also shown in the illustrated embodiment, although no content is displayed in this example for a current playlist. In at least some embodiments, content of various types may be selected for inclusion in one or more such playlists, and content displayed in a playlist in section 510 may similarly be selected for current presentation on the currently selected television device (e.g., via instructions sent to a DVR or other storage device on which that program is stored). In the illustrated embodiment, content in playlists may include various forms of content, such as video information (e.g., television programming), digital music, photos and other images, etc. In some embodiments, the device that is currently selected for control may affect the information in the playlist section in various ways, such as to select a current playlist based on a current device being controlled (e.g., based on the type of device, such as to select a playlist having video information when the device being controlled is a television device) and/or to enable content for current selection only if appropriate for the currently selected device (e.g., to disable video or image information if the currently selected device is a speaker, but to allow video, images and music to be presented on at least some types of television devices, such as based on capabilities of the device).
[0092] The illustrated embodiment of the sidebar control area also includes a variety of other controls related to content being presented and to other types of user instructions that may be provided. For example, various user-selectable controls may affect the type of content being presented from among various sources, such as live television programming (e.g., from a cable company or satellite provider), a menu or other functionality from a DVR (e.g., a MOXI device), and a ticker on at least a portion of the display of the currently selected television device (e.g., with headline news, such as from a cable company or from a provider associated with the DVR). Various interactivity controls 530 may further allow the user to make various selections, such as from a menu or from among multiple options. Various controls 535 may also be used to control the presentation of content, such as to pause presentation, skip backward, skip forward (when available, such as with other than live content) and rewind or fast forward, as well as to provide an instruction to record content that is currently being presented. One or more specialized controls 545 may also be provided, such as to correspond to functionality that may be available on only certain devices, such as on certain types of STBs and/or DVRs.
[0093] While various exemplary details have been provided, the described techniques may be used in a variety of other ways. In addition, the described techniques are applicable to architectures other than a set-top box architecture or architectures based upon the MOXI™ system, for instance. For example, an equivalent system and applications may be developed for other DVRs and STBs. The methods and systems discussed herein are applicable to differing protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.), and other devices are ab(e to be controlled orto control other devices in the manner described herein. In addition, data structures discussed above may be structured in different manners, such as by having a single data structure split into multiple data structures or by having multiple data structures consolidated into a single data structure. Similarly, in some embodiments illustrated data structures may store more or less information than is described, such as when other illustrated data structures instead lack or include such information respectively, or when the amount or types of information that is stored is altered.
[0094] Several specific protocols have been identified and described herein for providing communication capabilities between different devices. Various other mechanisms may be used to allow computers (or other devices) and executing software applications to interact. For example, remote procedure call ("RPC") protocols allow a program on one computer to cause a program on another computer to be executed, and various object-oriented and other architectures such as CORBA ("Common Object Request Broker Architecture"), DCOM ("Distributed Component Object Model"), Java RMI ("Remote Method Invocation"), JavaSpaces, Jini, and JXTA provide similar capabilities. In addition, a variety of middleware programs may be implemented to connect separate applications (often of distinct types and from unrelated sources) to allow communication. For example, various EDI ("Electronic Data Interchange") networks may be used to provide mechanisms to allow a computer system of one user of the network to send data to a computer system of another user of the network.
[0095] The widespread popularity of the World Wide Web ("Web") has provided additional opportunities for computers to inter-communicate. For example, much current Web use involves users interactively requesting Web pages from Web servers (e.g., via executing Web browser applications of the users) and receiving the requested information in response. In addition to such interactive user specification of requested information, there is also growing use of the Web to support the programmatic interaction of remote applications to exchange information via defined APIs, such as via Web services. Web services, such as those described herein, allow heterogeneous applications and computers to interact, and may be defined and implemented using a variety of underlying protocols and techniques. For example, some Web service implementations return data in computer-readable XML format using HTTP in response to a Web service invocation request specified as a URI ("Uniform Resource Identifier"), such as a URL that includes a specified operation and one or more query parameters. In other implementations, additional underlying protocols are used for various purposes, such as SOAP for standard message exchange, WSDL ("Web Services Description Language") for description of service invocation interfaces (e.g., using XML format), and UDDI ("Universal Description, Discovery, and Integration service") for discovery of available services. These are but a few examples that may be used in various embodiments.
[0096] In the description, numerous specific details have been given to provide a thorough understanding of embodiments. The embodiments may be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments. Thus, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims and the elements recited therein. In addition, while certain aspects of the invention are presented below in certain claim forms, the inventors contemplate the various aspects of the invention in any available claim form. For example, while only some aspects of the invention may currently be recited as being embodied in a computer-readable medium, other aspects may likewise be so embodied.

Claims

CLAIMS What is claimed is:
[d] 1. A computing system configured to control at least one media device, the computing system comprising: one or more processors; and a content management system that when executed by the one or more processors communicatively couples to the at least one media device, the content management system including: a core module to generate control requests and data requests related to operation of the at least one media device, the control requests including a first request for the at least one media device to search at least one media server for media available for presentation, the data request including a second request for the at least one media device to provide data indicative of a result of the search; at least one gateway module corresponding to each media device, the gateway module being in communication with the core module to receive the first request and the second request from the core module, and further being in communication with the core module to provide responses to the first request and the second request to the core module; and a communication interface included with each gateway module to provide the first request and the second request from the core module to the at least one media device using a communication protocol, and to receive the responses to the first request and the second request from the at least one media device.
[c2] 2. The computing system of claim 1 wherein the content management system further includes a graphical user interface that can be used to instruct the core module to generate the first request and the second request, and that can further be used to receive from the core module for presentation at least some of the responses to the control requests and data requests received from the at least one media device, including presentation of at least some of the data, provided by the at least one media device in response to the second request, that is indicative of a result of the search.
[c3] 3. The computing system of claim 2 wherein the data indicative of the search result includes multimedia content metadata arranged in a playlist, the graphical user interface capable of presenting the playlist in a manner that a piece of content represented by metadata on the playlist can be selected for presentation via the graphical user interface, the content management system further capable of generating another control request to instruct the media device to initiate presentation of the selected piece of content.
[c4] 4. The computing system of claim 3 wherein the another control request instructs the media device to obtain a copy of the selected piece of content for presentation from a media server that stores the selected piece of content.
[c5] 5. The computing system of claim 3 wherein the another control request instructs the media device to instruct a media server having the selected piece of content to provide a copy of the selected piece of content to a content presentation device for presentation.
[c6] 6. The computing system of claim 1 wherein the at least one gateway module comprises a first gateway module and wherein the communication interface comprises a first communication interface, the content management system further including: a second gateway module to receive at least some of the data requests from the core module, the at least some of the data requests including a third request to directly obtain the data indicative of a result of the search from the at least one media server; and a second interface included with the second gateway module to provide the third request from the core module to the at least one media server using another communication protocol, and to receive the data indicative of the result of the search from the at least one media server.
[c7] 7. The computing system of claim 1 wherein the media available for presentation include at least one of a song, audio clip, movie, video clip, text, graphics, photograph, image, video game, advertisement, news clip, article, Internet content, and presentation.
[c8] 8. The computing system of claim 1 wherein the content management system and the at least one media server comprise parts of a same computing device.
[c9] 9. The computing system of claim 1 wherein the control requests further include a request for the at least one media device to search for presence of one or more available media servers.
[do] 10. A method for a computing device to control at least one media device, the method comprising: establishing a connection and a communication protocol between the computing device and the at least one media device on at least one communication network; generating a first control request that instructs the at least one media device to search at least one media server for available media, and sending the first control request from the computing device to the at least one media device on the established connection and using the communication protocol; generating a data request, from the computing device, that requests results of the search for available media; presenting at least some of the results of the search on a graphical user interface in a manner that at least one piece of available media represented in the results of the search can be selected for presentation; and generating a second control request that instructs the at least one media device to initiate presentation of the selected piece of available media, and sending the second control request from the computing device to the at least one device on the established connection and using the communication protocol. [en]
11. The method of claim 10 wherein generating the second control request that instructs the at least one media device to initiate presentation of the selected piece of available media includes providing in the second control requests instructions for the at least one media device to obtain a copy of the selected piece of available media for presentation.
[C12] 12. The method of claim 10 wherein generating the second control request that instructs the at least one media device to initiate presentation of the selected piece of available media includes providing in the second control request instructions for the at least one media device to instruct the at least one media server to provide a copy of the selected piece of available media to a content presentation device and to instruct the content presentation device to present the copy of the selected piece of available media provided from the at least one media server.
[d3] 13. The method of claim 10 wherein generating the data request, from the computing device, that requests results of the search for available media includes requesting the results of the search from the at least one media device using the established connection and the communication protocol.
[ci4] 14. The method of claim 10 wherein generating the data request, from the computing device, that requests results of the search for available media includes requesting the results of the search from the at least one media server using some other established connection along with a communication protocol.
[ci5] 15. The method of claim 10, further comprising filtering the results of the search for available media to obtain resultant information that corresponds to user- specified criteria.
[ci6] 16. The method of claim 10 wherein presenting at least some of the results of the search on the graphical user interface includes presenting at least some of the results of the search in a list, the list including metadata associated with each piece of available media that is represented on the list, any one or more of the available media represented on the list being selectable for presentation using the second control request.
[d7] 17. A computer-readable medium whose contents enable a computing device to control at least one media device, by performing a method comprising: establishing a connection and a communication protocol between the computing device and the at least one media device on at least one communication network; generating a first control request that instructs the at least one media device to search at least one media server for available media, and sending the first control request from the computing device to the at least one media device on the established connection and using the communication protocol; generating a data request, from the computing device, that requests results of the search for available media; presenting at least some of the results of the search on a graphical user interface in a manner that at least one piece of available media represented in the results of the search can be selected for presentation; and generating a second control request that instructs the at least one media device to initiate presentation of the selected piece of available media, and sending the second control request from the computing device to the at least one device on the established connection and using the communication protocol.
[ci8] 18. The computer-readable medium of claim 17 wherein the computer- readable medium is a memory of the computing device and/or is a data transmission medium transmitting to the computing device a generated data signal containing the contents.
[ci9] 19. The computer-readable medium of claim 17 wherein the contents are instructions that when executed cause the computing device to perform the method.
20. The computer-readable medium of claim 17 wherein the method further includes: generating another control request for the at least one media device to search for presence of one or more available media servers; and filtering the results of the search for available media and results of the search form presence of one or more available media servers to obtain resultant information that corresponds to user-specified criteria.
PCT/US2005/014740 2004-04-30 2005-05-02 Controlling content presentation WO2005109885A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US56717704P 2004-04-30 2004-04-30
US60/567,177 2004-04-30
US66783605P 2005-04-01 2005-04-01
US60/667,836 2005-04-01

Publications (2)

Publication Number Publication Date
WO2005109885A2 true WO2005109885A2 (en) 2005-11-17
WO2005109885A3 WO2005109885A3 (en) 2007-04-12

Family

ID=35320945

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/US2005/015249 WO2005109886A2 (en) 2004-04-30 2005-05-02 Controlling one or more media devices
PCT/US2005/015351 WO2005109908A2 (en) 2004-04-30 2005-05-02 Maintaining a graphical user interface state that is based on a selected piece of content
PCT/US2005/014740 WO2005109885A2 (en) 2004-04-30 2005-05-02 Controlling content presentation
PCT/US2005/015247 WO2005109906A2 (en) 2004-04-30 2005-05-02 Network-accessible control of one or more media devices

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/US2005/015249 WO2005109886A2 (en) 2004-04-30 2005-05-02 Controlling one or more media devices
PCT/US2005/015351 WO2005109908A2 (en) 2004-04-30 2005-05-02 Maintaining a graphical user interface state that is based on a selected piece of content

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2005/015247 WO2005109906A2 (en) 2004-04-30 2005-05-02 Network-accessible control of one or more media devices

Country Status (2)

Country Link
US (5) US20060064720A1 (en)
WO (4) WO2005109886A2 (en)

Families Citing this family (468)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
CA2157600A1 (en) 1993-03-05 1994-09-15 Roy J. Mankovitz Apparatus and method using compressed codes for television program record scheduling
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
CN1867068A (en) 1998-07-14 2006-11-22 联合视频制品公司 Client-server based interactive television program guide system with remote server recording
DE69903438T2 (en) 1998-07-17 2003-08-14 United Video Properties Inc Interactive TV guide with multiple devices in one place
AR020608A1 (en) 1998-07-17 2002-05-22 United Video Properties Inc A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK
US6505348B1 (en) * 1998-07-29 2003-01-07 Starsight Telecast, Inc. Multiple interactive electronic program guide system and methods
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US8140859B1 (en) * 2000-07-21 2012-03-20 The Directv Group, Inc. Secure storage and replay of media programs using a hard-paired receiver and storage device
US7203311B1 (en) * 2000-07-21 2007-04-10 The Directv Group, Inc. Super encrypted storage and retrieval of media programs in a hard-paired receiver and storage device
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
KR20120032046A (en) 2000-10-11 2012-04-04 유나이티드 비디오 프로퍼티즈, 인크. Systems and methods for delivering media content
US8032909B2 (en) * 2001-07-05 2011-10-04 Digimarc Corporation Watermarking and electronic program guides
US8122465B2 (en) * 2001-07-05 2012-02-21 Digimarc Corporation Watermarking to set video usage permissions
US8112529B2 (en) 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
US20090006543A1 (en) * 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US7747502B2 (en) * 2002-06-03 2010-06-29 Research Affiliates, Llc Using accounting data based indexing to create a portfolio of assets
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US7792970B2 (en) * 2005-06-17 2010-09-07 Fotonation Vision Limited Method for establishing a paired connection between media devices
US7685341B2 (en) * 2005-05-06 2010-03-23 Fotonation Vision Limited Remote control apparatus for consumer electronic appliances
KR100633184B1 (en) 2004-04-06 2006-10-12 엘지전자 주식회사 Method and apparatus for setting menu of an image display device
WO2005109886A2 (en) * 2004-04-30 2005-11-17 Vulcan Inc. Controlling one or more media devices
WO2005109884A2 (en) * 2004-04-30 2005-11-17 Vulcan Inc. Time-based graphical user interface for multimedia content
US8028323B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Method and system for employing a first device to direct a networked audio device to obtain a media item
US8028038B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Obtaining a playlist based on user profile matching
CN101031882B (en) 2004-06-08 2010-09-08 达尔特设备互操作有限公司 Architecture, apparatus and method for device team recruitment and content renditioning for universal device interoperability platform
US20060020589A1 (en) * 2004-07-26 2006-01-26 Nokia Corporation System and method for searching for content stored by one or more media servers
US8086575B2 (en) 2004-09-23 2011-12-27 Rovi Solutions Corporation Methods and apparatus for integrating disparate media formats in a networked media system
US7425177B2 (en) 2004-09-29 2008-09-16 Igt Gaming device having multiple interacting independently operable wheels
US8001587B2 (en) * 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential management
US8384925B2 (en) 2004-10-08 2013-02-26 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data management
US8230328B2 (en) 2004-10-08 2012-07-24 Sharp Laboratories Of America, Inc. Methods and systems for distributing localized display elements to an imaging device
US8032579B2 (en) * 2004-10-08 2011-10-04 Sharp Laboratories Of America, Inc. Methods and systems for obtaining imaging device notification access control
US8115946B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and sytems for imaging device job definition
US8023130B2 (en) 2004-10-08 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data maintenance
US8006292B2 (en) 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential submission and consolidation
US8051140B2 (en) * 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for imaging device control
US7920101B2 (en) * 2004-10-08 2011-04-05 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display standardization
US8171404B2 (en) 2004-10-08 2012-05-01 Sharp Laboratories Of America, Inc. Methods and systems for disassembly and reassembly of examination documents
US8035831B2 (en) 2004-10-08 2011-10-11 Sharp Laboratories Of America, Inc. Methods and systems for imaging device remote form management
US8024792B2 (en) 2004-10-08 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential submission
US7970813B2 (en) 2004-10-08 2011-06-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification administration and subscription
US8015234B2 (en) 2004-10-08 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for administering imaging device notification access control
US7934217B2 (en) 2004-10-08 2011-04-26 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access to an imaging device
US8060930B2 (en) * 2004-10-08 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential receipt and authentication
US8032608B2 (en) * 2004-10-08 2011-10-04 Sharp Laboratories Of America, Inc. Methods and systems for imaging device notification access control
US8120799B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for accessing remote, descriptor-related data at an imaging device
US8120793B2 (en) * 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for displaying content on an imaging device
US8006176B2 (en) 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging-device-based form field management
US8065384B2 (en) 2004-10-08 2011-11-22 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification subscription
US7738808B2 (en) 2004-10-08 2010-06-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device concurrent account use with remote authorization
US8060921B2 (en) 2004-10-08 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential authentication and communication
US8120798B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for providing access to remote, descriptor-related data at an imaging device
US8125666B2 (en) * 2004-10-08 2012-02-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device document management
US8237946B2 (en) 2004-10-08 2012-08-07 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server redundancy
US8115945B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for imaging device job configuration management
US7966396B2 (en) 2004-10-08 2011-06-21 Sharp Laboratories Of America, Inc. Methods and systems for administrating imaging device event notification
US8120797B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for transmitting content to an imaging device
US8049677B2 (en) 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display element localization
US8213034B2 (en) 2004-10-08 2012-07-03 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access on an imaging device
US7633644B2 (en) * 2004-10-08 2009-12-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device job management
US8018610B2 (en) 2004-10-08 2011-09-13 Sharp Laboratories Of America, Inc. Methods and systems for imaging device remote application interaction
US7684074B2 (en) 2004-10-08 2010-03-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging device metadata management
US8001183B2 (en) 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device related event notification
US8051125B2 (en) * 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for obtaining imaging device event notification subscription
US8115947B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for providing remote, descriptor-related data to an imaging device
US8001586B2 (en) 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential management and authentication
US7870185B2 (en) 2004-10-08 2011-01-11 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification administration
US7969596B2 (en) 2004-10-08 2011-06-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device document translation
US8115944B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for local configuration-based imaging device accounting
US7873718B2 (en) * 2004-10-08 2011-01-18 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server recovery
US8156424B2 (en) 2004-10-08 2012-04-10 Sharp Laboratories Of America, Inc. Methods and systems for imaging device dynamic document creation and organization
US7826081B2 (en) * 2004-10-08 2010-11-02 Sharp Laboratories Of America, Inc. Methods and systems for receiving localized display elements at an imaging device
US7873553B2 (en) 2004-10-08 2011-01-18 Sharp Laboratories Of America, Inc. Methods and systems for authorizing imaging device concurrent account use
US8006293B2 (en) * 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential acceptance
US7978618B2 (en) 2004-10-08 2011-07-12 Sharp Laboratories Of America, Inc. Methods and systems for user interface customization
US8806533B1 (en) 2004-10-08 2014-08-12 United Video Properties, Inc. System and method for using television information codes
US20190278560A1 (en) 2004-10-27 2019-09-12 Chestnut Hill Sound, Inc. Media appliance with auxiliary source module docking and fail-safe alarm modes
US7885622B2 (en) 2004-10-27 2011-02-08 Chestnut Hill Sound Inc. Entertainment system with bandless tuning
KR100635544B1 (en) * 2004-12-20 2006-10-18 한국전자통신연구원 Device and method for distributing same or different digital broadcasting stream in heterogeneous home network
US20060136966A1 (en) * 2004-12-22 2006-06-22 Folk Robert H Ii Digital video recorder for recording missed program episodes and for resolving scheduling conflicts between programs to be recorded
US20060140170A1 (en) * 2004-12-28 2006-06-29 Elmar Dorner Wireless lan remote control
US20060156353A1 (en) * 2004-12-28 2006-07-13 Elmar Dorner Remotely-accessible wireless LAN server
KR100686093B1 (en) * 2005-02-03 2007-02-23 엘지전자 주식회사 Display device and method for using channel thereof
KR100652957B1 (en) * 2005-02-17 2006-12-01 삼성전자주식회사 Method of moving multimedia content and system thereof
US8428484B2 (en) 2005-03-04 2013-04-23 Sharp Laboratories Of America, Inc. Methods and systems for peripheral accounting
US20060253782A1 (en) * 2005-04-01 2006-11-09 Vulcan Inc. Interface for manipulating multimedia playlists
KR100643294B1 (en) * 2005-05-04 2006-11-10 삼성전자주식회사 System and method simulating for home network
JP2006318585A (en) * 2005-05-13 2006-11-24 Sony Corp Electronic apparatus, data processing method and program
GB2426623B (en) * 2005-05-23 2011-01-26 British Sky Broadcasting Ltd Apparatus for media recording and playback
JP4614390B2 (en) * 2005-06-14 2011-01-19 キヤノン株式会社 Electronic device and its control method
US9325944B2 (en) 2005-08-11 2016-04-26 The Directv Group, Inc. Secure delivery of program content via a removable storage medium
US20070077920A1 (en) * 2005-09-15 2007-04-05 Phillip Weeks Methods, systems and computer program products for aggregating communications and media data
US8184000B2 (en) * 2005-09-28 2012-05-22 Social Fabric Corporation Personal radio location system
US20070077405A1 (en) * 2005-09-30 2007-04-05 Basf Corporation Inorganic/organic-filled styrenic thermoplastic door skins
US20080212947A1 (en) * 2005-10-05 2008-09-04 Koninklijke Philips Electronics, N.V. Device For Handling Data Items That Can Be Rendered To A User
US7966577B2 (en) 2005-10-11 2011-06-21 Apple Inc. Multimedia control center
US7721208B2 (en) * 2005-10-07 2010-05-18 Apple Inc. Multi-media center for computing systems
US8769408B2 (en) * 2005-10-07 2014-07-01 Apple Inc. Intelligent media navigation
FR2891972A1 (en) * 2005-10-11 2007-04-13 France Telecom METHOD FOR AUTOMATIC MANAGEMENT OF ASSOCIATIONS BETWEEN SERVICES IN A DISTRIBUTED ENVIRONMENT
US8478898B2 (en) * 2005-11-09 2013-07-02 Ca, Inc. System and method for routing directory service operations in a directory service network
US9922031B2 (en) * 2005-11-09 2018-03-20 Ca, Inc. System and method for efficient directory performance using non-persistent storage
US8572201B2 (en) * 2005-11-09 2013-10-29 Ca, Inc. System and method for providing a directory service network
JP4621118B2 (en) * 2005-11-10 2011-01-26 パナソニック株式会社 Content related information acquisition device
KR100728256B1 (en) * 2005-11-28 2007-06-13 한국전자통신연구원 Homenetwork/Broadcast Linkage System and Method for using Multimedia Contents between Home Network and Broadcast
US8078290B2 (en) * 2005-12-13 2011-12-13 Panasonic Electric Works Co., Ltd. System and methods for controlling embedded devices using device style sheets
US20070157240A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
US20070156521A1 (en) 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for commerce in media program related merchandise
US20070156539A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for commerce in media program related merchandise
US7840977B2 (en) * 2005-12-29 2010-11-23 United Video Properties, Inc. Interactive media guidance system having multiple devices
US8607287B2 (en) * 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US9681105B2 (en) * 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
US20070157260A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
KR100746031B1 (en) 2006-01-10 2007-08-06 삼성전자주식회사 Apparatus and method for simulating home network
KR100772392B1 (en) * 2006-02-07 2007-11-01 삼성전자주식회사 Method and apparatus for processing contents using TV channel in home network
US9288424B2 (en) * 2006-02-10 2016-03-15 Cox Communications, Inc. Generating a genre-based video mosaic in a cable services network
US8516087B2 (en) * 2006-02-14 2013-08-20 At&T Intellectual Property I, L.P. Home automation system and method
US8170065B2 (en) 2006-02-27 2012-05-01 Time Warner Cable Inc. Methods and apparatus for selecting digital access technology for programming and data delivery
US8458753B2 (en) 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
US20070226078A1 (en) * 2006-03-06 2007-09-27 Transaxtions Llc Guiding info tabs with guide selection
US20070249420A1 (en) * 2006-04-14 2007-10-25 Stephen Randall Localized Telephone Gaming System
US20070244982A1 (en) * 2006-04-17 2007-10-18 Scott Iii Samuel T Hybrid Unicast and Multicast Data Delivery
US20070265973A1 (en) * 2006-05-15 2007-11-15 The Directv Group, Inc. Methods and apparatus to protect content in home networks
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US7992175B2 (en) 2006-05-15 2011-08-02 The Directv Group, Inc. Methods and apparatus to provide content on demand in content broadcast systems
US8095466B2 (en) 2006-05-15 2012-01-10 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at content servers in pay delivery systems
US8996421B2 (en) 2006-05-15 2015-03-31 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at broadcast headends in pay delivery systems
US8001565B2 (en) 2006-05-15 2011-08-16 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at receivers in pay delivery systems
US20070268414A1 (en) * 2006-05-21 2007-11-22 Ming-Tso Hsu Method and system for distributing pvr functionalities
US7721313B2 (en) 2006-06-30 2010-05-18 Microsoft Corporation Multi-DVR node communication
US20080022330A1 (en) * 2006-06-30 2008-01-24 Microsoft Corporation Multi-DVR Content Management
US20080022331A1 (en) * 2006-06-30 2008-01-24 Microsoft Corporation Multi-DVR Media Stream Transition
EP1883020B1 (en) * 2006-07-28 2013-05-22 Dassault Systèmes Method and system for navigating in a database of a computer system
US9225761B2 (en) 2006-08-04 2015-12-29 The Directv Group, Inc. Distributed media-aggregation systems and methods to operate the same
US9178693B2 (en) 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US20090115915A1 (en) * 2006-08-09 2009-05-07 Fotonation Vision Limited Camera Based Feedback Loop Calibration of a Projection Device
US20080046935A1 (en) * 2006-08-18 2008-02-21 Krakirian Haig H System and method for displaying program guide information
US7577908B2 (en) * 2006-11-20 2009-08-18 Sony Corporation TV-centric system
JP4179367B2 (en) * 2006-09-05 2008-11-12 ソニー株式会社 Information processing system, information processing apparatus, information processing method, program, and recording medium
US20080061578A1 (en) * 2006-09-07 2008-03-13 Technology, Patents & Licensing, Inc. Data presentation in multiple zones using a wireless home entertainment hub
US8005236B2 (en) 2006-09-07 2011-08-23 Porto Vinci Ltd. Limited Liability Company Control of data presentation using a wireless home entertainment hub
US9386269B2 (en) * 2006-09-07 2016-07-05 Rateze Remote Mgmt Llc Presentation of data on multiple display devices using a wireless hub
US9233301B2 (en) * 2006-09-07 2016-01-12 Rateze Remote Mgmt Llc Control of data presentation from multiple sources using a wireless home entertainment hub
US8607281B2 (en) 2006-09-07 2013-12-10 Porto Vinci Ltd. Limited Liability Company Control of data presentation in multiple zones using a wireless home entertainment hub
US9319741B2 (en) * 2006-09-07 2016-04-19 Rateze Remote Mgmt Llc Finding devices in an entertainment system
US8966545B2 (en) * 2006-09-07 2015-02-24 Porto Vinci Ltd. Limited Liability Company Connecting a legacy device into a home entertainment system using a wireless home entertainment hub
US8935733B2 (en) * 2006-09-07 2015-01-13 Porto Vinci Ltd. Limited Liability Company Data presentation using a wireless home entertainment hub
US8387083B1 (en) * 2006-09-21 2013-02-26 Adobe Systems Incorporated Monitoring media content channels
US8015506B2 (en) * 2006-09-22 2011-09-06 Microsoft Corporation Customizing a menu in a discovery interface
US8112714B2 (en) * 2006-09-22 2012-02-07 Microsoft Corporation Customizing application page loading in a discovery interface
US8345272B2 (en) 2006-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for third-party control of remote imaging jobs
AU2007312942A1 (en) * 2006-10-17 2008-04-24 Altec Lansing Australia Pty Ltd Unification of multimedia devices
US20080098452A1 (en) * 2006-10-18 2008-04-24 Hardacker Robert L TV-centric system
US8296315B2 (en) * 2006-11-03 2012-10-23 Microsoft Corporation Earmarking media documents
US20080120682A1 (en) * 2006-11-17 2008-05-22 Robert Hardacker TV-centric system
WO2008085203A2 (en) * 2006-12-29 2008-07-17 Prodea Systems, Inc. Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises
US8312495B2 (en) * 2007-01-05 2012-11-13 Verizon Patent And Licensing Inc. Apparatus for remotely controlling set-top boxes and an associated method and computer program product
US20080178125A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Providing dynamic content in a user interface in an application
KR101336223B1 (en) * 2007-01-26 2013-12-16 삼성전자주식회사 Method for providing GUI for selecting broadcast channel with key pad operated by pointer and broadcast apparatus thereof
US8751475B2 (en) * 2007-02-14 2014-06-10 Microsoft Corporation Providing additional information related to earmarks
US20080228880A1 (en) * 2007-03-12 2008-09-18 Microsoft Corporation Managed code mapi apis
US20080229370A1 (en) * 2007-03-13 2008-09-18 Zustak Frederick J TV-centric system
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US8418206B2 (en) 2007-03-22 2013-04-09 United Video Properties, Inc. User defined rules for assigning destinations of content
JP2008242504A (en) * 2007-03-23 2008-10-09 Toshiba Corp User interface device, display method and display program
US20080243787A1 (en) * 2007-03-30 2008-10-02 Tyron Jerrod Stading System and method of presenting search results
US20080244081A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Automated testing of audio and multimedia over remote desktop protocol
US9071796B2 (en) * 2007-03-30 2015-06-30 Verizon Patent And Licensing Inc. Managing multiple media content sources
US8583592B2 (en) * 2007-03-30 2013-11-12 Innography, Inc. System and methods of searching data sources
AU2014203238B2 (en) * 2007-04-20 2015-08-06 Rovi Guides, Inc. Systems and Methods for Providing Remote Access to Interactive Media Guidance Applications
US8087047B2 (en) * 2007-04-20 2011-12-27 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
AU2012202334B2 (en) * 2007-04-20 2014-03-13 Rovi Guides, Inc. Systems and Method for Providing Remote Access to Interactive Media Guidance Applications
KR101387396B1 (en) * 2007-04-24 2014-04-23 삼성전자주식회사 Method for providing service information and device thereof
WO2008137916A1 (en) * 2007-05-07 2008-11-13 Ryan Steelberg Open api digital video recorder and method of making and using same
US8122467B2 (en) 2007-05-07 2012-02-21 Ryan Steelberg Open API video system and method of making and using same
US10313760B2 (en) * 2007-05-15 2019-06-04 Tivo Solutions Inc. Swivel search system
US8201096B2 (en) 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US8185839B2 (en) * 2007-06-09 2012-05-22 Apple Inc. Browsing or searching user interfaces and other aspects
US9674675B2 (en) 2007-06-20 2017-06-06 Qualcomm Incorporated Synchronizing floor control and media sharing in a half-duplex PTT system
US20100190478A1 (en) * 2009-01-23 2010-07-29 Qualcomm Incorporated System and method for push-to-share file distribution with previews
US9210202B2 (en) 2007-06-20 2015-12-08 Qualcomm Incorporated System and method for sharing media in a group communication among wireless communication devices
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
CN101810000B (en) * 2007-07-13 2014-08-06 赖安·斯蒂尔伯格 Open API digital video recorder and method of making and using same
US20090047989A1 (en) * 2007-08-16 2009-02-19 Questox Corporation Cellular notebook
US9063934B2 (en) * 2007-08-17 2015-06-23 At&T Intellectual Property I, Lp System for identifying media content
US11126321B2 (en) 2007-09-04 2021-09-21 Apple Inc. Application menu user interface
US8327403B1 (en) * 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
JP5194673B2 (en) 2007-09-26 2013-05-08 株式会社日立製作所 Mobile terminal and information transmission / reception method
US8561116B2 (en) 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
US20090089676A1 (en) * 2007-09-30 2009-04-02 Palm, Inc. Tabbed Multimedia Navigation
KR100907531B1 (en) * 2007-10-01 2009-07-14 한국전자통신연구원 System and Method for Synchronizing Media and Multi-Devices for SMM-Based Media Services
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
KR101265266B1 (en) * 2007-10-16 2013-05-20 삼성전자주식회사 Method for controlling content recording device and appratus therefor
US20090100464A1 (en) * 2007-10-16 2009-04-16 Microsoft Corporation Content filter
KR101425679B1 (en) * 2007-10-23 2014-08-13 엘지전자 주식회사 EPG display device and this method
US20090144776A1 (en) * 2007-11-29 2009-06-04 At&T Knowledge Ventures, L.P. Support for Personal Content in a Multimedia Content Delivery System and Network
US9275056B2 (en) * 2007-12-14 2016-03-01 Amazon Technologies, Inc. System and method of presenting media data
US20090165051A1 (en) * 2007-12-19 2009-06-25 United Video Properties, Inc. Methods and devices for presenting an interactive media guidance application
US20090165049A1 (en) * 2007-12-19 2009-06-25 United Video Properties, Inc. Methods and devices for presenting and interactive media guidance application
US9900557B2 (en) * 2007-12-28 2018-02-20 Verizon Patent And Licensing Inc. Method and apparatus for remote set-top box management
US9602774B2 (en) * 2007-12-28 2017-03-21 Verizon Patent And Licensing Inc. Method and apparatus for providing virtual channels
US20090180398A1 (en) * 2008-01-16 2009-07-16 Sony Corporation, A Japanese Corporation Method and apparatus for facilitating interaction between the services provided by respective networked devices
US20090193101A1 (en) * 2008-01-24 2009-07-30 Panasonic Corporation Multimedia data transmitting apparatus and multimedia data management method
EP2247101A4 (en) * 2008-02-19 2014-07-09 Samsung Electronics Co Ltd Method and apparatus for using api-based iptv service
US20110047471A1 (en) * 2008-02-25 2011-02-24 Locamoda, Inc. Apparatus and Methods for Associating a User's Activity in Relation to a Physical Location with a Virtual Community
US8358913B2 (en) * 2008-02-29 2013-01-22 Microsoft Corporation Resolving recording conflicts
AU2008201014A1 (en) * 2008-03-04 2009-09-24 Whocando Pty Ltd Method and system for promoting a website
US20090232481A1 (en) * 2008-03-11 2009-09-17 Aaron Baalbergen Systems and methods for handling content playback
JP5252952B2 (en) * 2008-03-11 2013-07-31 キヤノン株式会社 Receiver
EP2258090A1 (en) * 2008-03-21 2010-12-08 Koninklijke Philips Electronics N.V. Method for displaying information generated by a client
US8745664B2 (en) * 2008-03-26 2014-06-03 Microsoft Corporation Non-grid television guide
JP4506871B2 (en) * 2008-04-30 2010-07-21 ソニー株式会社 RECORDING DEVICE, RECORDING STATUS DETECTION METHOD, PROGRAM DISTRIBUTION RECORDING SYSTEM, AND PROGRAM
US20090282422A1 (en) * 2008-05-07 2009-11-12 Ryan Steelberg Open API digital video recorder and method of making and using same
KR101446090B1 (en) * 2008-05-27 2014-10-02 삼성전자주식회사 Control device and method for providing user interface thereof
JP4661907B2 (en) * 2008-05-30 2011-03-30 ソニー株式会社 Information processing system, information processing apparatus, information processing method, and program
EP2286356A4 (en) * 2008-06-03 2013-03-06 Whirlpool Co Appliance development toolkit
US8601526B2 (en) 2008-06-13 2013-12-03 United Video Properties, Inc. Systems and methods for displaying media content and media guidance information
US8924855B2 (en) * 2008-06-19 2014-12-30 Sony Corporation Retail outlet TV feature display system
US8330236B2 (en) * 2008-06-20 2012-12-11 Garmin Switzerland Gmbh Isolation channel improving measurement accuracy of MEMS devices
US9305060B2 (en) * 2008-07-18 2016-04-05 Steven L. Robertson System and method for performing contextual searches across content sources
US8909810B2 (en) * 2008-08-05 2014-12-09 Isabella Products, Inc. Systems and methods for multimedia content sharing
US8339514B2 (en) * 2008-09-03 2012-12-25 Sony Corporation Modular flexible software architecture for TV
US8544046B2 (en) * 2008-10-09 2013-09-24 Packetvideo Corporation System and method for controlling media rendering in a network using a mobile device
US20110107265A1 (en) * 2008-10-16 2011-05-05 Bank Of America Corporation Customizable graphical user interface
US20100325043A1 (en) * 2008-10-16 2010-12-23 Bank Of America Corporation Customized card-building tool
US8850347B2 (en) * 2010-09-30 2014-09-30 Honeywell International Inc. User interface list control system
US20110093493A1 (en) 2008-10-28 2011-04-21 Honeywell International Inc. Building management system site categories
TWI377469B (en) * 2008-11-13 2012-11-21 Transcend Information Inc Storage apparatus and on-line client service system, soft and method thereof
US8656227B2 (en) 2008-11-13 2014-02-18 Transcend Information, Inc. On-line client service method for storage apparatus
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
KR101666831B1 (en) 2008-11-26 2016-10-17 캘거리 싸이언티픽 인코포레이티드 Method and system for providing remote access to a state of an application program
US20100141838A1 (en) * 2008-12-08 2010-06-10 Andrew Peter Steggles Presentation synchronization system and method
US20100162342A1 (en) * 2008-12-22 2010-06-24 At&T Intellectual Property I, L.P. Parental controls for multiple devices
KR101718889B1 (en) * 2008-12-26 2017-03-22 삼성전자주식회사 Method and apparatus for providing a device with remote application in home network
US20100192181A1 (en) * 2009-01-29 2010-07-29 At&T Intellectual Property I, L.P. System and Method to Navigate an Electonic Program Guide (EPG) Display
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9282337B2 (en) * 2009-02-27 2016-03-08 Vixs Systems, Inc. Media source device with digital format conversion and methods for use therewith
EP2227005B1 (en) * 2009-03-04 2018-05-02 Samsung Electronics Co., Ltd. Remote controller with multimedia content display and control method thereof
US8689128B2 (en) 2009-03-16 2014-04-01 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US8665886B2 (en) 2009-03-26 2014-03-04 Brocade Communications Systems, Inc. Redundant host connection in a routed network
USD633918S1 (en) * 2009-03-27 2011-03-08 T-Mobile Usa, Inc. Portion of a display screen with a user interface
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US9250926B2 (en) * 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US9866609B2 (en) * 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US9195775B2 (en) * 2009-06-26 2015-11-24 Iii Holdings 2, Llc System and method for managing and/or rendering internet multimedia content in a network
US9525838B2 (en) * 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US8448210B2 (en) * 2009-09-30 2013-05-21 Echostar Technologies L.L.C. Apparatus, systems and methods for rich media electronic program guides
US20120222061A1 (en) * 2009-10-14 2012-08-30 Thomson Licensing Automatic media asset update over an online social network
US20110126234A1 (en) * 2009-11-24 2011-05-26 DOOREME, Inc. Media content distribution system and method
US9479838B2 (en) * 2009-11-24 2016-10-25 Sam Makhlouf System and method for distributing media content from multiple sources
KR101859766B1 (en) * 2009-12-23 2018-06-28 삼성전자주식회사 System and method for displaying document content using universal plug and play
US20110183654A1 (en) * 2010-01-25 2011-07-28 Brian Lanier Concurrent Use of Multiple User Interface Devices
US20110181780A1 (en) * 2010-01-25 2011-07-28 Barton James M Displaying Content on Detected Devices
US8997092B2 (en) * 2010-02-03 2015-03-31 Symantec Corporation Method, system, and computer readable medium for provisioning and remote distribution
US8892145B2 (en) * 2010-02-18 2014-11-18 Qualcomm Incorporated System and method for selective media object removal in group communications among wireless communication devices
US8369335B2 (en) 2010-03-24 2013-02-05 Brocade Communications Systems, Inc. Method and system for extending routing domain to non-routing end stations
US9001824B2 (en) 2010-05-18 2015-04-07 Brocade Communication Systems, Inc. Fabric formation for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9461840B2 (en) 2010-06-02 2016-10-04 Brocade Communications Systems, Inc. Port profile management for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9231890B2 (en) 2010-06-08 2016-01-05 Brocade Communications Systems, Inc. Traffic management for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US9204193B2 (en) 2010-05-14 2015-12-01 Rovi Guides, Inc. Systems and methods for media detection and filtering using a parental control logging application
US8885488B2 (en) 2010-06-02 2014-11-11 Brocade Communication Systems, Inc. Reachability detection in trill networks
US8634308B2 (en) 2010-06-02 2014-01-21 Brocade Communications Systems, Inc. Path detection in trill networks
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9749676B2 (en) * 2010-06-08 2017-08-29 Microsoft Technology Licensing, Llc Virtual playback speed modification
US9246703B2 (en) 2010-06-08 2016-01-26 Brocade Communications Systems, Inc. Remote port mirroring
US8446914B2 (en) 2010-06-08 2013-05-21 Brocade Communications Systems, Inc. Method and system for link aggregation across multiple switches
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
KR101831686B1 (en) * 2010-06-14 2018-02-23 삼성전자주식회사 Method and apparatus for determinig object change in home network
US8918856B2 (en) 2010-06-24 2014-12-23 Microsoft Corporation Trusted intermediary for network layer claims-enabled access control
WO2011161966A1 (en) * 2010-06-25 2011-12-29 パナソニック株式会社 Control device and script conversion method
US8667100B2 (en) 2010-07-07 2014-03-04 Comcast Interactive Media, Llc Device communication, monitoring and control architecture and method
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
KR20120013727A (en) * 2010-08-06 2012-02-15 삼성전자주식회사 Display apparatus and control method thereof
US8832745B2 (en) * 2010-09-03 2014-09-09 Verizon Patent And Licensing Inc. User interfaces for facilitating access to media content listings
US8528069B2 (en) * 2010-09-30 2013-09-03 Microsoft Corporation Trustworthy device claims for enterprise applications
KR20120061577A (en) * 2010-12-03 2012-06-13 삼성전자주식회사 Display apparatus and contents searching method
US9542203B2 (en) 2010-12-06 2017-01-10 Microsoft Technology Licensing, Llc Universal dock for context sensitive computing device
US9252966B2 (en) * 2010-12-08 2016-02-02 At&T Intellectual Property I, L.P. Method and system for configuring instrumentation devices
US8923770B2 (en) 2010-12-09 2014-12-30 Microsoft Corporation Cognitive use of multiple regulatory domains
US8792429B2 (en) * 2010-12-14 2014-07-29 Microsoft Corporation Direct connection with side channel control
US9294545B2 (en) 2010-12-16 2016-03-22 Microsoft Technology Licensing, Llc Fast join of peer to peer group with power saving mode
US8948382B2 (en) 2010-12-16 2015-02-03 Microsoft Corporation Secure protocol for peer-to-peer network
US8971841B2 (en) 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
US9310966B2 (en) * 2011-03-24 2016-04-12 Lg Electronics Inc. Mobile terminal and method for controlling the same
US8725743B2 (en) * 2011-04-07 2014-05-13 Microsoft Corporation Accessible commanding interface
US20120260167A1 (en) * 2011-04-07 2012-10-11 Sony Corporation User interface for audio video display device such as tv
DE102011001951B4 (en) * 2011-04-11 2012-10-25 Loewe Opta Gmbh control unit
US9633392B2 (en) * 2011-04-13 2017-04-25 Paypal, Inc. Integrated finding experience systems and methods
US8635708B2 (en) * 2011-04-27 2014-01-21 Echostar Technologies L.L.C. Apparatus, systems and methods for parental control synchronization with mobile media devices
US9270572B2 (en) 2011-05-02 2016-02-23 Brocade Communications Systems Inc. Layer-3 support in TRILL networks
KR20120139574A (en) * 2011-06-17 2012-12-27 삼성전자주식회사 Apparatus and method for data exchange between devices based of universal plug and play
US10055746B1 (en) 2011-06-24 2018-08-21 The Directv Group, Inc. Method and system for obtaining feedback for a content recommendation by various algorithms
PE20141839A1 (en) 2011-06-24 2014-11-20 Directv Group Inc METHOD AND SYSTEM TO OBTAIN VISUALIZATION DATA AND PROVIDE CONTENT RECOMMENDATIONS TO A DIGITAL SIGNAL DECODER
US9788069B1 (en) 2011-06-24 2017-10-10 The Directv Group, Inc. Method and system for recording recommended content within a user device
US8948056B2 (en) 2011-06-28 2015-02-03 Brocade Communication Systems, Inc. Spanning-tree based loop detection for an ethernet fabric switch
US9407533B2 (en) 2011-06-28 2016-08-02 Brocade Communications Systems, Inc. Multicast in a trill network
US9401861B2 (en) 2011-06-28 2016-07-26 Brocade Communications Systems, Inc. Scalable MAC address distribution in an Ethernet fabric switch
US8879549B2 (en) 2011-06-28 2014-11-04 Brocade Communications Systems, Inc. Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch
US9007958B2 (en) 2011-06-29 2015-04-14 Brocade Communication Systems, Inc. External loop detection for an ethernet fabric switch
US8885641B2 (en) 2011-06-30 2014-11-11 Brocade Communication Systems, Inc. Efficient trill forwarding
US8849819B2 (en) 2011-08-05 2014-09-30 Deacon Johnson System and method for controlling and organizing metadata associated with on-line content
SG2014011506A (en) 2011-08-15 2014-05-29 Calgary Scient Inc Non-invasive remote access to an application program
EP2745467A4 (en) 2011-08-15 2015-10-14 Calgary Scient Inc Method for flow control and for reliable communication in a collaborative environment
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
US9032451B2 (en) * 2011-09-01 2015-05-12 The Directv Group, Inc. Method and system for using a second screen device for interacting with a set top box to enhance a user experience
EP2592828A1 (en) * 2011-11-09 2013-05-15 OpenTV, Inc. Apparatus and method for navigating an electronic program guide
US9596320B2 (en) 2011-09-30 2017-03-14 Calgary Scientific Inc. Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
JP6172537B2 (en) 2011-11-23 2017-08-02 カルガリー サイエンティフィック インコーポレイテッド Method and system for federated remote application sharing and conferencing
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US8893167B2 (en) 2012-02-07 2014-11-18 Turner Broadcasting System, Inc. Method and system for automatic content recognition based on customized user preferences
US9092540B2 (en) * 2012-02-14 2015-07-28 International Business Machines Corporation Increased interoperability between web-based applications and hardware functions
US9223839B2 (en) 2012-02-22 2015-12-29 Honeywell International Inc. Supervisor history view wizard
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
CA2865707A1 (en) * 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US8260842B1 (en) 2012-04-27 2012-09-04 Wirespring Technologies, Inc. Device-agnostic content management, playback and status monitoring system
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
US10454760B2 (en) 2012-05-23 2019-10-22 Avago Technologies International Sales Pte. Limited Layer-3 overlay gateways
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9195383B2 (en) 2012-06-29 2015-11-24 Spotify Ab Systems and methods for multi-path control signals for media presentation devices
US10620797B2 (en) * 2012-06-29 2020-04-14 Spotify Ab Systems and methods for multi-context media control and playback
CN104145434B (en) 2012-08-17 2017-12-12 青岛海信国际营销股份有限公司 The channel switch device of intelligent television
US11368760B2 (en) 2012-08-17 2022-06-21 Flextronics Ap, Llc Applications generating statistics for user behavior
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
CN104685428B (en) 2012-08-28 2017-03-01 戴尔斯生活有限责任公司 For improve with can the system of the happiness that is associated of living environment, method and object
US9953514B2 (en) 2012-09-21 2018-04-24 Google Llc Visitor feedback to visitor interaction with a doorbell at a smart-home
US10735216B2 (en) * 2012-09-21 2020-08-04 Google Llc Handling security services visitor at a smart-home
US9960929B2 (en) 2012-09-21 2018-05-01 Google Llc Environmental sensing with a doorbell at a smart-home
US9600645B2 (en) 2012-09-21 2017-03-21 Google Inc. Smart invitation handling at a smart-home
US9978238B2 (en) 2012-09-21 2018-05-22 Google Llc Visitor options at an entryway to a smart-home
US9626841B2 (en) 2012-09-21 2017-04-18 Google Inc. Occupant notification of visitor interaction with a doorbell at a smart-home
US9652912B2 (en) 2012-09-21 2017-05-16 Google Inc. Secure handling of unsupervised package drop off at a smart-home
US10332059B2 (en) 2013-03-14 2019-06-25 Google Llc Security scoring in a smart-sensored home
US9640055B2 (en) 2012-09-21 2017-05-02 Google Inc. Interacting with a detected visitor at an entryway to a smart-home
US9711036B2 (en) 2012-09-21 2017-07-18 Google Inc. Leveraging neighborhood to handle potential visitor at a smart-home
US9959727B2 (en) 2012-09-21 2018-05-01 Google Llc Handling visitor interaction at a smart-home in a do not disturb mode
US9881474B2 (en) 2012-09-21 2018-01-30 Google Llc Initially detecting a visitor at a smart-home
US20140101682A1 (en) * 2012-10-10 2014-04-10 Microsoft Corporation Television auto-tune based on habitual viewing behaviors
US9727321B2 (en) 2012-10-11 2017-08-08 Netflix, Inc. System and method for managing playback of streaming digital content
US9565475B2 (en) * 2012-10-11 2017-02-07 Netflix, Inc. System and method for managing playback of streaming digital content
US9529349B2 (en) 2012-10-22 2016-12-27 Honeywell International Inc. Supervisor user management system
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9167278B2 (en) 2012-12-28 2015-10-20 Turner Broadcasting System, Inc. Method and system for automatic content recognition (ACR) based broadcast synchronization
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
US9253262B2 (en) 2013-01-24 2016-02-02 Rovi Guides, Inc. Systems and methods for connecting media devices through web sockets
US20140245160A1 (en) * 2013-02-22 2014-08-28 Ubiquiti Networks, Inc. Mobile application for monitoring and controlling devices
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US20140253814A1 (en) * 2013-03-11 2014-09-11 Sony Corporation Managing Extra Space on Ultra High Definition Display Presenting High Definition Visual Content
US9848276B2 (en) 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material
US10261650B2 (en) * 2013-03-12 2019-04-16 Oracle International Corporation Window grouping and management across applications and devices
US10003780B1 (en) 2013-03-14 2018-06-19 The Directv Group, Inc. Method and system for recording recommended content within a user device and indicating recording capacity
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
US9326043B2 (en) 2013-03-15 2016-04-26 Samir B. Makhlouf System and method for engagement and distribution of media content
US10104438B1 (en) * 2013-03-15 2018-10-16 Cox Communications, Inc Automatic population of a programming guide mosaic screen
US9781490B2 (en) 2013-03-15 2017-10-03 Samir B. Makhlouf System and method for engagement and distribution of media content
US10182272B2 (en) 2013-03-15 2019-01-15 Samir B Makhlouf System and method for reinforcing brand awareness with minimal intrusion on the viewer experience
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9798510B2 (en) * 2013-05-29 2017-10-24 Sonos, Inc. Connected state indicator
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
CN104243273A (en) * 2013-06-09 2014-12-24 阿里巴巴集团控股有限公司 Method and device for displaying information on instant messaging client and information display system
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9336645B2 (en) 2013-09-18 2016-05-10 Igt Gaming system and method for playing a game including a plurality of linked symbol generators
US9578117B2 (en) * 2013-09-20 2017-02-21 Amazon Technologies, Inc. Service discovery using a network
US9971977B2 (en) 2013-10-21 2018-05-15 Honeywell International Inc. Opus enterprise report system
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US9924215B2 (en) * 2014-01-09 2018-03-20 Hsni, Llc Digital media content management system and method
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
AU2015223112B2 (en) 2014-02-28 2020-07-09 Delos Living Llc Systems, methods and articles for enhancing wellness associated with habitable environments
US9483997B2 (en) 2014-03-10 2016-11-01 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using infrared signaling
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
KR102147389B1 (en) * 2014-03-25 2020-08-24 삼성전자주식회사 Display apparatus and Method for controlling display apparatus thereof
US20150312622A1 (en) * 2014-04-25 2015-10-29 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using upnp
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US9696414B2 (en) 2014-05-15 2017-07-04 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using sonic signaling
US10070291B2 (en) 2014-05-19 2018-09-04 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using low energy bluetooth
CN104065992A (en) * 2014-06-19 2014-09-24 浪潮软件集团有限公司 HTML-based multi-screen set top box remote controller system and working method
WO2015200371A1 (en) 2014-06-24 2015-12-30 Apple Inc. Music now playing user interface
US9933762B2 (en) 2014-07-09 2018-04-03 Honeywell International Inc. Multisite version and upgrade management system
US11516309B2 (en) 2014-07-16 2022-11-29 Tensera Networks Ltd. Transparent pre-loading of user applications
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US10706689B2 (en) 2014-09-26 2020-07-07 Igt Gaming system and method employing multiple symbol generators utilized for multiple concurrently played games
USD780201S1 (en) 2014-09-26 2017-02-28 Igt Gaming system display with graphical user interface
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US20160134929A1 (en) * 2014-11-07 2016-05-12 Qualcomm Incorporated Collaborative Distributed/Unstructured Service Management Framework for Wireless-Display Platform
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10119713B2 (en) * 2015-01-19 2018-11-06 Lennox Industries Inc. Distributed heating, ventilation, and air conditioning system with concurrent network connections and multi-zone control
US10009716B1 (en) 2015-02-10 2018-06-26 James E. Niles Method and system for enhancing a traveler's/consumer experience using customized content for smart devices/internet of things devices based on data mining information
CN104808499B (en) * 2015-03-09 2019-01-15 联想(北京)有限公司 A kind of method and control device based on linkage rule control smart home device
CN104749962B (en) * 2015-03-09 2017-06-27 联想(北京)有限公司 The method and control device of a kind of control smart home based on linkage rule
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10838943B2 (en) * 2015-04-10 2020-11-17 International Business Machines Corporation Content following content for providing updates to content leveraged in a deck
US10088172B2 (en) 2016-07-29 2018-10-02 Alto-Shaam, Inc. Oven using structured air
US10337745B2 (en) 2015-06-08 2019-07-02 Alto-Shaam, Inc. Convection oven
US9677774B2 (en) 2015-06-08 2017-06-13 Alto-Shaam, Inc. Multi-zone oven with variable cavity sizes
US9879865B2 (en) 2015-06-08 2018-01-30 Alto-Shaam, Inc. Cooking oven
US10890336B2 (en) 2015-06-08 2021-01-12 Alto-Shaam, Inc. Thermal management system for multizone oven
FR3038478B1 (en) 2015-07-03 2018-07-06 Somfy Sas DOMOTIC INSTALLATION AND METHOD OF ESTABLISHING THE TOPOLOGY OF A DOMOTIC INSTALLATION
FR3038480B1 (en) 2015-07-03 2018-11-16 Somfy Sas METHOD FOR RECORDING A CENTRAL CONTROL UNIT BELONGING TO A DOMOTIC INSTALLATION
FR3038477B1 (en) * 2015-07-03 2018-07-06 Somfy Sas METHOD FOR CONTROLLING A DOMOTIC INSTALLATION
CN104954846B (en) * 2015-07-27 2018-09-18 北京京东方多媒体科技有限公司 Element method of adjustment, equipment and system
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
USD802010S1 (en) * 2015-08-14 2017-11-07 Draeger Medical Systems, Inc. Display panel with graphical user interface for a battery charge indicator
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US10209689B2 (en) 2015-09-23 2019-02-19 Honeywell International Inc. Supervisor history service import manager
US10362104B2 (en) 2015-09-23 2019-07-23 Honeywell International Inc. Data manager
KR102535086B1 (en) * 2015-09-30 2023-05-22 삼성전자주식회사 Electronic device and operating mehtod thereof
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10528241B2 (en) * 2016-03-21 2020-01-07 Roku, Inc. Controlling display device settings from a mobile device touch interface
WO2017165166A1 (en) 2016-03-21 2017-09-28 Carrier Corporation Intrusion security panel with remote assistance through simulated user interface
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
EP3504942A4 (en) 2016-08-24 2020-07-15 Delos Living LLC Systems, methods and articles for enhancing wellness associated with habitable environments
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US10701438B2 (en) 2016-12-31 2020-06-30 Turner Broadcasting System, Inc. Automatic content recognition and verification in a broadcast chain
US10512017B2 (en) * 2017-05-16 2019-12-17 II John Thomas Walker Device for radio communications and method for establishing and maintaining communications between device and fixed location radio communication facilities
US11109290B2 (en) 2017-08-04 2021-08-31 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network
US11668481B2 (en) 2017-08-30 2023-06-06 Delos Living Llc Systems, methods and articles for assessing and/or improving health and well-being
CA3086587A1 (en) 2017-12-22 2019-06-27 Verifi Llc Managing concrete mix design catalogs
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US11922187B2 (en) 2018-03-05 2024-03-05 Tensera Networks Ltd. Robust application preloading with accurate user experience
US11915012B2 (en) 2018-03-05 2024-02-27 Tensera Networks Ltd. Application preloading in the presence of user actions
EP3850458A4 (en) 2018-09-14 2022-06-08 Delos Living, LLC Systems and methods for air remediation
US11844163B2 (en) 2019-02-26 2023-12-12 Delos Living Llc Method and apparatus for lighting in an office environment
WO2020198183A1 (en) 2019-03-25 2020-10-01 Delos Living Llc Systems and methods for acoustic monitoring
WO2021019415A1 (en) 2019-07-30 2021-02-04 Tensera Networks Ltd. Pre-rendering of application user-interfaces in user devices
US11372387B2 (en) * 2020-03-03 2022-06-28 Charter Communications Operating, Llc Metadata-based smart home automation
US11184463B1 (en) * 2020-11-11 2021-11-23 International Business Machines Corporation Interacting with a client system to gather client data to use to diagnose a problem at the client system
WO2022118131A1 (en) * 2020-12-03 2022-06-09 Tensera Networks Preloading of applications having an existing task
US11651013B2 (en) 2021-01-06 2023-05-16 International Business Machines Corporation Context-based text searching
CN113660506A (en) * 2021-08-31 2021-11-16 五八同城信息技术有限公司 Information display method and device, electronic equipment and storage medium
US11838597B1 (en) * 2022-02-17 2023-12-05 Verizon Patent And Licensing Inc. Systems and methods for content discovery by automatic organization of collections or rails

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010030950A1 (en) * 2000-01-31 2001-10-18 Chen Steven Chien-Young Broadband communications access device
US20020103934A1 (en) * 2001-01-26 2002-08-01 Neil Fishman Caching transformed content in a mobile gateway
US20020168177A1 (en) * 2000-12-11 2002-11-14 Sanyo Electric Co., Ltd. Program recording system and program recording method
US20030086023A1 (en) * 2001-11-06 2003-05-08 Lg Electronics Inc. Personal video recorder including a network interface

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727060A (en) * 1989-10-30 1998-03-10 Starsight Telecast, Inc. Television schedule system
US6661468B2 (en) 1994-05-20 2003-12-09 United Video Properties, Inc. Electronic television program guide schedule system and method
US5473609A (en) 1994-05-26 1995-12-05 Thomson Consumer Electronics, Inc. Method and apparatus for processing a conditional access program guide as for a satellite TV service
US6163345A (en) * 1995-01-04 2000-12-19 Sony Corportion Method and apparatus for providing station and programming information in a multiple station broadcast system
JPH08314979A (en) 1995-03-13 1996-11-29 Matsushita Electric Ind Co Ltd Method and device for displaying program information on display
US5880768A (en) 1995-04-06 1999-03-09 Prevue Networks, Inc. Interactive program guide systems and processes
US5585838A (en) 1995-05-05 1996-12-17 Microsoft Corporation Program time guide
AU3908297A (en) * 1996-08-06 1998-02-25 Starsight Telecast Incorporated Electronic program guide with interactive areas
US20030093790A1 (en) 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
JPH10126759A (en) 1996-10-16 1998-05-15 Sony Corp Receiver and display controlling method
JPH10126750A (en) 1996-10-23 1998-05-15 Matsushita Electric Ind Co Ltd Program information broadcast system, broadcast equipment, and reception terminal equipment
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US5850218A (en) 1997-02-19 1998-12-15 Time Warner Entertainment Company L.P. Inter-active program guide with default selection control
GB2325537B8 (en) 1997-03-31 2000-01-31 Microsoft Corp Query-based electronic program guide
US20010010046A1 (en) 1997-09-11 2001-07-26 Muyres Matthew R. Client content management and distribution system
US6587217B1 (en) 1997-09-15 2003-07-01 International Business Machines Corporation Method for organizing files in a library in a network printing system
US6564378B1 (en) * 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1218241C (en) * 1998-05-07 2005-09-07 三星电子株式会社 Method and apparatus for universally accessible command and control information in network
US6040829A (en) 1998-05-13 2000-03-21 Croy; Clemens Personal navigator system
US6536041B1 (en) * 1998-06-16 2003-03-18 United Video Properties, Inc. Program guide system with real-time data sources
DE69903438T2 (en) 1998-07-17 2003-08-14 United Video Properties Inc Interactive TV guide with multiple devices in one place
US7831930B2 (en) 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
US7586398B2 (en) 1998-07-23 2009-09-08 Universal Electronics, Inc. System and method for setting up a universal remote control
US6563430B1 (en) 1998-12-11 2003-05-13 Koninklijke Philips Electronics N.V. Remote control device with location dependent interface
US6526577B1 (en) 1998-12-01 2003-02-25 United Video Properties, Inc. Enhanced interactive program guide
US6601238B2 (en) * 1998-12-22 2003-07-29 Thomson Licensing S.A. Providing a link to programs in a program guide
US6122648A (en) * 1999-01-11 2000-09-19 Gohome Networks, Inc. Method apparatus and system for improved content management and delivery
US7130616B2 (en) * 2000-04-25 2006-10-31 Simple Devices System and method for providing content, management, and interactivity for client devices
US20020013852A1 (en) 2000-03-03 2002-01-31 Craig Janik System for providing content, management, and interactivity for thin client devices
US6363434B1 (en) 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices
US20050182828A1 (en) * 1999-04-21 2005-08-18 Interactual Technologies, Inc. Platform specific execution
US6640337B1 (en) 1999-11-01 2003-10-28 Koninklijke Philips Electronics N.V. Digital television (DTV) including a smart electronic program guide (EPG) and operating methods therefor
US20010042107A1 (en) * 2000-01-06 2001-11-15 Palm Stephen R. Networked audio player transport protocol and architecture
JP2001209586A (en) 2000-01-26 2001-08-03 Toshiba Corp Unit and method of controlling contents for computer
JP2001218127A (en) * 2000-01-31 2001-08-10 Pioneer Electronic Corp Program guide display device and display method
US6857128B1 (en) * 2000-02-14 2005-02-15 Sharp Laboratories Of America Electronic programming guide browsing system
US6784805B2 (en) * 2000-03-15 2004-08-31 Intrigue Technologies Inc. State-based remote control system
US6704769B1 (en) 2000-04-24 2004-03-09 Polycom, Inc. Media role management in a video conferencing network
US7140033B1 (en) 2000-06-21 2006-11-21 Bellsouth Intellectual Property Corporation Methods and systems for controlling consumer electronics external devices via data delivered to a device
US6370455B1 (en) 2000-09-05 2002-04-09 Hunter Engineering Company Method and apparatus for networked wheel alignment communications and service
US20020178279A1 (en) * 2000-09-05 2002-11-28 Janik Craig M. Webpad and method for using the same
US6868292B2 (en) 2000-09-14 2005-03-15 The Directv Group, Inc. Device control via digitally stored program content
JP2002125169A (en) 2000-10-18 2002-04-26 Pioneer Electronic Corp Program guide device and program guide method
US7207057B1 (en) 2000-11-16 2007-04-17 Rowe Lynn T System and method for collaborative, peer-to-peer creation, management & synchronous, multi-platform distribution of profile-specified media objects
CA2327632C (en) 2000-12-05 2008-10-07 Mitchell J. Shnier Methods for creating and playing a customized program of a variety of sources
US20020078161A1 (en) * 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
US6938101B2 (en) * 2001-01-29 2005-08-30 Universal Electronics Inc. Hand held device having a browser application
US6981273B1 (en) * 2001-02-21 2005-12-27 Sonic Solutions System, method and channel line-up processor for localizing an electronic program guide schedule
EP2265008A1 (en) 2001-02-21 2010-12-22 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
US20030023975A1 (en) * 2001-03-02 2003-01-30 Microsoft Corporation Enhanced music services for television
US7197759B2 (en) 2001-05-14 2007-03-27 Webtv Networks, Inc. Electronic program guide displayed simultaneously with television programming
US8063923B2 (en) 2001-07-13 2011-11-22 Universal Electronics Inc. System and method for updating information in an electronic portable device
WO2003015408A1 (en) * 2001-08-06 2003-02-20 Koninklijke Philips Electronics N.V. System and method for combining several epg sources to one reliable epg
US8365230B2 (en) * 2001-09-19 2013-01-29 Tvworks, Llc Interactive user interface for television applications
EP1436687A4 (en) 2001-09-20 2005-09-14 Ucentric Holdings Inc Centralized resource manager with power switching system
US8176432B2 (en) 2001-11-20 2012-05-08 UEI Electronics Inc. Hand held remote control device having an improved user interface
US6971121B2 (en) * 2001-12-06 2005-11-29 Scientific-Atlanta, Inc. Composite buffering
US8255968B2 (en) 2002-04-15 2012-08-28 Universal Electronics, Inc. System and method for adaptively controlling the recording of program material using a program guide
AU2003239385A1 (en) * 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US6792323B2 (en) * 2002-06-27 2004-09-14 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
JP3780982B2 (en) 2002-07-05 2006-05-31 ソニー株式会社 Video display system, video display method, and display device
US20040068739A1 (en) * 2002-10-04 2004-04-08 Russ Samuel H. Networked multimedia system having a multi-room interactive network guide
US7539759B2 (en) 2003-04-15 2009-05-26 Panasonic Corporation Session endpoint management protocol
EP1629475A1 (en) 2003-05-20 2006-03-01 Koninklijke Philips Electronics N.V. A content item recorder and method of recording therefor
US20040261040A1 (en) 2003-06-23 2004-12-23 Microsoft Corporation Method and apparatus for media access control
US7418472B2 (en) * 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
US7136709B2 (en) 2003-11-04 2006-11-14 Universal Electronics Inc. Home appliance control system and methods in a networked environment
US20050108751A1 (en) * 2003-11-17 2005-05-19 Sony Corporation TV remote control with display
US7434153B2 (en) 2004-01-21 2008-10-07 Fuji Xerox Co., Ltd. Systems and methods for authoring a media presentation
US20050188078A1 (en) 2004-02-23 2005-08-25 Kotzin Michael D. System and method for managing and associating dynamic containers of a content providing device
US20050210507A1 (en) 2004-03-17 2005-09-22 Sony Corporation System and method for multimedia playlist
US20050235047A1 (en) 2004-04-16 2005-10-20 Qiang Li Method and apparatus for a large scale distributed multimedia streaming system and its media content distribution
WO2005109886A2 (en) 2004-04-30 2005-11-17 Vulcan Inc. Controlling one or more media devices
WO2005109884A2 (en) 2004-04-30 2005-11-17 Vulcan Inc. Time-based graphical user interface for multimedia content
US20060248557A1 (en) 2005-04-01 2006-11-02 Vulcan Inc. Interface for controlling device groups
US20060253874A1 (en) 2005-04-01 2006-11-09 Vulcan Inc. Mobile interface for manipulating multimedia content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010030950A1 (en) * 2000-01-31 2001-10-18 Chen Steven Chien-Young Broadband communications access device
US20020168177A1 (en) * 2000-12-11 2002-11-14 Sanyo Electric Co., Ltd. Program recording system and program recording method
US20020103934A1 (en) * 2001-01-26 2002-08-01 Neil Fishman Caching transformed content in a mobile gateway
US20030086023A1 (en) * 2001-11-06 2003-05-08 Lg Electronics Inc. Personal video recorder including a network interface

Also Published As

Publication number Publication date
US20100332994A1 (en) 2010-12-30
US20060064720A1 (en) 2006-03-23
US7900228B2 (en) 2011-03-01
WO2005109885A3 (en) 2007-04-12
WO2005109906A3 (en) 2009-05-28
WO2005109908A2 (en) 2005-11-17
US20060085825A1 (en) 2006-04-20
US7792920B2 (en) 2010-09-07
US8359351B2 (en) 2013-01-22
WO2005109908A3 (en) 2006-02-16
WO2005109886A2 (en) 2005-11-17
US20060085835A1 (en) 2006-04-20
US20060026636A1 (en) 2006-02-02
WO2005109906A2 (en) 2005-11-17
WO2005109886A3 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
US7792920B2 (en) Network-accessible control of one or more media devices
US20060080408A1 (en) Smart home control of electronic devices
CN101506813B (en) Method, AV CP device and home network system for performing AV contents with segment unit
US20070136778A1 (en) Controller and control method for media retrieval, routing and playback
KR100846800B1 (en) A user interface method and system for navigation in networked devices
US8176140B2 (en) Home network device control service and/or internet service method and apparatus thereof for controlling internet services and home network devices based on a script
US8429696B2 (en) Multimedia presentation resumption within an environment of multiple presentation systems
US20060248557A1 (en) Interface for controlling device groups
US20060253874A1 (en) Mobile interface for manipulating multimedia content
US20060253782A1 (en) Interface for manipulating multimedia playlists
US9229937B2 (en) Apparatus and method for managing digital contents distributed over network
EP2663027A1 (en) Apparatus and method for sharing a bookmark with other user in a home network
JP2012531662A (en) System and method for managing and / or rendering internet multimedia content in a network
US20110161815A1 (en) Communication apparatus
US20060164931A1 (en) Method and apparatus for automatically interfacing between devices used to reproduce content and recording medium storing computer program for executing the method
US20070033288A1 (en) Method of using pause time information on media content in UPnP environment
US20060277318A1 (en) System and method for extending communications with a device network
JP4823924B2 (en) AV session restoration method and control point therefor
JP5600933B2 (en) Information processing apparatus, information processing method, program, and information processing system
JP2012034041A (en) Video reproduction control apparatus and video reproduction control method
JP2011109250A (en) Video display device and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase