Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2010113400) DATA REPLICATION SYSTEM AND CLIENT DEVICE THEREOF
Document

明 細 書

発明の名称 [規則37.2に基づきISAが決定した発明の名称] データレプリケーションシステム、およびそのクライアント装置

技術分野

0001  

背景技術

0002  

先行技術文献

特許文献

0003  

発明の概要

発明が解決しようとする課題

0004   0005  

課題を解決するための手段

0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017  

発明の効果

0018  

図面の簡単な説明

0019   0020  

発明を実施するための形態

0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23  

図面

1   2   3   4   5   6   7   8   9   10  

明 細 書

発明の名称 : [規則37.2に基づきISAが決定した発明の名称] データレプリケーションシステム、およびそのクライアント装置

技術分野

[0001]
 本発明は、コンテンツ配信技術に関する。

背景技術

[0002]
 近年、インターネットに代表される広域ネットワークが大規模化し、これに伴い、広域ネットワーク上のクライアント端末数が増大するとともに、コンテンツ配信サーバの処理負荷が増大する。すなわち、クライアント端末からコンテンツ配信サーバへのアクセスが集中すれば、コンテンツ配信サーバの処理負荷が過大となり、コンテンツ配信サーバの応答性能が低下するという問題がある。そこで、コンテンツ配信サーバの処理負荷を分散させる種々のネットワーク・システム(以下、広域負荷分散型システムと呼ぶ。)が提案され、実用化されている。広域負荷分散型システムの1つとしてCDN(Content Delivery/Distribution Networks)やDNS(Domain Name System)が知られている。広域負荷分散型システムに関する先行技術文献としては、たとえば、特許文献1(特開2003-099347号公報)や特許文献2(特表2005-508121号公報)が挙げられる。

先行技術文献

特許文献

[0003]
特許文献1 : 特開2003-099347号公報
特許文献2 : 特表2005-508121号公報

発明の概要

発明が解決しようとする課題

[0004]
 広域負荷分散型システムでは、たとえば、クライアント端末がコンテンツ配信サーバに対してデータアクセス要求を送信したとき、コンテンツ配信サーバは負荷分散処理を行う必要があるので、クライアント端末がデータアクセス要求を発してから実際にコンテンツデータを受信するまでに比較的長い応答時間を要するという問題がある。
[0005]
 上記に鑑みて本発明の目的は、クライアント端末などの通信装置からコンテンツ配信サーバへの効率的なデータアクセスを可能にするクライアント装置、データレプリケーションシステム、データ処理方法および記憶媒体を提供する点にある。

課題を解決するための手段

[0006]
 本発明によれば、通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置が提供される。このクライアント装置は、コンテンツデータの取得要求を受け付けるクライアント機能部と、当該クライアント装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、前記アクセスコスト参照テーブルおよび前記コンテンツ情報テーブルを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するサーバ探索部と、を備えており、前記クライアント機能部は、当該i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う。
[0007]
 本発明によれば、通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置が提供される。このクライアント装置は、コンテンツデータの取得要求を受け付けるクライアント機能部と、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、前記負荷参照テーブルおよび前記コンテンツ情報テーブルを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するサーバ探索部と、を備えており、前記クライアント機能部は、当該i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う。
[0008]
 本発明によれば、各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、を備えたデータレプリケーションシステムが提供される。このデータレプリケーションシステムでは、前記N台のサーバ装置のうちのi番目サーバ装置(iは1~Nのうちのいずれかの整数)は、前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データを前記コンテンツ格納部から取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する応答部と、当該i番目サーバ装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないとき、前記アクセスコスト参照テーブルおよび前記コンテンツ情報テーブルを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するサーバ探索部と、を含む。
[0009]
 本発明によれば、各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、を備えたデータレプリケーションシステムが提供される。このデータレプリケーションシステムでは、前記N台のサーバ装置のうちのi番目サーバ装置(iは1~Nのうちのいずれかの整数)は、前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データを前記コンテンツ格納部から取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する応答部と、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないとき、前記負荷参照テーブルおよび前記コンテンツ情報テーブルを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するサーバ探索部と、を含む。
[0010]
 本発明によれば、各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)によるデータ処理方法が提供される。このデータ処理方法は、(a)前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定するステップと、(b)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信するステップと、(c)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていないと判定されたとき、当該i番目サーバ装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するステップと、を含む。
[0011]
 本発明によれば、各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)によるデータ処理方法が提供される。このデータ処理方法は、(a)前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定するステップと、
 (b)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信するステップと、(c)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないと判定されたとき、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するステップと、を含む。
[0012]
 本発明によれば、通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置によるデータ処理方法が提供される。このデータ処理方法は、(a)コンテンツデータの取得要求を受け付けるステップと、(b)当該クライアント装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するステップと、(c)前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行うステップと、を備える。
[0013]
 本発明によれば、通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置によるデータ処理方法が提供される。このデータ処理方法は、(a)コンテンツデータの取得要求を受け付けるステップと、(b)前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するステップと、(c)前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行うステップと、を備える。
[0014]
 本発明によれば、各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体が提供される。このデータ処理は、前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定する判定処理と、前記判定処理で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する処理と、前記判定処理で前記コンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないと判定されたとき、当該i番目サーバ装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択する処理と、を含む。
[0015]
 本発明によれば、各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体が提供される。このデータ処理は、前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定する判定処理と、前記判定処理で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する処理と、前記判定処理で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていないと判定されたとき、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択する処理と、を含む。
[0016]
 本発明によれば、通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体が提供される。このデータ処理は、コンテンツデータの取得要求を受け付ける処理と、当該クライアント装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択する処理と、前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う処理と、を含む。
[0017]
 そして、本発明によれば、通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体が提供される。このデータ処理は、コンテンツデータの取得要求を受け付ける処理と、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択する処理と、前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う処理と、を含む。

発明の効果

[0018]
 上述の通り、本発明によれば、コンテンツ情報テーブルとアクセスコスト参照テーブルとに基づいて、あるいは、コンテンツ情報テーブルと負荷参照テーブルとに基づいて、通信ネットワーク上の多数のサーバ装置の中から、データアクセス要求や取得要求やデータ配信要求で指定されたコンテンツデータを有するサーバ装置を短時間で見つけ出すことができる。したがって、サーバ装置に対する効率的なデータアクセスの実現が可能である。

図面の簡単な説明

[0019]
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
[0020]
[図1] 通信ネットワーク上のノードを構成するサーバ装置の配置状況を概略的に示す図である。
[図2] 本発明に係る一実施形態であるデータレプリケーションシステムの構成を概略的に示す機能ブロック図である。
[図3] クライアント装置の動作を説明するためのフローチャートである。
[図4] コンテンツ情報テーブルの一例を示す図である。
[図5] アクセスコスト参照テーブルの一例を示す図である。
[図6] ネットワークトポロジを例示する図である。
[図7] 負荷参照テーブルの一例を示す図である。
[図8] データアクセス要求を受信したサーバ装置の動作例を説明するためのフローチャートである。
[図9] データアクセス要求を受信したサーバ装置の他の動作例を説明するためのフローチャートである。
[図10] データ配信要求を受信したサーバ装置の動作例を説明するためのフローチャートである。

発明を実施するための形態

[0021]
 以下、本発明に係る実施の形態について図面を参照しつつ説明する。なお、すべての図面において、同様な構成要素には同一符号を付し、その詳細な説明は重複しないように適宜省略される。
[0022]
 (データレプリケーションシステムの構成)
 図1は、本発明に係る一実施形態であるデータレプリケーションシステムを構成するサーバ装置SVRの通信ネットワークにおける配置状況を概略的に示す図である。図1に示されるように、データレプリケーションシステムは、クライアント装置(CT)10と、複数のサーバ装置SVR,...,SVRとで構成される。
[0023]
 サーバ装置SVR,...,SVRは、インターネットなどの広域ネットワーク上のノードを構成し、広域ネットワーク上に分散配置されている。これらサーバ装置SVR,...,SVRは、物理的または論理的に規定される複数のグループAS0,AS1,AS2,AS3,...に所属する。これらグループAS0,...は、たとえば、ルーティングやプロトコルなどに関する運用規則(ポリシ)や管理団体が互いに異なる複数の自律系ネットワーク(AS:Autonomous System)でもよいし、あるいは、論理的な階層(レイヤ)であってもよい。たとえば、地域、組織、研究所、営業部門あるいはネットワークトポロジに応じてグループAS0,...が規定されてもよい。
[0024]
 各サーバ装置SVRは、コンテンツデータ群を保持しており、クライアント装置(CT)10からのデータアクセス要求に応じて、このデータアクセス要求で指定されるコンテンツデータ(たとえば、映像データや音声データ)を当該クライアント装置10に配信する機能を有している。これらサーバ装置SVR,SVR,...は、たとえばURI(Uniform Resource Identifiers)で特定される原データ(オリジナルデータ)を保持するマスタサーバ装置と、当該原データの複製データを保持するスレーブサーバ装置とに分類される。マスタサーバ装置は、コンテンツデータをスレーブサーバ装置にプッシュ型配信する機能を有するので、スレーブサーバ装置には、マスタサーバ装置から配信されたコンテンツデータの複製データが格納されている。
[0025]
 図2は、本発明に係る一実施形態であるデータレプリケーションシステム1の構成を概略的に示す機能ブロック図である。図2に示されるデータレプリケーションシステム1は、クライアント装置10と、サーバ装置20 ,20 とを含む。これらサーバ装置20 ,20 は、図1に示したサーバ装置SVR,SVR,...のいずれかであればよい。たとえば、サーバ装置20 がグループAS1に属するサーバ装置SVRであり、サーバ装置20 がグループAS0に属するサーバ装置SVRであってもよい。
[0026]
 なお、クライアント装置10やサーバ装置20 ,20 は、プロセッサを内蔵する実計算機あるいは仮想計算機で構成することができる。クライアント装置10を構成する機能ブロック群の全部または一部は、ハードウェアなどの回路構成で実現されてもよいし、あるいは、不揮発性メモリや光ディスクなどの記録媒体に記録されたプログラムまたはプログラムコードで実現されてもよい。このようなプログラムまたはプログラムコードは、機能ブロックの全部または一部の処理をCPUなどのプロセッサに実行させるものである。同様に、サーバ装置20 ,20 の各々を構成する機能ブロック群の全部または一部も、ハードウェアなどの回路構成で実現されてもよいし、あるいは、不揮発性メモリや光ディスクなどの記録媒体に記録されたプログラムまたはプログラムコードで実現されてもよい。
[0027]
 サーバ装置20 ,20 の各々を構成する機能ブロック群は、1台の実計算機または1台の仮想計算機に組み込まれてもよいし、あるいは、複数台の実計算機または複数台の仮想計算機に分散して組み込まれてもよい。
[0028]
 (クライアント装置の構成)
 図2に示されるように、クライアント装置10は、クライアント機能部101、サーバ探索部102、データベース104、テーブル更新制御部105および出力部110を備えている。このクライアント装置10には、ポインティングデバイスやキーボードなどの入力操作部120が接続されており、ユーザは、この入力操作部120を操作してクライアント機能部101に情報を入力することができる。出力部110は、クライアント機能部101から供給された映像データや音声データを出力する表示装置やスピーカ装置である。
[0029]
 クライアント機能部101は、クライアントサーバ・システムにおけるクライアント端末の機能を有する。クライアント機能部101は、たとえばHTTP(HyperText Transport Protocol)などの通信プロトコルに対応した通信機能を有し、符号化データに対するデコード機能を有する映像再生部や音声再生部を含む。
[0030]
 図3は、クライアント装置10の動作を説明するためのフローチャートである。図3を参照すると、クライアント機能部101は、入力指示があるまで待機している(ステップS10のNO)。入力操作部120からコンテンツデータの取得要求を受け付けると(ステップS10のYES)、クライアント機能部101は、サーバ探索部102にサーバ探索要求を行う。サーバ探索部102は、当該サーバ探索要求に応じて、データベース104内のアクセスコスト参照テーブルCRT、負荷参照テーブルLRTおよびコンテンツ情報テーブルCITを参照し、通信ネットワーク上のサーバ装置群を検索して(ステップS11)、このサーバ装置群の中からサーバ装置20 を選択する(ステップS12)。
[0031]
 ここで、コンテンツ情報テーブルCITは、通信ネットワーク上でコンテンツデータが格納されているノードの所在が記録されるテーブルである。言い換えれば、コンテンツ情報テーブルCITは、コンテンツデータのデータ識別子(たとえば、URIや名称や識別コードなどの識別情報)と、ノードの識別情報(IPアドレスなどのサーバ識別子)との対応関係が記録されたテーブルである。サーバ探索部102は、コンテンツデータの識別情報を検索キーとしてコンテンツ情報テーブルCITを参照し、当該コンテンツデータを有する単数台または複数台のサーバ装置の候補を探し出すことができる。図4は、コンテンツ情報テーブルCITの一例を示す図である。図4のコンテンツ情報テーブルCITは、データ識別子のフィールドを有するとともに、ノードの識別子として、マスタ識別子およびスレーブ識別子のフィールドを有する。マスタ識別子のフィールドには、各データ識別子に対応するマスタサーバ装置の所在情報IPAddrが記録されており、スレーブ識別子のフィールドには、各データ識別子に対応するスレーブサーバ装置の所在情報IPAddrが記録されている。
[0032]
 アクセスコスト参照テーブルCRTは、クライアント装置10からサーバ装置SVR,...,SVRへのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるテーブルである。図5は、アクセスコスト参照テーブルCRTの一例を示す図である。図5に示されるように、アクセスコスト参照テーブルCRTでは、サーバ装置SVRの識別子(たとえば、サーバ装置SVRの名称やネットワークアドレス)SVR1,SVR2,...と、これら識別子SVR1,SVR2,...にそれぞれ対応するアクセスコスト値とが記録されている。1つのデータ識別子は、必ず1台のマスタサーバ装置の所在情報IPAddrと対応している。また、サーバ探索部102は、ロンゲストマッチ(longest match)に従ってコンテンツ情報テーブルCITのデータ識別子を検索する機能を有する。ロンゲストマッチとは、可変長の符号列であるデータ識別子のうち最長のデータ識別子を優先的に選択するための規則である。図4のコンテンツ情報テーブルCITには最短長のデータ識別子URI0が格納されている。
[0033]
 サーバ探索部102は、アクセスコスト参照テーブルCRTを参照して、アクセスコスト値が比較的小さいサーバ装置SVRの候補を探し出すことができる。よって、アクセスコスト参照テーブルCRTを利用することにより、応答の良好なサーバ装置SVRの候補を見つけ出すことが可能である。
[0034]
 アクセスコスト値は、評価指標(メトリック)を用いて算出することができる。評価指標は、通信ネットワーク内のノード間経路(リンク)毎に付与される値である。評価指標は、データの平均転送時間(クライアント装置10が要求してからデータを取得するまでに要する時間)やアクセス先のサーバ装置SVRの負荷を考慮して算出できるが、これに限定されるものではない。公知の算出法を用いて評価指標を算出すればよい。
[0035]
 図6は、評価指標を説明するためのネットワークトポロジを例示する図である。図6には、ノードNd0,Nd1,Nd2,Nd3,Nd4からなるネットワークが示されている。ノードNd0とノードNd4との間には、4通りの経路(パス)が存在する。すなわち、ノードNd0からノードNd1,Nd2を経由してノードNd4に至る第1の経路と、ノードNd0からノードNd1,Nd2,Nd3を経由してノードNd4に至る第2の経路と、ノードNd0からノードNd1,Nd3を経由してノードNd4に至る第3の経路と、ノードNd0からノードNd1,Nd3,Nd2を経由してノードNd4に至る第4の経路とが存在する。ノードNdi,Ndj間を結ぶ経路(リンク)には、評価指標M(i,j)が割り当てられる。
[0036]
 ノードNd0からノードNd4へのアクセスに要するアクセスコスト値は、4通りの経路(パス)における評価指標の総和、あるいは、当該総和に比例する値とすることができる。たとえば、第1の経路の評価指標の総和は、C1=M(0,1)+M(1,2)+M(2,4)であり、第2の経路の評価指標の総和は、C2=M(0,1)+M(1,2)+M(2,3)+M(3,4)であり、第3の経路の評価指標の総和は、C3=M(0,1)+M(1,3)+M(3,4)であり、第4の経路の評価指標の総和は、C4=M(0,1)+M(1,3)+M(3,2)+M(2,4)である。アクセスコスト値は、C1+C2+C3+C4として算出できる。
[0037]
 また、アクセスコスト値としては、たとえば、図2のネットワーク情報配信装置30が計算した値を利用してもよいし、サーバ探索部102のコスト計算部103が計算した値を利用してもよい。ネットワーク情報配信装置30からアクセスコスト値のデータ供給を受ける場合、テーブル更新制御部105は、ネットワーク情報配信装置30から供給されたアクセスコスト値を用いてアクセスコスト参照テーブルCRTを更新する。
[0038]
 一方、テーブル更新制御部105は、ネットワーク情報配信装置30からリンク毎の評価指標を示すデータを取得する機能を有する。コスト計算部103は、テーブル更新制御部105で取得された評価指標に基づいてアクセスコスト値を算出し、当該アクセスコスト値を用いてアクセスコスト参照テーブルCRTを更新することも可能である。
[0039]
 負荷参照テーブルLRTは、サーバ装置SVR,...,SVRそれぞれのリソースの負荷状況が記録されるテーブルである。リソースの負荷に関する情報としては、たとえば、サーバ装置SVRのCPUのコア数、CPUのクロック周波数、ロード数値、メモリ実装量および空きメモリ容量といったサーバ装置SVRの物理的な応答性能を示す値が挙げられる。
[0040]
 図7は、負荷参照テーブルLRTの一例を示す図である。図7に示されるように、負荷参照テーブルLRTには、サーバ装置SVRの識別子(たとえば、サーバ装置SVRの名称やネットワークアドレス)SVR1,SVR2,...と、これら識別子SVR1,SVR2,...にそれぞれ対応する負荷関連情報(空きメモリ容量、ロード数量およびCPU速度などのパラメータ)とが記録されている。
[0041]
 サーバ探索部102は、負荷参照テーブルLRTを参照して負荷状況が比較的小さいサーバ装置SVRの候補を見つけ出すことができる。
[0042]
 図3のフローチャートに戻ると、ステップS12でサーバ装置20 の選択(ステップS12)がなされた後、クライアント機能部101は、サーバ装置20 に対してコンテンツデータのデータアクセス要求RQTaを行い(ステップS13)、その後、応答RPYaがあるまで待機する(ステップS14のNO)。図3に明示されていないが、一定時間経過後に応答RPYaが得られない場合には、クライアント機能部101は以上の処理を終了させる。
[0043]
 一方、サーバ装置20 からデータアクセス要求を認める旨の肯定的な応答RPYaがあった場合(ステップS14のYES、ステップS15のYES)、クライアント機能部101は、要求したコンテンツデータを受信する(ステップS16)。他方、サーバ装置20 からデータアクセス要求を拒否する旨の否定的な応答RPYaがあった場合(ステップS14のYES、ステップS15のNO)、クライアント機能部101は以上の処理を終了させる。
[0044]
 上記の通り、本実施形態のクライアント装置10では、サーバ探索部102は、データベース104内にある各種テーブルCRT,LRT,CITを参照して、通信ネットワーク上の多数のサーバ装置SVR,...,SVRの中からアクセス先のサーバ装置20 を探し出すことができる。それ故、データアクセス要求RQTaで指定されるコンテンツデータを有するサーバ装置20 を効率的に見つけ出すことが可能である。たとえば、クライアント装置10からのネットワーク距離が離れており応答性の低いサーバ装置SVRの選択を回避することが可能である。したがって、クライアント装置10からサーバ装置に対する効率的なデータアクセスを実現することが可能である。
[0045]
 ここで、サーバ探索部102は、3種類のテーブルCRT,LRT,CITを全て使用して探索処理を行うことが好ましいが、かかる形態に限定されるものではない。コンテンツ情報テーブルCITとアクセスコスト参照テーブルCRTとに基づいて、あるいは、コンテンツ情報テーブルCITと負荷参照テーブルLRTとに基づいて探索処理を行ったとしても、クライアント装置10からサーバ装置に対する効率的なデータアクセスを実現することが可能である。
[0046]
 図2のテーブル更新制御部105は、ネットワーク情報配信装置30からコンテンツ情報テーブルCITに関する最新情報を、定期的に、あるいはネットワーク情報配信装置30に要求して取得する機能を有する。また、テーブル更新制御部105は、取得した情報を用いてコンテンツ情報テーブルCITを更新する機能を有するので、サーバ探索部102は、サーバ装置20 を精度良く検索することができる。
[0047]
 (サーバ装置の構成)
 次に、サーバ装置20 ,20 の構成について説明する。図2に示されるように、サーバ装置20 は、配信要求部201、サーバ探索部202、各種テーブルを含むデータベース204、テーブル更新制御部205、応答部206およびコンテンツデータベース209を有している。サーバ装置20 の構成は、サーバ装置20 の構成と実質的に同一である。
[0048]
 図2のサーバ装置20 の応答部206は、クライアント装置10からのデータアクセス要求RQTaに応じて、このデータアクセス要求RQTaで指定されるコンテンツデータCDの原データまたは複製データをコンテンツデータベース(コンテンツ格納部)209から取得しようと試みる。原データまたは複製データの取得に成功したとき、応答部206は、肯定的な応答RPYaとともに、当該取得したデータをクライアント装置10に送信する。他方、原データまたは複製データの取得に失敗したときは、応答部206は、否定的な応答RPYaをクライアント装置10に返す。
[0049]
 応答部206は、自己が属するサーバ装置20 とは別のサーバ装置SVRからデータ配信要求RQTdを受信したとき、このデータ配信要求RQTdで指定されるコンテンツデータCDの原データまたは複製データをコンテンツデータベース(コンテンツ格納部)209から取得しようと試みる。原データまたは複製データの取得に成功したとき、応答部206は、肯定的な応答RPYdとともに、当該取得したデータを要求元のサーバ装置SVRに送信する。他方、原データまたは複製データの取得に失敗したときは、応答部206は、否定的な応答RPYdを当該サーバ装置SVRに返す。
[0050]
 配信要求部201は、応答部206からデータ取得要求を受けると、このデータ取得要求に応じてサーバ探索部202に対してサーバ探索要求を行う。サーバ探索部202は、応答部206または配信要求部201からサーバ探索要求を受けると、このサーバ探索要求に応じて、データベース204内のアクセスコスト参照テーブルCRT、負荷参照テーブルLRTおよびコンテンツ情報テーブルCITを参照し、通信ネットワーク上のサーバ装置群を探索してこのサーバ装置群の中からサーバ装置を選択する機能を有する。この探索結果は、応答部206または配信要求部201に通知される。このサーバ探索部202の機能は、クライアント装置10のサーバ探索部102の機能と同様である。
[0051]
 配信要求部201は、サーバ探索部202によって選択されたサーバ装置SVRにデータ配信要求RQTdを送信する。そして、配信要求部201は、当該サーバ装置SVRから肯定的な応答RPYdとともにコンテンツデータの原データまたは複製データを受信すると、このコンテンツデータを応答部206に与えるか、あるいは、コンテンツデータベース209に格納する。
[0052]
 コスト計算部203、データベース204およびテーブル更新制御部205は、それぞれ、クライアント装置10のコスト計算部103、データベース104およびテーブル更新制御部105と同様の構成を有する。
[0053]
 上記サーバ装置20 ,20 の動作を図8~図10を参照しつつ以下に説明する。図8は、データアクセス要求を受信するサーバ装置20 の動作例を説明するためのフローチャートであり、図9は、データアクセス要求を受信するサーバ装置20 の他の動作例を説明するためのフローチャートである。また、図10は、データ配信要求を受信するサーバ装置20 の動作例を説明するためのフローチャートである。
[0054]
 図8を参照すると、応答部206は、データアクセス要求RQTaを受信するまで待機している(ステップS20のNO)。クライアント装置10からデータアクセス要求RQTaを受け付けると(ステップS20のYES)、応答部206は、コンテンツデータベース209を検索して(ステップS21)、このデータアクセス要求RQTaで指定されたコンテンツデータの原データまたは複製データがコンテンツデータベース209に格納されているか否かを判定する(ステップS22)。
[0055]
 指定されたコンテンツデータがコンテンツデータベース209に格納されている場合(ステップS22のYES)、応答部206は、肯定的な応答RPYaとともにそのコンテンツデータの複製データをクライアント装置10に送信する(ステップS23)。
[0056]
 一方、指定されたコンテンツデータがコンテンツデータベース209に格納されていない場合(ステップS22のNO)、応答部206は、サーバ探索部202にサーバ探索要求を行う。サーバ探索部202は、当該サーバ探索要求に応じて、データベース204内のアクセスコスト参照テーブルCRT、負荷参照テーブルLRTおよびコンテンツ情報テーブルCITを参照し、通信ネットワーク上のサーバ装置群を検索して(ステップS30)、このサーバ装置群の中からサーバ装置を選択する(ステップS31)。
[0057]
 その後、応答部206は、クライアント装置10からのデータアクセス要求RQTaを、ステップS31で選択されたサーバ装置(以下、選択サーバ装置20 と呼ぶ。)にリダイレクトする(ステップS32)。これにより、クライアント装置10は、選択サーバ装置20 からコンテンツデータを受信することが可能となる。なお、リダイレクトは、たとえば、公知のHTTPリダイレクトにより実行されればよい。
[0058]
 次に、図9を参照しつつ、選択サーバ装置20 の他の動作例を以下に説明する。
[0059]
 図9を参照すると、ステップS20~S31の処理手順は、図8のそれらと同じである。ステップS31でサーバ装置が選択された後、応答部206は、選択サーバ装置20 に要求すべきデータブロックを決定する(ステップS33A)。次いで、応答部206が配信要求部201に当該データブロックのデータ取得要求を行うことにより、配信要求部201は、図2に示されるように、選択サーバ装置20 にデータ配信要求RQTdを送信し(ステップS33B)、その後、応答RPYdがあるまで待機する(ステップS34のNO)。図8には明示されていないが、一定時間経過後に応答RPYdが得られない場合には、配信要求部201は以上の処理を終了させる。
[0060]
 一方、選択サーバ装置20 からデータ配信要求を認める旨の肯定的な応答RPYdがあった場合(ステップS34のYES、ステップS35のYES)、配信要求部201は、要求したコンテンツデータを受信する(ステップS36)。さらに、配信要求部201は、ステップS36で受信されたコンテンツデータを応答部206に転送し、応答部206は、そのコンテンツデータをクライアント装置10に送信する(ステップS37)。他方、選択サーバ装置20 からデータアクセス要求を拒否する旨の否定的な応答RPYdがあった場合(ステップS34のYES、ステップS35のNO)は、配信要求部201は、ステップS38に処理を移行させる。
[0061]
 その後、応答部206は、全てのデータブロックの受信が終了した場合など、コンテンツデータの受信を終了すると判定したときは(ステップS38のYES)、以上の処理を終了させる。他方、応答部206は、コンテンツデータの受信を続行すると判定したときは(ステップS38のNO)、ステップS33Aに処理を戻す。
[0062]
 上記の通り、配信要求部201と応答部206は、ステップS36で受信されたコンテンツデータを中継する機能を有する。なお、配信要求部201は、ステップS36で受信されたコンテンツデータをコンテンツデータベース209に蓄積する機能をも有する。これにより、次回に同じコンテンツデータのデータアクセス要求を受信したとき、コンテンツデータベース209から当該コンテンツデータを読み出し、クライアント装置10に提供することが可能となる。
[0063]
 次に、図10を参照しつつ、選択サーバ装置20 の動作の一例を以下に説明する。
[0064]
 図10を参照すると、応答部206は、データ配信要求RQTdを受信するまで待機している(ステップS40のNO)。サーバ装置20 からデータ配信要求RQTdを受け付けると(ステップS40のYES)、応答部206は、コンテンツデータベース209を検索して(ステップS41)、このデータ配信要求RQTdで指定されたコンテンツデータの原データまたは複製データがコンテンツデータベース209に格納されているか否かを判定する(ステップS42)。
[0065]
 指定されたコンテンツデータがコンテンツデータベース209に格納されている場合(ステップS42のYES)、応答部206は、肯定的な応答RPYdとともにそのコンテンツデータの複製データをサーバ装置20 に送信する(ステップS43)。
[0066]
 一方、指定されたコンテンツデータがコンテンツデータベース209に格納されていない場合(ステップS42のNO)、応答部206は、サーバ探索部202にサーバ探索要求を行う。サーバ探索部202は、当該サーバ探索要求に応じて、データベース204内のアクセスコスト参照テーブルCRT、負荷参照テーブルLRTおよびコンテンツ情報テーブルCITを参照し、通信ネットワーク上のサーバ装置群を検索して(ステップS44)、このサーバ装置群の中からサーバ装置を選択する(ステップS45)。
[0067]
 その後、応答部206は、ステップS45で選択されたサーバ装置(以下、選択サーバ装置と呼ぶ。)に要求すべきデータブロックを決定する(ステップS46A)。次いで、応答部206が配信要求部201に当該データブロックのデータ取得要求を行うことにより、配信要求部201は、選択サーバ装置にデータ配信要求RQTdを送信し(ステップS46B)、その後、応答RPYdがあるまで待機する(ステップS47のNO)。図10には明示されていないが、一定時間経過後に応答RPYdが得られない場合には、配信要求部201は以上の処理を終了させる。
[0068]
 一方、選択サーバ装置からデータ配信要求を認める旨の肯定的な応答RPYdがあった場合(ステップS47のYES、ステップS48のYES)、配信要求部201は、要求したコンテンツデータを受信する(ステップS49)。さらに、配信要求部201は、ステップS49で受信されたコンテンツデータを応答部206に転送し、応答部206は、そのコンテンツデータを要求元のサーバ装置に送信する(ステップS50)。他方、選択サーバ装置からデータ配信要求を拒否する旨の否定的な応答RPYdがあった場合(ステップS47のYES、ステップS48のNO)は、配信要求部201はステップS51に処理を移行させる。
[0069]
 その後、応答部206は、全てのデータブロックの受信が終了した場合など、コンテンツデータの受信を終了すると判定したときは(ステップS51のYES)、以上の処理を終了させる。他方、応答部206は、コンテンツデータの受信を続行すると判定したときは(ステップS51のNO)、ステップS46Aに処理を戻す。
[0070]
 上記の通り、配信要求部201と応答部206は、図10のステップS49で受信されたコンテンツデータを中継する機能を有する。したがって、複数のサーバ装置SVRがコンテンツデータ(たとえば、ストリーミングデータ)の中継装置群として機能することが可能となる。なお、コンテンツデータを中継する代わりに、応答部206は、データ配信要求RQTdを、ステップS45で選択されたサーバ装置にリダイレクトすることもできる。
[0071]
 上記の通り、本実施形態のサーバ装置20 では、サーバ探索部202は、データベース204内にある各種テーブルCRT,LRT,CITを参照して、通信ネットワーク上の多数のサーバ装置SVR,...,SVRの中からサーバ装置20 を探し出すことができる。それ故、データ配信要求RQTdで指定されるコンテンツデータを有するサーバ装置20 を効率的に見つけ出すことが可能である。したがって、サーバ装置20 からサーバ装置20 に対する効率的なデータアクセスを実現できる。
[0072]
 また、図2のテーブル更新制御部205は、クライアント装置10のテーブル更新制御部105と同様に、ネットワーク情報配信装置30からコンテンツ情報テーブルCITに関する最新情報を、定期的に、あるいはネットワーク情報配信装置30に要求して取得する機能を有する。また、テーブル更新制御部205は、取得した情報を用いてコンテンツ情報テーブルCITを更新する機能を有するので、サーバ探索部202は、サーバ装置20 を精度良く検索することができる。
[0073]
 なお、サーバ装置20 のテーブル更新制御部205は、データベース204のテーブルCRT,LRT,CITの更新状況(たとえば、更新日時)を、自己が属するサーバ装置20 以外のサーバ装置のテーブル更新制御部205に定期的にあるいは要求に応じて通知する機能を有している。また、テーブル更新制御部205は、クライアント装置10のテーブル更新制御部105にもその更新状況を通知する機能を有する。この更新状況の通知を受けたテーブル更新制御部105,205は、データベース104,204にテーブル毎の更新状況を記録する。よって、サーバ探索部102,202は、テーブルCRT,LRT,CITの更新状況を参照し考慮することでサーバ装置をより精度良く検索することができる。
[0074]
 以上、図面を参照して本発明の実施形態について説明した。上記データレプリケーションシステム1のサーバ装置20 ,20 は、コンテンツデリバリネットワーク(CDN)の構成要素として使用することが可能である。たとえば、図1のサーバ装置SVR,...のうちマスタサーバ装置をコンテンツデータ群の原データを蓄積するオリジンサーバとし、その他のスレーブサーバ装置をそのコンテンツデータ群の複製データを蓄積するサロゲートサーバ(代理サーバ)またはミラーサーバとすることができるが、本発明は、かかる構成に限定されるものではない。
[0075]
 また、上記実施形態は本発明の例示であり、上記以外の様々な構成を採用することもできる。上記実施形態では、クライアント装置10の台数は限定されるものではない。たとえば、数万台~数千万台のクライアント装置10が通信ネットワーク上に存在してもよい。
[0076]
 さらに、ネットワーク情報配信装置30は1台だけでなく、通信ネットワーク上に複数台が配置されてもよい。たとえば、ネットワーク情報配信装置を図1に示すグループAS0,AS1,AS2,AS3に個別に配置することにより、各グループのネットワーク情報配信装置は、コスト計算のための、当該グループに適した情報をサーバ装置SVRに供給することができる。
[0077]
 この出願は、2009年3月31日に出願された日本出願特願2009-087544号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

請求の範囲

[請求項1]
 通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置であって、
 コンテンツデータの取得要求を受け付けるクライアント機能部と、
 当該クライアント装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、
 前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、
 前記アクセスコスト参照テーブルおよび前記コンテンツ情報テーブルを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するサーバ探索部と、
を備え、
 前記クライアント機能部は、当該i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う、クライアント装置。
[請求項2]
 請求項1に記載のクライアント装置であって、
 前記サーバ探索部は、前記通信ネットワーク上のノード間経路毎の評価指標(メトリック)を示すデータをネットワーク情報配信装置から取得し、前記評価指標に基づいて前記アクセスコスト値を算出するコスト計算部を含む、クライアント装置。
[請求項3]
 請求項2に記載のクライアント装置であって、前記サーバ探索部は、当該クライアント装置から前記サーバ装置に至る通信経路を構成するノード間経路が有する評価指標の総和または当該総和に比例する値を前記アクセスコスト値として算出する、クライアント装置。
[請求項4]
 請求項1から3のうちのいずれか1項に記載のクライアント装置であって、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルをさらに含み、
 前記サーバ探索部は、前記アクセスコスト参照テーブルおよび前記コンテンツ情報テーブルに加えて前記負荷参照テーブルを参照して、前記N台のサーバ装置の中から前記i番目サーバ装置を選択する、クライアント装置。
[請求項5]
 通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置であって、
 コンテンツデータの取得要求を受け付けるクライアント機能部と、
 前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、
 前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、
 前記負荷参照テーブルおよび前記コンテンツ情報テーブルを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するサーバ探索部と、
を備え、
 前記クライアント機能部は、当該i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う、クライアント装置。
[請求項6]
 請求項1から5のうちのいずれか1項に記載のクライアント装置であって、
 前記N台のサーバ装置は、
 前記コンテンツデータの原データが格納されるコンテンツ格納部を有するオリジンサーバと、
 前記コンテンツデータの複製データが格納されるコンテンツ格納部を有する代理サーバと、
を含んで構成され、
 前記サーバ探索部は、前記オリジンサーバおよび代理サーバのうちいずれか1台を前記i番目サーバ装置として選択する、クライアント装置。
[請求項7]
 各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、
 前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、
を備え、
 前記N台のサーバ装置のうちのi番目サーバ装置(iは1~Nのうちのいずれかの整数)は、
 前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データを前記コンテンツ格納部から取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する応答部と、
 当該i番目サーバ装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、
 前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、
 当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないとき、前記アクセスコスト参照テーブルおよび前記コンテンツ情報テーブルを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するサーバ探索部と、
を含む、データレプリケーションシステム。
[請求項8]
 請求項7に記載のデータレプリケーションシステムであって、前記通信ネットワーク上のノード間経路毎の評価指標(メトリック)を示すデータを前記サーバ装置に供給するネットワーク情報配信装置をさらに備え、
 前記サーバ探索部は、前記評価指標に基づいて前記アクセスコスト値を算出するコスト計算部を含む、データレプリケーションシステム。
[請求項9]
 請求項8に記載のデータレプリケーションシステムであって、前記サーバ探索部は、当該クライアント装置から前記サーバ装置に至る通信経路を構成するノード間経路が有する評価指標の総和または当該総和に比例する値を前記アクセスコスト値として算出する、データレプリケーションシステム。
[請求項10]
 請求項7から9のうちのいずれか1項に記載のデータレプリケーションシステムであって、
 前記i番目サーバ装置は、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルをさらに含み、
 前記サーバ探索部は、前記アクセスコスト参照テーブルおよび前記コンテンツ情報テーブルに加えて前記負荷参照テーブルを参照して、前記N台のサーバ装置の中から前記k番目サーバ装置を選択する、データレプリケーションシステム。
[請求項11]
 各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、
 前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、
を備え、
 前記N台のサーバ装置のうちのi番目サーバ装置(iは1~Nのうちのいずれかの整数)は、
 前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データを前記コンテンツ格納部から取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する応答部と、
 前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、
 前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルと、
 当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないとき、前記負荷参照テーブルおよび前記コンテンツ情報テーブルを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するサーバ探索部と、
を含む、データレプリケーションシステム。
[請求項12]
 請求項7から11のうちのいずれか1項に記載のデータレプリケーションシステムであって、
 前記N台のサーバ装置は、
 前記原データが格納される当該コンテンツ格納部を有するオリジンサーバと、
 前記複製データが格納される当該コンテンツ格納部を有する代理サーバと、
を含んで構成される、データレプリケーションシステム。
[請求項13]
 請求項7から12のうちのいずれか1項に記載のデータレプリケーションシステムであって、
 前記i番目サーバ装置は、前記k番目サーバ装置に対してデータ配信要求を行う配信要求部をさらに含み、
 前記配信要求部は、前記データ配信要求に応答した前記k番目サーバ装置から取得したコンテンツデータを前記コンテンツ格納部に格納する、データレプリケーションシステム。
[請求項14]
 請求項13に記載のデータレプリケーションシステムであって、前記応答部は、前記データ配信要求に応じて、当該データ配信要求で指定された当該コンテンツデータを前記i番目サーバ装置に送信する、データレプリケーションシステム。
[請求項15]
 請求項7から14のうちのいずれか1項に記載のデータレプリケーションシステムであって、前記応答部は、前記クライアント装置からの当該データアクセス要求を前記k番目サーバ装置にリダクレクトする、データレプリケーションシステム。
[請求項16]
 各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、
 前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、
を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)によるデータ処理方法であって、
 (a)前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定するステップと、
 (b)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信するステップと、
 (c)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていないと判定されたとき、当該i番目サーバ装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するステップと、
を含む、データ処理方法。
[請求項17]
 各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、
 前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、
を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)によるデータ処理方法であって、
 (a)前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定するステップと、
 (b)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信するステップと、
 (c)前記ステップ(a)で前記コンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないと判定されたとき、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択するステップと、
を含む、データ処理方法。
[請求項18]
 通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置によるデータ処理方法であって、
 (a)コンテンツデータの取得要求を受け付けるステップと、
 (b)当該クライアント装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するステップと、
 (c)前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行うステップと、
を備えるデータ処理方法。
[請求項19]
 通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置によるデータ処理方法であって、
 (a)コンテンツデータの取得要求を受け付けるステップと、
 (b)前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択するステップと、
 (c)前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行うステップと、
を備えるデータ処理方法。
[請求項20]
 各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、
 前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、
を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体であって、
 前記データ処理は、
 前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定する判定処理と、
 前記判定処理で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する処理と、
 前記判定処理で前記コンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されていないと判定されたとき、当該i番目サーバ装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択する処理と、
を含む、記憶媒体。
[請求項21]
 各々が通信ネットワーク上のノードを構成するとともにコンテンツデータの原データまたは複製データが格納されるコンテンツ格納部を有するN台のサーバ装置(Nは2以上の整数)と、
 前記通信ネットワークを介して前記N台のサーバ装置のいずれかにアクセスする少なくとも1台のクライアント装置と、
を備えたデータレプリケーションシステムにおける前記N台のサーバ装置のうちi番目サーバ装置(iは1~Nのうちのいずれかの整数)のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体であって、
 前記データ処理は、
 前記クライアント装置からのデータアクセス要求に応じて、当該データアクセス要求で指定されたコンテンツデータの原データまたは複製データが当該i番目サーバ装置の前記コンテンツ格納部に格納されているか否かを判定する判定処理と、
 前記判定処理で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていると判定されたとき、前記コンテンツ格納部から前記原データまたは複製データを取得し、当該取得した原データまたは複製データを当該クライアント装置に送信する処理と、
 前記判定処理で前記コンテンツデータの原データまたは複製データが前記コンテンツ格納部に格納されていないと判定されたとき、前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、当該i番目サーバ装置を除く前記N台のサーバ装置の中からk番目サーバ装置(k≠i)を選択する処理と、
を含む、記憶媒体。
[請求項22]
 通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体であって、
 前記データ処理は、
 コンテンツデータの取得要求を受け付ける処理と、
 当該クライアント装置から前記N台のサーバ装置へのアクセスにそれぞれ要するコストがアクセスコスト値として記録されるアクセスコスト参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択する処理と、
 前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う処理と、
を含む、記憶媒体。
[請求項23]
 通信ネットワーク上のノードを構成するN台のサーバ装置(Nは2以上の整数)にアクセスするクライアント装置のプロセッサにデータ処理を実行させるプログラムを格納している記憶媒体であって、
 前記データ処理は、
 コンテンツデータの取得要求を受け付ける処理と、
 前記N台のサーバ装置のリソースの負荷状況が記録される負荷参照テーブルと、前記通信ネットワーク上で前記コンテンツデータが格納されているノードの所在が記録されるコンテンツ情報テーブルとを参照して、前記N台のサーバ装置の中からi番目サーバ装置(iは1~Nのうちのいずれかの整数)を選択する処理と、
 前記i番目サーバ装置に対して前記コンテンツデータのデータアクセス要求を行う処理と、
を含む、記憶媒体。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]