Abstract:
A method is provided of providing a content-on-demand service to a user terminal in a system comprising a plurality of content-on-demand servers and a packet-switched network. The method comprises the steps of: a first of the content-on-demand servers seeking to reserve packet-switched network resources to enable service delivery to the user terminal, said first server sending a message that resource reservation was insufficient, a further of the content-on-demand servers seeking to reserve packet-switched network resources to enable service provision to the user terminal, said further server sending a message that resource reservation is sufficient, and said further server providing the content to the user terminal via the packet-switched network.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to telecommunications, in particular to delivery systems of content such as video. 
       DESCRIPTION OF THE RELATED ART 
       [0002]    As shown in  FIG. 1 , in a known network for providing video services such as interactive Internet Protocol Television, IPTV, an application server AS is connected, via that interface, to a central Resource and Admission Control Subsystem (RACS) server. The application server includes a Resource and Admission Control (RAC) interface via which the application server is connected to the RACS server. The application server is also connected to Content-on-Demand (CoD) servers, only one of which is shown in  FIG. 1  for simplicity. 
         [0003]    In use, the application server receives a Content-on-Demand (CoD) service request from a user terminal (denoted User Equipment, UE, such as a set top box attached to a television set or a digital mobile handset including a screen display). The request is passed to the RACS server which then seeks to reserve appropriate resources of the Internet Protocol network. If resources can be reserved, the RACS server then sends a resource reservation acknowledgement to the application server which then forwards both an acknowledgment of the service request and an identifying address of the CoD server selected to supply the service. This information enables the user terminal to then seek to establish the content-on-demand session. It will thus be seen that the RACS server handles both resource reservation and admission control functions. 
         [0004]    In known approaches, the interface to the RACS server may be in the application server, or alternatively in the CoD server, but in either case a central RACS server is contacted. The central RACS server requires detailed knowledge of network topology so as to be effective in reserving appropriate IP network resources. 
       SUMMARY OF THE INVENTION 
       [0005]    The reader is referred to the appended independent claims. Some preferred features are laid out in the dependent claims. 
         [0006]    An example of the present invention is a method of providing a content-on-demand service to a user terminal in a system comprising a plurality of content-on-demand servers and a packet-switched network. The method comprises the steps of: 
         [0007]    a first of the content-on-demand servers seeking to reserve packet-switched network resources to enable service delivery to the user terminal, 
         [0008]    said first server sending a message that resource reservation was insufficient, 
         [0009]    a further of the content-on-demand servers seeking to reserve packet-switched network resources to enable service provision to the user terminal, 
         [0010]    said further server sending a message that resource reservation is sufficient, and 
         [0011]    said further server providing the content to the user terminal via the packet-switched network. 
         [0012]    In its preferred embodiments, CoD servers are adapted to make resource reservations. If one CoD server cannot make the reservation then another CoD server is instead requested to make the reservation. The content is preferably video. 
         [0013]    The order in which the servers are requested to make the reservation can be according to a priority list. The list can be adaptive to take account of operational histories of servers. 
         [0014]    In its preferred embodiments, the present invention provides a resilient and adaptive mechanism for resource reservation for interactive Internet Protocol television (IPTV) services, such as video content-on-demand (CoD) services. 
         [0015]    As compared to the prior art, the inventor realised that preferred embodiments would be advantageous as they avoid use of a central RACS server and instead distribute resource reservation control functionality. This removed a central point of possible failure and avoided a requirement of the centralised server, namely that if have exact knowledge of network topology. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]    An embodiment of the present invention will now be described by way of example and with reference to the drawings, in which: 
           [0017]      FIG. 1  is a diagram illustrating a known network for interactive IPTV services (PRIOR ART), 
           [0018]      FIG. 2  is a diagram illustrating a network for interactive IPTV services according to a first embodiment of the present invention, 
           [0019]      FIG. 3  is a message sequence diagram illustrating reserving network resources so as to provide a requested service in the network shown in  FIG. 2 , 
           [0020]      FIG. 4  is a further message sequence diagram showing more detail of how resources are reserved in the network shown in  FIG. 2 , and 
           [0021]      FIG. 5  is a diagram illustrating a network for interactive IPTV services according to a second embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0022]    When considering a known system, the inventor realised that it would be useful to remove the central RACS server and instead adapt the Content-on-Demand CoD servers to handle the relevant functionality. 
       A Network 
       [0023]    As shown in  FIG. 2 , a network  2  for interactive IPTV services consists of an application server, AS,  4  connectable to a user terminal, UE,  6 . The user terminal is also connectable to a Control Protocol Redirector  8  that includes a Resource and Admission Control (RAC) interface  10 . That interface  10  is connected to a series of Content-on-Demand CoD servers, CoD 1 , . . . CoDn,  12 . In this example, each CoD server provides digital multimedia content e.g. video content and may be referred to as a video content-on-demand server or a video-on-demand server. Each CoD server  12  includes a Resource and Admission Control (RAC) controller  14 . Each Control Protocol Redirector  8  is also connected to a Relational DataBase Management System (RDBMS)  16  in which a list of CoD servers is stored. The user terminal UE  6  is connected to the CoD servers  12  via an Internet Protocol network  18 . 
       Operation 
       [0024]    As shown in  FIG. 3 , the network  2  operates as follows. 
         [0025]    The user terminal  6  first sends (step a) to the application server  4  a request for a particular video stream, such as a video-film, recording of a sports event or other multimedia content. The application server  4  responds by sending (step b) a service request authorisation to the mobile terminal  6 , which then sends (step c) a further confirmation back to the application server  4  that the selected content is that desired by the user. 
         [0026]    The application server  4  then sends (step d) a service entry point (SEP) to the mobile terminal  6 . The SEP identifies the Control Protocol Redirector  8  to which the mobile terminal  6  is to then send the authorised request for service. Accordingly, the mobile terminal  6  sends (step e) that request. 
         [0027]    Upon receiving that request, which identifies the user terminal, the control protocol redirector  8  looks up (step f), in real time in the RDBMS (which can be considered a meta-data store), a list of candidate CoD servers  12  to provide the service to the user terminal, and selects the apparently most suitable. 
       Selection of CoD Server 
       [0028]    A simple approach used to select which CoD server to request to address a particular service request, is to assume that more than one CoD server can possibly provide the requested service to a user terminal  6 , but that each CoD server has an associated weighting as to its desirability for handling requests from particular geographical locations. For example, a list is stored of the order in which servers might preferably serve the user terminal  6 , based on e.g. proximity of server to user terminal&#39;s current location. The control protocol redirector  8  works down the list until a CoD server is identified that currently has the resources available to provide the requested service. 
         [0029]    In particular, the first server on the list is requested (step g) to reserve the network resources required to provide the service. This request is received by the Resource and Admission Controller, RAC,  14  in the addressed server  12 . 
         [0030]    As shown in  FIG. 4 , the RAC controller  14  seeks to create a labelled path using known Resource reSerVation Protocol-Traffic Engineering (RSVP-TE protocol) so as to reserve the appropriate resources of the Internet Protocol network  18  via which the content is sent to the user terminal  6 . As shown in that Figure, this is done by the selected CoD server  12  sending (step h) an RSVP-TE reservation request message into the IP network  18  where corresponding PATH and RES messages between hops between the user terminal  6  and server  12  are sought to be set up. If successful resource reservation occurs, a reservation acknowledgement message (PATH message) in reply (step i) to the RAC controller  14  in the server  12 . 
         [0031]    Referring back to  FIG. 3 , imagine say that reservation was not successful for the first server on the list. Accordingly, the control protocol redirector  8  is informed (step j) that that particular server was unable to make the network resource reservation. Accordingly, the control protocol redirector  8  sends (step k) to the next CoD server in the list a request to reserve the network resources required. 
         [0032]    This process is repeated, working down the list of servers, until a server successfully effects the network resource reservation. Imagine it is for the nth server on the list (where n is a positive integer, e.g. 2) that a successful resource reservation occurs. A reservation acknowledgement message (PATH message) is sent (step i) from the IP network  18  to the RAC controller  14  in the server  12 . The RAC controller  14  in this nth server  12  then sends (step l) a positive acknowledgement that resources were reserved to the control protocol redirector  8 . 
         [0033]    The control protocol redirector  8  then sends (step m) an instruction to the user terminal  6  to request service from the particular server  12  which successfully reserved the resources. In other words, the control protocol redirector  8  returns the address of the CoD server, which will deliver the content to the user terminal  8 . 
         [0034]    The user terminal  12  then sends (step n) a request for service to the CoD server which will deliver the content. That CoD server responds (step o) to the user terminal  12  by delivering the requested video service, such as a data stream of a selected movie. 
       Another Example System 
       [0035]    In an alternative embodiment, otherwise similar to that described in relation to  FIGS. 2 to 4  above, the list of CoD servers to be considered for a service request is adaptively reordered to additionally take into account, for each CoD server, the time since last failure and time taken to rectify the failure. A failure is a failure of the CoD server itself or the network connection between that CoD server and the user terminal. For example, a CoD server for which it is quick to rectify a failure and has not experienced a failure recently may be preferred over another. In mathematical terms, if 
         [0000]    
       
         
           
             
               
                 
                   ∑ 
                   
                     k 
                     = 
                     1 
                   
                   N 
                 
                  
                 
                   w 
                   k 
                 
               
               = 
               1 
             
             , 
           
         
       
     
         [0000]    where w k  is a weight denoting a preference (i.e. probability) for selecting k-th CoD server, then the next CoD server l is, for example, selected according to the following equation: 
         [0000]    
       
         
           
             
               l 
               = 
               
                 
                   MAX 
                   k 
                 
                  
                 
                   { 
                   
                     
                       w 
                       k 
                     
                     
                       
                         ∑ 
                         
                           n 
                           = 
                           1 
                         
                         
                           n 
                           ∈ 
                           
                             ( 
                             
                               
                                 Δ 
                                  
                                 
                                     
                                 
                                  
                                 
                                   t 
                                   n 
                                 
                               
                               &lt; 
                               
                                 Δ 
                                  
                                 
                                     
                                 
                                  
                                 T 
                               
                             
                             ) 
                           
                         
                       
                        
                       
                         
                           
                             Δ 
                              
                             
                                 
                             
                              
                             T 
                           
                           - 
                           
                             Δ 
                              
                             
                                 
                             
                              
                             
                               t 
                               n 
                             
                           
                         
                         
                           Δ 
                            
                           
                               
                           
                            
                           T 
                         
                       
                     
                   
                   } 
                 
               
             
             , 
           
         
       
     
         [0000]    where w k —is a weight for selecting k-th CoD server, ΔT—average time to rectify failure, Δt n —time from the n-th recoded failure on the k-th CoD server. 
         [0036]    For example, let&#39;s say we have three video servers CoD 1 , CoD 2  and CoD 3  currently available with associated weights of 0.5 for CoD 1 , 0.3 for CoD 2 , and 0.2 for CoD 3 . This means that ignoring other factors, the highest preference is for CoD 1  and the lowest preference is for CoD 3 , among the CoD servers on the list, and accordingly, CoD 1  will be selected if it has sufficient resources. However, in addition to consideration of these weights, the number of intermittent network failures is monitored and considered as part of CoD server selection. We know that it takes on average ΔT to rectify a genuine failure. However, let&#39;s assume that there are a number of intermittent short term failures due to network glitches all resolve in less than ΔT. For example, let&#39;s say ΔT=5 hours, and three intermittent short term failures for CoD 1  have been reported, with times since failure of 1 h, 2 h and 3 hours. 
         [0037]    Then using the equation, the initial weight for CoD 1  is adjusted following: 
         [0000]    
       
         
           
             
               l 
               = 
               
                 
                   MAX 
                   k 
                 
                  
                 
                   { 
                   
                     
                       w 
                       k 
                     
                     
                       
                         ∑ 
                         
                           n 
                           = 
                           1 
                         
                         
                           n 
                           ∈ 
                           
                             ( 
                             
                               
                                 Δ 
                                  
                                 
                                     
                                 
                                  
                                 
                                   t 
                                   n 
                                 
                               
                               &lt; 
                               
                                 Δ 
                                  
                                 
                                     
                                 
                                  
                                 T 
                               
                             
                             ) 
                           
                         
                       
                        
                       
                         
                           
                             Δ 
                              
                             
                                 
                             
                              
                             T 
                           
                           - 
                           
                             Δ 
                              
                             
                                 
                             
                              
                             
                               t 
                               n 
                             
                           
                         
                         
                           Δ 
                            
                           
                               
                           
                            
                           T 
                         
                       
                     
                   
                   } 
                 
               
             
             , 
           
         
       
     
         [0000]    the weight for CoD 1  becoming 
         [0000]    
       
         
           
             
               0.5 
               
                 
                   ( 
                   
                     
                       5 
                       - 
                       1 
                     
                     5 
                   
                   ) 
                 
                 + 
                 
                   ( 
                   
                     
                       5 
                       - 
                       2 
                     
                     5 
                   
                   ) 
                 
                 + 
                 
                   ( 
                   
                     
                       5 
                       - 
                       3 
                     
                     5 
                   
                   ) 
                 
               
             
             = 
             0.27 
           
         
       
     
         [0038]    This means that in the presence of those intermittent failures, server CoD 1  no longer has the highest weight and server CoD 2 , which has a weight of 0.3, would be selected instead. 
       Another Example System 
       [0039]    As shown in  FIG. 5 , another embodiment, otherwise similar to that shown in  FIG. 2 , includes a load balancer stage  30  connected between the user terminal and control protocol redirector  8 ′. Also there are multiple instances of the control protocol redirector  8 ′, which are distributed over different locations or, in an alternative embodiment, localized near the load balancer  30  stage. The redirectors  8 ′ each include a RAC interface  10 ′ for connection to RAC controllers  14 ′ in CoD servers  12 ′. The redirectors need no specific knowledge of the location of CoD servers. The CoD servers  12 ′ automatically and adaptively register or de-register in the CoD list in RDBMS storage  16 ′. 
       Some Further Options 
       [0040]    In some other embodiments, other techniques for reserving resources in networks instead of RSVP-TE protocol can be used, for example MultiProtocol Label Switching MPLS. 
       General 
       [0041]    The example embodiments detailed above can be considered as dedicated IPTV sub-systems of a network (such as a so-called Next Generation Network, NGN). Some alternative embodiments are Internet protocol Multimedia Subsystem (IMS)-based IPTV systems in which resource reservation and admission control is instead done by call setup control functions. Video can be for example films, clips, pictures or slide shows. In some embodiments content other than video, for example audio, or other multimedia can be provided. 
         [0042]    The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.