Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5487891B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM - Google Patents
[go: Go Back, main page]

JP5487891B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM - Google Patents

COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM Download PDF

Info

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
Application number
JP2009259047A
Other languages
Japanese (ja)
Other versions
JP2011109180A (en
Inventor
哲弘 任
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2009259047A priority Critical patent/JP5487891B2/en
Publication of JP2011109180A publication Critical patent/JP2011109180A/en
Application granted granted Critical
Publication of JP5487891B2 publication Critical patent/JP5487891B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Patent Document 1.

特開2000−284980号公報JP 2000-284980 A

しかしながら、特許文献1の記載技術では、1つのディスパッチャで集中して通信制御を行っているため、クライアント数が大きくなるとディスパッチャがボトルネックとなる。このため大規模なシステムにおいては複数のディスパッチャを並列的に用いることが必要となるが、複数のディスパッチャが、各サーバの負荷を調べるために密に通信を行うとサーバのみならずネットワークの負荷も増大させる事になる。   However, in the technique described in Patent Document 1, since communication control is concentrated by one dispatcher, the dispatcher becomes a bottleneck when the number of clients increases. For this reason, in a large-scale system, it is necessary to use multiple dispatchers in parallel. However, if multiple dispatchers communicate closely to check the load on each server, not only the server but also the network load Will increase.

そのため、ディスパッチャ(通信制御装置)を備えるデータ配信システムにおいて、データ配信サーバとディスパッチャ(通信制御装置)との間の通信量を低減することができる通信制御装置、通信制御プログラム、及び、データ配信システムが望まれている。
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. .

第1の実施形態に係るデータ配信システムの全体構成について示したブロック図である。It is a block diagram shown about the whole data distribution system composition concerning a 1st embodiment. 第1の実施形態に係るデータ配信サーバからディスパッチャに送信されるサーバ負荷情報の内容について示した説明図である。It is explanatory drawing shown about the content of the server load information transmitted to the dispatcher from the data delivery server which concerns on 1st Embodiment. 第1の実施形態に係るデータ配信システムにおける、各装置間の動作例について示したシーケンス図である。It is the sequence diagram shown about the operation example between each apparatus in the data delivery system which concerns on 1st Embodiment. 第1の実施形態に係るディスパッチャにおけるサーバ選択動作の処理について示したフローチャートである。It is the flowchart shown about the process of the server selection operation | movement in the dispatcher which concerns on 1st Embodiment. 第2の実施形態に係るディスパッチャにおけるサーバ選択動作の処理について示したフローチャートである。It is the flowchart shown about the process of the server selection operation | movement in the dispatcher which concerns on 2nd Embodiment. 第3の実施形態に係るストリーム配信終了予定情報の内容例について示した説明図である。It is explanatory drawing shown about the example of the content of the stream delivery completion | finish schedule information which concerns on 3rd Embodiment. 第3の実施形態に係るディスパッチャの処理において用いられるdeallocated関数の処理内容の例について示した説明図である。It is explanatory drawing shown about the example of the processing content of the deallocated function used in the process of the dispatcher which concerns on 3rd Embodiment. 第3の実施形態に係るストリーム配信終了予定情報の具体例について示した説明図である。It is explanatory drawing shown about the specific example of the stream delivery completion | finish schedule information which concerns on 3rd Embodiment.

(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 data distribution system 10 of this embodiment. In FIG. 1, the reference numerals in parentheses are those used in the second and third embodiments described later.

データ配信システム10は、4台のデータ配信サーバ20(20−1〜20−4)、通信制御システム30、N台のクライアント40−1〜40−Nを有している。また、通信制御システム30には、Proxy31、及び、3台のディスパッチャ32(32−1〜32−3)が配置されている。   The data distribution system 10 includes four data distribution servers 20 (20-1 to 20-4), a communication control system 30, and N clients 40-1 to 40-N. In the communication control system 30, a Proxy 31 and three dispatchers 32 (32-1 to 32-3) are arranged.

なお、データ配信サーバ20、ディスパッチャ32、クライアント40の台数は限定されないものである。   The number of data distribution servers 20, dispatchers 32, and clients 40 is not limited.

データ配信サーバ20は、いずれかのディスパッチャ32の制御に応じたクライアント40へ、動画像データをストリーム配信する装置である。この実施形態においては、データ配信サーバ20は、動画像データを配信するものとして説明するが、動画像データに音声データを付加して配信するようにしても良いし、音声データだけを配信するようにしても良い。   The data distribution server 20 is a device that distributes moving image data to the client 40 according to the control of any one of the dispatchers 32. In this embodiment, the data distribution server 20 is described as distributing moving image data. However, the audio data may be added to the moving image data and distributed, or only the audio data may be distributed. Anyway.

ここで、データ配信サーバ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 Proxy 31 has a function of relaying communication between the client 40 and the dispatcher 32. The Proxy 31 receives a request (hereinafter referred to as “server allocation request”) from the client 40 for allocating one of the data distribution servers 20 to data distribution, and distributes the server allocation request to one of the dispatchers 32 for transfer. Thereafter, the communication between the client 40 and the dispatcher 32 is relayed.

図1では、例として、クライアント40とディスパッチャ32の間にProxy31が存在しているが、Proxy31は必須ではなく省略することができる。例えば、予めディスパッチャ32ごとに特定クライアント40を割り当て(例えば、静的にクライアント40側に設定したり、DNSサーバ(図示せず)により割り振る等)、クライアント40が直接ディスパッチャ32にアクセスするようにしても良い。   In FIG. 1, as an example, the Proxy 31 exists between the client 40 and the dispatcher 32, but the Proxy 31 is not essential and can be omitted. For example, a specific client 40 is assigned to each dispatcher 32 in advance (for example, statically set on the client 40 side or assigned by a DNS server (not shown)), and the client 40 directly accesses the dispatcher 32. Also good.

また、Proxy31がサーバ割当要求を、いずれかのクライアント40に割り当てる方法については限定されないものであり、例えば、ランダムに選択したり、ラウンドロビン方式により選択したり等、既存の負荷分散方式を適用するようにしても良い。   Further, the method by which the Proxy 31 allocates a server allocation request to any one of the clients 40 is not limited. For example, an existing load distribution method such as a random selection or a round robin method is applied. You may do it.

クライアント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 client 40.

ディスパッチャ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 client 40, the dispatcher 32 uses the server load information acquired in the past from each of the data distribution servers 20-1 to 20-4 to determine the data distribution server 20 to be allocated to the client 40. select. Then, the dispatcher 32 transmits a response to the server allocation request (hereinafter referred to as “server allocation response”) having at least the identification information of the selected data distribution server 20 to the client 40 via the Proxy 31. Upon receiving the server allocation response, the client 40 extracts the identification information of the data distribution server 20 included in the server allocation response, accesses the data distribution server 20 of the identification information, and makes an actual distribution request. Thereafter, the data distribution server 20 performs stream distribution to the client 40 that has accessed based on the server allocation response.

それぞれのディスパッチャ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 data distribution system 10 of the first embodiment having the above configuration will be described.

(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 client 40 by the data distribution server 20 is 10, and currently 5 streams are being distributed, the stream indicating the number of remaining streams that can be distributed is “5”. Become.

「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 data distribution system 10.

図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 clients 40, dispatchers 32, and data distribution servers 20 are arranged.

図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 Proxy 31, and the server allocation request is given by the Proxy 31 to the dispatcher 32-1 (S101). In the following, the operation related to the dispatcher 32-1 will be described. However, the operations of the other dispatchers 32-2 and 32-3 when the server allocation request is given are the same, and the description thereof will be omitted.

次に、ディスパッチャ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 Proxy 31 distributes the allocation request evenly to the dispatchers 32 (or the clients 40 are allocated equally to the dispatchers 32).

また、(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 data distribution system 10, since the dispatchers 32-1 to 32-3 are individually operated in parallel, the synchronization processing between the dispatchers 32 in a normal time or when a failure of some dispatchers 32 occurs. Switching process is not required, and the construction cost is reduced and the maintainability is improved.

(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 data distribution system 10 of the first embodiment is replaced with the data distribution system 10A, but the other configurations are the same as those of the first embodiment, and thus detailed. Description is omitted.

データ配信システム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 dispatcher 32A (32A-1 to 32A-3), but other configurations are the same as those in the first embodiment. Detailed explanation is omitted here.

ディスパッチャ32Aは、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理(上述の図3のステップS102の処理)が、第1の実施形態のディスパッチャ32と異なるだけである。なお、ディスパッチャ32Aにおける、サーバ割当要求に対して割り当てるデータ配信サーバ20を選択する処理の詳細については、後述する動作説明において詳述する。   The dispatcher 32A is different from the dispatcher 32 of the first 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). The details of the process of selecting the data distribution server 20 to be allocated to the server allocation request in the dispatcher 32A will be described in detail in the description of the operation described later.

(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 dispatcher 32A-1.

また、図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 dispatcher 32A accumulates server load information received from each data distribution server 20, and uses the history of the accumulated server load information in the operation according to the flowchart of FIG.

まず、ディスパッチャ32Aでは、後述するループ処理に用いられる変数Iが初期化(I=0)される(S301)。なお、I=0の場合には、後述するステップS302〜S305のループ処理では、第1の実施形態と同様に、優先順位(サーバ負荷情報におけるPriorityにより定まる順位)が最も高いデータ配信サーバ20が処理対象のサーバとして処理が行われ、I=1では2番目に優先順位が高いデータ配信サーバ20の処理が行われるものとして説明する。   First, in the dispatcher 32A, a variable I used for loop processing described later is initialized (I = 0) (S301). When I = 0, in the loop processing of steps S302 to S305 described later, the data distribution server 20 having the highest priority (the order determined by the priority in the server load information) is the same as in the first embodiment. The processing is performed as a server to be processed, and the processing of the data distribution server 20 having the second highest priority is performed when I = 1.

ディスパッチャ32A−1におけるループ処理では、ディスパッチャ32A−1において、各ディスパッチャ32Aでは、蓄積したサーバ負荷情報の履歴にもとづいて、各データ配信サーバ20のサーバ負荷情報におけるstreamの値の変化傾向を分析する。そして、ディスパッチャ32A−1では、その変化傾向に基づいて現在の各データ配信サーバ20における余剰の処理能力を示す値(以下、「new_stream」という)を算出する(S302)。なお、new_streamを算出する具体的な処理については後述する。   In the loop processing in the dispatcher 32A-1, in the dispatcher 32A-1, each dispatcher 32A analyzes the change tendency of the stream value in the server load information of each data distribution server 20 based on the accumulated server load information history. . Then, the dispatcher 32A-1 calculates a value (hereinafter referred to as “new_stream”) indicating the surplus processing capability in each data distribution server 20 based on the change tendency (S302). A specific process for calculating new_stream will be described later.

次に、ディスパッチャ32A−1では、上述のステップS302で算出したnew_streamが、所定の閾値よりも大きいか否かが判定される(S303)。ステップS303において用いられる閾値は、任意の値を設定することができるが、例えば「0」を適用するようにしても良い。   Next, the dispatcher 32A-1 determines whether or not the new_stream calculated in step S302 described above is larger than a predetermined threshold (S303). Although an arbitrary value can be set as the threshold used in step S303, for example, “0” may be applied.

ステップ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 dispatcher 32A-1 analyzes the change tendency of the stream value in the server load information of each data distribution server 20 based on the history of server load information received and accumulated from each data distribution server 20. Here, as an example, each dispatcher 32A will be described as determining whether the value of the stream associated with each data distribution server 20 is increasing or decreasing using the following equation (2).

なお、(2)式において、α+α+α+…+α=1、及び、α>α>α>…>αの関係が成り立つ値が予め設定されているものとする。また、(2)式において、stream、stream、stream、stream、…、streamは、変化傾向の判定対象となるデータ配信サーバ20から、ディスパッチャ32Aに与えられたサーバ負荷情報におけるstreamの値の履歴を示している。すなわち、streamが最新の値を示しており、streamが最も古い値を示している。iの値は、任意の値を設定するようにしても良い。 Note that in equation (2), α 1 + α 2 + α 3 + ... + α i = 1, and it is assumed that the value relationship holds for α 1> α 2> α 3 >...> α i are set in advance . In the expression (2), stream, stream 1 , stream 2 , stream 3 ,..., Stream i are stream information in the server load information given to the dispatcher 32 </ b > A from the data distribution server 20 subject to change tendency determination. Shows a history of values. That is, stream indicates the latest value, and stream i indicates the oldest value. An arbitrary value may be set as the value of i.

δ=α(stream−stream)+α(stream−stream
+ … +α(streami−1−stream) …(2)
そして、ディスパッチャ32Aでは、上記の(2)式により求められたδをさらに、以下の(3)式に適用することにより、当該データ配信サーバ20に、現在割り当て可能なストリームの本数を推定する。
δ = α 1 (stream-stream 1 ) + α 2 (stream 1 -stream 2 )
+ ... + α i (stream i-1 -stream i ) (2)
Then, the dispatcher 32A estimates the number of streams that can be currently allocated to the data distribution server 20 by further applying δ obtained by the above equation (2) to the following equation (3).

なお、(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にもその値が記憶されているものとして説明する。

Figure 0005487891
The server information update interval indicates an interval at which server load information is generated in the data distribution server 20. Although any value can be set as the server information update interval of each data distribution server 20, in the second embodiment, the server information update interval of each data distribution server 20 is all set to the same value. In the following description, it is assumed that each dispatcher 32 stores the value.
Figure 0005487891

次に、(3)を適用した場合の具体的な計算例について説明する。以下では、例として、α=0.8、α=0.2、サーバ情報更新間隔=10秒であるものとする。また、データ配信サーバ20−1ではstream=5、stream=15、stream=25であるものとする。さらに、データ配信サーバ20−1ではstream=4、stream=5、stream=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 dispatcher 32A-1 under the above-mentioned conditions, and the following expression (5) is ( 4) new_stream calculated using δ calculated by equation (4).

また、以下の(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 dispatcher 32A-1 under the above-described conditions, and the following expression (7) is 6) new_stream calculated using δ calculated by equation (6).

上述の例の場合、データ配信サーバ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が割り当てられる。

Figure 0005487891
On the other hand, the data distribution server 20-2 has a priority of data distribution server 20-1> data distribution server since new_stream = 3.5 after 5 seconds as shown in the following equations (6) and (7). The data distribution server 20-2 is also assigned to 20-2.
Figure 0005487891

(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 dispatcher 32A analyzes the trend of change of the stream value in the server load information of each data distribution server 20 based on the history of the server load information, and based on the analysis result, the current load status of each data distribution server 20 Is used for selection of the data distribution server 20. For example, in the first embodiment, if the estimation as in the second embodiment is not performed, even if the number of accesses of a certain data distribution server 20 has increased rapidly and has already reached the distribution limit, the data There is a problem that the distribution server 20 is selected.

(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 data distribution system 10 of the second embodiment is replaced with the data distribution system 10B. Further, the data distribution server 20 (20-1 to 20-4) of the second embodiment is replaced with the data distribution server 20B (20B-1 to 20B-4). Since it is the same as that of embodiment, detailed description is abbreviate | omitted.

データ配信システム10Bでは、ディスパッチャ32A(32A−1〜32A−3)が、ディスパッチャ32B(32B−1〜32B−3)に置き換わっているが、それ以外の構成については第2の実施形態と同様であるので詳しい説明は省略する。   In the data distribution system 10B, the dispatcher 32A (32A-1 to 32A-3) is replaced with the dispatcher 32B (32B-1 to 32B-3), but other configurations are the same as those in the second embodiment. Detailed explanation is omitted here.

データ配信サーバ20Bは、ディスパッチャ32Bに与えるサーバ負荷情報の内容が、上述の図2に示す内容に加えて、現在当該データ配信サーバ20Bがデータ配信を行っているストリームについて、ストリーム配信が終了する予定に係る情報(以下、「ストリーム配信終了予定情報」という)が含まれている点で、第2の実施形態のデータ配信サーバ20と異なっている。   In the data distribution server 20B, the content of the server load information given to the dispatcher 32B is scheduled to end the stream distribution for the stream currently being distributed by the data distribution server 20B in addition to the contents shown in FIG. Is different from the data distribution server 20 of the second embodiment in that information (hereinafter referred to as “stream distribution end scheduled information”) is included.

図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 data distribution server 20B.

図6に示すように、ストリーム配信終了予定情報には、A〜A、K〜Kの情報が含まれている。A〜Aは、それぞれ、当該サーバ負荷情報が生成された時刻から何秒後であるかを示し、K〜Kは、それぞれA〜Aに係る時刻に、当該データ配信サーバ20Bにおいて、データ配信が終了するストリームの本数を示している。例えば、0秒〜A秒後までにデータ配信が終了するストリームの本数が1であればKには1が設定され、A秒後からA秒後までの間にデータ配信が終了するストリームの本数が2であればKには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 A j. 20B shows the number of streams for which data distribution ends. For example, 1 is set in the K 1 If the number of streams is one in which data delivery is terminated until after 0 seconds to A 1 second, data distribution between 1 second after A to 2 seconds after the A termination If the number of streams to be performed is 2, K 1 is set to 2.

なお、A〜Aに設定する具体的な時間は限定されないものであるが、この実施形態においては、例えば、A〜Aを全て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 data distribution server 20B, the length (reproduction time) of the moving image data and the current transmission position (reproduction position) are grasped for each stream, and stream distribution end schedule information is based on the information. Is generated.

ディスパッチャ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 data distribution server 20B) can also be shown using FIG. 5 described above. However, in the dispatcher 32B of the third embodiment, only the process of step S302 (new_stream calculation process) in FIG. 5 is different from that of the second embodiment, so only the process related to step S302 will be described below.

まず、ディスパッチャ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 data distribution server 20B. In the same way as in the second embodiment, the past change tendency is analyzed by obtaining δ by the above equation (2).

そして、ディスパッチャ32Bでは、上記の(2)式により求められたδをさらに、以下の(8)式に適用することにより、当該データ配信サーバ20Bに、現在割り当て可能なストリームの本数を推定する。   Then, the dispatcher 32B estimates the number of streams that can be currently allocated to the data distribution server 20B by further applying δ obtained by the above equation (2) to the following equation (8).

なお、(8)式において、MAXは、上記の(3)式と同様に、new_streamの値を算出するための関数である。例えば、MAX(a,b)と表した場合、a≧bならばMAX(a,b)の結果としてaが返され、a<bならばMAX(a,b)の結果としてbが返されるものとする。

Figure 0005487891
In Expression (8), MAX is a function for calculating the value of new_stream, similar to Expression (3) above. 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.
Figure 0005487891

また、(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がストリーム配信終了予定情報におけるAよりも大きい場合には、Kを戻り値として返し、timeがAよりも大きい場合はK+Kを返し、…、timeがAよりも大きい場合にはK+K+…+Kを返す処理を行う。 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 data distribution server 20B to the current time (updatetime-now). It is possible to grasp the number of streams in which the process ends. In this embodiment, the deallocated function processing is shown by the program processing in FIG. 7, but the processing procedure is not limited as long as similar processing is possible.

このように、ディスパッチャ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)式を適用した場合の具体的な計算例について説明する。以下では、例として、α=0.8、α=0.2、サーバ情報更新間隔=10秒であるものとする。また、データ配信サーバ20−1ではstream=5、stream=15、stream=25であるものとする。さらに、データ配信サーバ20−1ではstream=4、stream=5、stream=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 data distribution server 20B-1 has the content as shown in FIG. 8A, and the stream distribution end schedule information in the server load information of the data distribution server 20B-1 is illustrated in FIG. It is assumed that the content is as shown in 8 (b).

この場合、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 data distribution server 20B-1 becomes 0 and allocation becomes impossible. However, since the data distribution server 20B-2 has several streams that end, new_stream = 0 does not become allocated. Is possible.

(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 data distribution server 20B using the stream distribution end schedule information. Thereby, compared with 2nd Embodiment, the estimation of a load condition with higher precision can be performed. For example, in the second embodiment, even if the load change trend of a certain data distribution server 20 is an upward trend in the past, if the stream distribution end schedule information includes a large number of streams scheduled for distribution end, the actual allocation is performed. Although possible, it may be determined that assignment is impossible.

(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 SYMBOLS 10 ... Data delivery system, 20, 20-1 to 20-4 ... Data delivery server, 30 ... Communication control system, 31 ... Proxy, 32, 32-1 to 32-3 ... Dispatcher, 40, 30-1 to 30- N ... Client.

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.
サーバ負荷情報には、そのサーバ負荷情報が生成された時刻に係る情報が含まれていることを特徴とする請求項1に記載の通信制御装置。   2. The communication control apparatus according to claim 1, wherein the server load information includes information related to a time when the server load information is generated. 上記サーバ選択手段は、過去にデータ配信サーバから取得したサーバ負荷情報の履歴に基づいて、そのデータ配信サーバの負荷に係る変動傾向を分析し、その分析結果を利用して、そのデータ配信サーバの現在の負荷状況を推定することを特徴とする請求項1又は2に記載の通信制御装置。   The server selection means analyzes the fluctuation tendency related to the load of the data distribution server based on the history of server load information acquired from the data distribution server in the past, and uses the analysis result to determine the data distribution server's load. The communication control apparatus according to claim 1, wherein a current load situation is estimated. クライアント装置と、クライアント装置に配信データのストリーム配信を行う複数のデータ配信サーバとの間の通信を制御する通信制御装置に搭載されたコンピュータを、
データ配信サーバのそれぞれについて、現在の負荷状況に係るサーバ負荷情報を取得するサーバ負荷情報取得手段と、
上記クライアント装置から、データ配信サーバを割り当てる割当要求を受付けるサーバ割当要求受付手段と、
上記サーバ負荷情報取得手段が過去に取得した、データ配信サーバごとのサーバ負荷情報を利用して、そのデータ配信サーバの現在の負荷状況を推定し、その推定結果を考慮して、上記割当要求に対して割当てるデータ配信サーバを選択するサーバ選択手段と、
上記サーバ選択手段が選択したデータ配信サーバから、上記クライアント装置に、配信データを配信するように、上記サーバ選択手段が選択したデータ配信サーバ、及び上記クライアント装置を制御する通信制御手段として機能させ、
サーバ負荷情報には、そのサーバ負荷情報がデータ配信サーバにおいて生成された時点で、そのデータ配信サーバで現在配信中のストリームの終了予定時刻に係るストリーム配信終了予定情報が含まれており、
上記サーバ選択手段は、上記サーバ負荷情報取得手段が過去にデータ配信サーバから取得したサーバ負荷情報に含まれるストリーム配信終了予定情報も利用して、そのデータ配信サーバの現在の負荷状況を推定する
ことを特徴とする通信制御プログラム。
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.
サーバ負荷情報には、そのサーバ負荷情報が生成された時刻に係る情報が含まれていることを特徴とする請求項4に記載の通信制御プログラムThe communication control program according to claim 4, wherein the server load information includes information related to a time when the server load information is generated. 上記サーバ選択手段は、過去にデータ配信サーバから取得したサーバ負荷情報の履歴に基づいて、そのデータ配信サーバの負荷に係る変動傾向を分析し、その分析結果を利用して、そのデータ配信サーバの現在の負荷状況を推定することを特徴とする請求項4又は5に記載の通信制御プログラムThe server selection means analyzes the fluctuation tendency related to the load of the data distribution server based on the history of server load information acquired from the data distribution server in the past, and uses the analysis result to determine the data distribution server's load. The communication control program according to claim 4 or 5, wherein a current load situation is estimated. クライアント装置と、クライアント装置に配信データのストリーム配信を行う複数のデータ配信サーバと、上記クライアント装置と上記データ配信サーバとの間の通信を制御する1又は複数の通信制御装置とを有するデータ配信システムにおいて、
それぞれの上記データ配信サーバは、
当該データ配信サーバの、現在の負荷状況に係る情報を有するサーバ負荷情報を生成するサーバ負荷情報生成手段と、
上記サーバ負荷情報生成手段が生成したサーバ負荷情報を、上記通信制御装置に与えるサーバ負荷情報送信手段とを有し、
それぞれの上記通信制御装置として請求項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.
JP2009259047A 2009-11-12 2009-11-12 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM, AND DATA DISTRIBUTION SYSTEM Active JP5487891B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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