Abstract:
The present invention relates to a content providing system and method combining a transparent Internet cache (TIC) server and a content delivery network (CDN), and more particularly, to a content providing system and method that may overcome limitation on capacity of a cache storage found in a TIC service and may also overcome limitation on service transparency found in a CDN service. According to the present invention, it is possible to overcome limitation on capacity of a cache storage found in an existing TIC service and to overcome limitation on service transparency found in a CDN by combining a TIC server and the CDN.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to and the benefit of Korean Patent Application No. 10-2012-0134438 filed in the Korean Intellectual Property Office on Nov. 26, 2012, the entire contents of which are incorporated herein by reference. 
       TECHNICAL FIELD 
       [0002]    The present invention relates to a content providing system and method combining a transparent Internet cache (TIC) server and a content delivery network (CDN), and more particularly, to a content providing system and method that may overcome limitation on capacity of a cache storage found in a TIC service and may also overcome limitation on service transparency found in a CDN service. 
       BACKGROUND ART 
       [0003]    Currently, with the distribution of an Internet video service called over the top (OTT), OTT traffic is inundating Internet protocol (IP) network roads (an international line, a backbone, a backhaul, and an access) of Internet Service Provider (ISP). Such OTT traffic does not pay a service fee for using a road of the Internet Service Provider and thus, the Internet Service Provider is spending tremendous amounts of expenditures for increasing networks but not using any type of profitability model. 
         [0004]    A plurality of technologies for decreasing OTT traffic is proposed and one of the technologies is a transparent Internet cache (TIC). The TIC refers to a technology of decreasing costs of an International line and a backbone network by caching OTT content in an Internet service provider (ISP) network and providing cached content from a cache server within the ISP network when a user requests content. 
         [0005]    A content delivery network (CDN) technology is proposed to decrease the OTT traffic. In the case of a service for providing large capacity content, such as high quality video or streaming, the service is being smoothly provided to a user over a CDN operated by a CDN service provider. 
         [0006]    The CDN refers to a technology designed to prevent a degradation in a transmission rate of large capacity content and to solve an instability issue, and also refers to a technology of installing a plurality of cache servers at a bottom of an ISP network, moving content provided by a contents provider (CP) to a cache server in advance, and delivering the content stored in the cache server to a user when the user requests the content. That is, the CDN improves a transmission rate by moving the content requested by the user in advance to be close to the user. The CDN may improve Internet access quality and content transmission rate issues by decreasing an amount of load that is generated when content passes through a plurality of ISP networks, optimizing a movement path, and preventing traffic from being concentrating at a single point. 
         [0007]    However, similar to an OTT provider such as a CP, a CDN provider is also making a great deal of profits by using a network prepared by an Internet Service Provider nearly free of charge. 
         [0008]    Accordingly, to decrease traffic load of an OTT service and to provide a fast communication service, Internet Service Providers are making competitive efforts to reorganize a current CP centric profitability structure by proceeding with introduction of a TIC server and also carrying forward introduction of a CDN. 
         [0009]    In the case of a general TIC, relatively small capacity data such as a short video clip may not become a big issue in terms of a storage space of a cache server. However, large capacity data such as a high quality video may cause an issue in terms of the storage space of the cache server. 
         [0010]    Meanwhile, a CDN service has advantages in that it is possible to quickly service even large capacity content, such as a high quality video, to a user through a distributive storage and delivery service of large capacity data and at the same time, is possible to decrease traffic load of a backbone network of an Internet Service Provider. However, the CDN service has a disadvantage in protecting paid content provided by a CP, which is different from a TIC service. 
       SUMMARY OF THE INVENTION 
       [0011]    The present invention has been made in an effort to provide a content providing system and a content providing method that may overcome limitation on capacity of a cache storage found in a transparent Internet cache (TIC) service and may also overcome limitation on service transparency found in a content delivery network (CDN) service. 
         [0012]    An exemplary embodiment of the present invention provides a content providing method performed by a content providing system including a CDN and a TIC server configured to cache content and deliver the cached content to a user terminal, the method including: redirecting, by a router, a content request signal received from the user terminal to the TIC server; requesting, by the TIC server, an origin server for content corresponding to the content request signal; receiving, by the TIC server, a portion of corresponding content from the origin server, and determining whether the corresponding content is large capacity content; caching, by the TIC server, the corresponding content, and providing the cached corresponding content to the user terminal when the corresponding content is determined as small capacity content; and caching, by the CDN, the corresponding content, and providing the cached corresponding content to the user terminal when the corresponding content is determined as the large capacity content. 
         [0013]    Another exemplary embodiment of the present invention also provides a content providing system including a CDN and a TIC server configured to cache content and deliver the cached content to a user terminal, the system including: a router configured to intercept a content request signal and to redirect the content request signal to the TIC server; an origin server configured to store originals of various contents; the TIC server configured to cache small capacity content from the origin server and to provide the cached small capacity content to the user terminal; and the CDN configured to cache large capacity content from the origin server and to provide the cached large capacity content to the user terminal. The TIC server requests the origin server for content corresponding to the content request signal, receives a portion of corresponding content from the origin server, determines a characteristic of corresponding content, and determines a providing entity of corresponding content based on whether the corresponding content is large capacity content. 
         [0014]    According to exemplary embodiments of the present invention, it is possible to overcome limitation on capacity of a cache storage found in an existing TIC service and to overcome limitation on service transparency found in a CDN service by combining a TIC server and a CDN. 
         [0015]    According to exemplary embodiments of the present invention, it is possible to provide a fast service to a user and not to affect a business model of service providers by combining an Internet Service Provider centric CDN and an existing TIC server and delivering content to both a user and a service provider in a transparent manner, and to improve a profitability structure by providing a fast service to a Internet Service Provider and decreasing traffic load. 
         [0016]    The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]      FIG. 1  is a diagram illustrating a content providing system according to the present invention. 
           [0018]      FIG. 2  is a flowchart illustrating a content providing method according to the present invention. 
           [0019]      FIG. 3  is a flowchart to describe in detail operations S 10  to S 40  of  FIG. 2 . 
           [0020]      FIG. 4  is a flowchart illustrating an operation process in a case in which corresponding content is not stored in a local cache within a transparent Internet cache (TIC) server. 
           [0021]      FIG. 5  is a flowchart illustrating an operation process in a case in which corresponding content is stored in a local cache within a TIC server. 
           [0022]      FIG. 6  is a flowchart illustrating a process of delivering, by a CDN, corresponding content to a user terminal. 
           [0023]      FIG. 7  is a flowchart to describe in detail a process of delivering, by a CDN, corresponding content to a user terminal. 
       
    
    
       [0024]    It should be understood that the appended drawings are not necessarily to scale, presenting a somewhat simplified representation of various features illustrative of the basic principles of the invention. The specific design features of the present invention as disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes will be determined in part by the particular intended application and use environment. 
         [0025]    In the figures, reference numbers refer to the same or equivalent parts of the present invention throughout the several figures of the drawing. 
       DETAILED DESCRIPTION 
       [0026]    Various modifications and changes may be made to the present invention and certain exemplary embodiments are illustrated in drawings and are described in detail in the specification. However, the certain exemplary embodiments are not to limit the present invention to a predetermined disclosed mode and should be understood to include all of the modifications, equivalents, and alternatives included in the spirit and the technical scope of the present invention. 
         [0027]    Terms such as a first and a second may be used to describe various constituent elements, but the constituent elements should not be limited by the terms. The terms are used only to distinguish one constituent element from another constituent element. For example, without departing from the scope of the present invention, a first constituent element may be referred to as a second constituent element and similarly, the second constituent element may also be referred to as the first constituent element. 
         [0028]    Terms used in the present specification are simply used to describe certain exemplary embodiments and are not to limit the present invention. Unless clearly differently described in terms of context, a singular expression includes a plural expression. Terms such as “includes (comprises)” and “has” used in the present specification are used to designate presence of a feature, a number, a step, an operation a constituent element, a part, disclosed in the present specification, or combination thereof, and thus, should be understood not to pre-exclude the presence or addition of at least one another feature, number, step, operation, constituent element, part, or combination thereof. 
         [0029]    Unless differently defined, all of the terms used herein, including a technical term or a scientific term, have the same meaning as a meaning generally understood by those skilled in the art. 
         [0030]    Terms defined in a generally used dictionary should be understood to have a meaning that matches a contextual meaning of the art and should not be interpreted as an idealistic or excessively formal meaning unless clearly defined in the present specification. 
         [0031]    Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals disclosed in each drawing refer to like constituent elements. 
         [0032]      FIG. 1  is a diagram illustrating a content providing system  100  according to the present invention. 
         [0033]    The content providing system  100  according to the present invention refers to a system for providing a service in which a transparent Internet cache (TIC) service and a content delivery network (CDN) service are combined and also refers to a system for providing large capacity content to a user through a CDN and providing small capacity content to the user through a TIC server. 
         [0034]    The content providing system  100  according to the present invention includes a user terminal  110 , a router  120 , an Internet network  130 , a TIC server  140 , a CDN  150 , and an origin server  160 . 
         [0035]    The user terminal  110  refers to a terminal configured to request the origin server  160  for content, receive the content, and output the received content, and includes not only a generally used computer terminal but also a smart phone and a table computer that are accessible to the Internet over the wireless Internet and a mobile communication network. The user terminal  110  generates a content request signal for requesting transmission of content desired by a user, and transmits the generated content request signal to the router  120 . 
         [0036]    The router  120  refers to a network apparatus configured to connect the user terminal  110  to a destination by referring to an address of the content request signal transmitted from the user terminal  110 . An L4/L7 router may be used for the router  120 . The L4/L7 router functions to analyze network traffic in the user terminal  110 , to intercept a content request signal, and to deliver the intercepted content request signal to the TIC server  140 , which will be described later. To this end, the router  120  functions to redirect, to the TIC server  140 , an Internet protocol (IP) packet in a predetermined form, for example, hypertext transfer protocol (HTTP) GET. 
         [0037]    The TIC server  140  functions to deliver content corresponding to the content request signal to the user terminal  110  instead of the origin server  160 . 
         [0038]    When the corresponding content is present within a local cache of the TIC server  140 , the TIC server  140  transmits the corresponding content cached in the local cache to the user terminal  110 . Conversely, when the corresponding content is absent in the local cache of the TIC server  140 , the TIC server  140  requests the origin server  160  for the corresponding content, receives the corresponding content from the origin server  160 , caches the received corresponding content to the local cache and at the same time, delivers the received corresponding content to the user terminal  110 . 
         [0039]    An operation of the TIC server  140  will be described more in detail. 
         [0040]    Initially, the TIC server  140  receives the content request signal from the router  120 , transmits the content request signal to the origin server  160  that stores the content corresponding to the content request signal, and requests the origin server  160  for the corresponding content. 
         [0041]    Next, the TIC server  140  downloads a portion of corresponding content from the origin server  160 . 
         [0042]    The TIC server  140  verifies a characteristic of corresponding content based on the received content, and determines whether the corresponding content is large capacity content and whether the content is modified. Here, the large capacity content indicates that the corresponding content is at least one of content serviced using a streaming scheme and content compressed in an image format of a high quality video. The TIC server  140  may analyze a universal resource locator (URL) address of the origin server  160  storing the corresponding content or metadata of the downloaded portion of corresponding content, and may determine whether the corresponding content is large capacity content. 
         [0043]    When the corresponding content is not large capacity content, the TIC server  140  transmits the corresponding content instead of the origin server  160 . Here, in a case in which the corresponding content is cached to the local cache of the TIC server  140 , the TIC server  140  transmits the corresponding content stored in the local cache to the user terminal  110 . When the corresponding content is absent in the local cache of the TIC server  140  or when the corresponding content is modified, the TIC server  140  receives the corresponding content from the origin server  160 , caches the received corresponding content to the local cache, and at the same time, delivers the corresponding content to the user terminal  110 . 
         [0044]    Meanwhile, when the corresponding content is one of content serviced using a streaming scheme and high quality video content, the TIC server  140  delivers the content request signal of the user to the CDN  150  so that the CDN  150  transmits the corresponding content to the user terminal  110  instead of the origin server  160 . The CDN  150  will be described later. 
         [0045]    The CDN  150  includes a CDN gateway  151  and CDN nodes  152 _ 1 ,  152 _ 2 ,  152 _ 3 , and  152 _ 4 . 
         [0046]    The CDN gateway  151  selects, as an optimal node, a CDN node  152  closest to the user terminal  110  or having the highest availability among the plurality of CDN nodes  152 _ 1  to  152 _ 4 . The CDN node  152 , selected as the optimal node (hereinafter, also referred to as the optimal node  152 ), receives the content request signal from the CDN gateway  151 , and transmits the content corresponding to the content request signal to the user terminal  110  instead of the origin server  160 , so that the large capacity content may be provided to the user terminal  110  via an optimal path. 
         [0047]    Here, when the corresponding content is present within a local cache of the selected optimal node  152 , the optimal node  152  transmits the corresponding content cached to the local cache to the user terminal  110 . Conversely, when the corresponding content is absent in the local cache of the optimal node  152 , the optimal node  152  requests the origin server  160  or the other CDN nodes  152 _ 1  to  152 _ 4  for the corresponding content, receives the corresponding content from the origin server  160  or the other CDN nodes  152 _ 1  to  152 _ 4 , and transmits the corresponding content to the user terminal  110 . 
         [0048]    Hereinafter, a content providing method according to the present invention will be described. The content providing method according to the present invention is a method performed by a content providing system according to the present invention and a function performed thereby is substantially identical. 
         [0049]      FIG. 2  is a flowchart illustrating a content providing method according to the present invention. 
         [0050]    Initially, when a user requests desired content through a webpage or various types of applications, the user terminal  110  generates a content request signal that requests the content selected by the user (S 10 ). 
         [0051]    The content request signal is delivered to the router  120 , and the router  120  redirects the content request signal to the TIC server  140  (S 20 ). 
         [0052]    The TIC server  140  receives a portion of corresponding content, obtains metadata of corresponding content, and determines a characteristic of corresponding content by referring to the obtained metadata (S 30 ). As described above, the TIC server  140  may determine the characteristic of corresponding content by referring to a URL address of the origin server  160  that stores the corresponding content. For example, the TIC server  140  may determine whether the corresponding content is content being serviced using a streaming scheme in comparison with a URL address list of servers servicing the corresponding content using the streaming scheme. 
         [0053]    When the corresponding content is small large capacity (S 40 ), the TIC server  140  delivers the corresponding content to the user terminal  110  instead of the origin server  160  (S 50 ). 
         [0054]    Conversely, when the corresponding content is large capacity content corresponding to one of content serviced using the streaming scheme and content compressed in an image format of a high quality video (S 40 ), the TIC server  140  redirects the content request signal to the CDN  150  so that the CDN  150  delivers the corresponding content to the user terminal  110  instead of the origin server  160  (S 60 ). 
         [0055]      FIG. 3  is a flowchart to describe in detail operations S 10  to S 40  of  FIG. 2 . 
         [0056]    As described above, the user terminal  110  generates a content request signal for requesting content selected by a user (S 100 ). 
         [0057]    The content request signal includes an URL address of the origin server  160  that is a destination storing the content, and in response to the content request signal, a transmission control protocol (TCP) session is connected between the user terminal  110  and the origin server  160  (S 110 ). 
         [0058]    The content request signal is delivered to the router  120  prior to being transmitted to the origin server  160  (S 120 ), and the router  120  redirects the content request signal to the TIC server  140  (S 130 ). 
         [0059]    The TIC server  140  transmits the content request signal to the origin server  160  (S 140 ), and receives a portion of corresponding content from the origin server  160 , and obtains metadata of corresponding content (S 150 ). The TIC server  140  may analyze the portion of corresponding content received from the origin server  160  and obtain metadata such as duration, a video/audio data rate, a frame rate, a file size, and the like. 
         [0060]    The TIC server  140  determines a characteristic of corresponding content by referring to the obtained metadata (S 160 ). 
         [0061]    When the corresponding content is small capacity content, the TIC server  140  provides the corresponding content to the user terminal  110 . When the corresponding content is large capacity content, the CDN  150  provides the corresponding content to the user terminal  110 . 
         [0062]    Hereinafter, an exemplary embodiment of the TIC server  140  will be described. Each of  FIGS. 4 and 5  illustrates a process of delivering, by the TIC server  140 , content corresponding to a content request signal to the user terminal  110 . 
         [0063]      FIG. 4  is a flowchart illustrating an operation process in a case in which corresponding content is not stored in a local cache within the TIC server  140 . 
         [0064]    Initially, the TIC server  140  determines whether corresponding content is stored in the local cache (S 210 ). 
         [0065]    When the corresponding content is not stored in the local cache, the TIC server  140  transmits a content request signal to the origin server  160  (S 220 ) and receives the corresponding content from the origin server  160  (S 230 ). 
         [0066]    The TIC server  140  transmits the received corresponding content to the user terminal  110  (S 240 ) and at the same time, caches the received corresponding content to the local cache (S 250 ). Meanwhile, the TIC server  140  may be set to analyze a request amount of each content and cache only frequently requested corresponding content to the local cache, instead of caching all of contents to the local cache. 
         [0067]      FIG. 5  is a flowchart illustrating an operation process in a case in which corresponding content is stored in a local cache within the TIC server  140 . 
         [0068]    Initially, the TIC server  140  determines whether corresponding content is stored in the local cache (S 310 ). 
         [0069]    Even when the corresponding content is stored in the local cache, the TIC server  140  transmits a content request signal to the origin server  160  (S 320 ) and receives the corresponding content from the origin server  160  during a predetermined period of time or by a predetermined amount (S 330 ). 
         [0070]    Next, the TIC server  140  compares the received portion of corresponding content and the corresponding content stored in the local cache and determines identity of corresponding content (S 340 ). Content stored in the origin server  160  may be modified and thus, be different from the content stored in the local cache of the TIC server  140 . Accordingly, the TIC server  140  checks identity of corresponding content by comparing the received portion of corresponding content and the corresponding content stored in the local cache. 
         [0071]    When the corresponding content present within the origin server  160  is identical to the corresponding content stored in the TIC server  140 , the TIC server  140  cancels reception of content using a scheme of disconnecting a TIC session with the origin server  160  (S 345 ). 
         [0072]    Next, the TIC server  140  delivers, to the user terminal  110 , the corresponding content stored in the local cache (S 350 ). 
         [0073]    Conversely, when the corresponding content present within the origin server  160  differs from the corresponding content stored in the TIC server  140 , the TIC server  140  receives the corresponding content from the origin server  160 , delivers the received corresponding content to the user terminal  110 , and at the same time, caches the corresponding content to the local cache, which is similar to operations S 230 , S 240 , and S 250  of  FIG. 4 , although not illustrated in  FIG. 5 . 
         [0074]    In the present invention, although the TIC server  140  may directly provide content requested by the user terminal  110 , the TIC server  140  transmits a content request signal to the origin server  160  and receives a portion of corresponding content at all times. The reasons follow as. 
         [0075]    First, it is to verify whether content stored in the local cache of the TIC server  140  is latest. The TIC server  140  is unaware of whether the content stored in the local cache of the TIC server  140  is latest and thus, receives a portion of content of the origin server  160  and verifies whether cached content is latest content, based on the received portion of content. 
         [0076]    Second, it is to protect paid content. In response to a request for providing content, the origin server  160  requests user information (ID/PW) with respect to the paid content and delivers the content only to a verified user. The TIC server  140  verifies that a user has a right to receive the content based on the fact that the corresponding content is received from the origin server  160 . 
         [0077]    Third, it is to provide a use performance of a user to a CP. On the side of the CP, when the CP is aware of which contents are frequently used by users, the CP may utilize the contents for marketing and advertisements. Accordingly, at all times, the TIC server  140  initially transmits a request of the user to the origin server  160 , so that the CP may secure various types of statistical data (content popularity and taste for each user). 
         [0078]    Hereinafter, an exemplary embodiment of the CDN  150  will be described. When content corresponding to a content request signal is large capacity content, the CDN  150  delivers the corresponding content to the user terminal  110  instead of the origin server  160 . 
         [0079]      FIG. 6  is a flowchart illustrating a process of delivering, by the CDN  150 , corresponding content to the user terminal  110 . 
         [0080]    In operation S 160  of  FIG. 3 , the TIC server  140  determines a characteristic of corresponding content. 
         [0081]    When the corresponding content is large capacity content, the TIC server  140  delivers a content request signal to the CDN gateway  151  (S 410 ). 
         [0082]    The CDN gateway  151  selects, as the optimal node  152 , a node closest to the user terminal  110  or a node having the highest availability (S 420 ). 
         [0083]    The CDN gateway  151  delivers the content request signal to the selected optimal node  152  (S 430 ). 
         [0084]    The optimal node  152  transmits the delivered content request signal to the origin server  160  (S 440 ), and receives corresponding content from the origin server  160  (S 450 ). 
         [0085]    The optimal node  152  delivers the received corresponding content to the user terminal  110  (S 460 ). 
         [0086]    Operations  5440  to  5460  of  FIG. 6  may be configured as various exemplary embodiments based on whether the corresponding content is stored in local caches of the CDN nodes  152 _ 1  to  152 _n. 
         [0087]      FIG. 7  is a flowchart to describe in detail a process of delivering, by the CDN  150 , corresponding content to the user terminal  110 . 
         [0088]    Referring to  FIG. 7 , a content delivery scheme differs based on whether the corresponding content is present within the CDN  150 . 
         [0089]    Initially, the optimal node  152  determines whether the corresponding content is stored in the local cache (S 510 ). 
         [0090]    When the corresponding content is stored in a local cache of the optimal node  152 , the optimal node  152  cancels reception of corresponding content from the origin server  160  (S 511 ). 
         [0091]    Next, the optimal node  152  transmits, to the user terminal  110 , the corresponding content stored in the local cache of the optimal node  152  (S 512 ). 
         [0092]    When the corresponding content is not stored in the local cache of the optimal node  152  in operation S 510  and stored in another CDN node in operation S 520 , the optimal node  152  cancels reception of corresponding content from the origin server  160  (S 521 ). 
         [0093]    The optimal node  152  receives the corresponding content from the other CDN node (S 522 ) and transmits the received corresponding content to the user terminal  110  (S 523 ). 
         [0094]    Conversely, when the corresponding content is stored in none of the CDN nodes  152 _ 1  to  152 _n in operation S 520 , the optimal node  152  continuously receives the corresponding content from the origin server  160  (S 530 ). 
         [0095]    The optimal node  152  caches the received corresponding content to the local cache (S 531 ) and at the same time, transmits the received corresponding content to the user terminal  110  (S 532 ). 
         [0096]    Although the CDN  150  may directly provide the corresponding content requested by the user terminal  110 , the CDN  150  also transmits the content request signal to the origin server  160  and receives a portion of corresponding content at all times. 
         [0097]    Similar to the reasons of the TIC server  140 , the reasons are to verify whether content stored in the CDN  150  is latest, to protect paid content, and to provide a use performance of a user to a CP. 
         [0098]    The method of the present invention may be implemented as a computer-readable code in computer-readable media. The computer-readable media includes all of the types of recording media storing data readable by a computer system. Examples of computer-readable media include ROM, RAM, CD-RO, magnetic tape, floppy disk, optical data storage device, and the like, and also include a form of carrier wave (for example, transmission over the Internet). The computer-readable media may be distributed over a computer system connected to a network and thereby store and execute a computer-readable code using a distributive scheme. 
         [0099]    As described above, the exemplary embodiments have been described and illustrated in the drawings and the specification. The exemplary embodiments were chosen and described in order to explain certain principles of the invention and their practical application, to thereby enable others skilled in the art to make and utilize various exemplary embodiments of the present invention, as well as various alternatives and modifications thereof. As is evident from the foregoing description, certain aspects of the present invention are not limited by the particular details of the examples illustrated herein, and it is therefore contemplated that other modifications and applications, or equivalents thereof, will occur to those skilled in the art. Many changes, modifications, variations and other uses and applications of the present construction will, however, become apparent to those skilled in the art after considering the specification and the accompanying drawings. All such changes, modifications, variations and other uses and applications which do not depart from the spirit and scope of the invention are deemed to be covered by the invention which is limited only by the claims which follow.