JP4410963B2 - Content dynamic mirroring system, - Google Patents
Content dynamic mirroring system, Download PDFInfo
- Publication number
- JP4410963B2 JP4410963B2 JP2001258315A JP2001258315A JP4410963B2 JP 4410963 B2 JP4410963 B2 JP 4410963B2 JP 2001258315 A JP2001258315 A JP 2001258315A JP 2001258315 A JP2001258315 A JP 2001258315A JP 4410963 B2 JP4410963 B2 JP 4410963B2
- Authority
- JP
- Japan
- Prior art keywords
- mirror
- content
- server
- dynamic mirroring
- mirroring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、コンテンツ動的ミラーリングシステムに関し、特にWWW(World Wide Web)コンテンツや動画コンテンツなどの配信用コンテンツを、オリジンサーバや既にコンテンツのミラーリングが行われているミラーサーバの負荷分散を目的として他のミラーサーバにミラーリングするコンテンツ動的ミラーリングシステムに関する。
【0002】
【従来の技術】
従来より、この種のコンテンツ動的ミラーリングシステムは、オリジンサーバの負荷状況に応じて、他のミラーサーバに対して動的にコンテンツのミラーリングを行い、負荷分散を図るために用いられている。
【0003】
例えば、特開平11−85604号公報では、連続メディアコンテンツの動的なミラーリングシステムについて記載されている。
【0004】
この公報に記載されたコンテンツのミラーリングシステムは、映像・音声等の連続メディアコンテンツを格納しているメディアサーバに対して多数の端末装置からコンテンツの要求が発生した場合に、アクセス負荷の原因となるコンテンツを特定し、特定されたコンテンツへの端末装置からのアクセス状況を解析し、メディアサーバの処理できるアクセス負荷の限界値を越える時間を予測し、メディアサーバが処理できる限界値に達する前に、コンテンツの複製の作成、または当該コンテンツとその他のコンテンツとで所在の再配置を行なうことにより、動的なコンテンツ配置変更を可能としている。
【0005】
また、特開2001−69169号公報に開示されるミラーリングシステムでは、コンテンツを保持する特定のサーバの負荷が基準値を越えたかどうかを検出し、負荷が基準値以上になった場合に、当該サーバのコンテンツを異なる他のサーバ(ミラーサーバ)に複製し、ネットワークを介してアクセスするエンドホストが特定のサーバあるいは上記ミラーサーバのうち転送経路の近いサーバへアクセスする。
【0006】
【発明が解決しようとする課題】
上述したように従来の技術では、以下に述べるような問題点があった。
【0007】
第1の問題点は、動的にコンテンツのミラーリングを行うとしても、動的ミラーリングの行われるミラーサーバの選択は、予め固定的に配置されたミラーサーバ群のなかから行われなければならないということである。
【0008】
したがって、負荷分散の効果は予め固定的に配置されているミラーサーバ群の数及び位置によって制限され、効率的に負荷分散を図ることができない可能性がある。この問題を解決するために、例えば、どのようなアクセス状況に対しても柔軟に負荷分散効果が生み出せるように網内の至るところに多数のミラーサーバを配置するとしても、その設置コスト及び管理コストを考えると現実的とはいえない。
【0009】
第2の問題点は、網内のリソース状況を考慮した動的ミラーリングが行えないということである。
【0010】
例えば、オリジンサーバから125Mbyteのコンテンツの動的ミラーリングを行おうとしているときに、候補となるミラーサーバが2つ存在するとし、それぞれの候補ミラーサーバをA、Bとし、どちらかに動的ミラーリングを行うとする。候補ミラーサーバA、Bはそれぞれ、クライアントサイトC、Dに対して該コンテンツの転送遅延を最小化するために選択されている。このとき、オリジンサーバからクライアントC、Dまでの利用可能帯域はともに1Mbit/secであったとする。更に候補ミラーサーバAからクライアントサイトCまで、及び候補ミラーサーバBからクライアントサイトDまでの利用可能帯域がそれぞれ1Mbit/sec、100Mbit/secであったとする。この場合、候補ミラーサーバBに動的ミラーリングを行った場合はクライアントDにとって該コンテンツ取得時の利用可能帯域が飛躍的に増加する一方、候補ミラーサーバAに動的ミラーリングを行っても、オリジンサーバの負荷が分散されるだけで、クライアントCにとっての該コンテンツ取得時の利用可能帯域は変わらない。
【0011】
他の例では、同様にオリジンサーバから125Mbyteのコンテンツの動的ミラーリングを候補ミラーサーバA、Bのどちらかに動的ミラーリングを行うとするときに、オリジンサーバから各候補ミラーサーバまでの利用可能帯域を比較し、候補ミラーサーバAに対しては100Mbit/secであり、候補ミラーサーバBに対しては1Mbit/secであったとする。このとき、候補ミラーサーバAに動的ミラーリングを行うのために要するコンテンツの転送遅延は10秒であるのに対し、候補ミラーサーバBに動的ミラーリングする場合は1000秒を要する。直ちにオリジンサーバの負荷の軽減が要求される場合は上記の転送遅延の差は無視できず、負荷分散性能を左右する原因となる。
【0012】
上記の例より、動的ミラーリングを行う際に網内のリソース状況を考慮することによって、動的ミラーリングに伴う性能改善効果を高めることができることが分かる。
【0013】
第3の問題点は、動的ミラーリングにおいて、オリジンサーバからミラーサーバへのミラーコンテンツ転送に伴う大量のトラフィック量によって、網に負荷をかけてしまうおそれがあることである。また、複数のミラーサーバに同時に同一コンテンツの動的ミラーリングを行う場合、そのトラフィック量が大きくなることも問題である。
【0014】
例えば、オリジンサーバからミラーサーバまでの転送経路に利用可能帯域値の非常に小さいリンクが存在する場合、ミラーリングに要する転送遅延が大きくなるばかりでなく、ミラーコンテンツの転送時の大量のトラフィックによって、そのリンクを通過する他のトラフィックを阻害するおそれがある。
【0015】
また、複数のミラーサーバに同時に同一コンテンツの動的ミラーリングを行う場合、各ミラーサーバに同じミラーコンテンツの転送を並列に行うため、転送トラフィックが網に与える負荷はその分大きくなる。
【0016】
本発明の第1の目的は、上記従来技術の欠点を解決し、網内の任意のノードが適応的にミラーサーバになることにより、オリジンサーバに対するアクセス負荷状況に応じて最適なミラーサーバ群を生成できるようなコンテンツ動的ミラーリングシステムを提供することにある。
【0017】
本発明の第2の目的は、上記従来技術の欠点を解決し、網内のリソース状況を考慮することにより、動的ミラーリングに伴う性能改善効果を高めることができるコンテンツ動的ミラーリングシステムを提供することにある。
【0018】
本発明の第3の目的は、上記従来技術の欠点を解決し、オリジンサーバから1つあるいは複数のミラーサーバに対して動的ミラーリングを行う際に、ミラーコンテンツの転送遅延と転送トラフィック量を削減することのできるコンテンツ動的ミラーリングシステムを提供することにある。
【0019】
【課題を解決するための手段】
上記目的を達成するため本発明は、自ノードの保持するコンテンツの全部又は一部の複製であるミラーコンテンツを網内の他のミラーサーバへコピーする動的ミラーリングを行うオリジンサーバであって、クライアントからのコンテンツ取得要求に伴う前記オリジンサーバの性能劣化を示すパラメータを測定し、該測定結果に基づいて前記動的ミラーリングを行うかどうかを判定するサーバ負荷測定手段と、前記オリジンサーバの保持するコンテンツのうちのどのコンテンツをミラーコンテンツとして、前記動的ミラーリングを行うかを選択するミラーコンテンツ決定手段と、網内リソース情報とミラーサーバ性能情報のいずれか、あるいは両方を取得する機能を有する網リソース取得手段と、前記網リソース取得手段によって取得した網リソース情報を基にして事前に設定されたアルゴリズムに従った計算を行うことによって、前記ミラーコンテンツをどの前記ミラーサーバへコピーするかを決定する動的ミラーリング先決定手段と、前記動的ミラーリング先決定手段によって決定された動的ミラーリング先となるノードに対して、前記動的ミラーリングを行うための動的ミラーリング要求を出す動的ミラーリング要求手段と、前記動的ミラーリング要求が受理された場合に、動的ミラーリング先として決定された前記ノードに対して、前記ミラーコンテンツ決定手段によって決定されたミラーコンテンツを転送するミラーコンテンツ転送手段とを備え、前記動的ミラーリング先決定手段は、前記網リソース取得手段によって取得した網リソース情報のうち、前記オリジンサーバに対してコンテンツ取得要求を行うクライアントの属するサイトであるクライアントサイトごとに計測された、前記オリジンサーバから前記クライアントサイトまでの1セッションあたりの第1のコンテンツ転送スループットをW1とし、前記クライアントサイトにとってのコンテンツ取得遅延を最小化するように選択されたミラーサーバから、前記クライアントサイトまでの1セッションあたりの第2のコンテンツ転送スループットをW2とし、前記クライアントサイトからの単位時間あたりのコンテンツ取得要求数をNとし、N×(W2/W1)の式に従って計算を行い、当該計算結果の値の大きさに基づいて、前記動的ミラーリング先を決定するための優先度を定めることを特徴とする。
【0020】
請求項2の本発明は、自ノードの保持するコンテンツの全部又は一部の複製であるミラーコンテンツを網内の他のミラーサーバへコピーする動的ミラーリングを行うオリジンサーバであって、クライアントからのコンテンツ取得要求に伴う前記オリジンサーバの性能劣化を示すパラメータを測定し、該測定結果に基づいて前記動的ミラーリングを行うかどうかを判定するサーバ負荷測定手段と、前記オリジンサーバの保持するコンテンツのうちのどのコンテンツをミラーコンテンツとして、前記動的ミラーリングを行うかを選択するミラーコンテンツ決定手段と、網内リソース情報とミラーサーバ性能情報のいずれか、あるいは両方を取得する機能を有する網リソース取得手段と、前記網リソース取得手段によって取得した網リソース情報を基にして事前に設定されたアルゴリズムに従った計算を行うことによって、前記ミラーコンテンツをどの前記ミラーサーバへコピーするかを決定する動的ミラーリング先決定手段と、前記動的ミラーリング先決定手段によって決定された動的ミラーリング先となる前記ノードに対して、前記動的ミラーリングを行うための動的ミラーリング要求を出す動的ミラーリング要求手段と、前記動的ミラーリング要求が受理された場合に、動的ミラーリング先として決定された前記ノードに対して、前記ミラーコンテンツ決定手段によって決定されたミラーコンテンツを転送するミラーコンテンツ転送手段とを備え、前記動的ミラーリング先決定手段は、前記網リソース取得手段によって取得した網リソース情報のうち、クライアントサイトにとってのコンテンツ取得遅延を最小化するように選択されたミラーサーバから、該クライアントサイトまでの経路における、利用可能帯域の値、RTTの値又はある固定長データの前記クライアントサイトが下流となる向きの転送遅延の値の何れか1つの値の大きさに基づいて、前記動的ミラーリング先を決定するための優先度を定めることを特徴とする。
【0021】
請求項3の本発明は、前記動的ミラーリング先決定手段は、前記式に基づく当該計算結果の値が大きいほど、前記動的ミラーリング先の決定において高い優先度を与えることを特徴とする請求項1に記載のオリジンサーバ、又は、前記動的ミラーリング先決定手段は、前記利用可能帯域の値が大きいほど、あるいは、前記RTT又は前記転送遅延の値が小さいほど、前記動的ミラーリング先の決定において高い優先度を与えることを特徴とする請求項2に記載のオリジンサーバであることを特徴とする。
【0067】
本発明の第1のコンテンツ動的ミラーリングシステムは、網内に配置された任意のノードに対して、適応的にミラーサーバになれる適応ミラーノード(図1のB1)機能が付加される。そして、任意のオリジンサーバからの動的ミラーリング要求が、オリジンサーバ上の動的ミラーリング要求手段(図1のA15)と、ミラーコンテンツ転送手段(図1のA16)及び、適応ミラーノード上の動的ミラーリング要求受付手段(図1のB11)を介して行われ、適応ミラーノードはミラーサーバとして機能する。オリジンサーバは、適応ミラーノード化された網内の任意のノードを動的ミラーリングの対象とすることができ、オリジンサーバにおけるアクセス負荷状況に応じて適応的にミラーサーバ網を構築することが可能となる。これにより、本発明の第1の目的を達成することができる。
【0068】
本発明の第2のコンテンツ動的ミラーリングシステムは、オリジンサーバから適応ミラーノードへの動的ミラーリング時に、網リソース取得手段(図11のF11)を介して取得した網リソース状況を考慮して動的ミラーリング先を決定する。動的ミラーリング先の決定アルゴリズムの例は以下の発明の実施の形態において述べられる。これにより、本発明の第2の目的を達成することができる。
【0069】
本発明の第3のコンテンツ動的ミラーリングシステムは、オリジンサーバからの適応ミラーノードへのミラーコンテンツの転送経路を、ミラーリングツリー作成手段(図15のG11)によって計算する。ミラーコンテンツは、計算されたミラーリングツリー上を転送される。最適なミラーリングツリーを選択することにより、動的ミラーリング時のミラーコンテンツの転送遅延を削減することができ、特に複数のミラーリング先へのミラーコンテンツの転送においては、その転送遅延と転送トラフィック量を削減することが可能になる。これにより、本発明の第3の目的を達成することができる。
【0070】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0071】
図1を参照すると、本発明の第1の実施の形態は、オリジンサーバA1と、コンテンツ動的ミラーリングが行われる対象となる適応ミラーノードB1と、クライアントC1とを含む。
【0072】
オリジンサーバA1は、オリジナルコンテンツを保有しているオリジンサーバだけではなく、同一コンテンツが既にミラーリングされているミラーサーバも含むものとし、以下両者をまとめてオリジンサーバと称することにする。オリジンサーバA1は、能動的にコンテンツ動的ミラーリングを行う機能を有する。
【0073】
適応ミラーノードB1は、網内に配置されている任意のノードが適応的にミラーサーバになれる機能をもたせた装置であり、本実施の形態の構成において特徴となる装置である。適応ミラーノードの例として、ルータに適応ミラーノード機能をもたせたもの、レイヤ4又はレイヤ7スイッチに適応ミラーノード機能をもたせたもの、プロキシサーバに適応ミラーノード機能をもたせたものなどが挙げられる。また、適応ミラーノード機能のみを有し、他の機能を有さない専用ノードであってもよい。ルータに適応ミラーノード機能が実装された場合の例を考えると、ミラーリングが行われている状態では、ルータとして機能するだけではなく、同時にミラーサーバとしても機能する。
【0074】
適応ミラーノードB1は、任意のオリジンサーバからの動的ミラーリング要求を受けてミラーサーバとして機能する。オリジンサーバA1側の立場からみると、適応ミラーノード化された網内の任意のノードを動的ミラーリングの対象とすることができ、オリジンサーバA1におけるアクセス負荷状況に応じて適応的にミラーサーバ網を構築することが可能となる。
【0075】
クライアントC1は、コンテンツ取得要求を行うユーザ端末だけではなく、複数のクライアントを収容し、代理にコンテンツ取得要求を行うプロキシサーバであってもよい。
【0076】
オリジンサーバA1は、コンテンツ及びコンテンツの処理方法、処理プログラム等を記憶する記憶装置A10と、サーバ負荷測定手段A11と、ミラーコンテンツ決定手段A12と、動的ミラーリング先決定手段A13と、適応ミラーノード検出手段A14と、動的ミラーリング要求手段A15と、ミラーコンテンツ転送手段A16とを含む。
【0077】
サーバ負荷測定手段A11は、オリジンサーバA1のアクセス負荷を測定し、動的ミラーリングを行い負荷分散をするべきかどうかを決定する。ここでアクセス負荷とは、オリジンサーバA1のCPU負荷、コンテンツ転送セッション数、1セッションあたりのコンテンツ転送スループット等のコンテンツ取得要求の集中に伴うオリジンサーバの性能劣化を示すパラメータである。ここで、コンテンツ転送セッションの例として、HTTPによるコンテンツ転送時に用いられるTCPセッションが挙げられる。以後、コンテンツ転送セッションを代表して、TCPセッションとして述べる。
【0078】
ミラーコンテンツ決定手段A12は、他のミラーサーバへの動的ミラーリングを行う際に、どのコンテンツを動的ミラーリングすれば負荷分散効果を最大化できるかを判別し、動的ミラーリングすべきコンテンツを決定する。
【0079】
動的ミラーリング先決定手段A13は、ミラーコンテンツ決定手段A12によって決定されたミラーコンテンツの動的ミラーリングにおいて、負荷分散効果を最大化できる1つあるいは複数の適応ミラーノードを、オリジンサーバA1のアクセス負荷状況に基づいて決定する。このとき、網内に存在する適応ミラーノードの検出は、適応ミラーノード検出手段A14によって行われる。
【0080】
動的ミラーリング先決定手段A13における、負荷分散効果を最大化できる動的ミラーリング先となる適応ミラーノードの決定アルゴリズムの例を述べる。まず、動的ミラーリングの対象となるコンテンツに対する単位時間あたりのコンテンツ取得要求数を、クライアントが存在する網内の管理ドメインごとに測定する。そして、そのコンテンツ取得要求数の値がある閾値以上である管理ドメイン内に存在する適応ミラーノードを、動的ミラーリング先として決定する。このような管理ドメインの例としてインターネットにおけるAS(Autonomous System)が挙げられる。
【0081】
適応ミラーノード検出手段A14は、網内に存在する適応ミラーノードを検出する機能を有する。このとき網内に存在する全ての適応ミラーノードを検出するのはそのオーバーヘッドが大きい。したがって適応ミラーノードの検出はできるだけ少ないオーバーヘッドで行われるべきである。
【0082】
例として、網内の各管理ドメインごとに配置された代表管理サーバに対して、該管理ドメイン内に存在する適応ミラーノードリストの問合わせを行うなどの方式が考えられる。この代表管理サーバは、各管理ドメイン内の適応ミラーノードを管理し、各適応ミラーノードの位置、リソース状況等を把握する。オリジンサーバA1は、ミラーコンテンツを新規に配置したい管理ドメインの代表管理サーバに対してだけ適応ミラーノードリストの問合わせを行うことにより検出オーバヘッドを削減できる。このような管理ドメインの例としてインターネットにおけるASが挙げられる。
【0083】
網内の適応ミラーノードの検出方法のもう1つの例を述べる。クライアントC1からあるオリジンサーバA1までのコンテンツ取得要求の通過経路上に、適応ミラーノードが存在するものとする。このような通過経路上に存在する適応ミラーノードとして、ルータ、レイヤ4/レイヤ7スイッチ、プロキシサーバなどが考えられる。このとき、クライアントC1からのコンテンツ取得要求に対して、該コンテンツ取得要求の通過経路上に、適応ミラーノードが存在するという情報を付加する。該情報が付加されたコンテンツ取得要求を受信したオリジンサーバA1は、クライアントC1からあるオリジンサーバA1までのコンテンツ取得要求の通過経路上に適応ミラーノードが存在するということを識別する。オリジンサーバA1は、クライアントC1からのコンテンツ取得要求増加によるアクセス負荷を軽減するためには、該適応ミラーノードに動的ミラーリングを行えばよいと決定できる。
【0084】
動的ミラーリング要求手段A15は、動的ミラーリング先決定手段A13によって動的ミラーリング要求の対象と決定された適応ミラーノードに対して、動的ミラーリング要求を送信する。さらにこの動的ミラーリング要求に対する適応ミラーノードからの応答を受信し、受理されればミラーコンテンツ転送手段A16によって実際に動的ミラーリングを行い、拒否されれば動的ミラーリングをあきらめるか、動的ミラーリングすべき他の適応ミラーノードを検索する。
【0085】
ミラーコンテンツ転送手段A16は、記憶装置A10から決定されたミラーコンテンツを読み出し、動的ミラーリング要求を受理した適応ミラーノードに対して送信する。このとき送信するミラーコンテンツとは、テキスト、画像、動画等のオブジェクトだけではなく、コンテンツに伴う各種処理プログラム、情報等も含む。このような処理プログラム、情報の例として、検索プログラム、CGI(Common Gateway Interface)スクリプト、SSL(Secure Socket Layer)等の認証・暗号情報等が挙げられる。また、転送トラフィックを減らすために、送信するミラーコンテンツを圧縮する機能や、転送時のセキュリティ確保のために、送信するミラーコンテンツを暗号化する機能も有する。
【0086】
適応ミラーノードB1は、記憶装置B10と、動的ミラーリング要求受付手段B11と、要求データ受信部B12と、応答コンテンツ作成手段B13と、コンテンツ応答手段B14とを含む。
【0087】
記憶装置B10は、ミラーコンテンツ記憶部B101を備えている。
【0088】
ミラーコンテンツ記憶部B101は動的ミラーリングされたコンテンツを記憶する。記憶されるのは、テキスト、画像、動画等のオブジェクトだけではなく、コンテンツに伴う各種処理プログラム、情報等も含む。
【0089】
動的ミラーリング要求受付手段B11は、オリジンサーバA1からのコンテンツ動的ミラーリング要求の処理及びオリジンサーバから転送されたミラーコンテンツの受信処理を行う。
【0090】
要求データ受信部B12は、クライアントC1からのコンテンツ取得要求を受信し、要求内容を応答コンテンツ作成手段B13に渡す。
【0091】
応答コンテンツ作成手段B13は、要求されているコンテンツをミラーコンテンツ記憶部B101から読み出し、応答コンテンツを作成する。このとき、コンテンツに伴う各種処理プログラムの実行、あるいは認証情報等の読み出しが必要とされる場合はそれらの処理を適宜行う。そして作成された応答コンテンツをコンテンツ応答手段B14に渡す。
【0092】
コンテンツ応答手段B14は、応答コンテンツ作成手段B13によって作成された応答コンテンツを、コンテンツ取得要求を送信したクライアントC1に対して送信する。
【0093】
図2は、動的ミラーリング要求受付手段B11の構成を詳細に示した図である。動的ミラーリング要求受付手段B11は、オリジンサーバとのデータ送受信手段B111と、動的ミラーリング要求受理判別手段B112と、ミラーコンテンツ受信手段B113と、解凍・復号化手段B114とを含む。
【0094】
オリジンサーバとのデータ送受信手段B111は、オリジンサーバA1からのデータを受信し、その内容を識別する。受信データの内容が動的ミラーリング要求ならば、動的ミラーリング要求受理判別手段B112に対して該動的ミラーリング要求を受理できるかどうかを問い合わせ、その結果をオリジンサーバA1に対して返す。また、オリジンサーバA1から受信したミラーコンテンツを受信した場合は、受信データをミラーコンテンツ受信手段B113へ渡す。
【0095】
動的ミラーリング要求受理判別手段B112は、オリジンサーバA1からの動的ミラーリング要求が受理できるか否かの判断を行う。
【0096】
ミラーコンテンツ受信手段はB113は、オリジンサーバA1から受信したミラーコンテンツをミラーコンテンツ記憶部B101へ格納する。また、受信したミラーコンテンツが圧縮あるいは暗号化されている場合は、解凍・復号化手段B114によって必要な解凍・復号化処理を行ってからミラーコンテンツ記憶部B101へ格納する。
【0097】
解凍・復号化手段B114は、オリジンサーバA1から受信したミラーコンテンツの解凍・復号化を行う機能を有する。オリジンサーバA1から受信するミラーコンテンツが圧縮・暗号化されない環境下においては、解凍・復号化手段B114は必ずしも必要ではない。
【0098】
次に、図3を参照して、本実施の形態において、動的ミラーリング時のオリジンサーバA1における動作について詳細に説明する。
【0099】
オリジンサーバA1において、動的ミラーリング機能が有効になっている場合、サーバ負荷測定手段A11が、定期的にサーバのCPU負荷を監視し、サーバCPU負荷が予め設定された閾値以上であるかどうかを調べる(図3のステップS101、S102)。ここで監視する対象の例として、CPU負荷の他に、単位時間あたりのコンテンツ取得要求数、コンテンツの転送スループットなどが挙げられる。
【0100】
ステップS102で、サーバ負荷が閾値以上であった場合、ミラーコンテンツ決定手段A12によって、動的ミラーリングを行うコンテンツを決定する(ステップS103)。ここで動的ミラーリングするコンテンツは、オブジェクト単位という細かい粒度で選択されるよりもむしろ、ページ単位、ウェブサイト単位といった大きな粒度で選択されるべきである。また、動的ミラーリングを行うコンテンツを決定する判断基準の例として、a.「単位時間あたりのクライアントからのコンテンツ取得要求数が閾値を超えるもの」、b.「基準aを満たし、かつコンテンツのサイズが閾値を超えるもの」、c.「コンテンツの種類やサイズに応じた動的ミラーリングによって負荷分散した結果クライアントにとってのコンテンツ転送スループットを最大化するもの」などが挙げられる。
【0101】
ステップS102で、サーバ負荷が閾値以下であった場合は、負荷分散の必要はないとみなし、動的ミラーリングは行わない。
【0102】
ステップS103の後、動的ミラーリング先決定手段A13によって、負荷分散効果が最大化されるような1つあるいは複数の適応ミラーノードを、動的ミラーリングの対象となる各コンテンツごとに決定する(ステップS104、S105)。この適応ミラーノードの決定には、適応ミラーノード検出手段A14による検出結果が用いられる。また、ステップS104において、動的ミラーリングによる負荷分散効果より、動的ミラーリングのオーバーヘッドの方が大きいと判断される場合は、動的ミラーリングの実行を中止し、対象となる適応ミラーノードはないと決定する。
【0103】
次に、ステップS104、S105において動的ミラーリングを行う対象となる適応ミラーノードがある場合は、動的ミラーリング要求手段A15によって、各適応ミラーノードに対して動的ミラーリング要求メッセージを送信する(ステップS106)。動的ミラーリング要求メッセージには、コンテンツの種類、サイズ等のコンテンツに関する情報が含められている。ステップS105で、対象となる適応ミラーノードがない場合には動的ミラーリングは行わない。
【0104】
適応ミラーノードから、動的ミラーリング要求メッセージに対する受理応答を受信した場合(ステップS107)、ミラーコンテンツ転送手段A16は、記憶装置A10からミラーコンテンツを読み出し、動的ミラーリングを受理した適応ミラーノードに対して送信する(ステップS108)。このとき、必要ならばミラーコンテンツを圧縮あるいは暗号化して送信する。
【0105】
ステップS108において、オリジンサーバA1内の記憶装置A10から適応ミラーノードB1へ直接ミラーコンテンツを送信する方式の他に、同一コンテンツを保持する他のミラーサーバを検出し、最も転送遅延が小さくなるミラーサーバから適応ミラーノードB1へ送信する方式も考えられる。また、1つのミラーコンテンツを複数の部分に分割し、同一コンテンツを保持する複数のミラーサーバから分割した各々の部分を並列に送信し、適応ミラーノードB1で組み立てを行うという方式により転送遅延を短縮する方式も考えられる。
【0106】
図4は、図3のステップS108において、最も転送遅延が小さくなるミラーサーバから動的ミラーリングを行う方式を実現するためのミラーコンテンツ転送手段A16の構成を詳細に示したものである。ミラーコンテンツ転送手段A16は、他ミラーサーバとの通信手段A161と、ソース決定手段A162と、適応ミラーノードとの通信手段A163とを含む。
【0107】
他ミラーサーバとの通信手段A161は、他のミラーサーバと通信する機能を有し、他のミラーサーバに対して、保持するコンテンツおよび網リソースを問合わせ、さらにミラーコンテンツ転送の指示などを行う。ソース決定手段A162は、自ノードまたは他のミラーサーバから適応ミラーノードB1までの網リソースにもとづいて、最も転送遅延が少なくなるソースを決定する。適応ミラーノードとの通信手段A163は、適応ミラーノードB1と通信する機能を有し、適応ミラーノードB1に対してミラーコンテンツの転送を行う。
【0108】
次に、図4に示したミラーコンテンツ転送手段A16が、ステップS108において、最も転送遅延が小さくなるミラーサーバから動的ミラーリングを行う場合の詳細な動作について図5を用いて説明する。
【0109】
まず、動的ミラーリングを行おうとするコンテンツと同一のコンテンツを保持するミラーサーバを検出する(ステップS801)。ステップS801において同一コンテンツを保持するミラーサーバを検出できた場合(ステップS802)、検出された各ミラーサーバから、コンテンツが転送される適応ミラーノードまでの網リソースおよび、次ノードから該適応ミラーノードまでの網リソースを取得する(ステップS803)。次に、ステップS803で取得した網リソース情報を用いて、該適応ミラーノードに対してミラーコンテンツを送信する際に最も転送遅延が小さくなる送信元を決定する(ステップS804)。
【0110】
送信元が自ノードである場合(ステップS805)、自ノードから該適応ミラーノードにミラーコンテンツを送信する(ステップS806)。ステップS802において同一コンテンツを保持するミラーサーバが存在しなかった場合も、ステップS806を実行する。ステップS805において送信元が自ノードではなく、他のミラーサーバのいずれかである場合、送信元となるミラーサーバに対してミラーコンテンツの転送を指示し(ステップS807)、該ミラーサーバからミラーコンテンツの転送が終了したというメッセージを受信することによってミラーコンテンツ転送終了を確認する(ステップS808)。
【0111】
図6は、ステップS108において、最も転送遅延が小さくなるミラーサーバから動的ミラーリングを行う方式の例を示すものである。オリジンサーバ101、適応ミラーノード102、103、104がそれぞれリンク201、202、203、204を介してバックボーンネットワーク1に接続されている。いま、オリジンサーバ101から適応ミラーノード104にあるコンテンツを動的ミラーリングしようとしており、適応ミラーノード102、103はともに同一コンテンツを既にもっているとする。このとき、各オリジンサーバ、適応ミラーノードから適応ミラーノード104までの利用可能帯域を示したものが表301である。この利用可能帯域の情報が与えられたとき、オリジンサーバ101は、適応ミラーノード103から該コンテンツを転送した方が少ない転送遅延で動的ミラーリングが行えると判断し、適応ミラーノード103に対して該コンテンツを適応ミラーノード104に送信するように指示する。該コンテンツの転送を指示された適応ミラーノード103は、適応ミラーノードに該コンテンツを転送し、転送終了を確認したのち、正常に転送されたことをオリジンサーバ101に応答する。
【0112】
ステップS107において、動的ミラーリング要求メッセージに対する拒否応答を受信した場合は、ステップS104に戻り、拒否応答のあった適応ミラーノードを除外して再度適応ミラーノードの決定を行う。
【0113】
次に、図7を参照して、本実施の形態において、動的ミラーリング時の適応ミラーノードB1における動作について詳細に説明する。
【0114】
適応ミラーノードB1において、オリジンサーバA1から動的ミラーリング要求メッセージを受信すると(図7のステップS201)、動的ミラーリング要求受付手段B11は、その要求を受理できるかどうかを判定する(ステップS202)。ここで要求を受理できるかどうかの判定基準の例としては、a.「適応ミラーノードB1における記憶装置B10においてミラーコンテンツを格納するのに十分な残りリソースがあるか」、b.「ミラーコンテンツに伴う処理プログラムがある場合、その処理プログラムを実行できる環境であるか」、c.「ミラーサーバからクライアント向けの網リソースが十分あるか」などがある。
【0115】
ステップS202において、要求を受理できると判定された場合、オリジンサーバA1に対して受理応答を送信する(ステップS203)。また要求を受理できないと判定された場合は拒否応答を送信する(ステップS204)。
【0116】
ステップ203で受理応答を送信した場合、ミラーサーバB1は、オリジンサーバA1からミラーコンテンツを受信し、記憶装置B10内のミラーコンテンツ記憶部B101に保存する(ステップS206)。このとき、受信したミラーコンテンツが圧縮あるいは暗号化されている場合、これを解凍あるいは復号化してから保存する。
【0117】
また、ミラーサーバB1における、クライアントからのコンテンツ取得要求を受信した際の動作の説明に関しては、従来のミラーサーバの動作と同様である。
【0118】
次に、本実施の形態の効果について説明する。
【0119】
従来技術では、オリジンサーバが動的ミラーリングを行ってアクセス負荷の分散を図る際に、その動的ミラーリング先は、予め固定的にミラーサーバとして配置されているものからしか選択できなかった。そのため、アクセス負荷分散効果は、予め配置されているミラーサーバの数及び位置によって制限されていた。
【0120】
本実施の形態では、網内に配置されているルータやプロキシサーバ等の任意のノードに適応ミラーノード機能をもたせ、任意のオリジンサーバからの動的ミラーリング要求を受けてミラーサーバとして機能させる。オリジンサーバは、適応ミラーノード化された網内の任意のノードを動的ミラーリングの対象とすることができ、オリジンサーバにおけるアクセス負荷状況に応じて適応的にミラーサーバ網を構築することが可能となる。
【0121】
クライアントの立場からみると、オリジンサーバにアクセス負荷が集中しているときは、そのミラーコンテンツが自動的に最寄りの適応ミラーノードにコピーされ、常に低遅延、高スループットでコンテンツを取得することが可能になる。
【0122】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0123】
本発明の第2の実施の形態は、第1の実施の形態において、プロキシサーバを適応ミラーノード化した場合に対応する。
【0124】
図8を参照すると、本発明の第2の実施の形態は、図1に示された第1の実施の形態における適応ミラーノードB1が、適応ミラープロキシサーバD1になっている点で異なる。
【0125】
適応ミラープロキシサーバとは、プロキシサーバに適応ミラーノード機能をもたせたものであり、記憶装置D10と、動的ミラーリング要求受付手段B11と、応答コンテンツ作成手段B13と、コンテンツ応答手段B14と、要求データ受信部D11と、動作決定手段D12と、キャッシュヒット判定手段D13と、コンテンツ取得要求転送先決定手段D14と、コンテンツ取得要求転送手段D15とを含む。
【0126】
記憶装置D10は、キャッシュ記憶部D101を有している点で、記憶装置B10と異なる。キャッシュ記憶部D101は、適応ミラープロキシサーバがプロキシサーバとしてのコンテンツキャッシュ機能を有するときに、キャッシュコンテンツを格納するために用いられる。
【0127】
要求データ受信部D11は、クライアントC1からのコンテンツ取得要求を受信し、動作決定手段D12に渡す。
【0128】
動作決定手段D12は、コンテンツ取得要求で要求されている内容を識別する。そして要求内容にしたがって、ミラーサーバとして動作するか、プロキシサーバとして動作するかを決定する。単純には、適応ミラープロキシサーバD1内にミラーリングしているコンテンツに対する取得要求であればミラーサーバとして動作すると決定し、それ以外の場合はプロキシサーバとして動作すると決定する。その他、ミラーリングしていても、クライアントの認証を行い、許可されているクライアントにのみ、ミラーサーバとしての動作を行うという方式なども考えられる。
【0129】
キャッシュヒット判定手段D13は、クライアントからのコンテンツ取得要求に該当するコンテンツがキャッシュ記憶部D101内に存在するかどうかを判定し、存在すれば、該当コンテンツをコンテンツ応答手段B14に渡す。存在しなければ、該当コンテンツ取得要求をコンテンツ取得要求転送先決定手段D14に渡す。
【0130】
コンテンツ取得要求転送先決定手段D14は、コンテンツ取得要求に該当するコンテンツを、適応ミラープロキシサーバD1がミラーリング又はキャッシュをしていない場合に、コンテンツ取得要求を転送する先のオリジンサーバ又はミラーサーバを決定する。
【0131】
コンテンツ取得要求転送手段D15は、コンテンツ取得要求転送先決定手段D14によって決定されたオリジンサーバ又はミラーサーバにコンテンツ取得要求を転送する。
【0132】
次に、図9を参照して、本実施の形態において、コンテンツ取得要求受信時の適応ミラープロキシサーバD1における動作について詳細に説明する。
【0133】
適応ミラープロキシサーバD1において、要求データ受信部D11がクライアントC1からのコンテンツ取得要求を受信すると(図9のステップS301)、動作決定手段D12は、適応ミラープロキシサーバD1内にミラーリングされているコンテンツに対する取得要求であるかどうかを識別する(ステップS302)。
【0134】
ステップS302において、コンテンツ取得要求に該当するコンテンツが適応ミラープロキシサーバD1内にミラーリングされていれば、応答コンテンツ作成手段B13によって、ミラーコンテンツ記憶部B101から読み出しを行い、応答コンテンツの作成を行う(ステップS303)。このとき、要求されているコンテンツが何らかの処理プログラムの実行、あるいは認証処理などを必要としている場合は、適宜その実行、処理を行い、応答コンテンツの作成を行う。上記の手順にしたがって作成された応答コンテンツをコンテンツ応答手段B14に渡し、クライアントC1に対して応答する(ステップS305)。
【0135】
また、ステップS302において、コンテンツ取得要求に該当するコンテンツが適応ミラープロキシサーバD1内にミラーリングされていなければ、キャッシュヒット判定手段D13によって、コンテンツ取得要求に該当するコンテンツがキャッシュ記憶部D101内に存在するかどうかを判定する(ステップS304)。
【0136】
ステップS304においてコンテンツが存在していれば(キャッシュにヒット)、キャッシュ記憶部D101から該当コンテンツを読み出し、そのコンテンツをコンテンツ応答手段B14に渡し、クライアントC1に対して応答する(ステップS306、S305)。
【0137】
また、ステップS304においてコンテンツが存在しなければ(キャッシュにヒットしない)、コンテンツ取得要求転送先決定手段D14によって、コンテンツ取得要求を転送する先のオリジンサーバ又はミラーサーバを決定する(ステップS307)。
【0138】
適応ミラープロキシサーバD1が、複数の候補転送先を検出する手段を有している場合、コンテンツ取得要求転送先決定手段D14はこれらの候補転送先から1つを選択する。このときの選択基準の例として、最も負荷の低いものや、下り方向(サーバからクライアントの向き)の利用可能帯域が最も大きいものなどが挙げられる。
【0139】
ステップS307によって決定されたコンテンツ取得要求転送先に対して、コンテンツ取得要求転送手段D15は、該当コンテンツ取得要求を転送する(ステップS308)。
【0140】
次に、本実施の形態の効果について説明する。
【0141】
本実施の形態では、プロキシサーバ上に適応ミラーノード機能を実装する。したがって、プロキシサーバの提供する機能とミラーサーバの提供する機能の両方を同一ノード上で提供するすることが可能になり、従来各々の機能を別のノードとして実現しなければいけないために要した設置コスト及び管理コストを削減することができる。
【0142】
また、プロキシサーバの立場からみると、従来コンテンツキャッシュ機能しか有しないために、SSLプロトコルによる認証・暗号処理、CGIスクリプトの実行等を要するコンテンツに対する取得要求は受け付けることができず、オリジンサーバへ要求を転送するしかなかった。適応ミラーノード機能を実装してミラーサーバとしての機能をもたせることにより、上記のコンテンツに対する取得要求を受け付けることが可能になり、オリジンサーバへのトラフィック及びオリジンサーバのアクセス負荷を削減することができる。
【0143】
更に、本実施の形態では、適応ミラープロキシサーバを配下のクライアント群におけるプロキシサーバとして設定することにより、配下のクライアント群からの全てのコンテンツ取得要求はこの適応ミラープロキシサーバに受信される。適応ミラープロキシサーバは、各コンテンツ取得要求をみて、ミラーリングされているコンテンツに対する取得要求にのみ直接応答し、その他のコンテンツに対する取得要求は通常のプロキシサーバとしての処理を選択的に行う。従来はコンテンツのミラーリングが行われている場合、クライアント側で適当なミラーサーバを選択し、その宛先IPアドレスに対応するサーバにコンテンツ取得要求を送信しなければならなかったが、本実施の形態ではその必要がなく、クライアント側でプロキシサーバの設定を行うだけでミラーコンテンツを取得することができる。
【0144】
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
【0145】
本発明の第3の実施の形態は、第1の実施の形態において、適応ミラーノードとクライアント間とのデータ通信に対して認証、課金処理が必要とされており、適応ミラーノードが認証、課金処理機能を有する場合に対応する。
【0146】
図10を参照すると、本発明の第3の実施の形態は、図1に示された第1の実施の形態において、適応ミラーノードB1の代わりに、適応ミラーノードE1となっている点が異なる。
【0147】
適応ミラーノードE1は、応答コンテンツ作成手段B13と、コンテンツ応答手段B14と、記憶装置E10と、動的ミラーリング要求受付手段E11と、要求データ受信部E12と、認証課金情報処理手段E13とを有する。
【0148】
記憶装置E10は、認証課金情報管理部E101を有している点で、記憶装置B10と異なる。認証課金情報管理部E101は、認証、課金に関する情報を管理する。管理される情報の例として、各クライアントの認証ID、パスワード及びコンテンツごとのダウンロード価格などがある。更に、各クライアントごとの課金状況などの動的な情報もある。
【0149】
動的ミラーリング要求受付手段E11は、図1における動的ミラーリング要求受付手段B11の機能に加え、適応ミラーノードE1がオリジンサーバA1の代わりに認証、課金処理を行うために必要な手続きを行う。この手続きには、オリジンサーバA1と適応ミラーノードE1とが互いを信用して認証、課金処理の委託を行う手順と、オリジンサーバA1の有する認証課金情報の内、適応ミラーノードE1が、クライアントC1から受信したコンテンツ取得要求の認証、課金を行うために必要な情報を、認証課金情報管理部E101に記憶し、その後オリジンサーバA1との間で、認証課金情報管理部E101に記憶された情報の同期をとる手順とを含む。また、認証課金情報の管理がオリジンサーバA1に一元化されている場合、適応ミラーノードE1内の認証課金情報処理手段E13が行う認証、課金処理時にオリジンサーバA1内に管理されている認証課金情報の読み出し、書き込みを行う手順も含む。更に、オリジンサーバA1との間でのデータベース同期、認証、課金処理時のオリジンサーバA1内で管理されている認証課金情報の読み出し、書き込みにおいて、オリジンサーバA1と適応ミラーノードE1との間でやり取りされるデータは、圧縮、暗号化されてもよい。
【0150】
要求データ受信部E12は、クライアントC1からのコンテンツ取得要求を受信し、その認証処理を認証課金情報処理手段E13を介して行う。認証の結果、コンテンツ取得が許可されればコンテンツ作成手段B13に要求内容を渡し、該コンテンツの作成を指示する。
【0151】
認証課金情報処理手段E13は、要求データ受信部E12が受信したコンテンツ取得要求の認証を行い、認証された要求に対して課金を行う機能を有する。このとき、要求するクライアントのID、パスワードなどの情報を認証課金情報管理部E101から読み出し、更にコンテンツ取得に伴って発生する課金情報を認証課金情報管理部E101に書き込む。
【0152】
上記の例は、適応ミラーノードB1に対して、認証、課金処理機能が導入されたノードであるが、その他にも、第2の実施の形態による適応ミラープロキシサーバD1に対して認証、課金処理機能が導入されたノードの構成も同様に考えられる。
【0153】
次に、本実施の形態の効果について説明する。
【0154】
本実施の形態では、適応ミラーノードにおいて、認証、課金処理をすることができる。このような処理は、従来はオリジンサーバでしか行うことができなかったが、認証、課金処理を動的に適応ミラーノードに委託することにより、オリジンサーバの負荷を軽減できる。認証、課金処理が伴うコンテンツ場合、通常のコンテンツの場合と比較して、クライアントからの要求応答に遥かに多くの処理を必要とするため、適応ミラーノードによる負荷分散効果は、通常コンテンツの動的ミラーリングの場合と比べて大きいといえる。
【0155】
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
【0156】
本発明の第4の実施の形態は、第1の実施の形態において、オリジンサーバからの動的ミラーリング時に、網リソース状況を考慮して動的ミラーリング先を決定するという点が異なる。
【0157】
図11を参照すると、本発明の第4の実施の形態は、図1に示された第1の実施の形態において、オリジンサーバA1の代わりに、網リソース取得手段F11を有し、かつ網リソース取得手段F11によって取得された網リソース情報に基づいて、動的ミラーリング先の決定を行なう動的ミラーリング先決定手段A13aを備えるオリジンサーバF1となっている点が異なる。動的ミラーリングが行われる先として、適応ミラーノードB1が描かれているが、本実施の形態では、従来型の固定的に配置されるミラーサーバであってもよい。本実施の形態では、以下、動的ミラーリング先のことをミラーサーバと総称する。
【0158】
網リソース取得手段F11は、他ミラーサーバまでの利用可能帯域及び遅延、他ミラーサーバのアクセス負荷状況など、動的ミラーリングに関する網リソース情報を取得する機能を有する。また、網リソース情報としては、上記の他に、他ミラーサーバのCPU負荷、TCPセッション数などのサーバ性能に関する情報を含めることもできる。上記の網リソース及びサーバ性能情報の取得方法として、各ミラーサーバに対して測定パケットを流すことにより動的に取得する方式や、網内各ノード/リンクのリソース情報交換をサポートするルーティングプロトコルによって収集した情報を用いる方式などが考えられる。
【0159】
本実施の形態の動的ミラーリング先決定手段A13aは、網リソース取得手段F11によって得られたリソース情報を基にして後述するアルゴリズムに従った計算を行なう網リソースベース計算手段A130を備え、当該計算結果に従って最適な動的ミラーリング先を決定する。
【0160】
従来は、動的ミラーリングを行う先のミラーサーバを決定する際の優先度として、網リソース情報を考慮していなかったため、典型的な例では、該ミラーサーバによってサポートされるクライアントサイトからの単位時間あたりのコンテンツ取得要求数が用いられていた。このコンテンツ取得要求数とは、動的ミラーリングを行うコンテンツに対する取得要求数であり、該コンテンツの動的ミラーリングを行うことによって、オリジンサーバにおけるコンテンツ取得要求受信数すなわちオリジンサーバのアクセス負荷の減少分を最大化することを目的としている。
【0161】
本実施の形態では、コンテンツ取得要求数以外に各ミラーサーバに関する網リソースを考慮して優先度を決定する点が異なる。以下に、動的ミラーリング先の優先度を決定する際に、コンテンツ取得要求数の他に考慮する網リソースの例を複数挙げる。
【0162】
(1)オリジンサーバに対してコンテンツ取得要求を行うクライアントの属するサイトごとに計測された、オリジンサーバから各クライアントサイトまでの1セッションあたりのTCPスループットと、該クライアントサイトにとってのコンテンツ取得遅延を最小化するように選択されたミラーサーバから、該クライアントサイトまでの1セッションあたりのTCPスループット。
【0163】
(2)上記(1)において、1セッションあたりのTCPスループットの代わりに利用可能帯域としたもの。
【0164】
(3)上記(1)において、1セッションあたりのTCPスループットの代わりにRTT(Round Trip Time)としたもの。
【0165】
(4)上記(1)において、1セッションあたりのTCPスループットの代わりにある固定長データの転送遅延時間(クライアントサイトが下流となる向き)としたもの。
【0166】
(5)オリジンサーバからあるミラーサーバにコンテンツを動的ミラーリングする際のオリジンサーバから該ミラーサーバまでの1セッションあたりのTCPスループット。
【0167】
(6)上記(5)において1セッションあたりのTCPスループットの代わりに利用可能帯域としたもの。
【0168】
以下、上記(1)〜(6)を用いた動的ミラーリング先の決定アルゴリズムのいくつかの実現例について図12〜図14を用いて詳細に説明する。
【0169】
まず、上記(1)を利用する場合のアルゴリズムによって動的ミラーリング先を決定する例を図12を参照して以下に述べる。これをアルゴリズム1とする。
【0170】
オリジンサーバF1は、クライアントの存在するドメインごとに、該ドメインからの単位時間あたりのコンテンツ取得要求数をモニタしている。ここでドメインの例として、ASが挙げられる。以下ドメインはASである場合を例にして説明する。
【0171】
いま、オリジンサーバは、自身の負荷を軽減するためにいくつかのミラーサーバに自身の保持するコンテンツの動的ミラーリングを行うとする。ここでは、動的ミラーリングを行う対象となるミラーサーバ数は与えられているものとする。
【0172】
まず、動的ミラーリング先決定手段A13aは、オリジンサーバにコンテンツ取得要求を行うクライアントが存在する全ASのなかから、単位時間あたりのコンテンツ取得要求数が閾値を超えるASを抽出する(図12のステップS401)。
【0173】
次に、抽出された各ASごとに(ステップS402)、該AS内にあるミラーサーバを1つ選択する(ステップS403)。ここで、該ASにあるミラーサーバを検出し、そのなかから1つを選択する方法としては、各AS内にあるミラーサーバを一元管理している代表管理サーバに問合わせを行い、最もCPU負荷の低いものを選択する方法などが考えられる。
【0174】
抽出された各ASごとに、オリジンサーバから該AS内のクライアントまでの1セッションあたりのTCPスループットを測定し、これをTCPBW1とする(ステップS404)。更に該AS内で選択されたミラーサーバから、該AS内のクライアントまでの1セッションあたりのTCPスループットを測定し、これをTCPBW2とする(ステップS405)。ここで、該AS内のクライアントとは、任意に選択されたいくつかの端末でもよいし、固定的に設置された測定用ポイントなどでもよい。次に、網リソースベース計算手段A130にて、X=N×(TCPBW2/TCPBW1)を計算する(ステップS406)。ここで、Nは該AS内に存在するクライアントからの単位時間あたりのコンテンツ取得要求数である。
【0175】
上記のXを全ての抽出されたASに対して計算し(ステップS407)、Xの値が大きいAS内のミラーサーバから順に、予め与えられた数だけ動的ミラーリングを行う対象として選択する(ステップS408、S409)。
【0176】
上記(2)〜(4)を使う場合のアルゴリズムの例も同様にして考えられる。詳細な手順はアルゴリズム1と同様にして考えられるためここでは省略する。
【0177】
次に、上記(6)を利用する場合のアルゴリズムによって動的ミラーリング先を決定する例を図13を参照して以下に述べる。これをアルゴリズム2とする。
【0178】
ここでは、動的ミラーリングを行う際にコンテンツの転送先となる候補ミラーサーバが複数存在するとし、このなかから限られた数のミラーサーバにだけ動的ミラーリングを行うものとする。すなわち動的ミラーリングの回数が制限されている。このような状況は、1回あたりの動的ミラーリングのコスト(例えば、ディスク使用量等)が与えられており、合計コストが制限されている場合に十分ありえる。この例では、コンテンツは全てオリジンサーバから直接転送されるものとする。
【0179】
まず、動的ミラーリング先の候補である各ミラーサーバに対して(ステップS501)、オリジンサーバから該ミラーサーバまでの利用可能帯域を測定又は取得し、これをAvBWとする(ステップS502)。更に網リソースベース計算手段A130にて、該ミラーサーバに対して動的ミラーリングを行おうとしているコンテンツのサイズSを用いて、S/AvBWを計算する(ステップS503)。これは動的ミラーリング時の予想されるコンテンツ転送遅延である。全ての候補ミラーサーバに対して上記の計算をした後(ステップS504)、S/AvBWの値の小さいものから順に、制限回数まで動的ミラーリングを行う(ステップS505、S506)。
【0180】
次に、上記(1)と上記(6)の網リソースを組み合わせて用いるアルゴリズムによって動的ミラーリング先を決定する例を図14を参照して以下に述べる。これをアルゴリズム3とする。
【0181】
ここでも動的ミラーリングを行う際にコンテンツの転送先となる候補ミラーサーバが複数存在するとし、このなかから限られた数のミラーサーバにだけ動的ミラーリングを行うものとする。まず、各候補ミラーサーバに対して、アルゴリズム1、2と同様にしてTCPBW2/TCPBW1及びAvBW/Sを計算する(図14のステップS601)。ここで各パラメータ取得方法及び計算方法はそれぞれアルゴリズム1、3に述べられた通りである。
【0182】
全ての候補ミラーサーバについて計算が終了した後、TCPBW2/TCPBW1の最小値の逆数をk1、AvBW/Sの最小値の逆数をk2とする(ステップS602)。次に、全候補ミラーサーバについてそれぞれ、
Y=α*k1*TCPBW2/TCPBW1+(1−α)*k2*AvBW/S
を計算する(ステップS603)。ここで、αは0≦α≦1の予め決められた係数である。Yが大きいものから順に、制限回数まで動的ミラーリングを行う(ステップS604、S605)。
【0183】
更に、上記(1)と上記(6)の網リソースを組み合わせて用いるもう1つのアルゴリズムの例を考える。これをアルゴリズム4とする。
【0184】
ここでも動的ミラーリングを行う際にコンテンツの転送先となる候補ミラーサーバが複数存在するとし、このなかから限られた数のミラーサーバにだけ動的ミラーリングを行うものとする。
【0185】
まず、全候補ミラーサーバのなかから、TCPBW2/TCPBW1の値が閾値以上である候補ミラーサーバに選択範囲を絞る。そして、絞られた候補ミラーサーバのなかから、アルゴリズム3によってS/AvBWの値の小さい順に制限回数まで動的ミラーリングを行う。
【0186】
次に、本実施の形態の効果について説明する。
【0187】
本実施の形態では、動的ミラーリング時に、網内のリソース状況を考慮して動的ミラーリング先を決定することにより、動的ミラーリングに伴う性能改善効果を高めることができる。上述したアルゴリズム1〜4の各々において、具体的な性能改善効果を以下に示す。
【0188】
アルゴリズム1では、X=N×(TCPBW2/TCPBW1)が大きくなるミラーサーバに優先的に動的ミラーリングを行う。Xが大きいほど、該AS内にあるミラーサーバへの動的ミラーリングによって、コンテンツ取得遅延の改善効果及び、その改善効果の恩恵を受けるコンテンツ取得要求数が大きいと考えられる。したがって、オリジンサーバの負荷減少効果以外にも、クライアントのコンテンツ取得時の性能を改善することができる。
【0189】
アルゴリズム2では、動的ミラーリング時のオリジンサーバからミラーサーバまでのミラーコンテンツ転送遅延が小さいものを優先的にミラーリング先として選択する。したがって、動的ミラーリングに伴うミラーコンテンツの転送を高速に完了することができ、直ちにオリジンサーバの負荷軽減を行うことができる。また、ミラーコンテンツの転送に、利用可能帯域が小さいリンクはできるだけ利用されないため、このような利用可能帯域の小さいリンク上を流れる他のトラフィックを大量のミラーコンテンツ転送によって阻害する可能性が低くなる。以上の点で、コンテンツ動的ミラーリングシステムの性能を高めることができる。
【0190】
アルゴリズム3では、アルゴリズム1におけるTCPBW2/TCPBW1とアルゴリズム2におけるAvBW/Sをそれぞれ最小値で正規化し、それぞれに任意の重み付けをして加えた値を比較してミラーリング先を選択する。したがって、クライアントにおけるコンテンツ取得遅延の改善効果と、アルゴリズム2による効果を両立したいときに、それぞれの重要度に応じた重み付けを行うことにより、最適な動的ミラーリング先を選択することができる。
【0191】
アルゴリズム4では、まずクライアントにおけるコンテンツ取得遅延の改善効果がある一定以上であるものだけに候補ミラーサーバを絞り、そのなかから、オリジンサーバからミラーサーバまでのミラーコンテンツ転送遅延が小さいものから優先的にミラーリング先を選択する。したがって、クライアントにおけるコンテンツ取得遅延の改善効果をある一定値以上に保ったまま、アルゴリズム2による効果を出すことが可能になり、クライアント側の性能改善とオリジンサーバ側の性能改善効果を両立できる。
【0192】
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。
【0193】
図15を参照すると、本実施の形態は、オリジンサーバG1が、図11に示された第4の実施の形態におけるオリジンサーバF1の構成に加え、ミラーリングツリー作成手段G11を有する点で異なる。更に、図16を参照すると、適応ミラーノードH1内の適応ミラーノードにおける動的ミラーリング要求受付手段H11が、図2における適応ミラーノードB1内の動的ミラーリング要求受付手段B11の構成に加え、ミラーコンテンツ中継手段H111を有する点で異なる。適応ミラーノードH1は、適応ミラーノードB1、E1、適応ミラープロキシサーバD1のいずれかにおいて、動的ミラーリング要求受付手段B1を動的ミラーリング要求受付手段H1で置き換えたものに相当する。
【0194】
ミラーリングツリー作成手段G11は、動的ミラーリング先決定手段A13によって決定された動的ミラーリング先に対して、ミラーコンテンツを転送するための最適な経路であるミラーリングツリーを計算する。
【0195】
ミラーコンテンツ中継手段H111は、前記ミラーリングツリーの上流のオリジンサーバG1又は他の適応ミラーノードH1から転送されたミラーコンテンツを中継し、該ミラーリングツリーの下流にある適応ミラーノードH1へ該ミラーコンテンツを転送する機能を有する。このとき、該ミラーコンテンツを中継する適応ミラーノードH1が、該ミラーコンテンツのミラーサーバとなる必要がある場合は、中継時に、同時に記憶装置内に該ミラーコンテンツを記憶する。
【0196】
以下、オリジンサーバG1から動的ミラーリングが行われる対象は、適応ミラーノードH1であるとして説明を行うが、本実施の形態では、従来型の固定的に配置されるミラーサーバにおいて、ミラーコンテンツ中継手段H111によって実現される機能と同じ機能を有するミラーサーバであってもよい。
【0197】
次に、図17のフローチャートと図18を参照して本実施の形態の動作について詳細に説明する。
【0198】
オリジンサーバA1内の動的ミラーリング先決定手段A13は、ミラーコンテンツの動的ミラーリング先となる1つあるいは複数の適応ミラーノードを決定する(図17のステップS701)。このときの決定アルゴリズムの例としては、本発明の第4の実施の形態に述べられたものが挙げられる。
【0199】
次に、ミラーリングツリー作成手段G11が、ステップS701によって決定された動的ミラーリング先となる適応ミラーノードに対する、ミラーコンテンツの転送経路となるミラーリングツリーを計算する(ステップS702)。ここで作成されるミラーリングツリーは、動的ミラーリング先となる適応ミラーノードだけで構成される。ミラーリングツリーの作成には、ミラーリングツリーの構成要素となるオリジンサーバ及び適応ミラーノード自身のリソース情報と、ミラーリングツリーの構成要素となるオリジンサーバ及び適応ミラーノード相互間のミラーコンテンツの転送経路におけるリソース情報とのどちらか一方、あるいは両方を用いる方法が考えられる。
【0200】
図18を用いて、ステップS702におけるミラーリングツリーの計算アルゴリズムの例を述べる。オリジンサーバ113は、ミラーコンテンツを適応ミラーノード114、115の両方に転送したいとする。ここでは、ミラーリングツリーは、オリジンサーバと適応ミラーノード間及び、動的ミラーリング先となる適応ミラーノード相互間の転送経路における利用可能帯域の逆数をコストとしてダイクストラ(Dijkstra)アルゴリズムで計算される。このアルゴリズムで作成されるミラーリングツリーには、オリジンサーバ及び適応ミラーノードだけがその構成要素として含まれる。そして、ミラーリングツリーによる転送経路は、ミラーコンテンツ転送時の利用可能帯域を最大化するものである。各転送経路における利用可能帯域は表303に示される。計算の結果、オリジンサーバ113を頂点とし、転送経路217(113→114)を介して適応ミラーノード114を経由し、更に転送経路220(114→115)を介して適応ミラーノード115に至るミラーリングツリー401が作成される。
【0201】
そして、中継用適応ミラーノードを追加的に選択する必要があるかどうかを判定する(ステップS703)。この判定基準の例として、a.「ステップS702で作成したミラーリングツリー上において、ボトルネックとなる利用可能帯域が閾値以下である」、あるいは、b.「ミラーコンテンツ転送における総トラフィック量を削減することができる中継用適応ミラーノードが存在する」などが挙げられる。また、選択する中継用適応ミラーノードの数を制限してもよい。その理由は、多くの中継用適応ミラーノードを選択すると、ステップS705で行われるミラーリングツリーの計算コストが大きくなるばかりか、多くの中継用適応ミラーノードを経由することで、ミラーコンテンツ転送における総トラフィック量が大きくなりがちだからである。
【0202】
ステップS703において、中継用適応ミラーノードを追加的に選択する必要があると判定された場合、網内に配置されている適応ミラーノードから、最適な中継用適応ミラーノードを選択する(ステップS704)。ステップS703において、中継用適応ミラーノードを追加的に選択する必要があると判定されなかった場合は、ステップ702で計算されたミラーリングツリーを、ミラーコンテンツの転送経路として決定する。
【0203】
ステップS704における中継用適応ミラーノードの選択アルゴリズムの例を挙げる。ここでは、図18におけるミラーリングツリー401に対して、ステップS703における判定基準の例aが用いられるとし、ボトルネックとなる利用可能帯域の閾値が100kbpsであるとする。ミラーリングツリー401のボトルネックリンク(転送経路217)となる利用可能帯域は80kbpsであるため、中継用適応ミラーノードが追加的に選択される必要があると判定される。また、選択する中継用適応ミラーノードの数は1つに制限されているものとする。本アルゴリズムの例では、利用可能帯域が閾値以下となる転送経路を中継用適応ミラーノードを1ホップ経由して迂回する。
【0204】
この中継用適応ミラーノードは、その利用可能帯域が閾値以下となる転送経路において、その上流側のオリジンサーバ又は適応ミラーノードが存在するドメイン(例えばインターネットにおけるAS)に隣接するドメイン内に存在する適応ミラーノードのなかから、中継した場合に利用可能帯域を最大化するように選択される。ここでは、最もオリジンサーバ113→適応ミラーノード114までの利用可能帯域を最大化するような中継用適応ミラーノードが選択される。ただし、転送経路217(113→114)よりも利用可能帯域が大きくなる中継用適応ミラーノードが存在しない場合は、中継用適応ミラーノードは選択しない。ここでは、転送経路219(113→116)、222(116→114)を介してオリジンサーバ113と適応ミラーノード114との間を中継する、適応ミラーノード116が中継用適応ミラーノードとして選択されたとする。適応ミラーノード116が中継用適応ミラーノードとして用いられた場合は、オリジンサーバと適応ミラーノードとの間の利用可能帯域は150kbpsになる。
【0205】
ステップS704で中継用適応ミラーノードが選択されたのち、再度ミラーリングツリーを作成する(ステップS705)。ここで作成されるミラーリングツリーは、動的ミラーリング先となる適応ミラーノードに加え、選択された中継用ミラーノードがその構成要素に含められる。ここで用いられるミラーリングツリーの計算アルゴリズムは、ステップ702で用いられる計算アルゴリズムと同じでもよいし、異なるものでもよい。異なるアルゴリズムの例として、ステップS702において計算されたミラーリングツリーにおいて、利用可能帯域がボトルネックとなっていた転送経路部分を、中継用適応ミラーノードを経由する転送経路に置き換えたミラーリングツリーを作成する、などがある。ステップS703において、中継用適応ミラーノードを追加的に選択する必要があると判定された場合は、ステップS705で計算されたミラーリングツリーを、ミラーコンテンツの転送経路として決定する。
【0206】
図18の例では、ミラーリングツリー401に対して、オリジンサーバ113と適応ミラーノード114との間の転送経路217(113→114)が適応ミラーノード116を中継する転送経路、219(113→116)、222(116→114)に置き換えられ、ミラーリングツリー402がミラーコンテンツの転送経路として決定したとする。
【0207】
次に、ミラーコンテンツの転送経路として決定されたミラーリングツリー上の各適応ミラーノードに対してミラーコンテンツ転送要求が送信される(ステップS706)。ここで、ミラーコンテンツ転送要求に含まれる情報は、図3のステップS106において述べられた情報に加え、ミラーリングツリーの経路情報が含められると共に、中継用適応ミラーノードに対しては、更にミラーコンテンツのミラーリング処理を要求するか中継処理を要求するかという情報が含められる。
【0208】
ステップS706においてミラーコンテンツ転送要求が送信された全適応ミラーノードからの受理応答をオリジンサーバA1が受信すると、ミラーコンテンツをミラーリングツリー上に転送する(ステップS707、S708)。
【0209】
図18の例において、ミラーリングツリー402上にミラーコンテンツが転送される場合、オリジンサーバは適応ミラーノード116へ転送経路219(113→116)を介してミラーコンテンツの送信を行う。適応ミラーノード116は受信したミラーコンテンツを中継し、転送経路222(116→114)を介して適応ミラーノード114へ送信する。ここで、適応ミラーノード116はいったん記憶装置内に受信したミラーコンテンツを記憶し、全ミラーコンテンツ受信後に適応ミラーノード114への送信を行ってもよいし、記憶せずにリアルタイムに中継を行ってもよい。ミラーコンテンツの転送遅延削減の面では、後者の方が望ましい。適応ミラーノード114は、受信したミラーコンテンツを記憶装置内に記憶すると同時に、転送経路220(114→115)を介して適応ミラーノード115への中継を行う。適応ミラーノード115は、受信したミラーコンテンツを記憶装置内に記憶し、ミラーコンテンツの受信が完了すると、オリジンサーバ113へミラーコンテンツの全転送が完了したことを示すメッセージを送信する。
【0210】
ここでは、ミラーリングツリー402上にミラーコンテンツが転送される場合について説明されたが、ミラーリングツリーがマルチキャストツリー状になる場合についても図18を用いて簡単に説明する。ここでは、オリジンサーバ113は、ミラーリングツリー403を用いて適応ミラーノード114、115、117へミラーコンテンツの転送を行うものとする。まず、オリジンサーバ113は、適応ミラーノード114へ転送経路217(113→114)を介してミラーコンテンツの送信を行う。適応ミラーノード114は、受信したミラーコンテンツを記憶装置内に記憶すると同時に、ミラーリングツリー403における下流側のノードである、適応ミラーノード115、117へそれぞれ転送経路220(114→115)、転送経路223(114→117)を介してミラーコンテンツの中継を行う。
【0211】
ステップS706においてミラーコンテンツ転送要求が送信された全適応ミラーノードの内、1つ以上の適応ミラーノードから拒否応答を受信した場合、ステップS701に戻り、動的ミラーリング先の候補となる適応ミラーノードを再選択する(ステップS707)。その他、拒否応答のあった適応ミラーノードだけを取り除いて、ステップS703でミラーリングツリーを再計算する方法なども考えられる。
【0212】
以上に述べられた本実施の形態では、ミラーリングツリーは、オリジンサーバを頂点とするように作成されたが、オリジンサーバの他に、ミラーコンテンツと同一のコンテンツが既にミラーリングされている他のミラーサーバを頂点としてもよい。複数の適応ミラーノードに動的ミラーリングを同時に行う場合、各適応ミラーノードごとに、最もミラーコンテンツの転送遅延が小さくなるようにミラーリングツリーの頂点となるオリジンサーバ又はミラーサーバを選択し、こうして選択されたオリジンサーバ又はミラーサーバの各々を頂点とする複数のミラーリングツリーを作成して転送を行ってもよい。
【0213】
次に、本実施の形態の効果について説明する。
【0214】
従来、オリジンサーバから1つあるいは複数のミラーサーバに対して動的ミラーリングを行う際に、直接オリジンサーバからミラーサーバに対してミラーコンテンツの転送が行われるため、ミラーコンテンツ転送に伴う大量のトラフィック量によって、網に負荷をかけてしまうおそれがあった。特に、オリジンサーバからミラーサーバまでの転送経路に利用可能帯域値の非常に小さいリンクが存在する場合、ミラーリングに要する転送遅延が大きくなるばかりでなく、ミラーコンテンツの転送時の大量のトラフィックによって、そのリンクを通過する他のトラフィックを阻害するおそれがある。また、複数のミラーサーバに同時に同一コンテンツの動的ミラーリングを行う場合、各ミラーサーバに同じミラーコンテンツの転送を並列に行うため、転送トラフィックが網に与える負荷はその大きかった。
【0215】
本実施の形態では、オリジンサーバから動的ミラーリング先となる適応ミラーノードまでのミラーコンテンツの転送経路において、他の適応ミラーノードを中継用ホップとして利用する転送経路を選択することができる。そのため、ミラーコンテンツの転送遅延を削減し、転送経路上の他のトラフィックを阻害しないようなミラーコンテンツの転送が可能になる。
【0216】
また、特に複数のミラーリング先に同時に動的ミラーリングを行う場合、オリジンサーバは、ミラーリング先となる適応ミラーノードでミラーリングツリーを作成し、ミラーコンテンツは作成されたミラーリングツリーにそって転送される。このとき、ミラーリング先となる適応ミラーノード以外の他の適応ミラーノードを中継用にミラーリングツリーに加えてもよい。したがって、複数のミラーリング先へのミラーコンテンツの転送において、その転送遅延と転送トラフィック量を削減することが可能になる。
【0217】
(実施例)
次に、本発明の第1の実施例を、図面を参照して説明する。この第1の実施例は、本発明の第1及び第2の実施の形態に対応するものである。
【0218】
図19を参照すると、本実施例は、AS2〜5の4つのASから構成され、それぞれAS内ネットワーク6〜9を有している。また、AS間はリンク213〜216によって接続されている。AS2内にはオリジンサーバ105が存在し、AS3〜5内にはそれぞれ適応ミラープロキシサーバ106〜108が存在する。また、各AS内には、それぞれクライアント109〜112が存在する。ここでは、1台のクライアントマシンではなく、各AS内に存在するクライアント群をまとめたものとして示している。
【0219】
本実施例では簡単のために、オリジンサーバ105内にあるコンテンツの内、URLが“http://www.biglobe.com/news/”で始まるコンテンツ(以下newsコンテンツ)だけを動的ミラーリングの対象とする。
【0220】
適応ミラープロキシサーバは106〜108は、それぞれ各AS内にあるクライアント109〜112のプロキシサーバとして設定されている。各クライアントが送信する全てのコンテンツ取得要求(HTTPリクエスト)は、いったん各AS内のプロキシサーバに受信され、リクエストに対応するコンテンツがキャッシュされていれば直接コンテンツをクライアントに送信する。リクエストに対応するコンテンツをキャッシュしていない場合は、オリジンサーバに該リクエストを代理で送信する。
【0221】
オリジンサーバ105は、newsコンテンツの単位時間あたりのリクエスト数をクライアントの存在するASごとにカウントし、その値が閾値を上回った場合、該ASにnewsコンテンツを動的ミラーリングするものとする。ここではその閾値を50000リクエスト/時間とする。
【0222】
既に適応ミラープロキシサーバ107には、クライアント111からのリクエスト数が閾値を超えるため、既にnewsコンテンツが動的ミラーリングされており、ミラーサーバとして動作しているとする。クライアント111におけるnewsコンテンツに対するリクエストは、全て適応ミラープロキシサーバ107に送信される。適応ミラープロキシサーバ107は該リクエストがミラーコンテンツに対するものであることを識別し、オリジンサーバ105に該リクエストを送信することなく直接応答する。
【0223】
いま、オリジンサーバ105において、クライアント110からのnewsコンテンツに対するリクエスト数が、閾値である50000リクエスト/時間を超えたとする。
【0224】
オリジンサーバ105は、AS3内にある適応ミラーノードを検索し、適当な適応ミラーノードに動的ミラーリングを行おうとする。
【0225】
ここでは、適応ミラープロキシサーバ106が、オリジンサーバ105に対してクライアント110の代理に送信するHTTPリクエスト内に、プロキシサーバ機能の他に適応ミラーノードの機能をもつことを示す情報が含まれているものとする。オリジンサーバ105は、その情報により、AS3内には適応ミラープロキシサーバ106が存在するということを認識し、適応ミラープロキシサーバ106にnewsコンテンツの動的ミラーリングを行おうと決定する。
【0226】
オリジンサーバ105は、適応ミラープロキシサーバ106に対して、動的コンテンツミラーリング要求を送信する。適応ミラープロキシサーバ106は、この要求を受信して、受理できるならば受理応答をオリジンサーバ105に対して送信する。
【0227】
次に、オリジンサーバ105は、既にnewsコンテンツをもつ他の適応ミラーノードの各々から、適応ミラープロキシサーバ106までの利用可能帯域を調べる。オリジンサーバ105からの利用可能帯域と比較して大きいものがあれば、最も利用可能帯域が大きい適応ミラーノードからミラーコンテンツの送信を行う。
【0228】
ここでは、オリジンサーバ105から適応ミラープロキシサーバ106までの利用可能帯域と、適応ミラープロキシサーバ107から適応ミラープロキシサーバ106までの利用可能帯域とを比較し、後者の方が大きいとする。
【0229】
オリジンサーバ105は、適応ミラープロキシサーバ107に対し、newsコンテンツを適応ミラープロキシサーバ106まで送信するように指示を送信する。
【0230】
適応ミラープロキシサーバ107は、この指示を受信すると、newsコンテンツを適応ミラープロキシサーバ106に送信する。
【0231】
適応ミラープロキシサーバ106がnewsコンテンツを全て受信すると、以後newsコンテンツのミラーサーバとして機能し、クライアント110から受信したnewsコンテンツに対するHTTPリクエストは直接応答される。
【0232】
次に第2の実施例を、図面を参照して説明する。この第2の実施例は、第4の実施の形態に対応するものであり、特に、アルゴリズム1を用いて動的ミラーリング先を決定する場合に対応する。本実施例では、適応ミラープロキシサーバ106〜108は、通常のミラーサーバであると読みかえてもよい。
【0233】
本実施例でも同じく図19の網構成が用いられるものとする。ここで、オリジンサーバ105内には、newsコンテンツが存在し、newsコンテンツは、適応ミラープロキシサーバ106〜108のいずれにもミラーリングが行われていないとする。
【0234】
オリジンサーバ105は、newsコンテンツの単位時間あたりのリクエスト数をクライアントの存在するASごとにカウントし、その値が閾値を上回った場合、該AS内のミラーサーバにnewsコンテンツを動的ミラーリングすることができる。ここではその閾値を50000リクエスト/時間とする。
【0235】
AS3〜5には、それぞれに対応するクライアントであるクライアント110〜112が存在するが、いま、クライアント110〜112からのリクエスト数Nがそれぞれ10万リクエスト/時、20万リクエスト/時、30万リクエスト/時であり、全て閾値である50000リクエスト/時間を上回ったとする。各AS内には、適応ミラープロキシサーバ106〜108がそれぞれミラーサーバとして存在するということを、オリジンサーバ105は第1の実施例と同様にして認識している。したがって、オリジンサーバ105は、各AS内に存在する適応ミラープロキシサーバ106〜108のそれぞれに対してnewsコンテンツの動的ミラーリングを行うことができるが、ここでは、適応ミラープロキシサーバ内ディスクスペースの使用に対して課金が発生するため、動的ミラーリング先は2つだけに制約されているものとする。そこで、第4の実施の形態におけるアルゴリズム4を用いて2つに絞る。
【0236】
まず、全てのASに対して、オリジンサーバ105から該AS内にあるクライアントまでの1セッションあたりのTCPスループットであるTCPBW1と、該AS内に存在する適応ミラープロキシサーバから該AS内にあるクライアントまでの1セッションあたりのTCPスループットであるTCPBW2を測定する。ここで、該AS内にあるクライアントは、該AS内で設定された測定用ポイントが用いられるものとする。測定結果を図20の表302に示す。
【0237】
表302に示された値と、各ASからの単位時間あたりのリクエスト数より、AS3〜5に対してそれぞれ、X=N×(TCPBW2/TCPBW1)を計算する。その結果、AS3〜5に対してそれぞれ、X=150万、400万、300万である。Xの値は、AS4、5、3の順に大きい。したがって、適応ミラープロキシサーバ107と108がnewsコンテンツの動的ミラーリング先として決定される。
【0238】
上述したコンテンツ動的ミラーリングシステムは、ハードウェア的に実現することは勿論として、コンピュータシステムの磁気ディスク、半導体メモリその他の記録媒体に記録された、上述した各機能を実現するためのプログラムによってソフトウェア的に実現することも可能である。上述した各実施の形態によるコンテンツ動的ミラーリングシステムでは、オリジンサーバA1と適応ミラーノードB1の動的ミラーリングプログラムP10、P20が、記録媒体からコンピュータシステムのデータ処理部(CPU)に読み込まれ、データ処理部の動作を制御することにより、上述した各手段の機能を実現して動的ミラーリングを実行する。すなわち、オリジンサーバ及び適応ミラーノードにおいて、それぞれ図3、図5、図7、図9、図12、図13、図14及び図17の処理を実行する。
【0239】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【0240】
【発明の効果】
以上説明したように本発明によれば、以下のような効果が達成される。
【0241】
第1の効果は、オリジンサーバは網内に配置された適応ミラーノードを用いて、オリジンサーバのアクセス負荷状況に応じて適応的にミラーサーバ網を構築し、負荷分散の効果を最大限に出すことができる。
【0242】
その理由は、網内に配置されているルータやプロキシサーバ等の任意のノードに適応ミラーノード機能をもたせることにより、任意のオリジンサーバからの動的ミラーリング要求を受けてミラーサーバとして機能させることができ、オリジンサーバは、適応ミラーノード化された網内の任意のノードを動的ミラーリングの対象とできるからである。
【0243】
第2の効果は、クライアントは、常に低遅延、高スループットでコンテンツを取得することが可能になる。
【0244】
その理由は、オリジンサーバにアクセスが集中してコンテンツ取得時の遅延、スループットの性能が低下した場合は、取得要求の頻度が高いコンテンツの複製が自動的にクライアントにとって最寄りの適応ミラーノードにコピーされ、クライアントは最寄りの適応ミラーノードから該コンテンツを取得することが可能だからである。
【0245】
第3の効果は、従来プロキシサーバとミラーサーバの機能を独立したノードとして実現しなければいけないために要した設置コスト及び管理コストを削減することができる。
【0246】
その理由は、プロキシサーバ上に適応ミラーノード機能を実装することにより、プロキシサーバの提供する機能とミラーサーバの提供する機能の両方を同一ノード上で提供するすることが可能になるからである。
【0247】
第4の効果は、SSLプロトコルによる認証・暗号処理、CGIスクリプトの実行等を要するコンテンツに対する取得要求による、オリジンサーバへのトラフィック及びオリジンサーバのアクセス負荷を削減することができる。
【0248】
その理由は、プロキシサーバは従来コンテンツキャッシュ機能しか有しないために、上記のコンテンツに対する取得要求は受け付けることができず、オリジンサーバへ要求を転送するしかなかったが、適応ミラーノード機能を実装してミラーサーバとしての機能をもたせることにより、上記のコンテンツを取り扱うことが可能になるからである。
【0249】
第5の効果は、コンテンツのミラーリングが行われている場合に、従来はクライアント側で適当なミラーサーバを選択し、その宛先IPアドレスに対応するサーバにコンテンツ取得要求を送信しなければならなかったが、その必要なしに、クライアント側でプロキシサーバの設定を行うだけでミラーコンテンツを取得することができる。
【0250】
その理由は、適応ミラープロキシサーバを配下のクライアント群におけるプロキシサーバとして設定することにより、配下のクライアント群からの全てのコンテンツ取得要求はこの適応ミラープロキシサーバに受信され、適応ミラープロキシサーバは、各コンテンツ取得要求をみて、ミラーリングされているコンテンツに対する取得要求にのみ直接応答し、その他のコンテンツに対する取得要求は通常のプロキシサーバとしての処理を選択的に行うからである。
【0251】
第6の効果は、認証、課金処理を行うオリジンサーバの負荷を軽減できる。
【0252】
その理由は、認証、課金処理は、従来、オリジンサーバでしか行うことができなかったが、動的ミラーリングに伴うオリジンサーバから適応ミラーノードへのミラーコンテンツ転送の際、同時に、認証、課金処理もオリジンサーバから適応ミラーノードに委託することにより、適応ミラーノードにおいて、認証、課金処理を行うことが可能になるからである。
【0253】
第7の効果は、クライアントは、常に低遅延、高スループットで認証、課金処理を必要とするコンテンツの取得を行うことが可能になる。
【0254】
その理由は、オリジンサーバにアクセスが集中してコンテンツ取得時の遅延、スループットの性能が低下した場合は、認証、課金処理を要するコンテンツであっても、動的にクライアントに最寄りの適応ミラーノードに該コンテンツの複製が自動的にクライアントにとって最寄りの適応ミラーにコピーされ、同時に認証、課金処理の委託がされるため、クライアントは該コンテンツを最寄りの適応ミラーノードから取得することが可能だからである。
【0255】
第8の効果は、動的ミラーリングを行う際に、動的ミラーリングを行うことによる性能改善効果を最大化するようにミラーサーバの選択をすることができる。
【0256】
その理由は、動的ミラーリング時に網内リソース状況を考慮して行うためである。
【0257】
第9の効果は、動的ミラーリング時に、ミラーコンテンツの転送遅延を削減し、転送経路上の他のトラフィックを阻害しないようなミラーコンテンツの転送ができる。
【0258】
その理由は、オリジンサーバから動的ミラーリング先となる適応ミラーノードまでのミラーコンテンツの転送経路において、他の適応ミラーノードを中継用ホップとして利用する転送経路を選択することができるからである。
【0259】
第10の効果は、複数のミラーリング先へのミラーコンテンツの転送において、その転送遅延と転送トラフィック量を削減することが可能になる。
【0260】
その理由は、複数のミラーリング先に同時に動的ミラーリングを行う場合、オリジンサーバは、ミラーリング先となる適応ミラーノード及び中継用適応ミラーノードから構成されるミラーリングツリーを作成し、ミラーコンテンツは作成されたミラーリングツリーにそって転送されることができるからである。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態の構成を示すブロック図である。
【図2】 本発明の第1の実施の形態における動的ミラーリング要求受付手段の構成を詳細に示すブロック図である。
【図3】 本発明の第1の実施の形態のオリジンサーバの動作を示すフローチャートである。
【図4】 本発明の第1の実施の形態のオリジンサーバのミラーコンテンツ転送手段の詳細な構成を示すブロック図である。
【図5】 本発明の第1の実施の形態の最も転送遅延が小さくなるミラーサーバから動的ミラーリングを行う方式の詳細な動作を説明するフローチャートである。
【図6】 本発明の第1の実施の形態で最も転送オーバヘッドが少ないミラーサーバから動的ミラーリングを行う方式の例を示す図である。
【図7】 本発明の第1の実施の形態のミラーサーバの動作を示すフローチャートである。
【図8】 本発明の第2の実施の形態の構成を示すブロック図である。
【図9】 本発明の第2の実施の形態の適応ミラープロキシサーバの動作を示すフローチャートである。
【図10】 本発明の第3の実施の形態の構成を示すブロック図である。
【図11】 本発明の第4の実施の形態の構成を示すブロック図である。
【図12】 本発明の第4の実施の形態におけるアルゴリズム1の動作を示すフローチャートである。
【図13】 本発明の第4の実施の形態におけるアルゴリズム2の動作を示すフローチャートである。
【図14】 本発明の第4の実施の形態におけるアルゴリズム3の動作を示すフローチャートである。
【図15】 本発明の第5の実施の形態のオリジンサーバの構成を示すブロック図である。
【図16】 本発明の第5の実施の形態の適応ミラーノードの構成を示すブロック図である。
【図17】 本発明の第5の実施の形態のオリジンサーバの動作を示すフローチャートである。
【図18】 本発明の第5の実施の形態におけるミラーリングツリーの作成例を示す図である。
【図19】 本発明を適用した第1の実施例における網構成図である。
【図20】 本発明を適用した第2の実施例における1セッションあたりのTCPスループットの測定結果を示す図である。
【符号の説明】
A1 オリジンサーバ
A10 記憶装置
A11 サーバ負荷測定手段
A12 ミラーコンテンツ決定手段
A13 動的ミラーリング先決定手段
A14 適応ミラーノード検出手段
A15 動的ミラーリング要求手段
A16 ミラーコンテンツ転送手段
A161 他ミラーサーバとの通信手段
A162 ソース決定手段
A163 適応ミラーノードとの通信手段
B1 ミラーサーバ
B10 記憶装置
B11 動的ミラーリング要求受付手段
B12 要求データ受信部
B13 応答コンテンツ作成手段
B14 コンテンツ応答手段
B101 ミラーコンテンツ記憶部
B111 データ送受信手段
B112 動的ミラーリング要求受理判別手段
B113 ミラーコンテンツ受信手段
B114 解凍・復号化手段
C1 クライアント
D1 適応ミラープロキシサーバ
D10 記憶装置
D11 要求データ受信部
D12 動作決定手段
D13 キャッシュヒット判定手段
D14 コンテンツ取得要求転送先決定手段
D15 コンテンツ取得要求転送手段
D101 キャッシュ記憶部
E1 適応ミラーノード
E10 記憶装置
E11 動的ミラーリング要求受付手段
E12 要求データ受信部
E13 認証課金情報処理手段
E101 認証課金情報管理部
F1 オリジンサーバ
F11 網リソース取得手段
G1 オリジンサーバ
G11 ミラーリングツリー作成手段
H1 適応ミラーノード
H11 動的ミラーリング要求受付手段
H111 ミラーコンテンツ中継手段
1 バックボーンネットワーク
2〜5 AS
6〜9 AS内ネットワーク
101、105 オリジンサーバ
106〜108 適応ミラープロキシサーバ
109〜112 クライアント
113 オリジンサーバ
114〜117 適応ミラーノード
201〜216 リンク
217〜223 転送経路
301 各サーバ間の利用可能帯域を示す表
302 各サーバ/クライアント間のTCPスループットを示す表
303 各転送経路における利用可能帯域を示す表
401〜403 ミラーリングツリー[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a dynamic content mirroring system, and in particular, distributes content for distribution such as WWW (World Wide Web) content and video content for the purpose of load distribution of an origin server or a mirror server on which content is already mirrored. The present invention relates to a content dynamic mirroring system for mirroring to a mirror server.
[0002]
[Prior art]
Conventionally, this type of content dynamic mirroring system has been used to dynamically mirror content to other mirror servers in accordance with the load status of the origin server to achieve load distribution.
[0003]
For example, JP-A-11-85604 describes a dynamic mirroring system for continuous media content.
[0004]
The content mirroring system described in this publication causes an access load when content requests are generated from a large number of terminal devices to a media server storing continuous media content such as video and audio. Identify the content, analyze the access situation from the terminal device to the identified content, predict the time exceeding the limit value of the access load that the media server can handle, and before reaching the limit value that the media server can handle, Dynamic content placement can be changed by creating a copy of the content or by rearranging the location of the content and other content.
[0005]
In addition, in the mirroring system disclosed in Japanese Patent Laid-Open No. 2001-69169, it is detected whether the load of a specific server holding content exceeds a reference value, and when the load exceeds the reference value, the server Are copied to another different server (mirror server), and an end host accessing via a network accesses a specific server or a server having a transfer path closest to the mirror server.
[0006]
[Problems to be solved by the invention]
As described above, the conventional techniques have the following problems.
[0007]
The first problem is that even if content is dynamically mirrored, the mirror server to be dynamically mirrored must be selected from a group of mirror servers that are fixedly arranged in advance. It is.
[0008]
Therefore, the effect of load distribution is limited by the number and position of mirror server groups that are fixedly arranged in advance, and there is a possibility that load distribution cannot be achieved efficiently. In order to solve this problem, for example, even if a large number of mirror servers are arranged everywhere in the network so that a load distribution effect can be generated flexibly in any access situation, its installation cost and management cost Is not realistic.
[0009]
The second problem is that dynamic mirroring considering the resource status in the network cannot be performed.
[0010]
For example, when trying to perform dynamic mirroring of 125 Mbytes content from an origin server, there are two candidate mirror servers, and each candidate mirror server is designated as A and B. Suppose you do. Candidate mirror servers A and B are selected to minimize the content transfer delay for client sites C and D, respectively. At this time, the available bandwidth from the origin server to the clients C and D is assumed to be 1 Mbit / sec. Furthermore, it is assumed that the available bandwidths from the candidate mirror server A to the client site C and from the candidate mirror server B to the client site D are 1 Mbit / sec and 100 Mbit / sec, respectively. In this case, when dynamic mirroring is performed on the candidate mirror server B, the available bandwidth at the time of content acquisition for the client D increases dramatically. On the other hand, even if dynamic mirroring is performed on the candidate mirror server A, the origin server The available bandwidth at the time of content acquisition for client C does not change.
[0011]
In another example, similarly, when dynamic mirroring of 125 Mbyte content from the origin server is performed to either of the candidate mirror servers A and B, the available bandwidth from the origin server to each candidate mirror server And the candidate mirror server A is 100 Mbit / sec, and the candidate mirror server B is 1 Mbit / sec. At this time, the content transfer delay required for performing dynamic mirroring on the candidate mirror server A is 10 seconds, whereas when dynamic mirroring is performed on the candidate mirror server B, 1000 seconds are required. If a reduction in the load on the origin server is required immediately, the difference in the transfer delay cannot be ignored, which causes the load distribution performance to be affected.
[0012]
From the above example, it can be seen that the performance improvement effect associated with dynamic mirroring can be enhanced by considering the resource status in the network when performing dynamic mirroring.
[0013]
The third problem is that, in dynamic mirroring, there is a possibility that a load is applied to the network due to a large amount of traffic accompanying the mirror content transfer from the origin server to the mirror server. In addition, when dynamic mirroring of the same content is simultaneously performed on a plurality of mirror servers, the amount of traffic increases.
[0014]
For example, if there is a link with a very small available bandwidth value on the transfer path from the origin server to the mirror server, not only will the transfer delay required for mirroring increase, but the large amount of traffic when transferring mirror content May interfere with other traffic passing through the link.
[0015]
When dynamic mirroring of the same content is simultaneously performed on a plurality of mirror servers, the same mirror content is transferred in parallel to each mirror server, so the load of transfer traffic on the network increases accordingly.
[0016]
The first object of the present invention is to solve the above-mentioned drawbacks of the prior art, and by making any node in the network adaptively become a mirror server, an optimal mirror server group can be obtained according to the access load situation with respect to the origin server. It is to provide a content dynamic mirroring system that can be generated.
[0017]
The second object of the present invention is to provide a content dynamic mirroring system that can improve the performance improvement effect associated with dynamic mirroring by solving the above-mentioned drawbacks of the prior art and considering the resource status in the network. There is.
[0018]
The third object of the present invention is to solve the above-mentioned drawbacks of the prior art and reduce the mirror content transfer delay and transfer traffic volume when performing dynamic mirroring from the origin server to one or more mirror servers. It is an object of the present invention to provide a content dynamic mirroring system capable of performing the above.
[0019]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides an origin server that performs dynamic mirroring for copying mirror content, which is a copy of all or part of content held by its own node, to another mirror server in the network, Server load measuring means for measuring a parameter indicating performance degradation of the origin server accompanying a content acquisition request from the server and determining whether to perform the dynamic mirroring based on the measurement result; and content held by the origin server Mirror content determination means for selecting which of the content as mirror content to perform the dynamic mirroring, Either network resource information or mirror server performance information Or a network resource acquisition unit having a function of acquiring both, and performing a calculation according to a preset algorithm based on the network resource information acquired by the network resource acquisition unit. Dynamic mirroring destination determining means for determining whether to copy to the mirror server, and dynamic for performing the dynamic mirroring on the node that is the dynamic mirroring destination determined by the dynamic mirroring destination determining means A dynamic mirroring request unit that issues a mirroring request, and when the dynamic mirroring request is accepted, the mirror content determined by the mirror content determination unit is transferred to the node that is determined as a dynamic mirroring destination. Mirror content transfer means, and the dynamic mirror The ring destination determining unit is measured from the origin server measured for each client site, to which the client that makes a content acquisition request to the origin server belongs, out of the network resource information acquired by the network resource acquiring unit. The first content transfer throughput per session to the client site is W1, and the second per session from the mirror server selected to minimize the content acquisition delay for the client site to the client site. The content transfer throughput is W2, the number of content acquisition requests from the client site per unit time is N, and the calculation is performed according to the formula of N × (W2 / W1). Based on the value of the calculation result The dynamic mirror A priority for determining a ring destination is defined.
[0020]
The present invention of claim 2 is an origin server that performs dynamic mirroring that copies mirror content, which is a copy of all or part of the content held by the node, to another mirror server in the network. content Take A server load measuring means for measuring a parameter indicating performance degradation of the origin server in accordance with an acquisition request and determining whether or not to perform the dynamic mirroring based on the measurement result; and of content held by the origin server Mirror content determination means for selecting which content is to be used as the mirror content and performing the dynamic mirroring; Either network resource information or mirror server performance information Or a network resource acquisition unit having a function of acquiring both, and performing a calculation according to a preset algorithm based on the network resource information acquired by the network resource acquisition unit. A dynamic mirroring destination determining unit that determines whether to copy to the mirror server; and an operation for performing the dynamic mirroring on the node that is the dynamic mirroring destination determined by the dynamic mirroring destination determining unit. Dynamic mirroring requesting means for issuing a dynamic mirroring request, and when the dynamic mirroring request is received, the mirror content determined by the mirror content determining means for the node determined as a dynamic mirroring destination Mirror content transfer means for transferring, the dynamic content Mirroring destination determining means, among the acquired network resource information by the network resource acquisition means, Value of available bandwidth in the path from the mirror server selected to minimize the content acquisition delay for the client site to the client site; The priority for determining the dynamic mirroring destination is determined based on the magnitude of any one of an RTT value or a transfer delay value in a direction in which the client site of a fixed length data is downstream. It is characterized by.
[0021]
The present invention of claim 3 The origin server according to
[0067]
In the first content dynamic mirroring system of the present invention, an adaptive mirror node (B1 in FIG. 1) function that can adaptively become a mirror server is added to any node arranged in the network. Then, a dynamic mirroring request from an arbitrary origin server is sent to a dynamic mirroring request unit (A15 in FIG. 1) on the origin server, a mirror content transfer unit (A16 in FIG. 1), and a dynamic mirror node on the adaptive mirror node. This is done via the mirroring request accepting means (B11 in FIG. 1), and the adaptive mirror node functions as a mirror server. The origin server can target any node in the network configured as an adaptive mirror node for dynamic mirroring, and can construct a mirror server network adaptively according to the access load status of the origin server. Become. Thereby, the first object of the present invention can be achieved.
[0068]
The second content dynamic mirroring system of the present invention is dynamic in consideration of the network resource status acquired through the network resource acquisition means (F11 in FIG. 11) during dynamic mirroring from the origin server to the adaptive mirror node. Determine the mirror destination. An example of a dynamic mirroring destination determination algorithm will be described in the following embodiments of the invention. Thereby, the second object of the present invention can be achieved.
[0069]
In the third dynamic content mirroring system of the present invention, the mirror content transfer path from the origin server to the adaptive mirror node is calculated by the mirroring tree creation means (G11 in FIG. 15). The mirror content is transferred on the calculated mirroring tree. By selecting the optimal mirroring tree, it is possible to reduce the mirror content transfer delay during dynamic mirroring, especially when transferring mirror content to multiple mirror destinations. It becomes possible to do. Thereby, the third object of the present invention can be achieved.
[0070]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0071]
Referring to FIG. 1, the first embodiment of the present invention includes an origin server A1, an adaptive mirror node B1 to be subjected to content dynamic mirroring, and a client C1.
[0072]
The origin server A1 includes not only the origin server that owns the original content but also the mirror server in which the same content has already been mirrored, and hereinafter both are collectively referred to as the origin server. The origin server A1 has a function of actively performing content dynamic mirroring.
[0073]
The adaptive mirror node B1 is a device having a function that allows any node arranged in the network to adaptively become a mirror server, and is a feature of the configuration of the present embodiment. Examples of the adaptive mirror node include a router having an adaptive mirror node function, a layer 4 or layer 7 switch having an adaptive mirror node function, a proxy server having an adaptive mirror node function, and the like. Further, it may be a dedicated node having only the adaptive mirror node function and not having other functions. Considering an example in which an adaptive mirror node function is implemented in a router, when mirroring is being performed, the router functions not only as a router but also as a mirror server at the same time.
[0074]
The adaptive mirror node B1 functions as a mirror server in response to a dynamic mirroring request from an arbitrary origin server. From the viewpoint of the origin server A1 side, any node in the adaptive mirror node network can be the target of dynamic mirroring, and the mirror server network can be adaptively adapted according to the access load status in the origin server A1. Can be built.
[0075]
The client C1 may be not only a user terminal that makes a content acquisition request but also a proxy server that accommodates a plurality of clients and makes a content acquisition request on behalf.
[0076]
The origin server A1 includes a storage device A10 that stores content and content processing methods, processing programs, etc., server load measurement means A11, mirror content determination means A12, dynamic mirror destination determination means A13, and adaptive mirror node detection Means A14, dynamic mirroring request means A15, and mirror content transfer means A16 are included.
[0077]
The server load measuring means A11 measures the access load of the origin server A1, and determines whether or not load distribution should be performed by performing dynamic mirroring. Here, the access load is a parameter indicating the performance degradation of the origin server due to concentration of content acquisition requests such as the CPU load of the origin server A1, the number of content transfer sessions, and the content transfer throughput per session. Here, as an example of the content transfer session, there is a TCP session used at the time of content transfer by HTTP. Hereinafter, a TCP session will be described on behalf of a content transfer session.
[0078]
When performing dynamic mirroring to another mirror server, the mirror content determination unit A12 determines which content can be dynamically mirrored to maximize the load balancing effect, and determines the content to be dynamically mirrored. .
[0079]
The dynamic mirroring destination determination unit A13 determines one or more adaptive mirror nodes that can maximize the load distribution effect in the dynamic mirroring of the mirror content determined by the mirror content determination unit A12, and the access load status of the origin server A1. Determine based on. At this time, the adaptive mirror node existing in the network is detected by the adaptive mirror node detecting means A14.
[0080]
An example of an algorithm for determining an adaptive mirror node that is a dynamic mirroring destination capable of maximizing the load balancing effect in the dynamic mirroring destination determination unit A13 will be described. First, the number of content acquisition requests per unit time for content to be subjected to dynamic mirroring is measured for each management domain in the network where the client exists. Then, an adaptive mirror node existing in the management domain having a value of the content acquisition request number equal to or greater than a certain threshold is determined as a dynamic mirroring destination. An example of such a management domain is AS (Autonomous System) on the Internet.
[0081]
The adaptive mirror node detection means A14 has a function of detecting an adaptive mirror node existing in the network. At this time, detecting all the adaptive mirror nodes existing in the network has a large overhead. Therefore, adaptive mirror node detection should be done with as little overhead as possible.
[0082]
As an example, a method is conceivable in which a representative management server arranged for each management domain in the network is inquired about an adaptive mirror node list existing in the management domain. The representative management server manages the adaptive mirror nodes in each management domain, and grasps the position, resource status, and the like of each adaptive mirror node. The origin server A1 can reduce the detection overhead by inquiring the adaptive mirror node list only with the representative management server of the management domain in which mirror contents are newly placed. An example of such a management domain is AS on the Internet.
[0083]
Another example of a method for detecting an adaptive mirror node in the network will be described. It is assumed that an adaptive mirror node exists on the passage route of the content acquisition request from the client C1 to the origin server A1. A router, a layer 4 / layer 7 switch, a proxy server, etc. can be considered as an adaptive mirror node existing on such a passing route. At this time, information that an adaptive mirror node exists on the passage route of the content acquisition request is added to the content acquisition request from the client C1. The origin server A1 that has received the content acquisition request to which the information is added identifies that there is an adaptive mirror node on the passage path of the content acquisition request from the client C1 to a certain origin server A1. The origin server A1 can determine that dynamic mirroring should be performed on the adaptive mirror node in order to reduce the access load due to the increase in content acquisition requests from the client C1.
[0084]
The dynamic mirroring request unit A15 transmits the dynamic mirroring request to the adaptive mirror node determined as the target of the dynamic mirroring request by the dynamic mirroring destination determination unit A13. Furthermore, when a response from the adaptive mirror node to the dynamic mirroring request is received and accepted, the mirror content transfer means A16 actually performs dynamic mirroring. Search for other adaptive mirror nodes to power.
[0085]
The mirror content transfer means A16 reads the mirror content determined from the storage device A10 and transmits it to the adaptive mirror node that has accepted the dynamic mirroring request. The mirror content transmitted at this time includes not only objects such as text, images, and moving images but also various processing programs and information associated with the content. Examples of such processing programs and information include search programs, CGI (Common Gateway Interface) scripts, and authentication / encryption information such as SSL (Secure Socket Layer). It also has a function of compressing the mirror content to be transmitted in order to reduce transfer traffic, and a function of encrypting the mirror content to be transmitted in order to ensure security during transfer.
[0086]
The adaptive mirror node B1 includes a storage device B10, a dynamic mirroring request receiving unit B11, a request data receiving unit B12, a response content creating unit B13, and a content response unit B14.
[0087]
The storage device B10 includes a mirror content storage unit B101.
[0088]
The mirror content storage unit B101 stores the dynamically mirrored content. What is stored includes not only objects such as text, images, and moving images, but also various processing programs and information associated with the contents.
[0089]
The dynamic mirroring request accepting unit B11 performs processing of content dynamic mirroring request from the origin server A1 and processing of receiving mirror content transferred from the origin server.
[0090]
The request data receiving unit B12 receives the content acquisition request from the client C1, and passes the request content to the response content creating unit B13.
[0091]
The response content creation unit B13 reads the requested content from the mirror content storage unit B101 and creates response content. At this time, if it is necessary to execute various processing programs associated with the content or read out the authentication information, the processing is appropriately performed. Then, the created response content is passed to the content response means B14.
[0092]
The content response unit B14 transmits the response content created by the response content creation unit B13 to the client C1 that has transmitted the content acquisition request.
[0093]
FIG. 2 is a diagram showing in detail the configuration of the dynamic mirroring request accepting unit B11. The dynamic mirroring request receiving unit B11 includes a data transmitting / receiving unit B111 with the origin server, a dynamic mirroring request receiving determining unit B112, a mirror content receiving unit B113, and a decompression / decryption unit B114.
[0094]
Data transmission / reception means B111 with the origin server receives the data from the origin server A1 and identifies its contents. If the content of the received data is a dynamic mirroring request, the dynamic mirroring request acceptance determining means B112 is inquired whether the dynamic mirroring request can be accepted, and the result is returned to the origin server A1. Further, when the mirror content received from the origin server A1 is received, the received data is passed to the mirror content receiving means B113.
[0095]
The dynamic mirroring request acceptance determination unit B112 determines whether or not the dynamic mirroring request from the origin server A1 can be accepted.
[0096]
The mirror content receiving means B113 stores the mirror content received from the origin server A1 in the mirror content storage unit B101. If the received mirror content is compressed or encrypted, the decompression / decryption means B114 performs necessary decompression / decryption processing and then stores it in the mirror content storage unit B101.
[0097]
The decompression / decryption means B114 has a function of decompressing / decrypting the mirror content received from the origin server A1. In an environment where the mirror content received from the origin server A1 is not compressed / encrypted, the decompression / decryption means B114 is not necessarily required.
[0098]
Next, with reference to FIG. 3, in this Embodiment, the operation | movement in the origin server A1 at the time of dynamic mirroring is demonstrated in detail.
[0099]
In the origin server A1, when the dynamic mirroring function is enabled, the server load measuring unit A11 periodically monitors the CPU load of the server, and determines whether the server CPU load is equal to or higher than a preset threshold value. Check (steps S101 and S102 in FIG. 3). Examples of targets to be monitored here include the number of content acquisition requests per unit time, content transfer throughput, and the like in addition to the CPU load.
[0100]
If the server load is equal to or greater than the threshold value in step S102, the mirror content determination unit A12 determines the content to be dynamically mirrored (step S103). Here, the contents to be dynamically mirrored should be selected with a large granularity such as a page unit or a website unit, rather than being selected with a fine granularity of an object unit. Examples of criteria for determining content to be dynamically mirrored include: a. “The number of content acquisition requests from a client per unit time exceeds a threshold value”, b. “Those satisfying criterion a and the content size exceeds the threshold value”, c. “Maximize content transfer throughput for clients as a result of load balancing by dynamic mirroring according to content type and size”.
[0101]
If the server load is equal to or less than the threshold value in step S102, it is considered that load distribution is not necessary, and dynamic mirroring is not performed.
[0102]
After step S103, the dynamic mirroring destination determination unit A13 determines one or a plurality of adaptive mirror nodes that maximize the load distribution effect for each content to be subjected to dynamic mirroring (step S104). , S105). In the determination of the adaptive mirror node, the detection result by the adaptive mirror node detection means A14 is used. In step S104, if it is determined that the overhead of dynamic mirroring is larger than the load distribution effect by dynamic mirroring, execution of dynamic mirroring is stopped and it is determined that there is no target adaptive mirror node. To do.
[0103]
Next, if there is an adaptive mirror node to be subjected to dynamic mirroring in steps S104 and S105, the dynamic mirroring request means A15 transmits a dynamic mirroring request message to each adaptive mirror node (step S106). ). The dynamic mirroring request message includes information about the content such as content type and size. If there is no target adaptive mirror node in step S105, dynamic mirroring is not performed.
[0104]
When an acceptance response to the dynamic mirroring request message is received from the adaptive mirror node (step S107), the mirror content transfer unit A16 reads the mirror content from the storage device A10, and receives the dynamic mirroring from the adaptive mirror node. Transmit (step S108). At this time, if necessary, the mirror contents are transmitted after being compressed or encrypted.
[0105]
In step S108, in addition to the method of directly transmitting the mirror content from the storage device A10 in the origin server A1 to the adaptive mirror node B1, another mirror server holding the same content is detected, and the mirror server with the smallest transfer delay is detected. A method of transmitting from the adaptive mirror node B1 to the adaptive mirror node B1 can also be considered. Also, transfer delay is reduced by dividing one mirror content into a plurality of parts, transmitting each part divided from a plurality of mirror servers holding the same content in parallel, and assembling at the adaptive mirror node B1 A method to do this is also conceivable.
[0106]
FIG. 4 shows in detail the configuration of the mirror content transfer means A16 for realizing the method of performing dynamic mirroring from the mirror server with the smallest transfer delay in step S108 of FIG. The mirror content transfer unit A16 includes a communication unit A161 with another mirror server, a source determination unit A162, and a communication unit A163 with an adaptive mirror node.
[0107]
The communication means A161 with other mirror servers has a function of communicating with other mirror servers, inquires about the contents and network resources to be held with respect to the other mirror servers, and further instructs mirror content transfer. The source determination unit A162 determines the source with the smallest transfer delay based on the network resources from the own node or another mirror server to the adaptive mirror node B1. The communication means A163 with the adaptive mirror node has a function of communicating with the adaptive mirror node B1, and transfers mirror contents to the adaptive mirror node B1.
[0108]
Next, detailed operations when the mirror content transfer means A16 shown in FIG. 4 performs dynamic mirroring from the mirror server with the smallest transfer delay in step S108 will be described with reference to FIG.
[0109]
First, a mirror server that holds the same content as the content to be dynamically mirrored is detected (step S801). When a mirror server holding the same content can be detected in step S801 (step S802), network resources from each detected mirror server to the adaptive mirror node to which the content is transferred, and from the next node to the adaptive mirror node Network resources are acquired (step S803). Next, using the network resource information acquired in step S803, a transmission source with the smallest transfer delay when transmitting mirror content to the adaptive mirror node is determined (step S804).
[0110]
When the transmission source is the own node (step S805), the mirror content is transmitted from the own node to the adaptive mirror node (step S806). Even if there is no mirror server that holds the same content in step S802, step S806 is executed. In step S805, when the transmission source is not the local node but one of the other mirror servers, the mirror server serving as the transmission source is instructed to transfer the mirror content (step S807), and the mirror server transmits the mirror content. The mirror content transfer completion is confirmed by receiving the message that the transfer is completed (step S808).
[0111]
FIG. 6 shows an example of a method of performing dynamic mirroring from the mirror server with the smallest transfer delay in step S108. An
[0112]
If a rejection response to the dynamic mirroring request message is received in step S107, the process returns to step S104, and the adaptive mirror node that has made a rejection response is excluded and the adaptive mirror node is determined again.
[0113]
Next, with reference to FIG. 7, in this Embodiment, the operation | movement in the adaptive mirror node B1 at the time of dynamic mirroring is demonstrated in detail.
[0114]
When the adaptive mirror node B1 receives the dynamic mirroring request message from the origin server A1 (step S201 in FIG. 7), the dynamic mirroring request accepting unit B11 determines whether or not the request can be accepted (step S202). Examples of criteria for determining whether or not a request can be accepted include: a. “Is there enough resources left to store mirror content in storage device B10 in adaptive mirror node B1,” b. “If there is a processing program associated with the mirror content, is the environment capable of executing the processing program?” C. “Is there enough network resources from the mirror server to the client?”
[0115]
If it is determined in step S202 that the request can be accepted, an acceptance response is transmitted to the origin server A1 (step S203). If it is determined that the request cannot be accepted, a rejection response is transmitted (step S204).
[0116]
When the acceptance response is transmitted in
[0117]
The operation of the mirror server B1 when receiving a content acquisition request from the client is the same as the operation of the conventional mirror server.
[0118]
Next, the effect of this embodiment will be described.
[0119]
In the prior art, when the origin server performs dynamic mirroring to distribute the access load, the dynamic mirroring destination can be selected only from those that are fixedly arranged in advance as a mirror server. For this reason, the access load distribution effect is limited by the number and position of mirror servers arranged in advance.
[0120]
In the present embodiment, an arbitrary mirror node function such as a router or a proxy server arranged in the network is provided with an adaptive mirror node function, and a dynamic mirroring request from an arbitrary origin server is received to function as a mirror server. The origin server can target any node in the network configured as an adaptive mirror node for dynamic mirroring, and can construct a mirror server network adaptively according to the access load status of the origin server. Become.
[0121]
From the client's point of view, when the access load is concentrated on the origin server, the mirror content is automatically copied to the nearest adaptive mirror node, and content can always be acquired with low latency and high throughput. become.
[0122]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
[0123]
The second embodiment of the present invention corresponds to the case where the proxy server is changed to an adaptive mirror node in the first embodiment.
[0124]
Referring to FIG. 8, the second embodiment of the present invention is different in that the adaptive mirror node B1 in the first embodiment shown in FIG. 1 is an adaptive mirror proxy server D1.
[0125]
The adaptive mirror proxy server is a proxy server having an adaptive mirror node function, and includes a storage device D10, dynamic mirroring request reception means B11, response content creation means B13, content response means B14, and request data. It includes a receiving unit D11, an operation determining unit D12, a cache hit determining unit D13, a content acquisition request transfer destination determining unit D14, and a content acquisition request transfer unit D15.
[0126]
The storage device D10 is different from the storage device B10 in that it includes a cache storage unit D101. The cache storage unit D101 is used for storing cache content when the adaptive mirror proxy server has a content cache function as a proxy server.
[0127]
The request data receiving unit D11 receives the content acquisition request from the client C1 and passes it to the operation determining unit D12.
[0128]
The operation determination unit D12 identifies the content requested by the content acquisition request. Then, according to the request contents, it is determined whether to operate as a mirror server or a proxy server. Simply, if it is an acquisition request for content mirrored in the adaptive mirror proxy server D1, it is determined to operate as a mirror server, otherwise it is determined to operate as a proxy server. In addition, even when mirroring, a method of authenticating a client and performing an operation as a mirror server only for an authorized client may be considered.
[0129]
The cache hit determination means D13 determines whether or not the content corresponding to the content acquisition request from the client exists in the cache storage unit D101, and if it exists, passes the corresponding content to the content response means B14. If it does not exist, the content acquisition request is transferred to the content acquisition request transfer destination determination means D14.
[0130]
The content acquisition request transfer destination determination unit D14 determines the origin server or mirror server to which the content acquisition request is transferred when the adaptive mirror proxy server D1 does not mirror or cache the content corresponding to the content acquisition request. To do.
[0131]
The content acquisition request transfer unit D15 transfers the content acquisition request to the origin server or mirror server determined by the content acquisition request transfer destination determination unit D14.
[0132]
Next, with reference to FIG. 9, in this Embodiment, the operation | movement in the adaptive mirror proxy server D1 at the time of content acquisition request reception is demonstrated in detail.
[0133]
In the adaptive mirror proxy server D1, when the request data receiving unit D11 receives a content acquisition request from the client C1 (step S301 in FIG. 9), the operation determining unit D12 operates on the content mirrored in the adaptive mirror proxy server D1. Whether the request is an acquisition request is identified (step S302).
[0134]
In step S302, if the content corresponding to the content acquisition request is mirrored in the adaptive mirror proxy server D1, the response content creation unit B13 reads the content from the mirror content storage unit B101 and creates the response content (step S302). S303). At this time, if the requested content requires execution of some processing program, authentication processing, or the like, the execution and processing are appropriately performed to create response content. The response content created according to the above procedure is transferred to the content response means B14 and responds to the client C1 (step S305).
[0135]
In step S302, if the content corresponding to the content acquisition request is not mirrored in the adaptive mirror proxy server D1, the content corresponding to the content acquisition request is present in the cache storage unit D101 by the cache hit determination unit D13. Whether or not (step S304).
[0136]
If the content exists in step S304 (hits the cache), the corresponding content is read from the cache storage unit D101, the content is transferred to the content response means B14, and the client C1 is responded (steps S306 and S305).
[0137]
If the content does not exist in step S304 (no hit in the cache), the content acquisition request transfer destination determination unit D14 determines the origin server or mirror server to which the content acquisition request is transferred (step S307).
[0138]
When the adaptive mirror proxy server D1 has means for detecting a plurality of candidate transfer destinations, the content acquisition request transfer destination determination means D14 selects one from these candidate transfer destinations. Examples of selection criteria at this time include those with the lowest load and those with the largest available bandwidth in the downstream direction (from the server to the client).
[0139]
The content acquisition request transfer unit D15 transfers the content acquisition request to the content acquisition request transfer destination determined in step S307 (step S308).
[0140]
Next, the effect of this embodiment will be described.
[0141]
In this embodiment, an adaptive mirror node function is implemented on the proxy server. Therefore, it is possible to provide both the function provided by the proxy server and the function provided by the mirror server on the same node, and it was necessary to install each function as a separate node. Costs and management costs can be reduced.
[0142]
From the standpoint of a proxy server, since it has only a conventional content cache function, it cannot accept an acquisition request for content that requires authentication / encryption processing by the SSL protocol, execution of a CGI script, etc. There was no choice but to transfer. By implementing the function of a mirror server by implementing the adaptive mirror node function, it becomes possible to accept an acquisition request for the above content, and to reduce the traffic to the origin server and the access load of the origin server.
[0143]
Furthermore, in this embodiment, by setting the adaptive mirror proxy server as a proxy server in the subordinate client group, all content acquisition requests from the subordinate client group are received by this adaptive mirror proxy server. The adaptive mirror proxy server looks at each content acquisition request and directly responds only to the acquisition request for the mirrored content, and the acquisition request for the other content selectively performs processing as a normal proxy server. Conventionally, when content mirroring is performed, an appropriate mirror server must be selected on the client side and a content acquisition request must be transmitted to the server corresponding to the destination IP address. In this embodiment, There is no need for this, and mirror content can be acquired simply by setting a proxy server on the client side.
[0144]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
[0145]
In the third embodiment of the present invention, authentication and accounting processing is required for data communication between the adaptive mirror node and the client in the first embodiment, and the adaptive mirror node authenticates and charges. This corresponds to the case of having a processing function.
[0146]
Referring to FIG. 10, the third embodiment of the present invention is different from the first embodiment shown in FIG. 1 in that an adaptive mirror node E1 is used instead of the adaptive mirror node B1. .
[0147]
The adaptive mirror node E1 includes response content creation means B13, content response means B14, storage device E10, dynamic mirroring request reception means E11, request data reception unit E12, and authentication / billing information processing means E13.
[0148]
The storage device E10 differs from the storage device B10 in that it includes an authentication / billing information management unit E101. The authentication billing information management unit E101 manages information related to authentication and billing. Examples of information to be managed include an authentication ID of each client, a password, and a download price for each content. Further, there is dynamic information such as a charging status for each client.
[0149]
In addition to the function of the dynamic mirroring request accepting unit B11 in FIG. 1, the dynamic mirroring request accepting unit E11 performs procedures necessary for the adaptive mirror node E1 to perform authentication and billing processing instead of the origin server A1. In this procedure, the origin server A1 and the adaptive mirror node E1 trust each other to perform authentication and charging processing entrustment, and the adaptive mirror node E1 among the authentication and charging information of the origin server A1 includes the client C1. Information required for authentication and billing of the content acquisition request received from the server is stored in the authentication billing information management unit E101, and then the information stored in the authentication billing information management unit E101 with the origin server A1 Synchronization procedure. Further, when the management of the authentication billing information is centralized in the origin server A1, the authentication billing information managed in the origin server A1 during the authentication and billing process performed by the authentication billing information processing means E13 in the adaptive mirror node E1. It also includes procedures for reading and writing. Furthermore, exchange between the origin server A1 and the adaptive mirror node E1 in reading and writing of authentication / billing information managed in the origin server A1 at the time of database synchronization, authentication, and billing processing with the origin server A1 The data to be processed may be compressed and encrypted.
[0150]
The request data receiving unit E12 receives the content acquisition request from the client C1, and performs the authentication process via the authentication / billing information processing unit E13. If the content acquisition is permitted as a result of the authentication, the requested content is passed to the content creating means B13 to instruct the creation of the content.
[0151]
The authentication billing information processing means E13 has a function of authenticating the content acquisition request received by the request data receiving unit E12 and charging for the authenticated request. At this time, information such as the requested client ID and password is read out from the authentication / billing information management unit E101, and charging information generated when the content is acquired is written into the authentication / billing information management unit E101.
[0152]
The above example is a node in which authentication and accounting processing functions are introduced for the adaptive mirror node B1, but in addition, authentication and accounting processing for the adaptive mirror proxy server D1 according to the second embodiment. The configuration of the node in which the function is introduced can be considered similarly.
[0153]
Next, the effect of this embodiment will be described.
[0154]
In the present embodiment, authentication and billing processing can be performed in the adaptive mirror node. Conventionally, such processing can be performed only by the origin server, but the load on the origin server can be reduced by entrusting the authentication and accounting processing to the adaptive mirror node dynamically. In the case of content with authentication and billing processing, compared to the case of normal content, much more processing is required for the request response from the client. It can be said that it is larger than the case of mirroring.
[0155]
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
[0156]
The fourth embodiment of the present invention is different from the first embodiment in that the dynamic mirroring destination is determined in consideration of the network resource status at the time of dynamic mirroring from the origin server.
[0157]
Referring to FIG. 11, the fourth embodiment of the present invention has a network resource acquisition means F11 in place of the origin server A1 in the first embodiment shown in FIG. The difference is that the origin server F1 includes a dynamic mirroring destination determination unit A13a that determines a dynamic mirroring destination based on the network resource information acquired by the acquisition unit F11. Although the adaptive mirror node B1 is illustrated as a destination where dynamic mirroring is performed, in the present embodiment, a conventional fixed mirror server may be used. In the present embodiment, the dynamic mirroring destination is hereinafter collectively referred to as a mirror server.
[0158]
The network resource acquisition unit F11 has a function of acquiring network resource information related to dynamic mirroring, such as available bandwidth and delay to other mirror servers, and access load status of other mirror servers. In addition to the above, the network resource information may include information related to server performance such as the CPU load of other mirror servers and the number of TCP sessions. As a method for acquiring the above network resource and server performance information, it is collected by a method of dynamically acquiring a measurement packet by flowing it to each mirror server, or a routing protocol that supports resource information exchange of each node / link in the network. A method using the information obtained can be considered.
[0159]
The dynamic mirroring destination determination unit A13a of the present embodiment includes a network resource base calculation unit A130 that performs a calculation according to an algorithm described later based on the resource information obtained by the network resource acquisition unit F11. To determine the optimal dynamic mirroring destination.
[0160]
Conventionally, network resource information has not been considered as a priority when determining a mirror server to which dynamic mirroring is performed. In a typical example, unit time from a client site supported by the mirror server is typical. The number of content acquisition requests per unit was used. The number of content acquisition requests is the number of acquisition requests for content to be dynamically mirrored. By performing dynamic mirroring of the content, the number of content acquisition requests received at the origin server, that is, the decrease in the access load of the origin server is reduced. The goal is to maximize.
[0161]
This embodiment is different in that priority is determined in consideration of network resources related to each mirror server in addition to the number of content acquisition requests. Hereinafter, a plurality of examples of network resources to be considered in addition to the number of content acquisition requests when determining the priority of the dynamic mirroring destination will be given.
[0162]
(1) Minimize the TCP throughput per session from the origin server to each client site and the content acquisition delay for the client site, measured for each site to which the client making a content acquisition request to the origin server belongs TCP throughput per session from the selected mirror server to the client site.
[0163]
(2) In the above (1), an available bandwidth is used instead of the TCP throughput per session.
[0164]
(3) In (1) above, RTT (Round Trip Time) is used instead of TCP throughput per session.
[0165]
(4) In the above (1), the fixed-length data transfer delay time (in the direction where the client site is downstream) instead of the TCP throughput per session.
[0166]
(5) TCP throughput per session from the origin server to the mirror server when content is dynamically mirrored from the origin server to a mirror server.
[0167]
(6) In the above (5), a usable bandwidth is used instead of the TCP throughput per session.
[0168]
Hereinafter, some implementation examples of the dynamic mirroring destination determination algorithm using the above (1) to (6) will be described in detail with reference to FIGS.
[0169]
First, an example in which the dynamic mirroring destination is determined by the algorithm in the case of using the above (1) will be described below with reference to FIG. This is
[0170]
The origin server F1 monitors the number of content acquisition requests per unit time from each domain in which the client exists. Here, AS is given as an example of the domain. Hereinafter, the case where the domain is AS will be described as an example.
[0171]
Now, it is assumed that the origin server performs dynamic mirroring of contents held by several mirror servers in order to reduce its own load. Here, it is assumed that the number of mirror servers to be subjected to dynamic mirroring is given.
[0172]
First, the dynamic mirroring destination determination unit A13a extracts an AS whose number of content acquisition requests per unit time exceeds a threshold from all ASs that have clients that make content acquisition requests to the origin server (step in FIG. 12). S401).
[0173]
Next, for each extracted AS (step S402), one mirror server in the AS is selected (step S403). Here, as a method of detecting a mirror server in the AS and selecting one of them, the representative management server that centrally manages the mirror servers in each AS is inquired to obtain the most CPU load. A method of selecting a low value is conceivable.
[0174]
For each extracted AS, the TCP throughput per session from the origin server to the client in the AS is measured, and this is defined as TCPBW1 (step S404). Further, the TCP throughput per session from the mirror server selected in the AS to the client in the AS is measured, and this is set as TCPBW2 (step S405). Here, the client in the AS may be a number of arbitrarily selected terminals, a fixed measurement point, or the like. Next, X = N × (TCPBW2 / TCPBW1) is calculated by the network resource base calculation unit A130 (step S406). Here, N is the number of content acquisition requests per unit time from clients existing in the AS.
[0175]
The above X is calculated for all the extracted ASs (step S407), and the mirror servers in the AS having the largest value of X are selected in advance as the targets for dynamic mirroring in a given number (step S407). S408, S409).
[0176]
An example of an algorithm in the case of using the above (2) to (4) can be considered similarly. A detailed procedure can be considered in the same manner as in
[0177]
Next, an example in which the dynamic mirroring destination is determined by the algorithm in the case of using the above (6) will be described below with reference to FIG. This is algorithm 2.
[0178]
Here, it is assumed that there are a plurality of candidate mirror servers that are content transfer destinations when dynamic mirroring is performed, and dynamic mirroring is performed only on a limited number of mirror servers. That is, the number of dynamic mirroring is limited. Such a situation is sufficient when the cost of dynamic mirroring per one time (for example, disk usage) is given and the total cost is limited. In this example, it is assumed that all contents are directly transferred from the origin server.
[0179]
First, for each mirror server that is a candidate for a dynamic mirroring destination (step S501), the available bandwidth from the origin server to the mirror server is measured or acquired, and this is set as AvBW (step S502). Further, the network resource base calculation means A130 calculates S / AvBW using the size S of the content that is to be dynamically mirrored for the mirror server (step S503). This is the expected content transfer delay during dynamic mirroring. After the above calculation is performed for all candidate mirror servers (step S504), dynamic mirroring is performed up to the limit number in order from the smallest S / AvBW value (steps S505 and S506).
[0180]
Next, an example in which a dynamic mirroring destination is determined by an algorithm using a combination of the network resources (1) and (6) will be described below with reference to FIG. This is algorithm 3.
[0181]
Here, it is assumed that there are a plurality of candidate mirror servers that are destinations of content when performing dynamic mirroring, and dynamic mirroring is performed only on a limited number of mirror servers. First, TCPBW2 / TCPBW1 and AvBW / S are calculated for each candidate mirror server in the same manner as in
[0182]
After the calculation is completed for all candidate mirror servers, the reciprocal of the minimum value of TCPBW2 / TCPBW1 is k1, and the reciprocal of the minimum value of AvBW / S is k2 (step S602). Next, for all candidate mirror servers,
Y = α * k1 * TCPBW2 / TCPBW1 + (1-α) * k2 * AvBW / S
Is calculated (step S603). Here, α is a predetermined coefficient of 0 ≦ α ≦ 1. In order from the largest Y, the dynamic mirroring is performed up to the limit number (steps S604 and S605).
[0183]
Further, consider another example of the algorithm that uses a combination of the network resources of (1) and (6). This is algorithm 4.
[0184]
Here, it is assumed that there are a plurality of candidate mirror servers that are destinations of content when performing dynamic mirroring, and dynamic mirroring is performed only on a limited number of mirror servers.
[0185]
First, the selection range is narrowed down to candidate mirror servers whose values of TCPBW2 / TCPBW1 are equal to or greater than a threshold value among all candidate mirror servers. Then, dynamic mirroring is performed from the narrowed candidate mirror servers up to the limited number of times in ascending order of the S / AvBW value by algorithm 3.
[0186]
Next, the effect of this embodiment will be described.
[0187]
In the present embodiment, the performance improvement effect associated with dynamic mirroring can be enhanced by determining the dynamic mirroring destination in consideration of the resource status in the network during dynamic mirroring. In each of the
[0188]
In
[0189]
In algorithm 2, the one with a small mirror content transfer delay from the origin server to the mirror server at the time of dynamic mirroring is preferentially selected as a mirroring destination. Therefore, it is possible to complete the transfer of the mirror content accompanying dynamic mirroring at high speed, and to immediately reduce the load on the origin server. In addition, since a link with a low available bandwidth is not used as much as possible for transferring mirror content, the possibility of hindering other traffic flowing on such a link with a low available bandwidth by a large amount of mirror content transfer is reduced. With the above points, the performance of the content dynamic mirroring system can be improved.
[0190]
In algorithm 3, TCPBW2 / TCPBW1 in
[0191]
In the algorithm 4, first, candidate mirror servers are narrowed down only to a certain level that has an effect of improving the content acquisition delay in the client. Among them, the mirror content transfer delay from the origin server to the mirror server is preferentially selected. Select the mirror destination. Therefore, it is possible to obtain the effect of the algorithm 2 while keeping the improvement effect of the content acquisition delay in the client at a certain value or more, and it is possible to achieve both the performance improvement on the client side and the performance improvement effect on the origin server side.
[0192]
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings.
[0193]
Referring to FIG. 15, the present embodiment is different in that the origin server G1 has a mirroring tree creation means G11 in addition to the configuration of the origin server F1 in the fourth embodiment shown in FIG. Further, referring to FIG. 16, the dynamic mirroring request accepting means H11 in the adaptive mirror node in the adaptive mirror node H1 has mirror contents in addition to the configuration of the dynamic mirroring request accepting means B11 in the adaptive mirror node B1 in FIG. The difference is that the relay means H111 is provided. The adaptive mirror node H1 corresponds to the adaptive mirror node B1, E1, or the adaptive mirror proxy server D1, in which the dynamic mirroring request receiving unit B1 is replaced with the dynamic mirroring request receiving unit H1.
[0194]
The mirroring tree creation means G11 calculates a mirroring tree that is the optimum path for transferring mirror contents to the dynamic mirroring destination determined by the dynamic mirroring destination determination means A13.
[0195]
The mirror content relay unit H111 relays the mirror content transferred from the origin server G1 upstream of the mirroring tree or another adaptive mirror node H1, and transfers the mirror content to the adaptive mirror node H1 downstream of the mirroring tree. It has the function to do. At this time, if the adaptive mirror node H1 that relays the mirror content needs to be a mirror server of the mirror content, the mirror content is simultaneously stored in the storage device at the time of relay.
[0196]
In the following description, it is assumed that the target of dynamic mirroring from the origin server G1 is the adaptive mirror node H1, but in the present embodiment, the mirror content relay means in the conventional fixed mirror server It may be a mirror server having the same function as that realized by H111.
[0197]
Next, the operation of the present embodiment will be described in detail with reference to the flowchart of FIG. 17 and FIG.
[0198]
The dynamic mirroring destination determination means A13 in the origin server A1 determines one or a plurality of adaptive mirror nodes that are the dynamic mirroring destinations of the mirror content (step S701 in FIG. 17). An example of the determination algorithm at this time is the one described in the fourth embodiment of the present invention.
[0199]
Next, the mirroring tree creation unit G11 calculates a mirroring tree that is a transfer path of mirror contents for the adaptive mirror node that is the dynamic mirroring destination determined in step S701 (step S702). The mirroring tree created here is composed only of adaptive mirror nodes that are dynamic mirroring destinations. To create a mirroring tree, the resource information of the origin server and adaptive mirror node itself that is a component of the mirroring tree, and the resource information in the transfer path of the mirror content between the origin server and adaptive mirror node that is a component of the mirroring tree A method using either one or both of the above is conceivable.
[0200]
An example of the calculation algorithm of the mirroring tree in step S702 will be described with reference to FIG. The
[0201]
Then, it is determined whether it is necessary to additionally select the adaptive mirror node for relay (step S703). Examples of this criterion include: a. “In the mirroring tree created in step S702, the available bandwidth that is a bottleneck is equal to or less than a threshold value”, or b. “There exists an adaptive mirror node for relaying that can reduce the total amount of traffic in mirror content transfer”. The number of relay adaptive mirror nodes to be selected may be limited. The reason for this is that selecting a large number of adaptive mirror nodes for relay not only increases the calculation cost of the mirroring tree performed in step S705, but also increases the total traffic in mirror content transfer by passing through a large number of adaptive mirror nodes for relay. This is because the amount tends to increase.
[0202]
If it is determined in step S703 that an additional adaptive mirror node for relay needs to be selected, an optimal adaptive mirror node for relay is selected from the adaptive mirror nodes arranged in the network (step S704). . If it is determined in step S703 that it is not necessary to additionally select the adaptive mirror node for relay, the mirroring tree calculated in step 702 is determined as the mirror content transfer path.
[0203]
An example of the relay adaptive mirror node selection algorithm in step S704 will be described. Here, it is assumed that the criterion a in step S703 is used for the
[0204]
This adaptive mirror node for relay exists in a domain adjacent to the domain (for example, AS in the Internet) in which the upstream origin server or adaptive mirror node exists in the transfer path whose usable bandwidth is equal to or less than the threshold. The mirror node is selected to maximize the available bandwidth when relaying. Here, the relay adaptive mirror node that maximizes the available bandwidth from the
[0205]
After the relay adaptive mirror node is selected in step S704, a mirroring tree is created again (step S705). In the mirroring tree created here, the selected relay mirror node is included in its constituent elements in addition to the adaptive mirror node as the dynamic mirroring destination. The calculation algorithm of the mirroring tree used here may be the same as or different from the calculation algorithm used in step 702. As an example of a different algorithm, in the mirroring tree calculated in step S702, a mirroring tree is created in which the transfer path portion in which the available bandwidth is a bottleneck is replaced with a transfer path that passes through the relay adaptive mirror node. and so on. If it is determined in step S703 that an adaptive mirror node for relay needs to be additionally selected, the mirroring tree calculated in step S705 is determined as a mirror content transfer path.
[0206]
In the example of FIG. 18, the transfer path 217 (113 → 114) between the
[0207]
Next, a mirror content transfer request is transmitted to each adaptive mirror node on the mirroring tree determined as the mirror content transfer path (step S706). Here, the information included in the mirror content transfer request includes the mirroring tree path information in addition to the information described in step S106 of FIG. 3, and further includes the mirror content of the mirror content for the relay adaptive mirror node. Information indicating whether mirroring processing is requested or relay processing is requested is included.
[0208]
When the origin server A1 receives the acceptance response from all the adaptive mirror nodes to which the mirror content transfer request is transmitted in step S706, the mirror content is transferred onto the mirroring tree (steps S707 and S708).
[0209]
In the example of FIG. 18, when mirror content is transferred onto the
[0210]
Here, the case where the mirror content is transferred onto the
[0211]
When a rejection response is received from one or more adaptive mirror nodes among all the adaptive mirror nodes to which the mirror content transfer request is transmitted in step S706, the process returns to step S701, and the adaptive mirror nodes that are candidates for the dynamic mirroring destination are selected. Reselection is made (step S707). In addition, a method may be considered in which only the adaptive mirror node that has received a rejection response is removed and the mirroring tree is recalculated in step S703.
[0212]
In the present embodiment described above, the mirroring tree is created with the origin server as the apex, but in addition to the origin server, other mirror servers that have already mirrored the same content as the mirror content May be the vertex. When dynamic mirroring is performed simultaneously on multiple adaptive mirror nodes, the origin server or mirror server that is the top of the mirroring tree is selected for each adaptive mirror node so that the transfer delay of the mirror content is minimized, and thus selected. Alternatively, a plurality of mirroring trees having the origin server or the mirror server as vertices may be created and transferred.
[0213]
Next, the effect of this embodiment will be described.
[0214]
Conventionally, when dynamic mirroring is performed from an origin server to one or more mirror servers, the mirror content is transferred directly from the origin server to the mirror server, so a large amount of traffic is involved in the mirror content transfer. As a result, there is a risk of applying a load to the net. In particular, if there is a link with a very small available bandwidth value on the transfer path from the origin server to the mirror server, not only will the transfer delay required for mirroring increase, but a large amount of traffic during mirror content transfer will May interfere with other traffic passing through the link. Also, when the same content is dynamically mirrored to a plurality of mirror servers at the same time, the same mirror content is transferred in parallel to each mirror server, so the load of transfer traffic on the network is large.
[0215]
In the present embodiment, it is possible to select a transfer path that uses another adaptive mirror node as a relay hop in the mirror content transfer path from the origin server to the adaptive mirror node that is the dynamic mirroring destination. Therefore, the mirror content transfer delay can be reduced and the mirror content can be transferred without disturbing other traffic on the transfer path.
[0216]
In particular, when performing dynamic mirroring simultaneously on a plurality of mirroring destinations, the origin server creates a mirroring tree with an adaptive mirror node as a mirroring destination, and the mirror content is transferred along the created mirroring tree. At this time, other adaptive mirror nodes other than the adaptive mirror node to be mirrored may be added to the mirroring tree for relay. Therefore, in the transfer of mirror content to a plurality of mirroring destinations, it is possible to reduce the transfer delay and the amount of transfer traffic.
[0217]
(Example)
Next, a first embodiment of the present invention will be described with reference to the drawings. This first example corresponds to the first and second embodiments of the present invention.
[0218]
Referring to FIG. 19, the present embodiment is composed of four ASs AS 2 to 5, and has intra-AS networks 6 to 9, respectively. The ASs are connected by
[0219]
In the present embodiment, for the sake of simplicity, only content (hereinafter referred to as “news content”) whose URL starts with “http://www.biglobe.com/news/” among the contents in the
[0220]
The adaptive
[0221]
The
[0222]
Since the number of requests from the client 111 already exceeds the threshold value in the adaptive
[0223]
Now, it is assumed that the number of requests for the new contents from the
[0224]
The
[0225]
Here, the HTTP request sent from the adaptive
[0226]
The
[0227]
Next, the
[0228]
Here, the available bandwidth from the
[0229]
The
[0230]
When the adaptive
[0231]
When the adaptive
[0232]
Next, a second embodiment will be described with reference to the drawings. The second example corresponds to the fourth embodiment, and particularly corresponds to the case where the dynamic mirroring destination is determined using the
[0233]
In this embodiment, the network configuration shown in FIG. 19 is also used. Here, it is assumed that there is news content in the
[0234]
The
[0235]
In AS3-5, there are clients 110-112 which are clients corresponding to each, but now the number of requests N from clients 110-112 is 100,000 requests / hour, 200,000 requests / hour, 300,000 requests, respectively. / Hours, and all exceed the threshold value of 50000 requests / hour. In each AS, the
[0236]
First, for all AS, TCPBW1, which is the TCP throughput per session from the
[0237]
From the values shown in Table 302 and the number of requests per unit time from each AS, X = N × (TCPBW2 / TCPBW1) is calculated for AS3 to 5, respectively. As a result, X = 1.5 million, 4 million, and 3 million, respectively, for AS3-5. The value of X increases in the order of AS4, 5, 3. Therefore, the adaptive
[0238]
The content dynamic mirroring system described above is not only realized in hardware, but is also implemented in software by a program for realizing each function described above, which is recorded on a magnetic disk, semiconductor memory or other recording medium of a computer system. It can also be realized. In the content dynamic mirroring system according to each of the embodiments described above, the dynamic mirroring programs P10 and P20 of the origin server A1 and the adaptive mirror node B1 are read from the recording medium into the data processing unit (CPU) of the computer system, and data processing is performed. By controlling the operation of the unit, the functions of the respective means described above are realized and dynamic mirroring is executed. That is, in the origin server and the adaptive mirror node, the processes of FIGS. 3, 5, 7, 9, 12, 12, 13, and 17 are executed.
[0239]
Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and various modifications can be made within the scope of the technical idea. Can be implemented.
[0240]
【The invention's effect】
As described above, according to the present invention, the following effects are achieved.
[0241]
The first effect is that an origin server uses an adaptive mirror node arranged in the network to adaptively construct a mirror server network according to the access load status of the origin server, thereby maximizing the effect of load distribution. be able to.
[0242]
The reason is that an arbitrary mirror node function such as a router or a proxy server arranged in the network can be made to function as a mirror server in response to a dynamic mirroring request from an arbitrary origin server. This is because the origin server can target any node in the network configured as an adaptive mirror node for dynamic mirroring.
[0243]
The second effect is that the client can always acquire content with low delay and high throughput.
[0244]
The reason for this is that if access to the origin server is concentrated and content acquisition delay and throughput performance deteriorate, content replication with a high frequency of acquisition requests is automatically copied to the adaptive mirror node nearest to the client. This is because the client can acquire the content from the nearest adaptive mirror node.
[0245]
The third effect is that it is possible to reduce the installation cost and the management cost required since the functions of the proxy server and the mirror server must be realized as independent nodes.
[0246]
The reason is that by implementing the adaptive mirror node function on the proxy server, it is possible to provide both the function provided by the proxy server and the function provided by the mirror server on the same node.
[0247]
The fourth effect is that it is possible to reduce the traffic to the origin server and the access load of the origin server due to the acquisition request for the content requiring authentication / encryption processing by the SSL protocol, execution of the CGI script, and the like.
[0248]
The reason is that the proxy server has only the content cache function in the past, so it cannot accept the acquisition request for the above content and only forward the request to the origin server. This is because the content can be handled by providing a function as a mirror server.
[0249]
The fifth effect is that when content mirroring is performed, conventionally, an appropriate mirror server must be selected on the client side, and a content acquisition request must be transmitted to the server corresponding to the destination IP address. However, mirror contents can be acquired by simply setting the proxy server on the client side without the necessity.
[0250]
The reason is that by setting the adaptive mirror proxy server as a proxy server in the subordinate client group, all content acquisition requests from the subordinate client group are received by this adaptive mirror proxy server. This is because the content acquisition request is directly responded only to the acquisition request for the mirrored content, and the acquisition request for the other content is selectively processed as a normal proxy server.
[0251]
The sixth effect is that the load on the origin server that performs authentication and billing processing can be reduced.
[0252]
The reason for this is that authentication and billing processes can only be performed by the origin server, but authentication and billing processes are also performed at the same time when mirror content is transferred from the origin server to the adaptive mirror node due to dynamic mirroring. This is because by entrusting the origin mirror to the adaptive mirror node, the adaptive mirror node can perform authentication and accounting processing.
[0253]
The seventh effect is that the client can always acquire content that requires authentication and billing processing with low delay and high throughput.
[0254]
The reason for this is that when access to the origin server is concentrated and content acquisition delay and throughput performance drop, even content that requires authentication and billing processing is dynamically changed to the adaptive mirror node closest to the client. This is because the copy of the content is automatically copied to the nearest adaptive mirror for the client, and at the same time, authentication and billing processing are entrusted, so that the client can acquire the content from the nearest adaptive mirror node.
[0255]
As an eighth effect, when performing dynamic mirroring, the mirror server can be selected so as to maximize the performance improvement effect by performing dynamic mirroring.
[0256]
This is because the network resource status is taken into consideration during dynamic mirroring.
[0257]
The ninth effect is that, at the time of dynamic mirroring, it is possible to reduce the transfer delay of the mirror content and transfer the mirror content so as not to disturb other traffic on the transfer path.
[0258]
This is because a transfer path that uses another adaptive mirror node as a relay hop can be selected in the mirror content transfer path from the origin server to the adaptive mirror node that is the dynamic mirroring destination.
[0259]
The tenth effect is that the transfer delay and the amount of transfer traffic can be reduced in the transfer of mirror contents to a plurality of mirroring destinations.
[0260]
The reason is that when performing dynamic mirroring simultaneously on multiple mirroring destinations, the origin server creates a mirroring tree consisting of the adaptive mirror node that is the mirroring destination and the adaptive mirror node for relay, and the mirror content is created This is because it can be transferred along the mirroring tree.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a block diagram showing in detail a configuration of dynamic mirroring request accepting means in the first exemplary embodiment of the present invention.
FIG. 3 is a flowchart showing an operation of the origin server according to the first embodiment of this invention.
FIG. 4 is a block diagram illustrating a detailed configuration of a mirror content transfer unit of the origin server according to the first embodiment of this invention.
FIG. 5 is a flowchart illustrating a detailed operation of a method of performing dynamic mirroring from a mirror server with the smallest transfer delay according to the first embodiment of this invention;
FIG. 6 is a diagram illustrating an example of a method of performing dynamic mirroring from a mirror server with the least transfer overhead in the first exemplary embodiment of the present invention.
FIG. 7 is a flowchart illustrating an operation of the mirror server according to the first embodiment of this invention;
FIG. 8 is a block diagram showing a configuration of a second exemplary embodiment of the present invention.
FIG. 9 is a flowchart illustrating an operation of the adaptive mirror proxy server according to the second embodiment of this invention;
FIG. 10 is a block diagram showing a configuration of a third exemplary embodiment of the present invention.
FIG. 11 is a block diagram showing a configuration of a fourth exemplary embodiment of the present invention.
FIG. 12 is a flowchart showing the operation of
FIG. 13 is a flowchart showing an operation of algorithm 2 in the fourth embodiment of the present invention.
FIG. 14 is a flowchart showing an operation of algorithm 3 in the fourth embodiment of the present invention.
FIG. 15 is a block diagram illustrating a configuration of an origin server according to a fifth embodiment of this invention.
FIG. 16 is a block diagram illustrating a configuration of an adaptive mirror node according to a fifth embodiment of this invention;
FIG. 17 is a flowchart illustrating an operation of the origin server according to the fifth embodiment of this invention.
FIG. 18 is a diagram illustrating an example of creating a mirroring tree according to the fifth embodiment of the present invention;
FIG. 19 is a network configuration diagram in the first embodiment to which the present invention is applied;
FIG. 20 is a diagram showing a measurement result of TCP throughput per session in the second example to which the present invention is applied.
[Explanation of symbols]
A1 origin server
A10 storage device
A11 Server load measurement means
A12 Mirror content determination means
A13 Dynamic mirroring destination determination means
A14 Adaptive mirror node detection means
A15 Dynamic mirroring request means
A16 Mirror content transfer means
A161 Communication means with other mirror server
A162 Source determination means
A163 Communication means with adaptive mirror node
B1 Mirror server
B10 storage device
B11 Dynamic mirroring request acceptance means
B12 Request data receiver
B13 Response content creation means
B14 Content response means
B101 Mirror content storage unit
B111 Data transmission / reception means
B112 Dynamic mirroring request acceptance determination means
B113 Mirror content receiving means
B114 Decompression / decryption means
C1 client
D1 Adaptive mirror proxy server
D10 storage device
D11 Request data receiver
D12 motion determining means
D13 Cache hit determination means
D14 Content acquisition request transfer destination determination means
D15 Content acquisition request transfer means
D101 Cache storage unit
E1 Adaptive mirror node
E10 storage device
E11 Dynamic mirroring request acceptance means
E12 Request data receiver
E13 Authentication billing information processing means
E101 Authentication billing information management unit
F1 origin server
F11 Network resource acquisition means
G1 origin server
G11 Mirroring tree creation means
H1 Adaptive mirror node
H11 Dynamic mirroring request acceptance means
H111 Mirror content relay means
1 Backbone network
2-5 AS
6-9 AS internal network
101, 105 Origin server
106-108 Adaptive mirror proxy server
109-112 clients
113 Origin server
114-117 Adaptive mirror node
201-216 links
217 to 223 Transfer route
301 Table showing available bandwidth between servers
302 Table showing TCP throughput between each server / client
303 Table showing available bandwidth in each transfer path
401-403 mirroring tree
Claims (3)
クライアントからのコンテンツ取得要求に伴う前記オリジンサーバの性能劣化を示すパラメータを測定し、該測定結果に基づいて前記動的ミラーリングを行うかどうかを判定するサーバ負荷測定手段と、
前記オリジンサーバの保持するコンテンツのうちのどのコンテンツをミラーコンテンツとして、前記動的ミラーリングを行うかを選択するミラーコンテンツ決定手段と、
網内リソース情報とミラーサーバ性能情報のいずれか、あるいは両方を取得する機能を有する網リソース取得手段と、
前記網リソース取得手段によって取得した網リソース情報を基にして事前に設定されたアルゴリズムに従った計算を行うことによって、前記ミラーコンテンツをどの前記ミラーサーバへコピーするかを決定する動的ミラーリング先決定手段と、
前記動的ミラーリング先決定手段によって決定された動的ミラーリング先となるノードに対して、前記動的ミラーリングを行うための動的ミラーリング要求を出す動的ミラーリング要求手段と、
前記動的ミラーリング要求が受理された場合に、動的ミラーリング先として決定された前記ノードに対して、前記ミラーコンテンツ決定手段によって決定されたミラーコンテンツを転送するミラーコンテンツ転送手段とを備え、
前記動的ミラーリング先決定手段は、前記網リソース取得手段によって取得した網リソース情報のうち、
前記オリジンサーバに対してコンテンツ取得要求を行うクライアントの属するサイトであるクライアントサイトごとに計測された、前記オリジンサーバから前記クライアントサイトまでの1セッションあたりの第1のコンテンツ転送スループットをW1とし、
前記クライアントサイトにとってのコンテンツ取得遅延を最小化するように選択されたミラーサーバから、前記クライアントサイトまでの1セッションあたりの第2のコンテンツ転送スループットをW2とし、
前記クライアントサイトからの単位時間あたりのコンテンツ取得要求数をNとし、
N×(W2/W1)
の式に従って計算を行い、
当該計算結果の値の大きさに基づいて、前記動的ミラーリング先を決定するための優先度を定めることを特徴とするオリジンサーバ。An origin server that performs dynamic mirroring to copy mirror content, which is a copy of all or part of the content held by its own node, to another mirror server in the network,
A server load measuring means for measuring a parameter indicating performance degradation of the origin server accompanying a content acquisition request from a client, and determining whether to perform the dynamic mirroring based on the measurement result;
Mirror content determination means for selecting which content of the content held by the origin server is to be used as mirror content and performing the dynamic mirroring;
Network resource acquisition means having a function of acquiring either or both of network resource information and mirror server performance information ;
Dynamic mirroring destination determination that determines to which mirror server the mirror content is copied by performing calculation according to a preset algorithm based on network resource information acquired by the network resource acquisition means Means,
Dynamic mirroring requesting means for issuing a dynamic mirroring request for performing dynamic mirroring to a node that is a dynamic mirroring destination determined by the dynamic mirroring destination determining means;
Mirror content transfer means for transferring the mirror content determined by the mirror content determination means to the node determined as a dynamic mirroring destination when the dynamic mirroring request is received;
The dynamic mirroring destination determination unit includes the network resource information acquired by the network resource acquisition unit,
W1 is the first content transfer throughput per session from the origin server to the client site, measured for each client site to which the client making a content acquisition request to the origin server belongs,
The second content transfer throughput per session from the mirror server selected to minimize the content acquisition delay for the client site to the client site is W2,
The number of content acquisition requests from the client site per unit time is N,
N x (W2 / W1)
Calculate according to the formula
An origin server characterized in that a priority for determining the dynamic mirroring destination is determined based on the value of the calculation result.
クライアントからのコンテンツ取得要求に伴う前記オリジンサーバの性能劣化を示すパラメータを測定し、該測定結果に基づいて前記動的ミラーリングを行うかどうかを判定するサーバ負荷測定手段と、
前記オリジンサーバの保持するコンテンツのうちのどのコンテンツをミラーコンテンツとして、前記動的ミラーリングを行うかを選択するミラーコンテンツ決定手段と、
網内リソース情報とミラーサーバ性能情報のいずれか、あるいは両方を取得する機能を有する網リソース取得手段と、
前記網リソース取得手段によって取得した網リソース情報を基にして事前に設定されたアルゴリズムに従った計算を行うことによって、前記ミラーコンテンツをどの前記ミラーサーバへコピーするかを決定する動的ミラーリング先決定手段と、
前記動的ミラーリング先決定手段によって決定された動的ミラーリング先となる前記ノードに対して、前記動的ミラーリングを行うための動的ミラーリング要求を出す動的ミラーリング要求手段と、
前記動的ミラーリング要求が受理された場合に、動的ミラーリング先として決定された前記ノードに対して、前記ミラーコンテンツ決定手段によって決定されたミラーコンテンツを転送するミラーコンテンツ転送手段とを備え、
前記動的ミラーリング先決定手段は、前記網リソース取得手段によって取得した網リソース情報のうち、
クライアントサイトにとってのコンテンツ取得遅延を最小化するように選択されたミラーサーバから、該クライアントサイトまでの経路における、
利用可能帯域の値、RTTの値又はある固定長データの前記クライアントサイトが下流となる向きの転送遅延の値の何れか1つの値の大きさに基づいて、前記動的ミラーリング先を決定するための優先度を定めることを特徴とするオリジンサーバ。An origin server that performs dynamic mirroring to copy mirror content, which is a copy of all or part of the content held by its own node, to another mirror server in the network,
A parameter indicating the performance degradation of the origin server with the content acquisition request from a client is measured, and determining server load measuring means whether to perform the dynamic mirroring based on the measurement result,
Mirror content determination means for selecting which content of the content held by the origin server is to be used as mirror content and performing the dynamic mirroring;
Network resource acquisition means having a function of acquiring either or both of network resource information and mirror server performance information ;
Dynamic mirroring destination determination that determines to which mirror server the mirror content is copied by performing calculation according to a preset algorithm based on network resource information acquired by the network resource acquisition means Means,
Dynamic mirroring requesting means for issuing a dynamic mirroring request for performing the dynamic mirroring to the node to be the dynamic mirroring destination determined by the dynamic mirroring destination determining means;
Mirror content transfer means for transferring the mirror content determined by the mirror content determination means to the node determined as a dynamic mirroring destination when the dynamic mirroring request is received;
The dynamic mirroring destination determination unit includes the network resource information acquired by the network resource acquisition unit,
In the path from the mirror server selected to minimize content acquisition delay for the client site to the client site,
In order to determine the dynamic mirroring destination based on the size of one of an available bandwidth value, an RTT value, or a transfer delay value in a direction in which the client site of a certain fixed length data is downstream. An origin server characterized by determining the priority of
又は、Or
前記動的ミラーリング先決定手段は、前記利用可能帯域の値が大きいほど、あるいは、前記RTT又は前記転送遅延の値が小さいほど、前記動的ミラーリング先の決定において高い優先度を与えることを特徴とする請求項2に記載のオリジンサーバ。 The dynamic mirroring destination determination means gives higher priority in determining the dynamic mirroring destination as the value of the usable bandwidth is larger or as the value of the RTT or the transfer delay is smaller. The origin server according to claim 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001258315A JP4410963B2 (en) | 2001-08-28 | 2001-08-28 | Content dynamic mirroring system, |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001258315A JP4410963B2 (en) | 2001-08-28 | 2001-08-28 | Content dynamic mirroring system, |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005380512A Division JP2006146951A (en) | 2005-12-28 | 2005-12-28 | Contents dynamic mirroring system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003067279A JP2003067279A (en) | 2003-03-07 |
JP4410963B2 true JP4410963B2 (en) | 2010-02-10 |
Family
ID=19085858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001258315A Expired - Fee Related JP4410963B2 (en) | 2001-08-28 | 2001-08-28 | Content dynamic mirroring system, |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4410963B2 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005031987A (en) * | 2003-07-14 | 2005-02-03 | Nec Corp | Content layout management system and content layout management program for content delivery system |
US7546342B2 (en) * | 2004-05-14 | 2009-06-09 | Microsoft Corporation | Distributed hosting of web content using partial replication |
JP4636864B2 (en) * | 2004-11-30 | 2011-02-23 | 株式会社エヌ・ティ・ティ・ドコモ | Relay equipment |
US7210060B2 (en) * | 2004-12-30 | 2007-04-24 | Emc Corporation | Systems and methods for restoring data |
JP4670604B2 (en) | 2005-11-21 | 2011-04-13 | ブラザー工業株式会社 | Information distribution system, information processing apparatus, information processing program, and information processing method |
WO2008072358A1 (en) * | 2006-12-14 | 2008-06-19 | Frepar Networks Kabushiki Kaisha | Information providing system |
JP5103933B2 (en) * | 2007-02-20 | 2012-12-19 | 富士通株式会社 | Content distribution method and system |
JP4696089B2 (en) * | 2007-03-30 | 2011-06-08 | 三菱電機インフォメーションシステムズ株式会社 | Distributed storage system |
JP5096293B2 (en) * | 2008-11-05 | 2012-12-12 | 日本電信電話株式会社 | Content distribution support system, method and program |
KR100900491B1 (en) | 2008-12-02 | 2009-06-03 | (주)씨디네트웍스 | Method and apparatus for blocking distributed denial of service |
US20110276679A1 (en) * | 2010-05-04 | 2011-11-10 | Christopher Newton | Dynamic binding for use in content distribution |
JP5165045B2 (en) * | 2010-11-10 | 2013-03-21 | ヤフー株式会社 | Cache system and content delivery control method |
JP6020278B2 (en) * | 2013-03-21 | 2016-11-02 | 富士通株式会社 | Autonomous distributed cache allocation control system |
JP6770244B2 (en) * | 2015-03-30 | 2020-10-14 | 日本電気株式会社 | Storage system |
JP2020123188A (en) | 2019-01-31 | 2020-08-13 | 富士通株式会社 | Communication device, communication program, and communication method |
CN113127430B (en) * | 2019-12-30 | 2024-05-03 | 北京懿医云科技有限公司 | Mirror image information processing method, mirror image information processing device, computer readable medium and electronic equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07311703A (en) * | 1994-05-18 | 1995-11-28 | Matsushita Electric Ind Co Ltd | Method and device for network file system management |
JPH1093626A (en) * | 1996-09-11 | 1998-04-10 | Nippon Telegr & Teleph Corp <Ntt> | Traffic load distribution control method for host dependent upon communication state in data communication network |
-
2001
- 2001-08-28 JP JP2001258315A patent/JP4410963B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003067279A (en) | 2003-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563685B2 (en) | Method and apparatus for traffic optimization in virtual private networks (VPNs) | |
JP4410963B2 (en) | Content dynamic mirroring system, | |
US8819280B1 (en) | Network traffic load balancing system using IPV6 mobility headers | |
RU2549135C2 (en) | System and method for providing faster and more efficient data transmission | |
JP4529974B2 (en) | Server load balancing system, server load balancing device, content management device, and server load balancing program | |
JP5986162B2 (en) | Quality of service (QOS) based systems, networks, and advisors | |
US7228350B2 (en) | Intelligent demand driven recognition of URL objects in connection oriented transactions | |
KR101430237B1 (en) | Peer selction method and system in peer to peer communication | |
WO2012173175A1 (en) | Content delivery system, controller and content delivery method | |
US20030079005A1 (en) | System and method for efficient wide area network routing | |
US20100293294A1 (en) | Peer-to-peer communication optimization | |
JP2005311863A (en) | Traffic distribution control method, controller and network system | |
WO2003026220A1 (en) | Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof | |
JP2003256310A (en) | Server load decentralizing system, server load decentralizing apparatus, content management apparatus and server load decentralizing program | |
CN107135266B (en) | HTTP proxy framework security data transmission method | |
Yamamoto | A survey of caching networks in content oriented networks | |
JP2006146951A (en) | Contents dynamic mirroring system | |
JP4340562B2 (en) | COMMUNICATION PRIORITY CONTROL METHOD, COMMUNICATION PRIORITY CONTROL SYSTEM, AND COMMUNICATION PRIORITY CONTROL DEVICE | |
Bolot et al. | Design of efficient caching schemes for the world wide web | |
JP4140442B2 (en) | Communication terminal and communication network | |
JP4270397B2 (en) | Communication control system | |
JP2006260592A (en) | Content management device, and content management program | |
Kubde et al. | Analysis of Multipath TCP Schedulers | |
Bhinder | DESIGN AND EVALUATION OF REQUEST DISTRIBUTION | |
JP2019198130A (en) | Transmission device, relay device, communication system, transmission method, relay method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051018 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051228 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060214 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20060929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091015 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091116 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4410963 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121120 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121120 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131120 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |