Abstract:
The embodiments herein relate to a method and system for continuous detection of dead and impaired IPTV streams by introducing a hardware block to continuously monitor all IPTV streams for health without software intervention as disclosed in the embodiments herein. Each IPTV packet header is looked up in the multicast forwarding database (TCAM) table. When there are matching entries, the packets are metered and compared with the expected rate for the IPTV stream. A periodic scan of all the meters in hardware is carried out. If any stream is received less than its expected rate, an “impaired error” counter is incremented for the particular stream.

Description:
TECHNICAL FIELD 
       [0001]    The embodiments herein relate to Internet Protocol Television (IPTV) networks and, more particularly, to continuous monitoring of health of streams in Internet Protocol Television (IPTV) networks. 
       BACKGROUND 
       [0002]    Internet Protocol television (IPTV) is a system through which television services are delivered using the internet protocol suite over a packet switched network such as the internet, instead of being delivered through traditional terrestrial, satellite signal, and cable television formats. IPTV is distinguished from internet television by its ongoing standardization process and preferential deployment scenarios in subscriber based telecommunications networks with high speed access channels into end user premises via set top boxes or other customer-premises equipment. It is estimated that the number of global IPTV subscribers are expected to grow from 28 million in 2009 to 83 million in 2013. 
         [0003]    In spite of the expected increase in subscribers, the programming and streaming options are largely still in the control of conventional technical programmers and defined and controlled by them based on what they believe viewers want and need. IPTV is sensitive to packet loss and delays if the streamed data is unreliable. Further, IPTV has strict minimum speed requirements in order to facilitate the right number of frames per second to deliver moving pictures. This means that the limited connection speed and bandwidth available for a large IPTV customer base can reduce the service quality. Streaming IPTV across wireless links within the home has proved troublesome. Further, an IPTV stream is sensitive to packets arriving at the right time and in right order. 
         [0004]    With the number of channels increasing day by day, it is becoming increasingly difficult for the network operator to continuously monitor dead or impaired IPTV streams. Currently existing methods like metering of a few multicast addresses using filters in the hardware is not a scalable solution as filters are usually limited. This approach also needs a lot of software intervention. Trouble shooting on the impaired/dead channel stream is done only when the user raises a complaint. There are no means for the network operator to monitor in real time and predict future issues. 
       SUMMARY 
       [0005]    Embodiments herein disclose a method for monitoring health of an Internet Protocol Television (IPTV) Network in a continuous manner, the method comprising of metering each packet destined for an IPTV stream using a counter; scanning the counter at a first predefined interval; incrementing an impairment counter if the counter does not satisfy expected rate for the IPTV stream; and scanning the impairment counter for health of the IPTV stream at a second predefined interval. The method of metering each packet further comprises of creating a counter after passing necessary checks, on the IPTV stream joining; configuring the counter with an expected number of bits in the first predefined interval; and deducting number of packets from the counter, on detecting the number of packets destined for the IPTV stream. The IPTV stream is not in good health if count of the impairment counter is greater than a predefined threshold and an alert is raised on detecting that the IPTV stream is not in good health. 
         [0006]    Also, disclosed herein is an Internet Protocol Television (IPTV) Network, wherein health of the IPTV network is monitored in a continuous manner, the IPTV network comprising at least one means configured for metering each packet destined for an IPTV stream; scanning the counter at a first predefined interval; incrementing an impairment counter if the counter does not satisfy expected rate for the IPTV stream; and scanning the impairment counter for health of the IPTV stream at a second predefined interval. The IPTV network is further configured for metering each packet by creating a counter, on the IPTV stream joining; configuring the counter with an expected number of bits in the first predefined interval; and deducting number of packets from the counter, on detecting the number of packets destined for the IPTV stream. The IPTV network is further configured for creating the counter after passing necessary checks. The IPTV network is further configured for raising an alert on detecting that the IPTV stream is not in good health. 
         [0007]    Also, disclosed herein is a device in an Internet Protocol Television (IPTV) Network, wherein health of the IPTV network is monitored in a continuous manner, the device comprising at least one means configured for metering each packet destined for an IPTV stream; scanning the counter at a first predefined interval; incrementing an impairment counter if the counter does not satisfy expected rate for the IPTV stream; and scanning the impairment counter for health of the IPTV stream at a second predefined interval. The device is further configured for metering each packet by creating a counter, on the IPTV stream joining; configuring the counter with an expected number of bits in the first predefined interval; and deducting number of packets from the counter, on detecting the number of packets destined for the IPTV stream. The device is further configured for creating the counter after passing necessary checks. The device is further configured for raising an alert on detecting that the IPTV stream is not in good health. 
         [0008]    These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0009]    The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which: 
           [0010]      FIG. 1  illustrates a network diagram of an IPTV system, as disclosed in the embodiments herein; 
           [0011]      FIG. 2  is a block diagram which depicts the operational parameters involved in detection of dead and impaired IPTV streams, as disclosed in the embodiments herein; 
           [0012]      FIG. 3  is a flow diagram which describes the various steps involved in detection of dead and impaired streams, as disclosed in the embodiments herein; 
           [0013]      FIG. 4  is a flow diagram which describes the operation flow involved in monitoring of health of IPTV streams, as disclosed in the embodiments herein; and 
           [0014]      FIG. 5  is an exemplary block diagram which depicts the continuous streaming operation in IPTV, as disclosed in the embodiments herein. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0015]    The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein. 
         [0016]    The embodiments herein disclose a method and system for continuous detection of health of IPTV streams in an IPTV network. Referring now to the drawings, and more particularly to  FIGS. 1 through 4 , where similar reference characters denote corresponding features consistently throughout the figures, there are shown embodiments. 
         [0017]      FIG. 1  illustrates a network diagram of an IPTV system, as disclosed in the embodiments herein. The system comprises of a Telecom central office  100 , IPTV network  101 , Broadband Access Network  102 , Modem  103 , IPTV STB  104  and IPTV  105 . The Telecom central office  100  is further connected to a plurality of media sources such as satellite channels, live feeds (news, sports), stored media and the like. Further, the IPTV network  101  can be any network operator who is transmitting channel feeds to the subscriber. The IPTV network  101  may choose a certain set of channels to be transmitted to certain sets of subscribers depending upon the customer&#39;s subscription. For example, a subscriber who has paid the charges for sports channels may receive feeds of the sports channels he/she has paid for. Customers may view IPTV programming on analog televisions, multimedia computers, IP televisions (data only televisions), handheld devices (tablets, mobile phones, PDAs) and any other suitable device. For residential users, IPTV is often provided in conjunction with Video on Demand and may be bundled with Internet services such as Web access and VoIP. 
         [0018]    The broadband access network  102  provides high data rate access to the internet. The broadband access network  102  may support quality of service (QOS), multicast, separation of end user traffic and differentiate between services. Further the broadband access network  102  must have a telecommunications management solution that supports network operation and maintenance. The modem  103  regulates the information sent by the IPTV network  101 . The modem  103  also performs error correction wherein it checks if the information received is undamaged. Further, the modem  103  compresses the data received from IPTV network  101 . The IPTV STB (IPTV set top box)  104  decodes the IP video and converts it into standard television signals. The IPTV STB  104  is the gateway to an IP video switching system. The Switched Video Service (SVS) system allows viewers to access broadcast network channels, subscription services, and movies on demand The customer can access different media by using the television remote to send control commands to the SVS. The unit processes the request and displays the requested media type. 
         [0019]    The IPTV STB  104  extracts IP packets to obtain the transport stream. A channel decoder detects and corrects errors and provides the transport stream to descrambler assembly. Further, the descrambler assembly receives key information from either a smart card or from an external conditional access system (e.g. via a return channel). Using the key(s), the IPTV STB  104  can decode the transport stream and the program selector can extract the specific program stream that the customer has selected. The IPTV STB  104  then de multiplexes the transport stream to obtain the program information. The program table allows the IPTV STB  104  to know which streams are for video, audio and other media for that program. The program stream is then divided into its elementary streams (voice, audio and control) which is supplied to a compositor that create the video signal that the television can display. 
         [0020]    Further, an IP video system digitizes and reformats the original video, codes and/or compresses the data, adds IP address information to each packet, transfers the packet through a packet data network, recombines the packets and extracts the digitized video, decodes the data and converts the digital video back into its original video form. The video form can be viewed by the customer in the IPTV  105  format through a device which could in the form of a smart phone, PDA, PC, TV and so on. 
         [0021]      FIG. 2  is a block diagram which depicts the operational parameters involved in detection of dead and impaired IPTV streams, as disclosed in the embodiments herein. The IPTV network  101  comprises a multicast forwarding database  205 , a multi cast bit rate counter  201 , a multi cast bit rate expected tracker  202 , a multicast impairment counter  203  and a controller  204 . The multicast forwarding database  205  holds the port membership information for all active multicast address entries. The key for an entry consists of a VLAN ID and MAC address pair. The entries may contain data for more than one protocol. Further, the multicast forwarding database  205  is run by TCAM. TCAM is a special type of computer memory used in certain very high speed searching applications. 
         [0022]    The IPTV network  101  configures the expected bit rate which may be received from the operator for each multicast stream and based on that the software calculates the expected bytes in a fixed interval of time. When a matching entry is hit, the multicast bit rate counter  201  is decremented by the amount of bits received. The multicast streaming creates a delay which may lead to packet loss in the transmission of signals, thus resulting in continuity errors and improper streaming. To monitor this problem, a multicast impairment counter  203  is implemented. The software scans through the multicast impairment counter  203  at periodic intervals to check the number of streams not received properly based upon the time intervals. 
         [0023]    The controller  204  performs certain functions such as decrementing and incrementing bit rates and counters. Further, the controller  204  also works as a comparator and a timer. The controller  204  which also functions as a comparator essentially scans through all the entries in the multicast bit rate counter  201  and increments the impairment counter values by 1 if any counter value&gt;0. Further, the controller  204  works as a timer in co-ordination with the software which calculates the expected bits received in a fixed time interval (say 5 seconds). 
         [0024]      FIG. 3  is a flow diagram which describes the various steps involved in detection of health of IPTV streams, as disclosed in the embodiments herein. Initially, the multicast stream receives ( 301 ) a joining request, which may be in the form of an IGMP (Internet Group Membership Protocol) JOIN. Further, the software checks ( 302 ) if all necessary parameters have been passed and the software creates ( 304 ) an entry in the multicast forwarding database  205 . The IPTV network  101  calculates ( 305 ) the expected bit rate for each multicast stream. Based on the calculation, the software configures ( 306 ) the expected byte rate in a fixed interval of time. The various actions in method  300  may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed in  FIG. 3  may be omitted. 
         [0025]      FIGS. 4   a  and  4   b  are flow diagrams which describes the operation flow involved in monitoring of health of IPTV streams, as disclosed in the embodiments herein. Initially when a multicast packet arrives ( 401 ) in the packet processor, it looks up the destination address in the multicast forwarding database  200 . When a matching entry is hit, the multicast bit rate counter  201  decrements ( 402 ) the amount of bits received. Further, if the periodic timer expires ( 403 ), the hardware scans ( 404 ) through all the entries in the multicast bit rate counter  201 . The periodic timer checks ( 405 ) if any counter value for any entry is &gt;0. The multicast impairment counter  204  increments ( 406 ) by 1 for one stream if counter value is &gt;0 for any entry. Once the multicast impairment counter  204  increments ( 406 ) by 1 for one stream it continues to scan through all the entries in the table until it is completely scanned. 
         [0026]    Further, the bit rate counter re initializes ( 407 ) the expected bit rate values. The software scans ( 408 ) through the multicast impairment counter table to check if streams were received properly in corresponding time intervals. Further a check is performed to find out if the entire impairment counter table has been completely scanned ( 409 ). If the impairment counter table is not completely scanned, the scanning ( 408 ) of the entries in the impairment counter table continues. Another check is performed to see whether the threshold (of receiving channel streams) has been exceeded ( 410 ), if the threshold has been exceeded for any stream an alarm is generated ( 412 ) to notify the operator. If the threshold has not been exceeded for any stream, then the software waits for next scanning ( 411 ) period through the multicast impairment counter table  204 . The alarm generated ( 412 ) to notify the operator when the threshold has been exceeded for any stream contains information about all impaired streams. Thus the operator investigates and rectifies only the impaired streams. The various actions in method  400  may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed in  FIG. 4  may be omitted. 
         [0027]      FIG. 5  is an exemplary block diagram which depicts the continuous streaming operation in IPTV, as disclosed in the embodiments herein. In the IPTV network  101 , traditional broadcast television channels are delivered via IP multicasting. IGMP (Internet Group Membership Protocol) is the control mechanism used to control the delivery of multicast traffic to authorized users. IGMP commands tell the upstream equipment to stop sending (“leave”) one channel or begin sending (“join”) another channel. Depending on the architectural choices, this process occurs in the DSLAM (Digital Subscriber line access multiplexer), an aggregation switch or at an edge router. 
         [0028]    Further, IGMP provides three basic functions for IPTV network  101 . They are:
   1. JOIN: An IGMP host indicates that it wants to receive information from (“become a member of”) a multicast group.   2. LEAVE: An IGMP host indicates that it no longer wants to receive information from a multicast group.   3. QUERY: An IGMP router can ask the hosts which group they are members of. This is done to verify a JOIN/LEAVE request or to look for error conditions. For example, a set top box may have been unplugged so did not issue a leave command.   
 
         [0032]    Whenever an IGMP JOIN is received for a multicast stream, the software creates an entry in the multicast forwarding database  205  after doing all the necessary checks. Further, the IPTV network  101  configures the expected bit rate for each multicast stream. Based on that software calculates the expected bytes in a fixed time interval. Once a multicast packet arrives in the packet processor, it looks up the destination address in the multicast forwarding database  205 . When a matching entry is hit, the corresponding multicast bit rate counter  201  is decremented by the amount of bits received. When a periodic timer expires, the hardware scans through all the entries in the multicast bit rate counter  201 . 
         [0033]    Further, if any counter value is &gt;0, the multicast impairment counter  203  is incremented by 1. The bit rate counters are then re initialized with the expected bit rate values. Finally, the software scans through the multicast impairment counter  203  to check how many streams were not received properly in corresponding time intervals. 
         [0034]    The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the network elements. The network elements shown in  FIG. 2  include blocks which can be at least one of a hardware device, or a combination of hardware device and software module. 
         [0035]    The embodiment disclosed herein specifies a system for continuous detection of health of IPTV streams. The mechanism allows a hardware block to continuously monitor all IPTV streams for quality without software intervention providing a system thereof. Therefore, it is understood that the scope of the protection is extended to such a program and in addition to a computer readable means having a message therein, such computer readable storage means contain program code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The method is implemented in a preferred embodiment through or together with a software program written in e.g. Very high speed integrated circuit Hardware Description Language (VHDL) another programming language, or implemented by one or more VHDL or several software modules being executed on at least one hardware device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof, e.g. one processor and two FPGAs. The device may also include means which could be e.g. hardware means like e.g. an ASIC, or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means are at least one hardware means and/or at least one software means. The method embodiments described herein could be implemented in pure hardware or partly in hardware and partly in software. The device may also include only software means. Alternatively, the invention may be implemented on different hardware devices, e.g. using a plurality of CPUs. 
         [0036]    The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the claims as described herein.