JP2005525611A - コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置 - Google Patents

コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置 Download PDF

Info

Publication number
JP2005525611A
JP2005525611A JP2003520165A JP2003520165A JP2005525611A JP 2005525611 A JP2005525611 A JP 2005525611A JP 2003520165 A JP2003520165 A JP 2003520165A JP 2003520165 A JP2003520165 A JP 2003520165A JP 2005525611 A JP2005525611 A JP 2005525611A
Authority
JP
Japan
Prior art keywords
content
client
candidate
server
list
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
JP2003520165A
Other languages
English (en)
Other versions
JP4198053B2 (ja
Inventor
ウェイド ヘネシー,
ジョン ウェインライト,
Original Assignee
コンティキ・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コンティキ・インコーポレイテッド filed Critical コンティキ・インコーポレイテッド
Publication of JP2005525611A publication Critical patent/JP2005525611A/ja
Application granted granted Critical
Publication of JP4198053B2 publication Critical patent/JP4198053B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1014Server selection for load balancing based on the content of a request
    • 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
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明は、クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーからこのコンテンツを受けることを容易にするシステムを提供する。クライアントは、このコンテンツのリクエストをディレクトリサーバーに送ることから始める。このリクエストに応答して、クライアントは、ディレクトリサーバーからコンテンツを潜在的に提供し得る候補サーバーのリストを受ける。一旦クライアントがこの候補サーバーのリストを受けると、クライアントは、このコンテントについて、1つ以上の候補サーバーにリクエストを送り、そして、次に、この1つ以上の候補サーバーからコンテンツを受ける。

Description

(背景)
(発明の分野)
本発明は、コンピューターネットワークに関する。より詳細には、本発明は、コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置に関する。
(関連技術)
ブロードバンドコミュニケーションの爆発は、インターネットを支援し、マチルメディアおよび高品質ビデオの生きた配給機構になった。ブロードバンドの前には、従来のモデムは、ビデオが要求する大きなファイルサイズには遅すぎた。今や、よりブロードバンドコミュニケーションをもつ人々が増加し、そしてなおより大きなコンテンツのアイテムを要求しており、バンド幅およびサーバー利用は、急速に、配給エンドに対する妨害となってきている。いくつかの事例では、臨時の事件が、人々がそれら事件のビデオを見るためにオンラインニュースサイトに群がるとき、それに架空の停止をもたらした。
いくつかの企業は、この問題を、サーバーファームおよびクラスターを創製することにより解決することを試みた。これらは、需要の日常的なピークの取り扱いにおいては有効であり、そしてフォールト寛容のレベルを創製するが、全体では、臨時事件から生じる需要を取り扱うことでは有効ではない。
増加したブロードバンドにともなう別の問題は、サービスプロバイダーに対する増加
したバンド幅のコストである。インターネットは、多くのより小さなネットワークから構成され、それらは、それらの間の協定を守っている。代表的には、プロバイダーは、それらのネットワークの外側を通過する情報について、より多くを支払わなければならない。同様に、代表的には、それらが要求する情報のレベルが増加するときより多くを支払わなければならない。
これらの問題を、ピアツーピア(peer−to−peer)配給コンテンツ送達ネットワークを創製することにより軽減する試みがなされた。これらのネットワークでは、先にダウンロードされたコンテンツのピアが、次にコンテンツを要求するその他のピアのコンテンツに対する可能なサーバーになる。これらのコンテンツ送達ネットワークは、情報が当初公開されたサーバーファームから離れて移動する往来を承継するが、それらは新たな問題を創製した。
古典的なピアツーピアネットワークにおける最大の問題の1つは、性能である。極めてしばしば、クライアントがコンテンツをダウンロードするために辿るピアは限られたバンド幅をもち、そしてネットワークに関してトポロジー的に遠い。この場合、クライアントエンドにおけるダウンロード回数は、実際に、増大し得、そしてバンド幅コストも同様に増加し得る。なぜなら、往来が、より多くのネットワークを辿らなければならないからである。
配給コンテンツ送達ネットワークにともなう別の主要な問題は、コンテンツのローカルサーチャーから生じる増大したローカル往来である。ネットワークに対するクライアントが増加するほどローカルサーチャーが増加する。これらの配給ネットワークが成長するにつれ、それらは、実際に、全体ネットワークのより小さなサブセットに分解または分割する。
必要なのは、現存する配給コンテンツ送達ネットワークにともなう問題なくしてネットワークを通るコンテンツの配給送達を容易にするための方法および装置である。
(要約)
本発明の1つの実施形態は、クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーからこのコンテンツを受けることを容易にするシステムを提供する。クライアントは、ディレクトリサーバーにコンテンツのリクエストを送ることで始める。このリクエストに応答して、このクライアントは、ディレクトリサーバーからこのコンテンツを潜在的に提供し得る候補サーバーのリストを受ける。一旦、クライアントが候補サーバーのリストを受けると、クライアントは、1つ以上の候補サーバーにコンテンツのリクエストを送り、そして次に1つ以上の候補サーバーからこのコンテンツを受ける。
この実施形態の改変例では、クライアントは、複数の候補サーバーからコンテンツの一部分を受ける。次いで、クライアントは、種々の部分からコンテンツをアセンブルする。
この実施形態の改変例では、クライアントは、サーバーに、クライアントにおけるコンテンツの現在のステータスを示すフィードバックを送る。このフィードバックは、このクライアントが受けたコンテンツの部分;クライアントが現在受けているコンテンツの部分;およびクライアントが受けていないコンテンツの部分を特定する。
この実施形態の改変例では、クライアントは、サーバーに、クライアントにおいて維持されている候補サーバーのためのステータス情報を含むフィードバックを送る。このフィードバックは、所定の候補サーバーの可用性、所定の候補サーバーの性能指標、およびクライアントから所定の候補サーバーへの経路のトレースを含み得る。
この実施形態の改変例では、ディレクトリサーバーに上記コンテンツのリクエストを送る工程は、クライアントが既に有するコンテンツの部分を示すコンテンツのマップを送ることを含む。さらに、Network Address Translation(NAT)デバイスの後に位置しているクライアントにとって、リクエストを送ることはまた、クライアントの内部アドレスを送ることを含む。
この実施形態の改変例では、クライアントは、第2のクライアントから、この第2のクライアントにコンテンツを送るリクエストを受ける。このリクエストに応答して、クライアントは、コンテンツを第2のクライアントに送る。
この実施形態のさらなる改変例では、クライアントは、このクライアントが候補サーバーからコンテンツの一部分をなお受けている間に、第2のクライアントに、コンテンツの一部分を送る。
この実施形態の改変例では、候補サーバーのリストは、候補サーバーの完全リストのサブセットである。
この実施形態のさらなる改変例は、クライアントは、ディレクトリサーバーに、候補サーバーの完全リストのさらなるサブセットを要求するリクエストを送る。
この実施形態の改変例では、候補サーバーのリストは、コンテンツのオリジナルソースを含むオリジンサーバーを含む。候補サーバーのリストはまた、ミラーサーバーを含み、これは、オリジンサーバーと性能が類似しているが、コンテンツのオリジナルソースのコピーを含んでいる。
この実施形態の改変例では、コンテンツが候補サーバーのリスト中の候補サーバーから入手可能でない場合、クライアントは、候補サーバーからコンテンツを受けることを再び試みる前に、設定時間待機する。
この実施形態のさらなる改変例では、上記設定時間は、クライアントが任意の候補サーバーからコンテンツを受けることに成功しない場合毎に増加する。
この実施形態のさらなる改変例では、コンテンツが、所定の時間の間に候補サーバーのリスト中の候補サーバーから入手可能でない場合、この候補サーバーは、候補サーバーのリストから除かれる。
この実施形態のさらなる改変例では、候補サーバーが特定の性能基準に合致しない場合、この候補サーバーは、候補サーバーのリストから除かれる。
本発明の1つの実施形態は、配給様式でクライアントにコンテンツを送ることを容易にするシステムを提供する。このシステムは、ディレクトリサーバーにおいて、コンテンツに対するリクエストをクライアントから受けることで開始する。次いで、このディレクトリサーバーは、クライアントに応答を送る。この応答は、コンテンツを潜在的に提供し得る候補サーバーのリストを含む。このディレクトリサーバーはまた、このクライアントを、このコンテンツのための候補サーバーのリストに追加し、その結果、このクライアントは、他のクライアントからの次のリクエストのためのコンテンツのサーバーとして作用し得る。
この実施形態の改変例では、候補サーバーのリストが、ネットワーク基準によってソートされる。所定のクライアントに対するネットワーク基準は、複数のクライアントがNATデバイスの後にある場合、所定のクライアントの外部IPアドレスと同一である外部アドレス、所定のクライアントの自律システム(AS)と同一であるかまたはトポロジー的に緊密であるAS、および所定のクライアントのIP/20ネットワークと同一であるかまたはトポロジー的に緊密であるIP/20ネットワークを含み得る。この実施形態のさらなる改変例では、システムが、より広いゲートウェイプロトコル(BGP)情報を受け、候補サーバーのリストをソートすることを容易にし、その結果、クライアントにトポロジー的に最も緊密である候補サーバーが、候補サーバーのリスト中により高く出現する。この候補サーバーのリストはまた、候補サーバーのロード推定または候補サーバーの性能推定のようなその他の基準によってソートされ得ることに注目のこと。
本実施形態の改変例では、クライアントからコンテンツのリクエストを受ける工程は:クライアントが既に有するコンテンツの部分を示すコンテンツのマップを受けること、クライアントがリクエスト中に明確に含められるクライアントのローカルIPアドレスを受けること;およびクライアントの外部IPアドレスを受けることをさらに包含する。
この実施形態の改変例では、候補サーバーのリストは、候補サーバーの完全リストのサブセットである。
この実施形態の改変例では、候補サーバーのリストは、コンテンツのオリジンサーバーを含む。
この実施形態の改変例では、候補サーバーのリストからの候補サーバーが、ファイアウォールの後にある場合、ディレクトリサーバーは、候補サーバーに、この候補サーバーがファイアウォールを通じてリクエストするクライアントとのコミュニケーションセッションを開始させるクスエストを送る。
この実施形態の改変例では、候補サーバーのリストからの候補サーバーおよびクライアントが両者ともファイアウォールの後にある場合、ディレクトリサーバーが、候補サーバーおよびクライアントが、それらの個々のファイアウォールを通じて互いにメッセージを同時に送り、候補サーバーとクライアントとの間のコミュニケーションを開始させるリクエストを、候補サーバーおよびクライアントに送る。
この実施形態の改変例では、システムは、ディレクトリサーバーが候補サブセット選択プロセスを容易する、クライアントからのフィードバックを収集することを容易にするロギングサーバーを含む。
(詳細な説明)
以下の説明は、任意の当業者が本発明を作製および使用するために提示され、そして特定の適用およびその要求の文脈で提供される。開示された実施形態に対する種々の改変は、当業者に容易に明らかであり、そして本明細書に規定される一般的な原理は、本発明の思想および範囲を逸脱することなく、その他の実施形態および適用に適用され得る。従って、本発明は、示された実施形態に制限されることは意図されず、本明細書に開示された原理および特徴と整合する最も広い範囲と一致されるべきである。
この詳細な説明で記載されるデータ構造およびコードは、代表的には、コンピューター読み取り可能な記憶媒体上に記憶され、これは、コンピューターシステムによる使用のためのコードおよび/またはデータを記憶し得る任意のデバイスまたは媒体であり得る。これは、制限されないで、ディスクドライブ、磁気テープ、CD(コンパクトディクス)およびDVD(デシタル多目的ディスクまたはデジタルビデオディスク)、伝達媒体中に具現化されるコンピューター指示信号(その上で信号が調整されるキャリア波ありまたはなし)のような磁気および光学的記憶デバイスを含む。例えば、この伝達媒体は、インターネットのようなコミュニケーションネットワークを含み得る。
(配給コンピューターシステム)
図1は、本発明の実施形態による配給コンピューターシステム100を示す。配給コンピューターシステム100は、ピア101およびピア102を含む。ピア101およびピア102は、一般に、コンピューター能力を含み、かつネットワークを通って通信するための機構を含む任意のノードを含み得る。ピア101および102は、クライアントとして、および他のクライアントにコンテンツを潜在的に供し得る候補サーバーして作用し得ることに注目のこと。図1はまた、ディレクトリサーバー104、106および108、ロギングサーバー110、およびオリジンサーバー112を含む。サーバー104、106、108、110および112は、一般に、コンピューターおよび/またはデータ記憶リソースについて、クライアントからのリクエストをサービスするための機構を含むコンピューターネットワーク上に任意のノードを含み得る。
本発明の1つの実施形態では、ピア101は、コンテンツのリクエストをディレクトリサーバー104に送る。ディレクトリサーバー104は、このリクエストを、ディレクトリサーバー106またはディレクトリサーバー108に送るか、または再配向し得る。次いで、ディレクトリサーバー104は、次に、ピア101に可能な候補のリストを返送する。任意の時間にピアがコンテンツのリクエストを行い、次いで、このピアはコンテンツの可能な候補サーバーとなり、そして他のクライアントに送られる潜在的な候補サーバーのリスト中に出現し得ることに注目のこと。この候補サーバーのリスト、必要に応じて、コンテンツのオリジナルソースを含むオリジンサーバー112を同定し得る。次いで、ピア101は、このリストを用いてピア102からコンテンツをリクエストする。ピア101はまた、ロギングサーバー110に、それが有するコンテンツの一部分およびそれがダウンロードを試みたサーバーのような、フィードバック情報を返送する。次いで、ロギングサーバー110は、このフィードバック情報を、ピア101からディレクトリサーバー104に送る。ディレクトリサーバー104は、この情報を、コンテンツの後のリクエストに応答するために用いる。
(ディレクトリサーバーアーキテクチャー)
図2は、本発明の実施形態による、ディレクトリサーバー104のアーキテクチャーを示す。ディレクトリサーバー104は、品目212を含む。品目212は、公開されたコンテンツのアイテムのための可能な候補のリストを含む。リクエストするピア216の1つがコンテンツ用のディレクトリサーバー104にリクエストを提示するとき、ASN検索モジュール208が、このピアがメンバーである自律システム(AS)の自律システム数(ASN)を決定する。
ディレクトリサーバー104は、一致セット200中のアイテムを基に、品目212の優先付けたリストのセットを維持している。これらのアイテムは、ASN202、IP/20ネットワーク204、およびIPアドレス206を含む。IP/20ネットワークは、20バイトからなる共通のIPアドレスプレフィクスを共有するノードのコレクションであることに注目のこと。さらに、外部IPアドレスは、Network Address Translation(NAT)または類似のデバイスにより割り当てられたIPアドレスを含み得、そしてホストの内部IPアドレスとは異なり得る。サーバー検索モジュール210は、ピアの外部IPアドレス206を決定し、そして品目212中にこの情報を配置する。候補サーバーが、ピアの外部IPアドレスと同一の外部IPアドレスを有する場合、そのときは、それは、このピアにトポロジー的に緊密である可能性が高い。同様に、それが、ピアと同じIP/20ネットワークのメンバーである場合、そのときは、それはまた、このピアに相対的にトポロジーが緊密である可能性が高い。
サーバー準備モジュール214は、リクエストするピア216により報告されたフィードバック情報を受け(サーバー準備報告)、そして品目212をアップデートする。品目エイジャー218は、ディレクトリサーバー104が特定の時間内に候補サーバーからなにもない場合、品目212から候補を除く。
(ファイアウォールをもつネットワーク)
図3は、本発明の実施形態による、ファイアウォールをもつネットワークを示す。図3において、ピア101は、ファイアウォール300の後に位置し、そしてピア102は、ファイアウォール302の後に位置する。さらにピア101およびピア102の両者は、それらの個々のファイアウォールを通じてディレクトリサーバー104と通信する。このコミュニケーションの間に、ピア101は、ディレクトリサーバー104からコンテンツをリクエストする。次に、ディレクトリサーバー104は、ピア102を含む候補サーバーのリストをピア101に送る。ピア101は、次いで、User Datagram Protocol(UDP)を経由してコンテンツに対するリクエストをピア102に送る。ディレクトリサーバー104はまた、コンテンツをピア101に送るリクエストピア102に送る。ピア102は、パケットをUDPを経由してピア101に送る。(一般に、UDPの代わりにその他のコネクショクレスプロトコルが用いられ得ることに注目のこと)。ピア101からピア102へのリクエスト、およびピア102からピア101へのパケットは、コネクションレスプロトコルを経由して送られたので、それらは、ファイアウォール300および302中に、ピア101とピア102との間に確立されるべきコネクション304を可能にするポートを開放する。
(コンテンツリクエストの属性)
図4は、本発明の実施形態による、コンテンツリクエストの属性を示す。入来するリクエスト400は、以下の属性を含む:内部IPアドレス402;外部IPアドレス404、およびMOID408。MOID408は、コンテンツが公開されるとき割り当てられるこのコンテンツの特有の識別子であることに注目のこと。内部IPアドレス402は、ノードで割り当てられたIPアドレスであり、そして外部IPアドレス404は、Network Address Translation(NAT)または類似のデバイスのIPアドレスである。NATデバイスの人気とともに、NATで可能にされたLANにおけるピアが異なる内部IPアドレスおよび同一の外部アドレスを有することは非常に一般的である。リクエスト者のASについてASNを決定するためにコンテンツリクエストを分析することもまた可能である。ASNは、ノードが属する自律システム(AS)の識別子である。
(ディレクトリサーバー品目)
図5は、本発明の実施形態による、図2からのディレクトリサーバー品目212を示す。品目212は、すべてのコンテンツのリスト、およびディレクトリサーバー104によって知られるコンテンツの可能な候補サーバーを含む。品目212はまた、コンテンツを同定するMOID408、コンテンツの候補サーバーを同定するノード502、および過去にこの候補サーバーがもつと報告されたコンテンツの切片を同定するレンジセット504を含み、ノード502は、標準的なPKI技法を用いて同定される。
(初期コンテンツリクエスト)
図6は、本発明の実施形態による、初期コンテンツリクエストのプロセッシングを示す。このシステムは、コンテンツがリクエストされるとき開始し、そしてピア101は、コンテンツの任意の部分を有していない(ステップ600)。
最初に、ピア101は、ディレクトリサーバー104に、ファイルダウンロードリクエストを空のレンジセットとともに送る(ステップ602)。次に、ディレクトリサーバー104は、品目212からサーバー検索を実施し、そしてコンテンツのために候補サーバーの優先付けたリストを生成する(ステップ604)。次いで、ディレクトリサーバー104は、上記優先付けたリストからピア101に、トップのn候補サーバーを戻す(ステップ606)。最後に、ディレクトリサーバー104は、品目212中に、ピア101を、コンテンツの可能な後の候補サーバーとして記録する(ステップ608)。
(次期コンテンツリクエスト)
図7は、本発明の実施形態による、次期コンテンツリクエストのプロセッシングを示す。このシステムは、ピア101がファイルの一部分を受けるが、ファイルに対する特定数の候補サーバーを捨てたとき開始する(ステップ700)。
最初に、ピア101は、ファイルダウンロードリクエストを、アップデートされたレンジセットおよび試みられたサーバーのリストを含むディレクトリサーバー104に送る(ステップ702)。次に、ディレクトリサーバー104は、品目212からサーバー検索を実施し、そしてピア101のために候補サーバーの優先付けたリストを生成する(ステップ704)。次いで、ディレクトリサーバー104は、先に試みられたサーバーをフィルターにかけ、そしてこの優先付けたリストからトップn候補サーバーをピア101に戻す(ステップ706)。最後に、ディレクトリサーバー104は、ピア101の品目212中にコンテンツのファイルレンジセットをアップデートする(ステップ708)。
(品目エイジング)
図8は、本発明の実施形態による、品目エイジングのプロセスを示す。ピア101は、ディレクトリサーバー104に、ピア101上で利用可能であるコンテンツのファイルレレンジセットを含む、サーバー準備レポートを周期的に送る(ステップ800)。本発明の1つの実施形態では、ピア101は、ディレクトリサーバー104に情報を提供するロギングサーバー110にサーバー準備レポートを送ることに注目のこと。一旦ディレクトリサーバー104が、この新たな情報を有すると、ディレクトリサーバー104は、品目212をアップデートし、新たな情報により特定される任意の変化を反映する(ステップ802)。本発明の別の実施形態では、ピア101は、ディレクトリサーバー104にサーバー準備レポートを直接送る。周期的に、ディレクトリサーバー104は、予め特定された時間内にサーバー準備レポートを送らなかったピアをエイジアウトする(age out)(ステップ804)。
(インプリメンテーションの詳細)
このセクションは、本発明の実施形態による、データ(媒体対象物)の配給を支配する方針の概説を提供する。このセクションに記載のインプリメンテーションの詳細は、例示であって、本発明を制限することは意味しないことに注目のこと。
(ピアの概説)
クライアント(ピア)のバックエンドは、フロントエンドにより処理されたメタデータおよびユーザーリクエストに基づいて、ローディングおよびサービシングを取り扱う。それは、ローディングに、そしてサービシングに特定の数のトレッド(thread)(例えば、各々12)を従事させる。このようなローダーまたはサーバーは各々、1つのコネクションを支持し得る。スロットリングの不在下では、このピアは、サーバーをこの限界まで受容し、そして行われるべき作業がある場合、この限界までローダーコネクションを確立する。
ピアは、リクエストを受け、コンテンツをロードする。対象物は、優先度を割り当てる。より高い優先度の対象物が、より低い優先度の対象物に優先してロードされる。より高い優先度の対象物に関して行われるべき作業があり、そして利用可能なローダーがない場合、最も低い優先度のローダーが予め空にされ、そしてより高い優先度対象物に再割り当てされる。本発明の1つの実施形態では、各タイプのファイルについてファイル優先度が存在し、そしてさらに、このファイルに対してサーバーとして作用し得る各ピアについてピア優先度が存在する。
対象物は、以下のように優先付けられる:
1.フロントエンドによって「最前面(foreground)」としてマークされた対象物は、ユーザーの現在の活動と関連する。これらの最前面対象物は、ユーザーの現在の活動と直接関連しない、バックグラウンドとマークされた対象物(例えば、予約により自動的に押される対象物)より先行する順位をとる。
2.そうでなければ、対象物は、最初に入来し、最初にサーブされて優先付けられる。
ピアは、ロードリクエストを、候補サーバーまたは標的のセットに変形する。これらは、コンテンツの可能なソースであり、そして最初に「対象物優先度」(「ファイル優先度」とも称される)によって、そして次に、標的優先度(「ローダー優先度」とも称される)によって優先付けられる。フリーのローダーは、最高の優先度の利用可能な標的を引き受ける。(これに対する例外は、同じ対象物に対する任意のその他の利用可能な標的またはローディング標的が存在する場合、レンジリクエストを支持しない標的が引き受けられないことである)。一般に、標的は、複数のローダーによっては決して引き受けられない。
リクエストされた対象物は、フロントエンドにより、既知または未知のいずれかとしてマークされる。それが未知である場合、そのときは、このリクエストは、http(hypertext transfer protocol)またはftp(file transfer protocol)url(uniform resource locator)を提供する。そのurlを表すいくつかの標的(例えば4、または結合が不具である場合1)が創製される。対象物が既知である場合、そのときは、1つの標的が創製され、さらなる標的を提供すると予期されるディレクトリサーバーを表す。ディレクトリサーバーにより戻された標的は、すべてがディレクトリサーバー自身の標的優先度より大きい標的優先度でラベルされる。
ローディング対象物のための標的は、ローディング、利用可能、後退(backed off)、悪いマーク(marked bad)のいずれかである。フロントエンドが停止し、そして対象物のローディングを再開する場合、その標的にすべてはエラーで終わる。後退標的は、後に、特定された時間に、再び利用可能になる。繰り返される後退は、最大(例えば、1/4、1、4、16、および64分)までの、より長い時間間隔のためである。この後退間隔は、成功したローディングよりリセットされる。ディレクトリサーバーは、たとえそれが標的を戻すときでさえ(これはその後退間隔をリセットする)1分の後退で開始する。
(ディレクトリサーバーの概説)
ディレクトリサーバー104は、媒体対象物の標的に対するリクエストを受ける。このリクエストは、リクエスト者に既に既知である標的のリストを含む。ディレクトリサーバー104は、未だ既知でない標的のリストを、標的優先度とそれらに接触するために必要な情報とともに戻す。
ディレクトリサーバー104が対象物について知るものがない場合、そのときは、リクエスト者に、5秒待ち、そして再試行するように告げる。その一方、それは、その対象物に関する情報についてメタデータサーバーに接触する。このメタデータサーバーは、コンテンツのオリジナルソースを含む、すべての公開されたコンテンツに関する情報を含む。これに失敗した場合、それは、所定の時間この失敗を記憶し(例えば2分)、そしてその対象物に対する標的をリクエストする任意のピアに、それが見出されないことを告げる。(これは、ピアがダウンロードを抑制するようにする。)このメタデータフェッチが成功する場合、そのときは、ディレクトリサーバー104は、標的として戻り得る1つ以上のオリジンサーバーを学習する。
ディレクトリサーバー104が、リクエスト者に可能な標的を提供する場合、そのときは、それは、リクエスト者に可能な標的のそのセットを付加する。リクエスト者は、所定の時間後(例えば、2時間、またはリクエスト者がネットワークから出ることを選択した場合直ちに)にこのセットから切れる。ディレクトリサーバー標的セットを新鮮に維持するために、ピアは、それらが供給し得る対象物を周期的(例えば1時間)に報告する。
(ディレクトリサーバー応答処理)
既知対象物について戻された標的(ピアおよびオリジン)のリストは、以下のように決定される(低減する順位のため):
1.標的がリクエスト者によって既知として報告される場合、そのときは、それは戻されない。
2.戻された標的を生じる目的物に対するリクエスト者からの各リクエストがカウントされる。最後の満たされたリクエストから十分な時間が経過した場合(約30分といえる)、そのときは、このカウントはリセットされる。このカウントが500以上である場合、戻されるピア標的はない。これは、ピアおよびディレクトリサーバーを、過剰のリクエストから保護する。
3.多くても、予備決定された数の標的が戻される。
4.エイジアウトされたピアは戻されない。
5.ピアの各々の戻りが(任意の対象物の標的として)カウントされる。ピアがディレクトリサーバー104を訪れるとき、このカウントは、活性サービングトレッドのピアの現在の数にリセットされる。
6.最高の優先度の標的が戻される。
7.オリジンがピアより低い優先度で割り当てられる。
8.ピアは2の基礎優先度を有する。それらが、ゼロでない戻りカウントを有する場合、そのときは、それらの基礎優先度は、1/戻りカンウトである。(これは、ロードを配給する。)
9.それがリクエスト者と同じ外部IPアドレスを有する場合、ピア優先度が330(=10(32+1))だけ増やされる。そうでなければ、ピア優先度は、それが、その外部IPアドレスの最初の20ビット(構成可能)をリクエスト者と共有する場合、210(=10(20+1))だけ増やされる。そうでなければ、ピア優先度は、それが、リクエスト者と同じ(ゼロでない)ASNにある場合、10(=10(0+1))だけ増やされる(ローカルソースを好む)。
(ピアローダーの概説)
ファイルの切片を受ける機構であるピアローダーは、標的の1つのレンジから、一度にデータをリクエストする。このレンジサイズは、リクエストオーバーヘッドが小さくなる程に十分大きく、しかし、ピアが、ローダー可用性および性能を変化させることに迅速に適合し得るに十分小さい必要がある。ローダーは、このレンジの1つの読み取りレンジを一度に読み取る。スロットリングを容易にする、この読み取りレンジ範囲は、予期されたサイズで1秒でダウンロード可能であり、そして10秒のタイムアウトを有する。エラーおよびその他のローダー退去状態が、各読み取りレンジ後にチェックされ、そしてこの読み取りは、このダウンロードが終了またはキャンセルされる場合に中断可能である。リクエストレンジサイズは、より大きな128kBおよびこの読み取りレンジでキャップされる。
(レンジアロケーション)
レンジリクエストを支持しない標的は、最初に必要なレンジを効率的に要求する。任意のその他の標的は、好適なオフセットで開始するレンジについて要求され、そしてサイズキャップ、EOF、またはローダーに既にロードされたか、または割り当てられた次にレンジで停止する。ローダーが別のローダーに割り当てられたレンジに到達する場合、それは、予め空にされている。(このローダーはこの標的を諦め、これは、その他のローダーに利用可能にされる。)ダウンロードの残量がほとんどないとき、ローダーは、同じレンジをすべてロードし得る(ダウンロードを終了するための競争)。
好適なオフセットを見出すために、ローダーは、最初、候補レンジのセットを生成し、次いで、このセットからレンジを選択する。この候補レンジのセットは、空でない以下の最初のものであり得る:
1.標的が有し、しかもその他の不完全ローディング標的のすべてが有さない、割り当てられていないバイトのセット(従って、ピアは、その「近傍」とは異なるレンジを仕上げる。);
2.割り当てられておらず、しかも標的が有するバイトのセット;
3.割り当てられていないバイトのセット;および
4.別のローダーに割り当てられているバイトのセット。
次に、そのレンジのセットからの選択されたレンジは以下のいずれかである:
1.標的から受けた最後のレンジと連続している;
2.未知の最大サイズのセットの末端において、開放末端のレンジである部分;
・オフセットは、このレンジの開始から32*の距離にある(レンジサイズキャップ)。(これは、EOFが見出されるまで、ステップアウトすることによりファイルが如何に遠く伸びるかを発見するためである。)
3.レンジセットにおける最大レンジの部分;
・オフセットは、全サイズレンジについてその後に十分なバイトが存在する場合、またはレンジバイトが別のローダーに割り当てられる場合、このレンジの中央にある。(ローダーが、互いから可能な限り遠く離れてそれらのロードを開始することを試す場合、そのときは、それらが、その他の誰かによって既にロードされた特定物にぶつかる前に連続的により良好にロードし得る。)
・そうでなければ、オフセットは、このレンジの最初にある。(従って、レンジは、非効率的に小サイズに分割されない。)
(エラー)
I/Oエラーは、後退(backoff)を引き起こす。例外は、ピア標的に対する連結が作製できないときである;これは、標的を悪いマーク(marked bad)にする。標的が、一貫しないファイルサイズを報告する場合であるか、または目的物ファイルを有さないか、もしくはロードを許可しないことは、そのときは、標的は悪いマークである。ディレクトリサーバーがそのような報告に戻る場合、そのときは、ダウンロードは中止される。
すべてのファイルは、ブロック署名のセットから構成される署名を有する。ダウンロードの間に、各1MBブロックは、それが終了されるときチェックされる。ブロックチェックが失敗する場合、そのときは、それに寄与する任意のピア標的は悪いマークである。ブロックがオリジンにより完全に供給される場合、そのときは、ダウンロードは中止される。
後退エラーはまた、プアサービスによって引き起こされ得る。プアサービスは、2分間にバイトがないとして、または2分後にすべてのローダーがビジーであり、そして対象物について利用可能な標的が存在し、そしてこのローダーが、この目的物のローダーについて平均バンド幅の3分の1未満または250バイト/秒を得ている場合として規定され得る。
10秒より大きい停止リクエスト、またはディレクトリサーバーからの停止リクエストは、休止よりもむしろ後退として(ローダーは標的を諦める)取り扱われる。
(ピアサーバーの概説)
ピアがネットワークから脱退するか、または対象物を知らないか、またはそのコピーが悪い場合、そのときは、それは対象物を供しない。そうでなければ、それは、署名チェックされ(ブロック署名が存在した場合)、しかもリクエスト者がリクエストした、それがもつ最大連続レンジのバイトを供する。署名チェッキングは、ブロックのチェックサムを算出すること、およびそれを信用されたソースからのクリプト化(encrypted)チェックサムと比較することを含む。このようなバイトが存在しない場合、そのときは、サーバーは、リクエスト者に5秒間の停止を告げ、そして次に再試行する。サーバーは、それが何バイトを有するのかをリクエスト者に報告し、その結果、次のリクエストがより良好に知らされる。サーバーが対象物をなおロードしている場合、そのときは、それは、リクエスト者を、その標的のリストに追加する。(サーバーは、リクエスト者が有する何バイトがリクエストの一部分としてなのかを学習する)。
(インプメンテーションノート)
各ピア、およびディレクトリサーバーは、インメモリーデータベース、または対象物および標的の品目を維持する。この品目は、対象物エントリー(MO)のセット、ピアおよびオリジンエントリーのセット(Node)、およびピアまたはオリジン(MONode)上の対象物の状態に関する情報をもつエントリーのセットである。各エントリーは、関連するエントリーに関する情報を含む。例えば、Nodeは、IPアドレスおよびポートのような接触情報を含み、MONodeは、対象物ファイルのどの部分がピアまたはオリジン上で利用可能であるかを記録するレンジセットを含む。この品目はまた、アクセスを早くするための種々の基準によりソートされたこれらセットのサブセットを維持する。ディレクトリサーバーは、終了したエントリーをゆっくり取り除く。ピアは、ダウンロードが終了またはキャンセルされるとき、標的エントリーを取り除き、そして対象物が削除されるとき対象物エントリーを取り除く。
本発明の実施形態の先行する記載は、例示および説明のみの目的で提示されている。それらは、消尽されているか、または本発明を開示の形態に制限することは意図されていない。従って、多くの改変および変形が当業者に明らかである。さらに、上記の開示は、本発明を制限する意図はない。本発明の範囲は、添付の請求項により規定される。
図1は、本発明の実施形態に従う、配給システムを図示する。 図2は、本発明の実施形態に従う、ディレクトリアーキテクチャーを図示する。 図3は、本発明の実施形態に従う、ファイアウォールをもつネットワークを図示する。 図4は、本発明の実施形態に従う、コンテンツリクエストの属性を図示する。 図5は、本発明の実施形態に従う、ディレクトリサーバー品目を図示する。 図6は、本発明の実施形態に従う、初期コンテンツリクエストのプロセッシングを図示する。 図7は、本発明の実施形態に従う、次のコンテンツリクエストのプロセッシングを図示する。 図8は、本発明の実施形態に従う、品目のエイジングを図示する。

Claims (73)

  1. クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーからコンテンツを受けるための方法であって:
    該コンテンツが位置し得る場所についての情報を記憶するディレクトリサーバーに対し、該コンテンツのリクエストを送るステップ;
    該リクエストに応答して、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む、該ディレクトリサーバーからの応答を受けるステップ;
    該コンテンツに対する該候補サーバーのリストの少なくとも1つの候補サーバーにリクエストを送るステップ;および
    少なくとも1つの候補サーバーから該コンテンツを受けるステップ、を包含する、方法。
  2. 前記少なくも1つの候補サーバーからコンテンツを受けるステップが、複数の候補サーバーから該コンテンツの一部分を受けること、および前記クライアントにおいて該一部分を組み立てることを包含する、請求項1に記載の方法。
  3. 前記ディレクトリサーバーにフィードバックを送るステップをさらに包含する請求項1に記載の方法であって、該フィードバックが、以下を示す前記コンテンツのマップを含み得る、方法:
    前記クライアントによって受けられた該コンテンツの一部分;
    該クライアントによって現在受けられている該コンテンツの一部分;および
    該クライアントによって受けられなかった該コンテンツの一部分。
  4. 前記ディレクトリサーバーにフィードバックを送るステップをさらに包含する請求項1に記載の方法であって、該フィードバックが、候補サーバーのステータス情報を含み得、これが:
    所定の候補サーバーの可用性;
    該所定の候補サーバーの性能インディケータ;および
    前記クライアントから該所定の候補サーバーへの経路のトレース、を示し得る、方法。
  5. 前記ディレクトリサーバーにコンテンツのリクエストを送るステップが、さらに:
    前記クライアントが既に有する該コンテンツの一部分を示す該コンテンツのマップ;および
    該クライアントのローカルIPアドレス、を送ることを包含する、請求項1に記載の方法。
  6. 請求項1に記載の方法であって:
    前記クライアントにおいて、第2のクライアントから、該第2のクライアントに前記コンテンツを送るリクエストを受けるステップ;および
    該リクエストに応答して、該コンテンツを該第2のクライアントに送るステップ、をさらに包含する、請求項1に記載の方法。
  7. 前記コンテンツを第2のクライアントに送るステップが、該コンテンツが前記クライアントによって受けられている間に起こる、請求項6に記載の方法。
  8. 前記候補サーバーのリストが、候補サーバーの完全リストのサブセットである、請求項1に記載の方法。
  9. 前記候補サーバーの完全リストのさらなるサブセットを要求するリクエストを前記ディレクトリサーバーに送るステップをさらに包含する、請求項8に記載の方法。
  10. 前記候補サーバーのリストが、前記コンテンツのオリジナルソースを含むオリジナルサーバーを含む、請求項1に記載の方法。
  11. 前記コンテンツが、前記候補サーバーのリスト中のある候補サーバーから入手可能でない場合の請求項1に記載の方法において、該候補サーバーから該コンテンツを受けることを再び試みる前に、設定時間待つステップをさらに包含する、方法。
  12. 前記設定時間が、前記クライアントが前記候補サーバーのリスト中のある候補サーバーからの前記コンテンツを受けることに成功しない毎に増加する、請求項11に記載の方法。
  13. 前記コンテンツが、前記候補サーバーのリスト中のある候補サーバーから所定時間に入手可能でなかった場合の請求項11に記載の方法において、該候補サーバーのリストから該候補サーバーを除くステップをさらに包含する、方法。
  14. 前記候補サーバーのリスト中のある候補サーバーが特定の性能基準に合致しない場合の請求項11に記載の方法において、該候補サーバーのリストから該候補サーバーを除くステップをさらに包含する、方法。
  15. クライアントに配給様式でコンテンツを送る方法であって:
    ディレクトリサーバーにおいて、該クライアントからのコンテンツのリクエストを受けるステップ;
    該クライアントに、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む応答を送るステップ;および
    該コンテンツに対する該候補サーバーのリストに、該クライアントを、該クライアントがその他のクライアントからの次の該コンテンツのリクエストのための該コンテンツのサーバーとして作用し得るように追加するステップ、を包含する、方法。
  16. 前記候補サーバーのリストが、ネットワーク基準によって記憶される請求項15に記載の方法であって、所定のクライアントのネットワーク基準が:
    該所定のクライアントの外部IPアドレスと同一の外部IPアドレス;
    該所定のクライアントの自律システム(AS)と同一であるか、またはトポロジー的に近いAS;および
    該所定のクライアントのIP/20ネットワークと同一であるIP/20ネットワーク、を含み得る、方法。
  17. 前記候補サーバーのリストをソートすることを容易にするために、ボーダーゲートウェイプロトコル(BGP)情報を受けるステップをさらに包含し、前記クライアントにトボロジー的に最も近い候補サーバーが、該候補サーバーのリスト中により高く出現する、請求項16に記載の方法。
  18. 前記クライアントからコンテンツのリクエストを受けるステップが:
    該クライアントが既に有する該コンテンツの一部分を示す該コンテンツのマップを受けること;
    該リクエスト中に該クライアントが明確に含められる、該クライアントのローカルIPアドレスを受けること;および
    該クライアントの外部IPアドレスを受けることをさらに包含する、請求項15に記載の方法。
  19. 前記候補サーバーのリストが、候補サーバーの完全リストのサブセットである、請求項15に記載の方法。
  20. 前記候補サーバーのリストが、前記コンテンツのオリジナルサーバーを含む、請求項15に記載の方法。
  21. 前記候補サーバーのリストからの候補サーバーが、ファイアウォールの後にある場合の請求項15に記載の方法であって、該候補サーバーに、該候補サーバーが該ファイアウォールを通じて該クライアントとのコミュニケーションセッションを開始させるリクエストを送るステップをさらに包含する、方法。
  22. 前記候補サーバーのリストからのある候補サーバーおよび前記クライアントが、ファイアウォールの後にある場合の請求項15に記載の方法であって、該候補サーバーおよび該クライアントに、該候補サーバーおよび該クライアントが、それらの個々のファイアウォールを通じて互いにメッセージを同時に送り、該候補サーバーと該クライアントとの間のコミュニケーションセッションを開始させるリクエストを送るステップをさらに包含する、方法。
  23. 前記ディレクトリの報告サーバーにおいて、前記クライアントからのフィードバックを収集するステップをさらに包含する、請求項15に記載の方法。
  24. コンピューターにより実行されるとき、該コンピューターに、クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーから該コンテンツを受ける方法を実行させる命令を記憶する、コンピューター読み取り可能な記憶媒体であって、該方法が、以下:
    該コンテンツが位置し得る場所についての情報を記憶するディレクトリサーバーに対し、該コンテンツのリクエストを送るステップ;
    該リクエストに応答して、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む、該ディレクトリサーバーからの応答を受けるステップ;
    該コンテンツに対する該候補サーバーのリストから、少なくとも1つの候補サーバーにリクエストを送るステップ;および
    少なくとも1つの候補サーバーから該コンテンツを受けるステップ、を包含する、命令。
  25. 前記少なくも1つの候補サーバーから該コンテンツを受けるステップが、複数の候補サーバーから該コンテンツの一部分を受けること、および前記クライアントにおいて該一部分を組み立てることを包含する、請求項24に記載のコンピューター読み取り可能な記憶媒体。
  26. 前記方法が、前記ディレクトリサーバーにフィードバックを送るステップをさらに包含し、該フィードバックが、以下を示す前記コンテンツのマップを含み得る、請求項24に記載のコンピューター読み取り可能な記憶媒体:
    前記クライアントによって受けられた該コンテンツの一部分;
    該クライアントによって現在受けられている該コンテンツの一部分;および
    該クライアントによって受けられなかった該コンテンツの一部分。
  27. 前記方法が、前記ディレクトリサーバーにフィードバックを送るステップをさらに包含し、該フィードバックが、候補サーバーのステータス情報を含み得、これが:
    所定の候補サーバーの可用性;
    該所定の候補サーバーの性能インディケータ;および
    前記クライアントから該所定の候補サーバーへの経路のトレースを示し得る、請求項24に記載のコンピューター読み取り可能な記憶媒体。
  28. 前記ディレクトリサーバーにコンテンツのリクエストを送るステップが、さらに:
    前記クライアントが既に有する該コンテンツの一部分を示す該コンテンツのマップ;および
    該クライアントのローカルIPアドレスを送ることを包含する、請求項24に記載のコンピューター読み取り可能な記憶媒体。
  29. 前記方法が:
    前記クライアントにおいて、第2のクライアントから、該第2のクライアントに前記コンテンツを送るリクエストを受けるステップ;および
    該リクエストに応答して、該コンテンツを該第2のクライアントに送るステップをさらに包含する、請求項24に記載のコンピューター読み取り可能な記憶媒体。
  30. 前記コンテンツを第2のクライアントに送るステップが、該コンテンツが前記クライアントによって受けられている間に起こる、請求項28に記載のコンピューター読み取り可能な記憶媒体。
  31. 前記候補サーバーのリストが、候補サーバーの完全リストのサブセットである、請求項24に記載のコンピューター読み取り可能な記憶媒体。
  32. 前記方法が、前記候補サーバーの完全リストのさらなるサブセットを要求するリクエストを前記ディレクトリサーバーに送るステップをさらに包含する、請求項31に記載のコンピューター読み取り可能な記憶媒体。
  33. 前記候補サーバーのリストが、前記コンテンツのオリジナルソースを含むオリジナルサーバーを含む、請求項24に記載のコンピューター読み取り可能な記憶媒体。
  34. 前記コンテンツが、前記候補サーバーのリスト中のある候補サーバーから入手可能でない場合の請求項24に記載のコンピューター読み取り可能な記憶媒体であって、前記方法が、該候補サーバーから該コンテンツを受けることを再び試みる前に、設定時間待つステップをさらに包含する、記憶媒体。
  35. 前記設定時間が、前記クライアントが前記候補サーバーのリスト中の任意の候補サーバーからの前記コンテンツを受けることに成功しない毎に増加する、請求項34に記載のコンピューター読み取り可能な記憶媒体。
  36. 前記コンテンツが、前記候補サーバーのリスト中のある候補サーバーから所定時間に入手可能でなかった場合の請求項34に記載のコンピューター読み取り可能な記憶媒体であって、前記方法が、該候補サーバーのリストから該候補サーバーを除くステップをさらに包含する、記憶媒体。
  37. 前記候補サーバーのリスト中のある候補サーバーが特定の性能基準に合致しない場合の請求項34に記載のコンピューター読み取り可能な記憶媒体であって、前記方法が、該候補サーバーのリストから該候補サーバーを除くステップをさらに包含する、記憶媒体。
  38. コンピューターによって実行されるとき、該コンピューターに、クライアントに配給様式でコンテンツを送る方法を実行させる命令を記憶するコンピューター読み取り可能な記憶媒体であって、該方法が:
    ディレクトリサーバーにおいて、該クライアントからのコンテンツのリクエストを受けるステップ;
    該クライアントに、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む応答を送るステップ;および
    該コンテンツに対する該候補サーバーのリストに、該クライアントを、該クライアントがその他のクライアントからの次の該コンテンツのリクエストのための該コンテンツのサーバーとして作用し得るように追加するステップを包含する、コンピューター読み取り可能な記憶媒体。
  39. 前記候補サーバーのリストが、ネットワーク基準によって記憶され、所定のクライアントのネットワーク基準が:
    該所定のクライアントの外部IPアドレスと同一の外部IPアドレス;
    該所定のクライアントの自律システム(AS)と同一であるか、またはトポロジー的に近いAS;および
    該所定のクライアントのIP/20ネットワークと同一であるIP/20ネットワーク、を含み得る、請求項38に記載のコンピューター読み取り可能な記憶媒体。
  40. 前記方法が、前記候補サーバーのリストをソートすることを容易にするために、ボーダーゲートウェイプロトコル(BGP)情報を受けるステップをさらに包含し、前記クライアントにトボロジー的に最も近い候補サーバーが、該候補サーバーのリスト中により高く出現する、請求項39に記載のコンピューター読み取り可能な記憶媒体。
  41. 前記クライアントからコンテンツのリクエストを受けるステップが:
    該クライアントが既に有する該コンテンツの一部分を示す該コンテンツのマップを受けること;
    該リクエスト中に該クライアントが明確に含められる、該クライアントのローカルIPアドレスを受けること;および
    該クライアントの外部IPアドレスを受けることをさらに包含する、請求項38に記載のコンピューター読み取り可能な記憶媒体。
  42. 前記候補サーバーのリストが、候補サーバーの完全リストのサブセットである、請求項38に記載のコンピューター読み取り可能な記憶媒体。
  43. 前記候補サーバーのリストが、前記コンテンツのオリジナルサーバーを含む、請求項38に記載のコンピューター読み取り可能な記憶媒体。
  44. 前記候補サーバーのリストからのある候補サーバーが、ファイアウォールの後にある場合の請求項38に記載のコンピューター読み取り可能な記憶媒体であって、前記方法が、該候補サーバーに、該候補サーバーが該ファイアウォールを通じて該クライアントとのコミュニケーションセッションを開始させるリクエストを送るステップをさらに包含する、記憶媒体。
  45. 前記候補サーバーのリストからのある候補サーバーおよび前記クライアントが、ファイアウォールの後にある場合の請求項38に記載のコンピューター読み取り可能な記憶媒体であって、前記方法が、該候補サーバーおよび該クライアントに、該候補サーバーおよび該クライアントが、それらの個々のファイアウォールを通じて互いにメッセージを同時に送り、該候補サーバーと該クライアントとの間のコミュニケーションセッションを開始させるリクエストを送るステップをさらに包含する、記憶媒体。
  46. 前記方法が、前記ディレクトリサーバーの報告サーバーにおいて、前記クライアントからのフィードバックを収集するステップをさらに包含する、請求項38に記載のコンピューター読み取り可能な記憶媒体。
  47. クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーからコンテンツを受けるための装置であって:
    該コンテンツが位置し得る場所についての情報を記憶するディレクトリサーバーに対し、該コンテンツのリクエストを送るように構成されたリクエストメカニズム;
    該コンテンツを潜在的に提供し得る候補サーバーのリストを含む、該ディレクトリサーバーからの応答を受けるように構成された受信メカニズム;
    該コンテンツに対する該候補サーバーのリストから、少なくとも1つの候補サーバーにリクエストを送るように構成された第2のリクエストメカニズム;および
    該少なくとも1つの候補サーバーから該コンテンツを受けるように構成された、第2の受信メカニズム、を備える、装置。
  48. 前記第2の受信メカニズムが、複数の候補サーバーから前記コンテンツの一部分を受け、そして前記クライアントにおいて該一部分を組み立てるように構成された、請求項47に記載の装置。
  49. 前記ディレクトリサーバーにフィードバックを送るように構成されたフィードバックメカニズムをさらに備える、請求項47に記載の装置であって、該フィードバックが、以下を示す前記コンテンツのマップを含み得る、方法:
    前記クライアントによって受けられた該コンテンツの一部分;
    該クライアントによって現在受けられている該コンテンツの一部分;および
    該クライアントによって受けられなかった該コンテンツの一部分。
  50. 前記ディレクトリサーバーにフィードバックを送るように構成されたフィードバックメカニズムをさらに備える請求項47に記載の装置であって、該フィードバックが、候補サーバーのステータス情報を含み得、これが:
    該所定の候補サーバーの可用性;
    所定の候補サーバーの性能インディケータ;
    および前記クライアントから該所定の候補サーバーへの経路のトレース、を示し得る、装置。
  51. 前記リクエストメカニズムが、前記コンテンツのリクエストとともに:
    前記クライアントが既に有する該コンテンツの一部分を示す該コンテンツのマップ;および
    該クライアントのローカルIPアドレスを、前記ディレクトリサーバーに送るようにさらに構成された請求項47に記載の装置。
  52. 前記クライアントにおいて、第2のクライアントから、該第2のクライアントに前記コンテンツを送るリクエストを受けるように構成された共有メカニズム;および
    該コンテンツを該第2のクライアントに送るように構成されたサーバーメカニズムをさらに備える、請求項47に記載の装置。
  53. 前記サーバーメカニズムが、前記コンテンツが前記クライアントによって受けられている間に前記コンテンツを前記第2のクライアントに送るようにさらに構成されている、請求項52に記載の装置。
  54. 前記候補サーバーのリストが、候補サーバーの完全リストのサブセットである、請求項47に記載の装置。
  55. 前記リクエストメカニズムが、前記候補サーバーの完全リストのさらなるサブセットを要求するリクエストを前記ディレクトリサーバーに送るようにさらに構成されている、請求項54に記載の装置。
  56. 前記候補サーバーのリストが、前記コンテンツのオリジナルソースを含むオリジナルサーバーを含む、請求項47に記載の装置。
  57. 前記コンテンツが、前記候補サーバーのリスト中のある候補サーバーから入手可能でない場合の請求項47に記載の装置であって、前記リクエストメカニズムが、該候補サーバーから該コンテンツを受けることを再び試みる前に、設定時間待つようにさらに構成されている、装置。
  58. 前記設定時間が、前記クライアントが前記候補サーバーのリスト中の任意の候補サーバーからの前記コンテンツを受けることに成功しない毎に増加する、請求項57に記載の装置。
  59. 前記リクエストメカニズムが、前記コンテンツが前記候補から所定時間に入手可能でなかった場合に、前記候補サーバーのリストから該候補サーバーを除くようにさらに構成されている、請求項57に記載の装置。
  60. 前記リクエストメカニズムが、前記候補サーバーが特定の性能基準に合致しない場合に、前記候補サーバーのリストから該候補サーバーを除くようにさらに構成されている、請求項57に記載の装置。
  61. クライアントに配給様式でコンテンツを送る装置であって:
    ディレクトリサーバーにおいて、該クライアントからのコンテンツのリクエストを受けるように構成された受信メカニズム;
    該クライアントに、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む応答を送る送信メカニズム;および
    該コンテンツに対する該候補サーバーのリストに、該クライアントを、該クライアントがその他のクライアントからの次の該コンテンツのリクエストのための該コンテンツのサーバーとして作用し得るように追加するよう構成されたディレクトリメカニズム、を備える、装置。
  62. ネットワーク基準によって前記候補サーバーのリストをソートように構成されたソートメカニズムをさらに備える請求項61に記載の装置であって、ここで所定のクライアントのネットワーク基準が:
    該所定のクライアントの外部IPアドレスと同一の外部IPアドレス;
    該所定のクライアントの自律システム(AS)と同一であるか、またはトポロジー的に近いAS;および
    該所定のクライアントのIP/20ネットワークと同一であるIP/20ネットワーク、を含み得る、装置。
  63. 前記候補サーバーのリストをソートすることを容易にするために、ボーダーゲートウェイプロトコル(BGP)情報を受けるようにさらに構成され、前記クライアントにトボロジー的に最も近い候補サーバーが、該候補サーバーのリスト中により高く出現する、請求項62に記載の装置。
  64. 前記受信メカニズムが:前記クライアントが既に有する前記コンテンツの一部分を示す該コンテンツのマップを受けるよう;
    該リクエスト中に該クライアントが明確に含められる、該クライアントのローカルIPアドレスを受けるよう;および
    該クライアントの外部IPアドレスを受けるようにさらに構成されている、請求項61に記載の装置。
  65. 前記候補サーバーのリストが、候補サーバーの完全リストのサブセットである、請求項61に記載の装置。
  66. 前記候補サーバーのリストが、前記コンテンツのオリジナルサーバーを含む、請求項61に記載の装置。
  67. 前記候補サーバーのリストからのある候補サーバーが、ファイアウォールの後にある場合の請求項61に記載の装置であって、前記送信メカニズムが、該候補サーバーに、該候補サーバーが該ファイアウォールを通じて該クライアントとのコミュニケーションセッションを開始させるリクエストを送るようにさらに構成されている、装置。
  68. 前記候補サーバーのリストからのある候補サーバーおよび前記クライアントが、ファイアウォールの後にある場合の請求項61に記載の装置であって、該候補サーバーおよび該クライアントに、該候補サーバーおよび該クライアントが、それらの個々のファイアウォールを通じて互いにメッセージを同時に送り、該候補サーバーと該クライアントとの間のコミュニケーションを開始させるリクエストを送るようにさらに構成されている、装置。
  69. 前記ディレクトリサーバーのために前記クライアントからのフィードバックを収集するように構成されているロギングサーバーを備える、請求項61に記載の装置。
  70. クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーからコンテンツを受けるための手段であって:
    そこに該コンテンツが位置し得る場所についての情報を記憶するディレクトリサーバーに対し、該コンテンツのリクエストを送るための送信手段;
    該コンテンツを潜在的に提供し得る候補サーバーのリストを含む、該ディレクトリサーバーからの応答を受けるための受信手段;
    該コンテンツに対する該候補サーバーのリストから、少なくとも1つの候補サーバーにリクエストを送るための第2の送信手段;および
    該少なくとも1つの候補サーバーから該コンテンツを受けるための第2の受信手段、を備える、手段。
  71. クライアントに配給様式でコンテンツを送るための手段であって:
    ディレクトリサーバーにおいて、該クライアントからのコンテンツのリクエストを受けるための受信手段;
    該クライアントに、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む応答を送るための送信手段;および
    該コンテンツに対する該候補サーバーのリストに、該クライアントを、該クライアントがその他のクライアントからの次の該コンテンツのリクエストのための該コンテンツのサーバーとして作用し得るように追加するための付加手段、を備える、手段。
  72. コンピューターにより実行されるとき、該コンピューターに、クライアントにおいて、コンテンツを潜在的に提供し得る1つ以上のサーバーから該コンテンツを受ける方法を実行させる命令を含む、オペレーティングシステムであって、該方法が、以下:
    そこに該コンテンツが位置し得る場所についての情報を記憶するディレクトリサーバーに対し、該コンテンツのリクエストを送るステップ;
    該リクエストに応答して、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む、該ディレクトリサーバーからの応答を受けるステップ;
    該コンテンツに対する該候補サーバーのリストから、少なくとも1つの候補サーバーにリクエストを送るステップ;および
    該少なくとも1つの候補サーバーから該コンテンツを受けるステップ、を包含する、オペレーティングシステム。
  73. コンピューターにより実行されるとき、該コンピューターに、クライアントに配給様式でコンテンツを送るための方法を実行させる命令を含むオペレーティングシステムであって、該方法が:
    ディレクトリサーバーにおいて、該クライアントからのコンテンツのリクエストを受けるステップ
    該クライアントに、該コンテンツを潜在的に提供し得る候補サーバーのリストを含む応答を送るステップ;および
    該コンテンツに対する該候補サーバーのリストに、該クライアントを、該クライアントがその他のクライアントからの次の該コンテンツのリクエストのための該コンテンツのサーバーとして作用し得るように追加するステップを包含する、オペレーティングシステム。
JP2003520165A 2001-08-04 2002-08-02 コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置 Expired - Fee Related JP4198053B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31030601P 2001-08-04 2001-08-04
PCT/US2002/024825 WO2003015377A1 (en) 2001-08-04 2002-08-02 Method and apparatus for facilitating distributed delivery of content across a computer network

Publications (2)

Publication Number Publication Date
JP2005525611A true JP2005525611A (ja) 2005-08-25
JP4198053B2 JP4198053B2 (ja) 2008-12-17

Family

ID=23201911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003520165A Expired - Fee Related JP4198053B2 (ja) 2001-08-04 2002-08-02 コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置

Country Status (6)

Country Link
US (4) US7363498B2 (ja)
EP (1) EP1413119B1 (ja)
JP (1) JP4198053B2 (ja)
AU (1) AU2002324615A1 (ja)
DE (1) DE60211524T2 (ja)
WO (3) WO2003015341A2 (ja)

Families Citing this family (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275470B1 (en) * 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US7437428B1 (en) 2000-02-16 2008-10-14 Microsoft Corporation System and method for transferring data over a network
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US7653552B2 (en) * 2001-03-21 2010-01-26 Qurio Holdings, Inc. Digital file marketplace
US20020138576A1 (en) * 2001-03-21 2002-09-26 Schleicher Jorg Gregor Method and system for generating revenue in a peer-to-peer file delivery network
US20060075507A1 (en) * 2001-09-06 2006-04-06 Sonic Solutions Secure protocols for use with microsoft directshow filters
US8041803B2 (en) * 2001-09-26 2011-10-18 Qurio Holdings, Inc. Method and system for delivering files in digital file marketplace
CN1575582A (zh) * 2001-09-28 2005-02-02 塞维斯通讯公司 可配置的自适应全球通信控制和管理
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7373644B2 (en) * 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20080279222A1 (en) * 2001-10-18 2008-11-13 Level 3 Communications Llc Distribution of traffic across a computer network
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
DE60208614T2 (de) 2002-09-17 2006-08-03 Errikos Pitsos Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System
AU2003279775A1 (en) * 2002-10-04 2004-05-04 Woodstock Systems, Llc Systems and devices accessing inaccessible servers
EP1408666A1 (en) * 2002-10-09 2004-04-14 Motorola, Inc. Routing in a data communication network
US20040093419A1 (en) * 2002-10-23 2004-05-13 Weihl William E. Method and system for secure content delivery
JP2004294474A (ja) * 2003-03-25 2004-10-21 Pioneer Electronic Corp コンテンツ提供システム、方法およびプログラム
US7437458B1 (en) * 2003-06-13 2008-10-14 Juniper Networks, Inc. Systems and methods for providing quality assurance
US8805966B2 (en) 2003-07-28 2014-08-12 Limelight Networks, Inc. Rich content download
US7536725B2 (en) * 2003-07-28 2009-05-19 Limelight Networks, Inc. Authentication of content download
US7779035B2 (en) * 2003-07-28 2010-08-17 Limelight Networks, Inc. Consistent browser file download
US8122100B2 (en) * 2003-07-28 2012-02-21 Limelight Networks, Inc. Multiple object download
SG146663A1 (en) 2003-10-03 2008-10-30 Limelight Networks Inc Rich content download
US7349358B2 (en) * 2003-10-06 2008-03-25 Kontiki, Inc. Method and apparatus for optimizing content delivery on local subnets
US8239446B2 (en) * 2003-11-19 2012-08-07 Sony Computer Entertainment America Llc Content distribution architecture
KR100582896B1 (ko) * 2004-01-28 2006-05-24 삼성전자주식회사 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법
US7676599B2 (en) * 2004-01-28 2010-03-09 I2 Telecom Ip Holdings, Inc. System and method of binding a client to a server
JP2007529073A (ja) * 2004-03-12 2007-10-18 トムソン ライセンシング キャッシュサーバネットワーク及びコンテンツファイルの配信をスケジューリングする方法
GB2412279A (en) * 2004-03-16 2005-09-21 Bbc Technology Holdings Ltd Data distribution system and method
JP2005311614A (ja) * 2004-04-20 2005-11-04 Pioneer Electronic Corp 情報配信システム、情報配信方法及び情報配信用プログラム並びに情報記録媒体
JP2006004024A (ja) * 2004-06-16 2006-01-05 Fujitsu Ltd ディレクトリサーバに実行させるためのプログラム
US7574538B1 (en) * 2004-06-29 2009-08-11 Emc Corporation Contiguous I/O command queuing within a data storage device
FR2872938B1 (fr) * 2004-07-07 2006-09-15 Canon Kk Index distribue dans un systeme de partage de document numerique
EP1617591A1 (fr) * 2004-07-15 2006-01-18 France Telecom Procédé et serveur de référencement de diffusion poste à poste de fichiers demandés par téléchargement à ce serveur
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US8745132B2 (en) * 2004-09-10 2014-06-03 Silver State Intellectual Technologies, Inc. System and method for audio and video portable publishing system
US8234705B1 (en) * 2004-09-27 2012-07-31 Radix Holdings, Llc Contagion isolation and inoculation
DE102004050348B3 (de) * 2004-10-15 2006-05-18 Siemens Ag Verfahren zur Initialisierung eines Datennetzes
EP1825412A1 (en) 2004-10-25 2007-08-29 Rick L. Orsini Secure data parser method and system
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US20080052410A1 (en) * 2004-10-29 2008-02-28 Serge Soulet Method, System and Means for Transmitting a Data Package to a Plurality of Computers Distributed Through a Set of Distinct Local Networks
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
US8082348B1 (en) * 2005-06-17 2011-12-20 AOL, Inc. Selecting an instance of a resource using network routability information
US20070005694A1 (en) * 2005-06-30 2007-01-04 Pando Networks, Inc. System and method for distributed multi-media production, sharing and low-cost mass publication
EP1752925A1 (en) * 2005-07-20 2007-02-14 Siemens Aktiengesellschaft Method and system for distribution of digital protected content data via a peer-to-peer data network
US8769663B2 (en) * 2005-08-24 2014-07-01 Fortinet, Inc. Systems and methods for detecting undesirable network traffic content
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
US20070055862A1 (en) * 2005-09-08 2007-03-08 Interdigital Technology Corporation Method and system for distributing data
US8224968B1 (en) * 2005-09-19 2012-07-17 At&T Intellectual Property Ii, L.P. Method and system for scalable content storage and delivery
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
CN1941736A (zh) * 2005-09-30 2007-04-04 西门子通信技术(北京)有限公司 一种内容分发系统及其用户请求重定向方法
CN100440866C (zh) * 2005-10-21 2008-12-03 清华大学 数据驱动覆盖网络中的分段发送调度方法
BRPI0618725A2 (pt) 2005-11-18 2011-09-06 Rick L Orsini método analisador de dados seguro e sistema
EP1793558B1 (en) * 2005-12-02 2008-10-29 Mitel Networks Corporation Distributed server network
US8291093B2 (en) 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
US8948144B1 (en) 2005-12-27 2015-02-03 Qurio Holdings, Inc. System and method for creating a preferential ad-hoc network
WO2007117251A1 (en) * 2006-04-12 2007-10-18 Thomson Licensing Delayed downloading video service using peer-to-peer (p2p) content distribution network
US7945689B2 (en) * 2007-03-23 2011-05-17 Sony Corporation Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model
US8429396B1 (en) * 2006-05-31 2013-04-23 Juniper Networks, Inc. Peer discovery and secure communication in failover schemes
JP2008005236A (ja) * 2006-06-22 2008-01-10 Toshiba Corp 通信装置及び通信方法
US9069870B2 (en) * 2006-07-12 2015-06-30 International Business Machines Corporation Client-side aggregation of context-sensitive request results where results for aggregation are asynchronously produced by multiple servers
KR100813982B1 (ko) * 2006-08-01 2008-03-14 삼성전자주식회사 모바일 단말기와 근거리 서버간의 콘텐츠 공유 방법
GB2440774B (en) 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
GB2440761A (en) 2006-08-11 2008-02-13 Cachelogic Ltd Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files.
GB2440760A (en) 2006-08-11 2008-02-13 Cachelogic Ltd Network and method of transferring data over the network by nodes sending messages containing a subset of list of data available at the node
GB2440759A (en) 2006-08-11 2008-02-13 Cachelogic Ltd Selecting a download cache for digital data
US20100011004A1 (en) * 2006-08-29 2010-01-14 Nokia Corporation Service Identification Optimization
JP2008059351A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム
US8332484B2 (en) * 2006-09-06 2012-12-11 Akamai Technologies, Inc. Hybrid content delivery network (CDN) and peer-to-peer (P2P) network
CN100488146C (zh) * 2006-09-14 2009-05-13 华为技术有限公司 在p2p网络中建立点对点连接的方法及在p2p网络中的节点
US20080127234A1 (en) * 2006-09-19 2008-05-29 International Business Machines Corporation Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models
US8554827B2 (en) * 2006-09-29 2013-10-08 Qurio Holdings, Inc. Virtual peer for a content sharing system
US7693073B2 (en) * 2006-10-13 2010-04-06 At&T Intellectual Property I, L.P. System and method for routing packet traffic
CN101569132B (zh) * 2006-11-07 2013-04-17 安全第一公司 用于分发数据和保护数据安全的系统和方法
US20080222236A1 (en) * 2006-11-27 2008-09-11 Christopher James Nason Method and system for processing data on a plurality of communication devices
CN101689230A (zh) * 2006-12-05 2010-03-31 安全第一公司 改进的磁带备份方法
US8028060B1 (en) * 2007-01-05 2011-09-27 Apple Inc. Background task execution over a network based on network activity idle time
WO2008110724A2 (fr) * 2007-02-16 2008-09-18 France Telecom Procede pour la mise en relation entre terminaux
BRPI0721603A2 (pt) * 2007-06-28 2013-04-02 Thomson Licensing escalonamento de bloco adaptÁvel baseado em fila para transmissço ao vivo nço hierÁrquica
FR2918241B1 (fr) * 2007-06-28 2009-11-06 Bouygues Telecom Sa Procede, serveur et application pour le partage de contenus personnels entre terminaux d'usager(s)
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8347286B2 (en) 2007-07-16 2013-01-01 International Business Machines Corporation Method, system and program product for managing download requests received to download files from a server
US9432243B2 (en) * 2007-08-22 2016-08-30 International Business Machines Corporation Re-using asynchronous server-side results generated for a request context of one client to satisfy a request context of a different client
US8032587B2 (en) * 2007-08-28 2011-10-04 International Business Machines Corporation Method and apparatus for client-side aggregation of asynchronous fragmented requests
US7698411B2 (en) * 2007-08-22 2010-04-13 International Business Machines Corporation Selectively delivering cached content or processed content to clients based upon a result completed percentage
US20090063505A1 (en) * 2007-08-30 2009-03-05 Kinder Nathan G Selective chaining of LDAP directory servers
US8135865B2 (en) * 2007-09-04 2012-03-13 Apple Inc. Synchronization and transfer of digital media items
US9154552B2 (en) 2007-09-06 2015-10-06 Microsoft Technology Licensing, Llc Method and apparatus for cooperative file distribution with receiver determined quality of services
US7702783B2 (en) * 2007-09-12 2010-04-20 International Business Machines Corporation Intelligent performance monitoring of a clustered environment
BRPI0816772A2 (pt) * 2007-09-14 2015-03-24 Security First Corp Sistemas e métodos para controlar chaves criptográficas
US9122397B2 (en) * 2007-10-26 2015-09-01 Emc Corporation Exposing storage resources with differing capabilities
EP3296895B1 (en) * 2007-10-24 2020-11-25 EMC Corporation File storage
US9413825B2 (en) * 2007-10-31 2016-08-09 Emc Corporation Managing file objects in a data storage system
US20090112921A1 (en) * 2007-10-31 2009-04-30 Fernando Oliveira Managing files using layout storage objects
EP2056572A1 (en) * 2007-10-31 2009-05-06 Thomson Licensing Pull from peer method to acquire missing parts of a content file from a group
CN101861584B (zh) * 2007-11-05 2013-06-19 聚焦网络公司 端到端的数据传送
CN101855779A (zh) * 2007-11-12 2010-10-06 松下电器产业株式会社 数据通信装置、终端设备以及使用它们的数据通信系统
US8561081B1 (en) * 2007-11-13 2013-10-15 Accenture Global Services Limited System and method for dynamic brokering of digital content requests
WO2009063555A1 (ja) * 2007-11-13 2009-05-22 Fujitsu Limited 制御代理装置、制御代理方法および制御代理プログラム
US7908362B2 (en) * 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
KR101478144B1 (ko) * 2007-12-27 2015-01-02 삼성전자주식회사 알에프아이디 통신 방법
CN101939946B (zh) * 2008-01-07 2013-04-24 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
EP2086206A1 (en) * 2008-01-31 2009-08-05 Alcatel Lucent System for operating a peer-to-peer network taking into account access network subscriber information
US8850029B2 (en) * 2008-02-14 2014-09-30 Mcafee, Inc. System, method, and computer program product for managing at least one aspect of a connection based on application behavior
CA2716335A1 (en) 2008-02-22 2009-08-27 Stephen C. Bono Systems and methods for secure workgroup management and communication
US8073959B2 (en) * 2008-03-28 2011-12-06 Microsoft Corporation Automatically detecting whether a computer is connected to a public or private network
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
CA2720353C (en) 2008-04-04 2016-01-19 Level 3 Communications, Llc Handling long-tail content in a content delivery network (cdn)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8353041B2 (en) * 2008-05-16 2013-01-08 Symantec Corporation Secure application streaming
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8630192B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
JP5439761B2 (ja) 2008-07-25 2014-03-12 富士通株式会社 コンテンツ再生装置、コンテンツ再生方法およびコンテンツ再生プログラム
US8275902B2 (en) * 2008-09-22 2012-09-25 Oracle America, Inc. Method and system for heuristic throttling for distributed file systems
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8838683B2 (en) * 2008-11-24 2014-09-16 Samsung Electronics Co., Ltd. Method and apparatus for receiving data by using peer-to-peer portal server
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
ES2430345T3 (es) * 2009-03-03 2013-11-20 Telefonaktiebolaget L M Ericsson (Publ) Métodos y disposiciones de priorización en una red par a par
FR2943158B1 (fr) * 2009-03-12 2011-04-08 St Wireless Sa Procede de commande d'un transfert de donnees sur un bus informatique a transmission serie.
EP2409471B1 (en) 2009-03-19 2015-12-23 Telefonaktiebolaget LM Ericsson (publ) Optimized redirection for network architectures
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
BRPI1013062A2 (pt) 2009-05-19 2016-04-05 Security First Corp sistemas e métodos para proteger dados na nuvem
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
WO2011008515A2 (en) * 2009-06-29 2011-01-20 Bigfoot Networks, Inc. Technique for setting network communication parameters
US20110055394A1 (en) * 2009-08-28 2011-03-03 Motorola, Inc. Network assisted mobile centric peer selection method
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
CA2824751A1 (en) 2009-09-26 2011-03-31 Disternet Technology Inc. System and method for micro-cloud computing
CN102034063A (zh) * 2009-09-28 2011-04-27 西门子(中国)有限公司 调整连续波传输时间的方法及读写器
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
ES2620962T3 (es) 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
US10009396B2 (en) 2009-12-11 2018-06-26 Thomson Licensing Queue-based adaptive chunk scheduling for peer-to-peer live streaming
US8504682B2 (en) * 2009-12-17 2013-08-06 Alcatel Lucent Localization of peer to peer traffic
US9495338B1 (en) * 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
AU2011235075B2 (en) 2010-03-31 2015-10-01 Security First Corp. Systems and methods for securing data in motion
EP3110071B1 (en) * 2010-05-25 2017-07-12 Headwater Research LLC Device- assisted services for protecting network capacity
KR101804595B1 (ko) * 2010-05-25 2018-01-10 헤드워터 리서치 엘엘씨 네트워크 용량을 보호하기 위한 디바이스-보조 서비스들
CN103238305A (zh) 2010-05-28 2013-08-07 安全第一公司 用于安全数据储存的加速器系统
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9092786B2 (en) * 2011-04-13 2015-07-28 Digital River, Inc. E-commerce failover system and method
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US8719345B2 (en) * 2012-05-11 2014-05-06 Oracle International Corporation Database replication using collaborative data transfers
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9736121B2 (en) 2012-07-16 2017-08-15 Owl Cyber Defense Solutions, Llc File manifest filter for unidirectional transfer of files
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
WO2014059441A1 (en) * 2012-10-12 2014-04-17 Sling Media Inc. Identification of servers by common wide area network addresses
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US8776254B1 (en) 2013-01-23 2014-07-08 Owl Computing Technologies, Inc. System and method for the secure unidirectional transfer of software and software updates
US10218586B2 (en) 2013-01-23 2019-02-26 Owl Cyber Defense Solutions, Llc System and method for enabling the capture and securing of dynamically selected digital information
US9306953B2 (en) 2013-02-19 2016-04-05 Owl Computing Technologies, Inc. System and method for secure unidirectional transfer of commands to control equipment
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
US9008305B2 (en) * 2013-03-15 2015-04-14 Startal, Inc. Video data delivery protection
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10410244B2 (en) 2013-11-13 2019-09-10 Bi Science (2009) Ltd Behavioral content discovery
CN103714021A (zh) * 2013-12-29 2014-04-09 广州视声电子科技有限公司 一种基于总线数据传输方法
TWI570668B (zh) * 2014-01-16 2017-02-11 神達電腦股份有限公司 搜尋及分享行車記錄影片的方法、其系統及電腦程式產品
US9311329B2 (en) 2014-06-05 2016-04-12 Owl Computing Technologies, Inc. System and method for modular and continuous data assurance
US20160080519A1 (en) * 2014-09-11 2016-03-17 Microsoft Technology Licensing, Llc Local caching and resolution of service calls
US9871716B2 (en) 2014-10-16 2018-01-16 Kollective Technology, Inc. Broadcast readiness testing in distributed content delivery networks
US20180295507A1 (en) * 2014-11-12 2018-10-11 Telefonaktiebolaget Lm Ericsson (Publ) Radio Device Hardware Security System for Wireless Spectrum Usage
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
EP3311549A1 (en) * 2015-06-19 2018-04-25 Nokia Solutions and Networks Oy Optimizing traffic
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10721508B2 (en) * 2015-12-29 2020-07-21 DISH Technologies L.L.C. Methods and systems for adaptive content delivery
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
TWI649653B (zh) * 2017-08-30 2019-02-01 群聯電子股份有限公司 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10951735B2 (en) 2017-11-07 2021-03-16 General Electric Company Peer based distribution of edge applications
US10812445B2 (en) 2018-02-13 2020-10-20 Sling Media Pvt Ltd Cloud access to local network addresses
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
CN108833200A (zh) * 2018-05-04 2018-11-16 佛山科学技术学院 一种大数据文件自适应单向传输方法及装置
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US10949289B1 (en) * 2018-12-28 2021-03-16 Virtuozzo International Gmbh System and method for maintaining data integrity of data on a storage device

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ504100A0 (en) 2000-01-11 2000-02-03 Notron (No. 325) Pty Limited A method for distribution of streamed data packets on a switched network utilising an intelligent distribution network
US4712239A (en) * 1986-06-16 1987-12-08 General Instrument Corporation Security arrangement for downloadable cable television converters
US5191650A (en) 1989-08-16 1993-03-02 International Business Machines Corporation Virtual chains for session initiation in a distributed computer network
EP0423053B1 (en) 1989-10-13 1996-03-13 International Business Machines Corporation Method of using cached partial trees in computing a path in a data communication network
US5511208A (en) 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
US5948070A (en) * 1995-10-31 1999-09-07 Nec Corporation File transfer systems, file transfer methods and storage media for storing file transfer programs
FR2750517B1 (fr) * 1996-06-27 1998-08-14 Bull Sa Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique
US5884031A (en) 1996-10-01 1999-03-16 Pipe Dream, Inc. Method for connecting client systems into a broadcast network
US5974250A (en) * 1996-12-13 1999-10-26 Compaq Computer Corp. System and method for secure information transmission over a network
US6714976B1 (en) * 1997-03-20 2004-03-30 Concord Communications, Inc. Systems and methods for monitoring distributed applications using diagnostic information
US6014667A (en) 1997-10-01 2000-01-11 Novell, Inc. System and method for caching identification and location information in a computer network
GB2331659A (en) * 1997-11-21 1999-05-26 Ericsson Telefon Ab L M Resource reservation
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6453346B1 (en) * 1998-07-17 2002-09-17 Proactivenet, Inc. Method and apparatus for intelligent storage and reduction of network information
US6633901B1 (en) * 1998-10-23 2003-10-14 Pss Systems, Inc. Multi-route client-server architecture
US6772207B1 (en) * 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
US6901604B1 (en) * 1999-02-19 2005-05-31 Chaincast, Inc. Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
US6832253B1 (en) 1999-04-01 2004-12-14 Cisco Technologies, Inc. Proximity as an aid to caching and secondary serving of data
US6678264B1 (en) 1999-06-30 2004-01-13 Nortel Networks Limited Establishing connections with a pre-specified quality of service across a communication network
US6700590B1 (en) * 1999-11-01 2004-03-02 Indx Software Corporation System and method for retrieving and presenting data using class-based component and view model
WO2001054357A1 (de) * 2000-01-24 2001-07-26 Siemens Aktiengesellschaft Verfahren zum optimierten bereitstellen von ressourcen in einem nach einem internetprotokoll arbeitenden kommunikationsnetz
US6975619B1 (en) 2000-03-20 2005-12-13 Lucent Technologies Inc. System and method for providing host geographic location information in a packet data network
US7020719B1 (en) 2000-03-24 2006-03-28 Netli, Inc. System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7065584B1 (en) 2000-04-28 2006-06-20 Lucent Technologies Inc. Method and apparatus for network mapping using end-to-end delay measurements
US7577754B2 (en) 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
WO2001093064A1 (en) * 2000-05-30 2001-12-06 Emikolo Networks Inc. Dynamic peer-to-peer network content-serving
US20010049732A1 (en) * 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
US6742048B1 (en) * 2000-07-10 2004-05-25 Advanced Micro Devices, Inc. Multilevel network for distributing trusted time and delegating levels of trust regarding timekeeping
US20020035681A1 (en) * 2000-07-31 2002-03-21 Guillermo Maturana Strategy for handling long SSL messages
US20020062336A1 (en) 2000-11-22 2002-05-23 Dan Teodosiu Resource coherency among resources cached in a peer to peer environment
US7072982B2 (en) * 2000-11-22 2006-07-04 Microsoft Corporation Universal naming scheme for peer to peer resources
US7594030B2 (en) 2000-11-22 2009-09-22 Microsoft Corporation Locator and tracking service for peer to peer resources
US6738932B1 (en) * 2000-12-22 2004-05-18 Sun Microsystems, Inc. Method and system for identifying software revisions from memory images
AU2002234261A1 (en) 2001-01-17 2002-07-30 Arthur D. Little, Inc. System for and method of relational database modeling of ad hoc distributed sensor networks
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7193968B1 (en) 2001-02-08 2007-03-20 Cisco Technology, Inc. Sample netflow for network traffic data collection
JP2004533738A (ja) 2001-03-02 2004-11-04 カセンナ インコーポレイテッド ネットワークにわたって低レイテンシで効率的にビデオコンテンツを配給するためのメタデータイネーブル型プッシュ−プルモデル
US7454523B2 (en) 2001-03-16 2008-11-18 Intel Corporation Geographic location determination including inspection of network address
US7478243B2 (en) * 2001-03-21 2009-01-13 Microsoft Corporation On-disk file format for serverless distributed file system with signed manifest of file modifications
US7720996B2 (en) 2001-03-27 2010-05-18 Microsoft Corporation Internet protocol (IP) address proximity and application to peer provider location
US8543681B2 (en) 2001-10-15 2013-09-24 Volli Polymer Gmbh Llc Network topology discovery systems and methods
US6789117B1 (en) * 2001-12-21 2004-09-07 Networks Associates Technology, Inc. Enterprise network analyzer host controller/agent interface system and method
US7200658B2 (en) 2002-11-12 2007-04-03 Movielink, Llc Network geo-location system
US7533184B2 (en) 2003-06-13 2009-05-12 Microsoft Corporation Peer-to-peer name resolution wire protocol and message format data structure for use therein
US20040267875A1 (en) 2003-06-30 2004-12-30 Hennessey Wade L. Method and apparatus for establishing peering rules for distributed content delivery
US7450524B2 (en) 2003-06-30 2008-11-11 Kontiki, Inc. Method and apparatus for determining network topology in a peer-to-peer network

Also Published As

Publication number Publication date
EP1413119B1 (en) 2006-05-17
US7765411B2 (en) 2010-07-27
US7089290B2 (en) 2006-08-08
US20080199003A1 (en) 2008-08-21
DE60211524T2 (de) 2006-12-14
WO2003015341A2 (en) 2003-02-20
WO2003015377A1 (en) 2003-02-20
US20030028626A1 (en) 2003-02-06
US7363498B2 (en) 2008-04-22
EP1413119A1 (en) 2004-04-28
WO2003015341A3 (en) 2004-03-04
US20030028777A1 (en) 2003-02-06
DE60211524D1 (de) 2006-06-22
US20030028623A1 (en) 2003-02-06
US7398301B2 (en) 2008-07-08
AU2002324615A1 (en) 2003-02-24
JP4198053B2 (ja) 2008-12-17
WO2003015376A1 (en) 2003-02-20

Similar Documents

Publication Publication Date Title
JP4198053B2 (ja) コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置
US7450524B2 (en) Method and apparatus for determining network topology in a peer-to-peer network
US11194719B2 (en) Cache optimization
Verma Content distribution networks: an engineering approach
KR101072966B1 (ko) 파일 데이터 분배 방법, 디바이스, 및 시스템
US8392448B2 (en) Method and apparatus for transmitting packets in the network
EP2727414B1 (fr) D'obtention par un terminal d'une information relative à un acces à un service
US20090222450A1 (en) System and a method for transferring email file attachments over a telecommunication network using a peer-to-peer connection
CA2489125A1 (en) Applying session services based on packet flows
US20060265465A1 (en) Method, apparatus and system for processing message bundles on a network
JP2007312434A (ja) 移動機通信システムおよび通信方法
WO2004031975A1 (en) A translating switch and method
US20060221824A1 (en) Storage system and data processing method
US8681760B2 (en) Network positioning system and terminal positioning device
US6735220B1 (en) Using a centralized server to coordinate assignment of identifiers in a distributed system
US20040267875A1 (en) Method and apparatus for establishing peering rules for distributed content delivery
CN110582090A (zh) 一种cdn调度方法、调度系统和mec网元
KR101145608B1 (ko) 네트워크의 토렌트 트래픽 선별 차단 방법
US6839764B2 (en) Domain encapsulation
CN113157647A (zh) 一种访问挂载文件的方法及装置
CN116132450A (zh) 媒体数据的处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080327

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080617

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080624

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080728

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080827

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: 20080919

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080930

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4198053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees