JP5514315B2 - コンテンツ配信ネットワーク上のチャンク形式ダウンロード - Google Patents

コンテンツ配信ネットワーク上のチャンク形式ダウンロード Download PDF

Info

Publication number
JP5514315B2
JP5514315B2 JP2012526842A JP2012526842A JP5514315B2 JP 5514315 B2 JP5514315 B2 JP 5514315B2 JP 2012526842 A JP2012526842 A JP 2012526842A JP 2012526842 A JP2012526842 A JP 2012526842A JP 5514315 B2 JP5514315 B2 JP 5514315B2
Authority
JP
Japan
Prior art keywords
request
server
download
cdn
file
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.)
Active
Application number
JP2012526842A
Other languages
English (en)
Other versions
JP2013503390A (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.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2013503390A publication Critical patent/JP2013503390A/ja
Application granted granted Critical
Publication of JP5514315B2 publication Critical patent/JP5514315B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Description

本願の技術はコンテンツ配信ネットワークからのファイルのダウンロードに関し、より具体的には完全ファイルを集合的に構成する複数のバイト範囲をコンテンツ配信ネットワークから同時ダウンロードすることを対象とする。
関連出願との相互参照
本出願は「コンテンツ配信ネットワーク上のチャンク形式ダウンロード」という名称で2009年8月28日に出願された米国特許出願第12/550,190号に優先権を主張する。この出願は参照によりその全体が本明細書に組み込まれる。
メディア、ソフトウェア、アプリケーション、並びに他のファイル及びコンテンツを配信するためにインターネットが頻繁に用いられる。企業及び他のコンテンツプロバイダはダウンロード用の様々なファイルを提供する。エンターテイメント産業における例では、顧客は音楽又は映画を購入して自身のコンピュータにダウンロードできる。ソフトウェア産業では、顧客及びユーザはソフトウェア及び/又はアップグレードを購入して自身のコンピュータにダウンロードできる。しかしながら、顧客及びユーザがこのようなファイルをダウンロードするために、ファイルはオンラインでホスト処理(host)されなければならない。プロバイダが自身の提供するコンテンツをホスト処理することが一般的である。しかしながら、数多くのユーザがダウンロードしたがる人気ファイルをプロバイダがホスト処理するならば、(要求されたデータのユーザへの実際の送信を実行する)プロバイダのウェブサーバは、数多くの要求及び送信のすべてのせいで低速になりうる。従って、アカマイのようなコンテンツ配信ネットワーク(CDN:Content Delivery Network)を用いてプロバイダが自身のファイルを配信することがより一般的になってきている。
コンテンツプロバイダは、ファイルをCDNサーバ(群)にアップロードすることによって、又は必要に応じてコンテンツプロバイダからファイルをフェッチするようにCDNを設定することによって、CDNを介してファイルをダウンロードできるようにする。CDNは通常、様々な位置に複数のウェブサーバを有し、各ウェルサーバはプロバイダによってアップロードされたファイル(群)をキャッシュし、格納し、又は何らかの方法でこれにアクセスする。関与する特定のプロトコルが時間の経過につれて変化しうる間に、現在のプラクティスでは、コンテンツプロバイダからファイルをダウンロードするユーザの要求は以下のステップに従ってCDNによって処理される。第1に、ユーザのコンピュータは、ファイルのホストのインターネットプロトコル(IP)アドレスをルックアップするために標準のドメインネームサービス(DNS)クエリを生成する。CDNによって運営されるDNSサーバはこのDNSクエリを扱う。次いで、CDNは、コンテンツプロバイダのウェブサーバからファイルをダウンロードする代わりに、ユーザがCDNのウェブサーバのうちのどの1つからファイルをダウンロードすべきかを判定する。第2に、CDNは選択されたホストのIPアドレスでDNSクエリに応答する。第3に、ユーザのコンピュータのソフトウェアは次いで単一のCDNウェブサーバから完全ファイルをダウンロードする。しかしながら、CDN内の単一のウェブサーバから完全ファイルをダウンロードすることは不都合を有する。
CDNとは異なり、ピア・ツー・ピア(P2P)ファイル共有ネットワークでは、ユーザはチャンク形式で互いにファイルをダウンロードしようとする。P2Pネットワークでは、各ユーザは典型的に、要求されたファイルの相異なるチャンクをダウンロードする複数のソース(ピア)を見つけうる。従って、ダウンロードの残存時間(lifetime)の間にP2Pソースの1つが低速になったとしても、ユーザへの送信全体は大きな影響を受けない。しかしながら、CDNでは、ユーザは典型的に単一のウェブサーバから完全ファイルをダウンロードするので、このウェブサーバが(高負荷、ネットワーク混雑などのせいで)低速になったならば、ダウンロードは著しく影響を受ける(低速になるか、失われさえする)だろう。さらに、P2Pネットワークではダウンロードを促進するために他の利用可能なソース(ピア)が使用されるが、CDNでは他の適切なウェブサーバは典型的には使用されない。このように、P2Pネットワークでは負荷が分散され均等になるが、CDNはこれを実施しない。それにもかかわらず、P2Pネットワークも不都合を有する。企業及び他のコンテンツプロバイダは、P2Pネットワークに関する負の烙印のせいで自身のコンテンツを配信するのにP2Pネットワークを使用することをためらう。P2Pネットワークでは、コンテンツの配信に関する制御が少なく(例えば、任意のピアが別のピアとコンテンツを共有できる。)、これによりコンテンツの不正使用(海賊行為、違法コピーなど)につながりうる。さらに、それぞれの個別のP2Pネットワークへ接続するための追加の個別のクライアントソフトウェアをダウンロードしない限り、ユーザはP2Pネットワークを使用できない。それによって、P2Pネットワークの使用はユーザ側に透過的でなくなる。
全体的なダウンロード速度を改善できるようにCDNがファイルの分割ダウンロードを提供できるようにするソリューションの必要性が存在する。
本明細書で開示される概念の追加の特徴及び利点は以下の記載で説明され、一部は当該記載から自明であり、記載される技術の実施により習得されうる。本概念の特徴及び利点は添付の特許請求の範囲で特に指摘される手段及び組み合わせによって実現され取得されてもよい。記載される技術のこれらの特徴及びその他の特徴は以下の記載及び添付の特許請求の範囲からより十分に明らかになるか、本明細書で説明されるような開示の概念の実施によって習得されうる。
本開示はコンテンツ配信ネットワーク(CDN)からチャンク形式でファイルを配信するためのコンピュータで実施される方法及び装置を記載する。本明細書で開示されるのは、ファイルを構成するバイト範囲を同時にダウンロードすることによってCDNからファイルをダウンロードするための既存のCDNシステム又はクライアント装置上の既存のソフトウェアを変更する実施形態である。
一部の実施形態では、CDNの既存のドメインネームサービス(DNS)を利用して、従来のAレコードで指定されたサーバのIPアドレスを要求し、その後に戻されたIPアドレスへファイルを構成するバイト範囲を要求する。このような実施形態でクライアント装置は、所望のファイルのバイト範囲についてIPアドレスによって識別されたCDNエンドサーバに反復要求を行うように構成され、クライアントコンピュータによって再構築されるファイルのチャンクとしてダウンロードを受信するようにさらに構成される。
一部の実施形態では、DNSは、要求されたダウンロードにサービスを提供するCDNエンドサーバ候補に対応付けられたIPアドレスのリストを含む新しいタイプのDNSエントリを受信して返すように構成されている。これらの実施形態では、クライアントはDNSへマルチIPアドレスルックアップを要求でき、DNSは指定されたサーバに対応付けられたサーバのすべてのIPアドレスのリストを有する「チャンクレコード」を返せる。その後、クライアントは、チャンクレコード内の情報を使用して、チャンクレコードで識別されたサーバへバイト範囲を要求できる。ここでも、クライアントはファイルを含むバイト範囲を求める複数の要求を行うように構成され、クライアントコンピュータによって再構築されるファイルのチャンクとしてダウンロードを受信できる。
一部の実施形態では、DNSは従来のAレコードを返せるが、Aレコードに様々なコントロールが添付される。例えば、これらの実施形態では、DNSは短いタイム・ツー・リブ(TTL)を有するAレコード又はAレコードの使用を制限するための他の命令を返してもよい。クライアントは指定されたサーバのIPアドレスを要求でき、DNSは、識別されたサーバに1回の要求を行うことが有用であるように十分に短いTTLを有するこの情報を含むAレコードを返せる。この方法を用いて、チャンク形式でファイルをダウンロードしようとするクライアントはAレコードで識別されたエンドサーバへ最初のチャンクを要求するが、後続のチャンクについて、クライアントはファイルを構成する次のバイト範囲にサービスを提供するサーバのIPアドレスを再要求する必要があるだろう。このようにして、システムはDNSサーバ内で共通のインテリジェントルーティング能力を反復的に利用でき、所与のファイルの複数のチャンク形式リクエストの負荷をCDNエンドサーバ間で均等にできる。
一部の実施形態では、CDNウェブサーバは複数のサーバ間でダウンロード要求をルーティングするために用いられうる。これらの実施形態では、DNSサーバは他の記載された実施形態の何れかについて記載された特性を取りうる。クライアントはバイト範囲の所望のファイルを求める要求を行い続けるだろうが、CDNウェブサーバはダウンロード要求を受信でき、場合によっては要求に対してサービスを提供するか、又はCDN内の別のサーバに要求をリダイレクトする。このようにして、CDNウェブサーバはDNSに類似するルーティングロジックが提供され、よって複数のサーバ間で一連の要求を負荷分散できる。
本明細書に記載される実施形態を通じて、DNSサーバは制御ロジックの程度を変えることができる。例えば、短時間TTLの実施形態とは別に、又はこの実施形態に追加して、DNSはまた、任意の所与のサーバについての要求の回数の制限、最適なサーバのランキング、収容されうるバイト範囲の制限、及び記載される実施形態の実施において有用となりうる他の制御ロジックのような情報を返しうる。
さらに、様々な実施形態で記載されるクライアントコンピュータは、どのサーバへバイト範囲を要求するか、同時要求、サイズ又は要求の大きさを選択するための最適化ロジック、及び様々な最適化パラメータを選択するための他のこのようなロジックを使用するよう構成されうる。クライアントコンピュータはまた、ファイルを構成するバイト範囲を要求する前にファイルサイズを要求するように構成されうる。
記載される実施形態を実行するために有用又は必要なクライアント装置、CDNネットワークのコンポーネントのような様々な装置も開示される。さらに、装置及びコンポーネントのシステムも開示される。同様に、記載される実施形態はすべて、格納されたコンピュータ読み取り可能命令を有し、本明細書に記載される方法を実行するために様々なプロセッサベース装置に命令するために有用なコンピュータプログラマブル製品に記録されうる。
上述の実施形態が実施される方法を最良に記載するために、そして本開示の他の利点及び特徴を規定するために、より特定の記載が以下に提供され、添付の図面で説明される。これらの図面が単に本発明の例示の実施形態を図示し、従って特許請求の範囲を限定するとみなされるべきでないという理解の下で、添付の図面の使用を通じる追加の特異性及び詳細によって例が記載され説明される。
例示のコンピューティング装置を説明する図である。 例示のシステムの実施形態を説明する図である。 所与のアドレスからのファイルダウンロードを求める要求を処理する方法の実施形態を説明する図である。 所与のアドレスからのファイルダウンロードを求める要求を処理する方法の実施形態を説明する図である。 所与のアドレスからのファイルダウンロードを求める要求を処理する方法の実施形態を説明する図である。 例示のシステムの実施形態を説明する図である。 エンドサーバリダイレクトの実施形態の方法の実施形態を説明する図である。 エンドサーバリダイレクトの実施形態の方法の実施形態を説明する図である。 サーバのインテリジェントルーティングの実施形態を説明する図である。
開示される方法及び装置の様々な実施形態が以下に詳細に検討される。特定の実施が検討されるが、これは例示の目的のためだけに行われることが理解されるべきである。当業者は本開示の精神及び範囲を逸脱することなく他のコンポーネント、構成及びステップが用いられてもよいことを理解するだろう。
図1を参照して、携帯型又は据え置き型でありうる汎用コンピューティング装置100が示され、処理部(CPU)120と、リードオンリメモリ(ROM)140及びランダムアクセスメモリ(RAM)150のようなシステムメモリを含む様々なシステムコンポーネントを処理部120に結合するシステムバス110とを含む。他のシステムメモリ130も同様に利用可能であってもよい。システムは2つ以上のCPU120を有するコンピューティング装置上で動作してもよいし、処理能力を一緒になって提供するようにネットワーク接続されたコンピューティング装置のグループ又はクラスタ上で動作してもよい。システムバス110は、メモリバス又はメモリコントローラ、周辺機器バス、及び様々なバスアーキテクチャの何れかを用いるローカルバスを含むいくつかのタイプのバス構造の何れであってもよい。ROM140等に格納された基本入出力(BIOS)は例えば起動中にコンピューティング装置100内の要素間で情報を転送するのを支援する基本ルーチンを提供してもよい。コンピューティング装置100はさらに、ハードディスクドライブ160、磁気ディスクドライブ、光ディスクドライブ、テープドライブ等のようなストレージ装置を含む。ストレージ装置160はドライブインタフェースによってシステムバス110に接続される。ドライブ及びこれに関連するコンピュータ読み取り可能記憶媒体は、コンピューティング装置100のためのコンピュータ読み取り可能命令、データ構造、プログラムモジュール及び他のデータの不揮発性ストレージを提供する。1つの側面では、特定の機能を実行するハードウェアモジュールは、当該機能を実行するためにCPU,バス、ディスプレイ等のような必須のハードウェアコンポーネントに接続された有体のコンピュータ読み取り可能記憶媒体に格納されたソフトウェアコンポーネントを含む。基本コンポーネントは当業者に既知であり、装置のタイプに依存して、例えば装置が小さなハンドヘルドコンピューティング装置であるか、デスクトップコンピュータであるか、大型コンピュータサーバであるかに依存して、適切な変形が予期される。
本明細書に記載される例示の環境はハードディスクを採用するが、磁気カセット、フラッシュメモリカード、DVD、カートリッジ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)のような、コンピュータによってアクセス可能なデータを格納できる他のタイプのコンピュータ読み取り可能記憶媒体が当該例示の動作環境で用いられてもよいことが当業者に理解されるはずである。
コンピューティング装置100とのユーザ対話を可能にするように、入力装置190は、音声のためのマイク、ジェスチャ又はグラフィカル入力のためのタッチセンサスクリーン、キーボード、マウス、モーション入力、音声等のような任意の個数の入力機構を表す。入力は、音声検索クエリの開始を示すために提示者によって用いられてもよい。装置出力170はまた、当業者に既知の複数の出力機構のうちの1つ以上でありうる。例えば、ディスプレイ又はスピーカに接続されるかディスプレイ又はスピーカを含みうるビデオ出力/オーディオ出力装置が一般的である。さらに、ビデオ出力/オーディオ出力装置はまた、これらの専用機能の性能を向上するための専用プロセッサを含みうる。一部の例では、マルチモーダルシステムは、コンピューティング装置100と通信するための複数のタイプの入力をユーザが提供できるようにする。通信インタフェース180は総括的にユーザ入力及びシステム出力を統治し管理する。任意の特定のハードウェア構成で動作する開示の方法及び装置に関して限定は存在せず、従って基本的な特徴はハードウェア又はソフトウェア構成が発展すると、改善されたものに容易に置換されうる。
説明を明確にするために、例示のシステムの実施形態は(「プロセッサ」というラベルが付された機能ブロックを含む)個別の機能ブロックを備えるように示される。これらブロックが表す機能は、ソフトウェアを実行可能なハードウェアを含むがこれに限定されない共有ハードウェア又は専用ハードウェアの何れかを使用することによって提供されてもよい。例えば、図1に表される1つ以上のプロセッサの機能は単一の共有プロセッサによって提供されてもよいし、複数のプロセッサによって提供されてもよい。(「プロセッサ」という用語の使用は、ソフトウェアを実行可能なハードウェアを排他的に言及すると解釈されるべきではない。)例示の実施形態は、マイクロプロセッサ及び/又はデジタル信号プロセッサ(DSP)ハードウェア、上述の動作を実行するソフトウェアを格納するためのリードオンリメモリ(ROM)、結果を格納するためのランダムアクセスメモリ(RAM)を備えてもよい。超大規模集積回路(VLSI)ハードウェアの実施形態だけでなく、汎用DSP回路と組み合わされるカスタムVLSI回路も提供されてもよい。
様々な実施形態の論理動作は、(1)汎用コンピュータ内のプログラマブル回路上で動作する、コンピュータで実施されるステップ、動作又は手続のシーケンスとして、(2)特定用途プログラマブル回路上で動作する、コンピュータで実施されるステップ、動作又は手続のシーケンスとして、及び/又は(3)プログラマブル回路内の相互接続された機械モジュール又はプログラムエンジンとして実装されてもよい。
本システム及び本方法は特にコンテンツ配信ネットワーク(CDN)を介してチャンク形式でユーザにファイルを配信するために有用である。ハイレベルでは、クライアントコンピュータは、範囲において、すなわちチャンク形式でファイルがダウンロードされることを要求するように構成されうる。例えば、10メガバイトのファイルは3つの相異なるチャンクでダウンロードを提供するように、1バイト目〜3,000,000バイト目の範囲と、3,000,001バイト目〜6,000,000バイト目の範囲と、6,000,001バイト目〜10,000,000バイト目の範囲とにおいてダウンロードされうる。ダウンロードの効率及び速度を最大化するために、ファイルは任意のバイト範囲の任意の個数のチャンクに分割されうる。
チャンク形式ダウンロード要求に対してサービスを提供するためのCDN200が図2に説明される。図2では、CDNの少なくとも1つのエンドサーバ218、220、222がクライアント装置230、232へのダウンロードのために要求されたファイル204のチャンク224、226、228を提供できる。一部の実施形態では、本システム及び本方法はインターネット接続を介して実行されるが、本発明の原理は電子装置の相互通信を促進する多種多様なネットワークに適用可能である。
コンテンツプロバイダ202は、ダウンロードを求めるユーザ又はクライアントへホスト処理するCDN200へファイル204を提供できる。コンテンツプロバイダ202はCDNへダウンロードされるべきファイルを送信するためにCDN200と通信する。この通信はインターネット上で行われてもよいし、インターネット上で行われなくてもよい。CDNの上位レベル/ルート/親サーバ206はCDNを通じてファイル208、212、216を配信する。CDN内に中間ネットワーク210及び/又は中間レベルサーバ214が存在してもよいし、しなくてもよい。CDN内の複数のレベルのいずれのサーバ206、210、214、218、220、222のいずれもがコンピューティング装置で実装されうる。ネットワークを通じてファイル204を配信することによって、所与のファイルを求める要求に対してサービスを提供するためのサーバがより多く存在する。さらに、要求に対してサービスを提供するサーバが数多く存在するので、ダウンロードのためのファイルを要求する様々なクライアントの地理的に比較的近くにサーバが位置しうるように、これらのサーバは地理的に分散しうる。
エンドサーバ218、220、222は、ファイルを要求するクライアントへファイルを配信することによって、ダウンロード要求に対してサービスを提供する。図2に示される実施形態では、複数のエンドサーバ218、220、222がチャンク224、226、228でダウンロードファイル204を求める要求に対してサービスを提供する。エンドサーバ218はチャンク224をクライアント230へ送信し、サーバ220はチャンク226を送信し、サーバ222はチャンク228を送信する。ユーザ装置232はまた、複数のエンドサーバからチャンク形式でファイルを受信するように示される。
CDN200の一部であるドメインネームサービス(DNS)238も図2に示される。DNSはクライアントによって提供されたURLに基づいてIPアドレスを求める要求を受信し、ダウンロード要求に対してサービスを提供するエンドサーバのIPアドレスを識別するDNSアドレスレコード(Aレコード)を返す。クライアントは返されたIPアドレスを使用して、エンドサーバと直接にコンタクトする。この分野で知られているように、DNSは、要求元への地理的近さ、帯域幅、ネットワークの混雑度、及び要求に対して最も効率的にサービスを提供できるエンドサーバを識別するために用いられうる他のパラメータのようなネットワーク効率性パラメータに基づいてどのエンドサーバが要求に対してサービスを提供すべきかを判定できる。言い換えると、DNSは、クライアントに対してダウンロード要求のサービスを最も効率的に提供できるエンドサーバのIPアドレスを返すことによって、ダウンロード要求をインテリジェントルーティングできる。
一部の実施形態では、DNSは、ネットワーク効率性パラメータ以外のパラメータに基づいてエンドサーバのIPアドレスを返す。例えば、一部の実施形態では、DNSは、同一のクライアントコンピュータへ最近返されたアドレスとは異なるエンドサーバのIPアドレスを返しうる。
一部の実施形態では、DNSはさらに、新たなタイプのDNSレコードであるチャンクレコードを求める要求を受け入れるように変更され、このチャンクレコードは、ダウンロード要求に対してサービスを潜在的に提供できるいくつかのエンドサーバに対応するIPアドレスのリストを含む。
図3〜図5は、ダウンロード要求に対してサービスを提供するだろうエンドサーバのIPアドレスをクライアントに提供するためにDNSに依存する記載されたシステムの実施形態を説明する。図3の例では、従来のDNSは、供給されたURLに対応するIPアドレスを求める要求を受信し302、当該要求に対してサービスを提供できるCDNエンドサーバに対応付けされているIPアドレスを有するAレコードを返す304。上述のように、DNSは、ネットワーク効率性に関する情報とコンテンツ配信ネットワークに関する情報とに基づいて適切なエンドサーバを選択できる。返されたIPアドレスを使用して、クライアントは所望のファイルの一部を構成する第1バイト範囲を要求し、CDNエンドサーバは要求を受信してサービスを提供する306。同時に、又はほぼ同時に、クライアントは同じサーバからの第2バイト範囲を要求し308、すべてのバイト範囲が要求されるか完全ファイルがダウンロードされるまで、更なるバイト範囲を要求し続ける310。一部の実施形態では、クライアントはまた、任意の新たなバイト範囲について、302から始まる処理を繰り返しうる。
図4は、ダウンロード要求に対してサービスを提供できるいくつかのCDNエンドサーバのIPアドレスを有する新たなタイプのレコード、以下ではチャンクレコードを返すようにDNSが変更されうる実施形態を説明する。クライアントは所与のURLに対応するマルチアドレスルックアップを求める要求を送信し、DNSはこれを受信する315。要求315に応答して、DNSは要求に対してサービスを提供可能なサーバのリストを有するチャンクレコードを返しうる316。このサーバのリストを用いて、クライアントはCDNによって受信される複数の要求を行いうる317、318、319。要求のそれぞれは別々のバイト範囲であってもよいし、完全ファイルを含む重複するバイト範囲であってもよい。各要求は同一のCDNエンドサーバへ送信されうるが、好適には要求はチャンクレコードに含まれるIPアドレスのリストに対応するサーバ間で分散されるだろう。
これらの実施形態では、チャンクレコードで表されるエンドサーバのどれへバイト範囲を要求するかを最終的に決定するのはクライアント装置である。クライアントは、チャンクレコードで識別されたサーバへ順番に要求を行いうるラウンドロビン型選択処理を用いてこの選択を行いうる。これに代えて、クライアントはバイト範囲を求める任意の所与の要求について、リストからランダムにIPアドレスを選択できる。しかしながら、一部の実施形態でクライアントは、チャンクレコード内で識別されるサーバを最適化ロジックに基づいてクライアントが選択できる何らかのインテリジェントシステムを有しうる。例えば、クライアントは様々なIPアドレスへの要求のダウロード速度を監視でき、最良の性能を有するサーバをより頻繁に再利用できる。クライアントはまた、すでに要求されたダウンロードを監視して、同じサーバへ複数の要求を行うことで何らかの利益を得られているかどうかを判定し、それに従って当該サーバに新たな要求を行いうる。他の最適化ロジックはまた、ダウンロードされるべきファイルのチャンクをどのIPアドレスへ要求するかを選択するために用いられうる。さらに、上述の特徴は例示の実施形態以外にも用いることができ、これらの特徴はこの実施形態に固有であると見なされるべきでないことが理解されるべきである。
一部の実施形態では、316で返されるチャンクレコードはまた、レコードに列挙されたサーバに関する追加の情報を含みうる。例えば、特別のAレコードはまた、要求に対してサービスを提供するためにどのサーバが最も適するかを示すサーバのランキングを含みうる。チャンクレコードはまた、特定のサーバへどれくらいの大きさのバイト範囲が最適に要求されるべきかに関する情報を含みうる。ユーザ装置の位置を表す情報、CDNエンドサーバに関するネットワークの混雑度を表す情報、CDNエンドサーバによってサービスが提供されるべき要求の量を表す情報などのような他の情報も有用でありえ、チャンクレコードに含まれうる。
図5は非常に短いタイム・ツー・リブ(TTL)を有する従来のAレコードをDNSサーバが返す実施形態を説明する。DNSはクライアントからIPアドレスを求める要求を受信し320、DNSは短いTTLを有するAレコードをクライアントへ返す323。TTLは、クライアントへ返される任意のレコードが、返されたIPアドレスに1度だけ接続されるために十分な長さだけ生き延びる(利用可能である)ように、十分に短くすべきである。従って、TTLは1分よりも短く、より好適には1秒よりも短くすべきである。一部の実施形態では、TTLは100ミリ秒よりも短い。クライアントが短いTTLを有するAレコードを受信した場合に、クライアントは326で、Aレコードで識別されたIPアドレスへファイルの第1範囲を要求する。CDN内のエンドサーバはその後、当該要求に対してサービスを提供し始めることができる。しばらくして、場合によっては320、323、326が実行されている間に、クライアントはDNSへファイルの第2チャンクを要求でき321、DNSはで要求を満たす最良のサーバを再計算し、短いTTLを有する別のAレコードで当該サーバのIPアドレスを返す324。次に、クライアントは、327で要求に対してサービスを提供するAレコードで識別されたサーバへ第2チャンクを要求できる。本方法は、すべてのチャンクが要求されるかダウンロードされるまで続きうる。例えば、第1チャンク及び第2チャンクをダウンロードしている間に、本方法は反復して継続し、更なるバイト範囲を要求し322、短いTTLを有するAレコードを受信し325、Aレコードで識別されたサーバへ次のチャンクを要求する328。
図6はシステムの実施形態を説明する。クライアント装置330はDNSサーバ332へ、ダウンロードのためのファイルを提供する指定されたサーバに対応するIPアドレスを要求する。DNSサーバ332は、別の要求を処理するための能力、範囲方式要求を扱うための能力、ネットワークの混雑度、及び要求に対して最も効率的にサービスを提供できるエンドサーバ344へ要求をインテリジェントルーティングする際に有用な他の要因を監視するために、CDN340の他のコンピュータと通信342している。DNS332は1つ以上のエンドサーバのIPアドレスをクライアントへ通信336する。クライアントはCDN340へチャンク形式のファイルを要求339し、一連の2つ以上の通信338でファイルのチャンクを受信する。
図7はエンドサーバによるダウンロード要求のリダイレクトを可能にすることによって、チャンク形式のファイルのダウンロードを促進するためにCDNのエンドサーバを利用する実施形態を実行する方法を説明する。これらの実施形態では、各CDNエンドサーバは、ユーザ装置の位置を表す情報、他のCDNエンドサーバの負荷、利用可能性、ネットワークの混雑度などを表す情報にアクセス可能である。言い換えると、CDNエンドサーバはDNSサーバと同様のインテリジェントルーティング能力を有するように構成される。
図7に説明されるように、DNSサーバは、指定されたサーバのIPアドレスを求める要求をクライアントから受信する400。DNSサーバは場合によっては、CDNがチャンク形式ダウンロードのサービスを提供可能であることをクライアントに通知し402、ファイルダウンロード要求のサービスを提供するためのエンドサーバの第1IPアドレスを返す404。第1エンドサーバがファイルをダウンロードする要求を受信した場合に406、当該エンドサーバは要求を処理して当該要求が範囲方式要求であるかを判定する408。要求が完全ファイルをダウンロードする要求であるならば、第1エンドサーバは、要求に対してサービスを提供する第2エンドサーバに要求をリダイレクトできる412。第2エンドサーバは、第1エンドサーバの(上述のDNSの能力と同様の)インテリジェントルーティング能力に基づいて第1エンドサーバによって選択される。このインテリジェントルーティング能力は要求をよりよく扱える第2エンドサーバを識別できる。しかしながら、一部の実施形態では、第1エンドサーバはまた、自身が要求に対して最も適してサービスを提供することを判定し、その後自ら要求に対してサービスを提供できる。
408に戻り、要求が範囲方式要求であるならば、第1エンドサーバは追加の要求が行われることを予想でき、自身のインテリジェントルーティング能力を使用して、範囲方式要求の現在の部分にサービスを提供するサーバを選択し、当該サーバ414にクライアントをリダイレクトできる。その後、クライアントのリダイレクトを受けたエンドサーバは要求に対してサービスを提供できる416。同時に、第1エンドサーバはまた、要求されたファイルの第2バイト範囲すなわち次のバイト範囲を受信でき418、当該要求を、以前の範囲の何れかと同じサーバ又は異なるサーバにリダイレクトでき420、当該サーバによりサービスが提供される422。バイト範囲を求める要求を受信し、当該要求を新たなサーバにリダイレクトし、当該要求に対してサービスを提供する処理は、すべてのバイトにサービスが提供されるか、又はすべてのバイトがダウンロードされるまで続きうる424。
一部の実施形態では、要求を受信する第1エンドサーバは自ら当該要求に対してサービスを提供できる。これは、要求に対してサービスを提供するのに最も適しているのは第1エンドサーバであると第1エンドサーバが判定した場合に望ましい。一部の実施形態では、リダイレクトの無限ループを避けるために、一部のエンドサーバは常に要求に対してサービスを提供し、決してリダイレクトしないようにプログラムされる。さらに別の実施形態では、要求がリダイレクトされた回数が記録され、許容されるリダイレクトの回数に制限が課される。このような実施形態では、許容されたリダイレクトの回数の制限をすでに超過しているリダイレクトされた要求を受信した任意のサーバは当該要求に対してサービスを提供しなければならない。
リダイレクトする処理は当該分野で既知の任意の処理によって行われてもよく、例えば要求を渡すことによって行われてもよいし、バイトを求める要求を再度行うようにクライアントに命令することによって行われてもよい。
図8はエンドサーバリダイレクトの実施形態のシステム実施形態を説明する。この図はCDNの2つのブランチが相異なる都市に配置されたCDNの一部分を説明する。中間サーバ434、436はネットワークのその他の部分からファイルを受信し、それを同じ都市のエンドサーバへ配信する。説明されたように、サーバ434は、すべてが都市1に配置されたエンドサーバ438、440、442へファイルを配信できる。同様に、サーバ436は、すべてが都市2に配置されたエンドサーバ444、446、448へファイルを配信できる。
ダウンロードされるべきファイルを含むバイトの第1範囲の最初の要求として、クライアントコンピュータ430はDNS432へIPアドレスを要求し、DNSは要求を処理するためにAレコードの形式で近くのエンドサーバのIPアドレスを返す。クライアント430とDNS432との間の通信が452として示される。
その後、クライアント430は、エンドサーバ438を位置決めするためにDNS432によってクライアント430へ与えられたIPアドレスを用いてエンドサーバ438の範囲方式要求を行う450。自ら要求に対してサービスを提供する代わりに、エンドサーバ438は、エンドサーバ440が当該要求に対してよりよくサービスを提供できることを判定し、クライアントコンピュータ430をエンドサーバ440へリダイレクトし454、その後エンドサーバ440が要求に対してサービスを提供する456。
クライアントコンピュータ430が任意の後続の要求を行う場合に、クライアントコンピュータは以前に受信したAレコードをキャッシュできるので、再度DNS432に問い合わせる必要はない。しかしながら、一部の実施形態では、クライアント430とDNS432との間で更なる通信が行われうる。例えば、Aレコードが短いTTLを有する場合や後続の要求が元の要求から長い時間を経て来た場合に、DNSとの更なる通信が望ましいだろう。
しかしながら、DNSとの通信が望まれない又は必要ないことを仮定すると、クライアント430は後続の範囲方式要求をAレコードで識別されたエンドサーバ、この場合はエンドサーバ438へ送信する458。エンドサーバ438は要求に対してサービスを提供するための最良のエンドサーバを再び計算し、サーバ446が最良のサーバであることを判定する。サーバ446は異なる都市にあったとしても選択されうることに留意されたい。エンドサーバ438はサーバ446へ要求をリダイレクトし460、サーバ446は要求に対してサービスを提供する462。
図9はチャンク形式要求に対してサービスを提供する最良のエンドサーバを判定する方法を説明する。上述のように、この判定はDNSサーバ及び/又はCDNエンドサーバによって実行されうる。受信されたダウンロード要求をインテリジェントルーティングするために、DNS又はエンドサーバは、エンドサーバがチャンク形式要求を扱うかどうか807、ユーザ装置の位置800、ユーザ装置にトポロジ的に隣接する(すなわち近くにある)各エンドサーバの位置802、クライアントへのエンドサーバの地理的近さ803、ユーザ装置に近い各エンドサーバの負荷804、ユーザ装置の近くの各エンドサーバの利用可能性806、ネットワークの混雑度808などを含むがこれらに限定されない複数の入力を受信して処理する。これらの入力に基づいて、利用可能なエンドサーバ810のそれぞれについて、特定のファイルを求める個別の要求に対するエンドサーバがサービスを提供する能力を表す品質スコアが計算される。ユーザ装置に最も近いエンドサーバが要求に対してサービスを提供する最も望ましいサーバでないこともありうる。例えば、より近いサーバが高い負荷を有する場合や利用不可能であるならば、より地理的に近いエンドサーバは、ダウンロードを要求するクライアント装置から更に除かれたエンドサーバよりも、要求に対してサービスを提供することが望ましくないだろう。品質スコアに基づいてランク付けリストが生成されうる812。DNSサーバ又はエンドサーバは、サーバランキングモジュール814によって判定された比較的高い品質スコアを有する少なくとも1つのエンドサーバのIPアドレスをリターンサーバモジュール816を介してクライアントへ返す820。
一部の実施形態では、エンドサーバはまた、同じ技術を用いて要求に対してサービスを提供する最も望ましいサーバが自身であるか他のエンドサーバであるかを判定するように構成されうる。この場合に、エンドサーバは他のエンドサーバについての品質スコアを返すことができ、これらのスコアに基づいてエンドサーバは自ら要求に対してサービスを提供するか、より望ましいエンドサーバにクライアントをリダイレクトするかの何れかを行える。
本明細書に記載される実施形態に関して、適切にチャンク処理を扱うためにユーザ側も特別の機能を所有しうる。チャンク形式ダウンロードを扱うための機能をユーザ側が有さないならば、ユーザ側は単に非チャンク方式でファイルをダウンロードするだろう(例えば、ユーザ装置はCDN内の1つのエンドサーバから完全ファイルをダウンロードする。)。特別な機能はダウンロード管理ソフトウェアを介して実行されえ、ユーザはこのソフトウェアを取得する必要があるか、チャンク形式ダウンロードを扱うための組み込み能力を有するウェブブラウザを介する必要がある。1つの特別な機能はCDNのDNSサーバによって送信されるチャンクレコードを要求してこれを用いる能力を有しうることである。さらに、ユーザ側の主要な機能はダウンロードされたファイルのチャンクを処理し、これらを再構築して元のファイルを形成する能力である。
上記で説明され記載された方法は別個の実施形態として記載されてきたかもしれないが、各実施形態の要素は他の実施形態でも適用できることが理解されるべきであり、よって互いに排他的であるとみなされるべきではない。
本発明の範囲内の実施形態はまた、コンピュータ実行可能命令又はデータ構造を搬送又は格納するためのコンピュータ読み取り可能記憶媒体を含みうる。このようなコンピュータ読み取り可能記憶媒体は汎用コンピュータ又は特定用途コンピュータによってアクセス可能な任意の利用可能な記憶媒体でありうる。例として、このような有体のコンピュータ読み取り可能記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光学ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージ装置、若しくはコンピュータ実行可能命令又はデータ構造の形式で所望のプログラムコード手段を搬送又は格納するために用いられうる任意の他の記憶媒体を含みうるが、これらに限定されない。コンピュータ実行可能命令は例えば、汎用コンピュータ、特定用途コンピュータ又は特定用途処理装置に所定の機能又は機能のグループを実行させる命令及びデータを含む。コンピュータ実行可能命令はまた、スタンドアロン又はネットワーク環境内のコンピュータによって実行されるプログラムモジュールを含む。一般的に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、及びデータ構造を含む。コンピュータ実行可能命令、関連するデータ構造、及びプログラムモジュールは、本明細書に開示される方法のステップを実行するためのプログラムコード手段の例を表す。このような実行可能命令又は関連するデータ構造の特定のシーケンスはこのようなステップで説明された機能を実装するための対応する動作の例を表す。
本発明の他の実施形態は、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースコンシューマ電子装置又はプログラマブルコンシューマ電子装置、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等を含む多くのタイプのコンピュータシステム構成を有するネットワークコンピューティング環境で実施されてもよい。実施形態はまた、通信ネットワークを通じて(有線リンク、無線リンク、又はこれらの組合せによって)接続されたローカル処理装置及びリモート処理装置によってタスクが実行される分散コンピューティング環境で実施されてもよい。分散コンピューティング環境において、プログラムモジュールはローカルメモリストレージ装置及びリモートメモリストレージ装置の両方に配置されてもよい。
記載されたシステムの様々な段階における通信は、ローカルエリアネットワーク、トークンリングネットワーク、インターネット、企業イントラネット、802.11シリーズ無線信号、光ファイバネットワーク、無線又はマイクロ波伝送などを通じて実行されうる。基盤となる通信技術が代わったとしても、本明細書に記載された基本原理はなおも適用可能である。
上述の様々な実施形態は例示のためだけに提供され、本発明を限定するとみなされるべきではない。本明細書に説明され記載された例示の実施形態及び用途には従わないが、本開示の真の精神及び範囲から逸脱しない、本発明になされうる様々な変形及び変更を当業者は容易に認識するだろう。

Claims (16)

  1. コンテンツ配信ネットワークからファイルをチャンク形式で配信する方法であって、
    ファイルをチャンク形式でクライアントがダウンロードできる複数のサーバの複数のIPアドレスを求める要求を含むドメインネームサービス(DNS)要求を前記クライアントからDNSで受信する工程と、
    前記要求に対してサービスを提供可能な2つ以上のサーバのIPアドレスを判定するように前記DNS要求を処理する工程と、
    前記2つ以上のサーバのうちの第1サーバの第1IPアドレスを前記クライアントへ返す工程と、
    前記2つ以上のサーバのうちの第2サーバの第2IPアドレスを前記クライアントへ返す工程であって、前記第2IPアドレスは前記第1IPアドレスとは異なる、工程と、
    前記ファイルを求める範囲方式ダウンロード要求を前記第1サーバ及び前記第2サーバで受信する工程であって、前記範囲方式ダウンロード要求は前記ファイルの複数の部分を示す、工程と、
    前記範囲方式ダウンロード要求を受信したサーバにおいて、前記ファイルの各部分に対して前記2つ以上のサーバのうちのどれがサービスを提供すべきかを判定する工程と、
    前記範囲方式ダウンロード要求に対してサービスを提供する工程と、
    を有することを特徴とする方法。
  2. 前記範囲方式要求を受信する前に、指定されたファイルのサイズを返すためのバイト要求を前記クライアントから受信し、前記クライアントへ前記ファイルのサイズを返す工程をさらに有することを特徴とする請求項1に記載の方法。
  3. 前記要求は、前記ファイルの相異なる指定されたバイト範囲を求める一連のダウンロード要求を含むことを特徴とする請求項1又は2に記載の方法。
  4. 一連のシーケンシャルな要求のそれぞれが再び処理される長さを有するタイム・ツー・リブ(TTL)で前記DNSが前記サーバのIPアドレスを返すことを特徴とする請求項1乃至3の何れか1項に記載の方法。
  5. 前記DNSはダウンロード要求に対してサービスを提供するための複数のサーバを含むチャンクレコードを返すことを特徴とする請求項1乃至4の何れか1項に記載の方法。
  6. 前記受信された範囲方式ダウンロード要求は前記チャンクレコードで返されたサーバのうちの2つ以上で受信されることを特徴とする請求項5に記載の方法。
  7. 前記複数のIPアドレスは、前記ファイルをダウンロードする後続のダウンロード要求のために前記クライアントにキャッシュされることを特徴とする請求項1乃至6の何れか1項に記載の方法。
  8. 前記ドメインネームサービスは、前記範囲方式ダウンロード要求を扱う前記コンテンツ配信ネットワークのサーバの能力を定期的に監視することを特徴とする請求項1乃至7の何れか1項に記載の方法。
  9. 前記複数のサーバは、前記ダウンロード要求を負荷分散するように構成されたルーティングロジックを含むことを特徴とする請求項1乃至8の何れか1項に記載の方法。
  10. 請求項1乃至9の何れか1項に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
  11. ファイルのネットワークベース配信のためのシステムであって、
    コンテンツ配信ネットワーク(CDN)内にファイルをセグメント形式でダウンロードするための要求を受信するように構成された少なくとも1つのCDNサーバであって、前記少なくとも1つのCDNサーバは完全ファイルを構成する複数のファイルセグメントを求める複数の要求を受信し、各ファイルセグメントに対してどのCDNサーバがサービスを提供するかを判定し、少なくとも2つの範囲の少なくとも一部を前記判定されたCDNサーバへ同時に送信することによって前記要求に対してサービスを提供するように構成される、CNDサーバと、
    クライアントからIPアドレス要求をまず受信し、前記要求の受信に応答して、ダウンロードの前記要求に対してサービスを提供する少なくとも2つの好適なCDNサーバを判定し、前記少なくとも2つのCDNサーバのそれぞれについての複数のIPアドレスを前記クライアントへ返すためのドメインネームサービス(DNS)サーバであって、前記複数のIPアドレスのそれぞれは互いに異なる、DNSサーバと
    を備えることを特徴とするシステム。
  12. 前記好適なCDNサーバのうちの前記少なくとも1つのCDNサーバは、前記ファイルをセグメント形式でダウンロードする要求を受信した場合に、受信したそれぞれの要求について、当該要求に対してサービスを提供するのは第2CDNサーバの方が望ましいかを判定するように構成された第1CDNサーバであり、前記第2CDNサーバの方が望ましいと前記第1CDNサーバが判定したならば、前記第1CDNサーバは当該要求に対してサービスを提供するための前記第2CDNサーバに当該要求をリダイレクトするように構成されることを特徴とする請求項11に記載のシステム。
  13. ファイルのバイト範囲をダウンロードする一連の要求を行うように構成されたプロセッサであって、前記一連の要求は完全ファイルを構成するバイト範囲全体を求める要求を集合的に含む、プロセッサと、
    ダウンロードの前記一連の要求を前記プロセッサから受信し、この要求に対してサービスを提供するためのコンテンツ配信ネットワーク(CDN)へ当該一連の要求を送信するように構成されるとともに、少なくとも2つの相異なるバイト範囲の少なくとも一部を前記コンテンツ配信ネットワークから同時に受信するように構成された通信インタフェースと、
    を備え、
    前記少なくとも2つの相異なるバイト範囲のそれぞれは、前記CDNネットワークにおいて当該バイト範囲に対してサービスを提供すると判定された前記CDNネットワーク内のサーバから受信されることを特徴とする装置。
  14. 前記プロセッサは、一連のバイト範囲でファイルをダウンロードするようにプログラムされたウェブブラウザを動作させるように更に構成されることを特徴とする請求項13に記載の装置。
  15. 前記プロセッサは、前記CDNからリダイレクト命令を受け入れ、前記リダイレクト命令に従って前記CDNネットワーク内の第2サーバから前記バイト範囲を受信するようにさらに構成されることを特徴とする請求項13に記載の装置。
  16. 前記プロセッサは、同時に行われるダウンロード要求の個数と、バイト範囲を要求すべきサーバとの少なくとも一方を決定する最適化ロジックを実行するように構成されることを特徴とする請求項13に記載の装置。
JP2012526842A 2009-08-28 2010-08-17 コンテンツ配信ネットワーク上のチャンク形式ダウンロード Active JP5514315B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/550,190 US20110055312A1 (en) 2009-08-28 2009-08-28 Chunked downloads over a content delivery network
US12/550,190 2009-08-28
PCT/US2010/045771 WO2011025694A1 (en) 2009-08-28 2010-08-17 Chunked downloads over a content delivery network

Publications (2)

Publication Number Publication Date
JP2013503390A JP2013503390A (ja) 2013-01-31
JP5514315B2 true JP5514315B2 (ja) 2014-06-04

Family

ID=43012626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012526842A Active JP5514315B2 (ja) 2009-08-28 2010-08-17 コンテンツ配信ネットワーク上のチャンク形式ダウンロード

Country Status (6)

Country Link
US (1) US20110055312A1 (ja)
EP (1) EP2454868A1 (ja)
JP (1) JP5514315B2 (ja)
KR (1) KR101424362B1 (ja)
CN (1) CN102484652A (ja)
WO (1) WO2011025694A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708377B2 (en) 2017-03-21 2020-07-07 Toshiba Memory Corporation Communication control device, communication control method, and non-transitory computer readable medium

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US20230023917A1 (en) * 2001-03-09 2023-01-26 Oliver Wendel Gamble Method and System for Selective broadcasting of Instructions or Media Content to Targeted Electronic Devices Using a Modular Format
US8626876B1 (en) 2012-11-28 2014-01-07 Limelight Networks, Inc. Intermediate content processing for content delivery networks
WO2012063099A1 (en) * 2010-11-08 2012-05-18 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for enabling dns redirection in mobile telecommunication systems
US9253164B2 (en) 2011-09-12 2016-02-02 Microsoft Technology Licensing, Llc Distribution of portions of content
KR101397592B1 (ko) 2012-03-21 2014-05-20 삼성전자주식회사 멀티미디어 콘텐츠를 수신하기 위한 방법 및 장치
CN103379167A (zh) * 2012-04-28 2013-10-30 鸿富锦精密工业(深圳)有限公司 多点同步存储的文件下载异常处理系统及方法
US9391855B2 (en) 2012-05-09 2016-07-12 Everbridge, Inc. Systems and methods for simulating a notification system
US9740708B2 (en) * 2012-05-01 2017-08-22 Everbridge, Inc. Systems and methods for distance and performance based load balancing
MY155815A (en) 2012-12-18 2015-12-02 Mimos Berhad System and method for dynamically allocating an application session manager at runtime
CN103209222A (zh) * 2013-04-24 2013-07-17 网宿科技股份有限公司 内容分发网络中对重叠乱序的范围请求的处理方法及装置
US10097503B2 (en) 2013-09-27 2018-10-09 Fastly, Inc. Content node network address selection for content delivery
KR102148147B1 (ko) * 2013-10-21 2020-08-26 에스케이텔레콤 주식회사 컨텐츠 전송 방법 및 이를 위한 장치
KR101525541B1 (ko) * 2013-12-18 2015-06-03 (주) 엔에프랩 콘텐츠 딜리버리 네트워크 서비스 시스템 및 방법
JP6245277B2 (ja) * 2014-01-06 2017-12-13 富士通株式会社 通信管理システム、通信管理方法及び管理装置
US10044609B2 (en) 2014-02-04 2018-08-07 Fastly, Inc. Communication path selection for content delivery
WO2015138678A1 (en) * 2014-03-13 2015-09-17 Jpmorgan Chase Bank, N.A. Systems and methods for intelligent workload routing
CN105635217B (zh) * 2014-11-03 2019-07-26 广州市动景计算机科技有限公司 文件下载的方法及装置
KR102269594B1 (ko) * 2015-02-09 2021-06-28 삼성전자 주식회사 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치
US10142411B2 (en) * 2015-05-29 2018-11-27 Microsoft Technology Licensing, Llc Dynamic swarm segmentation
CN105069074B (zh) * 2015-07-30 2018-11-20 江苏天联信息科技发展有限公司 策略配置文件处理方法、装置和系统
US10412168B2 (en) * 2016-02-17 2019-09-10 Latticework, Inc. Implementing a storage system using a personal user device and a data distribution device
CN105978936A (zh) * 2016-04-25 2016-09-28 乐视控股(北京)有限公司 Cdn服务器及其缓存数据的方法
CN106550023A (zh) * 2016-10-31 2017-03-29 北京百度网讯科技有限公司 一种用于为用户提供指定文件分块的方法与装置
US10536275B2 (en) * 2017-05-10 2020-01-14 Microsoft Technology Licensing, Llc Verification of downloaded subsets of content
JP6717548B2 (ja) * 2017-07-21 2020-07-01 日本電信電話株式会社 トラヒック制御システム及び方法
US10951735B2 (en) * 2017-11-07 2021-03-16 General Electric Company Peer based distribution of edge applications
CN108134811B (zh) * 2017-11-10 2021-08-27 阿里巴巴(中国)有限公司 目标文件分发或下载的方法、装置和系统
JP7003705B2 (ja) * 2018-02-06 2022-01-21 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びプログラム
CN109040190B (zh) * 2018-07-02 2022-03-22 咪咕文化科技有限公司 一种调度方法、装置及计算机可读存储介质
US11144340B2 (en) * 2018-10-04 2021-10-12 Cisco Technology, Inc. Placement of container workloads triggered by network traffic for efficient computing at network edge devices
CN109542988A (zh) * 2018-10-19 2019-03-29 深圳点猫科技有限公司 一种大数据的更新方法及电子设备
US10795662B2 (en) * 2019-02-11 2020-10-06 Salesforce.Com, Inc. Scalable artifact distribution
CN112969090A (zh) * 2019-12-03 2021-06-15 华为技术有限公司 一种http请求传输方法及设备
CN113873048B (zh) * 2020-06-12 2023-05-12 腾讯科技(上海)有限公司 应用下载平台中应用包的下载方法及系统
CN112235402B (zh) * 2020-10-14 2023-04-07 杭州安恒信息技术股份有限公司 一种网络回源方法、网络回源系统及相关装置
KR20220073430A (ko) 2020-11-26 2022-06-03 삼성에스디에스 주식회사 청크 분할을 이용한 파일 전송 방법 및 장치
CN112653760B (zh) * 2020-12-22 2023-03-24 平安银行股份有限公司 跨服务器的文件传输方法、装置、电子设备及存储介质
US20220303337A1 (en) * 2021-01-27 2022-09-22 Oracle International Corporation Load balancing agent
CN113300936B (zh) * 2021-02-01 2023-04-14 阿里巴巴集团控股有限公司 Cdn节点、边缘节点的信令适配方法、设备及存储介质
CN112769958B (zh) * 2021-02-05 2022-10-04 上海哔哩哔哩科技有限公司 点对点网络调度方法和系统
CN113891176B (zh) * 2021-10-08 2023-12-08 中移(杭州)信息技术有限公司 基于hls的点播流量控制方法、装置、设备及存储介质

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6396830B2 (en) * 1998-06-18 2002-05-28 Lucent Technologies Inc. Implementing network services over the internet through dynamic resolution of personal host names
US7685311B2 (en) * 1999-05-03 2010-03-23 Digital Envoy, Inc. Geo-intelligent traffic reporter
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
ATE296514T1 (de) * 2000-10-26 2005-06-15 Prismedia Networks Inc Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7340530B2 (en) * 2001-01-17 2008-03-04 International Business Machines Corporation Methods, for providing data from network secure communications in a cluster computing environment
US6907525B2 (en) * 2001-08-14 2005-06-14 Riverhead Networks Inc. Protecting against spoofed DNS messages
WO2003027858A1 (fr) * 2001-09-19 2003-04-03 Accelia, Inc. Systeme de protection de serveurs de contenu
US9087319B2 (en) * 2002-03-11 2015-07-21 Oracle America, Inc. System and method for designing, developing and implementing internet service provider architectures
US7289519B1 (en) * 2002-05-01 2007-10-30 Cisco Technology, Inc. Methods and apparatus for processing content requests using domain name service
US7552237B2 (en) * 2002-10-17 2009-06-23 International Business Machines Corporation Network address cache apparatus and method
US6874015B2 (en) * 2002-12-16 2005-03-29 International Business Machines Corporation Parallel CDN-based content delivery
JP4306365B2 (ja) * 2003-08-07 2009-07-29 ソニー株式会社 サーバ及びコンテンツ受信装置
JP2005086362A (ja) * 2003-09-05 2005-03-31 Matsushita Electric Ind Co Ltd データ多重化方法、データ送信方法およびデータ受信方法
WO2005033955A1 (ja) * 2003-09-30 2005-04-14 Sony Corporation コンテンツ取得方法
JP2005222295A (ja) * 2004-02-05 2005-08-18 Oki Electric Ind Co Ltd ファイル転送方法
US7444371B2 (en) * 2004-03-11 2008-10-28 At&T Intellectual Property Ii, L.P. Method and apparatus for limiting reuse of domain name system response information
JP4626395B2 (ja) * 2004-08-30 2011-02-09 オンキヨー株式会社 センターサーバーおよびその動作方法
US20060184688A1 (en) * 2005-02-17 2006-08-17 Nec Laboratories America, Inc. System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
JP4729987B2 (ja) * 2005-06-02 2011-07-20 富士ゼロックス株式会社 データ管理システム及びデータサーバ
US20070118667A1 (en) * 2005-11-21 2007-05-24 Limelight Networks, Inc. Domain name resolution based dynamic resource assignment
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a 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
JP5088969B2 (ja) * 2006-09-06 2012-12-05 アカマイ テクノロジーズ インコーポレイテッド ハイブリッドcdn−p2pにおけるコンテンツ配信方法
CN100583820C (zh) * 2006-09-11 2010-01-20 思华科技(上海)有限公司 内容分发网络的路由系统及方法
CN101146022B (zh) * 2006-09-11 2011-08-17 上海思华科技股份有限公司 节点重叠内容分发网络
CN101202684A (zh) * 2006-12-15 2008-06-18 中国电信股份有限公司 在内容分发网络中进行用户就近性判断的方法
US20080168516A1 (en) * 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
US7970891B1 (en) * 2007-01-17 2011-06-28 Google Inc. Tracking links in web browsers
CN101242422B (zh) * 2007-02-06 2011-01-26 中国电信股份有限公司 适应多业务融合的内容分发网络系统和方法
US7689671B2 (en) * 2007-03-09 2010-03-30 International Business Machines Corporation System and method for multiple IP addresses during domain name resolution
US8554941B2 (en) * 2007-08-30 2013-10-08 At&T Intellectual Property I, Lp Systems and methods for distributing video on demand
US7970820B1 (en) * 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8180896B2 (en) * 2008-08-06 2012-05-15 Edgecast Networks, Inc. Global load balancing on a content delivery network
US7818441B2 (en) * 2008-10-15 2010-10-19 Patentvc Ltd. Methods and systems for using a distributed storage to its maximum bandwidth
US8103780B2 (en) * 2008-12-18 2012-01-24 At&T Intellectual Property I, Lp Systems and methods for determining the location of a request on a content delivery network
CN101437131B (zh) * 2008-12-31 2010-12-08 中兴通讯股份有限公司 一种视频监控系统中前端录像的定制方法及装置
US20100180011A1 (en) * 2009-01-12 2010-07-15 Microsoft Corporation Url based retrieval of portions of media content
US9948708B2 (en) * 2009-06-01 2018-04-17 Google Llc Data retrieval based on bandwidth cost and delay
US9807468B2 (en) * 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708377B2 (en) 2017-03-21 2020-07-07 Toshiba Memory Corporation Communication control device, communication control method, and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP2013503390A (ja) 2013-01-31
KR101424362B1 (ko) 2014-08-12
US20110055312A1 (en) 2011-03-03
KR20120062845A (ko) 2012-06-14
CN102484652A (zh) 2012-05-30
EP2454868A1 (en) 2012-05-23
WO2011025694A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
JP5514315B2 (ja) コンテンツ配信ネットワーク上のチャンク形式ダウンロード
US8230098B2 (en) System and method for streaming media objects
US20140280604A1 (en) Adaptive distributed application streaming
US9065835B2 (en) Redirecting web content
US10484497B2 (en) Methods and systems for caching data communications over computer networks
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
US8090813B2 (en) Methods and apparatus for data transfer
CN102067094B (zh) 高速缓存优化
US20190037015A1 (en) Peer-to-peer network prioritizing propagation of objects through the network
US20080040420A1 (en) Content distribution network
JP2004533687A (ja) コンピュータ・ネットワークにおけるサービスの動的配備
WO2007007320A2 (en) Method and system for increasing popularity of content items shared over peer-to-peer networks
WO2011085625A1 (zh) 一种软件安装包下载方法、系统及客户端
US8868756B1 (en) Sticky routing
US20060236386A1 (en) Method and apparatus for cooperative file distribution in the presence of firewalls
WO2008017502A1 (en) Content distribution network
JP6342526B2 (ja) 生中継データを共有する方法およびシステム
KR20140143775A (ko) 캐시 관리 기법
JP6587997B2 (ja) タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム
US20130054691A1 (en) Flexible rule based multi-protocol peer-to-peer caching
WO2017210224A1 (en) System and method for providing reliable and efficient data transfer
US11722707B2 (en) Dynamic content steering based on server and client device capabilities
US11729256B2 (en) Predetermining network route for content steering
JP2005234878A (ja) リソース検索システム、および方法
Birman et al. Network perspective

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130913

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140206

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140328

R150 Certificate of patent or registration of utility model

Ref document number: 5514315

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250