WO2015160222A1 - 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치 - Google Patents

실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치 Download PDF

Info

Publication number
WO2015160222A1
WO2015160222A1 PCT/KR2015/003886 KR2015003886W WO2015160222A1 WO 2015160222 A1 WO2015160222 A1 WO 2015160222A1 KR 2015003886 W KR2015003886 W KR 2015003886W WO 2015160222 A1 WO2015160222 A1 WO 2015160222A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
streaming
streaming content
providing server
received
Prior art date
Application number
PCT/KR2015/003886
Other languages
English (en)
French (fr)
Inventor
이종민
이경준
호용환
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to CN201580020256.1A priority Critical patent/CN106256132B/zh
Priority to EP15780285.1A priority patent/EP3133824B1/en
Priority to JP2017506241A priority patent/JP6302597B2/ja
Priority claimed from KR1020150054645A external-priority patent/KR101694400B1/ko
Publication of WO2015160222A1 publication Critical patent/WO2015160222A1/ko
Priority to US15/296,291 priority patent/US10298637B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 

Definitions

  • the present invention relates to a contents delivery network (CDN) for transmitting broadcast content in real time, and more particularly, by caching content broadcasted in real time to a terminal device and providing the content to a third terminal device.
  • CDN contents delivery network
  • the present invention relates to a method and apparatus for transmitting real-time broadcast content capable of reducing the traffic of a network and a load of a content providing server.
  • a plurality of local caching devices are installed at the network edge of the ISP, and the content provided by the content provider CP is replaced in advance in the local caching device.
  • the content delivery network (CDN) provided according to the emergence.
  • the content delivery network selects and connects local caching devices that can provide the best service for the user's request. It is made of a local caching device that stores in advance and pushes or caches the stored content according to a user request.
  • the local caching device distributes and receives the content received through one stream from the content provider CP to a plurality of terminal devices due to the limitation of providing the content in real time. You can only take advantage of splitting, not the same pushing and caching as you would with on-demand streaming.
  • the present invention proposes a real-time broadcast content transmission method and apparatus therefor that can allow caching together with splitting for a local caching device in providing a content delivery service.
  • the present invention by the content delivery control device for branching the streaming content that is already received, and delayed the branched streaming content delivered to the local caching device, the local caching device to enable the real-time broadcast to cache the content transmitted in real time
  • a method for transmitting content and an apparatus therefor are provided.
  • An apparatus for controlling content delivery includes a communication unit, a storage unit, and a control unit.
  • the communication unit transmits and receives data with a local caching apparatus and a content providing server distributed and distributed in a network.
  • the storage unit stores the streaming list including information on one or more streaming contents received from the content providing server.
  • the controller receives a request for streaming content transmitted from the terminal device to the content providing server through the communication unit, the controller determines whether the requested streaming content is registered in the streaming list, and the requested streaming content in the streaming list. If is registered, the streaming content received from the content providing server branched and delayed by a predetermined time and then transmitted to the terminal device.
  • the local caching apparatus includes a communication unit, a storage unit, and a control unit.
  • the communication unit of the local caching apparatus transmits and receives data through a network, and the storage unit stores streaming content.
  • the controller of the local caching apparatus receives streaming content transmitted to the terminal device through a content transmission control device, and stores the same streaming content as the received streaming content. Determine whether the content is stored in the unit, and if the same streaming content is stored, transmit a caching hit notification to the content transmission control device, and then store the stored streaming content according to the chunk identifier provided from the content transmission control device. Send to the terminal device.
  • the content transmission control device receiving a request for streaming content transmitted from the terminal device to the content providing server via a network; Determining, by the content transmission control apparatus, whether the requested streaming content is registered in a streaming list that is information about one or more streaming content received from the content providing server; As a result of the determination, when the requested streaming content is registered in the streaming list, the content transmission control device branches and delays the corresponding streaming content received from the content providing server to transmit to the terminal device through the network. A first transmission step; And when the requested streaming content is not registered in the streaming list, the content transmission control device transmits the request to the content providing server, and receives the streaming content transmitted from the content providing server. And a second transmitting step of transmitting to the terminal device through the network.
  • the present invention allows caching in transmitting broadcast content in real time, thereby reducing network traffic load and traffic concentration on a content provider due to redundant transmission of content.
  • the content delivery control device delays the streaming of the received streaming content to the local caching device so that the local caching device caches the streaming content using prefix caching and transmits the cached streaming content. Allow.
  • FIG. 1 is a diagram illustrating the overall configuration of a content delivery system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of an apparatus for controlling content delivery according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a configuration of a local caching apparatus according to an embodiment of the present invention.
  • 4A and 4B are flowcharts illustrating a process of transmitting streaming content according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of providing streaming content in the apparatus for controlling content delivery according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of providing other streaming content in the apparatus for controlling content delivery according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a process of stopping providing streaming content in the apparatus for controlling content delivery according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method of providing streaming content in a local caching apparatus according to an exemplary embodiment.
  • a content delivery system In contrast to on-demand streaming, a content delivery system according to an embodiment of the present invention is required to broadcast content in real time without delay (Live streaming), for example, Internet protocol television.
  • Live streaming for example, Internet protocol television.
  • IPTV Internet Protocol TeleVision, IPTV
  • streaming content referred to in the description below means live streaming content that should be broadcast in real time
  • streaming means live streaming.
  • FIG. 1 is a diagram illustrating the overall configuration of a content delivery system 100 according to an embodiment of the present invention.
  • the configuration of the content delivery system 100 illustrated in FIG. 1 illustrates functionally divided functional elements, and any one or more components may be integrated with each other in an actual physical environment.
  • the content delivery system 100 may include a plurality of terminal devices 110, one or more local caching devices 120, a content delivery control device 130, and a content providing server ( 140 and the network 150.
  • the terminal device 110 is a configuration for requesting the streaming content to the content providing server 140 via the network 150, and receives and outputs the requested streaming content.
  • the terminal device 110 may be described by being divided into the first terminal device 110a to the n-th terminal device 110n for convenience of description.
  • the terminal device 110 may transmit and receive data through the network 150, and any device capable of processing and outputting streaming content may be allowed.
  • the terminal device 110 may include a smart phone, a tablet, a laptop, a portable multimedia player, a tablet, a personal digital assistant. , E-Book Reader, etc. may be included, but is not limited thereto.
  • the local caching apparatus 120 is configured to cache streaming content transmitted through the network 150 by being distributed and distributed in the network 150, and to transmit the cached streaming content to the terminal device 110.
  • the local caching apparatus 120 monitors data transmitted between the terminal apparatus 110 and the content providing server 140 via the network 150, and then outputs content from the terminal apparatus 100 through the network 150.
  • a request for streaming content transmitted to the providing server 140 and a streaming content transmitted to the terminal device 100 from the content providing server 140 are received.
  • the local caching device 120 receives streaming content transmitted to the terminal device 110 through the content transmission control device 130 and receives the received content. It is determined whether streaming content identical to the streaming content is stored in the storage.
  • the local caching apparatus 120 transmits a caching hit notification to the content transmission control apparatus 130 and then is provided from the content transmission control apparatus 130. According to the chunk identifier, the stored streaming content is transmitted to the terminal device.
  • the content transmission control device 130 is connected to the network 150, to control the data flow flowing into the network 150 from another network (not shown), one or more local distributed in the network 150 It is a configuration for caching and transmitting streaming content through the caching apparatus 120.
  • the content transmission control device 130 stores a list of streaming content, that is, a streaming list, received from the content providing server 140 and transmitted to the terminal device 110 through the network 150.
  • the content transmission control device 130 determines whether the requested streaming content is registered in the streaming list.
  • the streaming content received from the content providing server 140 is branched and delayed by a predetermined time, and then the corresponding terminal device 110 through the network 150.
  • the delay value may be set according to a time required for determining the caching hit in the local caching apparatus 120.
  • the content providing server 140 is a server device of a content provider CP to provide content to the terminal device 110 through the network 150.
  • content provided by the content providing server 140 may be broadcast in real time.
  • the network 150 is an infrastructure for providing the streaming content to the terminal device 110 by the content providing server 140, and includes code division multiple access (CDMA) and wide band code division.
  • Mobile networks such as Wideband CDMA, WCDMA, High Speed Packet Access (HSPA), Long Term Evolution (LTE), Ethernet, x Digital Subscriber Line (xDSL) ), Wired communication networks such as Hybrid Fiber Coax (HFC), Fiber To The Home (FTTH), Wi-Fi, Wibro, Wima, Ultra-wideband (Ultra) Wireless communication network such as WideBand (UWB) or the like or a combination of the above-described communication network, but may be formed, but is not limited to a specific communication network.
  • the network 150 according to an embodiment of the present invention connects one or more access networks 152 and one or more access networks 152 connected to the plurality of terminal devices 110, and the content transmission control device 130. It may be made including a core network 151 to be connected.
  • the core network 151 connects a plurality of access networks 152 and performs a function of call processing, mobility control, switching, and the like, and includes a packet core device (Evolved Packet Core, EPC, 151a) and It may be configured to include a plurality of switching device (151b).
  • EPC Packet Core
  • the packet core device (EPC) 151a is a configuration that manages and controls the flow of packets and is in charge of connection with other networks (not shown), and the plurality of switching devices 151b are packets for each of the plurality of access networks 152. This is the configuration responsible for the delivery.
  • the access network 152 is a subscriber network capable of transmitting and receiving data with the terminal device 110 by wire or wirelessly.
  • the access network 152 according to an embodiment of the present invention consists of a plurality of digital units (DUs) and radio units (Radio Units, RUs) centralized on each digital unit (DU), It may be implemented as a base station 152a capable of separating and processing radio signals.
  • the network 150 distributedly arranges a plurality of local caching devices 120 at edges of the network 150 and connects the access network through the switching device 151b connected thereto.
  • Streaming content may be provided to each terminal device 110 connected to 152.
  • the request for the streaming content transmitted from the terminal device 110 is transmitted to the content providing server 140 through any one of the local caching device 120 and the content transmission control device 130, and conversely, content provision
  • the streaming content transmitted from the server 140 is delivered to the terminal device 110 through the content transmission control device 130 and any one local caching device 120.
  • the local caching apparatus 120 may receive data transmitted between the terminal device 110 and the content providing server 150 through a mirroring technique or a path change of a switch / router.
  • the mirroring technique refers to a technique of copying and bringing a mobile packet as it is through the network 100 without affecting traffic.
  • the content transmission control device 130 is connected between the packet core device 151a of the core network 151 and the external network, the request for the streaming content transmitted to the content providing server 140 and the content providing server ( 140 may receive the streaming content transmitted.
  • FIG. 2 is a block diagram illustrating a configuration of the content transmission control device 130 according to an embodiment of the present invention.
  • the configuration of the content delivery control device 130 illustrated in FIG. 2 illustrates functionally divided functional elements, and any one or more components may be physically separated or integrated.
  • the content transmission control device 130 may include a communication unit 131, a storage unit 132, and a control unit 133.
  • the components of the communication unit 131 are components for transmitting and receiving data with the content providing server 140 and the local caching apparatus 120. More specifically, the communication unit 131 monitors the network 150 and receives the streaming content and the request for the streaming content transmitted between the terminal device 110 and the content providing server 140 and delivers the request to the control unit 133. do. In addition, the communication unit 131 may transmit streaming content to the local caching apparatus 120 through the network 150, and transmit a request for streaming content to the content providing server 140 through another network (not shown). Can be.
  • the other network (not shown) may be a separate public network or a dedicated network different from the network 150, but is not limited thereto.
  • the storage unit 132 is a component for storing information and programs necessary for providing a content delivery service according to an exemplary embodiment.
  • the storage unit 132 may store the streaming list 132a and the subscriber information 132b.
  • the streaming list 132a is information on one or more streaming contents currently received from the content providing server 140
  • the subscriber information 132b is information on one or more terminal devices 110 receiving each streaming content.
  • the streaming list 132a and the subscriber information 132b are mapped to the streaming content received from the content providing server 130 and the terminal device 110 receiving the corresponding streaming content in a table form. Can be managed.
  • the controller 133 is a component that performs overall control of the content transmission control apparatus 130 and is a component for controlling a signal flow for performing the functions of the communication unit 131 and the storage unit 132. In general, the controller 133 determines whether the streaming content is being received using the streaming list 132a in response to the request for the streaming content from the terminal device 110. In addition, the controller 133 branches the previously received streaming content for prefix caching of the local caching device 120, and delays the branched streaming content to deliver it to the local caching device 120.
  • control unit 133 monitors the network 150 through the communication unit 131 to receive a request for streaming content transmitted from the terminal device 110 to the content providing server 140 or by using a local caching device ( 120, a request for streaming content.
  • the controller 133 determines whether the requested streaming content is registered in the streaming list 132a in order to determine whether the requested streaming content is already received.
  • the requested streaming content is registered in the streaming list 132a, the requested streaming content is the streaming content that has already been requested from the terminal device 110, and the content transmission control device 130 displays the previously received streaming content.
  • the other terminal device 110 may be transmitted.
  • the controller 133 branches the requested streaming content that is already received from the content providing server 140, and branches the branched streaming content for a predetermined time.
  • the preset time may be set according to a time required for a caching hit for determining whether the same content is cached in the local caching apparatus 120.
  • the time is required for the terminal device 110 to reproduce the divided chunk of the requested streaming content. It may depend on the time it takes.
  • the preset time according to an embodiment of the present invention may be set to 5 seconds as a reproduction time of one divided chunk for streaming content.
  • the controller 133 registers the terminal device 110 that requested the streaming content in the subscriber information 132b.
  • the controller 133 transmits the streaming content whose streaming is delayed through the communication unit 131 to the local caching apparatus 120 that has requested the streaming content.
  • the controller 133 determines whether a caching hit notification for streaming content is received from the local caching apparatus 120 through the communication unit 131.
  • the control unit 133 stops the delivery of the delayed streaming content to the local caching device 120, but instead receives the delayed streaming content until the stop request for the streaming content is received from the local caching device 120.
  • the chunk identifier (Signature) for identifying the divided chunk for the transmission is transmitted to the local caching apparatus 120 through the communication unit 133.
  • the requested streaming content is streaming content that is not requested from any terminal device 110, and the content transmission control device 130 may use the terminal device ( In order to provide the streaming content to the 110, it is necessary to receive the streaming content newly from the content providing server 140.
  • the controller 133 transmits a request for streaming content to the content providing server 140 through the communication unit 131.
  • the controller 133 monitors the network 150 through the communication unit 131 and receives streaming content transmitted from the content providing server 140 to the terminal device 110.
  • the controller 133 registers the streaming content received from the content providing server 140 in the streaming list 132a and registers the terminal device 110 that requested the streaming content in the subscriber information 132b.
  • the controller 133 delivers the streaming content received through the communication unit 131 to the local caching device 120 that has requested the streaming content until the stop request for the streaming content is received from the local caching device 120. .
  • the controller 133 monitors the network 150 by the communication unit 131 and receives a stop request for streaming content transmitted from the terminal device 110 to the content providing server 140.
  • the controller 133 stops the transmission of the streaming content or the chunk identifier that is being transmitted to the local caching apparatus 120.
  • the controller 133 deletes the terminal device 110 requesting the suspension registered in the subscriber information 132b.
  • the controller 133 determines whether the number of the terminal devices 110 that receives the streaming content requested for the suspension registered in the subscriber information 132b is zero.
  • the controller 133 may request streaming content that is requested to be stopped from the content providing server 140. Stop receiving for In addition, the controller 133 deletes the streaming content that is requested to be interrupted registered in the streaming list 132a.
  • FIG. 3 is a block diagram illustrating a configuration of a local caching apparatus 120 according to an embodiment of the present invention.
  • the configuration of the local caching apparatus 120 illustrated in FIG. 3 illustrates functionally divided functional elements, and any one or more components may be physically separated or integrated.
  • the local caching apparatus 120 may include a communication unit 121, a storage unit 122, and a control unit 123.
  • each communication component 121 is a configuration for transmitting and receiving data to and from the content delivery control device 130 and the terminal device 110. More specifically, the communication unit 121 monitors the network 150, receives a request for streaming content and streaming content transmitted between the terminal device 110 and the content providing server 140, and delivers the request to the control unit 123. do. In addition, the communication unit 121 may transmit a request for streaming content to the content transmission control device 130 through the network 150, and transmit the streaming content to the terminal device 110.
  • the storage unit 122 is a component for storing information and programs necessary for providing a content delivery service according to an exemplary embodiment.
  • the storage unit 122 may store the streaming list 122a, the subscriber list 122b, the chunk 122c, and the chunk identifier 122d.
  • the streaming list 122a is information on at least one streaming content received from the content transmission control device 130
  • the subscriber information 122b is information on at least one terminal device 110 receiving the streaming content.
  • the chunks 122c are divided data for the streaming content received from the content transmission control apparatus 130
  • the chunk identifiers 122d are identifiers for identifying the chunks.
  • the streaming list 122a and the subscriber information 122b are mapped to the streaming content received from the content transmission control device 130 and the terminal device 110 receiving the respective streaming content to be managed in a table form. Can be.
  • the chunk 122c and the chunk identifier 122d are mapped with the divided chunk 122c for the streaming content received from the content delivery control device 130 and the chunk identifier 122d for identifying each corresponding chunk. It can be managed in the form of one table.
  • the controller 123 is configured to perform overall control of the local caching apparatus 120, and is configured to control a signal flow for performing the functions of the communicator 121 and the storage 122.
  • the controller 123 receives and stores streaming content from the content providing server 140.
  • the controller 123 delivers the streaming content to the terminal device 110 using the stored streaming content.
  • the controller 123 monitors the network 150 through the communication unit 121 and receives a request for streaming content transmitted from the terminal device 110 to the content providing server 140.
  • the controller 123 transmits the received request for the streaming content to the content transmission control device 130 through the communication unit 121.
  • the controller 123 receives streaming content from the content transmission control device 130 through the communication unit 121 in response to the transmitted request.
  • the controller 123 determines whether the chunk corresponding to the received streaming content and the chunk corresponding to the received streaming content are stored in the storage unit 122 to determine whether the prefix caching for the streaming content is hit.
  • the chunk is divided data about streaming content received from the content transmission control device 130.
  • the controller 123 may determine that the requested streaming content is the same when a predetermined constant number of divided chunks of the received streaming content is continuously hit.
  • the local caching apparatus 120 may determine that the requested streaming content is the same when three divided chunks of the streaming content are successively hit.
  • the streaming content is a streaming content that is already received from the content transmission control device 130, and the local caching device ( 120 may transmit previously received streaming content to another terminal device 110. Therefore, when the chunk corresponding to the received streaming content and the corresponding chunk are stored in the storage unit 122, the controller 123 determines that the prefix caching for the requested streaming content is hit, and the communication unit 121. Transmits a caching hit notification for the streaming content to the content transmission control device 130 through.
  • the control unit 123 receives the chunk identifier from the content transmission control device 130 through the communication unit 121 instead of stopping the reception of the streaming content from the content transmission control device 130 through the communication unit 121.
  • the controller 123 transmits the streaming content through the communication unit 121 using the received chunk identifier.
  • the controller 123 may transmit the streaming content to the terminal device 110 until receiving a stop request for the streaming content from the terminal device 110.
  • the streaming content is the streaming content that is not requested from any terminal device 110, and the local caching device ( In order to provide the streaming content to the terminal device 110, the 120 will newly receive the streaming content from the content transmission control device 130. Accordingly, when the chunk corresponding to the received streaming content and the corresponding chunk are not stored in the storage unit 122, the controller 123 determines that the prefix caching for the requested streaming content is missed and is being received.
  • the streaming content is stored for a preset time based on the current time of the streaming content.
  • the preset time may be a time required for the constant constant number of the divided chunks of the received streaming content to be played through the terminal device 110, but is not limited thereto.
  • the storage retention time here may be recognized as the user of the terminal device 110 receives the streaming content in real time when the local caching device 120 prefixes the stored streaming content and delivers it to the terminal device 110.
  • the time may not be as long as this time, but the time is not limited thereto and may be long enough to be close to a limit supported by the physical environment of the local caching apparatus 120.
  • the controller 123 transmits the streaming content received from the content transmission control device 130 through the communication unit 121 to the terminal device 110 until it receives a stop request for streaming content from the terminal device 110. To pass.
  • FIGS. 4A and 4B are flowcharts illustrating a transmission flow of streaming content according to an embodiment of the present invention.
  • the plurality of terminal devices 110 are divided into the first terminal device 110a to the third terminal device 110c, and the plurality of local caching devices 120 are first local caching.
  • the device 120a and the second local caching device 120b will be described separately.
  • the first terminal device 110a to the third terminal device 110c request the same streaming content A. Furthermore, the first terminal device 110a and the second terminal device 110b are connected to the first local caching device 120a by a global server load balancing (GSLB), and the third terminal device 110c Assume that it is connected to the second local caching apparatus 120b.
  • GSLB global server load balancing
  • the request for the streaming content A of the first terminal device 110a and the second terminal device 110b passes through the first local caching device 120a and the content transmission control device 130 to provide the content providing server 140.
  • the request for streaming content A of the third terminal device 110c is transmitted to the content providing server 140 via the second local caching device 120b and the content delivery control device 130.
  • the first and second local caching apparatuses 120a and b and the content delivery control apparatus 130 may intercept and receive a request transmitted to the content providing server 140 through the network 150.
  • the first terminal device 110a transmits a request for streaming content A to the content providing server 140 through the network 150, and the first local caching device 120a transmits the network 150. ) And receives a request for streaming content A transmitted by the first terminal device 110a (S401).
  • the first local caching apparatus 120a transmits a request for streaming content A received through step S401 to the content transmission control apparatus 130 (S403).
  • the content transmission control apparatus 130 monitors the network 150.
  • the content transmission control device 130 determines that the streaming content A is not being received, and the content providing server 140
  • the request for streaming content A is forwarded (S407).
  • the content providing server 140 transmits the streaming content to the first terminal device 110a in response to step S407, and the content delivery control device 130 monitors the network 150 to transmit the content providing server 140.
  • One streaming content is received (S409).
  • the content transmission control device 130 registers the streaming content A received through the streaming list 132a through step S409, and registers the first terminal device 110a that requested the streaming content A through the step S401 on the subscriber information 132b. Register (S411).
  • the content delivery control device 130 transmits the streaming content A received through step S409 to the first local caching device 120a (S413).
  • the first local caching apparatus 120a determines whether the chunk corresponding to the divided chunk for the streaming content A received through the step S413 is stored and determines whether the prefix caching for the streaming content A is hit (S415). . As a result of the determination in step S415, since the chunk corresponding to the divided chunk for the streaming content A is not stored, the first local caching apparatus 120a determines that the prefix caching is missed, and the received streaming content is received in step S413. Based on the current time of A, the streaming content A is stored for a predetermined time (S417). In operation S417, it is assumed that the first local caching apparatus 120a stores the streaming content A of three divided chunks for the received streaming content A. In operation S413, the first local caching apparatus 120a transmits the received streaming content A to the first terminal apparatus 110a.
  • the first terminal device 110a requests the streaming content A through step S401 and receives it through step S419, the time required from the request for the streaming content A to the reception will be T1.
  • the second terminal device 110b transmits a request for streaming content A to the content providing server 140 through the network 150, and the first local caching device 120a transmits the network 150. ) And receives the request for streaming content A transmitted by the second terminal device 110b (S421).
  • the first local caching apparatus 120a transmits a request for streaming content A received through step S421 to the content transmission control apparatus 130 (S423).
  • the content transmission control apparatus 130 may monitor the network 150 or determine whether the streaming content A received through step S423 is already being received, the streaming content A requested through the step S423 in the streaming list 132a. It is determined whether is registered (S425). As a result of the determination in step S425, since the streaming content A is registered in the streaming list 132a through step S411, the content transmission control device 130 determines that the streaming content A is already received, and the subscriber information 132b indicates S421. In operation S427, the second terminal device 110b that has requested the streaming content A is registered.
  • the content transmission control device 130 branches the received streaming content A, delays the branched streaming content A by a predetermined time, and transmits the delayed streaming content A to the first local caching device 120a. Transfer (S429). In operation S429, it is assumed that the content transmission control device 130 delays the divided chunk for the branched streaming content A by the time required for the second terminal device 110b to play back.
  • the first local caching apparatus 120a determines whether a chunk corresponding to the divided chunk for the streaming content A received through the operation S429 is stored, and determines whether to hit the prefix caching for the streaming content A (S431). .
  • the first local caching apparatus 120a determines that the streaming content A is the same when three divided chunks of the streaming content A received through operation S429 are hit.
  • step S431 since the three chunks corresponding to the streaming content A and the three chunks corresponding to the content are stored through the step S417, the first local caching apparatus 120a determines that the prefix caching has been hit, and the content The caching hit notification for the streaming content A is transmitted to the transmission control device 130 (S433).
  • the content transmission control device 130 Since the content transmission control device 130 receives the caching hit notification for the streaming content A through step S433, instead of stopping delivery of the delayed streaming content A that is being delivered through step S429, the content transmission control device 130 is divided into the delayed streaming content A.
  • the chunk identifier for identifying the chunk is transmitted to the first local caching apparatus 120a (S435).
  • the first local caching apparatus 120a transmits the streaming content A stored in step S417 to the second terminal device 110b by using the chunk identifier received in step S435 (S437).
  • the second terminal device 110b requests the streaming content A through step S421 and receives it through step S437, the time required from the request for the streaming content A to the reception will be T2.
  • the streaming content A being transmitted to the first terminal device 110a is also transmitted to the second terminal device, the traffic between the content transmission control device 130 and the content providing server 140 is reduced, and the prefix is transmitted in step S431.
  • traffic between the first local caching device 120a and the content delivery control device 130 will be reduced. Therefore, overall T2 will have a shorter time than T1.
  • the third terminal device 110c transmits a request for streaming content A to the content providing server 140 through the network 150, and the second local caching device 120b monitors the network 150 to display a third message.
  • the terminal device 110c receives a request for streaming content A.
  • the second local caching apparatus 120b transmits the request for the streaming content A received through the step S441 to the content transmission control apparatus 130 (S441).
  • the content transmission control apparatus 130 may monitor the network 150 or determine whether the streaming content A received through step S431 is already being received, the streaming content A requested through the step S441 to the streaming list 132a. It is determined whether is registered (S443). As a result of the determination in step S443, since the streaming content A is registered in the streaming list 132a through step S411, the content transmission control device 130 determines that the streaming content A is already received, and the subscriber information 132b indicates S439. In operation S445, the third terminal device 110c that has requested the streaming content A is registered. In operation S409, the content transmission control device 130 branches the received streaming content A, delays the branched streaming content A by a predetermined time, and transmits the delayed streaming content A to the second local caching device 120b. Transfer (S447). In operation S447, it is assumed that the content transmission control device 130 delays the divided chunk for the branched streaming content A by the time required for the third terminal device 110c to play back.
  • the second local caching apparatus 120b determines whether the chunk corresponding to the divided chunk for the streaming content A received through the step S447 is stored, and determines whether the prefix caching for the streaming content A is hit (S449). . As a result of the determination in step S449, since the chunk corresponding to the divided chunk for the streaming content A is not stored, the second local caching apparatus 120b determines that the prefix caching is missed, and the streaming content being received through the step S4. Based on the current time of A, the streaming content A is stored for a predetermined time (S451). In operation S415, it is assumed that the second local caching apparatus 120b stores the streaming content A of three divided chunks for the received streaming content A. In operation S453, the second local caching apparatus 120b transmits the streaming content A being received to the third terminal apparatus 110c.
  • the third terminal device 110c requests the streaming content A through step S439 and receives it through step S453, the time required from the request for the streaming content A to the reception will be T3.
  • the streaming content A being transmitted to the first terminal device 110a is also transmitted to the third terminal device, the traffic between the content transmission control device 130 and the content providing server 140 is reduced, but the prefix in step S449.
  • traffic between the second local caching device 120b and the content delivery control device 130 will not be reduced.
  • T3 will have a shorter time than T1, but a longer time than T2.
  • FIG. 5 is a flowchart illustrating a method of providing streaming content of the content transmission control device 130 according to an embodiment of the present invention.
  • the content transmission control device 130 monitors the network 150 to receive a request for streaming content transmitted from the terminal device 110 to the content providing server 140 or to the local caching device 120.
  • a request for streaming content is received.
  • the content transmission control apparatus 130 determines whether the requested streaming content is registered in the streaming list 132a in order to determine whether the requested streaming content is already received through step S501 (S503).
  • step S503 if the requested streaming content is not registered in the streaming list 132a, the content transmission control device 130 determines that the requested streaming content is not already received, and from the content providing server 140 The streaming content is received and delivered to the local caching apparatus 120 (S505).
  • the content transmission control device 130 determines that the requested streaming content is already received, the content providing server 140 The streaming content is received from the branched content, and the branched streaming content is delayed by a predetermined time and transmitted to the local caching apparatus 120 (S507).
  • the preset time may be a time required for the terminal device 110 to reproduce one divided chunk of the requested streaming content, but is not limited thereto.
  • FIG. 6 is another flowchart illustrating a method of providing streaming content of the content transmission control device 130 according to an embodiment of the present invention.
  • the content transmission control device 130 monitors the network 150 to receive a request for streaming content that the terminal device 110 transmits to the content providing server 140, or the local caching device 120.
  • a request for streaming content is received.
  • the content transmission control apparatus 130 determines whether the requested streaming content is registered in the streaming list 132a in order to determine whether the requested streaming content is already received in step S601 (S603).
  • step S603 when the requested streaming content is not registered in the streaming list 132a, the content transmission control device 130 determines that the requested streaming content is not already being received, and receives it through step S601.
  • the request for streaming content is delivered to the content providing server 140 (S605).
  • the content transmission control device 130 monitors the network 150 and receives streaming content transmitted from the content providing server 140 to the terminal device 110 (S607).
  • the content transmission control device 130 registers the streaming content received through the streaming list 132a through step S607 and registers the terminal device 110 requesting the streaming content in the subscriber information 132b (S609).
  • the content transmission control device 130 transmits the streaming content received through the S607 step to the local caching device 120 (S611).
  • step S603 when the requested streaming content is registered in the streaming list 132a, the content transmission control device 130 determines that the requested streaming content is already received, the subscriber information (132b) The terminal device 110 that has requested the streaming content is registered (S613).
  • the content transmission control device 130 branches the previously requested streaming content, and delays the branched streaming content by a predetermined time (S615).
  • the content delivery control device 130 transmits the delayed streaming content to the local caching device 120 through step S615 (S617).
  • the content transmission control device 130 determines whether a caching hit notification is received from the local caching device 120, and determines whether or not the prefix caching hit for the streaming content of the local caching device 120 is performed (S619).
  • step S619 when the caching hit notification is received, the content transmission control device 130 determines that the prefix caching of the streaming content of the local caching device 120 is hit, and stops the delivery of the delayed streaming content. Instead, the device 20 transmits a chunk identifier for identifying the divided chunk for the delayed streaming content to the local caching device 120 until a stop request for streaming content is received from the local caching device 120 (S621).
  • FIG. 7 is a flowchart illustrating a method of stopping providing streaming content by the content transmission control device 130 according to an exemplary embodiment.
  • the content transmission control device 130 monitors the network 150 and receives a stop request for streaming content transmitted from the terminal device 110 to the content providing server 140 (S701).
  • the content delivery control device 130 stops transmitting the streaming content or the chunk identifier that is being transmitted to the local caching device 120 (S703). In addition, the content transmission control device 130 deletes the terminal device 110 requesting to stop the step S701 registered in the subscriber information (132b) (S705).
  • the content transmission control device 130 determines whether the number of the terminal devices 110 that receives the streaming content requested to stop the step S701 registered in the subscriber information 132b is 0 (S707).
  • step S707 when the number of the terminal device 110 that receives the interrupted streaming content is greater than zero, the content transmission control device 130 waits without performing the following steps.
  • step S707 when the number of the terminal device 110 that receives the streaming content requested to be interrupted is 0, the content transmission control device 130 is streaming is requested to stop receiving from the content providing server 140 The reception of the content is stopped (S709).
  • the content transmission control device 130 deletes the streaming content that is requested to stop registered in the streaming list 132a (S711).
  • FIG. 8 is a flowchart illustrating a method of providing streaming content of the local caching apparatus 120 according to an exemplary embodiment.
  • the local caching apparatus 120 monitors the network 150 and receives a request for streaming content transmitted from the terminal apparatus 110 to the content providing apparatus 140 (S801).
  • the local caching apparatus 120 transmits the request for the streaming content received through the step S801 to the content transmission control device 130 (S803).
  • the local caching apparatus 120 receives streaming content from the content transmission control apparatus 130 in response to the request delivery in step S803 (S805).
  • the local caching apparatus 120 determines whether the chunk corresponding to the divided chunk for the streaming content received through the step S805 is stored, and determines whether to hit the prefix caching for the streaming content (S807).
  • the local caching apparatus 120 may determine that the requested streaming content is the same when constant constants of the divided chunks of the streaming content received through the step S805 are continuously hit. Can be.
  • the local caching apparatus 120 determines that the prefix caching for the requested streaming content is missed, and in step S805.
  • the preset time may be a time required for the constant constant number of the divided chunks for the streaming content received through the step S805 to be reproduced through the terminal device 110, but is not limited thereto.
  • the storage time of the storage may recognize that the user of the terminal device 110 receives the streaming content in real time.
  • the time may not be long enough, but the time may be long enough to be close to the limit supported by the physical environment of the local caching apparatus 120. Then, the local caching apparatus 120 transmits the received streaming content to the terminal device 110 through the step S805 until receiving a stop request for streaming content from the terminal device 110 (S811).
  • the local caching apparatus 120 determines that the prefix caching for the requested streaming content is hit, and the content The transmission control device 130 transmits a caching hit notification for the streaming content. Instead of stopping the reception of the streaming content, the local caching apparatus 120 receives the chunk identifier from the content transmission control apparatus 130 (S815). In operation S817, the local caching apparatus 120 transmits the streaming content to the terminal device 110 using the chunk identifier received in operation S815. Here, the local caching device 120 may transmit the streaming content to the terminal device 110 until the local caching device receives a stop request for the streaming content from the terminal device 110.
  • the content delivery system 100 by providing a content delivery service, by allowing the caching (Splitting) along with the splitting (Splitting) to the local caching apparatus 120 As a result, network traffic load and traffic concentration on content providers may be reduced due to redundant transmission of content.
  • the content delivery system 100 by the content delivery control device 130 for branching the streaming content being received, and delayed the branched streaming content delivered to the local caching device 120, Allows the transmission of streaming content to the terminal device 110 using the prefix caching of the local caching device 120.
  • Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and the like.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, and the like.
  • an embodiment of the present invention is implemented in the form of a module, a procedure, a function, etc. for performing the above-described functions or operations, so that the recording medium can be read by various computer means.
  • the recording medium may include a program command, a data file, a data structure, etc. alone or in combination.
  • Program instructions recorded on the recording medium may be those specially designed and constructed for the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • the recording medium may be magnetic media such as hard disks, floppy disks and magnetic tapes, optical disks such as Compact Disk Read Only Memory (CD-ROM), digital video disks (DVD), Magnetic-Optical Media, such as a Disk, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, Flash Memory, and the like.
  • program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
  • Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the device or the terminal according to the present invention may be driven by a command that causes one or more processors to perform the functions and processes described above.
  • such instructions may include interpreted instructions, such as script instructions such as JavaScript or ECMAScript instructions, or executable instructions or other instructions stored on a computer readable medium.
  • the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.
  • a computer program (also known as a program, software, software application, script or code) mounted on an apparatus according to the invention and executing a method according to the invention comprises a compiled or interpreted language or a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including stand-alone programs or modules, components, subroutines, or other units suitable for use in a computer environment. Computer programs do not necessarily correspond to files in the file system.
  • a program may be in a single file provided to the requested program, in multiple interactive files (eg, a file that stores one or more modules, subprograms, or parts of code), or part of a file that holds other programs or data. (Eg, one or more scripts stored in a markup language document).
  • the computer program may be deployed to run on a single computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.
  • the local caching device when transmitting broadcast content in real time to a terminal device such as a smartphone, a laptop, a tablet, or a tablet, the local caching device delivers the content by performing caching together with the streaming content. It can be applied to the field of content delivery network (CDN). In addition, this has industrial applicability because there is not only a possibility of commercialization or sales but also a degree that can be clearly realized in reality.
  • CDN content delivery network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에서는 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치가 개시된다. 구체적으로, 본 발명의 일 양상에 따른 컨텐츠 전송 제어 장치는, 네트워크에 분산 배치된 로컬 캐싱 장치 및 컨텐츠 제공 서버와 데이터를 송수신하는 통신부, 상기 컨텐츠 제공 서버로부터 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보인 스트리밍 목록을 포함하여 저장하는 저장부 및 상기 통신부를 통해 상기 로컬 캐싱 장치로부터 스트리밍 컨텐츠에 대한 요청을 수신하면, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단하고, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 상기 컨텐츠 제공 서버로부터 수신되는 스트리밍 컨텐츠를 분기하여 미리 설정된 시간만큼 지연시키고, 상기 지연된 스트리밍 컨텐츠를 상기 로컬 캐싱 장치에 전달하는 제어부를 포함한다.

Description

실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치
본 발명은 실시간으로 방송 컨텐츠를 전송하기 위한 컨텐츠 전송 네트워크(Contents Delivery Network, CDN)에 관한 것으로, 더욱 상세하게는 단말장치에 실시간으로 방송되는 컨텐츠를 캐싱(Caching)하여 제3 단말장치에 제공함으로써, 네트워크의 트래픽 및 컨텐츠 제공 서버의 부하를 감소시킬 수 있는 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치에 관한 것이다.
사용자가 단말 장치를 의식하지 않고 시간과 장소를 불문하고 자유롭게 네트워크에 접속할 수 있는 유비쿼터스(Ubiquitous) 시대가 도래하면서, 네트워크 트래픽은 폭발적으로 증가하게 되었다. 특히, 컨텐츠 제공자(Contents Provider, CP)가 단말 장치의 요청에 따라 대용량의 컨텐츠를 제공함에 있어서, 서로 다른 인터넷 서비스 제공 사업자(Internet Service Provider, ISP)의 네트워크를 경유하여 제공할 수 있다. 이 경우, 인터넷 망연동(Internet eXchange, IX) 구간의 트래픽 집중 및 그에 따른 병목현상으로 네트워크 접속의 불안정 및 통신 품질의 저하 등의 문제가 발생할 수 있다.
이러한 문제를 해결하기 위하여, 인터넷 서비스 제공 사업자(ISP)의 네트워크 엣지(Edge)에 다수의 로컬 캐싱 장치를 설치하고, 로컬 캐싱 장치에 컨텐츠 제공자(CP)가 제공하는 컨텐츠를 미리 옮겨놓고 사용자의 요청에 따라 제공하는 컨텐츠 전송 네트워크(CDN)가 등장하게 되었다.
컨텐츠 전송 네트워크(CDN)는 사용자의 요청에 대하여 최상의 서비스를 제공할 수 있는 로컬 캐싱 장치를 선정하여 연결시켜주는 로드 밸런서(Global Server Load Balancing, GSLB) 및 캐싱 히트(Hit)가 높은 순으로 컨텐츠를 미리 저장하였다가 사용자 요청에 따라 저장된 컨텐츠를 푸싱(Pushing) 또는 캐싱(Caching)하는 로컬 캐싱 장치로 이루어진다.
그런데, 라이브 스트리밍(Live streaming)의 경우, 컨텐츠를 실시간으로 제공하여야 하는 제약에 의해, 로컬 캐싱 장치가 컨텐츠 제공자(CP)로부터 하나의 스트림을 통해 전달 받은 컨텐츠를 다수의 단말 장치에 분배 제공하는 스플리팅(Splitting)을 이용할 수 있을 뿐, 주문형 스트리밍(On-demand streaming)에서와 같은 푸싱과 캐싱을 이용할 수 없다.
따라서, 일반적인 캐싱을 이용할 수 없는 라이브 스트리밍에 대해서도 컨텐츠 중복 전송에 따른 네트워크 트래픽 부하 및 컨텐츠 제공자(CP)에 대한 트래픽 집중을 감소시킬 수 있는 방안이 요구되고 있다.
본 발명은 컨텐츠 전송 서비스를 제공함에 있어, 로컬 캐싱 장치에 대하여 스플리팅(Splitting)과 함께 캐싱(Caching)을 허용할 수 있는 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치를 제안한다.
또한, 본 발명은 컨텐츠 전송 제어 장치가 기 수신 중인 스트리밍 컨텐츠를 분기하고, 분기된 스트리밍 컨텐츠를 지연시켜 로컬 캐싱 장치에 전달함으로써, 로컬 캐싱 장치가 실시간으로 전송되는 컨텐츠를 캐싱할 수 있도록 하는 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치를 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 컨텐츠 전송 제어 장치는, 통신부, 저장부 및 제어부를 포함한다. 상기 통신부는 네트워크에 분산 배치된 로컬 캐싱 장치 및 컨텐츠 제공 서버와 데이터를 송수신한다. 상기 저장부는 상기 컨텐츠 제공 서버로부터 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보인 스트리밍 목록을 포함하여 저장한다. 상기 제어부는 상기 통신부를 통해 단말 장치로부터 상기 컨텐츠 제공 서버로 전송된 스트리밍 컨텐츠에 대한 요청을 수신하면, 상기 스트리밍 목록에 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단하고, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 상기 컨텐츠 제공 서버로부터 수신되는 스트리밍 컨텐츠를 분기하여 미리 설정된 시간만큼 지연시킨 후 상기 단말 장치로 전송시킨다.
또한, 본 발명의 일 양상에 따른 로컬 캐싱 장치는, 통신부, 저장부 및 제어부를 포함한다. 상기 로컬 캐싱 장치의 통신부는 네트워크를 통해 데이터를 송수신하고, 저장부는 스트리밍 컨텐츠를 저장한다. 이어, 상기 로컬 캐싱 장치의 제어부는 단말 장치로부터 스트리밍 컨텐츠에 대한 요청이 발생하면, 컨텐츠 전송 제어 장치를 통해 상기 단말 장치로 전송되는 스트리밍 컨텐츠를 수신하여, 수신된 스트리밍 컨텐츠와 동일한 스트리밍 컨텐츠가 상기 저장부에 저장되어 있는 지를 판단하고, 동일한 스트리밍 컨텐츠가 저장되어 있는 경우, 상기 컨텐츠 전송 제어 장치에 캐싱 히트 알림을 전송한 후, 상기 컨텐츠 전송 제어 장치로부터 제공되는 청크 식별자에 따라서, 저장된 스트리밍 컨텐츠를 상기 단말 장치에 전송한다.
또한, 본 발명의 일 양상에 따른 컨텐츠 전송 방법은, 컨텐츠 전송 제어 장치가 네트워크를 통해 단말 장치로부터 컨텐츠 제공 서버로 전송되는 스트리밍 컨텐츠에 대한 요청을 수신하는 단계; 상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로부터 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보인 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단하는 단계; 상기 판단 결과, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로부터 수신되는 해당 스트리밍 컨텐츠를 분기 및 지연시켜 상기 네트워크를 통해 상기 단말 장치로 전송시키는 제1 전송 단계; 및 상기 판단 결과, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있지 않는 경우, 상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로 상기 요청을 전달한 후, 상기 컨텐츠 제공 서버로부터 전송된 스트리밍 컨텐츠를 수신하여 상기 네트워크를 통해 상기 단말 장치로 전송시키는 제2 전송 단계를 포함한다.
본 발명은 실시간으로 방송 컨텐츠를 전송함에 있어 캐싱(Caching)을 허용함으로써, 컨텐츠의 중복 전송에 따른 네트워크 트래픽 부하 및 컨텐츠 제공자에 대한 트래픽 집중을 감소시킬 수 있는 효과가 있다.
특히, 컨텐츠 전송 제어 장치가 수신 중인 스트리밍 컨텐츠에 대한 스트리밍을 지연시켜 로컬 캐싱 장치에 전달함으로써, 로컬 캐싱 장치가 프리픽스 캐싱(Prefix caching)을 이용하여 스트리밍 컨텐츠를 캐싱하고, 캐싱된 스트리밍 컨텐츠를 전송하도록 허용한다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템의 전체 구성을 예시하는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치의 구성을 예시하는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 로컬 캐싱 장치의 구성을 예시하는 블록도이다.
도 4a 및 도 4b는 본 발명의 일 실시 예에 따른 스트리밍 컨텐츠의 전송 과정을 나타내기 위한 흐름도이다.
도 5는 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치에 있어서, 스트리밍 컨텐츠를 제공하는 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치에 있어서, 다른 스트리밍 컨텐츠를 제공하는 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치에 있어서, 스트리밍 컨텐츠의 제공을 중단하는 과정을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시 예에 따른 로컬 캐싱 장치에 있어서, 스트리밍 컨텐츠를 제공하는 방법을 설명하기 위한 순서도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템은 주문형 스트리밍(On-demand streaming)과 달리 컨텐츠를 지체 없이 실시간(Real-time)으로 방송하여야 하는 라이브 스트리밍(Live streaming)-예를 들면, 인터넷 프로토콜 텔레비전(Internet Protocol TeleVision, IPTV)-에 있어서, 캐싱(Caching)을 허용함으로써, 컨텐츠 중복 전송에 따른 네트워크 트래픽 부하 및 컨텐츠 제공자(Contents Provider, CP)에 대한 트래픽 집중을 감소시킬 수 있는 방법을 제안하고자 한다. 따라서, 이하의 설명에서 언급되는 "스트리밍 컨텐츠"는 실시간으로 방송되어야 하는 라이브 스트리밍 컨텐츠를 의미하며, "스트리밍"은 라이브 스트리밍을 의미한다.
먼저, 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템의 전체적인 구성을 개략적으로 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 컨텐츠 전송 시스템(100)의 전체 구성을 예시하는 도면이다. 도 1에 도시된 컨텐츠 전송 시스템(100)의 구성은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 실제 물리적 환경에서는 서로 통합되어 구현될 수도 있다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템(100)은 다수의 단말 장치(110), 하나 이상의 로컬 캐싱 장치(120), 컨텐츠 전송 제어 장치(130), 컨텐츠 제공 서버(140) 및 네트워크(150)을 포함하여 구성될 수 있다.
각 구성 요소에 대하여 보다 구체적으로 설명하면, 단말 장치(110)는 네트워크(150)를 통해 컨텐츠 제공 서버(140)에 스트리밍 컨텐츠를 요청하고, 요청한 스트리밍 컨텐츠를 제공 받아 출력하기 위한 구성이다. 이러한, 단말 장치(110)는 설명의 편의를 위하여, 제1 단말 장치(110a) 내지 제n 단말 장치(110n)로 구분되어 설명될 수 있다.
본 발명의 일 실시 예에 따른 단말 장치(110)는 네트워크(150)를 통해 데이터를 송수신할 수 있으며, 스트리밍 컨텐츠를 처리하여 출력할 수 있는 장치라면 어느 것이라도 허용될 수 있다. 예를 들면, 단말 장치(110)에는 스마트폰(Smart Phone), 타블릿(Tablet), 랩탑(Laptop), 휴대용 멀티미디어 플레이어(Portable Multimedia Player), 패블릿(Phablet), 개인용 휴대 단말기(Personal Digital Assistants), 전자책 단말기(E-Book Reader) 등이 포함될 수 있으며, 나아가 이에 한정되는 것은 아니다.
다음으로, 로컬 캐싱 장치(120)는 네트워크(150)에 분산 배치되어 네트워크(150)를 통해 전송되는 스트리밍 컨텐츠를 캐싱하고, 캐싱된 스트리밍 컨텐츠를 단말 장치(110)에 전송하기 위한 구성이다. 상기 로컬 캐싱 장치(120)는 네트워크(150)를 통해 단말 장치(110)와 컨텐츠 제공 서버(140) 사이에 전송되는 데이터를 모니터링하여, 상기 네트워크(150)를 통해 상기 단말 장치(100)로부터 컨텐츠 제공 서버(140)로 전송되는 스트리밍 컨텐츠에 대한 요청, 컨텐츠 제공 서버(140)로부터 단말 장치(100)로 전송되는 스트리밍 컨텐츠를 수신한다. 이때, 로컬 캐싱 장치(120)는 단말 장치(100)로부터 스트리밍 컨텐츠에 대한 요청이 발생하면, 컨텐츠 전송 제어 장치(130)를 통해 상기 단말 장치(110)로 전송되는 스트리밍 컨텐츠를 수신하여, 수신된 스트리밍 컨텐츠와 동일한 스트리밍 컨텐츠가 상기 저장부에 저장되어 있는 지를 판단한다. 그리고, 판단 결과, 동일한 스트리밍 컨텐츠가 저장되어 있는 경우, 상기 로컬 캐싱 장치(120)는 상기 컨텐츠 전송 제어 장치(130)에 캐싱 히트 알림을 전송한 후, 상기 컨텐츠 전송 제어 장치(130)로부터 제공되는 청크 식별자에 따라서, 저장된 스트리밍 컨텐츠를 상기 단말 장치에 전송한다.
이를 위한, 로컬 캐싱 장치(120)에 대한 구체적인 설명과 구성에 대해서는, 도 3을 참조하여 후술하기로 한다.
다음으로, 컨텐츠 전송 제어 장치(130)는 네트워크(150)에 연결되어, 타 네트워크(미도시)로부터 네트워크(150)에 유입되는 데이터 흐름을 제어하며, 네트워크(150)에 분산 배치된 하나 이상의 로컬 캐싱 장치(120)를 통해 스트리밍 컨텐츠를 캐싱하고 전송하기 위한 구성이다.
구체적으로, 컨텐츠 전송 제어 장치(130)는 컨텐츠 제공 서버(140)로부터 수신되어 네트워크(150)를 통해 단말 장치(110)로 전송되는 스트리밍 컨텐츠에 대한 목록, 즉, 스트리밍 목록을 저장한다. 그리고, 상기 컨텐츠 전송 제어 장치(130)는 단말 장치(100)로부터 상기 컨텐츠 제공 서버(140)로 전송된 스트리밍 컨텐츠에 대한 요청을 수신하면, 상기 스트리밍 목록에 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단하고, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 상기 컨텐츠 제공 서버(140)로부터 수신되는 스트리밍 컨텐츠를 분기하여 미리 설정된 시간만큼 지연시킨 후 상기 네트워크(150)를 통해서 해당 단말 장치(110)로 전송시킨다. 이때, 지연 값은, 로컬 캐싱 장치(120)에서 캐싱 히트(caching hit)을 판단하는데 요구되는 시간에 따라서 설정할 수 있다.
이를 위한, 컨텐츠 전송 제어 장치(130)에 대한 구체적인 설명과 구성에 대해서는, 도 2를 참조하여 후술하기로 한다.
다음으로, 컨텐츠 제공 서버(140)는 네트워크(150)를 통해 단말 장치(110)에 컨텐츠를 제공하고자 하는 컨텐츠 제공자(CP)의 서버 장치이다. 특히, 본 발명의 일 실시 예에 따른 컨텐츠 제공 서버(140)가 제공하는 컨텐츠는 실시간으로 방송될 수 있다.
마지막으로, 네트워크(150)는 컨텐츠 제공 서버(140)가 단말 장치(110)에 스트리밍 컨텐츠를 제공하기 위한 인프라(Infrastructure)로, 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE) 등과 같은 이동통신망, 이더넷(Ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH) 등과 같은 유선통신망, 와이파이(WiFi), 와이브로(Wibro), 와이맥스(Wimax), 초광대역통신(Ultra WideBand, UWB) 등과 같은 무선통신망 또는 상술한 통신망들의 조합으로 이루어질 수 있으나, 특정 통신망으로 한정되는 것은 아니다. 다만, 본 발명의 일 실시 예에 따른 네트워크(150)는 다수의 단말 장치(110)와 접속되는 하나 이상의 접속망(152) 및 하나 이상의 접속망(152)을 연결하며, 컨텐츠 전송 제어 장치(130)와 접속되는 코어망(151)을 포함하여 이루어 질 수 있다.
보다 구체적으로, 코어망(151)은 다수의 접속망(152)을 연결하고, 호 처리, 이동성 제어, 스위칭 등의 기능을 수행하기 위한 구성으로, 패킷 코어 장치(Evolved Packet Core, EPC, 151a) 및 다수의 스위칭 장치(151b)를 포함하여 구성될 수 있다. 여기서, 패킷 코어 장치(EPC, 151a)는 패킷의 흐름을 관리 제어하고 타 네트워크(미도시)와의 연결을 담당하는 구성이며, 다수의 스위칭 장치(151b)는 다수의 접속망(152) 각각에 대하여 패킷 전달을 담당하는 구성이다.
그리고, 접속망(152)은 단말 장치(110)와 유선 또는 무선으로 데이터를 송수신할 수 있는 가입자망이다. 특히, 본 발명의 일 실시 예에 따른 접속망(152)은 다수의 디지털 유닛(Digital Unit, DU)과 각각의 디지털 유닛(DU)에 집중화된 무선 유닛(Radio Unit, RU)으로 구성되어 디지털 신호와 무선 신호를 분리하여 처리할 수 있는 기지국(152a)으로 구현될 수 있다.
아울러, 본 발명의 일 실시 예에 따른 네트워크(150)는 네트워크(150)의 엣지(Edge)에 다수의 로컬 캐싱 장치(120)를 분산 배치하고, 그와 연결된 스위칭 장치(151b)를 통해 접속망(152)에 연결된 각각의 단말 장치(110)에 대하여 스트리밍 컨텐츠를 제공할 수 있다. 이때, 단말 장치(110)로부터 전송된 스트리밍 컨텐츠에 대한 요청은 어느 하나의 로컬 캐싱 장치(120) 및 컨텐츠 전송 제어 장치(130)를 통해서 컨텐츠 제공 서버(140)로 전송되며, 역으로, 컨텐츠 제공 서버(140)로부터 전송된 스트리밍 컨텐츠를 컨텐츠 전송 제어 장치(130) 및 어느 하나의 로컬 캐싱 장치(120)를 통해서 단말 장치(110)로 전달된다. 이를 위해서, 상기 로컬 캐싱 장치(120)는 미러링 기술 또는 스위치/라우터의 경로 변경을 통해서 상기 단말 장치(110)와 컨텐츠 제공 서버(150) 간에 전송되는 데이터를 수신할 수 있다. 여기서, '미러링 기술'은 트래픽에 영향을 주지 않으면서 네트워크(100)을 통해 전달되는 모바일 패킷을 그대로 복사하여 가져오는 기술을 의미한다. 아울러, 상기 컨텐츠 전송 제어 장치(130)는 코어망(151)의 패킷 코어 장치(151a)와 외부 망 사이에 연결되어, 컨텐츠 제공 서버(140)로 전송되는 스트리밍 컨텐츠에 대한 요청과 컨텐츠 제공 서버(140)로부터 전송된 스트리밍 컨텐츠를 수신할 수 있다.
이하, 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)의 구성에 대하여 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)의 구성을 예시하는 블록도이다. 도 2에 도시된 컨텐츠 전송 제어 장치(130)의 구성은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 물리적으로 분리 또는 통합되어 구현될 수 있다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)는 통신부(131), 저장부(132) 및 제어부(133)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 구체적으로 설명하면, 통신부(131)는 컨텐츠 제공 서버(140) 및 로컬 캐싱 장치(120)와 데이터를 송수신하기 위한 구성이다. 보다 구체적으로, 통신부(131)는 네트워크(150)를 모니터링 하며, 단말 장치(110)와 컨텐츠 제공 서버(140) 사이에 전송되는 스트리밍 컨텐츠 및 스트리밍 컨텐츠에 대한 요청을 수신하여 제어부(133)에 전달한다. 또한, 통신부(131)는 네트워크(150)를 통해 로컬 캐싱 장치(120)에 대하여 스트리밍 컨텐츠를 전송할 수 있고, 타 네트워크(미도시)를 통해 컨텐츠 제공 서버(140)에 스트리밍 컨텐츠에 대한 요청을 전송할 수 있다. 여기서, 타 네트워크(미도시)는 네트워크(150)와 다른 별개의 공중망 또는 전용망이 될 수 있으며, 이에 한정되는 것도 아니다.
저장부(132)는 본 발명의 일 실시 예에 따른 컨텐츠 전송 서비스를 제공하기 위하여 필요한 정보 및 프로그램 등을 저장하기 위한 구성이다. 구체적으로, 저장부(132)는 스트리밍 목록(132a) 및 가입자 정보(132b)를 포함하여 저장할 수 있다. 여기서, 스트리밍 목록(132a)은 컨텐츠 제공 서버(140)로부터 현재 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보이며, 가입자 정보(132b)는 각 스트리밍 컨텐츠를 전달 받는 하나 이상의 단말 장치(110)에 대한 정보이다. 특히, 스트리밍 목록(132a)과 가입자 정보(132b)는 컨텐츠 제공 서버(130)로부터 수신되는 스트리밍 컨텐츠와 각각의 해당 스트리밍 컨텐츠를 전달 받는 단말 장치(110)가 매핑되어 하나의 테이블(Table) 형태로 관리될 수 있다.
제어부(133)는 컨텐츠 전송 제어 장치(130)의 전반적인 제어를 수행하는 구성으로, 통신부(131) 및 저장부(132)의 기능 수행을 위한 신호 흐름을 제어하기 위한 구성이다. 개략적으로, 제어부(133)는 단말 장치(110)로부터의 스트리밍 컨텐츠에 대한 요청에 대하여, 스트리밍 목록(132a)을 이용하여 기 수신 중인 스트리밍 컨텐츠인지 여부를 판단한다. 또한, 제어부(133)는 로컬 캐싱 장치(120)의 프리픽스 캐싱(Prefix caching)을 위하여, 기 수신 중인 스트리밍 컨텐츠를 분기하고, 분기된 스트리밍 컨텐츠를 지연시켜 로컬 캐싱 장치(120)에 전달한다.
보다 구체적으로, 제어부(133)는 통신부(131)를 통해 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 서버(140)에 전송하는 스트리밍 컨텐츠에 대한 요청을 수신하거나, 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 요청을 수신한다. 제어부(133)는 요청된 스트리밍 컨텐츠가 기 수신 중인지 여부를 판단하기 위하여, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단한다.
우선하여, 이하 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는 경우에 대해 설명하기로 한다.
만약, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있다면, 해당 요청된 스트리밍 컨텐츠는 단말 장치(110)로부터 이미 요청되었던 스트리밍 컨텐츠로서, 컨텐츠 전송 제어 장치(130)는 기 수신 중인 스트리밍 컨텐츠를 다른 단말 장치(110)에 전송할 수 있을 것이다..
따라서, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 제어부(133)는 컨텐츠 제공 서버(140)로부터 기 수신 중인 요청된 스트리밍 컨텐츠를 분기하고, 분기된 스트리밍 컨텐츠를 미리 설정된 시간만큼 지연시킨다. 여기서, 미리 설정된 시간(지연 값)은 로컬 캐싱 장치(120)에서 동일 컨텐츠가 캐싱되어 있는 지 여부를 판단하는 캐싱 히트(caching hit)에 요구되는 시간에 따라 설정할 수 있다. 아울러, 캐싱 히팅의 판정은 컨텐츠의 분할 단위(청크 단위)로 이루어지므로, 상기 시간(지연값)은 요청된 스트리밍 컨텐츠에 대한 분할된 하나의 청크(Chunk)를 단말 장치(110)가 재생하는데 소요되는 시간에 따라 달라질 수 있다. 예를 들어, 본 발명의 일 실시 예에 따른 미리 설정된 시간은 스트리밍 컨텐츠에 대한 분할된 하나의 청크의 재생 시간으로서, 5초로 설정될 수 있을 것이다.
그리고, 제어부(133)는 가입자 정보(132b)에 스트리밍 컨텐츠를 요청한 단말 장치(110)를 등록한다. 그리고, 제어부(133)는 상기 통신부(131)를 통해 스트리밍이 지연된 스트리밍 컨텐츠를 해당 스트리밍 컨텐츠를 요청한 로컬 캐싱 장치(120)에 전달한다.
나아가, 제어부(133)는 통신부(131)를 통해 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 캐싱 히트 알림을 수신하였는지 판단한다.
만약, 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 캐싱 히트 알림을 수신하였다면, 로컬 캐싱 장치(120)의 스트리밍 컨텐츠에 대한 프리픽스 캐싱은 히트된 경우에 해당한다. 이 경우, 제어부(133)는 로컬 캐싱 장치(120)에 대한 지연된 스트리밍 컨텐츠에 대한 전달을 중단하는 대신, 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지, 지연된 스트리밍 컨텐츠에 대한 분할된 청크를 식별하기 위한 청크 식별자(Signature)를 통신부(133)를 통해 로컬 캐싱 장치(120)에 전송한다.
이어서, 이하 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있지 않는 경우에 대해 설명하기로 한다.
만약, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있지 않다면, 해당 요청된 스트리밍 컨텐츠는 어떠한 단말 장치(110)로부터도 요청되지 않은 스트리밍 컨텐츠로서, 컨텐츠 전송 제어 장치(130)는 단말 장치(110)에 스트리밍 컨텐츠를 제공하기 위하여, 컨텐츠 제공 서버(140)로부터 새로이 스트리밍 컨텐츠를 수신하여야 할 것이다.
따라서, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있지 않는 경우, 제어부(133)는 통신부(131)를 통해 컨텐츠 제공 서버(140)에 대하여 스트리밍 컨텐츠에 대한 요청을 전달한다. 그리고, 제어부(133)는 통신부(131)를 통해 네트워크(150)를 모니터링 하여 컨텐츠 제공 서버(140)가 단말 장치(110)에 전송하는 스트리밍 컨텐츠를 수신한다.
제어부(133)는 스트리밍 목록(132a)에 컨텐츠 제공 서버(140)로부터 수신된 스트리밍 컨텐츠를 등록하고, 가입자 정보(132b)에 스트리밍 컨텐츠를 요청한 단말 장치(110)를 등록한다. 그리고, 제어부(133)는 통신부(131)를 통해 수신되는 스트리밍 컨텐츠를 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지, 스트리밍 컨텐츠를 요청한 로컬 캐싱 장치(120)에 전달한다.
이어서, 이하 로컬 캐싱 장치(120)로부터 스트리밍에 대한 중단 요청을 수신한 경우에 대해 설명하기로 한다.
제어부(133)는 통신부(131)를 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 서버(140)에 전송한 스트리밍 컨텐츠에 대한 중단 요청을 수신한다. 제어부(133)는 로컬 캐싱 장치(120)에 대하여 전송 중인 스트리밍 컨텐츠 또는 청크 식별자의 전송을 중단한다. 제어부(133)는 가입자 정보(132b)에 등록된 중단을 요청한 단말 장치(110)를 삭제한다. 그리고, 제어부(133)는 가입자 정보(132b)에 등록된 중단이 요청된 스트리밍 컨텐츠를 전달 받는 단말 장치(110)의 수가 0인지 판단한다.
만약, 가입자 정보(132b)에 등록된 중단이 요청된 스트리밍 컨텐츠를 전달 받는 단말 장치(110)의 수가 0인 경우, 제어부(133)는 컨텐츠 제공 서버(140)로부터 수신 중인 중단이 요청된 스트리밍 컨텐츠에 대한 수신을 중단한다. 그리고, 제어부(133)는 스트리밍 목록(132a)에 등록된 중단이 요청된 스트리밍 컨텐츠를 삭제한다.
이하, 본 발명의 일 실시 예에 따른 로컬 캐싱 장치(120)의 구성에 대하여 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시 예에 따른 로컬 캐싱 장치(120)의 구성을 예시하는 블록도이다. 도 3에 도시된 로컬 캐싱 장치(120)의 구성은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 물리적으로 분리 또는 통합되어 구현될 수 있다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 로컬 캐싱 장치(120)는 통신부(121), 저장부(122) 및 제어부(123)을 포함하여 구성될 수 있다.
각 구성 요소에 대해 구체적으로 설명하면, 통신부(121)는 컨텐츠 전송 제어 장치(130) 및 단말 장치(110)와 데이터를 송수신하기 위한 구성이다. 보다 구체적으로, 통신부(121)는 네트워크(150)를 모니터링 하며, 단말 장치(110)와 컨텐츠 제공 서버(140) 사이에 전송되는 스트리밍 컨텐츠 및 스트리밍 컨텐츠에 대한 요청을 수신하여 제어부(123)에 전달한다. 또한, 통신부(121)는 네트워크(150)를 통해 컨텐츠 전송 제어 장치(130)에 대하여 스트리밍 컨텐츠에 대한 요청을 전송하고, 단말 장치(110)에 대하여 스트리밍 컨텐츠를 전송할 수 있다.
저장부(122)는 본 발명의 일 실시 예에 따른 컨텐츠 전송 서비스를 제공하기 위하여 필요한 정보 및 프로그램 등을 저장하기 위한 구성이다. 구체적으로, 저장부(122)는 스트리밍 목록(122a), 가입자 목록(122b), 청크(122c) 및 청크 식별자(122d)를 포함하여 저장할 수 있다. 여기서, 스트리밍 목록(122a)은 컨텐츠 전송 제어 장치(130)로부터 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보이며, 가입자 정보(122b)는 스트리밍 컨텐츠를 전달 받는 하나 이상의 단말 장치(110)에 대한 정보이며, 청크(Chunk, 122c)는 컨텐츠 전송 제어 장치(130)로부터 수신한 스트리밍 컨텐츠에 대한 분할된 데이터이며, 청크 식별자(Signature, 122d)는 청크를 식별하기 위한 식별자이다. 특히, 스트리밍 목록(122a)과 가입자 정보(122b)는 컨텐츠 전송 제어 장치(130)로부터 수신되는 스트리밍 컨텐츠와 각각의 해당 스트리밍 컨텐츠를 전달 받는 단말 장치(110)가 매핑되어 하나의 테이블 형태로 관리될 수 있다. 나아가, 청크(122c)와 청크 식별자(122d)는 컨텐츠 전송 제어 장치(130)로부터 수신한 스트리밍 컨텐츠에 대한 분할된 청크(122c)와 각각의 해당 청크를 식별하기 위한 청크 식별자(122d)가 매핑되어 하나의 테이블 형태로 관리될 수 있다.
제어부(123)는 로컬 캐싱 장치(120)의 전반적인 제어를 수행하는 구성으로, 통신부(121) 및 저장부(122)의 기능 수행을 위한 신호 흐름을 제어하기 위한 구성이다. 개략적으로, 제어부(123)는 컨텐츠 제공 서버(140)로부터 스트리밍 컨텐츠를 수신하여 저장한다. 또한, 제어부(123)는 단말 장치(110)로부터 스트리밍 컨텐츠에 대한 요청을 수신한 경우, 저장된 스트리밍 컨텐츠를 이용하여 단말 장치(110)에 스트리밍 컨텐츠를 전달한다.
보다 구체적으로, 제어부(123)는 통신부(121)를 통해 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 서버(140)에 전송한 스트리밍 컨텐츠에 대한 요청을 수신한다. 제어부(123)는 수신된 스트리밍 컨텐츠에 대한 요청을 통신부(121)를 통해 컨텐츠 전송 제어 장치(130)에 대하여 전달한다. 그리고, 제어부(123)는 전달한 요청에 대한 응답으로, 통신부(121)를 통해 컨텐츠 전송 제어 장치(130)로부터 스트리밍 컨텐츠를 수신한다.
제어부(123)는 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있는지 판단하여, 스트리밍 컨텐츠에 대한 프리픽스 캐싱의 히트 여부를 판단한다. 여기서, 청크는 컨텐츠 전송 제어 장치(130)로부터 수신한 스트리밍 컨텐츠에 대한 분할된 데이터이다. 이 경우, 제어부(123)는 프리픽스 캐싱의 신뢰성을 확보하기 위하여, 수신된 스트리밍 컨텐츠에 대한 분할된 청크의 일정 상수 개가 연속적으로 히트되는 경우, 요청된 스트리밍 컨텐츠가 동일한 것으로 판단할 수 있다. 예를 들어, 로컬 캐싱 장치(120)는 스트리밍 컨텐츠에 대한 분할된 3개의 청크가 연속적으로 히트되는 경우에 요청된 스트리밍 컨텐츠가 동일한 것으로 판단할 수 있을 것이다.
우선하여, 이하 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있는 경우에 대해 설명하기로 한다.
만약, 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있다면, 해당 스트리밍 컨텐츠는 컨텐츠 전송 제어 장치(130)로부터 이미 수신하고 있는 스트리밍 컨텐츠로서, 로컬 캐싱 장치(120)는 기 수신된 스트리밍 컨텐츠를 다른 단말 장치(110)에 전송할 수 있을 것이다. 따라서, 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있는 경우, 제어부(123)는 요청된 스트리밍 컨텐츠에 대한 프리픽스 캐싱이 히트된 것으로 판단하고, 통신부(121)를 통해 컨텐츠 전송 제어 장치(130)에 스트리밍 컨텐츠에 대한 캐싱 히트 알림을 전송한다.
제어부(123)는 통신부(121)를 통해 컨텐츠 전송 제어 장치(130)로부터 스트리밍 컨텐츠에 대한 수신을 중단하는 대신, 통신부(121)를 통해 컨텐츠 전송 제어 장치(130)로부터 청크 식별자를 수신한다. 그리고, 제어부(123)는 수신된 청크 식별자를 이용하여 스트리밍 컨텐츠를 통신부(121)를 통해 단말 장치(110)를 전송한다. 여기서, 제어부(123)는 단말 장치(110)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지 스트리밍 컨텐츠를 단말 장치(110)에 전송할 수 있다.
이어서, 이하 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있지 않는 경우에 대해 설명하기로 한다.
만약, 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있지 않다면, 해당 스트리밍 컨텐츠는 어떠한 단말 장치(110)로부터도 요청되지 않은 스트리밍 컨텐츠로서, 로컬 캐싱 장치(120)는 단말 장치(110)에 스트리밍 컨텐츠를 제공하기 위하여, 컨텐츠 전송 제어 장치(130)로부터 새로이 스트리밍 컨텐츠를 수신하여 할 것이다. 따라서, 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장부(122)에 저장되어 있지 않는 경우, 제어부(123)는 요청된 스트리밍 컨텐츠에 대한 프리픽스 캐싱이 미스된 것으로 판단하고, 수신 중인 스트리밍 컨텐츠의 현 시점을 기준으로 미리 설정된 시간만큼의 스트리밍 컨텐츠를 저장한다. 여기서, 미리 설정된 시간은 수신된 스트리밍 컨텐츠에 대한 분할된 청크의 일정 상수 개가 단말 장치(110)를 통해 재생하는데 소요되는 시간이 될 수 있으나, 이에 한정되는 것은 아니다. 또한, 여기서 저장 유지 시간은 로컬 캐싱 장치(120)가 저장된 스트리밍 컨텐츠를 프리픽스 캐싱하여 단말 장치(110)에 전달할 경우, 단말 장치(110)의 사용자가 스트리밍 컨텐츠를 실시간으로 수신한 것으로 인지할 수 있을 만큼 길지 않은 시간이 될 수 있으나, 이에 한정되지 않고 로컬 캐싱 장치(120)의 물리적 환경이 지원하는 한계에 가까울 정도로 긴 시간이 될 수도 있다.
그리고, 제어부(123)는 단말 장치(110)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지, 통신부(121)를 통해 컨텐츠 전송 제어 장치(130)로부터 수신한 스트리밍 컨텐츠를 단말 장치(110)에 전달한다.
이하, 본 발명의 일 실시 예에 따른 스트리밍 컨텐츠의 전송 흐름에 대하여 구체적으로 설명하기로 한다.
도 4a 및 도 4b는 본 발명의 일 실시 예에 따른 스트리밍 컨텐츠의 전송 흐름을 나타내기 위한 흐름도이다. 이하의 설명에서는 설명의 편의를 위하여, 다수의 단말 장치(110)를 제1 단말 장치(110a) 내지 제3 단말 장치(110c)로 구분하고, 다수의 로컬 캐싱 장치(120)를 제1 로컬 캐싱 장치(120a) 및 제2 로컬 캐싱 장치(120b)로 구분하여 설명하기로 한다.
또한, 제1 단말 장치(110a) 내지 제3 단말 장치(110c)는 동일한 스트리밍 컨텐츠 A를 요청한다고 가정한다. 나아가, 로드 밸런서(Global Server Load Balancing, GSLB)에 의하여 제1 단말 장치(110a)와 제2 단말 장치(110b)는 제1 로컬 캐싱 장치(120a)와 연결되며, 제3 단말 장치(110c)는 제2 로컬 캐싱 장치(120b)와 연결된다고 가정한다.
아울러, 상기 제1 단말 장치(110a) 및 제2 단말 장치(110b)의 스트리밍 컨텐츠 A에 대한 요청은, 제1 로컬 캐싱 장치(120a) 및 컨텐츠 전송 제어 장치(130)를 거쳐 컨텐츠 제공 서버(140)로 전송되고, 제3 단말 장치(110c)의 스트리밍 컨텐츠 A에 대한 요청은 제2 로컬 캐싱 장치(120b) 및 컨텐츠 전송 제어 장치(130)를 거쳐 컨텐츠 제공 서버(140)로 전송된다. 이때, 제1,2 로컬 캐싱 장치(120a,b) 및 컨텐츠 전송 제어 장치(130)는 네트워크(150)를 통해서 컨텐츠 제공 서버(140)로 전송되는 요청을 가로채어 수신할 수 있다.
우선하여, 이하 제1 단말 장치(110a)에 대하여 스트리밍 컨텐츠 A를 제공하는 흐름을 설명하기로 한다.
도 4a를 참조하면, 제1 단말 장치(110a)는 네트워크(150)를 통해 컨텐츠 제공 서버(140)에 대하여 스트리밍 컨텐츠 A에 대한 요청을 전송하고, 제1 로컬 캐싱 장치(120a)는 네트워크(150)를 모니터링 하여 제1 단말 장치(110a)가 전송한 스트리밍 컨텐츠 A에 대한 요청을 수신한다(S401).
제1 로컬 캐싱 장치(120a)는 S401 단계를 통해 수신한 스트리밍 컨텐츠 A에 대한 요청을 컨텐츠 전송 제어 장치(130)에 전달한다(S403).컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하거나, S403 단계를 통해 전달받은 스트리밍 컨텐츠 A가 기 수신 중인지 여부를 판단하기 위하여, 스트리밍 목록(132a)에 S403 단계를 통해 요청된 스트리밍 컨텐츠 A가 등록되어 있는지 판단한다(S405). S405 단계의 판단 결과, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠 A가 등록되어 있지 않으므로, 컨텐츠 전송 제어 장치(130)는 스트리밍 컨텐츠 A가 기 수신 중이 아닌 것으로 판단하고, 컨텐츠 제공 서버(140)에 대하여 스트리밍 컨텐츠 A에 대한 요청을 전달한다(S407).
컨텐츠 제공 서버(140)는 S407 단계에 대한 응답으로 제1 단말 장치(110a)에 스트리밍 컨텐츠를 전송하고, 컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하여 컨텐츠 제공 서버(140)가 전송한 스트리밍 컨텐츠를 수신한다(S409).
컨텐츠 전송 제어 장치(130)는 스트리밍 목록(132a)에 S409 단계를 통해 수신한 스트리밍 컨텐츠 A를 등록하고, 가입자 정보(132b)에 S401 단계를 통해 스트리밍 컨텐츠 A를 요청한 제1 단말 장치(110a)를 등록한다(S411). 그리고, 컨텐츠 전송 제어 장치(130)는 S409 단계를 통해 수신하는 스트리밍 컨텐츠 A를 제1 로컬 캐싱 장치(120a)에 전달한다(S413).
제1 로컬 캐싱 장치(120a)는 S413 단계를 통해 수신하는 스트리밍 컨텐츠 A에 대한 분할된 청크와 대응하는 청크가 저장되어 있는지 판단하여, 스트리밍 컨텐츠 A에 대한 프리픽스 캐싱의 히트 여부를 판단한다(S415). S415 단계의 판단 결과, 스트리밍 컨텐츠 A에 대한 분할된 청크와 대응하는 청크가 저장되어 있지 않으므로, 제1 로컬 캐싱 장치(120a)는 프리픽스 캐싱이 미스된 것으로 판단하고, S413 단계를 통해 수신 중인 스트리밍 컨텐츠 A의 현 시점을 기준으로 미리 설정된 시간만큼의 스트리밍 컨텐츠 A를 저장한다(S417). S417 단계에서, 제1 로컬 캐싱 장치(120a)는 수신한 스트리밍 컨텐츠 A에 대한 분할된 청크 3개만큼의 스트리밍 컨텐츠 A를 저장한다고 가정한다. 그리고, 제1 로컬 캐싱 장치(120a)는 S413 단계를 통해 수신 중인 스트리밍 컨텐츠 A를 제1 단말 장치(110a)에 전달한다(S419).
결과적으로, 제1 단말 장치(110a)는 스트리밍 컨텐츠 A를 S401 단계를 통해 요청하고, S419 단계를 통해 수신함으로써, 스트리밍 컨텐츠 A에 대한 요청부터 수신까지 소요된 시간은 T1이 될 것이다.
이어서, 도 4b를 참조하여, 이하 제2 단말 장치(110b)에 대하여 스트리밍 컨텐츠 A를 제공하는 흐름을 설명하기로 한다.
도 4b를 참조하면, 제2 단말 장치(110b)는 네트워크(150)를 통해 컨텐츠 제공 서버(140)에 대하여 스트리밍 컨텐츠 A에 대한 요청을 전송하고, 제1 로컬 캐싱 장치(120a)는 네트워크(150)를 모니터링 하여 제2 단말 장치(110b)가 전송한 스트리밍 컨텐츠 A에 대한 요청을 수신한다(S421).
제1 로컬 캐싱 장치(120a)는 S421 단계를 통해 수신한 스트리밍 컨텐츠 A에 대한 요청을 컨텐츠 전송 제어 장치(130)에 전달한다(S423).
컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하거나, S423 단계를 통해 전달받은 스트리밍 컨텐츠 A가 기 수신 중인지 여부를 판단하기 위하여, 스트리밍 목록(132a)에 S423 단계를 통해 요청된 스트리밍 컨텐츠 A가 등록되어 있는지 판단한다(S425). S425 단계의 판단 결과, 스트리밍 목록(132a)에 스트리밍 컨텐츠 A가 S411 단계를 통해 등록되어 있으므로, 컨텐츠 전송 제어 장치(130)는 스트리밍 컨텐츠 A가 기 수신 중인 것으로 판단하고, 가입자 정보(132b)에 S421 단계를 통해 스트리밍 컨텐츠 A를 요청한 제2 단말 장치(110b)를 등록한다(S427). 그리고, 컨텐츠 전송 제어 장치(130)는 S409 단계를 통해 수신 중인 스트리밍 컨텐츠 A를 분기하고, 분기된 스트리밍 컨텐츠 A를 미리 설정된 시간만큼 지연시키고, 지연된 스트리밍 컨텐츠 A를 제1 로컬 캐싱 장치(120a)에 전달한다(S429). S429 단계에서, 컨텐츠 전송 제어 장치(130)는 분기된 스트리밍 컨텐츠 A에 대한 분할된 하나의 청크를 제2 단말 장치(110b)가 재생하는데 소요되는 시간만큼 지연시킨다고 가정한다.
제1 로컬 캐싱 장치(120a)는 S429 단계를 통해 수신하는 스트리밍 컨텐츠 A에 대한 분할된 청크와 대응하는 청크가 저장되어 있는지 판단하여, 스트리밍 컨텐츠 A에 대한 프리픽스 캐싱의 히트 여부를 판단한다(S431). S431 단계에서, 제1 로컬 캐싱 장치(120a)는 프리픽스 캐싱의 신뢰성을 확보하기 위하여, S429 단계를 통해 수신한 스트리밍 컨텐츠 A에 대한 분할된 청크 3개가 히트되는 경우, 스트리밍 컨텐츠 A가 동일한 것으로 판단한다고 가정한다. S431 단계의 판단 결과, 스트리밍 컨텐츠 A에 대한 분할된 3개의 청크와 대응하는 3개의 청크가 S417 단계를 통해 저장되어 있으므로, 제1 로컬 캐싱 장치(120a)는 프리픽스 캐싱이 히트된 것으로 판단하고, 컨텐츠 전송 제어 장치(130)에 대해 스트리밍 컨텐츠 A에 대한 캐싱 히트 알림을 전송한다(S433).
컨텐츠 전송 제어 장치(130)는 S433 단계를 통해 스트리밍 컨텐츠 A에 대한 캐싱 히트 알림을 수신하였으므로, S429 단계를 통해 전달 중인 지연된 스트리밍 컨텐츠 A에 대한 전달을 중단하는 대신, 지연된 스트리밍 컨텐츠 A에 대한 분할된 청크를 식별하기 위한 청크 식별자를 제1 로컬 캐싱 장치(120a)에 전송한다(S435).
제1 로컬 캐싱 장치(120a)는 S435 단계를 통해 수신한 청크 식별자를 이용하여 S417 단계를 통해 저장된 스트리밍 컨텐츠 A를 제2 단말 장치(110b)에 전송한다(S437).
결과적으로, 제2 단말 장치(110b)는 스트리밍 컨텐츠 A를 S421 단계를 통해 요청하고, S437 단계를 통해 수신함으로써, 스트리밍 컨텐츠 A에 대한 요청부터 수신까지 소요된 시간은 T2가 될 것이다. 특히, 제1 단말 장치(110a)에 전송 중인 스트리밍 컨텐츠 A를 제2 단말 장치에도 전송하는바, 컨텐츠 전송 제어 장치(130)와 컨텐츠 제공 서버(140) 사이의 트래픽이 감소되며, S431 단계에서 프리픽스 캐싱이 히트함에 따라, 제1 로컬 캐싱 장치(120a)와 컨텐츠 전송 제어 장치(130) 사이의 트래픽이 감소될 것이다. 따라서, 전체적으로 T2은 T1보다 그 소요 시간이 짧을 것이다.
마지막으로, 이하 제3 단말 장치(110c)에 대하여 스트리밍 컨텐츠 A를 제공하는 흐름을 설명하기로 한다.
제3 단말 장치(110c)는 네트워크(150)를 통해 컨텐츠 제공 서버(140)에 대하여 스트리밍 컨텐츠 A에 대한 요청을 전송하고, 제2 로컬 캐싱 장치(120b)는 네트워크(150)를 모니터링 하여 제3 단말 장치(110c)가 전송한 스트리밍 컨텐츠 A에 대한 요청을 수신한다(S439).
제2 로컬 캐싱 장치(120b)는 S441 단계를 통해 수신한 스트리밍 컨텐츠 A에 대한 요청을 컨텐츠 전송 제어 장치(130)에 전달한다(S441).
컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하거나, S431 단계를 통해 전달받은 스트리밍 컨텐츠 A가 기 수신 중인지 여부를 판단하기 위하여, 스트리밍 목록(132a)에 S441 단계를 통해 요청된 스트리밍 컨텐츠 A가 등록되어 있는지 판단한다(S443). S443 단계의 판단 결과, 스트리밍 목록(132a)에 스트리밍 컨텐츠 A가 S411 단계를 통해 등록되어 있으므로, 컨텐츠 전송 제어 장치(130)는 스트리밍 컨텐츠 A가 기 수신 중인 것으로 판단하고, 가입자 정보(132b)에 S439 단계를 통해 스트리밍 컨텐츠 A를 요청한 제3 단말 장치(110c)를 등록한다(S445). 그리고, 컨텐츠 전송 제어 장치(130)는 S409 단계를 통해 수신 중인 스트리밍 컨텐츠 A를 분기하고, 분기된 스트리밍 컨텐츠 A를 미리 설정된 시간만큼 지연시키고, 지연된 스트리밍 컨텐츠 A를 제2 로컬 캐싱 장치(120b)에 전달한다(S447). S447 단계에서, 컨텐츠 전송 제어 장치(130)는 분기된 스트리밍 컨텐츠 A에 대한 분할된 하나의 청크를 제3 단말 장치(110c)가 재생하는데 소요되는 시간만큼 지연시킨다고 가정한다.
제2 로컬 캐싱 장치(120b)는 S447 단계를 통해 수신하는 스트리밍 컨텐츠 A에 대한 분할된 청크와 대응하는 청크가 저장되어 있는지 판단하여, 스트리밍 컨텐츠 A에 대한 프리픽스 캐싱의 히트 여부를 판단한다(S449). S449 단계의 판단 결과, 스트리밍 컨텐츠 A에 대한 분할된 청크와 대응하는 청크가 저장되어 있지 않으므로, 제2 로컬 캐싱 장치(120b)는 프리픽스 캐싱이 미스된 것으로 판단하고, S4 단계를 통해 수신 중인 스트리밍 컨텐츠 A의 현 시점을 기준으로 미리 설정된 시간만큼의 스트리밍 컨텐츠 A를 저장한다(S451). S415 단계에서, 제2 로컬 캐싱 장치(120b)는 수신한 스트리밍 컨텐츠 A에 대한 분할된 청크 3개만큼의 스트리밍 컨텐츠 A를 저장한다고 가정한다. 그리고, 제2 로컬 캐싱 장치(120b)는 S447 단계를 통해 수신 중인 스트리밍 컨텐츠 A를 제3 단말 장치(110c)에 전달한다(S453).
결과적으로, 제3 단말 장치(110c)는 스트리밍 컨텐츠 A를 S439 단계를 통해 요청하고, S453 단계를 통해 수신함으로써, 스트리밍 컨텐츠 A에 대한 요청부터 수신까지 소요된 시간은 T3가 될 것이다. 특히, 제1 단말 장치(110a)에 전송 중인 스트리밍 컨텐츠 A를 제3 단말 장치에도 전송하는바, 컨텐츠 전송 제어 장치(130)와 컨텐츠 제공 서버(140) 사이의 트래픽은 감소되나, S449 단계에서 프리픽스 캐싱이 미스함에 따라, 제2 로컬 캐싱 장치(120b)와 컨텐츠 전송 제어 장치(130) 사이의 트래픽은 감소되지 않을 것이다. 따라서, 전체적으로 T3은 T1보다는 그 소요 시간이 짧을 것이나, T2보다는 그 소요 시간이 길 것이다.
이하, 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)의 스트리밍 컨텐츠를 제공하는 방법에 대하여 구체적으로 설명하기로 한다.
도 5는 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)의 스트리밍 컨텐츠를 제공하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 서버(140)에 전송한 스트리밍 컨텐츠에 대한 요청을 수신하거나, 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 요청을 수신한다(S501).
컨텐츠 전송 제어 장치(130)는 S501 단계를 통해 요청된 스트리밍 컨텐츠가 기 수신 중인지 여부를 판단하기 위하여, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단한다(S503).
S503 단계에서 판단한 결과, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠 등록되어 있지 않는 경우, 컨텐츠 전송 제어 장치(130)는 요청된 스트리밍 컨텐츠가 기 수신 중이 아닌 것으로 판단하고, 컨텐츠 제공 서버(140)로부터 스트리밍 컨텐츠를 수신하여 로컬 캐싱 장치(120)에 전달한다(S505).
반면, S503 단계에서 판단한 결과, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 컨텐츠 전송 제어 장치(130)는 요청된 스트리밍 컨텐츠가 기 수신 중인 것으로 판단하고, 컨텐츠 제공 서버(140)로부터 기 수신 중인 스트리밍 컨텐츠를 분기하고, 분기된 스트리밍 컨텐츠를 미리 설정된 시간만큼 지연시켜 로컬 캐싱 장치(120)에 전달한다(S507). 여기서, 미리 설정된 시간은 요청된 스트리밍 컨텐츠에 대한 분할된 하나의 청크를 단말 장치(110)가 재생하는데 소요되는 시간이 될 수 있으나, 이에 한정되는 것은 아니다.
도 6은 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)의 스트리밍 컨텐츠를 제공하는 방법을 설명하기 위한 다른 순서도이다.
도 6을 참조하면, 컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 서버(140)에 전송한 스트리밍 컨텐츠에 대한 요청을 수신하거나, 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 요청을 수신한다(S601).
컨텐츠 전송 제어 장치(130)는 S601 단계를 통해 요청된 스트리밍 컨텐츠가 기 수신 중인지 여부를 판단하기 위하여, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단한다(S603).
S603 단계에서 판단한 결과, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있지 않는 경우, 컨텐츠 전송 제어 장치(130)는 요청된 스트리밍 컨텐츠가 기 수신 중이 아닌 것으로 판단하고, S601 단계를 통해 수신한 스트리밍 컨텐츠에 대한 요청을 컨텐츠 제공 서버(140)에 전달한다(S605).
컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하여 컨텐츠 제공 서버(140)가 단말 장치(110)에 전송하는 스트리밍 컨텐츠를 수신한다(S607). 그리고, 컨텐츠 전송 제어 장치(130)는 스트리밍 목록(132a)에 S607 단계를 통해 수신한 스트리밍 컨텐츠를 등록하고, 가입자 정보(132b)에 스트리밍 컨텐츠를 요청한 단말 장치(110)를 등록한다(S609).
그리고, 컨텐츠 전송 제어 장치(130)는 S607 단계를 통해 수신하는 스트리밍 컨텐츠를 로컬 캐싱 장치(120)에 전달한다(S611).
반면, S603 단계에서 판단한 결과, 스트리밍 목록(132a)에 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 컨텐츠 전송 제어 장치(130)은 요청된 스트리밍 컨텐츠가 기 수신 중인 것으로 판단하고, 가입자 정보(132b)에 스트리밍 컨텐츠를 요청한 단말 장치(110)를 등록한다(S613).
컨텐츠 전송 제어 장치(130)는 기 수신 중인 요청된 스트리밍 컨텐츠를 분기하고, 분기된 스트리밍 컨텐츠를 미리 설정된 시간만큼 지연시킨다(S615). 그리고, 컨텐츠 전송 제어 장치(130)는 S615 단계를 통해 지연된 스트리밍 컨텐츠를 로컬 캐싱 장치(120)에 대하여 전달한다(S617).
나아가, 컨텐츠 전송 제어 장치(130)는 로컬 캐싱 장치(120)로부터 캐싱 히트 알림을 수신하였는지 판단하여, 로컬 캐싱 장치(120)의 스트리밍 컨텐츠에 대한 프리픽스 캐싱 히트 여부를 판단한다(S619).
S619 단계에서 판단한 결과, 캐싱 히트 알림을 수신한 경우, 컨텐츠 전송 제어 장치(130)는 로컬 캐싱 장치(120)의 스트리밍 컨텐츠에 대한 프리픽스 캐싱은 히트된 것으로 판단하고, 지연된 스트리밍 컨텐츠에 대한 전달을 중단하는 대신, 로컬 캐싱 장치(120)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지, 지연된 스트리밍 컨텐츠에 대한 분할된 청크를 식별하기 위한 청크 식별자를 로컬 캐싱 장치(120)에 전송한다(S621).
도 7은 본 발명의 일 실시 예에 따른 컨텐츠 전송 제어 장치(130)의 스트리밍 컨텐츠 제공을 중단하는 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 컨텐츠 전송 제어 장치(130)는 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 서버(140)에 전송한 스트리밍 컨텐츠에 대한 중단 요청을 수신한다(S701).
컨텐츠 전송 제어 장치(130)는 로컬 캐싱 장치(120)에 대하여 전송 중인 스트리밍 컨텐츠 또는 청크 식별자의 전송을 중단한다(S703). 그리고, 컨텐츠 전송 제어 장치(130)는 가입자 정보(132b)에 등록된 S701 단계의 중단을 요청한 단말 장치(110)를 삭제한다(S705).
컨텐츠 전송 제어 장치(130)는 S705 단계의 삭제 결과, 가입자 정보(132b)에 등록된 S701 단계의 중단이 요청된 스트리밍 컨텐츠를 전달 받는 단말 장치(110)의 수가 0인지 판단한다(S707).
S707 단계의 판단 결과, 중단이 요청된 스트리밍 컨텐츠를 전달 받는 단말 장치(110)의 수가 0보다 큰 경우, 컨텐츠 전송 제어 장치(130)는 이하의 단계를 수행하지 않고 대기한다.
반면, S707 단계의 판단 결과, 중단이 요청된 스트리밍 컨텐츠를 전달 받는 단말 장치(110)의 수가 0인 경우, 컨텐츠 전송 제어 장치(130)는 컨텐츠 제공 서버(140)로부터 수신 중인 중단이 요청된 스트리밍 컨텐츠의 수신을 중단한다(S709).
그리고, 컨텐츠 전송 제어 장치(130)는 스트리밍 목록(132a)에 등록된 중단이 요청된 스트리밍 컨텐츠를 삭제한다(S711).
이하, 본 발명의 일 실시 예에 따른 로컬 캐싱 장치(120)의 스트리밍 컨텐츠를 제공하는 방법에 대하여 구체적으로 설명하기로 한다.
도 8은 본 발명의 일 실시 예에 따른 로컬 캐싱 장치(120)의 스트리밍 컨텐츠를 제공하는 방법을 설명하기 위한 순서도이다.
도 8을 참조하면, 로컬 캐싱 장치(120)는 네트워크(150)를 모니터링 하여 단말 장치(110)가 컨텐츠 제공 장치(140)에 전송한 스트리밍 컨텐츠에 대한 요청을 수신한다(S801). 로컬 캐싱 장치(120)는 S801 단계를 통해 수신한 스트리밍 컨텐츠에 대한 요청을 컨텐츠 전송 제어 장치(130)에 전달한다(S803). 그리고, 로컬 캐싱 장치(120)는 S803 단계의 요청 전달에 대한 응답으로, 컨텐츠 전송 제어 장치(130)로부터 스트리밍 컨텐츠를 수신한다(S805).
로컬 캐싱 장치(120)는 S805 단계를 통해 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장되어 있는지 판단하여, 스트리밍 컨텐츠에 대한 프리픽스 캐싱의 히트 여부를 판단한다(S807). 여기서, 로컬 캐싱 장치(120)는 프리픽스 캐싱의 신뢰성을 확보하기 위하여, S805 단계를 통해 수신한 스트리밍 컨텐츠에 대한 분할된 청크의 일정 상수 개가 연속적으로 히트되는 경우, 요청된 스트리밍 컨텐츠가 동일한 것으로 판단할 수 있다.
S807 단계의 판단 결과, 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장되어 있지 않는 경우, 로컬 캐싱 장치(120)는 요청된 스트리밍 컨텐츠에 대한 프리픽스 캐싱이 미스된 것으로 판단하고, S805 단계를 통해 수신 중인 스트리밍 컨텐츠의 현 시점을 기준으로 미리 설정된 시간만큼의 스트리밍 컨텐츠를 저장한다. 여기서, 미리 설정된 시간은 S805 단계를 통해 수신된 스트리밍 컨텐츠에 대한 분할된 청크의 일정 상수 개가 단말 장치(110)를 통해 재생하는데 소요되는 시간이 될 수 있으나, 이에 한정되는 것은 아니다. 또한, 여기서 저장의 유지 시간은 로컬 캐싱 장치(120)가 저장된 스트리밍 컨텐츠를 프리픽스 캐싱하여 단말 장치(110)에 전달할 경우, 단말 장치(110)의 사용자가 스트리밍 컨텐츠를 실시간으로 수신한 것으로 인지할 수 있을 만큼 길지 않은 시간이 될 수 있으나, 이에 한정되지 않고 로컬 캐싱 장치(120)의 물리적 환경이 지원하는 한계에 가까울 정도로 긴 시간이 될 수도 있다. 그리고, 로컬 캐싱 장치(120)는 단말 장치(110)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지, S805 단계를 통해 수신된 스트리밍 컨텐츠를 단말 장치(110)에 전달한다(S811).
반면, S807 단계의 판단 결과, 수신된 스트리밍 컨텐츠에 대한 분할된 청크와 대응하는 청크가 저장되어 있는 경우, 로컬 캐싱 장치(120)는 요청된 스트리밍 컨텐츠에 대한 프리픽스 캐싱이 히트된 것으로 판단하고, 컨텐츠 전송 제어 장치(130)에 스트리밍 컨텐츠에 대한 캐싱 히트 알림을 전송한다. 로컬 캐싱 장치(120)는 스트리밍 컨텐츠에 대한 수신을 중단하는 대신, 컨텐츠 전송 제어 장치(130)로부터 청크 식별자를 수신한다(S815). 그리고, 로컬 캐싱 장치(120)는 S815 단계를 통해 수신된 청크 식별자를 이용하여 스트리밍 컨텐츠를 단말 장치(110)에 전송한다(S817). 여기서, 로컬 캐싱 장치(120)는 단말 장치(110)로부터 스트리밍 컨텐츠에 대한 중단 요청을 수신할 때까지 스트리밍 컨텐츠를 단말 장치(110)에 전송할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 컨텐츠 전송 시스템(100)은 컨텐츠 전송 서비스를 제공함에 있어, 로컬 캐싱 장치(120)에 대하여 스플리팅(Splitting)과 함께 캐싱(Caching)을 허용함으로써, 컨텐츠의 중복 전송에 따른 네트워크 트래픽 부하 및 컨텐츠 제공자에 대한 트래픽 집중을 감소시킬 수 있는 효과가 있다.
특히, 본 발명의 실시 예에 따른 컨텐츠 전송 시스템(100)은 컨텐츠 전송 제어 장치(130)가 기 수신 중인 스트리밍 컨텐츠를 분기하고, 분기된 스트리밍 컨텐츠를 지연시켜 로컬 캐싱 장치(120)에 전달함으로써, 로컬 캐싱 장치(120)의 프리픽스 캐싱(Prefix caching)을 이용한 단말 장치(110)에 대한 스트리밍 컨텐츠의 전송을 허용한다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
아울러, 본 발명에 따른 실시예를 설명하는데 있어서, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 발명에 따른 시스템은 스마트폰, 랩탑, 타블릿 또는 패블릿 등과 같은 단말 장치에 대하여 실시간으로 방송 컨텐츠를 전송함에 있어, 로컬 캐싱 장치가 스트리밍 컨텐츠에 대한 스플리팅과 함께 캐싱을 수행하여 컨텐츠를 전달할 수 있는 컨텐츠 전송 네트워크(CDN) 분야에 적용이 가능하다. 또한, 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.

Claims (12)

  1. 네트워크에 분산 배치된 로컬 캐싱 장치 및 컨텐츠 제공 서버와 데이터를 송수신하는 통신부;
    상기 컨텐츠 제공 서버로부터 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보인 스트리밍 목록을 포함하여 저장하는 저장부; 및
    상기 통신부를 통해 단말 장치로부터 상기 컨텐츠 제공 서버로 전송된 스트리밍 컨텐츠에 대한 요청을 수신하면, 상기 스트리밍 목록에 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단하고, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 상기 컨텐츠 제공 서버로부터 수신되는 스트리밍 컨텐츠를 분기하여 미리 설정된 시간만큼 지연시킨 후 상기 단말 장치로 전송시키는 제어부를 포함하는 컨텐츠 전송 제어 장치.
  2. 제1항에 있어서,
    상기 제어부는
    상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있지 않는 경우, 상기 컨텐츠 제공 서버에 상기 스트리밍 컨텐츠에 대한 요청을 전달하고, 상기 요청에 의해 상기 컨텐츠 제공 서버로부터 전송된 스트리밍 컨텐츠를 수신하여 상기 단말 장치로 전달하고, 상기 스트리밍 목록에 상기 스트리밍 컨텐츠를 등록하는 것을 특징으로 하는 컨텐츠 전송 제어 장치.
  3. 제1항에 있어서,
    상기 제어부는
    상기 통신부를 통해 로컬 캐싱 장치로부터 상기 스트리밍 컨텐츠에 대한 캐싱 히트 알림을 수신하면, 상기 지연시킨 스트리밍 컨텐츠 대신에, 컨텐츠 제공 서버로부터 수신된 상기 스트리밍 컨텐츠의 분할된 청크(Chunk)를 식별하기 위한 청크 식별자(Signature)를 상기 로컬 캐싱 장치에 전송하는 것을 특징으로 하는 컨텐츠 전송 제어 장치.
  4. 제1항에 있어서,
    상기 저장부는
    상기 스트리밍 컨텐츠를 전송 받는 하나 이상의 단말 장치에 대한 정보인 가입자 정보를 더 포함하여 저장하고,
    상기 제어부는
    상기 통신부를 통해 상기 요청된 스트리밍 컨텐츠를 전달하는 경우, 상기 가입자 정보에 상기 스트리밍 컨텐츠를 요청한 단말 장치를 등록하고, 상기 스트리밍 컨텐츠에 대한 중단 요청을 수신한 경우, 상기 가입자 정보에서 상기 중단을 요청한 단말 장치를 삭제하는 것을 특징으로 하는 컨텐츠 전송 제어 장치.
  5. 제4항에 있어서,
    상기 제어부는
    상기 가입자 정보에 등록된 단말 장치의 수가 0인 경우, 상기 컨텐츠 제공 서버로부터 상기 스트리밍 컨텐츠의 수신을 중단하고, 상기 스트리밍 목록에서 상기 스트리밍 컨텐츠를 삭제하는 것을 특징으로 하는 컨텐츠 전송 제어 장치.
  6. 네트워크를 통해 데이터를 송수신하는 통신부;
    스트리밍 컨텐츠를 저장하는 저장부; 및
    단말 장치로부터 스트리밍 컨텐츠에 대한 요청이 발생하면, 컨텐츠 전송 제어 장치를 통해 상기 단말 장치로 전송되는 스트리밍 컨텐츠를 수신하여, 수신된 스트리밍 컨텐츠와 동일한 스트리밍 컨텐츠가 상기 저장부에 저장되어 있는 지를 판단하고, 동일한 스트리밍 컨텐츠가 저장되어 있는 경우, 상기 컨텐츠 전송 제어 장치에 캐싱 히트 알림을 전송한 후, 상기 컨텐츠 전송 제어 장치로부터 제공되는 청크 식별자에 따라서, 저장된 스트리밍 컨텐츠를 상기 단말 장치에 전송하는 제어부를 포함하는 로컬 캐싱 장치.
  7. 제6항에 있어서,
    상기 제어부는
    동일한 스트리밍 컨텐츠가 저장되어 있지 않는 경우, 수신된 스트리밍 컨텐츠를 일정 시간 동안 상기 저장부에 저장시키는 것을 특징으로 하는 로컬 캐싱 장치.
  8. 컨텐츠 전송 제어 장치가 네트워크를 통해 단말 장치로부터 컨텐츠 제공 서버로 전송되는 스트리밍 컨텐츠에 대한 요청을 수신하는 단계;
    상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로부터 수신되는 하나 이상의 스트리밍 컨텐츠에 대한 정보인 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는지 판단하는 단계;
    상기 판단 결과, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있는 경우, 상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로부터 수신되는 해당 스트리밍 컨텐츠를 분기 및 지연시켜 상기 네트워크를 통해 상기 단말 장치로 전송시키는 제1 전송 단계; 및
    상기 판단 결과, 상기 스트리밍 목록에 상기 요청된 스트리밍 컨텐츠가 등록되어 있지 않는 경우, 상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로 상기 요청을 전달한 후, 상기 컨텐츠 제공 서버로부터 전송된 스트리밍 컨텐츠를 수신하여 상기 네트워크를 통해 상기 단말 장치로 전송시키는 제2 전송 단계를 포함하는 컨텐츠 전송 방법.
  9. 제8항에 있어서,
    상기 제1 전송 단계는
    상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로부터 수신되는 스트리밍 컨텐츠를 분기하여 미리 설정된 시간만큼 지연시키는 단계; 및
    상기 컨텐츠 전송 제어 장치가 상기 지연된 스트리밍 컨텐츠를 로컬 캐싱 장치를 통해서 상기 단말 장치로 전달하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  10. 제8항에 있어서,
    상기 제2 전송 단계는
    상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버에 스트리밍 컨텐츠에 대한 상기 요청을 전달하는 단계;
    상기 컨텐츠 전송 제어 장치가 상기 컨텐츠 제공 서버로부터 요청된 스트리밍 컨텐츠를 수신하는 단계;
    상기 컨텐츠 전송 제어 장치가 상기 스트리밍 목록에 상기 스트리밍 컨텐츠를 등록하는 단계; 및
    상기 컨텐츠 전송 제어 장치가 상기 스트리밍 컨텐츠를 로컬 캐싱 장치를 통해서 상기 단말 장치에 전달하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  11. 제8항에 있어서,
    상기 컨텐츠 전송 제어 장치가 로컬 캐싱 장치로부터 상기 지연된 스트리밍 컨텐츠에 대한 캐싱 히트 알림을 수신하면, 상기 지연된 스트리밍 컨텐츠 대신에, 상기 지연된 스트리밍 컨텐츠의 청크(Chunk)를 식별하기 위한 청크 식별자(Signature)를 상기 로컬 캐싱 장치에 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 따른 컨텐츠 전송 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
PCT/KR2015/003886 2014-04-18 2015-04-17 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치 WO2015160222A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201580020256.1A CN106256132B (zh) 2014-04-18 2015-04-17 用于实时发送广播内容的方法及其装置
EP15780285.1A EP3133824B1 (en) 2014-04-18 2015-04-17 Method for transmitting broadcasting contents in real-time and device for same
JP2017506241A JP6302597B2 (ja) 2014-04-18 2015-04-17 リアルタイム放送コンテンツ伝送方法及びそのための装置
US15/296,291 US10298637B2 (en) 2014-04-18 2016-10-18 Method for transmitting broadcasting contents in real-time and device for same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2014-0046408 2014-04-18
KR20140046408 2014-04-18
KR1020150054645A KR101694400B1 (ko) 2014-04-18 2015-04-17 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치
KR10-2015-0054645 2015-04-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/296,291 Continuation US10298637B2 (en) 2014-04-18 2016-10-18 Method for transmitting broadcasting contents in real-time and device for same

Publications (1)

Publication Number Publication Date
WO2015160222A1 true WO2015160222A1 (ko) 2015-10-22

Family

ID=54324332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/003886 WO2015160222A1 (ko) 2014-04-18 2015-04-17 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치

Country Status (1)

Country Link
WO (1) WO2015160222A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120023315A (ko) * 2010-09-02 2012-03-13 주식회사 케이티 복수의 cdn 서버를 이용하여 휴대단말로 컨텐츠를 제공하는 방법 및 시스템
KR20140021371A (ko) * 2012-08-10 2014-02-20 에스케이텔레콤 주식회사 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
KR20140031433A (ko) * 2012-08-28 2014-03-13 에스케이텔레콤 주식회사 컨텐츠 전송 시스템 및 방법
KR20140032064A (ko) * 2012-09-05 2014-03-14 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120023315A (ko) * 2010-09-02 2012-03-13 주식회사 케이티 복수의 cdn 서버를 이용하여 휴대단말로 컨텐츠를 제공하는 방법 및 시스템
KR20140021371A (ko) * 2012-08-10 2014-02-20 에스케이텔레콤 주식회사 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
KR20140031433A (ko) * 2012-08-28 2014-03-13 에스케이텔레콤 주식회사 컨텐츠 전송 시스템 및 방법
KR20140032064A (ko) * 2012-09-05 2014-03-14 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치

Similar Documents

Publication Publication Date Title
US9405685B2 (en) Method of providing content during hand-over and apparatus therefor
WO2017176013A1 (ko) 단말의 접속 요청을 처리하는 방법 및 네트워크 노드
WO2013100573A1 (ko) 콘텐트 전송 시스템, 그 시스템에서의 네트워크 트래픽 최적화 방법, 중앙 제어 장치 및 로컬 캐싱 장치
US9237438B2 (en) Continuous cache service in cellular networks
KR101694400B1 (ko) 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치
WO2016175479A1 (ko) 사설망 서비스 제공 방법 및 시스템
EP2532142A1 (en) Caching in mobile networks
WO2016129963A1 (ko) 멀티뷰 스트리밍 서비스 지원 방법 및 이를 지원하는 장치
WO2016129966A1 (ko) 저지연 생방송 컨텐츠 제공을 위한 프로그램을 기록한 기록매체 및 장치
WO2018128226A1 (ko) 이종 네트워크상에서의 컨텐츠 전송 방법 및 이를 위한 장치
WO2013100483A1 (ko) 다중 네트워크 기반 데이터 동시 전송 방법 및 이에 적용되는 장치
WO2015199340A1 (ko) 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램
WO2014204084A1 (ko) 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치
WO2014200177A1 (ko) 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치
WO2014054909A1 (ko) 이동통신 시스템에서 컨텐츠 제공 방법 및 장치
WO2013069981A1 (en) Communication system and operating method using home gateway
WO2015160222A1 (ko) 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치
KR20140024553A (ko) 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
WO2013154364A1 (ko) 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치
WO2017065519A1 (ko) 이종 네트워크를 이용하여 데이터 서비스를 제공하는 장치 및 방법
WO2014157956A1 (en) Method and apparatus for processing handover of terminal in mobile communication system
KR101920433B1 (ko) 컨텐츠 전송 시스템 및 방법
KR102148147B1 (ko) 컨텐츠 전송 방법 및 이를 위한 장치
WO2019190268A1 (ko) Qoe 리포트에 따른 컨텐츠 데이터 전송의 동적 제어
WO2016080563A1 (ko) Lte 네트워크에서의 과금에 투명한 콘텐츠 전송 방법, 시스템 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15780285

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017506241

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015780285

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015780285

Country of ref document: EP