KR102070149B1 - 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치 - Google Patents

통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102070149B1
KR102070149B1 KR1020130065989A KR20130065989A KR102070149B1 KR 102070149 B1 KR102070149 B1 KR 102070149B1 KR 1020130065989 A KR1020130065989 A KR 1020130065989A KR 20130065989 A KR20130065989 A KR 20130065989A KR 102070149 B1 KR102070149 B1 KR 102070149B1
Authority
KR
South Korea
Prior art keywords
content
service
cache
content server
user device
Prior art date
Application number
KR1020130065989A
Other languages
English (en)
Other versions
KR20140144321A (ko
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 KR1020130065989A priority Critical patent/KR102070149B1/ko
Priority to CN201480011508.XA priority patent/CN105009520B/zh
Priority to PCT/KR2014/003653 priority patent/WO2014200177A1/ko
Publication of KR20140144321A publication Critical patent/KR20140144321A/ko
Priority to US14/818,265 priority patent/US10594803B2/en
Application granted granted Critical
Publication of KR102070149B1 publication Critical patent/KR102070149B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치에 관한 것이다. 이러한 본 발명은, 캐시 제어 장치가 컨텐츠 서버의 서비스 종류가 기록된 서비스 리스트를 저장하며, 사용자 장치의 컨텐츠 서버에 대한 요청이 있을 때, 서비스 리스트를 참조하여 그 서비스 종류에 따른 컨텐츠 서버 대신 컨텐츠를 전달하는 서비스를 제공한다.

Description

통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치{Method for delivery of content by means of caching in communication network and apparatus thereof}
본 발명은 컨텐츠 전달 기술에 관한 것으로, 더욱 상세하게는, 서비스의 종류에 따라 차별화된 방식으로 컨텐츠를 사용자 장치에 전달하는 방법 및 이를 위한 장치에 관한 것이다.
최근, 스마트폰(smart phone)과 같은 사용자 장치의 성능 향상 및 이동통신 기술의 발달에 따라, 사용자는 언제 어디서나, 사용자 장치를 통해 컨텐츠 제공자(CP, Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. 또한, 사용자의 이동성이 보장되는 모바일 망(예컨대, 이동통신망)을 통해 컨텐츠를 이용하는 빈도 또한 지속적으로 증가하고 있다.
그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다.
이러한, 문제를 해결하기 위해 등장한 것이 바로, CDN(Contents Delivery Network, 컨텐츠 전송 네트워크)이다. CDN이란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자 장치로 안정적으로 전달하기 위한 서비스이다. 더 구체적으로 CDN은, 사용자 장치와 멀리 떨어져 있는 컨텐츠 제공자(CP)의 웹 서버에 있는 다양한 컨텐츠, 예컨대, 이미지, 비디오, 오디오 등과 같이 용량이 크거나 사용자 장치의 요구가 빈번한 컨텐츠를 네트워크 상의 주요 지점에 광역적으로 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한다. 이후, 사용자 장치로부터 컨텐츠 요청 메시지가 수신되면, 상기 사용자 장치와 가장 근접한 곳에 위치한 캐시 장치가 이에 응답하여, 해당 캐시 장치로부터 사용자 장치로 컨텐츠를 전송한다. 그 결과, CDN은 컨텐츠 접속 속도를 개선하고 보다 안정적으로 컨텐츠를 제공할 수 있다.
한국공개특허 제10-2011-0092869호, 2013.03.25 공개 (명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)
상술한 바와 같은 문제를 감안한 본 발명의 목적은 서비스의 종류에 따라 차별화된 방식으로 컨텐츠 전달 서비스를 제공할 수 있는 방법 및 이를 위한 장치를 제공하는 데에 있다.
본 발명의 다른 목적은 컨텐츠를 공급하는 원본 서버의 부하를 줄일 수 있는 컨텐츠 전달 서비스를 제공할 수 있는 방법 및 이를 위한 장치를 제공하는 데에 있다.
본 발명의 또 다른 목적은 네트워크 내의 트래픽을 줄일 수 있는 컨텐츠 전달 서비스를 제공할 수 있는 방법 및 이를 위한 장치를 제공하는 데에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨텐츠 전달을 위한 캐시 제어 장치는, 캐시 장치 및 컨텐츠 서버와의 통신을 수행하는 인터페이스 모듈과, 복수의 컨텐츠 서버들 각각의 서비스 종류가 기록된 서비스 리스트를 저장하는 저장 모듈과, 인터페이스 모듈로부터 수신되는 컨텐츠를 요청하는 컨텐츠 요청 메시지 및 컨텐츠를 전달하는 컨텐츠 응답 메시지 중 적어도 하나로부터 컨텐츠 서버를 식별하고, 저장 모듈에 저장된 서비스 리스트를 참조하여 컨텐츠 서버의 서비스 종류를 판단하여, 판단한 서비스 종류를 나타내는 지시자를 인터페이스 모듈을 통해 캐시 장치로 전송하도록 제어하는 제어 모듈을 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨텐츠 전달을 위한 캐시 장치는, 사용자 장치 및 캐시 제어 장치와의 통신을 위한 인터페이스부와, 서비스의 종류에 따라 복수의 컨텐츠를 저장하는 저장 공간을 가지는 저장부와, 인터페이스부를 통해 캐시 제어 장치로부터 컨텐츠 서버의 서비스 종류를 나타내는 지시자를 수신하면, 수신된 지시자를 통해 서비스의 종류를 확인하고, 확인된 서비스의 종류에 따라 상이한 방식으로 컨텐츠를 사용자 장치로 전송하도록 제어하는 제어부를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 캐시 제어 장치의 컨텐츠 전달을 위한 방법은, 컨텐츠를 요청하는 컨텐츠 요청 메시지 및 컨텐츠를 전달하는 컨텐츠 응답 메시지 중 적어도 하나로부터 컨텐츠 서버를 식별하는 단계와, 복수의 컨텐츠 서버들 각각의 서비스 종류가 기록된 서비스 리스트를 참조로 상기 컨텐츠 서버의 서비스 종류를 판단하는 단계와, 판단한 서비스 종류를 나타내는 지시자를 캐시 장치로 전송하는 단계를 포함한다.
본 발명에 따르면, 제1 서비스의 경우, 컨텐츠 서버의 전송을 중단시키고, 캐시 장치 단독으로 컨텐츠를 사용자 장치에 전달함으로써, 해당 프로세스에 대한 컨텐츠 서버 자체의 부하를 없앨 수 있다. 이러한 캐시 서버는 접속 네트워크에 배치되기 때문에 실제 사용자는 현저하게 향상된 전송 속도를 체감할 수 있다. 제2 서비스의 경우, 컨텐츠 서버로부터 전송되는 데이터를 실제로 전달하는 것이 아니라, 캐시 제어 장치가 레이블 정보를 포함하는 전송 제어 지시자를 통해 캐시 장치가 동일한 데이터를 전송하도록 제어함으로써, 컨텐츠 서버 자체의 부하는 그대로 이지만, 네트워크 내의 트래픽을 감소시키고, 전송 지연을 예방할 수 있다. 특히, 사용자 장치 및 컨텐츠 서버 간에 송수신되는 메시지로부터 서비스의 대상을 식별하고, 서비스 리스트를 통해 제1 서비스 및 제2 서비스와 같이 서비스 종류 별로 대상을 관리함으로써, 그 종류에 따라 차별화된 서비스를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 컨텐츠 전달 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 컨텐츠 전달 시스템에서 캐시 제어 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 컨텐츠 전달 시스템에서 캐시 장치의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 컨텐츠 전달 시스템에서 데이터 전송을 위한 각 구성 간의 연결 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 따른 캐시 제어 장치의 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 실시예에 따른 캐시 장치의 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다.
또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 컨텐츠 전달 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 컨텐츠 전달 시스템은 사용자 장치(100), 캐시 장치(300), 캐시 제어 장치(500) 및 컨텐츠 서버(700)를 포함한다.
사용자 장치(100)는 접속 네트워크(200), 코어 네트워크(400) 및 공용 네트워크(600)를 통해 컨텐츠 서버(700)에 접근할 수 있다. 접속 네트워크(200)는 셀룰러(cellular) 시스템에서 무선 구간 서비스를 제공하는 네트워크 상의 엔티티(entity)들로 이루어진 네트워크이다. 예컨대, 접속 네트워크(200)는 BS(Base Station), BTS(Base Transceiver Station), NodeB, 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 다른 예로, eNodeB와 같이 하나의 엔티티로 구현될 수 있다. 또 다른 예로, 접속 네트워크(200)는 디지털 유니트(Digital Unit, 이하 DU라 함)와 무선 유니트(Radio Unit, 이하 RU라 함)로 구성될 수 있다. DU 및 RU는 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 구분하여 구성한 것이다. 이때, 다수의 RU는 하나의 DU와 연결되어 구성된다. 코어 네트워크(400)는 통신 서비스를 제공받는 사용자들에 대한 정보인 사용자 정보를 관리하고, 서킷 교환(circuit switching) 혹은 패킷 교환(packet switching)을 수행한다. 또한, 코어 네트워크(400)는 주파수간 이동성을 관리하고, 접속 네트워크(200) 및 코어 네트워크(400) 내의 트래픽 및 다른 네트워크, 예컨대, 공용 네트워크(600)와의 연동을 관리 및 제어한다. 코어 네트워크(400)는 상술한 기능을 수행하는 엔티티들로 이루어진다. 이러한 엔티티들은 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 예시할 수 있다. 공용 네트워크(600)는 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 개방형 네트워크이다. 이러한 공용 네트워크(600)는 IP(internet protocol)를 사용하는 소위, 인터넷을 예시할 수 있다. 공용 네트워크(600)는 컨텐츠 서버(700)와 연결된다.
컨텐츠 서버(700)는 컨텐츠를 저장하고, 요청에 따라 사용자 장치(100)에게 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것이다. 컨텐츠 서버(700)는 소위, 컨텐츠 제공자(CP, Contents Provider)가 운영하는 서버이며, 다수의 사용자 장치(100)로 컨텐츠를 제공할 수 있다. 예컨대, 이러한 컨텐츠 공급 서버(700)는 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등을 예시할 수 있다.
사용자 장치(100)는 사용자의 요청에 따라 컨텐츠 서버(700)로부터 컨텐츠를 수신하여 재생하기 위한 것이다. 예컨대, 사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 URL(Uniform Resource Locater)을 확인하고, DNS(Domain Name System) 등을 통해, 해당 URL에 대응하는 컨텐츠 서버(700)의 주소 정보(IP address)를 획득할 수 있다. 그리고 사용자 장치(100)는 해당 주소 정보에 대응하는 컨텐츠 서버(700)로 컨텐츠를 요청하여, 컨텐츠를 수신한다.
캐시 장치(300)는 접속 네트워크(200)와 코어 네트워크(400) 사이에 위치하며, 캐시 제어 장치(500)는 코어 네트워크(400)와 공용 네트워크(600) 사이에 배치된다. 달리 설명하면, 사용자 장치(100)와 컨텐츠 서버(700) 사이에 캐시 장치(300)와 캐시 제어 장치(500)가 위치한다. 여기서, 도면 부호 210 접속 네트워크(200)와 코어 네트워크(400)를 연결하는 스위치이며, 도면 부호 410은 코어 네트워크(400)와 공용 네트워크(600)를 연결하는 스위치이다. 여기서, 캐시 장치(300) 및 캐시 제어 장치(500) 각각은 스위치(210, 410)를 통해 네트워크에 연결되었지만, 본 발명을 이에 한정하는 것은 아니다. 사용자 장치(100)와 컨텐츠 서버(700) 간에 송수신되는 모든 데이터가 캐시 장치(300) 및 캐시 제어 장치(500)를 경유하도록 네트워크 토폴로지가 설계되는 것이 바람직하다. 이러한 네트워크 토폴로지로 설계된다면, 캐시 장치(300) 및 캐시 제어 장치(500)는 어떠한 위치에 배치되어 있더라도 무방하다.
상술한 시스템 구성에 따라, 사용자 장치(100)로부터의 컨텐츠 요청은 캐시 장치(300) 및 캐시 제어 장치(500)를 거쳐 컨텐츠 서버(700)로 전달되어야 한다. 또한, 컨텐츠 서버(700)가 사용자 장치(100)에 전송하는 컨텐츠(데이터)도 캐시 제어 장치(500) 및 캐시 장치(300)를 거쳐 사용자 장치(100)에 전달되어야 한다. 이에 따라, 캐시 제어 장치(500)는 사용자 장치(100)가 컨텐츠 서버(700)로 전송하는 컨텐츠 요청 메시지의 헤더에 포함된 정보로부터 컨텐츠 서버(700)의 도메인을 식별할 수 있다. 또는, 캐시 제어 장치(500)는 컨텐츠 서버(700)가 사용자 장치(100)로 전송하는 컨텐츠 응답 메시지의 헤더에 포함된 정보로부터 컨텐츠 서버(700)의 도메인을 식별할 수 있다.
캐시 장치(300) 및 캐시 제어 장치(500)는 다양한 종류의 CDN(Content Delivery Network) 서비스(이하, ??洲?로 축약함)를 제공한다. 예컨대, 컨텐츠 서버(700)에 부하를 주지 않고, 캐시 장치(300) 단독으로 컨텐츠를 사용자 장치(100)에 제공하는 제1 서비스가 제공되거나, 혹은, 컨텐츠 서버(700)의 부하는 줄이지 않으나, 네트워크 내의 트래픽이 감소되는 제2 서비스가 제공될 수 있다. 그 밖에 다양한 종류의 서비스가 제공될 수 있다. 따라서, 캐시 장치(300) 및 캐시 제어 장치(500)는 이러한 서비스의 종류를 구분하여 서비스할 수 있다. 이를 위하여, 캐시 제어 장치(500)는 컨텐츠 전송 시 어떤 종류의 서비스를 제공할지 구분하여 저장하는 서비스 리스트를 가진다. 서비스 리스트는 서비스 대상을 서비스 종류에 따라 구분한다. 따라서, 캐시 제어 장치(500)는 사용자 장치(100) 및 컨텐츠 서버(700) 간에 전송되는 메시지로부터 도메인을 추출한다. 그런 다음, 캐시 제어 장치(500)는 서비스 리스트를 참조하여 해당 컨텐츠 서버(700)가 가지는 컨텐츠의 전송에 대해 어떤 종류의 서비스를 제공할지를 판단할 수 있다. 예컨대, 캐시 제어 장치(500)는 서비스 리스트를 이용하여 컨텐츠 서버(700) 혹은 컨텐츠 서버(700)가 가지는 컨텐츠에 대한 서비스 종류를 구분한다. 그리고 캐시 제어 장치(500)는 서비스의 종류를 캐시 장치(300)와 공유하여 해당 서비스 종류에 상응하는 방식으로 서비스를 제공한다.
캐시 장치(300)는 접속 네트워크(200)와 코어 네트워크(400) 사이에 위치하여, 컨텐츠 서버(700)로부터 컨텐츠의 일부 또는 전부를 복사한 복사본을 수신하여 저장할 수 있다. 일 실시예에 따르면, 캐시 장치(300)는 컨텐츠 서버(700)로부터 사용자 장치(100)로 전송되는 트래픽을 복사하여 저장하는 미러링 방식을 이용할 수 있다. 다른 실시예에 따르면, 캐시 장치(300)는 캐싱 방식을 통해 컨텐츠 서버(700)로부터 컨텐츠를 미리 수신하여 저장할 수도 있다. 그런 다음, 캐시 장치(300)는 캐시 제어 장치(500)가 알려주는 서비스 방식에 따라, 컨텐츠 서버(700)를 대신하여 사용자 장치(100)로 전송할 수 있다.
도 2는 본 발명의 실시예에 따른 컨텐츠 전달 시스템에서 캐시 제어 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 캐시 제어 장치(500)는 인터페이스 모듈(510), 저장 모듈(520) 및 제어 모듈(530)을 포함한다.
인터페이스 모듈(510)은 코어 네트워크(400) 혹은 공용 네트워크(500)를 통해 송수신되는 다양한 데이터를 모니터하거나, 이를 송수신하는 것이다. 특히, 인터페이스 모듈(510)은 사용자 장치(100)와 연결된 캐시 장치(300) 및 컨텐츠 서버(700)와의 통신을 위한 것이다. 이를 위하여, 인터페이스 모듈(510)은 미러링 모듈 및 인젝션 모듈을 포함할 수 있다. 미러링 모듈은 코어 네트워크(400) 혹은 공용 네트워크(500)를 통해 전달되는 데이터를 복사하여 제어 모듈(530)로 전달한다. 인젝션 모듈은 제어 모듈(530)로부터 전달 받은 데이터를 코어 네트워크(400) 혹은 공용 네트워크(500)를 통해 캐시 장치(300) 혹은 컨텐츠 서버(700)로 전송한다. 따라서, 인터페이스 모듈(510)은 사용자 장치(100)와의 연결을 통해 사용자 장치(100)가 컨텐츠 서버(700)에 컨텐츠를 요청하는 컨텐츠 요청 메시지를 수신할 수 있다. 또한, 인터페이스 모듈(510)은 컨텐츠 서버(700)와의 연결을 통해 컨텐츠 서버(700)가 사용자 장치(100)에 컨텐츠를 제공하는 컨텐츠 응답 메시지를 수신할 수 있다.
저장 모듈(520)은 데이터 저장을 위한 것으로, 본 발명의 실시예에 따른 서비스 리스트를 저장하며, 서비스 리스트는 복수의 컨텐츠 서버(700)들 각각의 서비스의 종류가 기록된다. 즉, 서비스 리스트는 컨텐츠 전송 시 어떤 종류의 서비스를 제공할지 구분한다. 이러한 서비스 리스트는 서비스 대상을 식별하기 위한 식별 정보와 해당 식별 정보가 나타내는 서비스 대상에 적용되는 서비스(예컨대, 제1 서비스 또는 제2 서비스)를 구분하여 저장할 수 있다. 예컨대, 서비스 대상에 제1 서비스를 제공할 경우, 제1 서비스 리스트에 저장되며, 제2 서비스를 제공할 경우, 제2 서비스 리스트에 저장될 수 있다. 여기서, 식별 정보는 도메인이거나, 혹은 특정 컨텐츠가 저장된 URL 등이 될 수 있다. 따라서 본 발명의 실시예에 따른 서비스 리스트는 컨텐츠 서버(700) 단위로 서비스 대상을 구별하거나, 컨텐츠 단위로 서비스 대상을 구별할 수 있다. 컨텐츠 서버(700) 단위로 서비스 대상을 구별하는 경우, 컨텐츠 서버(700)가 가지는 모든 컨텐츠에 대해 동일한 종류의 서비스를 제공한다. 컨텐츠 단위로 서비스 대상을 구별하는 경우, 컨텐츠 서버(700)가 저장하고 있는 각 컨텐츠 별로 상이한 종류의 서비스를 제공할 수 있다. 이하에서 설명되는 실시예에서 서비스 리스트는 컨텐츠 서버(700)에 따라 서비스 종류를 구별하는 것으로 가정하여 설명하기로 한다. 하지만, 본 발명이 이에 한정되는 것은 아니며, 컨텐츠에 따라 서비스 종류를 구분할 수도 있다. 따라서 본 발명의 일 실시예에 따른 서비스 리스트는 컨텐츠 서버(700)의 도메인을 서비스 종류에 매핑시켜 저장한다. 따라서, 제어 모듈(530)은 사용자 장치(100) 및 컨텐츠 서버(700) 간에 전송되는 메시지의 헤더에서 도메인을 추출한다. 그리고 컨텐츠 서버(700)는 저장 모듈(520)에 저장된 서비스 리스트를 참조하여 해당 컨텐츠 서버(700)가 가지는 컨텐츠의 전송에 대해 어떤 종류의 서비스를 제공할지를 판단할 수 있다.
제어 모듈(530)은 인터페이스 모듈(510)을 통해 캐시 장치(300)를 경유하여 사용자 장치(100)와 메시지를 교환함으로써, 캐시 장치(300)를 경유하는 사용자 장치(100)와의 연결을 수립한다. 또한, 제어 모듈(530)은 컨텐츠 서버(700)와 메시지를 교환하여, 컨텐츠 서버(700)와의 연결을 수립한다.
상술한 바와 같이 연결된 경우, 제어 모듈(530)은 인터페이스 모듈(510)을 통해 사용자 장치(100)가 컨텐츠 서버(700)에 컨텐츠를 요청하는 컨텐츠 요청 메시지(예컨대, HTTP get)를 수신할 수 있다. 또한, 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 서버(700)가 사용자 장치(100)에 컨텐츠를 전송하는 컨텐츠 응답 메시지(예컨대, HTTP response)를 수신할 수 있다. 이에 따라, 제어 모듈(530) 컨텐츠 요청 메시지 혹은 컨텐츠 응답 메시지로부터 추출된 정보(예컨대, URL, DNS 등)를 통해 컨텐츠 서버(700)를 식별한다. 그런 다음, 제어 모듈(530)은 저장 모듈(520)에 저장된 서비스 리스트를 참조하여 해당 컨텐츠 서버(700) 혹은 해당 컨텐츠 서버(700)의 컨텐츠의 전송에 제공되어야 하는 서비스의 종류를 판별할 수 있다.
제1 서비스로 판별된 경우, 제어 모듈(530)은 인터페이스 모듈(510)을 통해 캐시 장치(300)에 해당 컨텐츠 전송에 제공되어야 할 서비스의 종류가 제1 서비스임을 알린다. 제어 모듈(530)은 인터페이스 모듈(510)을 통해 수신되는 캐시 확인 지시자를 통해, 캐시 장치(300)가 해당 컨텐츠를 보유하고 있음을 확인할 수 있다. 캐시 확인 지시자는 캐시 장치(300)가 해당 컨텐츠를 저장하고 있음을 알리기 위해 전송한다.
캐시 확인 지시자를 수신하면, 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 서버(700)에 재전송이 아닌 경우를 제외하고, 더 이상 컨텐츠를 전송하지 않도록 통지할 수 있다. 또한, 제어 모듈(530)은 캐시 장치(300)에 의한 하이재킹에 의해 사용자 장치(100)와의 연결이 해제된 후(CONNECTION HIJACKING), 캐시 장치(300)와의 터널을 생성하고, 컨텐츠 서버(700)와의 연결을 해제할 수 있다.
제2 서비스로 판별된 경우, 제어 모듈(530)은 해당 컨텐츠 전송에 제공되어야 할 서비스의 종류가 제2 서비스임을 인터페이스 모듈(510)을 통해 캐시 장치(300)에 알린다. 그리고 제어 모듈(530)은 캐시 확인 지시자의 수신 여부를 통해 캐시 장치(300)가 제2 서비스의 대상인 컨텐츠를 저장하고 있는지 여부를 확인할 수 있다. 이에 따라, 캐시 장치(300)가 해당 컨텐츠를 보유하고 있다면, 제어 모듈(530)은 컨텐츠 서버(700)가 전송 제어 지시자를 인터페이스 모듈(510)을 통해 캐시 장치(300)로 전송한다. 여기서, 전송 제어 지시자는 캐시 장치(300)가 컨텐츠 서버(700)가 전송하는 컨텐츠의 단위 데이터와 동일한 컨텐츠의 단위 데이터(예컨대, 청크(chunk), 패킷 등)를 전송하도록 한다. 이를 위하여, 전송 제어 지시자는 캐시 장치(300)가 전송해야 할 단위 데이터를 나타내는 레이블 정보를 포함한다. 예컨대, 컨텐츠는 제1 단위 데이터 내지 제10 단위 데이터로 구성된다고 가정한다. 또한, 컨텐츠 서버(700)는 사용자 장치(100)를 목표로 제4 내지 제6 단위 데이터를 전송한다고 가정한다. 제어 모듈(530)은 인터페이스 모듈(510)을 통해 제4 내지 제6 단위 데이터를 수신하면, 수신된 제4 내지 제6 단위 데이터를 인터페이스 모듈(510)을 통해 캐시 장치(300)에 전송하지 않는다. 대신, 제어 모듈(530)은 제4 내지 제6 단위 데이터를 식별할 수 있는 레이블 정보만을 전송한다. 이를 위하여, 제어 모듈(530)은 컨텐츠 서버(700)가 전송하는 단위 데이터의 전부 또는 일부를 압축하여 레이블 정보로 사용할 수 있다. 또는, 제어 모듈(530)은 컨텐츠 서버(700)가 전송하는 단위 데이터를 캐시 장치(300)와 상호간에 미리 약속된 해시(hash) 알고리즘을 이용하여 해시 값을 생성한다. 또한, 제어 모듈(530)은 생성된 해시 값을 레이블 정보로 사용할 수 있다. 이에 따라, 캐시 제어 장치(500)와 캐시 장치(300)간 코어 네트워크(400) 내의 트래픽을 감소시킬 수 있다.
또한, 제어 모듈(530)은 캐시 제어 장치(500)와 컨텐츠 서버(700) 간의 전송 지연을 없애기 위해 전송 제어 지시자의 전송 속도를 조절할 수 있다. 예컨대, 캐시 장치(300)는 캐시 제어 장치(500)로부터 수신되는 전송 제어 지시자의 도달에 따라 저장된 컨텐츠를 사용자 장치(100)로 전송한다. 컨텐츠 서버(700)로부터 캐시 제어 장치(500)까지의 컨텐츠의 단위 데이터 도달 시간(RTT)이 10ms일 경우, 캐시 제어 장치(500)는 컨텐츠 서버로부터의 단위 데이터 도달 여부에 무관하게 10ms 단위로 단위 데이터에 대한 레이블 정보를 캐시 장치(300)로 전송한다. 이에 따라, 캐시 장치(300)는 10ms 단위로 수신되는 레이블 정보에 대응하는 단위 데이터를 사용자 장치(100)로 전송할 수 있다. 따라서 캐시 제어 장치(500)와 컨텐츠 서버(700) 간 지연이 있는 경우에도 안정적인 속도로 사용자 장치(100)로 컨텐츠를 제공할 수 있다.
한편, 제1 서비스 혹은 제2 서비스에 무관하게, 캐시 장치(300)가 해당 컨텐츠를 보유하고 있지 않은 경우, 제어 모듈(530)은 컨텐츠 서버(700)로부터 순차로 수신되는 컨텐츠를 캐시 장치(300)로 전송한다.
도 3은 본 발명의 실시예에 따른 컨텐츠 전달 시스템에서 캐시 장치의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 캐시 장치(300)는 인터페이스부(310), 저장부(320) 및 제어부(330)를 포함한다.
인터페이스부(310)는 접속 네트워크(200) 혹은 코어 네트워크(400)를 통해 송수신되는 다양한 데이터를 모니터하거나, 이를 송수신하는 것이다. 특히, 인터페이스부(310)는 사용자 장치(100)와 통신하며, 컨텐츠 서버(700)와 연결된 캐시 제어 장치(500)와 통신을 위한 것이다. 이를 위하여, 인터페이스부(310)는 미러링 모듈(미도시) 및 인젝션 모듈(미도시)을 포함한다. 미러링 모듈은 접속 네트워크(200) 혹은 코어 네트워크(400)를 통해 전달되는 데이터를 복사하여 제어부(330)로 전달한다. 인젝션 모듈은 제어부(330)로부터 전달 받은 데이터를 접속 네트워크(200) 혹은 코어 네트워크(400)를 통해 사용자 장치(100) 혹은 캐시 제어 장치(500)로 전송한다. 따라서, 인터페이스부(310)는 사용자 장치(100)가 컨텐츠 서버(700)에 컨텐츠를 요청하는 컨텐츠 요청 메시지를 수신하거나, 컨텐츠 서버(700)가 사용자 장치(100)에 컨텐츠를 제공하는 컨텐츠 응답 메시지를 수신할 수 있다.
저장부(320)는 적어도 하나의 컨텐츠 서버(700)에 저장된 컨텐츠 각각의 일부 또는 전부의 사본을 저장할 수 있다. 제어부(330)는 미러링 기술에 따라 컨텐츠 서버(700)로부터 사용자 장치(100)로 전송되는 트래픽을 복사하여 저장부(320)에 저장할 수 있다. 또는, 제어부(330)는 특정 컨텐츠를 컨텐츠 서버(700)로부터 미리 수신하여 저장부(320)에 저장할 수도 있다. 저장부(320)는 본 발명의 실시예에 따른 서비스 종류에 따라 저장공간을 달리 할당한다. 예컨대, 제1 서비스에 대해 제1 저장공간이 할당되고, 제2 서비스에 대해 제2 저장공간이 할당될 수 있다. 여기서, 제1 저장공간의 컨텐츠는 미리 설정된 기간 동안 삭제되지 않으며, 제2 저장공간의 컨텐츠는 요청의 빈도에 따라 유지되거나, 삭제될 수 있다. 제2 저장공간은 미리 설정된 용량이 할당되며, 제2 저장공간에 저장되는 컨텐츠는 선입선출 방식의 큐 방식으로 저장된다. 제2 저장공간은 컨텐츠에 대한 요청이 있을 때, 해당 컨텐츠가 저장되어 있지 않다면, 원본 서버, 즉, 컨텐츠 서버(700)로부터 해당 컨텐츠를 수신하여 큐에 입력하여 저장한다. 이때, 제2 저장공간이 선입선출 방식이기 때문에 가장 먼저 저장된 컨텐츠는 새로운 컨텐츠가 저장될 때, 저장 공간이 부족하다면 삭제된다. 반면, 컨텐츠에 대한 요청이 있을 때, 해당 컨텐츠가 저장되어 있다면, 해당 컨텐츠를 새로 저장하는 것과 같이, 큐에 새로 입력한다. 이와 같이, 제2 저장공간에 저장된 컨텐츠는 컨텐츠에 대한 요청의 빈도에 따라 삭제되거나, 유지될 수 있다.
제어부(330)는 캐시 장치(300)의 전반적인 동작을 제어하기 위한 것이다. 제어부(330)는 인터페이스부(310)를 통해 정보 응답 지시자를 포함하는 컨텐츠 응답 메시지를 수신할 수 있다. 정보 응답 지시자는 특정 컨텐츠에 제공되어야 하는 서비스의 종류를 나타낸다. 따라서 제어부(330)는 정보 응답 지시자가 나타내는 해당 컨텐츠에 제공되어야 할 서비스의 종류를 확인할 수 있다.
서비스의 종류가 제1 서비스인 경우, 제어부(330)는 수신된 컨텐츠 응답 메시지의 컨텐츠의 일부를 이용하여 해당 컨텐츠가 존재하는지 여부를 확인한다. 제1 서비스인 경우, 해당 컨텐츠는 저장부(320)의 제1 서비스를 위해 할당된 제1 저장영역에 저장될 수 있다. 확인 결과 해당 컨텐츠를 보유하고 있다면, 제어부(330)는 인터페이스부(310)를 통해 캐시 제어 장치(500)에 해당 컨텐츠를 보유하고 있다는 것을 알린다.
그런 다음, 제어부(330)는 제1 서비스를 제공하기 위해, 캐시 장치(300)는 사용자 장치(100)로부터 전송되는 확인 메시지에서 연결 설정을 위한 정보를 획득한다. 그런 다음, 제어부(330)는 사용자 장치(100)와 캐시 제어 장치(500) 간의 연결을 하이재킹하여, 캐시 장치(300) 자신과 사용자 장치(100) 간에 연결을 수립한다. 이어서, 제어부(330)는 인터페이스부(310)를 통해 캐시 제어 장치(500)에 터널 생성을 요청하는 터널 생성 요청 메시지를 전달하여, 캐시 제어 장치(500)와의 터널을 생성한다. 그러면, 캐시 제어 장치(500)는 컨텐츠 서버(700)와의 연결을 해제할 것이다. 제어부(330)는 사용자 장치(100)와의 연결을 통해 보유하고 있는 컨텐츠를 사용자 장치(100)에 전송할 수 있다. 이때, 제어부(330)는 보유한 컨텐츠를 모두 전송할 때까지 터널이 유지되도록, 캐시 제어 장치(500)에 터널이 유지되도록 요청하는 터널 유지 요청 메시지를 주기적으로 전송할 수 있다.
한편, 서비스의 종류가 제2 서비스인 경우, 제어부(330)는 캐시 제어 장치(500)로부터 수신된 컨텐츠 응답 메시지의 컨텐츠의 일부를 이용하여 해당 컨텐츠가 존재하는지 여부를 확인한다. 제2 서비스의 경우, 해당 컨텐츠는 저장부(320)의 제2 서비스를 위해 할당된 제2 저장영역에 저장될 수 있다. 확인 결과, 컨텐츠를 보유하고 있다면, 제어부(330)는 인터페이스부(310)를 통해 캐시 제어 장치(500)에 해당 컨텐츠를 보유하고 있다는 것을 알린다. 이에 따라, 캐시 제어 장치(500)는 캐시 장치(300)가 해당 컨텐츠를 보유하고 있다는 것을 확인한다. 그리고 캐시 제어 장치(500)는 단위 데이터를 식별할 수 있는 레이블 정보를 포함하는 전송 제어 지시자를 캐시 장치(300)로 전송할 것이다. 제어부(330)는 인터페이스부(310)를 통해 전송 제어 지시자를 수신하고, 전송 제어 지시자의 레이블 정보에 따라 컨텐츠를 구성하는 단위 데이터를 인터페이스부(310)를 통해 사용자 장치(100)로 전송한다. 예컨대, 캐시 제어 장치(500)는 해시 값을 전송할 수 있다. 그러면, 제어부(330)는 이에 상응하는 해시 값을 가진 단위 데이터를 저장부(320)에서 추출하여 추출된 단위 데이터를 인터페이스부(310)를 통해 사용자 장치(100)로 전송할 수 있다.
한편, 제1 서비스 혹은 제2 서비스에 무관하게, 저장부(320)에 컨텐츠를 보유하고 있지 않다면, 제어부(330)는 인터페이스부(310)를 통해 컨텐츠 서버(700)로부터 캐시 제어 장치(500)를 거쳐 수신되는 컨텐츠를 저장한다. 그런 다음, 제어부(330)는 저장된 컨텐츠를 사용자 장치(100)로 전송할 수 있다. 다른 예로, 제어부(330)는 컨텐츠 서버(700)로부터 캐시 제어 장치(500)를 거쳐 수신되는 컨텐츠를 미러링 기술을 이용하여 인터페이스부(310)를 통해 사용자 장치(100)로 제공할 수도 있다. 컨텐츠 제공과 함께, 제어부(330)는 컨텐츠 서버(700)로부터 수신한 컨텐츠를 저장한다. 이로써, 추후 상기 컨텐츠에 대한 다른 사용자 장치의 요청이 있을 경우 저장된 컨텐츠를 해당 사용자 장치(100)로 제공할 수도 있다.
도 4는 본 발명의 실시예에 따른 컨텐츠 전달 시스템에서 데이터 전송을 위한 각 구성 간의 연결 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 사용자 장치(100)가 컨텐츠 서버(700)로부터 데이터를 수신하기 위해서는 사용자 장치(100)와 컨텐츠 서버(700) 간에 연결이 이루어져야 한다. 본 발명의 실시예에 따르면, S410 단계 내지 S430 단계에서 사용자 장치(100)와 캐시 제어 장치(500) 간에 연결과, S440 단계 내지 S460 단계에서 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결을 따로 수립한다. 이 실시예에서는 TCP(transmission control protocol)에서 3-웨이 핸드쉐이킹(3-way handshaking) 방식을 예로 든다. S410 단계 내지 S430 단계는 사용자 장치(100)와 캐시 제어 장치(500) 간에 연결 과정이며, S440 단계 내지 S460 단계에서 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결 과정이다. 즉, 사용자 장치(100)가 S410 단계에서 컨텐츠 서버(700)에 대한 연결 요청 메시지(SYN) 메시지를 전송하면, 이를 캐시 제어 장치(500)가 컨텐츠 서버(700) 대신 수신한다. 또한, 캐시 제어 장치(500)는 컨텐츠 서버(700) 대신 연결 요청 메시지에 대한 응답으로 S420 단계에서 연결 요청 및 확인 메시지를(SYN, ACK) 메시지를 사용자 장치(100)에 전송한다. 이에 따라, 사용자 장치(100)가 S430 단계에서 확인 메시지(ACK)를 컨텐츠 서버(700)로 전송하면, 캐시 제어 장치(500)는 이 확인 메시지(ACK)를 컨텐츠 서버(700) 대신 수신한다. 이에 따라, 사용자 장치(100) 및 캐시 제어 장치(500) 간에 연결이 수립된다.
한편, 사용자 장치(100) 대신 캐시 제어 장치(500)는 S440 단계에서 연결 요청 메시지(SYN) 메시지를 컨텐츠 서버(700)로 전송한다. 그리고 캐시 제어 장치(500)는 컨텐츠 서버(700)가 S450 단계에서 전송한 연결 요청 및 확인(SYN, ACK) 메시지를 사용자 장치(100) 대신 수신한다. 그런 다음, 캐시 제어 장치(500)는 컨텐츠 서버(700)에 연결 요청 메시지에 대한 응답으로 S460 단계에서 확인 메시지(ACK)를 사용자 장치(100) 대신 컨텐츠 서버(700)로 전송한다. 이로써, 캐시 제어 장치(500) 및 컨텐츠 서버(700) 간에 연결이 수립된다.
본 발명의 실시예에 따르면, 캐시 제어 장치(500)는 캐싱 서버(300)에 사용자 장치(100)가 요청한 컨텐츠가 저장되어 있다는 것을 확인하면, 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결을 종료시킬 수 있다. 이와 같이, 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결이 종료되는 경우에도, 사용자 장치(100)는 새로운 연결을 설정하는 추가 절차를 진행할 필요가 없다. 이는 상술한 바와 같이, 사용자 장치(100)와 캐시 제어 장치(500) 간에 연결과, 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결을 따로 수립하기 때문이다.
도 5는 본 발명의 실시예에 따른 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도시된 바와 같이, S510 단계에서 도 4에서 설명한 절차에 따라 사용자 장치(100)와 캐시 제어 장치(500) 간, 그리고, 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결이 수립된 상태라고 가정한다.
사용자 장치(100)는 컨텐츠 서버(700)에 컨텐츠를 요청하기 위해 컨텐츠 요청 메시지를 전송할 수 있다. 그러면, 컨텐츠 요청 메시지에 따라 컨텐츠 서버(700)는 사용자 장치(100)에 컨텐츠를 제공한다. 컨텐츠는 복수개의 단위 데이터로 구분되고, 복수의 단위 데이터는 순차로 컨텐츠 응답 메시지에 포함되어 전송될 수 있다.
캐시 제어 장치(500)는 컨텐츠를 제공할 때, 어떤 종류의 서비스를 제공할지 여부를 판단하기 위해 서비스 리스트를 저장한다. 서비스 리스트는 컨텐츠 서버(700)에 따라 제공되어야 할 서비스의 종류를 구분하여 저장한다. 따라서 캐시 제어 장치(500)는 서비스 리스트를 통해 어떤 서비스를 제공할지 여부를 결정할 수 있다. 캐시 제어 장치(500)는 수신되는 컨텐츠 요청 메시지 혹은 컨텐츠 응답 메시지 중 적어도 하나를 통해 어떤 종류의 서비스를 제공할지 여부를 결정한다. 즉, 컨텐츠 요청 메시지 및 컨텐츠 응답 메시지는 모두 컨텐츠 서버(700)의 도메인을 포함한다. 따라서 캐시 제어 장치(500)는 컨텐츠 요청 메시지 및 컨텐츠 응답 메시지 중 어느 하나에서 컨텐츠 서버(700)의 도메인을 추출한다. 그런 다음, 캐시 제어 장치(500)는 컨텐츠 서버(700)의 도메인과 서비스 리스트를 비교하여, 해당 컨텐츠에 대해 어떤 서비스를 제공할지를 결정할 수 있다.
여기서, 캐시 장치(300)는 캐시 제어 장치(500)가 결정한 서비스의 종류에 따라 서비스를 제공해야 한다. 따라서 캐시 장치(300)는 사용자 장치(100)로부터 전송되는 컨텐츠 요청 메시지에 정보 요청 지시자를 기술하여 캐시 제어 장치(500)에 전달한다. 이로써, 캐시 장치(300)는 서비스 종류를 알려주도록 캐시 제어 장치(500)에 요청할 수 있다.
또한, 캐시 제어 장치(500)는 서비스 리스트를 참조하여 서비스 종류를 결정한다. 서비스의 종류가 결정되면, 캐시 제어 장치(500)는 컨텐츠 요청 메시지에 대한 응답으로 전송되는 컨텐츠 응답 메시지에 서비스 종류를 나타내는 정보 응답 지시자를 기술하여 캐시 장치(300)에 제공한다. 일 예로, 컨텐츠 요청 메시지가 HTTP get 메시지이고, 컨텐츠 응답 메시지가 HTTP response 메시지일 때, 상술한 정보 요청 지시자 및 정보 응답 지시자는 각각 HTTP get 메시지 및 HTTP response 메시지에 포함되어 전송될 수 있다. 이때, 캐시 장치(300)는 컨텐츠 요청 메시지의 특정 필드에 정보 요청 지시자를 수납하여 컨텐츠 요청 메시지를 전송할 수 있다. 이에 따라, 캐시 제어 장치(500)는 정보 요청 지시자를 수신할 수 있다. 그러면, 캐시 제어 장치(500)는 정보 응답 지시지를 포함하는 컨텐츠 응답 메시지를 캐시 장치(300)에 전송할 것이다. 캐시 제어 장치(500)는 컨텐츠 응답 메시지의 특정 필드에 정보 응답 지시자임을 표시하고, 서비스의 종류를 나타내는 정보 응답 지시자를 기술하여 전송할 수 있다.
다음으로, 사용자 장치(100)가 전송한 컨텐츠 요청 메시지는 S515, S520 및 S530 단계에서 캐시 장치(300) 및 캐시 제어 장치(500)를 통해 컨텐츠 서버(700)에 전달된다. 이에 따라, 캐시 제어 장치(500)는 S525 단계에서 컨텐츠 요청 메시지에 대한 수신을 확인시키는 확인(ACK) 메시지를 전송하며, 이 확인 메시지는 캐시 장치(300)를 거쳐 사용자 장치(100)에 전달된다. 이러한 컨텐츠 요청 메시지는 예컨대, HTTP GET 메시지가 될 수 있다. 또한, 컨텐츠 서버(700)는 S535 단계에서 컨텐츠 요청 메시지에 대한 수신을 확인시키는 확인(ACK) 메시지를 캐시 제어 장치(500)로 전송한다. 이때, 캐시 장치(300)는 S520 단계에서 전달되는 컨텐츠 요청 메시지에 정보 요청 지시자를 포함시켜 캐시 제어 장치(500)에 전달한다. 여기서, 정보 요청 지시자는 캐시 제어 장치(500)에게 서비스의 종류에 대해 질의하는 역할을 한다. 즉, 캐시 장치(300)는 정보 요청 지시자를 통해 어떤 종류의 서비스(예컨대, 제1 서비스, 제2 서비스 등)를 제공할지 여부를 알려주도록 캐시 제어 장치(500)에 요청한다.
한편, 컨텐츠 요청 메시지를 수신한 컨텐츠 서버(700)는 컨텐츠 응답 메시지를 전송한다. 이러한 컨텐츠 응답 메시지는 S540, S550 및 S555 단계에서 캐시 제어 장치(500) 및 캐시 장치(300)를 거쳐 사용자 장치(100)로 전송된다. 컨텐츠 응답 메시지에는 단위 데이터로 구분된 컨텐츠의 일부가 포함되며, 특별한 제어가 없는 한, 컨텐츠 서버(700)는 컨텐츠가 모두 전송될 때까지 계속해서 컨텐츠 응답 메시지를 전송할 수도 있다. 컨텐츠는 단위 데이터로 구분되어 소정 수의 단위 데이터가 컨텐츠 응답 메시지에 포함되어 전송되며, 단위 데이터는 청크(chunk)가 될 수 있다. S540, S550 및 S555 단계에서 전송되는 컨텐츠 응답 메시지에는 컨텐츠를 구성하는 복수의 단위 데이터 중 첫 번째 단위 데이터만이 포함될 수 있다.
컨텐츠 응답 메시지를 수신한 캐시 제어 장치(500)는 S545 단계에서 컨텐츠 응답 메시지에 대한 수신을 확인시키는 확인(ACK) 메시지를 컨텐츠 서버(700)에 전송한다. 또한, 사용자 장치(100)는 S560 단계에서 컨텐츠 응답 메시지에 대한 수신을 확인시키는 확인(ACK) 메시지를 전송하고, 이 확인 메시지는 캐시 장치(300)를 거쳐 캐시 제어 장치(500)에 전달된다.
상술한 바와 같은 컨텐츠 응답 메시지의 전송 중, 서비스의 종류를 결정한 캐시 제어 장치(500)는 S550 단계에서 전달되는 컨텐츠 응답 메시지에 정보 응답 지시자를 포함시켜 캐시 장치(300)에 전달한다. 이 정보 응답 지사는 결정된 어느 하나의 서비스(예컨대, 제1 서비스)를 알려준다. 즉, 캐시 제어 장치(500)는 정보 응답 지시자를 통해 결정된 서비스의 종류를 캐시 장치(300)에 알린다.
상술한 바와 같이, 컨텐츠 요청 메시지가 수신되면, 캐시 장치(300)는 캐시 제어 장치(500)에 정보 요청 지시자를 통해 어떤 종류의 서비스를 제공할지 여부를 질의한다. 또한, 캐시 제어 장치(500)는 서비스 리스트를 참조하여 어떤 종류의 서비스를 제공할지 여부를 결정한다. 그런 다음, 캐시 제어 장치(500)는 질의에 대한 응답으로 정보 응답 지시자를 통해 서비스의 종류를 캐시 장치(300)에 알린다. 이로써, 캐시 장치(300) 및 캐시 제어 장치(500) 양자 모두는 결정된 서비스 종류를 공유한다. 그런 다음, 캐시 장치(300) 및 캐시 제어 장치(500)는 결정된 서비스 종류에 따라 해당 서비스를 제공한다.
도 6은 본 발명의 실시예에 따른 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 앞서 도 4에서 설명된 바와 같이, 사용자 장치(100)와 캐시 제어 장치(500) 간, 그리고, 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결이 수립된 상태라고 가정한다.
사용자 장치(100)는 S710 단계에서 컨텐츠 요청 메시지를 전송한다. 이러한 컨텐츠 요청 메시지는 예컨대, Http Get 메시지가 될 수 있다. 그러면, 캐시 장치(300)는 컨텐츠 요청 메시지를 수신하여, 컨텐츠 요청 메시지에 서비스 종류를 요청하는 정보 요청 지시자를 포함시킨다. 그런 다음, 캐시 장치(300)는 S715 단계에서 정보 요청 지시자가 포함된 컨텐츠 요청 메시지를 캐시 제어 장치(500)로 전송한다. 그러면, 캐시 제어 장치(500)는 컨텐츠 요청 메시지로부터 정보 요청 지시자를 확인한 후, S720 단계에서 컨텐츠 요청 메시지를 컨텐츠 서버(700)로 전송한다.
컨텐츠 요청 메시지를 수신한 컨텐츠 서버(700)는 컨텐츠를 단위 데이터로 분할하여, 구분된 단위 데이터를 순차로 컨텐츠 응답 메시지에 포함시켜 전송할 것이다. S725 단계는 컨텐츠 서버(700)가 복수의 단위 데이터로 구성된 컨텐츠 중 첫 번째 몇 개의 단위 데이터를 컨텐츠 응답 메시지에 포함시켜 전송하는 것을 보인다. 몇 개의 단위 데이터는 컨텐츠 응답 메시지를 통해 순차로 혹은 동시에 전송될 수 있다. 예컨대, 컨텐츠 응답 메시지는 HTTP response 메시지가 될 수 있다.
한편, 캐시 제어 장치(500)는 S715 단계에서 수신되는 컨텐츠 요청 메시지 및 S725 단계에서 수신되는 컨텐츠 응답 메시지 중 적어도 하나로부터 도메인을 추출하여 컨텐츠 서버(300)를 식별할 수 있다. 그리고 캐시 제어 장치(500)는 서비스 리스트를 참조하여 식별된 컨텐츠 서버(700)에 대해 어떤 종류의 서비스를 제공할지를 결정할 수 있다.
따라서 캐시 제어 장치(500)는 컨텐츠 서버(700)로부터 컨텐츠 응답 메시지를 수신한 후, 서비스의 종류가 결정되면, 결정된 서비스 종류를 나타내는 정보 응답 지시자를 컨텐츠 응답 메시지에 포함시킨다. 그런 다음, 캐시 제어 장치(500)는 S730 단계에서 정보 응답 지시자가 포함된 컨텐츠 응답 메시지를 전송한다. 정보 응답 지시자는 서비스의 종류를 나타내면서, 해당 서비스의 종류에 따라 서비스를 제공하도록 캐시 장치(300)를 제어하는 것이다. S730 단계에서, 캐시 제어 장치(500)는 제1 서비스를 나타내는 정보 응답 지시자를 포함시켜 컨텐츠 응답 메시지를 전송하였다고 가정한다.
캐시 장치(300)는 컨텐츠 응답 메시지를 수신하면, 컨텐츠 응답 메시지의 정보 응답 지시자를 통해 해당 컨텐츠 전송에 대해 제1 서비스가 제공되어야 함을 확인할 수 있다. 또한, 캐시 장치(300)는 컨텐츠 응답 메시지에 포함된 컨텐츠의 일부(적어도 하나의 단위 데이터)와 저장된 컨텐츠를 비교하여, 해당 컨텐츠를 보유하고 있는지 여부를 확인할 수 있다. 그런 다음, 캐시 장치(300)는 S735 단계에서 컨텐츠 응답 메시지를 사용자 장치(100)로 전송한다.
컨텐츠 응답 메시지를 수신한 사용자 장치(100)는 수신된 컨텐츠 응답 메시지로부터 사용자 장치(100) 자신이 요청한 컨텐츠의 일부가 수신되었는지 여부를 확인할 수 있다. 그러면, 사용자 장치(100)는 S740 단계에서 확인 메시지를 전송한다. 확인 메시지는 예컨대, ACK 메시지가 될 수 있다.
확인 메시지를 수신한 캐시 장치(300)는 자신이 해당 컨텐츠를 온전히 보유하고 있다면, S745 단계에서 캐시 확인 지시자를 포함하는 확인 메시지를 캐시 제어 장치(500)에 전송한다. 캐시 확인 지시자는 해당 컨텐츠를 저장하고 있음을 나타낸다.
캐시 확인 지시자를 수신한 캐시 제어 장치(500)는 캐시 장치(300)가 해당 컨텐츠를 저장하고 있음을 확인할 수 있다. 이에 따라, 캐시 제어 장치(500)는 S750 단계에서 재전송 요청에 따른 재전송인 경우를 제외하고, 신규의 단위 데이터에 대한 전송을 중단할 것을 컨텐츠 서버(700)에 통지한다.
한편, 사용자 장치(100)는 단위 데이터를 수신할 때마다 확인 메시지를 전송할 수 있다. 이에 따라, 사용자 장치(100)는 S755 단계에서 확인 메시지를 전송할 수 있다. 제1 서비스를 제공하기 위해, 캐시 장치(300)는 사용자 장치(100)로부터 전송되는 확인 메시지에서 연결 설정을 위한 정보를 획득한다. 그런 다음, 캐시 장치(300)는 도 4에서 설명된 바와 같은, 사용자 장치(100)와 캐시 제어 장치(500) 간의 연결을 하이재킹한다(CONNECTION HIJACKING). 이로써, 캐시 장치(300) 자신과 사용자 장치(100) 간에 연결이 수립된다.
다음으로, 캐시 장치(300)는 S765 단계에서 캐시 제어 장치(500)에 터널 생성을 요청하는 터널 생성 요청 메시지를 전송한다. 터널 생성 요청 메시지를 수신한 캐시 제어 장치(500)는 S770 단계에서 컨텐츠 서버(700)와 연결을 해제한다. 그리고 캐시 제어 장치(500)는 캐시 장치(300)와 터널을 연결한 후, S775 단계에서 터널이 생성되었음을 알리는 터널 생성 응답 메시지를 캐시 장치(300)로 전송한다.
한편, 캐시 장치(300)는 S780 단계에서 자신이 보유한 컨텐츠를 컨텐츠 응답 메시지에 포함시켜 사용자 장치(100)로 전송한다. 이때, 캐시 장치(300)는 앞서 전송된 컨텐츠의 일부인 몇 개의 단위 데이터에 이어서 후속의 단위 데이터를 전송한다. 이는 컨텐츠가 모두 전송될 때까지 지속된다.
앞서, 캐시 장치(300)와 캐시 제어 장치(500) 간에 생성된 터널은 만료 시간 이전에 갱신되지 않는 경우 종료된다. 따라서 컨텐츠의 전송이 계속되는 동안 캐시 장치(300)는 S785 단계에서 주기적으로 터널 유지를 요청하는 터널 유지 요청 메시지를 캐시 제어 장치(500)로 전송한다. 그러면, 캐시 제어 장치(500)는 만료 시간을 갱신하여 터널을 유지시킬 것이다. 만약, 캐시 장치(300)가 해당 컨텐츠를 모두 사용자 장치(100)에 전송하면, 캐시 장치(300)는 S790 단계에서 터널 종료 요청 메시지를 전송한다. 그러면, 캐시 제어 장치(500)는 터널을 종료시킬 것이다. 이에 따라, 캐시 제어 장치(500)는 해당 컨텐츠가 모두 전송되었음을 인지할 수 있다.
도 7은 본 발명의 실시예에 따른 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 앞서 도 4에서 설명된 바와 같이, 사용자 장치(100)와 캐시 제어 장치(500) 간, 그리고, 캐시 제어 장치(500)와 컨텐츠 서버(700) 간에 연결이 수립된 상태라고 가정한다. S810 단계 내지 S845 단계는 앞서 설명된 S710 단계 내지 S745 단계와 동일한 과정으로 진행될 수 있다.
사용자 장치(100)는 S810 단계에서 컨텐츠 요청 메시지를 전송한다. 그러면, 캐시 장치(300)는 컨텐츠 요청 메시지를 수신하여, 컨텐츠 요청 메시지에 정보 요청 지시자를 포함시킨 후, S815 단계에서 정보 요청 지시자가 포함된 컨텐츠 요청 메시지를 캐시 제어 장치(500)로 전송한다. 이어서, 캐시 제어 장치(500)는 정보 요청 지시자를 확인한 후, S820 단계에서 컨텐츠 요청 메시지를 컨텐츠 서버(700)로 전송한다. 컨텐츠 요청 메시지를 수신한 컨텐츠 서버(700)는 컨텐츠를 단위 데이터로 분할하고, S825 단계에서 구분된 단위 데이터 중 몇 개를 순차로 컨텐츠 응답 메시지에 포함시켜 전송한다.
컨텐츠 응답 메시지를 수신한 캐시 제어 장치(500)는 서비스 리스트를 참조하여 해당 컨텐츠에 전송에 대한 서비스 종류를 결정한다. 그런 다음, 캐시 제어 장치(500)는 결정된 서비스 종류를 나타내는 정보 응답 지시자를 컨텐츠 응답 메시지에 포함시킨다. 그런 다음, 캐시 제어 장치(500)는 S830 단계에서 정보 응답 지시자가 포함된 컨텐츠 응답 메시지를 전송한다. 이때, 캐시 제어 장치(500)는 제2 서비스를 나타내는 정보 응답 지시자를 포함시켜 컨텐츠 응답 메시지를 전송하였다고 가정한다.
캐시 장치(300)는 컨텐츠 응답 메시지를 수신하면, 컨텐츠 응답 메시지의 정보 응답 지시자를 통해 해당 컨텐츠 전달을 위해 제2 서비스가 제공되어야 함을 확인한다. 또한, 캐시 장치(300)는 컨텐츠 응답 메시지에 포함된 컨텐츠의 일부와 저장된 컨텐츠를 비교하여, 해당 컨텐츠가 저장되어 있는지 여부를 확인할 수 있다. 그런 다음, 캐시 장치(300)는 S835 단계에서 컨텐츠 응답 메시지를 사용자 장치(100)로 전송한다.
컨텐츠 응답 메시지를 수신한 사용자 장치(100)는 수신된 컨텐츠 응답 메시지로부터 사용자 장치(100)가 요청한 컨텐츠의 일부가 수신된 것을 확인하면, S840 단계에서 확인 메시지를 전송한다. 확인 메시지를 수신한 캐시 장치(300)는 자신이 해당 컨텐츠를 온전히 보유하고 있는지 여부를 확인한다. 그런 다음, 캐시 장치(300)는 S845 단계에서 해당 컨텐츠를 보유하고 있음을 나타내는 캐시 확인 지시자와 확인 메시지를 캐시 제어 장치(500)에 전송한다. 캐시 확인 지시자 및 확인 메시지를 수신한 캐시 제어 장치(500)는 캐시 장치(300)가 해당 컨텐츠를 저장하고 있음을 확인할 수 있다. 그리고 캐시 제어 장치(500)는 S850 단계에서 확인 메시지를 컨텐츠 서버(700)로 전송한다.
앞서 설명된 바와 같이, 컨텐츠 서버(700)는 컨텐츠를 복수개의 단위 데이터로 구분하고, 복수의 단위 데이터를 순차로 전송한다. 컨텐츠 서버(700)는 앞서 전송된 컨텐츠의 일부인 단위 데이터에 이어서, S855 단계에서 후속의 단위 데이터를 컨텐츠 응답 메시지를 통해 순차로 전송한다.
컨텐츠의 단위 데이터를 순차로 수신하는 캐시 제어 장치(500)는 S860 단계에서 순차로 수신되는 단위 데이터에 상응하는 전송 제어 지시자를 전송한다. 이러한 전송 제어 지시자는 캐싱 장치(300)가 앞서(S835 단계) 전송한 컨텐츠의 일부에 이어서 후속의 단위 데이터를 사용자 장치(100)로 전송하도록 지시한다. 전송 제어 지시자는 캐시 제어 장치(500)와 캐시 장치(300) 간에 트래픽을 줄이기 위해서 사용된다. 이를 위하여, 전송 제어 지시자는 캐시 장치(300)가 사용자 장치(100)로 전송하여야 할 단위 데이터를 식별하기 위한 레이블 정보가 포함되지만, 전송하여야 할 단위 데이터를 모두 포함하지는 않는다. 레이블 정보는 다양한 방식으로 생성할 수 있다. 예컨대, 캐시 제어 장치(500)는 컨텐츠 서버(700)가 전송하는 후속의 단위 데이터의 전부 또는 일부를 압축하여 레이블 정보로 사용할 수 있다. 또는, 캐시 제어 장치(500)는 컨텐츠 서버(700)가 전송하는 후속의 단위 데이터를 캐시 장치(300)와 상호간에 미리 약속된 해시(hash) 알고리즘을 이용하여 해시 값을 생성하고, 생성된 해시 값을 레이블 정보로 사용할 수 있다.
캐시 제어 장치(500)가 단위 데이터를 식별할 수 있는 레이블 정보를 포함하는 전송 제어 지시자를 전송하면, 캐시 장치(300)는 S865 단계에서 전송 제어 지시자의 레이블 정보에 따라 단위 데이터를 사용자 장치(100)로 전송한다. 예컨대, 캐시 제어 장치(500)가 해시 값을 전송하면, 캐시 장치(300)는 이에 상응하는 해시 값을 가진 단위 데이터를 추출하고, 추출된 단위 데이터를 사용자 장치(100)로 전송한다.
도 8은 본 발명의 실시예에 따른 캐시 제어 장치의 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 제어 모듈(530) S905 단계에서 인터페이스 모듈(510)을 통해 사용자 장치(100) 및 컨텐츠 서버(700)와 메시지를 교환하여, 사용자 장치(100)와의 연결과, 컨텐츠 서버(700)와의 연결을 각각 수립한다. 이러한 연결 수립 절차는 도 4에서 설명된 바와 같다.
사용자 장치(100)는 컨텐츠 서버(700)에 대한 컨텐츠 요청을 위해 컨텐츠 요청 메시지를 전송할 수 있다. 이에 대한 응답으로 컨텐츠 서버(700)는 사용자 장치(100)로 컨텐츠 응답 메시지를 전송할 것이다. 이때, 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 요청 메시지 및 컨텐츠 응답 메시지를 수신할 수 있다. 따라서 제어 모듈(530)은 S910 단계에서 컨텐츠 요청 메시지 또는 컨텐츠 응답 메시지 중 적어도 하나의 헤더에 기술된 도메인을 통해 컨텐츠 서버(700)를 식별한다.
그런 다음, 제어 모듈(530)은 S915 단계에서 저장 모듈(520)에 저장된 서비스 리스트를 참조하여 식별된 컨텐츠 서버(700)에 대한 서비스의 종류가 제1 서비스인지 혹은 제2 서비스인지를 판단한다. 즉, 제어 모듈(530)은 컨텐츠 서버(700)가 사용자 장치(100)가 요청한 컨텐츠를 전송할 때, 적용할 서비스의 종류를 판단한다. 상기 판단 결과, 제1 서비스인 경우, S920 단계로 진행하고, 제2 서비스인 경우, S945 단계로 진행한다.
서비스의 종류가 제1 서비스인 경우, 제어 모듈(530)은 S920 단계에서 인터페이스 모듈(510)을 통해 캐시 장치(300)에 해당 컨텐츠 전송에 제공되어야 할 서비스의 종류가 제1 서비스임을 알린다. 예를 들면, 제어 모듈(530)은 정보 응답 지시자를 포함하는 컨텐츠 응답 메시지를 캐시 장치(300)에 전송하여, 서비스의 종류를 알릴 수 있다.
그런 다음, 제어 모듈(530)은 S925 단계에서 캐시 장치(300)가 제1 서비스 대상인 컨텐츠를 보유하고 있는지 여부를 판단한다. 이를 위하여, 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 서버(700)로부터 전송되는 컨텐츠의 일부를 캐시 장치(300)로 전송한다. 그러면, 캐시 장치(300)는 이러한 컨텐츠의 일부와 자신이 저장한 컨텐츠를 비교하여 동일한 경우 자신이 해당 컨텐츠를 보유하고 있는 것으로 판단한다. 이에 따라, 캐시 장치(300)는 캐시 제어 장치(500)로 자신이 해당 컨텐츠를 저장하고 있음을 알리는 캐시 확인 지시자를 전송할 것이다. 따라서 제어 모듈(530)이 인터페이스 모듈(510)을 통해 캐시 확인 지시자를 수신하면, 캐시 장치(300)가 해당 컨텐츠를 저장하고 있는 것으로 판단한다.
상기 판단 결과, 캐시 장치(300)가 해당 컨텐츠를 보유하고 있다면, 제어 모듈(530)은 S930 단계에서 인터페이스 모듈(510)을 통해 컨텐츠 서버(700)에 더 이상 컨텐츠를 전송하지 않도록 통지한다. 이에 따라, 컨텐츠 서버(700)는 사용자 장치(100)의 요청에 의한 재전송인 경우를 제외하고, 컨텐츠 전송을 중단한다. 그런 다음, 제어 모듈(530)은 S935 단계에서 앞서(S905) 수립한 사용자 장치(100)와의 연결을 해제하고, 캐시 장치(300)와 터널을 연결한 후, 컨텐츠 서버(500)와의 연결을 해제한다.
반면, S925 단계의 판단 결과 캐시 장치(300)가 해당 컨텐츠를 보유하고 있지 않다면, 제어 모듈(530)은 S940 단계에서 컨텐츠 서버(700)로부터 순차로 수신되는 컨텐츠를 캐시 장치(300)로 전송한다.
한편, S915 단계의 판단 결과 서비스의 종류가 제2 서비스인 경우, 제어 모듈(530)은 S945 단계에서 해당 컨텐츠 전송에 제공되어야 할 서비스의 종류가 제2 서비스임을 인터페이스 모듈(510)을 통해 캐시 장치(300)에 알린다.
그런 다음, 제어 모듈(530)은 S950 단계에서 캐시 장치(300)가 제2 서비스 대상인 컨텐츠를 보유하고 있는지 여부를 판단한다. S925 단계와 동일하게, 제어 모듈(530)은 S950 단계에서 캐시 장치(300)로부터 캐시 확인 지시자를 수신하면, 캐시 장치(300)가 해당 컨텐츠를 저장하고 있는 것으로 판단한다.
S950 단계의 판단 결과, 캐시 장치(300)가 해당 컨텐츠를 저장하고 있다면, 제어 모듈(530)은 S955 단계에서 인터페이스 모듈(510)을 통해 레이블 정보를 포함하는 전송 제어 지시자를 캐시 장치(300)에 전송한다. 이 레이블 정보에 따라, 캐시 장치(300)는 컨텐츠 서버(700)가 전송하는 컨텐츠의 단위 데이터와 동일한 단위 데이터가 전송할 것이다.
반면, S950 단계의 판단 결과, 캐시 장치(300)가 해당 컨텐츠를 저장하고 있지 않다면, 제어 모듈(530)은 S960 단계에서 컨텐츠 서버(700)로부터 순차로 수신되는 컨텐츠를 인터페이스 모듈(510)을 통해 캐시 장치(300)로 전송한다.
도 9는 본 발명의 실시예에 따른 캐시 장치의 컨텐츠 전달 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 도 4에서 설명된 바와 같이, 사용자 장치(100)와 캐시 제어 장치(500)간에 연결이 수립되고, 캐시 제어 장치(500)와 컨텐츠 서버(700)와의 연결이 수립된 상태라고 가정한다. 또한, 제어부(330)는 인터페이스부(310)를 통해 사용자 장치(100)가 전송하는 데이터, 컨텐츠 서버(700)가 전송하는 데이터를 수신할 수 있다.
사용자 장치(100)가 컨텐츠 서버(700)로 컨텐츠를 요청하는 컨텐츠 요청 메시지를 전송하면, 제어부(330)는 S1000 단계에서 컨텐츠 요청 메시지를 인터페이스부(310)를 통해 수신한다. 그런 다음, 제어부(330)는 S1005 단계에서 서비스 종류에 대해 질의하는 정보 요청 지시자를 포함하는 컨텐츠 요청 메시지를 인터페이스부(310)를 통해 캐시 제어 장치(500)로 전송한다.
그러면, 캐시 제어 장치(500)는 컨텐츠 서버(700)로부터 전송되는 컨텐츠 응답 메시지에 해당 컨텐츠에 제공되어야 하는 서비스의 종류를 나타내는 정보 응답 지시자를 포함시켜 전송할 것이다. 이에 따라, 제어부(330)는 S1010 단계에서 인터페이스부(310)를 통해 정보 응답 지시자를 포함하는 컨텐츠 응답 메시지를 통해 서비스 종류에 대한 정보 응답을 수신한다. 그러면, 제어부(330)는 S1015 단계에서 정보 응답 지시자가 나타내는 바에 따라, 해당 컨텐츠에 제공되어야 할 서비스가 제1 서비스인지 또는 제2 서비스인지를 확인할 수 있다.
S1015 단계의 확인 결과, 제1 서비스인 경우, 제어부(330)는 S1020 단계로 진행하여 해당 컨텐츠를 보유하고 있는지 여부를 확인한다. 저장부(320)는 제1 서비스를 위해 할당된 제1 저장영역을 가진다. 따라서 제어부(330)는 수신된 컨텐츠 응답 메시지의 컨텐츠의 일부를 이용하여 제1 저장영역에 해당 컨텐츠가 존재하는지 여부를 확인할 수 있다.
S1020 단계의 확인 결과, 컨텐츠를 보유하고 있다면, 제어부(330)는 S1025 단계에서 인터페이스부(310)를 통해 캐시 제어 장치(500)에 해당 컨텐츠를 보유하고 있다는 것을 알리는 캐시 확인 지시자를 전송한다. 캐시 확인 지시자를 수신한 캐시 제어 장치(500)는 컨텐츠 서버(700)에 컨텐츠를 전송하지 않도록 통지할 것이다. 또한, 제어부(330)는 S1030 단계에서 사용자 장치(100)와 캐시 제어 장치(500) 간의 연결을 하이재킹하여, 캐시 장치(300) 자신과 사용자 장치(100) 간에 연결을 수립한다. 그런 다음, 제어부(330)는 S1035 단계에서 인터페이스부(310)를 통해 터널 생성을 요청하는 터널 생성 요청 메시지를 전송하여 캐시 제어 장치(500)와 터널을 생성한다. 다음으로, 제어부(330)는 S1040 단계에서 보유하고 있는 컨텐츠를 인터페이스부(310)를 통해 사용자 장치(100)로 전송한다.
반면, S1020 단계의 확인 결과, 컨텐츠를 보유하고 있지 않다면, 제어부(330)는 S1045 단계에서 인터페이스부(310)를 통해 캐시 제어 장치(500)로부터 수신되는 컨텐츠를 저장한다. 이와 함께, 제어부(330)는 인터페이스부(310)를 통해 저장된 컨텐츠를 사용자 장치(100)로 전송한다.
한편, S1015 단계의 확인 결과, 제2 서비스인 경우, 제어부(330)는 S1050 단계로 진행하여 해당 컨텐츠를 보유하고 있는지 여부를 확인한다. 저장부(320)는 제2 서비스를 위해 할당된 제2 저장영역을 가진다. 따라서 제어부(330)는 캐시 제어 장치(500)로부터 수신된 컨텐츠 응답 메시지의 컨텐츠의 일부를 이용하여 제2 저장영역에 해당 컨텐츠가 존재하는지 여부를 확인할 수 있다.
S1050 단계의 확인 결과, 컨텐츠를 보유하고 있다면, 제어부(330)는 S1055 단계에서 해당 컨텐츠를 보유하고 있다는 것을 알리는 캐시 확인 지시자를 인터페이스부(310)를 통해 캐시 제어 장치(500)로 전송한다.
캐시 장치(300)가 해당 컨텐츠를 보유하고 있다는 것을 확인하면, 캐시 제어 장치(500)는 레이블 정보를 포함하는 전송 제어 지시자를 전송할 것이다. 이를 통해 캐시 제어 장치(500)는 코어 네트워크(400) 내의 트래픽을 감소시킬 수 있다. 그러면, S1060 단계에서 제어부(330)는 수신되는 전송 제어 지시자의 레이블 정보에 따라 컨텐츠를 구성하는 단위 데이터를 인터페이스부(310)를 통해 사용자 장치(100)로 전송한다. 즉, 제어부(330)는 보유한 컨텐츠 중에서 수신된 레이블 정보로 식별되는 단위 데이터를 사용자 장치(100)로 전송한다. 예컨대, 캐시 제어 장치(500)가 해시 값을 전송하면, 제어부(330)는 이에 상응하는 해시 값을 가진 단위 데이터를 저장부(320)에서 추출한다. 그런 다음, 제어부(330)는 추출된 단위 데이터를 인터페이스부(310)를 통해 전송한다. 반면, 확인 결과, 컨텐츠를 보유하고 있지 않다면, 제어부(330)는 S1065 단계에서 인터페이스부(310)를 통해 캐시 제어 장치(500)로부터 수신되는 컨텐츠를 저장한다. 그런 다음, 제어부(330)는 저장된 컨텐츠를 사용자 장치(100)로 전송한다.
이러한, 본 발명의 실시 예에 따른 컨텐츠 전달 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
본 발명은 컨텐츠 전달 기술에 관한 것으로, 더욱 상세하게는, 차별화된 방식으로 컨텐츠를 사용자 장치에 전달하는 방법 및 이를 위한 장치에 관한 것이다. 본 발명에 따르면, 제1 서비스의 경우, 컨텐츠 서버의 전송을 차단하고, 캐시 장치 단독으로 컨텐츠를 사용자 장치에 전달함으로써, 해당 프로세스에 대한 컨텐츠 서버 자체의 부하를 없앨 수 있다. 제2 서비스의 경우, 컨텐츠 서버로부터 전송되는 데이터를 실제로 전달하는 것이 아니라, 캐시 제어 장치가 레이블 정보를 포함하는 전송 제어 지시자를 통해 캐시 장치가 동일한 데이터를 전송하도록 제어함으로써, 컨텐츠 서버 자체의 부하는 그대로 이지만, 네트워크 내의 트래픽을 감소시키고, 전송 지연을 예방할 수 있다. 특히, 사용자 장치 및 컨텐츠 서버 간에 송수신되는 메시지로부터 서비스의 대상을 식별하고, 서비스 리스트를 통해 서비스 종류 별로 대상을 관리함으로써, 그 종류에 따라 차별화된 서비스를 제공할 수 있다. 이러한 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 반복 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 사용자 장치 200: 접속 네트워크
300: 캐시 장치 310: 인터페이스부
320: 저장부 330: 제어부
400: 코어 네트워크 500: 캐시 제어 장치
510: 인터페이스 모듈 520: 저장 모듈
530: 제어 모듈 600: 공용 네트워크
700: 컨텐츠 서버

Claims (11)

  1. 캐시 장치 및 컨텐츠 서버와의 통신을 수행하는 인터페이스 모듈;
    복수의 컨텐츠 서버들 각각의 서비스 종류가 기록된 서비스 리스트를 저장하는 저장 모듈; 및
    상기 인터페이스 모듈로부터 수신되는 컨텐츠를 요청하는 컨텐츠 요청 메시지 및 상기 컨텐츠를 전달하는 컨텐츠 응답 메시지 중 적어도 하나로부터 상기 컨텐츠 서버를 식별하고, 상기 저장 모듈에 저장된 상기 서비스 리스트를 참조하여 상기 컨텐츠 서버의 서비스 종류를 판단하여, 상기 판단한 서비스 종류를 나타내는 지시자를 상기 인터페이스 모듈을 통해 상기 캐시 장치로 전송하도록 제어하고, 상기 판단한 서비스 종류가 제1 서비스이면, 상기 인터페이스 모듈을 통해 상기 컨텐츠 서버에 상기 컨텐츠의 전송을 중단하도록 통지하고, 상기 판단한 서비스 종류가 제2 서비스이면, 상기 인터페이스 모듈을 통해 컨텐츠의 단위 데이터를 식별할 수 있는 레이블 정보를 상기 캐시 장치에 전송하여, 상기 캐시 장치가 상기 레이블 정보에 따라 컨텐츠의 단위 데이터를 사용자 장치로 전송하도록 하는 제어 모듈;을 포함하는 것을 특징으로 하는 컨텐츠 전달을 위한 캐시 제어 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 제어 모듈은
    상기 인터페이스 모듈을 통해 상기 컨텐츠 서버로부터 수신되는 컨텐츠의 일부를 상기 캐시 장치에 전송하여, 상기 캐시 장치가 컨텐츠의 일부를 통해 상기 컨텐츠를 보유하고 있는지 여부를 확인하도록 하는 것을 특징으로 하는 컨텐츠 전달을 위한 캐시 제어 장치.
  5. 사용자 장치 및 캐시 제어 장치와의 통신을 위한 인터페이스부;
    서비스의 종류에 따라 복수의 컨텐츠를 저장하는 저장 공간을 가지는 저장부; 및
    상기 인터페이스부를 통해 상기 캐시 제어 장치로부터 컨텐츠 서버의 서비스 종류를 나타내는 지시자를 수신하면, 수신된 지시자를 통해 서비스의 종류를 확인하고, 상기 확인된 서비스의 종류에 따라 상이한 방식으로 컨텐츠를 상기 사용자 장치로 전송하도록 제어하고, 상기 확인된 서비스의 종류가 제1 서비스인 경우, 상기 복수의 컨텐츠 중 상기 컨텐츠 서버가 가지는 컨텐츠와 동일한 컨텐츠를 상기 인터페이스부를 통해 상기 사용자 장치로 전송하도록 제어하고, 상기 확인된 서비스의 종류가 제2 서비스인 경우, 상기 인터페이스부를 통해 수신되는 레이블 정보를 이용하여 식별할 수 있는 컨텐츠의 단위 데이터를 상기 사용자 장치로 전송하는 제어부;를 포함하는 것을 특징으로 하는 컨텐츠 전달을 위한 캐시 장치.
  6. 삭제
  7. 삭제
  8. 제5항에 있어서,
    상기 저장 공간은 제1 서비스에 대응하는 컨텐츠를 저장하는 제1 서비스 저장 영역 및 제2 서비스에 대응하는 컨텐츠를 저장하는 제2 서비스 저장 영역을 포함하고,
    상기 제1 서비스 저장 영역에 저장된 컨텐츠는 미리 설정된 기간 동안 삭제되지 않으며,
    상기 제2 서비스 저장 영역에 저장된 컨텐츠는 해당 컨텐츠에 대한 요청의 빈도에 따라 유지되거나 삭제되는 것을 특징으로 하는 컨텐츠 전달을 위한 캐시 장치.
  9. 컨텐츠를 요청하는 컨텐츠 요청 메시지 및 상기 컨텐츠를 전달하는 컨텐츠 응답 메시지 중 적어도 하나로부터 컨텐츠 서버를 식별하는 단계;
    복수의 컨텐츠 서버들 각각의 서비스 종류가 기록된 서비스 리스트를 참조로 상기 컨텐츠 서버의 서비스 종류를 판단하는 단계;
    상기 판단한 서비스 종류를 나타내는 지시자를 캐시 장치로 전송하는 단계;
    상기 판단한 서비스 종류가 제1 서비스이면, 상기 컨텐츠 서버에 상기 컨텐츠의 전송을 중단하도록 통지하고, 상기 판단한 서비스 종류가 제2 서비스이면, 상기 캐시 장치가 레이블 정보에 따라 식별되는 컨텐츠의 단위 데이터를 사용자 장치로 전송하도록, 상기 레이블 정보를 상기 캐시 장치에 전송하는 단계;
    를 포함하는 것을 특징으로 하는 캐시 제어 장치의 컨텐츠 전달을 위한 방법.
  10. 삭제
  11. 삭제
KR1020130065989A 2013-06-10 2013-06-10 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치 KR102070149B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020130065989A KR102070149B1 (ko) 2013-06-10 2013-06-10 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치
CN201480011508.XA CN105009520B (zh) 2013-06-10 2014-04-25 用于在通信网络中传送内容的方法及其装置
PCT/KR2014/003653 WO2014200177A1 (ko) 2013-06-10 2014-04-25 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치
US14/818,265 US10594803B2 (en) 2013-06-10 2015-08-04 Method for delivering content in communication network and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130065989A KR102070149B1 (ko) 2013-06-10 2013-06-10 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20140144321A KR20140144321A (ko) 2014-12-18
KR102070149B1 true KR102070149B1 (ko) 2020-01-28

Family

ID=52022443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130065989A KR102070149B1 (ko) 2013-06-10 2013-06-10 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치

Country Status (4)

Country Link
US (1) US10594803B2 (ko)
KR (1) KR102070149B1 (ko)
CN (1) CN105009520B (ko)
WO (1) WO2014200177A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101668843B1 (ko) * 2015-03-31 2016-10-24 한림대학교 산학협력단 Cdn 기반 하이브리드 콘텐츠 저장 방법 및 서버
WO2016199963A1 (ko) * 2015-06-11 2016-12-15 한양대학교 에리카산학협력단 주변 디바이스를 이용한 캐싱 방법 및 장치
US10171429B2 (en) * 2015-06-12 2019-01-01 Arris Enterprises Llc Providing security to video frames
CN106488504B (zh) * 2015-08-28 2019-12-24 华为技术有限公司 网络系统和网络通信的方法
US20170331913A1 (en) * 2016-05-11 2017-11-16 Fastly, Inc. Content based content delivery network purging
CN110401681B (zh) * 2018-04-20 2022-06-24 伊姆西Ip控股有限责任公司 用于数据传输、数据接收的方法以及电子设备

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542964B1 (en) * 1999-06-02 2003-04-01 Blue Coat Systems Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US7383329B2 (en) * 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7949729B2 (en) * 2001-05-31 2011-05-24 Oracle International Corp. System and method for displaying dynamic page content in a page-caching browser
JP4629948B2 (ja) * 2002-01-11 2011-02-09 富士通株式会社 コンテンツ処理サービス制御システム
US6792510B1 (en) * 2002-02-14 2004-09-14 Novell, Inc. System and method for updating a cache
US7283135B1 (en) * 2002-06-06 2007-10-16 Bentley Systems, Inc. Hierarchical tile-based data structure for efficient client-server publishing of data over network connections
US20050114784A1 (en) * 2003-04-28 2005-05-26 Leslie Spring Rich media publishing
KR100573872B1 (ko) * 2003-12-17 2006-04-26 한국전자통신연구원 네트워크 자원의 효율적 사용을 위한 컨텐트 전송 방법 및그 구현 시스템
KR100758281B1 (ko) * 2004-12-20 2007-09-12 한국전자통신연구원 다중 서비스 타입 관리 기능을 가지는 컨텐츠 분배 관리시스템 및 그 방법
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
GB2440761A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files.
US8180720B1 (en) * 2007-07-19 2012-05-15 Akamai Technologies, Inc. Content delivery network (CDN) cold content handling
US8533293B1 (en) * 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
EP3484135A1 (en) * 2008-04-02 2019-05-15 Twilio Inc. System and method for processing telephony sessions
US20090254707A1 (en) * 2008-04-08 2009-10-08 Strangeloop Networks Inc. Partial Content Caching
CN101656659B (zh) * 2008-08-19 2012-05-23 中兴通讯股份有限公司 一种混合业务流的缓存处理方法、存储转发方法及装置
WO2010045262A1 (en) * 2008-10-14 2010-04-22 Wanova Technologies, Ltd. Storage-network de-duplication
KR101169041B1 (ko) * 2009-08-03 2012-07-26 (주)에임투지 캐시서버 및 멀티미디어 컨텐츠 제공 방법
CN102056333A (zh) * 2009-11-05 2011-05-11 中国移动通信集团河南有限公司 Wap网关及其业务处理方法和wap代理服务器
US8769156B2 (en) * 2009-12-23 2014-07-01 Citrix Systems, Inc. Systems and methods for maintaining transparent end to end cache redirection
KR101176199B1 (ko) 2010-02-10 2012-08-23 김학호 세정 기능을 갖는 냉온 정수기
KR101017344B1 (ko) * 2010-04-02 2011-02-28 (주) 아이티비엠지 양방향 컨텐츠 서비스를 송수신하는 방법 및 이를 위한 유비쿼터스 서버 및 유비쿼터스 단말
US20120102136A1 (en) * 2010-10-21 2012-04-26 Lancaster University Data caching system
KR101770824B1 (ko) * 2010-11-26 2017-08-23 엘지전자 주식회사 복수의 컨텐츠 제공자로부터 제공되는 컨텐츠를 제공/수신하기 위한 방법 및 그 방법을 이용한 시스템 및 장치
WO2012160499A1 (en) * 2011-05-23 2012-11-29 Strangeloop Networks, Inc. Optimized rendering of dynamic content
US8769073B2 (en) * 2011-06-29 2014-07-01 International Business Machines Corporation Intelligent offline caching of non-navigated content based on usage metrics
US9215283B2 (en) * 2011-09-30 2015-12-15 Alcatel Lucent System and method for mobility and multi-homing content retrieval applications
CN102413069B (zh) * 2011-11-23 2014-07-16 中兴通讯股份有限公司 一种泛在网中通过组播方式进行下载的方法和系统
US9208123B2 (en) * 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US20130179489A1 (en) * 2012-01-10 2013-07-11 Marcus Isaac Daley Accelerating web services applications through caching
US9055124B1 (en) * 2012-06-19 2015-06-09 Amazon Technologies, Inc. Enhanced caching of network content
US9953052B1 (en) * 2012-06-19 2018-04-24 Amazon Technologies, Inc. Caching of updated network content portions
CN103795770B (zh) * 2012-10-26 2017-07-04 伊姆西公司 在网络基础设施中提供高速缓存服务的方法和装置
CN103024001B (zh) * 2012-11-30 2018-07-31 中兴通讯股份有限公司 一种业务调度方法与装置及融合设备
KR102112605B1 (ko) * 2013-07-01 2020-05-19 삼성전자 주식회사 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법
US10516752B2 (en) * 2015-06-05 2019-12-24 Apple Inc. Edge caching shared devices

Also Published As

Publication number Publication date
KR20140144321A (ko) 2014-12-18
CN105009520A (zh) 2015-10-28
US10594803B2 (en) 2020-03-17
WO2014200177A1 (ko) 2014-12-18
US20150341449A1 (en) 2015-11-26
CN105009520B (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
KR102070149B1 (ko) 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치
KR101330052B1 (ko) 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR101662018B1 (ko) 핸드오버를 고려한 모바일 컨텐츠 제공 방법 및 이를 위한 장치
EP2800310B1 (en) Content transmitting system, method for optimizing network traffic in the system, central control device and local caching device
US8200747B2 (en) Session handoff of segmented media data
KR101436049B1 (ko) 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US10033824B2 (en) Cache manifest for efficient peer assisted streaming
KR101981285B1 (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
WO2014067070A1 (zh) 数据传输方法、切换方法、数据传输装置、切换装置、用户设备、无线接入节点、数据传输系统、切换系统
KR101356961B1 (ko) 컨텐츠 전송 시스템, 이를 위한 방법 및 장치
KR20150029913A (ko) 청크 단위로 콘텐트를 전달하는 콘텐트 시스템 및 방법
WO2012159287A1 (zh) 数据传输方法和设备
KR102129481B1 (ko) 컨텐츠 전송 시스템에서 데이터 처리를 위한 장치 및 이를 위한 방법
WO2012163016A1 (zh) 识别服务请求类型的方法、媒体服务器和终端设备
KR101888982B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR20150042942A (ko) 컨텐츠 전송 시스템에서의 과금 처리 방법, 이를 위한 장치
KR101407934B1 (ko) 컨텐츠 전송 시스템, 이를 위한 방법 및 장치
KR20150004459A (ko) 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치
KR101971595B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR102519390B1 (ko) 캐시 장치, 상기 캐시 장치에서의 mmt 컨텐츠 전송 방법
KR102030390B1 (ko) 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치
KR102070062B1 (ko) 컨텐츠 전송 시스템에서 컨텐츠 제공을 위한 방법 및 이를 위한 장치
WO2023275969A1 (ja) データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
KR102130301B1 (ko) 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant