The present invention relates generally to a method and apparatus for using Internet Protocol (IP) addresses to access broadcast programming, and more particularly to a method and apparatus for accessing broadcast programming by obtaining their IP multicast addresses from the virtual channels of the broadcast programming.
A television may access programming content through a variety of transmission technologies such as cable, satellite, or over the air, in the form of analog or digital signals. In addition to broadcast and cable technologies, the Internet is emerging as a television content transmission medium. Television that receives content through an Internet network connection via the Internet Protocol (IP) may be generically referred to as IPTV. IPTV has become a common denominator for systems in which television and/or video signals are distributed to subscribers over a broadband connection using Internet protocols. In general, IPTV systems utilize a digital signal that is sent by way of a broadband connection and a set top box (“STB”) that is programmed with software that can fulfill subscriber requests to access media sources via a television connected to the STB. A decoder in the STB handles the task of decoding received IPTV video signals and converting them to standard television signals for display on a television. Where adequate bandwidth exists, IPTV is capable of a rich suite of services similar to those provided by digital cable television distribution methods
To view a television program being transmitted to a user's television, the user provides a channel number to the television. In conventional analog broadcast television, this channel number is a reference to a particular frequency band at which the analog signal carrying the television program is broadcast. This frequency band is also referred to as a “physical channel.” The channel number identifies the unique frequency band to which the television is to tune. Thus, there is a direct one-to-one relationship between the channel number selected on the television by the user and the actual frequency assigned to that channel.
In digital television, however, a frequency band can carry multiple channels. That is, there is a one-to-many relationship between the physical channel and the channel selected on the television. Accordingly, a single physical channel can include multiple items or “virtual channels.” In digital broadcasting, a plurality of multiplexed virtual channels are formed in a physical channel, and a program is broadcast on each virtual channel. In this case, the channel number selected by a user refers to a virtual channel, a particular item encoded within a transport stream, instead of referring to a physical channel.
One example of a standard used in digital television is defined by Digital Television Standard, by the Advanced Television Systems Committee (ATSC) Standard In this standard a virtual channel is defined as having a major channel number and a minor channel number in the form X.Y where “X” is the major channel number and “Y” is the minor channel number. By splitting a virtual channel into major and minor components, a broadcaster can maintain its channel identity, and at the same time provide multiple programs. Thus, a broadcaster can provide its analog programming on channel C (where “C” is a positive whole number), a first digital programming on channel C.1, a second digital programming on channel C.2, and so on. In digital television, broadcasters can map one or more major channels to one or more physical channels.
In an IPTV system it is not sufficient to simply know the virtual channel on which the desired program is being broadcast. Rather, the IP address of the desired channel source also must be known. Requiring the user to determine the appropriate IP address after already selecting the desired virtual channel is both difficult and inconvenient for the user. Accordingly, when IP digital television is employed, there is a need to establish a mechanism that is transparent to the user for locating the appropriate IP address that corresponds to the virtual channel selected by the user.
Broadband access network 110 may employ any suitable network-level protocols to provide communication among the various networked devices. While the IP protocol suite is used in the particular implementations described herein, other standard and/or proprietary communication protocols are suitable substitutes. For example, X.25, ARP, RIP, UPnP or other protocols may be appropriate in particular installations.
Broadband network 110 includes all routers, switches, long haul and metropolitan transport, and access systems necessary for transporting the video streams and the associated management and license data. Thus, network 110 supports transport of video-on-IP unicast and multicast content, and could be IP router and switch based, where IP multicast replication is accomplished by core and edge routers.
For large amounts of data to be distributed to a large number of subscribers over a packet switched network, IP (or other network-level) multicasting is more efficient than normal Internet transmissions because a server can broadcast data/messages to many recipients simultaneously. Unlike traditional Internet traffic that requires separate connections (single-cast addressing) for each source—destination pair, IP multicasting allows many recipients to share the same source. This means that just one set of packets is transmitted for all destinations. To receive a multicast, a subscriber listens to a specific IP address on a multicast-enabled network, like tuning a television to a specific channel. Multicast broadcast is particularly suitable for distribution of multimedia (video, audio, data) content. When the IP suite is employed, the content is generally transmitted as an MPEG packet stream on a pre-established UDP port and the MPEG packets are encapsulated in UDP/IP datagrams.
Internet Group Management Protocol (IGMP) is defined in RFC 1112 as the Internet standard for IP multicasting. IGMP establishes host memberships in particular multicast groups on a single network and allows a host to inform its local router that it wants to receive data addressed to a specific multicast group. The edge routers of network 110 are provided with IGMP (Internet Group Management Protocol) to enable IGMP switching for IP Multicasts, Broadcast Television and the special IP multicast information. QoS for subscriber services is implemented using IP queuing in the edge router. For example, highest priority may be given to Video on Demand and Broadcast Video while lower priority is given to High Speed Internet. The edge routers may also be enabled with static routing of the most popular broadcast channels to improve channel change times.
As previously mentioned, when a subscriber wishes to access programming that is being digitally broadcast, the subscriber usually selects a virtual channel number that is associated with the programming. The subscriber may obtain the virtual channel number from an Electronic Program Guide (EPG) that is often made available by the MSO. However, when the programming is made available using a network level protocol such as IP, the client device needs to acquire the corresponding multicast address at which the program is available. Requiring the user to determine the appropriate multicast address is cumbersome for the user.
In accordance with the techniques described herein, in an IP digital television environment, the virtual channel corresponds to a domain name. For example, one virtual channel number may have the domain name 001.vcn.fiostv.motorola.net while another virtual channel number may have the domain name 002.vcn.fiostv.motorola.net. In order to map this domain name to the appropriate IP multicast address without user intervention, a Domain Name Service (DNS) may be employed. A DNS, as used in the environment of computer networks such as the Internet, is a tool for mapping domain names to an IP address. For example, the domain name “www.motorola.com” may be mapped to an IP address such as “168.84.151.9”. The DNS provides a hierarchical domain-based naming scheme and a distributed database system for implementing the naming scheme.
In operation, when an application program such as a web browser needs an IP address, it calls a library procedure known as a resolver, and passes the domain name to it. The resolver sends a data packet to a local DNS server, which looks up the name and returns the IP address to the resolver. The resolver provides the IP address to the application, which can use it to establish a connection with the computer represented by the domain name, such as a server.
The DNS server 160 includes a database or storage device 165 for storing the domain names of virtual channels and their associated multicast IP addresses. The DNS server 160 is authoritative for one or more sub-domains in the IP network. For example, DNS server 160 may be authoritative for the sub-domain vcn.tv.motorola.net. Accordingly, the database 165 will include entries such as:
Each entry of the database 165 includes two fields. The first field represents a fully qualified domain name for a virtual channel number and the second field is the multicast address associated with the domain name. In general, the database 165 will include one entry for each virtual channel that is available.
Referring to
The processes described above, including those shown in
Although various embodiments and examples are specifically illustrated and described herein, it will be appreciated that modifications and variations are covered by the above teachings and are within the purview of the appended claims.