[go: up one dir, main page]

JP2006260591A - Content server, and content distribution management program - Google Patents

Content server, and content distribution management program Download PDF

Info

Publication number
JP2006260591A
JP2006260591A JP2006119939A JP2006119939A JP2006260591A JP 2006260591 A JP2006260591 A JP 2006260591A JP 2006119939 A JP2006119939 A JP 2006119939A JP 2006119939 A JP2006119939 A JP 2006119939A JP 2006260591 A JP2006260591 A JP 2006260591A
Authority
JP
Japan
Prior art keywords
server
content
request
resource
address
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.)
Pending
Application number
JP2006119939A
Other languages
Japanese (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 JP2006119939A priority Critical patent/JP2006260591A/en
Publication of JP2006260591A publication Critical patent/JP2006260591A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a content management device for properly processing distribution of a load for distribution of a content, by selecting a contents server for distributing the content requested by a client, based on a selection criterion defined by characteristic of the requested content. <P>SOLUTION: A server load distribution system for distribution-processing a distribution, of the content, to the client D1 by the plurality of content servers A2 is provided with a transferred-server determination policy setting means C12 for setting the selection criteria for determining the content server A2 for distributing the content in every characteristic of the each content, and a transferred-server determination means C13 for determining the content server A2 for distributing the content requested from the client D1, based on the selection criteria corresponding to the characteristic of the requested content. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、サーバ負荷の分散に関し、特にWWW(World Wide
Web)コンテンツや動画コンテンツなどの配信用コンテンツを取得するためのクライアントからのリクエストに対して、適切なサーバを選択し、該リクエストを選択したサーバに対して送信するコンテンツ管理装置及びコンテンツ管理プログラムに関する。
The present invention relates to server load distribution, and more particularly to WWW (World Wide
Web) A content management apparatus and a content management program for selecting an appropriate server in response to a request from a client for acquiring content for distribution such as content and video content, and transmitting the request to the selected server .

近年、インターネットを介したWWWコンテンツや動画コンテンツの配信において、同一コンテンツを複数のサーバに分散配置することにより、サーバの負荷分散及びクライアントの受けるレスポンス時間の短縮を実現する方法が種々提案されている。   In recent years, in the distribution of WWW content and moving image content via the Internet, various methods have been proposed for distributing the server load and shortening the response time received by the client by distributing the same content to a plurality of servers. .

このようにコンテンツが網内に分散配置されている環境下においては、コンテンツを取得するためのクライアントからのリクエストをどのサーバに送信すべきかを決定するためのサーバ負荷分散装置が必要になる。   In such an environment where contents are distributed and arranged in the network, a server load distribution apparatus for determining to which server a request from a client for acquiring contents should be transmitted is necessary.

従来技術として、特許文献1(特開2001−101134号公報)では、サービス毎にサーバの負荷をシミュレーションによって予測し、サーバが過負荷又は高負荷にならないようにクライアントのリクエストを振り分ける装置について記載されている。本公報に記載された装置では、転送先サーバ選択はサーバ負荷のみに着目して行われており、また、転送先サーバはサービス単位で選択される。   As a prior art, Patent Document 1 (Japanese Patent Laid-Open No. 2001-101134) describes a device that predicts a server load for each service by simulation and distributes client requests so that the server does not become overloaded or overloaded. ing. In the apparatus described in this publication, the transfer destination server is selected by paying attention only to the server load, and the transfer destination server is selected for each service.

また、特許文献2(特開平09−198346号公報)では、クライアントにおける転送先サーバの選択方式について記載されている。この公報に記載されたサーバ選択方式は、個々のクライアントからの多様なサーバ選択要求に対応するために、ディレクトリサーバへの問い合わせメッセージに選択ポリシを格納することを特徴とする。問い合わせを受けたディレクトリサーバは、メッセージに格納された選択ポリシに基づいて最適なサーバを選択し、クライアントに応答する。本方式はクライアントにおける選択方式であるため、クライアントが本方式を導入せねばならなかった。サーバ負荷分散装置において本方式のように多様な選択基準をサポートできれば、クライアントにおける方式を変更することなく透過的に同等のサービスが実現できる。
特開2001−101134号公報 特開平09−198346号公報
Japanese Patent Laid-Open No. 09-198346 discloses a method for selecting a transfer destination server in a client. The server selection method described in this publication is characterized in that a selection policy is stored in an inquiry message to the directory server in order to respond to various server selection requests from individual clients. Upon receiving the inquiry, the directory server selects an optimum server based on the selection policy stored in the message, and responds to the client. Since this method is a selection method in the client, the client has to introduce this method. If the server load balancer can support various selection criteria as in this method, the equivalent service can be realized transparently without changing the method in the client.
JP 2001-101134 A JP 09-198346 A

しかし上述した従来の技術では、以下に述べるような問題点があった。   However, the conventional techniques described above have the following problems.

第1に、コンテンツサーバ内において、必ずしもコンテンツの特性毎にコンテンツがグループ化されておらず、もしされるとしてもその静的な特性だけでなされているという問題点があった。   First, in the content server, there is a problem that the content is not necessarily grouped for each characteristic of the content, and if it is, only the static characteristic is used.

コンテンツサーバ内のコンテンツは、一般的には、コンテンツ管理者にとって管理しやすいように配置されており、コンテンツの特性という観点でグループ化されていない。例えば、ニュースに関する「/news/」ディレクトリの配下には、ニュースの記事、写真、映像など、ファイルサイズやメディア種類の点で異なる特性をもつコンテンツが混在した状態で一緒に配置されているのが普通である。また、それぞれのコンテンツに対するアクセス頻度といった動的な特性(パラメータ)も考慮されていない。このとき、クライアント側のサーバ負荷分散装置において、「/news/」ディレクトリに対して同一のコンテンツサーバを転送先として選択すると、コンテンツの特性によっては必ずしもコンテンツ取得遅延などの観点から最適ではない可能性がある。従って、転送先サーバ選択は、コンテンツのサイズやアクセス頻度等の観点で同様の特性をもつものを同一グループとしたコンテンツグループ単位でなされるべきである。   The content in the content server is generally arranged so that it can be easily managed by the content manager, and is not grouped in terms of content characteristics. For example, under the “/ news /” directory related to news, news articles, photos, videos, and other content with different characteristics in terms of file size and media type are arranged together. It is normal. Also, dynamic characteristics (parameters) such as access frequency for each content are not considered. At this time, if the same content server is selected as the transfer destination for the “/ news /” directory in the server load balancing device on the client side, it may not necessarily be optimal from the viewpoint of content acquisition delay depending on the characteristics of the content There is. Therefore, the transfer destination server should be selected in units of content groups in which those having similar characteristics in terms of content size, access frequency, and the like are made into the same group.

第2に、サーバ負荷分散装置において各コンテンツの特性に応じて転送先サーバの選択基準を変えることができないため、効果的な負荷分散を実現できないという問題点があった。   Second, since the server load balancer cannot change the selection criterion of the transfer destination server according to the characteristics of each content, there is a problem that effective load balancing cannot be realized.

従来技術では、転送先サーバの選択基準は固定的であり、コンテンツの特性に応じて選択基準を変えることができなかった。例えば、サイズの小さいコンテンツと大きいコンテンツの2種類を考えると、クライアントにおけるレスポンス時間は、サイズの小さいコンテンツの場合は転送経路における遅延が大きく影響するのに対し、反対に大きいコンテンツの場合は転送経路の利用可能帯域が大きく影響する。このような場合に、従来技術では、2つ又は2つ以上の異なる種類のコンテンツに対してそれぞれ異なる選択基準を用いるということができなかった。   In the prior art, the selection criterion for the transfer destination server is fixed, and the selection criterion cannot be changed according to the characteristics of the content. For example, considering two types of content, small content and large content, the response time at the client is greatly affected by the delay in the transfer path for small size content, whereas the transfer time for large content. The available bandwidth is greatly affected. In such a case, the prior art cannot use different selection criteria for two or more different types of content.

第3に、クライアント側に配置された各サーバ負荷分散装置が互いに独自に転送先サーバを選択すると、同一のサーバに負荷が集中し、かえって配信品質が劣化してしまう可能性があるという問題点があった。   Thirdly, if each server load distribution device arranged on the client side independently selects a transfer destination server, the load may be concentrated on the same server, which may result in degradation of the distribution quality. was there.

特に、ストリームや音声などの連続メディアコンテンツの配信の場合に同一のサーバにアクセスが集中すると、予期していた配信品質が得られず、再度転送先サーバ選択を行う必要がでてくる。更に、配信中のコネクションを同時に全て切り替えると、切り替え後の新規の配信サーバへのアクセス集中によって再度配信品質が劣化し、配信サーバの切り替えを繰り返すという、発振現象が発生する可能性がある。   In particular, if access is concentrated on the same server in the case of continuous media content distribution such as stream or audio, the expected distribution quality cannot be obtained, and it is necessary to select the transfer destination server again. Furthermore, if all the connections that are being distributed are switched at the same time, there is a possibility that an oscillation phenomenon may occur in which the distribution quality deteriorates again due to the concentration of access to the new distribution server after switching and the switching of the distribution server is repeated.

第4に、コンテンツ又はコンテンツグループ単位で転送先サーバを選択するようなサーバ負荷分散装置は、クライアントからのリクエストの中身をみて、転送先サーバを決定する必要があるため、レイヤ7スイッチを用いて実現する必要があるという問題点があった。   Fourth, a server load balancer that selects a transfer destination server in units of content or content groups needs to determine the transfer destination server by looking at the contents of the request from the client. There was a problem that it had to be realized.

レイヤ7スイッチを用いれば、クライアントからのリクエストをコンテンツ単位で設定された転送先サーバに振り分けることができるが、レイヤ3スイッチやレイヤ4スイッチなどの低レイヤでスイッチングを行う機器と比較すると、処理性能が低く、またコストも高い。従って、よりリクエストの中身をみる必要なく、低レイヤでスイッチングを行う機器を用いて同等の機能を実現できることが望ましい。   If a layer 7 switch is used, requests from clients can be distributed to transfer destination servers set in content units. However, the processing performance is lower than that of a device that performs switching in a low layer such as a layer 3 switch or a layer 4 switch. Is low and the cost is high. Therefore, it is desirable that an equivalent function can be realized by using a device that performs switching in a lower layer without having to look at the contents of the request more.

本発明の第1の目的は、上記従来技術の欠点を解決し、コンテンツサーバ内のコンテンツをその特性に応じて自動的にかつ静的/動的にグループ化することのできるコンテンツ管理装置及びコンテンツ管理プログラムを提供することである。   A first object of the present invention is to solve the above-mentioned drawbacks of the prior art, and to manage content and content in the content server automatically and statically / dynamically according to the characteristics thereof To provide a management program.

本発明の第2の目的は、上記従来技術の欠点を解決し、各コンテンツの特性に応じて転送先サーバの選択基準を変えることができるコンテンツ管理装置及びコンテンツ管理プログラムを提供することである。   A second object of the present invention is to provide a content management apparatus and a content management program that can solve the above-mentioned drawbacks of the prior art and can change the selection criteria of a transfer destination server according to the characteristics of each content.

本発明の第3の目的は、上記従来技術の欠点を解決し、連続メディアコンテンツの配信に際して、特定のサーバへ集中しないように適切に分散処理するコンテンツ管理装置及びコンテンツ管理プログラムを提供することである。   A third object of the present invention is to provide a content management apparatus and a content management program that solve the above-mentioned drawbacks of the prior art and appropriately perform distributed processing so as not to concentrate on a specific server when distributing continuous media content. is there.

本発明の第4の目的は、上記従来技術の欠点を解決し、レイヤ7スイッチ機能を必要とせずに、コンテンツグループ単位での転送先サーバ選択を実現するコンテンツ管理装置及びコンテンツ管理プログラムを提供することである。   A fourth object of the present invention is to provide a content management apparatus and a content management program that solve the above-mentioned drawbacks of the prior art and realize transfer destination server selection in units of content groups without requiring a layer 7 switch function. That is.

上記目的を達成するため本発明は、コンテンツを配信するコンテンツサーバにおいて、前記コンテンツの配信先を各サーバに関するリソース情報に基づいて選択するノードに対して、前記リソース情報として算出した実際のリソース値を補正した値を通知する手段を備えることを特徴とする。   In order to achieve the above object, according to the present invention, in a content server that distributes content, an actual resource value calculated as the resource information is selected for a node that selects a distribution destination of the content based on resource information about each server. A means for notifying the corrected value is provided.

請求項2の本発明は、コンピュータを制御することにより、コンテンツを配信するコンテンツサーバのコンテンツの配信を管理するコンテンツ配信管理プログラムにおいて、前記コンテンツの配信先を各サーバのリソースに基づいて選択するノードに対して、現時点で利用可能なリソース情報として算出した実際のリソース値を補正した値を通知する機能を備えることを特徴とする。   The present invention of claim 2 is a content distribution management program for managing content distribution of a content server that distributes content by controlling a computer, and a node that selects a content distribution destination based on resources of each server On the other hand, the present invention is characterized in that a function for notifying a value obtained by correcting an actual resource value calculated as resource information that can be used at present is provided.

以上説明したように本発明によれば、以下のような効果が達成される。   As described above, according to the present invention, the following effects are achieved.

本発明の効果は、コンテンツサーバに対するクライアントからのリクエストの急激な集中を抑制すると共に、サーバ負荷分散装置のリクエストルーティングテーブルにおいて転送先サーバの決定が収束せずに発振することを抑止することができる。   The effect of the present invention is to suppress the rapid concentration of requests from clients to the content server, and to prevent the determination of the transfer destination server from oscillating without converging in the request routing table of the server load balancer. .

その理由は、コンテンツサーバにおいて、コンテンツの配信先を各サーバのリソースに基づいて選択するノードに対し、必ずしも実際のリソース情報をそのまま応答するのではなく、現時点で利用可能なリソース情報として算出した実際のリソース値を補正した値を応答することにより、多数の上記ノードが同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。   The reason is that, in the content server, the actual resource information calculated as currently available resource information is not necessarily returned as it is to the node that selects the content distribution destination based on the resource of each server. This is because it is possible to prevent a large number of the above nodes from selecting the same content server as a transfer destination at the same time by responding with a value obtained by correcting the resource value.

次に、本発明の実施の形態について図面を参照して詳細に説明する。
(第1の実施の形態)
図1を参照すると、本発明の第1の実施の形態は、コンテンツサーバA1と、コンテンツ管理装置B1とによって実現される。また、コンテンツサーバA1上のコンテンツに対してアクセスするクライアントD1がバックボーン1を介して上記コンテンツ管理装置B1と接続されている。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
(First embodiment)
Referring to FIG. 1, the first embodiment of the present invention is realized by a content server A1 and a content management device B1. A client D1 accessing the content on the content server A1 is connected to the content management apparatus B1 via the backbone 1.

コンテンツサーバA1は、コンテンツ記憶部A11と、動的パラメータ格納部A16を含む。コンテンツ記憶部A11は、WWWコンテンツや動画コンテンツなどの配信用コンテンツ自身や、コンテンツに付随するプログラム、プログラム実行に必要なデータベース等を保持している。また、各コンテンツは、クライアント側からは識別子によって識別され、例えば、HTTP(Hyper
Text Transfer Protocol)ではURL(Universal Resource Locator)によってコンテンツが識別される。動的パラメータ格納部A16には、コンテンツ管理装置B1によって参照される各配信コンテンツ毎のアクセス頻度やCPU負荷等といった動的な特性としての動的パラメータ(リソース情報)が格納されている。この動的パラメータの内容は、コンテンツサーバA1によって逐次更新される。なお、以下でリソース値とは、アクセス頻度やCPU負荷等を具体的に示す数値である必要はなく、それらの度合いを示す情報であればよい。
The content server A1 includes a content storage unit A11 and a dynamic parameter storage unit A16. The content storage unit A11 holds distribution content itself such as WWW content and moving image content, a program associated with the content, a database necessary for program execution, and the like. Each content is identified by an identifier from the client side. For example, HTTP (Hyper
In the Text Transfer Protocol, content is identified by a URL (Universal Resource Locator). The dynamic parameter storage unit A16 stores dynamic parameters (resource information) as dynamic characteristics such as access frequency and CPU load for each distribution content referred to by the content management apparatus B1. The contents of this dynamic parameter are sequentially updated by the content server A1. In the following description, the resource value does not need to be a numerical value that specifically indicates the access frequency, the CPU load, or the like, and may be information indicating the degree thereof.

コンテンツ管理装置B1は、分類ポリシ設定部B11と、コンテンツ分類部B12と、コンテンツ集約部B13とを含む。分類ポリシ設定部B11は、コンテンツ記憶部A11内に含まれているコンテンツをその特性(コンテンツの種類やサイズ等の静的な特性及びアクセス頻度等の動的な特性)に応じてグループ化するための分類ポリシを設定する。   The content management apparatus B1 includes a classification policy setting unit B11, a content classification unit B12, and a content aggregation unit B13. The classification policy setting unit B11 groups the contents included in the content storage unit A11 according to their characteristics (static characteristics such as content type and size, and dynamic characteristics such as access frequency). Set the classification policy.

ここで、分類ポリシとは、ファイル、ストリーム、CGI(Common Gateway Interface)コンテンツといった、コンテンツをメディアの種類毎に大まかに分類するための情報が格納されている。更に、分類された各種類に対して、更に細かく分類するための情報が含まれていてもよい。例えばファイルに対しては、そのサイズに応じて、大・中・小の3つに分けるといったポリシや、ストリームに対しては、その転送レートに応じて高・中・低の3つに分けるといったポリシがある。あるいは、アクセス頻度の高・中・低といった動的な特性に基づくポリシでもよい。   Here, the classification policy stores information for roughly classifying content such as files, streams, and CGI (Common Gateway Interface) content for each type of media. Further, information for further classifying each classified type may be included. For example, a file is divided into three policies, large, medium, and small, according to its size, and a stream is divided into three, high, medium, and low, according to its transfer rate. There is a policy. Alternatively, it may be a policy based on dynamic characteristics such as high, medium, and low access frequency.

図2は、分類ポリシ設定部B11内に設定されている分類ポリシを示す分類ポリシテーブル101の一例である。例えば、ファイルに分類されるコンテンツは、そのサイズによって、大・中・小の3つのグループに分類され、更にサイズ大に分類されたグループは、そのアクセス頻度に応じて高・低の2つのグループに分類される。更に、設定されたポリシによって分類されたコンテンツグループが集約されるべきURLが示されている。   FIG. 2 is an example of the classification policy table 101 indicating the classification policy set in the classification policy setting unit B11. For example, contents classified into files are classified into three groups of large, medium, and small according to their sizes, and groups classified into large sizes are divided into two groups of high and low according to their access frequency. are categorized. Furthermore, URLs to which content groups classified by the set policy are to be aggregated are shown.

コンテンツ分類部B12は、分類ポリシ設定部B11によって設定された分類ポリシに基づいてコンテンツ記憶部A11内のコンテンツを分類する。この分類の際に、各コンテンツ自身から取得できる種類やサイズといった静的パラメータと、上記動的パラメータ格納部A16に格納されているアクセス頻度等の動的パラメータが参照される。例えば、まず、コンテンツをファイル、ストリーム、CGIなどのメディアの種類毎に分類する。次に、各メディアの種類毎に更に細かい分類ポリシが設定されている場合は、そのポリシに従って例えばファイルサイズやアクセス頻度等に応じた複数のコンテンツグループに分類する。   The content classification unit B12 classifies the content in the content storage unit A11 based on the classification policy set by the classification policy setting unit B11. At the time of classification, static parameters such as the type and size that can be acquired from each content itself, and dynamic parameters such as access frequency stored in the dynamic parameter storage unit A16 are referred to. For example, first, contents are classified for each type of media such as file, stream, and CGI. Next, when a finer classification policy is set for each type of media, the contents are classified into a plurality of content groups according to, for example, the file size and access frequency according to the policy.

コンテンツ集約部B13は、コンテンツ分類部B12によってコンテンツを自動分類した結果に基づいて、各コンテンツグループ毎にコンテンツを集約する。URLの場合を例に挙げると、URLは、コンテンツ記憶部A11内でコンテンツの配置されているディレクトリを用いて表現される。しかしながら、コンテンツ分類部B12によって作成されたコンテンツグループ内の各コンテンツは必ずしも同一のディレクトリの下に集約されているとは限らず、クライアントD1で各コンテンツがどのコンテンツグループに属するのかを識別するのは困難である。従って、同一コンテンツグループ内のコンテンツが同一のディレクトリ下に配置されるようにURLを書き換える処理を行う。   The content aggregating unit B13 aggregates the content for each content group based on the result of automatically classifying the content by the content classifying unit B12. Taking the case of a URL as an example, the URL is expressed using a directory in which content is arranged in the content storage unit A11. However, the contents in the content group created by the content classification unit B12 are not necessarily collected under the same directory, and the client D1 identifies which content group each content belongs to. Have difficulty. Therefore, the URL is rewritten so that the contents in the same content group are arranged under the same directory.

図2に示す分類ポリシテーブル101の一例では、分類されたコンテンツグループが集約されるべきURLが示されており、例えば、CGIであり、CPUに対する負荷が高いと分類されたコンテンツは、全て「/cgi/high-load/」のディレクトリ配下に変更される。   In the example of the classification policy table 101 shown in FIG. 2, URLs to which classified content groups are to be aggregated are shown. For example, all content classified as CGI and classified as having a high load on the CPU is “/ It is changed to the directory of “cgi / high-load /”.

図3は、URL書き換え処理を具体的に説明するための図である。例えば、オリジナルのディレクトリパスが「/pub/z.exe」であるコンテンツが、設定されたポリシによる分類後、「/cgi/high-load/」のディレクトリ配下に集約されるべきとされたとする。すると、「/cgi/high-load/z.exe」というディレクトリパスをもつコンテンツが、「/pub/z.exe」へのシンボリックリンクとして生成される。また、「/pub/z.exe」を参照しているwebページ内の参照リンクは、全て集約後のディレクトリパスに書き換えられる。   FIG. 3 is a diagram for specifically explaining the URL rewriting process. For example, it is assumed that the content whose original directory path is “/pub/z.exe” should be collected under the directory “/ cgi / high-load /” after being classified according to the set policy. Then, content having a directory path “/cgi/high-load/z.exe” is generated as a symbolic link to “/pub/z.exe”. Also, all the reference links in the web page referring to “/pub/z.exe” are rewritten to the directory path after aggregation.

次に、図4を参照して、本実施の形態において、コンテンツ管理装置B1におけるコンテンツの特性に応じた自動的なグループ化の動作について詳細に説明する。   Next, with reference to FIG. 4, the automatic grouping operation according to the content characteristics in the content management apparatus B1 in the present embodiment will be described in detail.

コンテンツ管理装置B1において、コンテンツ分類部B12は、分類ポリシ設定部B11内に設定されているコンテンツの分類ポリシを読み出し(図4のステップS101)、読み出した分類ポリシに従ってコンテンツ記憶部A11内の各コンテンツを複数メディア種類に分類する(ステップS102)。   In the content management apparatus B1, the content classification unit B12 reads the content classification policy set in the classification policy setting unit B11 (step S101 in FIG. 4), and each content in the content storage unit A11 according to the read classification policy. Are classified into a plurality of media types (step S102).

複数メディア種類へのコンテンツの分類が完了すると、コンテンツ分類部B12は、分類した各メディア種類毎に各コンテンツを複数のコンテンツグループに分類する(ステップS103)。このステップはコンテンツのサイズやアクセス頻度などの詳細な特性に応じた分類であり、動的パラメータ格納部A16に格納されているアクセス頻度等の動的パラメータが参照される。   When the content classification into the plurality of media types is completed, the content classification unit B12 classifies each content into a plurality of content groups for each classified media type (step S103). This step is classification according to detailed characteristics such as content size and access frequency, and refers to dynamic parameters such as access frequency stored in the dynamic parameter storage unit A16.

複数メディア種類への分類、及び各メディア種類毎のコンテンツグループへの分類が完了すると、コンテンツ集約部B13を用いてコンテンツグループ毎にコンテンツを集約する(ステップS104)。   When the classification into a plurality of media types and the classification into the content groups for each media type are completed, the contents are aggregated for each content group using the content aggregating unit B13 (step S104).

本実施の形態において、コンテンツ管理装置B1は、ここでは独立したノード内に実現されるものとして説明したが、その他にも、図5に示すようにコンテンツサーバA1の一部の機能としてコンテンツ管理装置B1を実現することもできる。また、第2の実施の形態で説明するサーバ負荷分散装置C1も含めた任意のノード上で実現することができると共に、ゲートウェイ装置の一機能として実現することもできる。   In the present embodiment, the content management apparatus B1 has been described here as being realized in an independent node. However, as shown in FIG. 5, the content management apparatus B1 is a partial function of the content server A1. B1 can also be realized. In addition, it can be realized on any node including the server load distribution device C1 described in the second embodiment, and can also be realized as one function of the gateway device.

さらに、上記説明では、一台のコンテンツサーバA1がコンテンツ管理装置B1に接続される場合を説明したが、図6に示すように、コンテンツ管理装置B1に複数台のコンテンツサーバA1が接続され、コンテンツ管理装置A1がコンテンツサーバA1毎にコンテンツを分類して管理するように構成することもできる。   Furthermore, in the above description, the case where one content server A1 is connected to the content management device B1 has been described. However, as shown in FIG. 6, a plurality of content servers A1 are connected to the content management device B1, and the content The management apparatus A1 may be configured to classify and manage content for each content server A1.

(第1の実施の形態の効果)
次に、本実施の形態の効果について説明する。本実施の形態では、コンテンツ管理装置B1は、コンテンツサーバ内のコンテンツをその特性に応じて自動的に分類する。この分類を動的な特性に応じて行うこともできるのも特徴である。
(Effects of the first embodiment)
Next, the effect of this embodiment will be described. In the present embodiment, the content management apparatus B1 automatically classifies content in the content server according to its characteristics. It is also a feature that this classification can be performed according to dynamic characteristics.

更に、分類の結果作成されたコンテンツグループを自動的に集約する。コンテンツサーバ内のコンテンツは、最初から特性毎に同一ディレクトリ下にグループ化されて配置されるわけではない。例えば、ニュースに関する「/news/」ディレクトリの配下には、ニュースの記事、写真、映像など、ファイルサイズやメディア種類の点で異なる特性をもつコンテンツが混在した状態で一緒に配置されているのが普通である。   Furthermore, content groups created as a result of classification are automatically aggregated. The contents in the content server are not grouped under the same directory for each characteristic from the beginning. For example, under the “/ news /” directory related to news, news articles, photos, videos, and other content with different characteristics in terms of file size and media type are arranged together. It is normal.

本実施の形態により、同一の特性をもつコンテンツ群を同一ディレクトリ下に再構成することができ、後述するクライアント側のサーバ負荷分散装置においてこのディレクトリ単位で最適サーバを選択すると、コンテンツの特性に応じた最適なリクエストルーティングを最小のエントリ数で実現することができる。   According to the present embodiment, a group of contents having the same characteristics can be reconfigured under the same directory. When an optimum server is selected in this directory unit in a client-side server load balancer, which will be described later, according to the characteristics of the contents The optimum request routing can be realized with the minimum number of entries.

(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図7を参照すると、本発明の第2の実施の形態は、コンテンツサーバA2と、サーバ負荷分散装置C1と、クライアントD1とによって実現される。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Referring to FIG. 7, the second embodiment of the present invention is realized by a content server A2, a server load distribution device C1, and a client D1.

コンテンツサーバA2は、配信する各種コンテンツを記憶するコンテンツ記憶部A11と、リクエスト受信/コンテンツ応答部A12と、リソース応答部A13とを含む。   The content server A2 includes a content storage unit A11 that stores various contents to be distributed, a request reception / content response unit A12, and a resource response unit A13.

リクエスト受信/コンテンツ応答部A12は、クライアントD1側から受信したリクエストを受信し、応答すべきコンテンツを識別する。そしてクライアントD1側に対して該コンテンツを送信する。   The request reception / content response unit A12 receives the request received from the client D1 side, and identifies the content to be responded to. Then, the content is transmitted to the client D1 side.

リソース応答部A13は、サーバ負荷分散装置C1からのリソース情報取得要求に応答し、その要求内容に応じて、サーバ負荷、コネクション数、リンク使用率などのリソースパラメータを応答する。サーバ負荷分散装置C1がコンテンツサーバA2に対してリソース情報取得要求を行わない場合は、このリソース応答部A13を省くことができる。   The resource response unit A13 responds to the resource information acquisition request from the server load balancer C1, and responds with resource parameters such as the server load, the number of connections, and the link usage rate according to the request content. When the server load distribution device C1 does not make a resource information acquisition request to the content server A2, the resource response unit A13 can be omitted.

サーバ負荷分散装置C1は、リソース取得部C11と、転送先サーバ決定ポリシ設定部C12と、転送先サーバ決定部C13と、リクエストルーティングテーブルC14と、リクエスト受信部C15と、リクエスト転送部C16と、コンテンツ受信/転送部C17とを含む。このサーバ負荷分散装置C1は、例えば複数のクライアントからの要求を集中的に管理するプロキシサーバの一部の機能として実現することが可能である。   The server load distribution device C1 includes a resource acquisition unit C11, a transfer destination server determination policy setting unit C12, a transfer destination server determination unit C13, a request routing table C14, a request reception unit C15, a request transfer unit C16, a content And a reception / transfer unit C17. This server load distribution device C1 can be realized as a partial function of a proxy server that centrally manages requests from a plurality of clients, for example.

リソース取得部C11は、コンテンツサーバに関するリソース情報、例えばリクエストルーティングテーブルC14に転送先サーバやその他候補サーバとして登録されていない場合に、転送先サーバとして登録するために必要となるリソース情報や、リクエストルーティングテーブルC14内に登録されている転送先サーバやその他の候補サーバに関するリソース情報を取得する。リソース情報の例として、WebサーバまでのRTT(ラウンドトリップタイム;
Round Trip Time)や、転送スループットといった網内リソースパラメータや、Webサーバの負荷、コネクション数といったサーバ自身に関するリソースパラメータなどがある。リソース情報取得には大きく分けて2つの方法がある。
The resource acquisition unit C11 includes resource information related to the content server, for example, resource information necessary for registration as a transfer destination server or request routing when the request routing table C14 is not registered as a transfer destination server or other candidate server. Resource information related to the transfer destination server and other candidate servers registered in the table C14 is acquired. As an example of resource information, RTT (round trip time;
Network resource parameters such as round trip time) and transfer throughput, and resource parameters related to the server itself such as the load on the web server and the number of connections. There are two main methods for acquiring resource information.

1つは、コンテンツサーバA2に対してCPU負荷、自ノードまでの残余帯域値などの情報を要求して取得する方法(アクティブ型)であり、もう1つは、コンテンツ受信/転送部C17から、受信したコンテンツの転送に要した遅延、得られた転送スループットを取得する方法(パッシブ型)である。パッシブ型の方法を用いて、サーバのCPU負荷やセッション数などを間接的に予測したりすることも可能である。   One is a method (active type) of requesting and acquiring information such as the CPU load and the remaining bandwidth value up to the own node from the content server A2, and the other is from the content reception / transfer unit C17, This is a method (passive type) for acquiring the delay required to transfer the received content and the obtained transfer throughput. It is also possible to indirectly estimate the server's CPU load, the number of sessions, etc. using a passive method.

さらに、取得したリソースパラメータから、他のリソースパラメータを予測したり、あるいは抽出するということも可能である。例えば、(1)サイズの小さいコンテンツに対して計測されたコンテンツ取得時間を、RTTとみなす、(2)プログラム実行負荷の大きなCGIコンテンツに対するコンテンツ取得時間を、サーバ負荷とみなす、といった方法が考えられる。   Furthermore, it is possible to predict or extract other resource parameters from the acquired resource parameters. For example, (1) a content acquisition time measured for a small-sized content is regarded as RTT, and (2) a content acquisition time for CGI content with a large program execution load is considered as a server load. .

転送先サーバ決定ポリシ設定部C12は、各コンテンツの特性に応じた転送先サーバを選択するためのポリシを示す転送先サーバ決定ポリシテーブル103を設定する。   The transfer destination server determination policy setting unit C12 sets the transfer destination server determination policy table 103 indicating a policy for selecting a transfer destination server according to the characteristics of each content.

図8は、転送先サーバ決定ポリシ設定部C12内に設定されるポリシを示す転送先サーバ決定ポリシテーブル103の一例である。この転送先サーバ決定ポリシテーブル103では、ファイルの特性をもつコンテンツグループに対してはコンテンツ取得時の転送スループットが用いられ、この値が最大となるサーバを基準として、60%までの値をもつサーバが転送先サーバとして選択される。また、CGIの特性をもつコンテンツグループに対しては、CPU負荷にサーバまでのRTTを掛けた値が用いられ、この値が小さい順に3つのサーバが選択される。   FIG. 8 is an example of the transfer destination server determination policy table 103 indicating the policy set in the transfer destination server determination policy setting unit C12. In the transfer destination server determination policy table 103, for content groups having file characteristics, the transfer throughput at the time of content acquisition is used, and a server having a value up to 60% on the basis of the server having the maximum value. Is selected as the destination server. For a content group having CGI characteristics, a value obtained by multiplying the CPU load by the RTT up to the server is used, and three servers are selected in ascending order.

転送先サーバ決定部C13は、リソース取得部C11によって取得したリソースパラメータの中から、転送先サーバ決定ポリシ設定部C12において設定されたリソースパラメータを用いて転送先サーバを決定する。   The transfer destination server determination unit C13 determines a transfer destination server from the resource parameters acquired by the resource acquisition unit C11 using the resource parameter set in the transfer destination server determination policy setting unit C12.

リクエストルーティングテーブルC14は、リクエスト受信部C15によって受信したリクエストをどのサーバに転送すべきかを示すテーブルである。テーブル内のエントリは、転送先サーバ決定部C13によって書き込まれる。   The request routing table C14 is a table indicating to which server the request received by the request receiving unit C15 should be transferred. The entry in the table is written by the transfer destination server determination unit C13.

図9は、リクエストルーティングテーブルC14の一例を示すテーブル104である。このテーブル104によると、リクエストするコンテンツのURLに対する転送先サーバのIPアドレスが書かれている。   FIG. 9 is a table 104 showing an example of the request routing table C14. According to this table 104, the IP address of the transfer destination server for the URL of the requested content is written.

例えば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アドレスをもつコンテンツサーバへ転送される。   For example, an entry whose URL is “http://www.aaa.net/cgi/high/*” includes all entries including “http://www.aaa.net/cgi/high/” at the top of the URL. It is a URL prefix expression that represents a URL. The request corresponding to this entry is transferred to the content server having the IP address “10.2.5.2”. An entry whose URL corresponds to “http://www.ccc.com/file/small/*.jpg” is an entry of content under “http://www.ccc.com/file/small/”. Among them, all files having jpg as the file extension are supported. The request corresponding to this entry is transferred to the content server having the IP address “10.4.2.1” or the content server having the IP address “10.2.5.2”.

このように複数の転送先サーバIPアドレスが指定されている場合は、リクエスト毎にラウンドロビンでいずれかのサーバが選択されるか、あるいはウェイテッドラウンドロビン(Weighted
Round Robin)や重みつきハッシュ関数などを用いて、各サーバ毎に指定されたウェイト、すなわち優先度の比に応じて選択することもできる。
When a plurality of transfer destination server IP addresses are specified in this way, one of the servers is selected in round robin for each request, or weighted round robin (Weighted
Round Robin) or a weighted hash function can be used for selection according to the weight specified for each server, that is, the priority ratio.

リクエスト受信部C15は、クライアントD1からのリクエストを受信し、その内容を解析する。該リクエストの内容を解析することによって、クライアントD1がリクエストしているコンテンツのURLを識別する。更に該リクエストをどのサーバに転送すべきかをリクエストルーティングテーブルC14を参照して解決し、リクエスト転送部C16へ渡す。   The request receiving unit C15 receives a request from the client D1, and analyzes the content. By analyzing the content of the request, the URL of the content requested by the client D1 is identified. Further, the server to which the request is to be transferred is resolved with reference to the request routing table C14 and passed to the request transfer unit C16.

リクエスト転送部C16は、リクエスト受信部C15から転送すべきリクエストの内容と転送すべきサーバ情報を受け取り、該コンテンツサーバA2に対して該リクエストを転送する。   The request transfer unit C16 receives the content of the request to be transferred and the server information to be transferred from the request reception unit C15, and transfers the request to the content server A2.

コンテンツ受信/転送部C17は、リクエスト転送部C16が行ったリクエストに対するコンテンツサーバA2からの応答コンテンツを受信し、クライアントD1に対して該コンテンツを転送する。   The content reception / transfer unit C17 receives the response content from the content server A2 in response to the request made by the request transfer unit C16, and transfers the content to the client D1.

クライアントD1は、コンテンツサーバA2内のコンテンツを取得するリクエストを出すものである。該リクエストは、サーバ負荷分散装置によって指定されたコンテンツサーバA2へと誘導される。ここでは、クライアントD1は、1台ではなく、複数のクライアントを示すものとする。   The client D1 issues a request to acquire content in the content server A2. The request is guided to the content server A2 designated by the server load balancer. Here, the client D1 indicates a plurality of clients instead of one.

次に、図10〜図12を参照して、本実施の形態において、サーバ負荷分散装置C1における各コンテンツの特性に応じて選択基準を変えながら転送先サーバを選択する動作について詳細に説明する。   Next, with reference to FIGS. 10-12, the operation | movement which selects a transfer destination server in this Embodiment, changing a selection reference | standard according to the characteristic of each content in the server load distribution apparatus C1 is demonstrated in detail.

まず図10を用いてサーバ負荷分散装置C1がクライアントD1からコンテンツを取得するリクエストを受信したときの動作を説明する。   First, the operation when the server load distribution device C1 receives a request for acquiring content from the client D1 will be described with reference to FIG.

サーバ負荷分散装置C1において、リクエスト受信部C15がクライアントD1からリクエストを受信すると、該リクエストを解析し、リクエストしているコンテンツのURLを識別する(図10のステップS201)。   In the server load balancer C1, when the request receiving unit C15 receives a request from the client D1, the request is analyzed, and the URL of the requested content is identified (step S201 in FIG. 10).

次に、リクエスト受信部C15は、リクエストしているコンテンツの識別子に対して、リクエストルーティングテーブル104内に該コンテンツに対するエントリがあるかどうかをチェックする(ステップS202)。   Next, the request receiving unit C15 checks whether there is an entry for the content in the request routing table 104 with respect to the identifier of the requested content (step S202).

ステップS202において、該コンテンツに対するエントリが存在する場合、リクエスト受信部C15は該エントリを参照し、リクエストを転送すべきコンテンツサーバA2を読み込む(ステップS203)。そして、リクエスト転送部C16は、リクエスト受信部から転送すべきリクエストと転送すべきコンテンツサーバA2の情報を受け取り、該コンテンツサーバA2へリクエストを転送する(ステップS204)。   If there is an entry for the content in step S202, the request receiving unit C15 refers to the entry and reads the content server A2 to which the request is to be transferred (step S203). Then, the request transfer unit C16 receives the request to be transferred and the information of the content server A2 to be transferred from the request reception unit, and transfers the request to the content server A2 (step S204).

ステップS202において、該コンテンツに対するエントリが存在しない場合、デフォルトサーバへリクエストを転送し(ステップS205)、リクエストのあったコンテンツを含むコンテンツグループに対して転送先サーバを決定し、リクエストルーティングテーブルに転送先サーバのエントリを書き込む動作を行う(ステップS206)。ここでデフォルトサーバとは、該リクエストをデータとして含むIPパケットの宛先IPアドレスに対応するサーバや、該リクエスト中のURLのFQDN(Fully
Qualified Domain Name:完全修飾ドメイン名)部分から、ドメインネームサーバ(Domain Name Server; DNS)を用いて解決したIPアドレスに対応するサーバなどを意味する。
In step S202, if there is no entry for the content, the request is transferred to the default server (step S205), the transfer destination server is determined for the content group including the requested content, and the transfer destination is stored in the request routing table. The server entry is written (step S206). Here, the default server is a server corresponding to a destination IP address of an IP packet including the request as data, or an FQDN (Fully URL) of the URL in the request.
Qualified Domain Name: A server corresponding to an IP address resolved using a domain name server (DNS) from a fully qualified domain name.

上記ステップS206に対応する動作を詳細に説明するためのフローチャートが図11である。   FIG. 11 is a flowchart for explaining in detail the operation corresponding to step S206.

転送先サーバ決定部C13は、リクエストのあったコンテンツはどのコンテンツグループに属するのかを識別し、該コンテンツグループに対する候補サーバリストを取得する(図11のステップS301)。ここでの識別/取得方法として、該リクエスト中のURLの全部又は一部分をキーにして、コンテンツ管理装置B1に問い合わせる方法や、直接コンテンツサーバA2に問い合わせる方法などがある。ここで、候補サーバとは、該コンテンツグループを保持する全てのコンテンツサーバA2、又は該コンテンツグループを保持する全てのコンテンツサーバA2の中から一部を抽出したサーバ群のことである。   The transfer destination server determination unit C13 identifies to which content group the requested content belongs, and acquires a candidate server list for the content group (step S301 in FIG. 11). As an identification / acquisition method here, there are a method of inquiring the content management apparatus B1 using all or part of the URL in the request as a key, and a method of inquiring directly to the content server A2. Here, the candidate server is a server group extracted from all the content servers A2 that hold the content group or from all the content servers A2 that hold the content group.

また、該URLに対するコンテンツグループ識別及び候補サーバリスト取得のためにドメインネームサーバを用いる方法もある。この場合は、該コンテンツグループ毎にユニークなFQDNを求め、該FQDNをキーにして解決したIPアドレスの各々に対応するコンテンツサーバを候補サーバとする。該コンテンツグループ毎にユニークなFQDNの生成方法の例として、リクエストされたコンテンツに対するURLが「http://www.aaa.net/cgi/high/prog.cgi」である場合、「high.cgi.www.aaa.net」を該コンテンツの属するコンテンツグループに対応するFQDNとし、該FQDNをキーにして候補サーバのIPアドレスを解決する方法などがある。   There is also a method of using a domain name server for content group identification and candidate server list acquisition for the URL. In this case, a unique FQDN is obtained for each content group, and a content server corresponding to each IP address resolved using the FQDN as a key is set as a candidate server. As an example of a method for generating a unique FQDN for each content group, when the URL for the requested content is “http://www.aaa.net/cgi/high/prog.cgi”, “high.cgi. There is a method in which “www.aaa.net” is set as the FQDN corresponding to the content group to which the content belongs, and the IP address of the candidate server is resolved using the FQDN as a key.

次に、転送先サーバ決定部C13は、該コンテンツグループが転送先サーバ決定ポリシ設定部C12のどの転送先サーバ決定ポリシに対応するのかを識別し、対応する転送先サーバ設定ポリシを読み込む(ステップS302)。この対応関係の識別方法として、例えば以下の2つの方法がある。   Next, the transfer destination server determination unit C13 identifies which transfer destination server determination policy of the transfer destination server determination policy setting unit C12 corresponds to the content group, and reads the corresponding transfer destination server setting policy (step S302). ). For example, there are the following two methods for identifying this correspondence.

(1)ステップ301でコンテンツ管理装置B1に問い合わせる場合に、問い合わせ時に該コンテンツグループのコンテンツ特性の情報も一緒に取得する。 (1) When making an inquiry to the content management apparatus B1 in step 301, information on the content characteristics of the content group is also acquired at the time of inquiry.

(2)サーバ負荷分散装置C1内に、URLや宛先ポート番号に対応するコンテンツ特性をマッピングしたテーブル(例えば、URLにcgi−binを含むコンテンツグループのコンテンツ特性はCGIであり、宛先ポート番号554であるコンテンツグループのコンテンツ特性はストリームであるといった対応関係)。 (2) A table in which the content characteristics corresponding to the URL and the destination port number are mapped in the server load balancer C1 (for example, the content characteristic of the content group including cgi-bin in the URL is CGI, and the destination port number 554 Corresponding relationship that the content characteristic of a content group is a stream)

更に、転送先サーバ決定部C13は、ステップS302で読み込んだ転送先サーバ設定ポリシから、該コンテンツグループに対する転送先サーバを決定するために、候補サーバから直接コンテンツを取得することによりリソース取得を行う、すなわちパッシブ型のリソース測定が必要かどうかをチェックする(ステップS303)。   Further, the transfer destination server determination unit C13 acquires resources by acquiring the content directly from the candidate server in order to determine the transfer destination server for the content group from the transfer destination server setting policy read in step S302. That is, it is checked whether or not passive resource measurement is necessary (step S303).

パッシブ型のリソース測定が必要のある場合の例として、コンテンツの転送遅延、転送スループットなどのリソースパラメータを転送先サーバ決定に用いる場合が挙げられる。また、反対にパッシブ型のリソース測定を行う必要のない場合の例として、サーバ負荷、リンク帯域などのリソースパラメータを問い合わせにより取得し、その結果を利用して転送先サーバ決定に用いるアクティブ型のリソース測定が行われる場合が挙げられる。なお、パッシブ型のリソース測定とアクティブ型のリソース測定を混ぜて転送先サーバの決定を行ってもよい。   As an example of the case where passive resource measurement is necessary, there is a case where resource parameters such as content transfer delay and transfer throughput are used for determining a transfer destination server. On the other hand, as an example when there is no need to perform passive resource measurement, resource parameters such as server load and link bandwidth are acquired by inquiry, and active resources used to determine the destination server using the results The case where a measurement is performed is mentioned. Note that the destination server may be determined by mixing passive resource measurement and active resource measurement.

ステップS303において、パッシブ型のリソース測定を行って転送先サーバを調べる必要がある場合、転送先サーバ決定部C13は、候補サーバをリクエストルーティングテーブルC14に書き込む(ステップS304)。   In step S303, when it is necessary to perform passive resource measurement to check the transfer destination server, the transfer destination server determination unit C13 writes the candidate server in the request routing table C14 (step S304).

ステップS304で候補サーバがリクエストルーティングテーブルC14に書き込まれると、リクエストルーティングテーブルC14は、該コンテンツグループに含まれるコンテンツに対するリクエストの転送先として、候補サーバの中から1つのコンテンツサーバを選択する。   When the candidate server is written in the request routing table C14 in step S304, the request routing table C14 selects one content server from among the candidate servers as a transfer destination of the request for the content included in the content group.

このときラウンドロビンで転送先を選択するなどして、リクエストが全ての候補サーバに転送されるようにする。リクエストを各候補サーバへ振り分けることにより、コンテンツ受信/転送部C17は各候補サーバからコンテンツを受信し、リソース取得部C11はその際の転送遅延、(単位時間あたりのコンテンツの受信量を測定することで)転送スループット等のリソースパラメータを知ることができる(ステップS305)。   At this time, the request is forwarded to all candidate servers by selecting a forwarding destination by round robin. By distributing the request to each candidate server, the content reception / transfer unit C17 receives the content from each candidate server, and the resource acquisition unit C11 measures the transfer delay at that time (the amount of received content per unit time). In step S305, resource parameters such as transfer throughput can be known.

ついで、アクティブ型のリソース測定が必要であるかどうかをチェックする(ステップS306)。すなわち、ステップ305によるパッシブ型のリソース測定だけでは十分なリソースパラメータを取得できない場合等には、アクティブ型のリソース測定が必要であるとして、ステップS307でアクティブ型のリソース測定がなされる。   Next, it is checked whether or not active type resource measurement is necessary (step S306). That is, when sufficient resource parameters cannot be obtained only by the passive resource measurement in step 305, the active resource measurement is performed in step S307, assuming that the active resource measurement is necessary.

ステップS303において、パッシブ型のリソース測定を行って転送先サーバを調べる必要がない場合、またステップ306でアクティブ型のリソース測定が必要と判定された場合、転送先サーバ決定部C13はリソース取得部C11を用いて必要なリソースパラメータを測定し取得する(ステップS307)。   In step S303, when it is not necessary to perform the passive resource measurement to check the transfer destination server, or when it is determined in step 306 that the active resource measurement is necessary, the transfer destination server determination unit C13 determines the resource acquisition unit C11. Is used to measure and acquire the necessary resource parameters (step S307).

ステップS305又はステップS307によって転送先サーバ決定に必要なリソースパラメータを取得すると、転送先サーバ決定部C13は該リソースパラメータ及びステップS301で読み込んだ転送先サーバ設定ポリシを用いて転送先サーバを決定する(ステップS308)。このとき複数のコンテンツサーバを転送先サーバとして決定してもよい。   When the resource parameter necessary for determining the transfer destination server is acquired in step S305 or step S307, the transfer destination server determination unit C13 determines the transfer destination server using the resource parameter and the transfer destination server setting policy read in step S301 ( Step S308). At this time, a plurality of content servers may be determined as transfer destination servers.

そして決定した転送先サーバのエントリをリクエストルーティングテーブルC14における該当コンテンツグループに対するリクエスト転送先として書き込む(ステップS309)。複数のエントリを書き込む場合、各コンテンツサーバへリクエストが転送される割合、重み付けを同時に書き込んでもよい。   Then, the entry of the determined transfer destination server is written as the request transfer destination for the corresponding content group in the request routing table C14 (step S309). When writing a plurality of entries, the ratio and weighting of requests transferred to each content server may be written simultaneously.

ステップS309で転送先サーバをリクエストルーティングテーブルC14に書き込むと、書き込んだエントリを維持管理する状態に移行する(ステップS310)。   When the transfer destination server is written in the request routing table C14 in step S309, the state shifts to a state in which the written entry is maintained (step S310).

ステップS310に対応する動作を詳細に説明するためのフローチャートが図12である。   FIG. 12 is a flowchart for explaining in detail the operation corresponding to step S310.

リクエストルーティングテーブルC14は、維持管理すべき転送先サーバエントリに対するリクエストを一定時間以内に受信したかどうかを定期的にチェックする(図12のステップS401)。もし一定時間以上リクエストを受信していない場合は該エントリを削除する(ステップS404)。   The request routing table C14 periodically checks whether a request for the transfer destination server entry to be maintained has been received within a predetermined time (step S401 in FIG. 12). If no request has been received for a certain period of time, the entry is deleted (step S404).

一定時間以内に該エントリに対するリクエストを受信している場合は、更に、該エントリに対する候補サーバについて、転送先サーバを決定したときのリソース値と比べて予め設定した閾値以上の変化があるかどうかをリソース取得部C11を用いてチェックする(ステップS402)。このチェックは、ステップS307で決定した転送先サーバが現在もなお最適であるかどうかを調べるためのものである。閾値以上の変化がない場合は、再度ステップS401に戻る。   If a request for the entry is received within a certain time, whether or not the candidate server for the entry has more than a preset threshold value compared to the resource value when the transfer destination server is determined. A check is made using the resource acquisition unit C11 (step S402). This check is for checking whether or not the transfer destination server determined in step S307 is still optimal. If there is no change greater than or equal to the threshold, the process returns to step S401 again.

ステップS402において、閾値以上の変化があった場合は、ステップS301へ戻り、再度転送先サーバを決定する動作を行う(ステップS403)。   In step S402, if there is a change greater than or equal to the threshold value, the process returns to step S301, and the operation of determining the transfer destination server is performed again (step S403).

(第2の実施の形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of the second embodiment)
Next, the effect of this embodiment will be described.

本実施の形態では、サーバ負荷分散装置は、コンテンツグループ毎に異なるポリシで転送先サーバを決定し、リクエストルーティングテーブルに登録する。従来は、全てのコンテンツグループに対して同一の基準で転送先サーバが選択されていたため、コンテンツグループによっては必ずしも最適なサーバが選択されているとはいえなかった。本実施の形態では、各コンテンツグループの特性に応じて転送先サーバの選択基準を変えることにより、クライアントからのリクエストは常に最適なサーバに転送される。特に、コンテンツの特性に応じてコンテンツグループを自動生成する第1の実施の形態と組み合わせることにより、サーバ選択がより効果的に実現される。   In the present embodiment, the server load distribution apparatus determines a transfer destination server with a different policy for each content group and registers it in the request routing table. Conventionally, since the transfer destination server is selected based on the same standard for all content groups, it cannot be said that the optimal server is necessarily selected depending on the content group. In the present embodiment, the request from the client is always transferred to the optimum server by changing the selection criteria of the transfer destination server according to the characteristics of each content group. In particular, the server selection can be realized more effectively by combining with the first embodiment that automatically generates the content group according to the characteristics of the content.

(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.

図13を参照すると、本発明の第3の実施の形態は、コンテンツサーバA3と、サーバ負荷分散装置C1とによって実現される。   Referring to FIG. 13, the third embodiment of the present invention is realized by a content server A3 and a server load distribution device C1.

コンテンツサーバA3は、第2の実施の形態におけるコンテンツサーバA2の構成に加え、リソース応答ポリシ設定部A14を含み、リソース応答部A13の代わりにリソース応答部A15を含む点が異なる。その他の構成については、図7に示した第2の実施の形態と同様である。   The content server A3 is different from the configuration of the content server A2 in the second embodiment in that it includes a resource response policy setting unit A14 and includes a resource response unit A15 instead of the resource response unit A13. Other configurations are the same as those of the second embodiment shown in FIG.

リソース応答ポリシ設定部A14は、サーバ負荷分散装置C1から受信したリソース情報取得要求に対して応答する際のポリシが設定されるものである。ここでポリシとは、自コンテンツサーバに過度のアクセスが集中しないようにするために用いられる。例えば、コンテンツサーバA3が、自ノードのCPU負荷が10%と低い状態であるときに、複数のサーバ負荷分散装置からリソース情報取得要求を受信したとする。このとき、全てのサーバ負荷分散装置に対してCPU負荷の値を10%と応答すると、この値を受信したサーバ負荷分散装置はコンテンツサーバA3のCPU負荷が十分に低いと判断し、コンテンツサーバA3を、リクエストを転送するべきサーバに選択する可能性がある。その結果、コンテンツサーバA3のCPU負荷が、アクセスの集中により急激に上昇し、十分なサーバ性能を提供できないということが起こりうる。最悪の場合、コンテンツサーバA3を転送先サーバとして選択したサーバ負荷分散装置全てが、サーバ性能劣化を検出して他のコンテンツサーバを転送先サーバとして再度選択し、今度は再度選択されたコンテンツサーバがアクセスの集中により性能が劣化してしまうという動作を再帰的に繰り返すという、発振現象が起こってしまう。   The resource response policy setting unit A14 sets a policy for responding to a resource information acquisition request received from the server load balancer C1. Here, the policy is used to prevent excessive access from being concentrated on the content server. For example, it is assumed that the content server A3 receives resource information acquisition requests from a plurality of server load distribution devices when the CPU load of the own node is as low as 10%. At this time, if the CPU load value is replied to 10% for all the server load balancers, the server load balancer that receives this value determines that the CPU load of the content server A3 is sufficiently low, and the content server A3 May be selected for the server to which the request should be forwarded. As a result, the CPU load of the content server A3 may increase rapidly due to concentration of access, and sufficient server performance may not be provided. In the worst case, all the server load balancers that have selected the content server A3 as the transfer destination server detect the server performance degradation and select another content server as the transfer destination server again. This time, the content server selected again An oscillation phenomenon occurs in which the operation that performance deteriorates due to concentration of access is recursively repeated.

このような特定のコンテンツサーバに対するアクセス集中や、発振現象を防ぐためのポリシが設定される。ここでポリシの例としては、一定時間内に所定の閾値以上のリソースを応答しない、あるいは、一定時間内に所定の値以上のリソースを同時に応答するサーバ負荷分散装置の数をある閾値以内に抑えるといった内容等が考えられる。   A policy for preventing such concentration of access to a specific content server and an oscillation phenomenon is set. Here, as an example of a policy, the number of server load balancers that do not respond to a resource that exceeds a predetermined threshold within a certain period of time, or that simultaneously responds with a resource that exceeds a predetermined value within a certain period of time, is kept within a certain threshold. The contents etc. can be considered.

図14は、リソース応答ポリシ設定部A14内に設定されるポリシを示すリソース応答ポリシテーブル105の一例である。このリソース応答ポリシテーブル105では、リソースの種類に応じて応答ポリシが示されており、例えばCPU負荷に関しては、現在のCPU負荷が0%〜30%の場合は、30%の確率で実際のCPU負荷の2倍の値を応答し(70%の確率で実際の値を応答する)、30%〜60%の場合は、50%の確率で実際のCPU負荷の1.5倍の値を応答し、60%〜100%の場合は実際の値を応答するという動作をする。   FIG. 14 is an example of the resource response policy table 105 indicating policies set in the resource response policy setting unit A14. In this resource response policy table 105, the response policy is shown according to the type of resource. For example, regarding the CPU load, when the current CPU load is 0% to 30%, the actual CPU has a probability of 30%. Responds twice the value of the load (actual value is answered with a probability of 70%), and in the case of 30% to 60%, responds with a value of 1.5 times the actual CPU load with a probability of 50% In the case of 60% to 100%, the actual value is responded.

リソース応答部A15は、第1の実施の形態におけるリソース応答部A13と同様にサーバ負荷分散装置C1からのリソース情報取得要求に対して要求されたリソースパラメータを応答する。ただし、リソース応答時に、リソース応答ポリシ設定部A14内に設定されているリソース応答時のポリシを参照し、該ポリシに従って応答するリソース値を計算する。   The resource response unit A15 responds with the requested resource parameter to the resource information acquisition request from the server load balancing device C1 in the same manner as the resource response unit A13 in the first embodiment. However, at the time of resource response, the resource response policy set in the resource response policy setting unit A14 is referred to, and the resource value to be responded according to the policy is calculated.

次に、図15を参照して、本実施の形態において、コンテンツサーバA3がサーバ負荷分散装置C1からリソース取得要求を受信したときの動作について詳細に説明する。   Next, with reference to FIG. 15, the operation when the content server A3 receives a resource acquisition request from the server load balancing device C1 in the present embodiment will be described in detail.

コンテンツサーバA3内のリソース応答部A15は、サーバ負荷分散装置C1からリソース情報取得要求を受信すると、自ノードにおける要求されたリソースパラメータに対応するリソース値を取得する(図15のステップS501)。   When the resource response unit A15 in the content server A3 receives the resource information acquisition request from the server load balancer C1, the resource response unit A15 acquires a resource value corresponding to the requested resource parameter in the own node (step S501 in FIG. 15).

次に、リソース応答部A15は、リソース応答ポリシ設定部A14から、該リソースパラメータに対するリソース応答ポリシを取得する(ステップS502)。   Next, the resource response unit A15 acquires a resource response policy for the resource parameter from the resource response policy setting unit A14 (step S502).

ステップS502の後、リソース応答部A15は、ステップS501で取得したリソースパラメータをその値のまま応答してよいかどうかをチェックする(ステップS503)。   After step S502, the resource response unit A15 checks whether the resource parameter acquired in step S501 can be responded with its value (step S503).

ステップS503で、該リソースパラメータをその値のまま応答してよいと判定した場合、リソース応答部A15は、リソース情報取得要求を行ったサーバ負荷分散装置C1に対して該リソースパラメータを応答する(ステップS505)。   If it is determined in step S503 that the resource parameter can be responded with its value, the resource response unit A15 returns the resource parameter to the server load balancer C1 that has issued the resource information acquisition request (step S503). S505).

ステップS503で、該リソースパラメータをその値のまま応答しないと判定した場合、リソース応答部A15は、該リソースパラメータに対するリソース応答ポリシに基づいて、応答するリソース値を計算する(ステップS504)。そして計算したリソース値を、リソース情報取得要求を行ったサーバ負荷分散装置C1に対して該リソースパラメータとして応答する(ステップS505)。   If it is determined in step S503 that the resource parameter is not responded as it is, the resource response unit A15 calculates a resource value to respond based on the resource response policy for the resource parameter (step S504). Then, the calculated resource value is returned as the resource parameter to the server load balancer C1 that has made the resource information acquisition request (step S505).

(第3の実施の形態の効果)
次に、本実施の形態の効果について説明する。本実施の形態では、コンテンツサーバは、網内に配置されている複数のサーバ負荷分散装置からのリソース情報取得要求に対し、必ずしも実際のリソース情報をそのまま応答するのではなく、設定したリソース応答ポリシに応じてリソース値を補正して応答する。
(Effect of the third embodiment)
Next, the effect of this embodiment will be described. In the present embodiment, the content server does not always respond with actual resource information as it is to a resource information acquisition request from a plurality of server load balancing apparatuses arranged in the network, but rather with a set resource response policy. The resource value is corrected according to the response.

各サーバ負荷分散装置は独立に転送先サーバを決定するため、従来技術のように実際のリソース情報をそのまま応答すると、同時に多数のサーバ負荷分散装置が自コンテンツサーバを転送先サーバとして選択することによってリクエストの急激な集中が生じる可能性があった。本実施の形態のように、リソース値を補正して応答することにより、急激なリクエストの集中を抑制することができる。   Since each server load balancer determines the transfer destination server independently, when the actual resource information is responded as it is as in the prior art, a large number of server load balancers simultaneously select its own content server as the transfer destination server. There could be a sudden concentration of requests. By correcting the resource value and responding as in the present embodiment, it is possible to suppress rapid concentration of requests.

(第4の実施の形態)
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.

図16を参照すると、本発明の第4の実施の形態は、コンテンツサーバA2と、サーバ負荷分散装置C2とによって実現される。   Referring to FIG. 16, the fourth embodiment of the present invention is realized by a content server A2 and a server load balancer C2.

サーバ負荷分散装置C2は、第2の実施の形態におけるサーバ負荷分散装置C1の構成に加え、ウェイト設定部C19を備えている。また、リクエストルーティングテーブルC14の代わりにリクエストルーティングテーブルC18が用いられる。   The server load balancer C2 includes a weight setting unit C19 in addition to the configuration of the server load balancer C1 in the second embodiment. Further, a request routing table C18 is used instead of the request routing table C14.

リクエストルーティングテーブルC18は、第2の実施の形態で説明したリクエストルーティングとその機能は同じであるが、各エントリにおける転送先サーバIPアドレス毎に、その転送ウェイト値が指定されている点が異なる。ウェイテッドラウンドロビンや、重みつきハッシュ関数などを用いることにより、各サーバ毎に指定されたウェイト値の比で、リクエスト受信部へ応答するサーバが選択される。   The request routing table C18 has the same function as the request routing described in the second embodiment, but differs in that the transfer weight value is designated for each transfer destination server IP address in each entry. By using a weighted round robin, a weighted hash function, or the like, a server that responds to the request reception unit is selected at a ratio of weight values specified for each server.

また、リクエストルーティングテーブルC14では、リクエストを転送しないサーバは登録されないが、リクエストルーティングテーブルC18では、該コンテンツグループに対する候補サーバは全て登録される。このとき、リクエストを転送しないサーバはウェイト0%として登録される。図17に、リクエストルーティングテーブルC18の一例としてのテーブル106を示す。   In the request routing table C14, servers that do not transfer requests are not registered, but in the request routing table C18, all candidate servers for the content group are registered. At this time, the server that does not transfer the request is registered with a weight of 0%. FIG. 17 shows a table 106 as an example of the request routing table C18.

ウェイト設定部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%に変更するという動作をする。   The weight setting unit C19 has a function of setting / changing the transfer weight value in the request routing table C18. In the request routing table 106 in FIG. 17, the transfer destination server IP addresses for “rtsp: //stream.bbb.org/live/*” are “10.5.1.1”, “10.7.1.1”, “10.4.2.1”. The weight values for “10.2.5.2” are 20%, 20%, 10%, and 50%, respectively, and the operation is performed to change them to, for example, 30%, 30%, 20%, and 20%, respectively.

次に、図18を参照して、本実施の形態において、サーバ負荷分散装置C2における特定のサーバへの負荷集中を防ぐ動作について詳細に説明する。   Next, with reference to FIG. 18, the operation | movement which prevents the load concentration to the specific server in the server load distribution apparatus C2 in this Embodiment is demonstrated in detail.

転送先サーバ決定部C13は、リクエストルーティングテーブルC18内の各エントリ毎に、リソース取得部C11を用いて登録されている転送先サーバに対するリソースを取得する(図18のステップS601)。取得するリソースの種類は、転送先サーバ決定ポリシ設定部C12内に設定されており、エントリ毎に異なっていてもよい。   The transfer destination server determination unit C13 acquires a resource for the transfer destination server registered using the resource acquisition unit C11 for each entry in the request routing table C18 (step S601 in FIG. 18). The type of resource to be acquired is set in the transfer destination server determination policy setting unit C12, and may be different for each entry.

各転送先サーバに対するリソースを取得すると、次に、転送先サーバ決定部C13は、各サーバに対する取得したリソース値を比較し、サーバ間におけるリソース値の違いが予め設定された閾値を超えるかどうかを判別する(ステップS602)。この判別基準の例として、「取得したサーバ毎のリソース値の最大値は、最小値の2倍以上大きい」、「取得したサーバ毎の転送スループットの最大値と最小値の差は1Mbps以上である」などが考えられる。   When the resource for each transfer destination server is acquired, the transfer destination server determination unit C13 next compares the acquired resource value for each server to determine whether the difference in resource value between the servers exceeds a preset threshold value. A determination is made (step S602). As an example of this discrimination criterion, “the maximum value of the resource value for each acquired server is at least twice as large as the minimum value”, “the difference between the maximum value and the minimum value of the transfer throughput for each acquired server is 1 Mbps or more. Or the like.

ステップS602で、サーバ間におけるリソース値の違いが予め設定された閾値を超えない場合はリクエストルーティングテーブルC18において設定されているウェイト値を変更しないが、反対に超える場合は、ウェイト設定部C19によって取得したリソース値に応じてウェイト値を再設定する(ステップS603)。   In step S602, if the difference in resource value between servers does not exceed a preset threshold value, the weight value set in the request routing table C18 is not changed, but if it exceeds, the weight setting unit C19 obtains it. The weight value is reset according to the resource value that has been set (step S603).

例えば、サーバA、サーバB、サーバCと3つの転送先サーバが登録されており、それぞれに対するウェイト値が、30%、50%、20%であったとする。そして取得した3つのサーバに対する転送スループットがそれぞれ6Mbps、3Mbps、1Mbpsであったとする。このとき、転送スループットの比に応じて、60%、30%、10%とウェイト値を変更する。   For example, it is assumed that server A, server B, and server C and three transfer destination servers are registered, and the weight values for each are 30%, 50%, and 20%. Assume that the transfer throughputs for the three acquired servers are 6 Mbps, 3 Mbps, and 1 Mbps, respectively. At this time, the weight value is changed to 60%, 30%, or 10% according to the transfer throughput ratio.

しかしながら、このようにリソース値の比に応じていきなりウェイト値を変更することは発振防止という観点からは望ましくない。上記の例の場合、ウェイト変更後、サーバ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%となる。   However, changing the weight value in accordance with the ratio of the resource values in this way is not desirable from the viewpoint of preventing oscillation. In the case of the above example, after the weight change, the request to server A increases from 30% to 60%. However, if the ratio of requests to server A is also increased in other load balancers, the request received by server A The number increases rapidly, and the transfer throughput of the server A may be greatly reduced. Then, the weight value needs to be changed again, and the weight changing operation may oscillate without converging. In order to prevent oscillation, there is a method of limiting the rate of weight change using move_granularity without changing the weight value depending on the ratio of resource values. move_granularity is a parameter for suppressing a change in weight value once, and takes a value of 1.0 or less. In the above example, when the weight value for the server A is changed from 30% to 60% according to the ratio of the resource values, it corresponds to “move_granularity = 1.0”. For example, in the above example, when “move_granularity = 0.3”, the weight value is changed for server A by (60% −30%) × 0.3 = 9%. The later weight value is 39%. Similarly, for server B and server C, the changed weight values are 44% and 17%, respectively.

このようにmove_granularityを用いて徐々にウェイト値を変更することによって、特定のサーバの受けるリクエスト数が急激に増加/減少することが抑制され、発振を抑止することができる。このとき発振が起こらないようにmove_granularityの値を設定することが重要である。例えばフィードバック制御を用いて、move_granularityを発振が起こらない値に自動的に調整する方式などが考えられる。   By gradually changing the weight value using move_granularity in this way, it is possible to suppress a sudden increase / decrease in the number of requests received by a specific server, and to suppress oscillation. At this time, it is important to set the value of move_granularity so that oscillation does not occur. For example, a method of automatically adjusting move_granularity to a value that does not cause oscillation using feedback control is conceivable.

転送先サーバ決定部は、リクエストルーティングテーブルC18内の各エントリ毎に、ステップS601〜S603の動作を定期的に実行する。   The transfer destination server determination unit periodically executes the operations of steps S601 to S603 for each entry in the request routing table C18.

図18において説明した動作は、move_granularityを用い、その値を発振が起こらないように調節する必要があった。次に、move_granularityを調節する必要なく(すなわち「move_granularity=1.0」のままで)、コンテンツサーバに対する急激なリクエスト数の変動を抑止する方法についてその動作を詳細に説明する。   The operation described with reference to FIG. 18 needs to use move_granularity and adjust its value so that oscillation does not occur. Next, the operation will be described in detail with respect to a method of suppressing a sudden change in the number of requests to the content server without adjusting the move_granularity (that is, with “move_granularity = 1.0”).

図19を参照すると、ステップS602までは図18で説明した動作と同様である。ステップS602において、リソース値の違いが閾値以上の場合、直ちにステップS603でウェイト値を変更する代わりに、ウェイト値を変更する時刻を決定する(図19のステップS604)。ウェイト値を変更する時刻は確率的に決定され、例として、0分後〜10分後の間の時刻で等確率で決定されるというものなどが考えられる。   Referring to FIG. 19, the operations up to step S602 are the same as those described with reference to FIG. In step S602, if the difference in resource value is equal to or greater than the threshold value, instead of immediately changing the weight value in step S603, the time for changing the weight value is determined (step S604 in FIG. 19). The time for changing the weight value is determined probabilistically. For example, it is possible to determine the time at a time between 0 minutes and 10 minutes later with equal probability.

ステップS604で決定した時刻に、再度リソース取得部C11を用いて、リクエストルーティングテーブルC18内の各エントリ毎に登録されている転送先サーバに対するリソースを取得する(ステップS605)。ステップS605で再度各転送先サーバに対するリソースを取得すると、再度ステップS602と同様の動作を行ない、各サーバ間におけるリソース値の違いが予め設定された閾値を超えるかどうかを判別する(ステップS606)。   At the time determined in step S604, the resource acquisition unit C11 is used again to acquire a resource for the transfer destination server registered for each entry in the request routing table C18 (step S605). When resources for each transfer destination server are acquired again in step S605, the same operation as in step S602 is performed again, and it is determined whether the difference in resource value between the servers exceeds a preset threshold value (step S606).

ステップS606で、サーバ間におけるリソース値の違いが予め設定された閾値を超えない場合はリクエストルーティングテーブルC18において設定されているウェイト値を変更せずに終了するが、反対に超える場合は、ウェイト設定部C19によってステップS605で再度取得したリソース値に応じてウェイト値を再設定する(ステップS607)。   If the difference in resource value between servers does not exceed a preset threshold value in step S606, the process ends without changing the weight value set in the request routing table C18. The weight value is reset according to the resource value acquired again in step S605 by the part C19 (step S607).

本動作では、move_granularityを調節する代わりに、ウェイト値を再設定する時刻を確率的に分散させた時間だけ遅延させることにより、コンテンツサーバに対する急激なリクエスト数の変動を抑止する。また、遅延させた時刻において再度ウェイト値を再設定するかどうかを判定し、必要ない場合は再設定を行わないことにより、ウェイト値の不要な変更動作が抑止され、発振防止の効果が得られる。   In this operation, instead of adjusting move_granularity, the time for resetting the weight value is delayed by a time that is probabilistically dispersed, thereby suppressing a rapid change in the number of requests to the content server. Further, it is determined whether or not to reset the wait value again at the delayed time, and if it is not necessary, the resetting is not performed, so that an unnecessary change operation of the wait value is suppressed and an effect of preventing oscillation can be obtained. .

(第4の実施の形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of the fourth embodiment)
Next, the effect of this embodiment will be described.

本実施の形態では、サーバ負荷分散装置における各エントリの転送先サーバに対するウェイト値を取得したリソース値に応じて変更する。このウェイト値の変更を、move_granularityを用いて緩やかに行うことにより、あるコンテンツサーバに対する急激なリクエスト数の変動を抑止することができる。また、move_granularityを調節する代わりに、ウェイト値を再設定する時刻を確率的に分散させた時間だけ遅延させることにより、同じ効果を得ることもできる。第3の実施の形態では、コンテンツサーバ側で急激なリクエスト数変動の抑止を実現していたが、本実施の形態では、コンテンツサーバ側に対しては変更を必要とせず、サーバ負荷分散装置側で同等の機能を実現する。   In the present embodiment, the weight value for the transfer destination server of each entry in the server load balancer is changed according to the acquired resource value. By changing the weight value gently using move_granularity, it is possible to suppress a sudden change in the number of requests to a certain content server. In addition, the same effect can be obtained by delaying the time for resetting the weight value by a probabilistic dispersed time instead of adjusting the move_granularity. In the third embodiment, the sudden change in the number of requests is realized on the content server side. However, in this embodiment, no change is required on the content server side, and the server load balancer side. To achieve the same function.

(第5の実施の形態)
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings.

図20を参照すると、本発明の第5の実施の形態は、コンテンツサーバA4と、サーバ負荷分散装置C3と、クライアントD2と、ドメインネームサーバE1とによって実現される。   Referring to FIG. 20, the fifth embodiment of the present invention is realized by a content server A4, a server load distribution device C3, a client D2, and a domain name server E1.

コンテンツサーバA4は、コンテンツ記憶部A11と、リクエスト受信/コンテンツ応答部A12とを含む。それぞれの機能、動作については第2の実施の形態で述べた通りである。   The content server A4 includes a content storage unit A11 and a request reception / content response unit A12. Each function and operation is as described in the second embodiment.

サーバ負荷分散装置C3は、パケット受信部C25と、パケット転送部C20と、パケットルーティングテーブルC21と、転送先サーバ決定部C22と、FQDN(Fully
Qualified Domain Name:完全修飾ドメイン名)解決部C23と、アドレス解決部C24とを含む。
The server load distribution device C3 includes a packet receiving unit C25, a packet transfer unit C20, a packet routing table C21, a transfer destination server determination unit C22, an FQDN (Fully
Qualified Domain Name (fully qualified domain name) resolution unit C23 and address resolution unit C24.

パケット受信部C25は、クライアントD2からのパケットを受信し、該パケットの宛先ポート番号を調べる。調べた宛先ポート番号が予め設定された値に含まれる場合は、パケットルーティングテーブルC21に登録されているエントリを参照し、該パケットの宛先IPアドレスから、該パケットを転送すべきコンテンツサーバA4のIPアドレスを調べる。   The packet receiving unit C25 receives the packet from the client D2, and checks the destination port number of the packet. When the checked destination port number is included in the preset value, the entry registered in the packet routing table C21 is referred to, and the IP of the content server A4 to which the packet is to be transferred from the destination IP address of the packet Look up the address.

パケット転送部C20は、パケット受信部C25が受信したパケットの宛先IPアドレスを、転送すべきコンテンツサーバA4のIPアドレスに書き換え、該コンテンツサーバA4に対して送信する。   The packet transfer unit C20 rewrites the destination IP address of the packet received by the packet receiving unit C25 with the IP address of the content server A4 to be transferred, and transmits the IP address to the content server A4.

また、IPアドレスを書き換えずに、レイヤ2レベルでのヘッダ書き換えのみを行ない、該パケットの転送を行うこともできる。レイヤ2プロトコルとして、イーサネット(登録商標)が用いられる場合を考えると、転送すべきコンテンツサーバA4のIPアドレスから、ARPを用いて該コンテンツサーバA4のMACアドレスを解決し、該パケットの宛先IPアドレスは書き換えずに、解決したMACアドレスを宛先MACアドレスとしてパケットを転送する。以下では簡単のために、IPアドレスを書き換えてパケットを転送する場合だけについて説明を行う。   It is also possible to transfer the packet by only rewriting the header at the layer 2 level without rewriting the IP address. Considering the case where Ethernet (registered trademark) is used as the layer 2 protocol, the MAC address of the content server A4 is resolved using the ARP from the IP address of the content server A4 to be transferred, and the destination IP address of the packet The packet is transferred with the resolved MAC address as the destination MAC address without rewriting. Hereinafter, for the sake of simplicity, only the case of rewriting the IP address and transferring the packet will be described.

パケットルーティングテーブルC21には、パケット受信部C25が受信したパケットの宛先IPアドレス/宛先ポート番号に対して、該パケットを転送すべきコンテンツサーバのIPアドレスが登録されている。   In the packet routing table C21, the IP address of the content server to which the packet is to be transferred is registered for the destination IP address / destination port number of the packet received by the packet receiving unit C25.

図21は、パケットルーティングテーブルC21の一例を示すテーブル107である。このテーブル107によると、例えば宛先IPアドレスが「10.1.1.1」、宛先ポート番号が「7070」番のパケットに対しては、宛先IPアドレスが「20.2.2.2」のコンテンツサーバか、「30.3.3.3」のコンテンツサーバに転送される。   FIG. 21 is a table 107 showing an example of the packet routing table C21. According to this table 107, for example, for a packet whose destination IP address is “10.1.1.1” and whose destination port number is “7070”, the content server whose destination IP address is “20.2.2.2” or “30.3.3.3 To the content server.

このとき、パケット毎に2つのコンテンツサーバのいずれかを交互に選ぶのではなく、同一のコネクションを同一のコンテンツサーバに接続させるために、同一のソースIPアドレス/ソースポート番号の組み合わせでハッシュ関数に掛けて、生成したハッシュ値を基にコンテンツサーバを選ぶという方法などが用いられる。また、受信パケットのTCPヘッダのSYNフラグ受信を契機に、該パケットと同じIPアドレス/ポート番号をもつパケットに対しては同じサーバへ転送させるように記憶しておくという方法もある。   At this time, instead of alternately selecting one of the two content servers for each packet, in order to connect the same connection to the same content server, a hash function with the same source IP address / source port number combination is used. A method of selecting a content server based on the generated hash value is used. Also, there is a method of storing a packet having the same IP address / port number as that of the packet so that the packet is transferred to the same server when the SYN flag of the TCP header of the received packet is received.

転送先サーバ決定部C22は、ある宛先IPアドレス/宛先ポート番号をもつパケットに対して、転送先サーバ(コンテンツサーバA4)を決定する。ここで転送先サーバの決定には、第2の実施の形態の転送先サーバ決定部C13で述べたのと同様の方法が適用できる。決定した転送先サーバを、パケットルーティングテーブルC21のエントリとして書き込む。   The transfer destination server determination unit C22 determines a transfer destination server (content server A4) for a packet having a certain destination IP address / destination port number. Here, the method similar to that described in the transfer destination server determination unit C13 of the second embodiment can be applied to the determination of the transfer destination server. The determined transfer destination server is written as an entry in the packet routing table C21.

FQDN解決部C23は、転送先サーバ決定部C22が、ある宛先IPアドレス/宛先ポート番号をもつパケットの転送先となるコンテンツサーバA4を決定する動作の際に、該宛先IPアドレスに対するFQDNをドメインネームサーバE1に対して問い合わせる。   The FQDN resolution unit C23, when the transfer destination server determination unit C22 determines the content server A4 to be a transfer destination of a packet having a certain destination IP address / destination port number, Queries the server 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アドレスの一覧を取得することができる。   The address resolution unit C24, after the transfer destination server determination unit C22 resolves the FQDN for the destination IP address by the FQDN resolution unit C23 during the operation of determining the server that is the transfer destination of the packet having a certain destination IP address Then, a new FQDN is created using the resolved FQDN and the destination port number of the packet, and the IP address for the newly created FQDN is resolved. Here, the newly created FQDN must be unique for each destination IP address and destination port number of the packet. For example, when the resolved FQDN is “aaa.com” and the destination port number of the packet is “7070”, the IP address for the FQDN of “port7070.aaa.com” is resolved. Here, it is possible to resolve a plurality of IP addresses, and by using the FQDN resolution unit C23 and the address resolution unit C24, it is possible to obtain a list of IP addresses of candidate servers as transfer destinations of the packet. .

クライアントD2は、リクエスト送信部D11と、アドレス解決部D12とを含む。   The client D2 includes a request transmission unit D11 and an address resolution unit 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」のパケットを送信する。   The request transmission unit D11 transmits a request for acquiring content as an IP packet. At this time, the IP address corresponding to the FQDN of the URL is resolved from the URL, which is the identifier of the content to be acquired, using the address resolution unit D12, and the resolved IP address is set as the destination IP address of the IP packet to be transmitted. . The port number specified by the URL is set as the destination port number. For example, when transmitting a request for acquiring content whose URL is “http://aaa.com/pict.jpg:7070”, if the IP address for “aaa.com” is “10.1.1.1”, the destination A packet with an IP address of “10.1.1.1” and a destination port number of “7070” is transmitted.

アドレス解決部D12は、取得しようとするコンテンツのURLのFQDN部分をキーにして、ドメインネームサーバE1に対してIPアドレスを問い合わせる。ドメインネームサーバE1からの応答には複数のIPアドレスが含まれていてもよい。この場合は、任意の1つのエントリを該FQDNに対応するIPアドレスとして用いる。   The address resolution unit D12 inquires of the domain name server E1 about the IP address using the FQDN portion of the URL of the content to be acquired as a key. The response from the domain name server E1 may include a plurality of IP addresses. In this case, any one entry is used as the IP address corresponding to the FQDN.

ドメインネームサーバE1は、アドレス/FQDN解決テーブルE11と、アドレス応答部E12と、FQDN応答部E13とを含む。   The domain name server E1 includes an address / FQDN resolution table E11, an address response unit E12, and an FQDN response unit E13.

アドレス/FQDN解決テーブルE11は、アドレス応答部E12及びFQDN応答部E13が受けたアドレス解決要求及びFQDN解決要求に対して応答する際に参照するテーブルであり、「FQDN→IPアドレス」の変換テーブルであるアドレス解決用テーブル108と、「IPアドレス→FQDN」の変換テーブルであるFQDN解決用テーブル109の2つからなる。   The address / FQDN resolution table E11 is a table that is referred to when responding to the address resolution request and the FQDN resolution request received by the address response unit E12 and the FQDN response unit E13, and is a conversion table of “FQDN → IP address”. There are two tables, one address resolution table 108 and an FQDN resolution table 109 which is a conversion table of “IP address → FQDN”.

図22は、アドレス/FQDN解決テーブルE11の例を示すものである。アドレス/FQDN解決テーブルE11は、アドレス解決用テーブル108と、FQDN解決用テーブル109の2つのテーブルから構成される。アドレス/FQDN解決テーブルE11の特徴として、アドレス解決用テーブル108にはあるFQDNに対して解決されるIPアドレスが複数存在してもよいが、FQDN解決用テーブル109にはあるIPアドレスに対して解決されるFQDNは1つでなければならない。   FIG. 22 shows an example of the address / FQDN resolution table E11. The address / FQDN resolution table E11 includes two tables, an address resolution table 108 and an FQDN resolution table 109. As a feature of the address / FQDN resolution table E11, there may be a plurality of IP addresses that can be resolved for a certain FQDN in the address resolution table 108, but there is a resolution for a certain IP address in the FQDN resolution table 109. There must be one FQDN.

このとき、FQDNをコンテンツグループの識別子として用いれば、サーバ負荷分散装置C3は、クライアントD2から受信したパケットの宛先IPアドレスと宛先ポート番号からFQDNを解決することによって、リクエストしているコンテンツグループを識別することが可能になる。更に、該FQDNからIPアドレスを解決することにより、該FQDNに対する候補サーバ一覧を取得することができる。すなわち、IPヘッダ及びトランスポート層(UDP/TCP)ヘッダの解析のみでリクエストしているコンテンツグループを識別でき、更に上位層の情報を解析する必要がないという効果がある。   At this time, if the FQDN is used as the content group identifier, the server load balancer C3 identifies the requested content group by resolving the FQDN from the destination IP address and destination port number of the packet received from the client D2. It becomes possible to do. Furthermore, by resolving the IP address from the FQDN, a candidate server list for the FQDN can be acquired. In other words, the requested content group can be identified only by analyzing the IP header and the transport layer (UDP / TCP) header, and there is no need to analyze the information of the higher layer.

アドレス応答部E12は、他ノードから受信したアドレス解決要求に対して、要求メッセージ内に含まれるFQDNをキーとしてアドレス/FQDN解決テーブルを参照し、解決されたIPアドレスを応答する。   In response to the address resolution request received from the other node, the address response unit E12 refers to the address / FQDN resolution table using the FQDN included in the request message as a key, and responds with the resolved IP address.

FQDN応答部E13は、他ノードから受信したFQDN解決要求に対して、要求メッセージ内に含まれるIPアドレスをキーとしてアドレス/FQDN解決テーブルを参照し、解決されたFQDNを応答する。   In response to the FQDN resolution request received from another node, the FQDN response unit E13 refers to the address / FQDN resolution table using the IP address included in the request message as a key, and responds with the resolved FQDN.

次に、図23を参照して、本実施の形態において、クライアントD2があるコンテンツを取得するリクエストを送信する際の動作について詳細に説明する。   Next, with reference to FIG. 23, in this Embodiment, the operation | movement at the time of transmitting the request | requirement which acquires the content with a client D2 is demonstrated in detail.

リクエスト送信部D11は、取得しようとするコンテンツのURLから、FQDN部分を抽出する(図23のステップS701)。例えば、URLが、「http://aaa.com/pict.jpg:7070」であるとすると、「aaa.com」がFQDN部分に対応する。   The request transmission unit D11 extracts the FQDN from the URL of the content to be acquired (step S701 in FIG. 23). For example, when the URL is “http://aaa.com/pict.jpg:7070”, “aaa.com” corresponds to the FQDN part.

次に、アドレス解決部D12を介して、抽出したFQDNに対応するIPアドレスを解決する(ステップS702)。このとき、アドレス解決部D12は、ドメインネームサーバE1に対して該FQDNをキーにしてアドレス解決要求を行う。   Next, the IP address corresponding to the extracted FQDN is resolved through the address resolution unit D12 (step S702). At this time, the address resolution unit D12 makes an address resolution request to the domain name server E1 using the FQDN as a key.

最後に、リクエスト送信部D11は、解決したIPアドレスを宛先IPアドレスとして、該コンテンツに対するリクエストパケットを送信する(ステップS703)。   Finally, the request transmission unit D11 transmits a request packet for the content using the resolved IP address as the destination IP address (step S703).

次に、図24を参照して、本実施の形態において、サーバ負荷分散装置C3がクライアントD2からパケットを受信したときの動作について詳細に説明する。   Next, with reference to FIG. 24, the operation when the server load distribution apparatus C3 receives a packet from the client D2 in the present embodiment will be described in detail.

パケット受信部C25は、受信したパケットの宛先ポート番号を解析し、解析した宛先ポート番号が予め設定された値に一致するかどうかをチェックする(図24のステップS801)。   The packet receiver C25 analyzes the destination port number of the received packet and checks whether or not the analyzed destination port number matches a preset value (step S801 in FIG. 24).

ステップS801の結果、予め設定された値に一致しない場合、パケット受信部C25は、受信パケットを通常のパケットとして処理する(ステップS803)。すなわち、サーバ負荷分散装置としての動作は行わない。   If the result of step S801 does not match the preset value, the packet receiver C25 processes the received packet as a normal packet (step S803). That is, the operation as a server load balancer is not performed.

ステップS801の結果、予め設定された値に一致する場合、パケット受信部C25は、受信パケットの宛先IPアドレス/宛先ポート番号に対応するエントリがパケットルーティングテーブルC21内に存在するかどうかをチェックする(ステップS802)。   If the result of step S801 matches the preset value, the packet receiver C25 checks whether or not an entry corresponding to the destination IP address / destination port number of the received packet exists in the packet routing table C21 ( Step S802).

ステップS802の結果、エントリが存在する場合、パケット受信部C25は、該エントリにおける転送先サーバIPアドレスをパケットルーティングテーブルC21に対して問い合わせる(ステップS804)。   If the entry exists as a result of step S802, the packet receiver C25 inquires the packet routing table C21 about the transfer destination server IP address in the entry (step S804).

このとき、パケットルーティングテーブルC21は、受信パケットの宛先IPアドレス/ポート番号に対する転送先サーバのIPアドレスを応答するが、このとき複数の転送先サーバIPアドレスが登録されている場合は、先に説明したように、ハッシュ関数を用いる方法等により、同一のコネクションを同一のコンテンツサーバに接続させるように転送先サーバのIPアドレスを応答する。   At this time, the packet routing table C21 responds with the IP address of the transfer destination server corresponding to the destination IP address / port number of the received packet. If a plurality of transfer destination server IP addresses are registered at this time, the packet routing table C21 will be described first. As described above, the IP address of the transfer destination server is returned so that the same connection is connected to the same content server by a method using a hash function or the like.

パケット受信部C25は、パケットルーティングテーブルC21から転送先サーバIPアドレスを応答されると、受信パケットの宛先アドレスを該転送先サーバIPアドレスに書き換えて該受信パケットを送信する(ステップS805)。   When the packet receiving unit C25 receives the transfer destination server IP address from the packet routing table C21, the packet receiving unit C25 rewrites the destination address of the received packet with the transfer destination server IP address and transmits the received packet (step S805).

ステップS802の結果、エントリが存在しない場合は、パケット受信部C25は、該受信パケットの宛先IPアドレスを変更せず、そのままオリジナルの宛先IPアドレスへ転送する(ステップS806)。更に該宛先IPアドレス/宛先ポート番号をもつパケットに対する最適な転送先サーバを決定し、パケットルーティングテーブルC21にエントリを書き込む動作を行う(ステップS807)。ステップS806の後、ステップS807によって転送先サーバが書き込まれるまでは、該宛先IPアドレス/宛先ポート番号をもつパケットを受信しても、そのままオリジナルの宛先IPアドレスへ転送する。   If the entry does not exist as a result of step S802, the packet receiving unit C25 transfers the received packet to the original destination IP address without changing the destination IP address (step S806). Further, an optimum transfer destination server for the packet having the destination IP address / destination port number is determined, and an operation of writing an entry in the packet routing table C21 is performed (step S807). After step S806, until the transfer destination server is written in step S807, even if a packet having the destination IP address / destination port number is received, it is transferred as it is to the original destination IP address.

ステップS807に対応する動作を詳細に説明するためのフローチャートが図25である。   FIG. 25 is a flowchart for explaining in detail the operation corresponding to step S807.

転送先サーバ決定部C22は、FQDN解決部C23を介して、受信パケットの宛先IPアドレスに対するFQDNを解決する(図25のステップS901)。このとき、FQDN解決部C23は、ドメインネームサーバE1に対して該IPアドレスをキーにしてFQDN解決要求を送信し、応答を受信する。   The transfer destination server determination unit C22 resolves the FQDN for the destination IP address of the received packet via the FQDN resolution unit C23 (step S901 in FIG. 25). At this time, the FQDN resolution unit C23 transmits a FQDN resolution request to the domain name server E1 using the IP address as a key, and receives a response.

ステップS901でFQDNを解決すると、転送先サーバ決定部C22は、アドレス解決部C24を介して、ステップS901で解決したFQDNと該パケットの宛先ポート番号を用いて新規にFQDNを作成し、新規に作成したFQDNに対するIPアドレスを解決する(ステップS902)。ここで新規に作成するFQDNは、パケットの宛先IPアドレスと宛先ポート番号の組み合わせに対して一意でなければならない。例えば、解決したFQDNが「aaa.com」であり、該パケットの宛先ポート番号が「7070」であるとき、「port7070.aaa.com」というFQDNに対するIPアドレスを解決する。   When the FQDN is resolved in step S901, the transfer destination server determination unit C22 creates a new FQDN using the FQDN that was resolved in step S901 and the destination port number of the packet via the address resolution unit C24. The IP address corresponding to the FQDN is resolved (step S902). Here, the newly created FQDN must be unique for the combination of the destination IP address and the destination port number of the packet. For example, when the resolved FQDN is “aaa.com” and the destination port number of the packet is “7070”, the IP address for the FQDN of “port7070.aaa.com” is resolved.

ステップS902では、ステップS901で解決したFQDNと該パケットの宛先ポート番号を用いて新規にFQDNを作成し、この新規に作成したFQDNをキーとして、ドメインネームサーバに対してIPアドレスを解決したが、この他にも、ステップS901で解決したFQDNをそのままキーとして用いる方法もある。この場合、ステップS901で解決したFQDN自体がリクエストしているコンテンツグループに対してユニークになっていなければならない。従って、サーバ負荷分散装置C3が受信したパケットの宛先IPアドレスには、コンテンツグループ毎にユニークである値がつけられている必要がある。またこの場合は、パケットルーティングテーブルC21においては、転送先サーバのIPアドレスは宛先IPアドレスだけに対して登録されているだけでよく、宛先IPアドレス/宛先ポート番号の組み合わせに対して登録されている必要はない。   In step S902, a new FQDN is created using the FQDN resolved in step S901 and the destination port number of the packet, and the IP address is resolved to the domain name server using this newly created FQDN as a key. In addition to this, there is a method in which the FQDN solved in step S901 is directly used as a key. In this case, the FQDN itself solved in step S901 must be unique to the requested content group. Therefore, the destination IP address of the packet received by the server load balancer C3 needs to be given a unique value for each content group. In this case, in the packet routing table C21, the IP address of the transfer destination server need only be registered for the destination IP address only, and is registered for the destination IP address / destination port number combination. There is no need.

次に、転送先サーバ決定部C22は、ステップS902で解決したIPアドレスに対応するサーバの中から、転送先サーバを決定する(ステップS903)。ここで転送先サーバを決定する詳細な動作については、第2の実施の形態と同様であるため、省略する。   Next, the transfer destination server determination unit C22 determines a transfer destination server from among the servers corresponding to the IP address solved in step S902 (step S903). Here, the detailed operation for determining the transfer destination server is the same as that in the second embodiment, and a description thereof will be omitted.

転送先サーバを決定すると、転送先サーバ決定部C22は、決定したサーバのIPアドレスをパケットルーティングエントリに対して書き込む(ステップS904)。   When the transfer destination server is determined, the transfer destination server determination unit C22 writes the determined server IP address in the packet routing entry (step S904).

(第5の実施の形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of 5th Embodiment)
Next, the effect of this embodiment will be described.

本実施の形態では、サーバ負荷分散装置は、パケットの宛先IPアドレス/宛先ポート番号からドメインネームサーバを用いてリクエストしているコンテンツの属するコンテンツグループを識別し、該コンテンツグループに対する最適なコンテンツサーバへパケットを転送する。従来のサーバ負荷分散装置は、クライアントからのパケットの中身を解析し、どのコンテンツに対するリクエストであるかを識別する機能をもつ必要があった。すなわち、サーバ負荷分散装置としてレイヤ7スイッチを用いる必要があった。本実施の形態におけるサーバ負荷分散装置は、パケットの宛先IPアドレス及び宛先ポート番号のみを調べるだけでどのコンテンツに対するリクエストであるかを識別することができる。従って、レイヤ4スイッチを用いて実現可能である。一般的に、レイヤ7スイッチの方が1秒あたりのコネクション数などの処理性能が低く、コストも高い。本実施の形態を適用してレイヤ4スイッチで同等の機能を実現できれば、処理性能向上、コスト削減などの観点から効果があるといえる。   In the present embodiment, the server load distribution device identifies the content group to which the requested content belongs using the domain name server from the destination IP address / destination port number of the packet, and becomes the optimum content server for the content group. Forward the packet. A conventional server load distribution device needs to have a function of analyzing the contents of a packet from a client and identifying which content the request is for. That is, it is necessary to use a layer 7 switch as a server load distribution device. The server load distribution apparatus according to the present embodiment can identify which content is a request only by examining only the destination IP address and destination port number of the packet. Therefore, it is realizable using a layer 4 switch. In general, the layer 7 switch has lower processing performance such as the number of connections per second, and the cost is higher. If this embodiment is applied and an equivalent function can be realized by a layer 4 switch, it can be said that there is an effect from the viewpoint of improving processing performance and reducing costs.

なお、この第5の実施の形態と前述した第1の実施の形態のコンテンツ管理装置を組み合わせて適用することができるのは言うまでもない。その場合、図2に示した分類ポリシテーブルにおいて集約URLの代わりにポート番号が設定される。また、図3の集約後のディレクトリパスは、「/cgi/high-load/z.exe:7070」といったポート番号を付加したパスに置換えられる。   Needless to say, the fifth embodiment and the content management apparatus of the first embodiment described above can be applied in combination. In that case, a port number is set instead of the aggregation URL in the classification policy table shown in FIG. 3 is replaced with a path with a port number such as “/cgi/high-load/z.exe:7070”.

以下、本発明の実施例について図を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(第1の実施例)
まず、本発明の第1の実施例を、図面を参照して説明する。かかる実施例は本発明の第2の実施の形態に対応するものである。
(First embodiment)
First, a first embodiment of the present invention will be described with reference to the drawings. Such an example corresponds to the second embodiment of the present invention.

図7を参照すると、本実施例は、コンテンツサーバA2とサーバ負荷分散装置C1と、クライアントD1とによって構成される網によって行われる。   Referring to FIG. 7, the present embodiment is performed by a network constituted by a content server A2, a server load distribution device C1, and a client D1.

サーバ負荷分散装置C1内の転送先決定ポリシ設定部C12には、図8の転送先サーバ決定ポリシテーブル103に示すポリシが設定されている。また、初期状態としてリクエストルーティングテーブルC14に登録されているエントリはないとする。   In the transfer destination determination policy setting unit C12 in the server load balancer C1, the policies shown in the transfer destination server determination policy table 103 of FIG. 8 are set. Further, it is assumed that there is no entry registered in the request routing table C14 as an initial state.

クライアントD1は、URLが「http://www.aaa.com/file/small/pict.gif」によって識別されるコンテンツを取得するリクエストをサーバ側へ送信する。   The client D1 transmits a request for acquiring the content identified by the URL “http://www.aaa.com/file/small/pict.gif” to the server side.

サーバ負荷分散装置C1は、該リクエストを受信し、リクエストしているURLを解析する。そして、リクエストルーティングテーブルC14を参照し、該URLに対するエントリは存在しないために、該リクエストをデフォルトのコンテンツサーバへ転送する。URLのFQDN部分である「www.aaa.com」からドメインネームサーバで解決したIPアドレスをデフォルトのコンテンツサーバとする。   The server load balancer C1 receives the request and analyzes the requested URL. Then, referring to the request routing table C14, since there is no entry for the URL, the request is transferred to the default content server. The IP address resolved by the domain name server from “www.aaa.com” that is the FQDN part of the URL is set as the default content server.

該リクエスト転送後、サーバ負荷分散装置C1は、リクエストルーティングテーブルC14に該URLの属するコンテンツグループに対する転送先サーバのエントリを作成しようとする。   After the request is transferred, the server load balancer C1 tries to create an entry of the transfer destination server for the content group to which the URL belongs in the request routing table C14.

まず、転送先サーバ決定部C13は、コンテンツサーバA2を管理するコンテンツ管理装置に問い合わせることによって、該URLに対するコンテンツグループと候補サーバリストを取得する。   First, the transfer destination server determination unit C13 obtains a content group and a candidate server list for the URL by making an inquiry to a content management device that manages the content server A2.

問い合わせを受けたコンテンツ管理装置は、該URLに対するコンテンツグループは、ファイルの特性をもち、「http://www.aaa.com/file/small/*」のURLプレフィクスで識別され、候補サーバリストは、「10.1.1.1」、「10.2.2.2」、「10.3.3.3」の3つであるという情報を応答する。   When the content management apparatus receives the inquiry, the content group corresponding to the URL has file characteristics and is identified by the URL prefix “http://www.aaa.com/file/small/*”. Responds with information indicating that there are three, “10.1.1.1”, “10.2.2.2”, and “10.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つであると応答する。   As another method for obtaining a candidate server list for the URL, an FQDN “small.file.www.aaa.com” is created from the URL, and a list of corresponding IP addresses is created using the FQDN as a key. There is also an example of querying the server. In this example, the domain name server responds that there are three IP addresses for the FQDN, “10.1.1.1”, “10.2.2.2”, and “10.3.3.3”.

次に、転送先サーバ決定部C13は、転送先サーバ決定ポリシ設定部C12を参照して該コンテンツグループに対する転送先サーバ決定ポリシを調べ、ファイルの特性をもつコンテンツグループに対してはコンテンツ取得時の転送スループットが用いられ、この値が最大となるサーバを基準として、60%までの値をもつサーバが転送先サーバとして選択される、というポリシを取得する。   Next, the transfer destination server determination unit C13 refers to the transfer destination server determination policy setting unit C12 to check the transfer destination server determination policy for the content group, and for the content group having the file characteristics, A policy is used in which transfer throughput is used, and a server having a value up to 60% is selected as a transfer destination server on the basis of the server having the maximum value.

転送先サーバ決定部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つのサーバに対してラウンドロビンで転送される。   In order to measure the transfer throughput from each candidate server according to the acquired policy, the transfer destination server determination unit C13 stores the URL pre-fix “http://www.aaa.com/file/small/*” in the request routing table C14. Three IP addresses "10.1.1.1", "10.2.2.2", and "10.3.3.3" are registered as transfer destination servers for requests having a fix. After registration, each request corresponding to the URL prefix from the client is transferred to the three servers in a round robin manner.

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つのサーバに対してラウンドロビンで転送される。   The response content from the content server side in response to the request transferred to the three servers by round robin is received by the content reception / transfer unit C17. The resource acquisition unit C11 acquires the transfer throughput of the response content via the content reception / transfer unit C17, and passes the acquired information to the transfer destination server determination unit C13. Here, it is assumed that the transfer throughputs of the servers corresponding to “10.1.1.1”, “10.2.2.2”, and “10.3.3.3” are 1 Mbps, 7 Mbps, and 10 Mbps, respectively. Based on the policy in which the server having the maximum value is selected as a reference, a server having a value of up to 60% is selected as the transfer destination. Therefore, the transfer destination server determination unit C13 sets “10.2.2.2” and “10.3. Two servers corresponding to “3.3” are determined as transfer destinations. In addition, there are two transfer destination servers “10.2.2.2” and “10.3.3.3” for requests having the URL prefix “http://www.aaa.com/file/small/*” in the request routing table C14. Rewrite to Thereafter, the request corresponding to the URL prefix is transferred to the two servers in round robin.

(第2の実施例)
次に、本発明の第2の実施例を、図面を参照して説明する。かかる実施例は本発明の第3の実施の形態に対応するものである。
(Second embodiment)
Next, a second embodiment of the present invention will be described with reference to the drawings. Such an example corresponds to the third embodiment of the present invention.

図26を参照すると、本実施例は、コンテンツサーバ201とサーバ負荷分散装置301〜306とによって行われる。コンテンツサーバ201は第3の実施の形態におけるコンテンツサーバA3と同じ構成をもち、同様にサーバ負荷分散装置301〜306はサーバ負荷分散装置C1と同じ構成をもつ。   Referring to FIG. 26, the present embodiment is performed by the content server 201 and the server load balancers 301 to 306. The content server 201 has the same configuration as the content server A3 in the third embodiment, and similarly the server load distribution devices 301 to 306 have the same configuration as the server load distribution device C1.

コンテンツサーバ201内には、図14のリソース応答ポリシテーブル105に示されるリソース応答ポリシが設定されている。ここで、コンテンツサーバ201において現在のCPU負荷が25%であったとする。   In the content server 201, the resource response policy shown in the resource response policy table 105 in FIG. 14 is set. Here, it is assumed that the current CPU load in the content server 201 is 25%.

ここで、サーバ負荷分散装置301〜306において転送先サーバを決定するために、各サーバ負荷分散装置からほぼ同時に、コンテンツサーバ201に対してCPU負荷のリソース取得要求を行うとする。   Here, in order to determine the transfer destination server in the server load balancers 301 to 306, it is assumed that a resource acquisition request for CPU load is made to the content server 201 almost simultaneously from each server load balancer.

最初のサーバ負荷分散装置301〜304からのリソース取得要求に対しては、現在のCPU負荷が0%〜30%の範囲内にあるので、70%の確率で実際のCPU負荷を応答し、30%の確率で実際のCPU負荷の2倍の値を応答する。ここでは、サーバ負荷分散装置301〜304に対しては実際のCPU負荷である25%を応答し、サーバ負荷分散装置305、306に対しては実際のCPU負荷の2倍の値である50%を応答するとする。   In response to the resource acquisition requests from the first server load balancers 301 to 304, since the current CPU load is in the range of 0% to 30%, the actual CPU load is responded with a probability of 70%. Responds twice the actual CPU load with a probability of%. Here, 25% which is an actual CPU load is responded to the server load balancers 301 to 304, and 50% which is a value twice the actual CPU load for the server load balancers 305 and 306. To respond.

もしコンテンツサーバ201が実際のCPU負荷である25%をサーバ負荷分散装置301〜306に対して応答した場合、全てのサーバ負荷分散装置がコンテンツサーバ201のCPU負荷が十分低いと判断し、コンテンツサーバ201を転送先サーバとして決定するために、リクエストの急激な増加による負荷増大が発生する可能性がある。本実施例では、サーバ負荷分散装置305、306はコンテンツサーバ201のCPU負荷は十分低くないと判断し、コンテンツサーバ201以外のコンテンツサーバを転送先サーバとして決定したとする。そのため、コンテンツサーバ201における急激な負荷増大が抑制される。   If the content server 201 responds to the server load balancers 301 to 306 with 25% that is the actual CPU load, all the server load balancers determine that the CPU load on the content server 201 is sufficiently low, and the content server Since 201 is determined as the transfer destination server, there is a possibility that a load increase due to a sudden increase in requests may occur. In this embodiment, it is assumed that the server load distribution apparatuses 305 and 306 determine that the CPU load of the content server 201 is not sufficiently low and determine a content server other than the content server 201 as the transfer destination server. Therefore, a rapid load increase in the content server 201 is suppressed.

(第3の実施例)
次に、本発明の第3の実施例を、図面を参照して説明する。かかる実施例は本発明の第4の実施の形態に対応するものである。
(Third embodiment)
Next, a third embodiment of the present invention will be described with reference to the drawings. Such an example corresponds to the fourth embodiment of the present invention.

図27を参照すると、本実施例は、コンテンツサーバ202、203とサーバ負荷分散装置307とによって行われる。コンテンツサーバ202、203は第4の実施の形態におけるコンテンツサーバA2と同じ構成をもち、同様にサーバ負荷分散装置307はサーバ負荷分散装置C2と同じ構成をもつ。   Referring to FIG. 27, the present embodiment is performed by the content servers 202 and 203 and the server load balancer 307. The content servers 202 and 203 have the same configuration as the content server A2 in the fourth embodiment, and similarly the server load distribution device 307 has the same configuration as the server load distribution device C2.

まず、サーバ負荷分散装置307内のリクエストルーティングテーブルにおいては、図28のテーブル110に示すように、「ftp://ftp.ccc.edu/pub/*」に対する転送先サーバIPアドレスとして、「10.5.1.1」(コンテンツサーバ202に対応)、「10.6.1.1」(コンテンツサーバ203に対応)の2つがあり、それぞれに対するウェイト値が90%、10%であったとする。   First, in the request routing table in the server load balancer 307, as shown in the table 110 of FIG. 28, the transfer destination server IP address for “ftp://ftp.ccc.edu/pub/*” is “10.5”. .1.1 ”(corresponding to the content server 202) and“ 10.6.1.1 ”(corresponding to the content server 203), and the weight value for each is 90% and 10%.

このウェイト値は、転送スループットが最大となるサーバと最小となるサーバとの差が2倍以内になるまで、各サーバからの転送スループット比に応じて再設定されるものとする。ここで、コンテンツサーバ202、203に対する転送スループットがそれぞれ1Mbps、9Mbpsであったとする。このとき、「move_granularity=1.0」であったとすると、それぞれのサーバに対するウェイト値はそれぞれ、90%→10%、10%→90%と再設定される。ウェイト再設定後、それぞれのサーバに対するリクエスト転送の比率が変わり、次回に転送スループットを測定した際にはそれぞれのスループットが9Mbps、1Mbpsであったとする。すると、ウェイトが再度設定され、10%→90%、90%→10%と最初の値に戻る。このように、ウェイト変更動作が再帰的に繰り返され、発振してしまう場合はmove_granularityが大きすぎることを示している。   This weight value is reset according to the transfer throughput ratio from each server until the difference between the server having the maximum transfer throughput and the server having the minimum transfer throughput is within twice. Here, it is assumed that the transfer throughputs for the content servers 202 and 203 are 1 Mbps and 9 Mbps, respectively. At this time, assuming that “move_granularity = 1.0”, the weight values for the respective servers are reset as 90% → 10%, 10% → 90%, respectively. It is assumed that the ratio of request transfer to each server changes after the weight is reset, and the next throughput is 9 Mbps and 1 Mbps when the transfer throughput is measured next time. Then, the weight is set again, and the initial value returns to 10% → 90% and 90% → 10%. Thus, when the weight changing operation is recursively repeated and oscillates, it indicates that move_granularity is too large.

そこで、上記の例で、「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を適当な値に調整することが重要である。   Therefore, consider the case where “move_granularity = 0.5” in the above example. If the transfer throughput for the content servers 202 and 203 is 1 Mbps and 9 Mbps, respectively, the fluctuation amount of the weight value for each server is multiplied by 0.5 in the case of “move_granularity = 1.0”, and 90% → 50% Reset from 10% to 50%. It is assumed that the ratio of request transfer to each server changes after the weight is reset, and the next throughput is 7 Mbps and 3 Mbps when the transfer throughput is measured next time. Similarly, the respective weight values are reset from 50% to 60% and 50% to 40%. After the weight is reset, the transfer throughput for each server becomes 6 Mbps and 4 Mbps, and the difference between the server having the maximum transfer throughput and the server having the minimum transfer throughput is within twice, so the weight change operation is terminated. Thus, it is important to adjust move_granularity to an appropriate value so that the weight changing operation does not oscillate.

(第4の実施例)
次に、本発明の第4の実施例を、図面を参照して説明する。かかる実施例は本発明の第5の実施の形態に対応するものである。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described with reference to the drawings. Such an example corresponds to the fifth embodiment of the present invention.

図20を参照すると、本実施例は、コンテンツサーバA4とサーバ負荷分散装置C3と、クライアントD2と、ドメインネームサーバE1とによって構成される網によって行われる。   Referring to FIG. 20, the present embodiment is performed by a network including a content server A4, a server load distribution device C3, a client D2, and a domain name server E1.

ドメインネームサーバE1内には、図22に示すアドレス解決用テーブル108と、FQDN解決用テーブル109が登録されている。   In the domain name server E1, an address resolution table 108 and an FQDN resolution table 109 shown in FIG. 22 are registered.

サーバ負荷分散装置C3内のパケットルーティングテーブルC21に登録されているエントリは初期状態で空であるとする。   It is assumed that the entry registered in the packet routing table C21 in the server load balancer C3 is empty in the initial state.

クライアント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」を宛先ポート番号としたパケットの形で該リクエストを送信する。   The client D2 tries to transmit a request for acquiring the content identified by the URL “http://aaa.com/pict.jpg:7070” to the server side. At this time, an address resolution request is issued to the domain name server E1 using “aaa.com” which is the FQDN portion of the URL as a key. The domain name server E1 responds with “10.1.1.1” which is the corresponding IP address. Then, the client D2 transmits the request in the form of a packet having the resolved “10.1.1.1” as the destination IP address and “7070” specified by the URL as the destination port number.

サーバ負荷分散装置C3は、クライアントD2からパケットを受信し、予め指定された宛先ポート番号をもつパケットに対して、パケットルーティングテーブルC21を参照して転送先サーバIPアドレスへと転送する。この場合、「7070」は予め設定された宛先ポート番号であり、パケットルーティングテーブルC21を調べるが、登録されているエントリはないため、オリジナルの宛先IPアドレスのまま、該パケットを転送する。   The server load distribution device C3 receives the packet from the client D2, and transfers the packet having the destination port number designated in advance to the transfer destination server IP address with reference to the packet routing table C21. In this case, “7070” is a preset destination port number and the packet routing table C21 is examined. Since there is no registered entry, the packet is transferred with the original destination IP address.

該パケット転送後、サーバ負荷分散装置C2は、パケットルーティングテーブルC21に該パケットに対応するコンテンツグループに対する転送先サーバのエントリを作成しようとする。転送先サーバのエントリが作成されるまでは、該パケットと同じ宛先IPアドレス/宛先ポート番号をもつパケットを受信しても、オリジナルの宛先IPアドレスへ転送する。   After the packet transfer, the server load balancer C2 attempts to create a transfer destination server entry for the content group corresponding to the packet in the packet routing table C21. Until a transfer destination server entry is created, even if a packet having the same destination IP address / destination port number as the packet is received, it is transferred to the original destination IP address.

このパケットルーティングテーブルC21にパケットに対応するコンテンツグループに対する転送先サーバのエントリを作成する場合の例を、図29を参照して説明する。クライアントD2からは、上記のように「10.1.1.1」を宛先IPアドレスとし、URLで指定された「7070」を宛先ポート番号としたパケットの形でリクエストが送信されている。   An example of creating a transfer destination server entry for a content group corresponding to a packet in the packet routing table C21 will be described with reference to FIG. The request is transmitted from the client D2 in the form of a packet having “10.1.1.1” as the destination IP address and “7070” designated by the URL as the destination port number as described above.

まず、サーバ負荷分散装置C2の転送先サーバ決定部C22は、FQDN解決部C23を介して、ドメインネームサーバE1に該パケットの宛先IPアドレスである「10.1.1.1」をキーとしてFQDN解決要求を出す。   First, the transfer destination server determination unit C22 of the server load distribution device C2 issues an FQDN resolution request to the domain name server E1 using the destination IP address “10.1.1.1” as a key via the FQDN resolution unit C23. .

問い合わせを受けたドメインネームサーバE1のFQDN応答部E13は、「10.1.1.1」に対するFQDNである「aaa.com」を応答する。   Upon receiving the inquiry, the FQDN response unit E13 of the domain name server E1 responds with “aaa.com” that is the FQDN for “10.1.1.1”.

次に、転送先サーバ決定部C22は、アドレス解決部C24を介して、ドメインネームサーバE1に応答されたFQDNである「aaa.com」に宛先ポート番号「7070」の情報を付与した、「port7070.aaa.com」というFQDNをキーとしてアドレス解決要求を出す。ここで新規に作成するFQDNは、該パケットの宛先IPアドレスと宛先ポート番号に対してユニークであればよく、この例の他にも、「7070.port.aaa.com」などとしてもよい。ただし、作成するFQDNに対応するエントリがドメインネームサーバE1にも登録されていることが条件である。   Next, the transfer destination server determination unit C22 assigns the information of the destination port number “7070” to “aaa.com” that is the FQDN that is responded to the domain name server E1, via the address resolution unit C24, “port7070 An address resolution request is issued with the FQDN “.aaa.com” as a key. The newly created FQDN need only be unique to the destination IP address and destination port number of the packet, and may be “7070.port.aaa.com” in addition to this example. However, it is a condition that an entry corresponding to the FQDN to be created is also registered in the domain name server E1.

問い合わせを受けたドメインネームサーバE1のアドレス応答部E12は、「port7070.aaa.com」に対するアドレスである「10.1.1.1」、「20.2.2.2」、「30.3.3.3」を応答する。   Upon receiving the inquiry, the address response unit E12 of the domain name server E1 responds “10.1.1.1”, “20.2.2.2”, and “30.3.3.3”, which are addresses to “port7070.aaa.com”.

従って、転送先サーバ決定部C22は、宛先IPアドレス/宛先ポート番号が「10.1.1.1/7070」のパケットに対する候補サーバの宛先IPアドレスが「10.1.1.1」、「20.2.2.2」、「30.3.3.3」の2つであるとわかる。   Accordingly, the transfer destination server determination unit C22 determines that the destination IP addresses of the candidate servers for the packet having the destination IP address / destination port number “10.1.1.1/7070” are “10.1.1.1”, “20.2.2.2”, “30.3. 3.3 "is understood.

次に、転送先サーバ決定部C22は、候補サーバの中からパケットルーティングテーブルに登録する転送先サーバを決定する。ここでは、転送先サーバの決定ポリシとして、CPU負荷の低い順に2つのサーバを選択するというポリシが設定されているものとし、各サーバに問い合わせた結果、「10.1.1.1」に対応するサーバのCPU負荷が80%、「20.2.2.2」に対応するサーバのCPU負荷が30%、「30.3.3.3」に対応するサーバのCPU負荷が50%であったとする。   Next, the transfer destination server determination unit C22 determines a transfer destination server to be registered in the packet routing table from the candidate servers. Here, it is assumed that a policy for selecting two servers in ascending order of CPU load is set as the transfer destination server decision policy. As a result of inquiring each server, the CPU of the server corresponding to “10.1.1.1” Assume that the load is 80%, the CPU load of the server corresponding to “20.2.2.2” is 30%, and the CPU load of the server corresponding to “30.3.3.3” is 50%.

その結果、転送先サーバ決定部C22は、宛先IPアドレス/宛先ポート番号が「10.1.1.1/7070」であるパケットに対して、「20.2.2.2」に対応するサーバと「30.3.3.3」に対応するサーバを転送先として決定し、パケットルーティングテーブルC21に登録する(図21のパケットルーティングテーブル107参照)。   As a result, the transfer destination server determination unit C22 supports the server corresponding to “20.2.2.2” and “30.3.3.3” for the packet whose destination IP address / destination port number is “10.1.1.1/7070”. The server to be transferred is determined as a transfer destination and registered in the packet routing table C21 (see the packet routing table 107 in FIG. 21).

パケットルーティングテーブルC21へのエントリ登録後、宛先IPアドレス/宛先ポート番号が「10.1.1.1/7070」であるパケットは、「20.2.2.2」又は「30.3.3.3」のIPアドレスをもつサーバへリダイレクトされる。   After registering the entry in the packet routing table C21, the packet having the destination IP address / destination port number “10.1.1.1/7070” is redirected to the server having the IP address “20.2.2.2” or “30.3.3.3”. The

なお、上記各実施の形態のサーバ負荷分散システムは、サーバ負荷分散装置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は、磁気ディスク、半導体メモリその他の記録媒体に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。   The server load distribution system of each of the above embodiments includes the transfer destination server determination policy setting unit C12, the transfer destination server determination unit C13, C22, the FQDN resolution unit C23, and the address resolution unit C24 in the server load distribution devices C1 to C3. Functions, functions of the content classification unit B12 and content aggregation unit B13 in the content management device B1, functions of the resource response units A13 and A15 and resource response policy setting unit A14 in the content servers A1 to A4, and other functions. Of course, the content distribution management program A39, the content management program B19, and the server load distribution programs C29, C49, and C59 having various functions are loaded into the memory of the computer processing apparatus. be able to. The content distribution management program A39, content management program B19, and server load distribution programs C29, C49, C59 are stored in a magnetic disk, a semiconductor memory, or other recording media. Each function described above is realized by being loaded from the recording medium into the computer processing apparatus and controlling the operation of the computer processing apparatus.

以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。   Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and various modifications can be made within the scope of the technical idea. Can be implemented.

以上説明したように本発明によれば、以下のような効果が達成される。   As described above, according to the present invention, the following effects are achieved.

第1の効果は、コンテンツサーバ内のコンテンツを、同じ特性をもつコンテンツ毎に分類/集約する作業を手動で行う必要がない。   The first effect is that there is no need to manually perform the operation of classifying / aggregating the content in the content server for each content having the same characteristics.

その理由は、コンテンツ管理装置において同じコンテンツグループとして分類/集約するためのポリシを設定しておくことにより、コンテンツサーバ内のコンテンツの静的/動的な特性に応じて自動的に集約することができるからである。   The reason is that by setting a policy for classifying / aggregating as the same content group in the content management apparatus, it is possible to automatically aggregate according to the static / dynamic characteristics of the content in the content server. Because it can.

第2の効果は、サーバ負荷分散装置において、コンテンツの特性に応じた最適なリクエストルーティングを最小のエントリ数で実現することができる。   The second effect is that the server load distribution device can realize the optimum request routing according to the content characteristics with the minimum number of entries.

その理由は、コンテンツ管理装置がコンテンツサーバ内のコンテンツをその静的/動的特性に応じて自動的に分類/集約するからである。   This is because the content management apparatus automatically classifies / aggregates the content in the content server according to its static / dynamic characteristics.

第3の効果は、サーバ負荷分散装置を経由させるだけで、クライアントからのリクエストを、リクエストしているコンテンツの特性に応じた最適なサーバに転送することができる。   A third effect is that a request from a client can be transferred to an optimum server according to the characteristics of the requested content simply by passing through the server load distribution device.

その理由は、サーバ負荷分散装置において、各コンテンツグループ毎にその特性に応じた選択基準により転送先サーバを決定し、決定した転送先サーバをリクエストルーティングテーブルに登録しておくと共に、クライアントから受信したリクエストがどのコンテンツグループに属するコンテンツに対するものであるかを識別することにより、対応するコンテンツグループに対する転送先サーバへ該リクエストを転送することができるからである。   The reason is that in the server load balancer, for each content group, a transfer destination server is determined based on a selection criterion corresponding to the characteristics, and the determined transfer destination server is registered in the request routing table and received from the client. This is because by identifying which content group the request belongs to, the request can be transferred to the transfer destination server for the corresponding content group.

第4の効果は、コンテンツサーバに対するクライアントからのリクエストの急激な集中を抑制すると共に、サーバ負荷分散装置のリクエストルーティングテーブルにおいて転送先サーバの決定が収束せずに発振することを抑止することができる。   The fourth effect is to suppress the rapid concentration of requests from clients to the content server and to prevent the determination of the transfer destination server from oscillating without converging in the request routing table of the server load balancer. .

その第1の理由は、コンテンツサーバにおいて、網内に配置されている複数のサーバ負荷分散装置からのリソース情報取得要求に対し、必ずしも実際のリソース情報をそのまま応答するのではなく、設定したリソース応答ポリシに応じてリソース値を補正して応答することにより、多数のサーバ負荷分散装置が同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。   The first reason is that the content server does not always respond with actual resource information as it is to a resource information acquisition request from a plurality of server load distribution apparatuses arranged in the network, but rather with a set resource response. This is because, by correcting the resource value according to the policy and responding, it is possible to prevent a large number of server load balancers from simultaneously selecting the same content server as the transfer destination.

その第2の理由は、サーバ負荷分散装置において、各エントリの転送先サーバに対するウェイト値を、取得したリソース値に応じて変更し、このウェイト値の変更を、move_granularityを用いて緩やかに行うことにより、多数のサーバ負荷分散装置が同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。   The second reason is that, in the server load balancer, the weight value for each entry transfer destination server is changed according to the acquired resource value, and this weight value is changed gently using move_granularity. This is because a large number of server load distribution devices can be prevented from simultaneously selecting the same content server as a transfer destination.

その第3の理由は、サーバ負荷分散装置において、各エントリの転送先サーバに対するウェイト値を、取得したリソース値に応じて直ちに再設定するする代わりに、ウェイト値を再設定する時刻を確率的に分散させた時間だけ遅延させ、遅延させた時刻に必要ならばウェイト値を再設定することにより、多数のサーバ負荷分散装置が同時に同じコンテンツサーバを転送先として選択することを抑制できるからである。   The third reason is that the server load balancer probabilistically sets the time for resetting the weight value instead of immediately resetting the weight value for the transfer destination server of each entry according to the acquired resource value. This is because it is possible to prevent a large number of server load distribution apparatuses from simultaneously selecting the same content server as a transfer destination by delaying the distributed time and resetting the weight value if necessary at the delayed time.

第5の効果は、サーバ負荷分散装置としてレイヤ7スイッチを用いずに、レイヤ4スイッチによって、クライアントからのリクエストを最適なコンテンツサーバへ誘導することができ、サーバ負荷分散装置としての処理性能向上、コスト削減を図ることができる。   The fifth effect is that the request from the client can be guided to the optimum content server by the layer 4 switch without using the layer 7 switch as the server load balancer, and the processing performance as the server load balancer is improved. Cost reduction can be achieved.

その理由は、サーバ負荷分散装置において、クライアントから受信したパケットの宛先IPアドレス/宛先ポート番号からドメインネームサーバを用いてリクエストしているコンテンツの属するコンテンツグループを識別し、該コンテンツグループに対する最適なコンテンツサーバへパケットを転送することにより、クライアントからのパケットの中身(URLなど)を解析する必要がないからである。   The reason is that the server load balancer identifies the content group to which the requested content belongs using the domain name server from the destination IP address / destination port number of the packet received from the client, and the optimum content for the content group This is because it is not necessary to analyze the contents (such as URL) of the packet from the client by transferring the packet to the server.

本発明の第1の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 本発明の第1の実施の形態の分類ポリシ設定部において設定される分類ポリシの例を示す図である。It is a figure which shows the example of the classification policy set in the classification policy setting part of the 1st Embodiment of this invention. 本発明の第1の実施の形態のコンテンツ集約部が行うURL書き換え処理の例を示す図である。It is a figure which shows the example of the URL rewriting process which the content aggregation part of the 1st Embodiment of this invention performs. 本発明の第1の実施の形態のコンテンツ管理装置の動作を示す流れ図である。It is a flowchart which shows operation | movement of the content management apparatus of the 1st Embodiment of this invention. 本発明の第1の実施の形態のコンテンツ管理装置をコンテンツサーバの一部の機能として実現した場合の例を示す図である。It is a figure which shows the example at the time of implement | achieving the content management apparatus of the 1st Embodiment of this invention as a one part function of a content server. 本発明の第1の実施の形態のコンテンツ管理装置に複数台のコンテンツサーバが接続される例を示す図である。It is a figure which shows the example with which several content servers are connected to the content management apparatus of the 1st Embodiment of this invention. 本発明の第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の転送先サーバ決定ポリシ設定部において設定される転送先サーバ決定ポリシの例を示す図である。It is a figure which shows the example of the transfer destination server determination policy set in the transfer destination server determination policy setting part of the 2nd Embodiment of this invention. 本発明の第2の実施の形態のリクエストルーティングテーブルにおいて登録されるエントリの例を示す図である。It is a figure which shows the example of the entry registered in the request routing table of the 2nd Embodiment of this invention. 本発明の第2の実施の形態のサーバ負荷分散装置がクライアントからリクエストを受信したときの動作を示す流れ図である。It is a flowchart which shows operation | movement when the server load distribution apparatus of the 2nd Embodiment of this invention receives a request from a client. 本発明の第2の実施の形態のサーバ負荷分散装置の転送先サーバ決定部が転送先サーバを決定する動作を示す流れ図である。It is a flowchart which shows the operation | movement which the transfer destination server determination part of the server load distribution apparatus of the 2nd Embodiment of this invention determines a transfer destination server. 本発明の第2の実施の形態のサーバ負荷分散装置においてリクエストルーティングテーブルに登録されているエントリを管理するときの動作を示す流れ図である。It is a flowchart which shows operation | movement when managing the entry registered into the request routing table in the server load distribution apparatus of the 2nd Embodiment of this invention. 本発明の第3の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 3rd Embodiment of this invention. 本発明の第3の実施の形態のリソース応答ポリシ設定部において設定されているリソース応答ポリシの例を示す図である。It is a figure which shows the example of the resource response policy set in the resource response policy setting part of the 3rd Embodiment of this invention. 本発明の第3の実施の形態においてコンテンツサーバがサーバ負荷分散装置からリソース取得要求を受信したときの動作を示す流れ図である。It is a flowchart which shows operation | movement when the content server receives the resource acquisition request from the server load distribution apparatus in the 3rd Embodiment of this invention. 本発明の第4の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 4th Embodiment of this invention. 本発明の第4の実施の形態のリクエストルーティングテーブルにおいて登録されるエントリの例を示す図である。It is a figure which shows the example of the entry registered in the request routing table of the 4th Embodiment of this invention. 本発明の第4の実施の形態のサーバ負荷分散装置の動作を示す流れ図である。It is a flowchart which shows operation | movement of the server load distribution apparatus of the 4th Embodiment of this invention. 本発明の第4の実施の形態のサーバ負荷分散装置の動作を示すもう1つの流れ図である。It is another flowchart which shows operation | movement of the server load distribution apparatus of the 4th Embodiment of this invention. 本発明の第5の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 5th Embodiment of this invention. 本発明の第5の実施の形態のパケットルーティングテーブルにおいて登録されるエントリの例を示す図である。It is a figure which shows the example of the entry registered in the packet routing table of the 5th Embodiment of this invention. 本発明の第5の実施の形態のアドレス/FQDN解決テーブルにおいて登録されるエントリの例を示す図である。It is a figure which shows the example of the entry registered in the address / FQDN resolution table of the 5th Embodiment of this invention. 本発明の第5の実施の形態においてクライアントがコンテンツを取得するリクエストを送信する際の動作を示す流れ図である。It is a flowchart which shows the operation | movement at the time of the 5th Embodiment of this invention transmitting the request for a client to acquire content. 本発明の第5の実施の形態においてサーバ負荷分散装置がクライアントからパケットを受信したときの動作を示す流れ図である。It is a flowchart which shows operation | movement when the server load distribution apparatus receives the packet from a client in the 5th Embodiment of this invention. 本発明の第5の実施の形態においてパケットルーティングテーブルにエントリを作成する動作を示す流れ図である。It is a flowchart which shows the operation | movement which creates an entry in a packet routing table in the 5th Embodiment of this invention. 本発明の第2の実施例における網構成図である。It is a network block diagram in the 2nd Example of this invention. 本発明の第3の実施例における網構成図である。It is a network block diagram in the 3rd Example of this invention. 第3の実施例におけるリクエストルーティングテーブルの例を示す図である。It is a figure which shows the example of the request routing table in a 3rd Example. 第4の実施例におけるリクエストルーティングテーブルに転送先サーバのエントリを作成する場合の例を示す図である。It is a figure which shows the example in the case of creating the entry of the transfer destination server in the request routing table in a 4th Example.

符号の説明Explanation of symbols

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 サーバ負荷分散プログラム
A1 to A4, 201 to 203 Content server A11 Content storage unit A12 Request reception / content response unit A13, A15 Resource response unit A14 Resource response policy setting unit A16 Dynamic parameter storage unit B1 Content management device B11 Classification policy setting unit B12 Content classification Unit B13 content aggregation unit C1 to C3, 301 to 307 server load distribution device C11 resource acquisition unit C12 transfer destination server determination policy setting unit C13 transfer destination server determination unit C14, C18, 104, 106, 110 request routing table C15 request reception unit C16 Request transfer unit C17 Content reception / transfer unit C19 Weight setting unit C20 Packet transfer unit C21, 107 Packet routing table C22 Transfer destination server decision Fixed unit C23 FQDN resolution unit C24 Address resolution unit C25 Packet reception unit D1, D2 Client D11 Request transmission unit D12 Address resolution unit E1 Domain name server E11 Address / FQDN resolution table 108 Address resolution table 109 FQDN resolution table E12 Address response unit E13 FQDN Response Unit 1 Backbone Network 101 Classification Policy Table 103 Transfer Destination Server Decision Policy Table 105 Resource Response Policy Table A39 Content Distribution Management Program B19 Content Management Program C29, C49, C59 Server Load Balancing Program

Claims (2)

コンテンツを配信するコンテンツサーバにおいて、
前記コンテンツの配信先を各サーバに関するリソース情報に基づいて選択するノードに対して、前記リソース情報として算出した実際のリソース値を補正した値を通知する手段を備えることを特徴とするコンテンツサーバ。
In a content server that distributes content,
A content server comprising: means for notifying a node that selects a distribution destination of the content based on resource information about each server, a value obtained by correcting an actual resource value calculated as the resource information.
コンピュータを制御することにより、コンテンツを配信するコンテンツサーバのコンテンツの配信を管理するコンテンツ配信管理プログラムにおいて、
前記コンテンツの配信先を各サーバのリソースに基づいて選択するノードに対して、現時点で利用可能なリソース情報として算出した実際のリソース値を補正した値を通知する機能を備えることを特徴とするコンテンツ配信管理プログラム。
In a content distribution management program for managing content distribution of a content server that distributes content by controlling a computer,
Content having a function of notifying a value obtained by correcting an actual resource value calculated as currently available resource information to a node that selects a distribution destination of the content based on a resource of each server Delivery management program.
JP2006119939A 2006-04-24 2006-04-24 Content server, and content distribution management program Pending JP2006260591A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006119939A JP2006260591A (en) 2006-04-24 2006-04-24 Content server, and content distribution management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006119939A JP2006260591A (en) 2006-04-24 2006-04-24 Content server, and content distribution management program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002059326A Division JP2003256310A (en) 2002-03-05 2002-03-05 Server load decentralizing system, server load decentralizing apparatus, content management apparatus and server load decentralizing program

Publications (1)

Publication Number Publication Date
JP2006260591A true JP2006260591A (en) 2006-09-28

Family

ID=37099669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006119939A Pending JP2006260591A (en) 2006-04-24 2006-04-24 Content server, and content distribution management program

Country Status (1)

Country Link
JP (1) JP2006260591A (en)

Similar Documents

Publication Publication Date Title
JP4529974B2 (en) Server load balancing system, server load balancing device, content management device, and server load balancing program
JP2003256310A (en) Server load decentralizing system, server load decentralizing apparatus, content management apparatus and server load decentralizing program
JP7609470B2 (en) Context-aware route computation and selection
US11336614B2 (en) Content node network address selection for content delivery
JP4951717B2 (en) How to select backup resources, system
US8583776B2 (en) Managing content delivery network service providers
WO2021142867A1 (en) Dns server selection method and proxy server
US7315896B2 (en) Server network controller including packet forwarding and method therefor
US20150372911A1 (en) Communication path management method
KR20030019900A (en) Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof
KR20090097034A (en) Peer Selection Method and System for Peer-to-Peer Communication
JP4041038B2 (en) Higher layer processing method and system
KR100768631B1 (en) Method and device for content routing of content level in content delivery network
Gupta et al. 2-Tiered cloud based content delivery network architecture: An efficient load balancing approach for video streaming
JP2006260592A (en) Content management device, and content management program
JP2006260591A (en) Content server, and content distribution management program
KR20040076660A (en) Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof
KR100911805B1 (en) Update method and recording medium of routing information between web user and server
JP2019012914A (en) Relay device and bandwidth control method
JP2003150570A (en) Method and device for allocating connection to server, and program and recording medium therefor
KR20240099888A (en) System and method for contents routing
Bhinder DpsrcN AND EvaluaTroN op RBQuEST DrsrRreurroN
Chanda Content delivery in software defined networks
Bhinder Design and evaluation of request distribution schemes for web-server clusters
Luo et al. Supporting Persistent Connection in Layer-7 Web Switch

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106