Abstract:
A server and method for transmitting content to an end user are provided. The server receives information from a user terminal and transmits the content related to the user terminal to a cache server based, at least in part, on information received from the user terminal. Accordingly, the user terminal receives the content from the nearest cache server upon the request of the end user. The method according to the embodiments of the present invention is capable of providing content immediately to end users with low cache miss rate.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a server and a method for providing content to users. 
       BACKGROUND OF THE DISCLOSURE 
       [0002]    A variety of content distribution systems have been developed in the past. One such content distribution systems is a “content delivery network or “CDN”. CDNs have been utilized by content providers on behalf of third parties. Specifically, CDNs have been used for storing, caching, or transmission of content such as web pages, streaming media and applications. 
         [0003]      FIG. 1  is a schematic diagram illustrating a server (network) system  1  as the perspective view of the Pyramid comprising a Main server  2 , a Root server  3 , a Midgress server  4 , an Edge server  5  and terminals  61  to  68 . 
         [0004]    The main server  2  is a controller and/or operator of this server system  1 . It explicates that main server  2  will control the operation of the system from “Top to Bottom” by transmitting the instruction, content such as media content through server system  1 . The Root server  3  is the top level server of a cache server. For example, the Root server  3  is installed in continental areas i.e. North America, South East Asia, and Europe etc., as Regional servers. The Routings of data (content) are performed based on a routing table and a DNS configuration on the network. 
         [0005]    The Midgress server  4  is the middle level server of the cache server. For example, Midgress server  4  is installed in country areas i.e. USA, Japan, Taiwan, Thailand and etc., as Country servers. The Edge server  5  is the low level server of the cache server. Moreover, The Edge server  5  is the nearest server which user can receive and/or transmit the data (content) to the server system  1 . For example, the Edge server  5  is installed in city areas, i.e. San Diego, Tokyo, Taipei, and Bangkok etc., as local servers. Terminals  61  to  68  comprise a desktop PC, a notebook PC, a mobile phone, a tablet, a smartphone and the like. Users or customers are able to communicate and/or receive and/or transmit data (content) with the server system  1  using these terminals. Terminals  61  to  68  are installed applications and are registered as system accounts and/or members of the server system  1 . 
         [0006]    The procedure of operation system can be explicated as following: First, the Main server  2  transmits an instruction or content to the Root server  3 , then, the Root server  3  forwards the instruction or content to the Midgress server  4 . Afterwards, the Midgress server  4  transmits the instruction or content to the Edge server  5 , and at the end of process, the Edge server  5  transmits the content to the terminals  61  to  68 . In other words, the Edge server  5  is the most appropriate server in terms of location, for example the nearest access server, to the terminals  61  to  68 . 
         [0007]      FIG. 2  is a schematic diagram illustrating a basic data flow in the server system  1  of  FIG. 1 . To show how the server system  1  operates according to the ideas of “Top to Bottom” through Multi-layer structure of a cache server. As shown in this figure, the Cache server  8  may include the Root server  3 , the Midgress servers  41  to  42 , and the Edge servers  51  to  54 . In this way, “Data (Content) is transmitted to terminal users  1 - 8  via the Multi-layer structure of cache server  8 ”. For example, the Root server  3  receives data (content) from an storage origin  7 , then, the Root server  3  forwards the received data (content) to the Midgress servers  41  to  42 . Afterwards, the Midgress servers  41  to  42  transmit the forwarded data (content) to the Edge servers  51  to  54 . At the end of this process, terminals  61  and  62  may receive data (Content) from the Edge server  51 . Terminals  63  and  64  may receive data (Content) from the Edge server  52 . Terminals  65  and  66  may receive data (Content) from the Edge server  53 . And, terminals  67  and  68  may receive data (Content) from the Edge server  54 . This could also explain that each of the terminals  61 - 68  may receive data (content) from their nearest edge server. 
         [0008]    It should be noted that the definition of the term “request” used in the present specification is “a request to confirm whether there is any message in the Main server  2 ”. In a case where, there is a text message, the Main server  2  directly provides the text message to a terminal. On the other hand, if there is a request for content, the Main server  2  provides the terminal with a URL of the Storage origin  7  in which the content is stored. Thereby, the terminal accesses the Storage origin  7  thorough the CDN using the provided URL and gets the requested content stored therein. 
         [0009]      FIG. 3  is a schematic diagram illustrating a prior art data flow diagram in the server system of  FIG. 1 , when a user requests data from the server system  1 . In a case where the data is a text message, user No.  1  sends a request to the Main server  2  through the terminal  61 . That is, user No.  1  confirms whether there is any message for the terminal  61  in the Main server  2 . If there is any message, the Main server  2  will directly provide the message(s) to the terminal  61  based on the request (confirmation) of user No.  1 . On the other hand, if the requested data is content(s) such as media content, the requested content which has been stored in the Storage origin  7  is provided to the terminal  61  via the cache server  8  when the Main server  2  receives the request from terminal  61 . If the user No.  1  sends a request for content to the main server  2  through the terminal  61 , the Main server  2  allows the Storage origin  7  to transmit the requested content to the terminal  61  via the Cache server (Multi-layers)  8 . This may also be explained as follows: the Root server  3  receives the content from the Storage origin  7 . Then, the Root server  3  forwards the content to the Midgress server  41 . Afterwards, the Midgress server  41  transmits the content to the Edge server  51 . At the end of process, the content is provided to the terminal  61  by the Edge server  51 . During the process, cache of content is stored (cached) in each cache server, in which the content has been passed through. 
         [0010]    When another user, i.e. No.  2 , requests the same content thorough the terminal  62 , the user No.  2  may receive the requested content from the Edge server No.  1   51 . However, when another user, such as for example the user No.  8 , requests the same content through the terminal  68 , the route is longer, therefore the transmission takes longer time. For example, first, the terminal  68  accesses the Edge server  54  (No.  4 ). However, the edge server  54  (No.  4 ) fails to receive the content. Next, the edge server  54  (No.  4 ) will access the Midgress server  42  (No.  2 ). 
         [0011]    In addition, when a user of any messenger service may access a group of cache servers for the first time to get a requested content, the user has to access the Storage origin  7  to receive the content. This is mainly due to the fact that the cache of content is not stored in the cache servers in the route of the user&#39;s request (continued to fail, that is, “cache miss”), and thus, it causes time delay to get the requested content. 
       SUMMARY OF THE INVENTION 
       [0012]    Therefore, an object of the present invention is to provide a server and a method for providing content to users immediately with less cache miss. 
         [0013]    In accordance with one aspect of the present invention, a method for providing content to a user includes the steps of receiving information from a terminal of the user and transmitting a cache of content related to the user to a cache server related to the terminal based on the information such that the terminal receive the cache content from the cache server upon the request of the user. 
         [0014]    In accordance with a second aspect of the present invention, a server is provided for delivering content. The server includes information registration part for storing information received from a terminal of a user; and a transmission part that sends content related to the user to a cache server related to the terminal of the user. 
         [0015]    In accordance with a third aspect of the present invention, a method for providing content to a user includes the steps of sending content associated with a user terminal to a cache server from a main server; storing the content in a content database of the cache server; and sending the content to the user terminal from the cache server based on a user request. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0016]      FIG. 1  is a schematic diagram illustrating a server (network) system. 
           [0017]      FIG. 2  is a schematic diagram illustrating a basic data flow in the server system of  FIG. 1 . 
           [0018]      FIG. 3  is a schematic diagram illustrating a prior art data flow diagram in the server system of  FIG. 1 . 
           [0019]      FIG. 4  is a schematic diagram illustrating an embodiment of data flow in the server system of  FIG. 1 . 
           [0020]      FIG. 5  is a schematic diagram illustrating another embodiment of data flow in the server system of  FIG. 1 . 
           [0021]      FIG. 6  is a schematic diagram illustrating yet another embodiment of data flow in the server system of  FIG. 1 ; 
           [0022]      FIG. 7  is a schematic diagram illustrating yet another embodiment of data flow in the server system of  FIG. 1 . 
           [0023]      FIG. 8  is a flowchart illustrating operation steps of a main server. 
           [0024]      FIG. 9  is a flowchart illustrating operation steps of the main server after the flow of  FIG. 8 . 
           [0025]      FIG. 10  is a flowchart illustrating operation steps of a cache server; 
           [0026]      FIG. 11  is a block diagram illustrating a configuration of a main server. 
           [0027]      FIG. 12  is a block diagram illustrating a configuration of a cache server. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0028]    The present invention describes in the detail below with the reference to the drawings. As those skilled in the art will recognize, the foregoing description merely refers examples of the invention for overview purposes. It is not limiting and the description may be realized in a variety of systems and methods. 
         [0029]      FIG. 4  is a schematic diagram illustrating one embodiment of data flow diagram in the server system of  FIG. 1 , when an end user sends a request for content to the server system  1 . The user terminal  61  also sends specific information to the Main server  2  with confirmation of message from the end user at the same time. The specific information may include identity information of the cache server in a network communicating to the terminal such as an IP address etc. The Main server  2  then receives the specific information from the user terminal  61 , and will recognize the cache server, which is related to the user terminal  61 . 
         [0030]    Therefore, when the Storage origin  7  receives the content which will be sent to the user terminal  61  from another user or service provider, the Storage origin  7  transmits the content to the cache server related to the user terminal  61 . Additionally, the Storage origin  7  transmits a content URL, which is linked to the Storage origin  7 , to the Main server  2  before the user terminal  61  sends a request for message and/or content. For example, when the user terminal  61  sends a request for new message(s), the Main server  2  transmits the content URL to the user terminal  61  and the user terminal  61  will access the Storage origin  7  using the content URL. Finally, the content will be transmitted from the Storage origin  7  to the Root server  3 , Midgress server  41  (No.  1 ), and Edge server  51  (No.  1 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) respectively. In this embodiment, the Edge server  51  (No.  1 ) is the nearest server which is located in direct contact with the user terminal  61  of the end user No.  1 . Therefore, the user terminal  61  may receive immediately the requested content from the Edge server  51  (No.  1 ) without complicated routing upon receiving the user request from the end user No.  1 , with a first attempt to download. 
         [0031]    Similarly, each of the user terminals  62  to  68  may send information, such as for example IP address of each the Edge servers  51  to  54  with which they are in direct contact, to the Main server  2  with any request of message or content. It should be noted that the Main server  2  recognizes the cache server (Edge server) related to the user terminals  62  to  68 , respectively. 
         [0032]    Therefore, when the Storage origin  7  receives content which will be sent to the user terminals  62  to  68  from another user or service provider, the Storage origin  7  will transmit the content to the cache servers related to the user terminals  62  to  68 , respectively. Additionally, the Storage origin  7  transmits the content URL which is linked to the Storage origin  7  to the Main server  2  before any of the user terminals  62  to  68  sends a request for message and/or content, respectively. For example, when the user terminals  62  to  68  sends a request for new message(s), the Main server  2  transmits the content URL to the user terminals  62  to  68  and the user terminals  62  to  68  may access the Storage origin  7  using the content URL. 
         [0033]    Finally, when the Storage origin  7  receives content which will be sent to, for example, the user terminal  62 , the content will be transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) respectively. In this embodiment, the Edge server  51  (No.  1 ) is the nearest server which is in direct contact with the user terminal  62 , end user No.  2  related to the content. Therefore, the user terminal  62  may receive the content from the Edge server  51  (No.  1 ) immediately without complicated routing upon receiving the request for content from the end user No.  2 , with a first attempt to download. 
         [0034]    In the same manner, when the Storage origin  7  receives content which will be sent to the user terminal  63  related to the end user No.  3  or the user terminal  64  related to the end user No.  4 , the content will be transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  52  (No.  2 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  52  (No.  2 ) respectively. In this embodiment, the Edge server  52  (No.  2 ) is the nearest server which is in direct contact with both of the user terminals  63  and  64  from the end users No.  3  and No.  4  related to the content. Therefore, the user terminals  63  and  64  may receive the content from the Edge server  52  (No.  2 ) immediately without complicated routing upon receiving the request for content from the end users No.  3  and No.  4 , respectively, with a first attempt to download. 
         [0035]    Furthermore, when the Storage origin  7  receives content which will be sent to the user terminal  65  related to the end user No.  5  or the user terminal  66  related to the end user No.  6 , the content will be transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  42  (No.  2 ), the Edge server  53  (No.  3 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  53  (No.  3 ) respectively. In this embodiment, the Edge server  53  (No.  3 ) is the nearest server which is in direct contact with both of the user terminals  65  and  66  from the end users No.  5  and No.  6  related to the content. Therefore, the user terminals  65  and  66  may receive the content from the Edge server  53  (No.  3 ) immediately without complicated routing upon receiving the request for content from the end users No.  5  and No.  6 , respectively, with a first attempt to download. 
         [0036]    In addition, when the Storage origin  7  receives content which will be sent to the user terminal  67  related to the end user No.  7  or the user terminal  68  related to the end user No.  8 , the content will be transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  42  (No.  2 ), the Edge server  54  (No.  4 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  54  (No.  4 ) respectively. In this embodiment, the Edge server  54  (No.  4 ) is the nearest server which is in direct contact with both of the user terminals  67  and  68  from the end users No.  7  and No.  8  related to the content. Therefore, the user terminals  67  and  68  may receive the content from the Edge server  54  (No.  4 ) immediately without complicated routing upon receiving the request for content from the end users No.  7  and No.  8 , respectively, with a first attempt to download. 
         [0037]    In another embodiment, the Main server  2  may receive location information of end users  1 - 8  from the user terminals  61 - 68 , and determine the cache server which is most suitable for the specific user terminals. That is, the Main server  2  may determine IP address of an adequate edge server based on the location information of the end user. 
         [0038]    In yet another embodiment, the information may include routes to the network and/or patterns of use. In this embodiment, the Main server  2  determines the cache server  8  related to the user terminal based on the received information from the user terminal. By way of examples, the routes to the network may include a WiFi network and a cellular network, e.g., 3G line. In a case where the end user changes the WiFi network and/or to the 3G line, the Main server  2  may determine the cache server related to the user terminal based on the information about the routes to the network. In this way, the user terminal can transmit the information of edge server with a request for the content or message to the Main server  2  only when the change occurs, such as for example when the end user moves to another location, and therefore, the network is changed, etc. 
         [0039]    Patterns of use may include different user terminals such as, for example, personal computers (PCs), smartphones, or any other communication devices that may be used during day or night. For example, user terminals at office are used during the day, and other terminals at home are used during the night. In this embodiment, the Main server  2  may determine the cache server related to the user terminal based on information related to the patterns of use. The reception frequency of the information is not limited in particular. For example, the Main server  2  may receive the information from the user terminal periodically. However, in consideration of loads of the server, it is preferable to receive the information when a change of the information occurs. 
         [0040]      FIG. 5  is a schematic diagram illustrating another embodiment of data flow in the server system of  FIG. 1 , when an end user requests content from the server system  1 . In this embodiment, a case is explained there the Storage origin  7  receives content which would be sent to the end users No.  1  and No.  8 . For example: the user terminals  61  and  68  send information such as, for example, the IP address of each of the Edge servers with which they are in direct contact with respect to Main server  2 . The Main server  2 , then, recognizes the cache server (Edge server) related to the user terminal  61  and the user terminal  68  based on the received information, respectively. 
         [0041]    Therefore, when the Storage origin  7  receives content which would be sent to the user terminals  61  and  68  from another user or service provider, the Storage origin  7  transmits the content to the cache server related to the user terminal  61  and the user terminal  68 , respectively. And, the Storage origin  7  transmits content URL which is linked to the Storage origin  7  to Main server  2  before the terminal  61  and terminal  68  send a request for message and/or content respectively. For example, when terminal  61  and terminal  68  request new message(s), Main server  2  transmits the content URL to the user terminal  61  and the user terminal  68 . Then, the user terminals  61  and  68  access the Storage origin  7  through the content URL. 
         [0042]    Finally, the content is transmitted from the storage origin  7  to the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) respectively. In this embodiment, the Edge server  51  (No.  1 ) is the nearest edge server or in direct contact with the user terminal  61 . Furthermore, the content is transmitted from the storage origin  7  to the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  54  (No.  4 ) sequentially, and stored in each of the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  54  (No.  4 ) respectively. In this embodiment, the Edge server  54  (No.  4 ) is the nearest edge server or is in direct contact with the user terminal  68 . Therefore, the user terminal  61  can receive the content from the Edge server  51  (No.  1 ) immediately without complicated routing upon receiving the request from the user No.  1  with the first attempt for download. And, the user terminal  68  can receive the content from the Edge server  54  (No.  4 ) and immediately without complicated routing upon receiving the request from the user No.  8 , with the first attempt for download. 
         [0043]      FIG. 6  is a schematic diagram illustrating another embodiment of data flow in the server system of  FIG. 1 , when an end user requests content from the Main server  2 . In this embodiment, the Storage origin  7  receives content which would be sent to the end user No.  1 , end user No.  3 , end user No.  5 , and the end user No.  7 . For example, it is assumed that in this embodiment, the end users No.  1 , No.  3 , No.  5  and No.  7  belong to the same SNS group, or enroll in the same account for the corporate advertising. By way of example, the user terminals  61 ,  63 ,  65  and  67  send information such as the IP address of each of Edge servers with which they are in direct contact to the Main server  2 . The Main server  2 , then, recognizes the cache server (Edge server) related to the user terminals  61 ,  63 ,  65 , and  67  based on the information, respectively. 
         [0044]    Therefore, when the Storage origin  7  receives content which would be sent to user terminal  61 ,  63 ,  65 , and  67  from another end user or service provider, the Storage origin  7  transmits the content to the cache server related to user terminals  61 ,  63 ,  65 , and  67 , respectively. And, the Storage origin  7  transmits content URL which is linked to the Storage origin  7  to the Main server  2  before the user terminals  61 ,  63 ,  65 , and  67  request message and/or content respectively. For example, when the user terminals  61 ,  63 ,  65 , and  67  request a new message(s), the Main server  2  transmits the content URL to the user terminal  61 ,  63 ,  65 , and  67 . And the user terminals  61 ,  63 ,  65 , and  67  access the Storage origin  7  through the content URL. 
         [0045]    Finally, the content is transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  51  (No.  1 ) respectively. In this embodiment, the Edge server  51  (No.  1 ) is the nearest edge server or the one with direct contact with the user terminal  61 . And, the content is transmitted from the storage origin  7  to the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  52  (No.  2 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  41  (No.  1 ), and the Edge server  52  (No.  2 ). In this embodiment, the Edge server  52  (No.  2 ) is the nearest edge server or the one in direct contact with the user terminal  63 . In addition, the content is transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  53  (No.  3 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  53  (No.  3 ). In this embodiment, Edge server  53  (No.  3 ) is the nearest edge server or the one in direct contact with the user terminal  65 . Furthermore, the content is transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  54  (No.  4 ) sequentially, and will be stored in each of the Root server  3 , the Midgress server  42  (No.  2 ), and the Edge server  54  (No.  4 ). In this embodiment, the Edge server  54  (No.  4 ) is the nearest edge server or the one in direct contact with the user terminal  67 . 
         [0046]    Therefore, the user terminal  61  can receive the content from the Edge server  51  (No.  1 ) immediately without complicated routing upon receiving the request of end user No.  1 , with the first attempt for download. Thus, the terminal  63  can receive the content from the Edge server  52  (No.  2 ) immediately without complicated routing upon receiving the request from the end user No.  3 , with the first attempt for download. Terminal  65  can receive the content from the Edge server  53  (No.  3 ) immediately without complicated routing upon receiving the request from the end user No.  5 , with the first attempt for download. And, terminal  67  can receive the content from the Edge server  54  (No.  4 ) and immediately without complicated routing upon receiving the request from the end user No.  7 , with the first attempt for download. 
         [0047]      FIG. 7  is a schematic diagram illustrating yet another embodiment of data flow in the server system of  FIG. 1 , where there are multiple users who receive the same content, and the content may be stored a in common Midgress server. In this embodiment, the Storage origin  7  receives content related to the end users No.  1  and No.  3 . For example, the user terminals  61  and  63  send information such as IP address of each of the Edge servers with which they are in direct contact to the Main server  2 . The Main server  2  recognizes the cache server (Edge server) related to the user terminals  61  and  63  based on the received information, respectively. Therefore, when the Storage origin  7  receives the content related to the user terminals  61  and  63  from another end user or service provider, the Main server  2  transmits the content to the cache server related to the user terminals  61  and  63 . 
         [0048]    For example, the content is transmitted from the Storage origin  7  to the Root server  3 , the Midgress server  41  (No.  1 ), sequentially, and will be stored in the Root server  3 , and the Midgress server  41  (No.  1 ). In this embodiment, the Midgress server  41  (No.  1 ) is the common midgress server of user terminals  61  and  63  from the end users No.  1  and No.  3  related to the content. Therefore, the user terminals  61  and  63  can receive the content from the Midgress server  41  (No.  1 ) immediately without complicated routing upon receiving the request from the end user No.  1  and No.  3 . If the number of users receiving the content is large, it is possible to store the content in the midgress server as explained in the present embodiment, and not stored in each of the edge servers related to each user terminals. In this embodiment, the Main server  2  decides the most appropriate midgress server related to user terminals  61  and  63  based on the received information, and the content is subsequently stored in the midgress server. 
         [0049]      FIG. 11  is a block diagram illustrating a configuration of an embodiment of the Main server  2 . And,  FIG. 8  and  FIG. 9  are a flowchart illustrating operation steps of the Main server  2 . In this embodiment, as shown in  FIG. 11 , the Main server  2  may include a Registration Information part  201 , a Determination Part  204 , a Transmission part  206 , a user information database  203 , a cache server information database  205 , and a content database  215 . As shown in  FIG. 8 , an end user installs an application for the content delivery system through a user terminal at the first step (S 200 ). If the end user successfully installs the application into the user terminal  6 , the user registration is implemented (S 201 ) and a user account is created. The user registration is implemented by the Registration Information part  201 , and then, the information of registered user is stored in the user information database  203  of  FIG. 11 . 
         [0050]    Next, the Main server  2  receives the information from the user terminal (S 202 ). If the information is related to identity information of the cache server in a network in communication with the user terminal, such as for example an IP address, the Main server  2  stores the information of the related cache server in the cache server information database  205  of  FIG. 11  (S 204 ). In such a case, the operation of step S 203  is unnecessary. On the other hand, if the information is related to routes to the network or patterns of use, etc., the Main server  2  will determine the cache server related to each user terminal based on the received information (S 203 ). This determination step is implemented by determination part  204  of the Main server  2 . Thereafter, the Main server  2  stores the information of the related cache server in the cache server information database  205  (S 205 ). At the end of step, the Main server  2  will register the determined cache server which is related to the user terminal. 
         [0051]      FIG. 9  is a flowchart illustrating operation steps of Main server  2  after the flow diagram of  FIG. 8 . At first, the Main server  2  receives a content from a service provider or other users (S 210 ) and the content is then stored in the content database  215  (Storage origin  7 ) of the Main server  2 . Thereafter, the Main server  2  searches user the information database  203  and the cache server database  205  (S 211 ). Then, the Main server  2  determines the cache server which receives the content (S 212 ). These steps are implemented by determination part  204  of the Main server  2 . Accordingly, the Main server  2  transmits the related content to the determined cache server  8  (S 213 ). And subsequently, the content is stored in the content database  804  of the cache server  8 . 
         [0052]      FIG. 12  is a block diagram illustrating a configuration of a cache server. And,  FIG. 10  is a flowchart illustrating operation steps of the cache server. In this embodiment, as shown in  FIG. 12 , the cache server  8  may include a Registration Information part  800 , a Determination Part  802 , Transmission part  802 , user information database  801 , and a content database  804 . As shown in  FIG. 10 , the cache server  8  receives a request from the end user of user terminal  6  (S 800 ). Then, the determination part  802  of the cache server  8  performs a search within the information database  801  (S 801 ), and selects the content which will be sent to the end user from the content database  804  (S 802 ). Thereafter, the transmission part  803  of cache server  8  sends the selected content, stored in content database  804 , to the user terminal  6  of the related end user (S 803 ).