JP2007133896A - サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム - Google Patents

サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム Download PDF

Info

Publication number
JP2007133896A
JP2007133896A JP2006349633A JP2006349633A JP2007133896A JP 2007133896 A JP2007133896 A JP 2007133896A JP 2006349633 A JP2006349633 A JP 2006349633A JP 2006349633 A JP2006349633 A JP 2006349633A JP 2007133896 A JP2007133896 A JP 2007133896A
Authority
JP
Japan
Prior art keywords
server
content
address
packet
client
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.)
Granted
Application number
JP2006349633A
Other languages
English (en)
Other versions
JP4529974B2 (ja
Inventor
Norito Fujita
範人 藤田
Atsushi Iwata
淳 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006349633A priority Critical patent/JP4529974B2/ja
Publication of JP2007133896A publication Critical patent/JP2007133896A/ja
Application granted granted Critical
Publication of JP4529974B2 publication Critical patent/JP4529974B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 クライアントが要求するコンテンツを配信するコンテンツサーバを、要求されたコンテンツの特性毎に定められた選択基準に基づいて選択することにより、コンテンツの配信の負荷を適切に分散処理するサーバ負荷分散システムを提供する。
【解決手段】 複数のコンテンツサーバA2によりコンテンツのクライアントD1への配信を分散処理するサーバ負荷分散システムにおいて、各コンテンツにおける特性毎に当該コンテンツを配信するコンテンツサーバA2を決定するための選択基準を設定する転送先サーバ決定ポリシ設定手段C12と、クライアントD1から要求されたコンテンツを配信するコンテンツサーバA2を要求されたコンテンツの特性に該当する選択基準に基づいて決定する転送先サーバ決定手段C13を備えることを特徴とする。
【選択図】 図7

Description

本発明は、サーバ負荷の分散に関し、特にWWW(World Wide Web)コンテンツや動画コンテンツなどの配信用コンテンツを取得するためのクライアントからのリクエストに対して、適切なサーバを選択し、該リクエストを選択したサーバに対して送信するサーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、コンテンツサーバ、及びサーバ負荷分散プログラムに関する。
近年、インターネットを介したWWWコンテンツや動画コンテンツの配信において、同一コンテンツを複数のサーバに分散配置することにより、サーバの負荷分散及びクライアントの受けるレスポンス時間の短縮を実現する方法が種々提案されている。
このようにコンテンツが網内に分散配置されている環境下においては、コンテンツを取得するためのクライアントからのリクエストをどのサーバに送信すべきかを決定するためのサーバ負荷分散装置が必要になる。
従来技術として、特開2001−101134号公報では、サービス毎にサーバの負荷をシミュレーションによって予測し、サーバが過負荷又は高負荷にならないようにクライアントのリクエストを振り分ける装置について記載されている。本公報に記載された装置では、転送先サーバ選択はサーバ負荷のみに着目して行われており、また、転送先サーバはサービス単位で選択される。
また、特開平09−198346号公報では、クライアントにおける転送先サーバの選択方式について記載されている。この公報に記載されたサーバ選択方式は、個々のクライアントからの多様なサーバ選択要求に対応するために、ディレクトリサーバへの問い合わせメッセージに選択ポリシを格納することを特徴とする。問い合わせを受けたディレクトリサーバは、メッセージに格納された選択ポリシに基づいて最適なサーバを選択し、クライアントに応答する。本方式はクライアントにおける選択方式であるため、クライアントが本方式を導入せねばならなかった。サーバ負荷分散装置において本方式のように多様な選択基準をサポートできれば、クライアントにおける方式を変更することなく透過的に同等のサービスが実現できる。
特開2001−101134号公報 特開平09−198346号公報
しかし上述した従来の技術では、以下に述べるような問題点があった。
第1に、コンテンツサーバ内において、必ずしもコンテンツの特性毎にコンテンツがグループ化されておらず、もしされるとしてもその静的な特性だけでなされているという問題点があった。
コンテンツサーバ内のコンテンツは、一般的には、コンテンツ管理者にとって管理しやすいように配置されており、コンテンツの特性という観点でグループ化されていない。例えば、ニュースに関する「/news/」ディレクトリの配下には、ニュースの記事、写真、映像など、ファイルサイズやメディア種類の点で異なる特性をもつコンテンツが混在した状態で一緒に配置されているのが普通である。また、それぞれのコンテンツに対するアクセス頻度といった動的な特性(パラメータ)も考慮されていない。このとき、クライアント側のサーバ負荷分散装置において、「/news/」ディレクトリに対して同一のコンテンツサーバを転送先として選択すると、コンテンツの特性によっては必ずしもコンテンツ取得遅延などの観点から最適ではない可能性がある。従って、転送先サーバ選択は、コンテンツのサイズやアクセス頻度等の観点で同様の特性をもつものを同一グループとしたコンテンツグループ単位でなされるべきである。
第2に、サーバ負荷分散装置において各コンテンツの特性に応じて転送先サーバの選択基準を変えることができないため、効果的な負荷分散を実現できないという問題点があった。
従来技術では、転送先サーバの選択基準は固定的であり、コンテンツの特性に応じて選択基準を変えることができなかった。例えば、サイズの小さいコンテンツと大きいコンテンツの2種類を考えると、クライアントにおけるレスポンス時間は、サイズの小さいコンテンツの場合は転送経路における遅延が大きく影響するのに対し、反対に大きいコンテンツの場合は転送経路の利用可能帯域が大きく影響する。このような場合に、従来技術では、2つ又は2つ以上の異なる種類のコンテンツに対してそれぞれ異なる選択基準を用いるということができなかった。
第3に、クライアント側に配置された各サーバ負荷分散装置が互いに独自に転送先サーバを選択すると、同一のサーバに負荷が集中し、かえって配信品質が劣化してしまう可能性があるという問題点があった。
特に、ストリームや音声などの連続メディアコンテンツの配信の場合に同一のサーバにアクセスが集中すると、予期していた配信品質が得られず、再度転送先サーバ選択を行なう必要がでてくる。更に、配信中のコネクションを同時に全て切り替えると、切り替え後の新規の配信サーバへのアクセス集中によって再度配信品質が劣化し、配信サーバの切り替えを繰り返すという、発振現象が発生する可能性がある。
第4に、コンテンツ又はコンテンツグループ単位で転送先サーバを選択するようなサーバ負荷分散装置は、クライアントからのリクエストの中身をみて、転送先サーバを決定する必要があるため、レイヤ7スイッチを用いて実現する必要があるという問題点があった。
レイヤ7スイッチを用いれば、クライアントからのリクエストをコンテンツ単位で設定された転送先サーバに振り分けることができるが、レイヤ3スイッチやレイヤ4スイッチなどの低レイヤでスイッチングを行なう機器と比較すると、処理性能が低く、またコストも高い。従って、よりリクエストの中身をみる必要なく、低レイヤでスイッチングを行なう機器を用いて同等の機能を実現できることが望ましい。
本発明の第1の目的は、上記従来技術の欠点を解決し、コンテンツサーバ内のコンテンツをその特性に応じて自動的にかつ静的/動的にグループ化することのできるサーバ負荷分散システム、コンテンツ管理装置、コンテンツ管理プログラムを提供することである。
本発明の第2の目的は、上記従来技術の欠点を解決し、各コンテンツの特性に応じて転送先サーバの選択基準を変えることができるサーバ負荷分散システム、サーバ負荷分散装置、及びサーバ負荷分散プログラムを提供することである。
本発明の第3の目的は、上記従来技術の欠点を解決し、連続メディアコンテンツの配信に際して、特定のサーバへ集中しないように適切に分散処理するサーバ負荷分散システム、サーバ負荷分散装置、コンテンツサーバ、及びコンテンツ配信管理プログラムを提供することである。
本発明の第4の目的は、上記従来技術の欠点を解決し、レイヤ7スイッチ機能を必要とせずに、コンテンツグループ単位での転送先サーバ選択を実現するサーバ負荷分散システム、サーバ負荷分散装置、及びサーバ負荷分散プログラムを提供することである。
上記目的を達成するため本発明は、クライアントへコンテンツを配信するコンテンツサーバを、複数のコンテンツサーバの中から選択するサーバ負荷分散装置において、前記クライアントから受信したコンテンツの配信を要求するメッセージもしくはパケットに含まれる情報に基づいて、前記クライアントにコンテンツを配信する前記コンテンツサーバを決定し、決定した前記コンテンツサーバに対して受信した前記コンテンツの配信を要求するメッセージもしくはパケットを転送する手段を備え、受信した前記メッセージもしくはパケットに含まれる情報を用いて、前記情報を一意に示すFQDNを新規に作成し、前記新規に作成したFQDNをキーにしてドメインネームサーバに問い合わせることによって前記受信したメッセージもしくはパケットを転送すべき宛先である前記クライアントにコンテンツを配信する前記コンテンツサーバの候補を取得し、前記候補の中から前記クライアントにコンテンツを配信する前記コンテンツサーバを決定することを特徴とする。
本発明によれば、各コンテンツのグループの特性に応じてコンテンツサーバの選択基準を変えることにより、クライアントからのリクエストを常に最適なコンテンツサーバに転送するという効果を達成することができる。
(第1の実施の形態)
次に、本発明の実施の形態について図面を参照して詳細に説明する。
(第1の実施の形態の構成)
図1を参照すると、本発明の第1の実施の形態は、コンテンツサーバA1と、コンテンツ管理装置B1とによって実現される。また、コンテンツサーバA1上のコンテンツに対してアクセスするクライアントD1がバックボーン1を介して上記コンテンツ管理装置B1と接続されている。
コンテンツサーバA1は、コンテンツ記憶部A11と、動的パラメータ格納部A16を含む。コンテンツ記憶部A11は、WWWコンテンツや動画コンテンツなどの配信用コンテンツ自身や、コンテンツに付随するプログラム、プログラム実行に必要なデータベース等を保持している。また、各コンテンツは、クライアント側からは識別子によって識別され、例えば、HTTP(Hyper Text Transfer Protocol)ではURL(Universal Resource Locator)によってコンテンツが識別される。動的パラメータ格納部A16には、コンテンツ管理装置B1によって参照される各配信コンテンツ毎のアクセス頻度やCPU負荷等といった動的な特性としての動的パラメータ(リソース情報)が格納されている。この動的パラメータの内容は、コンテンツサーバA1によって逐次更新される。なお、以下でリソース値とは、アクセス頻度やCPU負荷等を具体的に示す数値である必要はなく、それらの度合いを示す情報であればよい。
コンテンツ管理装置B1は、分類ポリシ設定部B11と、コンテンツ分類部B12と、コンテンツ集約部B13とを含む。分類ポリシ設定部B11は、コンテンツ記憶部A11内に含まれているコンテンツをその特性(コンテンツの種類やサイズ等の静的な特性及びアクセス頻度等の動的な特性)に応じてグループ化するための分類ポリシを設定する。
ここで、分類ポリシとは、ファイル、ストリーム、CGI(Common Gateway Interface)コンテンツといった、コンテンツをメディアの種類毎に大まかに分類するための情報が格納されている。更に、分類された各種類に対して、更に細かく分類するための情報が含まれていてもよい。例えばファイルに対しては、そのサイズに応じて、大・中・小の3つに分けるといったポリシや、ストリームに対しては、その転送レートに応じて高・中・低の3つに分けるといったポリシがある。あるいは、アクセス頻度の高・中・低といった動的な特性に基づくポリシでもよい。
図2は、分類ポリシ設定部B11内に設定されている分類ポリシを示す分類ポリシテーブル101の一例である。例えば、ファイルに分類されるコンテンツは、そのサイズによって、大・中・小の3つのグループに分類され、更にサイズ大に分類されたグループは、そのアクセス頻度に応じて高・低の2つのグループに分類される。更に、設定されたポリシによって分類されたコンテンツグループが集約されるべきURLが示されている。
コンテンツ分類部B12は、分類ポリシ設定部B11によって設定された分類ポリシに基づいてコンテンツ記憶部A11内のコンテンツを分類する。この分類の際に、各コンテンツ自身から取得できる種類やサイズといった静的パラメータと、上記動的パラメータ格納部A16に格納されているアクセス頻度等の動的パラメータが参照される。例えば、まず、コンテンツをファイル、ストリーム、CGIなどのメディアの種類毎に分類する。次に、各メディアの種類毎に更に細かい分類ポリシが設定されている場合は、そのポリシに従って例えばファイルサイズやアクセス頻度等に応じた複数のコンテンツグループに分類する。
コンテンツ集約部B13は、コンテンツ分類部B12によってコンテンツを自動分類した結果に基づいて、各コンテンツグループ毎にコンテンツを集約する。URLの場合を例に挙げると、URLは、コンテンツ記憶部A11内でコンテンツの配置されているディレクトリを用いて表現される。しかしながら、コンテンツ分類部B12によって作成されたコンテンツグループ内の各コンテンツは必ずしも同一のディレクトリの下に集約されているとは限らず、クライアントD1で各コンテンツがどのコンテンツグループに属するのかを識別するのは困難である。従って、同一コンテンツグループ内のコンテンツが同一のディレクトリ下に配置されるようにURLを書き換える処理を行なう。
図2に示す分類ポリシテーブル101の一例では、分類されたコンテンツグループが集約されるべきURLが示されており、例えば、CGIであり、CPUに対する負荷が高いと分類されたコンテンツは、全て「/cgi/high−load/」のディレクトリ配下に変更される。
図3は、URL書き換え処理を具体的に説明するための図である。例えば、オリジナルのディレクトリパスが「/pub/z.exe」であるコンテンツが、設定されたポリシによる分類後、「/cgi/high−load/」のディレクトリ配下に集約されるべきとされたとする。すると、「/cgi/high−load/z.exe」というディレクトリパスをもつコンテンツが、「/pub/z.exe」へのシンボリックリンクとして生成される。また、「/pub/z.exe」を参照しているwebページ内の参照リンクは、全て集約後のディレクトリパスに書き換えられる。
(第1の実施の形態の動作)
次に、図4を参照して、本実施の形態において、コンテンツ管理装置B1におけるコンテンツの特性に応じた自動的なグループ化の動作について詳細に説明する。
コンテンツ管理装置B1において、コンテンツ分類部B12は、分類ポリシ設定部B11内に設定されているコンテンツの分類ポリシを読み出し(図4のステップS101)、読み出した分類ポリシに従ってコンテンツ記憶部A11内の各コンテンツを複数メディア種類に分類する(ステップS102)。
複数メディア種類へのコンテンツの分類が完了すると、コンテンツ分類部B12は、分類した各メディア種類毎に各コンテンツを複数のコンテンツグループに分類する(ステップS103)。このステップはコンテンツのサイズやアクセス頻度などの詳細な特性に応じた分類であり、動的パラメータ格納部A16に格納されているアクセス頻度等の動的パラメータが参照される。
複数メディア種類への分類、及び各メディア種類毎のコンテンツグループへの分類が完了すると、コンテンツ集約部B13を用いてコンテンツグループ毎にコンテンツを集約する(ステップS104)。
本実施の形態において、コンテンツ管理装置B1は、ここでは独立したノード内に実現されるものとして説明したが、その他にも、図5に示すようにコンテンツサーバA1の一部の機能としてコンテンツ管理装置B1を実現することもできる。また、第2の実施の形態で説明するサーバ負荷分散装置C1も含めた任意のノード上で実現することができると共に、ゲートウェイ装置の一機能として実現することもできる。
さらに、上記説明では、一台のコンテンツサーバA1がコンテンツ管理装置B1に接続される場合を説明したが、図6に示すように、コンテンツ管理装置B1に複数台のコンテンツサーバA1が接続され、コンテンツ管理装置A1がコンテンツサーバA1毎にコンテンツを分類して管理するように構成することもできる。
(第1の実施の形態の効果)
次に、本実施の形態の効果について説明する。本実施の形態では、コンテンツ管理装置B1は、コンテンツサーバ内のコンテンツをその特性に応じて自動的に分類する。この分類を動的な特性に応じて行なうこともできるのも特徴である。
更に、分類の結果作成されたコンテンツグループを自動的に集約する。コンテンツサーバ内のコンテンツは、最初から特性毎に同一ディレクトリ下にグループ化されて配置されるわけではない。例えば、ニュースに関する「/news/」ディレクトリの配下には、ニュースの記事、写真、映像など、ファイルサイズやメディア種類の点で異なる特性をもつコンテンツが混在した状態で一緒に配置されているのが普通である。
本実施の形態により、同一の特性をもつコンテンツ群を同一ディレクトリ下に再構成することができ、後述するクライアント側のサーバ負荷分散装置においてこのディレクトリ単位で最適サーバを選択すると、コンテンツの特性に応じた最適なリクエストルーティングを最小のエントリ数で実現することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
(第2の実施の形態の構成)
図7を参照すると、本発明の第2の実施の形態は、コンテンツサーバA2と、サーバ負荷分散装置C1と、クライアントD1とによって実現される。
コンテンツサーバA2は、配信する各種コンテンツを記憶するコンテンツ記憶部A11と、リクエスト受信/コンテンツ応答部A12と、リソース応答部A13とを含む。
リクエスト受信/コンテンツ応答部A12は、クライアントD1側から受信したリクエストを受信し、応答すべきコンテンツを識別する。そしてクライアントD1側に対して該コンテンツを送信する。
リソース応答部A13は、サーバ負荷分散装置C1からのリソース情報取得要求に応答し、その要求内容に応じて、サーバ負荷、コネクション数、リンク使用率などのリソースパラメータを応答する。サーバ負荷分散装置C1がコンテンツサーバA2に対してリソース情報取得要求を行なわない場合は、このリソース応答部A13を省くことができる。
サーバ負荷分散装置C1は、リソース取得部C11と、転送先サーバ決定ポリシ設定部C12と、転送先サーバ決定部C13と、リクエストルーティングテーブルC14と、リクエスト受信部C15と、リクエスト転送部C16と、コンテンツ受信/転送部C17とを含む。このサーバ負荷分散装置C1は、例えば複数のクライアントからの要求を集中的に管理するプロキシサーバの一部の機能として実現することが可能である。
リソース取得部C11は、コンテンツサーバに関するリソース情報、例えばリクエストルーティングテーブルC14に転送先サーバやその他候補サーバとして登録されていない場合に、転送先サーバとして登録するために必要となるリソース情報や、リクエストルーティングテーブルC14内に登録されている転送先サーバやその他の候補サーバに関するリソース情報を取得する。リソース情報の例として、WebサーバまでのRTT(ラウンドトリップタイム; Round Trip Time)や、転送スループットといった網内リソースパラメータや、Webサーバの負荷、コネクション数といったサーバ自身に関するリソースパラメータなどがある。リソース情報取得には大きく分けて2つの方法がある。
1つは、コンテンツサーバA2に対してCPU負荷、自ノードまでの残余帯域値などの情報を要求して取得する方法(アクティブ型)であり、もう1つは、コンテンツ受信/転送部C17から、受信したコンテンツの転送に要した遅延、得られた転送スループットを取得する方法(パッシブ型)である。パッシブ型の方法を用いて、サーバのCPU負荷やセッション数などを間接的に予測したりすることも可能である。
さらに、取得したリソースパラメータから、他のリソースパラメータを予測したり、あるいは抽出するということも可能である。例えば、(1)サイズの小さいコンテンツに対して計測されたコンテンツ取得時間を、RTTとみなす、(2)プログラム実行負荷の大きなCGIコンテンツに対するコンテンツ取得時間を、サーバ負荷とみなす、といった方法が考えられる。
転送先サーバ決定ポリシ設定部C12は、各コンテンツの特性に応じた転送先サーバを選択するためのポリシを示す転送先サーバ決定ポリシテーブル103を設定する。
図8は、転送先サーバ決定ポリシ設定部C12内に設定されるポリシを示す転送先サーバ決定ポリシテーブル103の一例である。この転送先サーバ決定ポリシテーブル103では、ファイルの特性をもつコンテンツグループに対してはコンテンツ取得時の転送スループットが用いられ、この値が最大となるサーバを基準として、60%までの値をもつサーバが転送先サーバとして選択される。また、CGIの特性をもつコンテンツグループに対しては、CPU負荷にサーバまでのRTTを掛けた値が用いられ、この値が小さい順に3つのサーバが選択される。
転送先サーバ決定部C13は、リソース取得部C11によって取得したリソースパラメータの中から、転送先サーバ決定ポリシ設定部C12において設定されたリソースパラメータを用いて転送先サーバを決定する。
リクエストルーティングテーブルC14は、リクエスト受信部C15によって受信したリクエストをどのサーバに転送すべきかを示すテーブルである。テーブル内のエントリは、転送先サーバ決定部C13によって書き込まれる。
図9は、リクエストルーティングテーブルC14の一例を示すテーブル104である。このテーブル104によると、リクエストするコンテンツのURLに対する転送先サーバのIPアドレスが書かれている。
例えばURLが、「http://www.aaa.net/cgi/high/*」のエントリは、URLの先頭部分が「http://www.aaa.net/cgi/high/」を含む全てのURLを表すURLプレフィクス表現になっている。このエントリに対応するリクエストは、「10.2.5.2」のIPアドレスをもつコンテンツサーバへ転送される。また、URLが「http://www.ccc.com/file/small/*.jpg」に対応するエントリは、「http://www.ccc.com/file/small/」以下にあるコンテンツの内、ファイル拡張子としてjpgをもつもの全てに対応する。このエントリに対応するリクエストは、「10.4.2.1」のIPアドレスをもつコンテンツサーバか、「10.2.5.2」のIPアドレスをもつコンテンツサーバへ転送される。
このように複数の転送先サーバIPアドレスが指定されている場合は、リクエスト毎にラウンドロビンでいずれかのサーバが選択されるか、あるいはウェイテッドラウンドロビン(Weighted Round Robin)や重みつきハッシュ関数などを用いて、各サーバ毎に指定されたウェイト、すなわち優先度の比に応じて選択することもできる。
リクエスト受信部C15は、クライアントD1からのリクエストを受信し、その内容を解析する。該リクエストの内容を解析することによって、クライアントD1がリクエストしているコンテンツのURLを識別する。更に該リクエストをどのサーバに転送すべきかをリクエストルーティングテーブルC14を参照して解決し、リクエスト転送部C16へ渡す。
リクエスト転送部C16は、リクエスト受信部C15から転送すべきリクエストの内容と転送すべきサーバ情報を受け取り、該コンテンツサーバA2に対して該リクエストを転送する。
コンテンツ受信/転送部C17は、リクエスト転送部C16が行なったリクエストに対するコンテンツサーバA2からの応答コンテンツを受信し、クライアントD1に対して該コンテンツを転送する。
クライアントD1は、コンテンツサーバA2内のコンテンツを取得するリクエストを出すものである。該リクエストは、サーバ負荷分散装置によって指定されたコンテンツサーバA2へと誘導される。ここでは、クライアントD1は、1台ではなく、複数のクライアントを示すものとする。
(第2の実施の形態の動作)
次に、図10〜図12を参照して、本実施の形態において、サーバ負荷分散装置C1における各コンテンツの特性に応じて選択基準を変えながら転送先サーバを選択する動作について詳細に説明する。
まず図10を用いてサーバ負荷分散装置C1がクライアントD1からコンテンツを取得するリクエストを受信したときの動作を説明する。
サーバ負荷分散装置C1において、リクエスト受信部C15がクライアントD1からリクエストを受信すると、該リクエストを解析し、リクエストしているコンテンツのURLを識別する(図10のステップS201)。
次に、リクエスト受信部C15は、リクエストしているコンテンツの識別子に対して、リクエストルーティングテーブル104内に該コンテンツに対するエントリがあるかどうかをチェックする(ステップS202)。
ステップS202において、該コンテンツに対するエントリが存在する場合、リクエスト受信部C15は該エントリを参照し、リクエストを転送すべきコンテンツサーバA2を読み込む(ステップS203)。そして、リクエスト転送部C16は、リクエスト受信部から転送すべきリクエストと転送すべきコンテンツサーバA2の情報を受け取り、該コンテンツサーバA2へリクエストを転送する(ステップS204)。
ステップS202において、該コンテンツに対するエントリが存在しない場合、デフォルトサーバへリクエストを転送し(ステップS205)、リクエストのあったコンテンツを含むコンテンツグループに対して転送先サーバを決定し、リクエストルーティングテーブルに転送先サーバのエントリを書き込む動作を行なう(ステップS206)。ここでデフォルトサーバとは、該リクエストをデータとして含むIPパケットの宛先IPアドレスに対応するサーバや、該リクエスト中のURLのFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)部分から、ドメインネームサーバ(Domain Name Server; DNS)を用いて解決したIPアドレスに対応するサーバなどを意味する。
上記ステップS206に対応する動作を詳細に説明するためのフローチャートが図11である。
転送先サーバ決定部C13は、リクエストのあったコンテンツはどのコンテンツグループに属するのかを識別し、該コンテンツグループに対する候補サーバリストを取得する(図11のステップS301)。ここでの識別/取得方法として、該リクエスト中のURLの全部又は一部分をキーにして、コンテンツ管理装置B1に問い合わせる方法や、直接コンテンツサーバA2に問い合わせる方法などがある。ここで、候補サーバとは、該コンテンツグループを保持する全てのコンテンツサーバA2、又は該コンテンツグループを保持する全てのコンテンツサーバA2の中から一部を抽出したサーバ群のことである。
また、該URLに対するコンテンツグループ識別及び候補サーバリスト取得のためにドメインネームサーバを用いる方法もある。この場合は、該コンテンツグループ毎にユニークなFQDNを求め、該FQDNをキーにして解決したIPアドレスの各々に対応するコンテンツサーバを候補サーバとする。該コンテンツグループ毎にユニークなFQDNの生成方法の例として、リクエストされたコンテンツに対するURLが「http://www.aaa.net/cgi/high/prog.cgi」である場合、「high.cgi.www.aaa.net」を該コンテンツの属するコンテンツグループに対応するFQDNとし、該FQDNをキーにして候補サーバのIPアドレスを解決する方法などがある。
次に、転送先サーバ決定部C13は、該コンテンツグループが転送先サーバ決定ポリシ設定部C12のどの転送先サーバ決定ポリシに対応するのかを識別し、対応する転送先サーバ設定ポリシを読み込む(ステップS302)。この対応関係の識別方法として、例えば以下の2つの方法がある。
(1)ステップ301でコンテンツ管理装置B1に問い合わせる場合に、問い合わせ時に該コンテンツグループのコンテンツ特性の情報も一緒に取得する。
(2)サーバ負荷分散装置C1内に、URLや宛先ポート番号に対応するコンテンツ特性をマッピングしたテーブル(例えば、URLにcgi−binを含むコンテンツグループのコンテンツ特性はCGIであり、宛先ポート番号554であるコンテンツグループのコンテンツ特性はストリームであるといった対応関係)。
更に、転送先サーバ決定部C13は、ステップS302で読み込んだ転送先サーバ設定ポリシから、該コンテンツグループに対する転送先サーバを決定するために、候補サーバから直接コンテンツを取得することによりリソース取得を行なう、すなわちパッシブ型のリソース測定が必要かどうかをチェックする(ステップS303)。
パッシブ型のリソース測定が必要のある場合の例として、コンテンツの転送遅延、転送スループットなどのリソースパラメータを転送先サーバ決定に用いる場合が挙げられる。また、反対にパッシブ型のリソース測定を行なう必要のない場合の例として、サーバ負荷、リンク帯域などのリソースパラメータを問い合わせにより取得し、その結果を利用して転送先サーバ決定に用いるアクティブ型のリソース測定が行われる場合が挙げられる。なお、パッシブ型のリソース測定とアクティブ型のリソース測定を混ぜて転送先サーバの決定を行なってもよい。
ステップS303において、パッシブ型のリソース測定を行なって転送先サーバを調べる必要がある場合、転送先サーバ決定部C13は、候補サーバをリクエストルーティングテーブルC14に書き込む(ステップS304)。
ステップS304で候補サーバがリクエストルーティングテーブルC14に書き込まれると、リクエストルーティングテーブルC14は、該コンテンツグループに含まれるコンテンツに対するリクエストの転送先として、候補サーバの中から1つのコンテンツサーバを選択する。
このときラウンドロビンで転送先を選択するなどして、リクエストが全ての候補サーバに転送されるようにする。リクエストを各候補サーバへ振り分けることにより、コンテンツ受信/転送部C17は各候補サーバからコンテンツを受信し、リソース取得部C11はその際の転送遅延、(単位時間あたりのコンテンツの受信量を測定することで)転送スループット等のリソースパラメータを知ることができる(ステップS305)。
ついで、アクティブ型のリソース測定が必要であるかどうかをチェックする(ステップS306)。すなわち、ステップ305によるパッシブ型のリソース測定だけでは十分なリソースパラメータを取得できない場合等には、アクティブ型のリソース測定が必要であるとして、ステップS307でアクティブ型のリソース測定がなされる。
ステップS303において、パッシブ型のリソース測定を行なって転送先サーバを調べる必要がない場合、またステップ306でアクティブ型のリソース測定が必要と判定された場合、転送先サーバ決定部C13はリソース取得部C11を用いて必要なリソースパラメータを測定し取得する(ステップS307)。
ステップS305又はステップS307によって転送先サーバ決定に必要なリソースパラメータを取得すると、転送先サーバ決定部C13は該リソースパラメータ及びステップS301で読み込んだ転送先サーバ設定ポリシを用いて転送先サーバを決定する(ステップS308)。このとき複数のコンテンツサーバを転送先サーバとして決定してもよい。
そして決定した転送先サーバのエントリをリクエストルーティングテーブルC14における該当コンテンツグループに対するリクエスト転送先として書き込む(ステップS309)。複数のエントリを書き込む場合、各コンテンツサーバへリクエストが転送される割合、重み付けを同時に書き込んでもよい。
ステップS309で転送先サーバをリクエストルーティングテーブルC14に書き込むと、書き込んだエントリを維持管理する状態に移行する(ステップS310)。
ステップS310に対応する動作を詳細に説明するためのフローチャートが図12である。
リクエストルーティングテーブルC14は、維持管理すべき転送先サーバエントリに対するリクエストを一定時間以内に受信したかどうかを定期的にチェックする(図12のステップS401)。もし一定時間以上リクエストを受信していない場合は該エントリを削除する(ステップS404)。
一定時間以内に該エントリに対するリクエストを受信している場合は、更に、該エントリに対する候補サーバについて、転送先サーバを決定したときのリソース値と比べて予め設定した閾値以上の変化があるかどうかをリソース取得部C11を用いてチェックする(ステップS402)。このチェックは、ステップS307で決定した転送先サーバが現在もなお最適であるかどうかを調べるためのものである。閾値以上の変化がない場合は、再度ステップS401に戻る。
ステップS402において、閾値以上の変化があった場合は、ステップS301へ戻り、再度転送先サーバを決定する動作を行なう(ステップS403)。
(第2の実施の形態の効果)
次に、本実施の形態の効果について説明する。
本実施の形態では、サーバ負荷分散装置は、コンテンツグループ毎に異なるポリシで転送先サーバを決定し、リクエストルーティングテーブルに登録する。従来は、全てのコンテンツグループに対して同一の基準で転送先サーバが選択されていたため、コンテンツグループによっては必ずしも最適なサーバが選択されているとはいえなかった。本実施の形態では、各コンテンツグループの特性に応じて転送先サーバの選択基準を変えることにより、クライアントからのリクエストは常に最適なサーバに転送される。特に、コンテンツの特性に応じてコンテンツグループを自動生成する第1の実施の形態と組み合わせることにより、サーバ選択がより効果的に実現される。
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
(第3の実施の形態の構成)
図13を参照すると、本発明の第3の実施の形態は、コンテンツサーバA3と、サーバ負荷分散装置C1とによって実現される。
コンテンツサーバA3は、第2の実施の形態におけるコンテンツサーバA2の構成に加え、リソース応答ポリシ設定部A14を含み、リソース応答部A13の代わりにリソース応答部A15を含む点が異なる。その他の構成については、図7に示した第2の実施の形態と同様である。
リソース応答ポリシ設定部A14は、サーバ負荷分散装置C1から受信したリソース情報取得要求に対して応答する際のポリシが設定されるものである。ここでポリシとは、自コンテンツサーバに過度のアクセスが集中しないようにするために用いられる。例えば、コンテンツサーバA3が、自ノードのCPU負荷が10%と低い状態であるときに、複数のサーバ負荷分散装置からリソース情報取得要求を受信したとする。このとき、全てのサーバ負荷分散装置に対してCPU負荷の値を10%と応答すると、この値を受信したサーバ負荷分散装置はコンテンツサーバA3のCPU負荷が十分に低いと判断し、コンテンツサーバA3を、リクエストを転送するべきサーバに選択する可能性がある。その結果、コンテンツサーバA3のCPU負荷が、アクセスの集中により急激に上昇し、十分なサーバ性能を提供できないということが起こりうる。最悪の場合、コンテンツサーバA3を転送先サーバとして選択したサーバ負荷分散装置全てが、サーバ性能劣化を検出して他のコンテンツサーバを転送先サーバとして再度選択し、今度は再度選択されたコンテンツサーバがアクセスの集中により性能が劣化してしまうという動作を再帰的に繰り返すという、発振現象が起こってしまう。
このような特定のコンテンツサーバに対するアクセス集中や、発振現象を防ぐためのポリシが設定される。ここでポリシの例としては、一定時間内に所定の閾値以上のリソースを応答しない、あるいは、一定時間内に所定の値以上のリソースを同時に応答するサーバ負荷分散装置の数をある閾値以内に抑えるといった内容等が考えられる。
図14は、リソース応答ポリシ設定部A14内に設定されるポリシを示すリソース応答ポリシテーブル105の一例である。このリソース応答ポリシテーブル105では、リソースの種類に応じて応答ポリシが示されており、例えばCPU負荷にに関しては、現在のCPU負荷が0%〜30%の場合は、30%の確率で実際のCPU負荷の2倍の値を応答し(70%の確率で実際の値を応答する)、30%〜60%の場合は、50%の確率で実際のCPU負荷の1.5倍の値を応答し、60%〜100%の場合は実際の値を応答するという動作をする。
リソース応答部A15は、第1の実施の形態におけるリソース応答部A13と同様にサーバ負荷分散装置C1からのリソース情報取得要求に対して要求されたリソースパラメータを応答する。ただし、リソース応答時に、リソース応答ポリシ設定部A14内に設定されているリソース応答時のポリシを参照し、該ポリシに従って応答するリソース値を計算する。
(第3の実施の形態の動作)
次に、図15を参照して、本実施の形態において、コンテンツサーバA3がサーバ負荷分散装置C1からリソース取得要求を受信したときの動作について詳細に説明する。
コンテンツサーバA3内のリソース応答部A15は、サーバ負荷分散装置C1からリソース情報取得要求を受信すると、自ノードにおける要求されたリソースパラメータに対応するリソース値を取得する(図15のステップS501)。
次に、リソース応答部A15は、リソース応答ポリシ設定部A14から、該リソースパラメータに対するリソース応答ポリシを取得する(ステップS502)。
ステップS502の後、リソース応答部A15は、ステップS501で取得したリソースパラメータをその値のまま応答してよいかどうかをチェックする(ステップS503)。
ステップS503で、該リソースパラメータをその値のまま応答してよいと判定した場合、リソース応答部A15は、リソース情報取得要求を行なったサーバ負荷分散装置C1に対して該リソースパラメータを応答する(ステップS505)。
ステップS503で、該リソースパラメータをその値のまま応答しないと判定した場合、リソース応答部A15は、該リソースパラメータに対するリソース応答ポリシに基づいて、応答するリソース値を計算する(ステップS504)。そして計算したリソース値を、リソース情報取得要求を行なったサーバ負荷分散装置C1に対して該リソースパラメータとして応答する(ステップS505)。
(第3の実施の形態の効果)
次に、本実施の形態の効果について説明する。本実施の形態では、コンテンツサーバは、網内に配置されている複数のサーバ負荷分散装置からのリソース情報取得要求に対し、必ずしも実際のリソース情報をそのまま応答するのではなく、設定したリソース応答ポリシに応じてリソース値を補正して応答する。
各サーバ負荷分散装置は独立に転送先サーバを決定するため、従来技術のように実際のリソース情報をそのまま応答すると、同時に多数のサーバ負荷分散装置が自コンテンツサーバを転送先サーバとして選択することによってリクエストの急激な集中が生じる可能性があった。本実施の形態のように、リソース値を補正して応答することにより、急激なリクエストの集中を抑制することができる。
(第4の実施の形態)
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
(第4の実施の形態の構成)
図16を参照すると、本発明の第4の実施の形態は、コンテンツサーバA2と、サーバ負荷分散装置C2とによって実現される。
サーバ負荷分散装置C2は、第2の実施の形態におけるサーバ負荷分散装置C1の構成に加え、ウェイト設定部C19を備えている。また、リクエストルーティングテーブルC14の代わりにリクエストルーティングテーブルC18が用いられる。
リクエストルーティングテーブルC18は、第2の実施の形態で説明したリクエストルーティングとその機能は同じであるが、各エントリにおける転送先サーバIPアドレス毎に、その転送ウェイト値が指定されている点が異なる。ウェイテッドラウンドロビンや、重みつきハッシュ関数などを用いることにより、各サーバ毎に指定されたウェイト値の比で、リクエスト受信部へ応答するサーバが選択される。
また、リクエストルーティングテーブルC14では、リクエストを転送しないサーバは登録されないが、リクエストルーティングテーブルC18では、該コンテンツグループに対する候補サーバは全て登録される。このとき、リクエストを転送しないサーバはウェイト0%として登録される。図17に、リクエストルーティングテーブルC18の一例としてのテーブル106を示す。
ウェイト設定部C19は、リクエストルーティングテーブルC18内の転送ウェイト値を設定/変更する機能を有する。図17におけるリクエストルーティングテーブル106においては、「rtsp://stream.bbb.org/live/*」に対する転送先サーバIPアドレスは、「10.5.1.1」、「10.7.1.1」、「10.4.2.1」、「10.2.5.2」に対するウェイト値はそれぞれ20%、20%、10%、50%であるが、これを例えばそれぞれ30%、30%、20%、20%に変更するという動作をする。
(第4の実施の形態の動作)
次に、図18を参照して、本実施の形態において、サーバ負荷分散装置C2における特定のサーバへの負荷集中を防ぐ動作について詳細に説明する。
転送先サーバ決定部C13は、リクエストルーティングテーブルC18内の各エントリ毎に、リソース取得部C11を用いて登録されている転送先サーバに対するリソースを取得する(図18のステップS601)。取得するリソースの種類は、転送先サーバ決定ポリシ設定部C12内に設定されており、エントリ毎に異なっていてもよい。
各転送先サーバに対するリソースを取得すると、次に、転送先サーバ決定部C13は、各サーバに対する取得したリソース値を比較し、サーバ間におけるリソース値の違いが予め設定された閾値を超えるかどうかを判別する(ステップS602)。この判別基準の例として、「取得したサーバ毎のリソース値の最大値は、最小値の2倍以上大きい」、「取得したサーバ毎の転送スループットの最大値と最小値の差は1Mbps以上である」などが考えられる。
ステップS602で、サーバ間におけるリソース値の違いが予め設定された閾値を超えない場合はリクエストルーティングテーブルC18において設定されているウェイト値を変更しないが、反対に超える場合は、ウェイト設定部C19によって取得したリソース値に応じてウェイト値を再設定する(ステップS603)。
例えば、サーバA、サーバB、サーバCと3つの転送先サーバが登録されており、それぞれに対するウェイト値が、30%、50%、20%であったとする。そして取得した3つのサーバに対する転送スループットがそれぞれ6Mbps、3Mbps、1Mbpsであったとする。このとき、転送スループットの比に応じて、60%、30%、10%とウェイト値を変更する。
しかしながら、このようにリソース値の比に応じていきなりウェイト値を変更することは発振防止という観点からは望ましくない。上記の例の場合、ウェイト変更後、サーバAに対するリクエストが30%から60%に増えるが、他の負荷分散装置においても同様にサーバAに対するリクエストの比率を増やしていると、サーバAの受けるリクエスト数が急激に増加することになり、サーバAの転送スループットが大きく低下する可能性がある。すると再度ウェイト値の変更が必要になり、ウェイト変更動作が収束せずに発振してしまうことがある。発振を防止するためには、いきなりリソース値の比に応じてウェイト値を変更せずに、ウェイト変更の割合を、move_granularityを用いて制限する方法がある。move_granularityは、一度のウェイト値の変更を抑制するためのパラメータであり、1.0以下の値をとる。上記の例で、リソース値の比に応じてサーバAに対するウェイト値を30%→60%に変更する場合は「move_granularity=1.0」に対応する。例えば、上記の例で、「move_granularity=0.3」とした場合、サーバAに対しては、(60%−30%)×0.3=9%だけウェイト値を変更することになり、変更後のウェイト値は39%となる。同様に、サーバB、サーバCに対しては、変更後のウェイト値はそれぞれ44%、17%となる。
このようにmove_granularityを用いて徐々にウェイト値を変更することによって、特定のサーバの受けるリクエスト数が急激に増加/減少することが抑制され、発振を抑止することができる。このとき発振が起こらないようにmove_granularityの値を設定することが重要である。例えばフィードバック制御を用いて、move_granularityを発振が起こらない値に自動的に調整する方式などが考えられる。
転送先サーバ決定部は、リクエストルーティングテーブルC18内の各エントリ毎に、ステップS601〜S603の動作を定期的に実行する。
図18において説明した動作は、move_granularityを用い、その値を発振が起こらないように調節する必要があった。次に、move_granularityを調節する必要なく(すなわち「move_granularity=1.0」のままで)、コンテンツサーバに対する急激なリクエスト数の変動を抑止する方法についてその動作を詳細に説明する。
図19を参照すると、ステップS602までは図18で説明した動作と同様である。ステップS602において、リソース値の違いが閾値以上の場合、直ちにステップS603でウェイト値を変更する代わりに、ウェイト値を変更する時刻を決定する(図19のステップS604)。ウェイト値を変更する時刻は確率的に決定され、例として、0分後〜10分後の間の時刻で等確率で決定されるというものなどが考えられる。
ステップS604で決定した時刻に、再度リソース取得部C11を用いて、リクエストルーティングテーブルC18内の各エントリ毎に登録されている転送先サーバに対するリソースを取得する(ステップS605)。ステップS605で再度各転送先サーバに対するリソースを取得すると、再度ステップS602と同様の動作を行ない、各サーバ間におけるリソース値の違いが予め設定された閾値を超えるかどうかを判別する(ステップS606)。
ステップS606で、サーバ間におけるリソース値の違いが予め設定された閾値を超えない場合はリクエストルーティングテーブルC18において設定されているウェイト値を変更せずに終了するが、反対に超える場合は、ウェイト設定部C19によってステップS605で再度取得したリソース値に応じてウェイト値を再設定する(ステップS607)。
本動作では、move_granularityを調節する代わりに、ウェイト値を再設定する時刻を確率的に分散させた時間だけ遅延させることにより、コンテンツサーバに対する急激なリクエスト数の変動を抑止する。また、遅延させた時刻において再度ウェイト値を再設定するかどうかを判定し、必要ない場合は再設定を行なわないことにより、ウェイト値の不要な変更動作が抑止され、発振防止の効果が得られる。
(第4の実施の形態の効果)
次に、本実施の形態の効果について説明する。
本実施の形態では、サーバ負荷分散装置における各エントリの転送先サーバに対するウェイト値を取得したリソース値に応じて変更する。このウェイト値の変更を、move_granularityを用いて緩やかに行なうことにより、あるコンテンツサーバに対する急激なリクエスト数の変動を抑止することができる。また、move_granularityを調節する代わりに、ウェイト値を再設定する時刻を確率的に分散させた時間だけ遅延させることにより、同じ効果を得ることもできる。第3の実施の形態では、コンテンツサーバ側で急激なリクエスト数変動の抑止を実現していたが、本実施の形態では、コンテンツサーバ側に対しては変更を必要とせず、サーバ負荷分散装置側で同等の機能を実現する。
(第5の実施の形態)
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。
(第5の実施の形態の構成)
図20を参照すると、本発明の第5の実施の形態は、コンテンツサーバA4と、サーバ負荷分散装置C3と、クライアントD2と、ドメインネームサーバE1とによって実現される。
コンテンツサーバA4は、コンテンツ記憶部A11と、リクエスト受信/コンテンツ応答部A12とを含む。それぞれの機能、動作については第2の実施の形態で述べた通りである。
サーバ負荷分散装置C3は、パケット受信部C25と、パケット転送部C20と、パケットルーティングテーブルC21と、転送先サーバ決定部C22と、FQDN(Fully Qualified Domain Name:完全修飾ドメイン名)解決部C23と、アドレス解決部C24とを含む。
パケット受信部C25は、クライアントD2からのパケットを受信し、該パケットの宛先ポート番号を調べる。調べた宛先ポート番号が予め設定された値に含まれる場合は、パケットルーティングテーブルC21に登録されているエントリを参照し、該パケットの宛先IPアドレスから、該パケットを転送すべきコンテンツサーバA4のIPアドレスを調べる。
パケット転送部C20は、パケット受信部C25が受信したパケットの宛先IPアドレスを、転送すべきコンテンツサーバA4のIPアドレスに書き換え、該コンテンツサーバA4に対して送信する。
また、IPアドレスを書き換えずに、レイヤ2レベルでのヘッダ書き換えのみを行ない、該パケットの転送を行なうこともできる。レイヤ2プロトコルとして、イーサネット(登録商標)が用いられる場合を考えると、転送すべきコンテンツサーバA4のIPアドレスから、ARPを用いて該コンテンツサーバA4のMACアドレスを解決し、該パケットの宛先IPアドレスは書き換えずに、解決したMACアドレスを宛先MACアドレスとしてパケットを転送する。以下では簡単のために、IPアドレスを書き換えてパケットを転送する場合だけについて説明を行なう。
パケットルーティングテーブルC21には、パケット受信部C25が受信したパケットの宛先IPアドレス/宛先ポート番号に対して、該パケットを転送すべきコンテンツサーバのIPアドレスが登録されている。
図21は、パケットルーティングテーブルC21の一例を示すテーブル107である。このテーブル107によると、例えば宛先IPアドレスが「10.1.1.1」、宛先ポート番号が「7070」番のパケットに対しては、宛先IPアドレスが「20.2.2.2」のコンテンツサーバか、「30.3.3.3」のコンテンツサーバに転送される。
このとき、パケット毎に2つのコンテンツサーバのいずれかを交互に選ぶのではなく、同一のコネクションを同一のコンテンツサーバに接続させるために、同一のソースIPアドレス/ソースポート番号の組み合わせでハッシュ関数に掛けて、生成したハッシュ値を基にコンテンツサーバを選ぶという方法などが用いられる。また、受信パケットのTCPヘッダのSYNフラグ受信を契機に、該パケットと同じIPアドレス/ポート番号をもつパケットに対しては同じサーバへ転送させるように記憶しておくという方法もある。
転送先サーバ決定部C22は、ある宛先IPアドレス/宛先ポート番号をもつパケットに対して、転送先サーバ(コンテンツサーバA4)を決定する。ここで転送先サーバの決定には、第2の実施の形態の転送先サーバ決定部C13で述べたのと同様の方法が適用できる。決定した転送先サーバを、パケットルーティングテーブルC21のエントリとして書き込む。
FQDN解決部C23は、転送先サーバ決定部C22が、ある宛先IPアドレス/宛先ポート番号をもつパケットの転送先となるコンテンツサーバA4を決定する動作の際に、該宛先IPアドレスに対するFQDNをドメインネームサーバE1に対して問い合わせる。
アドレス解決部C24は、転送先サーバ決定部C22が、ある宛先IPアドレスをもつパケットの転送先となるサーバを決定する動作の際に、FQDN解決部C23によって該宛先IPアドレスに対するFQDNを解決した後、解決したFQDNと該パケットの宛先ポート番号を用いて新規にFQDNを作成し、新規に作成したFQDNに対するIPアドレスを解決する。ここで新規に作成するFQDNは、パケットの宛先IPアドレスと宛先ポート番号毎にユニークでなければならない。例えば、解決したFQDNが「aaa.com」であり、該パケットの宛先ポート番号が「7070」であるとき、「port7070.aaa.com」というFQDNに対するIPアドレスを解決する。ここでは、複数のIPアドレスを解決することが可能であり、FQDN解決部C23とアドレス解決部C24を用いることで、該パケットの転送先となる候補サーバのIPアドレスの一覧を取得することができる。
クライアントD2は、リクエスト送信部D11と、アドレス解決部D12とを含む。
リクエスト送信部D11は、コンテンツを取得するリクエストをIPパケットとして送信する。このとき、取得しようとするコンテンツの識別子であるURLから、アドレス解決部D12を用いて該URLのFQDNに対応するIPアドレスを解決し、解決したIPアドレスを送信するIPパケットの宛先IPアドレスとする。また、URLで指定されたポート番号を宛先ポート番号とする。例えば、URLが「http://aaa.com/pict.jpg:7070」のコンテンツを取得するリクエストを送信する場合、「aaa.com」に対するIPアドレスが「10.1.1.1」であるとすると、宛先IPアドレスが「10.1.1.1」、宛先ポート番号が「7070」のパケットを送信する。
アドレス解決部D12は、取得しようとするコンテンツのURLのFQDN部分をキーにして、ドメインネームサーバE1に対してIPアドレスを問い合わせる。ドメインネームサーバE1からの応答には複数のIPアドレスが含まれていてもよい。この場合は、任意の1つのエントリを該FQDNに対応するIPアドレスとして用いる。
ドメインネームサーバE1は、アドレス/FQDN解決テーブルE11と、アドレス応答部E12と、FQDN応答部E13とを含む。
アドレス/FQDN解決テーブルE11は、アドレス応答部E12及びFQDN応答部E13が受けたアドレス解決要求及びFQDN解決要求に対して応答する際に参照するテーブルであり、「FQDN→IPアドレス」の変換テーブルであるアドレス解決用テーブル108と、「IPアドレス→FQDN」の変換テーブルであるFQDN解決用テーブル109の2つからなる。
図22は、アドレス/FQDN解決テーブルE11の例を示すものである。アドレス/FQDN解決テーブルE11は、アドレス解決用テーブル108と、FQDN解決用テーブル109の2つのテーブルから構成される。アドレス/FQDN解決テーブルE11の特徴として、アドレス解決用テーブル108にはあるFQDNに対して解決されるIPアドレスが複数存在してもよいが、FQDN解決用テーブル109にはあるIPアドレスに対して解決されるFQDNは1つでなければならない。
このとき、FQDNをコンテンツグループの識別子として用いれば、サーバ負荷分散装置C3は、クライアントD2から受信したパケットの宛先IPアドレスと宛先ポート番号からFQDNを解決することによって、リクエストしているコンテンツグループを識別することが可能になる。更に、該FQDNからIPアドレスを解決することにより、該FQDNに対する候補サーバ一覧を取得することができる。すなわち、IPヘッダ及びトランスポート層(UDP/TCP)ヘッダの解析のみでリクエストしているコンテンツグループを識別でき、更に上位層の情報を解析する必要がないという効果がある。
アドレス応答部E12は、他ノードから受信したアドレス解決要求に対して、要求メッセージ内に含まれるFQDNをキーとしてアドレス/FQDN解決テーブルを参照し、解決されたIPアドレスを応答する。
FQDN応答部E13は、他ノードから受信したFQDN解決要求に対して、要求メッセージ内に含まれるIPアドレスをキーとしてアドレス/FQDN解決テーブルを参照し、解決されたFQDNを応答する。
(第5の実施の形態の動作)
次に、図23を参照して、本実施の形態において、クライアントD2があるコンテンツを取得するリクエストを送信する際の動作について詳細に説明する。
リクエスト送信部D11は、取得しようとするコンテンツのURLから、FQDN部分を抽出する(図23のステップS701)。例えば、URLが、「http://aaa.com/pict.jpg:7070」であるとすると、「aaa.com」がFQDN部分に対応する。
次に、アドレス解決部D12を介して、抽出したFQDNに対応するIPアドレスを解決する(ステップS702)。このとき、アドレス解決部D12は、ドメインネームサーバE1に対して該FQDNをキーにしてアドレス解決要求を行なう。
最後に、リクエスト送信部D11は、解決したIPアドレスを宛先IPアドレスとして、該コンテンツに対するリクエストパケットを送信する(ステップS703)。
次に、図24を参照して、本実施の形態において、サーバ負荷分散装置C3がクライアントD2からパケットを受信したときの動作について詳細に説明する。
パケット受信部C25は、受信したパケットの宛先ポート番号を解析し、解析した宛先ポート番号が予め設定された値に一致するかどうかをチェックする(図24のステップS801)。
ステップS801の結果、予め設定された値に一致しない場合、パケット受信部C25は、受信パケットを通常のパケットとして処理する(ステップS803)。すなわち、サーバ負荷分散装置としての動作は行なわない。
ステップS801の結果、予め設定された値に一致する場合、パケット受信部C25は、受信パケットの宛先IPアドレス/宛先ポート番号に対応するエントリがパケットルーティングテーブルC21内に存在するかどうかをチェックする(ステップS802)。
ステップS802の結果、エントリが存在する場合、パケット受信部C25は、該エントリにおける転送先サーバIPアドレスをパケットルーティングテーブルC21に対して問い合わせる(ステップS804)。
このとき、パケットルーティングテーブルC21は、受信パケットの宛先IPアドレス/ポート番号に対する転送先サーバのIPアドレスを応答するが、このとき複数の転送先サーバIPアドレスが登録されている場合は、先に説明したように、ハッシュ関数を用いる方法等により、同一のコネクションを同一のコンテンツサーバに接続させるように転送先サーバのIPアドレスを応答する。
パケット受信部C25は、パケットルーティングテーブルC21から転送先サーバIPアドレスを応答されると、受信パケットの宛先アドレスを該転送先サーバIPアドレスに書き換えて該受信パケットを送信する(ステップS805)。
ステップS802の結果、エントリが存在しない場合は、パケット受信部C25は、該受信パケットの宛先IPアドレスを変更せず、そのままオリジナルの宛先IPアドレスへ転送する(ステップS806)。更に該宛先IPアドレス/宛先ポート番号をもつパケットに対する最適な転送先サーバを決定し、パケットルーティングテーブルC21にエントリを書き込む動作を行なう(ステップS807)。ステップS806の後、ステップS807によって転送先サーバが書き込まれるまでは、該宛先IPアドレス/宛先ポート番号をもつパケットを受信しても、そのままオリジナルの宛先IPアドレスへ転送する。
ステップS807に対応する動作を詳細に説明するためのフローチャートが図25である。
転送先サーバ決定部C22は、FQDN解決部C23を介して、受信パケットの宛先IPアドレスに対するFQDNを解決する(図25のステップS901)。このとき、FQDN解決部C23は、ドメインネームサーバE1に対して該IPアドレスをキーにしてFQDN解決要求を送信し、応答を受信する。
ステップS901でFQDNを解決すると、転送先サーバ決定部C22は、アドレス解決部C24を介して、ステップS901で解決したFQDNと該パケットの宛先ポート番号を用いて新規にFQDNを作成し、新規に作成したFQDNに対するIPアドレスを解決する(ステップS902)。ここで新規に作成するFQDNは、パケットの宛先IPアドレスと宛先ポート番号の組み合わせに対して一意でなければならない。例えば、解決したFQDNが「aaa.com」であり、該パケットの宛先ポート番号が「7070」であるとき、「port7070.aaa.com」というFQDNに対するIPアドレスを解決する。
ステップS902では、ステップS901で解決したFQDNと該パケットの宛先ポート番号を用いて新規にFQDNを作成し、この新規に作成したFQDNをキーとして、ドメインネームサーバに対してIPアドレスを解決したが、この他にも、ステップS901で解決したFQDNをそのままキーとして用いる方法もある。この場合、ステップS901で解決したFQDN自体がリクエストしているコンテンツグループに対してユニークになっていなければならない。従って、サーバ負荷分散装置C3が受信したパケットの宛先IPアドレスには、コンテンツグループ毎にユニークである値がつけられている必要がある。またこの場合は、パケットルーティングテーブルC21においては、転送先サーバのIPアドレスは宛先IPアドレスだけに対して登録されているだけでよく、宛先IPアドレス/宛先ポート番号の組み合わせに対して登録されている必要はない。
次に、転送先サーバ決定部C22は、ステップS902で解決したIPアドレスに対応するサーバの中から、転送先サーバを決定する(ステップS903)。ここで転送先サーバを決定する詳細な動作については、第2の実施の形態と同様であるため、省略する。
転送先サーバを決定すると、転送先サーバ決定部C22は、決定したサーバのIPアドレスをパケットルーティングエントリに対して書き込む(ステップS904)。
(第5の実施の形態の効果)
次に、本実施の形態の効果について説明する。
本実施の形態では、サーバ負荷分散装置は、パケットの宛先IPアドレス/宛先ポート番号からドメインネームサーバを用いてリクエストしているコンテンツの属するコンテンツグループを識別し、該コンテンツグループに対する最適なコンテンツサーバへパケットを転送する。従来のサーバ負荷分散装置は、クライアントからのパケットの中身を解析し、どのコンテンツに対するリクエストであるかを識別する機能をもつ必要があった。すなわち、サーバ負荷分散装置としてレイヤ7スイッチを用いる必要があった。本実施の形態におけるサーバ負荷分散装置は、パケットの宛先IPアドレス及び宛先ポート番号のみを調べるだけでどのコンテンツに対するリクエストであるかを識別することができる。従って、レイヤ4スイッチを用いて実現可能である。一般的に、レイヤ7スイッチの方が1秒あたりのコネクション数などの処理性能が低く、コストも高い。本実施の形態を適用してレイヤ4スイッチで同等の機能を実現できれば、処理性能向上、コスト削減などの観点から効果があるといえる。
なお、この第5の実施の形態と前述した第1の実施の形態のコンテンツ管理装置を組み合わせて適用することができるのは言うまでもない。その場合、図2に示した分類ポリシテーブルにおいて集約URLの代わりにポート番号が設定される。また、図3の集約後のディレクトリパスは、「/cgi/high−load/z.exe:7070」といったポート番号を付加したパスに置換えられる。
以下、本発明の実施例について図を参照して説明する。
(第1の実施例)
まず、本発明の第1の実施例を、図面を参照して説明する。かかる実施例は本発明の第2の実施の形態に対応するものである。
図7を参照すると、本実施例は、コンテンツサーバA2とサーバ負荷分散装置C1と、クライアントD1とによって構成される網によって行われる。
サーバ負荷分散装置C1内の転送先決定ポリシ設定部C12には、図8の転送先サーバ決定ポリシテーブル103に示すポリシが設定されている。また、初期状態としてリクエストルーティングテーブルC14に登録されているエントリはないとする。
クライアントD1は、URLが「http://www.aaa.com/file/small/pict.gif」によって識別されるコンテンツを取得するリクエストをサーバ側へ送信する。
サーバ負荷分散装置C1は、該リクエストを受信し、リクエストしているURLを解析する。そして、リクエストルーティングテーブルC14を参照し、該URLに対するエントリは存在しないために、該リクエストをデフォルトのコンテンツサーバへ転送する。URLのFQDN部分である「www.aaa.com」からドメインネームサーバで解決したIPアドレスをデフォルトのコンテンツサーバとする。
該リクエスト転送後、サーバ負荷分散装置C1は、リクエストルーティングテーブルC14に該URLの属するコンテンツグループに対する転送先サーバのエントリを作成しようとする。
まず、転送先サーバ決定部C13は、コンテンツサーバA2を管理するコンテンツ管理装置に問い合わせることによって、該URLに対するコンテンツグループと候補サーバリストを取得する。
問い合わせを受けたコンテンツ管理装置は、該URLに対するコンテンツグループは、ファイルの特性をもち、「http://www.aaa.com/file/small/*」のURLプレフィクスで識別され、候補サーバリストは、「10.1.1.1」、「10.2.2.2」、「10.3.3.3」の3つであるという情報を応答する。
該URLに対する候補サーバリストを取得する他の方法として、該URLから、「small.file.www.aaa.com」というFQDNを作成し、該FQDNをキーにして対応するIPアドレスのリストをドメインネームサーバに問い合わせるという例もある。この例の場合、ドメインネームサーバは該FQDNに対するIPアドレスは「10.1.1.1」、「10.2.2.2」、「10.3.3.3」の3つであると応答する。
次に、転送先サーバ決定部C13は、転送先サーバ決定ポリシ設定部C12を参照して該コンテンツグループに対する転送先サーバ決定ポリシを調べ、ファイルの特性をもつコンテンツグループに対してはコンテンツ取得時の転送スループットが用いられ、この値が最大となるサーバを基準として、60%までの値をもつサーバが転送先サーバとして選択される、というポリシを取得する。
転送先サーバ決定部C13は、取得したポリシに従って各候補サーバからの転送スループットを測定するために、リクエストルーティングテーブルC14に「http://www.aaa.com/file/small/*」のURLプレフィクスをもつリクエストに対する転送先サーバとして、「10.1.1.1」、「10.2.2.2」、「10.3.3.3」の3つIPアドレスを登録する。登録後、クライアントからの該URLプレフィクスに該当する各リクエストは、3つのサーバに対してラウンドロビンで転送される。
3つのサーバに対してラウンドロビンで転送されたリクエストに対するコンテンツサーバ側からの応答コンテンツは、コンテンツ受信/転送部C17で受信される。リソース取得部C11は、コンテンツ受信/転送部C17を介してこの応答コンテンツの転送スループットを取得し、取得した情報を転送先サーバ決定部C13へ渡す。ここでは、「10.1.1.1」、「10.2.2.2」、「10.3.3.3」に対応するサーバの転送スループットがそれぞれ、1Mbps、7Mbps、10Mbpsであったとする。この値が最大となるサーバを基準として、60%までの値をもつサーバが転送先として選択されるというポリシであったので、転送先サーバ決定部C13は、「10.2.2.2」、「10.3.3.3」に対応する2つのサーバを転送先として決定する。更にリクエストルーティングテーブルC14の「http://www.aaa.com/file/small/*」のURLプレフィクスをもつリクエストに対する転送先サーバを、「10.2.2.2」、「10.3.3.3」の2つに書き換える。この後、該URLプレフィクスに該当するリクエストは、この2つのサーバに対してラウンドロビンで転送される。
(第2の実施例)
次に、本発明の第2の実施例を、図面を参照して説明する。かかる実施例は本発明の第3の実施の形態に対応するものである。
図26を参照すると、本実施例は、コンテンツサーバ201とサーバ負荷分散装置301〜306とによって行われる。コンテンツサーバ201は第3の実施の形態におけるコンテンツサーバA3と同じ構成をもち、同様にサーバ負荷分散装置301〜306はサーバ負荷分散装置C1と同じ構成をもつ。
コンテンツサーバ201内には、図14のリソース応答ポリシテーブル105に示されるリソース応答ポリシが設定されている。ここで、コンテンツサーバ201において現在のCPU負荷が25%であったとする。
ここで、サーバ負荷分散装置301〜306において転送先サーバを決定するために、各サーバ負荷分散装置からほぼ同時に、コンテンツサーバ201に対してCPU負荷のリソース取得要求を行なうとする。
最初のサーバ負荷分散装置301〜304からのリソース取得要求に対しては、現在のCPU負荷が0%〜30%の範囲内にあるので、70%の確率で実際のCPU負荷を応答し、30%の確率で実際のCPU負荷の2倍の値を応答する。ここでは、サーバ負荷分散装置301〜304に対しては実際のCPU負荷である25%を応答し、サーバ負荷分散装置305、306に対しては実際のCPU負荷の2倍の値である50%を応答するとする。
もしコンテンツサーバ201が実際のCPU負荷である25%をサーバ負荷分散装置301〜306に対して応答した場合、全てのサーバ負荷分散装置がコンテンツサーバ201のCPU負荷が十分低いと判断し、コンテンツサーバ201を転送先サーバとして決定するために、リクエストの急激な増加による負荷増大が発生する可能性がある。本実施例では、サーバ負荷分散装置305、306はコンテンツサーバ201のCPU負荷は十分低くないと判断し、コンテンツサーバ201以外のコンテンツサーバを転送先サーバとして決定したとする。そのため、コンテンツサーバ201における急激な負荷増大が抑制される。
(第3の実施例)
次に、本発明の第3の実施例を、図面を参照して説明する。かかる実施例は本発明の第4の実施の形態に対応するものである。
図27を参照すると、本実施例は、コンテンツサーバ202、203とサーバ負荷分散装置307とによって行われる。コンテンツサーバ202、203は第4の実施の形態におけるコンテンツサーバA2と同じ構成をもち、同様にサーバ負荷分散装置307はサーバ負荷分散装置C2と同じ構成をもつ。
まず、サーバ負荷分散装置307内のリクエストルーティングテーブルにおいては、図28のテーブル110に示すように、「ftp://ftp.ccc.edu/pub/*」に対する転送先サーバIPアドレスとして、「10.5.1.1」(コンテンツサーバ202に対応)、「10.6.1.1」(コンテンツサーバ203に対応)の2つがあり、それぞれに対するウェイト値が90%、10%であったとする。
このウェイト値は、転送スループットが最大となるサーバと最小となるサーバとの差が2倍以内になるまで、各サーバからの転送スループット比に応じて再設定されるものとする。ここで、コンテンツサーバ202、203に対する転送スループットがそれぞれ1Mbps、9Mbpsであったとする。このとき、「move_granularity=1.0」であったとすると、それぞれのサーバに対するウェイト値はそれぞれ、90%→10%、10%→90%と再設定される。ウェイト再設定後、それぞれのサーバに対するリクエスト転送の比率が変わり、次回に転送スループットを測定した際にはそれぞれのスループットが9Mbps、1Mbpsであったとする。すると、ウェイトが再度設定され、10%→90%、90%→10%と最初の値に戻る。このように、ウェイト変更動作が再帰的に繰り返され、発振してしまう場合はmove_granularityが大きすぎることを示している。
そこで、上記の例で、「move_granularity=0.5」であった場合を考える。コンテンツサーバ202、203に対する転送スループットがそれぞれ1Mbps、9Mbpsであったとすると、それぞれのサーバに対するウェイト値の変動量を「move_granularity=1.0」の場合の0.5倍して、90%→50%、10%→50%と再設定する。ウェイト再設定後、それぞれのサーバに対するリクエスト転送の比率が変わり、次回に転送スループットを測定した際にはそれぞれのスループットが7Mbps、3Mbpsであったとする。そして同様にそれぞれのウェイト値を50%→60%、50%→40%に再設定する。ウェイト再設定後、それぞれのサーバに対する転送スループットが、6Mbps、4Mbpsになり、転送スループットが最大となるサーバと最小となるサーバとの差が2倍以内になったので、ウェイト変更動作を終了する。このように、ウェイト変更動作が発振しないようにmove_granularityを適当な値に調整することが重要である。
(第4の実施例)
次に、本発明の第4の実施例を、図面を参照して説明する。かかる実施例は本発明の第5の実施の形態に対応するものである。
図20を参照すると、本実施例は、コンテンツサーバA4とサーバ負荷分散装置C3と、クライアントD2と、ドメインネームサーバE1とによって構成される網によって行われる。
ドメインネームサーバE1内には、図22に示すアドレス解決用テーブル108と、FQDN解決用テーブル109が登録されている。
サーバ負荷分散装置C3内のパケットルーティングテーブルC21に登録されているエントリは初期状態で空であるとする。
クライアントD2は、URLが「http://aaa.com/pict.jpg:7070」によって識別されるコンテンツを取得するリクエストをサーバ側へ送信しようとする。このとき、URLのFQDN部分である「aaa.com」をキーにしてドメインネームサーバE1に対してアドレス解決要求を出す。ドメインネームサーバE1は、対応するIPアドレスである「10.1.1.1」を応答する。そしてクライアントD2は解決した「10.1.1.1」を宛先IPアドレスとし、URLで指定された「7070」を宛先ポート番号としたパケットの形で該リクエストを送信する。
サーバ負荷分散装置C3は、クライアントD2からパケットを受信し、予め指定された宛先ポート番号をもつパケットに対して、パケットルーティングテーブルC21を参照して転送先サーバIPアドレスへと転送する。この場合、「7070」は予め設定された宛先ポート番号であり、パケットルーティングテーブルC21を調べるが、登録されているエントリはないため、オリジナルの宛先IPアドレスのまま、該パケットを転送する。
該パケット転送後、サーバ負荷分散装置C2は、パケットルーティングテーブルC21に該パケットに対応するコンテンツグループに対する転送先サーバのエントリを作成しようとする。転送先サーバのエントリが作成されるまでは、該パケットと同じ宛先IPアドレス/宛先ポート番号をもつパケットを受信しても、オリジナルの宛先IPアドレスへ転送する。
このパケットルーティングテーブルC21にパケットに対応するコンテンツグループに対する転送先サーバのエントリを作成する場合の例を、図29を参照して説明する。クライアントD2からは、上記のように「10.1.1.1」を宛先IPアドレスとし、URLで指定された「7070」を宛先ポート番号としたパケットの形でリクエストが送信されている。
まず、サーバ負荷分散装置C2の転送先サーバ決定部C22は、FQDN解決部C23を介して、ドメインネームサーバE1に該パケットの宛先IPアドレスである「10.1.1.1」をキーとしてFQDN解決要求を出す。
問い合わせを受けたドメインネームサーバE1のFQDN応答部E13は、「10.1.1.1」に対するFQDNである「aaa.com」を応答する。
次に、転送先サーバ決定部C22は、アドレス解決部C24を介して、ドメインネームサーバE1に応答されたFQDNである「aaa.com」に宛先ポート番号「7070」の情報を付与した、「port7070.aaa.com」というFQDNをキーとしてアドレス解決要求を出す。ここで新規に作成するFQDNは、該パケットの宛先IPアドレスと宛先ポート番号に対してユニークであればよく、この例の他にも、「7070.port.aaa.com」などとしてもよい。ただし、作成するFQDNに対応するエントリがドメインネームサーバE1にも登録されていることが条件である。
問い合わせを受けたドメインネームサーバE1のアドレス応答部E12は、「port7070.aaa.com」に対するアドレスである「10.1.1.1」、「20.2.2.2」、「30.3.3.3」を応答する。
従って、転送先サーバ決定部C22は、宛先IPアドレス/宛先ポート番号が「10.1.1.1/7070」のパケットに対する候補サーバの宛先IPアドレスが「10.1.1.1」、「20.2.2.2」、「30.3.3.3」の2つであるとわかる。
次に、転送先サーバ決定部C22は、候補サーバの中からパケットルーティングテーブルに登録する転送先サーバを決定する。ここでは、転送先サーバの決定ポリシとして、CPU負荷の低い順に2つのサーバを選択するというポリシが設定されているものとし、各サーバに問い合わせた結果、「10.1.1.1」に対応するサーバのCPU負荷が80%、「20.2.2.2」に対応するサーバのCPU負荷が30%、「30.3.3.3」に対応するサーバのCPU負荷が50%であったとする。
その結果、転送先サーバ決定部C22は、宛先IPアドレス/宛先ポート番号が「10.1.1.1/7070」であるパケットに対して、「20.2.2.2」に対応するサーバと「30.3.3.3」に対応するサーバを転送先として決定し、パケットルーティングテーブルC21に登録する(図21のパケットルーティングテーブル107参照)。
パケットルーティングテーブルC21へのエントリ登録後、宛先IPアドレス/宛先ポート番号が「10.1.1.1/7070」であるパケットは、「20.2.2.2」又は「30.3.3.3」のIPアドレスをもつサーバへリダイレクトされる。
なお、上記各実施の形態のサーバ負荷分散システムは、サーバ負荷分散装置C1〜C3における転送先サーバ決定ポリシ設定部C12、転送先サーバ決定部C13、C22、FQDN解決部C23、アドレス解決部C24の機能や、コンテンツ管理装置B1における、コンテンツ分類部B12やコンテンツ集約部B13の機能や、コンテンツサーバA1〜A4における、リソース応答部A13、A15やリソース応答ポリシ設定部A14の機能や、その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンテンツ配信管理プログラムA39、コンテンツ管理プログラムB19、サーバ負荷分散プログラムC29、C49、C59を、コンピュータ処理装置のメモリにロードされることで実現することができる。このコンテンツ配信管理プログラムA39、コンテンツ管理プログラムB19、サーバ負荷分散プログラムC29、C49、C59は、磁気ディスク、半導体メモリその他の記録媒体に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
以上説明したように本発明によれば、以下のような効果が達成される。
第1の効果は、コンテンツサーバ内のコンテンツを、同じ特性をもつコンテンツ毎に分類/集約する作業を手動で行なう必要がない。
その理由は、コンテンツ管理装置において同じコンテンツグループとして分類/集約するためのポリシを設定しておくことにより、コンテンツサーバ内のコンテンツの静的/動的な特性に応じて自動的に集約することができるからである。
第2の効果は、サーバ負荷分散装置において、コンテンツの特性に応じた最適なリクエストルーティングを最小のエントリ数で実現することができる。
その理由は、コンテンツ管理装置がコンテンツサーバ内のコンテンツをその静的/動的特性に応じて自動的に分類/集約するからである。
第3の効果は、サーバ負荷分散装置を経由させるだけで、クライアントからのリクエストを、リクエストしているコンテンツの特性に応じた最適なサーバに転送することができる。
その理由は、サーバ負荷分散装置において、各コンテンツグループ毎にその特性に応じた選択基準により転送先サーバを決定し、決定した転送先サーバをリクエストルーティングテーブルに登録しておくと共に、クライアントから受信したリクエストがどのコンテンツグループに属するコンテンツに対するものであるかを識別することにより、対応するコンテンツグループに対する転送先サーバへ該リクエストを転送することができるからである。
第4の効果は、コンテンツサーバに対するクライアントからのリクエストの急激な集中を抑制すると共に、サーバ負荷分散装置のリクエストルーティングテーブルにおいて転送先サーバの決定が収束せずに発振することを抑止することができる。
その第1の理由は、コンテンツサーバにおいて、網内に配置されている複数のサーバ負荷分散装置からのリソース情報取得要求に対し、必ずしも実際のリソース情報をそのまま応答するのではなく、設定したリソース応答ポリシに応じてリソース値を補正して応答することにより、多数のサーバ負荷分散装置が同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。
その第2の理由は、サーバ負荷分散装置において、各エントリの転送先サーバに対するウェイト値を、取得したリソース値に応じて変更し、このウェイト値の変更を、move_granularityを用いて緩やかに行なうことにより、多数のサーバ負荷分散装置が同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。
その第3の理由は、サーバ負荷分散装置において、各エントリの転送先サーバに対するウェイト値を、取得したリソース値に応じて直ちに再設定するする代わりに、ウェイト値を再設定する時刻を確率的に分散させた時間だけ遅延させ、遅延させた時刻に必要ならばウェイト値を再設定することにより、多数のサーバ負荷分散装置が同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。
第5の効果は、サーバ負荷分散装置としてレイヤ7スイッチを用いずに、レイヤ4スイッチによって、クライアントからのリクエストを最適なコンテンツサーバへ誘導することができ、サーバ負荷分散装置としての処理性能向上、コスト削減を図ることができる。
その理由は、サーバ負荷分散装置において、クライアントから受信したパケットの宛先IPアドレス/宛先ポート番号からドメインネームサーバを用いてリクエストしているコンテンツの属するコンテンツグループを識別し、該コンテンツグループに対する最適なコンテンツサーバへパケットを転送することにより、クライアントからのパケットの中身(URLなど)を解析する必要がないからである。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態の分類ポリシ設定部において設定される分類ポリシの例を示す図である。 本発明の第1の実施の形態のコンテンツ集約部が行なうURL書き換え処理の例を示す図である。 本発明の第1の実施の形態のコンテンツ管理装置の動作を示す流れ図である。 本発明の第1の実施の形態のコンテンツ管理装置をコンテンツサーバの一部の機能として実現した場合の例を示す図である。 本発明の第1の実施の形態のコンテンツ管理装置に複数台のコンテンツサーバが接続される例を示す図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態の転送先サーバ決定ポリシ設定部において設定される転送先サーバ決定ポリシの例を示す図である。 本発明の第2の実施の形態のリクエストルーティングテーブルにおいて登録されるエントリの例を示す図である。 本発明の第2の実施の形態のサーバ負荷分散装置がクライアントからリクエストを受信したときの動作を示す流れ図である。 本発明の第2の実施の形態のサーバ負荷分散装置の転送先サーバ決定部が転送先サーバを決定する動作を示す流れ図である。 本発明の第2の実施の形態のサーバ負荷分散装置においてリクエストルーティングテーブルに登録されているエントリを管理するときの動作を示す流れ図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態のリソース応答ポリシ設定部において設定されているリソース応答ポリシの例を示す図である。 本発明の第3の実施の形態においてコンテンツサーバがサーバ負荷分散装置からリソース取得要求を受信したときの動作を示す流れ図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態のリクエストルーティングテーブルにおいて登録されるエントリの例を示す図である。 本発明の第4の実施の形態のサーバ負荷分散装置の動作を示す流れ図である。 本発明の第4の実施の形態のサーバ負荷分散装置の動作を示すもう1つの流れ図である。 本発明の第5の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態のパケットルーティングテーブルにおいて登録されるエントリの例を示す図である。 本発明の第5の実施の形態のアドレス/FQDN解決テーブルにおいて登録されるエントリの例を示す図である。 本発明の第5の実施の形態においてクライアントがコンテンツを取得するリクエストを送信する際の動作を示す流れ図である。 本発明の第5の実施の形態においてサーバ負荷分散装置がクライアントからパケットを受信したときの動作を示す流れ図である。 本発明の第5の実施の形態においてパケットルーティングテーブルにエントリを作成する動作を示す流れ図である。 本発明の第2の実施例における網構成図である。 本発明の第3の実施例における網構成図である。 第3の実施例におけるリクエストルーティングテーブルの例を示す図である。 第4の実施例におけるリクエストルーティングテーブルに転送先サーバのエントリを作成する場合の例を示す図である。
符号の説明
A1〜A4、201〜203 コンテンツサーバ
A11 コンテンツ記憶部
A12 リクエスト受信/コンテンツ応答部
A13、A15 リソース応答部
A14 リソース応答ポリシ設定部
A16 動的パラメータ格納部
B1 コンテンツ管理装置
B11 分類ポリシ設定部
B12 コンテンツ分類部
B13 コンテンツ集約部
C1〜C3、301〜307 サーバ負荷分散装置
C11 リソース取得部
C12 転送先サーバ決定ポリシ設定部
C13 転送先サーバ決定部
C14、C18、104、106、110 リクエストルーティングテーブル
C15 リクエスト受信部
C16 リクエスト転送部
C17 コンテンツ受信/転送部
C19 ウェイト設定部
C20 パケット転送部
C21、107 パケットルーティングテーブル
C22 転送先サーバ決定部
C23 FQDN解決部
C24 アドレス解決部
C25 パケット受信部
D1、D2 クライアント
D11 リクエスト送信部
D12 アドレス解決部
E1 ドメインネームサーバ
E11 アドレス/FQDN解決テーブル
108 アドレス解決用テーブル
109 FQDN解決用テーブル
E12 アドレス応答部
E13 FQDN応答部
1 バックボーン網
101 分類ポリシテーブル
103 転送先サーバ決定ポリシテーブル
105 リソース応答ポリシテーブル
A39 コンテンツ配信管理プログラム
B19 コンテンツ管理プログラム
C29、C49、C59 サーバ負荷分散プログラム

Claims (7)

  1. クライアントへコンテンツを配信するコンテンツサーバを、複数のコンテンツサーバの中から選択するサーバ負荷分散装置において、
    前記クライアントから受信したコンテンツの配信を要求するメッセージもしくはパケットに含まれる情報に基づいて、前記クライアントにコンテンツを配信する前記コンテンツサーバを決定し、決定した前記コンテンツサーバに対して受信した前記コンテンツの配信を要求するメッセージもしくはパケットを転送する手段を備え、
    受信した前記メッセージもしくはパケットに含まれる情報を用いて、前記情報を一意に示すFQDNを新規に作成し、前記新規に作成したFQDNをキーにしてドメインネームサーバに問い合わせることによって前記受信したメッセージもしくはパケットを転送すべき宛先である前記クライアントにコンテンツを配信する前記コンテンツサーバの候補を取得し、前記候補の中から前記クライアントにコンテンツを配信する前記コンテンツサーバを決定することを特徴とするサーバ負荷分散装置。
  2. 前記作成されるFQDNは、
    前記クライアントから受信したコンテンツの配信を要求するメッセージに含まれるコンテンツのURL又は前記URLの一部分を用いて作成されることを特徴とする請求項1に記載のサーバ負荷分散装置。
  3. 前記作成されるFQDNは、
    前記クライアントから受信したコンテンツの配信を要求するパケットの宛先IPアドレス及び宛先ポート番号を用いて、前記宛先IPアドレスと前記宛先ポート番号を一意に示すように作成されること、を特徴とする請求項1に記載のサーバ負荷分散装置。
  4. 前記作成されるFQDNは、
    前記クライアントから受信したコンテンツの配信を要求するパケットの宛先IPアドレスをキーにしてドメインネームサーバに問い合わせることにより解決された第2のFQDNと、前記パケットの宛先ポート番号の情報を用いて、前記宛先IPアドレスと前記宛先ポート番号を一意に示すように作成されることを特徴とする請求項1に記載のサーバ負荷分散装置。
  5. 前記作成されるFQDNは、
    前記クライアントから受信したコンテンツの配信を要求するパケットの宛先IPアドレスをキーにしてドメインネームサーバに問い合わせて解決した応答が用いられることを特徴とする請求項1に記載のサーバ負荷分散装置。
  6. 前記クライアントから受信したコンテンツの配信を要求するパケットの宛先IPアドレスを、当該クライアントに対して要求された前記コンテンツを配信する前記コンテンツサーバのIPアドレスに書き換えて当該コンテンツサーバに転送するパケット転送手段を備えることを特徴とする請求項1から請求項5のいずれか1つに記載のサーバ負荷分散装置。
  7. 前記クライアントに要求された前記コンテンツを配信する前記コンテンツサーバのIPアドレスに対応するMACアドレスを解決し、前記クライアントから受信したコンテンツの配信を要求するパケットの宛先MACを、前記解決したMACアドレスに書き換えた上で、前記パケットを前記コンテンツサーバに転送することを特徴とする請求項1から請求項5のいずれか1つに記載のサーバ負荷分散装置。
JP2006349633A 2006-12-26 2006-12-26 サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム Expired - Fee Related JP4529974B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006349633A JP4529974B2 (ja) 2006-12-26 2006-12-26 サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006349633A JP4529974B2 (ja) 2006-12-26 2006-12-26 サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002059326A Division JP2003256310A (ja) 2002-03-05 2002-03-05 サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム

Publications (2)

Publication Number Publication Date
JP2007133896A true JP2007133896A (ja) 2007-05-31
JP4529974B2 JP4529974B2 (ja) 2010-08-25

Family

ID=38155444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006349633A Expired - Fee Related JP4529974B2 (ja) 2006-12-26 2006-12-26 サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム

Country Status (1)

Country Link
JP (1) JP4529974B2 (ja)

Cited By (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075827A (ja) * 2007-09-20 2009-04-09 Panasonic Corp プログラム実行装置
JP2010128556A (ja) * 2008-11-25 2010-06-10 Nomura Research Institute Ltd コンテンツ配信装置
JP2010152731A (ja) * 2008-12-25 2010-07-08 Rakuten Inc 提示情報登録装置、提示情報登録方法、提示情報送信制御処理プログラム及び提示情報送信システム
JP2011087189A (ja) * 2009-10-16 2011-04-28 Nippon Telegr & Teleph Corp <Ntt> 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム
JP2011527043A (ja) * 2008-06-30 2011-10-20 アマゾン テクノロジーズ インコーポレーテッド ネットワークコンピューティングコンポーネントを使用するルーティングリクエスト
JP2012015667A (ja) * 2010-06-30 2012-01-19 Alaxala Networks Corp パケット中継装置
JP2013012028A (ja) * 2011-06-29 2013-01-17 Kddi Corp リクエスト受付サーバおよびリクエスト受付プログラム
JP2013520743A (ja) * 2010-04-16 2013-06-06 ビズモードライン カンパニー リミテッド 拡張現実サービスのためのマーカ検索システム
WO2013102962A1 (ja) * 2012-01-04 2013-07-11 日本電気株式会社 キャッシュ装置、キャッシュ置換方法、及び非一時的なコンピュータ可読媒体
US8510448B2 (en) 2008-11-17 2013-08-13 Amazon Technologies, Inc. Service provider registration by a content broker
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8639817B2 (en) 2008-03-31 2014-01-28 Amazon Technologies, Inc. Content management
US8676918B2 (en) 2010-09-28 2014-03-18 Amazon Technologies, Inc. Point of presence management in request routing
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8713156B2 (en) 2008-03-31 2014-04-29 Amazon Technologies, Inc. Request routing based on class
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8788671B2 (en) 2008-11-17 2014-07-22 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
JP2015041839A (ja) * 2013-08-21 2015-03-02 日本電信電話株式会社 負荷分散システムおよびその方法
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9003040B2 (en) 2010-11-22 2015-04-07 Amazon Technologies, Inc. Request routing processing
US9009286B2 (en) 2008-03-31 2015-04-14 Amazon Technologies, Inc. Locality based content distribution
US9021127B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Updating routing information based on client location
US9021129B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Request routing utilizing client location information
US9026616B2 (en) 2008-03-31 2015-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9130756B2 (en) 2009-09-04 2015-09-08 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9210235B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Client side cache management
US9237114B2 (en) 2009-03-27 2016-01-12 Amazon Technologies, Inc. Managing resources in resource cache components
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9251112B2 (en) 2008-11-17 2016-02-02 Amazon Technologies, Inc. Managing content delivery network service providers
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
JP2016157367A (ja) * 2015-02-26 2016-09-01 日本電信電話株式会社 分散処理システム
US9451046B2 (en) 2008-11-17 2016-09-20 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US9479476B2 (en) 2008-03-31 2016-10-25 Amazon Technologies, Inc. Processing of DNS queries
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9515949B2 (en) 2008-11-17 2016-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10601767B2 (en) 2009-03-27 2020-03-24 Amazon Technologies, Inc. DNS query processing based on application information
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093552A (ja) * 1996-09-11 1998-04-10 Nippon Telegr & Teleph Corp <Ntt> 共通識別子を持つ複数ホストとの通信接続方法
JP2000155736A (ja) * 1998-11-24 2000-06-06 Nec Corp サービス要求の振り分け方法及びアドレス変換装置
JP2000293496A (ja) * 1999-04-08 2000-10-20 Nec Corp ネットワークにおけるサービス負荷分散装置
JP2001117897A (ja) * 1999-10-14 2001-04-27 Fujitsu Ltd 負荷分散システム
WO2001033364A1 (fr) * 1999-10-29 2001-05-10 Fujitsu Limited Dispositif pour rechercher le nom d'un noeud de communication dans un reseau de communication
JP2001256162A (ja) * 2000-03-14 2001-09-21 Nec Corp 情報処理端末およびコンテンツ取得システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093552A (ja) * 1996-09-11 1998-04-10 Nippon Telegr & Teleph Corp <Ntt> 共通識別子を持つ複数ホストとの通信接続方法
JP2000155736A (ja) * 1998-11-24 2000-06-06 Nec Corp サービス要求の振り分け方法及びアドレス変換装置
JP2000293496A (ja) * 1999-04-08 2000-10-20 Nec Corp ネットワークにおけるサービス負荷分散装置
JP2001117897A (ja) * 1999-10-14 2001-04-27 Fujitsu Ltd 負荷分散システム
WO2001033364A1 (fr) * 1999-10-29 2001-05-10 Fujitsu Limited Dispositif pour rechercher le nom d'un noeud de communication dans un reseau de communication
JP2001256162A (ja) * 2000-03-14 2001-09-21 Nec Corp 情報処理端末およびコンテンツ取得システム

Cited By (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10027582B2 (en) 2007-06-29 2018-07-17 Amazon Technologies, Inc. Updating routing information based on client location
US9021129B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Request routing utilizing client location information
US9021127B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Updating routing information based on client location
US9992303B2 (en) 2007-06-29 2018-06-05 Amazon Technologies, Inc. Request routing utilizing client location information
JP2009075827A (ja) * 2007-09-20 2009-04-09 Panasonic Corp プログラム実行装置
US8713156B2 (en) 2008-03-31 2014-04-29 Amazon Technologies, Inc. Request routing based on class
US9954934B2 (en) 2008-03-31 2018-04-24 Amazon Technologies, Inc. Content delivery reconciliation
US10771552B2 (en) 2008-03-31 2020-09-08 Amazon Technologies, Inc. Content management
US10645149B2 (en) 2008-03-31 2020-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US10554748B2 (en) 2008-03-31 2020-02-04 Amazon Technologies, Inc. Content management
US10530874B2 (en) 2008-03-31 2020-01-07 Amazon Technologies, Inc. Locality based content distribution
US10511567B2 (en) 2008-03-31 2019-12-17 Amazon Technologies, Inc. Network resource identification
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US10305797B2 (en) 2008-03-31 2019-05-28 Amazon Technologies, Inc. Request routing based on class
US8639817B2 (en) 2008-03-31 2014-01-28 Amazon Technologies, Inc. Content management
US10158729B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Locality based content distribution
US10157135B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Cache optimization
US11194719B2 (en) 2008-03-31 2021-12-07 Amazon Technologies, Inc. Cache optimization
US9208097B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Cache optimization
US9210235B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Client side cache management
US9332078B2 (en) 2008-03-31 2016-05-03 Amazon Technologies, Inc. Locality based content distribution
US11245770B2 (en) 2008-03-31 2022-02-08 Amazon Technologies, Inc. Locality based content distribution
US8756325B2 (en) 2008-03-31 2014-06-17 Amazon Technologies, Inc. Content management
US10797995B2 (en) 2008-03-31 2020-10-06 Amazon Technologies, Inc. Request routing based on class
US9407699B2 (en) 2008-03-31 2016-08-02 Amazon Technologies, Inc. Content management
US9894168B2 (en) 2008-03-31 2018-02-13 Amazon Technologies, Inc. Locality based content distribution
US9888089B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Client side cache management
US8930544B2 (en) 2008-03-31 2015-01-06 Amazon Technologies, Inc. Network resource identification
US9887915B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Request routing based on class
US9621660B2 (en) 2008-03-31 2017-04-11 Amazon Technologies, Inc. Locality based content distribution
US9026616B2 (en) 2008-03-31 2015-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US9571389B2 (en) 2008-03-31 2017-02-14 Amazon Technologies, Inc. Request routing based on class
US9544394B2 (en) 2008-03-31 2017-01-10 Amazon Technologies, Inc. Network resource identification
US9479476B2 (en) 2008-03-31 2016-10-25 Amazon Technologies, Inc. Processing of DNS queries
US9009286B2 (en) 2008-03-31 2015-04-14 Amazon Technologies, Inc. Locality based content distribution
US11451472B2 (en) 2008-03-31 2022-09-20 Amazon Technologies, Inc. Request routing based on class
US11909639B2 (en) 2008-03-31 2024-02-20 Amazon Technologies, Inc. Request routing based on class
US9021128B2 (en) 2008-06-30 2015-04-28 Amazon Technologies, Inc. Request routing using network computing components
US9608957B2 (en) 2008-06-30 2017-03-28 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
JP2011527043A (ja) * 2008-06-30 2011-10-20 アマゾン テクノロジーズ インコーポレーテッド ネットワークコンピューティングコンポーネントを使用するルーティングリクエスト
KR101379864B1 (ko) * 2008-06-30 2014-04-01 아마존 테크놀로지스, 인크. 네트워크 연산 요소들을 이용한 요청 라우팅
US9985927B2 (en) 2008-11-17 2018-05-29 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US9251112B2 (en) 2008-11-17 2016-02-02 Amazon Technologies, Inc. Managing content delivery network service providers
US10742550B2 (en) 2008-11-17 2020-08-11 Amazon Technologies, Inc. Updating routing information based on client location
US9787599B2 (en) 2008-11-17 2017-10-10 Amazon Technologies, Inc. Managing content delivery network service providers
US8788671B2 (en) 2008-11-17 2014-07-22 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US9444759B2 (en) 2008-11-17 2016-09-13 Amazon Technologies, Inc. Service provider registration by a content broker
US9734472B2 (en) 2008-11-17 2017-08-15 Amazon Technologies, Inc. Request routing utilizing cost information
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8510448B2 (en) 2008-11-17 2013-08-13 Amazon Technologies, Inc. Service provider registration by a content broker
US9590946B2 (en) 2008-11-17 2017-03-07 Amazon Technologies, Inc. Managing content delivery network service providers
US9451046B2 (en) 2008-11-17 2016-09-20 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US11811657B2 (en) 2008-11-17 2023-11-07 Amazon Technologies, Inc. Updating routing information based on client location
US10116584B2 (en) 2008-11-17 2018-10-30 Amazon Technologies, Inc. Managing content delivery network service providers
US11115500B2 (en) 2008-11-17 2021-09-07 Amazon Technologies, Inc. Request routing utilizing client location information
US9515949B2 (en) 2008-11-17 2016-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US10523783B2 (en) 2008-11-17 2019-12-31 Amazon Technologies, Inc. Request routing utilizing client location information
US11283715B2 (en) 2008-11-17 2022-03-22 Amazon Technologies, Inc. Updating routing information based on client location
JP2010128556A (ja) * 2008-11-25 2010-06-10 Nomura Research Institute Ltd コンテンツ配信装置
JP2010152731A (ja) * 2008-12-25 2010-07-08 Rakuten Inc 提示情報登録装置、提示情報登録方法、提示情報送信制御処理プログラム及び提示情報送信システム
US9237114B2 (en) 2009-03-27 2016-01-12 Amazon Technologies, Inc. Managing resources in resource cache components
US8996664B2 (en) 2009-03-27 2015-03-31 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10230819B2 (en) 2009-03-27 2019-03-12 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10491534B2 (en) 2009-03-27 2019-11-26 Amazon Technologies, Inc. Managing resources and entries in tracking information in resource cache components
US9083675B2 (en) 2009-03-27 2015-07-14 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10601767B2 (en) 2009-03-27 2020-03-24 Amazon Technologies, Inc. DNS query processing based on application information
US10264062B2 (en) 2009-03-27 2019-04-16 Amazon Technologies, Inc. Request routing using a popularity identifier to identify a cache component
US10574787B2 (en) 2009-03-27 2020-02-25 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US9191458B2 (en) 2009-03-27 2015-11-17 Amazon Technologies, Inc. Request routing using a popularity identifier at a DNS nameserver
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US10783077B2 (en) 2009-06-16 2020-09-22 Amazon Technologies, Inc. Managing resources using resource expiration data
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US10521348B2 (en) 2009-06-16 2019-12-31 Amazon Technologies, Inc. Managing resources using resource expiration data
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US9176894B2 (en) 2009-06-16 2015-11-03 Amazon Technologies, Inc. Managing resources using resource expiration data
US9130756B2 (en) 2009-09-04 2015-09-08 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9712325B2 (en) 2009-09-04 2017-07-18 Amazon Technologies, Inc. Managing secure content in a content delivery network
US10135620B2 (en) 2009-09-04 2018-11-20 Amazon Technologis, Inc. Managing secure content in a content delivery network
US10785037B2 (en) 2009-09-04 2020-09-22 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US10218584B2 (en) 2009-10-02 2019-02-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9893957B2 (en) 2009-10-02 2018-02-13 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
JP2011087189A (ja) * 2009-10-16 2011-04-28 Nippon Telegr & Teleph Corp <Ntt> 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム
US10506029B2 (en) 2010-01-28 2019-12-10 Amazon Technologies, Inc. Content distribution network
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US11205037B2 (en) 2010-01-28 2021-12-21 Amazon Technologies, Inc. Content distribution network
JP2013520743A (ja) * 2010-04-16 2013-06-06 ビズモードライン カンパニー リミテッド 拡張現実サービスのためのマーカ検索システム
US8682879B2 (en) 2010-04-16 2014-03-25 Bizmodeline Co., Ltd. Marker search system for augmented reality service
JP2012015667A (ja) * 2010-06-30 2012-01-19 Alaxala Networks Corp パケット中継装置
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9794216B2 (en) 2010-09-28 2017-10-17 Amazon Technologies, Inc. Request routing in a networked environment
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US9191338B2 (en) 2010-09-28 2015-11-17 Amazon Technologies, Inc. Request routing in a networked environment
US9106701B2 (en) 2010-09-28 2015-08-11 Amazon Technologies, Inc. Request routing management based on network components
US9253065B2 (en) 2010-09-28 2016-02-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US9160703B2 (en) 2010-09-28 2015-10-13 Amazon Technologies, Inc. Request routing management based on network components
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US10931738B2 (en) 2010-09-28 2021-02-23 Amazon Technologies, Inc. Point of presence management in request routing
US10015237B2 (en) 2010-09-28 2018-07-03 Amazon Technologies, Inc. Point of presence management in request routing
US9185012B2 (en) 2010-09-28 2015-11-10 Amazon Technologies, Inc. Latency measurement in resource requests
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US11108729B2 (en) 2010-09-28 2021-08-31 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US11336712B2 (en) 2010-09-28 2022-05-17 Amazon Technologies, Inc. Point of presence management in request routing
US10079742B1 (en) 2010-09-28 2018-09-18 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US10778554B2 (en) 2010-09-28 2020-09-15 Amazon Technologies, Inc. Latency measurement in resource requests
US10225322B2 (en) 2010-09-28 2019-03-05 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9800539B2 (en) 2010-09-28 2017-10-24 Amazon Technologies, Inc. Request routing management based on network components
US8676918B2 (en) 2010-09-28 2014-03-18 Amazon Technologies, Inc. Point of presence management in request routing
US9497259B1 (en) 2010-09-28 2016-11-15 Amazon Technologies, Inc. Point of presence management in request routing
US10951725B2 (en) 2010-11-22 2021-03-16 Amazon Technologies, Inc. Request routing processing
US10200492B2 (en) 2010-11-22 2019-02-05 Amazon Technologies, Inc. Request routing processing
US9003040B2 (en) 2010-11-22 2015-04-07 Amazon Technologies, Inc. Request routing processing
US9930131B2 (en) 2010-11-22 2018-03-27 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality
JP2013012028A (ja) * 2011-06-29 2013-01-17 Kddi Corp リクエスト受付サーバおよびリクエスト受付プログラム
WO2013102962A1 (ja) * 2012-01-04 2013-07-11 日本電気株式会社 キャッシュ装置、キャッシュ置換方法、及び非一時的なコンピュータ可読媒体
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US11303717B2 (en) 2012-06-11 2022-04-12 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US10225362B2 (en) 2012-06-11 2019-03-05 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US11729294B2 (en) 2012-06-11 2023-08-15 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US10542079B2 (en) 2012-09-20 2020-01-21 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US10015241B2 (en) 2012-09-20 2018-07-03 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10645056B2 (en) 2012-12-19 2020-05-05 Amazon Technologies, Inc. Source-dependent address resolution
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9929959B2 (en) 2013-06-04 2018-03-27 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10374955B2 (en) 2013-06-04 2019-08-06 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
JP2015041839A (ja) * 2013-08-21 2015-03-02 日本電信電話株式会社 負荷分散システムおよびその方法
US10728133B2 (en) 2014-12-18 2020-07-28 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11863417B2 (en) 2014-12-18 2024-01-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11381487B2 (en) 2014-12-18 2022-07-05 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
JP2016157367A (ja) * 2015-02-26 2016-09-01 日本電信電話株式会社 分散処理システム
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US11297140B2 (en) 2015-03-23 2022-04-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US10469355B2 (en) 2015-03-30 2019-11-05 Amazon Technologies, Inc. Traffic surge management for points of presence
US10180993B2 (en) 2015-05-13 2019-01-15 Amazon Technologies, Inc. Routing based request correlation
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10691752B2 (en) 2015-05-13 2020-06-23 Amazon Technologies, Inc. Routing based request correlation
US11461402B2 (en) 2015-05-13 2022-10-04 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US10200402B2 (en) 2015-09-24 2019-02-05 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US11134134B2 (en) 2015-11-10 2021-09-28 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US11463550B2 (en) 2016-06-06 2022-10-04 Amazon Technologies, Inc. Request management for hierarchical cache
US10666756B2 (en) 2016-06-06 2020-05-26 Amazon Technologies, Inc. Request management for hierarchical cache
US11457088B2 (en) 2016-06-29 2022-09-27 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10516590B2 (en) 2016-08-23 2019-12-24 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10469442B2 (en) 2016-08-24 2019-11-05 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US11330008B2 (en) 2016-10-05 2022-05-10 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US11762703B2 (en) 2016-12-27 2023-09-19 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11362986B2 (en) 2018-11-16 2022-06-14 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system

Also Published As

Publication number Publication date
JP4529974B2 (ja) 2010-08-25

Similar Documents

Publication Publication Date Title
JP4529974B2 (ja) サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
JP2003256310A (ja) サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
US11336614B2 (en) Content node network address selection for content delivery
US11483231B2 (en) Context-aware path computation and selection
WO2021142867A1 (zh) 一种dns服务器选择方法和代理服务器
US8583776B2 (en) Managing content delivery network service providers
US9231871B2 (en) Flow distribution table for packet flow load balancing
JP4951717B2 (ja) バックアップリソースを選択する方法、システム
US7315896B2 (en) Server network controller including packet forwarding and method therefor
US20150372911A1 (en) Communication path management method
US20110153736A1 (en) Request routing using network computing components
KR20030019900A (ko) 분산 처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보 전송 병렬화 방법 및 그 시스템
KR20090097034A (ko) 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
JP4041038B2 (ja) 高位レイヤ処理方法及びシステム
JP2006260592A (ja) コンテンツ管理装置及びコンテンツ管理プログラム
JP6606032B2 (ja) 輻輳通知装置、および、輻輳通知方法
Gupta et al. 2-Tiered cloud based content delivery network architecture: An efficient load balancing approach for video streaming
JP5205783B2 (ja) コンテンツ配信システム
JP2006260591A (ja) コンテンツサーバ及びコンテンツ配信管理プログラム
KR20040076660A (ko) 분산 처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보 전송 병렬화 방법 및 그 시스템
JP2003150570A (ja) サーバへの接続の振り分け方法および振り分け装置、ならびにそのプログラムと記録媒体
Chanda Content delivery in software defined networks
JP2019012914A (ja) 中継装置及び帯域制御方法
Bhinder DpsrcN AND EvaluaTroN op RBQuEST DrsrRreurroN

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100518

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: 20100531

R150 Certificate of patent or registration of utility model

Ref document number: 4529974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees