JP5487891B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM - Google Patents
COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM Download PDFInfo
- Publication number
- JP5487891B2 JP5487891B2 JP2009259047A JP2009259047A JP5487891B2 JP 5487891 B2 JP5487891 B2 JP 5487891B2 JP 2009259047 A JP2009259047 A JP 2009259047A JP 2009259047 A JP2009259047 A JP 2009259047A JP 5487891 B2 JP5487891 B2 JP 5487891B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- data distribution
- load information
- distribution server
- communication control
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 67
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000000034 method Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003796 beauty Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
この発明は、通信制御装置、通信制御プログラム、及び、データ配信システムに関し、例えば、動画像データのストリーム配信を行うデータ配信サーバを複数備えるVOD(Video On Demand)システムに適用することができる。
This invention relates to a communication control apparatus, communication control program,及 Beauty, relates to a data distribution system, for example, it can be applied to data distribution server for streaming of moving image data into a plurality equipped VOD (Video On Demand) system.
従来、VODシステム(データ配信システム)において、クライアントに動画像データをストリーム配信するデータ配信サーバ(VODサーバ)が複数存在する場合においては、ディスパッチャという通信制御装置が存在し、配信要求をしてきたクライアントに対し配信要求先のデータ配信サーバを振り分けて指定する事で負荷を分散させていた。 Conventionally, in a VOD system (data distribution system), when there are a plurality of data distribution servers (VOD servers) that distribute moving image data to a client, there is a communication control device called a dispatcher, and the client that has requested distribution However, the load was distributed by assigning and specifying the data distribution server of the distribution request destination.
従来のディスパッチャを備えるシステムとしては、特許文献1に記載のマルチタスクシステムがある。
As a system including a conventional dispatcher, there is a multitask system described in
しかしながら、特許文献1の記載技術では、1つのディスパッチャで集中して通信制御を行っているため、クライアント数が大きくなるとディスパッチャがボトルネックとなる。このため大規模なシステムにおいては複数のディスパッチャを並列的に用いることが必要となるが、複数のディスパッチャが、各サーバの負荷を調べるために密に通信を行うとサーバのみならずネットワークの負荷も増大させる事になる。
However, in the technique described in
そのため、ディスパッチャ(通信制御装置)を備えるデータ配信システムにおいて、データ配信サーバとディスパッチャ(通信制御装置)との間の通信量を低減することができる通信制御装置、通信制御プログラム、及び、データ配信システムが望まれている。
Therefore, in the data distribution system comprising a dispatcher (communication control device), a communication control device capable of reducing the amount of communication between the data distribution server and dispatcher (communication control device), a communication control program,及 Beauty, data distribution A system is desired.
第1の本発明は、クライアント装置と、クライアント装置に配信データのストリーム配信を行う複数のデータ配信サーバとの間の通信を制御する通信制御装置において、(1)データ配信サーバのそれぞれについて、現在の負荷状況に係るサーバ負荷情報を取得するサーバ負荷情報取得手段と、(2)上記クライアント装置から、データ配信サーバを割り当てる割当要求を受付けるサーバ割当要求受付手段と、(3)上記サーバ負荷情報取得手段が過去に取得した、データ配信サーバごとのサーバ負荷情報を利用して、そのデータ配信サーバの現在の負荷状況を推定し、その推定結果を考慮して、上記割当要求に対して割当てるデータ配信サーバを選択するサーバ選択手段と、(4)上記サーバ選択手段が選択したデータ配信サーバから、上記クライアント装置に、配信データを配信するように、上記サーバ選択手段が選択したデータ配信サーバ、及び上記クライアント装置を制御する通信制御手段とを有し、(5)サーバ負荷情報には、そのサーバ負荷情報がデータ配信サーバにおいて生成された時点で、そのデータ配信サーバで現在配信中のストリームの終了予定時刻に係るストリーム配信終了予定情報が含まれており、(6)上記サーバ選択手段は、上記サーバ負荷情報取得手段が過去にデータ配信サーバから取得したサーバ負荷情報に含まれるストリーム配信終了予定情報も利用して、そのデータ配信サーバの現在の負荷状況を推定することを特徴とする。
According to a first aspect of the present invention, there is provided a communication control device for controlling communication between a client device and a plurality of data distribution servers that perform distribution of distribution data to the client device. (1) For each of the data distribution servers, Server load information acquiring means for acquiring server load information relating to the load status of the server, (2) server allocation request receiving means for receiving an allocation request for allocating the data distribution server from the client device, and (3) acquiring the server load information. Data distribution allocated to the above allocation request by estimating the current load status of the data distribution server using the server load information for each data distribution server acquired by the means in the past and considering the estimation result From the server selection means for selecting a server, and (4) the data distribution server selected by the server selection means, The client device, to deliver the delivery data, the server selection means selects the data distribution server, and has a communication control means for controlling the client device, (5) server load information, the server load When the information is generated in the data distribution server, the stream distribution end schedule information relating to the scheduled end time of the stream currently being distributed in the data distribution server is included. (6) The server selection means includes the server The load information acquisition means estimates the current load status of the data distribution server by using stream distribution end schedule information included in the server load information acquired from the data distribution server in the past .
第2の本発明の通信制御プログラムは、(1)クライアント装置と、クライアント装置に配信データのストリーム配信を行う複数のデータ配信サーバとの間の通信を制御する通信制御装置に搭載されたコンピュータを、(2)データ配信サーバのそれぞれについて、現在の負荷状況に係るサーバ負荷情報を取得するサーバ負荷情報取得手段と、(3)上記クライアント装置から、データ配信サーバを割り当てる割当要求を受付けるサーバ割当要求受付手段と、(4)上記サーバ負荷情報取得手段が過去に取得した、データ配信サーバごとのサーバ負荷情報を利用して、そのデータ配信サーバの現在の負荷状況を推定し、その推定結果を考慮して、上記割当要求に対して割当てるデータ配信サーバを選択するサーバ選択手段と、(5)上記サーバ選択手段が選択したデータ配信サーバから、上記クライアント装置に、配信データを配信するように、上記サーバ選択手段が選択したデータ配信サーバ、及び上記クライアント装置を制御する通信制御手段として機能させ、(6)サーバ負荷情報には、そのサーバ負荷情報がデータ配信サーバにおいて生成された時点で、そのデータ配信サーバで現在配信中のストリームの終了予定時刻に係るストリーム配信終了予定情報が含まれており、(7)上記サーバ選択手段は、上記サーバ負荷情報取得手段が過去にデータ配信サーバから取得したサーバ負荷情報に含まれるストリーム配信終了予定情報も利用して、そのデータ配信サーバの現在の負荷状況を推定することを特徴とする。
A communication control program according to a second aspect of the present invention includes: (1) a computer mounted on a communication control device that controls communication between a client device and a plurality of data distribution servers that perform stream distribution of distribution data to the client device. (2) Server load information acquisition means for acquiring server load information related to the current load status for each of the data distribution servers, and (3) a server allocation request for receiving an allocation request for allocating the data distribution server from the client device And (4) using the server load information for each data distribution server acquired in the past by the server load information acquisition unit, estimating the current load status of the data distribution server and considering the estimation result And server selection means for selecting a data distribution server to be allocated in response to the allocation request, and (5) the server From the data delivery server selection means selects, on the client device, to deliver the delivery data, the server selection means selects the data distribution server, and to function as a communication control means for controlling the client device, (6 ) The server load information includes stream distribution end scheduled information related to the scheduled end time of the stream currently being distributed by the data distribution server at the time when the server load information is generated in the data distribution server. 7) The server selection means estimates the current load status of the data distribution server using the stream distribution end schedule information included in the server load information acquired from the data distribution server in the past by the server load information acquisition means. vinegar Rukoto and features.
第5の本発明は、クライアント装置と、クライアント装置に配信データのストリーム配信を行う複数のデータ配信サーバと、上記クライアント装置と上記データ配信サーバとの間の通信を制御する1又は複数の通信制御装置とを有するデータ配信システムにおいて、(1)それぞれの上記データ配信サーバは、(1−1)当該データ配信サーバの、現在の負荷状況に係る情報を有するサーバ負荷情報を生成するサーバ負荷情報生成手段と、(1−2)上記サーバ負荷情報生成手段が生成したサーバ負荷情報を、上記通信制御装置に与えるサーバ負荷情報送信手段とを有し、(2)それぞれの上記通信制御装置として第1の本発明の通信制御装置を適用したことを特徴とする。
According to a fifth aspect of the present invention, there is provided a client device, a plurality of data distribution servers that perform stream distribution of distribution data to the client device, and one or a plurality of communication controls that control communication between the client device and the data distribution server. In the data distribution system having the apparatus, (1) each of the data distribution servers (1-1) server load information generation for generating server load information including information on the current load status of the data distribution server And (1-2) server load information transmitting means for giving the server load information generated by the server load information generating means to the communication control device. (2) First as each of the communication control devices. The communication control device of the present invention is applied.
本発明によれば、クライアントからの要求を複数のデータ配信サーバのいずれかに振り分ける通信制御装置を備えるデータ配信システムにおいて、データ配信サーバと通信制御装置との間の通信量を低減することができる。 According to the present invention, in a data distribution system including a communication control device that distributes requests from clients to any of a plurality of data distribution servers, the amount of communication between the data distribution server and the communication control device can be reduced. .
(A)第1の実施形態
以下、本発明による通信制御装置、通信制御プログラム、及びデータ配信システムの第1の実施形態を、図面を参照しながら詳述する。なお、第1の実施形態においては、本発明の通信制御装置はディスパッチャであるもとして説明している。
(A) First Embodiment Hereinafter, a first embodiment of a communication control device, a communication control program , and a data distribution system according to the present invention will be described in detail with reference to the drawings. In the first embodiment, the communication control device of the present invention is described as being a dispatcher.
(A−1)第1の実施形態の構成
図1は、この実施形態のデータ配信システム10の全体構成を示すブロック図である。なお、図1において、括弧内に記載された符号は、後述する第2及び第3の実施形態において用いる符号である。
(A-1) Configuration of the First Embodiment FIG. 1 is a block diagram showing the overall configuration of the
データ配信システム10は、4台のデータ配信サーバ20(20−1〜20−4)、通信制御システム30、N台のクライアント40−1〜40−Nを有している。また、通信制御システム30には、Proxy31、及び、3台のディスパッチャ32(32−1〜32−3)が配置されている。
The
なお、データ配信サーバ20、ディスパッチャ32、クライアント40の台数は限定されないものである。
The number of data distribution servers 20, dispatchers 32, and
データ配信サーバ20は、いずれかのディスパッチャ32の制御に応じたクライアント40へ、動画像データをストリーム配信する装置である。この実施形態においては、データ配信サーバ20は、動画像データを配信するものとして説明するが、動画像データに音声データを付加して配信するようにしても良いし、音声データだけを配信するようにしても良い。
The data distribution server 20 is a device that distributes moving image data to the
ここで、データ配信サーバ20は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信をするためのインターフェースを有する装置に、実施形態のデータ配信プログラム等をインストールすることにより構築するようにしても良い。 Here, for example, the data distribution server 20 distributes the data distribution of the embodiment to an apparatus having an execution configuration of a program such as a CPU, ROM, RAM, EEPROM, and hard disk and an interface for communicating with other communication apparatuses. You may make it build by installing a program etc.
データ配信サーバ20は、所定の間隔ごとに、当該データ配信サーバ20の負荷状況に係る情報(以下、「サーバ負荷情報」という)を、各ディスパッチャ32に与える。サーバ負荷情報の詳細については、後述する動作説明において詳述する。 The data distribution server 20 provides each dispatcher 32 with information on the load status of the data distribution server 20 (hereinafter referred to as “server load information”) at predetermined intervals. Details of the server load information will be described in detail in an operation description to be described later.
また、データ配信サーバ20において、上述のサーバ負荷情報を生成して、各ディスパッチャ32に与える構成以外は、既存のデータ配信システム(VODシステム)のデータ配信サーバと同様の構成を適用することができる。 Further, in the data distribution server 20, the same configuration as that of the data distribution server of the existing data distribution system (VOD system) can be applied except that the server load information is generated and given to each dispatcher 32. .
図1において、データ配信サーバ20−1〜20−4は、それぞれ動画像データを蓄積(同一のデータでも良いし、それぞれ異なるデータであっても良い)するようにしても良いし、データ配信サーバ20−1〜20−4で共通的なストレージ装置(図示せず)を設けて、そのストレージ装置から動画像データを読み込んで保持するようにしても良い。すなわち、データ配信サーバ20−1〜20−4が動画像データを保持する方法は限定されないものである。なお、図1においては、説明を簡易にするため、データ配信サーバ20−1〜20−4は、それぞれ同じ動画像データを保持することが可能であるものとして説明する。 In FIG. 1, each of the data distribution servers 20-1 to 20-4 may store moving image data (may be the same data or different data), or may be a data distribution server. 20-1 to 20-4 may be provided with a common storage device (not shown), and moving image data may be read from the storage device and held. That is, the method by which the data distribution servers 20-1 to 20-4 hold moving image data is not limited. In FIG. 1, in order to simplify the description, the data distribution servers 20-1 to 20-4 are described as being capable of holding the same moving image data.
Proxy31は、クライアント40とディスパッチャ32との間の通信を中継する機能を担っている。Proxy31は、クライアント40から、いずれかのデータ配信サーバ20をデータ配信に割り当てる要求(以下、「サーバ割当要求」という)を受付けて、そのサーバ割当要求を、いずれかのディスパッチャ32に振り分けて転送し、以後、そのクライアント40とディスパッチャ32との間の通信を中継する。
The
図1では、例として、クライアント40とディスパッチャ32の間にProxy31が存在しているが、Proxy31は必須ではなく省略することができる。例えば、予めディスパッチャ32ごとに特定クライアント40を割り当て(例えば、静的にクライアント40側に設定したり、DNSサーバ(図示せず)により割り振る等)、クライアント40が直接ディスパッチャ32にアクセスするようにしても良い。
In FIG. 1, as an example, the
また、Proxy31がサーバ割当要求を、いずれかのクライアント40に割り当てる方法については限定されないものであり、例えば、ランダムに選択したり、ラウンドロビン方式により選択したり等、既存の負荷分散方式を適用するようにしても良い。
Further, the method by which the
クライアント40−1〜40−Nは、既存のデータ配信システム(VODシステム)におけるクライアント装置と同様のものを適用することができる。 As the clients 40-1 to 40-N, the same clients as those in the existing data distribution system (VOD system) can be applied.
ディスパッチャ32は、データ配信サーバ20とクライアント40との間の通信に係る制御を行うものである。
The dispatcher 32 performs control related to communication between the data distribution server 20 and the
ディスパッチャ32は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信をするためのインターフェースを有する装置に、実施形態の通信制御プログラム等をインストールすることにより構築するようにしても良い。 The dispatcher 32 installs the communication control program of the embodiment or the like in a device having an interface for communicating with other communication devices and an execution configuration of programs such as CPU, ROM, RAM, EEPROM, and hard disk, for example. You may make it build by.
ディスパッチャ32は、所定の間隔ごとに、各データ配信サーバ20−1〜20−4のサーバ負荷情報を取得する。 The dispatcher 32 acquires server load information of each data distribution server 20-1 to 20-4 at predetermined intervals.
そして、ディスパッチャ32は、クライアント40からサーバ割当要求を受取ると、各データ配信サーバ20−1〜20−4から過去に取得したサーバ負荷情報を利用して、そのクライアント40に割り当てるデータ配信サーバ20を選択する。そして、ディスパッチャ32は、少なくとも選択したデータ配信サーバ20の識別情報を有するサーバ割当要求の応答(以下、「サーバ割当応答」という)を、そのクライアント40に、Proxy31を介して送信する。クライアント40は、サーバ割当応答を受取ると、そのサーバ割当応答に含まれるデータ配信サーバ20の識別情報を抽出し、その識別情報のデータ配信サーバ20へアクセスし、実際の配信要求を行う。以降、そのデータ配信サーバ20は、サーバ割当応答に基づきアクセスしてきたクライアント40に、ストリーム配信を行う。
When the dispatcher 32 receives the server allocation request from the
それぞれのディスパッチャ32−1〜32−3が、データ配信サーバ20−1〜20−4のサーバ負荷情報を保持する方法としては、例えば、それぞれのディスパッチャ32−1〜32−3が、データ配信サーバ20−1〜20−4へサーバ負荷情報を要求して読込むようにしても良いし、逆に、データ配信サーバ20−1〜20−4からディスパッチャ32−1〜32−3へサーバ負荷情報を配信するようにしても良い。すなわち、ディスパッチャ32−1〜32−3において、定期的にデータ配信サーバ20−1〜20−4からサーバ負荷情報を保持することができれば、その通信手順は限定されないものである。なお、サーバ負荷情報の詳細については、後述する動作説明において詳述する。 As a method in which each dispatcher 32-1 to 32-3 holds the server load information of the data distribution servers 20-1 to 20-4, for example, each dispatcher 32-1 to 32-3 is a data distribution server. The server load information may be requested and read from 20-1 to 20-4, and conversely, the server load information is distributed from the data distribution servers 20-1 to 20-4 to the dispatchers 32-1 to 32-3. You may do it. That is, if the dispatchers 32-1 to 32-3 can periodically hold the server load information from the data distribution servers 20-1 to 20-4, the communication procedure is not limited. Details of the server load information will be described in detail in the operation description to be described later.
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態のデータ配信システム10の動作を説明する。
(A-2) Operation of the First Embodiment Next, the operation of the
(A−2−1)サーバ負荷情報について
まず、ディスパッチャ32における、サーバ負荷情報に係る処理について説明する。
(A-2-1) Regarding Server Load Information First, processing related to server load information in the dispatcher 32 will be described.
図2は、データ配信サーバ20からディスパッチャ32に与えられるサーバ負荷情報に含まれる内容の例について示した説明図である。 FIG. 2 is an explanatory diagram showing an example of contents included in server load information given from the data distribution server 20 to the dispatcher 32.
図2に示すように、ここでは、サーバ負荷情報には、「ServerID」、「Priority」、「stream」、「updatetime」の情報が含まれているものとして説明する。 As illustrated in FIG. 2, here, the server load information is described as including information of “ServerID”, “Priority”, “stream”, and “updatetime”.
「ServerID」は、当該データ配信サーバ20の識別情報であり、例えば、アドレス情報やドメイン名等が適用される。 “ServerID” is identification information of the data distribution server 20, and for example, address information, a domain name, or the like is applied.
「Priority」は、当該データ配信サーバ20の優先度の高低を示すパラメータである。Priorityは、データ配信サーバ20ごとに予め異なる値が設定されているものとする。詳細については後述するが、ディスパッチャ32では、この優先度も考慮してデータ配信サーバ20に対するストリーム配信の割当を行う。Priorityとしては、例えば、優先度が高いほど、小さな数値を設定するようにしても良い。 “Priority” is a parameter indicating the level of priority of the data distribution server 20. It is assumed that a different value is set in advance for each data distribution server 20 for Priority. Although details will be described later, the dispatcher 32 allocates stream distribution to the data distribution server 20 in consideration of the priority. As Priority, for example, a smaller numerical value may be set as the priority is higher.
「stream」は、当該データ配信サーバ20の、余剰の処理能力を示すパラメータである。第1の実施形態においては、「stream」は、当該データ配信サーバ20において、配信可能な残りのストリーム数を示すものとする。例えば、当該データ配信サーバ20が同時にクライアント40へ配信可能なストリームの本数が10であり、現在5本配信中である場合には、配信可能な残りのストリーム数を示すstreamは、「5」となる。
“Stream” is a parameter indicating the surplus processing capability of the data distribution server 20. In the first embodiment, “stream” indicates the number of remaining streams that can be distributed in the data distribution server 20. For example, when the number of streams that can be simultaneously distributed to the
「updatetime」は、当該サーバ負荷情報が更新された時間(生成された時間)を示すものとする。 “Updatetime” indicates a time (time when the server load information is updated).
(A−2−2)各装置間の処理について
図3は、データ配信システム10構成する各装置間の処理について示したシーケンス図である。
(A-2-2) Processing Between Each Device FIG. 3 is a sequence diagram showing processing between each device constituting the
図3では、説明を簡易にするため、クライアント40−1、ディスパッチャ32−1、データ配信サーバ20−1の間の処理に係るシーケンス図として示しているが、実際には、データ配信システム10には、図1に示すように、クライアント40、ディスパッチャ32、データ配信サーバ20は、それぞれ複数配置されている。
In FIG. 3, in order to simplify the description, a sequence diagram relating to processing among the client 40-1, the dispatcher 32-1, and the data distribution server 20-1 is shown. As shown in FIG. 1, a plurality of
図3では、まず、クライアント40−1からProxy31に、サーバ割当要求が与えられ、Proxy31により、そのサーバ割当要求が、ディスパッチャ32−1に与えられたものとする(S101)。以下では、ディスパッチャ32−1に係る動作について説明するが、その他のディスパッチャ32−2、32−3も、サーバ割当要求が与えられた場合の動作は同様であるので、説明を省略する。
In FIG. 3, first, it is assumed that a server allocation request is given from the client 40-1 to the
次に、ディスパッチャ32−1では、クライアント40−1からのサーバ割当要求が与えられると、クライアント40−1に対して割り当てるデータ配信サーバ20の選択が行われる(S102)。 Next, when a server allocation request is given from the client 40-1, the dispatcher 32-1 selects the data distribution server 20 to be allocated to the client 40-1 (S102).
ここでは、ディスパッチャ32−1において、基本的にはデータ配信サーバ20は優先度順(サーバ負荷情報におけるpriorityで表される優先度順)に割り当てるものとするが、配信限界に達して割り当て不可能なデータ配信サーバ20への割当を避けるため、サーバ負荷情報のstreamが所定よりも小さいサーバを割り当てないようにする。サーバ負荷情報は、取得時からの経過時間に従属して信頼度が下がるので、これらの情報を基にどのサーバを割り当てるかを判断する。 Here, in the dispatcher 32-1, the data distribution server 20 is basically allocated in order of priority (priority order represented by priority in the server load information), but cannot be allocated because the distribution limit is reached. In order to avoid allocation to the data distribution server 20, a server having a server load information stream smaller than a predetermined value is not allocated. Since the reliability of the server load information is lowered depending on the elapsed time from the time of acquisition, it is determined which server is assigned based on the information.
ここでは、ステップS102の処理において、ディスパッチャ32−1により、データ配信サーバ20−1が選択されたものとするが、ディスパッチャ32−1のデータ配信サーバ20を選択する処理の詳細については後述する。 Here, in the process of step S102, it is assumed that the data distribution server 20-1 is selected by the dispatcher 32-1, but details of the process of selecting the data distribution server 20 of the dispatcher 32-1 will be described later.
次に、ディスパッチャ32−1により、ステップS102で選択されたデータ配信サーバ20−1に対して、サーバ割当要求が送信される(S103)。 Next, the dispatcher 32-1 transmits a server allocation request to the data distribution server 20-1 selected in step S102 (S103).
次に、データ配信サーバ20−1では、クライアント40−1に対して仮割り当てが行われ、データ配信サーバ20−1へのアクセス情報がディスパッチャ32−1に送信される(S104)。 Next, the data distribution server 20-1 performs temporary allocation to the client 40-1, and transmits access information to the data distribution server 20-1 to the dispatcher 32-1 (S104).
次に、ディスパッチャ32−1により、アクセス情報が、サーバ割当要求の送信元であるクライアント40−1に送信される(S105)。 Next, the dispatcher 32-1 transmits access information to the client 40-1 that is the transmission source of the server allocation request (S105).
次に、クライアント40−1により、アクセス情報に基づいたデータ配信サーバ20−1に配信要求が送信される(S106)。 Next, the client 40-1 transmits a distribution request to the data distribution server 20-1 based on the access information (S106).
次に、データ配信サーバ20−1からクライアント40−1に配信要求に基づいたデータ配信がおこなわれる(S107)。 Next, data distribution based on the distribution request is performed from the data distribution server 20-1 to the client 40-1 (S107).
(A−2−3)データ配信サーバの選択処理について
図4は、上述のステップS102における、ディスパッチャ32−1のデータ配信サーバ20の選択処理について示したフローチャートである。
(A-2-3) Data Distribution Server Selection Process FIG. 4 is a flowchart showing the selection process of the data distribution server 20 of the dispatcher 32-1 in step S102 described above.
また、図4のフローチャートでは、ループ処理に用いる変数として「I」を用いるものとして説明する。また、図4のフローチャートでは、ループ処理に用いる定数としてM(データ配信サーバ20の台数を表す)を用いるものとする。 In the flowchart of FIG. 4, the description will be made assuming that “I” is used as a variable used for the loop processing. In the flowchart of FIG. 4, M (representing the number of data distribution servers 20) is used as a constant used for loop processing.
まず、ディスパッチャ32−1では、経過時間に基づきstreamに対する閾値が、以下の(1)式を用いて求められる(S201)。 First, in the dispatcher 32-1, the threshold for the stream is obtained based on the elapsed time using the following equation (1) (S201).
閾値=α(now−updatetime)+初期値 …(1)
(1)式で、αは予め設定された所定の正の値である。なお、αはディスパッチャ32の総数に比例する値を適用することが望ましい。これはProxy31が各ディスパッチャ32に均等に割り当て要求を分配していると仮定して設定している(もしくは各ディスパッチャ32にクライアント40が均等に割り当てられている)。
Threshold = α (now-updatetime) + initial value (1)
In the equation (1), α is a predetermined positive value set in advance. Note that α is preferably a value proportional to the total number of dispatchers 32. This is set on the assumption that the
また、(1)式で、nowは現在の時刻であり、updatetimeは最後に取得したサーバ負荷情報におけるupdatetimeが適用される。すなわち、「now−updatetime」は、データ配信サーバ20について最後に取得したサーバ負荷情報が生成された時刻から現在までの経過時間を示している。 In equation (1), “now” is the current time, and “updatetime” is the updatetime in the server load information acquired last. That is, “now-updatetime” indicates an elapsed time from the time when the server load information acquired last for the data distribution server 20 is generated to the present.
なお、ここでは説明を簡易にするため、上述のステップS201において算出される閾値は、データ配信サーバ20−1〜20−4で全て同じ(すなわち、データ配信サーバ20−1〜20−4でサーバ負荷情報が生成されるタイミングが同じ)であるものとして説明するが、適用するupdatetimeがデータ配信サーバ20ごとに異なる場合には、上述のステップS201の処理もデータ配信サーバ20ごとに行う必要がある。 Here, for simplicity of explanation, the threshold values calculated in step S201 described above are all the same in the data distribution servers 20-1 to 20-4 (that is, the servers in the data distribution servers 20-1 to 20-4). The load information is generated at the same timing). However, when the updatetime to be applied is different for each data distribution server 20, the processing in step S201 described above needs to be performed for each data distribution server 20. .
また、(1)式において初期値は、限定されないものであり、任意の値が設定されるものとする。 In addition, the initial value in equation (1) is not limited, and an arbitrary value is set.
次に、後述するループ処理に用いられる変数Iが初期化(I=0)される(S202)。なお、I=0の場合には、後述するステップS203〜S205のループ処理では、優先順位(サーバ負荷情報におけるPriorityにより定まる順位)が最も高いデータ配信サーバ20が処理対象のサーバとして処理が行われ、I=1では2番目に優先順位が高いデータ配信サーバ20の処理が行われるものとして説明する。例えば、データ配信サーバ20−1、20−2、20−3、20−4の順で優先順位が設定されていた場合には、1番目(I=0)はデータ配信サーバ20−1、2番目(I=1)はデータ配信サーバ20−2、3番目(I=2)はデータ配信サーバ20−3、4番目(I=3)はデータ配信サーバ20−4が、それぞれ処理対象のサーバとなる。 Next, a variable I used for loop processing to be described later is initialized (I = 0) (S202). When I = 0, in the loop processing of steps S203 to S205 described later, processing is performed with the data distribution server 20 having the highest priority (order determined by Priority in the server load information) as the processing target server. In the following description, it is assumed that the processing of the data distribution server 20 having the second highest priority is performed when I = 1. For example, when the priority order is set in the order of the data distribution servers 20-1, 20-2, 20-3, and 20-4, the first (I = 0) is the data distribution server 20-1, 2. The first (I = 1) is the data distribution server 20-2, the third (I = 2) is the data distribution server 20-3, and the fourth (I = 3) is the data distribution server 20-4. It becomes.
ディスパッチャ32−1におけるループ処理では、まず、処理対象のサーバのサーバ負荷情報における最新のstreamが、上述のステップS201で算出した閾値よりも大きいか否かが判定される(S203)。 In the loop processing in the dispatcher 32-1, first, it is determined whether or not the latest stream in the server load information of the processing target server is larger than the threshold calculated in step S201 described above (S203).
ステップS203において、streamが閾値よりも大きい場合には、その処理対象のサーバが、サーバ割当要求に対して割り当てるデータ配信サーバ20として選択され、処理が終了する。 In step S203, if stream is greater than the threshold, the processing target server is selected as the data distribution server 20 to be allocated to the server allocation request, and the process ends.
一方、ステップS203において、streamが閾値以下の場合には、その処理対象のサーバは、サーバ割当要求に対して割り当てるデータ配信サーバ20からはずされる。そして、変数Iがインクリメント(I=I+1)され(S204)、さらに、変数I=Mであるか否かが判定される(S205)。ステップS205において、変数I=Mでない場合(まだ処理対象のサーバとなっていないデータ配信サーバ20がある場合)には、上述のステップS203の処理から動作し、変数I=Mの場合(全てのデータ配信サーバ20が処理対象のサーバとなった)場合には、サーバ割当要求に対して割り当てるデータ配信サーバ20がないものとして処理が終了する。 On the other hand, if stream is equal to or smaller than the threshold value in step S203, the processing target server is removed from the data distribution server 20 assigned to the server assignment request. Then, the variable I is incremented (I = I + 1) (S204), and it is further determined whether or not the variable I = M (S205). In step S205, when the variable I = M is not satisfied (when there is a data distribution server 20 that is not yet a server to be processed), the operation starts from the above-described step S203, and when the variable I = M (all If the data distribution server 20 is a server to be processed), the process ends assuming that there is no data distribution server 20 to be allocated to the server allocation request.
以上のように、ディスパッチャ32では、各データ配信サーバ20について最後に取得したサーバ負荷情報におけるstreamの値と、最後に取得したサーバ負荷情報が生成された時刻から現在までの経過時間とを利用して、現在の各データ配信サーバ20の負荷状況を推定し、その推定結果を考慮して、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する。 As described above, the dispatcher 32 uses the stream value in the server load information acquired last for each data distribution server 20 and the elapsed time from the time when the server load information acquired last is generated to the present. Then, the current load situation of each data distribution server 20 is estimated, and the data distribution server 20 to be allocated to the server allocation request is selected in consideration of the estimation result.
例えば、上記の(1)式においてα=2で初期値=0が適用され、データ配信サーバ20−1のstreamが5、データ配信サーバ20−2のstreamが10であり、データ配信サーバ20−1の優先度が最も高く、その次にデータ配信サーバ20−2が高い場合を想定する。この場合、経過時間(now−updatetime)が2.5秒後に、閾値がデータ配信サーバ20−1のstreamの値(5)に達するので、その時点でデータ配信サーバ20−1は、割り当ての対象から外され、それ以降はデータ配信サーバ20−2が割り当てられることになる。閾値の予測が正しいとすればデータ配信サーバ20−1との無駄な通信を避ける事ができる。 For example, in the above equation (1), α = 2 and initial value = 0 are applied, the stream of the data distribution server 20-1 is 5, the stream of the data distribution server 20-2 is 10, and the data distribution server 20- Assume that the priority of 1 is the highest and the data distribution server 20-2 is the next highest. In this case, since the threshold reaches the stream value (5) of the data distribution server 20-1 after the elapsed time (now-updatetime) is 2.5 seconds, the data distribution server 20-1 at this point After that, the data distribution server 20-2 is assigned. If the prediction of the threshold is correct, useless communication with the data distribution server 20-1 can be avoided.
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of First Embodiment According to the first embodiment, the following effects can be achieved.
ディスパッチャ32では、サーバ負荷情報の内容と、最後にサーバ負荷情報が生成された時刻からの経過時間(now−updatetime)とを利用して、配信受付可能なデータ配信サーバ20を推定し、配信受付不可能なデータ配信サーバ20との無駄な通信を避ける事ができる。例えば、第1の実施形態において、仮に、配信受付不可能なデータ配信サーバ20の推定を行わなかったとすると、他のディスパッチャ32により割り当てられサーバ情報と実際の情報に開きが生じた場合でもそのまま割り当てを試み続けるという事が起き、通信に失敗してしまうという問題が発生する。 The dispatcher 32 estimates the data distribution server 20 that can accept the distribution by using the content of the server load information and the elapsed time (now-updatetime) from the time when the server load information was last generated. Unnecessary communication with the impossible data distribution server 20 can be avoided. For example, in the first embodiment, if the estimation of the data distribution server 20 that cannot accept distribution is not performed, the server information allocated by another dispatcher 32 and the actual information are allocated as they are. There is a problem that communication continues to fail and communication fails.
また、サーバ負荷情報の内容だけでなく、最後にサーバ負荷情報が生成された時刻からの経過時間(now−updatetime)とを利用して、配信受付可能なデータ配信サーバ20を推定するので、例えば、サーバ負荷情報だけに基づいて推定する場合よりも少ない頻度でサーバ負荷情報を取得しておけば良いため、データ配信サーバ20とディスパッチャ32との間の通信量を低減させることができる。 Further, since the data distribution server 20 that can accept distribution is estimated using not only the contents of the server load information but also the elapsed time (now-updatetime) from the time when the server load information was last generated, for example, Since the server load information only needs to be acquired less frequently than when estimated based only on the server load information, the amount of communication between the data distribution server 20 and the dispatcher 32 can be reduced.
また、データ配信システム10では、ディスパッチャ32−1〜32−3は、それぞれ並列的に単独で動作させているため、通常時におけるディスパッチャ32同士で同期処理や、一部のディスパッチャ32の障害発生時の切替処理を不要としており、構築コストの低減や保守性が向上するといった効果を奏する。
Further, in the
(B)第2の実施形態
以下、本発明による通信制御装置、通信制御プログラム、及びデータ配信システムの第2の実施形態を、図面を参照しながら詳述する。なお、第2の実施形態においては、本発明の通信制御装置はディスパッチャであるもとして説明している。
(B) Second Embodiment Hereinafter, a second embodiment of a communication control device, a communication control program , and a data distribution system according to the present invention will be described in detail with reference to the drawings. In the second embodiment, the communication control device of the present invention is described as a dispatcher.
(B−1)第2の実施形態の構成
第2の実施形態のデータ配信システム10Aも、図1を用いて説明することができる。
(B-1) Configuration of Second Embodiment A data distribution system 10A of the second embodiment can also be described with reference to FIG.
第2の実施形態のデータ配信システム10Aでは、第1の実施形態のデータ配信システム10がデータ配信システム10Aに置き換わっているが、それ以外の構成については第1の実施形態と同様であるので詳しい説明を省略する。
In the data distribution system 10A of the second embodiment, the
データ配信システム10Aは、ディスパッチャ32(32−1〜32−3)が、ディスパッチャ32A(32A−1〜32A−3)に置き換わっているが、それ以外の構成については第1の実施形態と同様であるので詳しい説明は省略する。
In the data distribution system 10A, the dispatcher 32 (32-1 to 32-3) is replaced with the
ディスパッチャ32Aは、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理(上述の図3のステップS102の処理)が、第1の実施形態のディスパッチャ32と異なるだけである。なお、ディスパッチャ32Aにおける、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理の詳細については、後述する動作説明において詳述する。
The
(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態のデータ配信システム10Aの動作を説明する。
(B-2) Operation of Second Embodiment Next, the operation of the data distribution system 10A of the second embodiment having the above configuration will be described.
データ配信システム10Aを構成する各装置間の処理についても上述の図3により示すことができる。ただし、第2の実施形態のデータ配信システム10Aでは、図3におけるステップS102の処理(サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理)だけが、第1の実施形態と異なるので、以下ではステップS102に係る処理についてのみ説明する。 The processing between the devices constituting the data distribution system 10A can also be shown in FIG. However, in the data distribution system 10A of the second embodiment, only the processing of step S102 in FIG. 3 (processing for selecting the data distribution server 20 to be allocated to the server allocation request) is different from that of the first embodiment. Only the process according to step S102 will be described below.
図5は、ディスパッチャ32A−1で、上述のステップS102に相当する処理(データ配信サーバ20の選択処理)について示したフローチャートである。
FIG. 5 is a flowchart showing the process corresponding to the above-described step S102 (selection process of the data distribution server 20) in the
また、図5のフローチャートでは、第1の実施形態(上述の図4参照)と同様に、ループ処理に用いる変数として「I」、ループ処理に用いる定数としてM(データ配信サーバ20の台数)を用いるものとする。 In the flowchart of FIG. 5, as in the first embodiment (see FIG. 4 described above), “I” is used as a variable used for loop processing, and M (the number of data distribution servers 20) is used as a constant used for loop processing. Shall be used.
また、各ディスパッチャ32Aでは、各データ配信サーバ20から受信したサーバ負荷情報を蓄積し、図5のフローチャートに係る動作において、その蓄積したサーバ負荷情報の履歴を用いるものとする。
Each
まず、ディスパッチャ32Aでは、後述するループ処理に用いられる変数Iが初期化(I=0)される(S301)。なお、I=0の場合には、後述するステップS302〜S305のループ処理では、第1の実施形態と同様に、優先順位(サーバ負荷情報におけるPriorityにより定まる順位)が最も高いデータ配信サーバ20が処理対象のサーバとして処理が行われ、I=1では2番目に優先順位が高いデータ配信サーバ20の処理が行われるものとして説明する。
First, in the
ディスパッチャ32A−1におけるループ処理では、ディスパッチャ32A−1において、各ディスパッチャ32Aでは、蓄積したサーバ負荷情報の履歴にもとづいて、各データ配信サーバ20のサーバ負荷情報におけるstreamの値の変化傾向を分析する。そして、ディスパッチャ32A−1では、その変化傾向に基づいて現在の各データ配信サーバ20における余剰の処理能力を示す値(以下、「new_stream」という)を算出する(S302)。なお、new_streamを算出する具体的な処理については後述する。
In the loop processing in the
次に、ディスパッチャ32A−1では、上述のステップS302で算出したnew_streamが、所定の閾値よりも大きいか否かが判定される(S303)。ステップS303において用いられる閾値は、任意の値を設定することができるが、例えば「0」を適用するようにしても良い。
Next, the
ステップS303において、streamが閾値よりも大きい場合には、その処理対象のサーバが、サーバ割当要求に対して割り当てるデータ配信サーバ20として選択され、処理が終了する。 In step S303, when stream is larger than the threshold, the processing target server is selected as the data distribution server 20 to be allocated to the server allocation request, and the process ends.
一方、ステップS303において、streamが閾値以下の場合には、その処理対象のサーバは、サーバ割当要求に対して割り当てるデータ配信サーバ20からはずされる。そして、変数Iがインクリメント(I=I+1)され(S304)、さらに、変数I=Mであるか否かが判定される(S305)。ステップS305において、変数I=Mでない場合(まだ処理対象のサーバとなっていないデータ配信サーバ20がある場合)には、上述のステップS302の処理から動作し、変数I=Mの場合(全てのデータ配信サーバ20が処理対象のサーバとなった場合)には、サーバ割当要求に対して割り当てるデータ配信サーバ20がないものとして処理が終了する。 On the other hand, if stream is equal to or smaller than the threshold value in step S303, the processing target server is removed from the data distribution server 20 assigned to the server assignment request. Then, the variable I is incremented (I = I + 1) (S304), and it is further determined whether or not the variable I = M (S305). In step S305, if the variable I is not equal to M (when there is a data distribution server 20 that is not yet a server to be processed), the processing starts from the process in step S302 described above. If the data distribution server 20 is a server to be processed), the process ends assuming that there is no data distribution server 20 to be allocated to the server allocation request.
[new_streamの算出方法について]
次に、上述のステップS302におけるnew_streamの算出方法の詳細について説明する。
[About the calculation method of new_stream]
Next, the details of the new_stream calculation method in step S302 will be described.
まず、ディスパッチャ32A−1では、各データ配信サーバ20から受信して蓄積したサーバ負荷情報の履歴にもとづいて、各データ配信サーバ20のサーバ負荷情報におけるstreamの値の変化傾向を分析する。ここでは、例として、各ディスパッチャ32Aでは、各データ配信サーバ20に係るstreamの値が上昇傾向にあるか、下降傾向にあるかを以下の(2)式を用いて判定するものとして説明する。
First, the
なお、(2)式において、α1+α2+α3+…+αi=1、及び、α1>α2>α3>…>αiの関係が成り立つ値が予め設定されているものとする。また、(2)式において、stream、stream1、stream2、stream3、…、streamiは、変化傾向の判定対象となるデータ配信サーバ20から、ディスパッチャ32Aに与えられたサーバ負荷情報におけるstreamの値の履歴を示している。すなわち、streamが最新の値を示しており、streamiが最も古い値を示している。iの値は、任意の値を設定するようにしても良い。
Note that in
δ=α1(stream−stream1)+α2(stream1−stream2)
+ … +αi(streami−1−streami) …(2)
そして、ディスパッチャ32Aでは、上記の(2)式により求められたδをさらに、以下の(3)式に適用することにより、当該データ配信サーバ20に、現在割り当て可能なストリームの本数を推定する。
δ = α 1 (stream-stream 1 ) + α 2 (stream 1 -stream 2 )
+ ... + α i (stream i-1 -stream i ) (2)
Then, the
なお、(3)式において、MAX(…)は、new_streamの値を算出するための関数である。例えば、MAX(a,b)と表した場合、a≧bならばMAX(a,b)の結果としてaが返され、a<bならばMAX(a,b)の結果としてbが返されるものとする。すなわち、(3)式においては、aがb(0)より以上の値である場合にはnew_stream=aとなり、aが0より小さい値である場合には、new_stream=0となる。 In equation (3), MAX (...) Is a function for calculating the value of new_stream. For example, when expressed as MAX (a, b), if a ≧ b, a is returned as the result of MAX (a, b), and if a <b, b is returned as the result of MAX (a, b). Shall. That is, in the expression (3), new_stream = a when a is greater than b (0), and new_stream = 0 when a is less than 0.
また、サーバ情報更新間隔は、データ配信サーバ20において、サーバ負荷情報が生成される間隔を示す。各データ配信サーバ20のサーバ情報更新間隔としては、任意の値を設定することができるが、第2の実施形態においては、各データ配信サーバ20のサーバ情報更新間隔は全て同じ値が設定されており、各ディスパッチャ32にもその値が記憶されているものとして説明する。
次に、(3)を適用した場合の具体的な計算例について説明する。以下では、例として、α1=0.8、α2=0.2、サーバ情報更新間隔=10秒であるものとする。また、データ配信サーバ20−1ではstream=5、stream1=15、stream2=25であるものとする。さらに、データ配信サーバ20−1ではstream=4、stream1=5、stream2=6であるものとする。 Next, a specific calculation example when (3) is applied will be described. Hereinafter, as an example, it is assumed that α 1 = 0.8, α 2 = 0.2, and server information update interval = 10 seconds. In the data distribution server 20-1, it is assumed that stream = 5, stream 1 = 15, and stream 2 = 25. Further, in the data distribution server 20-1, it is assumed that stream = 4, stream 1 = 5, and stream 2 = 6.
そして、以下の(4)式は、上述の条件において、ディスパッチャ32A−1で、データ配信サーバ20−1について、updatetimeから5秒後に算出されるδであり、以下の(5)式は、(4)式で算出されたδを用いて算出されたnew_streamである。
Then, the following expression (4) is δ calculated 5 seconds after updatetime for the data distribution server 20-1 by the
また、以下の(6)式は、上述の条件において、ディスパッチャ32A−1で、データ配信サーバ20−2について、updatetimeから5秒後に算出されるδであり、以下の(7)式は、(6)式で算出されたδを用いて算出されたnew_streamである。
Further, the following expression (6) is δ calculated 5 seconds after updatetime for the data distribution server 20-2 by the
上述の例の場合、データ配信サーバ20−1は、以下の(4)式、(5)式に示すように、5秒後にはnew_stream=0となり、その時点で、このデータ配信サーバ20−1には、サーバ割当要求に対して割り当てるサーバとして選択されないことになる。 In the case of the above-described example, the data distribution server 20-1 becomes new_stream = 0 after 5 seconds as shown in the following expressions (4) and (5), and at this time, the data distribution server 20-1 Is not selected as a server to be allocated to the server allocation request.
一方、データ配信サーバ20−2は、以下の(6)式、(7)式に示すように、5秒後にもnew_stream=3.5なので、優先順位がデータ配信サーバ20−1>データ配信サーバ20−2でもデータ配信サーバ20−2が割り当てられる。
(B−3)第2の実施形態の効果
第2の実施形態によれば、以下のような効果を奏することができる。
(B-3) Effects of Second Embodiment According to the second embodiment, the following effects can be achieved.
ディスパッチャ32Aでは、サーバ負荷情報の履歴にもとづいて、各データ配信サーバ20のサーバ負荷情報におけるstreamの値の変化傾向を分析し、その分析結果に基づいて、各データ配信サーバ20の現在の負荷状況を推定し、データ配信サーバ20の選択に利用している。例えば、第1の実施形態において、第2の実施形態のような推定を行わなかったとすると、あるデータ配信サーバ20のアクセス数が急激に増大していて既に配信限界に達していても、そのデータ配信サーバ20を選択してしまうという問題がある。
The
(C)第3の実施形態
以下、本発明による通信制御装置、通信制御プログラム、及びデータ配信システムの第3の実施形態を、図面を参照しながら詳述する。なお、第3の実施形態においては、本発明の通信制御装置はディスパッチャであるもとして説明している。
(C) Third Embodiment Hereinafter, a third embodiment of a communication control device, a communication control program , and a data distribution system according to the present invention will be described in detail with reference to the drawings. In the third embodiment, the communication control device of the present invention is described as a dispatcher.
(C−1)第3の実施形態の構成
第3の実施形態のデータ配信システム10Bも、図1を用いて説明することができる。
(C-1) Configuration of Third Embodiment A data distribution system 10B of the third embodiment can also be described with reference to FIG.
第3の実施形態のデータ配信システム10Bでは、第2の実施形態のデータ配信システム10がデータ配信システム10Bに置き換わっている。また、第2の実施形態のデータ配信サーバ20(20−1〜20−4)が、データ配信サーバ20B(20B−1〜20B−4)に置き換わっているが、それ以外の構成については第2の実施形態と同様であるので詳しい説明を省略する。
In the data distribution system 10B of the third embodiment, the
データ配信システム10Bでは、ディスパッチャ32A(32A−1〜32A−3)が、ディスパッチャ32B(32B−1〜32B−3)に置き換わっているが、それ以外の構成については第2の実施形態と同様であるので詳しい説明は省略する。
In the data distribution system 10B, the
データ配信サーバ20Bは、ディスパッチャ32Bに与えるサーバ負荷情報の内容が、上述の図2に示す内容に加えて、現在当該データ配信サーバ20Bがデータ配信を行っているストリームについて、ストリーム配信が終了する予定に係る情報(以下、「ストリーム配信終了予定情報」という)が含まれている点で、第2の実施形態のデータ配信サーバ20と異なっている。
In the
図6は、データ配信サーバ20Bが送信するサーバ負荷情報に含まれる、ストリーム配信終了予定情報の内容例について示した説明図である。
FIG. 6 is an explanatory diagram showing an example of the content of the stream distribution end schedule information included in the server load information transmitted by the
図6に示すように、ストリーム配信終了予定情報には、A1〜Aj、K1〜Kjの情報が含まれている。A1〜Ajは、それぞれ、当該サーバ負荷情報が生成された時刻から何秒後であるかを示し、K1〜Kjは、それぞれA1〜Ajに係る時刻に、当該データ配信サーバ20Bにおいて、データ配信が終了するストリームの本数を示している。例えば、0秒〜A1秒後までにデータ配信が終了するストリームの本数が1であればK1には1が設定され、A1秒後からA2秒後までの間にデータ配信が終了するストリームの本数が2であればK1には2が設定されることになる。
As shown in FIG. 6, the stream delivery end schedule information includes information on A 1 to A j and K 1 to K j . A 1 to A j indicate how many seconds later from the time when the server load information is generated, and K 1 to K j respectively indicate the data distribution server at the time related to A 1 to
なお、A1〜Ajに設定する具体的な時間は限定されないものであるが、この実施形態においては、例えば、A1〜Ajを全て1秒間隔で設定(1秒、2秒、3秒、…、j秒)するものとして説明する。また、jの値についても限定されないものであるが、この実施形態では、サーバ情報更新間隔と同じ値が設定されるものとして説明する。データ配信サーバ20Bでは、それぞれのストリームについて、動画像データの長さ(再生時間)と、現在の送信位置(再生位置)とが把握されており、それらの情報に基づいて、ストリーム配信終了予定情報は生成される。
Although specific time set to A 1 to A j is not intended to be limited, in this embodiment, for example, it sets all in one second intervals A 1 to A j (1 second, 2 seconds, 3 (Second,..., J seconds). Further, the value of j is not limited, but in this embodiment, the same value as the server information update interval is set. In the
ディスパッチャ32Bは、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理(上述の図3のステップS102の処理)が、第2の実施形態のディスパッチャ32と異なるだけである。なお、ディスパッチャ32Bにおいて、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理の詳細については、後述する動作説明において詳述する。 The dispatcher 32B is different from the dispatcher 32 of the second embodiment only in the process of selecting the data distribution server 20 to be allocated in response to the server allocation request (the process of step S102 in FIG. 3 described above). Note that details of the process of selecting the data distribution server 20 to be allocated to the server allocation request in the dispatcher 32B will be described in detail in the description of the operation described later.
また、各ディスパッチャ32Bでは、第2の実施形態と同様に、各データ配信サーバ20から受信したサーバ負荷情報を蓄積している。 Further, each dispatcher 32B accumulates server load information received from each data distribution server 20 as in the second embodiment.
(C−2)第3の実施形態の動作
次に、以上のような構成を有する第3の実施形態のデータ配信システム10Bの動作を説明する。
(C-2) Operation of the Third Embodiment Next, the operation of the data distribution system 10B of the third embodiment having the above configuration will be described.
データ配信システム10Bを構成する各装置間の処理についても上述の図3により示すことができる。ただし、第3の実施形態のデータ配信システム10Bでは、図3におけるステップS102の処理だけが、第2の実施形態と異なるので、以下ではステップS102に係る処理についてのみ説明する。 The processing between the devices constituting the data distribution system 10B can also be shown in FIG. However, in the data distribution system 10B of the third embodiment, only the process of step S102 in FIG. 3 is different from that of the second embodiment, so only the process related to step S102 will be described below.
第3の実施形態において上述のステップS102に相当する処理(データ配信サーバ20Bの選択処理)についても、上述の図5を用いて示すことができる。ただし、第3の実施形態のディスパッチャ32Bでは、図5におけるステップS302の処理(new_streamの算出処理)だけが、第2の実施形態と異なるので、以下ではステップS302に係る処理についてのみ説明する。
The processing corresponding to step S102 described above in the third embodiment (selection processing of the
まず、ディスパッチャ32B−1では、各データ配信サーバ20Bから受信して蓄積したサーバ負荷情報(ストリーム配信終了予定情報を含む)の履歴にもとづいて、各データ配信サーバ20のサーバ負荷情報におけるstreamの値の過去の変化傾向を、第2の実施形態と同様に上記の(2)式によりδを求めることにより分析する。
First, in dispatcher 32B-1, the value of stream in the server load information of each data distribution server 20 is based on the history of server load information (including stream distribution end schedule information) received and accumulated from each
そして、ディスパッチャ32Bでは、上記の(2)式により求められたδをさらに、以下の(8)式に適用することにより、当該データ配信サーバ20Bに、現在割り当て可能なストリームの本数を推定する。
Then, the dispatcher 32B estimates the number of streams that can be currently allocated to the
なお、(8)式において、MAXは、上記の(3)式と同様に、new_streamの値を算出するための関数である。例えば、MAX(a,b)と表した場合、a≧bならばMAX(a,b)の結果としてaが返され、a<bならばMAX(a,b)の結果としてbが返されるものとする。
また、(8)式において、deallocatedもnew_streamの値を算出するための関数である。 In equation (8), deallocated is also a function for calculating the value of new_stream.
図7は、deallocated関数の処理についてプログラム言語(例えば、C言語)で表記した場合の内容について示した説明図である。 FIG. 7 is an explanatory diagram showing the contents when the deallocated function process is written in a program language (for example, C language).
図7に示すように、deallocated関数は、時間を示すtime変数を入力すると、if文により、timeがストリーム配信終了予定情報におけるA1よりも大きい場合には、K1を戻り値として返し、timeがA2よりも大きい場合はK1+K2を返し、…、timeがAjよりも大きい場合にはK1+K2+…+Kjを返す処理を行う。 As shown in FIG. 7, when a time variable indicating time is input, the deallocated function returns K 1 as a return value if time is greater than A 1 in the stream distribution end scheduled information by an if statement. When K is larger than A 2, K 1 + K 2 is returned, and when time is larger than A j , K 1 + K 2 +... + K j is returned.
すなわち、deallocated関数は、now−updatetimeを入力すると、最後に当該データ配信サーバ20Bにおいてサーバ負荷情報が生成された時刻から現在時刻までの間(updatetime−now)に、当該データ配信サーバ20においてストリーム配信が終了するストリームの本数を把握することができる。この実施形態においては、deallocated関数の処理は、図7のプログラム処理により示したが、同様の処理が可能であれば、その処理手順は限定されないものである。
That is, when the deallocated function inputs “now-updatetime”, stream distribution is performed in the data distribution server 20 from the time when the server load information was last generated in the
このように、ディスパッチャ32Bでは、上記の(8)式のように、当該データ配信サーバ20のサーバ負荷情報におけるstreamの値の過去の変化傾向を示すδと、当該データ配信サーバ20においてストリーム配信が終了するストリームの本数(deallocated(now−updatetime))とを利用してnew_streamを算出している。 Thus, in the dispatcher 32B, as shown in the above equation (8), δ indicating a past change tendency of the stream value in the server load information of the data distribution server 20 and stream distribution in the data distribution server 20 are performed. New_stream is calculated using the number of streams to be terminated (deallocated (now-updatetime)).
次に、上記の(8)式を適用した場合の具体的な計算例について説明する。以下では、例として、α1=0.8、α2=0.2、サーバ情報更新間隔=10秒であるものとする。また、データ配信サーバ20−1ではstream=5、stream1=15、stream2=25であるものとする。さらに、データ配信サーバ20−1ではstream=4、stream1=5、stream2=6であるものとする。 Next, a specific calculation example when the above equation (8) is applied will be described. Hereinafter, as an example, it is assumed that α 1 = 0.8, α 2 = 0.2, and server information update interval = 10 seconds. In the data distribution server 20-1, it is assumed that stream = 5, stream 1 = 15, and stream 2 = 25. Further, in the data distribution server 20-1, it is assumed that stream = 4, stream 1 = 5, and stream 2 = 6.
図8は、ストリーム配信終了予定情報の具体例について示した説明図である。 FIG. 8 is an explanatory diagram showing a specific example of the stream distribution end schedule information.
データ配信サーバ20B−1のサーバ負荷情報におけるストリーム配信終了予定情報は図8(a)のような内容であったものとし、データ配信サーバ20B−1のサーバ負荷情報におけるストリーム配信終了予定情報は図8(b)のような内容であったものとする。
It is assumed that the stream distribution end schedule information in the server load information of the
この場合、updatetimeから5秒後にはデータ配信サーバ20B−1のnew_stream=0となり、割り当て出来なくなるが、データ配信サーバ20B−2は終了するストリームが幾つかあるのでnew_stream=0とはならず割り当てが可能である。
In this case, after 5 seconds from updatetime, new_stream = 0 of the
(C−3)第3の実施形態の効果
第3実施形態によれば、以下のような効果を奏することができる。
(C-3) Effects of Third Embodiment According to the third embodiment, the following effects can be obtained.
ディスパッチャ32Bでは、ストリーム配信終了予定情報を利用して、各データ配信サーバ20Bの現在の負荷状況を推定している。これにより、第2の実施形態と比較して、より精度の高い負荷状況の推定を行うことができる。例えば、第2の実施形態においては、あるデータ配信サーバ20の負荷の変化傾向が過去において上昇傾向であっても、ストリーム配信終了予定情報において、配信終了予定のストリームが多い場合には、実際割り当て可能なのにも関わらず割り当て不可と判断される可能性がある。
The dispatcher 32B estimates the current load status of each
(D)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(D) Other Embodiments The present invention is not limited to the above-described embodiments, and may include modified embodiments as exemplified below.
(D−1) 上記の各実施形態において、データ配信サーバからクライアントへのストリーム配信において、各ストリームのビットレートは異なるビットレートとしても良い。この場合、サーバ割当要求等の制御信号に、各クライアントが配信要求するデータのビットレートの情報が含まれるようにしても良いし、データ配信サーバ側で、予めクライアントごとのビットレートを登録しておくようにしても良い。 (D-1) In each of the above embodiments, in the stream distribution from the data distribution server to the client, the bit rate of each stream may be a different bit rate. In this case, the control signal such as a server allocation request may include information on the bit rate of data requested by each client, or the data distribution server may register the bit rate for each client in advance. You may make it leave.
そして、各ストリームのビットレートが可変である場合には、サーバ負荷情報のstreamのパラメータの単位は図2に示すようなストリームの本数ではなく、その他の余剰の処理能力を示す単位を適用するようにしても良い。 When the bit rate of each stream is variable, the unit of the stream parameter of the server load information is not the number of streams as shown in FIG. 2, but a unit indicating other surplus processing capacity is applied. Anyway.
例えば、1000kbpsのストリーム1本で処理能力を10単位必要とし、500kbpsのストリーム1本で処理能力5単位を必要とする単位等を適用するようにしても良い。この場合、例えば、任意のデータ配信サーバ20が全体で50単位の処理能力を有していると想定すると、このデータ配信サーバ20は、500kbpsのストリームなら10本、1000kbpsのストリームなら5本同時に配信できることになる。そして、このデータ配信サーバ20が、1000kbpsのストリームを3本配信中には、サーバ負荷情報におけるstreamのパラメータは、50−(10×3)=20単位となる。 For example, 10 units of processing capacity may be required for one 1000 kbps stream, and 5 units of processing capacity may be applied to one 500 kbps stream. In this case, for example, assuming that an arbitrary data distribution server 20 has a processing capacity of 50 units as a whole, this data distribution server 20 can simultaneously distribute 10 streams for 500 kbps streams and 5 streams for 1000 kbps streams. It will be possible. When the data distribution server 20 is distributing three 1000 kbps streams, the stream parameter in the server load information is 50− (10 × 3) = 20 units.
(D−2)上記の各実施形態において、ディスパッチャは、優先度を考慮して、サーバ割当要求に対して割り当てるデータ配信サーバを選択する処理を行っているが、優先度を考慮しないようにしても良い。例えば、第1の実施形態において、ステップS203〜ステップS205の処理は、データ配信サーバに付与された優先度順に行っているが、ランダムな順番や、優先度を考慮しない固定の順番や、識別情報をキーに昇順で並べた順番等、その他の基準により定められる順番で実施するようにしても良い。 (D-2) In each of the above embodiments, the dispatcher performs processing for selecting the data distribution server to be allocated to the server allocation request in consideration of the priority, but does not consider the priority. Also good. For example, in the first embodiment, the processing of step S203 to step S205 is performed in the order of priority assigned to the data distribution server. However, a random order, a fixed order that does not take priority into account, or identification information May be performed in an order determined by other criteria, such as an order in which the keys are arranged in ascending order.
(D−3)上記の各実施形態において、データ配信システムには、複数のディスパッチャが配置されているが、ディスパッチャは1つとしても良い。 (D-3) In each of the embodiments described above, a plurality of dispatchers are arranged in the data distribution system, but the number of dispatchers may be one.
(D−4)上記の各実施形態においては、サーバ負荷情報には、updatetime(当該サーバ負荷情報が生成された時刻)の情報が含まれているが、これを省略して、ディスパッチャ側で、サーバ負荷情報を受信した時刻をupdatetimeに置き換えて適用するようにしても良い。 (D-4) In each of the above embodiments, the server load information includes information on updatetime (the time when the server load information was generated), but this is omitted, and on the dispatcher side, The time when the server load information is received may be replaced with updatetime and applied.
10…データ配信システム、20、20−1〜20−4…データ配信サーバ、30…通信制御システム、31…Proxy、32、32−1〜32−3…ディスパッチャ、40、30−1〜30−N…クライアント。
DESCRIPTION OF
Claims (7)
データ配信サーバのそれぞれについて、現在の負荷状況に係るサーバ負荷情報を取得するサーバ負荷情報取得手段と、
上記クライアント装置から、データ配信サーバを割り当てる割当要求を受付けるサーバ割当要求受付手段と、
上記サーバ負荷情報取得手段が過去に取得した、データ配信サーバごとのサーバ負荷情報を利用して、そのデータ配信サーバの現在の負荷状況を推定し、その推定結果を考慮して、上記割当要求に対して割当てるデータ配信サーバを選択するサーバ選択手段と、
上記サーバ選択手段が選択したデータ配信サーバから、上記クライアント装置に、配信データを配信するように、上記サーバ選択手段が選択したデータ配信サーバ、及び上記クライアント装置を制御する通信制御手段とを有し、
サーバ負荷情報には、そのサーバ負荷情報がデータ配信サーバにおいて生成された時点で、そのデータ配信サーバで現在配信中のストリームの終了予定時刻に係るストリーム配信終了予定情報が含まれており、
上記サーバ選択手段は、上記サーバ負荷情報取得手段が過去にデータ配信サーバから取得したサーバ負荷情報に含まれるストリーム配信終了予定情報も利用して、そのデータ配信サーバの現在の負荷状況を推定する
ことを特徴とする通信制御装置。 In a communication control device that controls communication between a client device and a plurality of data distribution servers that perform stream distribution of distribution data to the client device,
For each data distribution server, server load information acquisition means for acquiring server load information related to the current load status;
Server allocation request receiving means for receiving an allocation request for allocating a data distribution server from the client device;
Using the server load information for each data distribution server acquired in the past by the server load information acquisition means, the current load status of the data distribution server is estimated, and the estimation result is taken into consideration in the allocation request. Server selection means for selecting a data distribution server to be assigned to the server;
A data distribution server selected by the server selection unit and a communication control unit for controlling the client device so as to distribute distribution data from the data distribution server selected by the server selection unit to the client device; ,
The server load information includes stream distribution end schedule information related to the scheduled end time of the stream currently being distributed by the data distribution server when the server load information is generated in the data distribution server,
The server selection means also estimates the current load status of the data distribution server using the stream distribution end schedule information included in the server load information acquired from the data distribution server in the past by the server load information acquisition means. A communication control device.
データ配信サーバのそれぞれについて、現在の負荷状況に係るサーバ負荷情報を取得するサーバ負荷情報取得手段と、
上記クライアント装置から、データ配信サーバを割り当てる割当要求を受付けるサーバ割当要求受付手段と、
上記サーバ負荷情報取得手段が過去に取得した、データ配信サーバごとのサーバ負荷情報を利用して、そのデータ配信サーバの現在の負荷状況を推定し、その推定結果を考慮して、上記割当要求に対して割当てるデータ配信サーバを選択するサーバ選択手段と、
上記サーバ選択手段が選択したデータ配信サーバから、上記クライアント装置に、配信データを配信するように、上記サーバ選択手段が選択したデータ配信サーバ、及び上記クライアント装置を制御する通信制御手段として機能させ、
サーバ負荷情報には、そのサーバ負荷情報がデータ配信サーバにおいて生成された時点で、そのデータ配信サーバで現在配信中のストリームの終了予定時刻に係るストリーム配信終了予定情報が含まれており、
上記サーバ選択手段は、上記サーバ負荷情報取得手段が過去にデータ配信サーバから取得したサーバ負荷情報に含まれるストリーム配信終了予定情報も利用して、そのデータ配信サーバの現在の負荷状況を推定する
ことを特徴とする通信制御プログラム。 A computer mounted on a communication control device that controls communication between a client device and a plurality of data distribution servers that perform stream distribution of distribution data to the client device,
For each data distribution server, server load information acquisition means for acquiring server load information related to the current load status;
Server allocation request receiving means for receiving an allocation request for allocating a data distribution server from the client device;
Using the server load information for each data distribution server acquired in the past by the server load information acquisition means, the current load status of the data distribution server is estimated, and the estimation result is taken into consideration in the allocation request. Server selection means for selecting a data distribution server to be assigned to the server;
Functioning as a data distribution server selected by the server selection unit and a communication control unit for controlling the client device so as to distribute distribution data from the data distribution server selected by the server selection unit to the client device;
The server load information includes stream distribution end schedule information related to the scheduled end time of the stream currently being distributed by the data distribution server when the server load information is generated in the data distribution server,
The server selection means also estimates the current load status of the data distribution server using the stream distribution end schedule information included in the server load information acquired from the data distribution server in the past by the server load information acquisition means. A communication control program characterized by the above.
それぞれの上記データ配信サーバは、
当該データ配信サーバの、現在の負荷状況に係る情報を有するサーバ負荷情報を生成するサーバ負荷情報生成手段と、
上記サーバ負荷情報生成手段が生成したサーバ負荷情報を、上記通信制御装置に与えるサーバ負荷情報送信手段とを有し、
それぞれの上記通信制御装置として請求項1に記載の通信制御装置を適用したこと
を特徴とするデータ配信システム。 A data distribution system having a client device, a plurality of data distribution servers that distribute distribution data to the client device, and one or a plurality of communication control devices that control communication between the client device and the data distribution server In
Each of the above data distribution servers
Server load information generating means for generating server load information having information relating to the current load status of the data distribution server;
Server load information transmitting means for giving the server load information generated by the server load information generating means to the communication control device;
A data distribution system, wherein the communication control device according to claim 1 is applied as each of the communication control devices.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009259047A JP5487891B2 (en) | 2009-11-12 | 2009-11-12 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009259047A JP5487891B2 (en) | 2009-11-12 | 2009-11-12 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011109180A JP2011109180A (en) | 2011-06-02 |
| JP5487891B2 true JP5487891B2 (en) | 2014-05-14 |
Family
ID=44232234
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009259047A Active JP5487891B2 (en) | 2009-11-12 | 2009-11-12 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5487891B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6750299B2 (en) * | 2015-10-13 | 2020-09-02 | 富士電機株式会社 | Information processing system |
| KR101850696B1 (en) * | 2017-04-10 | 2018-04-23 | 주식회사 넥서스커뮤니티 | Multimedia- contents division multiplexing transmission method and device of thereof |
| KR20240118757A (en) * | 2022-10-13 | 2024-08-05 | 넷플릭스, 인크. | Pre-determination of network routes for content manipulation |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002091936A (en) * | 2000-09-11 | 2002-03-29 | Hitachi Ltd | Load distribution device and load estimation method |
| JP3800508B2 (en) * | 2001-11-09 | 2006-07-26 | 日本電信電話株式会社 | Distribution method of connection to server, program and recording medium |
| JP4401214B2 (en) * | 2004-03-30 | 2010-01-20 | 富士通株式会社 | Load balancing apparatus and program |
| JP4357537B2 (en) * | 2007-02-26 | 2009-11-04 | 富士通株式会社 | Distribution route control device |
| JP2009237835A (en) * | 2008-03-26 | 2009-10-15 | Panasonic Electric Works Co Ltd | Web server system and load distribution method |
-
2009
- 2009-11-12 JP JP2009259047A patent/JP5487891B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011109180A (en) | 2011-06-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113055308B (en) | Bandwidth scheduling methods, traffic transmission methods and related products | |
| JP6165777B2 (en) | Computing system, computer storage memory, and computer-implemented method for automatic scaling | |
| KR100715674B1 (en) | Load balancing method and apparatus and software streaming system using same | |
| US6539445B1 (en) | Method for load balancing in an application server system | |
| US20050188087A1 (en) | Parallel processing system | |
| US8181184B2 (en) | System and method for scheduling tasks in processing frames | |
| US20170041384A1 (en) | Cloud service broker apparatus and method thereof | |
| JP2001109638A (en) | Method and system for distributing transaction load based on estimated extension rate and computer readable recording medium | |
| US20170237684A1 (en) | Decentralized resource allocation | |
| CN101406025A (en) | Centralization type scheduling device aiming at content transmission network | |
| JP5487891B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM | |
| JP4930148B2 (en) | Information processing apparatus, information processing method, and information processing program | |
| CN106325997B (en) | Virtual resource allocation method and device | |
| US9055086B2 (en) | System and method for managing data transfer from a data center including bandwidth limits and a flex parameter indicating bandwidth variation between data transfer periods | |
| JPWO2011024930A1 (en) | Content distribution system, content distribution method, and content distribution program | |
| KR101349603B1 (en) | Method of updating software in real-time system and apparatus for the same | |
| JP5879117B2 (en) | Information processing system and operation management method | |
| JP3952058B2 (en) | Transaction load distribution method and method based on estimated expansion rate, and computer-readable recording medium | |
| JP6191361B2 (en) | Information processing system, information processing system control method, and control program | |
| JP4714661B2 (en) | BAND CONTROL SYSTEM, BAND CONTROL METHOD, AND BAND CONTROL PROGRAM | |
| Ogawa et al. | Cloud bursting approach based on predicting requests for business-critical web systems | |
| Yu et al. | Quantitative quality estimation of cloud-based streaming services | |
| JP2013206041A (en) | Communication system and load distribution processing apparatus | |
| KR20140097881A (en) | Apparatus and method for load balancing using resource usage prediction | |
| JP4758801B2 (en) | Content distribution system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20120813 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120815 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130712 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130730 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130927 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131227 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140128 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140210 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5487891 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |