Abstract:
A method of managing a data connection between a user device and a network of content caches, the user device and content caches being connectable via a network of gateway servers. The method comprising: in response to a request for content data issued by the user device, receiving content location data stored within at least one content cache from a content locator unit; determining which one of the caches is the closest to the user device; determining whether the packet data connection could be better served using a different gateway server; and if it is determined that a different gateway server should be used, causing the current data connection to move from the current gateway server to the different gateway server.

Description:
[0001]    The present invention relates to data networks and in particular to gateway selection in a network core. 
       INTRODUCTION 
       [0002]    Within cellular data networks, the typical architecture includes an access network of cellular base stations connected to a network core via gateways. Data packets are then transported across the core to external networks such as content delivery networks. 
         [0003]    As usage of the networks increases, there is a need to optimise the flow path of data across the various parts of the network. Content cache techniques rely on data replication and locality to improve the accessibility to data. In this way, a requesting device can be redirected to the closest cache in the data network which contains that data. 
         [0004]    Whilst caching can improve the speed of data retrieval, in such conventional networks, there is no further optimisation of the data path. The present invention addresses this issue. 
       STATEMENTS OF INVENTION 
       [0005]    In one aspect, the present invention provides a method of managing a data connection between a user device and a plurality of gateways each providing access to resources on a data network, the user device being connected to the data network via a first gateway, the method comprising: determining the location of the resource and switching to a data connection via a second gateway if a distance between the location of the user device and the location of the resource via the second gateway is less than the distance via the first gateway. 
         [0006]    In another aspect, the present invention provides a method of managing a data connection between a user device and a network of content caches, the user device and content caches being connectable via a network of gateway servers, comprising: in response to a request for content data issued by the user device, receiving content location data stored within at least one content cache from a content locator unit; determining which one of the caches is the closest to the user device; determining whether the packet data connection could be better served using a different gateway server; and if it is determined that a different gateway server should be used, causing the current data connection to move from the current gateway server to the different gateway server. 
     
    
     
       FIGURES 
         [0007]    Embodiments of the invention will now be explained with the aid of the accompanying figures in which: 
           [0008]      FIG. 1  is an overview of the network architecture in accordance with a first embodiment of the invention; 
           [0009]      FIG. 2  is a geographical view of the network architecture illustrated in  FIG. 1 ; 
           [0010]      FIG. 3  is an overall view of the processing performed by each component in the network architecture illustrated in  FIG. 1 . 
           [0011]      FIG. 4  schematically shows the functional components of a content locator illustrated in  FIG. 1 ; 
           [0012]      FIG. 5  shows the format of a content delivery cache registration message; 
           [0013]      FIG. 6  shows the format of a content delivery cache content update message sent from content delivery caches in the CDN to the content locator; 
           [0014]      FIG. 7  shows the format of a content delivery cache load message sent from each content delivery cache to the content locator; 
           [0015]      FIG. 8  is a flowchart showing the processing by the content locator when a request for content is received from a user device; 
           [0016]      FIG. 9  shows the format of a message sent from the content locator to the CGRF; 
           [0017]      FIG. 10  schematically shows the functional components of a content gateway rules function (CGRF) module illustrated in  FIG. 1 ; 
           [0018]      FIG. 11  is a flowchart showing the processing performed by the CGRF when the content locator notifies it that a request for content has been received; and 
           [0019]      FIG. 12  schematically shows the functional components of a network location server illustrated in  FIG. 1 . 
       
    
    
     DESCRIPTION 
       [0020]      FIG. 1  is an overview of the network architecture in accordance with a first embodiment of the invention. The network architecture can be divided into three main parts: a cellular access network  3 , a network core  5  and a content delivery network  7 . 
         [0021]    The cellular access network  3  is formed of many cellular base stations  9  located across a geographical area and connected to a backhaul network  11  which in turn connects to components in the network core  5 . User devices  13  communicate with the cellular base stations  9 , which in this case are “Evolved Node B”s (eNodeB), using a cellular wireless data protocol such as Long Term Evolution (LTE). 
         [0022]    The network core  5  is an Evolved Packet Core (EPC)  5  conforming to the Long Term Evolution (LTE) standard. The EPC  5  contains two main components, a Serving Gateway (SGW)  17  and a Packet Data Network Gateway (PGW)  19 . Each SGW  17  routes and forwards user data packets from a user device  13  while each PGW  19  is linked to the SGW  17  within the EPC network  5  and provides connectivity to external networks such as the content delivery network  7  and remote servers  12  located on a wide area network such as the Internet  10 . In this embodiment, the SGW  17  and PGW  19  are paired and will be referred to hereinafter as a gateway pair  15 . Furthermore, in this embodiment, there are four such gateway pairs  15   a,    15   b,    15   c,    15   d  located in different parts of the geographical area and each typically servicing a different subset of the cellular base stations  9 . 
         [0023]    The EPC network core  5  also contains a number of management modules, each known as a Mobile Management Entity (MME)  21 . Each MME  21  is responsible for authenticating user devices onto the network core  5  by reference to a Home Subscriber Server (not shown) and controlling the user device  13  connections within the network core  5 . When a user device  13  has connected to a base station  9  within the cellular access network  3 , the base station  9  forwards the access request to the MME  21  which authenticates the user device  13 . If the user device  13  is authorised, then it selects one of the gateway pairs  15  to service the data connection for the user device  13 . 
         [0024]    Typically, the selected gateway pair  15  is maintained for the duration of the data session. However in this embodiment, the MME  21  also includes a Content-based Gateway Reselection Function (CGRF) module  23  which is responsible for moving the data connection between the user device  13  and the gateway pair  15  which was initially selected by the MME  21  when it determines that the data connection would be more efficiently handled by a different gateway pair  15 . The operation of the CGRF  23  will be described in more detail later. The EPC  5  also includes a network location server  24  which stores details of the network location (i.e. IP address) and geographical location of each component in the network as well as the overall network topology. It is accessed by the CGRF  23  as will be described later. 
         [0025]    Each PGW  19  connects to the content delivery network  7  and Internet  10  via a back end network  26 . The content delivery network  7  contains a number of content delivery cache devices also located in different geographical locations, some of which are coincident with the various gateway pairs  15 . In this embodiment, the content delivery caches can be grouped into core content delivery caches  25  and edge content delivery caches  27 . The core content delivery caches  25  are larger and contain more content whilst edge content delivery caches  27  have a smaller capacity but are located much closer to the gateway pairs  15  and in some cases are co-located with the gateway pairs  15 . Each content delivery cache is also connected to the back end network  26  so that data connections between user devices  13  and content delivery caches  25 ,  27  can be established. 
         [0026]    The content delivery network  7  also contains a content locator  29  which is responsible for maintaining a directory of where content is located including coordinating the movement of content between the content delivery caches  25 ,  27 , and for intercepting user device  13  requests for information and if the content is available within the content delivery network, redirecting the content request to an appropriate content delivery cache  25 ,  27 . As will be explained later, it also provides information to the CGRF so that the CGRF can optimise the path between the user devices  13  and content delivery caches  25 ,  27  via an appropriate gateway pair  15 . 
         [0027]    For ease of understanding,  FIG. 2  shows part of the network architecture  1  explained above from a geographical perspective. In  FIG. 2 , the mobile device  13  is within range of, and connected to a base station  9 .  FIG. 2  also shows two Gateway pairs  15   a  and  15   c  located near the mobile device  13 . In addition, some of the other network devices shown in  FIG. 1  are co-located with the gateway pairs  15 . The gateway pair  15   a,  MME  21  and CGRF  23  are located in a building  20 . The gateway pair  15   c  and edge content delivery cache  27   b  are located in a building  22 . The content locator  29  and core content delivery caches  25   a,    25   b  are located at a remote location from the mobile device  13  and buildings  20  and  22 . 
         [0028]    Following authentication by the MME  21 , the mobile device  13  is connected to gateway pair  15   a,  The overall operation of the first embodiment will now be described with reference to the example scenario shown in  FIG. 2  and with reference to  FIG. 3  which shows the message flow between components in the network. 
         [0029]    In step s 101 , the user device  13  sends a request for a piece of content to a remote server  12  located on the Internet  10 . This message is intercepted by the content locator  29  enroute to the remote server  12  in step s 103 . The content locator sits on the path between the PGW  19  and the core network so it can read all traffic flowing through the PGW in a similar manner to deep packet inspectors. 
         [0030]    In step s 105 , the content locator  29  checks the content delivery network  7  and specifically the edge and core content delivery caches  25 ,  27 , to see whether the requested content is available and therefore could be delivered to the user device from one of the content delivery caches  25 ,  27 . In the example, core content delivery caches  25   a  and  25   b  and edge content delivery cache  27   b  have cached the request content. 
         [0031]    Instead of simply redirecting the user device&#39;s request to the nearest content delivery cache as is conventional, in step s 107 , the content locator  29  helps the CGRF  23  improve the overall routing of data connection between the mobile device  13  and the content delivery cache. It therefore sends a list of the content delivery caches containing the requested content to the CGRF  23  within the EPC  5 . 
         [0032]    In step s 109 , the CGRF  23  uses knowledge of the geographical locations of the gateway pairs, content delivery caches and the user device, as well as routing costs, to determine a nearest content delivery cache  25  and an associated gateway pair  15  within the EPC would best serve the content request to the user device. In this example, edge content delivery cache  27   b  contains the requested content and is in the same building  22  as gateway pair  15   c  which is near the mobile device  13 . 
         [0033]    In step s 111 , the CGRF  23  instructs the MME  21  to redirect the PDN session to the selected gateway pair  15   c  which is associated with the closest content delivery cache, i.e. edge content delivery cache  27   b.    
         [0034]    In step s 113 , the MME  21  moves the PDN session to gateway pair  15   c  and in step s 115  the CGRF  23  notifies the content locator  29  that edge content delivery cache  27   b  was selected to serve the requested content. 
         [0035]    In response to the notification from the CGRF, in step s 117  the content locator  29  redirects the user device&#39;s content request to the selected content delivery cache  27   b.    
         [0036]    In step s 119  the content delivery cache  27   b  serves the content as if it were the original destination of the content request.  FIG. 2  also shows the new connection between the mobile device  13  and the edge content delivery cache  27   b  via the gateway pair  15   c  as a result of the operation of the CGRF and MME redirection. 
         [0037]    With the above processing, the route between the user device  13  and requested content is optimised within the content distribution network  7  and also within the EPC network  5 . 
         [0038]      FIG. 4  schematically shows the functional components of a content locator  29  illustrated in  FIG. 1 . To maintain knowledge of the state of the content delivery caches in the content delivery network  7 , the content locator  29  contains a content delivery cache network interface  31 , a content manager  33 , a content directory  35  and a content delivery cache property store  37 . To handle requests from user devices  13 , the content locator  29  also contains a device interface  41 , a content request processor  43  and a CGRF interface  45 . 
         [0039]    The content delivery cache interface  31  is connected within the content delivery network  7  to each of the core content delivery caches  25  and edge content delivery caches  27 . Each content delivery cache  25 ,  27  sends status update information messages to keep the content locator  29  informed of the state of the content delivery network  7 . This is conventional processing as will be described below. 
         [0040]      FIG. 5  shows a content delivery cache registration message  51  sent from a content delivery cache  25 ,  27  when it is initialised or joins the content delivery network  7 . The message  51  contains an identity field  53  containing the unique identifier for that content delivery cache  25 ,  27  as well as ann IP address field  55  which provides the IP address of the content delivery cache  25 ,  27 . When the content delivery cache interface  31  receives the registration message  51  the messages are forwarded to the content manager  33  which creates a new entry in the content delivery cache property store  37 . 
         [0041]    After this initial registration, the content delivery cache  25 ,  27  periodically sends content update messages to the content locator  29 .  FIG. 6  shows the format of the content update message  61  which contains a content delivery cache identity field  63  followed by content entries  65  of the content within the content delivery cache  25 ,  27 . On receiving this message, the content manager  33  updates the content directory  35 . Due to the nature of the content delivery network  7 , each piece of content should be replicated several times within the network  7  on different content delivery caches. 
         [0042]    The content delivery caches  25 ,  27  also provide the content locator with their current load status and these messages are sent separately because they are sent more frequently that the content update messages.  FIG. 7  shows the format of a load update message  71  which contains a content delivery cache identity field  73  and a content delivery cache load field  75 . When such a message is received, the content manager  33  updates the content delivery cache property store  37 . 
         [0043]    The above components and processing of the content locator  29  enable it to maintain knowledge of the status of the content delivery caches  25  and  27  and the location of content within the content delivery network  7 . 
         [0044]    The processing of the content locator in response to a request for content from a user device will now be described with reference to  FIG. 8 . 
         [0045]    Content requests from the user devices are intercepted by the device interface  41  and forwarded to the content request processor  43  which performs the following processing for each request. In step s 1 , the IP address of the user device is extracted from the request and placed into a temporary store. In step s 3 , the identity of the requested content is extracted. 
         [0046]    Having learned the identity of the requested content, in step s 5  the content request processor  43  checks whether the content is available in the content delivery network  7  by interrogating the content manager  33  and content directory  35 . 
         [0047]    The content request processor  43  waits for a response from the content manager  33  at step s 7  and when a response is received, if the content is not available within the content delivery network  7 , i.e. the content is not available within any content delivery cache  25 ,  27 , the processing proceeds to step s 9  where the user device request message is forwarded to the original destination of the content request. 
         [0048]    However, if the response from the content manager  33  is positive, then processing proceeds to step s 11  in which the content request processor  43  sends a message to the CGRF  23  via the CGRF interface  45 . 
         [0049]    The content manager  33  returns an indication not only of whether the content is available, but also the IP address of each content delivery cache which contains the content.  FIG. 9  shows an example message in which three of the content delivery caches  25   a,    25   b  and  27   b  have the requested content. The message  81  contains an address field  83  for the IP address of the mobile device  13 , an identity field  85  for the identities of each content delivery cache containing the requested content an IP address field  87  for the associated IP addresses of each content delivery cache identified and a field  89  for the current load of each content delivery cache. 
         [0050]    As will be described later, the CGRF  23  is responsible for making the final selection of which content delivery cache  25 ,  27  will serve the requested content. Therefore in step s 13 , the content request processor waits for a response from the CGRF  23  via the CGRF interface  45 . The response will contain the identity of the selected content delivery cache and the content request processor  43  therefore redirects the content request to that selected content delivery cache. 
         [0051]    All further data exchange between the user device  13  and the selected content delivery cache  25 ,  27  will bypass the content locator and therefore processing ends for the particular request. 
         [0052]    The message  81  generated by the content request processor is sent to the CGRF  23 .  FIG. 10  shows the functional components of the CGRF  23  containing a content locator interface  101 , a gateway reselection processor  103 , a MME interface  105  and a network location server interface  107 . 
         [0053]    The content locator interface  101  receives notifications from the content locator  29  and is also used to notify the content locator  29  which of the available content delivery caches has been selected. The gateway reselection processor  103  chooses a content delivery cache containing the requested content, and furthermore selects a different gateway pair  15  to service the data session. The MME  21  is notified of the selection via the MME interface  105 . 
         [0054]    The processing of gateway reselection processor  103  when a message  81  is received from the content locator  29  will be described with reference to  FIG. 11 . 
         [0055]    In step s 21  the IP address of the requesting user device  13  and content delivery cache information is extracted from the message  81 . In step s 23  the gateway reselection processor  103  sends a message containing the user device&#39;s IP address to the MME  21  requesting an indication of the user device&#39;s  13  geographical location. 
         [0056]    In the example of  FIG. 2 , the IP address 10.10.1.148 is sent to the MME. 
         [0057]    To save processing time, in this embodiment, the MME  21  returns the IP address of the eNodeB  9  that the user device  13  has connected to. In this example, the eNodeB IP address is 10.13.1.2. 
         [0058]    Next, in step s 25 , the gateway reselection processor  103  sends a request containing the IF addresses of the eNodeB associated with the user device  13 , and the IP addresses of all the content delivery caches containing the requested content to the network location server  24 . 
         [0059]    In the example, following IP addresses are sent to the network location server  24 : 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 eNodeB: 
                 10.13.1.2 
               
               
                   
                 core content delivery cache 25a 
                 10.12.1.4 
               
               
                   
                 core content delivery cache 25b 
                 10.13.1.4 
               
               
                   
                 edge content delivery cache 27b 
                 10.14.1.4 
               
               
                   
                   
               
             
          
         
       
     
         [0060]    The network location server  24  returns ranked scores relating to the physical distance (OR) and cost associated (CR) with the links between the user device  13  location and each content delivery cache  25 ,  27  containing the requested content. 
         [0061]      FIG. 12  shows the functional components of the network location server  24 . 
         [0062]    The network location server  24  includes a CGRF interface  111  for handling queries from the CGRF  23 . In order to provide accurate location information, it also contains separate data stores for the various components in the network. These data stores are gateway pair location store  113 , eNodeB location store  115 , content delivery cache location store  117  and network topology store  119 . 
         [0063]    The gateway pair location store  113 , eNodeB location store  115 , content delivery cache location store  117  all contain IF address and geographical location coordinates for each respective stored entity. The network topology store  119  contains information on the layout and structure of the various networks and sub-networks as well as the properties of the links between the network components. 
         [0064]    A distance processor  121  and Oink cost processor  123  take the input parameters from CGRF requests and generate the distance and cost ranked scores used by the CGRF  23 . The processing of these units to generate the respective scores is conventional. 
         [0065]    Returning to  FIG. 11 , in the example, network location server  24  returns the following information: 
         [0066]    Distance Ranking 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 core content delivery cache 25a 
                 10 
               
               
                   
                 core content delivery cache 25b 
                 5 
               
               
                   
                 edge content delivery cache 27b 
                 8 
               
               
                   
                   
               
             
          
         
       
     
         [0067]    Cost Ranking 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 core content delivery cache 25a 
                 7 
               
               
                   
                 core content delivery cache 25b 
                 6 
               
               
                   
                 edge content delivery cache 27b 
                 1 
               
               
                   
                   
               
             
          
         
       
     
         [0068]    Once the network location server  24  has returned the distance and cost ranked scores, in step s 27  the gateway reselection processor  103  applies weightings to the results in order to generate an overall score for each content delivery cache. The highest ranking content delivery cache, i.e., the one with the lowest cost is selected. 
         [0069]    In this embodiment, the gateway reselection processor  103  applies the following formula: 
         [0000]      Score=60%*CR+25%*DR+15%*load. 
         [0070]    This results in the following final cost scores: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 core content delivery cache 25a 
                 7.45 
               
               
                   
                 core content delivery cache 25b 
                 5.3 
               
               
                   
                 edge content delivery cache 27b 
                 2.75 
               
               
                   
                   
               
             
          
         
       
     
         [0071]    Therefore in the example, the edge content delivery cache  27   b  is selected. 
         [0072]    The gateway reselection processor  103  now determines which gateway pair  15  would best service the data session with the user device  13  in delivering the requested content. In step s 29  the identity of the gateway pair  15  associated with the highest ranking content delivery cache is determined by sending the address of the highest ranking content delivery cache to the network location server  24  and requesting the associated gateway pair. 
         [0073]    In this example:
       Edge content delivery cache  27   b:  10.14.1.4 returns   PGW: 10.14.1.3   which is gateway pair  15   c.          
 
         [0077]    In step s 31 , a check is performed to determine whether the gateway pair  15  is the same as the current gateway pair  15  in use. If it is, then there is no need to move to a different gateway pair  15  and processing proceeds to step s 35  where the SGW reselection processor  103  informs the content locator  29  of the identity of the selected content delivery cache. In the example, the current gateway pair is gateway pair  15   a  so processing continues. 
         [0078]    If the test in step s 31  determines that a different gateway pair  15  would be more suitable, then in step s 33  the SGW reselection processor  103  informs the MME via the MME interface  105  to redirect the user device&#39;s current packet data network session away from the current gateway pair  15   a  and to the gateway pair  15   c  identified in step s 29  using procedures such as TS23.401 Selected IP Traffic Offload (SIPTO). After this stage, the processing proceeds to step s 35  as described earlier and then processing ends for the current request. 
         [0079]    The processing of content locator and CGRF allows for data sessions between user devices and content delivery caches in a content distribution network  7  via an EPC to move in dependence on the location of the content delivery caches containing the requested content. In this way, the path between these network components can be optimised thereby improving the operation of the network as a whole. 
       ALTERNATIVES AND MODIFICATIONS 
       [0080]    In the embodiment, the load of the each content delivery cache is factored into the calculation to select a content delivery cache. This is an optional feature and in an alternative, the content manager does not return this information. 
         [0081]    In the embodiment, a particular selection algorithm was used to select the optimal SGW. It will be appreciated that many different equivalent algorithms could be used in order to identify an optimal SGW without departing from the scope of the invention. 
         [0082]    In the embodiment, the CGRF was collocated with the MME. In an alternative, the CGRF is a separate entity within the EPC although communication via the interfaces is the same as in the first embodiment. 
         [0083]    In the embodiment, the network core is a single EPC with many gateway pairs of SGWs and PGWS. It will be clear to the skilled person that many different EPC configurations are possible and therefore in an alternative there are multiple SGWs associated with any particular PGW. In a further alternative, there are multiple separate EPC networks all linked together under the control of several MMEs which are external to the EPC.