KR20050023468A - 다중 채널을 이용한 데이터 전송 방법 - Google Patents

다중 채널을 이용한 데이터 전송 방법 Download PDF

Info

Publication number
KR20050023468A
KR20050023468A KR1020030059695A KR20030059695A KR20050023468A KR 20050023468 A KR20050023468 A KR 20050023468A KR 1020030059695 A KR1020030059695 A KR 1020030059695A KR 20030059695 A KR20030059695 A KR 20030059695A KR 20050023468 A KR20050023468 A KR 20050023468A
Authority
KR
South Korea
Prior art keywords
data
server
user
channel
service
Prior art date
Application number
KR1020030059695A
Other languages
English (en)
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 KR1020030059695A priority Critical patent/KR20050023468A/ko
Publication of KR20050023468A publication Critical patent/KR20050023468A/ko

Links

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/563Data redirection of data network streams
    • 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)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크를 통한 데이터 전달 방법에 관한 것이다. 더욱 상세하게는, 본 발명은 소정의 네트워크를 통하여 데이터를 전달하는 경우 미들 마일(middle mile)에서 발생하는 전달 지연 및 서버와 퍼스트 마일(first mile)에서의 병목 현상을 극복하고 최저 데이터 전달 속도를 보장함으로써 데이터 전달 서비스 품질(Quality of Service)를 보장하기 위한 데이터 전달 방법 및 이를 위한 시스템에 관한 것이다.
본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법은 상기 데이터의 전달 요청에 대해 하나 이상의 동작 변수를 수신하는 단계, 상기 하나 이상의 동작 변수를 분석하여 최적의 통신 채널로 상기 데이터 전달을 요청하는 단계, 및 전달 서비스 품질의 보장을 위하여 상기 데이터의 전달 속도를 측정하여 상기 동작 변수에 따라 상기 통신 채널을 확장하며 상기 데이터를 전달 받는 단계를 포함하는 것을 특징으로 한다.

Description

다중 채널을 이용한 데이터 전송 방법{A METHOD OF DELIVERING DATA BY USING MULTI-CHANNEL}
본 발명은 네트워크를 통한 데이터 전달 방법에 관한 것이다. 더욱 상세하게는, 본 발명은 소정의 네트워크를 통하여 데이터를 전달하는 경우 미들 마일(middle mile)에서 발생하는 지연 및 서버와 퍼스트 마일(first mile)에서의 병목 현상을 극복하고 최저 데이터 전달 속도를 보장함으로써 데이터 전달 서비스 품질(Quality of Service)를 보장하기 위한 데이터 전달 방법 및 이를 위한 시스템에 관한 것이다.
일반적으로 네트워크에서 미들 마일이라 함은 인터넷 서비스 제공자(ISP)의 시스템, 라우터, 또는 스위치로부터 소정의 데이터가 위치한 소스까지의 구간을 의미하고, 라스트 마일(last mile)이라 함은 사용자의 단말기로부터 인터넷 서비스 제공자의 시스템, 라우터, 또는 스위치까지의 구간을 의미한다. 본 명세서에서 사용되는 미들 마일은 통상의 퍼스트 마일을 포함하는 개념으로 이해될 수 있다.
이러한 네트워크의 라스트 마일에서의 전달 지연은 인터넷 서비스 제공자를 이용하여 인터넷을 연결하는 경우에 인터넷 서비스 제공업체의 인터넷 제공 시스템에 대한 시스템 확장, 트래픽 관리, 그리고 한 라인에 연결되는 동시 접속자수를 제한함으로써 해결할 수 있고, 인터넷 전용선을 이용하여 인터넷에 연결하는 경우라도 라우터 또는 스위치의 시스템 확장 등을 통해 비교적 쉽게 해결할 수 있다. 그러나 미들 마일에서의 전달 지연은 인터넷의 특성상 인터넷 서비스 제공업체나 라우터 또는 스위치 등의 시스템 확장만으로는 해결이 거의 불가능하다는 문제점이 있다.
이러한 문제점을 해결하기 위하여, 한국특허공개공보 특2002-0086040호에는 콘텐츠 전달 네트워크(Contents Delivery Network; CDN)를 이용한 클라이언트 간 직접 데이터 통신 방법이 개시되어 있다. 상기 공개공보에 개시된 발명은 콘텐츠 전달 네트워크 서비스 제공자가 설치하고 운영하는 CDN 상의 캐시(cache) 서버를 통해 클라이언트에서 클라이언트로 데이터를 전달하고 자원을 공유함으로써, 서버와 클라이언트 사이의 미들 마일에서 발생하는 전달 지연을 방지하고, 네트워크 자원의 소모를 최소화하며, 정보 공유를 극대화하는 방법에 관한 것이다.
도 1a는 종래 기술에 따른 데이터 전달을 위한 시스템 및 네트워크 구성도이다. 상기 공개공보에 개시된 CDN서비스를 사용하지 않는 콘텐츠 제공자의 경우에도 시스템 및 네트워크의 구성도는 도 1a와 유사하므로, 별다른 명시가 없는 한 설명의 편의를 위해 CDN을 예를 들어 설명한다. 도 1a을 참조하면, CDN 시스템은 인터넷의 에지(edge)에 위치하는 하나 이상의 CDN 서버(110)와, CDN 서버(110)들 간의 부하를 조정, 즉 로드 밸런싱(load balancing)을 수행하는 로드 밸런서 서버(130)와, 이들 서버들(110, 130)과 네트워크를 통해 연결되어 있는 사용자 단말기(120)로 구성된다. 당업자라면 주지하고 있는 바와 같이, CDN은 각 네트워크에 전략적으로 설치된 캐시(cache) 서버를 통하여 콘텐츠를 배포함으로써 CDN을 사용하지 않는 종래의 방법에 비해 사용자에게는 빠르고 안정적인 네트워크 접속 환경을 제공하고, 인터넷 서비스 제공자 또는 콘텐츠 제공자 등 인터넷 사업자에게는 부하의 분산을 통해 보다 많은 사용자를 수용할 수 있도록 네트워크 인프라를 제공하는 것이라고 할 수 있다. 이러한 CDN 방식은 네트워크 상의 몇몇 중요한 위치에 서버의 역할을 대신할 CDN 서버(110)를 두어 서버가 처리할 요구를 대신 처리하도록 구현되는데, 이를 통하여 서버의 부하를 줄이고, 클라이언트의 요구가 서버에 도달하기까지 네트워크를 횡단하지 않고 중간에서 처리되도록 함으로써 네트워크에서의 부담을 줄일 수 있게 된다.
그러나, 상술한 종래의 방법을 이용한 데이터 전달에는 다음과 같은 문제점이 있다.
(1) CDN은 에지 서비스(edge service)를 제공하여 모든 사용자에게 동일한 품질의 데이터 전달을 보장하고 원활한 데이터 사용을 위한 최저 수준의 전달 품질을 보장하기 위해서, 모든 인터넷 서비스 제공자의 모든 에지 단에 CDN 서버를 구축하여야 한다는 문제점이 있다. 도 1b에 도시된 것과 같이, 인터넷 서비스 제공자인 A사의 네트워크에는 인터넷 에지 단에 CDN 서버가 있고, 또 다른 인터넷 서비스 제공자인B 사의 네트워크에는 CDN 서버가 없는 경우, B사의 인터넷 서비스를 받는 사용자는 A사의 인터넷 서비스를 받는 사용자에 비해 낮은 품질의 서비스를 받을 수 밖에 없다. 또한, 도 1c에 도시된 것과 같이, 동일 인터넷 서비스 제공자라고 하더라도, 사용자가 위치하는 모든 물리적 위치에 CDN 서버(110)를 설치하지 아니하는 경우, CDN 서버가 설치되지 않은 지역의 사용자, 예를 들어 서울에 위치한 콘텐츠 제공자의 서비스를 받고자 하는 대전 또는 부산 지역에 위치한 사용자는 상대적으로 낮은 품질의 서비스를 받을 수 밖에 없게 된다. 이러한 서비스 품질의 불평등을 해결하고 모든 사용자에게 원활한 품질의 서비스를 제공하기 위하여 모든 인터넷 서비스 제공자는 예상할 수 있는 사용자의 각 인터넷 서비스 제공자와 각 지역별로 고가의 CDN 서버를 지속적으로 증설하여야 한다는 문제점이 있다. 만일 CDN 서버를 모든 인터넷 서비스 제공자(Internet Service Provider; ISP)와 모든 지역에 설치한다고 하더라도 이는 서버 자원의 낭비라는 또다른 문제점을 야기한다. 예를 들어, 인터넷 서비스 제공자인 A사의 사용자들은 적은데 반해 다른 인터넷 서비스 제공자인 B사의 사용자들은 많은 경우 혹은 특정 지역의 사용자들은 적은데 반해 다른 지역의 사용자들이 많은 경우 등의 일시적인 상황에서는 전체 CDN 서버의 일부분은 활용되지 못하고 유휴자원으로 남는 반면에, 사용자의 요구가 폭주하는 특정 인터넷 서비스 제공자 혹은 특정 지역의 CDN 서버는 과부하로 말미암아 서비스 품질이 저하된다. 이와 같은 현상은 전체적인 측면에서 CDN 서버의 처리 용량은 충분함에도 불구하고 사용자에게 원활한 품질의 서비스를 제공하지 못하는 원인이 되며, 특히 시간대가 다른 지역의 사용자들로 인해 극명하게 나타난다.
(2) CDN 서비스를 사용하지 않는 콘텐츠 제공자의 경우, 특정 인터넷 서비스 제공자의 인터넷 데이터 센터(Internet Data Center; IDC) 혹은 자사가 사용하는 인터넷 서비스 제공자의 네트워크에 콘텐츠 제공을 위한 시스템을 구축하게 되므로 상기의 문제점이 동일하게 나타남은 물론이고, CDN서비스를 사용하는 경우에 회피할 수 있는 미들 마일에서의 전달 지연도 피할 수 없다.
(3) 이러한 CDN 서버를 이용한 에지 단에서의 서비스는 도메인 네임 서비스(Domain Name Service; DNS) 서버의 역할에 크게 좌우된다는 문제점이 있다. 예를 들어, 인터넷 서비스 제공자인 A 사의 사용자가 다른 인터넷 서비스 제공자인B 사의 DNS서버를 지정하여 이용하는 경우, 응당 A 사의 CDN 서버에 접속되어야 함에도 불구하고 B 사의 DNS 서버가 지정하는 B 사의 CDN 서버에 접속된다는 문제점이 있다. 이 경우, 해당 사용자는 인근의 에지에 위치한 CDN 서버의 서비스를 받지 못함에 따라 미들 마일에서의 전달지연을 경험할 수밖에 없고, 결과적으로 낮은 품질의 서비스를 받게 된다. 이는 DNS 서버가 데이터를 요청하는 사용자의 IP어드레스를 기준으로 특정 CDN 서버를 지정해 주는 것이 아니라, 그 데이터를 제공하는 컴퓨터의 호스트 네임을 기준으로 CDN 서버를 지정하기 때문이다.
(4) 상기 CDN 서비스는 상술한 도 1a에 도시된 로드 밸런서 서버(130)의 역할에 따라 그 효율이 좌우된다는 문제점이 있다. 로드 밸런서 서버(130)는 데이터를 제공하는 CDN 서버(110)와는 물리적으로 독립하여 존재하는 수단이므로, 사용자로부터의 데이터 전달 요청을 어떠한 CDN 서버(110)에 전달할 것인지 여부는 전적으로 로드 밸런서 서버(130)가 저장하고 있는 과거 서비스 이력(history)에 의존하게 된다. 로드 밸런서 서버(130)는 이러한 과거 서비스 이력을 토대로 현재 작업 부하가 가장 적을 것으로 예측되는 CDN 서버(110)로 작업 처리를 요청하게 되지만, 실제 상황은 이와 다를 수 있다. 예를 들어, 사용자가 특정 데이터에 대한 스트리밍을 요청하여 로드 밸런서 서버(130)에서 특정 CDN 서버(110)로 이 작업의 처리를 요청하였는데, 사용자가 접속을 끊은 경우 로드 밸런서 서버(130)는 이 특정 CDN 서버의 작업 부하가 많다고 판단하게 되고, 실질적으로는 전혀 작업 부하가 없는 CDN 서버로의 작업 처리 요청이 없게 된다는 문제점이 있다. 이러한 문제점으로 인해 실제로 소정의 가용 대역폭을 가지는 네트워크가 목표 대역폭 이하로 전달 속도가 저하되어 서비스 품질에 심각한 문제점을 야기한다.
도 1d에는 상술한 문제점으로 인한 원활하지 못한 데이터 전송 상태가 도시되어 있다. 소정의 가용 대역폭을 가지는 네트워크에서 상술한 로드 밸런서 서버(130)의 문제로 인해 목표 대역폭 이하의 속도로 전달이 이루어지는 경우(도 1d에서 점선으로 표시된 부분), 예를 들어 소정의 스트리밍 서비스를 요청한 사용자는 원활한 서비스 이용을 할 수 없다는 문제점이 있다.
본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템은 상술한 종래의 데이터 전달 방법의 문제점을 해결하기 위한 것으로서, 특히 임의의 네트워크를 이용하여 소정의 데이터를 전달함에 있어서 데이터를 수신하는 사용자가 네트워크 대역폭이 지원하는 한도 내에서 최적의 속도로 데이터를 전달하도록 함으로써 엔드 대 엔드(end to end) 간 데이터 전달에 있어서 데이터를 원활히 사용할 수 있는 최저의 전달 서비스 품질 이상을 보장하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템은 종래 CDN 서비스 및 CDN을 사용하지 않는 일반 데이터 전달 환경에서 문제점으로 지적된, 지역간 및 인터넷 서비스 제공자 간의 불평등한 서비스 품질을 개선함으로써, 네트워크 용량의 증설 없이도 엔드 대 엔드 간 데이터 전달에 있어서 전달 서비스 품질(QoS)을 보장하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템은 종래 FlashGet 등의 소프트웨어를 통한 전달 채널의 무단 점유 및 서버와 네트워크 자원의 과부하를 유발하는 문제점을 해결하고, 기존 네트워크 상에서 소정의 알고리즘을 이용하여 최적의 전달 대역을 결정함으로써 모든 네트워크 사용자가 소정의 전달 서비스 품질을 누릴 수 있도록 하는 것을 그 목적으로 한다.
상술한 본 발명의 목적을 달성하기 위하여, 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법은 상기 데이터의 전달 요청에 대한 하나 이상의 동작 변수를 수신하는 단계, 상기 동작 변수를 분석하여 최적의 통신 채널로 상기 데이터 전달을 요청하는 단계, 및 상기 데이터의 전달 속도를 측정하여 상기 동작 변수에 따라 상기 통신 채널을 확장시키며 상기 데이터를 전달 받는 단계를 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여, 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템에 대해 상술한다.
도 2는 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 시스템을 도시하는 네트워크 구성도이다. 도 2에 도시된 구성도는 기능적으로 분류되어 도시된 것으로서, 각 서버들은 물리적으로 반드시 구분될 필요가 없고, 하나의 엔티티일 수 있다 .
도 2에 도시된 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 시스템은 크게 소정의 데이터를 저장하고 있는 하나 이상의 콘텐츠 서버(210)들, 도메인 네임 쿼리에 대한 IP 어드레스를 돌려 주는 도메인 네임 서비스 서버(220), 본 발명의 일특징인 동작 서버(230), 및 사용자 단말기(240)로 구성된다. 또한, 도시되지는 아니하였지만, 본 발명에 따른 데이터 전달 서비스를 이용하는 사용자의 등급 또는 서비스 내역을 저장하고, 사용자 별로 이를 관리하기 위한 사용자 관리 서버가 포함될 수 있다.
사용자는 사용자 단말기(240)를 통하여 기존의 방법과 같이 소정의 도메인 네임을 입력하여 데이터를 요청한다. 이러한 사용자의 데이터 요청은 도메인 네임 서비스 서버(220)에서의 IP 어드레스로의 변환을 거쳐 동작 서버(230)로 전달된다. 동작 서버(230)는 데이터 전달에 필요한 각종 동작 변수를 사용자에게 반환하는데, 본 발명의 바람직한 일실시예에 따르면, 상기 동작 변수는 다음과 같다.
(1) 데이터를 처리할 수 있는 하나 이상의 콘텐츠 서버(210)의 IP 어드레스, 호스트 네임, 또는 데이터 경로이다. 이 경우, 동작 서버(230)는 사용자의 IP 어드레스를 기준으로 가장 빨리 요청을 처리할 수 있는 콘텐츠 서버(210)를 하나 이상 선정하여 이들 선정된 콘텐츠 서버(210)에 대한 정보, 즉 현재 부하 상태, 범용 리소스 로케이터(URL) 또는 IP 어드레스 등을 사용자 단말기(240)로 반환할 수 있다. 최적의 콘텐츠 서버를 선정하기 위해 동작 서버는 콘텐츠 서버의 부하 상태 모니터링 또는 사용자의 IP 어드레스와 콘텐츠 서버의 IP 어드레스 비교 등의 기법을 적용할 수 있다.
(2) 해당 데이터를 원활하게 사용하기 위한 최저 데이터 전달 속도이다. 이는 일종의 데이터 전달 서비스의 품질(QoS)에 관한 동작 변수로서, 소정의 데이터 전달을 원활하게 수행하여 사용자가 서비스 이용에 불편을 느끼지 않을 정도의 최소 기준을 의미한다. 최저 데이터 전달 속도는 사용자가 요구한 데이터의 종류(스트리밍 데이터 등) 또는 사용자의 등급에 따라 결정된다. 상기 사용자의 등급은 본 발명에 따른 데이터 전달 방법을 제공하는 서비스 사의 과금 체계에 따라 책정할 수 있다.
(3) 데이터를 전달하는 서버 측의 시스템 구성 및 사용자의 등급을 고려한 최대 데이터 채널 수이다. 데이터 채널 수를 확장한다고 해도 이를 무한히 확장할 수는 없으므로 기 설정된 수의 채널로 채널 확장을 제한할 수 있다.
(4) 최저 성능 향상치이다. 채널 확장을 통하여 어느 정도의 성능 향상이 있는가를 판단하여 소정의 최저 성능 향상치에 미치지 못한다면 채널 확장이 데이터 전달 속도의 향상에 큰 영향이 없는 것으로 판단하여 채널 확장을 제한할 수 있다.
(5) 최초 데이터 전달 시작시에 생성하는 데이터 전달 채널의 수이다. 즉, 최초 데이터 전달 개시시 단일 채널에서 시작할 것인지 또는 소정 갯수의 채널로 데이터 전달을 시작할 것인지를 결정할 수 있다.
상술한 5 가지 동작 변수 중에서 네트워크의 운영 상황 및 목표 등에 따라 모두 수신되도록 설정되거나, 사용자의 설정에 의해 미리 수신될 동작 변수들이 결정되어 있거나, 필요시마다 소정의 동작 변수를 수신하도록 설정될 수 있다. 또한, 상술한 동작 변수들은 사용자의 등급을 고려하여 결정될 수 있는데, 이러한 사용자의 등급은 본 발명에 따른 데이터 전달 서비스를 제공하는 서비스 제공자의 운영 정책에 따라 결정될 수 있다.
사용자는 반환 받은 상기의 동작 변수들을 이용하여 데이터를 요청하는데, 처음에는 단일 채널을 하나 혹은 그 이상의 미리 지정된 혹은 동작 변수에서 지정된 갯수의 채널을 통하여 데이터 전달을 시작한다. 해당 채널을 통해 데이터를 수신하면서 일정 주기로 또는 랜덤하게 데이터 전달 속도를 측정 한다. 데이터 전달 속도 측정 결과, 소정의 최저 전달 속도 미만인 경우 채널을 확장한다. 채널을 확장함에 있어서는, 단순히 하나씩 채널을 확장하거나 최저 전달 속도와 현재 수신되는 전달 속도의 비율에 따라 여러 채널을 한번에 확장할 수 있다.
또한, 채널을 확장할 때마다 어느 정도의 성능 향상이 있는지 확인하고, 성능 향상이 정해진 최저 성능 향상치 이하인 경우, 사용자가 사용할 수 있는 물리적인 대역폭을 모두 사용하는 것으로 가정하고 채널 확장을 중지할 수 있다. 본 발명의 바람직한 일실시예에 의하면, 상기 성능 향상을 확인함에 있어서, 전체적인 규모로 전달 속도를 비교하는 방법이나 n-1번째 채널의 전달 속도와 n 번째 채널의 전달 속도만을 비교하는 방법 모두 가능하다. 이와 같이 성능 향상을 확인하기 위한 알고리즘은 후술한다.
상기 데이터 전달 속도 측정 결과, 최저 전달 속도 미만인 경우에도 확장 가능한 최대 채널의 수에 도달한 경우, 이는 미들 마일로 불리는 네트워크 상의 문제이거나, 데이터를 전달해주는 콘텐츠 서버 측의 부하 문제인 것으로 추측하고 추가적인 채널 확장을 중지할 수 있다. 이러한 확장 가능한 최대 채널 수를 지정하는 것은 채널을 무한정으로 확장할 수 없다는 점을 고려한 것일 뿐 아니라, 채널을 확장하여도 소정의 전달 속도를 얻지 못하는 경우에는 채널의 문제가 아니라 상술한 바와 같이 네트워크 상의 문제 또는 서버 측의 부하 문제일 가능성이 높으므로 채널 확장을 중지시켜 더 이상의 네트워크 점유를 막기 위함이다.
상술한 본 발명의 일실시예에서, 동작 서버(230)가 동작 변수를 사용자 단말기(240)로 반환하는 경우, 사용자 단말기(240)에서 동작 서버(230)로, 동작 서버(230)에서 다시 사용자 단말기(240)로의 라운드 트립(round-trip)에 따른 오버헤드(overhead)를 예상할 수 있다. 본 발명의 일실시예에 의하면, 상기 오버헤드를 방지하기 위하여 동작 서버(230)는 사용자의 데이터 요청에 응답하여 상기 선정된 몇 대의 콘텐츠 서버(210) 중의 하나에 사용자의 데이터 요청을 전달하여 데이터 전달을 개시시키고, 이와 동시에 사용자의 데이터 요청이 전달된 콘텐츠 서버(210)에 대한 정보를 제외한 다른 동작 변수를 사용자에게 반환하여 채널 확장에 사용될 수 있도록 동작할 수 있다.
상술한 본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 시스템은 CDN 서비스와 연동하여 이용될 수 있다. 즉, 사용자가 수신한 동작 변수 중 하나인 데이터가 위치하고 있는 곳의 IP 어드레스 등을 이용하여 CDN 서비스를 가능하게 할 수 있는데, 각 IP 어드레스가 CDN 시스템의 로드 밸런서 서버를 지정하는 경우라면, 본 발명에 따른 시스템과 CDN 시스템이 함께 연동될 수 있다.
상술한 본 발명의 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 시스템에서는 사용자 단말기(240)에 상술한 소정의 방법을 실행하기 위한 플러그 인(plug-in) 수단이 설치될 수 있다. 또한, 상기 플러그 인 수단은 사용자 단말기(240)에서 실행되는 웹 브라우저에 일체로 포함될 수 있다. 이러한 경우, 상술한 동작 변수들은 동작 서버(230)로부터 수신되는 것이 아니라 사용자 단말기(240)에 설치된 플러그 인 수단 내에 지정될 수 있는데, 지정된 동작 변수들은 주기적 또는 랜덤하게 동작 서버(230)로부터 업데이트될 수 있다. 또한, 사용자가 요청한 데이터가 웹 브라우저를 통하여 전달되는 경우라면, 동작 서버(230)는 사용자의 웹 브라우저에 출력되는 하이퍼텍스트 마크업 언어(HyperText Markup Language) 내에 동작 변수를 캡슐화(encapsulation) 함으로써 사용자가 동작 변수를 획득하기 위한 한 번의 라운드 트립을 생략하는 것도 가능하다.
상술한 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 시스템에서 콘텐츠 서버(210)와 사용자 단말기(240)는 서버-클라이언트 모델일 수도 있으나, 본 발명에 따른 콘텐츠 서버(210)는 소정의 데이터를 제공해 줄 수 있는 모든 엔티티를 의미하는 것으로서, 통상의 개인용 컴퓨터와 같은 일반 사용자 단말기일 수 있다. 이는 본 발명에 따른 데이터 전달 시스템이 서버-클라이언트 모델의 데이터 전달 구조에만 적용되는 것이 아니라, 넓게는 피어 대 피어 모델의 데이터 전달 구조에도 적용될 수 있음을 의미한다. 또한, 본 발명에 따른 데이터 전달 시스템의 동작 서버(230)이 수행하는 기능 중 일부는 프로그램화되어 사용자 단말기(240) 내에서 수행될 수 있다. 따라서, 도 2에 도시된 시스템 구성도는 단순히 기능상의 도시일 뿐, 물리적인 위치와는 무관하다.
도 3은 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법을 도시하는 흐름도이다. 도 3에 도시된 본 발명의 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법은 다음과 같은 단계로 구성된다.
사용자는 소정의 데이터에 대한 전달을 요청(단계 310)한다. 이러한 사용자의 데이터 전달 요청은 도메인 네임 서비스 서버를 거쳐 소정의 IP 어드레스로 변환된 후 동작 서버로 전달되고, 동작 서버는 상기 사용자의 데이터 전달 요청에 대한 동작 변수들을 상기 사용자에게 반환(단계 320)한다.
도 2에 대한 설명에서 상술한 바와 같이, 상기 동작 변수는 최저 데이터 전달 속도, 확장 가능한 최대 데이터 채널 수, 최저 성능 향상치, 및 상기 요청된 데이터가 위치하는 콘텐츠 서버의 IP 어드레스 등일 수 있다. 본 실시예에서는 이들 중 최저 데이터 전달 속도, 확장 가능한 최대 데이터 채널 수, 및 상기 요청된 데이터가 위치하는 콘텐츠 서버의 위치를 나타내는 IP 어드레스를 수신한 경우를 설정하여 설명한다. 동작 변수를 수신한 사용자는 동작 변수를 분석하여 동작 변수에 포함되어 있는 상기 IP 어드레스 중의 하나로 소정의 데이터를 요청(단계 330)한다. 상술한 바와 같이, 단계 320 및 단계 330을 거치게 되면, 한번의 라운드 트립이 발생할 수 있으므로 단계 320에서 동작 서버는 상기 IP 어드레스 중 하나에 데이터 전달 요청을 하고, 나머지 동작 변수를 사용자에게 반환하도록 동작할 수도 있다.
콘텐츠 서버는 상기 사용자의 데이터 요청에 응답하여 소정의 데이터를 사용자에게 전달(단계 340)한다. 사용자는 상기 전달되는 데이터를 수신하면서 주기적 또는 랜덤하게 데이터 전달 속도를 측정(단계 350)한다. 측정된 데이터 전달 속도가 동작 변수인 최저 전달 속도 이상인지 여부를 판단(단계 360)하고, 최저 전달 속도 이하인 경우라면 통신 채널을 확장(단계 470)한다. 단계 360에서 최저 전달 속도 이상인 것으로 판단된 경우에는 다시 단계 340으로 회귀하여 전달되는 데이터를 계속 수신한다. 채널을 확장(단계 370)한 후에, 채널 확장으로 인해 동작 변수인 최대 데이터 채널 수를 초과하였는지 여부를 판단(단계 380)하고, 초과한 것으로 판단되는 경우 더 이상의 채널 확장 없이 전달되는 데이터를 계속 수신(단계 390)한다. 단계 390에서는 사용자의 설정에 따라 데이터 전달을 중지시키도록 동작할 수 있다. 즉, 최대 데이터 채널 수를 초과하였음에도 불구하고 최적 전달 속도 미만의 속도로 데이터 전달이 수행되고, 이로 인해 소정의 서비스 제공이 불가능한 경우라면 데이터 전달을 중지시키도록 동작할 수 있다.
도 4은 본 발명의 또다른 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법을 도시하는 흐름도이다. 도 4에 도시된 본 발명의 또다른 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법은 동작 변수로서 최저 데이터 전달 속도, 최저 성능 향상치, 및 상기 요청된 데이터가 위치하는 콘텐츠 서버의 위치를 나타내는 IP 어드레스를 수신한 경우이다. 단계 410 내지 단계 470은 상술한 도 3의 설명과 동일하다. 단계 470에서 통신 채널을 확장한 후, 단계 480에서 통신 채널 확장으로 인한 성능 향상치가 최저 성능 향상치 이하인지 여부를 판단한다. 최저 성능 향상치 이하인 것으로 판단된 경우 전달되는 데이터를 계속하여 수신(단계 490)하고, 최저 성능 향상치 이상인 것으로 판단된 경우에는 다시 단계 440으로 회귀하여 소정의 단계를 반복한다.
단계 480에서 최저 성능 향상치를 판단하기 위한 알고리즘은 다음과 같다. 도 5는 본 발명의 바람직한 일실시예에 따른 동작 변수 중 하나인 최저 성능 향상치 계산을 위한 알고리즘을 도시한 그래프이다.
도 5a에 도시된 최저 성능 향상치 계산을 위한 알고리즘은 n-1 번째 확장을 통한 속도 향상치(△n-1)와 n 번째 확장을 통한 속도 향상치(△n)을 비교하여 성능 향상치를 계산하도록 동작한다. 예를 들면, △n-1과 △n의 비율을 성능 향상치로 판단하고, 선정된 최저 성능 향상치와 비교하여 채널 확장을 통해 전달 속도가 크게 개선되었는지 여부를 판단할 수 있다.
도 5b에 도시된 최저 성능 향상치 계산을 위한 알고리즘은 n-1 번째 확장을 통한 전체 채널 속도 BW(n-1)와 n 번째 확장을 통한 전체 채널 속도 BW(n)을 비교하여 성능 향상치를 계산하도록 동작한다. 예를 들면, BW(n-1)과 BW(n) 의 비율을 성능 향상치로 판단하고, 선정된 최저 성능 향상치와 비교하여 채널 확장을 통해 전달 속도가 크게 개선되었는지 여부를 판단할 수 있다.
상술한 도 3과 도 4에 도시된 본 발명의 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법은 동작 변수로서 상술한 5개를 모두 이용하는 것 또한 가능하다. 즉, 확장 가능한 최대 채널 수와 최저 성능 향상치 모두를 채널 확장 지속 여부를 판단하는데 이용할 수 있다.
상술한 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법에서 콘텐츠 서버와 사용자 단말기는 서버-클라이언트 모델일 수도 있으나, 본 발명에 따른 콘텐츠 서버는 소정의 데이터를 제공해 줄 수 있는 모든 엔티티를 의미하는 것으로서, 통상의 개인용 컴퓨터와 같은 일반 사용자 단말기일 수 있다. 이는 본 발명에 따른 데이터 전달 방법이 서버-클라이언트 모델의 데이터 전달 구조에만 적용되는 것이 아니라, 넓게는 피어 대 피어 모델의 데이터 전달 구조에도 적용될 수 있음을 의미한다.
본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템에 의하면, 종래의 데이터 전달 방법의 문제점을 해결하기 위한 것으로서, 특히 임의의 네트워크를 이용하여 소정의 데이터를 전달함에 있어서 데이터를 수신하는 사용자가 네트워크 대역폭이 지원하는 한도 내에서 최적의 속도로 데이터를 전달하도록 함으로써 엔드 대 엔드(end to end) 간 데이터 전달에 있어서 데이터를 원활히 사용할 수 있는 최저의 전달 서비스 품질 이상을 보장할 수 있다는 기술적 효과를 얻을 수 있다.
또한, 본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템에 의하면, 종래 CDN 서비스 및 CDN을 사용하지 않는 일반 데이터 전달 환경에서 문제점으로 지적된, 지역간 및 인터넷 서비스 제공자 간의 불평등한 서비스 품질을 개선함으로써, 네트워크 용량의 증설 없이도 엔드 대 엔드 간 데이터 전달에 있어서 전달 서비스 품질(QoS)을 보장할 수 있다는 기술적 효과를 얻을 수 있다.
또한, 본 발명에 따른 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템에 의하면, 종래 FlashGet 등의 소프트웨어를 통한 전달 채널의 무단 점유 및 서버 와 네트워크 자원의 과부하를 유발하는 문제점을 해결하고, 기존 네트워크 상에서 소정의 알고리즘을 이용하여 최적의 전달 대역을 결정함으로써 모든 네트워크 사용자가 소정의 전달 서비스 품질을 누릴 수 있다는 기술적 효과를 얻을 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 상기 기재로부터 다양한 수정 및 변형이 가능하다는 점은 자명하다. 따라서, 본 발명 사상은 아래에 기재된 특허 청구 범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
도 1a는 종래 기술에 따른 데이터 전달을 위한 시스템 및 네트워크 구성도이다.
도 1b는 종래 기술에 따른 데이터 전달을 위한 시스템 및 네트워크 구성도로서, 인터넷 서비스 제공자에 따라 발생하는 데이터 전달 서비스의 불균형 및 콘텐츠 전달 네트워크(Contents Delivery Network; 이하 CDN) 서비스의 불균형을 보여주는 구성도이다.
도 1c는 종래 기술에 따른 데이터 전달을 위한 시스템 및 네트워크 구성도로서, 사용자가 거주하는 지역에 따라 발생하는 데이터 전달 서비스의 불균형 및 CDN 서비스의 불균형을 보여주는 구성도이다.
도 1d는 종래 기술에 따른 엔드 투 엔드 데이터 전달 서비스 품질(Quality of Service)이 보장되지 아니하는 데이터 전달시 나타나는 서비스 품질의 열화를 도시한 그래프이다.
도 2는 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 시스템을 도시하는 네트워크 구성도이다.
도 3은 본 발명의 바람직한 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법을 도시하는 흐름도이다.
도 4는 본 발명의 또다른 일실시예에 따른 적응적 채널 확장을 이용한 데이터 전달 방법을 도시하는 흐름도이다.
도 5는 본 발명의 바람직한 일실시예에 따른 동작 변수 중 하나인 최저 성능 향상치 계산을 위한 알고리듬을 도시한 그래프이다.
<도면의 주요 부분에 대한 부호의 설명>
110 : 콘텐츠 전달 네트워크(CDN) 서버
120 : 사용자 단말기
130 : 로드 밸런서 서버
220 : 도메인 네임 서비스 서버
230 : 동작 서버

Claims (3)

  1. 데이터 전달 방법에 있어서,
    상기 데이터의 전달 요청에 대한 하나 이상의 동작 변수를 수신하는 단계;
    상기 동작 변수를 분석하여 최적의 통신 채널로 상기 데이터 전달을 요청하는 단계; 및
    상기 데이터의 전달 속도를 측정하여 상기 동작 변수에 따라 상기 통신 채널을 확장시키며 상기 데이터를 전달 받는 단계
    를 포함하는 것을 특징으로 하는 데이터 전달 방법.
  2. 데이터 전달 방법에 있어서,
    하나 이상의 동작 변수를 설정받는 단계;
    상기 설정된 동작 변수를 분석하여 최적의 통신 채널로 상기 데이터 전달을 요청하는 단계; 및
    상기 데이터의 전달 속도를 측정하여 상기 동작 변수에 따라 상기 통신 채널을 확장시키며 상기 데이터를 전달 받는 단계
    를 포함하는 것을 특징으로 하는 데이터 전달 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 동작 변수는 상기 데이터의 전달을 위한 최저 데이터 전달 속도, 확장 가능한 최대 채널의 수, 최저 성능 향상치, 상기 데이터가 위치하는 하나 이상의 콘텐츠 서버의 IP 어드레스, 및 최초 데이터 전달 채널의 개수 중 하나 이상을 포함하는 것을 특징으로 하는 데이터 전달 방법.
KR1020030059695A 2003-08-27 2003-08-27 다중 채널을 이용한 데이터 전송 방법 KR20050023468A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030059695A KR20050023468A (ko) 2003-08-27 2003-08-27 다중 채널을 이용한 데이터 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030059695A KR20050023468A (ko) 2003-08-27 2003-08-27 다중 채널을 이용한 데이터 전송 방법

Publications (1)

Publication Number Publication Date
KR20050023468A true KR20050023468A (ko) 2005-03-10

Family

ID=37230966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030059695A KR20050023468A (ko) 2003-08-27 2003-08-27 다중 채널을 이용한 데이터 전송 방법

Country Status (1)

Country Link
KR (1) KR20050023468A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031097A2 (ko) * 2009-09-11 2011-03-17 주식회사 씨디네트웍스 복수의 세션 설정 방법 및 이를 이용하는 노드
KR20190052982A (ko) * 2017-11-09 2019-05-17 에스케이브로드밴드주식회사 무선중계장치 및 그 동작 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031097A2 (ko) * 2009-09-11 2011-03-17 주식회사 씨디네트웍스 복수의 세션 설정 방법 및 이를 이용하는 노드
KR101051710B1 (ko) * 2009-09-11 2011-07-25 (주)씨디네트웍스 복수의 세션 설정 방법 및 이를 이용하는 노드
WO2011031097A3 (ko) * 2009-09-11 2011-09-01 주식회사 씨디네트웍스 복수의 세션 설정 방법 및 이를 이용하는 노드
US8612613B2 (en) 2009-09-11 2013-12-17 Cdnetworks Co., Ltd. Method for setting plurality of sessions and node using same
KR20190052982A (ko) * 2017-11-09 2019-05-17 에스케이브로드밴드주식회사 무선중계장치 및 그 동작 방법

Similar Documents

Publication Publication Date Title
EP3528440B1 (en) Path selection method and system, network acceleration node, and network acceleration system
US8559460B2 (en) Dynamic bandwidth manager
Liu et al. Rate adaptation for dynamic adaptive streaming over HTTP in content distribution network
Wichtlhuber et al. An SDN-based CDN/ISP collaboration architecture for managing high-volume flows
Vakali et al. Content delivery networks: Status and trends
US8224986B1 (en) Methods and apparatus for redirecting requests for content
EP2434704B1 (en) Method and system for choosing backup resources
US20180288141A1 (en) Http scheduling system and method of content delivery network
US20100042725A1 (en) Contents provider participation type contents delivery system and method, and contents delivery network domain name system server thereof
US20030099202A1 (en) System and method for distribution of data packets utilizing an intelligent distribution network
CN101287011A (zh) 内容分发网络中响应用户服务请求的方法、系统和设备
KR20110057240A (ko) 과중 미디어 콘텐트의 자동 검출 및 조정된 배송을 위한 시스템 및 방법
WO2014186560A1 (en) Selecting a content providing server in a content delivery network
CN100391178C (zh) 一种在网络中选择服务器的方法
CN102891804A (zh) 控制策略的调整方法及系统
Alzoubi et al. Anycast cdns revisited
WO2003005650A2 (en) Method and system for improving a route along which data is sent using an ip protocol in a data communications network
EP1545093B1 (en) Traffic control apparatus and service system using the same
WO2007022440A2 (en) Resource selection in a communication network
EP1324546A1 (en) Dynamic content delivery method and network
EP1327195A1 (en) Method and apparatus for dynamic determination of optimum connection of a client to content servers
WO2015100283A1 (en) Systems and methods for delivering content to clients that are suboptimally mapped
KR20050023468A (ko) 다중 채널을 이용한 데이터 전송 방법
KR100605525B1 (ko) 적응적 채널 확장을 이용한 데이터 전달 방법 및 그 시스템
Thinh et al. An efficient qoe-aware http adaptive streaming over software defined networking

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid