(57)【要約】コンテンツ配信システム上でコンテントリクエスタとソースとの間における転送品質を向上させる方法。この方法は、リクエスタとコンテンツソースとの間の転送品質を決定することを含む。各転送品質の決定は、リクエスタの観点から行なわれる。さまざまなコンテンツソースに対する転送品質を決定した後、リクエスタは転送品位をセレクタに送信する。そのセレクタは、コンテンツソースを選択する決定された転送品質を使用してリクエスタに供給する。
2004501559.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備え、前記方法は、
前記リクエスタおよび第１のソースに関する第１の転送品質係数（ｔｒａｎｓｆｅｒ　ｑｕａｌｉｔｙ　ｆａｃｔｏｒ）を決定し、第１のソースは第１の識別子によって識別されることと、
前記リクエスタと第２のソースに関する第２の転送品質係数を決定し、第２のソースは第２の識別子によって識別されること、
前記セレクタに優先度を提供し、前記優先度は第１および第２の転送品質係数に基づいており、かつ前記優先度は第１および第２の識別子のうちの少なくとも１つを含んでいることと、
前記セレクタは前記優先度に基づいて前記リクエスタへのソースを選択することとからなる方法。
【請求項２】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記方法は、
第１のソースおよび第２のソースを識別することをさらに含む方法。
【請求項３】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記方法は、
前記リクエスタに第１の識別子および第２の識別子を提供すること
をさらに含む方法。
【請求項４】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、
前記第１の転送品質係数の決定が、複数の試験を実行することを含む方法。
【請求項５】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項４に記載の方法において、前記方法は、
前記第１の転送品質係数を決定するために複数の前記試験を重み付けする重み付け機能を使用することをさらに含む方法。
【請求項６】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項５に記載の方法において、前記重み付け機能は、ユーザーによって定義される方法。
【請求項７】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記選択されたソースは転送ノードであり、それにより前記転送ノードは、オリジネイティングソースから転送されて前記リクエスタが利用できるようにされるコンテンツオブジェクトを備える方法。
【請求項８】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記方法は、
前記優先度をユーザーに対して表示することをさらに含む方法。
【請求項９】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための方法であって、前記方法は、
第１のソースおよび第２のソースを識別することと、
前記リクエスタと第１のソースとの間および前記リクエスタと第２のソースとの間における転送品質を解析することと、
前記解析された転送品質に基づいて第１のソースおよび第２のソースを順位付けすることと、
前記コンテンツオブジェクトソースの選択を案内するために前記順位付けを使用し、その選択されたコンテンツオブジェクトソースは、第１のソース、第２のソース、または第３のソースのうちの１つであることとからなる方法。
【請求項１０】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記順位付けを使用することは、
セレクタに前記順位付けを転送することを含み、前記セレクタは前記順位付けに部分的に基づいて前記コンテンツオブジェクトソースを選択し、前記セレクタは前記リクエスタに前記選択されたコンテンツオブジェクトソースを示す方法。
【請求項１１】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記転送品質を解析することが、複数の試験を実行することを含む方法。
【請求項１２】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記転送品質を解析することが、トレ−スルート、ファイル転送を介した試験、サーバヘルスチェック、サーバロードチェック、ピング（ｐｉｎｇ：ｐａｃｋｅｔ　Ｉｎｔｅｒｎｅｔ　ｇｒｏｐｅｒ）、路程差、ＢＧＰ（Ｂｏｒｄｅｒ　Ｇａｔｅ　Ｐｒｏｔｏｃｏｌ、以下ＢＧＰとよぶ）、ルーティング情報、およびポート応答時間のうちの少なくとも１つを実行することを含む方法。
【請求項１３】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記方法は、
前記選択されたコンテンツオブジェクトソースからコンテンツオブジェクトを要求することと、
前記コンテンツオブジェクトを受信することとをさらに含む方法。
【請求項１４】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項１３に記載の方法であって、前記コンテンツオブジェクトを受信することが、前記コンテンツオブジェクトの一部分を事前に取得することをさらに含む方法。
【請求項１５】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項１３に記載の方法であって、前記コンテンツオブジェクトを受信することが、前記コンテンツオブジェクトを解凍することと、前記コンテンツオブジェクトを解読することと、および前記コンテンツオブジェクトのセキュリティーチェックを実行することとのうちの少なくとも１つを含む方法。
【請求項１６】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響され、前記方法は、
前記クライアントへの第１の転送ノードおよび第２の転送ノードを識別することと、
前記クライアントが前記第１の転送ノードおよび第２の転送ノードを順位付けし、前記順位付けはクライアント優先度を形成することと、
前記クライアント優先度に基づいて前記第１の転送ノードおよび第２の転送ノードのうちの１つを選択することと、
その選択された転送ノードからコンテンツオブジェクトの転送を要求することとからなる方法。
【請求項１７】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記クライアント優先度は、前記クライアントと前記第１の転送ノードとの間および前記クライアントと前記第２の転送ノードとの間における転送品質の解析により生成される方法。
【請求項１８】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１７に記載の方法において、転送品質の前記解析は、少なくとも２つの試験を実行することを含む方法。
【請求項１９】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記選択された転送ノードは、前記コンテンツオブジェクトソースである方法。
【請求項２０】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記第１の転送ノードおよび第２の転送ノードのうちから１つを選択することが第３の転送ノードによって実行される方法。
【発明の詳細な説明】
【０００１】
本出願は、２０００年６月１日に仮出願の米国出願番号第６０／２０９，００７号の前記便益を請求する。
【０００２】
（発明の背景）
本発明は、一般にコンテンツ配信に関し、より詳細には、インターネット上でコンテンツを配信する場合におけるサービス品質（ＱＯＳ：　Ｑｕａｌｉｔｙ　Ｏｆ　Ｓｅｒｖｉｃｅ）を改善することに関する。
【０００３】
インターネット上で大容量コンテンツファイルを提供したいという要望がある。この種の大容量コンテンツファイルを転送することは可能ではあるが、インターネットは、一定の最小転送速度を保証しない。一定の最小転送速度を保証なしでは、インターネットは、適切なＱＯＳを提供できない。十分なＱＯＳを保証するために一定の最小速度で転送を必要とする大容量コンテンツファイルの例としては、ストリーミングビデオやオーディオがある。一般に、いくつかの潜在的なホップの各部におけるデータ品質の損失、大半の伝送のバンド幅が限られていること、インターネットが一定のデータ速度で長期間データを流すように設計されなかったという理由で、インターネットは、この種のコンテンツファイルを転送するには貧弱なネットワークである。
【０００４】
インターネット上でコンテンツファイルを転送中、適切なＱＯＳを提供するためにさまざまな方式が使用された。一例として、負荷の最適配分がある。一般に、負荷の最適配分は、インターネット上のさまざまなノードが転送活動の同様のレベルに関わりあうように、コンテンツファイル転送を指示することを含む。この方式は、転送劣化、あるいはオーバーロードのノードに関する失敗すら軽減するが、その反面、この方式は、コンテンツファイルソースとリクエスタとの間のＱＯＳをほとんど保証しない。従って、コンテンツファイルの転送中、適切なＱＯＳを提供することが望まれる。
【０００５】
（発明の要約）
本発明の実施例は、コンテンツ配信システム上でリクエスタとソースとの間における転送品質を向上させる方法を提供する。この方法は、コンテンツ配信システム上のリクエスタとさまざまなコンテンツ交換との間の転送品質を評価することを備える。各転送品質は、リクエスタの観点から評価される。さまざまなコンテンツ交換は、その後評価に基づいて順位付けされ、この順位をセレクタに送信する。このセレクタは、順位付けされたコンテンツ交換を使用してリクエスタがコンテンツ交換を選択できるようにする。
【０００６】
図面及び請求項を含む明細書の以下の部分の説明により、本発明の他の特徴、及び効果が認識できるであろう。本発明の様々な実施態様の構造及び操作のみならず、本発明のさらなる特徴及び効果を添付の図面に関連させて下記により詳細に記載する。
【０００７】
（発明の実施の形態）
本発明は、インターネットのようなネットワークを横断して、コンテンツオブジェクトソースからコンテンツオブジェクトを転送する際のサービス品質（ＱＯＳ：Ｑｕａｌｉｔｙ　ｏｆ　Ｓｅｒｖｉｃｅ、以下ＱＯＳとよぶ）を改善する。一実施形態では、クライアントコンピュータは、十分なＱＯＳを提供できるコンテンツ交換を判定し、オリジンサーバに対してその判定されたコンテンツ交換を識別する。つぎに、オリジンサーバは、クライアントコンピュータがコンテンツオブジェクトにアクセスするために使用可能である充分なＱＯＳを提供できるコンテンツ交換を選択する。
【０００８】
図面において、類似した要素、及び／又は機能は、同一の参照符号を有する場合がある。さらに、同一種類の異なる要素は、参照符号に続くダッシュや、類似した要素同士を識別させる第２の符号によって識別される。第１の参照符号のみが明細書で使用されていれば、その記載は第２の参照符号に関わりなく、同一の第１の参照符号を有したあらゆる類似の要素のうちの１つにも適用可能である。
【０００９】
図１を参照する。コンテンツ配信システム１００の実施形態のブロック図が示されている。本実施形態においてコンテンツ配信システム１００は、アクティブディレクトリ１０４と、１つ以上のオリジンサーバ１０８と、１つ以上のクライアントコンピュータ１１２と、１つ以上のコンテンツ交換部１１６と、１つ以上の外部オリジンサーバ１１８と、インターネット１２０と、クローリングディレクトリ１２４とを有する。特定のクライアントコンピュータ１１２は、アクティブディレクトリ１０４と対話して、ダウンロードするためのコンテンツオブジェクトを選択する。オブジェクトは、ストリーミングメディアの場合にはダウンロードの間に再生可能であり、或いは後時のために記憶することも可能である。
【００１０】
コンテンツオブジェクトは、ネットワークからダウンロード可能な、例えば、オーディオ、ビデオ、データなどあらゆる種類の情報であってもよい。コンテンツオブジェクトの要求は、優先情報とともにクライアントコンピュータ１１２から適切なオリジンサーバ１０８に転送される。オリジンサーバ１０８は、オブジェクトをどこからダウンロードするかを決定する。満足すべきＱＯＳを提供するために、あらゆるコンテンツ交換部１１６、或いはオリジンサーバ１０８自体がオブジェクトを提供可能である。
【００１１】
アクティブディレクトリ１０４は、クライアントコンピュータ１１２においてコンテンツオブジェクトを選択するためのインタフェースとなり得る。コンテンツ配信システム１００を可能とするために、オリジンサーバ１０８と任意のクライアントコンピュータ１１２の双方のためのソフトウェアがアクティブディレクトリ１０４からダウンロードされ得る。希望するコンテンツオブジェクトを判定するためにディレクトリインタフェースページ、又は検索インタフェースページのいずれかを使用してもよい。オリジンサーバ１０８上のコンテンツオブジェクトとのリンク中断を回避すべく、インタフェースはアクティブに維持される。
【００１２】
コンテンツ交換部１１６がオリジンサーバ１０８からコンテンツオブジェクトを要求する場合、アクティブディレクトリ１０４は、適切なオリジンサーバ１０８へ戻るパスを提供可能である。
【００１３】
他の実施例では、複数のアクティブディレクトリを有してもよい。システムのユーザは、ローディングを配信するためにいくつかのアクティブディレクトリのうちで分割されていてもよい。さらに、１つのアクティブディレクトリがオフラインの場合には他のアクティブディレクトリがローディングを吸収できるように、他のアクティブディレクトリを冗長化のために使用してもよい。
【００１４】
いくつかの実施形態においてオリジンサーバ１０８は、コンテンツオブジェクトのソースを提供し、コンテンツオブジェクトの優先ソースにユーザを導き、アクティブディレクトリ１０４にディレクトリ情報を提供する。コンテンツオブジェクトはオリジンサーバ１０８によってシステム１００に導入される。導入は、アクティブディレクトリ１０４を利用可能にするための、オリジンサーバ管理者によるコンテンツオブジェクトの選択を含む。管理者とは、オリジンサーバ１０８を管理する人又はシステムである。コンテンツオブジェクトには、以前に記憶された情報、或いは情報のストリーミングによる提供が含まれる。オリジンサーバ１０８は所定のサイクルに従って、オリジンサーバ１０８上のコンテンツの変更とともに更新される選択情報のカタログを提供する。
【００１５】
オリジンサーバ１０８は、コンテンツオブジェクトをダウンロードするために、クライアントコンピュータ１１２に指示すべき優先ソースを判定する。クライアントコンピュータ１１２の優先リストと、コンテンツ交換のローディングと、コンテンツオブジェクトのコピーがある場所との全ては、クライアントコンピュータを情報の優先ソースへとあて先変更する際にオリジンサーバ１０８にて検討する事項である。そのソースは、オリジンサーバ１０８自体か、又はコンテンツ交換部１１６のうちの１つである。
【００１６】
ユーザは、所望のコンテンツオブジェクトを見つけ、その後そのオブジェクトをダウンロードするためにクライアントコンピュータ１１２に指示する。クライアントコンピュータ１１２は、アクティブディレクトリ１０４からダウンロードしたビューワオブジェクトプロキシソフトウェアを使用して、適切なＱＯＳでコンテンツ配信が可能なコンテンツ交換１１６部を判定する。この適切なＱＯＳを有するコンテンツ交換部１１６を判定する処理には、例えば優先リストを準備する際に最高の結果を生成する可能性が高いコンテンツ交換部からのテスト情報の受信が含まれる。カスタマイズされた方法を要望する場合、ユーザは、コンテンツ交換部１１６の優先リストを変更できる。オリジンサーバ１０８がコンテンツオブジェクトのソースを決定する際に、適切なＱＯＳを提供するために優先情報を使用する。
【００１７】
外部オリジンサーバ１１８は、クライアントコンピュータ１１２が利用可能なコンテンツオブジェクトのさらなるソースである。一実施形態では、外部オリジンサーバ１１８は、コンテンツ交換部１１６に接続される。
【００１８】
コンテンツ交換部１１６は、コンテンツオブジェクトのキャッシュである。これら多数のコンテンツ交換部１１６は、インターネット１２０の異なる箇所に設置され、コンテンツオブジェクトをキャッシュする。情報は、例えば、ユーザにとっての情報の要望度や、ユーザが直ちに利用可能なコンテンツを要求するオリジンサーバ１０８へのサービスや、改善したＱＯＳを要求するユーザへのサービスなどの、多くの考察に基づいてキャッシュされる。コンテンツ交換部１１６のグループ化は、かたまりごとであっても、或いはコンテンツオブジェクトに対するクライアントコンピュータ１１２の要求を提供すべく個別であってもよい。
【００１９】
要求されているコンテンツオブジェクト、又はその一部を、それを要求しているユーザがコンテンツ交換部１１６から見つけられない場合、コンテンツ交換部１１６から他のコンテンツ交換部へ、そのコンテンツオブジェクトの要求がなされる。他のどのコンテンツ交換部１１６もコンテンツオブジェクトを有しない場合、アクティブディレクトリ１０４においてオリジンサーバ１０８に対する問い合わせがなされる。オリジンサーバ１０８は、コンテンツオブジェクトのソースであり、かつコンテンツオブジェクトがそこからダウンロードされる。コンテンツ交換部１１６がコンテンツオブジェクトを集めている間、クライアントコンピュータ１１２は、ダウンロード可能な最初の部分を受信している。コンテンツオブジェクトはいくつかのコンテンツ交換部１１６に部分ごとに記憶可能であり、要求を出すコンテンツ交換部１１６がそれら部分を検索して、クライアントコンピュータ１１２に要求されているような全体のコンテンツオブジェクトに再構築する。
【００２０】
いくつかの実施形態では、要求したコンテンツオブジェクト、又は要求したコンテンツオブジェクトの一部を、それを要求しているユーザがコンテンツ交換部１１６から見つけられないときは、要求したコンテンツオブジェクトを検索するために、コンテンツ交換１１６は、外部オリジンサーバ１１８に要求を出すことが可能である。
【００２１】
クローリングディレクトリ１２４は、オリジンサーバ１０８が報告するカタログ情報を補充するために使用される。ユーザのためにコンテンツオブジェクトを検索する際、アクティブディレクトリ１０４は、オリジンサーバ１０８から入手可能なコンテンツオブジェクト、及びクローリングディレクトリ１２４が発見した他のコンテンツオブジェクトを表示できる。クローリングディレクトリ１２４は、ウェブを横断することによって遭遇したコンテンツオブジェクトやその他の情報をカタログ化する。例えば、カタログのキーワード検索を実行して、ユーザがシステム１００上のあらゆるオリジンサーバからであっても入手不能なコンテンツオブジェクトに到達できる。クライアントコンピュータ１１２がコンテンツオブジェクトをダウンロードした時にそれをキャッシュするために、コンテンツ交換部１１６の１つがアクティブディレクトリ１０４によって選択される。この実施形態では、１つのクローリングディレクトリ１２４だけを使用しているが、他の実施形態では、さらなる検索結果を提供すべく、多数のクローリングディレクトリを使用可能である。
【００２２】
インターネット１２０は、ルータによって共にリンクされた複数のサーバからなる。データは、最終のあて先に到達するまで１つのルータから次のルータへと、ホッピングしてインターネット１２０を進行するパケットに分割される。各パケットは、インターネット内で異なるルートをとってもよく、異なる時に最終受信地に到着してもよい。さらに、任意のルータのバンド幅が飽和する時には、いくつかのパケットがインターネット１２０中を進行している間に消失することがある。コンテンツオブジェクトのソースと最終あて先との間のホップ数が増加すると、過度の遅延やパケット消失の可能性も同様に増加する。
【００２３】
コンテンツオブジェクトが、ソースから最終あて先までインターネット１２０内のパスを横断するため、パス内の任意の２ルータ間の最小バンド幅が、そのパスの最大バンド幅を決定する。通常、インターネット１２０からクライアントコンピュータまでのバンド幅は、最少のバンド幅割り当てを有する。他の場合には、ルータ間の他のホップが最小バンド幅を有する。コンテンツ交換部１１６とクライアントコンピュータ１１２との間のホップが最少の状態で、コンテンツ交換部１１６にコンテンツオブジェクトをキャッシュすることが十分なＱＯＳを得る可能性を高める。
【００２４】
クライアントコンピュータからインターネット１２０へのデータレートを上回らない好適なデータレートでコンテンツオブジェクトをダウンロードすることが、適切なＱＯＳとなる。ユーザが期待できる最高のＱＯＳは、それらのネットワークへの接続速度や、それらのコンピュータの処理能力や、他の要因によって決定される。最低のＱＯＳは、ユーザが一定の制約において要望する品質に基づき、ユーザが主観的に決定する。例えば、４００Ｋｂｐｓのネットワーク接続と高速コンピュータを有するユーザは、オーディオクリップのために、２８Ｋｂｐｓ、５６Ｋｂｐｓ、１２８Ｋｂｐｓでのストリームの選択肢があり、その中からユーザは１２８Ｋｂｐｓのストリームを選択してもよい。クライアントコンピュータが提供するデータ速度が１２８〜４００Ｋｂｐｓの範囲にある限り、そのストリームに適切なＱＯＳを得る事ができる。
【００２５】
上記の実施形態は、主に異なるブロック間の接続にインターネット１２０を使用しているが、他の実施形態では、インターネット１２０以外の個人的なリンクを使用してもよい。さらに、システム１００外のコンテンツオブジェクトは、エクステントキャッシング、暗号化、及び圧縮が提供される場合にはシステム１００から恩恵を受ける。
【００２６】
図２を参照する。コンテンツ配信システム１００のアクティブディレクトリ部１０４の実施形態を示すブロック図が示されている。アクティブディレクトリ１０４は、ダイナミックドメインネームサーバ（ＤＮＳ）２０４と、サーバマネージャ２０８と、ディレクトリページ２１２と、検索ページ２１６と、ダウンロードページ２２０と、加入者データベース２２４と、サーバデータベース２２８と、コンテンツ交換データベース２３２と、ルーティングデータベース２３４とを有する。コンテンツ配信システム１００は、ユーザにディレクトリ情報を提供するためにアクティブディレクトリ１０４と対話し、ユーザによるコンテンツオブジェクトのダウンロードを支援する。
【００２７】
クライアントコンピュータ１１２のユーザ、及びオリジンサーバ１０８の管理者の両方が、コンテンツ配信システム１００の加入者である。ソフトウェアは、ダウンロードページからユーザ、及び／又は、管理者にダウンロードされる。実施形態によってはクライアントコンピュータ１１２のためのソフトウェアが随意にあり、ＱＯＳを改善する。オリジンサーバ１０８のソフトウェアは、アクティブディレクトリ１０４がシステム１００上で利用できるコンテンツを更新し、そのコンテンツを受信するための優先ソースにクライアントコンピュータ１１２を導くことを可能とする。
【００２８】
クライアントコンピュータ１１２は、アクティブディレクトリ１０４のドメインに付随して、所望のコンテンツオブジェクトを見出す。優先度に従って、コンテンツオブジェクトを見つけるためにユーザはディレクトリページ２１２や検索ページ２１６を使用してもよい。検索ページ２１６は、クローリングディレクトリ１２４から収集された情報だけでなく、全てのオリジンサーバ１０８が提供したコンテンツオブジェクトのカタログにアクセスする従来のブールの検索エンジンであってもよい。他の実施形態では、オリジンサーバ１０８からのコンテンツの検索が不成功に終わった場合にはクローリングディレクトリ１２４からの情報のみを表示するか、或いは、クローリングディレクトリ１２４からの情報を全く除外する場合がある。全オリジンサーバ１０８のコンテンツオブジェクトのカタログは、サーバデータベース２２８に維持される。
【００２９】
ディレクトリページ２１２は、対象により編成されるカテゴリの階層に利用可能なコンテンツオブジェクトを編成する。例えば、第１ページは、一般的に関心のある多数の主題を表示してもよく、ユーザは、スポーツを選択する。階層では１つ下の層である次ページでは、多数のスポーツを表示し、ユーザは、フットボールを選択する。さらに１つ下の階層レベルで、ユーザは、サンディエゴチャージャーズ（商標）を選択して、関連したコンテンツオブジェクトリンクの、次のページを見てもよい。
【００３０】
管理者は、オリジンサーバ１０８上のコンテンツを分類して、ディレクトリページ２１２にそれを適切に表示させる。サイト、ディレクトリ、又はファイルのベースで、管理者は、そのコンテンツオブジェクトに関連したＨＴＭＬ　ＳＳＩタグとしてコンテンツオブジェクトのカテゴリを選択できる。この分類を入手しアクティブディレクトリに記憶して、コンテンツオブジェクトを異なるカテゴリで表示可能にする。さらに、調停者がディレクトリページ２１２のカテゴリにコンテンツオブジェクトを記載して配置してもよい。例えば、調停者はあるコンテンツオブジェクトをより目立たせて表示する対象とするためにマークをつけ、及び／又は、コンテンツオブジェクトについてのレビューをつけることがある。
【００３１】
サーバマネージャ２０８は、全てのクライアントコンピュータ１１２、全てのオリジンサーバ１０８、全ての外部オリジンサーバ１１８、全てのコンテンツ交換部１１６、及び、オリジンサーバ１０８上の全てのコンテンツオブジェクトに関する情報を維持管理する。クライアントコンピュータ１１２とオリジンサーバ１０８に関する情報は、加入者データベース２２４で維持管理される。クライアントコンピュータ１１２に関連した各ユーザについて、フルネーム、ログインネーム、パスワード、固有のネーム、利用できる代用貨幣クレジット、その他の情報が加入者データベース２２４で維持管理される。このデータベース２２４は、また、オリジンサーバ１０８を確認した最終時刻、オリジンサーバ１０８のインターネットプロトコル（ＩＰ）アドレス、コンテンツマネージャサーバが実行するポート、オリジンサーバ１０８のオン／オフ回線ステータス、バナー広告ＵＲＬ、オリジンサーバ１０８名、オリジンサーバ１０８の説明、オリジンサーバ１０８を使用するのに必要なクレジット若しくは代用貨幣又は他の課金モデル、一度に可能な接続数やビューワ数を保持する。
【００３２】
全てのオリジンサーバ１０８のコンテンツオブジェクトに関する情報は、サーバデータベース２２８で維持管理される。各コンテンツオブジェクトについて、オリジンサーバネーム、コンテンツオブジェクトファイルネーム、パスを、カテゴリ情報、概要、キーワードとともに記憶する。ディレクトリ、検索ページ２１２，２１６をナビゲーション中、ユーザにコンテンツ選択を提供するようサーバデータベース２２８に問い合わせる。サーバデータベース２２８に最新情報を維持するために、サーバマネージャ２０８は、周期的にオリジンサーバ１０８と対話してコンテンツオブジェクトのカタログの最新の変更を入手し、オリジンサーバ１０８がオフラインになったか否かを判定する。オリジンサーバ１０８がオフラインになったときは常に、そのオリジンサーバ１０８に対応するサーバデータベース２２８へのエントリを削除し、加入者データベース２２４のステータス情報を更新する。
【００３３】
ある実施形態では、サーバデータベース２２８へのエントリは、オリジンサーバ１０８がオフラインになった後でも存続する。オリジンサーバに関連したコンテンツが利用できないことを反映するためにステータスを更新するが、情報は、サーバデータベース２２８内に記憶されたままである。ステータスがオンラインに更新されると、情報は、コンテンツオブジェクトを検索しているユーザに再び示される。状況によっては、オリジンサーバ１０８はある期間にオフラインになる予定であることをアクティブディレクトリ１０４に示してもよい。その期間が短期間だと推定される場合、アクティブディレクトリは情報をユーザに表示せずに、サーバデータベース２２８内に保持できる。
【００３４】
システム１００で利用可能なコンテンツ交換部１１６のリストは、コンテンツ交換データベース２３２にてサーバマネージャ２０８が維持管理する。ある実施形態では、コンテンツ交換データベース２３２は、コンテンツ配信システム１００内で利用可能な全てのコンテンツ交換部１１６のＩＰアドレスのリストを含むことがある。さらに、コンテンツ交換データベース２３２は、各コンテンツ交換部１１６に関連した多数のコンテンツ交換フィールドを含むことがある。例えば、コンテンツ交換データベース２３２の各コンテンツ交換部１１６に関連したフィールドには、コンテンツ交換ＩＤ、コンテンツ交換サイト、コンテンツ交換プロバイダ、コンテンツ交換名、コンテンツ交換位置、コンテンツ交換ステータス、アイコン、他のいかなる所望の、又は必要な情報が含まれ得る
【００３５】
コンテンツ交換ＩＤとコンテンツ交換サイトはこれらを合わせて、特定のコンテンツ交換サイトにて固有のコンテンツ交換１１６を識別する。コンテンツ交換プロバイダは、コンテンツ交換に責任を有する関係者、例えば、ＸＹＺ会社の標識である。コンテンツ名は、ドメインネームであり、コンテンツ交換位置は、コンテンツ交換部１１６についての地理的座標である。例示の実施形態では、コンテンツ交換データベース２３２は、コンテンツ交換ＩＤ、コンテンツ交換サイト、コンテンツ交換ＩＰアドレス、コンテンツ交換プロバイダ、コンテンツ交換名、コンテンツ交換場所、及び、コンテンツ交換データベース２３２における各コンテンツ交換部１１６のアイコンを含む。
【００３６】
一般に、コンテンツ交換データベース２３２は、改良されたＱＯＳ基準、又はサブスクリプションサービス基準を含むが、これに限らず様々な方法に基づいて、地域別に分類、又は分割できる。さらに、コンテンツ交換データベース２３２は、代替のアクティブディレクトリ１０４、オリジンサーバ１０８のリスト、或いは他のいかなる有効な、又は必要な情報を含むこともある。
【００３７】
システム１００のコンテンツ交換部１１６は、サーバマネージャ２０８にステータスを定期的に提供する。コンテンツ交換１１６が利用可能、又は利用不能となった場合には、それら動作ステータスはサーバマネージャ２０８に報告され、コンテンツ交換データベース２３２に記録される。ある実施形態では、コンテンツ交換データベース２３２は、コンテンツ交換部１１６のローディング、容量、利用度、ヘルスを含む付加的なステータス情報を含むことができる。
【００３８】
ルーティングデータベース２３４は、外部オリジンサーバ１１８のリストを有する。ある実施形態では、ルーティングデータベース２３４は、外部オリジンサーバ１１８に関する識別、ステータス、構成情報を有する。識別情報には、外部オリジンサーバ１１８のＩＰアドレスとドメインネームが含まれ得る。ステータス情報には、外部オリジンサーバの稼働率、ローディング、又は他のステータスが含まれ得る。構成情報には、代替の外部オリジンサーバ１１８のリストが含まれ得る。一実施形態では、ルーティングデータベース２３４は、各外部オリジンサーバ１１８のＩＰアドレスとドメインネームを有する。ある実施形態では、ルーティングデータベース２３４内で外部オリジンサーバ１１８を識別することが、外部オリジンサーバ１１８をコンテンツ配信システム１００と関連付けるための機構である。
【００３９】
ルーティングデータベース内の各外部オリジンサーバ１１８について、外部オリジンサーバ１１８上の情報にアクセスするためにコンテンツ交換１１６の使用が許可されたユーザ名のリストがある。ユーザ名は、クライアントコンピュータ１１２のユーザに固有である。クライアントコンピュータがコンテンツ交換を通してルーティング可能な外部オリジンサーバ１１８のリストがクライアントコンピュータ１１２に提供される。クライアントコンピュータ１１２は、ルーティングデータベースからの情報を使用して、外部オリジンサーバ１１８に対するユーザ要求をコンテンツ交換１１６にあて先変更する。コンテンツ交換部１１６が外部オリジンサーバ１１８からのコンテンツオブジェクトを収容した後、バンド幅を外部オリジンサーバ１１８からコンテンツ交換１１６部に下ろす。この高度なサービスのためにユーザは、コンテンツ交換のオーナー、及び／又はオリジンサーバの管理者に、代金を払うこともある。
【００４０】
動的ＤＮＳ２０４は、オリジンサーバ１０８の各ＩＰアドレスのオリジンサーバネームを提供する。オリジンサーバネームは、一意的にインターネット１２０上のオリジンサーバ１０８を識別する。この情報は、加入者データベース２２４で維持管理される。コンテンツ交換部１１６は、コンテンツ交換部１１６にコンテンツオブジェクトを提供したオリジンサーバ１０８のＩＰアドレスを知らないが、オリジンサーバネームは知っている。コンテンツ交換部１１６が、そのキャッシュに他のコンテンツ交換部１１６からは入手不能なコンテンツオブジェクト、又はその一部を収容したいときは、コンテンツオブジェクトのソースであるオリジンサーバ１０８のＩＰアドレス、又はドメインネームを判定するために、動的ＤＮＳ２０４に問い合わせがなされる。ドメインネームを動的ＤＮＳ２０４から検索する場合、そのドメインネームに対応するＩＰアドレスがＤＮＳから検索される。
【００４１】
次に図３Ａを参照する。コンテンツ配信システム１００のオリジンサーバ部１０８の実施形態を示すブロック図が示される。オリジンサーバ１０８は、管理者に管理され、コンテンツ配信システム１００にコンテンツオブジェクトのソースの１つを提供する。クライアントコンピュータを、所望のコンテンツオブジェクトを効率的に配信可能なコンテンツ交換部１１６へと、導いているオリジンサーバ１０８によってＱＯＳが提供される。オリジンサーバ１０８には、コンテンツソース３０４、コンテンツサーバ３０８、コンテンツマネージャ３１２、ローカルコンテンツカタログ３１６、コンテンツロケーションデータベース３２０、コンテンツ交換情報３２４、ヘルスチェック３３０が含まれる。
【００４２】
コンテンツは、コンテンツソース３０４がオリジンサーバ１０８に提供する。コンテンツソース３０４は、ライブウェブ連想メモリ、ビデオ又はオーディオフィード、データオブジェクト、データストリーム、ビデオテープ又はオーディオテープ、光学又は磁気ディスク、或いは他のあらゆるコンテンツ配信機構であってもよい。コンテンツオブジェクトは、システム１００内での可能な配信のためにコンテンツソース３０４によってコンテンツサーバ３０８に配信される。
【００４３】
維持されるコンテンツオブジェクトやコンテンツオブジェクトの部分について各コンテンツ交換部１１６に日時情報が維持される。その日時情報は、同一のオリジンサーバ名、パス名、ファイル名を有するコンテンツオブジェクトを識別する。他の実施形態では、チェックサム（ｃｈｅｃｋｓｕｍ）、巡回冗長検査（ＣＲＣ）やハッシュ（ｈａｓｈ）などの任意の固有コードを使用して一義的にコンテンツオブジェクトを識別する。
【００４４】
オリジンサーバ３０８のコンテンツオブジェクトは全て、コンテンツサーバ３０８に記憶される。管理者は、システム１００で利用不能な他のコンテンツオブジェクトをコンテンツサーバ３０８上に残す間に、システム１００に掲載するためにコンテンツオブジェクトやコンテンツオブジェクトのグループを選択可能である。いくつかのコンテンツオブジェクトは、不連続のファイルだが、他は、例えば、ライブウェブ連想メモリによって生成されるコンテンツのストリームである。コンテンツサーバ３０８を実行させるソフトウェアをコンテンツマネージャ３１２のソフトウェアと統合してもよい。
【００４５】
コンテンツマネージャ３１２は、システム１００に所望のコンテンツオブジェクトを掲載して、コンテンツマネージャ３１２に関連したコンテンツオブジェクトをダウンロードするためにユーザを好適なコンテンツ交換部１１６に導く。管理者の指示で、コンテンツマネージャ３１２はアクティブディレクトリ１０４に掲載するために、ファイルネーム、ディレクトリ、ドライブボリュームによってコンテンツオブジェクトやコンテンツオブジェクトのグループを選択する。コンテンツサーバ３０８上のいくつかのコンテンツオブジェクトは、システム１００で利用不能とするために掲載から除外してもよい。
【００４６】
システムに掲載するために選択されたコンテンツオブジェクトは、ローカルコンテンツカタログ３１６で維持管理される。ローカルコンテンツカタログ３１６へのエントリは、それらのエントリに対応するオブジェクトが利用不能、又は更新された場合には、コンテンツマネージャ３１２が最新となるように維持管理する。各エントリについて、コンテンツオブジェクトファイルネーム及びパスが、カテゴリ情報、概要、キーワードとともに記憶される。システム１００への接続があり次第、ローカルコンテンツカタログ３１６はコンテンツマネージャ３１２によってサーバデータベース２２８へのエントリのためにアクティブディレクトリ１０４に送信される。可及的に最新のディレクトリ情報を保つために、ローカルコンテンツカタログ３１６への変更を定期的にサーバデータベース２２８に送信する。更新は、２分毎など定期的間隔をおいて、及び／又は、ローカルコンテンツカタログが変更されるときは常に実行されることがある。
【００４７】
コンテンツマネージャ３１２は、また、そのコンテンツマネージャ３１２に関連したコンテンツオブジェクトの全ての部分の記憶場所を知っている。システム１００に接続するとすぐに、コンテンツマネージャ３１２は、ステータスについて各コンテンツ交換部１１６と交信する。コンテンツ交換部１１６は、対応するコンテンツマネージャ３１２にそのコンテンツオブジェクトやコンテンツオブジェクトの部分について定期的に報告する。この情報を活用して、コンテンツマネージャ３１２は、クライアントコンピュータ１１２をコンテンツ交換部１１６に導くことが可能となる。コンテンツ交換部１１６は、所望のコンテンツオブジェクトのいくつか、又は全てをダウンロード可能な状態で有する。
【００４８】
全てのコンテンツ交換部１０８が報告するコンテンツオブジェクトの記憶場所情報は、コンテンツマネージャによってコンテンツロケーションデータベース３２０に維持管理される。コンテンツロケーションデータベース３２０に照会することによって、コンテンツマネージャ３１２は、コンテンツオブジェクト、又はコンテンツオブジェクトの一部を有するコンテンツ交換部１１６を判定できる。クライアントコンピュータ１１２がコンテンツソースへルーティングされる間、特定のコンテンツ交換部１１２内でのコンテンツオブジェクトの存在は、ルーティングの判定に影響を及ぼすことがある。
【００４９】
コンテンツ交換情報記憶装置３２４は、全てのアクティブなコンテンツ交換部１１６に関する情報を有する。オリジンサーバ１０８をパワーアップすると直ちに、アクティブディレクトリ１０４のコンテンツ交換データベース２３２がコンテンツ交換情報記憶装置３２４にダウンロードされる。パワーアップの後に、コンテンツ交換情報記憶装置３２４にリストされる全てのコンテンツ交換部１１６に、コンテンツ交換情報３２４として保持されるステータス情報が照会される。ステータス情報には、使用される同時並行のリンク数、許可された同時並行のリンクの合計数、バンド幅の利用度、及びキャッシュのチャーンレート数が含まれる。キャッシュのチャーンレートは、キャッシュ内に未使用データが残存する時間であり、キャッシュのローディングを表す。例えば、キャッシュの記憶量に相対してビジーなコンテンツ交換部１１６のために、データは通常キャッシュから迅速に消去される。しかしいくつかの実施例では、使用のいかんにかかわらず、ある期間中、コンテンツ交換部１１６に固定されて残存する厄介なコンテンツオブジェクトを有することもある。
【００５０】
コンテンツマネージャ３１２は、コンテンツオブジェクトを要求しているクライアントコンピュータ１１２を、そのオブジェクトの優先ソースへとインテリジェントにあて先変更する。クライアントコンピュータ１１２が送信する優先情報は、クライアントコンピュータ１１２が要求するコンテンツオブジェクトのソースを判定するために使用される。コンテンツオブジェクトのダウンロードのためにクライアントコンピュータ１１２を優先されたコンテンツ交換部１１６に導くため、この情報は、コンテンツオブジェクトの現在の記憶場所、及び使用可能なコンテンツ交換部のローディングとともに使用される。
【００５１】
いくつかの実施形態では、コンテンツマネージャ３１２は、コンテンツオブジェクトへのアクセスを管理できる。クライアントコンピュータ１１２がコンテンツマネージャ３１２に関連したコンテンツオブジェクトのダウンロードを試行したときに、管理者がコンテンツオブジェクトにセキュリティを設定していた場合には、ログインダイアログを表示することができる。ユーザはコンテンツオブジェクトのソースにクライアントコンピュータ１１２のあて先を変更するために、ログインダイアログにユーザ名、及び／又はパスワードを入力してもよい。このユーザ名、及び／又はパスワードは、アクティブディレクトリ１０４に必要とされるあらゆるものに加えて必要である。クライアントコンピュータ１１２をソースにあて先変更する前に、ユーザ名、及び／又はパスワードやログイン情報は、オリジンサーバ１０８に事前に記憶されている、容認可能ログイン情報のリストと照合してチェックされる。オリジンサーバ１０８全体、或いはオリジンサーバ１０８の容量、ディレクトリ、又はコンテンツオブジェクトへのアクセスはこの方式で管理し得る。
【００５２】
いくつかの実施形態では、オリジンサーバ１０８やアクティブディレクトリ１０４は、コンテンツ交換部１１６上にコンテンツオブジェクトをプレインストールすることが許容されている。コンテンツオブジェクトの要求は、要望度を判定するために監視される。どのコンテンツオブジェクトをコンテンツ交換部１１６上にプレインストールすべきか判定するために、要望度情報、課金情報、及び／又は他の検討事項が使用される。オリジンサーバ１０８とアクティブディレクトリ１０４のいずれかが、コンテンツオブジェクトをプリロードするためにコンテンツ交換部１１６からコンテンツオブジェクトを要求することが可能である。アクティブでないためにコンテンツオブジェクトがアンロードされないように、コンテンツオブジェクトのコンテンツ交換部上への定期的なロードを要求することもある。
【００５３】
ヘルスチェック３３０は、対応するオリジンサーバ１０８の動作特性を提供するハードウェア又はソフトウェアアプリケーションのいずれかである。一実施形態では、ヘルスチェック３３０はオリジンサーバ１０８のステータスの単一の指示を提供する。その単一の指示は、オリジンサーバ特性の組合せを示す、０〜１の正規化された値である。例えば、それはＣＰＵ負荷、ＣＰＵ温度、同時接続の数、及び／又は、オリジンサーバが促進している要求の数を含んでもよい。代替の実施形態ではヘルスチェック３３０は、他のコンテンツ交換１１６やオリジンサーバ１０８上で実行しながら、コンテンツ交換１１６の特性を監視することがある。
【００５４】
次に図３Ｂを参照する。コンテンツ配信システム１００の外部オリジンサーバ部１１８の実施形態を示すブロック図が示されている。外部オリジンサーバ１１８は、それにインストールされたコンテンツマネージャソフトウェアを有しない点で、オリジンサーバ１０８とは異なる。外部オリジンサーバ１１８は、コンテンツサーバ３０８とコンテンツソース３０４とを有する。
【００５５】
外部オリジンサーバ１１８の管理者は、コンテンツ交換部１１６を通してコンテンツオブジェクトの受信を許可される１個以上のクライアントコンピュータ１１２を決定する。ルーティングデータベース２３４は、個々のクライアントコンピュータ１１２がコンテンツ交換部１１６を通してコンテンツオブジェクトにアクセスできるように管理者が更新する。アクティブディレクトリ上のウェブページは、ルーティングデータベース２３４にクライアントコンピュータ１１２の情報を入力するインタフェースとして機能する。他の実施形態では、外部オリジンサーバ１１８とルーティングデータベース２３４間のインタフェースを自動化する。
【００５６】
ルーティングデータベース２３４の更新はダウンロードされ、クライアントコンピュータ１１２がローカルに記憶する。外部オリジンサーバ１１８にアクセスする次の試行は、その要求にサービスを提供するためにコンテンツ交換部１１６にあて先変更される。このようなあて先変更は、コンテンツマネージャソフトウェアの支援なしで、外部オリジンサーバ１１８がクライアントコンピュータ１１２をコンテンツ交換１１６にあて先変更することを可能にする。
【００５７】
外部オリジンサーバ１１８は、外部オリジンサーバ１１８にコンテンツオブジェクトを搬送するために割り当てられた１個以上のコンテンツ交換部１１６を有してもよい。ルーティングデータベース２３４は、加入したクライアントコンピュータをこれらの１個以上のコンテンツ交換部１１６にあて先変更してもよい。クライアントコンピュータがこれらのコンテンツ交換部１１６の２個以上の使用を許可されている場合、クライアント側ルーティング解析は、コンテンツ交換部間の相対的ＱＯＳを順位付けするために、２個以上のコンテンツ交換部上で実行される。
【００５８】
外部オリジンサーバ１１８のコンテンツオブジェクトを、それらのコンテンツオブジェクトを提供するために割り当てられたコンテンツ交換部にプリロードできる。コンテンツオブジェクトを最初に要求する場合の呼び出し時間を減少させるために、アクティブディレクトリ１０４は、外部オリジンサーバ１１８を巡回して、そのサーバ１１８から入手可能なコンテンツオブジェクトを判定できる。入手可能なコンテンツオブジェクトを、クローリングディレクトリ１２４に加えてもよい。一旦入手可能なコンテンツオブジェクトが判明すると、関連するコンテンツ交換上への各コンテンツオブジェクトのローディングを生じさせるために、アクティブディレクトリ１０４は関連するコンテンツ交換に各コンテンツオブジェクトを要求する。このような方式で、コンテンツオブジェクトは関連したコンテンツ交換部にプリロードされる。
【００５９】
図４Ａを参照する。コンテンツ配信システム１００のコンテンツ交換部１１６の実施形態を示すブロック図が示される。コンテンツ交換部１１６は、コンテンツマネージャ３１２の制御に従って、クライアントコンピュータ１１２が要求するコンテンツオブジェクトを記憶する。コンテンツ交換部１１６は、トラッキングシステム４０２とコンテンツノード４０６とを含む。トラッキングシステムは、コンテンツトラッカー４０４、ヘルスチェック４２８、ステータス情報４２０、ローカルコンテンツカタログ４１６、オリジンサーバデータベース４２４を有し、一方コンテンツノード４０６は、コンテンツコントローラ４０８、コンテンツ記憶部４１２を有する。
【００６０】
ヘルスチェック４２８は、関連するコンテンツ交換部１１６の動作特性を提供するハードウェア又はソフトウェアアプリケーションのいずれかである。一実施形態では、ヘルスチェック４２８は、コンテンツ交換部１１６のステータスの単一の指示を提供する。単一の指示は、例えばＣＰＵ負荷、ＣＰＵ温度、同時接続の数、コンテンツ交換部が促進している要求の数を含むコンテンツ交換部特性の組合せを示している０〜１の間の正規化された値でもよい。代替実施形態では、他のコンテンツ交換部１１６、オリジンサーバ１０８、記憶場所で実行する間に、ヘルスチェック４２８は、コンテンツ交換部１１６の特性を監視可能である。
【００６１】
コンテンツ記憶部４１２は、そのコンテンツ交換部１１６からクライアントコンピュータ１１２にダウンロード可能なコンテンツオブジェクトを維持する。パス情報及びファイル名と共にコンテンツオブジェクトを提供しているオリジンサーバ１０８のネームは、コンテンツオブジェクトと共にコンテンツ記憶部４１２に記憶される。クライアントコンピュータ１１２はインターネット１２０を介して、コンテンツ記憶部４１２に接続し、コンテンツオブジェクトファイルやデータストリームをダウンロードする。新規のコンテンツオブジェクトがコンテンツ記憶部４１２に加えられると、古いコンテンツオブジェクトが削除される。コンテンツオブジェクトの寿命は、コンテンツオブジェクトにアクセスした最終時に関係する。記憶装置４１２上のいくつかのコンテンツオブジェクトは古くなることがない結果、コンテンツオブジェクトは所定時間だけ記憶装置４１２に留まる。オリジンサーバ１０８は、コンテンツ交換部１１２を調整して、所定の時間コンテンツオブジェクトを記憶することができる。
【００６２】
クライアントコンピュータ１１２がコンテンツ記憶部４１２からコンテンツオブジェクトを要求する場合、コンテンツオブジェクトはその時点でコンテンツ記憶部４１２にロードされていない場合がある。コンテンツ記憶部４１２は、遂行されていないコンテンツオブジェクトに対する要求をコンテンツコントローラ４０８に通知する。コンテンツコントローラ４０８は、他のコンテンツ交換部１１６内、又はコンテンツオブジェクトを発生したコンテンツサーバ３０８から、欠落したコンテンツオブジェクト、又はその部分を探し出す。クライアントコンピュータ１１２がこの情報をダウンロード可能とすべく、欠落したコンテンツオブジェクトはコンテンツコントローラ４０８によってコンテンツ記憶部４１２へロードされる。
【００６３】
コンテンツオブジェクトがコンテンツ記憶部４１２から欠落している場合、コンテンツコントローラ４０８は、先ず他のコンテンツ交換部１１６をチェックして、オブジェクトが利用可能か否かを判定する。コンテンツ交換部１１６が所望のコンテンツオブジェクトを有しない場合、コンテンツオブジェクトは、情報を発生したコンテンツサーバ３０８に問い合わせる。コンテンツ記憶部４１２は発生源のコンテンツサーバ３０８についてのＩＰアドレスを有しないため、その情報について動的ＤＮＳ２０４に問い合わせがされる。オリジンサーバ名が与えられると、コンテンツコントローラ４０８が適切なコンテンツサーバ３０８からコンテンツオブジェクトを要求できるように、動的ＤＮＳ２０４は、ＩＰアドレスを提供する。
【００６４】
コンテンツトラッカー４０４は、システム１００にコンテンツ記憶部４１２内のその時点でのアイテムやコンテンツ交換部１１６のステータス情報を報告する。ローカルコンテンツカタログ４１６は、コンテンツ記憶部４１２内にある各コンテンツオブジェクト又はコンテンツオブジェクトの部分について、オリジンサーバ名、パス、及びファイルネームを記憶する。コンテンツ記憶部４１２に新規アイテムを追加し、古いアイテムを削除することによって、ローカルコンテンツカタログ４１６が更新される。コンテンツマネージャ３１２がシステム１００に接続したときには、コンテンツオブジェクトのどのような部分がコンテンツ記憶部４１２に記憶されているかを判定するために、全てのコンテンツトラッカー４０４に問い合わせをする。コンテンツ記憶部４１２が変更されるとコンテンツトラッカー４０４によって更新されるベースラインが、最初の問合せで提供される。変更は、コンテンツ記憶部４１２に記憶されたコンテンツを有する各コンテンツマネージャ３１２に直接送信される。動的ＤＮＳ２０４は、この処理の間、各コンテンツオブジェクトのオリジンサーバネームに対応するＩＰアドレスを判定するために使用される。
【００６５】
コンテンツトラッカー４０４は、コンテンツマネージャ３１２にコンテンツ交換部１１６のステータス情報をも提供する。ステータス情報は、ブロードキャスト、又はマルチキャストとして定期的に、例えば、５分毎、及び／又は、変更が発生する時に、それぞれのコンテンツマネージャ３１２に送信される。ステータス情報には、現在使用中のコンテンツ交換部への同時並行のリンクの数、同時並行のリンクとして容認されている総数、バンド幅の利用度、キャッシュチャーンレートが含まれる。他の実施形態では、このステータス情報は、コンテンツオブジェクトをダウンロードするためにクライアントコンピュータ１１２の送信場所を判定する際に、コンテンツマネージャ３１２が問い合わせ可能な中心記憶場所に送られる。
【００６６】
このコンテンツトラッカー４０４は、システム１００のアクティブなオリジンサーバ１０８を追跡するために、オリジンサーバデータベース４２４を維持管理する。システムに接続した後、全てのオリジンサーバ１０８は、コンテンツトラッカー４０４にそれ自身を識別させる。コンテンツトラッカー４０４は、オリジンサーバデータベース４２４にオリジンサーバネームとＩＰアドレスを記憶する。動的ＤＮＳに対する問い合わせは、特定のオリジンサーバネームのＩＰアドレスを提供する。オリジンサーバ１０８がコンテンツトラッカー４０４に非運転状況が切迫していることを知らせるか、又はコンテンツトラッカー４０４が特定のオリジンサーバと交信することができない場合、そのオリジンサーバへのエントリは、オリジンサーバデータベース４２４から削除される。さらに、そのオリジンサーバ１０８に対応するコンテンツをコンテンツ記憶部４１２から一掃し、ローカルコンテンツカタログ４１６を更新してもよい。いくつかの実施形態では、記憶空間が必要なときは、コンテンツオブジェクトやコンテンツオブジェクトの部分を一掃せずに、単に削除用のタグを付ける。
【００６７】
いくつかの実施形態では、システム１００は、コンテンツコントローラ４０８にコンテンツ記憶部４１２内の所定のコンテンツオブジェクトを入手及び保持するように指示することができる。要求が予測されるコンテンツオブジェクトを、その要求に備えてプレインストールすることが可能である。コンテンツオブジェクトの要望度は、検索ページ又はディレクトリページ２１２、２１６から、それらのコンテンツオブジェクトに対するクリックスルーをモニターすることによって判定できる。例えば、有名人の伝記プログラムがネットワークテレビで放送される前に、有名人に関するコンテンツオブジェクトを直ちにコンテンツ記憶部４１２にロードすることがある。代替手段として、ユーザは、いくつかのコンテンツ交換部１１６にコンテンツオブジェクトをロードするサービスを予約できる。例えば、テレビ放送の代わりにユーザがインターネット１２０を通じて鑑賞可能なテレビ放送と一致させて、予定されたネットワークプログラムをロードできる。予約したユーザは、コンテンツを遅延なく利用できる。
【００６８】
図４Ｂを参照する。コンテンツ配信システム１００のコンテンツ交換部１１６の他の実施形態を示すブロック図が示されている。この実施形態では、単一のトラッキングサーバ４０２に接続された複数のコンテンツノード４０６を有する。コンテンツバス４２８は、コンテンツノード４０６が互いのコンテンツ記憶部４１２をチェックして、欠落したコンテンツオブジェクトを探すことを可能にする。コンテンツバス４２８は、また、他の記憶場所の他のコンテンツノードにも結合できる。コンテンツバス４２８は、インターネット１２０上の一部を進行してもよく、しなくてもよい。
【００６９】
次に図４Ｃを参照する。複数のコンテンツ交換サーバ１１６を有するコンテンツ交換サイト４３２の実施形態を示すブロック図が示されている。コンテンツ交換サイト４３２は複数のコンテンツ交換サーバ１１６を有しているが、それはシステムにとっては単一のコンテンツ交換部１１６であるように現れる。コンテンツ交換サイト４３２のロードは、複数のコンテンツ交換サーバ１１６の間に配信される。レイヤー４スイッチなどのスイッチ４３６は、コンテンツ交換部１１６にコンテンツオブジェクトの要求を配信し、インターネット１２０へスプールされた応答を集計する。
【００７０】
次に図５を参照する。コンテンツ配信システム１００のクライアントコンピュータ部分１１２の実施形態を示すブロック図が示されている。クライアントコンピュータ１１２は、ユーザにコンテンツを配信するためにインターネット１２０に通信する。クライアントコンピュータ１１２は、ビューワオブジェクトプロキシ５０４、コンテンツ処理プログラム５０８、優先情報５１２、ネットワークインタフェース５１６及び、ホストサーバルーティング５２０を有する。
【００７１】
コンテンツ処理プログラム５０８は典型的には、インターネット１２０からダウンロードされるコンテンツオブジェクトを、翻訳又は処理するソフトウェアである。コンテンツ処理プログラム５０８の例としては、ウェブブラウザ、ファイル転送プロトコル（ＦＴＰ）ソフトウェア、ゴーファソフトウェア、ニュース（ＮＮＴＰ）、メールプログラム、ストリーミングメディアプレーヤ、非ストリーミングメディアプレーヤ、及び他のソフトウェアが含まれる。通常は直接インターネットに送信されるコンテンツ処理プログラム５０８からのインターネット通信は、ビューワオブジェクトプロキシ５０４にあて先変更される。
【００７２】
ビューワオブジェクトプロキシ５０４は、インターネット１２０とコンテンツ処理プログラム５０８との間の媒介物として機能する。ビューワオブジェクトプロキシ５０４をインストールした後でビューワオブジェクトプロキシは、インターネット１２０の既知の位置に相対した、その一般的な記憶場所を判定する。充分なＱＯＳを提供する妥当な候補であるコンテンツ交換部１１６を、各コンテンツ交換１１６とビューワオブジェクトプロキシ５０４との間の必要なホップ数及び待ち時間（ｌａｔｅｎｃｙ）を判定するために試験する。ＱＯＳ係数の重み付け、例えば、ホップ数や達成されるバンド幅は優先情報５１２として記憶され、ＨＴＴＰヘッダにてコンテンツマネージャ３１２にメタデータとして転送される。
【００７３】
他の実施形態では、ＨＴＴＰヘッダを通さずに、あらゆる種類のデータチャネルのメタデータとしても引き渡すことができる。例えばメタデータは、専用ポート、ＩＰアドレス、ＵＲＬ、ヘッダ、その他の論理チャネルを通って進行可能である。
【００７４】
優先情報５１２は、クライアントコンピュータの観点１１２から実行されたネットワーク解析の結果である。コンテンツオブジェクトが要求されたときには、優先情報５１２はコンテンツオブジェクトマネージャ３１２に通信され、これに応じてコンテンツオブジェクトマネージャ３１２はクライアントコンピュータ１１２に適切なコンテンツ交換部１１６を選択する。定期的に、例えば１時間毎に、優先情報５１２は、自動試験を使用して更新されるか、或いはユーザが手動で更新する。次の試験は、前回の結果を考慮して、効率的に優先すべきコンテンツ交換部を判別する。例えば、第１の解析において、１００のコンテンツ交換部をチェックするが、次の解析では性能の悪いコンテンツ交換部を除き、５０のみを分析してもよい。
【００７５】
優先情報５１２は、コンテンツ交換部１１６のリスト、及びクライアント側のネットワーク解析の結果から生じたそれらに関連するＱＯＳ値を含む。いくつかの実施形態では、外部オリジンサーバ１１８への複数経路がある。複数経路は、ポート、ＩＰアドレス、サーバ識別（ＩＤ）及び／又は、他の機構により分離される。クライアント側ネットワーク解析は、外部オリジンサーバ１１８への各経路、或いは複数経路を有したあらゆるコンテンツオブジェクトソースに対応するＱＯＳ値を判定するために使用可能である。
【００７６】
クライアントコンピュータ１１２のユーザがコンテンツオブジェクトを選択した後、オリジンサーバ名がビューワオブジェクトプロキシ５０４に提供される。オリジンサーバ名は、ビューワオブジェクトプロキシ５０４が動的ＤＮＳ２０４にオリジンサーバ１０８のＩＰアドレスを問い合わせるために使用される。一旦ＩＰアドレスが判明すると、コンテンツ処理プログラム５０８を、所望のコンテンツオブジェクトを得るためにコンテンツマネージャ３１２にあて先変更する。コンテンツマネージャ３１２に優先情報５１２が転送され、適切なコンテンツ交換部１１６へのルーティングを可能とさせる。この実施形態では、優先情報５１２は１０の優先コンテンツ交換部を有するが、ユーザはそれを調整できる。
【００７７】
いくつかの実施形態では、ビューワオブジェクトプロキシ５０４はＨＴＴＰに特定されるものであってもよいが、ルーティング情報についてプロトコルに依存しないものであってもよい。従って、ルーティング情報はＨＴＴＰに従って転送されるが、実際のルーティング情報はプロトコルに依存しない。しかし当業者は、ビューワオブジェクトプロキシ５０４をまた、必要に応じて他のネットワークプロトコルと協働させ得ることを認識するであろう。例えば、ビューワオブジェクトプロキシ５０４は、ＦＴＰ、ＮＮＴＰ、ＲＴＰ、ＲＴＳＰ、ＳＭＴＰ、ＳＨＯＵＴ等に従って機能するように構成できる。
【００７８】
クライアントコンピュータ１１２は、ホストサーバルーティング５２０のデータベースを含む。このホストサーバルーティング５２０は、クライアントコンピュータ１１２がアクセス可能な外部オリジンサーバ１１８に関する情報を含む。一実施形態では、ホストサーバルーティング５２０は、アクティブディレクトリ１０４に含まれるルーティングデータベース２３４の一部である。
【００７９】
クライアントコンピュータ１１２は、ビューワオブジェクトプロキシ５０４をインターネット１２０に接続するネットワークインタフェース５１６を有する。ネットワークインタフェース５１６の一般的な例としては、アナログモデム、ＤＳＬモデム、ＩＳＤＮ、ケーブルモデム、サテライトモデム、セルラ方式モデム等が含まれる。
【００８０】
この実施形態では、クライアントコンピュータは、ホームユーザに対応する。他の実施形態では、クライアントコンピュータは、劇場にデジタル映画を提供可能であるか、或いは会社のネットワークユーザ、ホテルの客、アパートの共同ビルにコンテンツオブジェクトを提供可能である。
【００８１】
図６を参照する。コンテンツ配信システム６００の実施形態を示すブロック図が示される。この図は、インターネット１２０上での転送を示さずに、データブロック間のデータフローを示している。しかし、インターネット１２０はいくつかの実施形態で使用されるものである。また、この図は、図２〜５のいくつかのブロックをいくぶん簡略化し、外部オリジンサーバ１１８、及びクローリングディレクトリ１２４は、図６を簡略化するために含まれていない。
【００８２】
ネットワークインタフェース５１６は、クライアントコンピュータ１１２をインターネット１２０へ接続する。クライアントコンピュータ１１２は、ディレクトリページ、検索ページ２１２、２１６に接続して、ダウンロードするコンテンツオブジェクトの選択をユーザに可能とさせる。コンテンツオブジェクトが選択されると、アクティブディレクトリ１０４から、適切なオリジンサーバ１０８へのクライアントコンピュータ１１２のあて先変更には動的ＤＮＳ２０４が使用される。優先情報５１２は、コンテンツオブジェクトのソースの選択を支援するためにコンテンツマネージャ３１２に転送される。コンテンツマネージャ３１２の選択に従って、コンテンツオブジェクトは、コンテンツ交換部１１６のうちの１個、又はコンテンツサーバ３０８からダウンロードされる。
【００８３】
アクティブディレクトリ１０４は、システム６００の他のモジュールと対話する。クライアントコンピュータ１１２は、コンテンツオブジェクトを選択すべくディレクトリページ、検索ページ２１２、２１６にアクセスする。コンテンツトラッカー４０４及びコンテンツマネージャ３１２はそれぞれ、サーバマネージャ２０８にステータス及びカタログ情報を提供する。加入者データベース２２４を維持管理するために、オリジンサーバ１０８の管理者及び、クライアントコンピュータ１１２のユーザによって、アカウント情報がサーバマネージャ２０８に提供される。オリジンサーバ名からオリジンサーバ１０８のＩＰアドレスへのあて先変更は、ビューワオブジェクトプロキシ５０４と、コンテンツトラッカー４０４と、コンテンツコントローラ４０８とに動的ＤＮＳ２０４によって提供される。
【００８４】
オリジンサーバ１０８は、サーバマネージャ２０８、クライアントコンピュータ１１２、コンテンツトラッカー４０４、コンテンツ記憶部４１２、及びコンテンツコントローラ４０８と通信する。サーバデータベース２２８をその時点でのコンテンツ情報を備えて維持管理するために、コンテンツマネージャ３１２からサーバマネージャ２０８にローカルコンテンツカタログ３１６が提供される。コンテンツオブジェクトのソースの選択を容易にするために、クライアントコンピュータ１１２からコンテンツマネージャ３１２に優先情報５１２が提供される。コンテンツトラッカー４０４は、コンテンツマネージャ３１２と対話して、どんなコンテンツオブジェクトがコンテンツ交換部１１６に記憶されているかを判別する。コンテンツオブジェクトは、コンテンツ記憶部４１２、又はクライアントコンピュータ１１２のいずれかによって、コンテンツサーバ３０８から読み込まれる。
【００８５】
コンテンツ交換部１１６は、システム６００の他のモジュールとも対話する。ステータス情報は、アクティブディレクトリ１０４、及び／又は、コンテンツマネージャ３１２に提供される。コンテンツオブジェクトを有するオリジンサーバ１０８のＩＰアドレスを探し出すために、コンテンツコントローラ４０８とコンテンツトラッカー４０４が共に動的ＤＮＳを使用する。コンテンツ記憶部４１２がオブジェクトを必要とする場合、選択されたコンテンツ交換部は、他のコンテンツ交換部と交信してもよい。他のコンテンツ交換部がそのコンテンツオブジェクトを有しない場合、コンテンツコントローラ４０８はコンテンツサーバ３０８から選択されたコンテンツ記憶部４１２へのオブジェクトの配信要求をする。
【００８６】
次に図７Ａ〜７Ｂを参照する。ユーザにコンテンツを配信する処理の実施形態を示すフローチャートが示されている。そこに説明した処理の前に、ユーザと管理者は、それぞれクライアントコンピュータ１１２とオリジンサーバ１０８のソフトウェアをダウンロードし、インストールしておく。管理者は、システム６００に掲載するためにコンテンツサーバ上のコンテンツを選択する。優先情報５１２を判定するために、ビューワオブジェクトプロキシ５０４は、適切なＱＯＳが得られるように隣接したコンテンツ交換部１１６に自動的に問い合わせを行う。
【００８７】
ここに示される処理は、ユーザがウェブを閲覧するコンテンツ処理プログラム５０８をアクティブディレクトリ１０４のディレクトリページ、検索ページ２１２，２１６に導く、ステップ７０４で開始する。この実施形態では、ユーザは、ステップ７０８で、ブールクエリを使用して検索ページ２１６上の検索エンジンに問い合わせして、コンテンツオブジェクトを探し出す。ステップ７１２で検索エンジンはサーバデータベース２２８でヒットを検索し、またクローリングディレクトリ１２４を検索してもよい。代替手段として、ユーザは、ディレクトリページ２１２をナビゲートして、所望のコンテンツオブジェクトを探し出すことができる。
【００８８】
ステップ７１６で検索ページ又はディレクトリページ２１２，２１６は、ユーザが選択する可能性があるコンテンツオブジェクトへのそれぞれのリンクを示す。各リンクは、コンテンツオブジェクトについてのオリジンサーバ名１０８、ポート、パス、及びネームを有する。利用できる選択肢が与えられると、ユーザはステップ７２０で、所望のコンテンツオブジェクトに対応するリンクのうちの１個を選択し得る。リンクからのオリジンサーバネームのＩＰアドレスを判定するためにビューワオブジェクトプロキシ５０４によって、動的ＤＮＳ２０４へ問い合わせがされる。一旦ＩＰアドレスが判明した場合には、コンテンツ処理プログラムは、動的ＤＮＳ２０４から検索されたＩＰアドレス、及びリンクからのパス及びファイル名へとあて先を変更される。
【００８９】
一旦クライアントコンピュータ１１２がコンテンツマネージャ３１２に接続されると、ステップ７２４で優先情報５１２がコンテンツマネージャ３１２に転送される。コンテンツマネージャ３１２は、コンテンツロケーションデータベース３２０、優先情報５１２、及びステータス情報を分析して、ステップ７２８，７３２で、クライアントコンピュータ１１２のあて先を変更するべきコンテンツオブジェクトのソースを判定する。
【００９０】
ステップ７３６で、そのソースがコンテンツ交換部１１６かコンテンツサーバ３０８かに関して判定がなされる。コンテンツマネージャ３１２が適切なＱＯＳ、又は優れたＱＯＳを提供できると判定した場合には、コンテンツサーバ３０８が選択されてもよい。いくつかの実施形態では、適切なＱＯＳを提供できるコンテンツ交換部１１６がない場合、コンテンツサーバ３０８のみをソースとして考慮する。コンテンツサーバ３０８が選択された場合、ステップ７４０でオリジンサーバ１０８はクライアントコンピュータ１１２にコンテンツオブジェクトを提供する。
【００９１】
コンテンツマネージャ３１２がコンテンツオブジェクトの要求を受け入れるためにコンテンツ交換部１１６を選択した場合、コンテンツ処理プログラム５０８は、選択されたコンテンツ記憶部４１２にあて先を変更され、処理は図７Ｂのステップ７４４に続く。ステップ７４４で、このコンテンツ処理プログラム５０８は、コンテンツ記憶部４１２からリンク内のコンテンツオブジェクトを要求する。コンテンツオブジェクトが全部コンテンツ記憶部４１２にある場合、ステップ７４８，７５２で、オブジェクトはそのコンテンツ記憶部４１２からクライアントコンピュータにダウンロードされる。
【００９２】
代替手段として、コンテンツオブジェクトの何らかの部分が失われた場合には、コンテンツオブジェクト全体のコピーをコンテンツ記憶部４１２内で組み立てる。コンテンツオブジェクト全体の組立ては、ユーザにはトランスペアレントに行われる。ステップ７５６，７６０においてコンテンツコントローラ４０８は、他のコンテンツ交換部１１６に問い合わせ、どれがコンテンツオブジェクトの欠落した部分を有するか判定する。クライアントコンピュータ１１２ができるだけ早くダウンロード開始できるように、コンテンツオブジェクトは、最初から最後までコンテンツ記憶部４１２内で再構築される。
【００９３】
反復的な方法で、コンテンツオブジェクトの全てがコンテンツ記憶部４１２に集まるまで、ステップ７６４で、欠落した部分を各コンテンツ交換部１１６から検索する。他のいかなるコンテンツ交換部１１６もコンテンツオブジェクトの欠落した部分を有しない場合、ステップ７６８で、オリジンサーバ１０８に欠落した部分の問い合わせをする。動的ＤＮＳ２０４に問い合わせて、コンテンツオブジェクトのオリジンサーバ名のＩＰアドレスを判定する。ステップ７７２で、動的ＤＮＳ２０４は、コンテンツコントローラ４０８を、コンテンツオブジェクトを有するオリジンサーバ１０８に導く。ステップ７７６で、欠落した部分をそのオリジンサーバ１０８のコンテンツサーバ３０８からダウンロードする。処理は、ステップ７４８へループして戻り、他の欠落した部分を検索する。
【００９４】
欠落した部分がコンテンツ記憶部４１２へ全てコピーされるまで、部分を検索するこの処理を反復的な方法で継続する。この実施形態では、欠落した部分を連続的に検索するが、他の実施形態では、欠落した部分の記憶位置を判定し、あらゆる順序、又は見つかった順序であっても平行してそれらを検索することが可能である。
【００９５】
図８を参照する。ビューワオブジェクトプロキシ５０４の実施形態のブロック図が示される。ビューワオブジェクトプロキシ５０４は、パス評価装置８５０、重み付け機能８５２、ディスプレイ機能又はルーチン８５４、ルックアヘッド論理機能８５６、標準のウェブアクセス機能８５８、解凍機能８６０、解読機能８６２、電子商取引機能８６６、セキュリティ機能８６４、及び、ビューワオブジェクトプロキシ５０４の多様な他の機能をインタフェースするメインファンクション８６８機能を有する。ビューワオブジェクトプロキシ５０４に含まれる可能な機能の上記リストは、単に例示を行うものであって、当業者ならばビューワオブジェクトプロキシ５０４に関連する他の機能を認識する。
【００９６】
ビューワオブジェクトプロキシ５０４は、その中を流れる、ビューワが要求したコンテンツオブジェクト全てを有するプロキシであるので、ルックアヘッド論理機能８５６を実行できる。一実施形態では、ルックアヘッド論理機能８５６は、ユーザの次のブラウズや移動を予期して、ユーザが実際のリクエストをする前にクライアントコンピュータ１１２上の記憶に関連するブラウズ情報を取り込む。ユーザが情報を実際に要求するまで、事前に取得された情報は保持される。ルックアヘッド論理機能８５６がユーザの次のブラウズを不正確に予期した場合、事前に取得されたデータは破棄される。例えば、ルックアヘッド論理機能８５６は、ディレクトリページ２１２（図２を参照して記載されているように）の階層より下位の階層へ一般的にアクセスされたページの事前取得を実行する。事前取得情報によって、ルックアヘッド論理機能８５６は、アクセス待ち時間を減少可能である。
【００９７】
いくつかの実施形態では、解凍機能８６０と解読機能８６２が提供される。これらの機能８６０，８６２は、オリジンサーバ１０８、コンテンツ交換部１１６、外部オリジンサーバ１１８、或いはインターネット１２０上の他のいかなるサーバのいずれかから受信した情報を解凍し、解読する能力を提供する。
【００９８】
いかなるユーザ要求に対しても、解凍機能８６０及び解読機能８６２が利用可能であることに基づいて、ビューワオブジェクトプロキシ５０４は、コンテンツオブジェクト転送の間、使用される圧縮と暗号化の様態についてインターネット１２０上のサーバと交渉可能である。このように、ユーザがインターネット１２０をサーフィンしている時はいつでも、ビューワオブジェクトプロキシ５０４は、どんな圧縮や暗号化が支援されているかについて、交信したどんなサーバにも会話する。これはサーバが特別なソフトウェアを有することを必要としないが、交信したサーバがビューワオブジェクトプロキシ５０４によってサポートされるものと同一の圧縮、暗号化、及びセキュリティ機能をサポートする場合にはＱＯＳを向上できる。解凍、及び解読には多数の通信機構が使用可能であることを認識すべきである。例えば、ＦＴＰ、ＮＮＴＰ、ＲＴＰ、ＲＴＳＰ、ＳＭＴＰを使用できる。
【００９９】
一実施形態では、解読及び解凍の交渉は、ＨＴＴＰを介して達成される。より詳細には、交渉は、拡張されたＨＴＴＰヘッダを介して達成される。
さらに、いくつかの実施形態ではユーザは、解凍機能８６０、解読機能８６２のいずれか一方、又は両方を使用禁止にできる。それぞれの機能８６０、８６２をユーザが使用禁止にした場合、ビューワオブジェクトプロキシ５０４は、使用禁止機能の使用のために交渉することはない。
【０１００】
いくつかの実施形態では、ビューワオブジェクトプロキシ５０４は、セキュリティ機能８６４を有する。セキュリティ機能８６４は、アクセスを許可、又は拒否するために適切に機能する。より詳細には、信頼されたシステムによって、権限が与えられた場合にのみ、セキュリティ機能８６４は、コンテンツオブジェクトを解読できるような制御を提供する。例えば、特定のドングルタイプハードウェアデバイスをクライアントコンピュータ１１２に接続し、ビューワオブジェクトプロキシ５０４を介してセキュリティ機能８６４がその接続条件を報告する場合にのみ、信頼されたシステムがデータを受理、及び／又は、解読する権限を提供してもよい。
【０１０１】
いくつかの実施形態では、ビューワオブジェクトプロキシ５０４は、電子商取引機能８６６を有する。電子商取引機能８６６は、インターネット１２０上に設けられている電子商取引エンジンと緊密に統合可能である。電子商取引機能８６６を経由して、ユーザにはコンテンツオブジェクトを購入する機構が提供される。例えば、コンテンツオブジェクトをダウンロードするために、加入者データベース２２４に記憶されたトークンクレジットがオリジンサーバ１０８に返金可能である。
【０１０２】
さらに、ビューワオブジェクトプロキシ５０４は、コンテンツ配信システム１００の外部にあるインターネットドメインにアクセスを提供する標準のウェブアクセス機能８５８を有してもよい。一実施形態では、ビューワオブジェクトプロキシ５０４がコンテンツ配信システム１００外のドメインにより供給されるコンテンツオブジェクトのコンテンツ処理プログラム５０８から、ユーザ要求を受信するときは、標準のウェブアクセス機能８５８は、コンテンツオブジェクトがクライアントコンピュータ１１２に以前に保存されていたか否かを判定する。要求されたコンテンツオブジェクトが以前に保存されている場合、その保存されたコンテンツオブジェクトは、ユーザ要求を満たすべく標準のウェブアクセス機能８５８が返信する。要求されたコンテンツオブジェクトが以前に保存されていない場合、ユーザリクエストは、標準のウェブアクセス機能８５８によって転送され、あたかもコンテンツ処理プログラム５０８が直接インターネット１２０にアクセスしたかのように、コンテンツオブジェクトを検索する。
【０１０３】
パス評価装置８５０、重み付け機能８５２及び、ディスプレイ機能又はルーチン８５４を、図９に含まれるビューワオブジェクトプロキシのバックグラウンドアプリケーション９００のフローチャートに関連して説明する。バックグラウンドアプリケーション９００は、多様なビューワオブジェクトプロキシ５０４の機能を利用して、クライアントコンピュータ１１２に充分なＱＯＳを提供可能な好適なコンテンツ交換部１１６を判定する。その好適なコンテンツ交換部１１６は優先情報５１２としてメモリに記憶され、その後コンテンツオブジェクトマネージャ３１２に通信される。
【０１０４】
図９を参照する。セットアップ９８２がスタートアップ９８０で実行されると、ディスプレイルーチン８５４が開始される。セットアップ９８２には、クライアントコンピュータ１１２のグラフィクスメモリを要求及び初期化し、プロキシを初期化し、ディスプレイルーチン８５４を開始することが含まれる。さらに、セットアップ９８２は、グラフィックディスプレイ又はプロキシを初期化するいかなる処理を含んでもよい。
【０１０５】
セットアップ９８２に続き、情報の要求及び受信９８４が実行される。情報の要求及び受信９８４の間、コンテンツ交換データベース２３２は、アクティブディレクトリ１０４からクライアントコンピュータ１１２にダウンロードされる。上記のように、コンテンツ交換データベース２３２は、改良されたＱＯＳ基準、又は加入サービス基準を含むが、これに限らず様々な方法に基づいて、地域別に分類、又は分割できる。このように、いくつかの実施形態では、情報の要求及び受信９８４は、クライアントコンピュータ１１２に地理的に隣接するコンテンツ交換部１１６のみを有したコンテンツ交換データベース２３２を検索するという結果になる。例えば、検索されたコンテンツ交換データベース２３２は、北米にあるコンテンツ交換部１１６のみを含んでいてもよい。他の実施形態では、情報の要求及び受信９８４は、特定の加入サービスを支援するか、或いは特定のプロバイダに帰属するものと考えられるコンテンツ交換部１１６のみを有したコンテンツ交換データベース２３２を検索するという結果になる。代替手段において、コンテンツ交換データベース２３２は、特定のインターネットサービスプロバイダに帰属するか、特定のプロトコルを支援するか、或いは特定の言語のコンテンツオブジェクトを提供する、コンテンツ交換部に限定される。さらに他の実施形態では、情報の要求及び受信９８４は、利用可能なコンテンツ交換部１１６の全てを含むコンテンツ交換データベース２３２を検索するという結果となる。
【０１０６】
いくつかの実施形態では、情報の要求及び受信９８４は、外部オリジンサーバ１１８のルーティング情報を含むルーティングデータベース２３４のいくつかの部分を要求し、受信することをさらに含む。ルーティングデータベース２３４の受信された部分は、受け入れられたサーバルーティング５２０としてクライアントコンピュータ１１２のメモリに記憶される。
【０１０７】
他の使用のうちで、情報の要求及び受信９８４を通して通信される情報は、ユーザへの表示を生成するために使用することができる。例えばいくつかの実施形態では、コンテンツ交換データベース２３２の一部として提供される位置座標やアイコン情報を、ディスプレイ機能又はルーチン８５４を介してユーザに提供されたグラフィック表現の一部として使用できる。グラフィック表現は、コンテンツ配信システム１００上で利用できるものや、インターネット１２０上の他の利用できる場所をユーザに表示し得る。さらに、グラフィック表現は、クライアントコンピュータ１１２から複数のコンテンツ交換部１１６までの複数のパスを表示できる。特定の実施形態では、コンテンツ交換部１１６やオリジンサーバ１０８の物理的位置がユーザに表示される世界地図に重畳して表示される。
【０１０８】
ディスプレイ機能８５４でコンテンツ交換データベース２３２を使用すること以外に、コンテンツ交換データベース２３２からの情報は、パスＱＯＳの評価９８６を実行するために使用可能である。より詳細には、クライアントコンピュータ１１２と各コンテンツ交換部１１６又はコンテンツ交換データベース２３２で指定されるノードとの間のパスのＱＯＳを判定して、クライアントコンピュータ１１２のメモリに記憶できる。
【０１０９】
情報の要求及び受信９８４を通してコンテンツ交換１１６のリストを受信することは、利用可能性のあるコンテンツ交換部１１６を判定する方法の例示であることが認識されるべきである。代替の実施形態では、コンテンツ交換部１１６と、外部オリジンサーバ１１８と、オリジンサーバ１０８など利用可能なコンテンツオブジェクトソースのリストを入手可能であり、或いは、ビューワオブジェクトプロキシ５０４によってコンパイルされるリストを使用することによる。このリストは、以前のコンテンツオブジェクトの転送の間に、コンテンツ配信システム１００の内部、又は外部で得られたビューワオブジェクトプロキシ５０４に関する知識に基づいている。
【０１１０】
一実施形態では、パスＱＯＳ評価９８６は、コンテンツ交換データベース２３２にリストされた全てのコンテンツ交換部１１６に関連したパスについて実行される。コンテンツ交換データベース２３２にリストされる第１のコンテンツ交換部１１６に関連したパスを分析することから開始する。次にステップ９８８で、他のコンテンツ交換部１１６がコンテンツ交換データベース２３２から提供されるか否かが判定される。他のコンテンツ交換部１１６が提供される場合、そのコンテンツ交換１１６に対するパスを評価する。コンテンツ交換データベース２３２にリストされるコンテンツ交換部１１６の全てについてパスＱＯＳ評価９８６が実行されるまで、この処理を継続する。パスＱＯＳ評価は、いかなるコンテンツオブジェクトソースや転送ノードに対しても実行可能で、必ずしもコンテンツ交換部１１６及びオリジンサーバ１０８の評価に限定されるものではない。転送ノードはコンテンツ交換１１６であることが可能であり、或いは、コンテンツオブジェクトを記憶、及び転送可能な他のサーバであってもよい。パスＱＯＳ評価に関連して使用された場合には、パスとの文言にはルーティングを含む。
【０１１１】
他の実施形態では、コンテンツ交換データベース２３２にリストされるコンテンツ交換部１１６のサブセットのみが評価される。コンテンツ交換データベース２３２のうちコンテンツ交換部１１６のサブセットのみを評価することで、より効率的なパスＱＯＳ評価９８６が得られる。この効率の改善は、特定のコンテンツ交換部１１６が充分なＱＯＳを提供しない蓋然性が高く、従って評価する価値がないことが判明している場合に達成できる。従って例えば、クライアントコンピュータ１１２が北米にあり、コンテンツ交換が北米外では充分なＱＯＳを提供しそうにないと認められる場合、パスＱＯＳ評価９８６は、北米にあるコンテンツ交換部１１６においてのみ実行される。
【０１１２】
代替手段では、異なる種類のコンテンツ交換部１１６が類似したサービスを提供する蓋然性が高いことが認められる場合には、サイトに基づくパスＱＯＳ評価９８６を実行可能である。より詳細には、コンテンツ交換データベース２３２に表示される各コンテンツ交換サイト４３２に対応する１つのコンテンツ交換部１１６が評価される。これによって、どのコンテンツ交換サイト４３２が充分なＱＯＳを提供しそうかを判定できる。その後、充分なＱＯＳを提供する蓋然性が高いと判定されたコンテンツ交換サイト４３２に関連したコンテンツ交換部１１６のそれぞれを個々に分析する。従って、ＱＯＳを提供しそうにないコンテンツ交換サイト４３２に関連したコンテンツ交換部１１６は評価されない。
【０１１３】
他の実施形態では、特定のプロトコルをサポートするコンテンツ交換部１１６にのみパスＱＯＳ評価９８６を実行する。或いは代替手段として、サイト４３２の少なくとも１つのコンテンツ交換部１１６が特定のプロトコルをサポートしているコンテンツ交換サイト４３２においてのみ、パスＱＯＳ評価９８６をコンテンツ交換部１１６に実行してもよい。
【０１１４】
さらに、いくつかの実施形態では、パスＱＯＳ評価９８６は、特定のコンテンツ交換部１１６で一度だけ実行される。従って、特定のコンテンツ交換１１６が複数のＩＰアドレス、ポート、又はネームを有する場合、パスＱＯＳ評価９８６は、１個のＩＰアドレス、ポート、又はネームについてのみ実行される。これは、パスＱＯＳ評価９８６の間の重複した評価を排除する。しかし、異なるＱＯＳが可能であると認められる場合、パスＱＯＳ評価９８６は、同一コンテンツ交換１１６の複数のＩＰアドレス、ポート、又はネームに実行できることが認識される。
【０１１５】
コンテンツ交換データベース２３２のうちコンテンツ交換１１６のどのサブセットを評価するかという選択は、クライアントコンピュータ１１２が出力する基準及びクライアントコンピュータの経験や、アクティブディレクトリ１０４や、コンテンツ交換部１１６や、オリジンサーバ１０８や、及び／又は、ユーザに基づく。
【０１１６】
一実施形態では、パスＱＯＳ評価９８６は、トレースルート、ファイル転送経由のバンド幅試験、サーバヘルスチェック、サーバロード／リソースチェック、ピング、パス差、情報を発送しているボーダゲートプロトコル（ＢＧＰ）ルーティング情報、及びポート応答時間を含むがこれに限らずネットワーク解析方法論の組合せを使用して達成される。
【０１１７】
トレースルートは、特定のコンテンツ交換部１１６とクライアントコンピュータ１１２との間でパケットがとったルートを報告するあらゆる解析を含む。典型的にはトレースルートは、横断したホップ、横断したホップのＩＰアドレス、及びクライアントコンピュータ１１２とコンテンツ交換１１６との間の横断に必要とした時間を報告する。
【０１１８】
ファイル転送を介したバンド幅試験は、コンテンツ交換１１６とクライアントコンピュータ１１２との間でバルク情報伝達を実行した場合のあらゆる解析をも含む。バルク転送中、バルク転送の実行に要する時間を含むがこれに限定されない、多様な動作の指数が引き出される。典型的にはコンテンツ交換部１１６とクライアントコンピュータ１１２との間で転送されるデータは、非常にランダムである。このデータのランダムな性質がクライアントコンピュータ１１２とコンテンツ交換１１６との間で発生するあらゆる圧縮の影響をも軽減する。
【０１１９】
ピングは、情報がクライアントコンピュータ１１２によって、特定のコンテンツ交換部１１６に送信され、クライアントコンピュータ１１２がコンテンツ交換部１１６からの応答を待機する場合のあらゆる解析を含む。典型的にはピングはＵＤＰや他のいかなる損失を有するプロトコル（すなわち、応答を保証しないプロトコル）を介して実行される。ピングは、コンテンツ交換部が動作状態か否かを確認するために有効である。代替手段として、応答の受信に必要な時間は、ＱＯＳの指示として使用できる。
【０１２０】
サーバヘルスチェック及び、サーバロード／リソースチェックは、ヘルス、ローディング、及びコンテンツ交換部１１６、オリジンサーバ１０８、又は他の転送ノードの利用可能なリソースに関する多様なヒューリスティックを判定するあらゆる解析も含むことが可能である。一般に、コンテンツ交換１１６は、多様な動作特性を判定するために問い合わせされる。これには、ＣＰＵ負荷の平均値及びピーク、ＣＰＵ温度、キャッシュの折損を解決するためにハードドライブとＲＡＭとの間で転送されるページ数、コンテンツ交換部１１６がハードドライブに読み書き操作を生成している速度、コンテンツ交換部１１６がその時点でサービスを提供している要求の数、コンテンツ交換部にアクセスしている平均ユーザ数、同時接続の数、コンテンツ交換部１１６に／からの入出力速度、コンテンツ交換部１１６がコンテンツオブジェクトに要求するコンテンツオブジェクトの平均サイズ、コンテンツ交換１１６に関連するＲＡＭとハードドライブメモリを含むローカルメモリのサイズ、ローカルメモリに含まれる平均コンテンツオブジェクトサイズ、コンテンツオブジェクトがローカルメモリにとどまる平均時間、コンテンツオブジェクトがローカルメモリで見出せないインスタンスの速度、及び他のいかなるエラー表示、及び／又は、ステータス情報を含むがこれらに限定されない。
【０１２１】
上記のヒューリスティックは、特定のコンテンツ交換部１１６やオリジンサーバ１０８に関連したヘルスチェック３３０，４２８を使用して決定できる。一実施形態では、ヘルスチェック３３０，４２８は、それぞれコンテンツ交換部１１６とオリジンサーバ１０８上で実行されるソフトウェアアプリケーションである。ビューワオブジェクトプロキシ５０４により問い合わせがされた場合、ヘルスチェック３３０，４２８は、ＣＰＵ負荷、ＣＰＵ温度、同時接続の数、及びコンテンツ交換１１６やオリジンサーバ１０８が現在サービスしている要求の数を提供する。いくつかの実施形態では、ビューワオブジェクトプロキシ５０４は、サーバヘルスチェックのヒューリスティックを検索するためにＨＴＴＰを介してコンテンツオブジェクト交換部１１６に問い合わせる。しかし当業者であれば、ＦＴＰ、ＮＮＴＰ、ＲＴＰ、ＲＴＳＰ、ＳＨＯＵＴ、ＳＭＴＰを含むがこれに限らずサーバ健康状態のヒューリスティックにアクセスし、又は指定されたポートを通してノードに接続する多くの機構を認識する。
【０１２２】
他の実施形態では、ビューワオブジェクトプロキシ５０４のヘルスチェック３３０，４２８へのステータス要求は、単一のステータス指数が返信されるという結果になる。単一のステータス指数は、０〜１の間にあるが、ここで１は低い特性を示し、０は良好な特性を示す。特性の良し悪しは、コンテンツオブジェクトキャッシュとして作用するコンテンツ交換部１１６や他の転送ノードの能力や機能に基づいて決定される。このようにこの実施形態では、０．９という指数は、長時間に亙ってコンテンツ交換部１１６でコンテンツオブジェクトをローカルに維持管理できないことを示す。代替手段として、０．２という指数は、長期間に亙って、コンテンツオブジェクトを維持管理できる能力を示す。
【０１２３】
単一のステータス指数を決定するために、多くのマシン特性をモニターし組み合わせることができる。一実施形態では、単一のステータス指数は、平均ＣＰＵ負荷、コンテンツ交換部１１６に対応するローカルメモリのサイズ、ローカルメモリに含まれる平均コンテンツオブジェクトのサイズ、コンテンツオブジェクトがローカルメモリに留まる平均時間の特性を組合せて有する。これら個々の特性の組合せは、コンテンツオブジェクトキャッシュとしての役割を果たすコンテンツ交換部の能力評価を得るために機能する。その特性を単一の指数に結合するために、各特性は、最初に所定の使用レベルの割合に正規化される。この正規化は、１００％が最高の特性値を示し、０％が最悪の特性値を示すように実行される。それから、正規化された値は、全体的なステータス指数に所定の割合が積算され、その積算された値は、０〜１の単一の指数を生成するために集計される。単一の指数を形成するために、特性について多数の代替の組を使用可能であることが認識される。例えば、一実施形態では、平均ＣＰＵ負荷、ＣＰＵ温度、ソースに接続している平均ユーザ数、及び単一の指数を形成するコンテンツ交換部への入出力の速度を組合せることが可能である。
【０１２４】
ＣＰＵ負荷最大値の９０％、２０％に正規化されたコンテンツオブジェクトサイズ、３０％に正規化されたローカルメモリのサイズ、８０％に正規化されたローカルメモリに含まれる平均コンテンツオブジェクトのサイズ、及び５０％に正規化されたローカルメモリにコンテンツオブジェクトがとどまる平均時間が判明している場合に単一の指数を形成する例を示す。それぞれの特性が単一の指数において等しい役割を果たすように、これらの正規化値を集計可能である。従って、それぞれの正規化値には２０％を積算し、その後集計して単一の指数を生成する。これにより、この例の単一の指数は、５４％、即ち０．５４となる。例及び実施形態は、単に例示的なものであり、複数の特性を単一の指数に結合する多数の代替の方法が可能である。
【０１２５】
ＢＧＰルーティング情報は、ボーダグループプロトコル解析の結果として報告されるいかなる情報も含む。一般に、この情報は、パストポロジに関するものであり、また自律システム（ＡＳ）のパス属性、及びＡＳの次のホップを含むが、これに限定されるものではない。
【０１２６】
路程差は、コンテンツ交換１１６とクライアントコンピュータ１１２とを接続している代替のパス間における、バンド幅又は待ち時間の差を決定するいかなる解析も含む。
【０１２７】
ポート応答時間は、ポート応答の指示を提供するいかなる解析も含む。一般に、試験は、コンテンツ交換部１１６のポートの応答時間に関する情報を提供する。例えば、ポート時間は、長さゼロのメッセージを転送するのに必要な時間を判定するいかなる解析も含み得る。一般的に、長さゼロの転送結果は、毎秒当たりの交換メッセージの数として報告される。毎秒当たりの交換の数は、コンテンツ交換部１１６の待ち時間を推定するために使用される。
【０１２８】
上記したあらゆる方法論を、コンテンツ交換部１１６とクライアントコンピュータ１１２とを接続するパスのＱＯＳや伝送品質の指標を提供するために組合せてもよい。代替手段として、上記のあらゆる方法論もＱＯＳ評価９８６を提供するために他のネットワーク解析方法論と組合せ可能である。例えば、一実施形態では、ピング、トレースルート、及びヘルスチェックは、ＱＯＳ評価を提供するために組合せて使用される。
【０１２９】
他の実施形態では、上記した方法論の全てをＱＯＳを決定するために組合せる。ＱＯＳを決定するためには、それぞれの方法論を実行し、それぞれの方法論のＱＯＳ係数を返信する。それぞれの方法論のＱＯＳ係数は、その後正規化されて、それぞれの分析パスの単一のＱＯＳ係数を形成するために集計される。ＱＯＳ係数の正規化は、それぞれの方法論を等しく重み付けして実行される。
【０１３０】
例えば、一実施形態では、次の正規化と集約演算がなされる。即ち、（１）トレースルートが９個のホップを報告、（２）ファイル転送を介したバンド幅試験が３００ミリ秒を報告、（３）サーバヘルスチェックが健康な１つを報告、（４）サーバロード／リソースチェックが平均６５％のＣＰＵ負荷を報告、（５）ＢＧＰルーティング情報が４個のホップを報告、及び、（６）ポート応答時間が４５ミリ秒を報告する。また、それぞれの戻り値をそれぞれ所定の最大値と比較する。即ち、（１）トレースルートの３０個のホップ、（２）ファイル転送を介したバンド幅試験の５００ミリ秒、（３）サーバヘルスチェックの１、（４）サーバロード／リソースチェックの１００％、（５）ＢＧＰルーティング情報の６個のホップ、（６）ポート応答時間の１００ミリ秒である。
【０１３１】
正規化と集計を実行するために、それぞれの戻り値を、それぞれの所定の最大値で除算する。これにより、トレ−スルートは０．３３、ファイル転送を介したバンド幅試験は０．６、サーバヘルスチェックは１、サーバロード／リソースチェックは０．６５、ＢＧＰルーティング情報は０．７５、ポート応答時間は０．４５という結果が得られる。次に、正規化値の全てを集計し、全体的なＱＯＳ係数として３．７８を得る。このＱＯＳ係数を、その後多様なコンテンツ交換部１１６を比較するために使用する。
【０１３２】
他の実施形態では、それぞれの手法から報告される値は、集約演算の前に異なる重み付けをしておく。重み係数は、報告されたＱＯＳ係数に影響を及ぼすようにユーザが提供してもよい。上記の例における値を使用してこの実施形態を説明するが、ここで各種方法論から報告される正規化値は、（１）トレースルート　０．３３、（２）ファイル転送を介したバンド幅試験　０．６、（３）サーバヘルスチェック　１、（４）サーバロード／リソースチェック　０．６５、（５）ＢＧＰルーティング情報　０．７５、（６）ポート応答時間　０．４５である。この例に続けて、以下の重み係数を使用する。即ちトレ−スルートは１、ファイル転送を介したバンド幅は３、サーバヘルスチェックは１、サーバロード／リソースチェックは４、ＢＧＰルーティング情報は１、ポート応答時間は３、を使用する。それぞれの正規化値にそれぞれ重み係数を積算して、（１）トレースルート　０．３３、（２）ファイル転送を介したバンド幅試験　１．８、（３）サーバヘルスチェック　１、（４）サーバロード／リソースチェック　２．６、（５）ＢＧＰルーティング情報　０．７５、（６）ポート応答時間　１．３５という結果になる。次に、重み付けされた正規化値を集計し、全体的なＱＯＳ係数として７．８３を得る。再び、このＱＯＳ係数を様々なコンテンツ交換１１６を比較するのに使用する。
【０１３３】
重み係数を提供することに加えて、ユーザは、手動でコンテンツ交換部１１６の所定の順序を選択するか、又は単一の受け入れ可能なコンテンツ交換１１６だけを提供できるが、そのいずれかは、パスＱＯＳ評価９８６の自動解析を効果的に無効にする。従ってユーザは、コンテンツ交換部１１６のＱＯＳ係数の完全自動生成を可能にすることによって、パスＱＯＳ評価９８６を手動で重み付けしてコンテンツ交換１１６に報告されたＱＯＳ係数を達成することによって、或いは、自動分析を無視して所望のコンテンツのリスト１１６を提供することによっていかなる所望の結果をも達成できる。
【０１３４】
いくつかの実施形態では、複数段階のパスＱＯＳ評価９８６を、上述した方法のサブセットを使用して実行し、粗いＱＯＳ解析の後で限定された数のコンテンツ交換１１６で精密なＱＯＳ解析を実行可能である。この複数ステップの解析は、充分なＱＯＳを提供しそうにないコンテンツ交換部の精密なＱＯＳ解析を回避してパスＱＯＳ評価９８６の効率を向上させる。従って、典型的な実施形態では、ピング及びトレースルートは、コンテンツ交換データベース２３２に含まれる全てのコンテンツ交換部１１６にて粗いＱＯＳ解析を実行するために適用される。その後、粗いＱＯＳによると充分なＱＯＳを提供する、所定の数、好ましくは２５未満のコンテンツ交換部１１６を、精密なＱＯＳ解析としてサーバヘルスチェックを使用して評価する。精密なＱＯＳ解析の結果、充分なＱＯＳを提供するコンテンツ交換部１１６が決定する。方法のいかなる組合せが精密な、又は粗いＱＯＳ解析のいずれかを実行するために適用され得る。代替手段においては、精密な、又は粗いＱＯＳ解析のいずれかは、それ自身複数ステップの解析からなることが可能であることが認識される。
【０１３５】
パスＱＯＳ評価９８６を可能性があるパスにて実行し、それぞれ評価パスのＱＯＳ係数がクライアントコンピュータ１１２のメモリに記憶された後、評価パスに関連したコンテンツ交換部１１６に優先順位をつける９９０。コンテンツ交換部１１６は、パスＱＯＳ評価９８６で決定されるＱＯＳ係数に基づいて優先順位がつけられる。ＱＯＳ係数に基づいて、所定の数のコンテンツ交換部が選択され、ランク付けされて、優先情報５１２として記憶される。一実施形態では、優先情報５１２は、１０個の優先コンテンツ交換部１１６を含む。
【０１３６】
上記で開示したように、別の実施形態では、必ずしもコンテンツ交換部１１６及びオリジンサーバ１０８とは限らないあらゆるコンテンツオブジェクトソース上でパスＱＯＳ評価を実行できる。この場合、優先情報５１２は、コンテンツ交換部１１６だけでなくコンテンツオブジェクトソース、オリジンサーバ１０８を含むことが可能である。
【０１３７】
優先情報５１２は、クライアントコンピュータ１１２の観点から実行されるネットワーク解析により充分なＱＯＳを提供するものと決定されたコンテンツ交換部１１６のリストを含む。クライアントコンピュータ１１２の観点からＱＯＳを分析することで、ＱＯＳは改善できる。
【０１３８】
いくつかの実施形態では、優先情報５１２は、パスＱＯＳ評価９８６により分析されるコンテンツ交換部１１６のサブセットを形成するために使用される。例えば、同一サイトに存在する、又は優先情報５１２に含まれるコンテンツ交換１１６として同一プロバイダに関連したコンテンツ交換１１６を、試験してもよい。このように、充分なＱＯＳを提供する蓋然性が最も高いコンテンツ交換部１１６のみが、次のパスＱＯＳ評価９８６で再評価される。代替手段では、優先情報５１２が最後に作成されてから、コンテンツ交換データベース２３２に加えられた他のコンテンツ交換部１１６とともに、優先情報５１２に含まれるコンテンツ交換１１６を、パスＱＯＳ評価９８６で分析することができる。これらの方法で、ビューワオブジェクトプロキシ５０４の経験を、より効率的なパスＱＯＳ評価９８６を実現するために使用できる。上記の実施形態は、単に例示のためのものであり、コンテンツ交換１１６を選択するための多数のアルゴリズムが存在して、パスＱＯＳ評価９８６の効率を向上させることが認識される。例えば、特定のコンテンツ交換１１６についてパスＱＯＳ評価９８６の以前の動作では十分に劣悪な結果を報告することがあれば、再度分析することなく、むしろ推定的に除外する。いくつかの実施形態では、この推定に基づく除外は、ユーザが手動で無効にできる。
【０１３９】
パスＱＯＳ評価９８６の結果は、ユーザに表示９９２できる。いくつかの実施形態では、その結果は、ビューワオブジェクトプロキシ５０４のアプリケーションをクライアントコンピュータ１１２のデスクトップで実行し続けるようにユーザを促すために、及び、重み付け機能８５２を変更する際にユーザが手動でコンテンツ交換部１１６の選択を制御することを容易にするために表示される。一実施形態では、他のものに加えてディスプレイ機能８５４は、動作特性を記載している統計値とともに、クライアントコンピュータ１１２と選択されたコンテンツ交換１１６との間のホップを例示している地域のマップを提供する。
【０１４０】
スタートアップ９８０で優先情報５１２を更新することに加えて、優先情報５１２を、ユーザ要求９９４、又は時間間隔９９６のいずれかに基づいて更新できる。一実施形態では、優先情報５１２を時間間隔９９６で更新し、それを３６００秒にセットする。
【０１４１】
図９に関して記載したバックグラウンドアプリケーションに加えて、ビューワオブジェクトプロキシ５０４は、電子商取引要求にサービスを提供すると共に、コンテンツ配信システム１００、外部オリジンサーバ１１８、及びインターネット１２０からコンテンツオブジェクトのユーザリクエストにサービスを提供していることを含みこれに限定されない、フォアグラウンドオペレーションを提供可能である。より詳細には、電子商取引機能８６６に関連して上記したように、ビューワオブジェクトプロキシ５０４は電子商取引の要求を処理できる。
【０１４２】
コンテンツ配信システム１００、外部オリジンサーバ１１８、及びインターネット１２０からコンテンツオブジェクトにアクセスについて、図１０に含まれるビューワオブジェクトプロキシ要求サービス１０００の実施形態を示すフローチャートに従って説明する。図１０を参照する。コンテンツオブジェクトに対するユーザ要求１０１０をビューワオブジェクトプロキシ５０４が受信する。一実施形態では、コンテンツ配信システム１００は、コンテンツ処理プログラム５０８を通してアクセスされる。より詳細には、ユーザコマンドに反応して、コンテンツ処理プログラム５０８は、コンテンツオブジェクト要求を発行する。コンテンツオブジェクト要求は、ユーザ要求１０１０としてビューワオブジェクトプロキシ５０４に転送される。
【０１４３】
ユーザ要求１０１０を受信すると直ちに、ビューワオブジェクトプロキシ５０４は、受信したユーザ要求１０１０がコンテンツ配信システムへのアクセス１０２０によって履行できるか否かを判定する。一実施形態においてこの判定は、ユーザ要求１０１０のソースロケーションをコンテンツ配信システム１００に関連したソースロケーションの既知のリストと比較することにより実行される。ユーザ要求１０１０のソースロケーションがコンテンツ配信システム１００に関連したースロケーションと一致する場合、その要求はコンテンツ配信システムへのアクセス１０２０によって履行される。従って、コンテンツ配信システムサービス１０３０は、ユーザ要求１０１０を履行するために実行される。
【０１４４】
いくつかの実施形態では、ビューワオブジェクトプロキシ５０４は、オリジンサーバ１０８と優先情報５１２を通信してコンテンツ配信システムサービス１０３０を実行する。優先情報５１２を使用して、オリジンサーバ１０８は、ユーザ要求１０１０に充分なＱＯＳを提供できるコンテンツ交換部１１６、又はオリジンサーバ１０８を選択する。オリジンサーバ１０８は次に、選択されたコンテンツ交換部１１６、又はオリジンサーバ１０８のアドレスをビューワオブジェクトプロキシ５０４に通信する。一実施形態では、オリジンサーバ１０８は、動的にＨＴＭＬを書き込み、ビューワオブジェクトプロキシ５０４に選択されたコンテンツ交換１１６やオリジンサーバ１０８のアドレスを通信する。次に、ビューワオブジェクトプロキシ５０４は、選択されたコンテンツ交換部１１６や、オリジンサーバ１０８と互換性がある圧縮、暗号化、及びセキュリティについて交渉する。代替の実施形態では、ビューワオブジェクトプロキシ５０４自体がコンテンツ交換部１１６を選択し、優先情報５１２を使用して要求されたコンテンツオブジェクトを提供することができる。
【０１４５】
ビューワオブジェクトプロキシ５０４は、選択されたコンテンツ交換部１１６又はオリジンサーバ１０８からコンテンツオブジェクトを要求してユーザ要求１０１０を履行する。要求されたコンテンツオブジェクトが受信されると、交渉されたフォーマットに従って、解凍、解読、及びセキュリティがビューワオブジェクトプロキシ５０４によって提供される。このように、オリジンサーバ１０８にクライアントコンピュータ１１２の特定情報を送信することによって、オリジンサーバ１０８は充分なＱＯＳを提供できるコンテンツ交換部１１６を選択可能である。クライアントコンピュータ１１２の観点からの解析やコンテンツ交換選択を提供して、より正確なＱＯＳ解析が達成でき、結果としてより良好なＱＯＳを得ることができる。
【０１４６】
ユーザ要求１０１０をコンテンツ配信システムアクセス１０２０が履行できない場合、ビューワオブジェクトプロキシ５０４は次に、ユーザ要求１０１０は外部オリジンサーバアクセス１０４０によって履行可能か否かを判定する。一実施形態では、この判定は、ユーザ要求１０１０に示すドメインネームを、ホストされるサーバルーティング５２０にて提供される外部オリジンサーバ１１８のドメインネームと比較することにより実行される。ユーザ要求１０１０に示すドメイン名が外部オリジンサーバ１１８のドメイン名と一致する場合、ユーザ要求１０１０は、外部オリジンサーバサービス１０５０を実行することで、一致した外部オリジンサーバ１１８から履行可能である。このように、ユーザ要求１０１０を履行するために外部オリジンサーバサービス１０５０が実行される。他の実施形態では、ユーザ要求１０１０は、ディレクトリネーム、マシンネーム、ＩＰアドレス、受け入れられたサーバルーティング５２０に含まれる外部オリジンサーバに対応する識別子と比較される他の識別子を含んでもよい。
【０１４７】
一実施形態では、ビューワオブジェクトプロキシ５０４は、一致した外部オリジンサーバ１１８から供給されるコンテンツオブジェクトを提供することが知られているコンテンツ交換部１１６にアクセスして、外部オリジンサーバサービス１０５０を実行する。このように、ビューワオブジェクトプロキシ５０４は、一致した外部オリジンサーバ１１８からコンテンツ交換部１１６にユーザ要求１０１０をあて先変更する。このあて先変更は、一致した外部オリジンサーバ１１８と、コンテンツ処理プログラム５０８との両方にトランスペアレントである。いくつかの実施形態では、ビューワオブジェクトプロキシ５０４は、選択されたコンテンツ交換部１１６と、互換性がある圧縮、暗号化、及びセキュリティについて交渉する。これに応じて、コンテンツ交換部１１６は、交渉された圧縮、暗号化、及びセキュリティに従ってユーザ要求１０１０を履行する。コンテンツ交換部１１６が要求されたコンテンツオブジェクトを有しない場合には、コンテンツ交換部１１６は、一致した外部オリジンサーバ１１８から所望のコンテンツオブジェクトを要求する。いずれにせよ、要求されたコンテンツオブジェクトは、コンテンツ交換部１１６がクライアントコンピュータ１１２に通信する。要求されたコンテンツオブジェクトが受信されると、解凍、解読、及びセキュリティは、交渉されたフォーマットに従ってビューワオブジェクトプロキシ５０４によって提供される。このように、コンテンツ交換部１１６からユーザ要求１０１０のサービスを提供することによって、外部オリジンサーバ１１８を維持管理しているコンテンツオブジェクトプロバイダは、コンテンツオブジェクトの配信の負担を負わない。
【０１４８】
代替の実施形態では、ビューワオブジェクトプロキシ５０４は、オリジンサーバ１０８に優先情報５１２を通信して外部オリジンサーバサービス１０５０を実行できる。優先情報５１２を使用して、オリジンサーバ１０８は、ユーザ要求１０１０に充分なＱＯＳを提供できるコンテンツ交換１１６、又はオリジンサーバ１０８を選択する。オリジンサーバ１０８は、選択されたコンテンツ交換部１１６にアドレスを、ビューワオブジェクトプロキシ５０４にオリジンサーバ１０８を通信する。
【０１４９】
ビューワオブジェクトプロキシ５０４は次に、選択されたコンテンツ交換部１１６、又はオリジンサーバ１０８からコンテンツオブジェクトを要求することによってユーザ要求１０１０を履行する。
【０１５０】
選択されたコンテンツ交換１１６又はオリジンサーバ１０８は、一致した外部オリジンサーバ１１８から所望のコンテンツオブジェクトを要求し、その後ビューワオブジェクトプロキシ５０４に、要求されたコンテンツオブジェクトを通信することでユーザ要求１０１０を履行する。このように、クライアントコンピュータ１１２に合わせてサービスを提供することで、より良好なＱＯＳが達成できる。さらに、コンテンツ交換部１１６からユーザ要求１０１０にサービスを提供することで、外部オリジンサーバ１１８を維持管理しているコンテンツオブジェクトプロバイダは、コンテンツオブジェクトの配信を負担しないですむ。
【０１５１】
ユーザ要求１０１０が、外部オリジンサーバアクセス１０４０又はコンテンツ配信システムアクセス１０２０によって履行不能な場合には、ユーザ要求１０１０は、インターネット１２０へ送信される。一実施形態では、インターネット１２０へ通過した１０６０ユーザ要求１０１０は、標準のウェブアクセス機能８５８に関して記載したように処理される。
【０１５２】
図１１を参照する。オリジンサーバ１０８とコンテンツ交換部１１６との間でコンテンツをトラッキングする方法の実施形態を示す。この例は主に単一のオリジンサーバと単一のコンテンツ交換との間の対話を示すが、各オリジンサーバが多くのコンテンツ交換と交信し、各コンテンツ交換が多くのオリジンサーバと交信するのは当然である。全てのオリジンサーバ１０８と全てのコンテンツ交換１１６の間の対話で、システム６００は、コンテンツオブジェクトの部分の追跡が可能になる。
【０１５３】
この処理は、オフライン、又は利用不能な状態で、コンテンツ交換部とオリジンサーバから開始される。ステップ１１０４では、コンテンツ交換部１１６は、動作開始後に利用可能となる。最初に利用可能になる場合、コンテンツ交換部１１６は、空であり、クライアントコンピュータ１１２によるコンテンツの要求を待機する。クライアントコンピュータ１１２が要求を履行すると、コンテンツ記憶部４１２は、それ自体をコンテンツオブジェクト、又はコンテンツオブジェクトの部分で満たす。
【０１５４】
ステップ１１０８で、この実施形態のオリジンサーバ１０８は動作を開始し、利用可能となる。オリジンサーバ１０８は、アクティブディレクトリ１０４にそのローカルコンテンツカタログを掲載して、システム６００の全てのコンテンツトラッカー４０４に、自身を識別させる。稼働しているコンテンツ交換部１１６のコンテンツ交換データベース２３２は、コンテンツマネージャ３１２がコンテンツトラッカー４０４のアドレスを判別するように、問い合わせできる。
【０１５５】
それぞれのコンテンツ交換部１１６は、それと交信したオリジンサーバ１０８のオリジンサーバデータベース４２４を維持管理する。オリジンサーバ１０８がオフラインになる前に、オリジンサーバ１０８は、全てのコンテンツ交換１１６と交信して、ステータスのこの変化をそれら１１６に通知しようとする。オフラインになったオリジンサーバ１０８は、オリジンサーバデータベース４２４から削除される。オリジンサーバ１０８がステータスを送信するコンテンツ交換部１１６への応答に失敗したときは常に、そのオリジンサーバ１０８はオフラインと推定され、オリジンサーバデータベース４２４から削除される。
【０１５６】
コンテンツ交換部１１６がオフラインになる予定にある場合は常に、それはシステム６００に通知しようとする。それぞれのオリジンサーバ１０８のコンテンツト交換情報３２４とコンテンツロケーションデータベース３２０が、最新に維持されるように、コンテンツオブジェクト、又はコンテンツオブジェクトの部分を有するオリジンサーバ１０８に通知する。さらに、コンテンツ交換データベース２３２がシステム６００に利用可能なコンテンツ交換部１１６を正確に反映するように、アクティブディレクトリ１０４に通知がされる。
【０１５７】
ステップ１１０８で交信された各コンテンツトラッカー４０４は、ステップ１１１２で、ステータス情報４２０、及びそのコンテンツマネージャ３１２に関するあらゆるコンテンツオブジェクトをコンテンツマネージャ３１２に応答する。コンテンツマネージャ３１２がオンラインになるところであるため、コンテンツ記憶部４１２上には、そのコンテンツマネージャ３１２に関連したコンテンツサーバ３０８から発生したいかなるコンテンツオブジェクトも存在する蓋然性が低い。応答した各コンテンツ交換部１１６からのステータス情報４２０は、コンテンツ交換情報３２４としてコンテンツマネージャ３１２に記憶される。多様な実施形態においてステータス情報４２０は、コンテンツカタログ情報４１６の有無にかかわらず報告され得る。コンテンツオブジェクトのソースにクライアントコンピュータ１１２をルーティングする場合、問題のコンテンツ交換部へのローディングを判定するためにコンテンツ交換情報３２４が使用される。コンテンツ交換情報３２４が最新であるように、それぞれのコンテンツトラッカー４００は、ステータス情報を有する全てのアクティブなコンテンツマネージャ３１２を定期的に更新する。別の実施形態では、定期的にではなく、ステータスの重大な変更が突然発生した場合に、コンテンツトラッカー４０４は、更新したステータス情報４２０を提供し得る。
【０１５８】
ステップ１１１６で、コンテンツマネージャ３１２は、クライアントコンピュータ１１２をコンテンツ交換部１１６に送信して、コンテンツオブジェクトの要求を履行する。クライアントコンピュータ１１２をあて先変更する前に、コンテンツマネージャ３１２は、特定のコンテンツ交換部がそのコンテンツオブジェクトの優先ソースであるという決定をする。コンテンツオブジェクトの全体が優先コンテンツ交換部１１６にない場合、コンテンツコントローラ４０８は、ステップ１１２０で欠落しているコンテンツオブジェクトの部分を検索する。一旦コンテンツオブジェクトの先頭部分がコンテンツ交換部１１６から入手可能になった場合には、クライアントコンピュータ１１２はコンテンツオブジェクトをダウンロードし始める。
【０１５９】
所定の間隔をもって、又は変更が発生したときに、コンテンツトラッカー４０４は、全てのコンテンツマネージャ３１２に、コンテンツ記憶部４１２に記憶されたコンテンツオブジェクト、及び／又は、コンテンツオブジェクトの部分を報告する。ローカルコンテンツカタログ４１６は、コンテンツ記憶部４１２に保持されるコンテンツオブジェクト、及び／又は、コンテンツオブジェクトの部分のリストを記憶する。ステップ１１２０で追加される可能性があるコンテンツオブジェクトをステップ１１２４で、元々コンテンツオブジェクトを提供していたオリジンサーバ１０８に通信する。コンテンツ記憶部４１２上の情報を有するそれぞれオリジンサーバ１０８は、コンテンツトラッカー４０４からレポートを受信する。
【０１６０】
その後ある時点において、ステップ１１２８でローカルコンテンツカタログ４１６からのさらなる情報を、コンテンツトラッカー４０４からコンテンツマネージャ３１２に送信する。ステップ１１３２のタイマーの失効でこのレポートは、始動するが、他の実施例では変更が発生した場合にこの情報を報告することもある。全てのコンテンツ交換部１１６からのレポートにより、コンテンツマネージャ３１２は、記憶場所情報をコンテンツロケーションデータベース３２０に記憶する。コンテンツマネージャによるコンテンツロケーションデータベース３２０に関する将来の問い合わせは、コンテンツマネージャ３１２がクライアントコンピュータ１１２のあて先変更を希望するコンテンツオブジェクトをどのコンテンツ交換部１１６が現在有しているのかを知ることを可能にする。
【０１６１】
ステータス情報４２０、及び／又は、コンテンツカタログ情報４１６のレポートが特定のコンテンツマネージャ３１２に作成されると、コンテンツトラッカー４０４は、コンテンツマネージャ３１２が情報を受理するか否かを判定する。コンテンツマネージャがその情報を受理した場合、処理は、他のコンテンツオブジェクトを要求するステップ１１１６にループして戻る。
【０１６２】
コンテンツマネージャ３１２が例えばオフラインである場合、コンテンツトラッカー４０４から報告された情報は、受理されない。コンテンツトラッカー４０４は、コンテンツマネージャ３１２が利用不能と結論付ける前に、不成功に終わる交信試行をいくつか行う場合がある。応答しないコンテンツマネージャ３１２を、ステップ１１３６で検出する。利用不能なコンテンツマネージャ３１２に関連したあらゆるコンテンツオブジェクトが、ローカルコンテンツカタログ４１６への問い合わせによって判定される。関連したコンテンツオブジェクトは、新規のコンテンツオブジェクトの場所を残しておくためにコンテンツ記憶部４１２から一掃されるか、又は記憶空間が必要なときは、それらは削除用のタグを付けられる。オリジンサーバネームをＩＰアドレスに翻訳する上記の処理の間、コンテンツトラッカーは、動的ＤＮＳ２０４に問い合わせする。
【０１６３】
次に図１２を参照する。コンテンツマネージャからサーバマネージャへ情報を通信する処理の実施形態を示すフローチャートが示されている。示されたフローチャートは、アクティブディレクトリ１０４と単一のオリジンサーバ１０８間の対話を示す。しかし、アクティブディレクトリ１０４は、類似の方法で多数のオリジンサーバと対話して、サーバデータベース２２８のオリジンサーバの番号をカタログ化する電子名簿を開発することが理解される。ユーザは、検索ページ、ディレクトリページ規範をもってサーバデータベース２２８に問い合わせる。
【０１６４】
処理は、ステップ１２０４で開始され、ここで、コンテンツマネージャ３１２は、サーバマネージャ２０８にステータス情報を提供する。サーバマネージャ２０８は、ステータス情報を受信し、ステップ１２０８で、加入者データベース２２４に記憶する。加入者データベース２２４は、システム６００で現在アクティブな全てのオリジンサーバ１０８の情報を保持している。
【０１６５】
サーバマネージャ２０８は、それぞれのオリジンサーバ１０８がローカルコンテンツカタログ３１６からの情報を報告応答する頻度を管理できる。それぞれのオリジンサーバがローカルコンテンツカタログ３１６に報告する頻度は、ステップ１２１０でコンテンツマネージャ３１２に報告応答時間間隔を提供するサーバマネージャ２０８が制御する。アクティブディレクトリ１０４のローディング又は利用は、サーバデータベース２２８の情報の更新に利用できるバンド幅の総計を決定するために分析される。そのローディング決定に基づき、報告応答時間間隔が選択され、コンテンツマネージャ３１２に送信される。ある実施形態では、報告応答時間間隔は通常２分に設定されるが、アクティブディレクトリがオーバーロードになる場合にはそれより長くすることも可能である。
【０１６６】
各オリジンサーバ１０８は、システム６００に掲載するために管理者が選択する全てのコンテンツオブジェクトのローカルコンテンツカタログ３１６を維持管理する。コンテンツマネージャ３１２がローカルコンテンツカタログ３１６を報告するためにサーバマネージャ２０８と交信する最初の時に、カタログ３１６からの全てのエントリは送信される。次の交信の際は、ローカルコンテンツカタログ３１６に対する変更だけが、バンド幅を保存するために報告される。別の実施形態では、全部のローカルコンテンツカタログは、それぞれの交信で報告される。ステップ１２１６で、サーバマネージャ２０８は、ローカルコンテンツカタログ３１６、又はローカルコンテンツカタログに対する変更を受信してその情報をサーバデータベース２２８に記憶する。報告応答時間間隔の間に、ローカルコンテンツカタログ３１６に変更がない場合であっても、オリジンサーバ１０８がまだ利用可能であることを知らせるため、オリジンサーバ１０８は、サーバマネージャ２０８と交信する。
【０１６７】
サーバマネージャ２０８は、オリジンサーバ１０８がオフライン、又はそうでなく利用不能であることが推定されるためにオリジンサーバ１０８がその交信を停止するか否かを検出する。ステップ１２２０で、サーバマネージャ２０８は、オリジンサーバ１０８のタイムアウト値を設定する。タイムアウト値は、本実施例では、報告応答時間間隔の３倍に設定されるが、他の倍数も使用できる。カウンタは、タイムアウト値に設定され、カウンタがいつタイムアウト値に到達したかを決定する。
【０１６８】
ステップ１２２４でカウンタがタイムアウト値に到達すると、ステップ１２３６でアクティブディレクトリ１０４は、オリジンサーバ１０８に対する全ての参照を削除、又はスペースが必要な場合は、削除するために参照にタグ付けを実行する。カウンタがタイムアウト値に到達する前に交信が始まらない場合には、オリジンサーバ１０８は、利用不能と推定される。そのオリジンサーバ１０８のローカルコンテンツカタログ３１６に対応するエントリは、サーバデータベース２２８から削除され、オリジンサーバ１０８のエントリは、加入者データベース２２４から削除される。データベース２２４，２２８からエントリを削除することで、ディレクトリ、検索ページ２１２，２１６とインタフェースしているどんなユーザにも、そのオリジンサーバ１０８に関連したコンテンツオブジェクトのリンクが提示されない。一方、カウンタがタイムアウト値に到達した後、ローカルコンテンツカタログ３１６に対応するエントリは削除用のタグを付けられてもよい。他のコンテンツオブジェクトのスペースが必要な場合、削除のためにタグ付けされたコンテンツオブジェクトは、上書きされる。
【０１６９】
ステップ１２２８で決定されるようにオリジンサーバ１０８による交信がある場合には、アクティブディレクトリ１０４は、オリジンサーバ１０８が適切にふるまっていることを知る。交信は、タイムアウト値を格納しているカウンタを再設定する結果になる。処理は、サーバデータベース２２８が更新されるステップ１２１０にループして戻り、新しい報告応答時間間隔が決定される。タイムアウト値を記憶しているカウンタが時間切れになる前に、オリジンサーバ１０８が報告できなくなるまで、この処理はループして繰り返される。
【０１７０】
図１３を参照する。コンテンツマネージャ３１２がサーバマネージャ２０８に情報を掲載する処理の実施形態を示すフローチャートが示されている。オリジンサーバの管理者は、アクティブディレクトリ１０４のダウンロードページ２２０から、ソフトウェアをダウンロードする。そのソフトウェアは、オリジンサーバ１０８上にインストールされる。この時点で、コンテンツオブジェクトは、静的な、又はストリーム形態にてコンテンツサーバ３０８上で利用可能である。オリジンサーバが準備できたコンテンツオブジェクト、及びソフトウェアがインストールされた状態から動作を開始するステップ１３０４から処理が開始される。
【０１７１】
ステップ１３０８で、管理者は、コンテンツオブジェクトを選択するために手動の選択処理を実行する。この処理の間、コンテンツサーバ３０８上のコンテンツオブジェクトのサブセットのみが、システム６００に利用可能にされてもよい。選択されたコンテンツオブジェクトは、ローカルコンテンツカタログ３１６に入力される。
【０１７２】
ステップ１３０８，１３１２で、コンテンツマネージャ３１２は、アクティブディレクトリ１０４と最初に交信するとすぐに、加入者データベース２２４にエントリするために、オリジンサーバ１０８に関する情報をサーバマネージャ２０８に送信する。これがコンテンツマネージャ３１２のアクティブディレクトリ１０４との最初の交信の場合は、管理者は、送信されたいくつかの情報を提供してもよい。管理者が追加する情報は記憶され、加入者データベース２２４を有する次の交信で提供される。
【０１７３】
ステップ１３１６で、コンテンツマネージャ３１２は、サーバマネージャ２０８と交信し、ローカルコンテンツカタログ３１６の情報を掲載する。ステップ１３２０で、サーバマネージャ２０８は、ローカルコンテンツカタログ３１６を入手し、それぞれのコンテンツオブジェクトのためにサーバデータベース２２８へのエントリを作成する。コンテンツをユーザが検索するために提示されるディレクトリページ及び検索ページ２１２，２１６を系統立てて整理するときに、そのサーバデータベース２２８のコンテンツが使用される。
【０１７４】
サーバマネージャ２０８は、全てのオリジンサーバ１０８がそれらのローカルコンテンツカタログ３１６を報告する頻度を制御する。サーバマネージャ２０８がオーバーロードされている場合、コンテンツマネージャ３１２に与えられた報告応答期間は増加される。ローカルコンテンツカタログ３１６の変更が検出されると、サーバマネージャ２０８はまた、コンテンツマネージャ３１２に報告応答するよう要求できる。本実施例では、その報告応答期間、又はインターバル時間は２分であり、ステップ１３２４で、コンテンツマネージャ３１２に提供される。
【０１７５】
サーバマネージャ２０８に報告応答する前に、ステップ１３２８で、コンテンツマネージャ３１２は、間隔時間の期限切れを待機する。一旦タイマーが期限切れになると、コンテンツサーバ３０８上のコンテンツオブジェクトは、ローカルコンテンツカタログ３１６が変更されるべきかどうか判定するためにスキャンされる。ステップ１３３２で、一旦変更されると、処理ループは、ローカルコンテンツカタログ３１６がもう一度サーバデータベース２２８に掲載される、ステップ１３１６へ戻る。ステップ１３１６で、１回目の交信についての全部のローカルコンテンツカタログが提供され、情報量を減少するために次の交信については変更のみが提供され、情報を更新する。
【０１７６】
次に図１４を参照する。別々のポート１４０８経由で接続される複数のプロバイダを示すコンテンツ交換部１１６の実施形態のブロック図を示す。コンテンツ交換部１１６に対して３個のデータパス１４０４がインターネットプロトコルポート１４０８で論理的に分離される。ポート１４０８が物理的に共通経路を共有できる場合でも、ポートは、論理的データパス１４０８を非多重化するために使用される。複数のポート１４０８を有するので、それらのポート１４０８と関連するトラフィックを管理することができる。
【０１７７】
例えば、外部オリジンサーバ１１８からコンテンツオブジェクトを提供するためにコンテンツ交換部１１６が使用されてもよい。外部オリジンサーバの管理者は、トラフィックを３個のバンド幅のプロバイダに分割することを希望することもある。ポートＡ　１４０８Ａは、プロバイダＡと関連でき、ポートＢ　１４０８Ｂは、プロバイダＢと関連でき、ポートＣ　１４０８Ｃは、プロバイダＣと関連できる。コンテンツ交換部は、それらのポートのアクティビティをモニターでき、それらがそのバンド幅を運ぶために外部オリジンサーバ１１８に適切な請求ができるようにプロバイダにその情報を報告する。
【０１７８】
クライアントコンピュータ１１２からの要求は、プロバイダ間でバンド幅を割り当てできるように、外部オリジンサーバ１１８が決定する構成に従ってポート１４０８間で分割できる。ある実施形態では、それぞれのクライアントコンピュータ１１２は、重み付け機能に従って３個のポート１４０８を循環する。他の実施形態では、それぞれのクライアントコンピュータは、異なるポート１４０８を割り当てられて使用する。さらに他の実施例では、各ポート１４０８のＱＯＳの決定は、クライアントコンピュータ１１２が使用するポート１４０８の選択肢に影響する。これらの技術を使用して、システム６００のクライアントコンピュータ１１２は、それぞれのプロバイダから購入するバンド幅の総計に影響を与えることが可能である。
【０１７９】
図１５を参照する。別々のアドレス１５０８経由で接続される複数プロバイダを示すコンテンツ交換部１１６の他の実施形態のブロック図を示す。この実施形態では、３個のＩＰアドレス１５０８は、論理的に３個のデータパス１５０４を互いに分離するために使用される。論理的データパスは、主としてプロバイダごとにバンド幅を分離することを想定しているが、論理的データパスは、セキュリティレベル、コンテンツオブジェクトのサブセット、又はその他のものを分離できる。
【０１８０】
次に図１６を参照する。プロバイダ１６０４とコンテンツ交換１１６のグループ化の実施形態の階層表現を示す。この実施形態では、２個のバンド幅プロバイダ１６０４がある。それぞれのプロバイダ１６０４は、それ自身専用のサイト１６０８−１，１６０８−３と、共有されるサイト１６０８−２とを有する。サイト１６０８は、１個以上のサーバ１６１２を収容し、複数サーバ１６１２を収容し得る単一のコンテンツ交換部１１６に対応する物理的位置である。
【０１８１】
共有サイト１６０８−２の各サーバ１６１２−３は、そのサイト１６０８−２を共有しているそれぞれのプロバイダ１６０４の別々のＩＰアドレス１６１６−３，１６１６−４を有する。この２個のＩＰアドレス１６１６−３，１６１６−４は、与えられた共有サイト１６０２−２に、トラフィックの論理的区切りを許可する。全てのトラフィックが時々同一の物理的経路を共有したとしても、論理的区切りは、コンテンツオブジェクト要求、及びそれらの要求をサービスするバンド幅を個々のプロバイダ１６０４帰すことを可能にする。ある実施形態では、それぞれのプロバイダと関連するトラフィックを、ＩＰアドレス１６１６上のフィルタリングによって、物理的に分離しておくことができる。このように、バンド幅は、プロバイダ１６０４に割り当てられてもよい。
【０１８２】
次に図１７を参照する。プロバイダとコンテンツ交換のグループ化の他の実施形態の階層表現を示している。この実施形態では、ポート１７１６は、サーバ１６１２への論理的データパスを識別するために使用される。ポート１の１７１６−３は、プロバイダ１の１６０４−１と関連し、ポート２の１７１６−４は、複数プロバイダ１６０４にサービスするサイト１６０８−２上のプロバイダ２の１６０４−２と関連する。ある実施形態では、各プロバイダは、全てのサーバ上の単一の汎用ポートよりむしろそれらと関連する範囲のポートを有し得る。
【０１８３】
上記の記述を考慮すれば、本発明の多数の利点は、直ちに明らかである。クライアントの観点からコンテンツ交換を解析し、そしてクライアントにコンテンツオブジェクトを提供するコンテンツ交換を選択する解析を使用することで、クライアントは、充分なＱＯＳを得ることができる。この充分なＱＯＳは、バンド幅および待ち時間の両方を含む任意の転送状況を有し得る転送品質を達成する。クライアントコンピュータが、ネットワークサーバと違い、クライアントコンピュータへのルーティングに関する完全な情報を有する場合、クライアントコンピュータは、一義的に配置され、充分なＱＯＳを可能にする情報を提供する。
【０１８４】
また、本発明の多くの変更と修正を行うことができる。例えば、ある実施例では、コンテンツ交換と同様に外部オリジンサーバも解析できる。
本発明は、その特定の実施例に関して記載しているが、実施例は、単に発明の例証を示しているにすぎず、制限しているものではなく、本発明の有効範囲は、添付の請求の範囲よってのみ決定される。
【図面の簡単な説明】
【図１】コンテンツ配信システムの一実施形態を示すブロック図。
【図２】コンテンツ配信システムのアクティブディレクトリ部分の実施形態を示すブロック図。
【図３Ａ】コンテンツ配信システムのオリジンサーバ部の実施形態を示すブロック図。
【図３Ｂ】コンテンツ配信システムの外部オリジンサーバ部の実施例のブロック図。
【図４Ａ】コンテンツ配信システムのコンテンツ交換部の実施形態を示すブロック図。
【図４Ｂ】コンテンツ配信システムのコンテンツ交換部の他の実施形態を示すブロック図。
【図４Ｃ】複数のコンテンツ交換サーバを有するコンテンツ交換サイトの実施形態を示すブロック図。
【図５】コンテンツ配信システムのクライアントコンピュータ部の実施形態を示すブロック図。
【図６】コンテンツ配信システムの実施形態を示すブロック図。
【図７Ａ】ユーザにコンテンツを配信するための処理の実施形態を示すフローチャートの第１の部分。
【図７Ｂ】図７Ａのフローチャートの第２の部分。
【図８】ビューワオブジェクトプロキシの実施形態を示すブロック図。
【図９】ビューワオブジェクトプロキシのバックグラウンドアプリケーションを示すフローチャート。
【図１０】ビューワオブジェクトプロキシ要求サービスを示すフローチャート。
【図１１】オリジンサーバとコンテンツ交換部との間でコンテンツをトラッキングする方法の実施形態を示すフローチャート。
【図１２】コンテンツマネージャからサーバマネージャへ情報を通信するための処理の実施形態を示すフローチャート。
【図１３】コンテンツマネージャがサーバマネージャに情報を掲載する処理の実施形態を示すフローチャート。
【図１４】別々のポート経由で接続される複数のプロバイダを示す、コンテンツ交換部の実施形態を示すブロック図。
【図１５】別々のアドレス経由で接続される複数のプロバイダを示す、コンテンツ交換部の他の実施形態を示すブロック図。
【図１６】プロバイダとコンテンツ交換のグループ化の実施形態を示す階層表現。
【図１７】プロバイダとコンテンツ交換のグループ化の他の実施形態を示す階層表現。
【図１】
2004501559.tif 000003
【図２】
2004501559.tif 000004
【図３Ａ】
2004501559.tif 000005
【図３Ｂ】
2004501559.tif 000006
【図４Ａ】
2004501559.tif 000007
【図４Ｂ】
2004501559.tif 000008
【図４Ｃ】
2004501559.tif 000009
【図５】
2004501559.tif 000010
【図６】
2004501559.tif 000011
【図７Ａ】
2004501559.tif 000012
【図７Ｂ】
2004501559.tif 000013
【図８】
2004501559.tif 000014
【図９】
2004501559.tif 000015
【図１０】
2004501559.tif 000016
【図１１】
2004501559.tif 000017
【図１２】
2004501559.tif 000018
【図１３】
2004501559.tif 000019
【図１４】
2004501559.tif 000020
【図１５】
2004501559.tif 000021
【図１６】
2004501559.tif 000022
【図１７】
2004501559.tif 000023
【国際公開パンフレット】
2004501559.tif 000024
2004501559.tif 000025
2004501559.tif 000026
2004501559.tif 000027
2004501559.tif 000028
2004501559.tif 000029
2004501559.tif 000030
2004501559.tif 000031
2004501559.tif 000032
2004501559.tif 000033
2004501559.tif 000034
2004501559.tif 000035
2004501559.tif 000036
2004501559.tif 000037
2004501559.tif 000038
2004501559.tif 000039
2004501559.tif 000040
2004501559.tif 000041
2004501559.tif 000042
2004501559.tif 000043
2004501559.tif 000044
2004501559.tif 000045
2004501559.tif 000046
2004501559.tif 000047
2004501559.tif 000048
2004501559.tif 000049
2004501559.tif 000050
2004501559.tif 000051
2004501559.tif 000052
2004501559.tif 000053
2004501559.tif 000054
2004501559.tif 000055
2004501559.tif 000056
2004501559.tif 000057
2004501559.tif 000058
2004501559.tif 000059
2004501559.tif 000060
2004501559.tif 000061
2004501559.tif 000062
2004501559.tif 000063
2004501559.tif 000064
2004501559.tif 000065
2004501559.tif 000066
2004501559.tif 000067
2004501559.tif 000068
2004501559.tif 000069
2004501559.tif 000070
2004501559.tif 000071
2004501559.tif 000072
2004501559.tif 000073
2004501559.tif 000074
2004501559.tif 000075
2004501559.tif 000076
2004501559.tif 000077
2004501559.tif 000078
2004501559.tif 000079
2004501559.tif 000080
2004501559.tif 000081
2004501559.tif 000082
2004501559.tif 000083
2004501559.tif 000084
2004501559.tif 000085
2004501559.tif 000086
2004501559.tif 000087
2004501559.tif 000088
2004501559.tif 000089
2004501559.tif 000090
2004501559.tif 000091
【国際公開パンフレット（コレクトバージョン）】
2004501559.tif 000092
2004501559.tif 000093
【国際公開パンフレット（コレクトバージョン）】
2004501559.tif 000094
2004501559.tif 000095
【手続補正書】
【提出日】平成14年2月11日(2002.2.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備え、前記方法は、
前記リクエスタおよび第１のソースに関する第１の転送品質係数（ｔｒａｎｓｆｅｒ　ｑｕａｌｉｔｙ　ｆａｃｔｏｒ）を決定し、第１のソースは第１の識別子によって識別されることと、
前記リクエスタと第２のソースに関する第２の転送品質係数を決定し、第２のソースは第２の識別子によって識別されること、
前記セレクタに優先度を提供し、前記優先度は第１および第２の転送品質係数に基づいており、かつ前記優先度は第１および第２の識別子のうちの少なくとも１つを含んでいることと、
前記セレクタは前記優先度に基づいて前記リクエスタへのソースを選択することとからなる方法。
【請求項２】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記方法は、
第１のソースおよび第２のソースを識別することをさらに含む方法。
【請求項３】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記方法は、
前記リクエスタに第１の識別子および第２の識別子を提供すること
をさらに含む方法。
【請求項４】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、
前記第１の転送品質係数の決定が、複数の試験を実行することを含む方法。
【請求項５】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項４に記載の方法において、前記方法は、
前記第１の転送品質係数を決定するために複数の前記試験を重み付けする重み付け機能を使用することをさらに含む方法。
【請求項６】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項５に記載の方法において、前記重み付け機能は、ユーザーによって定義される方法。
【請求項７】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記選択されたソースは転送ノードであり、前記転送ノードは、オリジネイティングソースから動的に転送されて前記リクエスタが利用できるようにされるコンテンツオブジェクトを備える方法。
【請求項８】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記方法は、
前記優先度をユーザーに対して表示することをさらに含む方法。
【請求項９】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための方法であって、前記方法は、
第１のソースおよび第２のソースを識別し、少なくとも前記第１のソースはオリジネイティングソースからのコンテンツオブジェクトを要求できることと、
前記リクエスタと第１のソースとの間および前記リクエスタと第２のソースとの間における転送品質を解析することと、
前記解析された転送品質に基づいて第１のソースおよび第２のソースを順位付けすることと、
前記コンテンツオブジェクトソースの選択を案内するために前記順位付けを使用し、その選択されたコンテンツオブジェクトソースは、第１のソース、第２のソース、または第３のソースのうちの１つであることとからなる方法。
【請求項１０】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記順位付けを使用することは、
セレクタに前記順位付けを転送することを含み、前記セレクタは前記順位付けに部分的に基づいて前記コンテンツオブジェクトソースを選択し、前記セレクタは前記リクエスタに前記選択されたコンテンツオブジェクトソースを示す方法。
【請求項１１】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記転送品質を解析することが、複数の試験を実行することを含む方法。
【請求項１２】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記転送品質を解析することが、トレ−スルート、ファイル転送を介した試験、サーバヘルスチェック、サーバロードチェック、ピング（ｐｉｎｇ：ｐａｃｋｅｔ　Ｉｎｔｅｒｎｅｔ　ｇｒｏｐｅｒ）、路程差、ＢＧＰ（Ｂｏｒｄｅｒ　Ｇａｔｅ　Ｐｒｏｔｏｃｏｌ、以下ＢＧＰとよぶ）、ルーティング情報、チャーンレート（ｃｈｕｒｎ　ｒａｔｅ）、およびポート応答時間のうちの少なくとも１つを実行することを含む方法。
【請求項１３】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記方法は、
前記選択されたコンテンツオブジェクトソースからコンテンツオブジェクトを要求することと、
前記コンテンツオブジェクトを受信することとをさらに含む方法。
【請求項１４】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項１３に記載の方法であって、前記コンテンツオブジェクトを受信することが、前記コンテンツオブジェクトの一部分を事前に取得することをさらに含む方法。
【請求項１５】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項１３に記載の方法であって、前記コンテンツオブジェクトを受信することが、前記コンテンツオブジェクトを解凍することと、前記コンテンツオブジェクトを解読することと、および前記コンテンツオブジェクトのセキュリティーチェックを実行することとのうちの少なくとも１つを含む方法。
【請求項１６】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響され、前記方法は、
前記クライアントへの第１の転送ノードおよび第２の転送ノードを識別することと、
前記クライアントが前記第１の転送ノードおよび第２の転送ノードを順位付けし、前記順位付けはクライアント優先度を形成し、かつ前記転送ノードの記憶容量の少なくとも一部に基づくことと、
前記クライアント優先度に基づいて前記第１の転送ノードおよび第２の転送ノードのうちの１つを選択することと、
その選択された転送ノードからコンテンツオブジェクトの転送を要求することとからなる方法。
【請求項１７】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記クライアント優先度は、前記クライアントと前記第１の転送ノードとの間および前記クライアントと前記第２の転送ノードとの間における転送品質の解析により生成される方法。
【請求項１８】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１７に記載の方法において、転送品質の前記解析は、少なくとも２つの試験を実行することを含む方法。
【請求項１９】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記選択された転送ノードは、前記コンテンツオブジェクトソースである方法。
【請求項２０】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記第１の転送ノードおよび第２の転送ノードのうちから１つを選択することが第３の転送ノードによって実行される方法。
【請求項２１】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記第１の転送品質係数は、発信者（ｏｒｉｇｉｎａｔｏｒ）からコンテンツオブジェクトを受信する前記第１のソースの能力を備える。
【請求項２２】
コンテンツ配信システム上の転送品質を向上させる方法であって、前記配信システムがリクエスタおよびセレクタを備える請求項１に記載の方法において、前記第１の転送品質係数は、コンテンツオブジェクトが前記第１のソース上にと留まるであろう平均時間を含む方法。
【請求項２３】
リクエスタがコンテンツオブジェクトソースの選択を案内することを可能にするための請求項９に記載の方法であって、前記転送品質を解析することは、チャーンレート（ｃｈｕｒｎ　ｒａｔｅ）を解析すること、およびトレ−スルート、ファイル転送を介した試験、サーバヘルスチェック、サーバロードチェック、ピング、路程差、ＢＰＧルーティング情報、または、ポート応答時間の少なくとも１つを実行することを含む方法。
【請求項２４】
転送ノードを介してコンテンツオブジェクトソースからクライアントにコンテンツオブジェクトを提供する方法であって、前記転送ノードの選択がクライアント優先度により影響される請求項１６に記載の方法において、前記記憶容量は、チャーンレートを備える方法。
【国際調査報告】
2004501559.tif 000096
2004501559.tif 000097