JP2008502061A - グリッド・コンピューティング環境内の最適化並行データ・ダウンロード - Google Patents

グリッド・コンピューティング環境内の最適化並行データ・ダウンロード Download PDF

Info

Publication number
JP2008502061A
JP2008502061A JP2007526421A JP2007526421A JP2008502061A JP 2008502061 A JP2008502061 A JP 2008502061A JP 2007526421 A JP2007526421 A JP 2007526421A JP 2007526421 A JP2007526421 A JP 2007526421A JP 2008502061 A JP2008502061 A JP 2008502061A
Authority
JP
Japan
Prior art keywords
download
servers
server
client
data
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2007526421A
Other languages
English (en)
Other versions
JP4886690B2 (ja
JP2008502061A5 (ja
Inventor
ブートブール、アーウィン
マーティン、デビッド
メリクセティアン、ディクラン
ゾウ、ニャンジャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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=JP2008502061(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008502061A publication Critical patent/JP2008502061A/ja
Publication of JP2008502061A5 publication Critical patent/JP2008502061A5/ja
Application granted granted Critical
Publication of JP4886690B2 publication Critical patent/JP4886690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • Image Generation (AREA)
  • Stored Programmes (AREA)

Abstract

クライアント・コンピュータ及びダウンロード管理システムとネットワーク通信する複数のダウンロード・サーバを有するグリッド・コンピュータ・システムにおいて、複数のダウンロード・サーバからクライアントへデータを並行してダウンロードするため、クライアントはダウンロード管理システムからダウンロード・プランを要求する。クライアントは、ダウンロード・プランにより識別されたダウンロード・サーバからデータのチャンクを要求する。クライアントは、チャンクをダウンロードするダウンロード・サーバの性能を監視し、チャンクのダウンロードを完了する性能を改善するためにダウンロード・サーバ間でチャンクの一部分を再割り当てる。ダウンロード・データのチャンクはデータの複数のファイル、1つのファイルまたはファイルの一部分である。

Description

本発明は、コンピュータ・データ処理に関する。特に、本発明は、グリッド・コンピューティング環境におけるデータのダウンロードに関する。
グリッド・コンピューティングは、巨大な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」で見られる。
チャルマース工科大学のLlevist及びBengsson氏による文書「Grid Computing Distribution Using Network Processors」はグリッド・コンピューティングを論じている。この文書は、コード及びデータの両方をネットワークのノード(グリッド)に分散する新規コンピューティング・モデルの提案に焦点を合わせている。ネットワークのルータは、コードを実行するのに選択すべきノードを、ルータにより収集された知識に基づいて判別する。
米国特許第6339785号(Feigenbaum氏)による「Multi‐Server File Download」では、サーバからのダウンロードの速度が、予め定義された期待速度から落ちる場合、Feigenbaum氏はサーバを除去する。サーバがデータ・チャンクの一部分を完了し、必要なければ(他のすべてのサーバが、予め定義された期待速度より上であれば)、Feigenbaum氏はこのサーバをこれ以上用いない。注目に値すべきは、Feigenbaum氏による明細書では、2つのサーバが10k/sにランクされる状態があるということである。その結果、ダウンロードが全く同じ2つのチャンク(chank)から始まる。第1サーバは、期待速度を順守するように10k/sでダウンロードする。(ネットワークが動的であるので)第2サーバは1000k/sでダウンロードし、チャンクを直ちに完了する。Feigenbaum氏は、完了するまで第1チャンクを10k/sに保持する(「サーバの性能が、予め定義されたレベルを下回るならば、リンクは中断される」)。10k/sチャンクを1000k/sサーバに再割り当てる方法がないので、我々はこのプロセスを進めていく。
グリッド・ネットワークにおいてサーバからデータをインテリジェントにダウンロードする必要がある。
本発明は、請求項1及び請求項14に請求された方法と、対応のコンピュータ・プログラム及びシステムとを提供する。
グリッド・コンピューティングは、巨大なIT機能にシームレスにアクセスする単一システム・イメージ、許可ユーザ及びアプリケーションを作成する処理能力、ネットワーク帯域幅及びストレージ容量のような分散型コンピューティング・リソースの仮想化である。この開示では、グリッド・コンピューティング環境内でのダウンロード・サービスを記述する。
従来型/クライアント・サーバまたはピアツーピア・モデルを用いるよりはむしろ、本発明は、サービス・プロバイダ、コンシューマ及びブローカのモデルを用いる。ブローカは、サービスのロードマップを提供し、アプリケーションを保護し、レコードを維持する責務を有する。コンシューマはサービス・プロバイダにコンタクトし、ブローカから必要な許可及び信任状を得た後だけサービス・プロバイダからサービスを受信することができる。更に、ブローカは、複数のサービス・プロバイダから並行してサービスを受信するようにコンシューマを誘導することができる。ダウンロード・グリッドの状況では、ブローカは管理サービスとして実装され、サービス・プロバイダはダウンロード・サーバとして実装され、コンシューマはクライアント・エージェントとして実装される。エージェントは、エンド・ユーザの代わりにファイル・ダウンロードを開始し、処理する。このモデルを様々なグリッド・アプリケーションに適用することができる。
本発明は、ネットワーク・リソースを効率的に管理し、分散型アセットへのアクセスを制御しながら、高スループット・ダウンロード・サービスを提供する。
好ましくは、本発明は、最適化プランに基づいて複数のサーバから並列データ転送(ダウンロード)をサポートするために複数の並行データ・ストリームを供給する。最適化は、(1)サービス要求ノード(またはクライアント)のネットワーク・アクセス・ポイント、(2)サーバのトポロジ、(3)サービスを要求するモーメントのネットワーク・トラフィック、及び、(4)クライアントに対するサービス・レベル契約に基づくのが好ましい。
好ましくは、本発明は、信任状及び最適化プランの両方をカプセル化するのにX.509プロキシを用いる。
好ましくは、クライアントに仕えるサーバの初期数を計算することによりクライアントの最大許容帯域幅を理解する。サーバの数を、レプリケーション・プロセスの最大性能に達するように調整することができる。
好ましくは、クライアントの最大許容帯域幅の従来知識が使用可能でなければ、サーバの初期数は1から開始し、システムは、最大レプリケーション速度に達するサーバの数を検出するように調整する。
好ましくは、本発明は、最適化プランのより良い品質を可能にするため、レプリケーション・プロセスのフィードバックを行う。
好ましくは、本発明は、フィードバック・システム及びグリッド・コンピューティング・インフラストラクチャを用いてグリッドからのサービスを非アクティブにし、要求時、再度アクティブにする。
好ましくは、本発明は、データ(またはファイル)の所定部分に対して、サービス要求のアクセス・ポイントの分散に基づいて、広域トラフィックを削減するため、または他の基準を最適化するため、ネットワーク・トポロジ上のサーバの分散を最適化する。
本発明と見なされる対象は、請求項に特に指摘され、はっきりと請求されている。本発明の前述及びその他の目的、特徴及び利点は、添付図面と一緒に理解する以下の詳細な説明から明らかとなる。
詳細な説明は、図面を参照し、一例として本発明の好適な実施形態を利点及び特徴と一緒に説明する。
好ましくは、本発明は、グリッド・コンピューティング環境内のダウンロード・サービスを提供する。従来型/クライアント・サーバまたはピアツーピア・モデルを用いるよりはむしろ、好適な実施形態は、サービス・プロバイダ、コンシューマ及びブローカのモデルを用いる。ブローカは、サービスのロードマップを提供し、アプリケーションを保護し、レコードを維持する責務を有する。コンシューマはサービス・プロバイダにコンタクトし、ブローカから必要な許可及び信任状を得た後だけサービス・プロバイダからサービスを受信することができる。更に、ブローカは、複数のサービス・プロバイダから並行してサービスを受信するようにコンシューマを誘導することができる。ダウンロード・グリッドの状況では、ブローカは管理サービスとして実装され、サービス・プロバイダはダウンロード・サーバとして実装され、コンシューマはクライアント・エージェントとして実装される。エージェントは、エンド・ユーザの代わりにファイル・ダウンロードを開始し、処理する。このモデルを様々なグリッド・アプリケーションに適用することができる。
ダウンロード・グリッドを拡張容易性、信頼性、安全性、適応性及び高効率のあるものにする必要がある。
拡張容易性:本発明は、グリッドに属する任意のリソース・セットを用いるべきである。ダウンロード・グリッドは動的ダウンロード・サーバ・セットを用いる。従って、本発明は拡張容易性を有する。
信頼性:単一サーバに依存するよりはむしろ、ダウンロード・グリッドは多くのサーバを有する。個別サーバの故障はダウンロード・サービスを使用不可にしない。従って、本発明は信頼性を有する。
安全性:本発明は、セキュリティ・インフラストラクチャとしてプライベート・キー・インフラストラクチャ(PKI)及びX.509証明書を用いる。従って、本発明は安全性を有する。
適応性:ダウンロード・グリッドは、複数のサーバから並行してダウンロードされるファイルの一部分を動的に割り当てることができる。割り当てが、各特定サーバの認知される性能に基づくので、本発明は適応性を有する。
効率:管理サービスは、特定ダウンロードに使用できるリソースのサブセットを制御する。管理サービスは、ネットワーク・リソースの全体の使用率(帯域幅使用率)を最小化することを目標としてこの選択を実行する。従って、本発明は高効率を有する。
好ましくは、本発明は、ネットワーク・リソースを効率的に管理し、分散型アセットへのアクセスを制御しながら、高スループット・ダウンロード・サービスを提供する。
図1には、本発明を実行できる典型的なワークステーションまたはサーバ・ハードウェア・システムを示す。図1のシステム100は、任意の周辺装置を含むパーソナル・コンピュータ、ワークステーションまたはサーバのような典型的なコンピュータ・システム101を含む。ワークステーション101は、1つ以上のプロセッサ106と、既知の技術に従って(複数の)プロセッサ106とシステム101の他のコンポーネントとの間に通信を接続し、使用可能にするのに用いられるバスとを含む。バスは、例えばハード・ドライブ、ディスケット・ドライブまたは磁気テープ・ドライブを含むことができる長期ストレージ107及びメモリ105にプロセッサ106を接続する。システム101は、バスを介してプロセッサ106をキーボード104、マウス103、プリンタ/スキャナ110のような1つ以上のインターフェース・デバイス、または、タッチ検知画面、デジタル化入力パッドなどのような任意のユーザ・インターフェース・デバイスとすることができる他のインターフェース・デバイス、あるいはその両方に接続するユーザ・インターフェース・アダプタをも含むことができる。バスは、ディスプレイ・アダプタを介してLCD画面またはモニタのようなディスプレイ装置102をもマイクロプロセッサ106に接続する。
システム101は、ネットワーク109と通信できるネットワーク・アダプタを介して他のコンピュータまたはコンピュータのネットワークと通信することができる。ネットワーク・アダプタの例として、通信チャネル、トークン・リング、イーサネット(R)またはモデムが挙げられる。あるいはまた、ワークステーション101は、CDPD(セルラー・デジタル・パケット・データ)カードのような無線インターフェースを用いて通信することができる。ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)においてこのような他のコンピュータとワークステーション101を関連付けることができる。または、別のコンピュータなどを有するクライアント/サーバ配置においてワークステーション101をクライアントとすることができる。適切な通信ハードウェア及びソフトウェアと同様に、これら構成のすべても、当該技術分野において既知である。
図2には、本発明を実行できるデータ処理ネットワーク200を示す。データ処理ネットワーク200は、複数の個別ワークステーション101を各々が含むことができる無線ネットワーク及び有線ネットワークのような複数の個別ネットワークを含むことができる。更に、当業者が認識するように、1つ以上のLANを含むことができ、LANは、ホスト・プロセッサに結合された複数のインテリジェント・ワークステーションを含むことができる。
更に図2を参照するに、ネットワークは、ゲートウェイ・コンピュータ(クライアント・サーバ206)またはアプリケーション・サーバ(データ・レポジトリにアクセスできるリモート・サーバ208)のようなメインフレーム・コンピュータまたはサーバをも含むことができる。ゲートウェイ・コンピュータ206は、各ネットワーク207内へのエントリ点としての役割をする。1つのネットワーク・プロトコルを別のネットワーク・プロトコルに接続する場合にゲートウェイが必要とされる。好ましくは、ゲートウェイ206を通信リンクにより別のネットワーク(例えば、インターネット207)に結合することができる。また、通信リンクを用いてゲートウェイ206を1つ以上のワークステーション101に直接に結合することができる。IBM社から入手できるeServer(IBM社の商標)zServer900サーバを使用してゲートウェイ・コンピュータを実装することができる。
本発明を具体化するソフトウェア・プログラミング・コードは、CD‐ROMドライブまたはハード・ドライブのような長期ストレージ・メディア107からシステム101のプロセッサ106により典型的にアクセスされる。ディスケット、ハード・ドライブまたは、CD‐ROMのようなデータ処理システムと用いるため、様々な既知のメディアのいずれでもソフトウェア・プログラミング・コードを具体化することができる。コードをこのようなメディアに分散することができ、または、1つのコンピュータ・システムのメモリまたはストレージから、他のコンピュータ・システムのユーザにより用いられるこのような他のコンピュータ・システムへネットワークを介してユーザに分散することができる。
あるいはまた、プログラミング・コード111をメモリ105で具体化することができ、プロセッサ・バスを用いてプロセッサ106によりアクセスすることができる。このようなプログラミング・コードは、様々なコンピュータ・コンポーネント及び1つ以上のアプリケーション・プログラムの機能及び相互作用を制御するオペレーティング・システムを含む。プログラム・コードは、通常、高密度のストレージ・メディア107から、プロセッサ106により処理するのに使用可能である高速メモリ105にページングされる。メモリ内、物理メディア上、及び、ネットワークを介して分散するソフトウェア・コードのいずれか1つまたは任意の組み合わせにおいてソフトウェア・プログラミング・コードを具体化する技術及び方法は周知であり、本明細書では、これ以上論じない。
好適な実施形態では、本発明は1つ以上のコンピュータ・ソフトウェア・プログラム111として実装される。要求に応じて呼び出される1つ以上のモジュールまたはアプリケーション111(コード・サブルーチンまたは、オブジェクト指向プログラミングにおいて「オブジェクト」とも称する)のように本発明のソフトウェアの実装をユーザのワークステーションで操作することができる。あるいはまた、ソフトウェアは、ネットワーク内のサーバで、または、本発明を実装するプログラム・コードを実行できる任意のデバイス内で操作することができる。本明細書で開示された発明概念から逸脱することなく、本発明を実装するロジックをアプリケーション・プログラムのコード内に組み込むことができ、または、このロジックを、アプリケーションにより呼び出される1つ以上の分離するユーティリティ・モジュールとして実装することができる。ウェブ・サーバが、インターネットを介して接続されたクライアントからの要求に応答してサービスを提供するウェブ環境でアプリケーション111を実行することができる。別の実施形態では、企業イントラネットまたはエクストラネットで、あるいは、その他のネットワーク環境でアプリケーションを実行することができる。環境の構成は、多層環境と同様に、クライアント/サーバ・ネットワーク、(クライアントが、クライアント機能及びサーバ機能の両方を実行することにより直接に相互作用する)ピアツーピアネットワークを含む。これら環境及び構成は当該技術分野において既知である。
図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の「A Grid service for Scheduling Distributed Data‐Oriented Appellations on local Grids」で論じられている。
図4には、ダウンロード・グリッド・システムの高レベル・アーキテクチャを示す。管理サービス402は4つのモジュール及びリポジトリ・データベース406を含むのが好ましい。408及び409により表される多数のサーバがグリッド・システムにあり、これらサーバは管理サービス・センタ402に登録されている。更に、ダウンロードを許可されたファイルのすべては管理センタに登録されている。4つのモジュールの機能は以下の通りである。
オプティマイザ405は、(サーバの最適化リストを含む)最適化ダウンロード・プランを判別し、クライアントに供給する。
登録システム407はサーバ及びファイルの登録を行う。
フィードバック・システム403は、サーバの状況及び性能に関するフィードバックをクライアント401から収集する。
統計システム404は、フィードバック・システムからのアプリケーション使用率情報を分析し、レポートを作成する。
図5には、複数のダウンロード・サーバからチャンクを並行してダウンロードするのに用いるセッションの数をクライアントが判別するのに用いる好適なプロセスを示す。クライアントは最初に最適化リスト内のサーバの1つとセッションを開始する(501)。クライアントは、それぞれのサーバからのチャンクの各部分のダウンロード速度を継続的に監視する。クライアントは、監視した速度をLOOP_TIMEOUT秒ごとに分析する。第1LOOP_TIMEOUT期間502の終わりでは、QoS(サービス品質)要件が満たされなければ、クライアントはリストの未使用のサーバの1つと第2セッションを開始する(503)。
後続する反復では、クライアントは以下の通りに進行する。
(N=2 505、またはN=3 506)であり、且つ、現在数のセッションで達成された最大ダウンロード速度(max_download_rate)が、予め定義されたしきい値(THRESHOLD_{N})より上であれば、クライアントは別のサーバと第(N+1)セッションを開始しようとする。
その他の場合、N>3であれば、クライアントは、最後の加算から得られた相対ゲイン及び絶対ゲインの両方を検査し、それに応じて作用する。(507)であれば、すなわち、
MAX_RATE(N servers)−MAX_RATE(N−1 servers)>THRESHOLD_INC
または
(MAX_RATE(N servers)−MAX_RATE(N−1 servers))/MAX_RATE(N−1 servers)>INC_FACTORであって、
ここで、MAX_RATE(N servers)が、N個のセッションで達成された最大ダウンロード速度であり、MAX_RATE(N−1 servers)が、N−1個のサーバと達成された最大速度であり、THRESHOLD_INC及びINC_FACTORがそれぞれ、予め定義された絶対しきい値及び相対しきい値であれば、
クライアントは別のサーバと第(N+1)セッションを開始する(509)。
初期THRESHOLD_N制限は、低いダウンロード速度での多すぎるセッションを回避するための調整である。例示的な実装態様では、様々なパラメータの値は以下の通りである。
THRESHOLD_2=40kバイト/s
THRESHOLD_3=75kバイト/s
INC_FACTOR=20%
THRESHOLD_INC=30kバイト/s
LOOP_TIMEOUT=0.150秒
この方式の多数の変形が可能である。例えば、2つのファイルを含むバンドルをサーバからクライアントにダウンロードするものとし、各サーバは両方のファイルを有する。1つのファイルの一部分のダウンロードはサーバの第1グループから開始され、もう1つのファイルの一部分のダウンロードは第2グループから開始される。第1グループのサーバがその一部分のダウンロードを完了したら、クライアントは、サーバ上の1つのファイルまたはもう1つのファイルの一部分のダウンロードを開始することを選択することができる。
別の例に対して、各ステップでサーバをランダムに選択する代わりに、管理サービスにより指定された順序にサーバを選択することができる。同様に、単一サーバから開始する代わりに、複数のサーバから開始することも可能である。同様に、N=2及びN=3の場合を別々に処理する代わりに、これより多くのNまたは、これより少ないNの場合を別々に処理することも可能である。更なる別の変形は、INC_FACTORをN自体に依存させることである。これらは、これら方式の考えられる変形の単なる一例に過ぎず、包括的なリストを表していない。当該技術分野において既知であるその他の変形を本発明の範囲内で用いることができる。
図6には、ダウンロード中に発生する調整を詳細に示す。新規ダウンロードが開始されると、チャンクは、異なるサーバに割り当てられる。チャンクは、特定のサーバからダウンロードされるように割り当てられたファイルの一部分または全部である。ダウンロード要件が複数のファイルの一グループに対するものであるならば、チャンクはグループ内のファイル全体に対応する必要がある。各チャンクのサイズは、最適化プランにリストされた属性サーバ速度に依存する。ネットワークが動的であるので、幾つかのチャンクは、期待されるよりも早く完了される。図6は、チャンク再割り当てアルゴリズムを示す。
サーバXがチャンクを完了したら(601)、クライアントは各アクティブ・ダウンロードを検査し、各々に対して期待された残りの時間をチャンクの残りのサイズ及び現在のダウンロード速度に基づいて計算する。次に、クライアントは、完了するのに最も長い時間を有する可能性を秘めているチャンクをサーバYから選択する(602)。選択したチャンクが図7の653として表される。選択したチャンク653のサイズが、予め指定されたしきい値よりも小さければ(603)、更なるアクションを取らない。その他の場合(604)、クライアントは、サーバX及びサーバYで達成されたダウンロード速度を判別する。サーバX及びサーバYの両方からのダウンロードが同時に完了するように、クライアントは、サーバX及びサーバYの実際の速度、及び他のパラメータを考慮する調整係数によりチャンクの残りのサイズを分割する(ステップ605)。対応のチャンクは、図7の654及び655により表されている。言い換えれば、サーバYがチャンク654(end_y)を完了すると同時にサーバXは新規チャンク655(begin_x−end_x)を完了する。次に、サーバYが657に至るまでチャンクのダウンロードを完了するが、クライアントはサーバXからチャンク655をダウンロードし始める(606)。
チャンクの相対サイズを判別するのに速度以外のパラメータも考慮される。これらパラメータは、セッション確立時間及び残りのチャンク・サイズのような係数を含むことができる。チャンキング・アルゴリズムは、小さすぎるチャンクを再割り当てることが意味をなさなければ、これを回避するのが好ましい。
このアルゴリズムには、多くの変形がある。これは、本発明を教示するための単なる例示的な実装態様である。
好適な実施形態(図8)では、ファイル・プロバイダは、適切な信任状を有する管理サービスにコンタクトし(701)、ファイル・プロバイダは特定の属性704でダウンロード・データのチャンクを特徴付け(702)、ファイル・プロバイダは特定の属性704を管理システムに送信し(703)、チャンクをダウンロード・グリッドの単一サーバにアップロードする(705)。属性704は、優先順位、ファイルに対する所望の地理的な隣接性、または、ファイルをダウンロードする権限を許可するクライアントに関する制限のいずれか1つを含む。ファイル・プロバイダは暗号化解除キーを生成し、ファイルを暗号化し、暗号化解除キーを管理サービスに安全に送信する。
管理サービスは、コンテンツ・プロバイダからダウンロード・データを受信し(図10)901、ダウンロード・データをインフラストラクチャに分散する(706)。インフラストラクチャは複数のダウンロード・サーバを含む。管理サービスが、ダウンロード・データをクライアントにダウンロードするため、ダウンロード・プランに対するクライアントからの要求(要求はQoS要件を指定し、QoS要件はダウンロードのダウンロード速度または所望の完了時間の仕様を含む)を受信すると(902)、ダウンロード・プランを生成する(903)。ダウンロード・プランは、ダウンロード・データを有する2つ以上のダウンロード・サーバのリストを含み、2つ以上のダウンロード・サーバの性能情報905を更に含む。次に、ダウンロード・プランをクライアントに送信する(904)。(ダウンロード・プランは、グリッド・インフラストラクチャに配備された複数のダウンロード・サーバの最適化リストを含む。)
クライアントは、ダウンロード・データに対する要求をアプリケーション・プログラムから受信する(図9)801。次に、クライアントは、管理サービスからダウンロード・プランを要求し(802)、次に、ダウンロード・プランに指定されたダウンロード・サーバにコンタクトし、その後、ダウンロード・データのダウンロード・チャンクのダウンロードを、コンタクトした2つ以上のダウンロード・サーバの各々から開始する(803)。クライアントはダウンロード・サーバのダウンロード性能を監視し(805,806)、2つ以上のダウンロード・サーバのダウンロード性能に基づいて、ダウンロードされるダウンロード・チャンクの数を調整する(804)。次に、クライアントは2つ以上のダウンロード・サーバのダウンロード性能を管理サービスに報告する(807)。
クライアントがダウンロードし終えたら(808)、管理サービスは、サーバの新規ダウンロード性能情報をクライアントから受信する(907)。管理サービスは、新規ダウンロード性能情報に基づいてダウンロード・サーバの性能情報を更新する(906)。
管理サービスは、アップロードするファイルを受信する単一サーバを選択するか、2つ以上のダウンロード・サーバのサーバをアクティブにするか、2つ以上のダウンロード・サーバのサーバを非アクティブにするか、または、2つ以上のダウンロード・サーバのサーバを更新するような活動を動的に実行する。
管理サービスは、クライアントのロケーション、ダウンロード・サーバの状況及び使用率情報、QoS要件、クライアントに対する選択されたダウンロード・サーバのネットワーク隣接性、クライアントに対する選択されたダウンロード・サーバの地理的な隣接性、サーバのネットワークのアウトバウンド帯域幅、サーバによりサポートされたチャンク・ダウンロードの現在数、または、許可される最大並行チャンク・ダウンロードに基づいてダウンロード・プランを作成する(クライアント・エージェントのネットワーク・アドレスに基づいて、または、クライアント・エージェントにより供給された情報を介してクライアント・エージェントのロケーションが自動的に判別される)。
好ましくは、ダウンロードの開始が以下のステップを含む。
a. コンタクトした2つ以上のダウンロード・サーバの第1サーバからダウンロード・データのダウンロード・チャンクの第1部分のダウンロードを開始する。
b. ダウンロード・チャンク部分のダウンロード性能の指示を保管する。
c. コンタクトした2つ以上のダウンロード・サーバの新規サーバからダウンロード・データのダウンロード・チャンクの新規部分のダウンロードを開始する。
d. ダウンロード・チャンク部分のダウンロード性能を監視する。
e. 監視されたダウンロード性能が、ダウンロード性能の保管された指示より大きく、ダウンロード性能が、予め判別された最大性能より小さく、コンタクトした2つ以上のダウンロード・サーバのすべてが開始されなかったならば、ステップb〜eを反復する。
クライアントは、開始された各ダウンロード・サーバからのダウンロード・データのダウンロード・チャンク部分のダウンロード性能を監視し、第1サーバのチャンク部分の副部分を第2サーバに再割り当てし、再割り当てられた副部分のサイズが、開始された2つ以上のダウンロード・サーバの達成されたダウンロード性能に比例するか、第1サーバによりダウンロードされることになっているチャンク部分に比例するか、第1サーバによりダウンロードされることになっているチャンク部分のほぼ半分である。クライアントは、ダウンロードの終了でファイルの完全性を検査し、完全性検査の指示を管理サービスに送信する。
クライアントは、各サーバからダウンロードされたチャンクのサイズ、または、各サーバのダウンロード性能、または、要求に応答しなかったサーバのIDに関する情報を記録し、記録された情報を管理サービスに送信する。好ましくは、チャンクが関連のアクセス制御リストを有し、アクセス制御リストに指定されたエンド・ユーザのみファイルをダウンロードすることができる。チャンクはストアされ、暗号化形式で分散される。ファイルの最終暗号化解除は、管理サービスから安全に獲得したキーを用いてクライアント・エージェントにより実行される。
好ましくは、ウェブ・サービスを用いて現在のダウンロード・グリッド・システムを実装する。ダウンロード操作は、クライアントとサーバとの間に独自プロトコルで実装される。管理サービスは、サン・マイクロシステムズ社からのJAVA(同社の商標)を用いて実装される。リポジトリはリレーショナル・データベースである。
好ましくは、ダウンロード・グリッド・サーバをJAVAで実装する。サーバは標準のTCP/IPプロトコルを用い、ファイル転送速度を動的に調整するアルゴリズムを有する。
好ましくは、独立のJAVAアプリケーション及びウェブ・ブラウザ・ベースのJAVAアプレットのどちらかとしてクライアントを実装する。
セキュリティー・メカニズムは、アクセスを制御するのにGlobus2.2グリッド・セキュリティ・インフラストラクチャ(GSI)インプリメンテーションを用いるのが好ましい。GSIは、www−unix.globusorg/securityの「Grid Security Infrastructure」及びwww−unix.globusorg/security/overviewhtmlの「Overview of the Grid Security Infrastructure」に記述されている。管理サービスは、www−unix.globus.org/toolkit/docs/3.2/gsi/key/index.htmlの「GSI Key Concepts」で論じられているような既存のグリッドの認証局(CA)センタにより発行された証明書を有する。
すべてのダウンロード・サーバ及びクライアントはこの証明書を信頼する。クライアント認証を可能にし、ダウンロード・サーバから直接にダウンロードするように管理サービスの権限を代行するのにX.509プロキシが用いられる。X.509はITU‐T勧告X.509バージョン3(1997),「Information Tehnology ‐ Open Systems Interconnection ‐ The Diretory Authentication Framework」,ISO/EEC,9594‐8(1997年)に記述されている。
好適な実装態様では、最適化プランの判別は、クライアントと候補ダウンロード・サーバとの間の地理的距離に基づいて計算される。この判別を基にしてクライアントのIPアドレスとサーバのIPアドレスとは、IPアドレスを地理的ロケーションにマッピングするテーブルと一緒に用いられる。最適化プランは、XMLフォーマットでX.509プロキシ証明書の内部にカプセル化される。
本発明の機能をソフトウェア、ファームウェア、ハードウェアまたはそれらの幾つかの組み合わせに実装することができる。
一例として、例えばコンピュータ使用可能メディアを有する製品(例えば、1つ以上のコンピュータ・プログラム製品)に本発明の1つ以上の態様を含むことができる。このメディアは、例えば、本発明の機能を行い、容易にするコンピュータ可読プログラム・コード手段で具体化されている。コンピュータ・システムの一部分として製品を含むことができ、または、別々に販売することができる。
更に、本発明の機能を実行するため、マシンにより実行可能である命令の少なくとも1つのプログラムを明白に具体化するマシンにより読み取り可能である少なくとも1つのプログラム・ストレージ・デバイスを備えることができる。
本明細書で記述したフロー・ダイアグラムは単なる一例である。本発明の精神から逸脱することなく、本明細書で記述したこれらダイアグラムまたはステップ(または操作)に多くの変形が可能である。例えば、これらステップを異なる順序で実行することができる。または、これらステップを追加するか、削除するか、または変更することができる。これら変形のすべては、請求された本発明の一部分と見なされる。
コンピュータ・システムのコンポーネントを示す図である。 従来技術のクライアント/サーバ・ネットワークを示す図である。 従来技術のグリッド・ネットワークを示す図である。 例示的な高レベル・ダウンロード・グリッド・アーキテクチャ図である。 並行ダウンロード・セッションの数を制御するプロセスの一例を示すフローチャートである。 ダウンロード再調整の例示的なプロセスを示すフローチャートである。 例示的なチャンク再割り当てプロセスを示す図形による描写である。 本発明によるグリッド・ダウンロード・システムへのコンテンツの供給を示すフローチャートである。 本発明によるグリッド・ダウンロード・システムへのコンテンツのダウンロードを示すフローチャートである。 本発明によるグリッド・ダウンロードの開始を示すフローチャートである。

Claims (22)

  1. グリッド・コンピューティング・インフラストラクチャにおいてデータ・ダウンロードを最適化する方法であって、前記方法が、(a)管理サービスからダウンロード・プランを獲得するステップであって、前記ダウンロード・プランが、所望のダウンロード・データを有する複数のダウンロード・サーバの最適化リストを含み、前記複数のダウンロード・サーバがグリッド・インフラストラクチャに配備されるステップと、(b)前記ダウンロード・プランに指定された前記ダウンロード・サーバの2つ以上にコンタクトするステップと、(c)ダウンロード・データのそれぞれのチャンクを並行してダウンロードするため、前記ダウンロード・データのチャンクを、前記ダウンロード・プランに指定された前記ダウンロード・サーバの前記2つ以上のそれぞれのダウンロード・サーバに割り当てるステップと、(d)コンタクトされた前記2つ以上のダウンロード・サーバのダウンロード・サーバから前記ダウンロード・データの前記チャンクの並列ダウンロードを開始するステップであって、前記チャンクが、前記ダウンロード・サーバから並行してダウンロードされるステップと、(e)前記チャンクをダウンロードする前記2つ以上のダウンロード・サーバのダウンロード性能を監視するステップと、(f)前記チャンクの前記並列ダウンロード中、ダウンロード・サーバによりダウンロードされるチャンクの数を、前記2つ以上のダウンロード・サーバの前記監視されたダウンロード性能に基づいて調整するステップと、(g)前記2つ以上のダウンロード・サーバの前記監視されたダウンロード性能を前記管理サービスに報告するステップとを含む方法。
  2. 前記ステップa〜gが、クライアント・エージェント、管理サービス・エージェントまたはサーバ・エージェントのいずれか1つにより実行される、請求項1に記載の方法。
  3. 前記ダウンロード・プランに対する要求を前記管理サービスに送信する更なるステップであって、前記要求がQoS要件を指定する更なるステップを含む、請求項1に記載の方法。
  4. 前記QoS要件が、前記ダウンロードのダウンロード速度または所望の完了時間のいずれか1つの仕様を含む、請求項3に記載の方法。
  5. ダウンロードを開始する前記ステップが、(a)コンタクトされた前記2つ以上のダウンロード・サーバの第1サーバから前記ダウンロード・データの第1チャンクのダウンロードを開始する更なるステップと、(b)現在ダウンロードしているダウンロード・チャンクの前記ダウンロード性能の指示を保管する更なるステップと、(c)次に、コンタクトされた前記2つ以上のダウンロード・サーバの新規サーバからダウンロード・データの新規チャンクのダウンロードを開始する更なるステップと、(d)次に、現在ダウンロードしている前記ダウンロード・チャンクのダウンロード性能を監視する更なるステップと、(e)次に、前記監視されたダウンロード性能が、前記保管されたダウンロード性能の指示より大きく、前記監視されたダウンロード性能が、予め判別された最大性能より小さく、コンタクトされた前記2つ以上のダウンロード・サーバのすべてが開始されなかったならば、ステップb〜eを反復する更なるステップとを含む、請求項1に記載の方法。
  6. 現在ダウンロードしている第1チャンクのダウンロードされる第1部分を判別する更なるステップであって、前記第1チャンクが、開始された前記2つ以上のダウンロード・サーバの第1サーバからダウンロードしている更なるステップと、前記ダウンロード・サーバからチャンクを並行してダウンロードしながら、現在ダウンロードしている第1チャンクの前記ダウンロードされる第1部分の並列ダウンロードを前記2つ以上のダウンロード・サーバの第2サーバから開始する更なるステップとを含む、請求項1に記載の方法。
  7. 現在ダウンロードしている第1チャンクの前記ダウンロードされる第1部分のサイズが、開始された前記2つ以上のダウンロード・サーバの達成されたダウンロード性能に比例するか、前記第1部分に比例するか、または、前記第1部分のほぼ半分である、請求項6に記載の方法。
  8. 前記ダウンロードの終了で前記ダウンロード・データの完全性を検査する更なるステップと、前記完全性の検査の指示を前記管理サービスに送信する更なるステップとを含む、請求項1に記載の方法。
  9. 各サーバからダウンロードされたチャンクのサイズ、または、各サーバの前記ダウンロード性能、または、前記要求に応答しなかった前記サーバのIDのいずれか1つに関する情報を記録する更なるステップと、前記記録された情報を前記管理サービスに送信する更なるステップとを含む、請求項1に記載の方法。
  10. 前記ダウンロード・データが関連のアクセス制御リストを有し、前記アクセス制御リストに指定されたエンド・ユーザのみ前記ダウンロード・データをダウンロードすることができる、請求項1に記載の方法。
  11. ダウンロード・データがストアされ、暗号化形式で分散されて、ファイルの最終暗号化解除が、前記管理サービスから安全に獲得されたキーを用いて前記クライアント・エージェントにより実行される、請求項1に記載の方法。
  12. チャンクが、複数のファイル、1つのファイルまたはファイルの一部分のいずれか1つである、請求項1に記載の方法。
  13. 前記ダウンロード・データをコンテンツ・プロバイダから受信するステップと、前記ダウンロード・データをインフラストラクチャに分散するステップであって、前記インフラストラクチャが前記複数のダウンロード・サーバを含むステップと、前記ダウンロード・データをクライアントにダウンロードするため、前記ダウンロード・プランに対して前記クライアントから要求を受信するステップと、ダウンロード・プランを作成するステップであって、前記ダウンロード・プランが、前記ダウンロード・データを有する2つ以上のダウンロード・サーバの前記リストを含み、前記2つ以上のダウンロード・サーバの性能情報を更に含むステップと、前記作成されたダウンロード・プランを前記クライアントに送信するステップと、次に、前記2つ以上のダウンロード・サーバの新規ダウンロード性能情報を受信するステップと、前記新規ダウンロード性能情報に基づいて前記2つ以上のダウンロード・サーバの前記性能情報を更新するステップとを更に含む、請求項1に記載の方法。
  14. ダウンロード・グリッド・インフラストラクチャにおいてダウンロード・データをアップロードし、分散し、管理し、制御する方法であって、前記方法が、前記ダウンロード・データをコンテンツ・プロバイダから受信するステップと、前記ダウンロード・データをインフラストラクチャに分散するステップであって、前記インフラストラクチャが複数のダウンロード・サーバを含むステップと、前記ダウンロード・データをクライアントにダウンロードするため、ダウンロード・プランに対して前記クライアントから要求を受信するステップと、ダウンロード・プランを作成するステップであって、前記ダウンロード・プランが、前記ダウンロード・データを有する2つ以上のダウンロード・サーバのリストを含み、前記2つ以上のダウンロード・サーバの性能情報を更に含むステップと、前記作成されたダウンロード・プランを前記クライアントに送信するステップと、次に、前記2つ以上のダウンロード・サーバの新規ダウンロード性能情報を前記クライアントから受信するステップであって、前記新規ダウンロード性能情報が、前記ダウンロード・プランに従ってダウンロードを実行した際に前記クライアントにより達成された前記2つ以上のダウンロード・サーバのダウンロード・サーバ性能を示すステップと、次に、前記新規ダウンロード性能情報に基づいて前記2つ以上のダウンロード・サーバの前記性能情報を更新するステップとを含む方法。
  15. ダウンロード・データをコンテンツ・プロバイダから受信する前記ステップが、コンテンツ・プロバイダが、適切な信任状を有する管理サービスにコンタクトする更なるステップと、前記コンテンツ・プロバイダが特定の属性で前記ダウンロード・データを特徴付ける更なるステップと、前記コンテンツ・プロバイダが前記特定の属性を管理システムに送信する更なるステップと、前記コンテンツ・プロバイダが、前記ダウンロード・データを前記ダウンロード・グリッドの単一サーバにアップロードする更なるステップとを含む、請求項14に記載の方法。
  16. 前記特定の属性が、優先順位、前記ダウンロード・データに対する所望の地理的な隣接性、または、前記ダウンロード・データをダウンロードする権限を許可するクライアントに関する制限のいずれか1つを含む、請求項15に記載の方法。
  17. 前記管理サービスが、アップロードするダウンロード・データを受信する前記単一サーバを選択するステップ、前記2つ以上のダウンロード・サーバのサーバをアクティブにするステップ、前記2つ以上のダウンロード・サーバのサーバを非アクティブにするステップ、または、前記2つ以上のダウンロード・サーバのサーバを更新するステップのいずれか1つを動的に実行する、請求項15に記載の方法。
  18. 前記コンテンツ・プロバイダが前記ダウンロード・データに対する暗号化解除キーを生成する更なるステップと、前記コンテンツ・プロバイダが前記ダウンロード・データを暗号化する更なるステップと、前記コンテンツ・プロバイダが前記暗号化解除キーを前記管理サービスに安全に送信する更なるステップとを含む、請求項15に記載の方法。
  19. 前記ダウンロード・プランを作成する前記ステップが、前記クライアントのロケーション、前記2つ以上のダウンロード・サーバの状況及び使用率情報、QoS要件、前記クライアントに対する前記2つ以上のダウンロード・サーバのネットワーク隣接性、前記クライアントに対する前記2つ以上のダウンロード・サーバの地理的な隣接性、前記2つ以上のダウンロード・サーバのサーバの前記ネットワークのアウトバウンド帯域幅、前記2つ以上のダウンロード・サーバの前記サーバによりサポートされたチャンク・ダウンロードの現在数、または、許可される最大並行チャンク・ダウンロードのいずれか1つに基づく、請求項14に記載の方法。
  20. 前記クライアントの前記ロケーションが、前記クライアントのネットワーク・アドレスに基づいて、または、前記クライアントにより供給された情報を介して自動的に判別される、請求項19に記載の方法。
  21. 命令を含むコンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・システムで実行されると、前記命令が、請求項1〜20のいずれか一項に記載の方法の前記ステップのすべてを行うコンピュータ・プログラム。
  22. 請求項1〜21のいずれか一項に記載の方法の前記ステップのすべてを行うのに適する手段を含む装置。
JP2007526421A 2004-06-08 2005-06-07 グリッド・コンピューティング環境内の最適化並行データ・ダウンロード Expired - Fee Related JP4886690B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
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
US10/862,977 2004-06-08
PCT/EP2005/052600 WO2005122532A1 (en) 2004-06-08 2005-06-07 Optimized concurrent data download within a grid computing environment

Publications (3)

Publication Number Publication Date
JP2008502061A true JP2008502061A (ja) 2008-01-24
JP2008502061A5 JP2008502061A5 (ja) 2008-06-19
JP4886690B2 JP4886690B2 (ja) 2012-02-29

Family

ID=34970262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007526421A Expired - Fee Related JP4886690B2 (ja) 2004-06-08 2005-06-07 グリッド・コンピューティング環境内の最適化並行データ・ダウンロード

Country Status (10)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013004995A (ja) * 2011-06-10 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> コンテンツ優先転送方法、コンテンツ優先転送プログラムおよびコンテンツ優先転送ゲートウェイ
JP2016502774A (ja) * 2012-10-18 2016-01-28 ジラフィック テクノロジーズ エルティーディー.Giraffic Technologies Ltd. 通信リンクのスループットを動的に最大化するための輻輳制御方法。
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム
JP2022524733A (ja) * 2019-03-06 2022-05-10 ドルビー ラボラトリーズ ライセンシング コーポレイション マルチサーバ通信システムにおけるダウンロード制御

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1618479A1 (en) * 2003-04-30 2006-01-25 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
US8887224B2 (en) 2005-03-09 2014-11-11 Vudu, Inc. Updating content libraries by transmitting release data
US20080022343A1 (en) * 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US20090019468A1 (en) * 2005-03-09 2009-01-15 Vvond, Llc Access control of media services over an open network
US8364792B2 (en) * 2005-03-09 2013-01-29 Vudu, Inc. Method and system for distributing restricted media to consumers
US20090019489A1 (en) * 2005-03-09 2009-01-15 Vvond, Inc. Method and apparatus for displaying movie titles based on distributed objects
US7698451B2 (en) 2005-03-09 2010-04-13 Vudu, Inc. Method and apparatus for instant playback of a movie title
US7937379B2 (en) * 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
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
US20090025046A1 (en) * 2005-03-09 2009-01-22 Wond, Llc Hybrid architecture for media services
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
EP1961154A4 (en) * 2005-12-13 2016-03-09 Audio Pod Inc TRANSMISSION OF DIGITAL DATA
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
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
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
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
GB2440762B (en) * 2006-08-11 2011-11-02 Cachelogic Ltd Content distribution network
GB2440774B (en) * 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
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
WO2009032712A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
KR100929031B1 (ko) 2007-09-17 2009-11-26 (주)씨디네트웍스 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
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集团股份有限公司 一种虚拟网络存储服务系统及其建立方法
KR101006539B1 (ko) * 2009-02-06 2011-01-07 (주)씨디네트웍스 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법,이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
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
WO2011008199A1 (en) * 2009-07-14 2011-01-20 Penthera Partners, Inc. Delivering 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机顶盒的多服务器分段下载系统
KR101338689B1 (ko) * 2011-09-21 2013-12-09 명지대학교 산학협력단 병렬 다운로드를 위한 서버장치의 선택 방법
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 具雲端儲存空間管理功能之電子裝置、雲端儲存系統、其方法及其電腦程式產品
CN104685489A (zh) 2012-08-22 2015-06-03 诺基亚技术有限公司 用于在协作的同时交换状态更新的方法和装置
US9432452B2 (en) 2012-09-10 2016-08-30 Joosy, Inc. Systems and methods for dynamic networked peer-to-peer content distribution
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 乐视网信息技术(北京)股份有限公司 一种直播视频传输方法、装置,以及视频直播系统
US10229262B2 (en) 2015-04-20 2019-03-12 Bomgar Corporation Systems, methods, and apparatuses for credential handling
US10397233B2 (en) 2015-04-20 2019-08-27 Bomgar Corporation Method and apparatus 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 河南职业技术学院 一种跨服务器数据通讯处理方法
CN110830522A (zh) * 2018-08-07 2020-02-21 石悌君 一种共享存储系统
JP6959959B2 (ja) * 2019-05-22 2021-11-05 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、およびソフトウェア更新方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
JP2002268979A (ja) * 2001-03-07 2002-09-20 Nippon Telegr & Teleph Corp <Ntt> ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体
JP2003067280A (ja) * 2001-08-28 2003-03-07 Fujitsu Ltd マルチメディアデータのダウンロード予約制御方式及びプログラム
JP2003337803A (ja) * 2002-05-21 2003-11-28 Ntt Me Corp コンテンツ不正入手防止方法、コンテンツ不正入手防止システムおよびコンテンツ不正入手防止プログラム

Family Cites Families (30)

* 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
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
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
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
DE60131900T2 (de) * 2000-10-26 2008-12-04 Flood, James C. jun., Portland Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten
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
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
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 中兴通讯股份有限公司 移动通讯系统基站软件并行下载方法
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
US20060064386A1 (en) * 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
US7165050B2 (en) * 2004-09-20 2007-01-16 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
JP2002268979A (ja) * 2001-03-07 2002-09-20 Nippon Telegr & Teleph Corp <Ntt> ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体
JP2003067280A (ja) * 2001-08-28 2003-03-07 Fujitsu Ltd マルチメディアデータのダウンロード予約制御方式及びプログラム
JP2003337803A (ja) * 2002-05-21 2003-11-28 Ntt Me Corp コンテンツ不正入手防止方法、コンテンツ不正入手防止システムおよびコンテンツ不正入手防止プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013004995A (ja) * 2011-06-10 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> コンテンツ優先転送方法、コンテンツ優先転送プログラムおよびコンテンツ優先転送ゲートウェイ
JP2016502774A (ja) * 2012-10-18 2016-01-28 ジラフィック テクノロジーズ エルティーディー.Giraffic Technologies Ltd. 通信リンクのスループットを動的に最大化するための輻輳制御方法。
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム
WO2019181343A1 (ja) * 2018-03-20 2019-09-26 株式会社Jストリーム 再生装置及びプログラム
JP2019164675A (ja) * 2018-03-20 2019-09-26 株式会社Jストリーム 再生装置及びプログラム
JP2022524733A (ja) * 2019-03-06 2022-05-10 ドルビー ラボラトリーズ ライセンシング コーポレイション マルチサーバ通信システムにおけるダウンロード制御
JP7163510B2 (ja) 2019-03-06 2022-10-31 ドルビー ラボラトリーズ ライセンシング コーポレイション マルチサーバ通信システムにおけるダウンロード制御
US11671485B2 (en) 2019-03-06 2023-06-06 Dolby Laboratories Licensing Corporation Download control in multi-server communication system

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4886690B2 (ja) グリッド・コンピューティング環境内の最適化並行データ・ダウンロード
EP3739451A1 (en) Detect and enforce api slas using cloud access api broker
Vahdat et al. WebOS: Operating system services for wide area applications
US20210289046A1 (en) Systems and methods for managing client requests to access services provided by a data center
EP3739812B1 (en) Using service graphs to compare performance of a plurality of versions of a microservice
Schmidt et al. Efficient distribution of virtual machines for cloud computing
US8131851B2 (en) Managing computer network resources
CA3138700A1 (en) Systems and methods for using a call chain to identify dependencies among a plurality of microservices
CN113940045A (zh) 将策略应用于服务图的api
TWI479415B (zh) 用於促進管理及有效提升部署規模之應用程式之描述系統及方法
CA3140118A1 (en) Service graph highlights missing nodes and links
US11765643B2 (en) Bandwidth sharing amongst trusted peers
KR20090097165A (ko) 컴퓨터 구현 방법, 데이터 파일 업로드 장치 및 컴퓨터 프로그램 제품
US11586484B2 (en) Automatically replicate API calls to separate data centers
US11681583B2 (en) Cluster diagnostics data for distributed job execution
Shoaib et al. Fast Data Access through Nearest Location-Based Replica Placement
TWI401574B (zh) 於一柵網計算環境中用在最佳化同作資料下載之方法、系統及程式產品
Kim et al. Highly available and efficient load cluster management system using SNMP and Web
KR100416691B1 (ko) 대용량 데이터통신 관리 서버 시스템 및 그를 이용한 방법
Tsaoussidis et al. An application-oriented cross-domain resource management schema using CORBA
CN117675391A (zh) 一种基于规则的分布式统一http门禁方法
CN116233057A (zh) 数据传输方法、云中心、边缘节点及存储介质
Ekstrom Increasing DOGMA Scaling Through Clustering
JP2006146409A (ja) ストレージデバイス選択方法、ゲートウェイ装置およびストレージシステム
KR20120000697A (ko) 분산 서버 기반의 그리드 시스템 환경에서 전원관리 기능을 포함한 클라우드 컴퓨팅 시스템 및 그 동작 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090602

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100601

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100729

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20101228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees