(58)【調査した分野】(Int.Cl.,DB名)
前記最適なCDNノードサーバが、前記サービスを供給するのに適した前記IPアドレスセグメントが前記クライアントの前記IPアドレスを含まないと判断する場合、前記クライアントの前記IPアドレス及び前記クライアントが要求する前記サービスコンテンツの前記目的ウェブサイトの前記ドメイン名に基づき、前記最適なCDNノードサーバによって前記クライアントに前記サービスを供給するのに適した前記目的ウェブサイトの他のCDNノードサーバのアドレスを、前記共有ディスパッチデータベース内で検索し、かつ前記目的ウェブサイトの前記他のCDNノードサーバのIPアドレスを前記クライアントに返すことと、
かつ前記クライアントから前記目的ウェブサイトの前記サービスコンテンツを得るための前記要求を、前記他のCDNノードサーバが受け取った後に、前記サービスを供給するのに適したIPアドレスセグメントが前記クライアントの前記IPアドレスを含むことを判断し、前記他のCDNノードサーバ内に格納されたサービスコンテンツから、前記クライアントが要求する前記目的ウェブサイトの前記サービスコンテンツを得ること、かつ前記目的ウェブサイトの前記サービスコンテンツを前記クライアントへ返すことと、をさらに備える、請求項1記載の方法。
前記最適なCDNノードサーバ内に格納された前記サービスコンテンツから、前記クライアントが要求する前記目的ウェブサイトの前記サービスコンテンツを得ることと、前記目的ウェブサイトの前記サービスコンテンツを前記クライアントに返すことは、
前記最適なCDNノードサーバ内に格納された前記サービスコンテンツが前記クライアントに要求された前記サービスコンテンツを含まない場合、前記最適なCDNノードサーバが前記目的ウェブサイトから前記クライアントが要求した前記サービスコンテンツを得るよう要求し、かつ前記要求されたサービスコンテンツを格納し、前記クライアントに転送することを、さらに備える、請求項1記載の方法。
前記他のCDNノードサーバ内に格納された前記サービスコンテンツから、前記クライアントが要求する前記目的ウェブサイトの前記サービスコンテンツを得ることと、前記目的ウェブサイトの前記サービスコンテンツを前記クライアントに返すことは、
前記他のCDNノードサーバに格納された前記サービスコンテンツが前記クライアントに要求された前記サービスコンテンツを含まない場合、前記他のCDNノードサーバが前記目的ウェブサイトから前記クライアントが要求した前記サービスコンテンツを得るよう要求し、かつ前記要求されたサービスコンテンツを格納し、前記クライアントに転送することを、さらに備える、請求項2記載の方法。
前記1つ以上のコンピューター読取可能なメディアにおいて、前記最適なCDNノードサーバ内に格納された前記サービスコンテンツから、前記クライアントが要求する前記目的ウェブサイトの前記サービスコンテンツを得ることと、前記目的ウェブサイトの前記サービスコンテンツを前記クライアントに返すことはさらに、
前記最適なCDNノードサーバ内に格納された前記サービスコンテンツが前記クライアントに要求された前記サービスコンテンツを含まない場合、前記最適なCDNノードサーバが、前記目的ウェブサイトから前記クライアントが要求した前記サービスコンテンツを得るよう要求し、かつ前記要求されたサービスコンテンツを格納し、前記クライアントに転送することを、備える、請求項12記載の1つ以上のコンピューター読取可能なメディア。
前記1つ以上のコンピューター読取可能なメディアにおいて、前記他のCDNノードサーバ内に格納された前記サービスコンテンツから、前記クライアントが要求する前記目的ウェブサイトの前記サービスコンテンツを得ることと、前記目的ウェブサイトの前記サービスコンテンツを前記クライアントに返すことはさらに、
前記他のCDNノードサーバに格納された前記サービスコンテンツが前記クライアントに要求された前記サービスコンテンツを含まない場合、前記他のCDNノードサーバが、前記目的ウェブサイトから前記クライアントが要求した前記サービスコンテンツを得るよう要求し、かつ前記要求されたサービスコンテンツを格納し、前記クライアントに転送することを備える、請求項13記載の1つ以上のコンピューター読取可能なメディア。
【背景技術】
【0003】
従来の技術では、ドメインネームシステム(DNS)は、特定のサーバIPアドレスへウェブサイトのドメイン名を解決する主な役割を備えたグローバルに分散されたネームサーバシステムとして言及される。
【0004】
インターネットの時代において、コンテンツデリバリーネットワーク(CDN)による高速化の原則は、良質のサービスを供給できるアプリケーションサーバにアプリケーションをアクセスするためにユーザの要求をディスパッチすること、かつ、それによってユーザがアプリケーションサーバにアクセスするスピード及び体験を向上する効果を得ることである。一般に、業界で採用されるディスパッチモードは、以下を含む。
【0005】
1.DNSに基づくディスパッチモードはさらに、2つのタイプにカテゴリ分けされる。
【0006】
グローバルDNSディスパッチタイプ:本ディスパッチタイプは、
図6に示されるように、ユーザ及びCDNによってアクセスされるサービスのドメイン名は、同じDNSサーバシステムを使用する。
【0007】
グローバルDNSディスパッチモードは、クライアント側が、ローカルDNSに、a.com及びb.comのドメイン名を解決するための要求の送信を開始する方法で行われる。ローカルDNSは、処理のために、目的のウェブサイト及びCDNにより認証されたDNSに要求を送信する。処理の後、a.com及びb.comを含むCDNサービスクラスタノードサーバIP1のアドレスが返される。ローカルDNSは、そのアドレスをクライアント側に転送し、その後クライアント側は、IP1のアドレスに従ってCDNノードサーバサービスクラスタIP1にa.com及びb.comのサービスコンテンツのための要求を送信する。CDNノードサーバサービスクラスタIP1はその後、それぞれ目的のウェブサイト、すなわち、a.com及びb.comのサービスコンテンツを要求し、受け取ったコンテンツがCDNノードサーバサービスクラスタIP1によってクライアント側に返される。
【0008】
分散されたDNSディスパッチタイプ:本モードと上記グローバルDNSディスパッチタイプとの違いは、サービスウェブサイトの認証されたDNS及びCDNの認証されたDNSが異なるシステムであるということであり、キャノニカルネームレコード方法(CNAME)を用いて解決特権の転換が要求される。サービスウェブサイト及びCDNが相互依存していないため、そういった方法は非常に適応力がある。しかしながら、解決手順の数が増加するため、
図7に示されるように、解決時間が長引いてしまう。
【0009】
分散されたDNSディスパッチモードは、クライアント側が、ローカルDNSに、a.comのドメイン名を解決するための要求の送信を開始する方法で行われる。ローカルDNSは、解決を処理するため、目的のウェブサイトa.comによって認証されたDNSに要求を送信し、解決特権はその後、CNAME(a.cdn.com)を用いて目的のウェブサイトa.comに認証されたDNSに送信される。a.comをカバーするCDNノードサーバサービスクラスタIP1のアドレスを含む処理された結果が、その後ローカルDNSへと返される。ローカルDNSは、結果をクライアント側に転送し、その後クライアント側は、IP1のアドレスに従ってCDNノードサーバサービスクラスタIP1にa.comのサービスコンテンツのための要求を送信する。CDNノードサーバサービスクラスタIP1はその後、目的のウェブサイト、すなわち、a.comのサービスコンテンツを要求し、受け取ったサービスコンテンツがCDNノードサーバサービスクラスタIP1によってクライアント側に返される。
【0010】
2.サービスアドレスのリダイレクトに基づくディスパッチモード:ユーザからのサービス要求は、最初にディスパッチサーバへと送られる。サーバは、
図8に示されるように、ユーザの要求の属性(ユーザのクライアントのIPアドレスまたはクッキー等といった)に従って、特定のリダイレクトレスポンスヘッダ(http302レスポンスなど)を用いて、サービスのための最適なサーバへとユーザの要求をディスパッチする。
【0011】
本DNSディスパッチモードは、クライアント側が、ローカルDNSに、a.comのドメイン名を解決するための要求の送信を開始する方法で行われる。ローカルDNSは、解決のために、目的のウェブサイトa.comにより認証されたDNSに要求を送信する。目的のウェブサイトa.comのIPアドレス(IP0)を含む処理された結果は、その後ローカルDNSへと返される。ローカルDNSは、処理された結果をクライアント側に転送し、その後クライアントは、IP0アドレスに従って目的のウェブサイトa.com(IP0)からのサービスコンテンツを要求する。目的のウェブサイトa.com(IP0)はその後、IP1への飛越しを要求するための302レスポンスを返す。この時クライアント側は、IP1にa.comのサービスコンテンツを要求する。CDNノードサーバサービスクラスタIP1はその後、目的のウェブサイトa.comのサービスコンテンツを要求し、受け取ったサービスコンテンツをクライアントにフィードバックする。
【0012】
3.ユニフォームリソースロケータ(URL)書き換えに基づくディスパッチモード:本ノードのシステム構造及び処理は、
図8に示される。本モードは、ウェブページに埋め込まれたURLがディスパッチの目的で修正されるという点において、上記二番目のモードとは異なる。
【0013】
このDNSディスパッチモードは、クライアントが、ローカルDNSに、a.comのドメイン名を解決するための要求の送信を開始する方法で行われる。ローカルDNSは、解決のために、目的のウェブサイトa.comにより認証されたDNSに要求を送信する。処理された結果は、目的のウェブサイトa.comのIPアドレス(IP0)を含み、ローカルDNSに返される。ローカルDNSは、処理された結果をクライアント側に転送し、その後クライアント側は、IP0アドレスに従って目的のウェブサイトa.com(IP0)からのサービスコンテンツを要求する。目的のウェブサイトa.com(IP0)はその後、IP1への飛越しを要求するためのIP1を含むURL要求を返す。この時クライアント側は、IP1にa.comのサービスコンテンツを要求する。CDNノードサーバサービスクラスタIP1はその後、目的のウェブサイトa.comのサービスコンテンツを要求し、受け取ったサービスコンテンツをクライアント側にフィードバックする。
【0014】
4.任意のブロードキャスト方法(エニーキャスト)に基づくディスパッチモード、すなわちIPアドレス層またはアプリケーションのオーバーラッピングしている層のいずれかに基づくブロードキャスト。このようにして、全ての可能なサービスノードサーバは、ユーザからのサービス要求を受け取ってもよく、レスポンスコンテンツは、ルールに基づき最適なサービスを供給することができるサーバからユーザに直接返される。
【0015】
5.P2P方法に基づくディスパッチモード:最適なサービスノードサーバを探すためにユーザが特定のサービスノードサーバと交渉する。最初の交渉後に見つかったノードサーバが、サービス要求と一致しない場合、クライアント側はその後、最適なサービスノードサーバが見つかるまでサービスに最適な他のノードサーバを探すよう通知される。
【0016】
上記ディスパッチモードに従い、以下の欠陥が存在する。
【0017】
モード1:クライアントの位置するアドレスはローカルDNSのIPアドレスからのみ決定するという本モードは、クライアント側のおよそ20%が使用するローカルDNSのIPアドレスが、クライアント側のIPアドレスとは異なるネットワークに位置しているので非常に不正確であり、そのためディスパッチにおけるエラーが起こりやすく、CDNの高速化効果を低減させることにつながるということに気づくのは明らかである。
【0018】
モード2及び3:これらのモードは、ユーザのIPアドレスに基づくディスパッチを確実に実行できるが、これらのモードでは、モード1と比較すると解決処理の時間もさらにかかり、特にアプリケーションディスパッチサーバと情報をやりとりする時間は増加する。このやりとりによる遅れは小さなオブジェクトにアクセスするユーザエクスペリエンスに重大な影響を与える場合がある。一方で、モード3の他の欠陥は、要求をディスパッチするためにページコンテンツの修正が必要となることにより、順応性と効果が乏しくなるということにある。
【0019】
モード4:これが実際には最も効果的かつもっとも正確な方法である。しかしながら、IPアドレスのエニーキャストブロードキャストは多くのネットワークで現在サポート対象外である。アプリケーション層エニーキャストが採用された場合、プロトコル互換性は確実に影響を受ける。特定のアプリケーションで実現すると思われるが、アプリケーションの大多数ではサポート対象外である。故に、モード4は互換性が非常に乏しく、特にいくつかの特定環境においては、基本的には実行不可能である。
【0020】
モード5:本モードにおける欠陥は、プロトコル互換性だけではなく、解決効率性の問題にもある。こういったP2Pベースのディスパッチモードの効率性は、サービスノードの数が増加するにつれ著しく減少する。
【0021】
従って、上記ディスパッチモードの欠点は、解決の緊急を要する技術問題となってきている。
【発明の概要】
【0022】
本概要は、選択された概念を簡易的に案内するために提供され、これらの概念はさらに以下の発明を実施するための形態に記述される。本概要は、請求する主題の鍵となる特徴または重要な特徴の全てを確認することを意図するものではなく、また、請求する主題の範囲決定を補助するものとして単独で用いることを意図するものでもない。「技術」という用語は例えば、上記文脈及び本開示全てにより認められるような装置、システム、方法、及び/またはコンピューター読取可能な命令を指してもよい。
【0023】
上記観点から、本開示の目的は、IPアドレスをディスパッチする処理における追加の解決時間により引き起こされるCDNの低処理効率性の問題及びディスパッチ処理中におけるIPアドレスエラーの問題を解決するために、CDNを用いて要求を正確にディスパッチする方法及び同方法を用いたシステムを供給することである。
【0024】
前述の技術問題を解決するために、本開示はコンテンツデリバリーネットワーク(CDN)を用いて要求を正確にディスパッチする方法を開示し、方法は、目的のウェブサイトのCDNにより認証されたドメインネームシステム(DNS)が、クライアントが位置する端末のローカルDNSからローカルDNSへのIPアドレス及びクライアントに要求されたサービスコンテンツの目的ウェブサイトのドメインネームを受け取ることを可能にすることと、共有ディスパッチデータベースにおいて、ローカルDNS及び目的ウェブサイトのドメイン名のIPアドレスに基づくクライアントへのサービス供給に適した、目的ウェブサイトの最適なCDNノードサーバのアドレスを見つけ、見つけたアドレスをクライアントに返すことであって、ここで、IPアドレスセグメント、目的ウェブサイトのドメイン名及び目的ウェブサイトの少なくとも1つのCDNノードサーバのアドレスを供給ディスパッチデータベースに相応に格納することと、最適なCDNノードサーバに格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得ること、及びその後に、最適なCDNノードサーバが、サービス供給に適したそのIPアドレスセグメントがクライアントのIPアドレスを含んでいると、クライアントから目的ウェブサイトのサービスコンテンツ要求を受け取った後に判断する場合、目的ウェブサイトのサービスコンテンツをクライアントに返すことと、を備える。
【0025】
1つの実施形態において、方法はさらに、クライアントのIPアドレス及びクライアントによってサービスコンテンツのために要求された目的ウェブサイトのドメイン名に基づいて、最適なCDNノードサーバが、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスを共有ディスパッチデータベース内で検索し、かつサービス供給に適した最適なCDNノードサーバのIPアドレスセグメントがクライアントのIPアドレスを含んでいないと最適なCDNノードサーバが判断する場合に、目的ウェブサイトの他のCDNノードサーバのIPアドレスを返すことと、他のCDNノードサーバに格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得て、かつ目的ウェブサイトのサービスコンテンツを得るためにクライアントから送信された要求を他のCDNノードサーバが受け取った後に、サービス供給に適した他のCDNノードサーバのIPアドレスセグメントがクライアントのIPアドレスを含んでいると他のCDNノードサーバが判断する場合、目的ウェブサイトのサービスコンテンツをクライアントに返すことと、を備える。
【0026】
さらに、または代替的に、方法はさらに、サービス供給に適した最適なCDNモードサーバのIPアドレスセグメントがクライアントのIPアドレスを含んでいないと最適なCDNノードサーバが判断する場合に、クライアントのIPアドレス及びクライアントによってサービスコンテンツのために要求された目的ウェブサイトのドメイン名に基づいて、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスを共有ディスパッチデータベース内でクライアントが検索出来るようクライアントに通知することと、他のCDNノードサーバに格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得て、かつ目的ウェブサイトのサービスコンテンツを得るためにクライアントから送信された要求を他のCDNノードサーバが受け取った後に、IPアドレスセグメントがクライアントのIPアドレスを含んでいると他のCDNノードサーバが判断する場合、目的ウェブサイトのサービスコンテンツをクライアントに返すことと、を備える。
【0027】
他の実施形態では、最適なCDNノードサーバに格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得て、かつ目的ウェブサイトのサービスコンテンツをクライアントに返すことは、最適なCDNノードサーバが目的のウェブサイトからクライアントに要求されたサービスコンテンツを得るように要求することと、最適なCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、要求されたサービスコンテンツを格納し、クライアントに転送することを、さらに備える。
【0028】
1つの実施形態では、他のCDNノードサーバに格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得て、かつ目的ウェブサイトのサービスコンテンツをクライアントに返すことは、他のCDNノードサーバが目的のウェブサイトからクライアントに要求されたサービスコンテンツを得るように要求することと、他のCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、要求されたサービスコンテンツを格納し、クライアントに転送することを、さらに備える。
【0029】
さらに、目的ウェブサイトのCDNによって認証されたDNSが、クライアントが位置する端末のローカルDNSのIPアドレス及びクライアントに要求されたサービスコンテンツの目的ウェブサイトのドメイン名を受け取る前に、方法はさらに、目的ウェブサイトのCDNによって認証されたDNSによって、目的ウェブサイトのサービスコンテンツを得るためにローカルDNSによって送られた目的ウェブサイトのドメイン名を受け取ることかつ解決することと、目的ウェブサイトのCDNによって認証されたDNSのアドレスに向けられ、解決からクライアントへ得られる目的ウェブサイトのエイリアスを返すことと、を備える。
【0030】
前述の技術問題を解決するために、本開示はコンテンツデリバリーネットワーク(CDN)を用いて要求を正確にディスパッチするシステムを開示し、システムはクライアントへ接続され、システムはドメイン名サーバを認証する目的ウェブサイトCDN、共有ディスパッチデータベース、及び最適なCDNノードサーバを備え、ここで、ドメイン名サーバを認証する目的ウェブサイトCDNは、クライアントが位置する端末のローカルDNSからローカルDNSのIPアドレス及びクライアントに要求されたサービスコンテンツの目的ウェブサイトのドメイン名を受け取り、共有ディスパッチデータベースにIPアドレス及びドメイン名を送信し、かつ共有ディスパッチデータベースにより返された最適なCDNノードサーバのアドレスをクライアントに返すために用いられ、共有ディスパッチデータベースは、ローカルDNSのIPアドレス及び目的ウェブサイトのドメイン名に基づきクライアントにサービスを供給するのに最適な目的ウェブサイトの最適なCDNノードサーバのアドレスを供給し、ドメイン名サーバを認証する目的ウェブサイトCDNにアドレスを返すために用いられ、ここで、IPアドレスセグメント、目的ウェブサイトのドメイン名及び目的ウェブサイトの少なくとも1つのCDNノードサーバドレスは共有ディスパッチデータベースに相応に格納され、最適なCDNノードサーバアドレスは、格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得て、目的ウェブサイトのサービスコンテンツを得るためにクライアントから送信された要求を最適なCDNノードサーバが受け取った後に、サービス供給に適したIPアドレスセグメントがクライアントのIPアドレスを含んでいると最適なCDNノードサーバが判断する場合、目的ウェブサイトのサービスコンテンツをクライアントに返すために用いられる。
【0031】
1つの実施形態では、システムはさらに、他のCDNノードサーバを備え、ここで、最適なCDNノードサーバは、サービス供給に適している最適なCDNノードサーバのIPアドレスセグメントがクライアントのIPアドレスを含まないと最適なCDNノードサーバが判断する場合、クライアントのIPアドレス及びサービスコンテンツのためにクライアントによって要求された目的ウェブサイトのドメイン名を共有ディスパッチデータベースに送信し、かつ共有ディスパッチデータベースによって返される目的ウェブサイトの他のCDNノードサーバのIPアドレスをクライアントへ返すためにさらに用いられ、共有ディスパッチデータベースは、最適なCDNノードサーバによって送信されたクライアントのIPアドレス及びサービスコンテンツのためにクライアントが要求する目的ウェブサイトのドメイン名に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトのCDNノードサーバのアドレスを供給し、他のCDNノードサーバのIPアドレスをクライアントへ返すためにさらに用いられ、他のCDNノードサーバは、他のCDNノードサーバに格納されたサービスコンテンツから、クライアントが要求した目的ウェブサイトのサービスコンテンツを得て、目的ウェブサイトのサービスコンテンツを得るためにクライアントから送信された要求を他のCDNノードサーバが受け取った後に、IPアドレスセグメントがクライアントのIPアドレスを含んでいると他のCDNノードサーバが判断する場合、クライアントへ目的ウェブサイトのサービスコンテンツを返すために用いられる。
【0032】
他の実施形態では、システムはさらに、他のCDNノードサーバを備え、ここで、最適なCDNノードサーバは、クライアントへのサービス供給に適している最適なCDNノードサーバのIPアドレスセグメントがクライアントのIPアドレスを含んでいないということを最適なCDNノードサーバが判断する場合、クライアントに通知するためにさらに用いられ、共有ディスパッチデータベースは、クライアントのIPアドレス及びクライアントが要求したサービスコンテンツのドメイン名に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスを供給し、アドレスをクライアントに返すためにさらに用いられ、他のCDNノードサーバは、他のCDNノードサーバに格納されたサービスコンテンツから、クライアントが要求した目的ウェブサイトのサービスコンテンツを得て、かつ目的ウェブサイトのサービスコンテンツを得るためにクライアントから送信された要求を他のCDNノードサーバが受け取った後に、IPアドレスセグメントがクライアントのIPアドレスを含んでいると他のCDNノードサーバが判断する場合、クライアントへ目的ウェブサイトのサービスコンテンツを返すために用いられる。
【0033】
さらに、システムは、目的ウェブサイトサーバをさらに備え、ここで、最適なCDNノードサーバは、クライアントが要求した目的ウェブサイトのサービスコンテンツを目的ウェブサイトサーバから要求しかつ得るため、かつ最適なCDNノードサーバに格納されたサービスコンテンツがクライアントが要求するサービスコンテンツを含まない場合、クライアントが要求する目的ウェブサイトのサービスコンテンツを格納し、クライアントへ転送するためにさらに用いられ、目的ウェブサイトサーバは、目的ウェブサイトに対応するサービスコンテンツを格納しかつ供給するために用いられる。
【0034】
1つの実施形態では、システムは、目的ウェブサイトサーバをさらに備え、ここで、他のCDNノードサーバが、クライアントが要求した目的ウェブサイトのサービスコンテンツを目的ウェブサイトサーバから要求しかつ得るため、かつ他のCDNノードサーバに格納されたサービスコンテンツがクライアントが要求するサービスコンテンツを含まない場合、クライアントが要求する目的ウェブサイトのサービスコンテンツを格納し、クライアントへ転送するためにさらに用いられ、目的ウェブサイトサーバは、目的ウェブサイトに対応するサービスコンテンツを格納しかつ供給するために用いられる。
【0035】
さらに、または代替的に、システムはさらに、クライアントが要求しローカルDNSによって送信されたサービスコンテンツの目的ウェブサイトのドメイン名を受け取りかつ解決するために、かつクライアントへの解決後に得られる目的ウェブサイトのエイリアスを返すために用いられる目的ウェブサイト認証ドメイン名サーバを備え、エイリアスは目的ウェブサイトのCDNによって認証されたDNSのアドレスへと向かう。
【0036】
従来の方法と比較すると、本開示は以下の効果を達成できる。
【0037】
1)CDNを用いて要求を正確にディスパッチする方法及び本開示によって供給される同方法を用いたシステムは、IPアドレスをディスパッチする処理における解決時間の増加により引き起こされるCDNの低処理効率性の問題及びディスパッチ処理中におけるIPアドレスエラーの問題を解決することができる。
【0038】
2)CDNを用いて要求を正確にディスパッチする方法及び本開示によって供給される同方法を用いたシステムはさらに、解決効率性の減少によるディスパッチ効率性を低下させることなくIPディスパッチを達成できるよう、エニーキャストブロードキャストをサポートしないネットワークを処理することができる。
【0039】
もちろん、本開示によって供給される本方法及び本システムを実装するいかなる製品も、前述の効果の全てを一度で達成する必要はない。
【発明を実施するための形態】
【0041】
本開示の技術的スキームは、本開示の目的、技術的スキーム及び利点をより明瞭にするために、実施形態及び付随の図面と共に以下に明瞭かつ完全な方法で記述される。本明細書に記述される実施形態は、本開示の実施形態の全てではなく、一部分であるにすぎない。本開示の実施形態に従って、創造的努力を伴わない当業者によって実装されたいかなる他の実施形態も本開示の保護範囲に含まれるべきである。
【0042】
図1に示されるように、フロー図は以下のブロックを含む本開示の第一実施形態に従って要求を正確にディスパッチするための方法を描写する。
【0043】
ブロック101:目的ウェブサイトのCDNによって認証されたドメイン名システム(DNS)は、クライアントが位置する端末のローカルDNSからローカルDNSのIP及びクライアントが要求するサービスコンテンツに関連する目的ウェブサイトのドメイン名を受け取る。
【0044】
ブロック102:IPアドレス及び目的ウェブサイトのドメイン名に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトの最適なCDNノードサーバのアドレスを共有ディスパッチデータベース内で検索すること、かつクライアントに検索したアドレスを返すこと、ここで、IPアドレスセグメント、目的ウェブサイトのドメイン名及び目的ウェブサイトの少なくとも1つのCDNノードサーバのアドレスが共有ディスパッチデータベースに相応に格納される。
【0045】
上記の「最適な」という用語は、決定の特定基準に基づき得られる。例えば、通常の状態でクライアント側がCDNノードサーバにアクセスするよう要求する時、CDNノードサーバが供給する最速ダウンロードスピードは、CDNノードサーバによって供給されるコンテンツのためのダウンロードスピードが最適を決定するための基準として用いられる時、「最適」と判断される。もちろん、本開示はそのことに限定はされない。異なるタイプのCDNノードサーバのために「最適」を判断するための最速ダウンロードスピードとは異なる、他の基準も存在する場合がある。下文で用いられるような「最適」という用語は、上記の本質に従う。
【0046】
ブロック103:最適なCDNノードサーバに格納されたサービスコンテンツから、クライアントに要求された目的ウェブサイトのサービスコンテンツを得ること、かつクライアントから送られた目的ウェブサイトのサービスコンテンツを得るための要求を最適なCDNノードサーバが受け取った後に、サービス供給に最適なIPアドレスセグメントがクライアントのIPアドレスを含んでいると最適なCDNノードサーバが判断する場合、目的ウェブサイトのサービスコンテンツをクライアントに返すこと。
【0047】
最適なCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、最適なCDNノードサーバは、クライアントが要求したサービスコンテンツを得るために目的ウェブサイトに要求を送信し、かつ要求されたサービスコンテンツを格納し、クライアントに転送する。
【0049】
クライアント側から送られた目的ウェブサイトのサービスコンテンツを得るための要求を最適なCDNノードサーバが受け取った後に、サービス供給に適しているIPアドレスセグメントがクライアントのIPアドレスを含んでいないということを最適なCDNノードサーバが判断する場合、以下の2つの処理が含まれる:
【0050】
1)最適なCDNノードサーバは、クライアントのIPアドレス及びサービスコンテンツのためにクライアントが要求する目的ウェブサイトのドメイン名に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスを、共有ディスパッチデータベース内で検索し、目的ウェブサイトの他のCDNノードサーバのIPアドレスをクライアントに返し、または
【0051】
2)最適なCDNノードサーバは、クライアントのIPアドレス及び共有ディスパッチデータベース内の目的ウェブサイトのドメイン名に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスをクライアントが検索できるように、クライアントに通知する。
【0052】
他のCDNノードサーバは、目的ウェブサイトのサービスコンテンツを得るためにクライアントから要求を受け取り、他のCDNノードサーバに格納されたサービスコンテンツから、クライアントが要求するサービスコンテンツを得て、IPアドレスセグメントがクライアントのIPアドレスを含んでいると他のCDNノードサーバが判断した場合、目的ウェブサイトのサービスコンテンツをクライアントに返す。他のCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、他のCDNノードサーバは、目的ウェブサイトからクライアントが要求したサービスコンテンツを得るよう要求し、かつ要求されたサービスコンテンツを格納し、クライアントに転送する。
【0053】
プロセス1及びプロセス2は論理的に異なるが、問題解決において同じ効果を有する。実用的な実装では、当業者は実際の状況に従って選択肢を変更してもよく、特に本明細書に限定されるわけではなく、かつ詳細は本明細書に重複して記載されない。
【0054】
加えて、目的ウェブサイトによって認証されるDNSサーバが、クライアントが要求する目的ウェブサイトのサービスコンテンツを得るためにローカルDNSによって送信された要求を受け取り、目的ウェブサイトのドメイン名を解決し、解決後に得られる目的ウェブサイトのエイリアス、すなわちCNAMEを返すことを含む場合がある、特定の操作が、第一実施形態のブロック101の前には通常は必要であり、エイリアスは目的ウェブサイトのCDNによって認証されたDNSサーバのIPアドレスを指す。
【0055】
図2に示されるように、フロー図は以下のブロックを含む本開示の第二実施形態に従って要求を正確にディスパッチするための方法を描写する。
【0056】
ブロック201:クライアントが目的ウェブサイトからサービスコンテンツを要求しようとする時、クライアントは最初にクライアントが位置する端末のローカルDNSにドメイン名解決要求を送信し、ドメイン名解決要求は目的ウェブサイトのドメイン名(a.com)を含む。下文の記述はa.comを用いるが、a.comの使用は本開示への制限として見なされるべきではない。
【0057】
ブロック202:ローカルDNSは、目的ウェブサイトによって認証されたDNSサーバにドメイン名解決要求を転送する。
【0058】
ブロック203:目的ウェブサイトによって認証されたDNSサーバは、ローカルDNSによって送信されたドメイン名解決要求を受け取り、要求の目的ウェブサイトのドメイン名に基づき解決を実行し、ドメイン名、例えばa.cdn.com(a.cdn.comは記述のために下文に用いられるが、a.cdn.comは本開示への限定ではない)に応じた目的ウェブサイトのエイリアス(すなわちCNAME)を得て、目的ウェブサイトのCDNによって認証されたDNSサーバのIPアドレスを指すエイリアス、a.cdn.comをローカルDNSに返す。
【0059】
ブロック204:ローカルDNSは、目的ウェブサイトのエイリアス、a.cdn.comに基づき目的ウェブサイトのCDNによって認証されたDNSサーバに、CDNノードサーバのIPアドレスを解決するための要求を送信し、アドレス解決のための要求は、ローカルDNSのIPアドレス及び目的ウェブサイトのドメイン名、a.comを含む。
【0060】
ブロック205:目的ウェブサイトのCDNによって認証されたDNSサーバは、ローカルDNSからIPアドレス解決のための要求を受け取り、クライアントにサービスを供給するのに適した目的ウェブサイトの最適なCDNノードサーバのIPアドレスを共有ディスパッチデータベースから検索し、目的ウェブサイトの最適なCDNノードサーバのIPアドレスをクライアントに返す。
【0061】
IPアドレスセグメント、目的ウェブサイトのドメイン名、a.com、及び目的ウェブサイトの少なくとも1つのCDNノードサーバのIPアドレスは、共有ディスパッチデータベース内に相応に格納される。共有ディスパッチデータベース内に記録されたIPアドレスセグメントは、サポートされたローカルDNSが属するIPアドレスセグメントよりもむしろサポートされたクライアントが属するIPアドレスである。ローカルDNSのIPアドレスとクライアントのIPアドレスは同じであってもよく、または異なっていてもよく、共有ディスパッチデータベース内で検索を実行するためのブロック205におけるローカルDNSのIPアドレスの使用は、クライアントに不適切なIPアドレスを用いたCDNノードサーバを見つける場合がある。このケースでは、ブロック208はクライアントのIPアドレスを特定するために用いられる。不適切性はローカルDNSのIPアドレスがクライアントのIPアドレスと異なることを示しており、ブロック211は修正のために必要である。このことは、CDNノードサーバのIPアドレスがクライアントに適しており、ローカルDNSのIPアドレスはクライアントのIPアドレスと同じであることを指し示すということを同様に可能にする。
【0062】
ブロック206:ローカルDNSは最適なCDNノードサーバのIPアドレスをクライアントに転送する。
【0063】
ブロック207:クライアントは、目的ウェブサイトのサービスコンテンツを得るよう要求する最適なCDNノードサーバのIPアドレスに基づき、最適なCDMノードサーバにコンテンツ取得要求を送信し、コンテンツ取得要求は少なくともクライアントのIPアドレスを含む。
【0064】
本実施形態では、CDNノードサーバはクライアントのIPアドレスに基づきクライアントが適切かどうかを判断するだけではなく、クライアントが不適切であると判断した場合に共有ディスパッチデータベース内で修正を実行する任務をも請け負うため、コンテンツ取得要求はさらに目的ウェブサイトのドメイン名(a.com)を含む。故に、本実施形態におけるコンテンツ取得要求はさらに、目的ウェブサイトのドメイン名(a.com)を含む。確かに、目的ウェブサイトのドメイン名a.comは目的ウェブサイト自体のCDNノードサーバには既に知られている場合があることが可能である。このケースでは、本実施形態におけるコンテンツ取得要求は目的ウェブサイトのドメイン名(a.com)を含む必要がなくてもよい。
【0065】
ブロック208:最適なCDNノードサーバは、クライアントからのコンテンツ取得要求を受け取り、IPセグメントが最適なCDNノードサーバのサービスを供給するのに適しているかどうかを判断し、クライアントのIPアドレスを含む。含まれる場合には、ローカルDNSのIPアドレスはクライアントのIPアドレスと同じであるということを証明し、ブロック205においてローカルDNSのIPアドレスを介して見つけた最適なCDNノードサーバはサービスを正常に供給することができ、ブロック209が実行される。含まれない場合には、ローカルDNSのIPアドレスはクライアントのIPアドレスと異なるということを証明し、ブロック205においてローカルDNSのIPアドレスを介して見つけた最適なCDNノードサーバはサービスを正常に供給することができず、ブロック211が実行される。
【0066】
ブロック209:クライアントが要求する目的ウェブサイトのサービスコンテンツは、最適なCDNノードサーバに格納されたサービスコンテンツから得られ、クライアントに返される。
【0067】
最適なCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、最適なCDNノードサーバはその後、目的ウェブサイトからクライアントが要求したサービスコンテンツを得るよう要求し、かつ要求されたサービスコンテンツを格納し、クライアントに転送する。
【0068】
ブロック210:クライアントは目的ウェブサイトの要求されたサービスコンテンツにアクセスしかつ表示する。プロセスは終了する。
【0069】
ブロック211:最適なCDNノードサーバは、コンテンツ取得要求に含まれるクライアントのIPアドレス及び目的ウェブサイトのドメイン名(a.com)に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスを共有ディスパッチデータベース内で検索する。
【0070】
ブロック212:最適なCDNノードサーバは見つけたIPアドレスをクライアントに返す。
【0071】
ブロック213:目的ウェブサイトのサービスコンテンツを得るよう要求する他のCDNノードサーバのIPアドレスに基づき他のCDNノードサーバにコンテンツ取得要求を送信し、コンテンツ取得要求はクライアントのIPアドレス及び目的ウェブサイトのドメイン名(a.com)を含む。
【0072】
ブロック214:他のCDMノードサーバはコンテンツ取得要求をクライアントから受け取り、他のCDNノードサーバがサービス供給に適した他のCDNノードサーバのIPアドレスセグメントがクライアントのIPアドレスを含むことを証明する場合、他のCDNノードサーバに格納されたサービスコンテンツから目的ウェブサイトのサービスコンテンツを読み込み、目的ウェブサイトのサービスコンテンツをクライアントに返す。ブロック210はその後実行される。
【0073】
他のCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、他のCDNノードサーバは、目的ウェブサイトからクライアントが要求したサービスコンテンツを得るよう要求し、かつ要求されたサービスコンテンツを格納し、クライアントに転送する。ブロック210はその後実行される。
【0074】
ブロック205及び211で用いられる共有ディスパッチデータベースはクラスタの形状であってもよいことに留意されたい。言い換えれば、目的ウェブサイトのCDN及び最適なCDNノードサーバによって認証されるDNSサーバは、クラスタ形状で同じ共有ディスパッチデータベースを使用してもよく、全てのネットワークサイドのサーバはこのクラスタ化され、かつ共有されたディスパッチデータベース内で情報を検索する(実線によって示されるように、ブロック211で最適なCDNノードサーバによって用いられる共有ディスパッチデータベースはブロック205にて用いられるものと同じであることが表される)。
【0075】
ブロック205及び211にて用いられる共有ディスパッチデータベースは分散されてもよい。言い換えれば、共有ディスパッチデータベースは目的のウェブサイトのCDN及び最適なCDNノードサーバによって認証されたDNSサーバの近くに分散される。これらの分散された共有ディスパッチデータベース内のデータは同期される。目的サーバのCDN及び最適なCDNノードサーバによって認証されたDNSサーバは、情報を検索するためにそれぞれの近くにて共有ディスパッチデータベースをそれぞれ使用する(破線によって示されるように、最適なCDNノードサーバは検索を実行する時、他の共有ディスパッチデータベースを使用することがブロック211に表される)。
【0076】
図3に示されるように、本開示の第三実施形態に従って、CDNを用いて要求を正確にディスパッチするための方法が描写され、方法は以下のブロックを含む:
【0077】
ブロック301:クライアント側が目的ウェブサイトからサービスコンテンツを要求しようとする時、クライアントは最初にクライアントが位置する端末のローカルDNSにドメイン解決要求を送信し、ドメイン解決要求は目的ウェブサイトのドメイン名、すなわちa.comを含む。下文ではa.comが用いられるが、a.comの使用は本開示への制限として見なされるべきではない。
【0078】
ブロック302:ローカルDNSは、目的ウェブサイトによって認証されたDNSサーバにドメイン解決要求を転送する。
【0079】
ブロック303:目的ウェブサイトによって認証されたDNSサーバは、ローカルDNSによって送信されたドメイン解決要求を受け取り、要求の目的ウェブサイトのドメイン名に基づき解決を実行し、ドメイン名、例えばa.cdn.com(a.cdn.comは記述のために下文に用いられるが、a.cdn.comは本開示への限定ではない)に応じた目的ウェブサイトのエイリアス(すなわちCNAME)を得て、目的ウェブサイトのCDNによって認証されたDNSサーバのIPアドレスを指すエイリアス、a.cdn.comをローカルDNSに返す。
【0080】
ブロック304:ローカルDNSは、目的ウェブサイトのエイリアス、a.cdn.comに基づき目的ウェブサイトのCDNによって認証されたDNSサーバに、CDNノードサーバのIPアドレスを解決するための要求を送信し、アドレス解決のための要求は、ローカルDNSのIPアドレス及び目的ウェブサイトのドメイン名、a.comを含む。
【0081】
ブロック305:目的ウェブサイトのCDNによって認証されたDNSサーバは、ローカルDNSからIPアドレス解決のための要求を受け取り、クライアントにサービスを供給するのに適した目的ウェブサイトの最適なCDNノードサーバのIPアドレスを共有ディスパッチデータベースから検索し、目的ウェブサイトの最適なCDNノードサーバのIPアドレスをクライアントに返す。
【0082】
IPアドレスセグメント、目的ウェブサイトのドメイン名、a.com、及び目的ウェブサイトの少なくとも1つのCDNノードサーバのIPアドレスは、共有ディスパッチデータベース内に相応に格納される。共有ディスパッチデータベース内に記録されたIPアドレスセグメントは、サポートされたローカルDNSが属するIPアドレスセグメントよりもむしろサポートされたクライアントが属するIPアドレスである。ローカルDNSのIPアドレスとクライアントのIPアドレスは同じであってもよく、または異なっていてもよく、共有ディスパッチデータベース内で検索を実行するためのブロック305におけるローカルDNSのIPアドレスの使用は、クライアントに不適切なIPアドレスを用いたCDNノードサーバを見つける場合がある。このケースでは、ブロック308はクライアントのIPアドレスを特定するために用いられる。不適切性はローカルDNSのIPアドレスがクライアントのIPアドレスと異なることを示しており、ブロック311は修正のために必要である。このことは、CDNノードサーバのIPアドレスがクライアントに適しており、ローカルDNSのIPアドレスはクライアントのIPアドレスと同じであることを指し示すということを同様に可能にする。
【0083】
ブロック306:ローカルDNSは最適なCDNノードサーバのIPアドレスをクライアントに転送する。
【0084】
ブロック307:目的ウェブサイトのサービスコンテンツを得るよう要求する最適なCDNノードサーバのIPアドレスに基づき最適なCDMノードサーバにコンテンツ取得要求を送信し、コンテンツ取得要求は少なくともクライアントのIPアドレスを含む。
【0085】
第二実施形態におけるコンテンツ取得要求とは異なる、本実施形態におけるコンテンツ取得要求は、CDNノードサーバがクライアントが適切かどうかを判断するだけなので、クライアントのIPアドレスを含むだけであり、クライアントが不適切であると判断された場合、CDNノードサーバは、共有ディスパッチデータベース内での修正を実行する任務は請け負わない。むしろ、クライアントは単独で、共有ディスパッチデータベース内での検索を実行する。故に、本実施形態におけるコンテンツ取得要求は目的ウェブサイトのドメイン名、a.comを含む必要がない。
【0086】
ブロック308:最適なCDNノードサーバは、クライアントからのコンテンツ取得要求を受け取り、IPセグメントが最適なCDNノードサーバのサービスを供給するのに適しているかどうかを判断し、クライアントのIPアドレスを含む。含まれる場合には、ローカルDNSのIPアドレスはクライアントのIPアドレスと同じであるということを証明し、ブロック305においてローカルDNSのIPアドレスを介して見つけた最適なCDNノードサーバはサービスを正常に供給することができ、ブロック309が実行される。含まれない場合には、ローカルDNSのIPアドレスはクライアントのIPアドレスと異なるということを証明し、ブロック305においてローカルDNSのIPアドレスを介して見つけた最適なCDNノードサーバはサービスを正常に供給することができず、ブロック311が実行される。
【0087】
ブロック309:クライアントが要求する目的ウェブサイトのサービスコンテンツは、最適なCDNノードサーバに格納されたサービスコンテンツから得られ、クライアントに返される。
【0088】
最適なCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、最適なCDNノードサーバはその後、目的ウェブサイトからクライアントが要求したサービスコンテンツを得るよう要求し、かつ要求されたサービスコンテンツを格納し、クライアントに転送する。
【0089】
ブロック310:クライアントは目的ウェブサイトの要求されたサービスコンテンツにアクセスしかつ表示する。プロセスは終了する。
【0090】
ブロック311:最適なCDNノードサーバはクライアントに通知する。
【0091】
ブロック312:クライアント側は、共有ディスパッチデータベースに直接接続できる共有ディスパッチデータベースプラットフォーム内へと自動的に記録を取り、クライアントは、クライアントのIPアドレス及び目的ウェブサイトのドメイン名(a.com)に基づき、クライアントにサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバのアドレスを検索する。
【0092】
ブロック313:クライアントは、他のCDNノードサーバのIPアドレスに基づき、他のCDMノードサーバにコンテンツ取得要求を送信し、コンテンツ取得要求はクライアントのIPアドレスを含む。
【0093】
ブロック314:他のCDMノードサーバはコンテンツ取得要求をクライアントから受け取り、他のCDNノードサーバがサービス供給に適した他のCDNノードサーバのIPアドレスセグメントがクライアントのIPアドレスを含むことを証明する場合、他のCDNノードサーバに格納されたサービスコンテンツから目的ウェブサイトのサービスコンテンツを読み込み、目的ウェブサイトのサービスコンテンツをクライアントに返す。ブロック310はその後実行される。
【0094】
他のCDNノードサーバに格納されたサービスコンテンツがクライアントに要求されたサービスコンテンツを含まない場合、他のCDNノードサーバは、目的ウェブサイトからクライアントが要求したサービスコンテンツを得るよう要求し、かつ要求されたサービスコンテンツを格納し、クライアントに転送する。ブロック310はその後実行される。
【0095】
ブロック305及び312で用いられる共有ディスパッチデータベースはクラスタの形状であってもよいことに留意されたい。言い換えると、目的ウェブサイトのCDN及びクライアントによって認証されるDNSサーバは、クラスタ形状で同じ共有ディスパッチデータベースを使用してもよく、全てのローカルクライアントはこのクラスタ化され、かつ共有されたディスパッチデータベース内で情報を検索する(実線によって示されるように、ブロック312でクライアントによって用いられる共有ディスパッチデータベースはブロック305にて用いられるものと同じであることが表される)。
【0096】
ブロック305及び312にて用いられる共有ディスパッチデータベースは分散されてもよい。言い換えれば、共有ディスパッチデータベースは目的のウェブサイトのCDN及びクライアントによって認証されたDNSサーバの近くに分散される。これらの分散された共有ディスパッチデータベース内のデータは同期される。目的サーバのCDN及びクライアントによって認証されたDNSサーバは、情報を検索するためにそれぞれの近くにて共有ディスパッチデータベースをそれぞれ使用する(破線によって示されるように、クライアントは検索を実行する時、他の共有ディスパッチデータベースを使用することがブロック312に表される)。
【0097】
図4及び5に示されるように、本開示の第四実施形態に従って、要求を正確にディスパッチするためのシステム40は描写され、システム40は端末51(クライアント511及びクライアント511が位置する端末51のローカルドメイン名システム(DNS)512を含む)に接続する。システム40は、目的ウェブサイトのCDN、共有ディスパッチデータベース402及び最適なCDNノードサーバ403によって認証されたDNSサーバ401を備える。
【0098】
目的ウェブサイトのCDNによって認証されたDNSサーバ401は、端末51及び共有ディスパッチデータベース402にそれぞれ接続し、サービスコンテンツのためにクライアント側511によって要求され、ローカルDNS512のIPアドレス及び目的ウェブサイトのドメイン名を共有ディスパッチデータベース402へと送信するローカルDNS512のIPアドレス及び目的ウェブサイトのドメイン名をローカルDNS512から受け取るために用いられ、共有ディスパッチデータベース402によってクライアント511へ返される最適なCDNノードサーバ403のIPアドレスを返す。
【0099】
目的ウェブサイトのCDNによって認証されたDNSサーバ401に接続する共有ディスパッチデータベース402は、ローカルDNSのIPアドレス及び目的ウェブサイトのドメイン名に基づき、クライアント511にサービスを供給するのに適した目的ウェブサイトの最適なCDNノードサーバ403のアドレスを供給するために用いられ、目的ウェブサイトのCDNによって認証されたDNSサーバ401へアドレスを返し、ここで、IPアドレスセグメント、目的ウェブサイトのドメイン名及び少なくとも1つのCDNノードサーバのアドレスは、共有ディスパッチデータベース402に相応に格納される。
【0100】
クライアント511に接続する最適なCDNノードサーバ403は、目的ウェブサイトのサービスコンテンツを得るための要求をクライアント側511から受け取るために、最適なCDNノードサーバ403内に格納されたサービスコンテンツから、クライアント側511が要求する目的ウェブサイトのサービスコンテンツを得るために、かつサービス供給に適したIPアドレスセグメントがクライアント511のIPアドレスを含むと判断する場合、目的ウェブサイトのサービスコンテンツをクライアント511に返すために、用いられる。
【0101】
加えて、システム40はさらに、目的ウェブサイトのサービスコンテンツを得るためのクライアント511からの要求を受け取るのに用いられ、サービス供給に適しているIPアドレスセグメントがクライアント511のIPアドレスを含むと判断された場合に格納されたサービスコンテンツから、クライアント511が要求する目的ウェブサイトのサービスコンテンツを得、目的ウェブサイトのサービスコンテンツをクライアント511に返し、クライアント511のIPアドレスを含むもう一つのCDNノードサーバ404を含有する。
【0102】
他のCDNノードサーバ404へリダイレクトするために、共有ディスパッチデータベース402間の関係について2種類の構造があり、最適なCDNノードサーバ403及びクライアント511である。
【0103】
1)
図4に示されるように、最適なCDNノードサーバ403は共有ディスパッチデータベース402に接続され、クライアント511は共有ディスパッチデータベース402に接続されない。
【0104】
最適なCDNノードサーバ403は、クライアント511のIPアドレス及びサービスコンテンツのためにクライアント511が要求する目的ウェブサイトのドメイン名を共有ディスパッチデータベース402へ送信するために、かつサービス供給に適している最適なCDNノードサーバ403のIPアドレスがクライアント側のIPアドレスを含まないと判断する場合に、共有ディスパッチデータベース402によって返された目的ウェブサイトの他のCDNノードサーバのIPアドレスをクライアント511に返すために、用いられる。
【0105】
共有ディスパッチデータベース402はさらに、最適なCDNノードサーバ403によって送信されたクライアント側511のIPアドレス及びサービスコンテンツのためにクライアント511が要求する目的ウェブサイトのドメイン名に基づき、クライアント511へのサービス供給に適している目的ウェブサイトの他のCDNノードサーバ404のアドレスを供給するために、かつIPアドレスを最適なCDNノードサーバ403に返すために、用いられる。
【0106】
2)
図5に示されるように、最適なCDNノードサーバ403は共有ディスパッチデータベース402に接続されず、クライアント511は共有ディスパッチデータベース402に接続される。
【0107】
最適なCDNノードサーバ403はさらに、クライアントにサービスを供給するのに適したIPアドレスセグメントがクライアント511のIPアドレスを含まないと最適なCDNノードサーバ403が判断する場合、クライアント511に通知するために用いられる。
【0108】
共有ディスパッチデータベースはさらに、クライアント511のIPアドレス及びサービスコンテンツのためにクライアント511が要求する目的ウェブサイトのドメイン名に基づき、クライアント511へのサービス供給に適している目的ウェブサイトの他のCDNノードサーバ404のアドレスを供給するために、かつアドレスをクライアント511に返すために、用いられる。
【0109】
さらに、システム40はさらに、目的ウェブサイトに応じたサービスコンテンツを格納し供給するために用いられる目的ウェブサイトサーバ405を含む。
【0110】
最適なCDNノードサーバ403はさらに、クライアント511が要求するサービスコンテンツを目的ウェブサイトサーバ405から得るように要求するために、最適なCDNノードサーバ403内に格納されたサービスコンテンツがクライアント511が要求するサービスコンテンツを含まない時、クライアント511が要求する目的ウェブサイトのサービスコンテンツを格納しかつクライアント511に転送するために、用いられる。
【0111】
他のCDNノードサーバ404はさらに、クライアント511が要求するサービスコンテンツを目的ウェブサイトサーバ405から得るように要求するために、他のCDNノードサーバ404内に格納されたサービスコンテンツがクライアント511が要求するサービスコンテンツを含まない時、クライアント511が要求する目的ウェブサイトのサービスコンテンツを格納しかつクライアント511に転送するために、用いられる。
【0112】
その上、システムはさらに、ローカルDNS512に接続し、解決を実行するクライアント511によってサービスコンテンツのために要求された目的ウェブサイトのドメイン名を受け取るために、かつクライアント511への解決後に得られる目的ウェブサイトのエイリアス名を返すために用いられる目的ウェブサイト認証DNSサーバ(図示せず)を備え、エイリアス名は目的ウェブサイトのCDNによって認証されるDNSサーバ401のIPアドレスを指す。
【0113】
端末51はシステムのユーザであるか、またはシステムの一部として見なされてもよい。端末51はクライアント511及びローカルDNS512を含み、そこにおいては:
【0114】
ローカルDNS512は、目的ウェブサイトによって認証されたDNSサーバに目的ウェブサイトのドメイン名を転送するために、目的ウェブサイトのドメイン名に基づき解決され目的ウェブサイトによって認証されたDNSサーバによって返された目的ウェブサイトのエイリアス名を受け取るために、かつローカルDNSのIPアドレス及び目的ウェブサイトのドメイン名を目的アドレスのエイリアス名に基づき検索するための目的ウェブサイトのCDNによって認証されたDNSサーバに送信するために、目的ウェブサイトのCDNノによって認証されたDNSサーバによって見つけられた最適なCDNノードサーバのIPアドレスを受け取るために、かつ最適なCDNノードサーバのIPアドレスをクライアントに転送するために、用いられる。
【0115】
CDNノードサーバ404へリダイレクトするために、共有ディスパッチデータベース402間の関係について2種類の構造があり、最適なCDNノードサーバ403及びクライアント511である。
【0116】
図4に示されるように、最適なCDNノードサーバ403は共有ディスパッチデータベース402に接続され、クライアント511は共有ディスパッチデータベース402に接続されない。
【0117】
目的ウェブサイトからサービスコンテンツを要求しようとするクライアント511は、目的ウェブサイトのドメイン名をローカルDNS512に送信し、最適なCDNノードサーバ403及び/または他のCDNノードサーバ404のIPアドレスを受け取り、目的ウェブサイトのサービスコンテンツを得るための要求を最適なCDNノードサーバ403及び/または他のCDNノードサーバ404へ送信し、かつ最適なCDNノードサーバ403及び/または他のCDNノードサーバ404から送信されたクライアント側511が要求する目的ウェブサイトのサービスコンテンツを読み込み表示する。
【0118】
図5に示されるように、最適なCDNノードサーバ403は共有ディスパッチデータベース402に接続されず、クライアント511は共有ディスパッチデータベース402に接続される。
【0119】
目的ウェブサイトからサービスコンテンツを要求しようとするクライアント511は、目的ウェブサイトのドメイン名をローカルDNS512に送信するために、最適なCNDノードサーバ403及び/または他のCDNノードサーバ404のIPアドレスを受け取るために、目的ウェブサイトのサービスコンテンツを得るための要求を最適なCDNノードサーバ403及び/または他のCDNノードサーバ404へ送信するために、かつ最適なCNDノードサーバ403及び/または他のCDNノードサーバ404から送信されたクライアント511が要求する目的ウェブサイトのサービスコンテンツを読み込み表示するために、用いられる。クライアント511はさらに、最適なCDNノードサーバ403からの通知を受け取るために、クライアント511のIPアドレス及び目的ウェブサイトのドメイン名に基づき、共有ディスパッチデータベース402内でクライアント511にサービスを供給するのに適した目的ウェブサイトの他のCDNノードサーバ404のIPアドレスを検索するために、用いられる。
【0120】
実用的な実装では、クライアント511はブラウザまたは類似の機能を供給する装置であり、端末51はクライアント511が属するコンピューターシステムである。
【0121】
本開示によって供給されるディスパッチ方法及びシステムは、ユーザ要求に基づき最初にディスパッチを実行し、ノードサーバ上での正確なディスパッチを判断する。不正確である場合、リダイレクト方法を用いて第二ディスパッチが実行される。一方では、これは同じネットワークセグメント内のほとんどのローカルDNS及びクライアントからの要求のための良好なディスパッチ時間での正確なリソースディスパッチを保証する。他方では、わずかなローカルDNS及びIPアドレスが同じネットワーク上にないクライアントに関しては、DNSディスパッチにおけるエラーによって引き起こされるCDN高速化の効果は失われる可能性がある。さらに、本開示は、ネットワークオペレーターのインターネットデータセンター(すなわちIDC)にわたってリンク負荷ディスパッチを実装するためのリダイレクト方法を摘要することによってCDNノードサーバのために負荷バランスの範囲を拡張する。その上、共有ディスパッチデータベースの概念は導入され、ディスパッチ情報は全てのCDNノードサーバ間においてグローバルに共有される。さらに、CDNノードサーバがクライアント側の要求の目的を果たすのに適しているかどうかの判断は導入され、判断はクライアントのIPアドレスに基づく。
【0122】
1)CDNを用いて要求を正確にディスパッチする方法及び本開示によって供給される同方法を用いたシステムは、IPアドレスをディスパッチする処理における解決時間の増加により引き起こされるCDNの低処理効率性の問題及びディスパッチ処理中におけるIPアドレスエラーの問題を解決することができる。
【0123】
2)CDNを用いて要求を正確にディスパッチする方法及び本開示によって供給される同方法を用いたシステムはさらに、解決効率性の減少によるディスパッチ効率性を低下させることなくIPディスパッチを達成できるよう、エニーキャストブロードキャストをサポートしないネットワークを処理することができる。
【0124】
典型的な構成では、コンピューターデバイスは1つ以上のプロセッサ(CPU)、入力/出力インターフェース、ネットワークインターフェース及びメモリを含む。
【0125】
メモリはコンピューター読取可能なメディア、例えば非永久記憶装置、ランダムアクセスメモリ(RAM)及び/または読み取り専用メモリ(ROM)またはフラッシュRAMといった非揮発性内部記憶装置の形式を含んでもよい。内部記憶装置は、コンピューター読取可能なメディアの例である。
【0126】
コンピューター読取可能なメディアは、あらゆる方法または技術を用いた情報格納を可能にする、永久または非永久タイプ、リムーバブルまたは非リムーバブルメディアを含んでもよい。情報は、コンピューター読取可能なコマンド、データ構造、プログラムモジュールまたは他のデータを含んでもよい。コンピューター記憶メディアの例は、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消却可能なプログラマブル読み取り専用メモリ(EEPROM)、クイックフラッシュメモリまたは他の内部記憶技術、コンパクトディスク読み取り専用メモリ(CD−ROM)デジタル多用途ディスク(DVD)、または他の光学式記憶装置、磁気カセットテープ、磁気ディスク記憶装置または他の磁気記憶装置、またはコンピューターデバイスによってアクセスされる情報を格納するために用いられるあらゆる他の非通信メディアを含む。本明細書に定義されるように、コンピューター読取可能なメディアは変調データ信号及び搬送波といった一過性メディアは含まない。
【0127】
図9は、上記にさらなる詳細を記載されるようなシステムといったディスパッチシステム900の実施例を示す。1つの実施形態では、システム900は1つ以上のプロセッサ901、ネットワークインターフェース902、メモリ903、及び入力/出力インターフェース904を含んでもよいが、限定されるものではない。
【0128】
メモリ903は、ランダムアクセスメモリ(RAM)といった揮発性メモリ及び/または読み取り専用メモリ(ROM)またはフラッシュRAMといった非揮発性メモリの形式でコンピューター読取可能なメディアを含んでもよい。メモリ903はコンピューター読取可能なメディアの例である。
【0129】
コンピューター読取可能なメディアは、コンピューター読取可能な命令、データ構造、プログラムモジュール、または他のデータといった情報を記憶するためのあらゆる方法または技術において実装される、揮発性及び非揮発性、リムーバブル及び非リムーバブルメディアを含む。コンピューター記憶メディアの例は、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消却可能なプログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリまたは他の記憶技術、コンパクトディスク読み取り専用メモリ(CD−ROM)デジタル多用途ディスク(DVD)、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、またはコンピューターデバイスによってアクセスするための情報を格納するために用いることができるあらゆる他の非通信媒体を含む。本明細書に定義されるように、コンピューター読取可能なメディアは変調データ信号及び搬送波といった一過性メディアは含まない。
【0130】
メモリ903はプログラムモジュール905及びプログラムデータ906を含んでもよい。1つの実施形態では、プログラムモジュール905は、DNSサーバを認証する目的ウェブサイトCDN907、最適なCDNノードサーバ908、1つ以上の他のCDNノードサーバ909、及び目的ウェブサイトサーバ910を含んでもよい。いくつかの実施形態では、メモリ903は共有ディスパッチデータベース911を含んでもよい。さらに、1つの実施形態では、システム900は、ローカルDNS及びクライアント(図示せず)を含む端末を含んでもよく、または含まなくてもよい。これらのプログラムモジュールに関する詳細は、上記に記載の前述の実施形態において見出だされ得る。システム900は、単体(単一のコンピューターデバイスといった)の形式であってもよく、または、複数のコンピューターデバイス間において、及び/またはクラウドコンピューター構造において分散されてもよい。例えば、DNSサーバを認証する目的ウェブサイトCDN907、最適なCDNノードサーバ908、1つ以上の他のCDNノードサーバ909、目的ウェブサイトサーバ910、及び共有ディスパッチデータベース911といったシステムの様々な構成は、単一のコンピューターデバイスに位置してもよく、または例えば分散されたコンピューターシステムまたはクラウドコンピューター構造といった複数のコンピューターデバイス間に分散されてもよい。その上、本実施例では、DNSサーバを認証する目的ウェブサイトCDN907、最適なCDNノードサーバ908、1つ以上の他のCDNノードサーバ909、目的ウェブサイトサーバ910、及び共有ディスパッチデータベース911はメモリ903内に格納されたプログラムモジュールまたはプログラムデータのいずれかであると記載されるが、いくつかの実施形態では、これらのサーバまたはデータベースは、1つ以上のプロセッサのそれぞれのセット(例えばハードウェアプロセッサ)、メモリ、ネットワークインターフェース及び/または、入力/出力インターフェースをそれぞれ含む個別の存在またはデバイスであってもよく、通信またはデータネットワークを通じて相互に、かつクライアント及びローカルDNS(前述の実施形態に記述されるように)を含む端末と通信する。
図9はこれらのサーバ及びデータベースを含むシステムの実施例を単に表したものである。
【0131】
「備える」、「含む」といった用語、またはあらゆる他のその変化形は、非排他的な包括をカバーすることを意図している。一連の要素を含むプロセス、方法、製品または装置はこれらの要素を含むだけでなく、明確に列挙されていない他の要素をも含み、そういったプロセス、方法、製品または装置に既に存在する要素をもさらに含む。さらなる制限のない状態では、「1つの〜を含む」というフレーズによって定義される要素は、既存のプロセス、方法、製品または装置からあらゆる他の類似要素を排除しない。
【0132】
本開示の実施形態は、方法、システム、またはコンピュータープログラムの製品として供給できるということを当業者は理解するべきである。故に、本開示は、ハードウェアだけの実施形態として、ソフトウェアだけの実施形態として、またはハードウェア及びソフトウェアの組み合わせの実施形態として実装することができる。さらに、本開示は、コンピューター実行可能な命令を格納する1つ以上のコンピューター読取可能な記憶装置(磁気ディスク、CD−ROMまたは光学式ディスク、等を含むが、制限されるものではない)を格納できるコンピュータープログラムの製品として実装することができる。
【0133】
上記は本開示の範囲を限定することを意図しない本開示の実施形態を単に記述する。様々な修正及び交替が当業者によって本開示に加えられてもよい。本開示の主旨及び原理の範囲内における、いかなる修正、交換及び変更点も本開示の請求範囲に該当すべきである。