KR20090000147A - 서버 및 그의 동시접속 제어 방법 - Google Patents

서버 및 그의 동시접속 제어 방법 Download PDF

Info

Publication number
KR20090000147A
KR20090000147A KR1020070004815A KR20070004815A KR20090000147A KR 20090000147 A KR20090000147 A KR 20090000147A KR 1020070004815 A KR1020070004815 A KR 1020070004815A KR 20070004815 A KR20070004815 A KR 20070004815A KR 20090000147 A KR20090000147 A KR 20090000147A
Authority
KR
South Korea
Prior art keywords
clients
connection
client
content
server
Prior art date
Application number
KR1020070004815A
Other languages
English (en)
Other versions
KR101382393B1 (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 KR1020070004815A priority Critical patent/KR101382393B1/ko
Priority to US11/835,007 priority patent/US8676924B2/en
Publication of KR20090000147A publication Critical patent/KR20090000147A/ko
Application granted granted Critical
Publication of KR101382393B1 publication Critical patent/KR101382393B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • 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/22Parsing or analysis of headers

Abstract

서버 및 그의 동시 접속 제어 방법이 개시된다. 본 서버는 복수 개의 클라이언트와 데이터를 송수신하는 연결부, 및, 복수 개의 클라이언트로부터 접속 요청이 있는 경우, 복수 개의 클라이언트 중 동시접속 가능한 클라이언트를 추출하고, 추출된 클라이언트의 접속을 허용하는 연결관리부를 포함한다. 이에 의해, 효율적인 네트워크 트래픽을 제공할 수 있다.
서버, 클라이언트, 동시 접속, CDS(Content Delivery Service), 연결관리

Description

서버 및 그의 동시접속 제어 방법{Sever and simultaneous connection control method thereof}
도 1은 본 발명의 일 실시예에 따른 서버를 포함한 콘텐츠 전송 시스템을 나타내는 블록도,
도 2는 도 1의 서버의 구성을 상세하게 나타내는 블록도,
도 3은 도 2의 연결관리부의 구성을 상세하게 나타내는 블록도,
도 4는 본 발명의 일 실시예에 따른 동시접속 허용그룹을 추출하는 방법을 설명하기 위한 모식도,
도 5는 본 발명의 일 실시예에 따른 콘텐츠의 데이터 포맷을 나타내는 모식도,
도 6은 본 발명의 일 실시예에 따른 클라이언트의 콘텐츠 다운로드 방법을 설명하기 위한 흐름도, 그리고,
도 7은 본 발명의 일 실시예에 따른 서버의 동시접속 제어 방법을 설명하기 위한 흐름도이다.
* 도면 주요 부분에 대한 부호의 설명 *
100 : 서버 110 : 연결부
120 : 연결관리부 121 : 연결관리 제어부
123 : 정렬부 123 : 추출부
200-1,200-2,200-3,200-N : 클라이언트
본 발명은 서버 및 그의 동시접속 제어 방법에 관한 것으로, 보다 상세하게는, 복수 개의 클라이언트 접속을 분산함으로써, 효율적인 네트워크 트래픽을 제공하는 서버 및 그의 동시접속 제어 방법에 관한 것이다.
일반적인 콘텐츠 전송 시스템은 콘텐츠를 제공하는 하나의 서버와 콘텐츠를 제공받는 복수 개의 클라이언트로 구성된다.
구체적으로, 콘텐츠 전송 시스템은 콘텐츠에 대한 메타정보를 관리하는 CMS(Content Management System) 서버, 콘텐트의 다운로드 및 다운로드 완료여부 등의 정보를 관리하는 CDS(Content Delivery System) 서버, 콘텐츠를 저장하는 콘텐츠(CDN:Content Delivery Network) 서버, 및, CDS 서버와 콘텐츠 서버와의 통신을 수행하여 콘텐츠를 다운로드하여 표시하는 클라이언트를 포함한다. 여기서, 클라이언트는 셋탑박스로 구현될 수 있다.
복수 개의 클라이언트 각각은 주기적으로 CDS 서버와의 접속을 통해 콘텐츠 다운로드 목록을 제공받아, 콘텐츠 서버에 접속하여 콘텐츠를 다운로드한다.
그리고, 복수 개의 클라이언트 각각은 다운로드가 완료된 콘텐츠를 표시하게 된다.
이때, 복수 개의 클라이언트로부터 접속 요청을 동시에 받는 경우, 콘텐츠 서버에 부하가 발생할 수 있다.
따라서, 이러한 문제를 해결하기 위한 방법으로 서버의 네트워크 대역폭을 넓히는 경우, 콘텐츠 유지 비용이 상승하는 문제점이 발생하게 된다.
여기서, 콘텐츠 유지 비용은 네트워크 비용에 저장 비용을 합한 값으로, 네트워크 비용은 일일 접속량에 대한 최대치의 평균값에 트래픽 단가를 곱한 값으로 산출된다.
또한, 다른 방법으로 별도의 다운로드 서버를 증설하여 복수 개의 클라이언트에 대한 콘텐츠 다운로드를 중재하는 경우에도 별도의 다운로드 서버를 증설하는 콘텐츠 유지 비용이 상승하게 되는 문제점이 있다.
또한, 복수 개의 클라이언트를 그룹별로 나누어 시간차를 두고 콘텐츠를 다운로드하도록 하는 경우, 각 클라이언트들의 네트워크 상태가 서로 상이하므로, 그룹별 시간차를 크게 두지 않으면 그룹별 시간차에 의한 일일 접속량이 증가하므로, 효율적으로 네트워크 트래픽을 관리할 수 없다는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 복수 개의 클라이언트 접속을 분산함으로써, 효율적인 네트워크 트래픽을 제공하는 서버 및 그의 동시접속 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 서버는 복 수 개의 클라이언트와 데이터를 송수신하는 연결부, 및, 상기 복수 개의 클라이언트로부터 접속 요청이 있는 경우, 상기 복수 개의 클라이언트 중 동시접속 가능한 클라이언트를 추출하고, 상기 추출된 클라이언트의 접속을 허용하는 연결관리부를 포함한다.
바람직하게는, 상기 연결관리부는 상기 복수 개의 클라이언트로부터 접속 요청이 있는 경우, 상기 복수 개의 클라이언트로 콘텐츠의 헤더 정보가 기록된 다운로드 목록을 송신하고, 상기 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하도록 상기 연결부를 제어하는 연결관리 제어부를 포함할 수 있다.
보다 바람직하게는, 상기 연결관리부는 상기 다운로드 완료 정보에 포함된 전송속도에 근거하여, 상기 전송속도가 빠른 순으로 상기 복수 개의 클라이언트를 정렬하는 정렬부, 및, 동시접속 허용치에 근거하여, 상기 정렬된 복수 개의 클라이언트 중 전송속도가 빠른 클라이언트 순으로 그룹화하여 동시접속 허용 그룹을 추출하는 추출부를 더 포함할 수 있다.
또한, 상기 연결관리 제어부는 상기 동시접속 허용 그룹에 속한 클라이언트로부터 접속 요청이 있는 경우, 상기 추출된 동시접속 허용 그룹에 속한 클라이언트로 콘텐츠의 바디 정보가 기록된 다운로드 목록을 전송하도록 상기 연결부를 제어할 수 있다.
또한, 상기 연결관리부 제어부는 상기 동시접속 허용 그룹 중 하나의 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하면, 상기 동시접속 허용 그룹에 속하지 않은 클라이언트 중 전송속도가 빠른 클라이언트를 동시접속 허 용 그룹에 추가하도록 상기 추출부를 제어할 수 있다.
한편, 본 발명의 일 실시예에 따른 서버의 동시접속 제어 방법은, (a) 복수 개의 클라이언트로부터 접속 요청을 수신하는 단계, (b) 상기 복수 개의 클라이언트 중 동시접속 가능한 클라이언트를 추출하는 단계, 및, (c) 상기 추출된 클라이언트의 접속을 허용하는 단계를 포함한다.
바람직하게는, 상기 복수 개의 클라이언트로부터 접속 요청이 수신되면, 상기 복수 개의 클라이언트로 콘텐츠의 헤더 정보가 기록된 다운로드 목록을 전송하는 단계, 및, 상기 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하는 단계를 더 포함할 수 있다.
보다 바람직하게는, 상기 (b) 단계는 상기 다운로드 완료 정보에 포함된 전송속도에 근거하여, 상기 전송속도가 빠른 순으로 상기 복수 개의 클라이언트를 정렬하는 단계, 및, 동시접속 허용치에 근거하여, 상기 정렬된 복수 개의 클라이언트 중 전송속도가 빠른 클라이언트 순으로 그룹화하여 동시접속 허용 그룹을 추출하는 단계를 포함할 수 있다.
또한, 동시접속 허용 그룹에 속한 클라이언트로부터 접속 요청이 수신되면, 상기 추출된 동시접속 허용 그룹에 속한 클라이언트로 콘텐츠의 바디 정보가 기록된 다운로드 목록을 전송하는 단계를 더 포함할 수 있다.
또한, 상기 동시접속 허용 그룹 중 하나의 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하는 단계, 및, 상기 동시접속 허용 그룹에 속하지 않은 클라이언트 중 전송속도가 빠른 클라이언트를 동시접속 허용 그룹에 추가하는 단계를 더 포함할 수 있다.
이하에서, 첨부된 도면을 참조하여 본 발명에 대하여 자세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 서버를 포함한 콘텐츠 전송 시스템을 나타내는 블록도이다.
도 1을 참조하면, 콘텐츠 전송 시스템은 서버(100) 및 복수 개의 클라이언트(200-1,200-2,200-3,200-N)를 포함한다. 서버(100)와 복수 개의 클라이언트(200-1,200-2,200-3,200-N)는 네트워크를 통해 연결된다.
서버(100)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 접속 요청이 수신되면, 복수 개의 클라이언트 중 동시접속 가능한 클라이언트를 추출하여 추출된 클라이언트의 접속을 허용할 수 있다. 이러한, 서버(100)는 CDS(Content Delivery Service) 서버로 구현될 수 있다.
즉, 서버(100)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 접속 요청이 수신되면, 복수 개의 클라이언트(200-1,200-2,200-3,200-N)의 전송속도에 따라 동시접속 가능한 클라이언트를 추출할 수 있다.
그리고, 서버(100)는 추출된 클라이언트로 소정의 콘텐츠를 저장하고 있는 콘텐츠 서버(예컨대, CDN(Content Delivery Network) 서버)(미도시)에서 다운받아야할 콘텐츠를 기록한 다운로드 목록을 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로 송신할 수 있다. 이에 따라, 추출된 클라이언트는 콘텐츠 서버(미도시)에 접속할 수 있다.
본 명세서에서의 서버(100)가 클라이언트의 접속을 허용하는 의미는 복수 개 의 클라이언트(200-1,200-2,200-3,200-N)로 다운로드 목록을 전송하는 것을 의미할 수 있다.
즉, 서버(100)가 복수 개의 클라이언트 중 다운로드 목록을 전송한 클라이언트만이 콘텐츠 서버에 접속하여 콘텐츠를 다운로드할 수 있음을 의미한다.
복수 개의 클라이언트(200-1,200-2,200-3,200-N) 각각은 서버(100)로 접속 요청을 할 수 있다. 이때, 접속 요청은 주기적으로 이뤄질 수 있다.
이에 따라, 복수 개의 클라이언트(200-1,200-2,200-3,200-N) 각각은 서버(100)로부터 다운로드 목록을 수신할 수 있다.
이후, 복수 개의 클라이언트(200-1,200-2,200-3,200-N) 각각은 수신된 다운로드 목록에 근거하여 콘텐츠 서버(미도시)로부터 콘텐츠를 다운로드할 수 있다.
그리고, 복수 개의 클라이언트(200-1,200-2,200-3,200-N) 각각은 콘텐츠 다운로드가 완료되면 서버(100)로 다운로드 완료 정보를 송신할 수 있다.
한편, 복수 개의 클라이언트(200-1,200-2,200-3,200-N)는 콘텐츠를 다운로드한 후 다운로드 전송속도를 측정할 수 있다. 그리고, 측정된 전송속도를 다운로드 완료 정보에 포함하여 서버(100)로 송신할 수 있다.
이하에서는, 클라이언트에서 전송속도를 측정하는 방법을 예를 들어 설명한다.
첫 번째로 핑(Ping)과 같은 프로토콜을 이용하여 전송속도를 측정하는 방법, 및 두 번째로 다운로드한 콘텐츠의 크기 및 다운로드 소요시간을 이용하여 전송속도를 측정하는 방법, 즉, 전송속도 = 콘텐츠 크기 / 다운로드 소요시간으로 측정된 다.
따라서, 복수 개의 클라이언트(200-1,200-2,200-3,200-N)는 주기적 또는 랜덤하게 전송속도를 측정할 수 있다.
도 2는 도 1의 서버의 구성을 상세하게 나타내는 블록도이다.
도 2 및 도 1을 참조하면, 서버(100)는 연결부(110) 및 연결관리부(120)를 포함한다.
연결부(110)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)와 데이터를 송수신할 수 있다.
구체적으로, 연결부(110)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 접속 요청 및 다운로드 완료 정보를 수신할 수 있다.
또한, 연결부(110)는 복수 개의 클라이언트로 다운로드 목록을 송신할 수 있다.
연결관리부(120)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 접속 요청이 있는 경우, 복수 개의 클라이언트(200-1,200-2,200-3,200-N) 중 동시 접속 가능한 클라이언트를 추출하고, 추출된 클라이언트의 접속을 허용할 수 있다
구체적으로, 연결관리부(120)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 접속 요청이 있는 경우, 클라이언트의 전송속도에 따라 복수 개의 클라이언트(200-1,200-2,200-3,200-N)를 전송속도가 빠른 순으로 정렬하여 동시접속 가능한 클라이언트를 추출할 수 있다.
그리고, 연결관리부(120)는 추출된 클라이언트로 다운로드 목록을 송신할 수 있다. 이에 다운로드 목록을 전송받은 클라이언트만이 콘텐츠 서버(미도시)에 접속하여 콘텐츠를 다운로드할 수 있다.
한편, 연결관리부(120)는 사용자로부터 콘텐츠 서버(미도시)에 콘텐츠가 추가되는 경우, 연결관리부(120)는 콘텐츠에 대한 다운로드 목록을 업데이트할 수 있다.
이에 따라, 연결관리부(120)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로 업데이트된 다운로드 목록을 송신할 수 있다.
또한, 연결관리부(120)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N) 각각에 송신한 다운로드 목록과 업데이트된 다운로드 목록을 비교하여 추가된 콘텐츠에 대한 다운로드 목록만을 송신할 수 있다.
다르게는, 업데이트된 다운로드 목록을 수신한 클라이언트에서 이전에 수신한 다운로드 목록과 업데이트된 다운로드 목록을 비교하여 추가된 콘텐츠에 대해서만 콘텐츠 서버(미도시)로부터 콘텐츠를 다운로드할 수 있다.
도 3은 도 2의 연결관리부의 구성을 상세하게 나타내는 블록도이다.
도 3 및 도 2를 참조하면, 연결관리부(120)는 연결관리 제어부(121), 정렬부(123), 및 추출부(125)를 포함한다.
연결관리 제어부(121)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 접속 요청이 있는 경우, 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로 콘텐츠의 헤더 정보가 기록된 다운로드 목록을 송신하도록 연결부(110)를 제어할 수 있다.
여기서, 콘텐츠의 헤더 정보는 콘텐츠의 일 부분에 대한 정보를 의미한다. 즉, 연결관리 제어부(121)는 콘텐츠의 헤더 정보를 클라이언트로 알려줌으로써, 클라이언트는 콘텐츠의 헤더 정보에 따라 콘텐츠의 일 부분을 다운로드 함으로써, 신속하게 전송속도를 측정할 수 있다.
한편, 콘텐츠의 헤더 정보는 도 5를 참조하면 알 수 있다.
그리고, 연결관리 제어부(121)는 복수 개의 클라이언트(200-1,200-2,200-3,200-N)로부터 콘텐츠에 대한 다운로드 완료 정보를 수신하도록 연결부(110)를 제어할 수 있다.
또한, 연결관리 제어부(121)는 추출부(123)를 통해 추출된 동시접속 허용 그룹의 클라이언트로부터 접속 요청이 있는 경우, 동시접속 허용 그룹의 클라이언트로 콘텐츠의 바디 정보가 기록된 다운로드 목록을 전송하도록 연결부(110)를 제어할 수 있다.
여기서, 콘텐츠의 바디 정보는 콘텐츠의 헤더 정보를 제외한 나머지 정보를 의미한다.
한편, 콘텐츠의 바디 정보는 도 5를 참조하면 알 수 있다.
또한, 연결관리 제어부(121)는 동시접속 허용 그룹 중 하나의 클라이언트로부터 데이터 목록에 대한 다운로드 완료 정보를 수신하면, 동시접속 허용 그룹에서 제외된 클라이언트 중 전송속도가 빠른 클라이언트를 동시접속 허용 그룹에 추가하도록 추출부(125)를 제어할 수 있다.
이로써, 전송속도가 빠른 클라이언트를 우선적으로 콘텐츠를 다운로드하고 순차적으로 네트워크상의 전체 클라이언트가 콘텐츠를 다운로드할 수 있으므로, 효율적인 네트워크 트래픽을 제공할 수 있다.
정렬부(123)는 연결부(110)를 통해 수신된 다운로드 완료 정보에 포함된 전송속도에 근거하여 전송속도가 빠른 순으로 복수 개의 클라이언트(200-1,200-2,200-3,200-N)를 정렬할 수 있다.
추출부(125)는 동시접속 허용치에 근거하여, 정렬된 복수 개의 클라이언트(200-1,200-2,200-3,200-N) 중 전송속도가 빠른 순으로 그룹화하여 동시접속 허용 그룹을 추출할 수 있다.
구체적으로, 추출부(125)는 동시접속 허용치를 기준으로. 정렬된 복수 개의 클라이언트 중 전송속도의 합이 동시접속 허용치를 미만이거나 동일할 때까지의 클라이언트를 동시접속 허용 그룹으로 추출할 수 있다.
이에 대해, 도 4를 참조하여 더욱 상세하게 설명한다.
도 4는 본 발명의 일 실시예에 따른 동시 접속 허용그룹을 추출하는 방법을 설명하기 위한 모식도이다.
도 4를 참조하면, 연결관리부에서의 동시접속 허용 그룹을 추출하는 방법을 설명하기 위한 모식도로, 복수 개의 클라이언트를 사람형태로 도식화하였다.
본 서버의 동시접속 허용치는 50Mbps, 각 클라이언트별 최고 전송속도는 8Mbps라는 가정한다.
이에 따라, 정렬부(123)를 통해 서버에 접속 요청이 수신된 복수 개의 클라이언트(A 내지 Q)는 각각 자신의 전송속도에 따라 정렬되었음을 알 수 있다.
또한, 추출부(125)는 정렬된 복수 개의 클라이언트(A 내지 Q) 중 클라이언트 각각의 전송속도 합이 동시접속 허용치에 미만이거나 동일할 때까지 클라이언트를 추출한다.
이에, 전송속도가 가장 빠른 E 클라이언트(8Mbps), F 클라이언트(8Mbps), R 클라이언트(8Mbps), C 클라이언트(7Mbps), D 클라이언트(7Mbps), A 클라이언트(6Mbps), B 클라이언트(6Mbps) 순으로 그룹화하여 동시접속 허용 그룹(400)을 추출되었음을 알 수 있다.
여기서, 동시접속 허용 그룹(400)에 속하지 않은 클라이언트들은 동시접속 허용 그룹(400)에 속한 클라이언트의 다운로드가 완료되면, 동시접속 허용 그룹에 속하지 않은 클라이언트 중 전송속도가 빠른 클라이언트를 추가한다.
즉, 동시접속 허용 그룹(400)의 E 클라이언트(410)의 다운로드가 완료되면, 동시접속 허용 그룹(400)에 속하지 않은 클라이언트 중 전송속도가 빠른 R 클라이언트(420)를 동시접속 허용 그룹(400)에 추가한다.
이에 따라, 동시접속 허용 그룹(400)에 속한 클라이언트의 콘텐츠 다운로드가 완료되면, 동시접속 허용 그룹(400)에 속하지 않은 클라이언트를 추가하여 상술한 동작을 수행함으로써, 네트워크상의 복수 개의 클라이언트의 콘텐츠 다운로드 동작을 효율적으로 수행할 수 있도록 한다.
도 5는 본 발명의 일 실시예에 따른 콘텐츠의 데이터 포맷을 나타내는 모식도이다.
도 5를 참조하면, 클라이언트가 다운로드할 콘텐츠의 총 용량을 Total MB인 경우, 콘텐츠의 헤더 정보는 nMB에 해당되는 부분(510)을 나타내며, 콘텐츠의 바디 정보는 (Total - n)MB에 해당되는 부분(520)을 나타낸다.
예를 들어, 클라이언트가 다운로드할 콘텐츠의 총 용량이 40MB인 경우, 400KB에 해당되는 부분을 콘텐츠의 헤더 정보로 나타낼 수 있으며, 39.6MB에 해당되는 부분을 콘텐츠의 바디 정보로 나타낼 수 있다.
여기서, 콘텐츠의 헤더 정보는 설계자에 의해 변경 가능한 값으로, 본 명세서에서 제시한 400KB는 일 실시예에 불과하며, 이에 한정하지 않는다.
도 6은 본 발명의 일 실시예에 따른 클라이언트의 데이터 다운로드 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 클라이언트는 서버로 접속 요청하고(S610), 서버로부터 다운로드 목록을 수신한다(S620). 이때, 클라이언트는 서버로 주기적 또는 랜덤하게접속 요청을 할 수 있다.
그리고, 클라이언트는 수신된 다운로드 목록에 근거하여 콘텐츠 서버로부터 콘텐츠를 다운로드한다(S630).
다운로드 목록에는 콘텐츠의 헤더 정보 또는 바디 정보가 기록되어 있으며,콘텐츠 서버의 주소가 포함되어 있을 수 있다.
한편, 클라이언트는 이전에 수신된 다운로드 목록과 현재 수신된 다운로드 목록을 비교하여 추가된 콘텐츠에 대해서만 다운로드를 수행할 수 있다.
이때, 서버로부터 현재 수신된 다운로드 목록이 업그레이드된 다운로드 목록일 수 있으므로, 다운로드받은 콘텐츠를 재다운로드하지 않고,추가된 콘텐츠만 다 운로드하기 위함이다.
이후, 클라이언트는 콘텐츠 다운로드가 완료되면 서버로 다운로드 완료 정보를 송신한다(S640).
한편, 클라이언트는 콘텐츠를 다운로드한 후 다운로드 전송속도를 측정하여, 측정된 전송속도를 다운로드 완료 정보에 포함하여 서버로 송신할 수 있다.
도 7은 본 발명의 일 실시예에 따른 서버의 동시접속 제어 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 서버는 복수 개의 클라이언트로부터 접속 요청이 수신되면(S710), 복수 개의 클라이언트로 콘텐츠의 헤드 정보가 기록된 다운로드 목록을 전송한다(S720).
이후, 복수 개의 클라이언트로부터 다운로드 완료 정보가 수신되면(S730), 다운로드 완료 정보에 포함된 전송속도에 근거하여 전송속도가 빠른 순으로 복수 개의 클라이언트를 정렬한다(S740).
동시접속 허용치에 근거하여 정렬된 클라이언트 중 전송속도가 빠른 클라이언트 순으로 그룹화하여 동시접속 허용 그룹을 추출한다(S750).
그리고, 동시접속 허용 그룹에 속한 클라이언트로부터 접속 요청이 수신되면, 콘텐츠의 바디 정보가 기록된 다운로드 목록을 전송한다(S760).
이후, 동시접속 허용 그룹에 속한 클라이언트로부터 다운로드 완료 정보가 수신되면(S770), 전체 클라이언트의 다운로드가 완료되었는지 확인한다(S780).
전체 클라이언트의 다운로드가 완료되지 않은 경우(S780:N), 동시접속 허용 그룹에 속하지 않은 클라이언트 중 전송속도가 빠른 클라이언트를 동시접속 허용 그룹에 추가한다(S750). 그리고 네트워크상의 전체 클라이언트의 다운로드가 완료될 때까지 이와 같은 동작을 반복하여 수행한다.
이에 따라, 복수 개의 클라이언트 접속을 분산함으로써, 효율적인 네트워크 트래픽을 제공할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면, 복수 개의 클라이언트 접속을 분산함으로써, 효율적인 네트워크 트래픽을 제공할 수 있다.
또한, 별도의 다운로드 서버를 증설 및 네트워크 대역폭을 확장하지 않고서도 콘텐츠 전송을 효율적으로 관리할 수 있다.
또한, 콘텐츠 업그레이드 유지비용을 절감할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (10)

  1. 복수 개의 클라이언트와 데이터를 송수신하는 연결부; 및,
    상기 복수 개의 클라이언트로부터 접속 요청이 있는 경우, 상기 복수 개의 클라이언트 중 동시접속 가능한 클라이언트를 추출하고, 상기 추출된 클라이언트의 접속을 허용하는 연결관리부;를 포함하는 것을 특징으로 하는 서버.
  2. 제1항에 있어서,
    상기 연결관리부는,
    상기 복수 개의 클라이언트로부터 접속 요청이 있는 경우, 상기 복수 개의 클라이언트로 콘텐츠의 헤더 정보가 기록된 다운로드 목록을 송신하고, 상기 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하도록 상기 연결부를 제어하는 연결관리 제어부;를 포함하는 것을 특징으로 하는 서버.
  3. 제2항에 있어서,
    상기 연결관리부는,
    상기 다운로드 완료 정보에 포함된 전송속도에 근거하여, 상기 전송속도가 빠른 순으로 상기 복수 개의 클라이언트를 정렬하는 정렬부; 및,
    동시접속 허용치에 근거하여, 상기 정렬된 복수 개의 클라이언트 중 전송속도가 빠른 클라이언트 순으로 그룹화하여 동시접속 허용 그룹을 추출하는 추출부; 를 더 포함하는 것을 특징으로 하는 서버.
  4. 제3항에 있어서,
    상기 연결관리 제어부는,
    상기 동시접속 허용 그룹에 속한 클라이언트로부터 접속 요청이 있는 경우, 상기 추출된 동시접속 허용 그룹에 속한 클라이언트로 콘텐츠의 바디 정보가 기록된 다운로드 목록을 전송하도록 상기 연결부를 제어하는 것을 특징으로 하는 서버.
  5. 제4항에 있어서,
    상기 연결관리부 제어부는,
    상기 동시접속 허용 그룹 중 하나의 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하면, 상기 동시접속 허용 그룹에 속하지 않은 클라이언트 중 전송속도가 빠른 클라이언트를 동시접속 허용 그룹에 추가하도록 상기 추출부를 제어하는 것을 특징으로 하는 서버.
  6. 서버의 동시접속 제어 방법에 있어서,
    (a) 복수 개의 클라이언트로부터 접속 요청을 수신하는 단계;
    (b) 상기 복수 개의 클라이언트 중 동시접속 가능한 클라이언트를 추출하는 단계; 및,
    (c) 상기 추출된 클라이언트의 접속을 허용하는 단계;를 포함하는 것을 특징 으로 하는 동시접속 제어 방법.
  7. 제6항에 있어서,
    상기 복수 개의 클라이언트로부터 접속 요청이 수신되면, 상기 복수 개의 클라이언트로 콘텐츠의 헤더 정보가 기록된 다운로드 목록을 전송하는 단계; 및,
    상기 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하는 단계;를 더 포함하는 것을 특징으로 하는 동시접속 제어 방법.
  8. 제7항에 있어서,
    상기 (b) 단계는,
    상기 다운로드 완료 정보에 포함된 전송속도에 근거하여, 상기 전송속도가 빠른 순으로 상기 복수 개의 클라이언트를 정렬하는 단계; 및,
    동시접속 허용치에 근거하여, 상기 정렬된 복수 개의 클라이언트 중 전송속도가 빠른 클라이언트 순으로 그룹화하여 동시접속 허용 그룹을 추출하는 단계;를 포함하는 것을 특징으로 하는 동시접속 제어 방법.
  9. 제8항에 있어서,
    상기 동시접속 허용 그룹에 속한 클라이언트로부터 접속 요청이 수신되면, 상기 추출된 동시접속 허용 그룹에 속한 클라이언트로 콘텐츠의 바디 정보가 기록된 다운로드 목록을 전송하는 단계;를 더 포함하는 것을 특징으로 하는 동시접속 제어 방법.
  10. 제9항에 있어서,
    상기 동시접속 허용 그룹 중 하나의 클라이언트로부터 상기 콘텐츠에 대한 다운로드 완료 정보를 수신하는 단계; 및,
    상기 동시접속 허용 그룹에 속하지 않은 클라이언트 중 전송속도가 빠른 클라이언트를 동시접속 허용 그룹에 추가하는 단계;를 더 포함하는 것을 특징으로 하는 동시접속 제어 방법.
KR1020070004815A 2007-01-16 2007-01-16 서버 및 그의 동시접속 제어 방법 KR101382393B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070004815A KR101382393B1 (ko) 2007-01-16 2007-01-16 서버 및 그의 동시접속 제어 방법
US11/835,007 US8676924B2 (en) 2007-01-16 2007-08-07 Server and simultaneous access control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070004815A KR101382393B1 (ko) 2007-01-16 2007-01-16 서버 및 그의 동시접속 제어 방법

Publications (2)

Publication Number Publication Date
KR20090000147A true KR20090000147A (ko) 2009-01-07
KR101382393B1 KR101382393B1 (ko) 2014-04-09

Family

ID=39617733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070004815A KR101382393B1 (ko) 2007-01-16 2007-01-16 서버 및 그의 동시접속 제어 방법

Country Status (2)

Country Link
US (1) US8676924B2 (ko)
KR (1) KR101382393B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2317728B1 (en) * 2009-10-27 2013-04-10 Alcatel Lucent Method, apparatus, and server for spreading file transfer notifications in time
FR3030076B1 (fr) * 2014-12-10 2016-12-09 Bull Sas Procede de gestion d'un reseau de nœuds de calcul
US10855745B2 (en) * 2018-11-29 2020-12-01 Dell Products L.P. Systems and methods for downloading data chunks using a varying number of simultaneous connections

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793973A (en) * 1995-07-14 1998-08-11 Microsoft Corporation Method and system for opportunistic broadcasting of data
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US5905872A (en) * 1996-11-05 1999-05-18 At&T Corp. Method of transferring connection management information in world wideweb requests and responses
US6324570B1 (en) * 1997-02-25 2001-11-27 E-Parcel, Llc Prioritized delivery and content auto select system
US20030040962A1 (en) * 1997-06-12 2003-02-27 Lewis William H. System and data management and on-demand rental and purchase of digital data products
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US20010010059A1 (en) * 1998-10-28 2001-07-26 Steven Wesley Burman Method and apparatus for determining travel time for data sent between devices connected to a computer network
US7225264B2 (en) * 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6574477B1 (en) * 1999-10-06 2003-06-03 Lucent Technologies Inc. Dynamic load balancing during message processing in a wireless communication service network
US7353267B1 (en) * 2000-04-07 2008-04-01 Netzero, Inc. Targeted network video download interface
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US7979880B2 (en) * 2000-04-21 2011-07-12 Cox Communications, Inc. Method and system for profiling iTV users and for providing selective content delivery
US7562153B2 (en) * 2000-05-12 2009-07-14 AT&T Intellectual Property II, L. P. Method and apparatus for content distribution network brokering and peering
AU2001265051A1 (en) * 2000-05-26 2001-12-11 Akamai Technologies, Inc. Global load balancing across mirrored data centers
EP1410215A4 (en) * 2000-08-22 2006-10-11 Akamai Tech Inc COMPILING DYNAMIC CONTENT ON EDGE-OF-NETWORK SERVER IN A CONTENT DELIVERY NETWORK
US7779097B2 (en) * 2000-09-07 2010-08-17 Sonic Solutions Methods and systems for use in network management of content
US7502994B2 (en) * 2001-02-05 2009-03-10 Omniture, Inc. Web page link-tracking system
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
KR20030021363A (ko) * 2001-09-05 2003-03-15 윤인수 인터넷망을 기반으로 하는 멀티미디어 데이터 전송 시스템및 이를 이용한 멀티미디어 데이터 전송 방법
US7721103B2 (en) * 2001-09-18 2010-05-18 Media Rights Technologies, Inc. System and method for providing global media content delivery
US6578117B2 (en) * 2001-10-12 2003-06-10 Sonics, Inc. Method and apparatus for scheduling requests using ordered stages of scheduling criteria
US7159219B2 (en) * 2001-12-21 2007-01-02 Agere Systems Inc. Method and apparatus for providing multiple data class differentiation with priorities using a single scheduling structure
US7328049B2 (en) * 2002-06-28 2008-02-05 Nokia Corporation Pre-resource checking before file download
US7975043B2 (en) * 2003-02-25 2011-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for monitoring a network
US7574515B2 (en) * 2003-04-24 2009-08-11 Koninklijke Philips Electronics N.V. Peer to peer transfer of content
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US20050058138A1 (en) * 2003-09-12 2005-03-17 Tim Bucher Communications management system
US7574524B2 (en) * 2003-09-30 2009-08-11 International Business Machines Corporation Method and system for on-demand allocation of a dynamic network of services
US8122128B2 (en) * 2003-11-18 2012-02-21 Burke Ii Robert M System for regulating access to and distributing content in a network
US8024186B1 (en) * 2005-05-24 2011-09-20 Mobitv, Inc. System and method for location based interaction with a device
US7613780B2 (en) * 2005-06-17 2009-11-03 Microsoft Corporation Optimizing content retrieval over a data network
US8601475B2 (en) * 2005-08-02 2013-12-03 Aol Inc. Download and upload of email messages using control commands in a client/server web application
WO2007044621A2 (en) * 2005-10-07 2007-04-19 Roe River Corporation Systems and methods for uploading and downloading files in a distributed network
US7986686B2 (en) * 2005-11-25 2011-07-26 Cisco Technology, Inc. Techniques for distributing network provider digital content to customer premises nodes
US7706740B2 (en) * 2006-01-06 2010-04-27 Qualcomm Incorporated Apparatus and methods of selective collection and selective presentation of content
US20080294899A1 (en) * 2006-01-17 2008-11-27 Boardvantage, Inc. Secure management of document in a client-server environment
US20070276951A1 (en) * 2006-05-25 2007-11-29 Nicholas Dale Riggs Apparatus and method for efficiently and securely transferring files over a communications network

Also Published As

Publication number Publication date
KR101382393B1 (ko) 2014-04-09
US8676924B2 (en) 2014-03-18
US20080170589A1 (en) 2008-07-17

Similar Documents

Publication Publication Date Title
CN104820701B (zh) 数据记录和同步方法及系统
CN106790532B (zh) 一种基于边缘网络聚合的在线直播上传方法及系统
CN104935640B (zh) 一种p2p加速的内容分发网络系统及方法
WO2013159703A1 (en) Offline download method, multimedia file download method and system thereof
CN108009028A (zh) 消息处理方法、装置、设备及计算机可读存储介质
CN106453576B (zh) 一种基于混合云平台的交互方法、系统及调度中心
CN102255942A (zh) 一种多媒体量子流及云处理技术与实现方法
US20060069778A1 (en) Content distribution system
CN102025574B (zh) 电缆调制解调器联机系统及方法
CN101222347A (zh) 一种实现用户获取网络数据的方法及设备
CN106304396A (zh) 接入点发现无线控制器的方法、系统和相关装置
KR101382393B1 (ko) 서버 및 그의 동시접속 제어 방법
CN106059936B (zh) 云系统组播文件的方法及装置
CN106603660A (zh) 分布式视频协同下载方法、终端及系统
CN103248636B (zh) 离线下载的系统及方法
CN110392015B (zh) 一种处理业务请求的方法和系统
CN104580359A (zh) 带存储功能的路由器中文件分片加密存储备份及下载方法
CN106851342A (zh) 一种内容编排分发网络的设计架构
CN103825910A (zh) 获取上网认证信息的方法和装置
CN204089866U (zh) 局域网路由器和云存储系统
CN115794424B (zh) 一种通过分布式架构访问三维模型的方法
CN109905430A (zh) 一种软件升级方法与系统
CN111404719A (zh) 网络拓扑信息采集方法及系统
CN106412135A (zh) 一种提高分布式对象存储服务能力的负载均衡方法
CN101997889B (zh) 一种wlan网络中优化p2p传输的方法、系统及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180321

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190319

Year of fee payment: 6