JP2004508613A - コンテンツ交換部へのコンテンツオブジェクトのプリロード - Google Patents
コンテンツ交換部へのコンテンツオブジェクトのプリロード Download PDFInfo
- Publication number
- JP2004508613A JP2004508613A JP2001588198A JP2001588198A JP2004508613A JP 2004508613 A JP2004508613 A JP 2004508613A JP 2001588198 A JP2001588198 A JP 2001588198A JP 2001588198 A JP2001588198 A JP 2001588198A JP 2004508613 A JP2004508613 A JP 2004508613A
- Authority
- JP
- Japan
- Prior art keywords
- content
- origin server
- storage unit
- waiting
- content object
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000011144 upstream manufacturing Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 28
- 230000009193 crawling Effects 0.000 description 12
- 230000036541 health Effects 0.000 description 10
- 230000036316 preload Effects 0.000 description 7
- 235000008694 Humulus lupulus Nutrition 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003012 network analysis Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
- Catalysts (AREA)
Abstract
本発明によれば、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための方法が開示される。1つのステップにおいて、始動事象を待機する処理が行なわれる。第一のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているかの判定が行なわれる。第一のコンテンツオブジェクトを要求することなく、前記第一のコンテンツオブジェクトが前記第一のオリジンサーバから前記コンテンツ記憶部にロードされる。第二のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているかの判定が行なわれる。第二のコンテンツオブジェクトを要求することなく、前記第二のコンテンツオブジェクトが前記第二のオリジンサーバから前記コンテンツ記憶部にロードされる。
Description
【0001】
本出願は、2000年7月1日に出願された米国仮特許出願第60/209,007号及びに2000年9月18日に出願された米国特許出願第09/665,204号の利益を主張する。
【0002】
(背景)
本発明は、一般に情報の記憶に関し、より詳細には、ネットワーク上での情報の記憶に関する。
ブロードバンド関連産業において、ストリーミングコンテンツのために通信品質(QOS)を向上させるための取り組みが続けられている。現在、インターネットのインフラストラクチャは、データのストリームを一定のデータレートで長時間にわたり提供するのに足る能力を十分に備えていない。これに対する解決策として試みられてきたのが、ユーザがデータを要求する点と、オリジンサーバがデータを提供する点との間で情報をキャッシュする方法である。
【0003】
QOSに影響を及ぼす、インターネットインフラストラクチャの制約は他にも多数存在する。QOSに影響を与える現在の制約の例として、インターネットサービスプロバイダ(ISP)が上りバンド幅に課している制約がある。インターネットサービスプロバイダは上りバンド幅を下りバンド幅の数分の1に制限していることが多い。
【0004】
多くの加入者がバンド幅を利用する状況においては、制限を受けた上りバンド幅は、ピーク負荷によってさらなる制約を受ける。例えば、就業時間の直後にインターネットシステムに対する要求が増大する。これは多くの人が電子メールの到着状況の確認やウェブの閲覧を行なうことによる。要求がこのように増大する結果、全ユーザのネットワーク接続の速度が低下し、ユーザに負担を強いることになる。ピーク時間帯に必要とされるバンド幅を減らせるような方策に対する要望は非常に高い。
【0005】
添付の図面を参照して本発明を詳述する。
添付の図面において、類似した要素、及び/又は機能は、同一の参照符号を有する場合がある。さらに、同一種類の異なる要素は、参照符号に続くダッシュや、類似した要素同士を識別させる第2の符号によって識別される。第1の参照符号のみが明細書で使用されていれば、その記載は第2の参照符号に関わりなく、同一の第1の参照符号を有したあらゆる類似の要素のうちの1つにも適用可能である。
【0006】
(特定の実施形態の詳細)
下記の詳細説明は、好適な実施形態の代表例について記載したものであって、本発明の範囲、適用範囲並びに構成を限定することを意図するものではない。好適な実施形態の代表例に関する下記の詳細説明はむしろ、本発明の好適な実施形態の代表例を当業者が実施できるようにすることを目的としている。添付の特許請求の範囲に記載されている本発明の精神及び範囲から逸脱することなく、本発明の要素の機能及び配置を様々に変更することができることが理解される。
【0007】
本発明は、コンテンツ交換部にコンテンツオブジェクトをプリロードするための技術を含む。典型的には、プリロードされるコンテンツ交換は、クライアントコンピュータ及びオリジンサーバに関連付けられている。オリジンサーバ上のコンテンツオブジェクトの少なくとも一部が関連コンテンツ交換部にロードされる。始動事象が発生すると、コンテンツ交換部にコンテンツオブジェクトがロードされる。このような始動事象の例として、コンテンツ交換部に入るバンド幅の利用率の低下などが挙げられる。
【0008】
図1を参照する。コンテンツ配信システム100の実施形態のブロック図が示されている。本実施形態においてコンテンツ配信システム100は、アクティブディレクトリ104と、1つ以上のオリジンサーバ108と、1つ以上のクライアントコンピュータ112と、1つ以上のコンテンツ交換部116と、1つ以上の外部オリジンサーバ118と、1つ以上の非関連オリジンサーバ106と、インターネット120と、クローリングディレクトリ124とを有する。特定のクライアントコンピュータ112は、アクティブディレクトリ104と対話して、ダウンロードするためのコンテンツオブジェクトを選択する。オブジェクトは、ストリーミングメディアの場合にはダウンロードの間に再生可能であり、或いは後時に再生するために記憶することも可能である。コンテンツオブジェクトは、ネットワークからダウンロード可能な、例えば、オーディオ、ビデオ、データなどあらゆる種類の情報であってもよい。コンテンツオブジェクトの要求は、優先情報とともにクライアントコンピュータ112から適切なオリジンサーバ108に転送される。オリジンサーバ108は、オブジェクトをどこからダウンロードするかを決定する。満足すべきQOSを提供するために、あらゆるコンテンツ交換部116、或いはオリジンサーバ108自体がオブジェクトを提供可能である。
【0009】
アクティブディレクトリ104は、クライアントコンピュータ112がコンテンツオブジェクトを選択するために用いるインタフェースとなり得る。コンテンツ配信システム100を可能とするために、オリジンサーバ108と任意のクライアントコンピュータ112の双方のためのソフトウェアがアクティブディレクトリ104からダウンロードされ得る。希望するコンテンツオブジェクトを判定するために、アクティブディレクトリ104に存在するディレクトリインタフェースページ、又は検索インタフェースページのいずれかを使用してもよい。オリジンサーバ108上のコンテンツオブジェクトとのリンク中断を回避すべく、インタフェースはアクティブに維持される。コンテンツ交換部116がオリジンサーバ108からコンテンツオブジェクトを要求する場合、アクティブディレクトリ104は、コンテンツオブジェクトの発生源である適切なオリジンサーバ108へ戻るパスを提供可能である。
【0010】
他の実施例では、複数のアクティブディレクトリを有してもよい。複数のアクティブディレクトリの間で負荷を分散するために、システムのユーザがいくつかのアクティブディレクトリに振り分けられていてもよい。さらに、1つのアクティブディレクトリがオフラインの場合には他のアクティブディレクトリが負荷を吸収できるように、他のアクティブディレクトリを冗長化のために使用してもよい。
【0011】
いくつかの実施形態においてオリジンサーバ108は、コンテンツオブジェクトのソースとして機能し、コンテンツオブジェクトの優先ソースにユーザを導き、アクティブディレクトリ104にディレクトリ情報を提供する。コンテンツオブジェクトはオリジンサーバ108によってシステム100に導入される。導入は、アクティブディレクトリ104を利用可能にするための、オリジンサーバ管理者によるコンテンツオブジェクトの選択を含む。管理者とは、オリジンサーバ108を管理する人又はシステムである。コンテンツオブジェクトには、以前に記憶された情報、或いは情報のストリーミングによる提供が含まれる。オリジンサーバ108は所定のサイクルにしたがって、オリジンサーバ108上のコンテンツの変更とともに更新される選択情報のカタログを提供する。
【0012】
オリジンサーバ108は、コンテンツオブジェクトをダウンロードするために、クライアントコンピュータ112に指示すべき優先ソースを判定する。クライアントコンピュータ112の優先リストと、コンテンツ交換の負荷と、コンテンツオブジェクトのコピーがある場所との全ては、クライアントコンピュータを情報の優先ソースへとあて先変更する際にオリジンサーバ108にて検討する事項である。そのソースは、オリジンサーバ108自体か、又はコンテンツ交換部116のうちの1つである。
【0013】
ユーザは、所望のコンテンツオブジェクトを見つけ、その後そのオブジェクトをダウンロードするために、その場所をクライアントコンピュータ112に指示する。クライアントコンピュータ112は、アクティブディレクトリ104からダウンロードしたビューワオブジェクトプロキシソフトウェアを使用して、適切なQOSでコンテンツ配信が可能なコンテンツ交換部116を判定する。この適切なQOSを有するコンテンツ交換部116を判定する処理には、例えば最高の結果を生成する可能性が高いコンテンツ交換部からのテスト情報の受信と、これらのテスト結果に基づいたリストの生成が含まれる。カスタマイズされた方法を要望する場合、ユーザは、コンテンツ交換部116の優先リストを変更できる。オリジンサーバ108が要求されたコンテンツオブジェクトのソースを決定する際に、適切なQOSを提供するために優先情報を使用する。
【0014】
非関連コンテンツサーバ106は、インターネット上に存在し、システム100に正式に関連付けられていないサーバである。本実施形態において、コンテンツ交換部116は、非関連コンテンツサーバ106からのコンテンツオブジェクトをキャッシュして、クライアントコンピュータ112に対して改善したQOSを提供する。ある実施形態においては、クライアントコンピュータ112のユーザは、コンテンツ交換の所有者に、改善したQOSに対する対価を支払う。
【0015】
外部オリジンサーバ118は、クライアントコンピュータ112が利用可能なコンテンツオブジェクトのさらなるソースである。一実施形態では、外部オリジンサーバ118は、コンテンツ交換部116に接続される。外部オリジンサーバの負荷を過度に増大させることなく配信状況を改善するために、外部オリジンサーバ上のコンテンツオブジェクトが、分散するコンテンツ交換部にミラーリングされる。コンテンツオブジェクトを外部オリジンサーバ118から要求するクライアントコンピュータ112は、トランスペアレントにコンテンツ交換部116にあて先変更され、コンテンツオブジェクトに対する要求が満足される。
【0016】
コンテンツ交換部116は、コンテンツオブジェクトをキャッシュするストレージリポジトリである。これら多数のコンテンツ交換部116は、インターネット120の異なる箇所に設置され、コンテンツオブジェクトをキャッシュする。このように、クライアントコンピュータ112はいずれも、インターネット120上で自身の近くにキャッシュを有している可能性がある。情報は、例えば、ユーザにとっての情報の要望度や、ユーザが直ちに利用可能なコンテンツを要求するオリジンサーバ108へのサービスや、改善したQOSを要求するユーザへのサービス、下りバンド幅の負荷低減などの、多くの考察に基づいてキャッシュされる。コンテンツ交換部116のグループ化は、かたまりごとであっても、或いはコンテンツオブジェクトに対するクライアントコンピュータ112の要求を提供すべく個別であってもよい。
【0017】
上記のように、オリジンサーバ108は、要求を満足させるために、クライアントコンピュータ112からコンテンツ交換部116に送信されたコンテンツオブジェクトに対する要求を参照することもある。要求されているコンテンツオブジェクト、又はその一部を、それを要求しているユーザがコンテンツ交換部116から見つけられない場合、コンテンツ交換部116から他のコンテンツ交換部へ、そのコンテンツオブジェクトの要求がなされる。他のどのコンテンツ交換部116もコンテンツオブジェクトを有しない場合、アクティブディレクトリ104においてオリジンサーバ108、割り当てられていないオリジンサーバ106又は外部オリジンサーバ188に対する問い合わせがなされる。オリジンサーバ108、割り当てられていないオリジンサーバ106又は外部オリジンサーバ188は、コンテンツオブジェクトのソースであり、かつコンテンツオブジェクトがそこからコンテンツ交換部116にダウンロードされる。コンテンツ交換部116がコンテンツオブジェクトを集めている間、クライアントコンピュータ112は、ダウンロード可能な最初の部分を受信している。コンテンツオブジェクトはいくつかのコンテンツ交換部116に部分ごとに記憶可能であり、このような状況では、要求を出すコンテンツ交換部116がそれら部分を検索して、クライアントコンピュータ112に要求されているような全体のコンテンツオブジェクトに再構築する。
【0018】
クローリングディレクトリ124は、全オリジンサーバ108が報告するカタログ情報を補充するために使用される。ユーザのためにコンテンツオブジェクトを検索する際、アクティブディレクトリ104は、オリジンサーバ108から入手可能なコンテンツオブジェクト、及びクローリングディレクトリ124が発見した、非関連オリジンサーバ106又は外部オリジンサーバ188に存在する他のコンテンツオブジェクトを表示できる。クローリングディレクトリ124は、ウェブを横断することによって遭遇したコンテンツオブジェクトやその他の情報をカタログ化する。例えば、ユーザは、アクティブディレクトリ104によりクローリングディレクトリ124をキーワード検索して、外部オリジンサーバ118又は非関連オリジンサーバ106上のコンテンツオブジェクトに到達できるようになる。これらのコンテンツオブジェクトは、どのオリジンサーバ108からも入手することができない。クライアントコンピュータ112がコンテンツオブジェクトをダウンロードした時にそれをキャッシュするために、コンテンツ交換部116の1つがアクティブディレクトリ104によって選択される。本実施形態では、1つのクローリングディレクトリ124だけを使用しているが、他の実施形態では、さらなる検索結果を提供すべく、多数のクローリングディレクトリを使用可能である。
【0019】
インターネット120は、ノードによって共にリンクされた複数のサーバからなる。データは、最終のあて先に到達するまで1つのノードから次のノードへと、ホッピングしてインターネット120を進行するパケットに分割される。各パケットは、インターネット内で異なるルートをとってもよく、異なる時に最終受信地に到着してもよい。さらに、任意のノードのバンド幅が飽和する時には、いくつかのパケットがインターネット120中を進行している間に消失することがある。コンテンツオブジェクトのソースと最終あて先との間のホップ数が増加すると、過度の遅延やパケット消失の可能性も同様に増加する。
【0020】
コンテンツオブジェクトが、ソースから最終あて先までインターネット120内のパスを横断するため、パス内の任意の2ノード間の最小バンド幅によって、そのパスの最大バンド幅が決まる。通常、インターネット120からクライアントコンピュータ(たとえば「ラストワンマイル」)までのバンド幅には、最小のバンド幅が割り当てられている。ただし、場合によっては、ノード間の他のホップでバンド幅が最小となることもある。コンテンツ交換部116とクライアントコンピュータ112との間のホップが最も少ない状態で、コンテンツ交換部116にコンテンツオブジェクトをキャッシュするによって、十分なQOSすなわち満足なQOSが達成される可能性が高くなる。
【0021】
クライアントコンピュータからインターネット120へのデータレートを上回らない好適なデータレートでコンテンツオブジェクトをダウンロードすることが、適切なQOSとなる。ユーザが期待できる最高のQOSは、それらのネットワークへの接続速度や、それらのコンピュータの処理能力や、他の要因によって決定される。最低のQOSは、ユーザが一定の制約において要望する品質に基づき、ユーザが主観的に決定する。例えば、オーディオクリップのために、28Kbps、56Kbps、128Kbpsでのストリームの選択肢があるとき、400Kbpsのネットワーク接続と高速コンピュータを有するユーザは、その中から128Kbpsのストリームを選択してもよい。クライアントコンピュータが提供するデータ速度が128〜400Kbpsの範囲にある限り、そのストリームに適切なQOSを得る事ができる。
【0022】
上記の実施形態は、主に異なるブロック間の接続にインターネット120を使用しているが、他の実施形態では、インターネット120以外のプライベートリンクを使用、又は併用してもよい。このプライベートリンクは、QOSの改善に十分成るバンド幅を割り当てることができるか、或いはQOSを改善するための他の手法を使用していることがある。さらに、外部オリジンサーバ118又は非関連オリジンサーバ106上のコンテンツオブジェクトは、コンテンツキャッシング、暗号化及び圧縮が提供される場合には、システム100から恩恵を受けることがある。
【0023】
図2を参照する。コンテンツ配信システム100のアクティブディレクトリ部104の実施形態を示すブロック図が示されている。アクティブディレクトリ104は、ダイナミックドメインネームサーバ(DNS)204と、サーバマネージャ208と、ディレクトリページ212と、検索ページ216と、ダウンロードページ220と、加入者データベース224と、サーバデータベース228と、コンテンツ交換データベース232と、ルーティングデータベース234とを有する。コンテンツ配信システム100は、ユーザにディレクトリ情報を提供するためにアクティブディレクトリ104と対話し、ユーザによるコンテンツオブジェクトのダウンロードを支援する。
【0024】
クライアントコンピュータ112のユーザ、及びオリジンサーバ108の管理者の両方が、コンテンツ配信システム100の加入者である。ソフトウェアは、ダウンロードページ220からユーザ、及び/又は、管理者にダウンロードされる。実施形態によってはクライアントコンピュータ112のためのソフトウェアが随意にあり、インストールされた場合にQOSを改善する。オリジンサーバ108のソフトウェアは、アクティブディレクトリ104がシステム100上で利用できるコンテンツを更新し、そのコンテンツを受信するための優先ソースにクライアントコンピュータ112を導くことを可能とする。
【0025】
クライアントコンピュータ112は、アクティブディレクトリ104のドメインに接続して、所望のコンテンツオブジェクトを見出す。優先度にしたがって、コンテンツオブジェクトを見つけるためにユーザはディレクトリページ212や検索ページ216を使用してもよい。検索ページ216は、クローリングディレクトリ124から収集された情報だけでなく、全てのオリジンサーバ108が提供したコンテンツオブジェクトのカタログにアクセスする従来のブールの検索エンジンであってもよい。他の実施形態では、オリジンサーバ108からのコンテンツの検索が不成功に終わった場合にはクローリングディレクトリ124からの情報のみを表示するか、或いは、クローリングディレクトリ124からの情報を全く除外する場合がある。全オリジンサーバ108のコンテンツオブジェクトのカタログは、サーバデータベース228に維持される。
【0026】
本実施形態において、ディレクトリページ212は、利用可能なコンテンツオブジェクトを、対象に基づいて編成されるカテゴリの階層に分類する。例えば、最初のページには、大衆が関心を持つ多数の主題を表示しており、ユーザはこの中からスポーツを選択する。階層において1つ下の層にある次のページでは、多数のスポーツを表示しており、ユーザはこの中からフットボールを選択する。さらに1つ下の階層レベルで、ユーザは、サンディエゴチャージャーズ(TM)を選択して、関連したコンテンツオブジェクトのリンクである別のページを見ることがある。これらのリンクの各々は、コンテンツオブジェクトの発生源であるオリジンサーバ108を指している。
【0027】
管理者は、オリジンサーバ108上のコンテンツを分類して、ディレクトリページ212にそれを適切に表示させる。管理者は、サイト、ディレクトリ、又はファイルごとに、そのコンテンツオブジェクトに関連するHTML SSIタグにおいてコンテンツオブジェクトのカテゴリを選択できる。この分類を入手しアクティブディレクトリに記憶して、コンテンツオブジェクトが複数のカテゴリに分類されるようにする。さらに、調停者がディレクトリページ212のカテゴリにコンテンツオブジェクトを記載して配置してもよい。例えば、調停者はあるコンテンツオブジェクトをより目立たせて表示する対象とするためにマークをつけ、及び/又は、コンテンツオブジェクトについてのレビュー及び/又は概要をつけることがある。
【0028】
サーバマネージャ208は、全てのクライアントコンピュータ112、全てのオリジンサーバ108、全ての外部オリジンサーバ118、全てのコンテンツ交換部116、及び、オリジンサーバ108上の全てのコンテンツオブジェクトに関する情報を維持管理する。クライアントコンピュータ112とオリジンサーバ108に関する情報は、加入者データベース224で維持管理される。クライアントコンピュータ112に関連した各ユーザについて、フルネーム、ログインネーム、パスワード、固有のネーム、利用できる代用貨幣クレジット、その他の情報が加入者データベース224で維持管理される。このデータベース224は、また、オリジンサーバ108を確認した最終時刻、オリジンサーバ108のインターネットプロトコル(IP)アドレス、コンテンツマネージャサーバが実行するポート、オリジンサーバ108のオンライン/オフラインステータス、バナー広告URL、オリジンサーバ108の名前、オリジンサーバ108の説明、オリジンサーバ108を使用するのに必要なクレジット若しくは代用貨幣又は他の課金モデル、一度に可能な接続数やビューワ数を保持する。
【0029】
全てのオリジンサーバ108のコンテンツオブジェクトに関する情報は、サーバデータベース228で維持管理される。各コンテンツオブジェクトについて、オリジンサーバネーム、コンテンツオブジェクトファイルネーム、パスを、カテゴリ情報、概要、キーワードとともに記憶する。ディレクトリページ212、検索ページ216をナビゲーション中、ユーザにコンテンツ選択を提供するようサーバデータベース228に問い合わせる。サーバデータベース228に最新情報を維持するために、サーバマネージャ208は、周期的にオリジンサーバ108と対話してコンテンツオブジェクトのカタログの最新の変更を入手し、オリジンサーバ108がオフラインになったか否かを判定する。オリジンサーバ108がオフラインになったときは常に、そのオリジンサーバ108に対応するサーバデータベース228へのエントリを削除し、加入者データベース224のステータス情報を更新する。
【0030】
ある実施形態では、サーバデータベース228へのエントリは、オリジンサーバ108がオフラインになった後でも存続する。オリジンサーバに関連したコンテンツが利用できないことを反映するためにステータスを更新するが、情報は、サーバデータベース228内に記憶されたままである。ステータスがオンラインに更新されると、情報は、コンテンツオブジェクトを検索しているユーザに再び示される。状況によっては、オリジンサーバ108はある期間にオフラインになる予定であることをアクティブディレクトリ104に示してもよい。その期間が短期間だと推定される場合、アクティブディレクトリは情報をユーザに表示せずに、サーバデータベース228内に保持できる。
【0031】
システム100で利用可能なコンテンツ交換部116のリストは、コンテンツ交換データベース232にてサーバマネージャ208が維持管理する。ある実施形態では、コンテンツ交換データベース232は、コンテンツ配信システム100内で利用可能な全てのコンテンツ交換部116のIPアドレスのリストを含むことがある。さらに、コンテンツ交換データベース232は、各コンテンツ交換部116に関連した多数のコンテンツ交換フィールドを含むことがある。例えば、コンテンツ交換データベース232の各コンテンツ交換部116に関連したフィールドには、コンテンツ交換識別子、コンテンツ交換サイト、コンテンツ交換プロバイダ、コンテンツ交換名、コンテンツ交換位置、コンテンツ交換ステータス、アイコン、他のいかなる所望の情報が含まれ得る
【0032】
コンテンツ交換識別子とコンテンツ交換サイトはこれらを合わせて、特定のコンテンツ交換サイトにて固有のコンテンツ交換部116を識別する。コンテンツ交換プロバイダは、コンテンツ交換に責任を有する関係者、例えば、XYZ会社の標識である。コンテンツ名は、ドメインネームであり、コンテンツ交換位置は、コンテンツ交換部116についての地理的座標である。例示の実施形態では、コンテンツ交換データベース232は、コンテンツ交換識別子、コンテンツ交換サイト、コンテンツ交換IPアドレス、コンテンツ交換プロバイダ、コンテンツ交換名、コンテンツ交換場所、及び、コンテンツ交換データベース232における各コンテンツ交換部116のアイコンを含む。
【0033】
一般に、コンテンツ交換データベース232は、改良されたQOS基準、又はサブスクリプションサービス基準などの方法、或いはこれらに限らず様々な方法に基づいて、地域別に分類、又は分割できる。さらに、コンテンツ交換データベース232は、代替のアクティブディレクトリ104、オリジンサーバ108のリスト、或いは他のいかなる有益な情報を含むこともある。
【0034】
システム100のコンテンツ交換部116は、サーバマネージャ208にステータスを定期的に提供する。コンテンツ交換部116が利用可能、又は利用不能となった場合には、それら動作ステータスはサーバマネージャ208に報告され、コンテンツ交換データベース232に記録される。ある実施形態では、コンテンツ交換データベース232は、コンテンツ交換部116の負荷、容量、利用度、ヘルスなどを含む付加的なステータス情報を含むことができる。
【0035】
ルーティングデータベース234は、外部オリジンサーバ118のリストを有する。ある実施形態では、ルーティングデータベース234は、外部オリジンサーバ118に関する識別情報、ステータス情報、構成情報を有する。識別情報には、外部オリジンサーバ118のIPアドレスとドメインネームが含まれ得る。ステータス情報には、外部オリジンサーバの稼働率、負荷、又は他のステータスが含まれ得る。構成情報には、代替の外部オリジンサーバ118のリストが含まれ得る。一実施形態では、ルーティングデータベース234は、各外部オリジンサーバ118のIPアドレスとドメインネームを有する。ある実施形態では、ルーティングデータベース234内で外部オリジンサーバ118を識別することが、外部オリジンサーバ118をコンテンツ配信システム100と関連付けるための機構である。
【0036】
ルーティングデータベース内には、外部オリジンサーバ118の各々について、その外部オリジンサーバ118上の情報にアクセスするためにコンテンツ交換部116の使用が許可されたユーザ名のリストが存在する。ユーザ名は、クライアントコンピュータ112のユーザに一意的である。クライアントコンピュータがコンテンツ交換部116を介して経路決定可能な外部オリジンサーバ118のリストが、クライアントコンピュータ112に提供される。クライアントコンピュータ112は、ルーティングデータベースからの情報を使用して、外部オリジンサーバ118に対するユーザ要求をコンテンツ交換部116にあて先変更する。コンテンツ交換部116が外部オリジンサーバ118からのコンテンツオブジェクトを収容した後、外部オリジンサーバ118からコンテンツ交換部116にバンド幅の負荷が移される。この高度なサービスのためにユーザは、コンテンツ交換部116のオーナー、及び/又はオリジンサーバ108の管理者に、対価を払うこともある。
【0037】
動的DNS204は、オリジンサーバ108の各IPアドレスのオリジンサーバネームを提供する。オリジンサーバネームは、一意的にインターネット120上のオリジンサーバ108を識別する。この情報は、加入者データベース224で維持管理される。コンテンツ交換部116は、コンテンツ交換部116にコンテンツオブジェクトを提供したオリジンサーバ108のIPアドレスを知らないが、オリジンサーバネームは知っている。コンテンツ交換部116が、そのキャッシュに他のコンテンツ交換部116からは入手不能なコンテンツオブジェクト、又はその一部を収容したいときは、コンテンツオブジェクトのソースであるオリジンサーバ108のIPアドレス、又はドメインネームを判定するために、動的DNS204に問い合わせがなされる。ドメインネームを動的DNS204から検索する場合、そのドメインネームに対応するIPアドレスがDNSから検索される。
【0038】
次に図3Aを参照する。コンテンツ配信システム100のオリジンサーバ部108の実施形態を示すブロック図が示される。オリジンサーバ108は、管理者によって管理され、コンテンツ配信システム100にコンテンツオブジェクトのソースの1つを提供する。クライアントコンピュータを、所望のコンテンツオブジェクトを適切に配信可能なコンテンツ交換部116へと、導いているオリジンサーバ108によってQOSが提供される。オリジンサーバ108には、コンテンツソース304、コンテンツサーバ308、コンテンツマネージャ312、ローカルコンテンツカタログ316、コンテンツロケーションデータベース320、コンテンツ交換情報324、ヘルスチェック330が含まれる。
【0039】
コンテンツは、コンテンツソース304がオリジンサーバ108に提供する。コンテンツソース304は、ライブウェブカメラ、ビデオ又はオーディオフィード、データオブジェクト、データストリーム、ビデオテープ又はオーディオテープ、光学又は磁気ディスク、或いは他のあらゆるコンテンツ配信機構を含んでもよい。コンテンツオブジェクトは、システム100内での可能な配信のためにコンテンツソース304によってコンテンツサーバ308に配信される。
【0040】
維持されるコンテンツオブジェクトやコンテンツオブジェクトの部分について各コンテンツ交換部116に日時情報が維持される。その日時情報は、同一のオリジンサーバネーム、パス名、ファイル名を有するコンテンツオブジェクトを識別する。他の実施形態では、別法として、チェックサム(checksum)、巡回冗長検査(CRC)やハッシュ(hash)などの任意の固有コードを使用して一義的にコンテンツオブジェクトを識別する。
【0041】
オリジンサーバ308のコンテンツオブジェクトは全て、コンテンツサーバ308に記憶される。管理者は、システム100で利用不能とするために他のコンテンツオブジェクトをコンテンツサーバ308上に残す一方、システム100に掲載するためにコンテンツオブジェクトやコンテンツオブジェクトのグループを選択可能である。いくつかのコンテンツオブジェクトは、不連続のファイルであるが、他は、例えば、ライブウェブカメラによって生成されるコンテンツのストリームである。ある実施形態においては、コンテンツサーバ308を実行させるソフトウェアをコンテンツマネージャ312のソフトウェアと統合してもよい。
【0042】
コンテンツマネージャ312は、システム100に所望のコンテンツオブジェクトを掲載して、コンテンツマネージャ312に関連したコンテンツオブジェクトをダウンロードするためにユーザを好適なコンテンツ交換部116に導く。管理者の指示で、コンテンツマネージャ312はアクティブディレクトリ104に掲載するために、ファイルネーム、ディレクトリ、ドライブボリュームによってコンテンツオブジェクトやコンテンツオブジェクトのグループを選択する。コンテンツサーバ308上のいくつかのコンテンツオブジェクトは、システム100で利用不能とするために掲載から除外してもよい。
【0043】
システムに掲載するために選択されたコンテンツオブジェクトは、ローカルコンテンツカタログ316で維持管理される。ローカルコンテンツカタログ316へのエントリは、それらのエントリに対応するオブジェクトが利用不能、又は更新された場合には、最新の状態になるようにコンテンツマネージャ312が維持管理する。各エントリについて、コンテンツオブジェクトファイルネーム及びパスが、カテゴリ情報、概要、キーワードとともに記憶される。システム100への接続があり次第、ローカルコンテンツカタログ316はコンテンツマネージャ312によってアクティブディレクトリ104に送信され、サーバデータベース228に登録される。可及的に最新のディレクトリ情報を保つために、ローカルコンテンツカタログ316への変更を定期的にサーバデータベース228に送信する。更新は、2分毎など定期的間隔をおいて、及び/又は、ローカルコンテンツカタログが変更されるときは常に実行されることがある。
【0044】
コンテンツマネージャ312は、また、そのコンテンツマネージャ312に関連したコンテンツオブジェクトの全ての部分の記憶場所を知っている。システム100に接続するとすぐに、コンテンツマネージャ312は、各コンテンツ交換部116にステータスを問い合わせる。各コンテンツ交換部116は、対応するコンテンツマネージャ312にそのコンテンツオブジェクトやコンテンツオブジェクトの部分に関する情報を定期的に報告する。この情報を活用して、発信元のコンテンツマネージャ312は、クライアントコンピュータ112をコンテンツ交換部116に導くことが可能となる。コンテンツ交換部116は、所望のコンテンツオブジェクトのいくつか、又は全てをダウンロード可能な状態で有する。
【0045】
全てのコンテンツ交換部108が報告するコンテンツオブジェクトの記憶場所情報は、コンテンツマネージャによってコンテンツロケーションデータベース320に維持管理される。コンテンツロケーションデータベース320に照会することによって、コンテンツマネージャ312は、コンテンツオブジェクト、又はコンテンツオブジェクトの一部を有するコンテンツ交換部116を判定できる。クライアントコンピュータ112がコンテンツソースへルーティングされる間、特定のコンテンツ交換部112内でのコンテンツオブジェクトの存在は、ルートの決定に影響を及ぼすことがある。
【0046】
コンテンツ交換情報記憶装置324は、全てのアクティブなコンテンツ交換部116に関する情報を有する。オリジンサーバ108を起動すると直ちに、アクティブディレクトリ104のコンテンツ交換データベース232がコンテンツ交換情報記憶装置324にダウンロードされる。起動の後に、コンテンツ交換情報記憶装置324にリストされている全てのコンテンツ交換部116に対して、ステータス情報の照会が行なわれ、この情報がコンテンツ交換情報324として保持される。ステータス情報には、使用される同時並行のリンク数、許可された同時並行のリンクの合計数、バンド幅の利用度、及びキャッシュのチャーンレートが含まれる。キャッシュのチャーンレートは、キャッシュ内に未使用データが残存する時間であり、キャッシュのロード状況を表す。例えば、キャッシュの記憶量に比してビジーなコンテンツ交換部116のために、データは通常キャッシュから迅速に消去される。しかしいくつかの実施例では、使用のいかんにかかわらず、ある期間中、コンテンツ交換部116に固定されて残存する厄介なコンテンツオブジェクトを有することもある。
【0047】
コンテンツマネージャ312は、コンテンツオブジェクトを要求しているクライアントコンピュータ112を、そのオブジェクトの優先ソースへとインテリジェントにあて先変更する。クライアントコンピュータ112が送信する優先情報は、クライアントコンピュータ112が要求するコンテンツオブジェクトのソースを判定するために使用される。コンテンツオブジェクトのダウンロードのためにクライアントコンピュータ112を優先されたコンテンツ交換部116に導くため、この情報は、コンテンツオブジェクトの現在の記憶場所、及び使用可能なコンテンツ交換部の負荷とともに使用される。
【0048】
いくつかの実施形態では、コンテンツマネージャ312は、コンテンツオブジェクトへのアクセスを管理できる。クライアントコンピュータ112がコンテンツマネージャ312に関連したコンテンツオブジェクトのダウンロードを試行したときに、管理者がコンテンツオブジェクトにセキュリティを設定していた場合には、ログインダイアログを表示することができる。ユーザはコンテンツオブジェクトのソースにクライアントコンピュータ112のあて先を変更するために、ログインダイアログにユーザ名、及び/又はパスワードを入力してもよい。このユーザ名、及び/又はパスワードは、アクティブディレクトリ104に必要とされるあらゆるものに加えて必要である。クライアントコンピュータ112をソースにあて先変更する前に、ユーザ名、及び/又はパスワードやログイン情報は、オリジンサーバ108に事前に記憶されている、容認可能ログイン情報のリストと照合してチェックされる。オリジンサーバ108全体、或いはオリジンサーバ108のボリューム、ディレクトリ、又はコンテンツオブジェクトへのアクセスはこの方式で管理し得る。
【0049】
いくつかの実施形態では、オリジンサーバ108やアクティブディレクトリ104は、コンテンツ交換部116上にコンテンツオブジェクトをプリロードすることが許容されている。コンテンツオブジェクトの要求は、要望度を判定するために監視される。どのコンテンツオブジェクトをコンテンツ交換部116上にプリロードすべきか判定するために、要望度情報、課金情報、サイズ、及び/又は他の検討事項が使用される。オリジンサーバ108、アクティブディレクトリ104、コンテンツ交換部116のいずれかが、コンテンツオブジェクトをプリロードするためにコンテンツ交換部116からコンテンツオブジェクトを要求することが可能である。アクティブでないためにコンテンツオブジェクトがアンロードされないように、コンテンツオブジェクトのコンテンツ交換部上への定期的なロードをコンテンツ交換部116に対して要求することもある。他の実施形態では、あるコンテンツオブジェクトを、上に挙げた厄介なコンテンツオブジェクトとして指定することも可能である。
【0050】
ヘルスチェック330は、対応するオリジンサーバ108の動作特性を提供するハードウェア又はソフトウェアアプリケーションのいずれかである。一実施形態では、ヘルスチェック330はオリジンサーバ108のステータスの単一の示度を提供する。その単一の示度は、オリジンサーバ特性の組合せを示す、0〜1の正規化された値である。例えば、それはCPU負荷、CPU温度、同時接続の数、及び/又は、オリジンサーバが促進している要求の数を含んでもよい。代替の実施形態ではヘルスチェック330は、他のコンテンツ交換部116やオリジンサーバ108上で実行しながら、コンテンツ交換部116の特性を監視することがある。
【0051】
次に図3Bを参照する。コンテンツ配信システム100の外部オリジンサーバ部118の実施形態を示すブロック図が示されている。外部オリジンサーバ118は、それにインストールされたコンテンツマネージャソフトウェアを有しない点で、オリジンサーバ108とは異なる。外部オリジンサーバ118は、コンテンツサーバ308とコンテンツソース304とを有する。
【0052】
外部オリジンサーバ118の管理者は、コンテンツ交換部116を通してコンテンツオブジェクトの受信を許可される1つ以上のクライアントコンピュータ112を決定する。ルーティングデータベース234は、個々のクライアントコンピュータ112がコンテンツ交換部116を介してコンテンツオブジェクトにアクセスできるように管理者が更新する。アクティブディレクトリ上のウェブページは、ルーティングデータベース234にクライアントコンピュータ112の情報を入力するインタフェースとして機能する。他の実施形態では、外部オリジンサーバ118へのサインアップ時にユーザが自動的にルーティングデータベース234に追加されるように、外部オリジンサーバ118とルーティングデータベース234間のインタフェースが自動化される。
【0053】
クライアントコンピュータ112はルーティングデータベース234の更新をダウンロードして、ローカルに記憶する。外部オリジンサーバ118へのアクセスが次に試行されると、その要求にサービスを提供するためにコンテンツ交換部116にその試行があて先変更される。このようなあて先変更は、コンテンツマネージャソフトウェアの支援なしで、外部オリジンサーバ118がクライアントコンピュータ112をコンテンツ交換部116にあて先変更することを可能にする。
【0054】
外部オリジンサーバ118は、外部オリジンサーバ118にコンテンツオブジェクトを搬送するために割り当てられた1つ以上のコンテンツ交換部116を有してもよい。ルーティングデータベース234は、加入したクライアントコンピュータをこれらの1つ以上のコンテンツ交換部116にあて先変更してもよい。クライアントコンピュータがこれらのコンテンツ交換部116の2つ以上の使用を許可されている場合、コンテンツ交換部間の相対的QOSを順位付けするために、2つ以上のコンテンツ交換部上でルーティングの解析がクライアント側で実行される。
【0055】
外部オリジンサーバ118のコンテンツオブジェクトを、それらのコンテンツオブジェクトを提供するために割り当てられたコンテンツ交換部にプリロードできる。コンテンツオブジェクトを最初に要求する場合の遅延を短縮させるために、アクティブディレクトリ104は、外部オリジンサーバ118を巡回して、そのサーバ118から入手可能なコンテンツオブジェクトを判定できる。入手可能なコンテンツオブジェクトを、クローリングディレクトリ124に加えてもよい。一旦入手可能なコンテンツオブジェクトが判明すると、関連コンテンツ交換部上への各コンテンツオブジェクトのロードを生じさせるために、アクティブディレクトリ104は関連コンテンツ交換部に各コンテンツオブジェクトを要求する。このような方式で、コンテンツオブジェクトは関連したコンテンツ交換部にプリロードされる。
【0056】
図4Aを参照する。コンテンツ配信システム100のコンテンツ交換部116の実施形態を示すブロック図が示される。コンテンツ交換部116は、コンテンツマネージャ312の制御にしたがって、クライアントコンピュータ112が要求するコンテンツオブジェクトをキャッシュする。コンテンツ交換部116は、トラッキングシステム402、ヘルスチェック426、及びコンテンツノード406を含む。トラッキングシステムは、コンテンツトラッカー404、ヘルスチェック426、ステータス情報420、ローカルコンテンツカタログ416、オリジンサーバデータベース424を有し、一方コンテンツノード406は、コンテンツコントローラ408、コンテンツ記憶部412を有する。
【0057】
ヘルスチェック426は、関連コンテンツ交換部116の動作特性を提供するハードウェア又はソフトウェアアプリケーションのいずれかである。一実施形態では、ヘルスチェック426は、コンテンツ交換部116のステータスの単一の示度を提供する。単一の示度は、例えばCPU負荷、CPU温度、同時接続の数、コンテンツ交換部が促進している要求の数を含むコンテンツ交換部特性の組合せを示している0〜1の間の正規化された値でもよい。代替実施形態では、他のコンテンツ交換部116、オリジンサーバ108、又は他の場所で実行する間に、ヘルスチェック426は、コンテンツ交換部116の特性を監視可能である。
【0058】
コンテンツ記憶部412は、そのコンテンツ交換部116からクライアントコンピュータ112にダウンロード可能なコンテンツオブジェクトを記憶する。パス情報及びファイル名と共にコンテンツオブジェクトを提供しているオリジンサーバ108のネームは、コンテンツオブジェクトと共にコンテンツ記憶部412に記憶される。クライアントコンピュータ112はインターネット120を介して、コンテンツ記憶部412に接続し、コンテンツオブジェクトファイルやデータストリームをダウンロードする。新規のコンテンツオブジェクトがコンテンツ記憶部412に加えられると、古いコンテンツオブジェクトが通常は削除される。コンテンツオブジェクトの経時は、コンテンツオブジェクトにアクセスした最終時に関係する。記憶装置412上のいくつかのコンテンツオブジェクトは経時を経ない結果、コンテンツオブジェクトは所定時間だけ記憶装置412に留まる。オリジンサーバ108は、コンテンツ交換部112を調整して、所定の時間コンテンツオブジェクトを記憶することができる。
【0059】
クライアントコンピュータ112がコンテンツ記憶部412からコンテンツオブジェクトを要求する場合、コンテンツオブジェクトはその時点でコンテンツ記憶部412にロードされていない場合がある。コンテンツ記憶部412は、コンテンツオブジェクトに対する実行されていない要求をコンテンツコントローラ408に通知する。コンテンツコントローラ408は、他のコンテンツ交換部116内、又はコンテンツオブジェクトの発生源であるコンテンツサーバ308から、欠落したコンテンツオブジェクト、又はその部分を探し出す。クライアントコンピュータ112がこの情報をダウンロード可能とすべく、欠落したコンテンツオブジェクトはコンテンツコントローラ408によってコンテンツ記憶部412へロードされる。
【0060】
コンテンツオブジェクトがコンテンツ記憶部412から欠落している場合、コンテンツコントローラ408は、先ず他のコンテンツ交換部116をチェックして、オブジェクトが利用可能か否かを判定する。コンテンツ交換部116が所望のコンテンツオブジェクトを有しない場合、コンテンツオブジェクトは、情報を発生したコンテンツサーバ308に問い合わせる。コンテンツ記憶部412は発生源のコンテンツサーバ308についてのIPアドレスを有しないため、その情報について動的DNS204に問い合わせがされる。オリジンサーバネームが与えられると、コンテンツコントローラ408が適切なコンテンツサーバ308からコンテンツオブジェクトを要求できるように、動的DNS204は、IPアドレスを提供する。
【0061】
コンテンツトラッカー404は、コンテンツ記憶部412内のその時点でのアイテムやコンテンツ交換部116のステータス情報をシステム100に報告する。ローカルコンテンツカタログ416は、コンテンツ記憶部412内にある各コンテンツオブジェクト又はコンテンツオブジェクトの部分について、オリジンサーバネーム、パス、及びファイルネームを記憶する。コンテンツ記憶部412に新規アイテムを追加し、古いアイテムを削除することによって、ローカルコンテンツカタログ416が更新される。コンテンツマネージャ312がシステム100に接続したときには、全てのコンテンツトラッカー404に問い合わせて、コンテンツオブジェクトのどのような部分がコンテンツ記憶部412に記憶されているか否かを判定する。最初の問合せは、種々のコンテンツ記憶部412が変更されたときに、コンテンツトラッカー404が更新する基準となる。変更は、コンテンツ記憶部412に記憶されたコンテンツを有する各コンテンツマネージャ312に直接送信される。動的DNS204は、この処理の間、各コンテンツオブジェクトのオリジンサーバネームに対応するIPアドレスを判定するために使用される。
【0062】
コンテンツトラッカー404は、コンテンツマネージャ312にコンテンツ交換部116のステータス情報420をも提供する。ステータス情報420は、ブロードキャスト、又はマルチキャストとして定期的に、例えば、5分毎、及び/又は、変更が発生する時に、それぞれのコンテンツマネージャ312に送信される。ステータス情報420には、現在使用中のコンテンツ交換部への同時並行のリンクの数、同時並行のリンクとして容認されている総数、バンド幅の利用度、キャッシュチャーンレート及び/又はその他の情報が含まれる。他の実施形態では、このステータス情報は、コンテンツオブジェクトをダウンロードするためにクライアントコンピュータ112の送信場所を判定する際に、コンテンツマネージャ312が問い合わせ可能な中心記憶場所に送られる。
【0063】
このコンテンツトラッカー404は、システム100内でアクティブなオリジンサーバ108を追跡するために、オリジンサーバデータベース424を維持管理する。システムに接続した後、全てのオリジンサーバ108は、コンテンツトラッカー404にそれ自身を識別させる。コンテンツトラッカー404は、オリジンサーバデータベース424にオリジンサーバネームとIPアドレスを記憶する。動的DNSに対する問い合わせにより、特定のオリジンサーバネームに対応するIPアドレスが提供される。オリジンサーバ108がコンテンツトラッカー404に今にも利用不能となりそうなことを知らせるか、又はコンテンツトラッカー404が特定のオリジンサーバと交信することができない場合、そのオリジンサーバのエントリがオリジンサーバデータベース424から削除される。さらに、そのオリジンサーバ108に対応するコンテンツをコンテンツ記憶部412から一掃し、ローカルコンテンツカタログ416を更新してもよい。いくつかの実施形態では、記憶空間が必要なときは、コンテンツオブジェクトやコンテンツオブジェクトの部分を一掃せずに、単に削除用のタグを付ける。
【0064】
いくつかの実施形態では、システム100は、コンテンツコントローラ408にコンテンツ記憶部412内の所定のコンテンツオブジェクトを入手及び保持するように指示することができる。要求が予測されるコンテンツオブジェクトを、その要求に備えてプリロードすることが可能である。コンテンツオブジェクトの要望度は、検索ページ212又はディレクトリページ216から、それらのコンテンツオブジェクトに対するクリックスルーをモニターすることによって判定できる。例えば、有名人の伝記プログラムがネットワークテレビで放送される前に、有名人に関するコンテンツオブジェクトを直ちにコンテンツ記憶部412にロードすることがある。代替手段として、ユーザは、いくつかのコンテンツ交換部116にコンテンツオブジェクトをロードするサービスを予約できる。例えば、テレビ放送と同時に、予定されたネットワーク番組をロードでき、これによってユーザはテレビ放送の代わりにインターネット120を通じてこの番組を鑑賞できるようになる。このように、加入ユーザは、このコンテンツを遅延なく利用できる。
【0065】
図4Bを参照する。コンテンツ配信システム100のコンテンツ交換部116の他の実施形態を示すブロック図が示されている。本実施形態では、単一のトラッキングサーバ402に接続された複数のコンテンツノード406を有する。コンテンツバス428は、コンテンツノード406が互いのコンテンツ記憶部412をチェックして、欠落したコンテンツオブジェクトを探すことを可能にする。コンテンツバス428は、また、他の記憶場所の他のコンテンツノードにも接続できる。コンテンツバス428は、一部インターネット120を通過してもよく、しなくてもよい。
【0066】
次に図4Cを参照する。複数のコンテンツ交換サーバ116を有するコンテンツ交換サイト432の実施形態を示すブロック図が示されている。コンテンツ交換サイト432は複数のコンテンツ交換サーバ116を有しているが、システムからは、これらが単一のコンテンツ交換部116のようにみえる。コンテンツ交換サイト432の負荷は、構成要素であるコンテンツ交換サーバ116の間に分散される。レイヤー4スイッチなどのスイッチ436は、コンテンツ交換部116にコンテンツオブジェクトの要求を配信し、スプールされた応答を集約しインターネット120へ送信する。
【0067】
次に図5を参照する。コンテンツ配信システム100のクライアントコンピュータ部分112の実施形態を示すブロック図が示されている。クライアントコンピュータ112は、ユーザにコンテンツを配信するためにインターネット120と通信する。クライアントコンピュータ112は、ビューワオブジェクトプロキシ504、コンテンツ処理プログラム508、優先情報512、ネットワークインタフェース516及び、ホストサーバルーティング520を有する。
【0068】
コンテンツ処理プログラム508は典型的には、インターネット120からダウンロードされるコンテンツオブジェクトを、解釈すなわち処理するソフトウェアである。コンテンツ処理プログラム508の例としては、ウェブブラウザ、ファイル転送プロトコル(FTP)ソフトウェア、ゴーファソフトウェア、ニュース(NNTP)、メールプログラム、ストリーミングメディアプレーヤ、非ストリーミングメディアプレーヤ、及び他のソフトウェアが含まれる。通常は直接インターネットに送信されるコンテンツ処理プログラム508からのインターネット通信は、ビューワオブジェクトプロキシ504にあて先変更される。
【0069】
ビューワオブジェクトプロキシ504は、インターネット120とコンテンツ処理プログラム508との間の仲介者として機能する。ビューワオブジェクトプロキシ504をインストールした後でビューワオブジェクトプロキシは、インターネット120の既知の位置に対する、その一般的な記憶場所を判定する。充分なQOSを提供する妥当な候補であるコンテンツ交換部116を試験して、各コンテンツ交換部116に到達するのに必要なホップ数、及び各コンテンツ交換部116とビューワオブジェクトプロキシ504との間の待ち時間を判定する。QOS係数の重み付け、例えば、ホップ数や達成されるバンド幅は優先情報512として記憶され、HTTPヘッダ内のメタデータとしてコンテンツマネージャ312に転送される。
【0070】
他の実施形態では、HTTPヘッダ内のメタデータに限らず、あらゆる種類のデータチャネルのメタデータとしても引き渡すことができる。例えばメタデータは、専用ポート、IPアドレス、URL、ヘッダ、その他の論理チャネルを介して送信可能である。
【0071】
優先情報512は、クライアントコンピュータの観点112から実行されたネットワーク解析の結果である。コンテンツオブジェクトが要求されたときには、優先情報512はコンテンツオブジェクトマネージャ312に送信され、これに応じてコンテンツオブジェクトマネージャ312はクライアントコンピュータ112に対して適切なコンテンツ交換部116を選択する。定期的に、例えば1時間毎に、優先情報512は、自動試験を使用して更新されるか、或いはユーザが手動で更新する。次の試験は、前回の結果を考慮して、効率的に優先すべきコンテンツ交換部を判別する。例えば、第1の解析において、100のコンテンツ交換部をチェックするが、次の解析では性能の悪いコンテンツ交換部を除き、50のみを分析してもよい。
【0072】
優先情報512は、コンテンツ交換部116のリスト、及びクライアント側のネットワーク解析の結果から生じたそれらに関連するQOS値を含む。いくつかの実施形態では、外部オリジンサーバ118への経路が複数存在する。複数経路は、ポート、IPアドレス、サーバ識別(識別子)及び/又は、他の機構により分離される。クライアント側ネットワーク解析は、外部オリジンサーバ118への各経路、或いは複数経路を有する可能性があるあらゆる他のコンテンツオブジェクトソースに対応するQOS値を判定するために使用可能である。
【0073】
クライアントコンピュータ112のユーザがコンテンツオブジェクトを選択した後、オリジンサーバネームがビューワオブジェクトプロキシ504に提供される。オリジンサーバネームは、ビューワオブジェクトプロキシ504が動的DNS204にオリジンサーバ108のIPアドレスを問い合わせるために使用される。一旦IPアドレスが判明すると、コンテンツ処理プログラム508を、所望のコンテンツオブジェクトを得るためにコンテンツマネージャ312にあて先変更する。コンテンツマネージャ312に優先情報512が転送され、適切なコンテンツ交換部116へのクライアントコンピュータ112のルーティングを可能とさせる。本実施形態では、優先情報512は10の優先コンテンツ交換部を有するが、ユーザは優先コンテンツ交換の数を調整できる。
【0074】
いくつかの実施形態では、ビューワオブジェクトプロキシ504はHTTPに特有のものであってもよいが、ルーティング情報についてプロトコルに依存しないものであってもよい。したがって、ルーティング情報はHTTPに従って転送されるが、実際のルーティング情報はプロトコルに依存しない。しかし当業者は、ビューワオブジェクトプロキシ504をまた、必要に応じて他のネットワークプロトコルと協働させ得ることを認識するであろう。例えば、ビューワオブジェクトプロキシ504は、FTP、NNTP、RTP、RTSP、SMTP、SHOUT等に従って機能するように構成できる。
【0075】
クライアントコンピュータ112は、ホストサーバルーティングデータベース520を含む。このホストサーバルーティングデータベース520は、クライアントコンピュータ112がアクセス可能な外部オリジンサーバ118に関する情報を含む。一実施形態では、ホストサーバルーティングデータベース520は、アクティブディレクトリ104で発見されるルーティングデータベース234のエントリのサブセットである。
【0076】
クライアントコンピュータ112は、ビューワオブジェクトプロキシ504をインターネット120に接続するネットワークインタフェース516を有する。ネットワークインタフェース516の一般的な例としては、アナログモデム、DSLモデム、ISDN、ケーブルモデム、サテライトモデム、セルラ方式モデム、電線モデム、見通線(Line−of−sight )マイクロ波モデム、見通線(Line−of−sight )レーザーモデム等が含まれる。
【0077】
本実施形態では、クライアントコンピュータは、ホームユーザに対応する。他の実施形態では、クライアントコンピュータは、劇場にデジタル映画を提供可能であるか、或いは会社のネットワークユーザ、ホテルの客、アパートの共同ビルにコンテンツオブジェクトを提供可能である。
【0078】
図6を参照する。コンテンツ配信システム600の実施形態を示すブロック図が示される。この図は、データブロック間のデータフローを示し、インターネット120上又は他のネットワーク上でのやりとりは示されていない。しかし、インターネット120又は任意のパケット交換ネットワークはいくつかの実施形態で使用されるものである。また、この図は、図2〜5のいくつかのブロックをいくぶん簡略化したものであり、外部オリジンサーバ118、及びクローリングディレクトリ124は、簡略化するために図6を含まれていない。
【0079】
ネットワークインタフェース516は、クライアントコンピュータ112をインターネット120へ接続する。クライアントコンピュータ112は、ディレクトリページ212、検索ページ216に接続して、ダウンロードするコンテンツオブジェクトの選択をユーザに可能とさせる。コンテンツオブジェクトが選択されると、アクティブディレクトリ104から、適切なオリジンサーバ108へのクライアントコンピュータ112のあて先変更には動的DNS204が使用される。優先情報512は、コンテンツオブジェクトのソースの選択を支援するためにコンテンツマネージャ312に転送される。コンテンツマネージャ312の選択にしたがって、コンテンツオブジェクトは、コンテンツ交換部116のうちの1つ、又はコンテンツサーバ308からダウンロードされる。
【0080】
アクティブディレクトリ104は、システム600の他のモジュールと対話する。クライアントコンピュータ112は、コンテンツオブジェクトを選択すべくディレクトリページ212、検索ページ216にアクセスする。コンテンツトラッカー404及びコンテンツマネージャ312はそれぞれ、サーバマネージャ208にステータス及びカタログ情報を提供する。加入者データベース224を維持管理するために、オリジンサーバ108の管理者及び、クライアントコンピュータ112のユーザによって、アカウント情報がサーバマネージャ208に提供される。オリジンサーバネームからオリジンサーバ108のIPアドレスへのあて先変更は、ビューワオブジェクトプロキシ504と、コンテンツトラッカー404と、コンテンツコントローラ408とに動的DNS204によって提供される。
【0081】
オリジンサーバ108は、サーバマネージャ208、クライアントコンピュータ112、コンテンツトラッカー404、コンテンツ記憶部412、及びコンテンツコントローラ408と通信する。サーバデータベース228をその時点でのコンテンツ情報を備えて維持管理するために、コンテンツマネージャ312からサーバマネージャ208にローカルコンテンツカタログ316が提供される。コンテンツオブジェクトのソースの選択を容易にするために、クライアントコンピュータ112からコンテンツマネージャ312に優先情報512が提供される。コンテンツトラッカー404は、コンテンツマネージャ312と対話して、どのようなコンテンツオブジェクトがコンテンツ交換部116に記憶されているかを判別する。コンテンツオブジェクトは、コンテンツ記憶部412、又はクライアントコンピュータ112のいずれかによって、コンテンツサーバ308からロードされる。
【0082】
コンテンツ交換部116は、システム600の他のモジュールとも対話する。ステータス情報は、アクティブディレクトリ104、及び/又は、コンテンツマネージャ312に提供される。コンテンツオブジェクトを有するオリジンサーバ108のIPアドレスを探し出すために、コンテンツコントローラ408とコンテンツトラッカー404が共に動的DNSを使用する。コンテンツ記憶部412がオブジェクトを必要とする場合、選択されたコンテンツ交換部は、他のコンテンツ交換部と交信してもよい。他のコンテンツ交換部がそのコンテンツオブジェクトを有しない場合、コンテンツコントローラ408はコンテンツサーバ308から選択されたコンテンツ記憶部412へのオブジェクトの配信要求をする。
【0083】
次に図7を参照する。2種類のコンテンツ交換部702,704を有する、他の実施形態によるコンテンツ配信システム700のブロック図が示されている。本実施形態は、パブリックコンテンツ交換部702とキャプティブコンテンツ交換部704とを有する。1つ以上のキャプティブコンテンツ交換部704は、1つ以上の関連クライアントコンピュータ708及び1つ以上の関連オリジンサーバ712とグループを形成している。パブリックコンテンツ交換部702は、クライアントコンピュータ112、関連クライアントコンピュータ708のいずれに対してもコンテンツオブジェクトを提供できる。パブリックコンテンツ交換部702に記憶されているコンテンツオブジェクトは、非関連オリジンサーバ106、オリジンサーバ108、外部オリジンサーバ118、又は関連オリジンサーバ712のいずれに由来するものであってもよい。
【0084】
しかし、システム700は、パブリックコンテンツ交換部702を利用可能なように、キャプティブコンテンツ交換部704を完全に利用可能というわけではない。キャプティブコンテンツ交換部704は、関連オリジンサーバ712に由来するコンテンツオブジェクトをキャッシュする。キャッシュされたオブジェクトは、関連クライアントコンピュータ708又はクライアントコンピュータ112のいずれかに提供される。非関連オリジンサーバ106、オリジンサーバ108及び外部オリジンサーバ118に由来するコンテンツオブジェクトは、クライアントコンピュータ112のためにではなく、関連クライアントコンピュータ708のためにキャッシュされる。クライアントコンピュータ112は、非関連オリジンサーバ106、オリジンサーバ108及び外部オリジンサーバ118に由来するコンテンツオブジェクトのキャッシュに関しては、キャプティブコンテンツ交換部704を利用できない。このため、クライアントコンピュータ112の優先情報512はパブリックコンテンツ交換部702しか含まず、キャプティブコンテンツ交換部704は含まない。
【0085】
本実施形態において、キャプティブコンテンツ交換部704はパブリックコンテンツ交換部702に接続されている。これによって、ユーザからの要求があった場合に、欠落したコンテンツオブジェクト又はコンテンツオブジェクトの一部がコンテンツ交換部702とコンテンツ交換部704との間でやり取りされるようになる。優先コンテンツ交換部702,704からコンテンツオブジェクトが要求された場合、コンテンツオブジェクトの少なくとも一部に対する検索を先ずローカルで実行する。発見なかった場合、他のコンテンツ交換部702,704を検索し、それでも発見できなければ、最初にコンテンツオブジェクトをシステム700に提供したオリジンサーバ106,108,118,712にコンテンツオブジェクトを要求する。しかし、別の実施形態においては、キャプティブコンテンツ交換部704とパブリックコンテンツ交換部702との間でファイルの交換が行なわれないことがある。
【0086】
種々の実施形態において、キャプティブコンテンツ交換部704は中央局、ヘッドエンド、ISPロケーション、又はインターネットバンド幅が関連クライアントコンピュータ708への「ラストワンマイル」すなわち末端経路をたどりはじめるノードに置かれることがある。キャッシュを最終目的地のできるだけ近くに移動させることによって、ボトルネックを解消し、QOSを向上させることが可能になる。例えば、DOCSIS準拠のモデムを介して関連クライアントコンピュータ708にサービスを提供しているケーブルマルチシステムオペレータ(MSO)は、ヘッドエンド、又は隣接するノードにキャプティブコンテンツ交換部704を設けていることがある。このように、関連クライアントコンピュータ708と関連オリジンサーバ712とがコンテンツ交換部704に接続され、キャッシュを利用することで改善したQOSを提供する。
【0087】
図8を参照する。コンテンツ配信システム800のさらに別の実施形態のブロック図が示されている。本実施形態は、キャプティブコンテンツ交換部704、関連クライアントコンピュータ708及び関連オリジンサーバ712が、インターネット120を介して仮想的に接続されている状態を示している。機能ブロック704,708,712はいかなる方法で接続してもよい。例えば、キャプティブコンテンツ交換部704は、ファイバ/ケーブルのハイブリッド配信システムを介して関連クライアントコンピュータ708に接続される。これに対し、関連オリジンサーバ712は、インターネット120を介してキャプティブコンテンツ交換部704に接続される。
【0088】
次に図9を参照する。利用可能な記憶容量を有する利用可能なキャプティブコンテンツ交換部704にデータを取り込むための一実施形態の処理900を表すフロー図が示されている。図に示した処理900は、ステップ904から開始し、このステップではバンド幅の利用度がしきい値を下回っているか否かが判定される。検査対象のバンド幅は、本実施形態では全ての関連オリジンサーバ712とキャプティブコンテンツ交換部704との間のバンド幅であるが、他の実施形態では1つの関連オリジンサーバ712とキャプティブコンテンツ交換部704との間のバンド幅となることもある。
【0089】
ステップ908において、どのオリジンサーバが関連オリジンサーバ712であるのか特定する。この情報を求めてアクティブディレクトリ104に対して問い合わせが行なわれることもあれば、キャプティブコンテンツ交換部704にこの情報がローカルに維持管理されていることもある。関連オリジンサーバ712が判明したら、ステップ912において、各ローカルコンテンツカタログ316を問い合わせて、その関連オリジンサーバ712で利用可能なコンテンツオブジェクトを特定する。
【0090】
ステップ916において、全ての関連オリジンサーバ712からのコンテンツオブジェクトを分析し、コンテンツオブジェクトのランクを決定する。本実施形態では、コンテンツオブジェクトの人気によりランクを決定している。このアルゴリズムにおいては、人気の決定に際し、前の日にコンテンツオブジェクトがダウンロードされた回数を求めているが、他の実施形態では、別の時間間隔を使用することも可能である。本実施形態では人気に基づいてランクを決定しているが、他の実施形態では、コンテンツオブジェクトのサイズ、コンテンツオブジェクトの価格、及び/又は他の要因に基づいてランクを決定してもよい。
【0091】
関連オリジンサーバ712又はキャプティブコンテンツ交換部704は、クリックスルーの回数、すなわちコンテンツオブジェクトのヒット回数を決定することによってそれぞれ人気をモニタしてもよい。選択されたコンテンツオブジェクトを関連オリジンサーバ712に転送するCGIスクリプトを用いて、クライアントコンピュータのユーザのクリックスルーをモニタすることができる。転送されたクリックスルーは記録されて、クライアントコンピュータ112,708は、コンテンツオブジェクトの供給元であるコンテンツ交換部702,704にあて先変更される。
【0092】
ステップ920において、人気コンテンツオブジェクトを記憶するために割り当てる、コンテンツ記憶部412のキャッシュ空間の容量を決定する。本実施形態では、コンテンツ記憶部412の記憶容量の半分を人気コンテンツの記憶に使用するが、他の実施形態では、コンテンツ記憶部412の記憶容量に対する割合の値を変えてもよい。
【0093】
ステップ922において、コンテンツオブジェクトのいずれがコンテンツ記憶部412に既に記憶されているか否かを特定する。ステップ922では、記憶済みの内容を特定するために、関連オリジンサーバ712のローカルコンテンツカタログ316と、キャプティブコンテンツ交換部704のローカルコンテンツカタログ416とを比較し、記憶されていないコンテンツオブジェクトを判定する。既に記憶されているコンテンツオブジェクトは、ステップ924において、再ロードが不要であるとマークされる。
【0094】
ステップ928において、高ランクのコンテンツオブジェクトのうち、割り当てられたキャッシュ空間に格納されるが、まだロードされていないものを特定する。キャッシュ空間に格納されないコンテンツオブジェクトはリストから削除される。リストで最も人気の低いものから順に、コンテンツ記憶部412に存在しないコンテンツオブジェクトが要求され、このコンテンツオブジェクトをコンテンツ記憶部412にロードされる。リストをたどっていく際に、コンテンツ記憶部412に既にロードされているコンテンツオブジェクトがリストに見つかれば、そのコンテンツオブジェクトがキャッシュの前方に移動される。このようにして、格納される全ての人気コンテンツオブジェクトが、ランクに従ってキャッシュに記憶される。ランクの低いコンテンツオブジェクトは、そのコンテンツオブジェクトに対するヒットや要求がその後発生しなければ、キャッシュの後方から排除される。
【0095】
ある実施形態では、各関連オリジンサーバ712のコンテンツオブジェクトが取り込まれる処理が、他の関連オリジンサーバ712のコンテンツオブジェクトを取り込むための別の処理と並列して実行される。特定の関連オリジンサーバ712と、キャプティブコンテンツ交換部704との間のバンド幅を調べて、バンド幅の利用度がしきい値を下回ったか否かが判定される。しきい値を下回ると、コンテンツオブジェクトがキャプティブコンテンツ交換部にロードされる。これと並行して、他の関連オリジンサーバ712のコンテンツオブジェクトが取り込まれる。
【0096】
図10を参照する。キャプティブコンテンツ交換部704にデータを取り込むための他の実施形態による処理1000を表すフロー図が示されている。本実施形態においては、キャッシュに代わってファイルシステムが使用されている。コンテンツオブジェクトは、期限切れとなる時期が到来するまでファイルシステムにロードされたままとなる。例えば、わずか24時間でこのファイルが上書きされるように、有効期限が1日に設定されて、コンテンツオブジェクトがロードされることがある。
【0097】
本実施形態と図9に示した実施形態とが大きく異なるのは、ステップ1004以降である。このステップにおいて、プリロードのために予約されているファイルシステム空間の容量が判定される。このファイルシステム空間は、キャッシュに使用されている空間とは論理的に分離されている。ファイルシステムに記憶されているコンテンツオブジェクトが、キャッシュにも重複して記憶されるべきではない。ステップ1002及びステップ924において、これらのファイルのエントリがマークされ、キャッシュに既に記憶されているファイルが再ロードされないようにする。ステップ1008において、ファイルシステムに格納されないコンテンツオブジェクトがリストから削除される。ステップ1012において、まだロードされてはいないが、格納すべきコンテンツオブジェクトがロードされる。ファイルシステム内の全コンテンツオブジェクトの有効期限が1日又はその他の期限に設定される。
【0098】
図11を参照する。キャプティブコンテンツ交換部704にデータを取り込むためのさらに別の実施形態による処理1100を表すフロー図が示されている。本実施形態においては、キャプティブコンテンツ交換部704は、システム700で利用可能になった直後にデータを自身に取り込む。例えば、キャプティブコンテンツ交換部704は電源投入直後にデータを自身に取り込むことがある。本実施形態では、キャッシュに記憶済みのコンテンツオブジェクトを特定せずに、格納すべき全コンテンツオブジェクトをロードする。
【0099】
上の図9〜図11の実施形態では、キャプティブコンテンツ交換部704にデータを読み込んでいる。パブリックコンテンツ交換部702にデータを取り込む実施形態も可能である。アクティブディレクトリ104において、インターネットで人気のあるコンテンツオブジェクトを特定し、かつパブリックコンテンツ交換部702の分散ネットワークから要求される可能性の高い、これらのオブジェクトの場所を特定する処理を行なってもよい。QOSが改善したコンテンツを利用できるように、アクティブディレクトリは、パブリックコンテンツ交換部702に対してコンテンツをプリロードするように指示してもよい。
【0100】
次に図12を参照する。オリジンサーバ106,108,118,712からのコンテンツを分散記憶システムに取り込むための一実施形態による処理1100を表すフロー図が示されている。本実施形態において、オリジンサーバ712は、ホスティングが許可されている場合、システム700で利用可能になった直後にキャプティブコンテンツ交換部704にデータを取り込む。オリジンサーバ106,108,118,712がオンラインになったときに、図の処理がステップ1204から開始する。ステップ1208において、オリジンサーバ106,108,118,712に関連付けられたキャプティブコンテンツ交換部704が存在するか否かが判定される。関連付けられたキャプティブコンテンツ交換部704が存在しない場合、プリロードは行なわれず、ステップ1212及びステップ1240へと処理が進み、ステップ1240において、優先コンテンツ交換部702,704によってコンテンツオブジェクトに対する要求が満たされる。
【0101】
ステップ1220において、キャプティブコンテンツ交換部704上でコンテンツオブジェクトのホスティングが、オリジンサーバ106,108,118,712に対して許可されているかどうかがさらに判定される。キャプティブコンテンツ交換部704は、自身のコンテンツオブジェクトの負荷を軽減するために、オリジンサーバ106,108,118,712の能力の補償を要求することがある。ホスティングが許可されている場合、ステップ916においてコンテンツオブジェクトの人気が判定される。ステップ1228において、最も人気のあるオブジェクトがキャッシュの後方から最後に放出されるように、コンテンツオブジェクトがキャプティブコンテンツ交換部704にロードされる。上記のように、ファイルシステムを用いて、コンテンツオブジェクトの各々に対して有効期限情報を指定する別の実施形態も可能である。
【0102】
ホスティングが許可されていない場合、ステップ1220においてキャプティブコンテンツ交換部704にコンテンツオブジェクトを取り込ませることにより、上りバンド幅を節約することが可能になる。キャプティブコンテンツ交換部704にコンテンツオブジェクトを一旦読み込めば、その後他のコンテンツ交換部702,704に効率的にコンテンツオブジェクトを転送できるようになる。ステップ1224において、クライアントコンピュータ112はオリジンサーバ106,108,118,712からコンテンツを要求する。ステップ1232において、コンテンツ交換部702,704のいずれかにコンテンツが既に記憶されているか否かが判定される。オリジンサーバ106,108,118,712からのコンテンツがコンテンツ交換部702,704のいずれかに既に記憶されている場合、ステップ1240において、クライアントコンピュータ112は、優先コンテンツ交換部702,704に導かれる。必要に応じて、優先コンテンツ交換部702,704は、コンテンツオブジェクトを既に有する他のコンテンツ交換部702,704からコンテンツオブジェクトを取得することも可能である。
【0103】
ステップ1232の判定において、コンテンツオブジェクトがコンテンツ交換部702,704の分散ストレージネットワーク上で利用できない場合、クライアントコンピュータ112は、オリジンサーバ712に関連するキャプティブコンテンツ交換部704に導かれる。このように、キャプティブコンテンツ交換部704は、関連オリジンサーバ712からのコンテンツオブジェクトを優先的に記憶する。
【0104】
図13を参照する。コンテンツ交換部702,704のリストをクライアントコンピュータ112,712に提供するための一実施形態による処理1300を表すフロー図が示されている。本実施形態においては、キャプティブコンテンツ交換部704に対する確認が行なわれた後に、優先コンテンツ交換部702,704のリストがクライアントコンピュータ708に提供される。処理はステップ1304から始まり、このステップでキャプティブコンテンツ交換部704がどの関連クライアントコンピュータ708と関連付けられているかが特定される。この関連付けは、アクティブディレクトリ104などの中心的な場所に記録されている。
【0105】
ステップ1308において、クライアントコンピュータ112,708は、アクティブディレクトリ104からコンテンツ交換部702,704のリストを要求する。ステップ1312において、キャプティブコンテンツ交換部704が存在するか否かが判定される。キャプティブコンテンツ交換部704が存在する場合、ステップ1308に処理が移り、これらキャプティブコンテンツ交換部704をリストに追加する。ステップ1312において、十分なQOS、すなわち適切なQOSを有する可能性が高いその他のパブリックコンテンツ交換部702をリストに追加する。ステップ1312での判定時にキャプティブコンテンツ交換部704が存在しない場合、ステップ1308が省略されて、キャプティブコンテンツ交換部704を含まない優先コンテンツ交換部702のリストが生成される。
【0106】
優先コンテンツ交換部702,704のリストが生成されたら、ステップ1316において、このリストがクライアントコンピュータ112に送信され、優先情報データベース512に格納される。クライアントコンピュータ112は、リストに掲載されている各コンテンツ交換部702,704を分析し、これらをランク付けする。通常、キャプティブコンテンツ交換部704は、関連クライアントコンピュータ708に対し最高のQOSを提供することができる。
【0107】
上記の詳細説明を考慮に入れれば、本発明の利点は直ちに明らかになるであろう。例を挙げると、コンテンツ交換部にコンテンツオブジェクトをプリロードすることによってQOSが改善される。始動事象に基づいてプリロードを行なうことによって、関連オリジンサーバとキャプティブコンテンツ交換との間で、上り接続を介してコンテンツオブジェクトを制御可能な方法で送信できるようになる。コンテンツオブジェクトがキャプティブコンテンツ交換部に一旦ロードされれば、その後コンテンツオブジェクトに対する要求により関連オリジンサーバの負荷が増大しにくくなる。
【0108】
発明の多数の変更例並びに変形例を用いることも可能である。例えば、上に挙げた実施形態には、バンド幅の利用度の低下が検出された場合にコンテンツ交換部のプリロードが開始されるものがあるが、夜中などの特定の時間にプリロードを行なう実施形態も可能である。夜中はバンド幅の利用度が最も低下する可能性が高い。
【0109】
特定の装置並びに方法に関連付けて本発明の原則を記載したが、本詳細説明は例示のみを目的としており、本発明の範囲を限定するものではないことが明確に理解される。
【図面の簡単な説明】
【図1】コンテンツ配信システムの一実施形態を示すブロック図。
【図2】コンテンツ配信システムのアクティブディレクトリ部の実施形態を示すブロック図。
【図3A】コンテンツ配信システムのオリジンサーバ部の実施形態を示すブロック図。
【図3B】コンテンツ配信システムの外部オリジンサーバ部の実施例のブロック図。
【図4A】コンテンツ配信システムのコンテンツ交換部の実施形態を示すブロック図。
【図4B】コンテンツ配信システムのコンテンツ交換部の他の実施形態を示すブロック図。
【図4C】複数のコンテンツ交換サーバを有するコンテンツ交換サイトの実施形態を示すブロック図。
【図5】コンテンツ配信システムのクライアントコンピュータ部の実施形態を示すブロック図。
【図6】コンテンツ配信システムの実施形態を示すブロック図。
【図7】2種類のコンテンツ交換部を有するコンテンツ配信システムの他の実施形態を示すブロック図。
【図8】コンテンツ配信システムのさらに別の実施形態を表すブロック図。
【図9】利用可能な記憶容量を有するキャプティブコンテンツ交換部にデータを取り込むための処理の一実施形態を表すフロー図。
【図10】キャプティブコンテンツ交換部にデータを取り込むための処理の別の実施形態を表すフロー図。
【図11】キャプティブコンテンツ交換部にデータを取り込むための処理のさらに別の実施形態を表すフロー図。
【図12】オリジンサーバに由来するコンテンツを有する分散ストレージシステムにデータを取り込むための処理の一実施形態を表すフロー図。
【図13】コンテンツ交換部のリストをクライアントコンピュータに提供するための処理の一実施形態を表すフロー図。
本出願は、2000年7月1日に出願された米国仮特許出願第60/209,007号及びに2000年9月18日に出願された米国特許出願第09/665,204号の利益を主張する。
【0002】
(背景)
本発明は、一般に情報の記憶に関し、より詳細には、ネットワーク上での情報の記憶に関する。
ブロードバンド関連産業において、ストリーミングコンテンツのために通信品質(QOS)を向上させるための取り組みが続けられている。現在、インターネットのインフラストラクチャは、データのストリームを一定のデータレートで長時間にわたり提供するのに足る能力を十分に備えていない。これに対する解決策として試みられてきたのが、ユーザがデータを要求する点と、オリジンサーバがデータを提供する点との間で情報をキャッシュする方法である。
【0003】
QOSに影響を及ぼす、インターネットインフラストラクチャの制約は他にも多数存在する。QOSに影響を与える現在の制約の例として、インターネットサービスプロバイダ(ISP)が上りバンド幅に課している制約がある。インターネットサービスプロバイダは上りバンド幅を下りバンド幅の数分の1に制限していることが多い。
【0004】
多くの加入者がバンド幅を利用する状況においては、制限を受けた上りバンド幅は、ピーク負荷によってさらなる制約を受ける。例えば、就業時間の直後にインターネットシステムに対する要求が増大する。これは多くの人が電子メールの到着状況の確認やウェブの閲覧を行なうことによる。要求がこのように増大する結果、全ユーザのネットワーク接続の速度が低下し、ユーザに負担を強いることになる。ピーク時間帯に必要とされるバンド幅を減らせるような方策に対する要望は非常に高い。
【0005】
添付の図面を参照して本発明を詳述する。
添付の図面において、類似した要素、及び/又は機能は、同一の参照符号を有する場合がある。さらに、同一種類の異なる要素は、参照符号に続くダッシュや、類似した要素同士を識別させる第2の符号によって識別される。第1の参照符号のみが明細書で使用されていれば、その記載は第2の参照符号に関わりなく、同一の第1の参照符号を有したあらゆる類似の要素のうちの1つにも適用可能である。
【0006】
(特定の実施形態の詳細)
下記の詳細説明は、好適な実施形態の代表例について記載したものであって、本発明の範囲、適用範囲並びに構成を限定することを意図するものではない。好適な実施形態の代表例に関する下記の詳細説明はむしろ、本発明の好適な実施形態の代表例を当業者が実施できるようにすることを目的としている。添付の特許請求の範囲に記載されている本発明の精神及び範囲から逸脱することなく、本発明の要素の機能及び配置を様々に変更することができることが理解される。
【0007】
本発明は、コンテンツ交換部にコンテンツオブジェクトをプリロードするための技術を含む。典型的には、プリロードされるコンテンツ交換は、クライアントコンピュータ及びオリジンサーバに関連付けられている。オリジンサーバ上のコンテンツオブジェクトの少なくとも一部が関連コンテンツ交換部にロードされる。始動事象が発生すると、コンテンツ交換部にコンテンツオブジェクトがロードされる。このような始動事象の例として、コンテンツ交換部に入るバンド幅の利用率の低下などが挙げられる。
【0008】
図1を参照する。コンテンツ配信システム100の実施形態のブロック図が示されている。本実施形態においてコンテンツ配信システム100は、アクティブディレクトリ104と、1つ以上のオリジンサーバ108と、1つ以上のクライアントコンピュータ112と、1つ以上のコンテンツ交換部116と、1つ以上の外部オリジンサーバ118と、1つ以上の非関連オリジンサーバ106と、インターネット120と、クローリングディレクトリ124とを有する。特定のクライアントコンピュータ112は、アクティブディレクトリ104と対話して、ダウンロードするためのコンテンツオブジェクトを選択する。オブジェクトは、ストリーミングメディアの場合にはダウンロードの間に再生可能であり、或いは後時に再生するために記憶することも可能である。コンテンツオブジェクトは、ネットワークからダウンロード可能な、例えば、オーディオ、ビデオ、データなどあらゆる種類の情報であってもよい。コンテンツオブジェクトの要求は、優先情報とともにクライアントコンピュータ112から適切なオリジンサーバ108に転送される。オリジンサーバ108は、オブジェクトをどこからダウンロードするかを決定する。満足すべきQOSを提供するために、あらゆるコンテンツ交換部116、或いはオリジンサーバ108自体がオブジェクトを提供可能である。
【0009】
アクティブディレクトリ104は、クライアントコンピュータ112がコンテンツオブジェクトを選択するために用いるインタフェースとなり得る。コンテンツ配信システム100を可能とするために、オリジンサーバ108と任意のクライアントコンピュータ112の双方のためのソフトウェアがアクティブディレクトリ104からダウンロードされ得る。希望するコンテンツオブジェクトを判定するために、アクティブディレクトリ104に存在するディレクトリインタフェースページ、又は検索インタフェースページのいずれかを使用してもよい。オリジンサーバ108上のコンテンツオブジェクトとのリンク中断を回避すべく、インタフェースはアクティブに維持される。コンテンツ交換部116がオリジンサーバ108からコンテンツオブジェクトを要求する場合、アクティブディレクトリ104は、コンテンツオブジェクトの発生源である適切なオリジンサーバ108へ戻るパスを提供可能である。
【0010】
他の実施例では、複数のアクティブディレクトリを有してもよい。複数のアクティブディレクトリの間で負荷を分散するために、システムのユーザがいくつかのアクティブディレクトリに振り分けられていてもよい。さらに、1つのアクティブディレクトリがオフラインの場合には他のアクティブディレクトリが負荷を吸収できるように、他のアクティブディレクトリを冗長化のために使用してもよい。
【0011】
いくつかの実施形態においてオリジンサーバ108は、コンテンツオブジェクトのソースとして機能し、コンテンツオブジェクトの優先ソースにユーザを導き、アクティブディレクトリ104にディレクトリ情報を提供する。コンテンツオブジェクトはオリジンサーバ108によってシステム100に導入される。導入は、アクティブディレクトリ104を利用可能にするための、オリジンサーバ管理者によるコンテンツオブジェクトの選択を含む。管理者とは、オリジンサーバ108を管理する人又はシステムである。コンテンツオブジェクトには、以前に記憶された情報、或いは情報のストリーミングによる提供が含まれる。オリジンサーバ108は所定のサイクルにしたがって、オリジンサーバ108上のコンテンツの変更とともに更新される選択情報のカタログを提供する。
【0012】
オリジンサーバ108は、コンテンツオブジェクトをダウンロードするために、クライアントコンピュータ112に指示すべき優先ソースを判定する。クライアントコンピュータ112の優先リストと、コンテンツ交換の負荷と、コンテンツオブジェクトのコピーがある場所との全ては、クライアントコンピュータを情報の優先ソースへとあて先変更する際にオリジンサーバ108にて検討する事項である。そのソースは、オリジンサーバ108自体か、又はコンテンツ交換部116のうちの1つである。
【0013】
ユーザは、所望のコンテンツオブジェクトを見つけ、その後そのオブジェクトをダウンロードするために、その場所をクライアントコンピュータ112に指示する。クライアントコンピュータ112は、アクティブディレクトリ104からダウンロードしたビューワオブジェクトプロキシソフトウェアを使用して、適切なQOSでコンテンツ配信が可能なコンテンツ交換部116を判定する。この適切なQOSを有するコンテンツ交換部116を判定する処理には、例えば最高の結果を生成する可能性が高いコンテンツ交換部からのテスト情報の受信と、これらのテスト結果に基づいたリストの生成が含まれる。カスタマイズされた方法を要望する場合、ユーザは、コンテンツ交換部116の優先リストを変更できる。オリジンサーバ108が要求されたコンテンツオブジェクトのソースを決定する際に、適切なQOSを提供するために優先情報を使用する。
【0014】
非関連コンテンツサーバ106は、インターネット上に存在し、システム100に正式に関連付けられていないサーバである。本実施形態において、コンテンツ交換部116は、非関連コンテンツサーバ106からのコンテンツオブジェクトをキャッシュして、クライアントコンピュータ112に対して改善したQOSを提供する。ある実施形態においては、クライアントコンピュータ112のユーザは、コンテンツ交換の所有者に、改善したQOSに対する対価を支払う。
【0015】
外部オリジンサーバ118は、クライアントコンピュータ112が利用可能なコンテンツオブジェクトのさらなるソースである。一実施形態では、外部オリジンサーバ118は、コンテンツ交換部116に接続される。外部オリジンサーバの負荷を過度に増大させることなく配信状況を改善するために、外部オリジンサーバ上のコンテンツオブジェクトが、分散するコンテンツ交換部にミラーリングされる。コンテンツオブジェクトを外部オリジンサーバ118から要求するクライアントコンピュータ112は、トランスペアレントにコンテンツ交換部116にあて先変更され、コンテンツオブジェクトに対する要求が満足される。
【0016】
コンテンツ交換部116は、コンテンツオブジェクトをキャッシュするストレージリポジトリである。これら多数のコンテンツ交換部116は、インターネット120の異なる箇所に設置され、コンテンツオブジェクトをキャッシュする。このように、クライアントコンピュータ112はいずれも、インターネット120上で自身の近くにキャッシュを有している可能性がある。情報は、例えば、ユーザにとっての情報の要望度や、ユーザが直ちに利用可能なコンテンツを要求するオリジンサーバ108へのサービスや、改善したQOSを要求するユーザへのサービス、下りバンド幅の負荷低減などの、多くの考察に基づいてキャッシュされる。コンテンツ交換部116のグループ化は、かたまりごとであっても、或いはコンテンツオブジェクトに対するクライアントコンピュータ112の要求を提供すべく個別であってもよい。
【0017】
上記のように、オリジンサーバ108は、要求を満足させるために、クライアントコンピュータ112からコンテンツ交換部116に送信されたコンテンツオブジェクトに対する要求を参照することもある。要求されているコンテンツオブジェクト、又はその一部を、それを要求しているユーザがコンテンツ交換部116から見つけられない場合、コンテンツ交換部116から他のコンテンツ交換部へ、そのコンテンツオブジェクトの要求がなされる。他のどのコンテンツ交換部116もコンテンツオブジェクトを有しない場合、アクティブディレクトリ104においてオリジンサーバ108、割り当てられていないオリジンサーバ106又は外部オリジンサーバ188に対する問い合わせがなされる。オリジンサーバ108、割り当てられていないオリジンサーバ106又は外部オリジンサーバ188は、コンテンツオブジェクトのソースであり、かつコンテンツオブジェクトがそこからコンテンツ交換部116にダウンロードされる。コンテンツ交換部116がコンテンツオブジェクトを集めている間、クライアントコンピュータ112は、ダウンロード可能な最初の部分を受信している。コンテンツオブジェクトはいくつかのコンテンツ交換部116に部分ごとに記憶可能であり、このような状況では、要求を出すコンテンツ交換部116がそれら部分を検索して、クライアントコンピュータ112に要求されているような全体のコンテンツオブジェクトに再構築する。
【0018】
クローリングディレクトリ124は、全オリジンサーバ108が報告するカタログ情報を補充するために使用される。ユーザのためにコンテンツオブジェクトを検索する際、アクティブディレクトリ104は、オリジンサーバ108から入手可能なコンテンツオブジェクト、及びクローリングディレクトリ124が発見した、非関連オリジンサーバ106又は外部オリジンサーバ188に存在する他のコンテンツオブジェクトを表示できる。クローリングディレクトリ124は、ウェブを横断することによって遭遇したコンテンツオブジェクトやその他の情報をカタログ化する。例えば、ユーザは、アクティブディレクトリ104によりクローリングディレクトリ124をキーワード検索して、外部オリジンサーバ118又は非関連オリジンサーバ106上のコンテンツオブジェクトに到達できるようになる。これらのコンテンツオブジェクトは、どのオリジンサーバ108からも入手することができない。クライアントコンピュータ112がコンテンツオブジェクトをダウンロードした時にそれをキャッシュするために、コンテンツ交換部116の1つがアクティブディレクトリ104によって選択される。本実施形態では、1つのクローリングディレクトリ124だけを使用しているが、他の実施形態では、さらなる検索結果を提供すべく、多数のクローリングディレクトリを使用可能である。
【0019】
インターネット120は、ノードによって共にリンクされた複数のサーバからなる。データは、最終のあて先に到達するまで1つのノードから次のノードへと、ホッピングしてインターネット120を進行するパケットに分割される。各パケットは、インターネット内で異なるルートをとってもよく、異なる時に最終受信地に到着してもよい。さらに、任意のノードのバンド幅が飽和する時には、いくつかのパケットがインターネット120中を進行している間に消失することがある。コンテンツオブジェクトのソースと最終あて先との間のホップ数が増加すると、過度の遅延やパケット消失の可能性も同様に増加する。
【0020】
コンテンツオブジェクトが、ソースから最終あて先までインターネット120内のパスを横断するため、パス内の任意の2ノード間の最小バンド幅によって、そのパスの最大バンド幅が決まる。通常、インターネット120からクライアントコンピュータ(たとえば「ラストワンマイル」)までのバンド幅には、最小のバンド幅が割り当てられている。ただし、場合によっては、ノード間の他のホップでバンド幅が最小となることもある。コンテンツ交換部116とクライアントコンピュータ112との間のホップが最も少ない状態で、コンテンツ交換部116にコンテンツオブジェクトをキャッシュするによって、十分なQOSすなわち満足なQOSが達成される可能性が高くなる。
【0021】
クライアントコンピュータからインターネット120へのデータレートを上回らない好適なデータレートでコンテンツオブジェクトをダウンロードすることが、適切なQOSとなる。ユーザが期待できる最高のQOSは、それらのネットワークへの接続速度や、それらのコンピュータの処理能力や、他の要因によって決定される。最低のQOSは、ユーザが一定の制約において要望する品質に基づき、ユーザが主観的に決定する。例えば、オーディオクリップのために、28Kbps、56Kbps、128Kbpsでのストリームの選択肢があるとき、400Kbpsのネットワーク接続と高速コンピュータを有するユーザは、その中から128Kbpsのストリームを選択してもよい。クライアントコンピュータが提供するデータ速度が128〜400Kbpsの範囲にある限り、そのストリームに適切なQOSを得る事ができる。
【0022】
上記の実施形態は、主に異なるブロック間の接続にインターネット120を使用しているが、他の実施形態では、インターネット120以外のプライベートリンクを使用、又は併用してもよい。このプライベートリンクは、QOSの改善に十分成るバンド幅を割り当てることができるか、或いはQOSを改善するための他の手法を使用していることがある。さらに、外部オリジンサーバ118又は非関連オリジンサーバ106上のコンテンツオブジェクトは、コンテンツキャッシング、暗号化及び圧縮が提供される場合には、システム100から恩恵を受けることがある。
【0023】
図2を参照する。コンテンツ配信システム100のアクティブディレクトリ部104の実施形態を示すブロック図が示されている。アクティブディレクトリ104は、ダイナミックドメインネームサーバ(DNS)204と、サーバマネージャ208と、ディレクトリページ212と、検索ページ216と、ダウンロードページ220と、加入者データベース224と、サーバデータベース228と、コンテンツ交換データベース232と、ルーティングデータベース234とを有する。コンテンツ配信システム100は、ユーザにディレクトリ情報を提供するためにアクティブディレクトリ104と対話し、ユーザによるコンテンツオブジェクトのダウンロードを支援する。
【0024】
クライアントコンピュータ112のユーザ、及びオリジンサーバ108の管理者の両方が、コンテンツ配信システム100の加入者である。ソフトウェアは、ダウンロードページ220からユーザ、及び/又は、管理者にダウンロードされる。実施形態によってはクライアントコンピュータ112のためのソフトウェアが随意にあり、インストールされた場合にQOSを改善する。オリジンサーバ108のソフトウェアは、アクティブディレクトリ104がシステム100上で利用できるコンテンツを更新し、そのコンテンツを受信するための優先ソースにクライアントコンピュータ112を導くことを可能とする。
【0025】
クライアントコンピュータ112は、アクティブディレクトリ104のドメインに接続して、所望のコンテンツオブジェクトを見出す。優先度にしたがって、コンテンツオブジェクトを見つけるためにユーザはディレクトリページ212や検索ページ216を使用してもよい。検索ページ216は、クローリングディレクトリ124から収集された情報だけでなく、全てのオリジンサーバ108が提供したコンテンツオブジェクトのカタログにアクセスする従来のブールの検索エンジンであってもよい。他の実施形態では、オリジンサーバ108からのコンテンツの検索が不成功に終わった場合にはクローリングディレクトリ124からの情報のみを表示するか、或いは、クローリングディレクトリ124からの情報を全く除外する場合がある。全オリジンサーバ108のコンテンツオブジェクトのカタログは、サーバデータベース228に維持される。
【0026】
本実施形態において、ディレクトリページ212は、利用可能なコンテンツオブジェクトを、対象に基づいて編成されるカテゴリの階層に分類する。例えば、最初のページには、大衆が関心を持つ多数の主題を表示しており、ユーザはこの中からスポーツを選択する。階層において1つ下の層にある次のページでは、多数のスポーツを表示しており、ユーザはこの中からフットボールを選択する。さらに1つ下の階層レベルで、ユーザは、サンディエゴチャージャーズ(TM)を選択して、関連したコンテンツオブジェクトのリンクである別のページを見ることがある。これらのリンクの各々は、コンテンツオブジェクトの発生源であるオリジンサーバ108を指している。
【0027】
管理者は、オリジンサーバ108上のコンテンツを分類して、ディレクトリページ212にそれを適切に表示させる。管理者は、サイト、ディレクトリ、又はファイルごとに、そのコンテンツオブジェクトに関連するHTML SSIタグにおいてコンテンツオブジェクトのカテゴリを選択できる。この分類を入手しアクティブディレクトリに記憶して、コンテンツオブジェクトが複数のカテゴリに分類されるようにする。さらに、調停者がディレクトリページ212のカテゴリにコンテンツオブジェクトを記載して配置してもよい。例えば、調停者はあるコンテンツオブジェクトをより目立たせて表示する対象とするためにマークをつけ、及び/又は、コンテンツオブジェクトについてのレビュー及び/又は概要をつけることがある。
【0028】
サーバマネージャ208は、全てのクライアントコンピュータ112、全てのオリジンサーバ108、全ての外部オリジンサーバ118、全てのコンテンツ交換部116、及び、オリジンサーバ108上の全てのコンテンツオブジェクトに関する情報を維持管理する。クライアントコンピュータ112とオリジンサーバ108に関する情報は、加入者データベース224で維持管理される。クライアントコンピュータ112に関連した各ユーザについて、フルネーム、ログインネーム、パスワード、固有のネーム、利用できる代用貨幣クレジット、その他の情報が加入者データベース224で維持管理される。このデータベース224は、また、オリジンサーバ108を確認した最終時刻、オリジンサーバ108のインターネットプロトコル(IP)アドレス、コンテンツマネージャサーバが実行するポート、オリジンサーバ108のオンライン/オフラインステータス、バナー広告URL、オリジンサーバ108の名前、オリジンサーバ108の説明、オリジンサーバ108を使用するのに必要なクレジット若しくは代用貨幣又は他の課金モデル、一度に可能な接続数やビューワ数を保持する。
【0029】
全てのオリジンサーバ108のコンテンツオブジェクトに関する情報は、サーバデータベース228で維持管理される。各コンテンツオブジェクトについて、オリジンサーバネーム、コンテンツオブジェクトファイルネーム、パスを、カテゴリ情報、概要、キーワードとともに記憶する。ディレクトリページ212、検索ページ216をナビゲーション中、ユーザにコンテンツ選択を提供するようサーバデータベース228に問い合わせる。サーバデータベース228に最新情報を維持するために、サーバマネージャ208は、周期的にオリジンサーバ108と対話してコンテンツオブジェクトのカタログの最新の変更を入手し、オリジンサーバ108がオフラインになったか否かを判定する。オリジンサーバ108がオフラインになったときは常に、そのオリジンサーバ108に対応するサーバデータベース228へのエントリを削除し、加入者データベース224のステータス情報を更新する。
【0030】
ある実施形態では、サーバデータベース228へのエントリは、オリジンサーバ108がオフラインになった後でも存続する。オリジンサーバに関連したコンテンツが利用できないことを反映するためにステータスを更新するが、情報は、サーバデータベース228内に記憶されたままである。ステータスがオンラインに更新されると、情報は、コンテンツオブジェクトを検索しているユーザに再び示される。状況によっては、オリジンサーバ108はある期間にオフラインになる予定であることをアクティブディレクトリ104に示してもよい。その期間が短期間だと推定される場合、アクティブディレクトリは情報をユーザに表示せずに、サーバデータベース228内に保持できる。
【0031】
システム100で利用可能なコンテンツ交換部116のリストは、コンテンツ交換データベース232にてサーバマネージャ208が維持管理する。ある実施形態では、コンテンツ交換データベース232は、コンテンツ配信システム100内で利用可能な全てのコンテンツ交換部116のIPアドレスのリストを含むことがある。さらに、コンテンツ交換データベース232は、各コンテンツ交換部116に関連した多数のコンテンツ交換フィールドを含むことがある。例えば、コンテンツ交換データベース232の各コンテンツ交換部116に関連したフィールドには、コンテンツ交換識別子、コンテンツ交換サイト、コンテンツ交換プロバイダ、コンテンツ交換名、コンテンツ交換位置、コンテンツ交換ステータス、アイコン、他のいかなる所望の情報が含まれ得る
【0032】
コンテンツ交換識別子とコンテンツ交換サイトはこれらを合わせて、特定のコンテンツ交換サイトにて固有のコンテンツ交換部116を識別する。コンテンツ交換プロバイダは、コンテンツ交換に責任を有する関係者、例えば、XYZ会社の標識である。コンテンツ名は、ドメインネームであり、コンテンツ交換位置は、コンテンツ交換部116についての地理的座標である。例示の実施形態では、コンテンツ交換データベース232は、コンテンツ交換識別子、コンテンツ交換サイト、コンテンツ交換IPアドレス、コンテンツ交換プロバイダ、コンテンツ交換名、コンテンツ交換場所、及び、コンテンツ交換データベース232における各コンテンツ交換部116のアイコンを含む。
【0033】
一般に、コンテンツ交換データベース232は、改良されたQOS基準、又はサブスクリプションサービス基準などの方法、或いはこれらに限らず様々な方法に基づいて、地域別に分類、又は分割できる。さらに、コンテンツ交換データベース232は、代替のアクティブディレクトリ104、オリジンサーバ108のリスト、或いは他のいかなる有益な情報を含むこともある。
【0034】
システム100のコンテンツ交換部116は、サーバマネージャ208にステータスを定期的に提供する。コンテンツ交換部116が利用可能、又は利用不能となった場合には、それら動作ステータスはサーバマネージャ208に報告され、コンテンツ交換データベース232に記録される。ある実施形態では、コンテンツ交換データベース232は、コンテンツ交換部116の負荷、容量、利用度、ヘルスなどを含む付加的なステータス情報を含むことができる。
【0035】
ルーティングデータベース234は、外部オリジンサーバ118のリストを有する。ある実施形態では、ルーティングデータベース234は、外部オリジンサーバ118に関する識別情報、ステータス情報、構成情報を有する。識別情報には、外部オリジンサーバ118のIPアドレスとドメインネームが含まれ得る。ステータス情報には、外部オリジンサーバの稼働率、負荷、又は他のステータスが含まれ得る。構成情報には、代替の外部オリジンサーバ118のリストが含まれ得る。一実施形態では、ルーティングデータベース234は、各外部オリジンサーバ118のIPアドレスとドメインネームを有する。ある実施形態では、ルーティングデータベース234内で外部オリジンサーバ118を識別することが、外部オリジンサーバ118をコンテンツ配信システム100と関連付けるための機構である。
【0036】
ルーティングデータベース内には、外部オリジンサーバ118の各々について、その外部オリジンサーバ118上の情報にアクセスするためにコンテンツ交換部116の使用が許可されたユーザ名のリストが存在する。ユーザ名は、クライアントコンピュータ112のユーザに一意的である。クライアントコンピュータがコンテンツ交換部116を介して経路決定可能な外部オリジンサーバ118のリストが、クライアントコンピュータ112に提供される。クライアントコンピュータ112は、ルーティングデータベースからの情報を使用して、外部オリジンサーバ118に対するユーザ要求をコンテンツ交換部116にあて先変更する。コンテンツ交換部116が外部オリジンサーバ118からのコンテンツオブジェクトを収容した後、外部オリジンサーバ118からコンテンツ交換部116にバンド幅の負荷が移される。この高度なサービスのためにユーザは、コンテンツ交換部116のオーナー、及び/又はオリジンサーバ108の管理者に、対価を払うこともある。
【0037】
動的DNS204は、オリジンサーバ108の各IPアドレスのオリジンサーバネームを提供する。オリジンサーバネームは、一意的にインターネット120上のオリジンサーバ108を識別する。この情報は、加入者データベース224で維持管理される。コンテンツ交換部116は、コンテンツ交換部116にコンテンツオブジェクトを提供したオリジンサーバ108のIPアドレスを知らないが、オリジンサーバネームは知っている。コンテンツ交換部116が、そのキャッシュに他のコンテンツ交換部116からは入手不能なコンテンツオブジェクト、又はその一部を収容したいときは、コンテンツオブジェクトのソースであるオリジンサーバ108のIPアドレス、又はドメインネームを判定するために、動的DNS204に問い合わせがなされる。ドメインネームを動的DNS204から検索する場合、そのドメインネームに対応するIPアドレスがDNSから検索される。
【0038】
次に図3Aを参照する。コンテンツ配信システム100のオリジンサーバ部108の実施形態を示すブロック図が示される。オリジンサーバ108は、管理者によって管理され、コンテンツ配信システム100にコンテンツオブジェクトのソースの1つを提供する。クライアントコンピュータを、所望のコンテンツオブジェクトを適切に配信可能なコンテンツ交換部116へと、導いているオリジンサーバ108によってQOSが提供される。オリジンサーバ108には、コンテンツソース304、コンテンツサーバ308、コンテンツマネージャ312、ローカルコンテンツカタログ316、コンテンツロケーションデータベース320、コンテンツ交換情報324、ヘルスチェック330が含まれる。
【0039】
コンテンツは、コンテンツソース304がオリジンサーバ108に提供する。コンテンツソース304は、ライブウェブカメラ、ビデオ又はオーディオフィード、データオブジェクト、データストリーム、ビデオテープ又はオーディオテープ、光学又は磁気ディスク、或いは他のあらゆるコンテンツ配信機構を含んでもよい。コンテンツオブジェクトは、システム100内での可能な配信のためにコンテンツソース304によってコンテンツサーバ308に配信される。
【0040】
維持されるコンテンツオブジェクトやコンテンツオブジェクトの部分について各コンテンツ交換部116に日時情報が維持される。その日時情報は、同一のオリジンサーバネーム、パス名、ファイル名を有するコンテンツオブジェクトを識別する。他の実施形態では、別法として、チェックサム(checksum)、巡回冗長検査(CRC)やハッシュ(hash)などの任意の固有コードを使用して一義的にコンテンツオブジェクトを識別する。
【0041】
オリジンサーバ308のコンテンツオブジェクトは全て、コンテンツサーバ308に記憶される。管理者は、システム100で利用不能とするために他のコンテンツオブジェクトをコンテンツサーバ308上に残す一方、システム100に掲載するためにコンテンツオブジェクトやコンテンツオブジェクトのグループを選択可能である。いくつかのコンテンツオブジェクトは、不連続のファイルであるが、他は、例えば、ライブウェブカメラによって生成されるコンテンツのストリームである。ある実施形態においては、コンテンツサーバ308を実行させるソフトウェアをコンテンツマネージャ312のソフトウェアと統合してもよい。
【0042】
コンテンツマネージャ312は、システム100に所望のコンテンツオブジェクトを掲載して、コンテンツマネージャ312に関連したコンテンツオブジェクトをダウンロードするためにユーザを好適なコンテンツ交換部116に導く。管理者の指示で、コンテンツマネージャ312はアクティブディレクトリ104に掲載するために、ファイルネーム、ディレクトリ、ドライブボリュームによってコンテンツオブジェクトやコンテンツオブジェクトのグループを選択する。コンテンツサーバ308上のいくつかのコンテンツオブジェクトは、システム100で利用不能とするために掲載から除外してもよい。
【0043】
システムに掲載するために選択されたコンテンツオブジェクトは、ローカルコンテンツカタログ316で維持管理される。ローカルコンテンツカタログ316へのエントリは、それらのエントリに対応するオブジェクトが利用不能、又は更新された場合には、最新の状態になるようにコンテンツマネージャ312が維持管理する。各エントリについて、コンテンツオブジェクトファイルネーム及びパスが、カテゴリ情報、概要、キーワードとともに記憶される。システム100への接続があり次第、ローカルコンテンツカタログ316はコンテンツマネージャ312によってアクティブディレクトリ104に送信され、サーバデータベース228に登録される。可及的に最新のディレクトリ情報を保つために、ローカルコンテンツカタログ316への変更を定期的にサーバデータベース228に送信する。更新は、2分毎など定期的間隔をおいて、及び/又は、ローカルコンテンツカタログが変更されるときは常に実行されることがある。
【0044】
コンテンツマネージャ312は、また、そのコンテンツマネージャ312に関連したコンテンツオブジェクトの全ての部分の記憶場所を知っている。システム100に接続するとすぐに、コンテンツマネージャ312は、各コンテンツ交換部116にステータスを問い合わせる。各コンテンツ交換部116は、対応するコンテンツマネージャ312にそのコンテンツオブジェクトやコンテンツオブジェクトの部分に関する情報を定期的に報告する。この情報を活用して、発信元のコンテンツマネージャ312は、クライアントコンピュータ112をコンテンツ交換部116に導くことが可能となる。コンテンツ交換部116は、所望のコンテンツオブジェクトのいくつか、又は全てをダウンロード可能な状態で有する。
【0045】
全てのコンテンツ交換部108が報告するコンテンツオブジェクトの記憶場所情報は、コンテンツマネージャによってコンテンツロケーションデータベース320に維持管理される。コンテンツロケーションデータベース320に照会することによって、コンテンツマネージャ312は、コンテンツオブジェクト、又はコンテンツオブジェクトの一部を有するコンテンツ交換部116を判定できる。クライアントコンピュータ112がコンテンツソースへルーティングされる間、特定のコンテンツ交換部112内でのコンテンツオブジェクトの存在は、ルートの決定に影響を及ぼすことがある。
【0046】
コンテンツ交換情報記憶装置324は、全てのアクティブなコンテンツ交換部116に関する情報を有する。オリジンサーバ108を起動すると直ちに、アクティブディレクトリ104のコンテンツ交換データベース232がコンテンツ交換情報記憶装置324にダウンロードされる。起動の後に、コンテンツ交換情報記憶装置324にリストされている全てのコンテンツ交換部116に対して、ステータス情報の照会が行なわれ、この情報がコンテンツ交換情報324として保持される。ステータス情報には、使用される同時並行のリンク数、許可された同時並行のリンクの合計数、バンド幅の利用度、及びキャッシュのチャーンレートが含まれる。キャッシュのチャーンレートは、キャッシュ内に未使用データが残存する時間であり、キャッシュのロード状況を表す。例えば、キャッシュの記憶量に比してビジーなコンテンツ交換部116のために、データは通常キャッシュから迅速に消去される。しかしいくつかの実施例では、使用のいかんにかかわらず、ある期間中、コンテンツ交換部116に固定されて残存する厄介なコンテンツオブジェクトを有することもある。
【0047】
コンテンツマネージャ312は、コンテンツオブジェクトを要求しているクライアントコンピュータ112を、そのオブジェクトの優先ソースへとインテリジェントにあて先変更する。クライアントコンピュータ112が送信する優先情報は、クライアントコンピュータ112が要求するコンテンツオブジェクトのソースを判定するために使用される。コンテンツオブジェクトのダウンロードのためにクライアントコンピュータ112を優先されたコンテンツ交換部116に導くため、この情報は、コンテンツオブジェクトの現在の記憶場所、及び使用可能なコンテンツ交換部の負荷とともに使用される。
【0048】
いくつかの実施形態では、コンテンツマネージャ312は、コンテンツオブジェクトへのアクセスを管理できる。クライアントコンピュータ112がコンテンツマネージャ312に関連したコンテンツオブジェクトのダウンロードを試行したときに、管理者がコンテンツオブジェクトにセキュリティを設定していた場合には、ログインダイアログを表示することができる。ユーザはコンテンツオブジェクトのソースにクライアントコンピュータ112のあて先を変更するために、ログインダイアログにユーザ名、及び/又はパスワードを入力してもよい。このユーザ名、及び/又はパスワードは、アクティブディレクトリ104に必要とされるあらゆるものに加えて必要である。クライアントコンピュータ112をソースにあて先変更する前に、ユーザ名、及び/又はパスワードやログイン情報は、オリジンサーバ108に事前に記憶されている、容認可能ログイン情報のリストと照合してチェックされる。オリジンサーバ108全体、或いはオリジンサーバ108のボリューム、ディレクトリ、又はコンテンツオブジェクトへのアクセスはこの方式で管理し得る。
【0049】
いくつかの実施形態では、オリジンサーバ108やアクティブディレクトリ104は、コンテンツ交換部116上にコンテンツオブジェクトをプリロードすることが許容されている。コンテンツオブジェクトの要求は、要望度を判定するために監視される。どのコンテンツオブジェクトをコンテンツ交換部116上にプリロードすべきか判定するために、要望度情報、課金情報、サイズ、及び/又は他の検討事項が使用される。オリジンサーバ108、アクティブディレクトリ104、コンテンツ交換部116のいずれかが、コンテンツオブジェクトをプリロードするためにコンテンツ交換部116からコンテンツオブジェクトを要求することが可能である。アクティブでないためにコンテンツオブジェクトがアンロードされないように、コンテンツオブジェクトのコンテンツ交換部上への定期的なロードをコンテンツ交換部116に対して要求することもある。他の実施形態では、あるコンテンツオブジェクトを、上に挙げた厄介なコンテンツオブジェクトとして指定することも可能である。
【0050】
ヘルスチェック330は、対応するオリジンサーバ108の動作特性を提供するハードウェア又はソフトウェアアプリケーションのいずれかである。一実施形態では、ヘルスチェック330はオリジンサーバ108のステータスの単一の示度を提供する。その単一の示度は、オリジンサーバ特性の組合せを示す、0〜1の正規化された値である。例えば、それはCPU負荷、CPU温度、同時接続の数、及び/又は、オリジンサーバが促進している要求の数を含んでもよい。代替の実施形態ではヘルスチェック330は、他のコンテンツ交換部116やオリジンサーバ108上で実行しながら、コンテンツ交換部116の特性を監視することがある。
【0051】
次に図3Bを参照する。コンテンツ配信システム100の外部オリジンサーバ部118の実施形態を示すブロック図が示されている。外部オリジンサーバ118は、それにインストールされたコンテンツマネージャソフトウェアを有しない点で、オリジンサーバ108とは異なる。外部オリジンサーバ118は、コンテンツサーバ308とコンテンツソース304とを有する。
【0052】
外部オリジンサーバ118の管理者は、コンテンツ交換部116を通してコンテンツオブジェクトの受信を許可される1つ以上のクライアントコンピュータ112を決定する。ルーティングデータベース234は、個々のクライアントコンピュータ112がコンテンツ交換部116を介してコンテンツオブジェクトにアクセスできるように管理者が更新する。アクティブディレクトリ上のウェブページは、ルーティングデータベース234にクライアントコンピュータ112の情報を入力するインタフェースとして機能する。他の実施形態では、外部オリジンサーバ118へのサインアップ時にユーザが自動的にルーティングデータベース234に追加されるように、外部オリジンサーバ118とルーティングデータベース234間のインタフェースが自動化される。
【0053】
クライアントコンピュータ112はルーティングデータベース234の更新をダウンロードして、ローカルに記憶する。外部オリジンサーバ118へのアクセスが次に試行されると、その要求にサービスを提供するためにコンテンツ交換部116にその試行があて先変更される。このようなあて先変更は、コンテンツマネージャソフトウェアの支援なしで、外部オリジンサーバ118がクライアントコンピュータ112をコンテンツ交換部116にあて先変更することを可能にする。
【0054】
外部オリジンサーバ118は、外部オリジンサーバ118にコンテンツオブジェクトを搬送するために割り当てられた1つ以上のコンテンツ交換部116を有してもよい。ルーティングデータベース234は、加入したクライアントコンピュータをこれらの1つ以上のコンテンツ交換部116にあて先変更してもよい。クライアントコンピュータがこれらのコンテンツ交換部116の2つ以上の使用を許可されている場合、コンテンツ交換部間の相対的QOSを順位付けするために、2つ以上のコンテンツ交換部上でルーティングの解析がクライアント側で実行される。
【0055】
外部オリジンサーバ118のコンテンツオブジェクトを、それらのコンテンツオブジェクトを提供するために割り当てられたコンテンツ交換部にプリロードできる。コンテンツオブジェクトを最初に要求する場合の遅延を短縮させるために、アクティブディレクトリ104は、外部オリジンサーバ118を巡回して、そのサーバ118から入手可能なコンテンツオブジェクトを判定できる。入手可能なコンテンツオブジェクトを、クローリングディレクトリ124に加えてもよい。一旦入手可能なコンテンツオブジェクトが判明すると、関連コンテンツ交換部上への各コンテンツオブジェクトのロードを生じさせるために、アクティブディレクトリ104は関連コンテンツ交換部に各コンテンツオブジェクトを要求する。このような方式で、コンテンツオブジェクトは関連したコンテンツ交換部にプリロードされる。
【0056】
図4Aを参照する。コンテンツ配信システム100のコンテンツ交換部116の実施形態を示すブロック図が示される。コンテンツ交換部116は、コンテンツマネージャ312の制御にしたがって、クライアントコンピュータ112が要求するコンテンツオブジェクトをキャッシュする。コンテンツ交換部116は、トラッキングシステム402、ヘルスチェック426、及びコンテンツノード406を含む。トラッキングシステムは、コンテンツトラッカー404、ヘルスチェック426、ステータス情報420、ローカルコンテンツカタログ416、オリジンサーバデータベース424を有し、一方コンテンツノード406は、コンテンツコントローラ408、コンテンツ記憶部412を有する。
【0057】
ヘルスチェック426は、関連コンテンツ交換部116の動作特性を提供するハードウェア又はソフトウェアアプリケーションのいずれかである。一実施形態では、ヘルスチェック426は、コンテンツ交換部116のステータスの単一の示度を提供する。単一の示度は、例えばCPU負荷、CPU温度、同時接続の数、コンテンツ交換部が促進している要求の数を含むコンテンツ交換部特性の組合せを示している0〜1の間の正規化された値でもよい。代替実施形態では、他のコンテンツ交換部116、オリジンサーバ108、又は他の場所で実行する間に、ヘルスチェック426は、コンテンツ交換部116の特性を監視可能である。
【0058】
コンテンツ記憶部412は、そのコンテンツ交換部116からクライアントコンピュータ112にダウンロード可能なコンテンツオブジェクトを記憶する。パス情報及びファイル名と共にコンテンツオブジェクトを提供しているオリジンサーバ108のネームは、コンテンツオブジェクトと共にコンテンツ記憶部412に記憶される。クライアントコンピュータ112はインターネット120を介して、コンテンツ記憶部412に接続し、コンテンツオブジェクトファイルやデータストリームをダウンロードする。新規のコンテンツオブジェクトがコンテンツ記憶部412に加えられると、古いコンテンツオブジェクトが通常は削除される。コンテンツオブジェクトの経時は、コンテンツオブジェクトにアクセスした最終時に関係する。記憶装置412上のいくつかのコンテンツオブジェクトは経時を経ない結果、コンテンツオブジェクトは所定時間だけ記憶装置412に留まる。オリジンサーバ108は、コンテンツ交換部112を調整して、所定の時間コンテンツオブジェクトを記憶することができる。
【0059】
クライアントコンピュータ112がコンテンツ記憶部412からコンテンツオブジェクトを要求する場合、コンテンツオブジェクトはその時点でコンテンツ記憶部412にロードされていない場合がある。コンテンツ記憶部412は、コンテンツオブジェクトに対する実行されていない要求をコンテンツコントローラ408に通知する。コンテンツコントローラ408は、他のコンテンツ交換部116内、又はコンテンツオブジェクトの発生源であるコンテンツサーバ308から、欠落したコンテンツオブジェクト、又はその部分を探し出す。クライアントコンピュータ112がこの情報をダウンロード可能とすべく、欠落したコンテンツオブジェクトはコンテンツコントローラ408によってコンテンツ記憶部412へロードされる。
【0060】
コンテンツオブジェクトがコンテンツ記憶部412から欠落している場合、コンテンツコントローラ408は、先ず他のコンテンツ交換部116をチェックして、オブジェクトが利用可能か否かを判定する。コンテンツ交換部116が所望のコンテンツオブジェクトを有しない場合、コンテンツオブジェクトは、情報を発生したコンテンツサーバ308に問い合わせる。コンテンツ記憶部412は発生源のコンテンツサーバ308についてのIPアドレスを有しないため、その情報について動的DNS204に問い合わせがされる。オリジンサーバネームが与えられると、コンテンツコントローラ408が適切なコンテンツサーバ308からコンテンツオブジェクトを要求できるように、動的DNS204は、IPアドレスを提供する。
【0061】
コンテンツトラッカー404は、コンテンツ記憶部412内のその時点でのアイテムやコンテンツ交換部116のステータス情報をシステム100に報告する。ローカルコンテンツカタログ416は、コンテンツ記憶部412内にある各コンテンツオブジェクト又はコンテンツオブジェクトの部分について、オリジンサーバネーム、パス、及びファイルネームを記憶する。コンテンツ記憶部412に新規アイテムを追加し、古いアイテムを削除することによって、ローカルコンテンツカタログ416が更新される。コンテンツマネージャ312がシステム100に接続したときには、全てのコンテンツトラッカー404に問い合わせて、コンテンツオブジェクトのどのような部分がコンテンツ記憶部412に記憶されているか否かを判定する。最初の問合せは、種々のコンテンツ記憶部412が変更されたときに、コンテンツトラッカー404が更新する基準となる。変更は、コンテンツ記憶部412に記憶されたコンテンツを有する各コンテンツマネージャ312に直接送信される。動的DNS204は、この処理の間、各コンテンツオブジェクトのオリジンサーバネームに対応するIPアドレスを判定するために使用される。
【0062】
コンテンツトラッカー404は、コンテンツマネージャ312にコンテンツ交換部116のステータス情報420をも提供する。ステータス情報420は、ブロードキャスト、又はマルチキャストとして定期的に、例えば、5分毎、及び/又は、変更が発生する時に、それぞれのコンテンツマネージャ312に送信される。ステータス情報420には、現在使用中のコンテンツ交換部への同時並行のリンクの数、同時並行のリンクとして容認されている総数、バンド幅の利用度、キャッシュチャーンレート及び/又はその他の情報が含まれる。他の実施形態では、このステータス情報は、コンテンツオブジェクトをダウンロードするためにクライアントコンピュータ112の送信場所を判定する際に、コンテンツマネージャ312が問い合わせ可能な中心記憶場所に送られる。
【0063】
このコンテンツトラッカー404は、システム100内でアクティブなオリジンサーバ108を追跡するために、オリジンサーバデータベース424を維持管理する。システムに接続した後、全てのオリジンサーバ108は、コンテンツトラッカー404にそれ自身を識別させる。コンテンツトラッカー404は、オリジンサーバデータベース424にオリジンサーバネームとIPアドレスを記憶する。動的DNSに対する問い合わせにより、特定のオリジンサーバネームに対応するIPアドレスが提供される。オリジンサーバ108がコンテンツトラッカー404に今にも利用不能となりそうなことを知らせるか、又はコンテンツトラッカー404が特定のオリジンサーバと交信することができない場合、そのオリジンサーバのエントリがオリジンサーバデータベース424から削除される。さらに、そのオリジンサーバ108に対応するコンテンツをコンテンツ記憶部412から一掃し、ローカルコンテンツカタログ416を更新してもよい。いくつかの実施形態では、記憶空間が必要なときは、コンテンツオブジェクトやコンテンツオブジェクトの部分を一掃せずに、単に削除用のタグを付ける。
【0064】
いくつかの実施形態では、システム100は、コンテンツコントローラ408にコンテンツ記憶部412内の所定のコンテンツオブジェクトを入手及び保持するように指示することができる。要求が予測されるコンテンツオブジェクトを、その要求に備えてプリロードすることが可能である。コンテンツオブジェクトの要望度は、検索ページ212又はディレクトリページ216から、それらのコンテンツオブジェクトに対するクリックスルーをモニターすることによって判定できる。例えば、有名人の伝記プログラムがネットワークテレビで放送される前に、有名人に関するコンテンツオブジェクトを直ちにコンテンツ記憶部412にロードすることがある。代替手段として、ユーザは、いくつかのコンテンツ交換部116にコンテンツオブジェクトをロードするサービスを予約できる。例えば、テレビ放送と同時に、予定されたネットワーク番組をロードでき、これによってユーザはテレビ放送の代わりにインターネット120を通じてこの番組を鑑賞できるようになる。このように、加入ユーザは、このコンテンツを遅延なく利用できる。
【0065】
図4Bを参照する。コンテンツ配信システム100のコンテンツ交換部116の他の実施形態を示すブロック図が示されている。本実施形態では、単一のトラッキングサーバ402に接続された複数のコンテンツノード406を有する。コンテンツバス428は、コンテンツノード406が互いのコンテンツ記憶部412をチェックして、欠落したコンテンツオブジェクトを探すことを可能にする。コンテンツバス428は、また、他の記憶場所の他のコンテンツノードにも接続できる。コンテンツバス428は、一部インターネット120を通過してもよく、しなくてもよい。
【0066】
次に図4Cを参照する。複数のコンテンツ交換サーバ116を有するコンテンツ交換サイト432の実施形態を示すブロック図が示されている。コンテンツ交換サイト432は複数のコンテンツ交換サーバ116を有しているが、システムからは、これらが単一のコンテンツ交換部116のようにみえる。コンテンツ交換サイト432の負荷は、構成要素であるコンテンツ交換サーバ116の間に分散される。レイヤー4スイッチなどのスイッチ436は、コンテンツ交換部116にコンテンツオブジェクトの要求を配信し、スプールされた応答を集約しインターネット120へ送信する。
【0067】
次に図5を参照する。コンテンツ配信システム100のクライアントコンピュータ部分112の実施形態を示すブロック図が示されている。クライアントコンピュータ112は、ユーザにコンテンツを配信するためにインターネット120と通信する。クライアントコンピュータ112は、ビューワオブジェクトプロキシ504、コンテンツ処理プログラム508、優先情報512、ネットワークインタフェース516及び、ホストサーバルーティング520を有する。
【0068】
コンテンツ処理プログラム508は典型的には、インターネット120からダウンロードされるコンテンツオブジェクトを、解釈すなわち処理するソフトウェアである。コンテンツ処理プログラム508の例としては、ウェブブラウザ、ファイル転送プロトコル(FTP)ソフトウェア、ゴーファソフトウェア、ニュース(NNTP)、メールプログラム、ストリーミングメディアプレーヤ、非ストリーミングメディアプレーヤ、及び他のソフトウェアが含まれる。通常は直接インターネットに送信されるコンテンツ処理プログラム508からのインターネット通信は、ビューワオブジェクトプロキシ504にあて先変更される。
【0069】
ビューワオブジェクトプロキシ504は、インターネット120とコンテンツ処理プログラム508との間の仲介者として機能する。ビューワオブジェクトプロキシ504をインストールした後でビューワオブジェクトプロキシは、インターネット120の既知の位置に対する、その一般的な記憶場所を判定する。充分なQOSを提供する妥当な候補であるコンテンツ交換部116を試験して、各コンテンツ交換部116に到達するのに必要なホップ数、及び各コンテンツ交換部116とビューワオブジェクトプロキシ504との間の待ち時間を判定する。QOS係数の重み付け、例えば、ホップ数や達成されるバンド幅は優先情報512として記憶され、HTTPヘッダ内のメタデータとしてコンテンツマネージャ312に転送される。
【0070】
他の実施形態では、HTTPヘッダ内のメタデータに限らず、あらゆる種類のデータチャネルのメタデータとしても引き渡すことができる。例えばメタデータは、専用ポート、IPアドレス、URL、ヘッダ、その他の論理チャネルを介して送信可能である。
【0071】
優先情報512は、クライアントコンピュータの観点112から実行されたネットワーク解析の結果である。コンテンツオブジェクトが要求されたときには、優先情報512はコンテンツオブジェクトマネージャ312に送信され、これに応じてコンテンツオブジェクトマネージャ312はクライアントコンピュータ112に対して適切なコンテンツ交換部116を選択する。定期的に、例えば1時間毎に、優先情報512は、自動試験を使用して更新されるか、或いはユーザが手動で更新する。次の試験は、前回の結果を考慮して、効率的に優先すべきコンテンツ交換部を判別する。例えば、第1の解析において、100のコンテンツ交換部をチェックするが、次の解析では性能の悪いコンテンツ交換部を除き、50のみを分析してもよい。
【0072】
優先情報512は、コンテンツ交換部116のリスト、及びクライアント側のネットワーク解析の結果から生じたそれらに関連するQOS値を含む。いくつかの実施形態では、外部オリジンサーバ118への経路が複数存在する。複数経路は、ポート、IPアドレス、サーバ識別(識別子)及び/又は、他の機構により分離される。クライアント側ネットワーク解析は、外部オリジンサーバ118への各経路、或いは複数経路を有する可能性があるあらゆる他のコンテンツオブジェクトソースに対応するQOS値を判定するために使用可能である。
【0073】
クライアントコンピュータ112のユーザがコンテンツオブジェクトを選択した後、オリジンサーバネームがビューワオブジェクトプロキシ504に提供される。オリジンサーバネームは、ビューワオブジェクトプロキシ504が動的DNS204にオリジンサーバ108のIPアドレスを問い合わせるために使用される。一旦IPアドレスが判明すると、コンテンツ処理プログラム508を、所望のコンテンツオブジェクトを得るためにコンテンツマネージャ312にあて先変更する。コンテンツマネージャ312に優先情報512が転送され、適切なコンテンツ交換部116へのクライアントコンピュータ112のルーティングを可能とさせる。本実施形態では、優先情報512は10の優先コンテンツ交換部を有するが、ユーザは優先コンテンツ交換の数を調整できる。
【0074】
いくつかの実施形態では、ビューワオブジェクトプロキシ504はHTTPに特有のものであってもよいが、ルーティング情報についてプロトコルに依存しないものであってもよい。したがって、ルーティング情報はHTTPに従って転送されるが、実際のルーティング情報はプロトコルに依存しない。しかし当業者は、ビューワオブジェクトプロキシ504をまた、必要に応じて他のネットワークプロトコルと協働させ得ることを認識するであろう。例えば、ビューワオブジェクトプロキシ504は、FTP、NNTP、RTP、RTSP、SMTP、SHOUT等に従って機能するように構成できる。
【0075】
クライアントコンピュータ112は、ホストサーバルーティングデータベース520を含む。このホストサーバルーティングデータベース520は、クライアントコンピュータ112がアクセス可能な外部オリジンサーバ118に関する情報を含む。一実施形態では、ホストサーバルーティングデータベース520は、アクティブディレクトリ104で発見されるルーティングデータベース234のエントリのサブセットである。
【0076】
クライアントコンピュータ112は、ビューワオブジェクトプロキシ504をインターネット120に接続するネットワークインタフェース516を有する。ネットワークインタフェース516の一般的な例としては、アナログモデム、DSLモデム、ISDN、ケーブルモデム、サテライトモデム、セルラ方式モデム、電線モデム、見通線(Line−of−sight )マイクロ波モデム、見通線(Line−of−sight )レーザーモデム等が含まれる。
【0077】
本実施形態では、クライアントコンピュータは、ホームユーザに対応する。他の実施形態では、クライアントコンピュータは、劇場にデジタル映画を提供可能であるか、或いは会社のネットワークユーザ、ホテルの客、アパートの共同ビルにコンテンツオブジェクトを提供可能である。
【0078】
図6を参照する。コンテンツ配信システム600の実施形態を示すブロック図が示される。この図は、データブロック間のデータフローを示し、インターネット120上又は他のネットワーク上でのやりとりは示されていない。しかし、インターネット120又は任意のパケット交換ネットワークはいくつかの実施形態で使用されるものである。また、この図は、図2〜5のいくつかのブロックをいくぶん簡略化したものであり、外部オリジンサーバ118、及びクローリングディレクトリ124は、簡略化するために図6を含まれていない。
【0079】
ネットワークインタフェース516は、クライアントコンピュータ112をインターネット120へ接続する。クライアントコンピュータ112は、ディレクトリページ212、検索ページ216に接続して、ダウンロードするコンテンツオブジェクトの選択をユーザに可能とさせる。コンテンツオブジェクトが選択されると、アクティブディレクトリ104から、適切なオリジンサーバ108へのクライアントコンピュータ112のあて先変更には動的DNS204が使用される。優先情報512は、コンテンツオブジェクトのソースの選択を支援するためにコンテンツマネージャ312に転送される。コンテンツマネージャ312の選択にしたがって、コンテンツオブジェクトは、コンテンツ交換部116のうちの1つ、又はコンテンツサーバ308からダウンロードされる。
【0080】
アクティブディレクトリ104は、システム600の他のモジュールと対話する。クライアントコンピュータ112は、コンテンツオブジェクトを選択すべくディレクトリページ212、検索ページ216にアクセスする。コンテンツトラッカー404及びコンテンツマネージャ312はそれぞれ、サーバマネージャ208にステータス及びカタログ情報を提供する。加入者データベース224を維持管理するために、オリジンサーバ108の管理者及び、クライアントコンピュータ112のユーザによって、アカウント情報がサーバマネージャ208に提供される。オリジンサーバネームからオリジンサーバ108のIPアドレスへのあて先変更は、ビューワオブジェクトプロキシ504と、コンテンツトラッカー404と、コンテンツコントローラ408とに動的DNS204によって提供される。
【0081】
オリジンサーバ108は、サーバマネージャ208、クライアントコンピュータ112、コンテンツトラッカー404、コンテンツ記憶部412、及びコンテンツコントローラ408と通信する。サーバデータベース228をその時点でのコンテンツ情報を備えて維持管理するために、コンテンツマネージャ312からサーバマネージャ208にローカルコンテンツカタログ316が提供される。コンテンツオブジェクトのソースの選択を容易にするために、クライアントコンピュータ112からコンテンツマネージャ312に優先情報512が提供される。コンテンツトラッカー404は、コンテンツマネージャ312と対話して、どのようなコンテンツオブジェクトがコンテンツ交換部116に記憶されているかを判別する。コンテンツオブジェクトは、コンテンツ記憶部412、又はクライアントコンピュータ112のいずれかによって、コンテンツサーバ308からロードされる。
【0082】
コンテンツ交換部116は、システム600の他のモジュールとも対話する。ステータス情報は、アクティブディレクトリ104、及び/又は、コンテンツマネージャ312に提供される。コンテンツオブジェクトを有するオリジンサーバ108のIPアドレスを探し出すために、コンテンツコントローラ408とコンテンツトラッカー404が共に動的DNSを使用する。コンテンツ記憶部412がオブジェクトを必要とする場合、選択されたコンテンツ交換部は、他のコンテンツ交換部と交信してもよい。他のコンテンツ交換部がそのコンテンツオブジェクトを有しない場合、コンテンツコントローラ408はコンテンツサーバ308から選択されたコンテンツ記憶部412へのオブジェクトの配信要求をする。
【0083】
次に図7を参照する。2種類のコンテンツ交換部702,704を有する、他の実施形態によるコンテンツ配信システム700のブロック図が示されている。本実施形態は、パブリックコンテンツ交換部702とキャプティブコンテンツ交換部704とを有する。1つ以上のキャプティブコンテンツ交換部704は、1つ以上の関連クライアントコンピュータ708及び1つ以上の関連オリジンサーバ712とグループを形成している。パブリックコンテンツ交換部702は、クライアントコンピュータ112、関連クライアントコンピュータ708のいずれに対してもコンテンツオブジェクトを提供できる。パブリックコンテンツ交換部702に記憶されているコンテンツオブジェクトは、非関連オリジンサーバ106、オリジンサーバ108、外部オリジンサーバ118、又は関連オリジンサーバ712のいずれに由来するものであってもよい。
【0084】
しかし、システム700は、パブリックコンテンツ交換部702を利用可能なように、キャプティブコンテンツ交換部704を完全に利用可能というわけではない。キャプティブコンテンツ交換部704は、関連オリジンサーバ712に由来するコンテンツオブジェクトをキャッシュする。キャッシュされたオブジェクトは、関連クライアントコンピュータ708又はクライアントコンピュータ112のいずれかに提供される。非関連オリジンサーバ106、オリジンサーバ108及び外部オリジンサーバ118に由来するコンテンツオブジェクトは、クライアントコンピュータ112のためにではなく、関連クライアントコンピュータ708のためにキャッシュされる。クライアントコンピュータ112は、非関連オリジンサーバ106、オリジンサーバ108及び外部オリジンサーバ118に由来するコンテンツオブジェクトのキャッシュに関しては、キャプティブコンテンツ交換部704を利用できない。このため、クライアントコンピュータ112の優先情報512はパブリックコンテンツ交換部702しか含まず、キャプティブコンテンツ交換部704は含まない。
【0085】
本実施形態において、キャプティブコンテンツ交換部704はパブリックコンテンツ交換部702に接続されている。これによって、ユーザからの要求があった場合に、欠落したコンテンツオブジェクト又はコンテンツオブジェクトの一部がコンテンツ交換部702とコンテンツ交換部704との間でやり取りされるようになる。優先コンテンツ交換部702,704からコンテンツオブジェクトが要求された場合、コンテンツオブジェクトの少なくとも一部に対する検索を先ずローカルで実行する。発見なかった場合、他のコンテンツ交換部702,704を検索し、それでも発見できなければ、最初にコンテンツオブジェクトをシステム700に提供したオリジンサーバ106,108,118,712にコンテンツオブジェクトを要求する。しかし、別の実施形態においては、キャプティブコンテンツ交換部704とパブリックコンテンツ交換部702との間でファイルの交換が行なわれないことがある。
【0086】
種々の実施形態において、キャプティブコンテンツ交換部704は中央局、ヘッドエンド、ISPロケーション、又はインターネットバンド幅が関連クライアントコンピュータ708への「ラストワンマイル」すなわち末端経路をたどりはじめるノードに置かれることがある。キャッシュを最終目的地のできるだけ近くに移動させることによって、ボトルネックを解消し、QOSを向上させることが可能になる。例えば、DOCSIS準拠のモデムを介して関連クライアントコンピュータ708にサービスを提供しているケーブルマルチシステムオペレータ(MSO)は、ヘッドエンド、又は隣接するノードにキャプティブコンテンツ交換部704を設けていることがある。このように、関連クライアントコンピュータ708と関連オリジンサーバ712とがコンテンツ交換部704に接続され、キャッシュを利用することで改善したQOSを提供する。
【0087】
図8を参照する。コンテンツ配信システム800のさらに別の実施形態のブロック図が示されている。本実施形態は、キャプティブコンテンツ交換部704、関連クライアントコンピュータ708及び関連オリジンサーバ712が、インターネット120を介して仮想的に接続されている状態を示している。機能ブロック704,708,712はいかなる方法で接続してもよい。例えば、キャプティブコンテンツ交換部704は、ファイバ/ケーブルのハイブリッド配信システムを介して関連クライアントコンピュータ708に接続される。これに対し、関連オリジンサーバ712は、インターネット120を介してキャプティブコンテンツ交換部704に接続される。
【0088】
次に図9を参照する。利用可能な記憶容量を有する利用可能なキャプティブコンテンツ交換部704にデータを取り込むための一実施形態の処理900を表すフロー図が示されている。図に示した処理900は、ステップ904から開始し、このステップではバンド幅の利用度がしきい値を下回っているか否かが判定される。検査対象のバンド幅は、本実施形態では全ての関連オリジンサーバ712とキャプティブコンテンツ交換部704との間のバンド幅であるが、他の実施形態では1つの関連オリジンサーバ712とキャプティブコンテンツ交換部704との間のバンド幅となることもある。
【0089】
ステップ908において、どのオリジンサーバが関連オリジンサーバ712であるのか特定する。この情報を求めてアクティブディレクトリ104に対して問い合わせが行なわれることもあれば、キャプティブコンテンツ交換部704にこの情報がローカルに維持管理されていることもある。関連オリジンサーバ712が判明したら、ステップ912において、各ローカルコンテンツカタログ316を問い合わせて、その関連オリジンサーバ712で利用可能なコンテンツオブジェクトを特定する。
【0090】
ステップ916において、全ての関連オリジンサーバ712からのコンテンツオブジェクトを分析し、コンテンツオブジェクトのランクを決定する。本実施形態では、コンテンツオブジェクトの人気によりランクを決定している。このアルゴリズムにおいては、人気の決定に際し、前の日にコンテンツオブジェクトがダウンロードされた回数を求めているが、他の実施形態では、別の時間間隔を使用することも可能である。本実施形態では人気に基づいてランクを決定しているが、他の実施形態では、コンテンツオブジェクトのサイズ、コンテンツオブジェクトの価格、及び/又は他の要因に基づいてランクを決定してもよい。
【0091】
関連オリジンサーバ712又はキャプティブコンテンツ交換部704は、クリックスルーの回数、すなわちコンテンツオブジェクトのヒット回数を決定することによってそれぞれ人気をモニタしてもよい。選択されたコンテンツオブジェクトを関連オリジンサーバ712に転送するCGIスクリプトを用いて、クライアントコンピュータのユーザのクリックスルーをモニタすることができる。転送されたクリックスルーは記録されて、クライアントコンピュータ112,708は、コンテンツオブジェクトの供給元であるコンテンツ交換部702,704にあて先変更される。
【0092】
ステップ920において、人気コンテンツオブジェクトを記憶するために割り当てる、コンテンツ記憶部412のキャッシュ空間の容量を決定する。本実施形態では、コンテンツ記憶部412の記憶容量の半分を人気コンテンツの記憶に使用するが、他の実施形態では、コンテンツ記憶部412の記憶容量に対する割合の値を変えてもよい。
【0093】
ステップ922において、コンテンツオブジェクトのいずれがコンテンツ記憶部412に既に記憶されているか否かを特定する。ステップ922では、記憶済みの内容を特定するために、関連オリジンサーバ712のローカルコンテンツカタログ316と、キャプティブコンテンツ交換部704のローカルコンテンツカタログ416とを比較し、記憶されていないコンテンツオブジェクトを判定する。既に記憶されているコンテンツオブジェクトは、ステップ924において、再ロードが不要であるとマークされる。
【0094】
ステップ928において、高ランクのコンテンツオブジェクトのうち、割り当てられたキャッシュ空間に格納されるが、まだロードされていないものを特定する。キャッシュ空間に格納されないコンテンツオブジェクトはリストから削除される。リストで最も人気の低いものから順に、コンテンツ記憶部412に存在しないコンテンツオブジェクトが要求され、このコンテンツオブジェクトをコンテンツ記憶部412にロードされる。リストをたどっていく際に、コンテンツ記憶部412に既にロードされているコンテンツオブジェクトがリストに見つかれば、そのコンテンツオブジェクトがキャッシュの前方に移動される。このようにして、格納される全ての人気コンテンツオブジェクトが、ランクに従ってキャッシュに記憶される。ランクの低いコンテンツオブジェクトは、そのコンテンツオブジェクトに対するヒットや要求がその後発生しなければ、キャッシュの後方から排除される。
【0095】
ある実施形態では、各関連オリジンサーバ712のコンテンツオブジェクトが取り込まれる処理が、他の関連オリジンサーバ712のコンテンツオブジェクトを取り込むための別の処理と並列して実行される。特定の関連オリジンサーバ712と、キャプティブコンテンツ交換部704との間のバンド幅を調べて、バンド幅の利用度がしきい値を下回ったか否かが判定される。しきい値を下回ると、コンテンツオブジェクトがキャプティブコンテンツ交換部にロードされる。これと並行して、他の関連オリジンサーバ712のコンテンツオブジェクトが取り込まれる。
【0096】
図10を参照する。キャプティブコンテンツ交換部704にデータを取り込むための他の実施形態による処理1000を表すフロー図が示されている。本実施形態においては、キャッシュに代わってファイルシステムが使用されている。コンテンツオブジェクトは、期限切れとなる時期が到来するまでファイルシステムにロードされたままとなる。例えば、わずか24時間でこのファイルが上書きされるように、有効期限が1日に設定されて、コンテンツオブジェクトがロードされることがある。
【0097】
本実施形態と図9に示した実施形態とが大きく異なるのは、ステップ1004以降である。このステップにおいて、プリロードのために予約されているファイルシステム空間の容量が判定される。このファイルシステム空間は、キャッシュに使用されている空間とは論理的に分離されている。ファイルシステムに記憶されているコンテンツオブジェクトが、キャッシュにも重複して記憶されるべきではない。ステップ1002及びステップ924において、これらのファイルのエントリがマークされ、キャッシュに既に記憶されているファイルが再ロードされないようにする。ステップ1008において、ファイルシステムに格納されないコンテンツオブジェクトがリストから削除される。ステップ1012において、まだロードされてはいないが、格納すべきコンテンツオブジェクトがロードされる。ファイルシステム内の全コンテンツオブジェクトの有効期限が1日又はその他の期限に設定される。
【0098】
図11を参照する。キャプティブコンテンツ交換部704にデータを取り込むためのさらに別の実施形態による処理1100を表すフロー図が示されている。本実施形態においては、キャプティブコンテンツ交換部704は、システム700で利用可能になった直後にデータを自身に取り込む。例えば、キャプティブコンテンツ交換部704は電源投入直後にデータを自身に取り込むことがある。本実施形態では、キャッシュに記憶済みのコンテンツオブジェクトを特定せずに、格納すべき全コンテンツオブジェクトをロードする。
【0099】
上の図9〜図11の実施形態では、キャプティブコンテンツ交換部704にデータを読み込んでいる。パブリックコンテンツ交換部702にデータを取り込む実施形態も可能である。アクティブディレクトリ104において、インターネットで人気のあるコンテンツオブジェクトを特定し、かつパブリックコンテンツ交換部702の分散ネットワークから要求される可能性の高い、これらのオブジェクトの場所を特定する処理を行なってもよい。QOSが改善したコンテンツを利用できるように、アクティブディレクトリは、パブリックコンテンツ交換部702に対してコンテンツをプリロードするように指示してもよい。
【0100】
次に図12を参照する。オリジンサーバ106,108,118,712からのコンテンツを分散記憶システムに取り込むための一実施形態による処理1100を表すフロー図が示されている。本実施形態において、オリジンサーバ712は、ホスティングが許可されている場合、システム700で利用可能になった直後にキャプティブコンテンツ交換部704にデータを取り込む。オリジンサーバ106,108,118,712がオンラインになったときに、図の処理がステップ1204から開始する。ステップ1208において、オリジンサーバ106,108,118,712に関連付けられたキャプティブコンテンツ交換部704が存在するか否かが判定される。関連付けられたキャプティブコンテンツ交換部704が存在しない場合、プリロードは行なわれず、ステップ1212及びステップ1240へと処理が進み、ステップ1240において、優先コンテンツ交換部702,704によってコンテンツオブジェクトに対する要求が満たされる。
【0101】
ステップ1220において、キャプティブコンテンツ交換部704上でコンテンツオブジェクトのホスティングが、オリジンサーバ106,108,118,712に対して許可されているかどうかがさらに判定される。キャプティブコンテンツ交換部704は、自身のコンテンツオブジェクトの負荷を軽減するために、オリジンサーバ106,108,118,712の能力の補償を要求することがある。ホスティングが許可されている場合、ステップ916においてコンテンツオブジェクトの人気が判定される。ステップ1228において、最も人気のあるオブジェクトがキャッシュの後方から最後に放出されるように、コンテンツオブジェクトがキャプティブコンテンツ交換部704にロードされる。上記のように、ファイルシステムを用いて、コンテンツオブジェクトの各々に対して有効期限情報を指定する別の実施形態も可能である。
【0102】
ホスティングが許可されていない場合、ステップ1220においてキャプティブコンテンツ交換部704にコンテンツオブジェクトを取り込ませることにより、上りバンド幅を節約することが可能になる。キャプティブコンテンツ交換部704にコンテンツオブジェクトを一旦読み込めば、その後他のコンテンツ交換部702,704に効率的にコンテンツオブジェクトを転送できるようになる。ステップ1224において、クライアントコンピュータ112はオリジンサーバ106,108,118,712からコンテンツを要求する。ステップ1232において、コンテンツ交換部702,704のいずれかにコンテンツが既に記憶されているか否かが判定される。オリジンサーバ106,108,118,712からのコンテンツがコンテンツ交換部702,704のいずれかに既に記憶されている場合、ステップ1240において、クライアントコンピュータ112は、優先コンテンツ交換部702,704に導かれる。必要に応じて、優先コンテンツ交換部702,704は、コンテンツオブジェクトを既に有する他のコンテンツ交換部702,704からコンテンツオブジェクトを取得することも可能である。
【0103】
ステップ1232の判定において、コンテンツオブジェクトがコンテンツ交換部702,704の分散ストレージネットワーク上で利用できない場合、クライアントコンピュータ112は、オリジンサーバ712に関連するキャプティブコンテンツ交換部704に導かれる。このように、キャプティブコンテンツ交換部704は、関連オリジンサーバ712からのコンテンツオブジェクトを優先的に記憶する。
【0104】
図13を参照する。コンテンツ交換部702,704のリストをクライアントコンピュータ112,712に提供するための一実施形態による処理1300を表すフロー図が示されている。本実施形態においては、キャプティブコンテンツ交換部704に対する確認が行なわれた後に、優先コンテンツ交換部702,704のリストがクライアントコンピュータ708に提供される。処理はステップ1304から始まり、このステップでキャプティブコンテンツ交換部704がどの関連クライアントコンピュータ708と関連付けられているかが特定される。この関連付けは、アクティブディレクトリ104などの中心的な場所に記録されている。
【0105】
ステップ1308において、クライアントコンピュータ112,708は、アクティブディレクトリ104からコンテンツ交換部702,704のリストを要求する。ステップ1312において、キャプティブコンテンツ交換部704が存在するか否かが判定される。キャプティブコンテンツ交換部704が存在する場合、ステップ1308に処理が移り、これらキャプティブコンテンツ交換部704をリストに追加する。ステップ1312において、十分なQOS、すなわち適切なQOSを有する可能性が高いその他のパブリックコンテンツ交換部702をリストに追加する。ステップ1312での判定時にキャプティブコンテンツ交換部704が存在しない場合、ステップ1308が省略されて、キャプティブコンテンツ交換部704を含まない優先コンテンツ交換部702のリストが生成される。
【0106】
優先コンテンツ交換部702,704のリストが生成されたら、ステップ1316において、このリストがクライアントコンピュータ112に送信され、優先情報データベース512に格納される。クライアントコンピュータ112は、リストに掲載されている各コンテンツ交換部702,704を分析し、これらをランク付けする。通常、キャプティブコンテンツ交換部704は、関連クライアントコンピュータ708に対し最高のQOSを提供することができる。
【0107】
上記の詳細説明を考慮に入れれば、本発明の利点は直ちに明らかになるであろう。例を挙げると、コンテンツ交換部にコンテンツオブジェクトをプリロードすることによってQOSが改善される。始動事象に基づいてプリロードを行なうことによって、関連オリジンサーバとキャプティブコンテンツ交換との間で、上り接続を介してコンテンツオブジェクトを制御可能な方法で送信できるようになる。コンテンツオブジェクトがキャプティブコンテンツ交換部に一旦ロードされれば、その後コンテンツオブジェクトに対する要求により関連オリジンサーバの負荷が増大しにくくなる。
【0108】
発明の多数の変更例並びに変形例を用いることも可能である。例えば、上に挙げた実施形態には、バンド幅の利用度の低下が検出された場合にコンテンツ交換部のプリロードが開始されるものがあるが、夜中などの特定の時間にプリロードを行なう実施形態も可能である。夜中はバンド幅の利用度が最も低下する可能性が高い。
【0109】
特定の装置並びに方法に関連付けて本発明の原則を記載したが、本詳細説明は例示のみを目的としており、本発明の範囲を限定するものではないことが明確に理解される。
【図面の簡単な説明】
【図1】コンテンツ配信システムの一実施形態を示すブロック図。
【図2】コンテンツ配信システムのアクティブディレクトリ部の実施形態を示すブロック図。
【図3A】コンテンツ配信システムのオリジンサーバ部の実施形態を示すブロック図。
【図3B】コンテンツ配信システムの外部オリジンサーバ部の実施例のブロック図。
【図4A】コンテンツ配信システムのコンテンツ交換部の実施形態を示すブロック図。
【図4B】コンテンツ配信システムのコンテンツ交換部の他の実施形態を示すブロック図。
【図4C】複数のコンテンツ交換サーバを有するコンテンツ交換サイトの実施形態を示すブロック図。
【図5】コンテンツ配信システムのクライアントコンピュータ部の実施形態を示すブロック図。
【図6】コンテンツ配信システムの実施形態を示すブロック図。
【図7】2種類のコンテンツ交換部を有するコンテンツ配信システムの他の実施形態を示すブロック図。
【図8】コンテンツ配信システムのさらに別の実施形態を表すブロック図。
【図9】利用可能な記憶容量を有するキャプティブコンテンツ交換部にデータを取り込むための処理の一実施形態を表すフロー図。
【図10】キャプティブコンテンツ交換部にデータを取り込むための処理の別の実施形態を表すフロー図。
【図11】キャプティブコンテンツ交換部にデータを取り込むための処理のさらに別の実施形態を表すフロー図。
【図12】オリジンサーバに由来するコンテンツを有する分散ストレージシステムにデータを取り込むための処理の一実施形態を表すフロー図。
【図13】コンテンツ交換部のリストをクライアントコンピュータに提供するための処理の一実施形態を表すフロー図。
Claims (24)
- ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための方法であって、
始動事象を待機するステップと、
第一のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているか否かを判定するステップと、
第一のコンテンツオブジェクトを要求することなく、前記第一のオリジンサーバから前記コンテンツ記憶部に前記第一のコンテンツオブジェクトをロードするステップと、
第二のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているか否かを判定するステップと、
第二のコンテンツオブジェクトを要求することなく、前記第二のオリジンサーバから前記コンテンツ記憶部に前記第二のコンテンツオブジェクトをロードするステップとからなる方法。 - 前記コンテンツオブジェクトの人気を判定するステップをさらに有する、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記2つのロードステップの実行が前記待機ステップによって規定される、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは、
前記第一のオリジンサーバと前記コンテンツ記憶部との間の上りバンド幅が所定のしきい値よりも低下することを待機するステップと、
前記第二のオリジンサーバと前記コンテンツ記憶部との間の上りバンド幅が所定のしきい値よりも低下することを待機するステップのうちの少なくとも1つからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。 - 前記待機ステップは、前記コンテンツ記憶部への上りバンド幅が所定のしきい値よりも低下することを待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは前記ネットワークへの接続を待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは、クライアントコンピュータから前記コンテンツ記憶部への上りバンド幅の利用度が所定のしきい値よりも低下することを待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは一時的な事象を待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための方法であって、
始動事象を待機するステップと、
前記コンテンツオブジェクトの人気を判定するステップと、
第一のコンテンツオブジェクトを要求することなく、前記第一のオリジンサーバから前記コンテンツ記憶部に前記第一のコンテンツオブジェクトをロードするステップと、
第二のコンテンツオブジェクトを要求することなく、前記第二のオリジンサーバから前記コンテンツ記憶部に前記第二のコンテンツオブジェクトをロードするステップとからなる方法。 - 前記2つのロードステップの実行が前記待機ステップによって規定される、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 第一のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているか否かを判定するステップと、
第二のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているか否かを判定するステップとをさらに有する、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。 - 前記待機ステップは、
前記第一のオリジンサーバと前記コンテンツ記憶部との間の上りバンド幅が所定のしきい値よりも低下することを待機するステップと、
前記第二のオリジンサーバと前記コンテンツ記憶部との間の上りバンド幅が所定のしきい値よりも低下することを待機するステップのうちの少なくとも1つからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。 - 前記待機ステップは、前記コンテンツ記憶部への上りバンド幅が所定のしきい値よりも低下することを待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは前記ネットワークへの接続を待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは、クライアントコンピュータから前記コンテンツ記憶部への上りバンド幅の利用度が所定のしきい値よりも低下することを待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは一時的な事象を待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための方法であって、
始動事象を待機するステップと、
第一の複数のコンテンツオブジェクトのいずれに対する要求がなくても、前記第一のオリジンサーバから前記コンテンツ記憶部に前記第一の複数のコンテンツオブジェクトをロードするステップと、
第二の複数のコンテンツオブジェクトに対する要求がなくても、前記第二のオリジンサーバから前記コンテンツ記憶部に前記第二の複数のコンテンツオブジェクトをロードするステップとからなり、
前記2つのロードステップの実行が前記待機ステップによって規定される方法。 - 前記コンテンツオブジェクトの人気を判定するステップをさらに有する、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 第一のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているか否かを判定するステップと、
第二のオリジンサーバは、前記コンテンツ記憶部にコンテンツを記憶する権限を与えられているか否かを判定するステップとをさらに有する、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。 - 前記待機ステップは、
前記第一のオリジンサーバと前記コンテンツ記憶部との間の上りバンド幅が所定のしきい値よりも低下することを待機するステップと、
前記第二のオリジンサーバと前記コンテンツ記憶部との間の上りバンド幅が所定のしきい値よりも低下することを待機するステップのうちの少なくとも1つからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。 - 前記待機ステップは、前記コンテンツ記憶部への上りバンド幅が所定のしきい値よりも低下することを待機するステップをからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは前記ネットワークへの接続を待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは、クライアントコンピュータから前記コンテンツ記憶部への上りバンド幅の利用度が所定のしきい値よりも低下することを待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
- 前記待機ステップは一時的な事象を待機するステップからなる、ネットワークにおいてコンテンツ記憶部にコンテンツオブジェクトをロードするための請求項1に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20900700P | 2000-06-01 | 2000-06-01 | |
US66520400A | 2000-09-18 | 2000-09-18 | |
US09/867,868 US20010051980A1 (en) | 2000-06-01 | 2001-05-29 | Preloading content objects on content exchanges |
PCT/US2001/017799 WO2001093533A2 (en) | 2000-06-01 | 2001-06-01 | Preloading content objects on content exchanges |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004508613A true JP2004508613A (ja) | 2004-03-18 |
JP2004508613A5 JP2004508613A5 (ja) | 2005-07-21 |
Family
ID=27395309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001588198A Pending JP2004508613A (ja) | 2000-06-01 | 2001-06-01 | コンテンツ交換部へのコンテンツオブジェクトのプリロード |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1287657A2 (ja) |
JP (1) | JP2004508613A (ja) |
CN (1) | CN1451220A (ja) |
AU (1) | AU2001265310A1 (ja) |
CA (1) | CA2410853A1 (ja) |
WO (1) | WO2001093533A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008537437A (ja) * | 2005-04-19 | 2008-09-11 | リバーベッド テクノロジー インコーポレーティッド | 接続エンドポイント・プロキシを使用したユーザ・アフィニティに基づくコンテンツ送出 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US20170344703A1 (en) | 2006-12-29 | 2017-11-30 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US11316688B2 (en) | 2006-12-29 | 2022-04-26 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US8180735B2 (en) | 2006-12-29 | 2012-05-15 | Prodea Systems, Inc. | Managed file backup and restore at remote storage locations through multi-services gateway at user premises |
US11783925B2 (en) | 2006-12-29 | 2023-10-10 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
WO2008083384A2 (en) * | 2006-12-29 | 2008-07-10 | Prodea Systems, Inc. | System and method to acquire, aggregate, manage, and distribute media |
US9569587B2 (en) | 2006-12-29 | 2017-02-14 | Kip Prod Pi Lp | Multi-services application gateway and system employing the same |
US9602880B2 (en) | 2006-12-29 | 2017-03-21 | Kip Prod P1 Lp | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US8930538B2 (en) | 2008-04-04 | 2015-01-06 | 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) |
CN104303474B (zh) * | 2013-04-11 | 2018-07-20 | 华为技术有限公司 | 资源配置方法、交换机及控制器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991306A (en) * | 1996-08-26 | 1999-11-23 | Microsoft Corporation | Pull based, intelligent caching system and method for delivering data over a network |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
-
2001
- 2001-06-01 CA CA002410853A patent/CA2410853A1/en not_active Abandoned
- 2001-06-01 AU AU2001265310A patent/AU2001265310A1/en not_active Abandoned
- 2001-06-01 JP JP2001588198A patent/JP2004508613A/ja active Pending
- 2001-06-01 WO PCT/US2001/017799 patent/WO2001093533A2/en not_active Application Discontinuation
- 2001-06-01 CN CN01813508A patent/CN1451220A/zh active Pending
- 2001-06-01 EP EP01939833A patent/EP1287657A2/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008537437A (ja) * | 2005-04-19 | 2008-09-11 | リバーベッド テクノロジー インコーポレーティッド | 接続エンドポイント・プロキシを使用したユーザ・アフィニティに基づくコンテンツ送出 |
JP4733739B2 (ja) * | 2005-04-19 | 2011-07-27 | リバーベッド テクノロジー インコーポレーティッド | 接続エンドポイント・プロキシを使用したユーザ・アフィニティに基づくコンテンツ送出 |
Also Published As
Publication number | Publication date |
---|---|
AU2001265310A1 (en) | 2001-12-11 |
CN1451220A (zh) | 2003-10-22 |
EP1287657A2 (en) | 2003-03-05 |
WO2001093533A3 (en) | 2002-06-06 |
CA2410853A1 (en) | 2001-12-06 |
WO2001093533A2 (en) | 2001-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010051980A1 (en) | Preloading content objects on content exchanges | |
JP4732667B2 (ja) | 選択的ルーティング | |
JP2004511116A (ja) | ネットワークアドレス指定のためのシステム | |
US6879998B1 (en) | Viewer object proxy | |
JP2004513411A (ja) | コンテンツ交換装置 | |
JP2004509485A (ja) | リバースコンテンツハーベスタ | |
JP2004509381A (ja) | 自己発行ネットワークディレクトリ | |
JP2004514961A (ja) | コンテンツのトラッキング | |
JP2004508613A (ja) | コンテンツ交換部へのコンテンツオブジェクトのプリロード | |
JP2004507806A (ja) | クライアント側の全体的健康チェック | |
JP2004511835A (ja) | コンテンツオブジェクトのためのアクティブディレクトリ | |
JP2004508614A (ja) | コンテンツマネージャ | |
KR20030051431A (ko) | 클라이언트측 어드레스 라우팅 분석 방법 | |
JP2004501443A (ja) | クライアントの側の決定論的ルーティングおよびトランスペアレントなあて先変更 |