KR20070029727A - 그리드 컴퓨팅 환경 내의 최적의 동시 데이터 다운로드 - Google Patents

그리드 컴퓨팅 환경 내의 최적의 동시 데이터 다운로드 Download PDF

Info

Publication number
KR20070029727A
KR20070029727A KR1020067025182A KR20067025182A KR20070029727A KR 20070029727 A KR20070029727 A KR 20070029727A KR 1020067025182 A KR1020067025182 A KR 1020067025182A KR 20067025182 A KR20067025182 A KR 20067025182A KR 20070029727 A KR20070029727 A KR 20070029727A
Authority
KR
South Korea
Prior art keywords
download
servers
data
client
server
Prior art date
Application number
KR1020067025182A
Other languages
English (en)
Other versions
KR101019982B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34970262&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20070029727(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20070029727A publication Critical patent/KR20070029727A/ko
Application granted granted Critical
Publication of KR101019982B1 publication Critical patent/KR101019982B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Image Generation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

클라이언트(client) 컴퓨터들과 다운로드(download) 관리 시스템과의 네트워크 통신에서 복수의 다운로드 서버를 갖는 그리드 컴퓨터(grid computer) 시스템에 있어서, 클라이언트는 복수의 다운로드 서버에서 클라이언트로 데이터를 병렬로 다운로드 하기 위하여 다운로드 관리 시스템으로부터 다운로드 계획을 요청한다. 클라이언트는 다운로드 계획에 의하여 식별된 다운로드 서버들로부터 데이터 청크(chunk of data)들을 요청한다. 상기 클라이언트는 상기 데이터 청크의 다운로드 완료 성능을 향상시키기 위하여, 상기 다운로드 서버들 중에서 상기 청크들과 이 청크들 중 재할당된 부분들을 다운로드 하는 다운로드 서버의 성능을 감시한다. 다운로드 된 데이터 청크는 복수의 파일들, 하나의 파일이거나, 또는 데이터 파일의 일부이다.

Description

그리드 컴퓨팅 환경 내의 최적의 동시 데이터 다운로드{OPTIMIZED CONCURRENT DATA DOWNLOAD WITHIN A GRID COMPUTING ENVIRONMENT}
본 발명은 컴퓨터 데이터 처리에 관한 것으로, 보다 상세하게는 그리드 컴퓨팅 환경(Grid computing environment)에서 데이터를 다운로드하는 것에 관한 것이다.
그리드 컴퓨팅은 단일 시스템의 이미지를 만들기 위하여 처리 파워, 네트워크 대역폭, 및 저장 용량과 같은 분산된 컴퓨팅 자원들을 가상화(vitualization)하는 것으로, 사용자와 애플리케이션에 광대한 IT 능력에 대한 균일한 접근을 부여한다. 그리드 컴퓨팅에 관한 보다 많은 정보를 위한 소스는 웹 사이트 "www.globus.org/research/papers/ogsa.pdf"에서 발행된 포스터(Foster), 케셀먼(Kesselman), 닉(Nick), 투케(Tuecke) 등의 "그리드의 생리학 - 분산 시스템 통합을 위한 개방형 그리드 서비스 구조(The Physiology of the Grid - an open grid services architecture for distributed systems integration)"에서 발견되며, 이 논문은 여기에서 참조로 포함된다.
찰머스 공과대학(Chalmers University of Technology)의 렐비스트 및 벵슨(Llevist and Bengsson)의 논문 "네트워크 프로세서를 이용하는 그리드 컴퓨팅 분산(Grid Computing Distribution Using Network Processors)"은 그리드 컴퓨팅에 대해 논의하고 있다. 이 논문은 네트워크의 노드들(그리드)에 코드와 데이터 모두를 분산시키는 새로운 컴퓨팅 모델의 제안에 초점을 두고 있는데, 상기 네트워크의 라우터(router)는 라우터에 의하여 수집된 지식에 기초하여 코드를 실행시키도록 어느 노드들이 선택되어야 하는지를 결정할 것이다.
미국 특허 제 6,339,785[B1: 파이겐바움(Feigenbaum)]호 "다중 서버 파일 다운로드(Multi-Server File Download)"에서 서버로부터의 다운로드 속도가 소정의 예상속도 이하로 떨어질때, 파이겐바움은 그 서버를 제거한다. 서버가 자신의 데이터 청크(data chunk) 부분을 종료하면, 파이겐바움은 필요치 않을 경우(모든 다른 서버들이 소정의 예상 속도 이상이면) 그 서버를 더이상 사용하지 않는다. 파이겐바움 특허에서 중요한 것은 2개의 서버가 10k/s로 되는 상황들이 존재한다는 것이다. 이후 다운로드가 두개의 동일한 청크를 가지고 시작한다. 첫번째 서버가 10k/s로 되면, 그것은 예상 속도와 일치한다. 두번째 서버는 1,000k/s(네트워크는 동적이므로..)로 되고, 자신의 청크를 올바로 종료한 것이다. 파이겐바움은 종료시까지 첫번째 청크를 10k/s로 유지할 것이다("서버의 성능이 소정 레벨 이하로 떨어지면, 링크가 중단된다"). 여기에는 1,000k/s의 서버에 10k/s 청크를 재할당하기 위한 방법이 존재하지 않으며, 이 프로세스를 계속할 것이다.
그리드 네트워크에서 서버들로부터 데이터를 지능적으로 다운로드 할 필요성 이 존재한다.
본 발명은 청구범위 1과 14에서 청구하는 것과 같은 방법과 해당 컴퓨터 프로그램들과 시스템들을 제공한다.
그리드 컴퓨팅은 단일 시스템의 이미지를 만들기 위하여 처리 파워, 네트워크 대역폭, 및 저장 용량과 같은 분산된 컴퓨팅 자원들을 가상화(vitualization)하는 것으로, 사용자와 애플리케이션에 광대한 IT 능력에 대한 균일한 접근을 부여한다. 본 출원서에서 본 출원인은 그리드 컴퓨팅 환경 내에서의 다운로드 서비스를 설명한다.
전통적인 클라이언트 서버 또는 P2P(Peer-to-Peer: 피어 투 피어)를 사용하는 대신, 본 발명은 서비스 제공자, 소비자, 및 브로커(broker)의 모델을 사용한다. 브로커는 서비스의 로드맵(roadmap)을 제공하고, 애플리케이션의 보안을 지키며 기록들을 관리할 책임을 진다. 소비자는 서비스 제공자들과 접속하고 브로커로부터 필요한 인증과 자격을 얻은 후에만 서비스 제공자들로부터 서비스를 받을 수 있다. 또한, 브로커는 소비자에게 다수의 서비스 제공자로부터 동시에 서비스를 받으라고 지도할 수도 있다. 다운로드 그리드와의 연계에서 브로커는 관리 서비스로서 구현되고, 서비스 제공자는 다운로드 서버로서 구현되며, 소비자는 클라이언트 에이전트로서 구현된다. 이 에이전트는 최종 사용자를 대신하여 파일 다운로드를 개시 및 처리한다. 이 모델은 다양한 그리드 애플리케이션에 적용될 수 있다.
본 발명은 높은 처리량의 다운로드 서비스를 제공하는 한편, 효과적으로 네트워크 자원들을 관리하고 분산된 자원물들에 대한 접근을 제어한다.
바람직하게도, 본 발명은 최적화된 계획에 기초하여 다수의 서버로부터의 병렬 데이터 전송(다운로드)을 지원하도록 다수의 동시 데이터 스트림을 제공한다. 최적화는 바람직하게 1) 서비스 요청 노드(또는 클라이언트)의 네트워크 액세스 점, 2) 서버들의 토폴로지(topology), 3) 서비스 요구 순간의 네트워크 트래픽, 및 4) 클라이언트를 위한 서버스 수준 계약에 기초한다.
바람직하게도, 본 발명은 자격증과 최적화된 계획을 보호하기 위하여 X.509 프록시(proxy)를 사용한다.
바람직하게, 클라이언트를 위한 최대 허용 가능 대역폭을 클라이언트를 지원하는 초기 서버수를 계산하여 알아낸다. 서버의 수는 복사 처리의 최대 성능에 도달하도록 조정 가능하다.
바람직하게, 클라이언트를 위한 최대 허용 대역폭에 대한 이전의 지식이 이용 가능하지 않은 곳에서, 서버의 초기 갯수는 하나에서 출발할 것이고 시스템은 최대 복사 속도에 도달하기 위한 서버의 수를 찾도록 조정할 것이다.
바람직하게, 본 발명은 최적화 계확의 보다 나은 질을 허용하기 위하여 복사 처리의 피드백을 제공한다.
바람직하게, 본 발명은 그리드로부터의 서비스를 비활성화 하고, 온 디맨드(on-demand)를 재 활성화 하기 위하여 피드백 시스템과 그리드 컴퓨팅 인프라(grid computing infrastructure: 그리드 컴퓨팅 기반 시설)를 사용한다.
바람직하게, 본 발명은 주어진 데이터(또는 파일) 조각을 위하여 서비스 요청에 대한 액세스 점들의 분산에 기초하여, 광역 트래픽(wide-area traffic)의 감소 또는 기타의 기준들을 최적화하기 위하여 네트워크 토폴리지 상의 서버들의 분산을 최적화 한다.
본 발명으로 여겨지는 주제는 특히 명세서의 종결부에 있는 청구범위에서 특별히 지적되고 명확히 청구된다. 본 발명의 전술한 것과 기타의 목적들, 특징들, 및 장점들은 첨부 도면과 연결된 다음의 상세한 설명으로부터 명확하게 된다.
도 1은 컴퓨터 시스템의 구성품들에 대한 도면이다.
도 2는 종래의 클라이언트/서버 네트워크에 대한 도면이다.
도 3은 종래의 그리드 네트워크에 대한 도면이다.
도 4는 보기의 높은 단계의 다운로드 그리드 구조의 선도이다.
도 5는 동시 다운로드 세션들의 수를 제어하는 프로세스에 대한 예시적인 흐름도이다.
도 6a는 다운로드 재조정 프로세스에 대한 예시적인 흐름도이다.
도 6b는 예시적인 청크 재할당 프로세스에 대한 도면이다.
도 7은 본 발명에 따른 그리드 다운로드 시스템으로 콘텐츠를 제공하는 것에 대한 흐름도이다.
도 8은 본 발명에 따른 콘텐츠를 그리드 다운로드 시스템으로 다운로드하는 것에 대한 흐름도이다.
도 9는 본 발명에 따른 그리드 다운로드를 초기화하는 것에 대한 흐름도이다.
본 상세한 설명은 도면을 참조로하여 보기로서, 장점들과 특징들과 함께 본 발명의 바람직한 실시예들을 설명한다.
[본 발명을 실시하기 위한 최량의 실시예]
본 발명은 바람직하게는 그리드 컴퓨팅 환경 내에서 다운로드 서비스를 제공한다. 종래의 클라이언트 서버 또는 P2P 모델들을 사용하는 대신, 본 바람직한 실시예는 서비스 제공자, 소비자, 및 브로커 모델을 사용한다. 브로커는 서비스의 로드맵을 제공하고, 애플리케이션의 보안을 지키며, 기록들을 관리할 책임을 진다. 소비자는 서비스 제공자들과 접속하고 브로커로부터 필요한 인증과 자격증을 얻은 후에만 서비스 제공자들로부터 서비스를 받을 수 있다. 또한, 브로커는 소비자에게 다수의 서비스 제공자로부터 동시에 서비스를 받으라고 지도할 수도 있다. 다운로드 그리드와의 연계에서 브로커는 관리 서비스로서 구현되고, 서비스 제공자는 다운로드 서버로서 구현되며, 소비자는 클라이언트 에이전트로서 구현된다. 이 에이전트는 최종 사용자를 대신하여 파일 다운로드를 개시 및 처리한다. 이 모델은 다양한 그리드 애플리케이션에 적용될 수 있다.
다운로드 그리드는 확장 가능하고, 신뢰성이 있으며, 보안성이 있고, 적응 가능하며, 효과적일 필요가 있다.
확장성(Scalability): 본 발명은 그리드에 속하는 어떤 자원 세트를 활용해야 한다. 다운로드 그리드는 동적인 다운로드 서버 세트를 사용한다. 그러므로, 본 발명은 확장 가능하다.
신뢰성(Reliability): 단일 서버에 의존하는 것 대신 다운로드 그리드는 많은 서버를 가진다. 개별 서버의 고장은 다운로드 서비스를 불능으로 되게 하지 않을 것이다. 그러므로, 본 발명은 신뢰성이 있다.
보안성(Security): 본 발명은 비밀 키 인프라(PKI: Private Key Infrastructure) 및 X.509 인증을 보안 인프라로서 사용한다. 그러므로, 본 발명은 보안성이 있다.
적응 가능성(Adaptability): 다운로드 그리드는 다수의 서버로부터 동시에 다운로드 될 파일의 부분들을 동적으로 할당할 수 있다. 본 발명은 할당이 각 특정 서버의 감지된 성능에 기초할 때 적응 가능하다.
효율성(Efficiency): 관리 서비스는 어느 서브 세트의 자원들이 특정의 다운로드를 위해서 활용될 수 있는지를 제어한다. 관리 서비스는 네트워크 자원들의 전체 사용(대역폭 사용)을 최소화할 목적을 가지고 이 선택을 수행한다. 그러므로, 본 발명은 효율적이다.
바람직하게 본 발명은 높은 처리량의 다운로드 서비스를 제공하는 한편, 효과적으로 네트워크 자원들을 관리하고 분산된 자원물들에 대한 액세스를 제어한다.
도 1은 본 발명이 실행될 수 있는 전형적인 워크 스테이션 또는 서버를 나타낸다. 도 1의 시스템(100)은 개인용 컴퓨터, 워크 스테이션 또는 서버와 같은, 선택 사양인 주변 장치들을 포함하는 전형적인 컴퓨터 시스템(101)을 포함한다. 워크 스테이션(101)은 하나 또는 그 이상의 프로세서(106)와 버스를 포함하는데, 이 버스는 알려진 기술에 따라서 프로세서(들)(106)과 다른 시스템(101)의 구성품과의 통신을 연결 및 가능케 하기 위하여 채택된다. 이 버스는 메모리(105), 및 예로서 하드 드라이브, 디스켓 드라이브 또는 테이프 드라이브를 포함할 수 있는 장기간 저장장치(107)에 프로세스(106)를 연결시킨다. 시스템(101)은 또한 마이크로 프로세서(106)를 버스를 통해 키보드(104), 마우스(103), 프린터/스캐너(110), 및/또는 기타의 인터페이스 장치와 같은 하나 또는 그 이상의 인터페이스 장치에 연결시키는 사용자 인터페이스 어댑터를 포함할 수도 있는데, 상기 기타의 인터페이스 장치는 터치 감지형 스크린, 계수형(digitized) 입력 패드, 등과 같은 어떤 사용자 인터페이스 장치가 될 수 있다. 상기 버스는 또한 LCD 스크린 또는 모니터와 같은 디스플레이 장치(102)를 디스플레이 어댑터를 통해서 마이크로 프로세서(106)에 연결시킨다.
시스템(101)은 네트워크(109)와 통신 가능한 네트워크 어댑터를 통해 다른 컴퓨터나 컴퓨터들의 네트워크와 통신할 수 있다. 보기로서의 네트워크 어댑터로는 통신 채널, 토큰 링(token ring), 이더넷(Ethernet) 또는 모뎀들이 있다. 대안적으로 워크 스테이션(101)은 CDPD(Cellular Digital Packet Data: 셀룰러 디지털 패킷 데이터) 카드와 같은 무선 인터페이스를 사용하여 통신할 수 있다. 워크 스테이 션(101)은 LAN 이나 WAN의 이러한 다른 컴퓨터와 관련될 수 있거나, 다른 컴퓨터 등과의 클라이언트/서버 배치에서의 한 클라이언트가 될 수 있다. 이들 모든 구성 뿐 아니라 적절한 통신 하드웨어 및 소프트웨어는 본 기술 분야에서 알려진 것이다.
도 2는 본 발명이 실행될 수 있는 데이터 처리 네트워크(200)를 나타낸다. 데이터 처리 네트워크(200)는 각각 복수의 개별 워크 스테이션(101)을 포함할 수 있는 무선 네트워크 및 유선 네트워크와 같은 복수의 개별 네트워크를 포함할 수 있다. 부가적으로 당업자들이 알고 있을 것이지만, 하나 또는 그 이상의 LAN이 포함될 수 있는데, 여기서 LAN은 호스트 프로세서에 결합되는 복수의 지능형 워크 스테이션들을 포함할 수 있다.
계속 도 2를 참조하면, 상기 네트워크들은 또한 게이트웨이(gateway) 컴퓨터[클라이언트 서버(206)] 또는 애플리케이션 서버[데이터 저장소에 액세스 할 수 있는 원격 서버(208)]와 같은 메인 프레임(mainframe) 컴퓨터들 또는 서버들을 포함할 수 있다. 게이트웨이 컴퓨터(206)는 각 네트워크(207)의 진입 지점으로서 역할을 한다. 게이트웨이는 하나의 네트워킹 프로토콜을 나머지 프로토콜에 연결시킬 때 필요하다. 게이트웨이(206)는 통신 링크에 의하여 다른 네트워크[예를 들어, 인터넷(207)]에 양호하게 결합될 수 있다. 게이트웨이(206)는 통신 링크를 사용하는 하나 또는 그 이상의 워크스테이션(101)에 직접 결합될 수도 있다. 게이트웨이 컴퓨터는 IBM으로부터 이용 가능한 IBM사의 eServer zServer(900) 서버를 활용하여 구현될 수 있다.
본 발명을 구현하는 소프트웨어 프로그래밍 코드는 일반적으로 CD-ROM 드라이브 또는 하드 드라이브와 같은 장기간 저장 매체(107)로부터 시스템(101)의 프로세서(106)에 의하여 액세스 된다. 소프트웨어 프로그래밍 코드는 디스켓, 하드 드라이브 또는 CD-ROM과 같은 데이터 처리 시스템과 함께 사용하기 위한 알려진 다양한 매체 중의 어떤 것에 수록될 수 있다. 이 코드는 이러한 매체 상에 분산될 수 있거나, 또는 이러한 기타 시스템의 사용자들에 의한 사용을 위하여, 한 컴퓨터 시스템의 메모리나 저장장치에서 네트워크를 거쳐서 다른 컴퓨터 시스템들까지 상기 코드가 사용자들에 분산될 수 있다.
대안적으로, 이 프로그래밍 코드(111)는 메모리(105)에 수록되고, 프로세서 버스를 사용하는 프로세서(106)에 의하여 액세스될 수 있다. 이러한 프로그래밍 코드는 다양한 컴퓨터 구성물들과 하나 또는 그 이상의 애플리케이션 프로그램들의 기능과 상호작용을 제어하는 운영 시스템을 포함한다. 프로그램 코드는 고밀도 저장 매체(107)에서 고속 메모리(105)로 페이징(paging)되는데, 여기에서 이 코드는 프로세서(106)에 의하여 처리되기 위해 이용 가능하다. 소프트웨어 프로그래밍 코드를 메모리, 물리 매체에 수록하기 위한 방법, 및/또는 소프트웨어 코드를 네트워크를 통해 분배하기 위한 방법은 잘 알려져 있으며 여기에서 더이상의 논의는 하지 않을 것이다.
바람직한 실시예에서, 본 발명은 하나 또는 그 이상의 컴퓨터 소프트웨어 프로그램들(111)로서 구현된다. 본 발명의 소프트웨어 구현은 요청에 의하여 구동되는 하나 또는 그 이상의 모듈들 또는 애플리케이션들(111)(코드 서브루틴 또는 객 체 지향 프로그래밍에서의 "객체들"로도 불린다)로서 사용자의 워크스테이션 상에서 동작할 수 있다. 대안적으로, 상기 소프트웨어는 네트워크 내의 서버 또는 본 발명을 구현하는 프로그램 코드를 실행 가능한 장치에서 동작할 수 있다. 본 발명을 구현하는 로직(logic)은 애플리케이션 프로그램의 코드 내에 합체될 수 있거나, 여기에서 개시된 진보적 개념을 벗어나지 않고도 상기 애플리케이션에 의하여 구동될 하나 또는 그 이상의 독립 유틸리티 모듈(utility module)들로서 구현될 수 있다. 상기 애플리케이션(111)은 웹 환경에서 실행될 수 있으며, 여기에서 웹 서버는 인터넷을 통해 접속된 클라이언트로부터의 요청에 응답하여 서비스들을 제공한다. 다른 실시예에서, 이 애플리케이션은 공동 인트라넷(intranet) 또는 익스트라넷(extranet)에서, 또는 어떤 다른 네트워크 환경에서 실행될 수 있다. 상기 환경을 위한 구성에는 클라이언트/서버 네트워크, P2P 네트워크(여기에서는 클라이언트들이 클라이언트와 서버 모두의 기능을 수행함으로써 직접 상호작용함) 뿐 아니라 다층(multi-tier) 환경이 포함된다. 이들 환경 및 구성들은 본 기술 분야에서 잘 알려져 있다.
도 3은 네트워크 구조(313)를 통해서 통신하는 종래 기술의 서버(301~312)들의 그리드 구조에 대한 높은 단계의 대표도를 나타낸다. 서버(309)는 로컬 네트워크에 의하여 서버(310, 311)와 연결된다. 서버(308)는 그리드 브로커 서비스를 제공한다. 그리드 브로커는 www.gridbus.org/broker에 있는 "그리드 서비스 브로커, 연산을 위한 그리드 스케쥴러, 및 데이터 그리드들(Grid Service Broker A Grid Scheduler for Computational and Data Grids)"와, www.gridbus.org/papers/g.PDF 에 있는 "로컬 그리드 상의 분산 데이터-지향 명칭(appellation)을 목록화하기 위한 그리드 서비스(A Grid Service for Schedulling Distributed Data-Oreinted Appellations on local Grids)"에서 논의되어 있다.
도 4는 다운로드 그리드 시스템의 높은 단계의 구조를 나타낸다. 관리 시스템(402)은 바람직하게는 4개의 모듈과 저장 데이터 베이스(406)를 포함한다. 그리드 시스템에 408과 409로 대표되는 다수의 서버들이 존재하는데, 이들은 관리 서비스 센터(402)에 등록된다. 또한, 다운로드가 허용된 모든 파일들은 관리 센터에 등록된다. 4개의 모듈들의 기능은 다음과 같다.
최적화기(405)- 최적화된 다운로드 계획(최적화된 서버들의 목록 포함)을 결정하고 이 계획을 클라이언트에 제공한다.
등록 시스템(407)- 서버들과 파일들의 레지스트리(registry: 등록명부)를 제공한다.
피드백 시스템(403)- 서버들의 상태와 성능에 대한 클라이언트들(401)로부터의 피드백을 수집한다.
통계 시스템(404)- 피드백 시스템으로부터의 애플리케이션 사용 정보를 분석하고, 보고서를 제공한다.
도 5는 클라이언트가 세션의 번호를 결정하는데 사용하는 바람직한 프로세스를 나타내는데, 이 세션은 청크를 복수의 다운로드 서버들로부터 병렬로 다운로드 하기 위하여 사용할 것이다. 클라이언트는 첫째로 최적화된 목록에 있는 서버들 중 하나로 한 세션을 개시한다(501). 프로세스는 각 서버로부터의 청크의 각 부분을 위한 다운로드 속도를 연속적으로 감시할 것이다. 프로세스는 매 LOOP_TIMEOUT 초 동안 감시된 속도를 분석할 것이다.
제 1 LOOP_TIMEOUT 기간의 종료(502)에서, 프로세스는 QoS(Quality of Service: 서비스 품질) 요건에 부합되지 않으면 목록상에서 사용되지 않는 서버들 중 하나로 제 2 세션을 시작할 것이다(503).
이후 반복적으로 프로세스는 다음과 같이 진행될 것이다. 즉,
만일 N=2(505) 이거나 N=3(506) 이고 현재 세션 번호로 달성될 최대 다운로드 속도(max_download_rate)가 소정 임계값(THRESHOLD_{N}) 보다 높으면, 프로세스는 (N+1)th 세션을 시작하려고 할 것이다.
반면에, N>3이면, 프로세스는 마지막 부가로부터 얻어진 상대 및 절대 모두의 이득들을 검사하고 그에따라 동작할 것이다.
만일, MAX_RATE(N 서버) MAX_RATE(N-1 서버) > THRESHOLD_INC 이거나, (MAX_RATE(N 서버) MAX_RATE(N-1 서버))/MAX_RATE(N-1 서버) > INC_FACTOR 이면(507), 프로세스는 나머지 서버(509)로 (N+1)th세션을 시작할 것인데, 여기서 MAX_RATE(N 서버)는 N 세션으로 달성된 최대 다운로드 속도이고, MAX_RATE(N-1 서버)는 N-1 서버로 달성된 최대 다운로드 속도이며, THRESHOLD_INC와 INC_FACTOR는 각각 절대 및 상대 임계값으로 미리 규정된다.
또다른 서버(509)와 함께 (N+1)번 세션을 시작할 것이다.
초기 THRESHOLD_N의 한계는 너무 많은 세션들이 낮은 다운로드 속도를 갖는 것을 피하기 위하여 조정된 것이다. 다양한 파라미터 값들의 구현예는 다음과 같다.
THRESHOLD_2 = 40k byte/s
THRESHOLD_3 = 75k byte/s
INC_FACTOR = 20%
THRESHOLD_INC = 30 k byte/s
LOOP_TIMEOUT = 0.150 초
많은 다양한 구성들이 가능하다. 예를 들어, 두개의 파일을 포함하는 묶음(bundle)이 서버에서 클라이언트로 다운로드 될 수 있는데, 각 서버는 두 파일 모두를 갖는다. 한 파일의 부분들에 대한 다운로드는 첫번째 그룹의 서버들로부터 시작되고, 두번째 파일의 부분들은 두번째 그룹에서 시작된다. 첫번째 그룹의 서버가 자신의 파일 부분의 다운로드를 완료했을 때, 클라이언트는 한 파일또는 그 서버 상의 제 2 파일의 일부에 대한 다운로드를 시작하도록 결정할 수 있다.
다른 예로서, 각 단계에서 서버들을 무작위로 선택하는 대신 이 서버들은 관리 서비스에 의하여 특정된 순서로 선택될 수 있다. 마찬가지로, 단일 서버를 가지고 시작하는 대신 다수의 서버들을 가지고 시작하는 것이 가능하다. 유사하게 N=2와 N=3인 경우를 다르게 취급하는 대신, 보다 많거나 적은 N을 다르게 처리하는 것이 가능하다. 또 다른 변형은 N 그 자체에 의존하는 INC_FACTOR를 만들게 된다. 상기한 것들은 이들 구조에 대한 가능한 변형들의 예에 불과하며, 소모적인 목록을 표현하는 것은 아니다. 당 기술분야에 알려진 다른 변형들도 본 발명의 사상 내에 서 사용될 수 있을 것이다.
도 6a는 다운로드 동안에 발생하는 조정을 상세히 나타낸다. 청크들은 새로운 다운로드가 개시되면 상이한 서버들에 할당된다. 청크는 특정 서버로부터 다운로드 되도록 할당되는 한 파일의 한 부분 또는 전체이다. 이 경우, 다운로드 요청은 일 군의 다수 파일들을 위한 것이고, 청크는 그룹 내 전체 파일에 해당할지도 모른다. 각 청크의 크기는 최적화 계획에서 목록화된 속성 서버 속도에 의존한다. 네트워크는 동적이므로, 몇몇 청크들은 예상 보다 더 일찍 완료된다. 도 6a는 청크 재할당 알고리즘을 나타낸다.
서버 X가 자신의 청크를 완료하면(601), 클라이언트는 활성 다운로드를 검사할 것이고, 청크의 잔여 크기와 그 현재 다운로드 속도에 기초하여 각각을 위한 예측 잔여 시간을 계산한다. 이후 서버 Y로부터 종료까지 잠재적으로 가장 긴 시간을 갖는 청크를 선택할 것이다(602). 선택된 청크는 도 6b에서 653으로 표현된다. 선택된 청크(653)의 크기가 미리 특정된 임계값 보다 작다면(603), 추가의 작용은 발생하지 않을 것이다. 임계값 보다 작지 않다면(604) 서버 X 및 서버 Y의 달성된 다운로드 속도가 결정될 것이다. 서버 X와 Y 모두로부터의 다운로드가 동시에 되도록 서버 X와 Y의 실제 속도 및 기타의 파라미터들을 감안한 조정 팩터에 의하여 청크의 나머지 크기가 분할될 것이다(단계 605). 해당 청크들은 도 6b에서 654 및 655로 대표된다. 달리 말하면, 서버 X는 서버 Y가 청크 654(end_y)를 완료하는 동시에 새로운 청크 655(begin_x - end_x)를 완료할 것이다. 이후 단계 606에서 서버 X로부터의 청크 655의 다운로드를 시작하는 한편, 서버 Y는 657까지의 청크의 다운로 드를 완료할 것이다.
속도가 아닌 파라미터들은 청크의 상대적인 크기를 결정하기 위한 것으로도 간주된다. 이 파라미터들은 세션 설정 시간과 잔여 청크 크기들과 같은 팩터들을 포함할 수 있다. 청크 알고리즘(chunking algorithm)은 바람직하게는 합당하지 않으면 너무 작은 청크들을 재할당하는 것을 회피할 것이다.
알고리즘에는 많은 변형들이 존재한다. 이것은 단지 본 발명의 학습을 위한 예시적인 구현예인 것이다.
바람직한 실시예(도 7)에서, 파일 제공자는 적절한 자격증으로 관리 서비스에 접속하고, 어떤 속성(704)으로 다운로드 데이터의 청크를 특성화 시키며(702), 어떤 속성(704)을 관리 시스템에 전송하고(703), 청크를 다운로드 그리드 상의 단일 서버로 업로드(upload) 한다. 속성들(704)에는 우선권, 파일을 위한 소망되는 지리적 근접성 또는 파일을 다운로드 하는 허가를 주기 위한 클라이언트에 대한 제한이 포함된다. 파일 제공자는 해독 키를 발생시키고, 파일을 암호화하여 해독 키를 관리 서비스로 안전하게 전송한다.
관리 서비스는 콘텐츠 제공자(도 9)로부터의 다운로드 데이터를 받아들이고(901), 다운로드 데이터를 인프라(infrastructure)로 분산시키는데(706), 상기 인프라에는 복수의 다운로드 서버들이 포함된다. 관리 서비스가 클라이언트로부터 다운로드 데이터를 클라이언트로 다운로드 하기 위한 다운로드 계획에 대한 요청(이 요청은 QoS 요건을 특정하며, QoS 요건은 다운로드 속도 또는 다운로드 종료에 대한 소망 시간의 명세 내역을 포함한다)을 수신하면(902), 다운로드 계획을 생성 하는데(902), 이 다운로드 계획은 다운로드 데이터를 갖는 두개 또는 그 이상의 다운로드 서버들에 대한 목록과, 추가로 두개 또는 그 이상의 다운로드 서버들에 대한 성능 정보를 포함하며, 이후 다운로드 계획을 클라이언트로 전송(904)한다. 다운로드 계획은 그리드 인프라에 배치되는 복수의 다운로드 서버들에 대한 최적화된 목록을 포함한다.
클라이언트는 다운로드 데이터를 위한 요청을 애플리케이션 프로그램으로부터 수신(도 8)한다(801). 클라이언트는 이후 관리 서비스로부터 다운로드 계획을 요청(802)한 다음, 다운로드 계획에서 특정된 다운로드 서버들을 접속하고, 이후 접속된 두개 또는 그 이상의 다운로드 서버들 각각으로부터 다운로드 데이터의 다운로드 청크에 대한 다운로드를 시작한다(803). 상기 클라이언트는 다운로드 서버들의 다운로드 성능을 감시하고(805, 806), 두개 또는 그 이상의 다운로드 서버들의 다운로드 성능에 기초하여 다운로드 되고 있는 다운로드 청크의 수를 조정한다(804). 이후 클라이언트는 관리 서비스에게 두개 또는 그 이상의 다운로드 서버들에 대한 다운로드 성능을 보고한다(807).
클라이언트가 다운로드를 완료하면(808), 관리 서비스는 클라이언트로부터 서버들에 대한 새로운 다운로드 성능 정보를 수신한다(907). 관리 서비스는 다운로드 서버들의 성능 정보를 새로 다운로드 된 성능 정보에 기초하여 갱신한다(906).
관리 서비스는 업로딩 파일의 수신을 위한 단일 서버의 선택과, 두개 또는 그 이상의 다운로드 서버들 중의 한 서버의 활성화와, 두개 또는 그 이상의 서버들 중 한 서버의 비활성화 또는 두개 또는 그 이상의 서버들 중의 한 서버의 갱신과 같은 동작들을 동적으로 수행한다.
관리 서비스는 클라이언트의 위치와, 다운로드 서버들의 상태 및 사용 정보와, QoS 요건과, 선택된 다운로드 서버들의 클라이언트에 대한 네트워크 근접성과, 선택된 다운로드 서버들의 클라이언트에 대한 지리적 근접성과, 서버의 네트워크 하행 대역폭과, 서버에 의하여 지원되는 청크 다운로드의 현재수 또는 허용된 최대 동시 청크 다운로드에 기초하여 다운로드 계획을 생성한다(여기에서, 클라이언트 에이전트의 위치는 클라이언트 에이전트의 네트워크 번지 중 어떤 하나에 기초하거나 클라이언트 에이전트에 의하여 제공되는 정보를 통하여 자동적으로 결정된다).
양호하게 다운로드를 개시하는 것은 다음의 단계들을 포함한다.
a. 접속된 두개 또는 그 이상의 다운로드 서버들 중 제 1 서버로부터의 다운로드 데이터의 다운로드 청크의 제 1 부분에 대한 다운로드를 시작하는 단계.
b. 다운로드 청크 부분들의 다운로드 성능에 대한 표시를 저장하는 단계.
c. 접속된 두개 또는 그 이상의 다운로드 서버들 중 한 새로운 서버로부터의 다운로드 데이터의 다운로드 청크의 새로운 부분에 대한 다운로드를 시작하는 단계.
d. 다운로드 청크 부분들에 대한 다운로드 성능을 감시하는 단계.
e. 감시된 다운로드 성능이 저장된 다운로드 성능에 대한 표시 보다 크고, 상기 다운로드 성능이 미리 정해진 최대 성능 보다 낮으며, 접속된 두개 또는 그 이상의 다운로드 서버들 모두가 개시되지 않았었다면, 단계 b 내지 e를 반복하는 단계.
클라이언트는 시작된 각각의 다운로드 서버들로부터의 다운로드 데이터 중의 다운로드 청크 부분들에 대한 다운로드 성능을 감시하고, 제 1 서버의 청크 부분 중 하위 부분을 제 2 서버에 재할당하는데, 여기에서 재할당된 하위 부분의 크기는 시작된 두개 또는 그 이상의 다운로드 서버들의 달성된 다운로드 성능, 제 1 서버에 의하여 다운로드 될 남아있는 청크 부분, 또는 제 1 서버에 의하여 다운로드 될 청크 부분의 거의 반, 중의 어느 하나에 비례한다. 클라이언트는 다운로드의 종료시에서 상기 파일의 온전성을 검사하고 온전성 검사의 표시를 관리 서비스로 전송한다.
클라이언트는 각 서버로부터 다운로드 된 청크들의 크기와, 각 서버의 다운로드 성능, 또는 요청에 응답하지 않았던 서버들의 정체에 대한 정보를 기록하고, 기록된 정보를 관리 서비스로 전송한다. 바람직하게 청크는 관련 액세스 제어 목록을 가지고 있으며, 액세스 제어 목록 상에 특정된 최종 사용자들 만이 파일을 다운로드 할 수 있다. 상기 청크는 암호 형식으로 저장되고 분배된다. 상기 파일에 대한 최종 해독은 관리 서비스로부터 안전하게 얻어진 키를 사용하는 클라이언트 에이전트에 의하여 수행된다.
바람직하게 현재의 다운로드 그리드 시스템은 웹 서비스들을 사용하여 구현된다. 다운로드 동작은 클라이언트와 서버 사이의 전용 프로토콜로 구현된다. 관리 서비스는 선 마이크로 시스템스의 자바(JAVA)를 사용하여 구현된다. 저장소는 관계형 데이터베이스(relational database)이다.
바람직하게 다운로드 그리드 서버는 자바에서 수행된다. 서버는 표준 TCP/IP 프로토콜을 사용하여, 필터 전송 속도를 동적으로 조정하는 알고리즘을 구비한다.
바람직하게 클라이언트는 독립형 자바 애플리케이션 뿐만 아니라 웹 브라우저 기반의 자바 애플릿(java applet)으로서 구현된다.
보안 메커니즘은 바람직하게 액세스를 제어하기 위하여 글로버스(Globus) 2.2 그리드 보안 인프라(GSI: Grid Security Infrastructure) 구현물을 사용한다. GSI는 www.unix.globusorg/security에 있는 "그리드 보안 인프라(Grid Security Infrastructure)"에서와, www.unix.globus.org/security/overview. html 에 있는 "그리드 보안 인프라의 개요(Overview of the Grid Security Infrastructure)"에서 설명되어 있다. 관리 서비스는 www.unix.globus.org/
toolkit/docs/3.2/gsi/key/index.html에 있는 "GSI 키 개념(GSI Key Concepts)"에 설명된 것과 같이 현재 있는 그리드의 자격 인증(CA: Certificate Authority) 센터에 의하여 발행된 자격증을 갖는다.
모든 다운로드 서버와 클라이언트는 이 자격증을 신뢰한다. X.509 프록시들은 클라이언트 인증을 허용하고 다운로드 서버들로부터의 직접 다운로드를 허용하기 위하여 관리 서비스의 인증을 위임하는데 사용된다. X.509는 ITU-T 권고 X.509 3판(1997), 1997년 ISO/IEC 9594-8 "정보 기술 - 개방 시스템 연결 - 디렉토리 인증 체계(Information Technology - Open Systems Interconnection - The Directory Authentication Framework)"에 설명되어 있다.
바람직한 구현에서, 최적화된 계획의 결정은 클라이언트와 지망 다운로드 서버들 사이의 지리적 거리에 기초하여 계산된다. 클라이언트의 IP 번지와 서버들의 IP 번지는 지리적 위치들에 대한 표 매핑(table mapping) IP 번지들과 함께 이 결정을 위한 기초로서 사용된다. 이 최적화된 계획은 XML 형식의 X.509 프록시 자격증의 안에 보호된다.
본 발명의 능력들은 소프트웨어, 펌웨어(firmware), 하드웨어, 또는 이들의 몇몇 조합으로 구현될 수 있다.
일례로 본 발명의 하나 또는 그 이상의 태양은 예를 들어, 컴퓨터에 사용 가능한 매체를 갖는 제조사의 한 제품(예를 들어, 하나 또는 그 이상의 컴퓨터 프로그램 제품) 내에 포함될 수 있다. 위 매체는 본 발명의 능력을 제공하고 용이하게 하기 위하여 예를 들어, 컴퓨터로 판독 가능한 프로그램 코드 수단을 수록한 것이다. 상기 제조사의 제품은 컴퓨터 시스템의 일부로서 포함되거나 별도로 판매될 수 있다.
부가적으로, 최소한 하나의 프로그램 저장 장치가 제공될 수 있는데, 이 장치는 기계에 의하여 판독 가능하고, 본 발명의 능력을 수행하기 위하여 기계에 의하여 실행 가능한 명령들 중 최소한 한 프로그램을 명확히 구현한다.
여기에서 도시된 흐름도는 단지 보기일 뿐이다. 여기에서 설명된 이들 도표 또는 단계들(또는 동작들)에 대한 많은 변형들이 본 발명의 사상을 벗어나지 않고도 존재할 수 있다. 예를 들어, 상기 단계들은 상이한 순서로 수행될 수 있거나, 또는 부가, 삭제, 또는 수정될 수 있다. 모든 이들 변형들은 청구된 발명의 일부로 여겨진다.

Claims (22)

  1. 그리드 컴퓨팅 인프라구조에서 최적화된 데이터 다운로드를 위한 방법에 있어서,
    a) 소망의 다운로드 데이터를 구비하고 그리드 인프라에 배치되는 복수의 다운로드 서버들에 대한 최적화된 목록을 포함하는 다운로드 계획을 관리 서비스로부터 획득하는 단계와,
    b) 상기 다운로드 계획에서 특정된 두 개 또는 그 이상의 상기 다운로드 서버들에 접속하는 단계와,
    c) 다운로드 데이터의 각 청크들을 동시에 다운로드 하기 위하여, 상기 다운로드 계획에서 특정된 상기 두 개 또는 그 이상의 다운로드 서버들 중의 각각의 다운로드 서버에 상기 다운로드 데이터의 청크들을 할당하는 단계와,
    d) 접속된 상기 두 개 또는 그 이상의 다운로드 서버들 중의 다운로드 서버들로부터의 상기 다운로드 데이터의 청크들에 대한 병렬 다운로드를 시작하는 단계로서, 상기 청크들이 상기 다운로드 서버들로부터 동시에 다운로드 되는 상기 병렬 다운로드 시작 단계와,
    e) 상기 청크들을 다운로드 하는 상기 두 개 또는 그 이상의 다운로드 서버들의 다운로드 성능을 감시하는 단계와,
    f) 상기 청크들의 병렬 다운로드 동안에, 한 다운로드 서버에 의하여 다운로드 되는 청크들의 수를 상기 두 개 또는 그 이상의 다운로드 서버들의 감시된 다운 로드 성능에 기초하여 조정하는 단계와,
    g) 상기 감시된 두 개 또는 그 이상의 다운로드 서버들의 다운로드 성능을 상기 관리 서비스에 보고하는 단계를 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  2. 제 1 항에 있어서,
    상기 단계들 a) 내지 g)는 클라이언트 에이전트나, 관리 서비스 에이전트, 또는 서버 에이전트 중의 어느 하나에 의하여 수행되는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  3. 제 1 항에 있어서,
    상기 다운로드 계획을 위한 요청을 상기 관리 서비스로 전송하는 단계를 더 포함하되, 상기 요청은 QoS 요건들을 특정하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  4. 제 3 항에 있어서,
    상기 QoS 요건들은 다운로드 속도 또는 상기 다운로드의 종료 요망 시간 중 의 어느 하나에 대한 명세내역을 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  5. 제 1 항에 있어서,
    상기 다운로드 시작 단계는,
    a) 접속된 상기 두 개 또는 그 이상의 다운로드 서버들 중 제 1 서버로부터의 다운로드 데이터의 제 1 청크에 대한 다운로드를 시작하는 단계와,
    b) 현재 다운로드 하는 다운로드 청크들의 다운로드 성능에 대한 표시를 저장하는 단계와,
    c) 이후, 접속된 상기 두 개 또는 그 이상의 서버들 중 한 새로운 서버로부터의 다운로드 데이터의 새로운 청크에 대한 다운로드를 시작하는 단계와,
    d) 이후, 현재 다운로드 하는 다운로드 청크들에 대한 다운로드 성능을 감시하는 단계와,
    e) 이후, 상기 감시된 다운로드 성능이 상기 저장된 다운로드 성능 표시 보다 크고, 상기 감시된 다운로드 성능이 미리 정해진 최대 성능 보다 작으며, 접속된 상기 두 개 또는 그 이상의 다운로드 서버들 전부가 시작되지 않았다면, 상기 단계 b) 내지 e)를 반복하는 단계를 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  6. 제 1 항에 있어서,
    현재 다운로드 하는 제 1 청크 중 다운로드 될 제 1 부분을 결정하는 단계로서, 상기 제 1 청크는 시작된 상기 두 개 또는 그 이상의 다운로드 서버들 중의 제 1 서버에서 다운로드 하는 것인 상기 제 1 부분의 결정 단계와,
    상기 다운로드 서버들로부터의 청크들을 동시에 다운로드 하는 동안에, 상기 두개 또는 그 이상의 다운로드 서버들 중의 제 2 서버로부터의 현재 다운로드 하는 제 1 청크의 다운로드 될 제 1 부분에 대한 병렬 다운로드를 시작하는 단계를 더 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  7. 제 6 항에 있어서,
    상기 현재 다운로드 하는 제 1 청크의 다운로드 될 제 1 부분의 크기는 상기 시작된 두 개 또는 그 이상의 다운로드 서버들의 달성된 다운로드 성능에 비례하거나, 상기 제 1 부분에 비례하거나, 또는 실질적으로 상기 제 1 부분의 절반에 비례하는 것 중의 어느 하나인
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  8. 제 1 항에 있어서,
    상기 다운로드의 종료시에 상기 다운로드 데이터의 온전성을 검사하는 단계와,
    상기 온전성 검사에 대한 표시를 상기 관리 서비스로 전송하는 단계를 더 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  9. 제 1 항에 있어서,
    각 서버로부터 다운로드 되는 청크들의 크기나, 각 서버의 다운로드 성능, 또는 상기 요청들에 응답하지 않았던 서버들의 정체 중의 어느 하나에 대한 정보를 기록하는 단계와,
    상기 기록된 정보를 상기 관리 서비스로 전송하는 단계를 더 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  10. 제 1 항에 있어서,
    상기 다운로드 데이터는 관련 액세스 제어 목록을 가지며, 상기 액세스 제어 목록에서 특정된 최종 사용자들만이 상기 다운로드 데이터를 다운로드 할 수 있는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  11. 제 1 항에 있어서,
    상기 다운로드 데이터는 상기 파일의 마지막 해독이 상기 관리 서비스로부터 안전하게 획득된 키를 사용하는 클라이언트 에이전트에 의하여 수행되도록, 암호 형식으로 저장 및 분배되는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  12. 제 1 항에 있어서,
    청크는 복수의 파일, 한 파일, 또는 파일의 일부분 중의 어느 하나인
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  13. 제 1 항에 있어서,
    콘텐츠 제공자로부터 다운로드 데이터를 받아들이는 단계와,
    상기 다운로드 데이터를 복수의 다운로드 서버들을 포함하는 인프라로 분배하는 단계와,
    상기 클라이언트로 상기 다운로드 데이터를 다운로드 하기 위하여 상기 다운 로드 계획을 위한 클라이언트로부터의 요청을 수신하는 단계와,
    상기 다운로드 데이터를 가진 두 개 또는 그 이상의 다운로드 서버들의 목록과 추가로 상기 두 개 또는 그 이상의 다운로드 서버들의 성능 정보를 포함하는 다운로드 계획을 생성하는 단계와,
    상기 생성된 다운로드 계획을 상기 클라이언트에게 전송하는 단계와,
    이후, 상기 두 개 또는 그 이상의 다운로드 서버들에 대한 새로운 다운로드 성능 정보를 수신하는 단계와,
    상기 새로운 다운로드 성능 정보에 기초하여, 상기 두 개 또는 그 이상의 다운로드 서버들의 성능 정보를 갱신하는 단계를 더 포함하는
    그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법.
  14. 다운로드 그리드 인프라(infrastructure)에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법에 있어서,
    콘텐츠 제공자로부터 상기 다운로드 데이터를 받아들이는 단계와,
    상기 다운로드 데이터를 복수의 다운로드 서버들을 포함하는 상기 인프라로 분배하는 단계와,
    상기 클라이언트로 상기 다운로드 데이터를 다운로드 하기 위하여 다운로드 계획을 위한 클라이언트로부터의 요청을 수신하는 단계와,
    상기 다운로드 데이터를 가진 두 개 또는 그 이상의 다운로드 서버들의 목록 과 추가로 상기 두 개 또는 그 이상의 다운로드 서버들의 성능 정보를 포함하는 다운로드 계획을 생성하는 단계와,
    상기 클라이언트로 상기 생성된 다운로드 계획을 전송하는 단계와,
    이후, 상기 다운로드 계획에 따른 다운로드를 수행하여 상기 클라이언트에 의하여 달성된 상기 두개 또는 그 이상의 다운로드 서버들에 대한 다운로드 서버 성능을 가리키는, 상기 클라이언트로부터의 상기 두개 또는 그 이상의 다운로드 서버들에 대한, 새로운 다운로드 성능 정보를 수신하는 단계와,
    이후, 상기 새로운 다운로드 성능 정보에 기초하여 상기 두 개 또는 그 이상의 다운로드 서버들의 성능 정보를 갱신하는 단계를 포함하는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  15. 제 14 항에 있어서,
    상기 콘텐츠 제공자로부터 다운로드 데이터를 받아들이는 단계는 상기 콘텐츠 제공자가,
    적절한 자격증으로 관리 서비스에 접속하는 단계와,
    어떤 속성으로 상기 다운로드 데이터를 특성화하는 단계와,
    상기 어떤 속성을 상기 관리 시스템에 전송하는 단계와,
    상기 다운로드 데이터를 상기 다운로드 그리드 상의 단일 서버로 업로드 하 는 단계를 포함하는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  16. 제 15 항에 있어서,
    상기 어떤 속성은 우선권이나, 상기 다운로드 데이터를 위한 소망의 지리적 근접성, 또는 상기 다운로드 데이터를 다운로드 하는 허가를 주기 위한 클라이언트들에 대한 제한 중의 어느 하나를 포함하는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  17. 제 15 항에 있어서,
    상기 관리 서비스는 업로드 하는 다운로드 데이터의 수신을 위한 단일 서버의 선택이나, 상기 두 개 또는 그 이상의 다운로드 서버들 중의 한 서버의 활성화나, 상기 두 개 또는 그 이상의 서버들 중 한 서버의 비활성화나, 혹은 상기 두 개 또는 그 이상의 서버들 중의 한 서버의 갱신 중의 어느 하나를 동적으로 수행하는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  18. 제 15 항에 있어서,
    상기 콘텐츠 제공자가,
    상기 다운로드 데이터를 위한 해독키를 발생하는 단계와,
    상기 다운로드 데이터를 암호화하는 단계와,
    상기 해독키를 상기 관리 서비스로 안전하게 전송하는 단계를 더 포함하는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  19. 제 14 항에 있어서,
    상기 다운로드 계획을 생성하는 단계는,
    상기 클라이언트의 위치와, 상기 두 개 또는 그 이상의 다운로드 서버들의 상태 및 사용 정보와, QoS 요건들과, 상기 두 개 또는 그 이상의 다운로드 서버들의 클라이언트에 대한 네트워크 근접성과, 상기 두 개 또는 그 이상의 다운로드 서버들의 클라이언트에 대한 지리적 근접성과, 상기 두 개 또는 그 이상의 다운로드 서버들 중 한 서버의 네트워크 하행 대역폭과, 상기 두 개 또는 그 이상의 다운로드 서버들 중 상기 서버에 의하여 지원되는 청크 다운로드의 현재수, 또는 허용된 최대 동시 청크 다운로드 중의 어느 하나를 기초로 하는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  20. 제 19 항에 있어서,
    상기 클라이언트의 위치는 상기 클라이언트의 네트워크 번지들 중 어느 하나에 기초하거나, 상기 클라이언트에 의하여 제공되는 정보를 통하여 자동적으로 결정되는
    다운로드 그리드 인프라구조에서 다운로드 데이터를 업로드, 분배, 관리, 및 제어하는 방법.
  21. 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램이 컴퓨터 시스템 상에서 실행될 때, 청구항 제 1 항 내지 제 20 항 중 어느 한 항에 따른 방법의 모든 단계들을 실행하기 위한 명령들을 포함하는 컴퓨터 프로그램.
  22. 청구항 제 1 항 내지 제 20 항 중의 어느 한 항에 따른 방법의 모든 단계들을 실행하기 위하여 적용되는 수단들을 포함하는 장치.
KR1020067025182A 2004-06-08 2005-06-07 그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법과, 다운로드 데이터를 업로드, 분배, 관리 및 제어하는 방법과, 컴퓨터 판독가능한 기록 매체와, 장치 KR101019982B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/862,977 2004-06-08
US10/862,977 US7631098B2 (en) 2004-06-08 2004-06-08 Method, system and program product for optimized concurrent data download within a grid computing environment

Publications (2)

Publication Number Publication Date
KR20070029727A true KR20070029727A (ko) 2007-03-14
KR101019982B1 KR101019982B1 (ko) 2011-03-09

Family

ID=34970262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067025182A KR101019982B1 (ko) 2004-06-08 2005-06-07 그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법과, 다운로드 데이터를 업로드, 분배, 관리 및 제어하는 방법과, 컴퓨터 판독가능한 기록 매체와, 장치

Country Status (10)

Country Link
US (1) US7631098B2 (ko)
EP (1) EP1766936B1 (ko)
JP (1) JP4886690B2 (ko)
KR (1) KR101019982B1 (ko)
CN (1) CN1939036B (ko)
AT (1) ATE381844T1 (ko)
BR (1) BRPI0511882B1 (ko)
CA (1) CA2569925C (ko)
DE (1) DE602005003948T2 (ko)
WO (1) WO2005122532A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929031B1 (ko) * 2007-09-17 2009-11-26 (주)씨디네트웍스 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
WO2010090459A2 (ko) * 2009-02-06 2010-08-12 주식회사 씨디네트웍스 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
KR101338689B1 (ko) * 2011-09-21 2013-12-09 명지대학교 산학협력단 병렬 다운로드를 위한 서버장치의 선택 방법

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004097645A1 (en) * 2003-04-30 2004-11-11 Telecom Italia S.P.A. Method, system and computer program product for evaluating download performance of web pages
US7277985B2 (en) * 2004-07-13 2007-10-02 International Business Machines Corporation Method, system and program product for storing downloadable content on a plurality of enterprise storage system (ESS) cells
JP2006126894A (ja) * 2004-10-26 2006-05-18 Sony Corp コンテンツ配信方法、プログラムおよび情報処理装置
US7603404B2 (en) * 2004-12-20 2009-10-13 Sap Ag Grid parallel execution
US20090019468A1 (en) * 2005-03-09 2009-01-15 Vvond, Llc Access control of media services over an open network
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US7937379B2 (en) * 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
US8887224B2 (en) 2005-03-09 2014-11-11 Vudu, Inc. Updating content libraries by transmitting release data
US7698451B2 (en) 2005-03-09 2010-04-13 Vudu, Inc. Method and apparatus for instant playback of a movie title
US8364792B2 (en) * 2005-03-09 2013-01-29 Vudu, Inc. Method and system for distributing restricted media to consumers
US20080022343A1 (en) 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US20090025046A1 (en) * 2005-03-09 2009-01-22 Wond, Llc Hybrid architecture for media services
US20090019489A1 (en) * 2005-03-09 2009-01-15 Vvond, Inc. Method and apparatus for displaying movie titles based on distributed objects
US7191215B2 (en) * 2005-03-09 2007-03-13 Marquee, Inc. Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines
US9176955B2 (en) * 2005-03-09 2015-11-03 Vvond, Inc. Method and apparatus for sharing media files among network nodes
US20060265499A1 (en) * 2005-05-23 2006-11-23 Menasce Daniel A Service Allocation Mechanism
US8099511B1 (en) * 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
CN100411341C (zh) * 2005-08-10 2008-08-13 华为技术有限公司 一种并行下载方法和终端
CN100395978C (zh) * 2005-08-15 2008-06-18 华为技术有限公司 一种下载方法及一种终端
US8739231B2 (en) * 2005-08-23 2014-05-27 Vudu, Inc. System and method for distributed video-on-demand
US20070067488A1 (en) * 2005-09-16 2007-03-22 Ebay Inc. System and method for transferring data
WO2007068119A1 (en) * 2005-12-13 2007-06-21 Audio Pod Inc. Segmentation and transmission of audio streams
US7900060B2 (en) * 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
US8001471B2 (en) 2006-02-28 2011-08-16 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
WO2007101182A2 (en) * 2006-02-28 2007-09-07 Maven Networks, Inc. Systems and methods for delivering and managing media content downloaded to a network connected device
US8015491B2 (en) 2006-02-28 2011-09-06 Maven Networks, Inc. Systems and methods for a single development tool of unified online and offline content providing a similar viewing experience
US7970835B2 (en) * 2006-04-04 2011-06-28 Xerox Corporation Peer-to-peer file sharing system and method using downloadable data segments
US8239686B1 (en) 2006-04-27 2012-08-07 Vudu, Inc. Method and system for protecting against the execution of unauthorized software
GB2440774B (en) * 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
GB2440762B (en) * 2006-08-11 2011-11-02 Cachelogic Ltd Content distribution network
US7539762B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Method, system and program product for determining an initial number of connections for a multi-source file download
US8296812B1 (en) 2006-09-01 2012-10-23 Vudu, Inc. Streaming video using erasure encoding
US7826356B2 (en) * 2006-11-08 2010-11-02 International Business Machines Corporation Method and system for controlling flow in an asymmetric communication channel
US8055902B2 (en) * 2007-01-12 2011-11-08 International Business Machines Corporation Method, system, and computer program product for data upload in a computing system
US7734950B2 (en) * 2007-01-24 2010-06-08 Hewlett-Packard Development Company, L.P. Bandwidth sizing in replicated storage systems
CA2577030A1 (en) * 2007-01-31 2008-07-31 Unlimi-Tech Software Inc. Improved data transfer method, system and protocol
US8316123B2 (en) * 2007-02-19 2012-11-20 Toshiba Global Commerce Solutions Holdings Corporation Managing boot images in a retail store environment
US9350701B2 (en) 2007-03-29 2016-05-24 Bomgar Corporation Method and apparatus for extending remote network visibility of the push functionality
US20080270524A1 (en) * 2007-04-30 2008-10-30 Nikhil Gupta Distributing files over a computer network
US8429286B2 (en) * 2007-06-28 2013-04-23 Apple Inc. Methods and systems for rapid data acquisition over the internet
US8037135B2 (en) * 2007-06-29 2011-10-11 Microsoft Corporation Automatic distributed downloading
WO2009032710A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US8139074B2 (en) * 2007-11-27 2012-03-20 International Business Machines Corporation Memory optimized cache generation for image tiling in GIS/CAD browser applications
US7908362B2 (en) * 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
US8027671B2 (en) 2008-01-14 2011-09-27 Penthera Partners, Inc. Delivering files to a mobile device
US7912956B1 (en) * 2008-01-22 2011-03-22 Raytheon Company Service level agreement based control of a distributed computing system
CN101729510B (zh) * 2008-10-29 2013-03-06 Tcl集团股份有限公司 一种虚拟网络存储服务系统及其建立方法
GB2469034A (en) * 2009-03-30 2010-10-06 Sony Corp Distribution system and method of distributing content files
US8296402B2 (en) * 2009-04-07 2012-10-23 National Instruments Corporation Determining and downloading portions of a software application in a computer system
US11064023B2 (en) * 2009-05-27 2021-07-13 Verizon Media Inc. Method for actively sharing available bandwidth to consumer nodes in a peer-to-peer network for delivery of video streams
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
US8341620B2 (en) * 2009-06-25 2012-12-25 Microsoft Corporation Streaming optimized virtual application images
EP2454675A4 (en) * 2009-07-14 2016-10-26 Penthera Partners Inc DISTRIBUTING FILES TO A MOBILE DEVICE
US9195504B2 (en) * 2009-09-21 2015-11-24 Siemens Product Lifecycle Management Software Inc. Transfer of data structures in sub-linear time for systems with transfer state awareness
EP2362651A1 (en) * 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
US8903906B2 (en) * 2010-03-16 2014-12-02 Brother Kogyo Kabushiki Kaisha Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
US8219646B2 (en) 2010-03-31 2012-07-10 Oracle International Corporation Dynamic intelligent mirror host selection
US8745128B2 (en) * 2010-09-01 2014-06-03 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
US8639748B2 (en) * 2010-09-01 2014-01-28 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
CN102413514B (zh) * 2010-09-20 2014-12-03 株式会社日立制作所 数据配送装置以及数据配送方法
US20120072898A1 (en) * 2010-09-21 2012-03-22 Startforce, Inc. On-premise deployment of virtual desktop service servers
CN101969462A (zh) * 2010-09-30 2011-02-09 中国科学院国家天文台 数据发布系统和数据发布方法
US8886593B2 (en) 2011-02-01 2014-11-11 Siemens Product Lifecycle Management Software Inc. Controlled dispersion rates for transfer swarms
CN102164317A (zh) * 2011-02-14 2011-08-24 上海高智科技发展有限公司 一种面向ip机顶盒的多服务器分段下载系统
JP5690224B2 (ja) * 2011-06-10 2015-03-25 日本電信電話株式会社 コンテンツ優先転送方法、およびコンテンツ優先転送ゲートウェイ
CN102307244B (zh) * 2011-10-13 2013-10-30 网宿科技股份有限公司 基于b/s架构的多连接的下载方法和系统
US8959504B2 (en) * 2011-10-18 2015-02-17 Microsoft Corporation Update scanning
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
US8738766B1 (en) 2011-11-01 2014-05-27 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
CN103188161B (zh) * 2011-12-30 2017-11-21 中国移动通信集团公司 分布式数据加载调度方法与系统
TWI507891B (zh) * 2012-03-23 2015-11-11 Egis Technology Inc 具雲端儲存空間管理功能之電子裝置、雲端儲存系統、其方法及其電腦程式產品
WO2014029089A1 (en) 2012-08-22 2014-02-27 Nokia Corporation Method and apparatus for exchanging status updates while collaborating
US9432452B2 (en) 2012-09-10 2016-08-30 Joosy, Inc. Systems and methods for dynamic networked peer-to-peer content distribution
CN104969534B (zh) * 2012-10-18 2018-07-24 吉拉飞克科技股份有限公司 可动态扩大通信链接吞吐量的拥塞控制方法
US9634955B2 (en) * 2013-10-17 2017-04-25 Microsoft Technology Licensing, Llc Optimizing data transfers in cloud computing platforms
CN103747364B (zh) * 2013-12-11 2017-03-01 湖南网数科技有限公司 一种网络内容下载的方法和装置
KR101525541B1 (ko) * 2013-12-18 2015-06-03 (주) 엔에프랩 콘텐츠 딜리버리 네트워크 서비스 시스템 및 방법
CN103686430A (zh) * 2013-12-24 2014-03-26 中国联合网络通信集团有限公司 视频文件获取方法及装置
CN105812840A (zh) * 2014-12-29 2016-07-27 乐视网信息技术(北京)股份有限公司 一种直播视频传输方法、装置,以及视频直播系统
US10397233B2 (en) 2015-04-20 2019-08-27 Bomgar Corporation Method and apparatus for credential handling
US10229262B2 (en) 2015-04-20 2019-03-12 Bomgar Corporation Systems, methods, and apparatuses for credential handling
US10187485B1 (en) * 2015-09-28 2019-01-22 Symantec Corporation Systems and methods for sending push notifications that include preferred data center routing information
US9813299B2 (en) * 2016-02-24 2017-11-07 Ciena Corporation Systems and methods for bandwidth management in software defined networking controlled multi-layer networks
CN107229485A (zh) * 2016-03-23 2017-10-03 福建福昕软件开发股份有限公司 一种解决采集数据类软件关闭速度慢的方法
US10348828B2 (en) * 2016-06-20 2019-07-09 Cisco Technology, Inc. Method and apparatus for optimizing data transfers utilizing machine learning
CN106790343B (zh) * 2016-11-03 2020-05-19 深圳市元征软件开发有限公司 一种资源下载方法、及服务器
CN106790356A (zh) * 2016-11-15 2017-05-31 广东欧珀移动通信有限公司 一种数据备份、下载方法及相关设备
CN106790489B (zh) * 2016-12-14 2020-12-22 成都华为技术有限公司 并行数据加载方法和系统
CN106992999B (zh) * 2017-05-26 2020-11-20 河南职业技术学院 一种跨服务器数据通讯处理方法
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム
CN110830522A (zh) * 2018-08-07 2020-02-21 石悌君 一种共享存储系统
US11671485B2 (en) 2019-03-06 2023-06-06 Dolby Laboratories Licensing Corporation Download control in multi-server communication system
JP6959959B2 (ja) * 2019-05-22 2021-11-05 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、およびソフトウェア更新方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US6407752B1 (en) * 1997-04-29 2002-06-18 International Business Machines Corporation Method and system for a user interface for remote FTP hosts
US6003045A (en) * 1997-09-17 1999-12-14 International Business Machines Corporation Accessing stored files from multiple storage devices
JP3914317B2 (ja) * 1997-12-26 2007-05-16 インターナショナル・ビジネス・マシーンズ・コーポレーション データ通信装置およびその方法
US6061720A (en) * 1998-10-27 2000-05-09 Panasonic Technologies, Inc. Seamless scalable distributed media server
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US6678733B1 (en) * 1999-10-26 2004-01-13 At Home Corporation Method and system for authorizing and authenticating users
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US6377974B1 (en) * 2000-01-19 2002-04-23 Speedbit Ltd. Methods and apparatus for downloading a file from a server
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US7324228B2 (en) * 2000-02-25 2008-01-29 Hewlett-Packard Development Company, L.P. System and method for downloading and for printing data from an external content source
CA2303739C (en) * 2000-04-04 2009-06-30 Webhancer Corporation Method and system for managing performance of data transfers for a data access system
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US6801947B1 (en) * 2000-08-01 2004-10-05 Nortel Networks Ltd Method and apparatus for broadcasting media objects with guaranteed quality of service
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
US6772217B1 (en) * 2000-08-23 2004-08-03 International Business Machines Corporation Internet backbone bandwidth enhancement by initiating an additional data stream when individual bandwidth are approximately equal to the backbone limit
US7272613B2 (en) * 2000-10-26 2007-09-18 Intel Corporation Method and system for managing distributed content and related metadata
US7240358B2 (en) * 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
JP2002268979A (ja) 2001-03-07 2002-09-20 Nippon Telegr & Teleph Corp <Ntt> ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体
US20030084123A1 (en) * 2001-08-24 2003-05-01 Kamel Ibrahim M. Scheme for implementing FTP protocol in a residential networking architecture
US7185286B2 (en) * 2001-08-28 2007-02-27 Nvidia International, Inc. Interface for mobilizing content and transactions on multiple classes of devices
JP2003067280A (ja) 2001-08-28 2003-03-07 Fujitsu Ltd マルチメディアデータのダウンロード予約制御方式及びプログラム
US20030074465A1 (en) * 2001-10-15 2003-04-17 Zhicheng Tang ADSL downloading with priority transmit queue
US7716659B2 (en) * 2001-10-23 2010-05-11 Pitney Bowes Inc. Remote monitoring and software distribution system for servicing inserter systems
US8261059B2 (en) * 2001-10-25 2012-09-04 Verizon Business Global Llc Secure file transfer and secure file transfer protocol
CN100393141C (zh) * 2002-01-25 2008-06-04 中兴通讯股份有限公司 移动通讯系统基站软件并行下载方法
JP2003337803A (ja) 2002-05-21 2003-11-28 Ntt Me Corp コンテンツ不正入手防止方法、コンテンツ不正入手防止システムおよびコンテンツ不正入手防止プログラム
CN2540714Y (zh) * 2002-05-21 2003-03-19 顾士平 嵌入式无线网络系统实现装置
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US20050015511A1 (en) * 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
US7165050B2 (en) * 2004-09-20 2007-01-16 Aaron Marking Media on demand via peering
US20060064386A1 (en) * 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
TWI301021B (en) * 2005-12-27 2008-09-11 Ind Tech Res Inst File distribution and access system and method for file management

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929031B1 (ko) * 2007-09-17 2009-11-26 (주)씨디네트웍스 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
WO2010090459A2 (ko) * 2009-02-06 2010-08-12 주식회사 씨디네트웍스 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
WO2010090459A3 (ko) * 2009-02-06 2010-10-28 주식회사 씨디네트웍스 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법, 이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
KR101006539B1 (ko) * 2009-02-06 2011-01-07 (주)씨디네트웍스 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법,이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
KR101338689B1 (ko) * 2011-09-21 2013-12-09 명지대학교 산학협력단 병렬 다운로드를 위한 서버장치의 선택 방법

Also Published As

Publication number Publication date
EP1766936B1 (en) 2007-12-19
CA2569925A1 (en) 2005-12-22
ATE381844T1 (de) 2008-01-15
JP4886690B2 (ja) 2012-02-29
WO2005122532A1 (en) 2005-12-22
JP2008502061A (ja) 2008-01-24
BRPI0511882A (pt) 2008-10-14
DE602005003948D1 (de) 2008-01-31
CA2569925C (en) 2010-08-03
EP1766936A1 (en) 2007-03-28
US20060031537A1 (en) 2006-02-09
KR101019982B1 (ko) 2011-03-09
CN1939036A (zh) 2007-03-28
CN1939036B (zh) 2011-08-31
US7631098B2 (en) 2009-12-08
BRPI0511882B1 (pt) 2018-12-18
DE602005003948T2 (de) 2008-12-04

Similar Documents

Publication Publication Date Title
KR101019982B1 (ko) 그리드 컴퓨팅 인프라구조에서의 최적화된 데이터 다운로드 방법과, 다운로드 데이터를 업로드, 분배, 관리 및 제어하는 방법과, 컴퓨터 판독가능한 기록 매체와, 장치
Vahdat et al. WebOS: Operating system services for wide area applications
US8489741B2 (en) Policy enabled grid architecture
US20200366572A1 (en) Detect and enforce api slas using cloud access api broker
Schmidt et al. Efficient distribution of virtual machines for cloud computing
EP1751947B1 (en) A method and system of digital content sharing among users over communications networks, related communications network architecture and computer program product therefore
Aiken et al. Network policy and services: A report of a workshop on middleware
KR101063556B1 (ko) 컴퓨팅 시스템에서 데이터를 업로드하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
US7644161B1 (en) Topology for a hierarchy of control plug-ins used in a control system
EP2901308B1 (en) Load distribution in data networks
JP2001043199A (ja) 異種サーバにまたがるサービス指向資源管理
CN113940045A (zh) 将策略应用于服务图的api
US7634548B2 (en) Distributed service deliver model
US11843527B2 (en) Real-time scalable virtual session and network analytics
Verma et al. Policy-based management of content distribution networks
JP2011512578A (ja) 管理可能かつ効率的拡大展開用アプリケ−ション記述システム及び方法
US10862873B1 (en) Message-based database replication
JP2012118709A (ja) 配信システム、ストレージ容量決定プログラム、及びストレージ容量決定方法
TWI401574B (zh) 於一柵網計算環境中用在最佳化同作資料下載之方法、系統及程式產品
Repantis et al. Adaptive component composition and load balancing for distributed stream processing applications
Lv et al. Research on service model of content delivery grid
JP2012175395A (ja) コンテンツ配信制御装置、その方法、ユーザ端末及びプログラム
KR100836619B1 (ko) P2p 시스템에서 피어 관리 서버 및 피어 관리 방법
CN116233057A (zh) 数据传输方法、云中心、边缘节点及存储介质
KR101144208B1 (ko) 분산 서버 기반의 그리드 시스템 환경에서 전원관리 기능을 포함한 클라우드 컴퓨팅 시스템 및 그 동작 방법

Legal Events

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

Payment date: 20140124

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee