(57)【要約】管理対象オブジェクトの複写および配信のための方法、システムおよびコンピュータ・プログラム製品は、ネットワークの最善または最適の取り扱いを行なうエッジ・サーバで利用可能でないオブジェクトに対するクライアントの要求を要求されたオブジェクトを有する親サーバに直接または間接にリダイレクトする。よって、要求されたオブジェクトが取り扱いを行なうエッジ・サーバで利用可能でない場合、クライアントの要求は、要求されたオブジェクトをクライアントに提供し得る親サーバに直接にリダイレクトされるか、または要求されたオブジェクトをクライアントに提供し得る親サーバに一つ以上の親サーバを経由して間接にリダイレクトされる。該方法、システムおよびコンピュータ・プログラム製品は、更に、オブジェクトが十分に人気を有する場合、オブジェクトをエッジ・サーバに知的に複写する。同様に、オブジェクトは、人気が低下した際に、エッジ・サーバから削除される。全てのリダイレクトおよび複写の動作は、エンドユーザに明らかになっている事が好ましく、これらがサービスの品質を低下させない。
2005534087.tif 000002
【特許請求の範囲】
【請求項１】
管理対象オブジェクトの複写および配信方法であって、
オブジェクトに対するクライアントの要求をネットワーク内のエッジ・サーバに導く段階と、
前記エッジ・サーバが要求されたオブジェクトを有する場合、前記要求されたオブジェクトをクライアントに提供する段階と、
そうでない場合、前記クライアントの要求を前記要求されたオブジェクトを有するサーバにリダイレクトし、前記要求されたオブジェクトをクライアントに提供する段階と、
前記要求されたオブジェクトが人気を有する場合、前記要求されたオブジェクトを前記エッジ・サーバに複写する段階と
を含む方法。
【請求項２】
前記クライアントの要求をサーバにリダイレクトする段階が、前記クライアントの要求を要求されたオブジェクトを有するネットワーク内の親サーバにリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階を含む、請求項１に記載の方法。
【請求項３】
前記クライアントの要求をサーバにリダイレクトする段階が、前記クライアントの要求を要求されたオブジェクトを有しないネットワーク内の親サーバにリダイレクトし、要求されたオブジェクトを有するネットワーク内の親サーバに到達するまで前記要求を再帰的にリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階を含む、請求項１に記載の方法。
【請求項４】
前記クライアントの要求をサーバにリダイレクトする段階が、前記要求されたオブジェクトがネットワーク内の親サーバで利用可能でない場合、前記クライアントの要求を起点サーバにリダイレクトし、前記要求されたオブジェクトを前記起点サーバからクライアントに提供する段階を含む、請求項１に記載の方法。
【請求項５】
前記オブジェクトに対するクライアントの要求をエッジ・サーバに導く段階が、オブジェクトに対するクライアントの要求を最善または最適のエッジ・サーバに導く段階を含む、請求項１に記載の方法。
【請求項６】
前記最善または最適のエッジ・サーバが、最善のリピータ・セレクタに基づく少なくとも１つの決定を用いて選択されるエッジ・サーバと、前記エッジ・サーバで利用可能である要求されたオブジェクトのコピーされた可能性と、およびエッジ・サーバとクライアントとの間のバンド幅とを備える、請求項５に記載の方法。
【請求項７】
前記要求されたオブジェクトを前記エッジ・サーバに複写する段階が、前記要求されたオブジェクトを親サーバから前記エッジ・サーバに複写する段階を含む、請求項１に記載の方法。
【請求項８】
前記要求されたオブジェクトが人気を有するがネットワーク内の親サーバで利用可能でない場合、前記要求されたオブジェクトを起点サーバからネットワーク内の親サーバに複写する段階を更に含む、請求項１に記載の方法。
【請求項９】
前記要求されたオブジェクトを前記エッジ・サーバに複写する段階が、前記要求されたオブジェクトがネットワーク内の親サーバで利用可能でない場合、前記要求されたオブジェクトを起点サーバから前記エッジ・サーバに複写する段階を含む、請求項１に記載の方法。
【請求項１０】
前記要求されたオブジェクトが人気を有するか否かを、前記要求されたオブジェクトの少なくとも１つのリクエスト・レートを使用して決定する、請求項１に記載の方法。
【請求項１１】
前記エッジ・サーバ上のオブジェクトの人気が低下した場合、前記オブジェクトを前記エッジ・サーバから削除する段階を更に含む、請求項１に記載の方法。
【請求項１２】
前記親サーバ上のオブジェクトの人気が低下したが起点サーバで利用可能である場合、前記オブジェクトを前記親サーバから削除する段階を更に含む、請求項１に記載の方法。
【請求項１３】
前記要求されたオブジェクトを複写する段階が、前記要求されたオブジェクトを動的複写基準に従って複写する段階を含む、請求項１に記載の方法。
【請求項１４】
前記要求されたオブジェクトを複写する段階が、
前記要求されたオブジェクトの人気度が基準人気度より大きくて、要求されたオブジェクトを複写するのに十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と、
前記要求されたオブジェクトを複写するのに十分なストレージが存在しない場合、
ｉ）前記要求されたオブジェクトの人気度を前記ストレージ内の最も人気の低いオブジェクトの人気度に比較する段階と、
ｉｉ）前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より大きいと、前記最も人気の低いオブジェクトを前記ストレージから削除する段階と、
ｉｉｉ）前記要求されたオブジェクトに対して十分なストレージが利用可能であるか前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より低くなるまで前記ｉ）およびｉｉ）段階を繰り返す段階と、
ｉｖ）十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階とを含む、請求項１に記載の方法。
【請求項１５】
前記要求されたオブジェクトを提供する段階が、前記要求されたオブジェクトを複写する段階とは独立して実行される、請求項１に記載の方法。
【請求項１６】
管理対象オブジェクトの複写および配信方法であって、
オブジェクトに対するクライアントの要求をネットワーク内の最適のエッジ・サーバに導く段階と、
前記エッジ・サーバが要求されたオブジェクトを有する場合、前記要求されたオブジェクトをクライアントに提供する段階と、
そうでない場合、前記クライアントの要求を前記要求されたオブジェクトを有するネットワーク内の親サーバにリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階と、
前記要求されたオブジェクトが人気を有する場合、前記要求されたオブジェクトを前記親サーバから前記エッジ・サーバに複写する段階と
を含む方法。
【請求項１７】
前記エッジ・サーバ上のオブジェクトの人気が低下した場合、前記オブジェクトを前記エッジ・サーバから削除する段階を更に含む、請求項１６に記載の方法。
【請求項１８】
前記親サーバ上のオブジェクトの人気が低下したが起点サーバで利用可能である場合、前記オブジェクトを前記親サーバから削除する段階を更に含む、請求項１６に記載の方法。
【請求項１９】
前記要求されたオブジェクトを複写する段階が、前記要求されたオブジェクトを動的複写基準に従って複写する段階を含む、請求項１６に記載の方法。
【請求項２０】
前記要求されたオブジェクトを複写する段階が、
前記要求されたオブジェクトの人気度が基準人気度より大きくて要求されたオブジェクトを複写するのに十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と、
前記要求されたオブジェクトを複写するのに十分なストレージが存在しない場合、
ｉ）前記要求されたオブジェクトの人気度を前記ストレージ内の最も人気の低いオブジェクトの人気度に比較する段階と、
ｉｉ）前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より大きいと、前記最も人気の低いオブジェクトを前記ストレージから削除する段階と、
ｉｉｉ）前記要求されたオブジェクトに対して十分なストレージが利用可能であるか前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より低くなるまで前記ｉ）およびｉｉ）段階を繰り返す段階と、
ｉｖ）十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階とを含む、請求項１６に記載の方法。
【請求項２１】
前記要求されたオブジェクトが人気を有するか否かを、前記要求されたオブジェクトの少なくとも１つのリクエスト・レートを使用して決定する、請求項１６に記載の方法。
【請求項２２】
前記要求されたオブジェクトを提供する段階が、前記要求されたオブジェクトを複写する段階とは独立して実行される、請求項１６に記載の方法。
【請求項２３】
プロセッサに管理対象オブジェクトの複写および配信方法を実行させるコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品であって、前記方法は、
オブジェクトに対するクライアントの要求をネットワーク内のエッジ・サーバに導く段階と、
前記エッジ・サーバが要求されたオブジェクトを有する場合、前記要求されたオブジェクトをクライアントに提供する段階と、
そうでない場合、前記クライアントの要求を前記要求されたオブジェクトを有するサーバにリダイレクトし、前記要求されたオブジェクトをクライアントに提供する段階と、
前記要求されたオブジェクトが人気を有する場合、前記要求されたオブジェクトを前記エッジ・サーバに複写する段階と
を含むコンピュータ・プログラム製品。
【請求項２４】
前記クライアントの要求をサーバにリダイレクトする段階が、前記クライアントの要求を要求されたオブジェクトを有するネットワーク内の親サーバにリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項２５】
前記クライアントの要求をサーバにリダイレクトする段階が、前記クライアントの要求を要求されたオブジェクトを有しないネットワーク内の親サーバにリダイレクトし、要求されたオブジェクトを有するネットワーク内の親サーバに到達するまで前記要求を再帰的にリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項２６】
前記クライアントの要求をサーバにリダイレクトする段階が、前記要求されたオブジェクトがネットワーク内の親サーバで利用可能でない場合、前記クライアントの要求を起点サーバにリダイレクトし、前記要求されたオブジェクトを前記起点サーバからクライアントに提供する段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項２７】
前記オブジェクトに対するクライアントの要求をエッジ・サーバに導く段階が、オブジェクトに対するクライアントの要求を最善または最適のエッジ・サーバに導く段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項２８】
前記最善または最適のエッジ・サーバが、最善のリピータ・セレクタに基づく少なくとも１つの決定を用いて選択されるエッジ・サーバと、前記エッジ・サーバで利用可能である要求された少なくとも１つのオブジェクトのコピーされた可能性と、およびエッジ・サーバとクライアントとの間のバンド幅とを備える、請求項２７に記載のコンピュータ・プログラム製品。
【請求項２９】
前記要求されたオブジェクトを前記エッジ・サーバに複写する段階が、前記要求されたオブジェクトを親サーバから前記エッジ・サーバに複写する段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３０】
前記方法が、前記要求されたオブジェクトが人気を有するがネットワーク内の親サーバで利用可能でない場合、前記要求されたオブジェクトを起点サーバからネットワーク内の親サーバに複写する段階を更に含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３１】
前記要求されたオブジェクトを前記エッジ・サーバに複写する段階が、前記要求されたオブジェクトがネットワーク内の親サーバで利用可能でない場合、前記要求されたオブジェクトを起点サーバから前記エッジ・サーバに複写する段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３２】
前記要求されたオブジェクトが人気を有するか否かは、前記要求されたオブジェクトの少なくとも１つのリクエスト・レートを使用して決定する、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３３】
前記方法が、前記エッジ・サーバ上のオブジェクトの人気が低下した場合、前記オブジェクトを前記エッジ・サーバから削除する段階を更に含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３４】
前記方法が、前記親サーバ上のオブジェクトの人気が低下したが起点サーバで利用可能である場合、前記オブジェクトを前記親サーバから削除する段階を更に含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３５】
前記要求されたオブジェクトを複写する段階が、前記要求されたオブジェクトを動的複写基準に従って複写する段階を含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３６】
前記要求されたオブジェクトを複写する段階が、
前記要求されたオブジェクトの人気度が基準人気度より大きくて、要求されたオブジェクトを複写するのに十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と、
前記要求されたオブジェクトを複写するのに十分なストレージが存在しない場合、
ｉ）前記要求されたオブジェクトの人気度を前記ストレージ内の最も人気の低いオブジェクトの人気度に比較する段階と、
ｉｉ）前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より大きいと、前記最も人気の低いオブジェクトを前記ストレージから削除する段階と、
ｉｉｉ）前記要求されたオブジェクトに対して十分なストレージが利用可能であるか前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より低くなるまで前記ｉ）およびｉｉ）段階を繰り返す段階と、
ｉｖ）十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階とを含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３７】
前記要求されたオブジェクトを提供する段階が、前記要求されたオブジェクトを複写する段階とは独立して実行される、請求項２３に記載のコンピュータ・プログラム製品。
【請求項３８】
プロセッサに管理対象オブジェクトの複写および配信方法を実行させるコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品であって、前記方法が、
オブジェクトに対するクライアントの要求をネットワーク内の最適のエッジ・サーバに導く段階と、
前記エッジ・サーバが要求されたオブジェクトを有する場合、前記要求されたオブジェクトをクライアントに提供する段階と、
そうでない場合、前記クライアントの要求を前記要求されたオブジェクトを有するネットワーク内の親サーバにリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階と、
前記要求されたオブジェクトが人気を有する場合、前記要求されたオブジェクトを前記親サーバから前記エッジ・サーバに複写する段階と
を含むコンピュータ・プログラム製品。
【請求項３９】
前記方法が、前記エッジ・サーバ上のオブジェクトの人気が低下した場合、前記オブジェクトを前記エッジ・サーバから削除する段階を更に含む、請求項３８に記載のコンピュータ・プログラム製品。
【請求項４０】
前記方法が、前記親サーバ上のオブジェクトの人気が低下したが起点サーバで利用可能である場合、前記オブジェクトを前記親サーバから削除する段階を更に含む、請求項３８に記載のコンピュータ・プログラム製品。
【請求項４１】
前記要求されたオブジェクトを複写する段階が、前記要求されたオブジェクトを動的複写基準に従って複写する段階を含む、請求項３８に記載のコンピュータ・プログラム製品。
【請求項４２】
前記要求されたオブジェクトを複写する段階が、
前記要求されたオブジェクトの人気度が基準人気度より大きくて、要求されたオブジェクトを複写するのに十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と、
前記要求されたオブジェクトを複写するのに十分なストレージが存在しない場合、
ｉ）前記要求されたオブジェクトの人気度を前記ストレージ内の最も人気の低いオブジェクトの人気度に比較する段階と、
ｉｉ）前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より大きいと、前記最も人気の低いオブジェクトを前記ストレージから削除する段階と、
ｉｉｉ）前記要求されたオブジェクトに対して十分なストレージが利用可能であるか前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より低くなるまで前記ｉ）およびｉｉ）段階を繰り返す段階と、
ｉｖ）十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階とを含む、請求項３８に記載のコンピュータ・プログラム製品。
【請求項４３】
前記要求されたオブジェクトが人気を有するか否かを、前記要求されたオブジェクトの少なくとも１つのリクエスト・レートを使用して決定する、請求項３８に記載のコンピュータ・プログラム製品。
【請求項４４】
前記要求されたオブジェクトを提供する段階が、前記要求されたオブジェクトを複写する段階とは独立して実行される、請求項３８に記載のコンピュータ・プログラム製品。
【請求項４５】
管理対象オブジェクトの複写および配信システムであって、
ネットワーク内の複数のエッジ・サーバと、
ネットワーク内の複数の親サーバとを備え、
前記複数のエッジ・サーバと前記複数の親サーバとのうち少なくとも１つのサーバが、
オブジェクトに対するクライアントの要求を前記ネットワーク内のエッジ・サーバに導く段階と、
前記エッジ・サーバが要求されたオブジェクトを有する場合、前記要求されたオブジェクトをクライアントに提供する段階と、
そうでない場合、前記クライアントの要求を前記要求されたオブジェクトを有するサーバにリダイレクトし、前記要求されたオブジェクトをクライアントに提供する段階と、
前記要求されたオブジェクトが人気を有する場合、前記要求されたオブジェクトを前記エッジ・サーバに複写する段階と
を実行するシステム。
【請求項４６】
前記クライアントの要求をサーバにリダイレクトする段階が、前記クライアントの要求を要求されたオブジェクトを有するネットワーク内の親サーバにリダイレクトする段階と、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階とを含む、請求項４５に記載のシステム。
【請求項４７】
前記クライアントの要求をサーバにリダイレクトする段階が、前記クライアントの要求を要求されたオブジェクトを有しないネットワーク内の親サーバにリダイレクトする段階と、要求されたオブジェクトを有するネットワーク内の親サーバに到達するまで前記要求を再帰的にリダイレクトする段階と、前記要求されたオブジェクトを前記親サーバからクライアントに提供する段階とを含む、請求項４５に記載のシステム。
【請求項４８】
前記クライアントの要求をサーバにリダイレクトする段階が、前記要求されたオブジェクトがネットワーク内の親サーバで利用可能でない場合、前記クライアントの要求を起点サーバにリダイレクトする段階と、前記要求されたオブジェクトを前記起点サーバからクライアントに提供する段階とを含む、請求項４５に記載のシステム。
【請求項４９】
前記オブジェクトに対するクライアントの要求をエッジ・サーバに導く段階が、オブジェクトに対するクライアントの要求を最善または最適のエッジ・サーバに導く段階を含む、請求項４５に記載のシステム。
【請求項５０】
前記最善または最適のエッジ・サーバが、最善のリピータ・セレクタに基づく少なくとも１つの決定を用いて選択されるエッジ・サーバと、前記エッジ・サーバで利用可能な要求された少なくとも１つのオブジェクトのコピーされた可能性と、およびエッジ・サーバとクライアントとの間のバンド幅とを備える、請求項４９に記載のシステム。
【請求項５１】
前記要求されたオブジェクトを前記エッジ・サーバに複写する段階が、前記要求されたオブジェクトを親サーバから前記エッジ・サーバに複写する段階を含む、請求項４５に記載のシステム。
【請求項５２】
前記複数のエッジ・サーバと前記複数の親サーバとのうち少なくとも１つのサーバが、前記要求されたオブジェクトが人気を有するがネットワーク内の親サーバで利用可能でない場合、更に前記要求されたオブジェクトを起点サーバから複写する、請求項４５に記載のシステム。
【請求項５３】
前記要求されたオブジェクトを前記エッジ・サーバに複写する段階が、前記要求されたオブジェクトがネットワーク内の親サーバで利用可能でない場合、前記要求されたオブジェクトを起点サーバから前記エッジ・サーバに複写する段階を含む、請求項４５に記載のシステム。
【請求項５４】
前記要求されたオブジェクトが人気を有するか否かを、前記要求されたオブジェクトの少なくとも１つのリクエスト・レートを使用して決定する、請求項４５に記載のシステム。
【請求項５５】
前記複数のエッジ・サーバと前記複数の親サーバとのうち少なくとも１つのサーバが、オブジェクトの人気が低下した場合、更に前記オブジェクトを削除する、請求項４５に記載のシステム。
【請求項５６】
前記要求されたオブジェクトを複写する段階が、前記要求されたオブジェクトを動的複写基準に従って複写する段階を含む、請求項４５に記載のシステム。
【請求項５７】
前記要求されたオブジェクトを複写する段階が、
前記要求されたオブジェクトの人気度が基準人気度より大きくて、要求されたオブジェクトを複写するのに十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と、
前記要求されたオブジェクトを複写するのに十分なストレージが存在しない場合、
ｉ）前記要求されたオブジェクトの人気度を前記ストレージ内の最も人気の低いオブジェクトの人気度に比較する段階と、
ｉｉ）前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より大きいと、前記最も人気の低いオブジェクトを前記ストレージから削除する段階と、
ｉｉｉ）前記要求されたオブジェクトに対して十分なストレージが利用可能であるか前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より低くなるまで前記ｉ）およびｉｉ）を繰り返す段階と、
ｉｖ）十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と
を含む、請求項４５に記載のシステム。
【請求項５８】
前記要求されたオブジェクトを提供する段階が、前記要求されたオブジェクトを複写する段階とは独立して実行される、請求項４５に記載のシステム。
【請求項５９】
管理対象オブジェクトの複写および配信システムであって、
ネットワーク内の複数のエッジ・サーバと、
ネットワーク内の複数の親サーバとを備え、
前記複数のエッジ・サーバと前記複数の親サーバとのうち少なくとも１つのサーバは、
オブジェクトに対するクライアントの要求を前記ネットワーク内の最適のエッジ・サーバに導き、
前記エッジ・サーバが要求されたオブジェクトを有する場合、前記要求されたオブジェクトをクライアントに提供し、
そうでない場合、前記クライアントの要求を前記要求されたオブジェクトを有するネットワーク内の親サーバにリダイレクトし、前記要求されたオブジェクトを前記親サーバからクライアントに提供し、
前記要求されたオブジェクトが人気を有する場合、前記要求されたオブジェクトを前記親サーバから前記エッジ・サーバに複写するシステム。
【請求項６０】
前記複数のエッジ・サーバと前記複数の親サーバとのうち少なくとも１つのサーバが、オブジェクトの人気が低下した場合、更に前記オブジェクトを削除する、請求項５９に記載のシステム。
【請求項６１】
前記要求されたオブジェクトを複写する段階が、前記要求されたオブジェクトを動的複写基準に従って複写する段階を含む、請求項５９に記載のシステム。
【請求項６２】
前記要求されたオブジェクトを複写する段階が、
前記要求されたオブジェクトの人気度が基準人気度より大きくて、要求されたオブジェクトを複写するのに十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階と、
前記要求されたオブジェクトを複写するのに十分なストレージが存在しない場合、
ｉ）前記要求されたオブジェクトの人気度を前記ストレージ内の最も人気の低いオブジェクトの人気度に比較する段階と、
ｉｉ）前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より大きいと、前記最も人気の低いオブジェクトを前記ストレージから削除する段階と、
ｉｉｉ）前記要求されたオブジェクトに対して十分なストレージが利用可能であるか前記要求されたオブジェクトの人気度が前記ストレージ内の最も人気の低いオブジェクトの人気度より低くなるまで前記ｉ）およびｉｉ）を繰り返す段階と、
ｉｖ）十分なストレージが存在する場合、前記要求されたオブジェクトを複写する段階を含む、
請求項５９に記載のシステム。
【請求項６３】
前記要求されたオブジェクトが人気を有するか否かを、前記要求されたオブジェクトの少なくとも１つのリクエスト・レートを使用して決定する、請求項５９に記載のシステム。
【請求項６４】
前記要求されたオブジェクトを提供する段階が、前記要求されたオブジェクトを複写する段階とは独立して実行される、請求項５９に記載のシステム。
【請求項６５】
前記複数のエッジ・サーバと前記複数の親サーバとのうち少なくとも１つのサーバが、前記要求されたオブジェクトが人気を有するがネットワーク内の親サーバで利用可能でない場合、更に前記要求されたオブジェクトを起点サーバから複写する、請求項５９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広義にはコンピュータ・ネットワークの分野に関する。特に、本発明は、ネットワーク上における管理対象オブジェクトの複写および配信に関する。
【背景技術】
【０００２】
代表的なコンテンツ配信ネットワーク（ＣＤＮ）のオペレータは、１つ以上の親サーバをネットワークに配備し、複数のオブジェクトを該ネットワークの端の１つ以上のエッジ・サーバに集結することで、エンドユーザ（クライアント）にこの種のオブジェクトをより高いコスト効率で、効率的に配信することを容易にする。カスタマのオブジェクトにアクセスするエンドユーザまたはクライアント代理人は、クライアントと呼ばれる。ＣＤＮサービスに加入するコンテンツ・プロバイダ会社、機構等は、カスタマと称される。ここで使用しているように、オブジェクトは、例えばＭＰ３（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−１  Ｌａｙｅｒ３）ファイルおよびリアル・ネットワーク社のリアル・フォーマットファイルのようなオーディオ・ファイル、ＭＰＥＧファイルのようなビデオ・ファイル、例えばＢＭＰ（ビットマップ）ファイルまたはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ）ファイルのような画像ファイル、および他のソフトウェア即ちデータ・ファイルまたはオブジェクトが挙げられるが、これに限定されるものではない。一般的に、オブジェクトをエッジ・サーバから提供することが好ましい。これは、一般的に、エッジ・サーバがエンドユーザにより近い（さまざまな距離の測定によって）からである。例えば、コンテンツ・データをエッジ・サーバからストリーミングすることによって、親エッジサーバ間のバンド幅をセーブする。さらに、オブジェクトが移動しなければならない距離を短くすることで、ネットワーク輻輳およびパケット・ロスを減少させ得、よってより速い応答時間およびより良いサービス品質でエンドユーザにより良い経験を提供し得る。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般に、全てのオブジェクトをエッジ・サーバ上に格納することは現実的で無い。これは、この種の多数のオブジェクトが非常に大きい（一般に、約１０ＭＢ（１０、０００、０００バイト）のオーダー、映画の場合、およそ５００ＭＢ）からである。サイズが大きく、かつ殆ど要求されないようなオブジェクトをあらゆるエッジ・サーバに収容するのに必要とするストレージおよびラック・スペースの費用は、カスタマの数およびそれらのオブジェクトの数が増加するにつれて高くなり得る。尚、頻繁に要求される、および／またはエッジ・サーバからの提供に適していると思われる一組のオブジェクト、即ち良好な作業セットのオブジェクトさえ、該作業セットのオブジェクトのサイズおよび要求の変化により、格納し得ないことがある。
【０００４】
１つの明らかな解決策は、重要であるか、需要が高い可能性のあるオブジェクトを予めエッジ・サーバに格納する事である。しかし、人気度の予測および予め格納する事の管理が困難である。関連した解決策は、オブジェクトをオブジェクトの人気度に従い２つ以上のドメインと対応させることである。例えば、１つのドメインは、人気を有するオブジェクト（エッジ・サーバから提供）に対応し、他のドメインは、あまり人気のないオブジェクト（親サーバから提供）に対応する。しかし、このような解決策においては、オブジェクトの人気の有無を予め静的に判断し、この人気度をオブジェクトのドメイン名に組み込む事が必要である。予め格納する事と同様に、人気度の予測およびこのような人気度判定によるドメイン割当の管理は困難である。
【０００５】
他の解決策は、要求に応じてオブジェクトをフェッチする。この種のスキームにおいて、要求されたオブジェクトが取り扱いを行なうエッジ・サーバで利用可能でない場合は、要求されたオブジェクトを有する親サーバと、要求されたオブジェクトを親サーバからフェッチするための取り扱いを行なうエッジ・サーバとの間で接続がなされる。しかしながら、このようなフェッチは、クライアントが特定のエッジ・サーバに既に存在しないオブジェクトを要求する度に、親パス（取り扱いを行なうエッジ・サーバとオブジェクトを有する親サーバとの間のネットワーク経路）を通過しなければならない。
【０００６】
親パスを経由して取り扱いを行なうエッジ・サーバに大きいオブジェクトをフェッチすると、速度が遅くなり得る。例えば、親サーバから取り扱いを行なうエッジ・サーバへの有効バンド幅が制限され得る。即ち、親パスがエッジ・サーバからクライアントへのネットワーク経路（例えば、ブロードバンド・ネットワークの「最後の１マイル」）より小さいバンド幅を有する場合が存在する。親サーバがオブジェクトをエッジ・サーバへコピーするバンド幅を過大に使用する場合、当該親サーバで輻輳が発生し得る。ストレージ充填バンド幅がクライアントのバンド幅に一致する場合、第２の、より速いクライアントを取り扱うことが難しく、フェッチがストリーミング・プロトコル（例えば、リアルタイム・ストリーミング・プロトコル（ＲＴＳＰ）およびリアルタイム・トランスポート・プロトコル（ＲＴＰ）規格）を使用して行われる場合、作成されたコピーの品質がロストパケット（「シニング」）によって低下され得る。
【０００７】
さらに、ネットワーク輻輳によって、信頼性の低いエンドツーエンドの親パスが存在し得る。又、親サーバがオブジェクトの前処理（例えば、特定のビットレートでイメージを生成すること）をすべきであるか、または他の作業によって占有されている場合、オブジェクトへの要求を処理する十分に速い能力が更に低下され得る。例えば、クライアントが親エッジ間ビットレートより高いビットレートを要求する場合、遅延が発生する可能性が高くなる。このような条件下で、親サーバは、例えば、時間内にオブジェクトをストリーミングするか、または要求されたビットレートでオブジェクトのストリームを維持するのに失敗する可能性がある。従って、損傷したオブジェクト、即ち伝送の際にロストパケットによって品質が低下したオブジェクトがエッジ・サーバで保存され、同じオブジェクトを要求する次のクライアントに伝達され得る。
【０００８】
従って、ネットワークのエッジ・サーバから提供されるオブジェクト・ビットの量を最大化するために、最も人気を有するオブジェクトをエッジ・サーバに保存し、残りのオブジェクトを当該オブジェクトを有する親サーバから何らかの方法で提供することが有利である。オブジェクトの人気が十分に高い場合、例えばストレージフィルによってオンデマンドでエッジ・サーバに格納し、そのようなオブジェクトに対してエンドユーザが待機する事が無いようにする事がさらに有利であろう。従って、ネットワーク上における管理対象オブジェクトの複写および配信のための方法およびシステムを提供することが有利である。
【課題を解決するための手段】
【０００９】
本発明の実施形態によると、ネットワークを経由した管理対象オブジェクトの複写および配信のための方法およびシステムが、該ネットワークの最善のまたは最適の取り扱いを行なうエッジ・サーバにおいて入手不可能なオブジェクトに対するクライアントの要求を、要求されたオブジェクトを有するネットワークの親サーバに直接または間接にリダイレクトする。よって、要求されたオブジェクトが取り扱いを行なうエッジ・サーバで利用可能でない場合、クライアントの要求は、要求されたオブジェクトをクライアントに提供し得る親サーバに直接にリダイレクトされるか、または要求されたオブジェクトをクライアントに提供し得る親サーバに一つ以上の親サーバを経由して間接的にリダイレクトされる。該方法およびシステムは、更に、オブジェクトが十分に人気を有する場合、オブジェクトをエッジ・サーバに知的に複写する。同様に、オブジェクトは、人気がなくなった際には、エッジ・サーバから削除される。全てのリダイレクトおよび複写の動作は、エンドユーザに明らかになっている事が好ましく、これらによって、サービスの品質が低下しない。本発明の他の実施形態も可能であり、いくつかは後述する。
【００１０】
例えば、本願明細書に記載されているフレームワークの下で、ストリーミング・オブジェクトに対する要求の処理は、取り扱いを行なうエッジ・サーバがそのオブジェクトのコピーを有する場合に当該取り扱いを行なうエッジ・サーバによって行われる。そうでない場合、該要求は、要求されたストリーミング・オブジェクトをクライアントに提供する親サーバに直接的または間接的にリダイレクトされる。要求されたストリーミング・オブジェクトの人気が高い場合、要求されたストリーミング・オブジェクトを有する親サーバから取り扱いを行なうエッジ・サーバに該オブジェクトを複写し、よって取り扱いを行なうエッジ・サーバは、該オブジェクトが将来要求されるときに、該オブジェクトをネットワークの端部より提供するであろう。ストリーミング・オブジェクトの人気が低下した場合、該オブジェクトはエッジ・サーバから削除される。
【００１１】
ここで使用しているように、複写とは、オブジェクトを、サーバ、特にエッジ・サーバ、もし可能であれば親サーバに永久的に、および／または揮発性の格納をする事を一般的に言及する。従って、複写という用語は、格納、キャッシュおよびコピーすることと同義であるとみなされる。典型的な実施形態において、オブジェクトの複写とは、未定義の期間の間、オブジェクトをエッジ・サーバおよび／または親サーバに一時的に格納することを一般的に言及する。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態による管理対象オブジェクトの複写および配信方法のための典型的なネットワークを図１に示す。ネットワーク１００は、１つ以上の親サーバ・サイト１２０と１つ以上のエッジ・サーバ・サイト１３０とを備える。また、ネットワークは、任意に１つ以上の起点サーバ・サイト１１０にアクセスする。起点サーバ・サイトは、一般的に１つ以上のオブジェクトを格納および提供するネットワーク・プロバイダのカスタマによって所有および／または維持される。各々の顧客（コンテンツ・プロバイダ）は、それ自身の起点サーバ・サイトを有し得る。さらに、１つ以上のクライアント１４０は、ネットワークにアクセスして１つ以上のオブジェクトを要求する。親サーバ・サイト（または単に親サイトまたは親サーバ）は、１つの親サーバまたは親サーバのクラスタを備え得る。同様に、エッジ・サーバ・サイト（または単にエッジ・サイトまたはエッジ・サーバ）も、１つのエッジ・サーバまたはエッジ・サーバのクラスタを備え得、起点サーバ・サイト（または単に起点サイトまたは起点サーバ）も、１つの起点サーバまたは起点サーバのクラスタを備え得る。一般に、ネットワーク１００は、クラスタのサーバが共用のストレージを共有するように構成される。いずれにしても、親サーバ・サイト、エッジ・サーバ・サイトおよび起点サーバ・サイトの構成の詳細は、本発明にとって重要でない。
【００１３】
典型的なネットワークにおいて、親サーバおよびエッジ・サーバは、ネットワーク・プロバイダによって維持される。親サーバは、主に１つ以上のオブジェクトを格納および管理するのに使われ、エッジ・サーバは、主にオブジェクトをクライアントに提供するのに使われる。一部の実施形態では、任意のエンドユーザがこのような各々のオブジェクトにアクセスし得る前に、オブジェクトが親サーバに格納される際に、全てのオブジェクトを起点サーバから検索して、１つ以上の親サーバ上に格納する。従って、これらの実施形態において、起点サーバは、親サーバへの格納のために新規なおよび／または更新されたオブジェクトを供給する以外は、管理対象オブジェクトの複写および配信方法において重要な役割を果たさない。さらに、親サーバのみが起点サーバと通信する。他の実施形態では、要求されたオブジェクトが人気を有する場合、各々の要求されたオブジェクトは、１つ以上の起点サーバから１つ以上の親サーバ（および／または１つ以上のエッジ・サーバ）に複写される（詳細な説明は後述する）。これらの実施形態において、起点サーバは、管理対象オブジェクトの複写および配信方法において要求時オブジェクトを親および／またはエッジ・サーバに供給する重要な役割を果たす。よって、これらの実施形態において、起点サーバと親サーバとは相互に通信し、起点サーバとクライアントも相互に通信し得る。これらの全ての実施形態において、起点サーバと親サーバとの間の通信関係は、１対１、１対多、または多対多でもよい。
【００１４】
更に、図１に示すように、親サーバとエッジ・サーバ、エッジ・サーバとクライアント、および親サーバとクライアントは、各々相互に通信する。図１に示すような実施形態において、エッジ・サーバは、親サーバと１対１または１対多の通信関係を有してもよく、また親サーバと多対多の通信関係を有してもよい。詳細に後述するように、エッジ・サーバは、オブジェクトを提供する一次ソースとして作用するが、要求されたオブジェクトがエッジ・サーバで利用可能でない場合は、要求されたオブジェクトを有する親サーバが要求されたオブジェクトをクライアントに提供する。また、図１は、単一のレイヤーまたはレベルの親サーバおよび起点サーバを示す。当業者に公知であるように、複数のレイヤーまたはレベルの親サーバおよび／または起点サーバが使われることも可能である。
【００１５】
本発明の実施形態によれば、図２および図３を参照して、管理対象オブジェクトの複写および配信方法、並びにオブジェクト削除方法を示す。図２は、図１に示すようなネットワーク１００、起点サーバ１１０およびクライアント１４０の一部に関する方法の実施形態を示す。図３は、フローチャートの形で方法の実施形態を示す。
【００１６】
先ず、管理対象オブジェクトの複写および配信の方法は、エッジ・サーバが要求された１つ以上のオブジェクトを有するかを判断するために、１つ以上のオブジェクトを要求するクライアントを、ネットワークのエッジ・サーバに導く（２００、３００）。クライアントは、例えば、ネットワークのトラフィック状態およびサーバの負荷に基づいて最適のエッジ・サーバに導かれるのが好ましい。当業者に公知であるように、任意の数の公知であるか将来開発されるメカニズムが、最善または最適のエッジ・サーバを選択するのに使用され得る。最善または最適のエッジ・サーバの決定は、任意の数の公知であるか将来開発されるアルゴリズムにより、１つ以上のオブジェクトをクライアントに配信するのに最も適しているエッジ・サーバの選択を含むのが好ましい。例えば、最善または最適のエッジ・サーバの決定は、候補エッジ・サーバで利用可能である要求されたオブジェクトのコピーされた可能性、候補エッジ・サーバとクライアントとの間のバンド幅、最善のリピータ・セレクタ（例えば、米国特許番号６、１８５、５９８号に記載）、および／または様々な他の基準に基づいて実行され得る。
【００１７】
選択された最善または最適のエッジ・サーバ１３０は、エッジ・サーバがすでに要求されたオブジェクトを有するかどうかを決定し（３０５）、そうであれば、要求しているクライアント１４０にオブジェクトを提供する（２０５、３１０）。例えば、選択されたエッジ・サーバ１３０は、そのストレージをチェックして要求されたオブジェクトが利用可能であるかどうかを決定し、そうであれば、要求しているクライアント１４０にオブジェクトを提供し得る。
【００１８】
選択されたエッジ・サーバが要求されたオブジェクトを有しない場合、要求されたオブジェクトが人気を有するかどうかを決定するためにエッジ・サーバをチェックし（３１５）、そうであれば、人気を有する要求されたオブジェクトをエッジ・サーバに複写する。実施形態において、要求されたオブジェクトが人気を有するかどうかを決定し、そうであれば、人気を有する要求されたオブジェクトをエッジ・サーバに複写するために、図３（ｂ）に示し、かつ詳細に後述する方法が用いられる。
【００１９】
実施形態において、要求されたオブジェクトが人気を有するかどうかのチェックと、人気を有するオブジェクトのエッジ・サーバへの複製は、要求されたオブジェトをサーバが有しているかどうかのチェック、サーバが要求されたオブジェクトを有する場合に要求されたオブジェクトのクライアントへの配信、また要求されたオブジェクトを有する別のサーバに対してクライアントのリダイレクト（そして要求されたオブジェクトのクライアントへの配信）と言った様な管理対象オブジェクトの複製および配信の１つ以上の機能から独立して行なわれて良い。従って、実施形態において、要求されたオブジェクトが人気を有するかどうかをチェックし、人気を有するオブジェクトをエッジ・サーバに複写するのは、サーバが要求されたオブジェクトを有するかどうかをチェックし、サーバが要求されたオブジェクトを有すると要求されたオブジェクトをクライアントに提供し、そうでない場合、クライアントの要求を要求されたオブジェクトを有するサーバにリダイレクトする（そして、要求されたオブジェクトをクライアントに提供する）ように、管理対象オブジェクトの複写および配信方法の特定の機能の実行と並行してまたはその前に実行され得る。要求されたオブジェクトのチェック、リダイレクトおよび提供が失敗した場合、要求されたオブジェクトが人気を有するかどうかをチェックし、人気を有するオブジェクトをエッジ・サーバに複写することで、エッジ・サーバからクライアントへのオブジェクトの相次ぐ配信が処理され得る。同様に、要求されたオブジェクトが人気を有するかどうかをチェックし、人気を有するオブジェクトのエッジ・サーバへの複写が失敗した場合、要求されたオブジェクトのチェック、リダイレクトおよび提供によって、ネットワーク内のサーバからのオブジェクトの相次ぐ配信が処理され得る。
【００２０】
更に、選択されたエッジ・サーバが要求されたオブジェクトを有しない場合、選択されたエッジ・サーバは、要求しているクライアント１４０を親サーバ１２０に導く（２１０、３２０）。クライアント１４０の要求は、要求されたオブジェクトを有し、要求されたオブジェクトをクライアントに提供（２１５、３４５）し得る親サーバにリダイレクトされる事が好ましい。親サーバが要求されたオブジェクトを有しない場合（３２５）、要求されたオブジェクトが人気を有するかどうかを決定し、そうであれば人気を有する要求されたオブジェクトを親サーバに複写するためのチェックが親サーバに対して開始される（３３０）。実施形態において、図３（ｂ）に示しており、詳細に後述する方法が、要求されたオブジェクトが人気を有するかどうかを決定し、そうであれば、人気を有する要求されたオブジェクトを親サーバに複写するように採用される。エッジ・サーバに対するチェックと同様に、実施形態において、要求されたオブジェクトが人気を有するかどうかをチェックし、人気を有する要求されたオブジェクトを親サーバに複写するのは、サーバが要求されたオブジェクトを有するかどうかをチェックし、サーバが要求されたオブジェクトを有すると要求されたオブジェクトをクライアントに提供し、そうでない場合、クライアントの要求を要求されたオブジェクトを有するサーバにリダイレクトする（そして、要求されたオブジェクトをクライアントに提供する。）ように、管理対象オブジェクトの複写および配信方法の１つ以上の機能とは無関係に実行される。従って、実施形態において、要求されたオブジェクトが人気を有するかどうかをチェックし、人気を有するオブジェクトを親サーバに複写するのは、サーバが要求されたオブジェクトを有するかどうかをチェックし、サーバが要求されたオブジェクトを有すると要求されたオブジェクトをクライアントに提供し、そうでない場合、クライアントの要求を要求されたオブジェクトを有するサーバにリダイレクトする（そして、要求されたオブジェクトをクライアントに提供する。）ように、管理対象オブジェクトの複写および配信方法の１つ以上の機能と並行してまたはその前に実行され得る。
【００２１】
更に、親サーバが要求されたオブジェクトを有しない場合、親サーバは、要求されたオブジェクトを有する最終的な親サーバに達するまで、それ自身がリダイレクト技術を再帰的に使用し得る（３２５、３３５、３２０）。要求されたオブジェクトを有する親サーバは、オブジェクトをクライアントに提供する（２１５、３４５）。オブジェクトが（全ての親サーバから）利用可能でないと決定される場合（３３５）、要求されたオブジェクトの入手不能に関するエラーメッセージが返される（３４０）。
【００２２】
当業者に公知であるように、多数の方法が、オブジェクトを要求するのに用いるプロトコルに従い、クライアントの要求を他の親サーバにリダイレクトするのに利用可能である。取り扱いを行なうエッジ・サーバは、クライアントの要求がリダイレクトすべき親サーバについての情報をデータベースから要求し得る。ある実施例において、エッジ・サーバは、ネットワークの１つ以上のサーバからのリダイレクト・データのプッシュによって占有されるローカル・データベースを有し得る。また、エッジ・サーバは、クライアントの要求が導かれ得る１つ以上の親サーバを識別するためにネットワークの１つ以上のサーバに単に質問し得る。１つ以上の親サーバが応答する場合、エッジ・サーバは、最初に質問に応答する親サーバにクライアントの要求をリダイレクトするか、位置的にネットワークのエッジ・サーバに最も近い親サーバにクライアントの要求をリダイレクトするか、ネットワークの効率、バンド幅の必要条件および／またはコストのような基準に基づいて最善または最適の候補を表示する親サーバにクライアントの要求をリダイレクトし得る。もう１つの方法として、エッジ・サーバは、常にデフォルトの親サーバへ行くことも可能である。または、エッジ・サーバに関して説明したように、上述した技術のいずれかを使用して最善または最適の親サーバを決定し得る。リダイレクトは、単に要求を親サーバに送り出すか、または親サーバにアクセスするためのリダイレクト情報をクライアントに返還することによって実行され得る。当業者に公知であるように、多数の実現方法が、リダイレクト情報を取り扱いを行なうエッジ・サーバに提供するのに用い得る。
【００２３】
他の実施形態においては、親サーバの全てがオブジェクトの全てを有さず、ネットワークが要求されたオブジェクトの起点サーバにアクセスすべき場合、要求されたオブジェクトが親サーバで利用可能でない場合、クライアントの要求は、起点サーバに導かれ得る（２２５、３２０）。起点サーバが要求されたオブジェクトを有する場合（３２５）、起点サーバは、オブジェクトをクライアントに直接提供する（図１に図示せず）（２３０、３４５）。一方、オブジェクトが利用可能でない場合（３３５）、要求されたオブジェクトの入手不能に関するエラーメッセージが返される（３４０）。
【００２４】
図３（ｂ）を参照して、要求されたオブジェクトが人気を有するが、エッジおよび／または親サーバが該オブジェクトのコピーを有しないとエッジおよび／または親サーバが決定する場合（３５０）、エッジおよび／または親サーバは、エッジおよび／または親サーバに対してオブジェクトの格納を開始する。従って、例えば、要求されたオブジェクトが人気を有するが、エッジ・サーバが要求されたオブジェクトのコピーを有しないとエッジ・サーバが決定する場合（３５０）、エッジ・サーバは、要求されたオブジェクトを有する親サーバからエッジ・サーバへの人気を有する要求されたオブジェクトの複写（２２０、３６０）を開始する。同様に、例えば、要求されたオブジェクトが人気を有するが、親サーバが要求されたオブジェクトのコピーを有しないと親サーバ１２０が決定する場合（３５０）、親サーバは、要求されたオブジェクトを有する起点サーバから親サーバへの人気を有する要求されたオブジェクトの複写（２４０、３６０）を開始する。あるいは、親および／または起点サーバは、オブジェクトに対する人気度の判定またはオブジェクトの人気度についてのデータのようなオブジェクトの人気度に関する情報を１つ以上のエッジおよび／または親サーバから受信し、人気を有するオブジェクトをエッジおよび／または親サーバにプッシュし得る。従って、例えば、要求されたオブジェクトがエッジ・サーバで人気を有するが、エッジ・サーバが要求されたオブジェクトのコピーを有しないと親サーバが決定する場合（３５０）、親サーバは、親サーバからエッジ・サーバへの人気を有する要求されたオブジェクトの複写（２２０、３６０）を開始し得る。同様に、例えば、要求されたオブジェクトが親サーバで人気を有するが、親サーバが要求されたオブジェクトのコピーを有しないと起点サーバが決定する場合（３５０）、起点サーバは、起点サーバから親サーバへの人気を有する要求されたオブジェクトの複写（２４０、３６０）を開始する。
【００２５】
一部の実施形態においては、親サーバのいずれも要求されたオブジェクトを有しない場合、エッジ・サーバは、要求されたオブジェクトを有する起点サーバ（ネットワークが起点サーバにアクセスする場合）からエッジ・サーバへの人気を有する要求されたオブジェクトの複写（２３５、３６０）を開始する。いずれの場合においても、オブジェクトが完全にそれぞれのサーバへコピーされるまで、複写されたオブジェクトが提供されないか、更に複写されないのが好ましい。状況の応じて、このような複写は、起点サーバとのトラフィックの低減を容易にするために親サーバ自身によっておよび親サーバ間に利用され得る。更に、エッジおよび／または親サーバが人気を有する要求されたオブジェクトのための十分なスペースを有しない場合、１つ以上のオブジェクトが、エッジおよび／または親サーバから削除されて（３５５）、人気を有するオブジェクト用のスペースを作り得る。実施形態において、図３（ｃ）に示しており、詳細に後述する方法は、エッジおよび／または親サーバの任意のオブジェクトの人気が低下したかを決定し、そうであれば人気が低下したオブジェクトをエッジおよび／または親サーバから削除するように採用される。また、当業者に公知であるように、オブジェクトが人気を有すると決定したエッジおよび／または親サーバ以外のサーバは、例えば、取り扱いを行なうエッジおよび／または親サーバが提供する人気度情報を使用することによりオブジェクトが人気を有するかどうかの実際の判定を実行し得る。人気度の決定により、オブジェクトが人気を有すると決定したエッジおよび／または親サーバへのオブジェクトの複写（例えば、プッシュまたはプル）を開始し得る。
【００２６】
図３（ｃ）を参照して、サーバのストレージ内のオブジェクトの人気が低下した場合（３６５）、サーバは、ストレージからオブジェクトを削除し得る（３７０）。例えば、エッジ・サーバは、人気が低下した任意のオブジェクトをエッジ・サーバのストレージから削除し得る（２４５、３７０）。同様に、親サーバは、人気が低下した任意のオブジェクトを親サーバのストレージから削除し得る（２５０、３７０）。当業者に公知であるように、サーバのストレージの任意のオブジェクトの人気が低下したかを決定し、そうであれば、サーバのストレージからの人気が低下したオブジェクトの削除は、管理対象オブジェクトの複写および配信方法の１つ以上の機能と独立的に、例えば、並行してまたはその前に実行され得る。実施形態において、人気が低下したオブジェクトは、エッジ・サーバから、更に人気が低下したオブジェクトが起点サーバに格納されていれば、親サーバから削除される。
【００２７】
人気度の決定について説明する。多くの技術がオブジェクトの人気度の決定に用い得る。人気度の決定は、リクエストの数に基づき得る。また、人気度は、リクエスト・レートに基づき得る。人気を有するオブジェクトは、一般的に人気のないオブジェクトより高いリクエスト・レートまたは高い数のリクエストを有する。人気度は、オブジェクトに対するリクエスト時間の最後のＸ回を追跡することによって測定され得、現在時刻およびこれらのリクエスト時間間の差を使用してオブジェクトがどれくらい要求されるかの平均値を算出し得る。また、人気度の決定は、オブジェクトに対するより最近のリクエストに重みが付けられるオブジェクトに対するリクエスト・レート（オブジェクトが再び要求される予測値）によって測定され得る。指数関数的減衰方法および人工の神経回路網が、オブジェクトの人気度の決定に用い得る。
【００２８】
図４を参照して、人気度計算の一部の実施形態によれば、オブジェクトの人気度は、オブジェクトのリクエスト・レートに基づき、スライディング・タイム・ウィンドウ上において離散的な方法で計算される。これらの実施形態において、変数Ｉは、オブジェクトの人気度が測定される時間間隔を意味する。時間間隔は、Ｎで割られて持続時間の副間隔のＩ／Ｎとなる。明らかなように、時間間隔は、均等に分割される必要は無く、他の方法で分割されても良い。
【００２９】
サイズＮのリンクリストＰは、各々のオブジェクトに対して作成される。Ｎの値は、近似の品質を決定する。より小さいＮの値、近似の品質をより粗くする。一部の実施形態において、Ｎの値は、５に設定される。
【００３０】
リストの第１の要素Ｐ［１］は、現在時刻が最初の副間隔の範囲内であるときに到着したリクエストの数を記録し、第２の要素Ｐ［２］は、現在時刻が第２の間隔の範囲内であるときに到着したリクエストの数を記録する。新規な副間隔が到着するとき、リストは、Ｐ［１］となるＰ［Ｉ］を除いてＰ［Ｉ］がＰ［Ｉ＋１］になるように交代される。例えば、Ｐ［１］はＰ［２］になり、Ｐ［２］はＰ［３］になり、Ｐ［Ｎ］はＰ［１］になる。交代の後、新しいＰ［１］は、ゼロに再設定される。従って、最初の副間隔の終了時間のみが、リストが交代すべきかを調べるための現在時刻に対して比較および記録されることを必要とする。副間隔内の各々の新規なリクエストに対して、Ｐ［１］は単に１ほど増分される。よって、各々のリクエストの到着時間は、記録される必要がない。
【００３１】
好ましい実施形態において、オブジェクトの人気度は、単にリストの全ての数字の合計である。より効率的な計算のために、Ｐ［２］＋Ｐ［３］＋…＋Ｐ［Ｎ］の合計がレジスタＭに格納される。人気度は、Ｐ［１］をＭに加えて計算され得る。交代が発生すると、Ｍの新規な値は、Ｍ＋＝Ｐ［１］−Ｐ［Ｎ］となる。オブジェクトの人気度は、常に要求され得る。よって、この種の各々の照会に含まれる余分の加算を避けるために、Ｐ［１］の値は、交代の後、Ｍに設定され得る。そうすると、Ｐ［１］の値は、オブジェクトの人気度である。
【００３２】
人気度の計算アルゴリズムは、次のように要約され得る。オブジェクトに対するサイズＮのリンクリストＰは、初期化される（４００）。ここで、各々のＰ［１］…Ｐ［Ｎ］は、副時間間隔を表す。また、人気度Ｍが初期化される（４１０）。現在時刻が現在の副時間間隔内にある間に、オブジェクトに対するリクエストがある場合（４２０）、Ｐ［１］の値は、１ほど増分される（４３０）。現在時刻が新規な副時間間隔内にある場合（４４０）、Ｐ［１］の値はＭの値ほど減少され、Ｍ＋＝Ｐ［１］−Ｐ［Ｎ］、リストＰは交代し、Ｐ［１］はＭの値に設定される（４５０）。その後、人気度の計算が継続されると（４６０）、例えば、人気度の計算が終了されなければ、人気度の計算アルゴリズムは繰り返される。
【００３３】
複写の開始について説明する。更に、多くの技術が、オブジェクトの複写を開始するのに用い得る。エッジ・サーバおよび／または親サーバは、クライアントの最初のオブジェクト・リクエストに対してオブジェクトを複写し得る。あるいは、エッジ・サーバおよび／または親サーバがオブジェクトに対する特定の数または範囲のリクエストを受信するまで、エッジ・サーバおよび／または親サーバを待たせるように調整され得る。他の実施態様において、オブジェクトがストレージで現在最も人気の少ないオブジェクトより人気を有する（例えば、高いリクエスト・レート）場合には、オブジェクトを格納し得る。更に、もう１つの方法として、複写の決定は、オブジェクトの人気度、オブジェクトを格納するコスト、オブジェクトをネットワークから格納するコスト、および他の関連したコスト要因の関数でありえる。しかし、オブジェクトの人気度は、時間とともに相当変化し得る。単に固定された閾値に基づいてオブジェクトの格納決定を開始することは、人気度のこのダイナミック性を反映しない。
【００３４】
複写されたオブジェクトの最少の人気度と比較する複写方策は、固定された閾値を使用しないにもかかわらず、限界を有する。ストレージが半分のみ満たされているが、全ての複写されたオブジェクトが極めて人気があると考慮する。複写されたオブジェクトのうち、最少の人気度のオブジェクトを上回るオブジェクトのみがこの複写方法で複写されるので、適度な人気度のオブジェクトは、利用可能な多くの格納空間があり、オブジェクトが相当に人気があるというにもかかわらず拒絶される。
【００３５】
従って、複写スキームは、人気度のダイナミック性およびストレージの充満度を考慮して複写閾値を自動的に調整し得なければならない。格納容量より人気を有するオブジェクトが多い場合、複写スキームは、閾値を上げなければならない。より多い有効な格納容量のある場合、複写スキームは、より多くのオブジェクトが格納され得るように閾値を減少させなければならない。
【００３６】
図５を参照して、複写スキームの実施形態によれば、オブジェクトの人気度Ｐが最初の閾値ＰＩより大きくて（５００）、オブジェクトの複写に十分なスペースがストレージに存在する（５１０）場合、オブジェクトは、ストレージ内に複写される（５２０）。要求されたオブジェクトを複写するのに十分なストレージがない場合、オブジェクトの人気度Ｐがストレージにおいて最も人気の少ないオブジェクトの人気度ＰＬと比較される（５３０）リプレイスメント・アルゴリズムが実行される。ＰがＰＬより大きければ、現在の最も低い人気度のオブジェクトが格納空間の確保のためにストレージから削除され（５４０）、次の最も低い人気度のオブジェクトが識別され（５４０）、最も低い人気度の値が更新され（５５０）、要求されたオブジェクトを格納するのに十分なストレージ空間がないかをチェックすることにより新たな繰り返しが開始される（５１０）。格納空間確保のための繰り返しは、（１）要求されたオブジェクトの収容に十分な格納空間が確保されるか、（２）要求されたオブジェクトがストレージにおいて最も低い人気度のオブジェクトより人気度が低い時、終了する。実施形態において、最も低い人気度のオブジェクトは、エッジ・サーバから削除され、最も低い人気度のオブジェクトのコピーを有する起点サーバがある場合は、親サーバから削除される。最も低い人気度のオブジェクトのコピーを有する起点サーバが存在しない場合、最も低い人気度のオブジェクトは、ネットワーク内に最も低い人気度のオブジェクトを保存するために親サーバから削除されない。
【００３７】
削除について説明する。一部の実施形態において、管理対象オブジェクトの複写および配信方法およびシステムは、オブジェクトが最後に要求された時間を記録する。削除スキームは、例えば、正規の時間間隔基準によりまたは人気を有するオブジェクトがエッジおよび／または親サーバに複写されるがエッジおよび／または親サーバに十分な空間がない場合に、サーバのストレージを整理するように起動される。図６を参照して、削除スキームにおいては、全ての新しくないオブジェクトがストレージから削除され（６００）、残留するオブジェクトが人気度に基づいてソートされ（６１０）、ＰＬおよびＰＩの新規な値が決定される（６２０、６３０）。オブジェクトが最後に要求されてから以降の期間が所定の値より大きい場合、オブジェクトは新しくなくなる。所定の値は、一般的に調整可能な係数によって掛けられる人気度を測定するのに用いるスライディング・ウィンドウの持続期間にセットされる。当業者に公知であるように、該値は変化し得、他の旧来のアルゴリズムが実際には使われ得る。削除後、ストレージにおいて最も人気の低いオブジェクトの人気度が新規なＰＬとして割り当てられる。新規なＰＩは、ソートされた人気度を用いて決定され、より人気を有するオブジェクトが先に複写される場合、ストレージに格納され得る最後のオブジェクトの人気度にセットされる。一般に、ＰＬはＰＩ以上でなければならない。そうでない場合には、ＰＬの値は、新規のＰＩとなるように割り当てられる。一部の実施形態において、削除プロセスは、マルチスレッド・システムの別々のスレッドとして実行される。実施形態において、新しくなくなったオブジェクトは、エッジ・サーバから削除され、新しくないオブジェクトのコピーを有する起点サーバがある場合には、親サーバから削除される。新しくないオブジェクトのコピーを有する起点サーバが存在しない場合、新しくないオブジェクトは、ネットワークにおいて新しくないオブジェクトのコピーを保つために親サーバから削除されない。
【００３８】
システムが始まるとき、利用可能な人気度のデータがまだない場合は、ＰＬおよびＰＩの初期値は、ゼロにセットされ得る。これにより、複写スキームは、最初のリクエストに対してオブジェクトを格納するが、定期的に実行される削除スキームは、自動的にＰＬおよびＰＩの値を調整する。又、ＰＬおよびＰＩの初期値は、他の値にセットされ得る。実際、ＰＬおよびＰＩの初期値は、ストレージのコスト、フェッチするコスト、および異なるサーバからの配信のコスト差を考慮して決定され得る。どんな場合でも、システムは、最小のＰＬおよびＰＩのスペックを許す。計算されたＰＬおよびＰＩが最小のスペックより小さい場合、ＰＬおよびＰＩは、最小のスペックにセットされる。
【００３９】
一部の実施形態において、ストリーム・シニングおよび他の品質問題を避けるかまたは最小化するために、ストレージフィルは、データ配信から分離される。このような方法で、ストレージの多数のセット間のデータ転送は、より遅い接続を許容し得、オブジェクトがストレージ内に完全に存在しない限り、サーバは、オブジェクトを決してストリームしない。当業者に公知であるように、ストレージに十分なデータがある時にオブジェクトのストリームを開始するのが可能であり、その複写がオブジェクトを提供する前に完了される必要はない。更に、ストレージフィルは、別々の場所へコピーした後、データの完成時、複写されたデータを提供可能な場所へ移動することにより組織化され得る。
【００４０】
更に、オブジェクトが起点サーバで変更される場合、１つ以上の親サーバおよび／または１つ以上のエッジ・サーバにおいてオブジェクトを削除するようなメッセージを送信する必要があり得る。同様に、オブジェクトが親サーバで変更される場合、１つ以上のエッジ・サーバにおいてオブジェクトを削除するようなメッセージを送信する必要があり得る。いずれの場合においても、削除されたオブジェクトに対する今後の要求は、要求されたオブジェクトがエッジ・サーバおよび／または親サーバで利用可能でない通常の場合として取り扱われる。
【００４１】
ハードウェアおよびソフトウェアについて説明する。本発明の実施形態において、図１および７を参照して、管理対象オブジェクトの複写および配信システムは、親サーバとして指定されるネットワークの１つ以上のサーバとエッジ・サーバとして指定されるネットワークの１つ以上のサーバとを備える。一部の実施形態において、図１を参照して、親サーバ１２０は、大きい記憶容量（約５テラバイト（ＴＢ））を有し、エッジ・サーバ１３０は、小さい記憶空間（１ＴＢから５００ＧＢの範囲）を有する。管理対象オブジェクトの複写および配信方法を実現するための１つ以上のリダイレクタは、各々のエッジ・サーバ・クラスタ上に取り付けられる。一部の実施形態において、１つ以上のオブジェクトは、起点サーバから１つ以上の親サーバに複写され、それから必要に応じて親サーバからエッジ・サーバに格納される。他の実施形態においては、１つ以上のオブジェクトは、必要に応じて起点サーバから１つ以上のエッジ・サーバおよび／または１つ以上の親サーバに複写される。
【００４２】
一部の実施形態において、データ転送方式７００、７１０は、親サーバおよびエッジ・サーバ間でデータを転送するように実行される。データ転送方式は、通信プライバシーを保証するために、トランスポート層セキュリティ（ＴＬＳ）プロトコル（ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）ＲＦＣ２２４６に開示し、「ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２２４６．ｔｘｔ」に存在し、本願明細書に参照によって組み込まれる）をサポートする。更に、管理対象オブジェクトの複写および配信方法の実施例は、要求されたオブジェクトのストリーミングのためのフォーマットとして３つの人気を有するオブジェクトフォーマット、即ちアップルコンピュータ社のＱｕｉｃｋＴｉｍｅ（登録商標）、リアルネットワークス社のＲｅａｌ（登録商標）、およびマイクロソフト社のＷｉｎｄｏｗｓＭｅｄｉａ（登録商標）をサポートする。当業者に公知であるように、多くの他のプロトコルおよびオブジェクトフォーマットが使われ得る。
【００４３】
更に、一部の実施形態において、多くのソフトウェア・構成要素が使用されて管理対象オブジェクトの複写および配信方法を促進する。第１の構成要素は、ウィンドウズ・メディア・プレーヤからの要求を処理し、ウィンドウズ・メディア・オブジェクトに対する要求のリダイレクトを実行するマイクロソフト・ウィンドウズ・ＮＴオペレーティングシステム上において実行されるサービスであるウィンドウズ・メディア・リダイレクタ７２０、７６０である。ウィンドウズ・メディア・リダイレクタは、エッジ・サーバおよび親サーバに提供される。現在、ＭＭＳ（Ｍｉｃｒｏｓｏｆｔ  Ｍｅｄｉａ  Ｓｅｒｖｅｒ）プロトコルが、ウィンドウズ・メディア・オブジェクトのストリーミングに使用されるが、当該プロトコルは、リダイレクトをサポートしない。ウィンドウズ・メディア・オブジェクトのストリーミングのためのリダイレクトを提供するために、ＵＲＩ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ）ハイパーリンクは、ウィンドウズ・メディア・オブジェクトのストリーミングのためのカスタマのサイトにおいて修正される。一般に使用するＵＲＩは、以下のフォーム（「ティー・ベルナー・リー（Ｔ．Ｂｅｒｎｅｒｓ−Ｌｅｅ）等著、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ（ＵＲＬ）、ＩＥＴＦ  ＲＦＣ２３９６、１９９８年８月」に詳細に定義され、「ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２３９６．ｔｘｔ」に位置し、本願明細書に参照により組み込まれる）、即ち「ｓｃｈｅｍｅ：／／ｈｏｓｔ［ｐｏｒｔ］／ｕｒｉ−ｐａｔｈ」を有する。ここで、「ｓｃｈｅｍｅ」は、ウェブ・サーバ上のオブジェクトに対する「ｈｔｔｐ」（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ−ＨＴＴＰ／１．１，ＩＥＴＦ  ＲＦＣ２６１６に定義され、「ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２６１６．ｔｘｔ」に位置し、本願明細書に参照により組み込まれる）、またはストリーミング・サーバ上のオブジェクトに対する「ｒｔｓｐ」（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ（ＲＴＳＰ），ＩＥＴＦ  ＲＦＣ２３２６に定義され、「ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２３２６．ｔｘｔ」に位置し、本願明細書に参照により組み込まれる）のようなシンボルであり得る。また、他のスキームが使われ得、新しいスキームが将来追加され得る。ポート番号の「ポート」は任意であるが、いずれも提供されない場合は、システムがデフォルトのポート番号を（スキームによって）置換する。「ホスト」欄は、特定のコンピュータ用の特定のネットワークアドレスに対応する。「ｕｒｉ−経路」は、「ホスト」欄において特定されるコンピュータと関連する。ｕｒｉ−経路は、一般にメディア・サーバ・ディレクトリのファイルの経路名であるが、必ずしもそうでない。好ましい実施形態において、ＨＴＴＰプロトコルは、ウィンドウズ・メディア・オブジェクトのリダイレクトを実行するのに用いる。従って、ウィンドウズ・メディア・オブジェクトのＵＲＩの「スキーム」欄は、「ｍｍｓ」から「ｈｔｔｐ」に変えられる。例えば、ウィンドウズ・メディアＡＳＦ（Ａｄｖａｎｃｅ��  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ）のサンプル・オブジェクト「ｓａｍｐｌｅ．ａｓｆ」に対するＵＲＩは、「ｈｔｔｐ：／／ｈｏｓｔ／ｐａｔｈ／ｓａｍｐｌｅ．ａｓｆ」の形態の新規なＵＲＩを有する。ウィンドウズ・メディアＡＳＸスクリプトを使用するオブジェクトにおいて、「ｍｅｔａ．ａｓｘ」オブジェクトに対するサンプルＵＲＩは、「ｈｔｔｐ：／／ｈｏｓｔ／？ｗｗｗ．ｃｕｓｔｏｍｅｒ．ｃｏｍ／ｐａｔｈ／ｍｅｔａ．ａｓｘ」の形態であるであろう。ここで、「ｃｕｓｔｏｍｅｒ」は、「ｍｅｔａ．ａｓｘ」のコンテンツ・プロバイダの名前である。「ｍｅｔａ．ａｓｘ」オブジェクト内に含まれる全てのＵＲＩは、変化しないままである。リクエストの「ｈｔｔｐ：／／ｈｏｓｔ／ｐａｔｈ／ｓａｍｐｌｅ．ａｓｆ」を受信するとき、ウィンドウズ・メディア・リダイレクタは、要求されたオブジェクトが局所的にまたは他のサーバ（親または起点）上において利用可能に発見される場合、メッセージの本体において以下の数１のＡＳＸスクリプトにてリクエストに応答する。この例において、「ｓｅｒｖｅｒｎａｍｅ」は、要求しているクライアントに要求されたオブジェクトを提供するメディア・サーバのインターネット・プロトコル（ＩＰ）アドレスであるかまたはアドレスに変わる。要求されたオブジェクトが発見され得ない場合、ウィンドウズ・メディア・リダイレクタは、メッセージの本体において以下の数２のＡＳＸスクリプトにてリクエストに応答する。ここで、「ｒｅｄｉｒｎａｍｅ」は、他のラウンドのリダイレクトをトリガーする親サーバのリダイレクタのＩＰアドレスであるかまたはアドレスに変わる。リダイレクトの最終的なラウンドは、親サーバ（適用可能であれば、起点サーバ）のいずれも要求されたオブジェクトを有しないときに達される。この際、リダイレクト・プロセスは終了され、「発見されない」エラーメッセージがオブジェクトを要求しているクライアントに送信される。ＡＳＸオブジェクトに対するリクエストは、同様に処理される。サンプル・オブジェクトの「ｍｅｔａ．ａｓｘ」に対するリクエストを受信するとき、ウィンドウズ・メディア・リダイレクタは、各々のＵＲＩ内の「ｍｅｔａ．ａｓｘ」によって示されるオブジェクトの可用性をチェックし、よって各オブジェクトのＵＲＩを書き換える。その後、ウィンドウズ・メディア・リダイレクタは、応答のメッセージ本体に書き換えられた「ｍｅｔａ．ａｓｘ」にてリクエストに対する応答を送信する。ＵＲＩの書換えは、下記のようである。要求されたオブジェクト、例えば、「ｆｉｌｅ．ａｓｆ」が局所的にまたは他のサーバにおいて利用可能に発見されると、対応するＵＲＩは、「ｍｍｓ：／／ｓｅｒｖｅｒｎａｍｅ／ｐａｔｈ／ｆｉｌｅ．ａｓｆ」にて書き換えられる。ここで、「ｓｅｒｖｅｒｎａｍｅ」は、要求しているクライアントに要求されたオブジェクトを提供するメディア・サーバのＩＰアドレスであるかまたはアドレスに変わる。「ｆｉｌｅ．ａｓｆ」が発見されないと、対応するＵＲＩは、「ｈｔｔｐ：／／ｒｅｄｉｒｅｃｔｏｒｎａｍｅ／ｐａｔｈ／ｆｉｌｅ．ａｓｆ」にて書き換えられる。ここで、「ｒｅｄｉｒｎａｍｅ」は、親サーバ・リダイレクタのＩＰアド���スであるかまたはアドレスに変わる。
【００４４】
＜ＡＳＸ  ｖｅｒｓｉｏｎ  ＝  “３．０”＞
＜Ｅｎｔｒｙ＞＜Ｒｅｆ  ｈｒｅｆ＝“ｍｍｓ：／／ｓｅｒｖｅｒｎａｍｅ／ｐａｔｈ／ｓａｍｐｌｅ．ａｓｆ”  ／＞＜／Ｅｎｔｒｙ＞
＜／ＡＳＸ＞
【００４５】
＜ＡＳＸ  ｖｅｒｓｉｏｎ  ＝  “３．０”＞
＜Ｅｎｔｒｙ＞＜Ｒｅｆ  ｈｒｅｆ＝“ｈｔｔｐ：／／ｒｅｄｉｒｎａｍｅ／ｐａｔｈ／ｓａｍｐｌｅ．ａｓｆ”  ／＞＜／Ｅｎｔｒｙ＞
＜／ＡＳＸ＞
【００４６】
他の構成要素は、１つ以上のオブジェクトに対するリアルまたはクイック・タイム・プレーヤからのリアルタイム・ストリーミング・プロトコル（ＲＴＳＰ）要求を処理し、リアルおよびクイック・タイム・オブジェクトのための方法のリダイレクトを実行するアプリケーションであるリアル／クイック・タイム・リダイレクタ７３０、７７０である。リアル／クイック・タイム・リダイレクタは、エッジ・サーバおよび親サーバ上に提供される。ＩＥＴＦ  ＲＦＣ２３２６に詳細に説明されるＲＴＳＰは、リアルおよびクイック・タイム・オブジェクトのストリーミングに使用し、このプロトコルにおいてサポートされる「ＲＥＤＩＲＥＣＴ」方法は、リダイレクトを実行するのに用いる。リダイレクトの要求により、他のサーバ地点に再接続しなければならないのがクライアントに知られ、新規なサーバのＵＲＩがクライアントに提供される。
【００４７】
また、最善または最適のサーバ選択メカニズムが提供される（図７に図示せず）。最善または最適のサーバ選択メカニズムは、現在公知である多数のまたは将来開発されるアルゴリズムにより、１つ以上のオブジェクトをクライアントへ配信するのに最も適しているエッジ・サーバの選択を含む。オブジェクトに対するクライアントの要求を扱う最善または最適のエッジ・サーバへのリダイレクトに加えて、最善または最適のサーバ・メカニズムは、要求されたオブジェクトが取り扱いを行なうエッジ・サーバで利用可能でない場合、１つ以上の更なるリダイレクトを１つ以上の親サーバにトリガーするのに適用され得る。このような動作の実現において、要求されたオブジェクトに対するＵＲＩのホスト名の一部は修正される。例えば、リンク「ｈｔｔｐ：／／ｃｕｓｔｏｍｅｒ−ｗｍ．ｆｐｏｎｄｅｍａｎｄ．ｎｅｔ／ｃｕｓｔｏｍｅｒ／ｓａｍｐｌｅ．ａｓｆ」において、「ｃｕｓｔｏｍｅｒ−ｗｍ．ｆｐｏｎｄｅｍａｎｄ．ｎｅｔ」は、親サーバのみに対して最善または最適のサーバ選択の更なるラウンドを経験させる「ｐａｒｅｎｔ−ｗｍ．ｆｐｏｎｄｅｍａｎｄ．ｎｅｔ」に変更され得る。このような実施形態において、最善または最適の親サーバを選択するために、親‐エッジ・サーバ・トポロジが定められ、最善または最適のサーバ選択メカニズムは、この種のトポロジの関係を定めている親サーバ・テーブルを提供される。一部の実施形態において、最善または最適のサーバ選択メカニズムは、米国特許第６１８５５９８号明細書に記載されている最良のリピータ・セレクタと類似している。
【００４８】
また、ファイル複写管理者アプリケーション７４０、７５０は、ストレージに対するオブジェクトの複写および削除を管理し、エッジ・サーバ・ストレージへの複写のためにオブジェクトを親サーバから検索し、必要に応じてストレージのクリーンアップを実行するように提供される。ファイル複写管理者は、エッジ・サーバおよび親サーバ上に提供される。一部の実施形態において、ファイル複写管理者アプリケーションは、データ転送方式を使用し、ストレージにおいて利用可能であれば、それらのリダイレクタによって要求されるオブジェクトを提供するようにウィンドウズ・メディアおよびリアル／クイック・タイム・リダイレクタと連絡する。
【００４９】
一部の実施形態において、ウィンドウズ・メディアまたはリアル／クイック・タイム・リダイレクタとファイル複写管理者との間、およびファイル複写管理者間で伝達されるメッセージは、ユーザー・データグラム・プロトコル（ＵＤＰ）を利用してカプセル化する。これによって、アドレス処理および配信がＵＤＰによって処理されて速い通信を容易にする。ＵＤＰが配信を保証しないので、メッセージヘッダは、応答が前の問合せでなくて現在の問合せに対するのを確認するのに用いるメッセージ番号を含む。また、ＭＤ５（例えば、リベストアル．（Ｒｉｖｅｓｔ，Ｒ．）著、「Ｔｈｅ  ＭＤ５  Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ」、ＩＥＴＦ  ＲＦＣ１３２１、１９９２年４月を参照する）は、基本保安レベルを提供するようにサポートされる。ＭＤ５ハッシュは、管理対象オブジェクトの複写および配信システムの構成要素によってのみ共有されるメッセージ番号、メッセージ、および秘密経路フレーズに対してＭＤ５ハッシュ・アルゴリズムを実行することによって生成される。メッセージが受信されるときに、メッセージ番号、メッセージ、および秘密経路フレーズのＭＤ５ハッシュは、メッセージに提供されるＭＤ５ハッシュに対して計算および比較される。これらの２つのＭＤ５ハッシュが一致しない場合、メッセージは正当でなく、廃棄される。
【００５０】
当業者に公知であるように、図７は、本発明によるシステムの一部の実施形態のみを示す。本発明の開示によるシステムを実現する多くの変形が可能であり、本発明の範囲内に属する。
【００５１】
チャンキングについて説明する。上記の方法およびシステムの拡張により、チャンキングが提供される。ログデータの研究は、人気を有するオブジェクトでさえ、該オブジェクトが完全に提供される前にこのようなオブジェクトに対する要求のパーセンテージが低下する。この種類のオブジェクトの用途を開発し、更にネットワークのパフォーマンスを強化するために、オブジェクトをチャンクに分割し得、オブジェクトの最初のチャンクを複写スキームの優先処理に与え得る。例えば、オブジェクトの最初のチャンクのみが複写許容決定時に複写され、オブジェクトの残りのチャンクは、オブジェクトの最初のチャンクの特定の量または数（例えば、９０％）が提供される前に、クライアントが出て行かない場合にのみストレージに格納される。オブジェクトの最初のチャンクは、オブジェクトが人気のない場合でも、ストレージに残され得る。このようにストリームを分割することによって、オブジェクト・ストリームの大部分が親サーバまたは起点サーバからフェッチされなければならない場合であっても、オブジェクトの最初の部分は、素早くエッジ・サーバから提供され得る。
【００５２】
オブジェクトの保持および陳腐化について説明する。状況に応じて、オブジェクトの一部または全てが、エッジ・サーバ・ストレージに永久に保持されるか、または割当てに従って保持され得る。同様に、ストレージのフィリングおよび削除用の設定可能なまたは自動的に調節可能な閾値が提供され得る。
【００５３】
また、エッジ・サーバは、サーバのストレージ内の要求されたオブジェクトが新しいかどうかを決定し、オブジェクトが新しい場合のみ要求されたオブジェクトを提供するように構成され得る。一部の実施形態においては、要求されたオブジェクトが新しいかどうかを決定するのを容易にするために、最大ストレージ・エイジおよびストレージ割当てのリストを示すファイルが維持される。新しくないオブジェクトに対するリクエストが受信されると、要求されたオブジェクトを提供するために親サーバまたは起点サーバへのリダイレクトが開始され、要求されたオブジェクトが人気を有する場合は、ストレージリフレッシュが実行される。
【００５４】
ピアについて説明する。エッジ・サーバ・ストレージにオブジェクトを満たすのは、関連した親サーバまたは起点サーバの代わりに他のピア・エッジ・サーバによって提供され得る。人気を有するオブジェクトがすでに複写されている場合、当該オブジェクトに対する新たなエッジ・サーバ・リクエストをピア・エッジ・サーバのうち１つのサーバから満たすのは、親サーバまたは起点サーバより効率的であり得る。一般的に親サーバおよび起点サーバより多くのエッジ・サーバがあるので、ネットワーク距離の観点からピア・エッジ・サーバが関連した親サーバまたは起点サーバより近いという可能性がある。さらに、このようなピア・エッジ・サーバのストレージフィルは、親サーバまたは起点サーバに対する負担を少なくすることができる。
【００５５】
本詳細な説明は、コンピュータまたはコンピュータのネットワーク上において実行されるプログラム・プロシージャによって示されてきた。これらの手続的記述および表現は、当業者が他の当業者にそれらの作業の実体を最も効果的に譲渡するのに使用される手段である。本発明の実施形態は、当業者に明らかな様に、ハードウェアまたはソフトウェア、あるいはそれらの任意の組合せによって実行され得る。本発明を実現するのに用いる実際のソフトウェア・コードまたはハードウェアは本発明を制限しない。従って、実施形態の操作および動作は、実際のソフトウェア・コードまたはハードウェア構成要素に対する特定の指定なしで記載される。通常の熟練した当業者が合理的な努力のみによって、そして、過度の実験なしで本願明細書の説明に基づく本発明の実施形態を実行するソフトウェアおよびハードウェアを設計することが可能であるので、このような特定の参照の省略が可能となる。
【００５６】
プロシージャは本願明細書に記載され、および一般に所望の結果を導く首尾一貫した一連の操作であると一般に理解される。これらの操作は、物理量の物理的な操作を含む。通常、必然的ではないが、これらの物理量は、格納、伝達、結合、比較、および操作され得る電気または磁気信号の形態をとる。これらの信号をビット、値、要素、シンボル、文字、期間、数字、オブジェクト、属性等と称するのが一般的な用法の理由で、便利な場合がある。しかし、これらおよび同類項の全てが適当な物理量と対応され、これらの物理量に適用される単なる便利なラベルであると言う事に注意しなければならない。
【００５７】
更に、実行される操作は、ヒューマンオペレータによって実行される知的操作に通常対応する加算または比較のような用語で示される。ヒューマンオペレータのこの種の能力は、本願明細書において記載される本発明の操作の全てにおいて必然的でもないし、ほとんどの場合は所望されない。本願明細書に記載されている本発明の全ての操作は、機械操作である。本発明の操作を実行するのに好適な機械は、汎用デジタルコンピュータ、専用コンピュータまたは同様の装置を含む。
【００５８】
方法の各々の操作は、Ｃ＋＋、Ｐｅｒｌ、Ｊａｖａ（登録商標）、Ｆｏｒｔｒａｎ等のようなプログラミング言語から生成されるプログラムモジュールまたはオブジェクトの１つ以上またはその一部に従って、メインフレームコンピュータ、パーソナルコンピュータ等のような汎用コンピュータにおいて実行され得る。更に、各々操作または各々の操作を実行するファイル、モジュール、オブジェクト等は、特殊目的ハードウェアまたはその目的向けに設計される回路モジュールによって実行され得る。例えば、本発明は、不揮発性ストレージへロードされるファームウエアプログラム、または機械読み取り可能コードとしてデータ記憶媒体へロードされるソフトウェアプログラムとして実行され得る。このようなコードは、プロセッサまたは他のデジタル信号処理装置のような論理素子の配列によって実行可能な命令である。このような処理によって取り扱われるかまたはこのような処理の結果として生成されるデータは、従来技術の如く、任意のメモリに格納され得る。例えば、この種のデータは、所定のコンピュータシステムまたはサブシステムのＲＡＭのような一時記憶装置に格納され得る。加えてまたは択一的に、このようなデータは、長期のストレージ、例えば、磁気ディスク、再書き込み可能な光ディスク等に格納され得る。
【００５９】
本願明細書において示される図は、例示として提供される。本発明の思想から逸脱することなく本願明細書に記載されている図または操作に対する変形があり得る。例えば、特定のケースにおいて、操作は異なる順序に実行され得、または操作は、加算、削除または修正され得る。
【００６０】
本発明の実施形態は、本発明の方法操作を実行するコンピュータ可読のプログラムコード手段を有するコンピュータ使用可能媒体を備える工業製品、本発明の方法操作を実行する機械によって実行される命令のプログラムを実行する機械によって読み込み可能なプログラムストレージ、またはコンピュータ・プログラム製品として実現され得る。このような工業製品、プログラムストレージまたはコンピュータ・プログラム製品は、これに限定されるものではないが、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、ハードディスク、コンピュータシステム・メモリ（例えば、ＲＡＭまたはＲＯＭ）、および／またはプログラムの電子的、磁気的、光学的、生物学的または他の類似した実施形態（コンピュータによって判読、復調／解読および実行され得る命令を伝達するために調節されるか操作される搬送波を含むがこれに限らず）を含み得る。実際、工業製品、プログラムストレージまたはコンピュータ・プログラム製品は、本発明のシステムによる本発明の一部または全ての方法および／またはその構成要素の構造に従って汎用または特殊目的コンピュータの操作を制御する機械によって読み込み可能な信号を格納または伝送するための磁気的、生物学的、光学的等のような任意の固体または流動の伝送媒体を含み得る。
【００６１】
また、本発明の実施形態は、システムで実行され得る。システムは、プロセッサおよびメモリ素子を備え、選択可能に格納装置、ビデオディスプレイのような出力装置および／またはキーボードまたはコンピュータ・マウスのような入力装置を備えるコンピュータを有し得る。さらに、システムは、コンピュータの相互接続型ネットワークを有し得る。コンピュータは、同様に、スタンドアロン型（例えば従来のデスクトップ・パーソナルコンピュータ）または他の装置（例えばセル式電話）に統合され得る。
【００６２】
システムは、要求された目的を実行するように特別に構成され得、例えば、本発明またはシステムの方法は、コンピュータに格納されたコンピュータ・プログラムによって本願明細書の開示に従って選択的に起動または再構成される１つ以上の汎用コンピュータを備え得る。また、システムは、全体的または部分的にハード・ワイヤード回路としてまたは特定用途向け集積回路に製造される回路構成として実現され得る。本願明細書において示される本発明は、本質的に特定のコンピュータシステムまたは他の装置との関連がない。これらの様々なシステムの必要構成は、与えられた説明から現れる。
【００６３】
本発明は、限られた数の実施形態に関して記載されたが、本発明の範囲および思想から逸脱することなく、本願明細書に開示される一般的な原理による他の実施形態、開示されている実施形態及に対する修正、および構成の詳細、部品配置、組成、プロセス、構造および材料選択に対する変更が可能であることを当業者は認めるであろう。同等な構造、動作、材料等を含む変更も本発明の範囲および思想から逸脱することなく、添付の特許請求の範囲において可能である。従って、上記した実施形態は、本発明の限定としてでは無くむしろ実例として提供され、よって明細書および図面も限定としてでは無くむしろ例示として見做されると理解しなければならない。このように、本発明は、上述した実施形態に限定される事を意図せず、むしろ本願明細書において任意の方法で開示される原理および新規な特徴と合致する最も広い範囲が与えられる事を意図する。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態による管理対象オブジェクトの複写および配信方法およびシステムのトポロジのハイレベルブロック図である。
【図２】本発明の実施形態による管理対象オブジェクトの複写および配信方法のデータフローを例示しているハイレベルブロック図である。
【図３ａ】本発明の実施形態による管理対象オブジェクトの複写および配信方法およびオブジェクトの削除方法のフローチャートである。
【図３ｂ】本発明の実施形態による管理対象オブジェクトの複写および配信方法およびオブジェクトの削除方法のフローチャートである。
【図３ｃ】本発明の実施形態による管理対象オブジェクトの複写および配信方法およびオブジェクトの削除方法のフローチャートである。
【図４】本発明の実施形態による人気度計算のフローチャートである。
【図５】本発明の実施形態による複写スキームのフローチャートである。
【図６】本発明の実施形態による削除キームのフローチャートである。
【図７】本発明の実施形態による管理対象オブジェクトの複写および配信システムのブロック図である。
【図１】
2005534087.tif 000003
【図２】
2005534087.tif 000004
【図３ａ】
2005534087.tif 000005
【図３ｂ】
2005534087.tif 000006
【図３ｃ】
2005534087.tif 000007
【図４】
2005534087.tif 000008
【図５】
2005534087.tif 000009
【図６】
2005534087.tif 000010
【図７】
2005534087.tif 000011
【国際調査報告】
2005534087.tif 000012