HNTF/Home Network TF Discussions/UPnPHomeNetworkUA
Use Case: Home Network Enabled User-Agent
Submitter(s): Samsung Electronics (Russell Berkoff)
Description:
- Enable a User-Agent to act as a Home Network Media Player
- Enable a User-Agent to act as a Home Network Media Server
- Enable a User-Agent to control a Home Network Recording Device
- Enable a User-Agent to control other media oriented Home Network Devices (3-box model)
- Enable a User-Agent to control future Home Network Device classes
- See: Home Network Browser System Diagram
Need/justification:
- Existing Home Network interfaces do not (by scope/tradition) standardize user interface control. However, the combination of HTML markup and Javascript allow both access to Home Network devices functions and access to very capable user interface resources.
Scenarios
- The use-case scenarios are divided into the following sets:
- The User-Agent acts as a Home Network Media Player device. For example:
- List available Home Network Media Server devices. Steps
- List available content on a Home Network Media Server. Steps
- List available content on a Home Network Media Server matching specified metadata criteria. Steps
- Play content from a Home Network Media Server. Steps
- View EPG data from a Home Network Media Server. Steps
- Tune and play live programs from a Home Network Media Server capable of streaming live content.
- Select and play recorded content from a Home Network Recording device.
- The User-Agent acts as a Home Network Media Server device. For example:
- List available content that the User-Agent chooses to make available on the Home Network
- Provide descriptive metadata (title, description) for this content.
- Provide multiple binary formats for this content.
- Provide functionality to allow other User-Agents to search for content matching specified metadata criteria.
- Notify User-Agents of changes to available content.
- The User-Agent controls a Home Network Recording device. For example:
- Request the recording device capture content based on simple time/date criteria.
- Request the recording device capture content based recurring time/date criteria.
- Request the recording device capture content based on an EPG description.
- Request the recording device capture content based on a metadata description.
- Provide controls to suspend/restart/cancel planned recording activities.
- Provide status information for current/future recording activities.
- Provide access to recorded program descriptions and content.
- The User-Agent commands other media oriented home network devices. For example:
- Direct a Home Network Media Rendering device to play content stored from a Home Network Media Server.
- Direct a Home Network Media Rendering device to play live content from a Home Network Media Server capable of streaming content.
- Control Home Network Media Renderer attributes: Brightness, Contrast, Volume, etc.
- Control Home Network Media Renderer multiplex stream selection: Closed Captioning, Language, Subtitling, Camera Angles.
- The User-Agent commands future home network device classes. For example:
- Control of home-automation devices such as window shades or (HVAC) room temperature.
- Control and monitoring of home-energy standards compliant devices (energy usage, time-of-day scheduling).
- Control of E-Health and Fitness devices.
- Control of Device Management devices (provisioning, firmware upgrades, etc).
- The User-Agent acts as a Home Network Media Player device. For example:
- Why were you not able to use only existing standards to accomplish this?
- HTML User-Agents do not provided the abstractions necessary for Javascript to issue discover and issue commands to home network devices.
- Basic access methods to home network devices need to be standardized so that developers can implement pages to control Home Network devices using Javascript/HTML.
- What might you suggest could be standardized?
- Provide generic access methods to enable a User-Agent to discover and command home network devices.
- Provide extensions to HTML5 <video>, <audio> elements to allow HTML5 to comply with Home Network Media Transport Requirements (mainly DLNA specific headers). Also, provide backward-compatible extensions to previous HTML versions to support similar functionality (presumably as browser-plugins).
- Provide access and privacy controls for untrusted pages accessing home network devices.
- Allow pages to control future Home Network device classes where the comand sets are not currently known.
- Allow pages to discover functional differences (optional functionality) that may be implemented in some but not all Home Network ecosystem devices.
Steps:
- The User-Agent acts as a Home Network Media Player device.
- List available Home Network Media Server devices.
- Web page issues a method to discover home network devices
- User-Agent gets an event indicating the list is ready.
- User-Agent retrieves a list of handles representing the discovered devices
- Web page issues a method to get information about each discovered device
- Web page retains handles for devices of the appropriate type.
- Web page displays available devices to end-user.
- End-User selects one of the displayed devices.
- Web page issues method to access the device.
- User-Agent responds that a password is required.
- Web page obtains the password from the end-user (or secure password store) and issues method to provide the password to the User-Agent
- Web page can now access the device.
- List available content on a Home Network Media Server.
- Web page formats an action request to browse the Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page displays containers and items as indicated in XML document
This depends on the data representation of Home Network Media Server content metadata. - Web page displays the information in the Home Media Server response.
- List available content on a Home Network Media Server matching specified metadata criteria.
- Web page formats an action request to determine searchable metadata on the selected Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device.
- Web page formats an action request to search the Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page displays containers and items as indicated in XML document
- Play content from a Home Network Media Server.
- End-user select displayed Home Network Media Server item for playback.
- Web page formats an action request to browse metadata for selected item.
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page selects media binary format that is compatible with User-Agent.
- Web page displays Media Player using HTML5 <video> element.
- Web page transfers item URL to <video> element @src (or creates <source> element as child-element)
- Web page issues Play() method <video> element
- View EPG data from a Home Network Media Server.
- Web page formats an action request to determine root container(s) for EPG data on the selected Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device.
- Web page formats an action request to search the Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page displays EPG containers and EPG items as indicated in XML document
- Tune and play live programs from a Home Network Media Server capable of streaming live content.
- Select and play recorded content from a Home Network Recording device.
- List available Home Network Media Server devices.
- The User-Agent acts as a Home Network Media Server device. For example:
- List available content that the User-Agent chooses to make available on the Home Network
- Provide descriptive metadata (title, description) for this content.
- Provide multiple binary formats for this content.
- Provide functionality to allow other User-Agents to search for content matching specified metadata criteria.
- Notify User-Agents of changes to available content.
- List available content that the User-Agent chooses to make available on the Home Network
- The User-Agent controls a Home Network Recording device. For example:
- Request the recording device capture content based on simple time/date criteria.
- Request the recording device capture content based recurring time/date criteria.
- Request the recording device capture content based on an EPG description.
- Request the recording device capture content based on a metadata description.
- Provide controls to suspend/restart/cancel planned recording activities.
- Provide status information for current/future recording activities.
- Provide access to recorded program descriptions and content.
- Request the recording device capture content based on simple time/date criteria.
- The User-Agent commands other media oriented home network devices. For example:
- Direct a Home Network Media Rendering device to play content stored from a Home Network Media Server.
- Direct a Home Network Media Rendering device to play live content from a Home Network Media Server capable of streaming content.
- Control Home Network Media Renderer attributes: Brightness, Contrast, Volume, etc.
- Control Home Network Media Renderer multiplex stream selection: Closed Captioning, Language, Subtitling, Camera Angles.
- Direct a Home Network Media Rendering device to play content stored from a Home Network Media Server.
- The User-Agent commands future home network device classes. For example:
- Control of home-automation devices such as window shades or (HVAC) room temperature.
- Control and monitoring of home-energy standards compliant devices (energy usage, time-of-day scheduling).
- Control of E-Health and Fitness devices.
- Control of Device Management devices (provisioning, firmware upgrades, etc).
- Control of home-automation devices such as window shades or (HVAC) room temperature.
Dependencies:
- This use-case provides the basic framework for generic access to home network devices. It is "agnostic" towards the underlying functionality of the devices being controlled.