The present invention relates generally to object carousels associated with digital transport streams. More particularly, the invention relates to a mechanism that extends the availability of object carousels in a broadcast stream to devices and services available on a home network or to users of a virtual private domain (e.g., connected via the Internet).
Digital television (DTV) is implemented upon a set of standards that provide for the distribution of audio, video and data. As of this writing the MPEG standard is currently employed. Currently, broadcasters utilize the MPEG-2 standard to deliver motion pictures, audio and digital data, including executable application data, to subscribers and/or members of the public. In this regard, although the MPEG-2 standard is in current use, the inventions discussed herein are not intended to be limited to such standard. Indeed, the inventions are adapted to evolve with evolving standards, allowing the inventions to be exploited both today and in the future.
Television viewers are, of course, aware that digital television will allow audio and video content to be delivered for enjoyment in the home. What many may not realize, however, is that the DTV standards also define data storage, retrieval and broadcasting services whereby digital information other than the audio and video content may be delivered to the home. By way of example, when it is necessary to upgrade the software in the home user's DTV receiver or set-top box, one or more files containing the digital information needed to perform the upgrade may be transmitted as part of the MPEG transport stream (according to the DTV standards) to the receiver or set-top box. In some instances, this digital data may represent an executable program that is then launched and run on the local receiver or set-top box to effect the software upgrade.
The MPEG-2 standard, for example, provides a full set of protocols known as the digital storage medium command and control (DSM-CC) protocols that may be used to control the flow of this digital information between the video source and the receiving equipment. According to the roadmap outlined by the DSM-CC standards, after an initial link has been set up between two entities in a video delivery network (such as between the broadcast source and the user's receiver or set-top box) DSM-CC provides the functionality to continue the setup of an application session. Because this session setup happens at the interface between the network and the user equipment, DSM-CC defines a user-to-network protocol. Once the application session has been set up, further logical links are established between the video server and the receiver or set-top box. One logical link might be used for user data (like MPEG-2 coded video) and another logical link might be used to control what is happening on the user data link. This latter link is sometimes called the control link.
The actual protocol to be used on this control link is not specified by DSM-CC. However, DSM-CC defines a set of services (such as services to manipulate a video stream) in the server. These services can be used by the client on the receiver or set-top box. Because these services are primarily relevant between two user entities (such as the server and the client), the DSM-CC standard refers to them as the DSM-CC user-to-user interface (U-U interface). Thus the DSM-CC standards envision two fundamentally different interfaces, a user-network interface and a user-user interface. The user-network interface is used primarily for session setup and teardown and for managing the resources needed for the session. The user-user interface provides more application layer-oriented functions. For example, the user-user interface is used for application download communications and client-server communications.
Application Download Communication
Under the DSM-CC protocol, the user-user interface enables application download operations, which are primarily used for loading executable code from the server to a client. In a service on demand scenario, for example, a navigator application software program might be downloaded immediately after the session between the server and the client is set up. For such relatively straightforward download communication, the DSM-CC defines a simple message-based protocol, which implements a basic data flow-control mechanism.
There are, however, some applications where the simple data flow-control mechanism may not be sufficient. The DSM-CC thus provides for the use of a broadcasting approach to downloading digital data such as executable code from the server to a plurality of end users. To support broadcast download, the DSM-CC employs a data carousel which mediates the downloading of data. The data carousel supplies data continuously on a well defined download channel. Clients can tune to this channel, identify the data that is provided for download by analyzing periodically transmitted download control messages, and finally capturing the data the clients are interested in.
Client-Server Communication
After a session has been set up between the client and the server, the actual software application used to implement the service can then be started. Typically the service will employ one software component executed on the client and another software component on the server. Frequently the client software provides a user interface that will allow the user to navigate and use the actual service.
The client-server communication needed to support the software application during use is typically quite application-specific. For example, to implement VCR functionality in an interactive video on demand application, commands like fast forward, rewind or pause will typically be transmitted from the client to the server. These commands would be implemented using the user-user portion of the DSM-CC protocols.
User-User Object Carousel
The data carousel protocol makes use of non-flow-controlled download messages to provide periodic broadcast of data to a set of clients. While simple images may be distributed using the generic data carousel services, a more ambitious use of data carousel services is to provide an environment where the actual user-user objects behind a user service are physically delivered to clients. To support this type of functionality, DSM-CC specifies a user-user (U-U) object carousel and a broadcast interoperability protocol (BIOP). BIOP provides a standard way of embedding in broadcast carousels object references that describe actual locations of object representations within the same broadcast channel. U-U objects may include such objects such as directories, files, streams and service gateways.
Object carousels thus represent a form of file system that may be present in a digital transport stream. Object carousels provide mechanisms to deliver files, streams, events and applications to a digital receiver. The digital receiver mounts the object carousel when a user tunes to a particular channel, and unmounts the object carousel when that channel is tuned away. Currently the data delivered via the object carousel is targeted for the digital receiver itself. There exists no framework to extend the availability of this data to appliances or devices in a home network, for example.
The present invention provides a mechanism to extend the availability of the object carousel, present in a digital transport stream such as a broadcast stream, to devices and services in a home network or to a user's virtual private domain (connected via the Internet, for example). Among the advantages offered by the proposed mechanism is that broadcasters can deliver content to devices that are not generally able to use information on the broadcast stream. Such devices include a wide variety of home appliances and networked devices. The innovation allows content authors to create applications and content for home appliances, thus extending the reach of those authors' creations beyond the digital TV receiver, itself. The innovation provides appliances with access to content via a proxy or pseudo-connection to the broadcast pipe (broadcast stream).
Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:
The following description of the preferred embodiment(s) is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.
Referring to
The present invention provides additional file system services as an extension of or attachment to the digital receiver or tuner, as at 18. This extension makes the object carousel 14 available to devices on a local area network, such as a home network, that may not be designed to directly consume object carousel data as a digital receiver would. The file system 10 includes a data store 20 where one or more snapshots of the object carousel may be cached as illustrated at 22. As will be later illustrated in connection with
The networked broadcast file system organizes the cached object carousel data in a manner native to the local area network or home network with which the system is associated. Thus the networked broadcast file system presents data in data store 20 as a collection of files in accordance with the protocols of the networked computer system with which it is associated. This allows devices on the network to access and use the data, even though those devices may not be natively able to consume data from the object carousel.
The data store 20 is mediated by a framework of function-providing objects represented generally in
The file system manager 24 further employs a data store of usage statistics 30. Thus the file system manager 24 may be configured to store usage statistics such as frequency of tuning and persistency duration in order to mediate how object carousel data is kept up to date.
While a second digital tuner 28 is beneficial, it is not required. The file system manager 24 can also be configured to control the first digital tuner 16 in order to keep the object carousel data current. This may be done, for example, when the digital tuner 16 is in standby mode. The file system manager can force-tune the digital tuner 16 in order to deliver data from a live object carousel to a user or service who has requested it.
The file system manager 24 is preferably configured to present the information obtained from the object carousel as a file system that can be used according to standard network file access protocols. An exemplary file system is illustrated at 32 in
Although
In one exemplary embodiment, the network broadcast file system may only store snapshots of the directory structure as opposed the underlying data for each file in the directory structure. Upon request for a particular file, the file system manager grabs the object carousel data corresponding to the file from the object carousel. If the primary tuner is tuned to a different channel, it is envisioned that an available secondary tuner may be used to retrieve the object carousel data.
Referring to
The object carousel 14 is received by receiver 16 and the data therein is then sent to a suitable computer-such as server 52. The server 52 then makes the file system 32 available to other devices on the network, including the illustrated user computer 54. The network may also include a gateway or router 56 to allow devices on the network (such as server 52 and user computer 54) to communicate with the Internet 60.
The networked broadcast file system is preferably configured to support a set of predefined file system rules. These rules can either be included as rules stored by the file system manager 24 (
Because file system rules 62 may be delivered via the object carousel 14, the carousel can deliver access models to the receiver 16, which are in turn carried out by the networked broadcast file system. This facility allows, for example a file system mount or unmount operation to be initiated from the broadcast side (i.e., via the broadcast stream 12).
Alternatively, a user of the file system 32 can initiate a refresh of the file system data. This can be accomplished, as illustrated in
Referring now to
Objects delivered by the file system can thus be controlled in the manner that they are made available to the mount points (time, browsing order, content availability, and the like). This capability enables a number of different useful functions. For example, a low priority subscriber might be configured to receive no events, whereas a medium priority subscriber might receive a list of four events in the directory, with the ability to access only two of those. A high priority subscriber might receive all events, with full ability to access the events in the directory structure. Event timing information can also be utilized to cause event objects to appear and disappear without necessarily requiring parallel changes in the object carousel data itself.
As shown in
The persistence rules 26 (
The networked broadcast file system may be either deployed in a single device or it may be distributed among various devices on the network.
The networked broadcast file system, in concept, does not care what transport mechanism or underlying physical networking technology is used in the implementation. Moreover, the file system services can be implemented either in the digital receiver or in a suitable proxy device. To illustrate, refer now to
Once the networked broadcast file system is implemented, it opens up a number of different useful possibilities. For example, digital audio (or digital video) may be streamed in a convenient device on the network. Thus a user could tap into an MP3 audio stream and listen to it on any suitable device having audio playback capabilities. The networked broadcast file service could also be used to provide software upgrades of devices on the home network, delivered via the object carousel. Continuous stock and weather information might also be delivered to selected home appliances that have network capability. The file system also supports convenient storage of streamed media in a home server. Thus object carousel-delivered streaming video or audio might be stored on a home server for later replay at a convenient time of the user's selection. Applications may also be delivered to home appliances. Essentially, the networked broadcast file system provides a powerful way to integrate object carousel data with a networked file system architecture. By organizing cached copies of the object carousel into a fully-functioning file system, numerous other networked devices are given easy access to object carousel information that previously could only be consumed by the digital tuner or receiver.
The networked broadcast file system can also be readily extended to serve as a universal plug and play (UPnP) service enabler. The file system provides the basic building blocks for creating UPnP object carousel service. Networked broadcast file system events and carousel events can be mapped to UPnP events. The file system command set can likewise be mapped to UPnP controls. Finally, the file system server lookup query can be used for discovery. This makes it possible to implement UPnP services including UPnP streaming services, and the like.
The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.