(57)【特許請求の範囲】
【請求項１】
地理位置情報に基づいてコーディングするCDNネットワークシステムであって、前記CDNネットワークシステムはグローバルネットワーク管理層、ローカル管理層及びキャッシュネットワーク層を含み、
前記グローバルネットワーク管理層は、グローバルネットワークの情報管理及びシステム管理者の操作命令の分析と実行に用いられて、バックアップを有するサーバーによって構築され、
前記ローカル管理層は、前記キャッシュネットワーク層を管理するための管理情報の計算及び管理に用いられて、システムの拡大及びユーザー行為の統計と計算に有利し、一部の記憶能力が安定かつ計算能力が強いノードによって構成され、
前記キャッシュネットワーク層は、バックアップするデータをルーティング及び記憶することに用いられて、いくつかのある程度の記憶能力を有する複数のノードをＰ２Ｐで接続して構成され、
前記キャッシュネットワーク層は段階型地理位置情報に基づいてコーディングする方法を利用して、キャッシュネットワーク層におけるノードに唯一のID識別子を形成させて、そのノードID=地理位置コード+ユーザーのネットワーク特徴によって取得されたハッシュ値によって、キャッシュネットワーク層においてノードのクラスター性を保証し、
そのうち、前記段階型地理位置情報に基づいてコーディングする方法は、地理位置情報によってN桁の配列のID値を取得して、この配列が左から右まで、広い地域から狭い地域まで段階的に地理位置の情報を示して、各地域は同じあるいは異なる桁数の数字によって示されている、
ことを特徴とする地理位置情報に基づいてコーディングするCDNネットワークシステム。
【請求項２】
前記N桁の配列のID値は、具体的に以下のことを含む：
a）政府が規定した地理的エリアコードあるいはその組み合わせ標示であって、郵便番号、行政区域コード及び市外局番を含む、
b）各応用に対して、IPアドレスマッピング及びマッチングする方法によって取得された地域を区別するコードである、
c）各応用の標的に対して、ネットワークにおいて測量によって取得された距離をマッピングすることによって形成された地域を区別するコードである、
ことを特徴とする請求項１に記載の地理位置情報に基づいてコーディングするCDNネットワークシステム。
【請求項３】
グローバルネットワークの情報管理及びシステム管理者の操作命令の分析及び実行を行うグローバルネットワーク管理層と、キャッシュネットワーク層を管理するための管理情報の計算及び管理を行うローカル管理層と、を含むCDNネットワークシステムのデータを配信する方法であって、
この方法は段階型地理位置情報に基づいてコーディングする方法によって取得されたCDNネットワークシステムのデータを配信する方法であって、該CDNネットワークシステムのキャッシュネットワーク層は段階型地理位置情報に基づいてコーディングする方法を利用して、キャッシュネットワーク層におけるノードに唯一のID識別子を形成させて、そのノードID=地理位置コード+ユーザーのネットワーク特徴によって取得されたハッシュ値によって、キャッシュネットワーク層においてノードのクラスター性を保証し、前記段階型地理位置情報に基づいてコーディングする方法は、地理位置情報によってN桁の配列のID値を取得して、この配列は左から右まで、広い地域から狭い地域まで段階的に地理位置情報を示して、各地域は同じあるいは異なる桁数の数字によって示され、
前記データを配信する方法は、具体的に以下のステップを含む：
1）グローバルネットワーク管理サーバーは、管理者が設定した形式または予め設定した規則によって、システムが自動的に配信するコンテンツを決める方式により配信するコンテンツを決めて、コンテンツはファイル名、標的地域及びその他の補助情報を含む、
2）グローバルネットワーク管理サーバーは、配信プランの情報によって、標的ネットワークのローカル管理サーバーにメッセージを配信して、メッセージは配信するファイル数、名称、データ総量、各ファイルのデータ量、ファイル名、ファイルのソースアドレス、ファイルポピュラリティの初期値及び地理位置情報を含む、
3）ローカル管理サーバーはメッセージを処理して、各配信するファイルをデータブロックに分割して、すべてのデータブロックのサイズ、各ブロックのバックアップ数と放置位置及び必要な記憶スペースを計算して、そして必要なスペースの総計を計算する、
4）ローカル管理サーバーは、ローカルのキャッシュネットワークの余剰スペースが記憶要求を満足するかどうかを判断する、
5）満足すれば、ローカル管理サーバーは段階型地理位置情報に基づいてコーディングする方法によって、各blockiのハッシュ値blockID_iを計算して、そしてCacheノードに配信命令を発送し、さもなければ、ステップ9）へ移動する、
6）ローカル管理サーバーは、blockiを配信するメッセージをキャッシュネットワーク層のノードに発送して、メッセージを受け取ったノードは分散ハッシュルーティングプロトコルによって、blockID_iハッシュスペースに最も近いノードを探してblockiのホームノードhome nodeとして、 blockiのすべてのバックアップ情報をホームノードhome nodeに記憶させて、同時に、計算によって取得されたレプリカ数（replicas）と位置をキャッシュネットワーク層でblockiのレプリカを記憶する、
7）Cacheノードはローカル管理サーバーにデータをバックアップすることに成功したメッセージを知らせる、
8）ローカル管理サーバーは対応するファイルにインデックスを構築して、インデックス項目は、ファイル名、ファイルID、対応するデータブロックID、データブロックのレプリカ数及びデータブロックレプリカの期限を含む、
9）ローカル管理サーバーの計算によって、キャッシュの記憶スペースを合理化して、キャッシュノードによって常用しないblockを削除して、利用可能なスペースを増加して、同時にローカル管理サーバーの全体的な情報を更新する、
10）ローカル管理サーバーは、現在のキャッシュネットワーク層のスペースサイズを判断して、合理化した後にスペースが足りるならば、ステップ5）へ移動し、さもなければ、ステップ11）を実行する、
11）ローカル管理サーバーによりグローバルネットワーク管理サーバーに配信が失敗したことを知らせる、
そのうち、ステップ3）に記述した各配信するファイルをデータブロックに分割することは、いくつかのパラメーター要素によってファイルに対して異なる長さに分割して、異なるサイズのデータブロックを形成する、
ことを特徴とするデータを配信する方法。
【請求項４】
前記異なる長さに分割したいくつかのパラメーター要素は、ファイルの時間帯のアクセス数を含む、
ことを特徴とする請求項３に記載のデータを配信する方法。
【請求項５】
前記ステップ9）において、ファイルの削除方法は以下のステップを含む：
a）ローカル管理サーバーによって、削除プランを利用して計算によって削除するデータブロックリストを取得した後に、1つずつ削除するblockを処理する、
b）1つずつblockのID値を取得する、
c）各block IDに対して、DHTプロトコルによって、そのホームノードhome nodeに削除メッセージを発送する、
d）各データブロックのhome nodeは、該データブロックのすべてのバックアップ位置を記憶しており、バックアップ位置情報のリストを取得する、
e）ホームノードhome nodeはリスト中の各Cacheノードに削除メッセージを発送する、
f）Cacheノードはblockを削除した後に、ホームノードhome nodeに知らせる、
g）削除を完了した後に、ホームノードhome nodeはローカル管理サーバーに知らせる、
h）ローカル管理サーバーはインデックス情報を更新する、
ことを特徴とする請求項３に記載のデータを配信する方法。
【請求項６】
前記削除プランは、CDNネットワークに加入した時間がより長いblockまたはプライオリティのより低い原則によって選択される、
ことを特徴とする請求項５に記載のデータを配信する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ノードによって構成されたコンテンツ配信ネットワークの構造に関連して、特に地理位置情報に基づいてコーディングするCDNネットワークシステム及びデータを配信する方法に関するものである。
【背景技術】
【０００２】
CDNはContent Distribution/Delivery Networkであって、コンテンツ配信ネットワークである。その目的は既存のInternetに新しいネットワーク層を構築することによって、ウェブサイトのコンテンツを最も近いユーザーのネットワークのサイドに発表してユーザーに最寄りの所で必要なコンテンツを得ることができる一方、CDNは延期を減らすことができて、Internetネットワークの混み合う状況が解決される。もう一方、効果的により多くのブロードバンド応用を実現することができて、全体のブロードバンド産業発展を推進する。
【０００３】
CDNはインターネットワークを基礎に構築されて、各地域に配布されたノードサーバー群によって構成された仮定のネットワークであり、既存のInternetネットワーク構造を基礎に構築された応用層の“付加価値”のネットワークであり、透明なサービスを提供する中間層でもあって、分散キャッシュメモリ/複製、負荷バランス、トラフィックエンジニアリング(Traffic Engineering)及びクライアントリダイレクション（client redirection）などの技術を利用して、専門的に様々なネットワークコンテンツ配布とサービス発送する機能を提供して、動態的にネットワークコンテンツをサイドに配置して、ネットワークコンテンツによって通信量を処理して、アクセス要求を最適なサーバーに配布することを含み、それによってユーザーが最も速いスピードで、ユーザーに最も接近する場所から必要な情報を取得して、ネットワークの混雑が解決されて、対応するスピードとサービス質を高めて、特にストリーミングメディアの伝送にその他の技術が比べようがない優位を持っている。
【０００４】
インターネット及びP2P技術の発展に伴い、より多くのキャリアと会社はその中のビジネスチャンスを見つけるが、どのようにユーザーにより速い良いサービスを提供することが肝心な問題となっている。地域の違いによって、各地域はコンテンツの需要に対してある程度重点も違い、当地域に重点をおいたコンテンツのアクセスを当地区のユーザーに容易にするために、システムはグローバル・ロード・バランシング・テクノロジー（Global load balancing technology）を利用して、該コンテンツをユーザーとアクセス距離が最も近い通常的に作業しているサービスノードに配信して、ユーザーが要求を行う時に、直接的に応答する。ユーザーのアクセスがすでにCDNサービスノードを使っていた場合に、ユーザーが要求を行う場所と当時のネットワーク状況を十分に考慮して、ユーザーの要求をユーザーと最も近くしかも負荷が比較的に小さいノードサーバーに決めて、ユーザーのアクセスがよりタイムリーで信頼できる応答を得ることができて、2006年2月22日に開示された中国特許出願公開第１７３８２９５号明細書（特許文献１）にもユーザーの位置情報に対してコーディングする方法が提出されたが、該方法はこのユーザーが唯一に識別される識別子を取得することができるが、該コーディングする方法はCacheネットワーク層のノードを地理位置関係によってネットワークを行うことができなくて、Cacheネットワーク層においてノードのクラスター性を保証することもできない。多くのユーザーアクセスがネットワークのサイドに配布されたCDNノードサーバーによって直接的に応答したため、ユーザーアクセスの品質を高めるだけではなく、同時に有効的にソースサーバーの負荷を下げられる。2007年8月29日に開示された中国特許出願公開第１０１０２６７４４号明細書（特許文献２）は記憶されたデータブロックに対して分割して記憶する方法を提出したが、該発明は分割の特徴を説明していなくて、例えば長さ、数量、どのように分割するかなど、実際的な応用の中で該分割する方法はそれぞれの記憶ノードの実際的な記憶能力によって異なる長さの分割を行うことができない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】中国特許出願公開第１７３８２９５号明細書
【特許文献２】中国特許出願公開第１０１０２６７４４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、上記の課題を鑑みてなされ、既存のCDNネットワークシステムにおいて、データの記憶及びアクセスの時に遅延が大きく、Internetネットワークの混み合う状況をもたらしやすい問題を克服するために、地理位置情報に基づいてコーディングするCDNネットワークシステム及びデータを配信する方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の地理位置情報に基いてコーディングするCDNネットワークシステム及びデータを配信する方法は、メディアデータと管理データに対して分層して記憶と管理を行うことによって、CDNシステムがより高い抵抗動態性と拡張性を有し、メディアファイルの配信処理及びデータの管理に有利である。
【０００８】
上記の目的を実現するために、本発明の地理位置情報に基いてコーディングするCDNネットワークシステムは、グローバルネットワーク管理層、ローカル管理層及びキャッシュ（Cache）ネットワーク層を含む。
【０００９】
前記グローバルネットワーク管理層は、グローバルネットワークの情報管理及びシステム管理者の操作命令の分析と実行に用いられ、バックアップを有するサーバーによって構築される。
【００１０】
前記ローカル管理層は、CDNローカルエリアの関連する計算及び管理情報の記憶に用いられて、管理データとメディアデータを分離させて、システムの拡大及びユーザー行為の統計と計算に有利であり、一部の記憶能力が安定かつ計算能力が強いノードによって構成される。
【００１１】
前記Cacheネットワーク層は、バックアップが必要なデータをルーティングと記憶することに用いられ、いくつかのある程度の記憶能力を有するノードによって構成される。
前記Cacheネットワーク層が段階型地理位置情報に基づいてコーディングする方法を利用して、Cacheネットワーク層におけるノードに唯一のID識別子を形成させて、そのノードID=地理位置コード+ユーザーのネットワーク特徴によって取得されたハッシュ値によって、Cacheネットワーク層の中でのノードのクラスター性を保証させる。
【００１２】
そのうち、前記段階型地理位置情報に基づいてコーディングする方法は、地理位置情報によってN桁の配列のID値を取得して、この配列は左から右まで、広い地域から狭い地域まで段階的に地理位置の情報を示して、各地域は同じあるいは異なる桁数の数字によって示されている。
【００１３】
また、上記技術案に記載の前記Cacheネットワーク層のノードはP2P形式によってネットワークを構成する。
上記技術案に記載の前記N桁の配列ID値は、具体的に下記のことを含む。
【００１４】
a）政府が規定した地理的エリアコードあるいはその組み合わせ標示であって、郵便番号、行政区域コードと市外局番を含む。
b）各応用に対して、IPアドレスマッピング、マッチングの方法によって取得された地域を区別するコードである。
【００１５】
c) 各応用の標的に対して、ネットワークの測量によって取得された距離をマッピングで形成した地域を区別するコードである。
また、本発明のもう一つの改良案として、本発明は、データを配信する方法を提供する。該方法は段階型地理位置情報に基づいてコーディングする方法によって取得されたCDNネットワークシステムのデータを配信する方法であって、該CDNネットワークシステムのCacheネットワーク層が段階型地理位置情報に基づいてコーディングする方法を利用して、Cacheネットワーク層におけるノードに唯一のID識別子を形成させて、そのノードID=地理位置コード+ユーザーのネットワーク特徴によって取得されたハッシュ値によって、Cacheネットワーク層の中でのノードのクラスター性を保証し、前記段階型地理位置情報に基づいてコーディングする方法は、地理位置情報によってN桁の配列のID値を取得して、この配列は左から右まで、広い地域から狭い地域まで段階的に地理位置の情報を示して、各地域は同じあるいは異なる桁数の数字によって示されている。
【００１６】
前記データを配信する方法は、具体的に以下のステップを含む。
1）グローバルネットワーク管理サーバーは、管理者が設定した形式あるいは予め設定した規則によって、システムが自動的にプランを配信する方式により配信するコンテンツを決める。コンテンツはファイル名、標的地域及びその他の補助情報を含む。
【００１７】
2）グローバルネットワーク管理サーバーは、配信プランの情報によって、標的ネットワークのローカル管理サーバーにメッセージを配信する。メッセージは配信するファイルの数、名称、データの総量、各ファイルのデータ量、ファイル名、ファイルのソースアドレス、ファイルポピュラリティの初期値及び地理位置情報を含む。
【００１８】
3）ローカル管理サーバーはメッセージを処理して、各配信予定のファイルをデータブロックに分割して、すべてのデータブロックのサイズ、各ブロックのバックアップ数と各ブロックのアドレス及び必要な記憶スペースを計算して、そして必要なスペースの総計を計算する。
【００１９】
4）ローカル管理サーバーは、ローカルのCacheネットワークの余剰スペースが記憶要求を満足するかどうかを判断する。
5）満足すれば、ローカル管理サーバーは段階型地理位置情報に基づいてコーディングする方法によって、各blockiのハッシュ値blockID_iを計算して、そしてCacheノードに配信命令を発送する、さもなければ、ステップ9）へ移動する。
【００２０】
6）ローカル管理サーバーは、blockiを配信するメッセージをCacheネットワーク層のノードへ発送して、メッセージを受け取ったノードは分散ハッシュルーティングプロトコルによって、blockID_iハッシュスペースに最も近いノードを探してblockiのホームノードhome nodeとして、 blockiのすべてのバックアップ情報をホームノードhome nodeに記憶させて、同時に、計算によって取得されたレプリカ数と位置をCacheネットワーク層でblockiのレプリカを記憶する。
【００２１】
7）Cacheノードはローカル管理サーバーにデータをバックアップすることに成功したメッセージを知らせる。
8）ローカル管理サーバーは対応するファイルにインデックス（index）を構築する。インデックス項目は、ファイル名、ファイルID、対応するデータブロックID、データブロックのレプリカ数及びデータブロックレプリカの期限を含む。
【００２２】
9）ローカル管理サーバーの計算によって、Cacheの記憶スペースを合理化して、Cacheノードによって常用しないblockを削除して、利用可能なスペースを増加して、同時にローカル管理サーバーの全体的な情報を更新する。
【００２３】
10）ローカル管理サーバーは、現在のCacheネットワーク層のスペースサイズを判断して、合理化した後にスペースが足りるならば、ステップ5）へ移動し、さもなければ、ステップ11）を実行する。
【００２４】
11）ローカル管理サーバーによってグローバルネットワーク管理サーバーに配信が失敗したことを知らせる。
そのうち、ステップ3）に記述した各配信予定のファイルをデータブロックに分割することは、いくつかのパラメーター要素によってファイルに対して異なる長さに分割して異なるサイズのデータブロックを形成する。前記異なる長さに分割したいくつかのパラメーターの要素は、ファイルの時間帯のアクセス数を含む。
【００２５】
また、上記技術案のうち、前記ステップ9）において、ファイルの削除方法は以下のステップを含む。
a) ローカル管理サーバーによって、削除プランを利用した計算によって削除予定のデータブロックリストを取得した後に、1つずつ削除予定のblockを処理する。
【００２６】
b) 1つずつblockのID値を取得する。
c) 各block IDに対して、DHTプロトコルによって、そのホームノードhome nodeに削除メッセージを発送する。
【００２７】
d)各データブロックのhome nodeは該データブロックのすべてのバックアップ位置を記憶していて、バックアップ位置情報のリストを取得する。
e) ホームノードhome nodeはリスト中の各Cacheノードに削除メッセージを発送する。
【００２８】
f) Cacheノードはblockを削除した後に、ホームノードhome nodeに知らせる。
g)削除を完了した後に、ホームノードhome nodeはローカル管理サーバーに知らせる。
h) ローカル管理サーバーはインデックス情報を更新する。
【００２９】
そのうち、前記削除プランは、CDNネットワークに加入した時間がもっとも長いblockあるいはプライオリティのもっとも低い原則によって選択される。
本発明のCDNネットワークシステムは、グローバルネットワーク管理層、ローカル管理層及びCacheネットワーク層の3つのアーキテクチャーを含み、そのうち、前記グローバルネットワーク管理層は、安定的に信頼できるバックアップを有するサーバーによって構成されて、主にグローバルネットワークの情報管理及びシステム管理者の操作命令の分析と実行に用いられる。前記ローカル管理層は、一部の記憶能力が安定かつ計算能力が強いノードによって構成されて、主にCDNローカルエリアの関連する計算及び管理情報の記憶に用いられて、管理データとメディアデータを分離させて、システムの拡大及びユーザー行為の統計と計算に有利である。前記Cacheネットワーク層は、いくつかのノードがP2P形式によって形成されて、主にバックアップが必要なデータをルーティングと記憶することに用いられて、同時に、段階型地理位置情報に基づいてコーディングする方法を利用して、Cacheネットワーク層の中でのノードのクラスター性を保証し、P2P技術の応用によって、該層の拡大にも有利し、グローバルネットワーク管理及びコンテンツ管理サーバーの負荷を下げて、ユーザーの利用性を高める。
【００３０】
本発明のネットワークシステムにおいて、各サーバーの機能と処理方法は次の通りである。
・前記グローバルネットワーク管理層はグローバルネットワーク管理サーバー（Global Manage Server：GM）を採用する。ネットワークのコントロールパラメーターを設定して、パラメーターに対して保持と更新を行う。地域の属性によってローカルを設定する。すべてのローカルのグローバル情報を記憶する。配信するコンテンツを設定する。予め設定された全てのパラメーターによって、標的ローカルとCacheネットワークを構成することに補助する。定期的に各ローカルとCacheネットワークのメモリー総量、ノード総計、ファイル総計、ファイルのアクセス回数などのグローバルの統計情報を収集して、より合理化する管理の準備をする。該層の設置はサービスの拡大と新サービス地域の加入に有利し、同時にキャリアがコントロール情報に対する更新と合理化に有利である。
【００３１】
・前記ローカル層はローカル管理サーバー（Local Manage Server： LM）を採用する。ローカルはGMによって指定されて、各地域Cacheネットワークのグローバル情報の保持及び計算に用いられるサーバーであって、データソースから全てのファイルがLMによってローカルにダウンロードされて、そしてLMを利用してそれに対して分割を行って、既存のファイルポピュラリティなどの情報によって各データブロックに必要なレプリカ数と対応する配置位置を計算して、Cacheネットワークのノードに配信する。同時に、同一地域のローカル管理層は、複数のLMによって構成されて、それぞれのLMに該地域のCacheネットワーク内のグローバルインデックス情報を記憶していて、すべてのLM間は互いに連結している（図2に示す）。複数のLMを利用してLMの計算負荷を減らすことができて、配信の処理時間を短縮することができる。該層が以下の特徴を有する。
【００３２】
・人工コントロールなしでファイルの管理情報を集中させて、有効的にCDNの計算機能とメモリー機能を区別して異なるノードに分けて、ノード負荷及び保持の複雑性を下げる。
【００３３】
・管理情報とメモリー内容に基づいて分層管理をして、部分の情報を定期的に更新する方法によって、GMはLMから効果的にファイルアクセスの統計情報を収集し、キャリアあるいはシステム設計者がユーザーの行為に対する分析をすることに有利である。
【００３４】
・前記Cacheネットワーク層の構成ノードはCacheノード（Cache Peer：CP）と称して、全ての地域の全部のCPは分散ハッシュテーブル（DHT）によって共に１つのグローバルCacheネットワークを構成して、同一地域のCPノードは１つ地域のCacheネットワークと称して、そして各地域のLMにより管理を行って、Cacheネットワーク中のノードは少なくとも１つのLMと連結している（図3に示す）。同一地域のCacheネットワーク中のノードをトポロジーの接近性で表せるため、ここで段階型地理の位置情報に基づいてコーディングする方法（即ちハッシュ方法）を利用して、地理位置が近いノードがトポロジー図で同一の地域に表せる。CPノードはLMが発送したメッセージを接収して、データレプリカの配置位置を見つけて、そしてバックアップをして、ユーザーのアクセスを加速する。各地域のLMはCacheネットワークのすべてのCPに対して管理を行って、ファイルデータブロックのレプリカ数、レプリカの配置位置、ユーザーのアクセス行為の配布、存在の期限、ポピュラリティなどの情報を含む。各CPノードはIDが現在のノードIDと最も近いデータブロックと対応するデータブロック存在関数を記憶して、定期的にデータブロックの状態を測定して、期限が切れるデータブロックを削除する。Cacheネットワークの拡大、更新及びネットワークの動態性に適応するために、全てのCPノードはDHTによって構築される。最後に、LMは各ファイルにデータブロックのインデックス項目を形成して管理を行う。
【００３５】
また、本発明のネットワークシステムにデータソースを提供するコンテンツ提供サーバー（Content Providing Server、CPS）は、上述した3層の構造以外の単独な部分であって、単独のサーバーであってもよいし、サーバー群であっても良い、データソースとして配信するファイルの初期データを記憶する。
【発明の効果】
【００３６】
上述したように、本発明の段階型地理位置情報に基づいてコーディングするCDNネットワークシステム及びデータを配信する方法は、以下の特徴を有する。該システムは複数層のアーキテクチャーによって、ノードの管理能力の有効的な分割を保証されて、システムの拡大に便利性を有し、段階型地理位置情報によって、CDN中の管理ノードと記憶ノードを効果的に集中させて、ネットワークの管理と拡大に有利し、同時に、P2Pネットワークの構造によって、システムに良好な動的抵抗性の特徴を有する。また、配信及び削除過程を合理化することによって、コンテンツの動態的な更新性を保証し、システムのサービス能力を強化して、ユーザーの利用性を高める。
【図面の簡単な説明】
【００３７】
【図１】本発明に係わる地理位置情報に基づいてコーディングするCDNネットワークワークシステムの構成図である。
【図２】本発明に係わる地理位置情報に基づいてコーディングするCDNネットワークワークシステムのローカル管理サーバーLM構築方法の説明図である。
【図３】本発明に係わる地理位置情報に基づいてコーディングするCDNネットワークワークシステムのCacheネットワークワーク構成図である。
【図４】本発明に係わる地理位置情報に基づいてコーディングするCDNネットワークワークシステムのデータを配信する方法のフローチャートである。
【図５】本発明に係わる地理位置情報に基づいてコーディングするCDNネットワークワークシステムのデータを配信する方法におけるデーター削除のフローチャートである。
【図６】全国のCacheネットワークワーク層を示す図である。
【発明を実施するための形態】
【００３８】
以下、図面及び実施例を参照して本発明の地理位置情報に基づいてコーディングするCDNネットワークシステム及びデータを配信する方法に対して、詳細な説明をする。
図１は本発明の地理位置情報に基づいてコーディングするCDNネットワークシステムの構成図である。図1に示すように、本発明の地理位置情報に基づいてコーディングするCDNネットワークシステムは、グローバルネットワーク管理層、ローカル管理層及びCacheネットワーク層の3層のアーキテクチャーを含み、そのうち、前記グローバルネットワーク管理層は、安定的に信頼できるバックアップを有するサーバーによって構成されて、主にグローバルネットワークの情報管理及びシステム管理者の操作命令の分析と実行に用いられる。前記ローカル管理層は、一部の記憶能力が安定かつ計算能力が強いノードによって構成されて、主にCDNローカルエリアの関連する計算及び管理情報の記憶に用いられて、管理データとメディアデータを分離させて、システムの拡大及びユーザー行為の統計と計算に有利である。前記Cacheネットワーク層は、いくつかのノードがP2P形式によって構築されて、主にバックアップが必要なデータをルーティングと記憶することに用いられて、同時に、段階型地理位置情報に基づいてコーディングする方法を利用して、Cacheネットワーク層ノードのクラスター性を保証し、P2P技術の応用によって、該層の拡大にも有利し、グローバルネットワーク管理及びコンテンツ管理サーバーの負荷を下げて、ユーザーの利用性を高める。
【００３９】
本発明のネットワークシステムにおいて、各サーバーの機能と処理方法は次の通りである。
・グローバルネットワーク管理層はグローバルネットワーク管理サーバー（Global Manage Server：GM）を採用する。ネットワークのコントロールパラメーターを設定して、パラメーターに対して保持と更新を行う。地域の属性によってローカルを設定する。すべてのローカルのグローバル情報を記憶する。配信するコンテンツを設定する。予め設定された全てのパラメーターによって、標的ローカルとCacheネットワークを構成することに補助する。定期的に各ローカルとCacheネットワークのメモリー総量、ノード総計、ファイル総計、ファイルのアクセス回数などのグローバル統計情報を収集して、より合理化する管理の準備をする。該層の設置はサービスの拡大と新サービス地域の加入に有利し、同時にキャリアがコントロール情報に対する更新と合理化に有利である。
【００４０】
・ローカル層はローカル管理サーバー（Local Manage Server： LM）を採用する。図2は本発明の地理位置情報に基づいてコーディングするCDNネットワークシステムのローカル管理サーバーLM構築方法の説明図である。ローカルはGMによって指定されて、各地域Cacheネットワークのグローバル情報の保持及び計算に用いられるサーバーであって、データソースから全てのファイルがLMによってローカルにダウンロードされて、そしてLMを利用してそれに対して分割を行って、既存のファイルポピュラリティなどの情報によって各データブロックに必要なレプリカ数と対応する配置位置を計算して、Cacheネットワークノードに配信する。同時に、図2に示すように、同一地域のローカル管理層は、複数のLMによって構成されて、それぞれのLMに該地域のCacheネットワーク内のグローバルインデックス情報を記憶していて、すべてのLMの間は互いに連結している。複数のLMを利用してLMの計算負荷を減らすことができて、配信の処理時間を短縮することができる。該層が以下の特徴を有する。
【００４１】
・人工コントロールなしでファイルの管理情報を集中させて、有効的にCDNの計算機能とメモリー機能を区別して異なるノードに分けて、ノード負荷及び保持の複雑性を下げる。
【００４２】
・管理情報とメモリー内容に基づいて分層管理をして、部分の情報を定期的に更新する方法によって、GMはLMから効果的にファイルアクセスの統計情報を収集し、キャリアあるいはシステム設計者がユーザーの行為に対する分析をすることに有利である。
【００４３】
・図3は本発明の地理位置情報に基づいてコーディングするCDNネットワークシステムのCacheネットワークの構成図である。図3に示すように、Cacheネットワーク層の構成ノードはCacheノード（Cache Peer：CP）と称して、全ての地域の全部のCPは分散ハッシュテーブル（DHT）によって共に１つのグローバルのCacheネットワークを構成して、同一地域のCPノードは１つ地域のCacheネットワークと称して、そして各地域のLMによって管理を行って、Cacheネットワーク中のノードは少なくとも１つのLMと連結している。同一地域のCacheネットワーク中のノードをトポロジーの接近性で表すため、ここで段階型地理の位置情報に基づいてコーディングする方法（即ちハッシュ方法）を利用して、地理位置が近いノードがトポロジー図で同一の地域に表せる。CPノードはLMが発送したメッセージを接収して、データレプリカの配置位置を見つけて、そしてバックアップをして、ユーザーのアクセスを加速する。各地域のLMはCacheネットワークのすべてのCPに対して管理を行って、ファイルデータブロックのレプリカ数、レプリカの配置位置、ユーザーのアクセス行為の配布、存在の期限、ポピュラリティなどの情報を含む。各CPノードはIDが現在のノードIDと最も近いデータブロックと対応するデータブロック存在関数を記憶して、定期的にデータブロックの状態を測定して、期限が切れるデータブロックを削除する。Cacheネットワークの拡大、更新及びネットワークの動態性に適応するために、全てのCPノードはDHTによって構築される。最後に、LMは各ファイルにデータブロックのインデックス項目を形成して管理を行う。該層が以下の特徴を有する。
【００４４】
・P2P技術を利用することによって、センター監視を必要とせずに、快速且つ有効的にデーターの位置決めができる。
・CPは自身の記憶内容に対して自己管理を行って、ネットワーク通信の費用を減少させる。
【００４５】
・段階型地理位置情報に基づいてコーディングする方法によって、地理地域が近いノードをハッシュスペースでも近くさせる。
また、本発明のネットワークシステムにデータソースを提供するコンテンツ提供サーバー（Content Providing Server、CPS）は、上述した3層の構造以外の単独な部分であって、単独のサーバーであってもよいし、サーバー群であっても良い、データソースとして配信するファイルの初期データを記憶する。
【００４６】
図４は本発明の地理位置情報に基づいてコーディングするCDNネットワークシステムのデータを配信する方法のフローチャートである。図4に示すように、本発明の地理位置情報に基づいてコーディングするCDNネットワークシステムのデータを配信する方法は、具体的に以下のステップを含む。
【００４７】
1）グローバルネットワーク管理サーバーは配信するコンテンツを決める（管理者が設定した形式あるいは予め設定した規則によって、システムが自動的に配信するコンテンツを決める）。コンテンツはファイル名、標的地域及びその他の補助情報を含む。
【００４８】
2）グローバルネットワーク管理サーバーは、配信プラン（decision）の情報によって、標的ネットワークのローカル管理サーバーにメッセージを配信する。メッセージは配信するファイルの数、名称、データの総量、各ファイルのデータ量、ファイル名、ファイルのソースアドレス、ファイルポピュラリティの初期値及び地理位置情報を含む。
【００４９】
3）ローカル管理サーバーはメッセージを処理して、各配信予定のファイルをデータブロックに分割して、すべてのデータブロックのサイズ、各ブロックのバックアップ数と各ブロックのアドレス及び必要な記憶スペースを計算して、そして必要なスペースの総計を計算する。
【００５０】
4）ローカル管理サーバーは、ローカルのCacheネットワークの余剰スペースが記憶要求を満足するかどうかを判断する。
5）満足すれば、ローカル管理サーバーは段階型地理位置情報に基づいてコーディングする方法によって、各blockiのハッシュ値blockID_iを計算して、そしてCacheノードに配信命令を発送する、さもなければ、ステップ9）へ移動する。
【００５１】
ここで、段階型地理位置情報に基づいてコーディングする方法は、有効的に地理スペースが近いノードとデーターをハッシュスペースでも近い位置にマッチングさせて、ノードとデーターがクラスター性を有させて、CDNのヒット率を高める。段階型地理位置情報に基づいてコーディングする方法において、取得されたID値はN桁の配列であって、この配列は左から右まで、広い地域から狭い地域まで段階的に地理位置の情報を示して、各地域は異なる桁数の数字によって示される。例えば、８桁の数字列で、前の２桁は省市を示し、３、４桁は地区/県市を示し、５、６桁は街道を示し、最後の２桁は室番号を示すなど。異なる応用環境において、コーディングする細度も違って、粗いから細かいまで、条理が明確である。
【００５２】
該コーディングする方法はさまざまの形成方式があって、例えば、
a）政府が規定した地理的エリアコードあるいはその組み合わせ標示であって、郵便番号、行政区域コードと市外局番などを含む。
【００５３】
b）各応用に対して、IPアドレスマッピング、マッチングの方法によって取得された地域を区別するコードである。
6）ローカル管理サーバーは、blockiを配信するメッセージをCacheネットワーク層のノードへ発送して、メッセージを受け取ったノードは分散ハッシュルーティングプロトコル（例えば：Chord，Pastry，CAN，Tapstryなど）によって、blockID_iハッシュスペースに最も近いノードを探して、blockiのホームノードhome nodeとして、 blockiのすべてのバックアップ情報をホームノードhome nodeに記憶させて、同時に、計算によって取得されたレプリカ数と位置をCacheネットワーク層でblockiのレプリカを記憶する。
【００５４】
7）Cacheノードはローカル管理サーバーにデータをバックアップすることに成功したメッセージを知らせる。
8）ローカル管理サーバーは対応するファイルにインデックスを構築する。インデックス項目は、ファイル名、ファイルID、対応するデータブロックID、データブロックのレプリカ数及びデータブロックレプリカの期限を含む。
【００５５】
9）ローカル管理サーバーの計算によって、Cacheの記憶スペースを合理化して、即ち、常用しないblockを削除して、利用可能なスペースを増加して、同時にローカル管理サーバーの全体的な情報を更新する。
【００５６】
ここで、図5は本発明に係わる地理位置情報に基づいてコーディングするCDNネットワークシステムのデータを配信する方法におけるデーター削除のフローチャートである。図5に示すように、該ステップ９）のCacheの記憶スペースを合理化することにおいて、ファイルの削除方法は以下のステップを含む。
【００５７】
a) LMの計算によって削除するデータブロックリストを取得した後に（ある削除プランによって、例えばCDNネットワークに加入した時間がより長いblockあるいはプライオリティのより低い原則によって選択して、リストには、各データーブロックID値などの情報）、1つずつ削除予定のblockを処理する。
【００５８】
b) 1つずつblockのID値を取得する。
c) 各block IDに対して、DHTプロトコルによって、そのホームノードhome nodeに削除メッセージを発送する。
【００５９】
d)各データブロックのhome nodeは該データブロックのすべてのバックアップ位置を記憶していて、バックアップ位置情報のリストを取得する。
e) ホームノードhome nodeはリスト中の各Cacheノード（CP）に削除メッセージを発送する。
【００６０】
f) Cacheノード（CP）はblockを削除した後に、home nodeに知らせる。
g)削除を完了した後に、home nodeはLMに知らせる。
h) LMはインデックス情報を更新する。
【００６１】
10）ローカル管理サーバーは、現在のCacheネットワーク層のスペースサイズを判断して、合理化した後にスペースが足りるならば、ステップ5）へ移動し、さもなければ、ステップ11）を実行する。
【００６２】
11）ローカル管理サーバーLMによってグローバルネットワーク管理サーバーGMに配信が失敗したことを知らせる。
［実施例］
以下、実施例を参照して該CDNネットワークシステム及びその機能を説明する。該CDNネットワークは北京、上海、天津三つの地域を覆っていると仮定する。北京地域を例にして、サーバーの配布については後述する表1に示すようにして、2台のサーバーLM1とLM2は北京地域のローカル管理を担当する。その他に、1台のサーバーはGMとしてCDNのグローバル情報を管理する。ここで、Pastryは基本的なルーティングプロトコルを行い、そのプレフィックスをマッチングする方法によって、快速的に対応する地域のノードをマッチングする。
【００６３】
【表１】
0005532361.tif 000002
【００６４】
CDNネットワークの標的及び配信するコンテンツの設定によって、それを標的と最も近いサービスのノードに配信させる。郵便番号は6桁の数字列であって、そのうち、前の2桁は省市を示して、中間の2桁は地区/県市を示して、最後の2桁は配達する郵政所を示す。そのため、郵便番号によって、有効的に地域を広い地域から狭い地域或いは街道まで区別することができる。そのため、配信する地域の郵便番号はこの地域の地理位置情報として利用できて、それによってDHTでID値を形成して、各ノードIDは図6に示した全国のCacheネットワーク層の説明図に表示される。ファイルfが海淀区に配信する場合に、その過程は次の通りである。
【００６５】
1) GMはLM1（あるいはLM2）に配信命令を発送して、fを海淀区に配信する。
2) LM1はファイルfをデータソースからローカルにダウンロードする。
3) LM1によってローカルのCacheネットワークのメモリースペースの利用状況を取得して、余剰スペースが不足であれば、新しいデータブロックをバックアップするために、いくつか合理化準則（たとえばCDNネットワークに加入時間がより長いデータブロックはそのプライオリティがより低いという準則）によって、削除するデータブロックのリストを選択する。ここで、削除するデータブロックのリストは{block 10 ，block11}である。
【００６６】
4) block10のID、例えばノードの1000812601825135を取得する。
5) DHTプロトコルによってノード1000812601825135のホームノードhome node 1000812501920145を見つける。
【００６７】
6) ノード1000812501920145からblock10の全てのバックアップするノードのリスト{1000812501920145，1000813709467800}を取得する。
7) リスト中のすべてのCPノードにblock10を削除するメッセージを送信する。
【００６８】
8) CPノードは削除メッセージを受信した後にblock10を削除する。
9) 同時にノード1000812501920145はblock10の関連情報を削除する。
10) すべてのblock10を削除した後に、ノード1000812501920145はLM1に削除成功を知らせる。
【００６９】
11) LM1はblock10を含みインデックス表を更新する。
12) 次のblock11を取得して、引き続き削除をして、そのステップはblock10の削除過程と同様であって、削除するリストが完了するまで、削除することを停止して、削除過程が終わる。
【００７０】
13) ユーザーの取得を加速するために、LM1はファイルをデータブロックに分割して（分割しなくても良い）、一つのブロックごとに１つのblockとして、ファイルをデータブロックの配列に分ける。ここでは、仮に3つに分けて、{block1、block2、block3}とする。
【００７１】
14) ファイルの名称によって、段階型地理位置情報に基づいてコーディングする方法によってファイルにインデックスのメモリーIDを形成する。仮にIDは全部16桁であって、前の6桁は郵便番号であって、後の10桁はハッシュ関数の値であって、即ち、
RID = 100081（地理位置情報コードであって、ここで地域の郵便番号を使って表す）+  Hash(ファイル名)（例えば2356780132）
即ちRID= 1000812356780132
である。
【００７２】
15) 段階型地理位置情報に基づいてコーディングする方法によってすべてのデータブロックにIDを形成する。データブロックIDの形成式は、
BIDi = 100081（地理位置情報コードであって、ここで地域の郵便番号を使って表す） +  Hash(ファイル名+blockの順番)
仮に{block1、block2、block3}のIDは{1000810003215200，100081013567810，100084816213269}である。
【００７３】
16) ポピュラリティなどの情報を総合して、ある種類のレプリカ数の計算方法によって、各データブロックに対して必要なレプリカ数と対応する配置場所を計算する（たとえば、2組のblock1をノード1000812501920145と1000813709467800に配置させるべき、2組のblock2をノード1000812501920145と1000813709467800に配置させるべき、1組のblock3をノード100084816213269に配置させるべき）。
【００７４】
17) 3つのデータブロックのサイズをそれぞれ100M、200Mと300Mだと仮定すれば、そしてステップ16）に必要なメモリースペースサイズは900Mである。LM1はCacheネットワークでの海淀区ノードの利用可能な余剰スペースを計算して、レプリカのバックアップを満足すれば、ステップ16）の計算結果によって資源レプリカを形成して、そして配置をする。すべてのデータブロックに対する配置のステップは次の通りである。例えばblock1については、
a) LM1はランダムで１つのノードを入り口ノードとして選択して、block1の配信メッセージをこの入り口に知らせる。
【００７５】
b) 入り口ノードはID00block1のIDと最も近いノード10008137094678を見つけて、このノードをblock_1のhome nodeと称して、一つのblock1のレプリカを記憶する。
c) 計算によって得ったblock_1のレプリカ数と配置位置を、Pastryルーティングプロトコルによって、余剰のレプリカを配置して、同時に、各バックアップデータに対して余剰の存在時間を表すタイムスタンプ、例えば100時間を付けて、そして24時間を周期として定期的に自らに余剰の存在時間を検査する。バックアップを完了した後に、home nodeに知らせる。
【００７６】
d) home nodeはバックアップが完了したメッセージを受信しルーティング、入り口ノードに知らせる。
e) すべてのblockが加入を完了した後に、すべてのblockのIDと対応するレプリカ情報のインデックス項目を形成して、Pastryルーティングの計算方法によって、RID（1000812356780132）と最も近いノード1000812501920145に記憶する。
【００７７】
18) ノード1000812501920145はローカルLM1にデータのレプリカがバックアップすることに成功することを知らせて、１つのグローバルのインデックス項目を形成して、LM1に記憶して、資源の加入が完了する。
【００７８】
データを読み取る時に、まずファイルfのインデックスノード1000812501920145を見つけて、その中からデータブロック配列のIDリストを取得して、そしてPastryルーティング方法によってネットワークからそれぞれのblock内容を取得する。
【００７９】
明細書中のその他の内容は本専攻領域の普通の技術者にとっては、技術的な実現ができるので、ここで詳しく説明しない。
最後に説明するべきことは、以上の実施例が本発明の技術案を説明するために用いられるものであり、制限したものではない。実施例を参照して本発明に対して詳しい説明を行ったが、本領域の普通の技術者は理解するべきで、本発明の技術案に対して行った改正および入れ替えは、すべて本発明技術案の精神と範囲から離れなく、それがすべて本発明の権利の請求範囲内であるべき。
［実施形態例］
前記キャッシュネットワーク層におけるノードはP2P形式によってネットワークを構成する、ことを特徴とする請求項１に記載の地理位置情報に基づいてコーディングするCDNネットワークシステム。
【符号の説明】
【００８０】
ＧＭ  グローバルネットワーク管理サーバー
ＬＭ  ローカル管理サーバー
ＣＰ  Cacheノード
【図１】
0005532361.tif 000003
【図２】
0005532361.tif 000004
【図３】
0005532361.tif 000005
【図４】
0005532361.tif 000006
【図５】
0005532361.tif 000007
【図６】
0005532361.tif 000008