KR20090029113A - 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 - Google Patents

파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR20090029113A
KR20090029113A KR1020070094398A KR20070094398A KR20090029113A KR 20090029113 A KR20090029113 A KR 20090029113A KR 1020070094398 A KR1020070094398 A KR 1020070094398A KR 20070094398 A KR20070094398 A KR 20070094398A KR 20090029113 A KR20090029113 A KR 20090029113A
Authority
KR
South Korea
Prior art keywords
block
file
node
availability
blocks
Prior art date
Application number
KR1020070094398A
Other languages
English (en)
Other versions
KR100929031B1 (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 KR1020070094398A priority Critical patent/KR100929031B1/ko
Priority to US12/675,771 priority patent/US8180857B2/en
Priority to PCT/KR2008/005484 priority patent/WO2009038337A2/en
Priority to CN200880107363.8A priority patent/CN101802781B/zh
Priority to JP2010524791A priority patent/JP5659016B2/ja
Priority to EP08831937A priority patent/EP2191367A4/en
Publication of KR20090029113A publication Critical patent/KR20090029113A/ko
Application granted granted Critical
Publication of KR100929031B1 publication Critical patent/KR100929031B1/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체가 개시된다. 본 발명의 바람직한 일 실시예에 따르면, 파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 각각의 블록들에 대하여 가용성(availability)값을 계산하여, 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택한다.
본 발명에 따르면, 파일과 파일을 구성하는 블록 각각에 대한 접근할 수 있는 확률을 높일 수 있어 파일의 다운로드가 보다 정확하고 신속하게 이루어질 수 있는 장점이 있다.
파일, 병렬, 다운로드, 블록, 가용성, 분산시스템, P2P, 그리드컴퓨팅

Description

파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체{Method for selecting a block of a file in parallel download, method for file parallel downloading using by the same and record media recorded program for realizing the same}
본 발명은 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체에 관한 것으로서, 보다 상세하게는 다운로드할 파일을 다수의 블록으로 분할하고 여러 개의 블록들을 서로 다른 서버나 다른 사용자의 컴퓨터 등으로부터 다운로드받는 파일 병렬 다운로드 방법에서 파일의 다운로드가 보다 신속하게 이루어질 수 있도록 하는 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체에 관한 것이다.
현재 인터넷 뿐만 아니라 이동 통신망 등의 다양한 통신망을 통한 다양한 방법으로 파일의 전송이 수행되고 있다.
파일 병렬 다운로드(parallel download)는 클라이언트(client)가 다운로드할 파일이 통신망를 통해 연결된 노드(node)들인 서버들이나 다른 클라이언트들에 존재할 때, 파일을 다수의 블록들로 분할하고, 블록들의 다운로드를 여러 서버 또는 클라이언트들에게 동시에 요청함으로써 파일의 다운로드 시간을 줄이는 방식이다.
이러한 파일 병렬 다운로드 방식은 통신망의 발달과 함께 파일 다운로드 시간을 줄일 수 있어 P2P(Peer To Peer), 그리드 컴퓨팅(Grid Computing) 등에서 널리 활용되고 있다.
이러한 파일 병렬 다운로드 방식을 수행하기 위한 종래의 블록을 선택하여 다운로드받는 방법은 크게 순차 선택(Sequential Selection), 임의 선택(Random Selection) 및 최소 빈도 우선 선택(Rarest First Selection) 등의 방법이 이용되었다.
순차 선택(Sequential Selection) 방법은 파일을 구성하는 블록들을 앞에서부터 차례로 선택하여 블록을 가진 노드에게 블록의 다운로드를 요청하는 방법이다.
순차 선택 방법에 의하면 다수의 노드들이 동일한 파일을 다운로드 한다고 가정하면, 모든 노드들의 다운로드가 완료되기 전까지 통신망 상에서 파일의 뒷부분 블록들이 복제된 개수는 앞부분의 블록들의 복제된 개수보다 적어지게 된다.
따라서 파일의 뒷부분의 블록들의 다운로드가 어려운 문제점이 있다.
임의 선택(Random Selection) 방법은 파일을 구성하는 블록들 중 하나를 임의로 선택하여 블록을 가진 노드에게 다운로드를 요청하는 방법이다.
임의 선택 방법에 의하면 동일한 파일을 다운로드 중인 모든 노드들의 동작률을 같다고 가정하면, 각 블록들의 복제 수는 동일할 것이라고 예상될 수 있다.
그러나 P2P 네트워크와 같은 ad-hoc 네트워크에서 노드들의 동작률은 상이하고 독립적이므로 임의 선택 방법은 다운로드 중인 파일에 대해 각 블록들의 복제 수가 동일하게 유지되는 것을 보장할 수 없는 문제점이 있다.
최소 빈도 우선 선택(Rarest First Selection) 방법은 다운로드 중인 파일에 대해 통신망을 통해 연결된 노드들이 가진 각 블록들의 개수를 계산하여, 가장 작은 수의 복제를 갖는 블록부터 다운로드를 요청하는 방법이다.
최소 빈도 우선 선택 방법은 다운로드 중인 블록들의 수가 동일하게 유지되는 것을 보장하는 이점은 있으나 블록을 소유한 노드들의 동작률이 상이하기 때문에 파일을 구성하는 각 블록을 가진 노드들에 접근할 수 있는 확률을 동일하게 유지하지는 못하는 문제점이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 파일과 파일을 구성하는 블록의 위치에 상관없이 파일을 구성하는 블록에 각각에 대한 접근할 수 있는 확률을 높일 수 있는 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체를 제안하는 것이다.
또한, 블록의 위치에 상관없이 파일을 구성하는 블록에 각각에 대한 접근할 수 있는 확률을 높임으로써 파일의 다운로드가 보다 정확하고 신속하게 이루어질 수 있는 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체를 제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 의하면, 파일 병렬 다운로드에서의 블록 선택 방법이 제공된다.
복수개의 노드(node)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드받기 위해 상기 파일을 구성하는 블록을 선택하는 방법에 있어서, 상기 파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 상기 각각의 블록들에 대하여 가용성(availability)값을 계산하는 단계(a); 및 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택하는 단계(b)를 포함하는 것을 특징으로 하는 블록 선택 방법이 제공된다.
상기 단계(a)는 상기 각각의 노드로 상기 파일 검색 메시지를 전송하고, 상기 각각의 노드로부터 노드 정보, 노드의 동작률 정보 및 노드에 저장된 파일의 블록 정보를 포함하는 응답 메시지를 송신한 후 수행될 수 있다.
상기 단계(a)에서 상기 노드의 동작률은 하기 [수식 1]에 의해 계산될 수 있다.
[수식 1]
Active(j) = 노드 j가 실제 동작한 기간 / 관측 기간
단, Active(j)는 노드 j의 동작률을 나타냄.
상기 단계(a)에서 상기 블록에 대한 가용성값은 하기 [수식 2]에 의해 계산될 수 있다.
[수식 2]
Availblock(f, i) = 1 - ∏ (1 - Active(j)), ( j ∈ Sources(f, i) )
단, Sources(f, i)는 파일 f의 블록 i를 소유한 노드들의 집합을, Availblock(f,i)는 파일 f의 분할된 조각인 블록 i의 가용성을 나타냄.
상기 단계(b)는 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록이 1개를 초과하는지 판단하는 단계를 더 포함하여, 상기 최소의 가용성값을 갖는 블록이 블록이 1개를 초과하는 경우, 상기 최소의 가용성값을 갖는 블록 중 하나의 블록을 선택하여 수행될 수 있다.
그리고, 상기 최소 가용성값을 갖는 블록 중 하나의 블록을 선택하는 것은 상기 최소 가용성값을 갖는 블록을 가진 노드들의 동작 여부를 판단하여 동작 중인 노드가 가진 블록을 선택할 수 있다.
본 발명의 다른 일 측면에 의하면, 파일 병렬 다운로드 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 복수개의 노드(node)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드 받는 방법에 있어서, 파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 상기 각각의 블록들에 대하여 가용성(availability)값을 계산하는 단계(a); 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택하는 단계(b); 및 상기 선택된 블록을 가진 노드로부터 상기 선택된 블록을 다운로드 받는 단계(c)를 포함하는 것을 특징으로 하는 파일 병렬 다운로드 방법이 제공된다.
상기 단계(a)는 상기 각각의 노드로 상기 파일 검색 메시지를 전송하고, 상기 각각의 노드로부터 노드 정보, 노드의 동작률 정보 및 노드에 저장된 파일의 블록 정보를 포함하는 응답 메시지를 송신한 후 수행될 수 있다.
상기 단계(a)에서 상기 노드의 동작률은 하기 [수식 1]에 의해 계산될 수 있다.
[수식 1]
Active(j) = 노드 j가 실제 동작한 기간 / 관측 기간
단, Active(j)는 노드 j의 동작률을 나타냄.
상기 단계(a)에서 상기 블록에 대한 가용성값은 하기 [수식 2]에 의해 계산될 수 있다.
[수식 2]
Availblock(f, i) = 1 - ∏ (1 - Active(j)), ( j ∈ Sources(f, i) )
단, Sources(f, i)는 파일 f의 블록 i를 소유한 노드들의 집합을, Availblock(f,i)는 파일 f의 분할된 조각인 블록 i의 가용성을 나타냄.
상기 단계(b)는 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록이 1개를 초과하는지 판단하는 단계를 더 포함하여, 상기 최소의 가용성값을 갖는 블록이 블록이 1개를 초과하는 경우, 상기 최소의 가용성값을 갖는 블록 중 하나의 블록을 선택하여 수행될 수 있다.
그리고, 상기 최소 가용성값을 갖는 블록 중 하나의 블록을 선택하는 것은 상기 최소 가용성값을 갖는 블록을 가진 노드들의 동작 여부를 판단하여 동작 중인 노드가 가진 블록을 선택할 수 있다.
본 발명의 다른 측면에 의하면, 파일 병렬 다운로드에서의 블록 선택 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
복수개의 노드(node)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드받기 위해 상기 파일을 구성하는 블록을 선택하는 방법이 구현되도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서, 상기 파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 상기 각각의 블록들에 대하여 가용성(availability)값을 계산하는 단계(a); 및 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택하는 단계(b)를 포함하는 것을 특징으로 하는 블록 선택 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 단계(a)는 상기 각각의 노드로 상기 파일 검색 메시지를 전송하고, 상기 각각의 노드로부터 노드 정보, 노드의 동작률 정보 및 노드에 저장된 파일의 블록 정보를 포함하는 응답 메시지를 송신한 후 수행될 수 있다.
상기 단계(a)에서 상기 노드의 동작률은 하기 [수식 1]에 의해 계산될 수 있다.
[수식 1]
Active(j) = 노드 j가 실제 동작한 기간 / 관측 기간
단, Active(j)는 노드 j의 동작률을 나타냄.
상기 단계(a)에서 상기 블록에 대한 가용성값은 하기 [수식 2]에 의해 계산될 수 있다.
[수식 2]
Availblock(f, i) = 1 - ∏ (1 - Active(j)), ( j ∈ Sources(f, i) )
단, Sources(f, i)는 파일 f의 블록 i를 소유한 노드들의 집합을, Availblock(f,i)는 파일 f의 분할된 조각인 블록 i의 가용성을 나타냄.
상기 단계(b)는 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록이 1개를 초과하는지 판단하는 단계를 더 포함하여, 상기 최소의 가용성값을 갖는 블록이 블록이 1개를 초과하는 경우, 상기 최소의 가용성값을 갖는 블록 중 하나의 블록을 선택하여 수행될 수 있다.
그리고, 상기 최소 가용성값을 갖는 블록 중 하나의 블록을 선택하는 것은 상기 최소 가용성값을 갖는 블록을 가진 노드들의 동작 여부를 판단하여 동작 중인 노드가 가진 블록을 선택할 수 있다.
본 발명의 다른 측면에 의하면, 파일 병렬 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 복수개의 노드(nide)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드 받는 방법이 구현되도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서, 파일을 구성하는 블록들을 가진 각각의 노드들의 동작률을 이용하여 상기 각각의 블록들에 대하여 블록 가용성값을 계산하는 단계(a); 상기 계산된 블록 가용성값 중 최소의 블록 가용성값을 가진 블록을 선택하는 단계(b); 및 상기 선택된 블록을 가진 노드로부터 상기 선택된 블록을 다운로드받는 단계(c)를 포함하는 것을 특징으로 하는 파일 병렬 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 단계(a)는 상기 각각의 노드로 상기 파일 검색 메시지를 전송하고, 상기 각각의 노드로부터 노드 정보, 노드의 동작률 정보 및 노드에 저장된 파일의 블록 정보를 포함하는 응답 메시지를 송신한 후 수행될 수 있다.
상기 단계(a)에서 상기 노드의 동작률은 하기 [수식 1]에 의해 계산될 수 있 다.
[수식 1]
Active(j) = 노드 j가 실제 동작한 기간 / 관측 기간
단, Active(j)는 노드 j의 동작률을 나타냄.
상기 단계(a)에서 상기 블록에 대한 가용성값은 하기 [수식 2]에 의해 계산될 수 있다.
[수식 2]
Availblock(f, i) = 1 - ∏ (1 - Active(j)), ( j ∈ Sources(f, i) )
단, Sources(f, i)는 파일 f의 블록 i를 소유한 노드들의 집합을, Availblock(f,i)는 파일 f의 분할된 조각인 블록 i의 가용성을 나타냄.
상기 단계(b)는 상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록이 1개를 초과하는지 판단하는 단계를 더 포함하여, 상기 최소의 가용성값을 갖는 블록이 블록이 1개를 초과하는 경우, 상기 최소의 가용성값을 갖는 블록 중 하나의 블록을 선택하여 수행될 수 있다.
그리고, 상기 최소 가용성값을 갖는 블록 중 하나의 블록을 선택하는 것은 상기 최소 가용성값을 갖는 블록을 가진 노드들의 동작 여부를 판단하여 동작 중인 노드가 가진 블록을 선택할 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체에 의하면, 파일과 파일을 구성하는 블록의 위치에 상관없이 파일을 구성하는 블록 각각에 대한 접근할 수 있는 확률을 높일 수 있는 장점이 있다.
또한, 블록의 위치에 상관없이 파일을 구성하는 블록에 각각에 대한 접근할 수 있는 확률을 높임으로써 파일의 다운로드가 보다 정확하고 신속하게 이루어질 수 있는 장점이 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
먼저 도 1을 참조하여 본 발명의 바람직한 일 실시예에 따른 파일 병렬 다운로드가 수행될 수 있는 파일 병렬 다운로드 시스템에 대하여 살펴보기로 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 파일 병렬 다운로드가 수행될 수 있는 파일 병렬 다운로드 시스템을 예시하여 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 파일 병렬 다운로드 시스템은 노드1(100a), 노드2(100b), 노드3(100c)… 노드n(100n) 등 복수 개의 노드를 포함할 수 있다.
노드(node)(100)는 통신망(110)에 연결된 컴퓨터로서 통신 기능을 구비하여 통신망(110)에 접속하여 다른 노드(100)와 연결될 수 있는 장치이면 아무런 제한이 없다.
노드(100)는 예를 들면, 사용자 퍼스널 컴퓨터(PC)와 휴대 전화, 개인 휴대 단말기(PDA : Personal Digital Assistant) 등의 무선 단말기 뿐만 아니라 다른 단말로 서비스를 제공하기 위한 컴퓨팅 장치인 서버(server) 등이 가능하다.
다만, 이하에서는 설명의 편의를 위해 파일 병렬 다운로드를 요청하는 노드(100)를 노드1(100a)로, 다른 노드들(노드2(100b), 노드3(100c), … 노드n(100n))을 파일 전송해주는 노드들로 가정하기로 한다.
각각의 노드(100)들은 통신망(110)을 통해 연결되어 있으며, 통신망(110)은 인터넷 및 이동 통신망을 포함할 뿐만 아니라, 인터넷은 TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service) 등을 제공하는 전세계적인 개방형 네트워크 구조를 모두 포함한다.
또한, 이동 통신망은 기지국(BS : Base Station), 이동전화 교환국(MTSO : Mobile Telephone Switching Office), 홈 위치 등록기(HLR : Home Location Register) 이외에, 무선 패킷 데이터의 송수신을 가능하게 하는 액세스 게이트웨이(Access Gateway), PDSN(Packet Data Serving Node) 등과 같은 구성 요소를 추가로 포함한다.
본 발명에 의한 파일 병렬 다운로드가 수행되기 위해서는 먼저 병렬 다운로 드 중인 파일에 대해 처리 단위가 파일(file)이 아닌 파일을 구성하는 블록(block)으로 설정된다.
그리고 각각의 노드(100)에서는 노드(100) 자신에 대한 동작률(activity rate)을 계산한다.
노드(100)의 동작률은 미리 설정된 관측 시간 동안 노드(100) 자신이 정상적으로 파일을 전송할 수 있는 확률을 말한다.
노드(100)의 동작률은 [수식 1]과 같은 수식에 의해 계산될 수 있다.
[수식 1]
Active(j) = 노드 j가 실제 동작한 기간 / 관측 기간
[수식 1]에서 Active(j)는 노드 j의 동작률이며, 관측 기간은 미리 설정된 시간이다.
한편, 파일을 다운로드 받고자 하는 노드1(100a)은 다운로드 받고자 하는 파일을 구성하는 블록에 대해 가용성(availability)을 계산한다.
가용성은 복수 개의 노드(100)로 구성되는 분산 시스템에서 전역적으로 해당 파일 또는 블록에 접근할 수 있는 확률을 말한다.
따라서, 파일 가용성(file availability)은 분산 시스템에서 전역적으로 파일을 접근할 수 있는 확률이며, 블록 가용성(block availability)은 분산 시스템에서 파일을 구성하는 블록을 전역적으로 접근할 수 있는 확률이다.
먼저 블록의 가용성은 [수식 2]와 같은 수식에 의해 계산될 수 있다.
[수식 2]
Availblock(f, i) = 1 - ∏ (1 - Active(j)), ( j ∈ Sources(f, i) )
[수식 2]에서 Sources(f, i)는 파일 f의 블록 i를 소유한 노드들의 집합을 의미하며, Availblock(f,i)는 파일 f의 분할된 조각인 블록 i의 가용성을 의미한다.
블록 가용성은 블록을 업로드 할 수 있는 노드들의 동작 여부에 종속되기 때문에 블록을 업로드 할 수 있는 노드들의 동작률의 곱을 이용하여 계산될 수 있다.
그리고 블록으로 구성된 파일의 가용성은 [수식 3]과 같은 수식에 의해 계산될 수 있다.
[수식 3]
Availfile(f) = Min { Availblock(f, k) }, ( k: 정수, 0< k < m+ 1 )
[수식 3]에서 Availfile(f)는 파일 f가 m개의 블록들로 분할될 때, 파일 f의 가용성을 의미한다.
파일의 가용성은 다운로드 중인 파일에서 하나의 블록이라도 다운로드 할 수 없다면 파일의 다운로드는 완료할 수 없기 때문에 파일을 구성하는 블록들의 가용성 중 최소값으로 정의될 수 있는 것이다.
본 발명에서는 이러한 노드(100)의 동작률과 파일 및 파일을 구성하는 블록에 대한 가용성을 이용하여 결정된 노드(100)로부터 파일을 구성하는 블록들을 전송 받음으로써 해당 파일의 다운로드가 보다 원활하게 이루어지도록 한다.
본 발명에 의한 파일 병렬 다운로드 시스템에서 파일의 다운로드가 이루어지는 것을 도 1을 참조하여 살펴보면, 전술한 바와 같이 각각의 노드(100a, 100b, 100c, … 100n)들은 노드의 동작률을 연산하고 있다.
이러한 상태에서 먼저 파일을 다운로드 받고자 하는 노드1(100a)은 다운로드 받고자 하는 파일에 대하여 각각의 노드(100b, 100c, … 100n)로 파일 검색 메시지를 전송한다.
노드1(100a)이 다운로드 받고자 하는 파일의 각 블록을 소유한 노드 또는 노드들(100b, 100c, … 100n)은 파일 검색 메시지에 대한 응답 메시지에 자신의 노드 정보, 노드의 동작률 정보 그리고 노드에 저장된 파일의 블록 정보를 포함하여 노드1(100a)로 전송한다.
노드1(100a)은 수신된 노드 정보, 노드의 동작률 정보 및 노드에 저장된 파일의 블록 정보를 이용하여 블록 가용성을 계산하고 최소 가용성을 갖는 블록을 가지는 노드로 다운로드를 요청하여 해당 블록을 다운로드 받게 된다.
본 발명에서는 노드의 동작률과 이를 이용한 파일 및 블록의 가용성 정보를 이용하여 블록의 가용성이 낮은 블록부터 다운로드 받음으로써 최종적으로 완성된 파일의 다운로드 완료가 보다 신속하게 이루어지게 된다.
또한, 해당 파일을 구성하는 블록을 우선하여 다운로드 받게 되므로 전역적으로 파일의 가용성 즉 해당 파일에 접근할 수 있는 확률이 향상되게 된다.
이하에서는 이러한 파일과 블록의 가용성의 계산을 도 2와 도3의 예시를 통해 살펴본다.
먼저 도 2는 본 발명의 바람직한 일 실시예에 따른 블록 선택 방법을 구현하 기 위한 블록 가용성과 파일 가용성 계산의 예시를 위한 파일 병렬 다운로드 시스템을 예시도이다.
도 2의 예시에서는 파일 f가 두 개의 블록 b1과 b2 분할되고, 세 개의 노드인 노드1(100a), 노드2(100b) 및 노드3(100c)이 모두 블록 b1만을 저장하고 있는 경우를 가정한 것이다.
도 2의 예시와 같은 경우 파일 f에 대한 다운로드 요청은 완료될 수 없다.
이를 앞서 살펴본 블록에 대한 가용성을 계산하는 수식들을 이용하여 나타내면 블록 b2를 소유한 노드가 없기 때문에 블록 b2에 대한 가용성은 전술한 [수식 2]에 의해 Availblock(f, 2) =0 이 된다.
따라서 전술한 [수식 3]에 의하면 파일 f에 대한 가용성 역시 Availfile(f) = 0이 된다.
도 3의 예시에서는 파일 f가 세 개의 블록 b1, b2 및 b3로 분할되고, 노드1(100a)이 b1 및 b3를 노드2(100b)가 b2 및 b3을 그리고 노드3(100c)이 블록 b3을 저장하고 있는 경우를 가정한 것이다.
그리고 각각의 노드의 동작률을 Active(1) = 0.3, Active(2) = 0.3, Active(3) = 0.3이라 가정한 것이다.
이 경우 먼저 블록 b1, b2 및 b3의 가용성은 전술한 [수식 2]에 의해 다음 [수식 4]와 같이 나타내고 계산될 수 있다.
[수식 4]
Availblock(f,b1) = 1 - ((1-0.3) × (1-0.4)) = 0.58
Availblock(f,b2) = 1 - ((1-0.3) × (1-0.4)) = 0.58
Availblock(f,b3)= 1 - (1-0.4) = 0.4
이러한 각 블록에 대하여 계산된 가용성 값을 이용하여 전술한 [수식 3]에 의해 파일 f에 대한 가용성은 다음 [수식 5]와 같이 나타내고 계산되어 질 수 있다.
[수식 5]
Availfile(f) = Min {0.58, 0.58, 0.4 } = 0.4
이러한 계산 결과로부터 파일과 그 파일에 대해 접근할 수 있는 확률인 가용성값을 계산할 수 있게 되며, 본 발명에서는 이러한 가용성값을 이용하여 파일의 병렬 다운로드를 수행하게 되는 것이다.
이러한 각 노드의 동작률과 파일 및 블록의 가용성의 계산에 의해 파일의 병렬 다운로드가 수행되는 과정을 도 4를 참조하여 살펴보기로 한다.
도 4는 파일 병렬 다운로드에서 본 발명의 바람직한 일 실시예에 따른 블록 선택 방법이 구현되는 순서를 도시한 순서도이다.
도 4에 도시된 바와 같이, 먼저 병렬 다운로드가 시작되면, 먼저 파일을 구성하는 모든 블록들의 수신이 완료되었는지 여부를 확인한다(S400)
만약 다운로드 받지 못한 미수신 블록이 존재한다면, 이들을 소유한 노드들 의 동작률 정보를 이용하여, 미수신 블록에 대한 블록 가용성을 계산한다(S402).
노드의 동작률과 블록의 가용성 계산 방법은 전술한 [수식 1]과 [수식 2]가 이용될 수 있다.
계산된 블록의 가용성 중 최소 가용성 값을 갖는 블록을 선택한다(S404).
그리고 선택된 최소 가용값을 갖는 블록이 1개를 초과하는지 판단한다(S406).
만약 선택된 최소 가용값을 갖는 블록이 1개인 경우라면 해당 블록을 가진 노드로 선택된 블록의 다운로드 요청을 수행한다(S408).
한편, 만약 미수신 블록이 존재하고, 이를 가진 노드가 현재 통신망에서 동작하지 않는 경우라면, 선택된 블록을 가진 노드가 통신망에서 동작할 때까지 대기하였다가 해당 노드가 동작하는 경우 선택된 블록을 다운로드 받을 수 있다.
반면 선택된 최소 가용값을 갖는 블록이 1개를 초과하는 경우라면, 최소 가용성값을 갖는 블록 중 하나의 블록을 임의로 선택하여 해당 블록을 가진 노드로 선택된 블록의 다운로드 요청을 수행한다(S410).
한편, 최소 가용성값을 갖는 블록 중 하나의 블록을 임의로 선택하는 것은 현재 해당 블록을 가진 노드의 동작 여부를 판단하여 해당 블록을 가진 노드가 동작하는 경우 우선적으로 동작하는 노드가 가진 블록을 선택하여 다운로드 받도록 할 수 있다
본 발명에서는 노드의 동작률과 이를 이용하여 블록과 파일의 가용성을 계산하고, 블록의 가용성이 낮은 블록부터 다운로드 받음으로써 최종적으로 완성된 파 일의 다운로드 완료가 보다 신속하게 이루어지게 된다.
또한, 해당 파일을 구성하는 블록을 우선하여 다운로드 받게 되므로 전역적으로 파일의 가용성이 증가하는 즉 해당 파일에 접근할 수 있는 확률이 향상되게 된다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 본 발명의 바람직한 일 실시예에 따른 파일 병렬 다운로드가 수행될 수 있는 파일 병렬 다운로드 시스템을 예시하여 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 블록 선택 방법을 구현하기 위한 블록 가용성과 파일 가용성 계산의 예시를 위한 파일 병렬 다운로드 시스템을 예시도.
도 3은 본 발명의 바람직한 일 실시예에 따른 블록 선택 방법을 구현하기 위한 블록 가용성과 파일 가용성을 계산의 또 다른 예시를 위한 파일 병렬 다운로드 시스템의 예시도.
도 4는 본 발명의 바람직한 일 실시예에 따른 파일 병렬 다운로드 방법이 구현되는 순서를 도시한 순서도.

Claims (9)

  1. 복수개의 노드(node)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드받기 위해 상기 파일을 구성하는 블록을 선택하는 방법에 있어서,
    상기 파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 상기 각각의 블록들에 대하여 가용성(availability)값을 계산하는 단계(a); 및
    상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택하는 단계(b)를 포함하는 것을 특징으로 하는 블록 선택 방법.
  2. 제1항에 있어서,
    상기 단계(a)는,
    상기 각각의 노드로 상기 파일 검색 메시지를 전송하고, 상기 각각의 노드로부터 노드 정보, 노드의 동작률 정보 및 노드에 저장된 파일의 블록 정보를 포함하는 응답 메시지를 송신한 후 수행되는 것을 특징으로 하는 블록 선택 방법.
  3. 제1항에 있어서,
    상기 단계(a)에서,
    상기 노드의 동작률은 하기 [수식 1]에 의해 계산되는 것을 특징으로 블록 선택 방법:
    [수식 1]
    Active(j) = 노드 j가 실제 동작한 기간 / 관측 기간
    단, Active(j)는 노드 j의 동작률을 나타냄.
  4. 제1항에 있어서,
    상기 단계(a)에서,
    상기 블록에 대한 가용성은 하기 [수식 2]에 의해 계산되는 것을 특징으로 블록 선택 방법:
    [수식 2]
    Availblock(f, i) = 1 - ∏ (1 - Active(j)), ( j ∈ Sources(f, i) )
    단, Sources(f, i)는 파일 f의 블록 i를 소유한 노드들의 집합을, Availblock(f,i)는 파일 f의 분할된 조각인 블록 i의 가용성을 나타냄.
  5. 제1항에 있어서,
    상기 단계(b)는,
    상기 계산된 가용성 값 중 최소의 가용성값을 갖는 블록이 1개를 초과하는지 판단하는 단계를 더 포함하여,
    상기 최소의 가용성값을 갖는 블록이 블록이 1개를 초과하는 경우, 상기 최소의 가용성값을 갖는 블록 중 하나의 블록을 선택하는 것을 특징으로 하는 블록 선택 방법.
  6. 제5항에 있어서,
    상기 최소 가용성값을 갖는 블록 중 하나의 블록을 선택하는 것은,
    상기 최소 가용성값을 갖는 블록을 가진 노드들의 동작 여부를 판단하여 동작 중인 노드가 가진 블록을 선택하는 것을 특징으로 하는 블록 선택 방법.
  7. 복수개의 노드(node)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드 받는 방법에 있어서,
    파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 상기 각각의 블록들에 대하여 가용성(availability)값을 계산하는 단계(a);
    상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택하는 단계(b); 및
    상기 선택된 블록을 가진 노드로부터 상기 선택된 블록을 다운로드 받는 단 계(c)를 포함하는 것을 특징으로 하는 파일 병렬 다운로드 방법.
  8. 복수개의 노드(node)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드받기 위해 상기 파일을 구성하는 블록을 선택하는 방법이 구현되도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서,
    상기 파일을 구성하는 블록들을 가진 각각의 노드의 동작률을 이용하여 상기 각각의 블록들에 대하여 가용성(availability)값을 계산하는 단계(a); 및
    상기 계산된 가용성값 중 최소의 가용성값을 갖는 블록을 선택하는 단계(b)를 포함하는 것을 특징으로 하는 블록 선택 방법을 구현하기 위한 프로그램을 기록한 기록매체.
  9. 복수개의 노드(nide)로 구성되는 파일 병렬 다운로드 시스템에서 임의의 노드가 파일을 다운로드 받는 방법이 구현되도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서,
    파일을 구성하는 블록들을 가진 각각의 노드들의 동작률을 이용하여 상기 각 각의 블록들에 대하여 블록 가용성값을 계산하는 단계(a);
    상기 계산된 블록 가용성값 중 최소의 블록 가용성값을 가진 블록을 선택하는 단계(b); 및
    상기 선택된 블록을 가진 노드로부터 상기 선택된 블록을 다운로드받는 단계(c)를 포함하는 것을 특징으로 하는 파일 병렬 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체.
KR1020070094398A 2007-09-17 2007-09-17 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 KR100929031B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020070094398A KR100929031B1 (ko) 2007-09-17 2007-09-17 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
US12/675,771 US8180857B2 (en) 2007-09-17 2008-09-17 Method for downloading file in parallel
PCT/KR2008/005484 WO2009038337A2 (en) 2007-09-17 2008-09-17 Method for downloading file in parallel
CN200880107363.8A CN101802781B (zh) 2007-09-17 2008-09-17 文件并行下载方法
JP2010524791A JP5659016B2 (ja) 2007-09-17 2008-09-17 ファイルの並列ダウンロード方法
EP08831937A EP2191367A4 (en) 2007-09-17 2008-09-17 METHOD FOR DOWNLOADING PARALLEL FILES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070094398A KR100929031B1 (ko) 2007-09-17 2007-09-17 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20090029113A true KR20090029113A (ko) 2009-03-20
KR100929031B1 KR100929031B1 (ko) 2009-11-26

Family

ID=40468592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070094398A KR100929031B1 (ko) 2007-09-17 2007-09-17 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체

Country Status (6)

Country Link
US (1) US8180857B2 (ko)
EP (1) EP2191367A4 (ko)
JP (1) JP5659016B2 (ko)
KR (1) KR100929031B1 (ko)
CN (1) CN101802781B (ko)
WO (1) WO2009038337A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429286B2 (en) 2007-06-28 2013-04-23 Apple Inc. Methods and systems for rapid data acquisition over the internet
US20100121828A1 (en) * 2008-11-11 2010-05-13 You Wang Resource constraint aware network file system
CN102314421B (zh) * 2010-06-29 2014-12-10 中兴通讯股份有限公司 一种文件系统被破坏后的自救方法和设备
US8510267B2 (en) * 2011-03-08 2013-08-13 Rackspace Us, Inc. Synchronization of structured information repositories
US20140280753A1 (en) * 2013-03-15 2014-09-18 Arroware Industries, Inc. Method and apparatus for peer-to-peer file sharing
CN106027582A (zh) * 2015-09-16 2016-10-12 展视网(北京)科技有限公司 一种内容相关的并行下载方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4017A (en) * 1845-05-01 Reid r
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
KR100521361B1 (ko) 2001-09-14 2005-10-14 박영찬 네트워크 환경에서의 파일 공동 전송 방법
JP2004126912A (ja) * 2002-10-02 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> 分割ダウンロード方法、それに用いるリスト記述装置と方法およびそのプログラム。
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
KR100518085B1 (ko) * 2003-04-01 2005-09-29 주식회사 인츠커뮤니티 파일을 병렬로 다운로드받는 장치 및 방법
JP2005222295A (ja) * 2004-02-05 2005-08-18 Oki Electric Ind Co Ltd ファイル転送方法
US7631098B2 (en) * 2004-06-08 2009-12-08 International Business Machines Corporation Method, system and program product for optimized concurrent data download within a grid computing environment
JP4487186B2 (ja) * 2004-10-08 2010-06-23 ソニー株式会社 データ取得提供プログラム
JP2007018108A (ja) * 2005-07-06 2007-01-25 Nippon Telegr & Teleph Corp <Ntt> 最適分割ダウンロード方式によるダウンロードリスト作成方法およびリスト作成装置、ならびにそのプログラム
CN100411341C (zh) * 2005-08-10 2008-08-13 华为技术有限公司 一种并行下载方法和终端
US7949641B1 (en) * 2006-02-15 2011-05-24 Crimson Corporation Systems and methods for validating a portion of a file that is downloaded from another computer system
US7945689B2 (en) * 2007-03-23 2011-05-17 Sony Corporation Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model

Also Published As

Publication number Publication date
KR100929031B1 (ko) 2009-11-26
JP2010539585A (ja) 2010-12-16
WO2009038337A2 (en) 2009-03-26
EP2191367A2 (en) 2010-06-02
US8180857B2 (en) 2012-05-15
CN101802781A (zh) 2010-08-11
WO2009038337A3 (en) 2009-05-07
US20100257256A1 (en) 2010-10-07
EP2191367A4 (en) 2012-08-15
JP5659016B2 (ja) 2015-01-28
CN101802781B (zh) 2013-04-17

Similar Documents

Publication Publication Date Title
Sun et al. Dynamic resource caching in the IoT application layer for smart cities
US8082290B2 (en) Intelligent establishment of peer-to-peer communication
EP2611111B1 (en) Method of implementing content-centric network (CCN) using internet protocol (IP)-based network in gateway, and gateway
EP2294515B1 (en) Request routing using network computing components
Majeed et al. Multimedia streaming in information-centric networking: A survey and future perspectives
KR100929031B1 (ko) 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
JP2014514633A (ja) 割り当てられたネットワークアドレスを有するデバイスにアクセスするウェブプロキシサーバを使用したシステムおよび方法
RU2009135239A (ru) Способы доступа к удаленным данным для портативных устройств
US8341285B2 (en) Method and system for transferring files
US20060236386A1 (en) Method and apparatus for cooperative file distribution in the presence of firewalls
WO2011088725A1 (zh) 基于http的同步方法和装置
TW201405324A (zh) 雲端資料儲存系統及基於該系統的資料儲存與共用方法
Park et al. Smart base station-assisted partial-flow device-to-device offloading system for video streaming services
CN103905516B (zh) 分享数据的方法及相应服务器和终端
EP2025121A2 (en) Mobile phone used within a client-server system
CN102571942A (zh) 一种在p2p网络中推送资源信息并提供服务的方法与设备
US11297131B2 (en) Method and apparatus for multi-vendor GTM fabric
CN115669075A (zh) 专用网络装置和专用局域网连接、内容发现、数据传输和控制方法
CN103685497A (zh) 一种在线存储共享方法和系统
KR20150025249A (ko) 배칭 기반의 콘텐트 라우팅 방법 및 배칭 기반의 콘텐트 라우팅 방법을 수행하는 장치
Pitkänen et al. Enabling opportunistic storage for mobile DTNs
CN104580276A (zh) 信息推送方法、装置、系统及信息接入装置
KR101006539B1 (ko) 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법,이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
CN102035677A (zh) 一种比特流文件共享网络中的主动传播控制方法
CN105359485A (zh) 由客户终端获得多媒体内容的内容部分的方法

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
FPAY Annual fee payment

Payment date: 20121031

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140930

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161118

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171025

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191105

Year of fee payment: 11