KR20160097663A - 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치 - Google Patents

컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치 Download PDF

Info

Publication number
KR20160097663A
KR20160097663A KR1020150019636A KR20150019636A KR20160097663A KR 20160097663 A KR20160097663 A KR 20160097663A KR 1020150019636 A KR1020150019636 A KR 1020150019636A KR 20150019636 A KR20150019636 A KR 20150019636A KR 20160097663 A KR20160097663 A KR 20160097663A
Authority
KR
South Korea
Prior art keywords
information
transmission
server
unit
transmission unit
Prior art date
Application number
KR1020150019636A
Other languages
English (en)
Other versions
KR102269594B1 (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 KR1020150019636A priority Critical patent/KR102269594B1/ko
Priority to CN201680009541.8A priority patent/CN107251529B/zh
Priority to PCT/KR2016/000492 priority patent/WO2016129815A1/ko
Priority to EP16749355.0A priority patent/EP3258673B1/en
Priority to US15/544,709 priority patent/US10560515B2/en
Publication of KR20160097663A publication Critical patent/KR20160097663A/ko
Application granted granted Critical
Publication of KR102269594B1 publication Critical patent/KR102269594B1/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/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • H04L67/2828
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보를 송수신하는 방법 및 장치에 관한 것으로, 보다 구체적으로 컨텐츠 전송 네트워크에 속하는 코어 노드(core node)와 엣지 노드(edge node) 간에 정보를 송수신하는 방법 및 장치에 대한 발명이다. 상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 컨텐츠 전송 네트워크에서 수신 서버의 정보 수신 방법은, 전송 서버로부터 제 1 정보를 수신하는 단계; 상기 수신한 제 1 정보에 기반하여, 상기 제1 정보의 전송 단위를 결정하는 단계; 상기 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 전송 서버에게 전송하는 단계; 상기 전송 서버로부터 상기 전송 단위에 대한 정보에 기반하여 생성된 제 2 정보를 수신하는 단계;를 포함한다. 본 발명의 실시 예에 따르면, 컨텐츠 전송 네트워크 시스템에서 서버들 간의 정보 송수신 방법 및 장치는, 상기 서버 간에 전송하고자 하는 원본 정보에 기반한 압축 정보를 생성할 수 있게 되어, 최적의 압축 효율, 상기 서버 간의 전송 효율, 통신 양단 간의 지연 시간에 대한 성능 개선 효과를 얻을 수 있다.

Description

컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING INFORMATION OF SERVERS IN CONTENT DELIVERY NETWORK SYSTEM}
본 발명은 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보를 송수신하는 방법 및 장치에 관한 것으로, 보다 구체적으로 컨텐츠 전송 네트워크에 속하는 코어 노드(core node)와 엣지 노드(edge node) 간에 정보를 송수신하는 방법 및 장치에 대한 발명이다.
컨텐츠 전송 네트워크(contents delivery network, CDN) 서비스는 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 컨텐츠를 사용자에게 안정적으로 전달하기 위한 서비스이다. 상기 컨텐츠 전송 네트워크 서비스는 통상 네트워크상에 분산 배치된 다수의 캐시 서버에 컨텐츠를 미리 저장하여 두고, 다수의 캐시 서버 중에서 최적의 캐시 서버를 선택하여, 선택된 캐시 서버를 통해 요청된 컨텐츠가 사용자의 단말로 전달하도록 구현된다.
이러한 컨텐츠 전송 네트워크는 인터넷 망을 기반으로 인터넷상에서의 데이터 손실, 병목 현상, 전송 속도 저하, 데이터 끊김과 같은 불안전성 등을 해결하도록 구현되었다. 한편, 최근 스마트폰과 같이 모바일 단말이 고성능 및 고기능화되어 가고, 통신 비용이 저렴해지면서, 모바일 단말을 통한 컨텐츠 이용이 급증하고 있으며, 이에 따라서 모바일 망에 컨텐츠 전송 네트워크의 서버를 접목시키고자 하는 시도가 이루어지고 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 보다 구체적으로 상기 코어 노드에서 상기 엣지 노드로 원본 정보를 재차 전송하는 경우, 상기 원본 정보에 대한 압축 정보를 생성하여 전송함에 있어, 상기 엣지 노드가 상기 원본 정보에 기반하여 상기 원본 정보의 전송 단위를 결정하고 이를 포함하는 압축 정보 전송 요청을 전송하는 방법을 이용하여 상기 코어 노드와 상기 엣지 노드 사이에 정보를 송수신하는 방법 및 장치를 제안하고자 한다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 컨텐츠 전송 네트워크에서 수신 서버의 정보 수신 방법은, 전송 서버로부터 제 1 정보를 수신하는 단계; 상기 수신한 제 1 정보에 기반하여, 상기 제1 정보의 전송 단위를 결정하는 단계; 상기 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 전송 서버에게 전송하는 단계; 상기 전송 서버로부터 상기 전송 단위에 대한 정보에 기반하여 생성된 제 2 정보를 수신하는 단계;를 포함한다.
또한 상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 실시 예에 따르는 컨텐츠 전송 네트워크에서 전송 서버의 정보 전송 방법은, 수신 서버에게 제 1 정보를 전송하는 단계; 상기 제 1 정보의 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하는 단계; 상기 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 상기 수신 서버에게 전송하는 단계;를 포함한다.
또한 상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 실시 예에 따르는 컨텐츠 전송 네트워크에서 정보를 수신하는 수신 서버는 상기 전송 서버와 정보를 송수신하는 통신부; 전송 서버로부터 제 1 정보를 수신하고, 상기 수신한 제 1 정보에 기반하여, 상기 제1 정보의 전송 단위를 결정하고, 상기 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 전송 서버에게 전송하고, 상기 전송 서버로부터 상기 전송 단위에 대한 정보에 기반하여 생성된 제 2 정보를 수신하는 것을 제어하는 제어부;를 포함한다.
또한 상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 실시 예에 따르는 컨텐츠 전송 네트워크에서 정보를 전송하는 전송 서버는 수신 서버와 정보를 송수신하는 통신부; 및 수신 서버에게 제 1 정보를 전송하고, 상기 제 1 정보의 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하고, 상기 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 상기 수신 서버에게 전송하는 것을 제어하는 제어부;를 포함한다.
본 발명의 실시 예에 따르면, 컨텐츠 전송 네트워크 시스템에서 서버들 간의 정보 송수신 방법 및 장치는, 상기 서버 간에 전송하고자 하는 원본 정보에 기반한 압축 정보를 생성할 수 있게 되어, 최적의 압축 효율, 상기 서버 간의 전송 효율, 통신 양단 간의 지연 시간에 대한 성능 개선 효과를 얻을 수 있다.
도 1은 컨텐츠 전송 네트워크 시스템의 구성을 나타내는 도면이다.
도 2는 컨텐츠 전송 네트워크의 코어 노드(core node)와 엣지 노드(edge node)간에 정보를 송수신하는 과정을 도시하는 도면이다.
도 3은 컨텐츠 전송 네트워크에서 각 노드 간에 정보를 송수신하는 과정을 도시하는 도면이다.
도 4는 본 발명의 실시 예에 따른 코어 노드와 엣지 노드간 전송 단위에 대한정보를 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 엣지 노드에서 정보를 수신하기 위한 동작을 도시한 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 도 5의 S510단계를 구체화한 도면이다.
도 7은 본 발명의 또 다른 실시 예에 따른 도 5의 S550단계를 구체화한 도면이다.
도 8은 본 발명의 실시 예에 따른 코어 노드에서 정보를 전송하기 위한 동작을 도시하는 도면이다.
도 9는 본 발명의 실시 예에 따른 엣지 노드의 내부 구조를 도시하는 블록도이다.
도 10은 본 발명의 실시 예에 따른 코어 노드의 내부 구조를 도시하는 블록도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 명세서에서 실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 1은 컨텐츠 전송 네트워크 시스템의 구성을 나타내는 도면이다.
보다 구체적으로, 상기 이동 통신망 중에서 LTE(long-term evolution) 통신을 기준으로 구성한 컨텐츠 전송 네트워크 시스템의 구성을 도시한 도면이다. 도 1을 참고하면, 상기 컨텐츠 전송 네트워크는 인터넷망(100), 원본 서버(105), 패킷 코어 장치(110), 스위칭 장치(115), 기지국(120), 코어 노드(130), 엣지 노드(140), 그리고 단말(150)로 구성될 수 있다. 상기 패킷 코어 장치(110)와 스위칭 장치(115)를 포괄하여 코어 망이라고 할 수 있으며, 상기 기지국 (120)과 상기 단말(150)을 포괄하여 무선 접속 망이라고 할 수 있다. 또한, 상기 코어 망과 상기 무선 접속 망을 포과하여 모바일 망이라고 할 수 있다.
상기 인터넷 망(100)은 TCP/IP(transmission control protocol/internet protocol) 규약에 따라서 정보가 교환되는 통상의 공개된 통신망으로서, 유선, 무선, 광통신 기술 중 하나 이상을 통해 구축될 수 있다. 상기 인터넷 망(100)은 소셜 네트워크 서비스, 인스턴트 메시지 서비스, 인터넷 포탈 서비스 등 다양한 서비스를 제공할 수 있다. 또한, 상기 인터넷 망(100)은 컨텐츠를 사용자에게 서비스하는 컨텐츠 제공자(content provider, CP)의 원본 서버(105)에 연결될 수 있다. 상기 원본 서버(105)에 연결된 인터넷망(100)은 상기 컨텐츠 전송 네트워크를 통하여 사용자인 단말(150)에게 정보를 제공할 수 있다.
상기 패킷 코어 장치(evolved packet core, EPC)(110)및 스위칭 장치(110)를 포괄하여 코어 망 이라고 하며, 상기 코어망은 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템이다. 상기 코어망은 다양한 기능 요소들로 구현될 수 있으나, 도 1 에서는 본 발명에 따른 정보 송수신 방법의 설명에 필요한 패킷 코어 장치(110)와 스위칭 장치(110)만을 도시한다. 상기 패킷 코어 장치(110)는 상기 코어 망 및 상기 무선 접속 망 내에서의 패킷 흐름을 관리 하며, 모바일 망과 인터넷망(100) 간의 연결을 수행한다.
상기 기지국(120) 및 단말(150)을 포함하는 무선 접속 망은 상기 모바일 망에 접속 가능한 단말(150) 장치와 무선 통신을 수행하는 접속망으로, 다수의 기지국(120)으로 구성될 수 있다.
상기 코어 노드(130)와 엣지 노드(140)는 본 발명에 따른 컨텐츠 전송 네트워크에서 정보 송수신 방법을 수행하는 주 구성요소이다. 먼저, 코어 노드(130)는 인터넷망(100)에 연결되어, 상기 모바일 망으로부터 정보 요청이 있는 경우에 정보를 전송할 수 있다. 상기 코어 노드(130)는 정보를 전송하는 서버로 동작하기 때문에, 본 발명에서는 '전송 서버'라고 할 수 있으며, 이하에서 상기 코어 노드(130)와 상기 전송 서버의 용어는 혼용해서 사용한다. 상기 코어 노드(130)는 상기 정보를 전송할 때에 상기 원본 서버(105)로부터 수신한 정보를 가공하여 상기 엣지 노드(140)로 전송할 수 있다.
상기 엣지 노드(140)는 다양한 정보 저장 방식을 통하여 상기 코어 노드(130)가 가공하여 전송한 원본 서버(105))에서 서비스되는 정보를 저장할 수 있다. 즉, 상기 엣지 노드(140)는 정보를 수신하여 저장하는 서버로 동작하기 때문에, 이하에서는 '수신 서버'라고 할 수 있으며, 이하에서 상기 엣지 노드(140)와 상기 수신 서버의 용어는 혼용해서 사용한다. 상기 엣지 노드(140)는 상기 단말(150)의 정보 요청이 있는 경우, 상기 원본 서버(105)를 대신하여 저장된 정보를 상기 단말(150)에게 제공할 수 있다.
상기 코어 노드(130)와 엣지 노드 (140)사이에서 정보를 송수신하는 방법에 있어서, 상기 정보에 대하여 가공하는 과정을 포함할 수 있다. 상기 코어 노드(130)에서 가공한 정보를 상기 엣지 노드(140)가 수신 한 후, 다시 엣지 노드(140)가 상기 가공 정보를 상기 단말(150)에게 전송할 때에 코어 노드(130)에서 가공하기 전 상태로 재가공하여야 하는 과정을 포함한다. 상기 코어 노드(130)에서는 원본 서버(105)로부터 받은 정보에 대하여 정보를 일정 단위로 분할하고, 압축하여 상기 엣지 노드(140)에게 전송한다. 상기 정보를 가공하기 위하여 분할하는 단위를 '원본 정보의 전송 단위'라 할 수 있다. 상기 정보 전송 단위는 청크(chunk) 단위를 포함할 수 있으며, 이하에서 '원본 정보의 전송 단위'와 청크(chunk)단위는 혼용하여 사용될 수 있다. 상기 엣지 노드(140)는 상기 수신한 압축된 정보에 대하여 원래의 청크 단위로 복원하여 상기 단말(150)에게 전송한다. 상기 청크 단위에 대해서는 상기 코어 노드(130)와 엣지 노드(140) 간에 미리 설정되어 있다.
도 2는 컨텐츠 전송 네트워크의 코어 노드와 엣지 노드 간에 정보를 송수신하는 과정을 도시하는 도면이다.
보다 구체적으로, 상기 코어 노드에서 엣지 노드로 정보를 전송하는 경우, 정보의 초기 전송(200)인 경우와 그 이후의 정보 전송(210), (220)인 경우에 정보 전송 방법에 대하여 도시하였다. 도 2를 참고하면, 상기 코어 노드가 어떤 정보의 초기 전송(200)의 경우에는 상기 코어 노드는 원본 서버로부터 수신한 원본 정보를 상기 엣지 노드에게 전송할 수 있다. 상기 원본 정보를 수신한 엣지 노드는 수신한 원본 정보를 미리 설정된 청크 단위로 분할하고, 압축하여 압축 정보를 생성한다. 상기 엣지 노드는 상기 청크 단위로 분할한 원본 정보 및 상기 압축 정보를 저장한다.
그 후 상기 코어 노드가 상기 전송한 정보를 두 번째 전송하는 경우(210), 상기 코어 노드는 첫 번째 경우(200)와 마찬가지로 원본 정보를 전송한다. 상기 엣지 노드는 상기 원본 정보를 수신한 후, 미리 설정된 청크 단위로 분할하여 일정 수 이상의 청크 단위가 저장된 청크 단위와 연속적으로 일치하는지 결정한다. 상기 엣지 노드는 상기 수신한 청크 단위가 상기 저장된 청크 단위와 연속적으로 일정 수 이상 일치하는 경우, 상기 코어 노드에게 압축 정보를 보내줄 것을 요청한다.
이후, 상기 코어 노드가 상기 압축 정보 요청을 수신한 경우, 상기 코어 노드는 상기 원본 서버로부터 수신한 원본 정보를 미리 설정된 청크 단위로 분할 하고, 압축하여 압축 정보를 생성하여 상기 엣지 노드에게 전송한다. 상기 엣지 노드는 상기 수신한 압축 정보를 압축 해제하여 상기 단말에게 전송한다.
도 3은 컨텐츠 전송 네트워크에서 각 노드 간에 정보를 송수신하는 과정을 도시하는 도면이다.
보다 구체적으로 상기 도 3은 상기 컨텐츠 전송 네트워크에서 상기 도 2에서 도시한 정상 모드와 압축 모드간에 변경되는 절차를 구체적으로 나타낸 도면이다. 설명의 편의를 위하여 HTTP(hypertext transfer protocol, 하이퍼텍스트 전송 규약)에 기반한 순서도를 도시하였다. S300단계에서 단말(391)은 기지국(393)에게 HTTP를 요청한다. S305단계에서 상기 기지국(393)은 패킷 코어 장치(397)를 통하여 코어 노드(399)에게 사용자 컨텐츠 요청을 전달한다. S310단계에서 상기 코어 노드(399)는 요청된 컨텐츠를 검색한다. 이 단계에서 상기 코어 노드(399)는 원본 서버에서 상기 요청된 컨텐츠를 검색하고 요청한다. S315단계에서 상기 코어 노드(399)는 상기 패킷 코어 장치(397)에게 HTTP 응답을 한다. S320단계에서 상기 패킷 코어 장치(397)는 상기 코어 노드(399)의 응답을 상기 기지국(393)을 통하여 상기 단말에게 전달한다. S325단계에서 상기 단말(391), 기지국(393), 엣지 노드(395), 상기 패킷 코어 장치(397) 및 상기 코어 노드(399) 간에 TCP(transmission control protocol) 패킷을 교환한다.
또한, S330단계에서 상기 엣지 노드(395)는 상기 단말(391)이 요청하고, 이에 응답하여 상기 코어 노드(399)가 전송하려는 정보가 상기 엣지 노드(395)에 이미 저장된 정보인지 판단한다. 즉, 이 단계에서 상기 엣지 노드(395)는 상기 S325단계에서 수신된 TCP패킷들을 미리 설정된 청크 단위로 모아서 압축 정보를 생성하고, 이것을 엣지 노드(395)에 이미 저장된 압축 정보 중에서 일치하는 것인지 있는지를 판단한다. 또는, 상기 엣지 노드(395)는 상기 원본 정보를 수신한 후, 미리 설정된 청크 단위로 분할하여 일정 수 이상의 청크 단위가 연속으로 저장된 청크 단위와 일치하는지 결정한다. 상기 엣지 노드(395)는 상기 수신한 청크 단위가 상기 저장된 청크 단위와 연속으로 일정 수 이상 일치하는지 여부를 판단할 수 있다.
상기 엣지 노드(395)가 상기 코어 노드(399)로부터 수신한 정보가 이미 엣지 노드(395)에 저장된 정보라고 판단하고, 상기 S335단계에서 상기 단말(391)로부터 TCP ACK를 수신한 경우, S340단계에서 상기 엣지 노드(395)는 상기 코어 노드(399)에게 압축 정보의 전송을 요청할 수 있다. 상기 코어 노드(399)는 S345단계에서 상기 요청된 정보에 대한 압축 정보 및 압축 정보에 대한 TCP 패킷을 생성한다. 상기 코어 노드(399)는 S350단계에서 상기 패킷 코어 장치(397)를 통하여 상기 엣지 노드(395)에게 상기 생성한 압축 정보를 전송한다. 상기 엣지 노드(395)는 상기 S355단계에서 수신한 압축 정보를 저장된 원본 청크로 변경한다. 즉, 상기 엣지 노드(395)는 압축 정보의 압축을 해제한다. 상기 엣지 노드(395)는 S360단계에서 TCP 패킷을 상기 기지국을 통하여 상기 단말에게 전송한다. 상기 단말은 S365단계에서 TCP ACK를 상기 기지국(393), 엣지 노드(395), 패킷 코어 장치(397)를 통하여 상기 코어 노드에게 전송한다. 상기 코어 노드(399)는 S370단계에서 상기 엣지 노드(395)에게 압축 정보를 전송한다. 상기 엣지 노드(395)는 S375단계에서 수신한 압축 정보에 대응하는 원본 청크가 상기 엣지 노드(395)에 미리 저장되어 있지 않다고 결정된 경우, S380단계에서 단말(391)로부터 기지국(393)을 통하여 TCP ACK를 수신할 때, S385단계에서 원본 정보를 요청한다. 상기 코어 노드(399)는 상기 원본 정보에 대한 요청에 응답하여 S390단계의 경우 상기 원본 정보를 상기 엣지 노드(395), 기지국(393)을 통하여 상기 단말(391)에게 전송하고, S395단계에서 상기 엣지 노드(395)는 상기 수신한 원본 정보를 저장한다.
상기 과정에서 상기 코어 노드(399)와 엣지 노드(395) 간에 주고 받는 정보는 원본 정보 및 원본 정보를 일정 크기의 청크 단위로 분할하고, 이 청크 단위를 일정 크기로 압축한 압축 정보이다. 이 경우, 상기 청크 단위는 원본 정보에 무관하게 동일한 크기로 상기 코어 노드(399)와 엣지 노드(395)에 미리 설정되어 있다.
이 경우, 청크 단위의 크기가 너무 작으면 압축 율이 작아져서 코어 노드와 엣지 노드 간 전송 효율이 저하되고, 청크 단위의 크기가 너무 크면 상기 코어 노드가 상기 원본 서버로부터 청크 단위의 패킷 들을 수신하는 데 걸리는 시간이 길어져서 정보를 송수신하는 양단 간의 지연 시간이 증가할 수 있다. 예를 들어, 크기가 작은 웹 페이지들에 대해서는 청크 단위까지 정보가 수신되지 않아 압축 모드가 적용되지 않는 바 전송 효율이 저하되는 문제가 있다. 또한, 대부분의 컨텐츠가 TCP 기반으로 전송되는 시스템에 있어서, 상기 청크 단위의 크기가 크면 TCP 전송의 개시 구간에서의 지연 시간의 증가가 더 크게 영향을 받는다. 이 경우, 정보의 전송 효율을 높이고 정보를 가공, 재가공하는 성능을 높이기 위한 정보 송수신 방법 및 장치가 필요하다.
도 4는 본 발명의 실시 예에 따른 코어 노드와 엣지 노드간 전송 단위에 대한정보를 도시한 도면이다.
보다 구체적으로, 상기 코어 노드에서 엣지 노드로 정보를 전송할 때에, 상기 정보를 가공하는 단위인 청크 단위의 구조를 나타낸 도면이다. 상기 코어 노드는 상기 원본 서버로부터 상기 단말이 요청한 정보를 수신하는데, 상기 정보는 컨텐츠, 패킷을 포함할 수 있으며, 본 발명에서는 혼용하여 사용될 수 있다.
또한 상기 코어 노드는 상기 원본 서버로부터 수신한 상기 정보를 상기 엣지 노드로 전송하는 바, 전송 서버로 동작하며, 본 발명에서 코어 노드와 전송 서버의 용어는 혼용하여 사용될 수 있다. 또한 상기 엣지 노드는 상기 코어 노드로부터 가공된 정보를 수신하는 바, 수신 서버로 동작하며, 본 발명에서 엣지 노드와 수신 서버의 용어는 혼용하여 사용될 수 있다.
상기 코어 노드는 정보를 전송하는 단위를 청크 단위로 분할할 수 있는 데, 종래에는 상기 청크 단위는 정적인 청크(static chunk) 구조를 가졌다. 상기 정적인 청크 구조는 고정된 청크 단위의 크기가 계속하여 사용되는 것을 의미한다. 즉 상기 청크 단위는 미리 결정되어 상기 코어 노드 및 상기 엣지 노드에 저장되어 있을 수 있다. 이 경우, 상기 코어 노드는 상기 엣지 노드로 전송하려는 정보를 상기 미리 결정된 정적인 청크 단위의 크기로 분할하고, 분할된 정보를 이용하여 압축 정보를 생성한다. 상기 압축 정보는 hash key를 포함할 수 있으며, label이라 표현될 수 있다. 이하에서는 상기 압축 정보, hash key 및 label은 혼용하여 사용될 수 있다.
그러나 상기 정적인 청크 구조를 사용하는 경우, 청크 단위의 크기가 정보의 크기에 비해 너무 작으면 압축 율이 작아져서 코드 노드와 엣지 노드 간 전송 효율이 저하되고, 청크 단위의 크기가 정보의 크기에 비해 너무 크면 상기 코어 노드가 상기 원본 서버로부터 청크 단위의 패킷 들을 수신하는 데 걸리는 시간이 길어져서 정보를 송수신하는 양단 간의 지연 시간이 증가할 수 있다. 예를 들어, 크기가 작은 웹 페이지들에 대해서는 청크 단위까지 정보가 수신되지 않아 압축 모드가 적용되지 않는 바 전송효율이 저하되는 문제가 있다. 특히 대부분의 컨텐츠가 TCP 기반으로 전송되는데, 청크 단위의 크기가 크면 TCP 전송의 개시 구간에서의 지연 시간의 증가가 더 크게 영향을 받는다. 이러한 종래 기술의 문제점을 기술하기 위하여 본 발명에서는 도 4에 도시된대로 동적인 청크(dynamic chunk)구조를 사용할 수 있다.
상기 동적인 청크 구조에서는, 청크 단위의 크기가 미리 저장된 룰셋(ruleset)에 정의된 값들을 차례대로 따라서 결정될 수 있다. 즉, 상기 코어 노드와 상기 엣지 노드에는 정적인 청크 단위의 크기가 아닌, 청크 단위의 크기로 설정이 가능한 룰셋들이 저장되어 있다. 즉, 상기 룰셋 정보들은 상기 청크 단위가 될 수 있는 후보들을 나타낼 수 있으며, 상기 결정된 룰셋은 상기 코어 노드와 상기 엣지 노드 사이에서 송수신도는 원본 정보의 전송 단위의 정보에 해당할 수 있다.
상기 룰셋은 순차적으로 청크 단위로 나누어지는 청크 단위의 크기를 의미한다. 예를 들어, 보통 IP 패킷과 청크 크기가 KB 단위인 바, 도 4 에 도시된 대로 상기 청크 단위의 크기가 룰셋 1 "2KB, 2KB, 4KB, 4KB, 8KB, 8KB"로 결정된다면, 상기 코어 노드는 상기 엣지 노드로 전송하려는 정보를 "2KB, 2KB, 4KB, 4KB, 8KB, 8KB"인 청크로 분할하여, 각 분할한 청크 단위에 대하여 압축 정보를 생성한다. 또한, 예를 들어, 상기 룰셋은 단위를 생략하여 {2,2,4,4,8,8,...}로 관리될 수 있다. 상기 엣지 노드가 여러 룰셋들 중 하나를 상기 원본 정보의 전송 단위에 대한 정보로 결정하는 것은 상기 전송하려는 정보의 종류 또는 특성에 기반할 수 있다. 상기 코어 노드에서 상기 엣지 노드로 최초로 원본 정보를 전송한 경우, 상기 엣지 노드에서 상기 원본 정보에 기반하여 상기 룰셋들 중 원본 정보를 전송하는데 사용할 룰셋을 선택하여 상기 원본 정보의 전송 단위를 결정할 수 있다. 상기 결정된 룰셋은 원본 정보의 전송 단위의 정보에 해당하며, 상기 코어 노드로 전송될 수 있다. 이후, 상기 원본 정보의 전송 단위의 정보를 수신한 코어 노드는 상기 전송 단위의 정보에 기반하여 압축 정보를 생성하여, 상기 엣지 노드에게 전송할 수 있다. 보다 구체적인 설명은 도 5 내지 도 8에서 후술한다.
도 5는 본 발명의 실시 예에 따른 엣지 노드에서 정보를 수신하기 위한 동작을 도시한 순서도이다.
보다 구체적으로, 도 5(a)는 본 발명의 일 실시예에 따른 엣지 노드에서 정보를 수신하기 위한 동작을 도시한 순서도이며, 도 5(b)는 본 발명의 다른 실시예에 따른 엣지 노드에서 정보를 수신하기 위한 동작을 도시한 순서도이다.
상기 도 5(a)에서 상기 엣지 노드는 상기 코어 노드가 전송하려는 원본 정보의 특성에 따라 상기 원본 정보의 전송 단위에 대한 정보로 하나의 룰셋을 결정할 수 있다. 상기 엣지 노드는 S500단계에서 상기 코어 노드로부터 원본 정보를 수신할 수 있다. 상기 코어 노드가 상기 단말로부터 특정 정보에 대한 요청을 수신하는 경우, 상기 코어 노드는 상기 엣지 노드에게 상기 특정 정보에 대한 원본 정보를 전송하고, 상기 엣지 노드는 상기 원본 정보를 수신할 수 있다. 상기 엣지 노드는 S510단계에서 상기 원본 정보에 기반하여 상기 원본 정보의 전송 단위를 결정할 수 있다. 상기 엣지 노드는 상기 코어 노드와 상기 엣지 노드에 미리 저장된 적어도 하나 이상의 룰셋 중에서 하나의 룰셋을 상기 원본 정보의 전송 단위로 결정할 수 있다. 상기 원본 정보의 전송 단위로 결정하는 것은 상기 원본 정보를 전송하는데 이용할 청크 단위의 크기를 결정하는 것을 포함할 수 있다. 상기 엣지 노드는 상기 원본 정보의 유형에 따라서 상기 적어도 하나 이상의 룰셋 중에서 청크 단위로 이용할 하나의 룰셋을 결정할 수 있으며, 이는 도 6에서 후술한다.
상기 엣지 노드는 S515단계에서 상기 결정된 전송 단위의 정보에 기반하여 상기 원본 정보를 저장할 수 있다. 즉 상기 결정된 룰셋에 따라 상기 원본 정보를 분할하여 저장할 수 있다. 상기 S517단계에서 상기 엣지 노드는 상기 S500단계에서 수신한 원본 정보가 이미 저장된 원본 정보와 일치하는지 결정할 수 있다. 상기 엣지 노드가 수신한 원본 정보가 이미 수신하여 저장된 원본 정보와 일치하는지 결정하는 것은 상기 결정된 청크 단위로 분할하여 일정 수 이상의 청크 단위가 이미 저장된 원본 정보의 청크 단위와 연속적으로 일치하는지 결정하는 것을 포함할 수 있다.
상기 엣지 노드는 S517단계에서 상기 S500단계에서 수신한 원본 정보가 이미 저장된 원본 정보와 일치하지 않는다고 결정한 경우, 추가적인 동작을 하지 않고 정보를 상기 원본 정보를 수신하는 동작을 종료한다. 상기 엣지 노드는 S517단계에서 상기 S500단계에서 수신되어 저장된 원본 정보가 이미 저장된 원본 정보와 일치한다고 결정한 경우, S520단계에서 상기 결정된 전송 단위에 대한 정보를 포함하는 압축 정보 전송 요청을 상기 코어 노드에게 전송할 수 있다. 즉, 상기 엣지 노드가 상기 S500단계에서 상기 코어 노드로부터 수신하여 저장한 원본 정보가 이미 저장된 원본 정보와 일치하는 경우라면, 원본 정보를 다시 수신하는 것이 아니라 압축 정보를 수신함으로써, 정보 전송에 대한 로드를 줄이기 위함이다. 상기 엣지 노드는 S530단계에서 상기 코어 노드로부터 상기 전송 단위에 기반하여 생성된 압축 정보를 수신할 수 있다. 상기 엣지 노드는 이후에 상기 수신한 압축 정보에 기반하여, 미리 저장된 원본 정보 들 중 대응하는 원본 정보를 식별하여 변환할 수 있으며, 상기 변환된 원본 정보를 단말에게 전송하기 위하여 무선 접속 망으로 전송할 수 있다. 상기 엣지 노드가 압축 정보를 수신한 이후의 과정은 상기 도 2 및 도 3에서 서술한 바에 따른다.
상기 도 5(b)에서 상기 엣지 노드는 상기 코어 노드로부터 수신한 원본 정보의 누적 양에 따라 상기 원본 정보의 전송 단위에 대한 정보로 하나의 룰셋을 결정할 수 있다. 상기 원본 정보의 누적 양이란 상기 코어 노드로부터 수신한 정보의 데이터량에 해당할 수 있다. 상기 엣지 노드는 S540단계에서 상기 코어 노드로부터 원본 정보를 수신하고, 상기 수신한 원본 정보의 누적된 데이터량을 측정할 수 있다. 상기 코어 노드가 상기 단말로부터 특정 정보에 대한 요청을 수신하는 경우, 상기 코어 노드는 상기 엣지 노드에게 요청 받은 원본 정보를 전송하고, 상기 엣지 노드는 상기 원본 정보를 수신할 수 있다.
상기 엣지 노드는 S550단계에서 상기 코어 노드가 전송한 원본 정보의 누적 데이터 양에 기반하여 상기 원본 정보의 전송 단위를 결정할 수 있다. 상기 엣지 노드는 상기 코어 노드와 상기 엣지 노드에 미리 저장된 적어도 하나 이상의 룰셋 중에서 하나의 룰셋을 상기 원본 정보의 전송 단위로 결정할 수 있다. 상기 원본 정보의 전송 단위로 결정하는 것은 상기 원본 정보를 전송하는데 이용할 청크 단위의 크기를 결정하는 것을 포함할 수 있다. 상기 엣지 노드의 동작은 도 7에서 후술한다.
상기 엣지 노드는 S555단계에서 상기 결정된 전송 단위의 정보에 기반하여 상기 원본 정보를 저장할 수 있다. 즉 상기 결정된 룰셋에 따라 상기 원본 정보를 분할하여 저장할 수 있다. 상기 S557단계에서 상기 엣지 노드는 상기 S540단계에서 수신하여 저장된 원본 정보가 이미 저장된 원본 정보와 일치하는지 결정할 수 있다. 상기 엣지 노드가 수신한 원본 정보가 이미 수신하여 저장된 원본 정보와 일치하는지 결정하는 것은 상기 S555단계에서 결정된 청크 단위로 분할하여 저장된 일정 수 이상의 청크 단위가 저장된 원본 정보의 청크 단위와 연속 적으로 일치하는지 결정하는 것을 포함할 수 있다.
상기 엣지 노드는 S557단계에서 상기 S540단계에서 수신한 원본 정보가 이미 저장된 원본 정보와 일치하지 않는다고 결정한 경우, 추가적인 동작을 하지 않고 정보를 상기 원본 정보를 수신하는 동작을 종료한다. 상기 엣지 노드는 S557단계에서 상기 S540단계에서 수신한 원본 정보가 이미 저장된 원본 정보와 일치한다고 결정한 경우, S560단계에서 상기 결정된 전송 단위에 대한 정보를 포함하는 압축 정보 전송 요청을 상기 코어 노드에게 전송할 수 있다. 즉, 상기 엣지 노드가 상기 S540단계에서 상기 코어 노드로부터 수신한 원본 정보가 이미 저장된 원본 정보와 일치하는 경우라면, 원본 정보를 다시 수신하는 것이 아니라 압축 정보를 수신함으로써, 정보 전송에 대한 로드를 줄이기 위함이다. 상기 엣지 노드는 S570단계에서 상기 코어 노드로부터 상기 전송 단위에 기반하여 생성된 압축 정보를 수신할 수 있다. 상기 엣지 노드는 이후에 상기 수신한 압축 정보에 기반하여, 미리 저장된 원본 정보들 중 대응하는 원본 정보를 식별하여 변환할 수 있으며, 상기 변환된 원본 정보를 단말에게 전송하기 이하여 무선 접속 망으로 전송할 수 있다. 압축 정보를 수신한 이후의 과정은 상기 도 2 및 도 3에서 서술한 바에 따른다.
그 후, 상기 엣지 노드는 다시 S540 단계로 복귀하여, 상기 코어 노드로부터 원본 정보를 수신하고, 수신한 원본 정보의 데이터량을 측정할 수 있다. 상기 엣지 노드는 S550단계에서 상기 엣지 노드가 수신한 원본 정보의 누적 데이터 양에 기반하여 상기 원본 정보의 전송 단위를 다시 결정할 수 있다. 만약, 이 때 이전에 결정된 정보의 전송 단위와 상이한 경우, 이전 전송 단위를 상기 다시 결정된 정보의 전송 단위로 변경하는 동작을 포함할 수 있다. 상기 엣지 노드는 상기 코어 노드로 기 수신한 원본 정보와 동일한 원본 정보를 재차 수신 하는 경우, 일률적으로 생성된 압축 정보가 아닌 실시간으로 수신한 원본 정보의 데이터량에 기반한 압축 정보를 전송하도록 상기 코어 노드에게 요청함으로써, 데이터 전송 효율 개선 효과를 얻을 수 있다. 즉, 예를 들어, TCP 패킷을 전송할 때에, 초기 전송인 경우에는 TCP slow start 구간에서의 지연 시간의 증가를 방지하기 위하여 상대적으로 작은 청크 단위로 구성된 룰셋에 기반하여 압축 정보를 생성하도록 요청할 수 있다. 이후, 전송 패킷이 증가한 경우, 축적된 정보의 양이 증가함에 따라 상기 slow start 구간을 벗어나게 되므로, 청크 단위를 증가시켜 압축 정보를 생성하는데 있어 압축률을 증가시키도록 요청함으로써 적절하게 정보 전송의 효율을 증대시킬 수 있다. 그 후, 동작은 상기 설명한 바에 따른다.
도 6은 본 발명의 일 실시 예에 따른 도 5의 S510단계를 구체화한 도면이다.
보다 구체적으로, 상기 엣지 노드는 S610단계에서 상기 수신한 원본 정보의 유형을 결정할 수 있다. 상기 원본 정보의 유형은, 보다 구체적으로, 상기 원본 정보를 구성하는 최소 단위의 파일의 크기에 따라 결정될 수 있다. 예를 들어, 상기 수신한 원본 정보가 HTTP(hypertext transfer protocol)을 이용한 web 페이지에 대한 정보인지, HTTP를 이용한 스트리밍(streaming) 정보인지, FTP(file transfer protocol)를 이용한 정보인지에 따라서 상기 원본 정보의 유형을 결정할 수 있다.
상기 엣지 노드는 S610단계에서 결정한 바에 따라서, S620, S630, S640단계로 진행하여 룰셋을 결정할 수 있다. 예를 들어, 상기 원본 정보가 HTTP를 이용한 web 페이지에 대한 정보인 경우 S620단계로 진행하여 상기 원본 정보의 전송 단위를 설정 1로 결정한다면, 상기 web페이지는 상대적으로 작은 데이터 크기를 가지고 있는 바, 룰셋은 {2,2,4,4,4,8,8,...}인 상대적으로 작은 청크 단위로 결정될 수 있다. 즉 작은 데이터 크기를 가지고 있는 web페이지를 분할하여 압축 정보를 생성하는 것에 있어서, 상기한 바와 달리 고정된 더 큰 크기의 청크 단위로 분할하여 압축 정보를 생성하는 경우에, 미리 결정된 청크 단위만큼 정보가 수신되지 않은 경우, 압축 모드가 적용되지 않아 전송 효율이 저하되는 문제를 방지하기 위함이다.
또 다른 예로써, 상기 코어 노드가 상기 원본 정보가 HTTP를 이용한 스트리밍 정보를 전송하는 경우, 즉 동영상 등의 정보를 전송하는 경우에는, 동영상 정보는 일반적으로 그 데이터 양이 큰 정보이지만, 스트리밍 방식으로 정보를 전송하기 때문에 작은 크기의 여러 데이터로 구성되어 있다. 따라서, 전체 데이터 크기는 크지만, 구성하고 있는 정보의 크기는 작기 때문에 상대적으로 작은 크기의 청크 단위로 구성된 룰셋인 설정2로 정보 전송의 단위가 결정될 수 있다.
또 다른 예로써, 상기 원본 정보가 FTP를 이용한 정보를 전송하는 경우, 상대적으로 HTTP 보다 큰 크기의 정보이기 때문에 상기 엣지 노드는 상대적으로 큰 청크 단위로 구성된 설정 3으로 상기 정보의 전송 단위가 결정할 수 있다. 그 밖에 상기 엣지 노드가 상기 수신한 원본 정보를 감지하여 정보의 유형을 구분하는 방법과 상기 정보의 유형에 기반하여 정보의 전송 단위를 결정하는 방법은 통상적인 DPI(deep packet instpection) 동작과 캐쉬(cache) 동작을 따를 수 있다.
이상에서는, 도 6(a)와 도 6(b)로 실시예를 나누어서, 엣지 노드의 정보 수신 방법을 도시하였다. 그러나 이는 본 발명의 목적을 달성하기 위한 실시예들에 해당하며, 상기 도 6(a)와 도 6(b)의 방법을 병합하여 사용할 수 있다. 즉, 예를 들면, 상기 엣지 노드는 먼저 상기 코어 노드가 전송하려는 원본 정보의 특성에 따라 전송 단위를 결정하되, 실시간으로 상기 수신한 원본 정보의 데이터량을 측정하여, 상기 데이터 량에 기반하여 상기 전송 단위에 대한 정보, 즉 룰셋을 갱신하여, 갱신된 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 상기 코어 노드에게 전송할 수 있다. 또한 상기 서술한 방법은 본 발명의 목적을 달성하기 위한 일 실시예에 해당할 수 있으며, 통상의 기술자가 응용할 수 있는 방법을 더 포함할 수 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 도 5의 S550단계를 구체화한 도면이다.
보다 구체적으로, 상기 엣지 노드는 S700단계에서 상기 S540단계에서 수신한 원본 정보의 축적된 데이터 양이 어느 범위에 해당하는 것인지 결정한다. 상기 도 7은 상기 엣지 노드가 동작할 수 있는 일 실시예를 나타낸 것이며, 예를 들어, 상기 데이터 양을 x라고 했을 때, 0<x<1MB, 1MB<x<2MB, 2MB<x<10MB 중 어느 범위에 속하는지 결정할 수 있다. 상기 결정된 축적된 데이터 양에 따라, S710단계, S720단계, S730단계로 진행하여, 설정1, 2, 3에 따른 룰셋을 전송 단위로 결정할 수 있다.
즉, 상기 엣지 노드는 실시간으로 수신하여 축적된 데이터 양에 따라 정보의 전송 단위를 결정할 수 있으며, 실시간으로 상기 정보의 전송 단위의 정보를 업데이트 하여 상기 코어 노드로 전송할 수 있다. 상기 엣지 노드는 전송된 데이터 량이 기준 값을 초과하거나 경과 시간이 미리 결정된 임계 값을 초과하게 되면, 전송 효율 증대를 위해 정보의 전송 단위의 정보를 갱신할 수 있다.
상기 축적된 데이터 양에 따라 적합한 룰셋을 결정하는 것에 있어서, TCP 패킷을 수신할 때에, 초기 전송인 0<x<1MB인 경우에는 TCP slow start 구간에서의 지연 시간의 증가를 방지하기 위하여 상대적으로 작은 청크 단위로 구성된 설정 1의 룰셋을 선택할 수 있다. 또한, 축적된 정보 양이 1MB<x<2MB, 2MB<x<10MB의 범위가 될수록 축적된 정보의 양이 증가함에 따라 상기 slow start 구간을 벗어나게 되므로, 청크 단위를 증가 시켜 압축율을 증가 시킴으로써 적절하게 정보 전송의 효율성을 증대시킬 수 있다. 만약, 축적된 정보 양이 상기 범위를 벗어나게 되는 경우에는, 마지막으로 결정된 정보 전송 단위로 결정할 수 있다.
상기 도 7과 같은 방법으로 정보의 전송 단위를 결정할 때에, 실시간으로 정보의 전송 단위를 업데이트 하고, 업데이트 한 정보의 전송 단위를 포함한 압축 정보의 전송 요청을 상기 코어 노드에게 전송할 수 있음은 상기 도 5의 S570단계에서 서술하였다. 이와 같이 실시간 업데이트 방법을 이용하는 경우에, 상기 코어 노드와 엣지 노드가 동일한 청크 단위의 크기, 즉 정보의 전송 단위를 상기 S570단계에서의 방법으로 공유하는 것으로, 시간적 차이나 어떤 오류에 의해 청크 단위가 어긋나는 것을 방지할 수 있다. 즉, 상기 엣지 노드는 상기 코어 노드에게 압축 정보 전송 요청 메시지를 전송하면서 상기 정보의 전송 단위에 대한 정보를 포함시켜 전송 하는 동작을 할 수 있다. 만약, 상기 엣지 노드가 상기 압축 정보 전송 요청 메시지에 포함시켜 전송한 전송 단위와 상기 코어 노드가 알고 있는 전송 단위가 다르면, 상기 코어 노드는 실시간으로 상기 엣지 노드가 요청한 전송 단위, 즉 청크 단위의 크기를 적용하여 압축 정보를 생성하여 전송하면 되므로, 상기 엣지 노드와 상기 코어 노드 간에 전송 단위의 불일치로 인한 오류를 방지할 수 있다.
도 8은 본 발명의 실시 예에 따른 코어 노드에서 정보를 전송하기 위한 동작을도시하는 도면이다.
보다 구체적으로 도 8(a)는 본 발명의 일 실시예에 대한 코어 노드에서 원본 정보를 가공하여 압축 정보를 생성하고 엣지 노드에게 전송하기 위한 방법을 도시하는 도면이며, 상기 도 5(a)의 엣지 노드의 동작에 대응하는 방법이다.
상기 코어 노드는 S800단계에서 엣지 노드에게 원본 정보를 전송할 수 있다. 상기 코어 노드는 상기 코어 노드가 속하는 네트워크 상의 단말로부터 특정의 정보를 전송할 것을 요청 받은 경우, 상기 엣지 노드에게 원본 정보를 전송할 수 있다. 상기 특정의 정보는 컨텐츠에 해당할 수 있으며, 요청된 컨텐츠를 상기 코어 노드가 속하는 네트워크가 상의 원본 서버에 요청하여 상기 원본 서버로부터 수신할 수 있다.
코어 노드는 S810단계에서 상기 엣지 노드로부터 상기 원본 정보의 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 수신할 수 있다. 상기 전송 단위를 결정하고 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 전송하는 엣지 노드에 대한 동작은 상기 도 5(a)에 따른다. 즉, 상기 엣지 노드는 상기 코어 노드가 전송하려는 원본 정보의 특성에 따라 상기 원본 정보의 전송 단위에 대한 정보로 하나의 룰셋을 결정할 수 있다. 상기 엣지 노드는 상기 결정한 하나의 룰셋, 즉 전송 단위에 대한 정보를 상기 엣지 노드에게 전송할 수 있다.
상기 코어 노드는 S820단계에서 상기 엣지 노드로부터 수신한 전송 단위에 대한 정보에 기반하여 압축 정보를 생성하여 수신 서버에게 전송할 수 있다. 상기 엣지 노드로부터 수신한 전송 단위에 대한 정보는, 상기 압축 정보를 생성하기 위하여 상기 원본 정보를 분할하는데 사용될 수 있다. 즉 상기 전송 단위에 대한 정보는, 상기 코어 노드와 상기 엣지 노드 사이에 미리 결정된 적어도 하나 이상의 룰셋 중 하나의 룰셋에 해당하며, 이는 상기 원본 정보를 분할하는 청크 단위에 대한 정보를 포함할 수 있다. 즉, 상기 코어 노드는 상기 엣지 노드로부터 상기 압축 정보 전송 요청을 수신한 경우, 상기 전송 단위에 대한 정보에 기반하여 상기 원본 정보를 분할할 수 있다. 예를 들어, 상기 전송 단위에 대한 정보, 즉 룰셋이 {2,2,4,4,8,8,...}라면, 상기 코어 노드는 상기 원본 정보를 "2KB, 2KB, 4KB, 4KB, 8KB, 8KB,..."의 청크 단위로 분할할 수 있다. 상기 코어 노드는 상기 청크 단위로 분할한 원본 정보를 압축 방식에 맞게 압축하여 압축 정보를 생성한다. 상기 압축 방식은 통상적인 캐쉬(cache)동작을 따르며, 본 발명의 범위가 아닌 바, 여기서는 다루지 않는다. 상기 생성된 압축 정보는 해쉬 키(hash key)라고 할 수 있으며, 이는 라벨(label)을 포함할 수 있다. 본 발명에서는 압축정보, 해쉬 키 및 라벨은 혼용하여 사용될 수 있다. 또한 상기 해쉬 키 또는 라벨은 통상적으로 압축 정보를 나타내는 것에 해당하며, 본 발명의 목적을 이루기 위하여 통상의 기술자가 이용할 수 있는 또 다른 정보를 포함할 수 있다.
상기 코어 노드는 상기 생성한 압축 정보를 상기 엣지 노드에게 전송할 수 있다. 즉, 상기 코어 노드는 상기 엣지 노드로부터 전송 받은 압축 정보 전송 요청에 응답하여, 상기 압축 정보, 해쉬 키, 또는 라벨을 상기 엣지 노드에게 전송할 수 있다. 이 같은 방법을 이용하여, 상기 코어 노드는 상기 엣지 노드로 기 전송한 원본 정보와 동일한 원본 정보를 재차 전송 하는 경우, 일률적으로 생성된 압축 정보가 아닌 원본 정보의 특성에 기반한 압축 정보를 전송함으로써, 최적의 압축 효율 및 성능 개선의 효과를 얻을 수 있다.
한편, 도 8(b)는 본 발명의 다른 실시예에 대한 코어 노드에서 원본 정보를 가공하여 압축 정보를 생성하고 엣지 노드에게 전송하기 위한 방법을 도시하는 도면이며, 이는, 상기 도 5(b)의 엣지 노드의 동작에 대응되는 방법이다.
상기 코어 노드는 S830단계에서 엣지 노드에게 원본 정보를 전송할 수 있다. 상기 코어 노드는 상기 코어 노드가 속하는 네트워크 상의 단말로부터 특정의 정보를 전송할 것을 요청 받은 경우, 상기 엣지 노드에게 원본 정보를 전송할 수 있다. 상기 특정의 정보는 컨텐츠에 해당할 수 있으며, 요청된 컨텐츠를 상기 코어 노드가 속하는 네트워크가 상의 원본 서버에 요청하여 상기 원본 서버로부터 수신할 수 있다.
상기 코어 노드는 S840단계에서 상기 엣지 노드로부터 상기 원본 정보의 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 수신할 수 있다. 상기 전송 단위를 결정하고 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 전송하는 엣지 노드에 대한 동작은 상기 도 5(b)에 따른다. 즉, 상기 엣지 노드는 상기 코어 노드가 전송한 원본 정보의 축적된 데이터량에 따라 상기 원본 정보의 전송 단위에 대한 정보로 하나의 룰셋을 결정할 수 있다. 상기 엣지 노드는 상기 결정한 하나의 룰셋, 즉 전송 단위에 대한 정보를 상기 코어 노드에게 전송할 수 있다.
상기 코어 노드는 S850단계에서 상기 엣지 노드로부터 수신한 전송 단위에 대한 정보에 기반하여 압축 정보를 생성하여 상기 엣지 노드에게 전송할 수 있다. 상기 엣지 노드로부터 수신한 전송 단위에 대한 정보는, 상기 압축 정보를 생성하기 위하여 상기 원본 정보를 분할하는데 사용될 수 있다. 즉 상기 전송 단위에 대한 정보는, 상기 코어 노드와 상기 엣지 노드 사이에 미리 결정된 적어도 하나 이상의 룰셋 중 하나의 룰셋에 해당하며, 이는 상기 원본 정보를 분할하는 청크 단위의 크기에 대한 정보를 포함할 수 있다. 즉, 상기 코어 노드는 상기 엣지 노드로부터 상기 압축 정보 전송 요청을 수신한 경우, 상기 전송 단위에 대한 정보에 기반하여 상기 원본 정보를 분할할 수 있다. 예를 들어, 상기 전송 단위에 대한 정보, 즉 룰셋이 {2,2,4,4,8,8,...}라면, 상기 코어 노드는 상기 원본 정보를 "2KB, 2KB, 4KB, 4KB, 8KB, 8KB,… "의 청크 단위로 분할할 수 있다. 상기 코어 노드는 상기 청크 단위로 분할한 원본 정보를 압축 방식에 맞게 압축하여 압축 정보를 생성한다. 상기 압축 방식은 통상적인 캐쉬(cache)동작을 따르며, 본 발명의 범위가 아닌 바, 여기서는 다루지 않는다.
상기 생성된 압축 정보는 해쉬 키(hash key)라고 할 수 있으며, 이는 라벨(label)을 포함할 수 있다. 본 발명에서는 압축정보, 해쉬 키 및 라벨은 혼용하여 사용될 수 있다. 또한 상기 해쉬 키 또는 라벨은 통상적으로 압축 정보를 나타내는 것에 해당하며, 본 발명의 목적을 이루기 위하여 통상의 기술자가 이용할 수 있는 또 다른 정보를 포함할 수 있다.
이후, 상기 코어 노드는 S830단계로 복귀하여, 상기 엣지 노드에게 원본 정보를 전송할 수 있다. 상기 코어 노드는 S840단계에서 상기 엣지 노드로부터 상기 원본 정보의 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 수신할 수 있다. 상기 전송 단위를 결정하고 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 전송하는 엣지 노드에 대한 동작은 상기 도 5(b)에 따른다. 즉, 상기 엣지 노드는 상기 코어 노드가 전송한 원본 정보의 축적된 데이터량을 실시간으로 측정하고, 상기 변경된 축적된 데이터량에 기반하여 상기 원본 정보의 전송 단위에 대한 정보로 하나의 룰셋을 다시 결정할 수 있다. 만약, 이 때 이전에 결정된 정보의 전송 단위와 상이한 경우, 이전 전송 단위를 상기 다시 결정된 정보의 전송 단위로 변경하는 동작을 포함할 수 있다. 상기 엣지 노드는 상기 결정한 하나의 룰셋, 즉 전송 단위에 대한 정보를 상기 코어 노드에게 전송할 수 있다.
상기 코어 노드는 S850단계에서 상기 엣지 노드로부터 수신한 전송 단위에 대한 정보에 기반하여 압축 정보를 생성하여 상기 엣지 노드에게 전송할 수 있다. 그 후, 동작은 상기 설명한 바에 따른다. 이 같은 방법을 이용하여, 상기 코어 노드는 상기 엣지 노드로 기 전송한 원본 정보와 동일한 원본 정보를 재차 전송 하는 경우, 일률적으로 생성된 압축 정보가 아닌 실시간으로 수신한 원본 정보의 데이터량에 기반한 압축 정보를 전송함으로써, 데이터 전송 효율 개선 효과를 얻을 수 있다. 즉, 예를 들어, TCP 패킷을 전송할 때에, 초기 전송인 경우에는 TCP slow start 구간에서의 지연 시간의 증가를 방지하기 위하여 상대적으로 작은 청크 단위로 구성된 룰셋에 기반하여 압축 정보를 생성할 수 있다. 이후, 전송 패킷이 증가한 경우, 축적된 정보의 양이 증가함에 따라 상기 slow start 구간을 벗어나게 되므로, 청크 단위의 크기를 증가시켜 압축 정보를 생성하는데 있어 압축률을 증가시킴으로써 적절하게 정보 전송의 효율을 증대시킬 수 있다.
이상에서는, 도 6(a)와 도 6(b)로 실시예를 나누어서, 상기 코어 노드의 정보전송 방법을 설명하였다. 그러나 이는 본 발명의 목적을 달성하기 위한 실시예에 해당하며, 상기 도 8(a)와 도 8(b)의 방법을 병합하여 사용할 수 있다. 즉, 예를 들면, 상기 코어 노드는 먼저 상기 엣지 노드로부터 수신한, 원본 정보의 특성에 기반하여 결장한 원본 정보의 전송 단위에 기반하여 압축 정보를 생성, 실시간으로 갱신된 전송 단위에 대한 정보를 포함한 압축 정보 전송 요청을 상기 엣지 노드로부터 수신하여, 갱신된 전송 단위에 대한 정보에 기반하여 압축 정보를 생성하여 상기 엣지 노드에게 전송할 수 있다. 또한 상기 서술한 방법은 본 발명의 목적을 달성하기 위한 일 실시예에 해당할 수 있으며, 통상의 기술자가 응용할 수 있는 방법을 더 포함할 수 있다.
도 9는 본 발명의 실시 예에 따른 엣지 노드의 내부 구조를 도시하는 블록도이다.
도 9와 같이, 상기 엣지 노드(140)는 통신부(900), 저장부 (910), 제어부(920)를 포함할 수 있고, 상기 제어부(920)는 전송 단위 결정부(925)를 더 포함할 수 있다.
상기 통신부(900)는 상기 코어 노드(130) 및 무선 접속 망의 기지국(120)과 연결되어 필요한 정보를 송수신할 수 있다. 상기 통신부(900)는 상기 코어 노드 (130) 및 상기 기지국(120)과 정보를 송수신하는 데 있어서, 패킷 코어 장치(110) 및 스위칭 장치(115)를 이용할 수 있다. 상기 통신부(900)는 상기 코어 노드(130)로부터 원본 정보를 수신할 수 있다. 상기 통신부(900)는 상기 수신한 원본 정보를 상기 저장부(910)로 전송하여 저장하도록 할 수 있다. 상기 통신부(900)는 상기 저장된 원본 정보에 기반하여 결정된 상기 원본 정보의 전송 단위에 대한 정보를 포함하는 압축 정보 전송 요청을 상기 코어 노드(130)에게 전송할 수 있다. 상기 통신부(900)는 상기 코어 노드(130)로부터 상기 압축 정보 전송 요청에 기반하여 생성된 압축 정보를 수신할 수 있다. 상기 통신부(900)는 상기 수신한 압축 정보에 대응하는 원본 정보를 상기 무선 접속 망의 기지국(120)에게 전송할 수 있다.
상기 저장부(910)는 상기 엣지 노드(130)의 정보 수신 동작을 하는 것에 필요한 정보를 저장할 수 이다. 상기 저장부(910)는 상기 코어 노드(130)으로부터 수신한 원본 정보를 저장할 수 있다. 또한 상기 저장부(910)는 상기 제어부(920)가 결정한 상기 원본 정보의 전송 단위에 대한 정보, 즉 결정된 룰셋을 저장할 수 있다. 상기 저장부(910)는 상기 코어 노드(130)로부터 수신한 압축 정보를 저장할 수 있다. 상기 저장부(910)는 상기 저장한 정보들을 상기 제어부(920)가 동작하는데 이용할 수 있도록 상기 제어부(920)에게 전송할 수 있다. 또한 상기 저장부(910)는 상기 저장한 정보들을 상기 본원 발명의 네트워크 상에서의 다른 장치, 예를 들어, 코어 노드(130), 기지국(120) 등으로 전송하도록 하기 위하여, 상기 통신부(900)에게 전송할 수 있다.
상기 제어부(920)는 상기 엣지 노드(130)가 수행하는 동작에 대한 제어를 할 수 있다. 보다 구체적으로, 상기 제어부(920)는 상기 원본 정보의 전송 단위를 결정하는 전송 단위 결정부(925)를 더 포함할 수 있다. 상기 제어부(920)는 전송 서버로부터 제 1 정보를 수신하고, 상기 수신한 제 1 정보에 기반하여, 상기 제1 정보의 전송 단위를 결정하고, 상기 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 전송 서버에게 전송하고, 상기 전송 서버로부터 상기 전송 단위에 기반하여 생성된 제 2 정보를 수신하는 것을 제어할 수 있다. 또한 상기 전송 단위 결정부(925)는 상기 수신한 제 1 정보에 기반하여, 상기 제1 정보의 전송 단위를 결정하는 것을 제어할 수 있다.
또한, 상기 전송 단위 결정부(925)는 상기 제 1정보의 전송 단위를 결정하는 경우, 상기 제 1 정보의 유형에 기반하여 결정할 수 있으며, 또는 일정 기간 동안 수신한 제 1 정보의 양에 기반하여 결정할 수 있다. 상기 제 1 정보의 유형은 상기 제 1정보를 구성하는 최소 단위 파일의 크기에 기반하는 것을 포함할 수 있다. 또한 상기 전송 단위 결정부(925)는 상기 전송 단위에 대한 정보를 복수 개 결정할 수 있다. 또한, 상기 전송 단위 결정부(925)는 상기 일정 기간 동안 수신한 제 1 정보의 양에 기반하여 전송 단위를 결정하는 경우, 미리 정해진 기준에 따라 상기 전송 단위를 변경하여 결정할 수 있다.
또한, 상기 제어부(920)는 상기 수신한 제 1 정보의 양에 기반하여 결정된 전송 단위가 변경된 경우, 상기 전송 서버에게 상기 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 전송하는 것을 더 제어할 수 있다. 상기 제어부(920)는 제 2 정보 전송 요청을 상기 전송 서버에게 전송할 때, 상기 전송 단위 결정부(925)가 복수 개의 전송 단위를 결정한 경우, 복수 개 각각에 상응하는 적어도 2 이상의 제 2 정보 전송 요청을 전송하는 것을 제어하는 것을 포함할 수 있다. 또한, 상기 제어부(920)는 상기 전송 단위 결정부(925)가 수행하는 모든 동작을 포함하여 수행할 수 이다.
도 10은 본 발명의 실시 예에 따른 코어 노드의 내부 구조를 도시하는 블록도이다.
도 10과 같이, 상기 코어 노드(130)는 통신부(1000), 저장부 (1010), 제어부(1020)를 포함할 수 있고, 상기 제어부(1020)는 전송 단위 정보 획득부(1024) 및 압축 정보 생성부(1026)를 더 포함할 수 있다.
상기 통신부(1000)는 상기 엣지 노드 (140) 또는 원본 서버(105)와 연결되어 필요한 정보를 송수신할 수 있다. 상기 통신부(1000)는 상기 엣지 노드(140) 및 상기 원본 서버(105)와 정보를 송수신하는데 있어서, 인터넷 망 (100) 또는 패킷 코어 장치(110)를 이용할 수 있다. 상기 통신부(1000)는 상기 무선 접속 망의 단말(150)로부터 요청 받은 원본 정보에 대하여 상기 원본 서버(105) 로부터 수신 받고, 상기 엣지 노드(140)에게 전송할 수 있다. 또한 상기 통신부(1000)는 상기 엣지 노드 (140)로부터 상기 원본 정보의 전송 단위에 대한 정보를 포함하는 압축 정보 전송 요청을 수신할 수 있다.
또한, 상기 통신부(1000)는 상기 수신한 압축 정보 전송 요청을 상기 저장부(1010)에 저장하도록 전송할 수 있다. 또한, 상기 통신부(1000)는 상기 수신한 압축 정보 전송 요청을 상기 제어부(1020)가 동작하는데 이용할 수 있도록 상기 제어부(1020)에게 전송할 수 있다. 또한 상기 통신부(1000)는 상기 제어부(1020)로부터 수신한 압축 정보를 상기 엣지 노드(140)에게 전송할 수 있다.
또한 상기 저장부(1010)는 상기 원본 서버(105)로부터 수신한 원본 정보를 저장할 수 있다. 또한 상기 저장부(1010)는 상기 제어부(1020)가 압축 정보를 생성하는데 이용할 수 있도록 상기 통신부(1000)로부터 수신하여 저장한 압축 정보 전송 요청을 상기 제어부(1020)에게 전송할 수 있다. 또한, 상기 저장부(1010)는 상기 제어부(1020)가 생성한 압축 정보를 저장할 수 있다. 상기 저장부(1010)는 상기 저장한 압축 정보를 상기 통신부(1000)가 상기 엣지 노드(140)로 전송할 수 있도록 상기 통신부(1000)에게 전송할 수 있다.
상기 제어부(1020)는 수신 서버에게 제 1 정보를 전송하고, 상기 제 1 정보의 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하고, 상기 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 상기 수신 서버에게 전송하는 것을 제어할 수 있다. 또한, 제어부(1020)에 포함된 전송 단위 정보 획득부(1024)는 상기 수신 서버로부터 수신한 제2정보 전송 요청에서 상기 전송 단위에 대한 정보를 추출하여 획득할 수 있다. 또한, 상기 전송 단위 정보 획득부(1024)는 상기 수신 서버로부터 상기 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 수신하는 경우, 상기 제 2 정보 전송 요청에서 상기 변경된 전송 단위에 대한 정보를 추출하여 획득할 수 있다. 또한, 상기 전송 단위 정보 획득부(1024)는 상기 제 2 정보 전송 요청이 적어도 2 이상인 경우, 이에 대응하는 적어도 2 이상의 전송 단위에 대한 정보를 추출하여 획득할 수 있다.
또한, 상기 제어부(1020)에 포함된 압축 정보 생성부(1026)는 상기 전송 단위 정보 획득부(1024)가 획득한 상기 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성할 수 있다. 상기 압축 정보 생성부(1026)는 상기 제 1 정보를 상기 전송 단위에 대한 정보 기반하여 분할하고 압축하여 생성할 수 있다. 또한, 상기 압축 정보 생성부(1026)는 상기 수신 서버로부터 상기 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 수신하는 경우, 상기 변경된 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성할 수 있다. 또한, 상기 제어부(1020)은 상기 전송 단위 정보 획득부(1024) 및 압축 정보 생성부(1026)가 수행하는 동작을 모두 수행할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (32)

  1. 컨텐츠 전송 네트워크에서 수신 서버의 정보 수신 방법에 있어서,
    전송 서버로부터 제 1 정보를 수신하는 단계;
    상기 수신한 제 1 정보에 기반하여, 상기 제 1 정보의 전송 단위를 결정하는 단계;
    상기 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 전송 서버에게 전송하는 단계; 및
    상기 전송 서버로부터 상기 전송 단위에 대한 정보에 기반하여 생성된 제 2 정보를 수신하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 전송 단위는,
    상기 제 1 정보의 유형에 기반하여 결정되는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 정보를 구별하는 유형은,
    상기 제 1 정보를 구성하는 최소 단위 파일의 크기에 기반하여 결정되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 전송 단위를 결정하는 것은,
    일정 기간 동안 수신한 제 1 정보의 양에 기반하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 수신한 제 1 정보의 양에 기반하여 결정된 전송 단위가 변경된 경우, 상기 전송 서버에게 상기 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 전송하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 전송 단위에 대한 정보는,
    복수 개이며,
    제 2 정보 전송 요청을 상기 전송 서버에게 전송하는 단계는 상기 복수 개 각각에 상응하는 적어도 2 이상의 제 2 정보 전송 요청을 전송하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 제 2 정보는,
    상기 제 1 정보를 상기 전송 단위에 대한 정보에 기반하여 분할하고 압축하여 생성되는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 전송 단위는,
    청크(chunk)인 것을 특징으로 하는 방법.
  9. 컨텐츠 전송 네트워크에서 전송 서버의 정보 전송 방법에 있어서,
    수신 서버에게 제 1 정보를 전송하는 단계;
    상기 제 1 정보의 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하는 단계; 및
    상기 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 상기 수신 서버에게 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 전송 단위는,
    상기 제 1 정보의 유형에 기반하여 결정되는 것을 특징으로 하는 방법.
  11. 제10항에 있어서, 상기 정보를 구별하는 유형은,
    상기 제 1 정보를 구성하는 최소 단위 파일의 크기에 기반하여 결정되는 것을 특징으로 하는 방법.
  12. 제9항에 있어서, 상기 전송 단위를 결정하는 것은,
    일정 기간 동안 수신한 제 1 정보의 양에 기반하는 것을 특징으로 하는 방법.
  13. 제9항에 있어서,
    상기 수신 서버로부터 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 수신하는 경우, 상기 변경된 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 전송하는 단계를 더 포함하는 방법.
  14. 제9항에 있어서, 상기 전송 단위에 대한 정보는,
    복수 개이며,
    상기 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하는 단계는 상기 복수 개 각각에 상응하는 적어도 2 이상의 제 2 정보 전송 요청을 수신하는 것을 특징으로 하는 방법.
  15. 제9항에 있어서, 상기 제 2 정보는,
    상기 제 1 정보를 상기 전송 단위에 대한 정보에 기반하여 분할하고 압축하여 생성되는 것을 특징으로 하는 방법.
  16. 제9항에 있어서, 상기 전송 단위는,
    청크(chunk)인 것을 특징으로 하는 방법.
  17. 컨텐츠 전송 네트워크에서 정보를 수신하는 수신 서버에 있어서,
    상기 전송 서버와 정보를 송수신하는 통신부; 및
    전송 서버로부터 제 1 정보를 수신하고, 상기 수신한 제 1 정보에 기반하여, 상기 제 1 정보의 전송 단위를 결정하고, 상기 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 전송 서버에게 전송하고, 상기 전송 서버로부터 상기 전송 단위에 대한 정보에 기반하여 생성된 제 2 정보를 수신하는 것을 제어하는 제어부;를 포함하는 것을 특징으로 하는 수신 서버.
  18. 제17항에 있어서, 상기 전송 단위는,
    상기 제 1 정보의 유형에 기반하여 결정되는 것을 특징으로 하는 수신 서버.
  19. 제18항에 있어서, 상기 정보를 구별하는 유형은,
    상기 제 1 정보를 구성하는 최소 단위 파일의 크기에 기반하여 결정되는 것을 특징으로 하는 수신 서버.
  20. 제17항에 있어서, 상기 전송 단위를 결정하는 것은,
    일정 기간 동안 수신한 제 1 정보의 양에 기반하는 것을 특징으로 하는 수신 서버.
  21. 제20항에 있어서, 상기 제어부는,
    상기 수신한 제 1 정보의 양에 기반하여 결정된 전송 단위가 변경된 경우, 상기 전송 서버에게 상기 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 전송하는 것을 더 제어하는 것을 특징으로 하는 수신 서버.
  22. 제17항에 있어서, 상기 전송 단위에 대한 정보는,
    복수 개이며,
    제 2 정보 전송 요청을 상기 전송 서버에게 전송하는 것은 상기 복수 개 각각에 상응하는 적어도 2 이상의 제 2 정보 전송 요청을 전송하는 것을 특징으로 하는 수신 서버.
  23. 제17항에 있어서, 상기 제 2 정보는,
    상기 제 1 정보를 상기 전송 단위에 대한 정보 기반하여 분할하고 압축하여 생성되는 것을 특징으로 하는 수신 서버.
  24. 제17항에 있어서, 상기 전송 단위는,
    청크(chunk)인 것을 특징으로 하는 수신 서버.
  25. 컨텐츠 전송 네트워크에서 정보를 전송하는 전송 서버에 있어서,
    수신 서버와 정보를 송수신하는 통신부; 및
    수신 서버에게 제 1 정보를 전송하고, 상기 제 1 정보의 결정된 전송 단위에 대한 정보를 포함한 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하고, 상기 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 상기 수신 서버에게 전송하는 것을 제어하는 제어부;를 포함하는 것을 특징으로 하는 전송 서버.
  26. 제25항에 있어서, 상기 전송 단위는,
    상기 제 1 정보의 유형에 기반하여 결정되는 것을 특징으로 하는 전송 서버.
  27. 제26항에 있어서, 상기 정보를 구별하는 유형은,
    상기 제 1 정보를 구성하는 최소 단위 파일의 크기에 기반하여 결정되는 것을 특징으로 하는 전송 서버.
  28. 제25항에 있어서, 상기 전송 단위를 결정하는 것은,
    일정 기간 동안 수신한 제 1 정보의 양에 기반하는 것을 특징으로 하는 전송 서버.
  29. 제25항에 있어서, 상기 제어부는,
    상기 수신 서버로부터 변경된 전송 단위에 대한 정보를 포함하는 제 2 정보 전송 요청을 수신하는 경우, 상기 변경된 전송 단위에 대한 정보에 기반하여 제 2 정보를 생성하여 전송하는 것을 더 제어하는 것을 특징으로 하는 전송 서버.
  30. 제25항에 있어서, 상기 전송 단위에 대한 정보는,
    복수 개이며,
    상기 제 2 정보 전송 요청을 상기 수신 서버로부터 수신하는 것은 상기 복수 개 각각에 상응하는 적어도 2 이상의 제 2 정보 전송 요청을 수신하는 것을 특징으로 하는 전송 서버.
  31. 제25항에 있어서, 상기 제 2 정보는,
    상기 제 1 정보를 상기 전송 단위에 대한 정보에 기반하여 분할하고 압축하여 생성되는 것을 특징으로 하는 전송 서버.
  32. 제25항에 있어서, 상기 전송 단위는,
    청크(chunk)인 것을 특징으로 하는 전송 서버.
KR1020150019636A 2015-02-09 2015-02-09 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치 KR102269594B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150019636A KR102269594B1 (ko) 2015-02-09 2015-02-09 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치
CN201680009541.8A CN107251529B (zh) 2015-02-09 2016-01-18 用于在内容传输网络系统中的服务器之间传输和接收信息的方法和装置
PCT/KR2016/000492 WO2016129815A1 (ko) 2015-02-09 2016-01-18 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치
EP16749355.0A EP3258673B1 (en) 2015-02-09 2016-01-18 Efficient information exchange between servers in content transmission network system
US15/544,709 US10560515B2 (en) 2015-02-09 2016-01-18 Method and apparatus for transmitting and receiving information between servers in contents transmission network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150019636A KR102269594B1 (ko) 2015-02-09 2015-02-09 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160097663A true KR20160097663A (ko) 2016-08-18
KR102269594B1 KR102269594B1 (ko) 2021-06-28

Family

ID=56615667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150019636A KR102269594B1 (ko) 2015-02-09 2015-02-09 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치

Country Status (5)

Country Link
US (1) US10560515B2 (ko)
EP (1) EP3258673B1 (ko)
KR (1) KR102269594B1 (ko)
CN (1) CN107251529B (ko)
WO (1) WO2016129815A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102304045B1 (ko) * 2020-08-24 2021-09-23 주식회사 시티랩스 복수 개의 에지 노드를 제어하는 코어 노드에서의 콘텐츠 전송 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10594771B2 (en) 2017-02-09 2020-03-17 International Business Machines Corporation Distributed file transfer with high performance
JP7131357B2 (ja) * 2018-12-12 2022-09-06 富士通株式会社 通信装置、通信方法、および通信プログラム
US11533063B2 (en) * 2019-08-01 2022-12-20 EMC IP Holding Company LLC Techniques for determining compression tiers and using collected compression hints
CN112019604B (zh) * 2020-08-13 2023-09-01 上海哔哩哔哩科技有限公司 边缘数据传输方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055312A1 (en) * 2009-08-28 2011-03-03 Apple Inc. Chunked downloads over a content delivery network

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832490A (en) * 1996-05-31 1998-11-03 Siemens Medical Systems, Inc. Lossless data compression technique that also facilitates signal analysis
US6959300B1 (en) * 1998-12-10 2005-10-25 At&T Corp. Data compression method and apparatus
US7653689B1 (en) 2002-05-17 2010-01-26 Abacast, Inc. Intelligent virtual content distribution network system and method
FR2882164A1 (fr) * 2005-02-11 2006-08-18 Canon Kk Procede et dispositif de transfert de donnees numeriques a format progressif
US7856583B1 (en) * 2005-09-16 2010-12-21 Network Equipment Technologies, Inc. Techniques for enhanced reliability of data transfer with dynamic scaling
JP5092374B2 (ja) * 2006-12-01 2012-12-05 富士通株式会社 データセンタ及びデータ転送方法
US8386630B1 (en) 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US9167594B2 (en) * 2008-09-22 2015-10-20 Htc Corporation Method and related device of a trigger mechanism of buffer status report and scheduling request in a wireless communication system
KR101179472B1 (ko) * 2009-02-18 2012-09-07 (주)씨디네트웍스 파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법
US8806062B1 (en) * 2009-03-27 2014-08-12 Symantec Corporation Adaptive compression using a sampling based heuristic
US8496009B2 (en) * 2009-07-07 2013-07-30 Brain-Pad, Inc. Shock absorbing dental appliance
US8954596B2 (en) * 2010-04-02 2015-02-10 Netflix, Inc. Dynamic virtual chunking of streaming media content
US9330105B1 (en) * 2010-05-07 2016-05-03 Emc Corporation Systems, methods, and computer readable media for lazy compression of data incoming to a data storage entity
AU2010202741B1 (en) 2010-06-30 2010-12-23 Adeia Media Holdings Llc Dynamic chunking for media streaming
US8923195B2 (en) * 2012-03-20 2014-12-30 Futurewei Technologies, Inc. Method and apparatus for efficient content delivery in radio access networks
CN102594921A (zh) 2012-03-22 2012-07-18 网宿科技股份有限公司 基于内容分发网络的同步文件的访问方法和系统
KR101662018B1 (ko) 2012-04-30 2016-10-04 에스케이텔레콤 주식회사 핸드오버를 고려한 모바일 컨텐츠 제공 방법 및 이를 위한 장치
WO2013173721A1 (en) 2012-05-18 2013-11-21 Home Box Office, Inc. Audio-visual content delivery
CN102904930B (zh) * 2012-09-17 2016-01-20 中兴通讯股份有限公司 内容和网络联动的双重加速方法及系统
US9356645B2 (en) * 2012-11-16 2016-05-31 International Business Machines Corporation Saving bandwidth in transmission of compressed data
CN103037009B (zh) * 2012-12-25 2016-05-18 网宿科技股份有限公司 基于智能编码的加速方法和系统
US9313291B2 (en) * 2013-03-14 2016-04-12 Dialogic Corporation Systems and methods for transparent communication with bandwidth conservation and HTTP caching
US20170286411A1 (en) * 2016-04-01 2017-10-05 Ivan Ablamsky Methods For Upload And Compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055312A1 (en) * 2009-08-28 2011-03-03 Apple Inc. Chunked downloads over a content delivery network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102304045B1 (ko) * 2020-08-24 2021-09-23 주식회사 시티랩스 복수 개의 에지 노드를 제어하는 코어 노드에서의 콘텐츠 전송 방법 및 장치
KR102329073B1 (ko) * 2020-08-24 2021-11-19 주식회사 시티랩스 사용자의 선호 콘텐츠를 기초로 복수 개의 에지 노드를 제어하는 코어 노드에서의 콘텐츠 전송 장치
KR102329072B1 (ko) * 2020-08-24 2021-11-19 주식회사 시티랩스 사용자의 예상 하차 지점을 고려한 코어 노드에서의 콘텐츠 전송 방법 및 장치
KR102329074B1 (ko) * 2020-08-24 2021-11-19 주식회사 시티랩스 강화학습 모듈을 이용하여 추출된 사용자의 선호 콘텐츠를 복수 개의 에지 노드로 송신하는 콘텐츠 전송 방법 및 장치
WO2022045458A1 (ko) * 2020-08-24 2022-03-03 주식회사 데일리블록체인 복수 개의 에지 노드를 제어하는 코어 노드에서의 콘텐츠 전송 방법 및 장치

Also Published As

Publication number Publication date
EP3258673A4 (en) 2018-02-21
CN107251529A (zh) 2017-10-13
US20170374140A1 (en) 2017-12-28
EP3258673A1 (en) 2017-12-20
EP3258673B1 (en) 2021-03-31
US10560515B2 (en) 2020-02-11
CN107251529B (zh) 2021-04-06
KR102269594B1 (ko) 2021-06-28
WO2016129815A1 (ko) 2016-08-18

Similar Documents

Publication Publication Date Title
CN110536179B (zh) 一种内容分发系统和方法
US20180205976A1 (en) Method and apparatus of obtaining video fragment
US10491657B2 (en) Network acceleration method, apparatus and device based on router device
CN102801690B (zh) 流媒体的处理方法、分发服务器、客户端及系统
US10237798B2 (en) Transmission control protocol (TCP) throughput optimization in mobile wireless networks
CN107251529B (zh) 用于在内容传输网络系统中的服务器之间传输和接收信息的方法和装置
CN110022482B (zh) 视频起播方法、视频服务系统及存储介质
US20230046764A1 (en) User plane function (upf) load balancing based on current upf load and thresholds that depend on upf capacity
US11477694B1 (en) User plane function (UPF) load balancing based on central processing unit (CPU) and memory utilization of the user equipment (UE) in the UPF
US10834161B2 (en) Dash representations adaptations in network
JP2016525256A (ja) 冗長データアクセスを提供するための方法および装置
US9432440B2 (en) Method of content delivery in LTE RAN, an eNB and communication system
CN111510390A (zh) 应用程序或无线电信息在网络数据包头中的插入和使用
EP4246936A1 (en) Data processing method, function device and readable storage medium
WO2019206033A1 (zh) 服务器配置的方法和装置
KR102212973B1 (ko) 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
CN105144730B (zh) 视频传输方法、装置与系统
US20140161125A1 (en) Method, duplication point device, and system for data flow reuse transmission
KR102462200B1 (ko) 자원 가격 책정을 갖는 대시에서 분배된 병목 조정을 위한 방법 및 장치
CN109039928A (zh) 数据的传输方法、装置和无线保真路由器
US20240298051A1 (en) Data relay apparatus, distribution system, data relay method, and computer-readable medium
KR20130134911A (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
CN116566955B (zh) 一种基于mqtt的数字语音通话方法、装置及应用
CN111327695B (zh) 一种资源下载方法和相关装置
WO2022206597A1 (en) Methods, network nodes and computer readable media for network node reselection

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