WO2011024930A1 - コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム - Google Patents
コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム Download PDFInfo
- Publication number
- WO2011024930A1 WO2011024930A1 PCT/JP2010/064546 JP2010064546W WO2011024930A1 WO 2011024930 A1 WO2011024930 A1 WO 2011024930A1 JP 2010064546 W JP2010064546 W JP 2010064546W WO 2011024930 A1 WO2011024930 A1 WO 2011024930A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- content distribution
- server
- content
- distribution
- distribution server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
Definitions
- the present invention relates to a content distribution system, a content distribution method, and a content distribution program, and more particularly to a content distribution system, a content distribution method, and a content distribution program for distributing content such as video via a network.
- a service that enables viewing of videos that are desired to be viewed, which is realized by distributing content such as videos to terminals via the network.
- a video distribution server in which video content is stored in advance is installed on a network, and the video content is distributed from the video distribution server in response to a distribution request from a user terminal.
- a video content distribution system there is a web system in which a web distribution server distributes web content (homepage, text data, etc.) to a user terminal that is a distribution request source.
- Patent Document 1 discloses a content distribution system using a load distribution apparatus.
- a plurality of web distribution servers capable of distributing the same web content and a load distribution device are installed.
- the load balancer receives the registration of the IP address of each web distribution server, and the load balancer itself receives one IP address setting.
- the IP address of the load balancer is disclosed to the receiving terminal as a client as the address of the web distribution server that distributes the web content.
- the load balancer always collects the load status of the web distribution server, and grasps an empty web distribution server with a sufficient processing capacity.
- the receiving terminal regards the load distribution apparatus as a web distribution server and transmits a distribution request.
- the load balancer transfers the received distribution request to the free web server. Then, the free web distribution server outputs the processing result for the distribution request to the load distribution device.
- the load distribution apparatus outputs the received processing result to the receiving terminal that is the distribution source of the request.
- the content distribution system having such a configuration has a plurality of web distribution servers, manages the web distribution servers by the load balancer, and further transmits or receives data so that access is concentrated.
- the load on the web distribution server can be distributed.
- the process of transmitting the distribution data to the receiving terminal by the load distribution apparatus is short, and the amount of computing resources required for the transmission process is small.
- the content distribution system needs to continuously distribute the data. Therefore, the video distribution processing consumes a large amount of calculation resources such as the usage time of a CPU (Central Processing Unit) of the distribution server and the network bandwidth. Therefore, the load on the video distribution server that distributes the video data tends to increase. Therefore, when configuring the video distribution server, load distribution technology of the video distribution server becomes more important. Therefore, as a load distribution technique of the video distribution server, a media director such as a content distribution system described in Japanese Patent Application Laid-Open No. 2005-332373 (hereinafter referred to as Patent Document 2) is used instead of a load distribution device. Can be considered.
- the content distribution system described in Patent Document 2 includes a single media director and a plurality of media engines.
- the content distribution system having such a configuration operates as follows.
- Each media engine incorporates a media content storage device, a communication channel for retrieving media content over a network, and a communication channel for streaming media content over the network.
- the media director includes a controller adapted to direct the retrieval of media content over the network by the selected media engine and to track the content stored in the media engine.
- the controller is adapted to redirect content requested from a media console connected to the media station to a selected one of the media engines storing content corresponding to the streaming request. is doing.
- Patent Document 3 a content distribution system described in Japanese Patent Laid-Open No. 2006-113735 (hereinafter referred to as Patent Document 3) has been proposed as a content distribution system that distributes the load of a video distribution service without using a load distribution device or a media director. ing.
- This content distribution system transmits, to the receiving terminal, distribution data distributed by the content distribution server, in which the content data identifier and the load status of the server are added to the content data.
- the receiving terminal determines the load status of the content distribution server, connects to another content distribution server with a light load, and continues to receive content data.
- Patent Document 4 Japanese Patent Application Laid-Open No. 2008-71156
- Patent Document 4 has means for exchanging load information among a plurality of servers. According to the present invention, when the load of the own server exceeds the load target value by exchanging the load information, the processing is performed such that the processing is executed by another server.
- a high load processing capability is required for a load balancer in which request load and distribution load are concentrated. Giving the load balancer a high processing capacity increases the cost of the distribution system. In addition, the processing capability of the load balancer becomes a bottleneck, and the content distribution system may not be able to distribute video stably. Details thereof will be described below.
- a load distribution apparatus that has received a distribution request packet in which a VIP (Virtual Internet Protocol) address is set from a user terminal performs RIP (Routing Information) held by each server. Protocol) is selectively determined, and the load of each server is distributed by replacing the VIP and transmitting.
- VIP Virtual Internet Protocol
- the load balancer since the load balancer must always grasp the load status of the server, the monitoring load becomes high. This increase in monitoring load is a cause of hindering stable distribution of video in the content distribution system. Furthermore, the load balancer selects a destination IP (Internet Protocol) address of the distribution request packet as the RIP of one server from RIPs set in a plurality of servers associated with the VIP, The RIP is replaced with the VIP and transmitted. At this time, the load balancer needs high processing capability. In the content distribution system described in Patent Document 2, since the request load and the distribution management load are concentrated on the media director, the media director is also required to have a high processing capability. This leads to a further increase in the cost of the distribution system.
- IP Internet Protocol
- the processing capability of the media director becomes a bottleneck, and the content distribution system may not be able to distribute video stably.
- a media director is requested for content from a media console connected to a media station.
- the media director selects one of the media engines that store the content corresponding to the streaming request and redirects to that media engine. Therefore, since it is necessary to always grasp the content location information and the load status of the media engine, the monitoring load increases. Further, the media director divides the content into a plurality of segments and distributes the contents in segment units.
- each user terminal makes a content data distribution request to a plurality of distribution servers that distribute content data.
- the user terminal acquires the load information of the distribution server from the distribution data obtained from the distribution server that requested the distribution, and determines the distribution server based on the load comparison result. Therefore, a great load is applied to the content distribution server.
- the load distribution system described in Patent Document 4 is not related to content distribution.
- the present invention has been made in view of the above points.
- An object of the present invention is to achieve load distribution, smoothing, and prevention of deterioration of viewing quality without requiring a load status inquiry from a load distribution device, media director, or user terminal to a distribution server. .
- the present invention provides a content distribution system, a content distribution method, and a content distribution program that achieve the above object.
- the content distribution system of the present invention includes: Exchanging load information among multiple distribution servers on the network as needed, Load information exchange and storage means for storing the load information and load information of the own server;
- the distribution server that receives the content distribution request Determination means for determining the presence or absence of its own free resource based on the load information; When the determination means determines that there are no free resources, from among other distribution servers, A selection means for selecting one or more other distribution servers having a lower load than the self distribution server; Redirect means for taking over the distribution of the content that is the target of the content distribution request to the selected other distribution server for the user terminal that has transmitted the content distribution request.
- the content distribution method of the present invention includes: Exchanging load information among multiple distribution servers on the network as needed, Storing the load information and load information of the server itself; The distribution server that receives the content distribution request Based on the load information, If you determine that there are no free resources, From other distribution servers, Select one or more other distribution servers that have a lower load than your own distribution server, For the user terminal that sent the content delivery request, The delivery of the content that is the target of the content delivery request is taken over to the selected other delivery server.
- the content distribution program of the present invention provides: Exchanging load information among multiple distribution servers on the network as needed, Load information exchange and storage processing for storing the load information and load information of the own server;
- the distribution server that receives the content distribution request A determination process for determining the presence or absence of its own free resource based on the load information;
- Redirect processing to take over the distribution of the content that is the target of the content distribution request to the selected other distribution server; Is executed by a computer.
- the content distribution system, the content distribution method, and the content distribution program do not use a load distribution device or a media director, and do not inquire about the load status from the user terminal to the distribution server.
- the distribution server load can be distributed and smoothed, and the viewing quality can be prevented from deteriorating.
- FIG. 1 is a configuration diagram of an embodiment of a content distribution system of the present invention.
- FIG. 2 is a block diagram for explaining the operation in the case where there is an empty resource in the content distribution request destination distribution server in the content distribution system of FIG.
- FIG. 3 is a block diagram for explaining the operation in the case where there is no free resource in the content distribution request destination distribution server in the content distribution system of FIG.
- FIG. 4 is a block diagram for explaining the operation when the distribution server confirms that the redirect record has reached the upper limit of the number of redirects in the content distribution system of FIG.
- FIG. 5 is a block diagram for explaining the operation when the distribution server confirms that the redirect record has not reached the upper limit of the number of redirects in the content distribution system of FIG.
- FIG. 1 is a configuration diagram of an embodiment of a content distribution system of the present invention.
- FIG. 2 is a block diagram for explaining the operation in the case where there is an empty resource in the content distribution request destination distribution server in the content distribution system of FIG.
- FIG. 6 is an operation explanatory diagram when exchanging load information between distribution servers in the content distribution system of FIG.
- FIG. 7 is a diagram illustrating an example of current load information data for each distribution server stored in the load information management unit in FIG. 1.
- FIG. 8 is a configuration diagram of another embodiment of the content distribution system of the present invention.
- FIG. 1 shows a configuration diagram of a first embodiment of a content distribution system according to the present invention.
- a content distribution server group 10 (hereinafter, the content distribution server is also simply referred to as a distribution server) and a user terminal group 20 are connected bidirectionally via a network 30.
- the user terminal group 20 includes, for example, n units (n is a natural number of 2 or more).
- the distribution server group 10 includes, for example, m (m is a natural number of 2 or more) distribution servers 10-1 to 10-m. Each of the distribution servers 10-1 to 10-m has a unique IP (Internet Protocol) address.
- IP Internet Protocol
- the distribution servers 10-1 to 10-m have the same configuration, and the content storage unit 100, the load information exchange unit 101, the load information management unit 102, the redirect number calculation unit 103, the redirect unit 104, and the distribution server selection unit. 105 and a content storage unit 106.
- the content storage unit 100 stores content data of video content. Content data stored in a certain distribution server may be the same as or different from content data stored in another distribution server.
- the content data may be stored as at least one piece of content data (segment).
- “one piece” means a unit indicating content data indicating a series of moving images.
- the content data may be individually stored in the respective content storage units 100 of the distribution servers 10-1 to 10-m as shown in FIG. 1, but the distribution servers 10-1 to 10-m share them.
- the load information exchanging unit 101 exchanges distribution load information for each distribution server held between the distribution servers 10-1 to 10-m regularly or irregularly at any time so that other distributions can be performed in real time.
- the server load information is collected and stored in the load information management unit 102.
- the load information management unit 102 stores the collected load information of other distribution servers together with the load information of the own distribution server, and updates it as needed.
- the redirect number calculation unit 103 calculates an upper limit value of the number of redirects set every certain period.
- “redirect” means an operation in which the self distribution server takes over the distribution to another distribution server at the timing when the user terminal of the content distribution destination of the self distribution server requests the next segment. Another distribution server to take over is determined by the distribution server selection unit 105.
- the redirect unit 104 has a function of performing redirection within a range that does not exceed the upper limit of the number of redirects set for every certain period. Redirection here means that the self-distribution server takes over the distribution to another distribution server at the timing when the user terminal of the content distribution destination of the self-distribution server requests the next segment. Specifically, the redirect unit 104 redirects to one of the other distribution servers selected by the distribution server selection unit 105 and having a lower load than the self distribution server. Each time the redirect unit 104 redirects, the redirect unit 104 counts the number of redirects.
- the redirect unit 104 compares and determines whether or not the count value is equal to or greater than the upper limit value Rmax of the redirect number calculated by the redirect number calculation unit 103 at the time of redirect confirmation (redirect performance confirmation).
- the redirection unit 104 performs redirection when the count value does not reach the upper limit value Rmax.
- the distribution server selection unit 105 selects another distribution server with a low load. When there are a plurality of other distribution servers having a lower load than that of the own distribution server, the distribution server selection unit 105 selects another distribution server having the lowest load, for example, in a predetermined order or randomly.
- the selection method may be any method.
- the content distribution unit 106 distributes content data (a set of segments) to the user terminals 20-1 to 20-n.
- Each of the user terminals 20-1 to 20-n includes a content distribution request transmission unit, It includes at least a receiving unit for distributed content data, a display unit for displaying video data as content data, and a distribution request switching unit.
- the distribution request switching unit makes a content distribution request by switching the content distribution request destination to the redirected distribution server.
- the content data in the present invention is not limited to video data, but in this embodiment, the distribution servers 10-1 to 10-m are described as being video distribution servers that receive video data. Next, the overall operation of this embodiment will be described in detail with reference to the block diagrams of FIGS. 2, 3, 4, 5, and 6.
- Step S2 an operation in the case where there is an empty resource in the content distribution request destination distribution server is described with reference to FIG. In FIG. 2, it is assumed that the user terminal 20-1 requests the distribution server 10-1 to distribute the segment 001 of the content A (step S1). Then, the distribution server 10-1 that is the content distribution request destination confirms whether or not the load information exchanging unit 101 refers to the load information stored in the load information management unit 102 and has a free resource in its own distribution server. (Step S2).
- the content distribution unit 106 assigns the segment 001 of the content A to the user terminal 20-1. (Step S3). Note that the content A is stored in the content storage unit 100. Next, an operation in the case where there is no free resource in the content distribution request destination distribution server will be described with reference to FIG. In FIG. 3, it is assumed that the user terminal 20-1 requests the segment 001 of the content A from the distribution server 10-1 (step S11). Then, the content distribution request destination distribution server 10-1 confirms whether the load information exchanging unit 101 refers to the load information stored in the load information management unit 102 and there is a free resource in the own distribution server ( Step S12).
- the distribution server 10-1 determines that there is no free resource (the resource usage rate is 100%)
- the distribution server 10-1 selects one of the other distribution servers (here) having a lower load than the distribution server 10-1.
- the distribution server 10-2) is selected (step 12). This selection is performed by the distribution server selection unit 105 based on the load information of other distribution servers stored in the load information management unit 102.
- the redirect unit 104 redirects to the selected distribution server 10-2 at the timing of the next segment request of the user terminal 20-1 (step S13). Thereby, the user terminal 20-1 requests the distribution server 10-2 to distribute the segment 001 of the content A (step S14). Then, the distribution server 10-2 confirms that there is a free resource in the own distribution server (step S15).
- the content distribution unit 106 distributes the segment 001 of the content A to the user terminal 20-1 that is the distribution request source (step S16).
- the segment 100 of the content A is stored in the content storage unit 100 in the self delivery server.
- an operation when the distribution server confirms that the redirect result has reached the upper limit of the number of redirects will be described with reference to FIG.
- the redirect unit 104 confirms the redirect result (step S22). ).
- the redirect unit 104 of the distribution server 10-1 confirms that the redirect result has reached the upper limit of the number of redirects calculated by the redirect number calculation unit 103. Then, in response to the subsequent segment request from the user terminal 20-1, the content distribution unit 106 distributes the next segment 002 of the content A stored in the content storage unit 100 (step S23). Next, an operation when the distribution server confirms that the redirect result has not reached the upper limit of the number of redirects will be described with reference to FIG. In FIG. 5, when the distribution server 10-1 approaches the completion of distribution of the segment 001 of the content A to the user terminal 20-1 (step S31), the redirect unit 104 confirms the redirect result (step S32).
- the redirect unit 104 of the distribution server 10-1 confirms that the redirect result has not reached the upper limit value of the number of redirects calculated by the redirect number calculation unit 103. In that case, based on the load information of another distribution server stored in the load information management unit 102 by the distribution server selection unit 105, one of the other distribution servers (distribution server 10) having a lower load than the own distribution server. -3) is selected (step S33). Subsequently, the distribution server 10-1 redirects to the distribution server 10-3 by the redirect unit 104 at the timing of the next segment request of the user terminal 20-1 (step S34). Then, the user terminal 20-1 requests the distribution server 10-3 to distribute the next segment 002 of the content A (step S35).
- the distribution server 10-3 confirms whether there is a free resource in the own distribution server (step S36).
- the distribution server 10-3 confirms that there is a free resource in the distribution server 10-3, it is stored in the content storage unit 100 in the distribution server 10-3 for the user terminal 20-1 that is the distribution request source.
- the content distribution unit 106 distributes the segment 002 of the content A that is being stored (step S37).
- the distribution servers 10-1, 10-2, and 10-3 periodically exchange load information with a distribution server set in advance by the load information exchange unit 101, and exchange the exchanged load information data. It is stored in the load information management unit 102.
- FIG. 7 shows an example of current load information data for each distribution server stored in the load information management unit 102.
- the load information data includes an IP address and a load.
- the load shown in FIG. 7 indicates the resource usage rate.
- information on all of the own distribution servers and other distribution servers that are held is exchanged only with the neighboring distribution servers, thereby efficiently grasping the load status of the entire neighboring distribution servers in real time. can do.
- the distribution servers 10-1 to 10-3 can perform autonomous distributed processing that redirects to a distribution server having a lower load than the self distribution server without using a load distribution device or a media director. This makes it possible to distribute and smooth the distribution server load and to prevent deterioration in viewing quality.
- the case where it redirects here is a case where there is no empty resource in the self delivery server demonstrated in FIG. 3, and the case where the frequency
- this embodiment can prevent a situation in which the request load and the distribution load are concentrated on the load balancer and the media director.
- the present embodiment does not require that the load distribution device or the media director have a high processing capability.
- this embodiment can prevent an increase in the cost of the distribution system.
- this embodiment can prevent the processing capacity of the load balancer and the media director from becoming a bottleneck and preventing video from being delivered stably.
- each user terminal makes a content data distribution request to a desired distribution server among a plurality of distribution servers that distribute the content data, obtains load information of the distribution server from the obtained distribution data, and loads comparison results
- the load status is frequently inquired from the user terminal to the distribution server, and the distribution server is heavily loaded.
- the present embodiment omits the inquiry about the load status from the user terminal to the distribution server for the following reasons, and the distribution capability as the entire content distribution system even when the number of connections n of the user terminal is large. Can be prevented.
- the reason is that load information can be efficiently grasped in real time by exchanging load information between neighboring distribution servers among the distribution servers 10-1 to 10-m. Based on the overall load status of the distribution servers 10-1 to 10-m thus grasped, it is possible to perform autonomous distributed processing in which the distribution request destination distribution server redirects to a distribution server having a lower load than the own distribution server.
- the present embodiment receives and stores load information (other server information) from other content distribution servers on the network, and stores load information (own server information) of the own content distribution server. And, based on the own server information, when the determination unit 320 determines whether there is a free resource of the own content distribution server, and when the determination unit determines that there is no free resource, among other content distribution servers, A selection unit 330 that selects one or more other content distribution servers having a lower load than the own content distribution server based on the own server information and the other server information, and content distribution to the selected other content distribution servers Redisy requesting distribution of content to be requested to a user terminal that has transmitted the content distribution request And transfected unit 340, a content distribution server, characterized in that it comprises a.
- the distribution server load is distributed and smoothed without using a load distribution device or a media director, and without inquiring the load status from the user terminal to the distribution server. Deterioration can
- the average resource usage rate of all the distribution servers 10-1 to 10-m during the information update cycle T [sec] is U.
- the average number of simultaneous connections of the distribution server 10-i is Ci.
- the average segment size is S [sec].
- the “predetermined timing” is a timing at which the user terminal 20-j requests a segment next to the currently distributed segment.
- the distribution server 10-i based on the load information data collected during the previous period, the average resource usage rate U of all the distribution servers 10-1 to 10-m and the average resource usage rate Ui of the distribution server 10-i.
- the average simultaneous connection number Ci of the distribution server 10-i is derived respectively.
- the average segment size S is assumed to be known in advance.
- the average resource usage rate Ui of the distribution server 10-i of each content distribution request destination is larger than the average resource usage rate U of all the distribution servers.
- the upper limit Rmax of the number of redirects redirects the excess “Ui-U” from the load average value among the number of segments “Ci ⁇ T / S” scheduled to be viewed in the period T to another distribution server. Is set to the value to be
- the distribution server determines whether to redirect on the basis of the upper limit value Rmax of the number of redirects for each segment. For this reason, this embodiment realizes fine load distribution in units of segments, and at the same time, suppresses excessive redirection of a distribution server having a low load.
- the distribution server can stably distribute the video to the user terminals.
- this invention is not limited to the above embodiment and Example.
- the operation of each block of the distribution servers 10-1 to 10-m shown in FIG. It also includes a content distribution program that realizes the operation of each step described with reference to FIGS. 2 to 5 by a computer in the distribution server.
- the present invention has been described with reference to the exemplary embodiments and examples, the present invention is not limited to the above exemplary embodiments and examples. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2009-192739 for which it applied on August 24, 2009, and takes in those the indications of all here.
- the present invention makes it possible to smooth the distribution server load and prevent deterioration of viewing quality by autonomous distributed processing between distribution servers. Further, by applying the present invention to a streaming distribution server, it is expected that the viewing quality of the user terminal is improved. In particular, when performing streaming distribution of audio and video, portal services, etc. on an IP network such as the Internet, by applying the present invention, when responding to requests from many user terminals, The big effect of can be expected.
- Distribution server group (content distribution server group) 10-1 to 10-m distribution server (content distribution server) 20 user terminal group 20-1 to 20-n user terminal 30 network 100 content storage unit 101 load information exchange unit 102 load information storage unit 103 redirect number calculation unit 104 redirect unit 105 distribution server selection unit 106 content distribution unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
また、上記の映像コンテンツ配信システムに類似のコンテンツ配信システムとしては、ウェブ配信サーバが配信要求元のユーザ端末に対してウェブコンテンツ(ホームページ、テキストデータなど)を配信するウェブシステムがある。
このウェブシステムでは、ウェブ配信サーバに対して情報配信の要求が集中すると、ウェブ配信サーバの処理能力の限界を超えてしまうため、ユーザ端末は情報配信のために長い時間待たされることがある。或いは、このような場合、ユーザ端末が、全く配信を受けられないといった障害が発生することがある。
そのため、多数の受信端末が接続される配信サーバは、その配信サーバの負荷を分散又は軽減させ、安定して情報配信を継続できるシステムの構築を、必要としている。
ここで、配信サーバの負荷集中を解決する手段としては、クライアント(受信端末)と配信サーバとでデータの送受信を行うネットワーク上に負荷分散装置を利用する手法が一般的に用いられている。
例えば、特開2003−242057号公報(以下、特許文献1という)は負荷分散装置を用いたコンテンツ配信システムを開示している。この特許文献1記載のコンテンツ配信システムには、同じウェブコンテンツを配信可能な複数台のウェブ配信サーバと、負荷分散装置とが設置される。負荷分散装置は、それぞれのウェブ配信サーバのIPアドレスの登録を受けると共に、負荷分散装置自身にも1つのIPアドレスの設定を受ける。クライアントとしての受信端末に、負荷分散装置のIPアドレスは、ウェブコンテンツを配信しているウェブ配信サーバのアドレスとして公開される。
また、負荷分散装置は、ウェブ配信サーバの負荷状況を常に収集し、処理能力に余裕のある空きウェブ配信サーバを把握しておく。
一方、受信端末は、負荷分散装置をウェブ配信サーバとみなして、配信要求を送信する。
負荷分散装置は、受け取った配信要求を空きウェブサーバに転送する。すると、空きウェブ配信サーバは、配信要求に対する処理結果を負荷分散装置に出力する。負荷分散装置は、受信した処理結果を要求の配信元である受信端末に出力する。
このような構成のコンテンツ配信システムは、複数台のウェブ配信サーバを有し、負荷分散装置によりそれらのウェブ配信サーバを管理させ、更にデータの送信又は受信を行うことで、アクセスが集中してもウェブ配信サーバの負荷を分散させることができる。
しかしながら、映像配信サーバの場合は、上記の負荷分散装置を利用することは困難である。テキストデータ等の少ないデータの配信の場合は、負荷分散装置が配信データを受信端末に送信する処理は短時間で済み、送信処理に要する計算資源の量は少ない。しかし、映像配信の場合は、映像配信サーバが送信する映像データが大量であり、更に継続的な映像データを負荷分散装置が受信端末に転送し続けなければならない。このため、転送処理が負荷分散装置の計算資源等を大量に消費し、結果として負荷分散装置自体の負荷が高くなってしまうことが、映像配信サーバの場合に上記の負荷分散装置を利用することが困難なことの理由である。
また、受信端末の接続数が多い場合にも負荷分散装置を使用すると、負荷分散装置がボトルネックとなって、映像配信サーバは、映像を安定して配信できなくなってしまう。ところで、上述のようなコンテンツ配信システムが、例えば番組コンテンツ等の映像データを配信する場合、映像を構成するデータ量はウェブ配信サーバ等が配信するテキストデータ等と比較して極端にデータ量が多い。また、コンテンツ配信システムは、そのデータを継続的に配信し続ける必要がある。
そのため、映像の配信処理は配信サーバのCPU(Central Processing Unit;中央処理装置)の使用時間や、ネットワーク帯域等の計算資源を大量に消費する。従って、映像データを配信する映像配信サーバの負荷は高くなりやすい。
そこで、映像配信サーバを構成する際には、映像配信サーバの負荷分散の技術がより重要となる。
そこで、映像配信サーバの負荷分散の技術としては、負荷分散装置ではなく、特開2005−332373号公報(以下、特許文献2という)記載のコンテンツ配信システムのような、メディア・ディレクタを利用することが考えられる。特許文献2記載のコンテンツ配信システムは、一つのメディア・ディレクタ及び複数のメディア・エンジンで構成される。このような構成を有するコンテンツ配信システムは次のように動作する。
それぞれのメディア・エンジンは、メディア・コンテンツ用記憶装置、ネットワークを通じてメディア・コンテンツを取り出すための通信チャネル、及びネットワークを通じてメディア・コンテンツをストリーミングするための通信チャネルを組み込んでいる。メディア・ディレクタは、選択されたメディア・エンジンによるネットワークを通じてのメディア・コンテンツの取り出しを指令し、メディア・エンジンに格納されたコンテンツを追跡するために適合されたコントローラを備える。このコントローラは、メディア・ステーションに接続されたメディア・コンソールから要求されたコンテンツを、ストリーミング要求に対応するコンテンツを格納するメディア・エンジンのうちの選択された1つのメディア・エンジンへリダイレクトすることに適合している。
しかし、規模が大きくなると、映像配信サービスは、負荷分散装置の場合と同様の理由から、特許文献2記載のコンテンツ配信システムのようにメディア・ディレクタを利用することも困難となる。
このような理由から、映像配信サービスは、負荷分散装置やメディア・ディレクタを利用することなく映像配信サービスの負荷を分散し、配信サーバの負荷を軽減するよう制御する手段が必要である。
そこで、負荷分散装置やメディア・ディレクタを利用することなく映像配信サービスの負荷を分散するコンテンツ配信システムとして、特開2006−113735号公報(以下、特許文献3という)記載のコンテンツ配信システムが提案されている。このコンテンツ配信システムは、コンテンツ配信サーバが配信する配信データとしてコンテンツデータにコンテンツデータの識別子とサーバの負荷の状況とを付加したものを受信端末に送信する。受信端末はコンテンツ配信サーバの負荷状況を判断して負荷の軽い別のコンテンツ配信サーバに接続し、コンテンツデータの受信を継続して行う。
また、特開2008−71156号公報(以下、特許文献4)記載の負荷分散システムは、複数のサーバ間で負荷情報を交換する手段を有している。この発明は、この負荷情報の交換によって、自サーバの負荷が負荷目標値を超えるときには、他のサーバで処理を実行させるという処理の融通を行っている。
その詳細は、以下に説明される。
特許文献1に記載されているコンテンツ配信システムでは、ユーザ端末からVIP(Virtual Internet Protocol)アドレスが設定された配信リクエストパケットを受信した負荷分散装置が、それぞれのサーバが保持しているRIP(Routing Information Protocol)を選択的に決定し、VIPに付け替えて送信することにより各サーバの負荷を分散させる。
したがって、負荷分散装置は、常にサーバの負荷状況を把握する必要があるため、モニタリング負荷が高くなる。このモニタリング負荷の増大が、コンテンツ配信システムに、映像の安定配信を阻む原因となっている。
更に、負荷分散装置は、配信リクエストパケットの宛先IP(Internet Protocol)アドレスを、当該VIPに関連付けられている、複数のサーバに設定されたRIPの中から、1台のサーバのRIPを選択し、このRIPをVIPに付け替えて送信する。この際に負荷分散装置は、高い処理能力が必要となる。
また、特許文献2に記載されているコンテンツ配信システムでは、メディア・ディレクタにリクエスト負荷と配信管理負荷が集中するため、メディア・ディレクタにも高い処理能力が求められる。このことは、配信システムのコストをさらに増大させることにつながる。また、メディア・ディレクタの処理能力がボトルネックとなり、コンテンツ配信システムが、映像を安定して配信できないという事態も発生する。
その理由は、以下に説明される。
特許文献2に記載されているコンテンツ配信システムでは、メディア・ディレクタが、メディア・ステーションに接続されたメディア・コンソールからコンテンツを要求される。メディアディレクタはこの要求に応え、ストリーミング要求に対応するコンテンツを格納するメディア・エンジンのうちの一つを選択して、そのメディア・エンジンへリダイレクトする。
そのため、コンテンツ所在情報とメディア・エンジンの負荷状況を常に把握する必要があるので、モニタリング負荷が高くなる。
更に、メディアディレクタは、コンテンツを複数のセグメントに分割して、セグメント単位で配信を行う。そのため、あるセグメントの配信が完了したタイミングで次のセグメントを配信するメディア・エンジンを選択して、そのメディア・エンジンへリダイレクトする必要がある。そのため、サーバ選択処理とメディア・コンソールの視聴状況を把握するための処理負荷が大きくなる。
更に、特許文献3に記載されているコンテンツ配信システムでは、ユーザ端末からコンテンツ配信サーバに対して負荷状況の問い合わせが頻繁に生じる。そのため、コンテンツ配信サーバに多大な負荷がかかり、特にユーザ端末の接続数が多い場合に配信システム全体としての配信能力が著しく低下するという問題がある。
その理由は、以下に説明される。
特許文献3に記載されているコンテンツ配信システムでは、個々のユーザ端末は、コンテンツデータを配信する複数の配信サーバにコンテンツデータの配信要求を行なう。ユーザ端末は、配信要求した配信サーバから得られる配信データから、配信サーバの負荷情報を取得して、負荷比較結果に基づいて配信サーバを決定する。そのため、コンテンツ配信サーバには多大な負荷がかかる。
特許文献4に記載されている負荷分散システムは、コンテンツの配信に関係しない。
本発明は以上の点に鑑みなされたものである。本発明は、負荷分散装置やメディア・ディレクタ、ユーザ端末から配信サーバに対して負荷状況の問い合わせ、を必要とせずに、負荷の分散、平滑化及び視聴品質の劣化防止を図ることを目的とする。
本発明は、上記の目的を果たすコンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラムを提供する。
本発明のコンテンツ配信システムは、
ネットワーク上の複数の配信サーバ同士で負荷情報を随時交換し、
前記負荷情報と自サーバの負荷情報とを記憶する負荷情報交換及び記憶手段と、
コンテンツ配信要求を受けた配信サーバが、
前記負荷情報に基づいて、自らの空きリソースの有無を判定する判定手段と、
前記判定手段が空きリソースが無いと判断した時に、他の配信サーバの中から、
自配信サーバより負荷が低い一以上の他の配信サーバを選択する選択手段と、
前記コンテンツ配信要求を発信したユーザ端末に対し、選択された前記他の配信サーバに、前記コンテンツ配信要求の対象であるコンテンツの配信を引き継ぐリダイレクト手段と、を有することを特徴とする。
また、上記の目的を達成するため、
本発明のコンテンツ配信方法は、
ネットワーク上の複数の配信サーバ同士で負荷情報を随時交換し、
前記負荷情報と自サーバの負荷情報とを記憶し、
コンテンツ配信要求を受けた配信サーバが、
前記負荷情報に基づいて、
自らの空きリソースが無いと判断した場合に、
他の配信サーバの中から、
自配信サーバより負荷が低い一以上の他の配信サーバを選択し、
前記コンテンツ配信要求を発信したユーザ端末に対し、
選択された前記他の配信サーバに、前記コンテンツ配信要求の対象であるコンテンツの配信を引き継ぐことを特徴とする。
また、上記の目的を達成するため、本発明のコンテンツ配信プログラムは、
ネットワーク上の複数の配信サーバ同士で負荷情報を随時交換し、
前記負荷情報と自サーバの負荷情報とを記憶する負荷情報交換及び記憶処理と、
コンテンツ配信要求を受けた配信サーバが、
前記負荷情報に基づいて、自らの空きリソースの有無を判定する判定処理と、
前記判定手段が空きリソースが無いと判断した時に、他の配信サーバの中から、
自配信サーバより負荷が低い一以上の他の配信サーバを選択する選択処理と、
前記コンテンツ配信要求を発信したユーザ端末に対し、
選択された前記他の配信サーバに、前記コンテンツ配信要求の対象であるコンテンツの配信を引き継ぐリダイレクト処理と、
をコンピュータに実行させることを特徴とする。
図1は、本発明になるコンテンツ配信システムの第1の実施形態の構成図を示す。
本実施形態のコンテンツ配信システム1は、コンテンツ配信サーバ群10(以降コンテンツ配信サーバを単に配信サーバとも記す)とユーザ端末群20とがネットワーク30を介して双方向に接続されている。
ユーザ端末群20は、例えばn台(nは2以上の自然数)からなる。
配信サーバ群10は、例えばm台(mは2以上の自然数)の配信サーバ10−1~10−mからなる。
配信サーバ10−1~10−mは、それぞれ固有のIP(Internet Protocol)アドレスを有している。
また、配信サーバ10−1~10−mは、それぞれ同一構成であり、コンテンツ格納部100、負荷情報交換部101、負荷情報管理部102、リダイレクト数算出部103、リダイレクト部104、配信サーバ選択部105、コンテンツ格納部106からなる。
コンテンツ格納部100には、映像コンテンツのコンテンツデータが格納される。ある配信サーバに格納されるコンテンツデータは、他の配信サーバに格納されるコンテンツデータと同じであってもよく、また異なってもよい。
また、コンテンツデータは少なくとも一片のコンテンツデータ(セグメント)として格納されていればよい。ここで、「一片」とは、一連の動画を示すコンテンツデータを示す単位を意味する。
また、コンテンツデータは、図1に示すように配信サーバ10−1~10−mのそれぞれのコンテンツ格納部100に個別に格納されていてもよいが、配信サーバ10−1~10−mが共有するストレージに格納されていてもよい。
負荷情報交換部101は、配信サーバ10−1~10−m間で互いが保持する配信サーバ毎の配信負荷情報を定期的に又は非定期的に随時交換し合うことで、リアルタイムで他の配信サーバの負荷情報を収集して、負荷情報管理部102に格納する。
負荷情報管理部102は、収集した他の配信サーバの負荷情報を自配信サーバの負荷情報と共に格納し、随時更新する。
リダイレクト数算出部103は、或る一定の期間毎に設定されるリダイレクト数の上限値を算出する。ここで、「リダイレクト」とは、自配信サーバのコンテンツ配信先のユーザ端末が次のセグメントを要求するタイミングで、自配信サーバが他の配信サーバに配信を引き継がせる動作を意味する。引き継ぐ先の他の配信サーバは、配信サーバ選択部105によって決定される。
リダイレクト部104は、或る一定の期間毎に設定されるリダイレクト数の上限値を超えない範囲において、リダイレクトを行う機能を有する。ここでのリダイレクトは、自配信サーバのコンテンツ配信先のユーザ端末が次のセグメントを要求するタイミングで、自配信サーバが他の配信サーバに配信を引き継がせることを意味する。具体的には、リダイレクト部104は、配信サーバ選択部105によって選択された、自配信サーバより負荷の低いどれか一つの他の配信サーバにリダイレクトする。
なお、リダイレクト部104はリダイレクトする毎に、リダイレクト回数をカウントする。そして、リダイレクト部104は、リダイレクト確認(リダイレクト実績確認)の際に、そのカウント値がリダイレクト数算出部103が算出したリダイレクト数の上限値Rmax以上であるか否かを比較判定する。そして、リダイレクト部104は、カウント値が上限値Rmaxに達していない時にはリダイレクトを行う。
配信サーバ選択部105は、負荷の低い他の配信サーバを選択する。配信サーバ選択部105は、自配信サーバより負荷の低い他の配信サーバが複数存在する場合は、例えば、予め定めた順番により、あるいはランダムに、あるいは最も負荷の低い他の配信サーバを選択する。その選択方法は、どのような方法であってもよい。
コンテンツ配信部106は、ユーザ端末20−1~20−nに対してコンテンツデータ(セグメントの集合)を配信する。
ユーザ端末20−1~20−nは、それぞれコンテンツ配信要求送信部、
配信されたコンテンツデータの受信部、コンテンツデータである映像データを表示する表示部、配信要求切り替え部を少なくとも備えている。配信要求切り替え部は、コンテンツ配信要求先の配信サーバからリダイレクトの情報を受信したときは、コンテンツ配信要求先をリダイレクトされた配信サーバに切り替えてコンテンツ配信要求を行う。なお、本発明におけるコンテンツデータは映像データに限定されるものではないが、この実施の形態では配信サーバ10−1~10−mは、映像データを受信する映像配信サーバであるものとして説明する。
次に、図2、図3、図4、図5、図6のブロック図を参照して本実施形態の全体の動作について詳細に説明する。ここでは、説明の便宜上、図1のユーザ端末群20中の任意の一台のユーザ端末20−1と、配信サーバ群10中の任意の3台の配信サーバ10−1、10−2及び10−3との間での動作について説明する。
まず、コンテンツ配信要求先の配信サーバに空きリソースがある場合の動作について、図2と共に説明する。
図2は、ユーザ端末20−1が配信サーバ10−1に対してコンテンツAのセグメント001の配信を要求したものとする(ステップS1)。
すると、コンテンツ配信要求先の配信サーバ10−1は、その負荷情報交換部101が、負荷情報管理部102に格納されている負荷情報を参照して自配信サーバに空きリソースがあるかを確認する(ステップS2)。
配信サーバ10−1が、自配信サーバに空きリソースがある(リソース使用率が100%ではない)と判断した場合は、ユーザ端末20−1に対して、コンテンツAのセグメント001をコンテンツ配信部106により配信する(ステップS3)。なお、コンテンツAはコンテンツ格納部100に格納されている。
次に、コンテンツ配信要求先の配信サーバに空きリソースが無い場合の動作について、図3を用いて説明する。
図3において、ユーザ端末20−1が、配信サーバ10−1に対してコンテンツAのセグメント001を要求したものとする(ステップS11)。すると、コンテンツ配信要求先の配信サーバ10−1は、その負荷情報交換部101が負荷情報管理部102に格納されている負荷情報を参照して自配信サーバに空きリソースがあるかを確認する(ステップS12)。
そして、配信サーバ10−1は、自配信サーバに空きリソースがない(リソース使用率が100%である)と判断した場合は、自配信サーバより負荷の低いどれか一つの他の配信サーバ(ここでは配信サーバ10−2)を選択する(ステップ12)。この選択は配信サーバ選択部105によって負荷情報管理部102に格納されている他の配信サーバの負荷情報に基づいて、行われる。
その選択された配信サーバ10−2に、ユーザ端末20−1の次のセグメント要求のタイミングでリダイレクト部104によりリダイレクトする(ステップS13)。これにより、ユーザ端末20−1が配信サーバ10−2に対してコンテンツAのセグメント001の配信を要求する(ステップS14)。
すると、配信サーバ10−2は、自配信サーバに空きリソースがあることを確認する(ステップS15)。空きリソースがあると判断した場合は、配信要求元のユーザ端末20−1に対してコンテンツAのセグメント001をコンテンツ配信部106により配信する(ステップS16)。なお、コンテンツAのセグメント100は、自配信サーバ内のコンテンツ格納部100に格納されている。
次に、配信サーバが、リダイレクト実績がリダイレクト数の上限値に達していることを確認した場合の動作について図4を用いて説明する。図4において、配信サーバ10−1は、配信要求元のユーザ端末20−1に対するコンテンツAのセグメント001の配信が完了に近付くと(ステップS21)、リダイレクト部104によりリダイレクト実績を確認する(ステップS22)。
これにより、配信サーバ10−1のリダイレクト部104は、リダイレクト実績がリダイレクト数算出部103により算出されたリダイレクト数の上限値に達していることを確認する。そして、その後のユーザ端末20−1の次のセグメント要求に応じて、コンテンツ格納部100に格納されているコンテンツAの次のセグメント002をコンテンツ配信部106により配信する(ステップS23)。
次に、配信サーバが、リダイレクト実績がリダイレクト数の上限値に達していないことを確認した場合の動作について図5と共に説明する。
図5において、配信サーバ10−1は、ユーザ端末20−1に対するコンテンツAのセグメント001の配信が完了に近付くと(ステップS31)、リダイレクト部104によりリダイレクト実績を確認する(ステップS32)。
これにより、配信サーバ10−1のリダイレクト部104は、リダイレクト実績がリダイレクト数算出部103により算出されたリダイレクト数の上限値に達していないことを確認する。その場合は、配信サーバ選択部105によって負荷情報管理部102に格納されている他の配信サーバの負荷情報に基づいて、自配信サーバより負荷の低いどれか一つの他の配信サーバ(配信サーバ10−3)を選択する(ステップS33)。
続いて、配信サーバ10−1は、ユーザ端末20−1の次のセグメント要求のタイミングでリダイレクト部104により配信サーバ10−3にリダイレクトする(ステップS34)。
すると、ユーザ端末20−1が配信サーバ10−3に対してコンテンツAの次のセグメント002の配信を要求する(ステップS35)。
この配信要求に従い、配信サーバ10−3は自配信サーバに空きリソースがあるかを確認する(ステップS36)。配信サーバ10−3は、自配信サーバに空きリソースがあることを確認した場合は、配信要求元のユーザ端末20−1に対して、配信サーバ10−3内のコンテンツ格納部100に格納されているコンテンツAのセグメント002をコンテンツ配信部106により配信する(ステップS37)。
次に、配信サーバ10−1~10−3間の負荷情報交換時の動作について図6を用いて説明する。
図6において、配信サーバ10−1、10−2、10−3は、それぞれ負荷情報交換部101により、事前に設定された配信サーバと定期的に負荷情報を交換し、交換した負荷情報データを負荷情報管理部102に格納する。
図7は、負荷情報管理部102に格納される配信サーバ毎の現在の負荷情報データの一例を示す。
図7に示すように、負荷情報データは、IPアドレスと負荷とからなる。図7に示す負荷はリソース使用率を示している。ここで、リソース使用率は
リソース使用率=配信中のデータのビットレート[bps]÷配信容量[bps]
で表される。従って、リソース使用率が「1.0」の場合は、負荷が100%となって、それ以上配信できないことを表す。
本実施形態において、負荷情報交換時には、保有する自配信サーバ及び他配信サーバ全ての情報を近隣の配信サーバだけと送受信し合うことで、近隣の配信サーバ全体の負荷状況を効率的にリアルタイムで把握することができる。これにより、全配信サーバ10−1~10−m間で負荷情報を交換しなくて済む。この結果、配信サーバ10−1~10−3は、負荷分散装置やメディア・ディレクタを用いることなく、自配信サーバよりも負荷の低い配信サーバにリダイレクトする自律分散処理が可能となる。このことは、配信サーバ負荷の分散及び平滑化を図ると共に、視聴品質の劣化を防止することを可能とする。なお、ここでリダイレクトする場合とは、図3で説明した自配信サーバに空きリソースがない場合及び図5で説明したリダイレクト数の上限値にリダイレクトの回数が達していない場合である。
これにより、本実施形態は、負荷分散装置やメディア・ディレクタにリクエスト負荷と配信負荷が集中するという事態を起こさないようにすることができる。すなわち、本実施形態は、負荷分散装置やメディア・ディレクタに高い処理能力が求めることを必要としない。このように本実施形態は、配信システムのコストが大きくなることを防ぐことを可能とする。また、本実施形態は、負荷分散装置やメディア・ディレクタの処理能力がボトルネックとなり、映像を安定して配信できなくなることを防ぐことを可能とする。
また、個々のユーザ端末がコンテンツデータを配信する複数の配信サーバのうち所望の配信サーバにコンテンツデータの配信要求を行い、得た配信データから、その配信サーバの負荷情報を取得し、負荷比較結果に基づいて配信サーバを決定する方法では、次のような問題がある。この方法では、ユーザ端末から配信サーバに対して負荷状況の問い合わせが頻繁に生じて、配信サーバに多大な負荷がかかる。特にユーザ端末の接続数nが多い場合にコンテンツ配信システム全体としての配信能力が著しく低下する。
これに対し、本実施形態は、以下のような理由により、ユーザ端末から配信サーバへの負荷状況の問い合わせを省き、ユーザ端末の接続数nが多い場合にも、コンテンツ配信システム全体としての配信能力の低下現象を防止することができる。その理由とは、配信サーバ10−1~10−mのうち近隣の配信サーバ間で負荷情報交換することで、効率的にリアルタイムで負荷状況を把握できることにある。こうして把握した配信サーバ10−1~10−m全体の負荷状況に基づいて、配信要求先の配信サーバが自配信サーバよりも負荷の低い配信サーバにリダイレクトする自律分散処理を行うことができる。
次に、発明を実施するための第3の実施形態について図8を参照して詳細に説明する。
本実施形態は、ネットワーク上の他のコンテンツ配信サーバから負荷情報(他サーバ情報)を受信して記憶し、自コンテンツ配信サーバの負荷情報(自サーバ情報)を記憶する負荷情報交換及び記憶部310と、前記自サーバ情報に基づいて、自コンテンツ配信サーバの空きリソースの有無を判定する判定部320と、前記判定手段が空きリソースが無いと判断した場合に、他のコンテンツ配信サーバの中から、自コンテンツ配信サーバより負荷が低い一以上の他のコンテンツ配信サーバを、前記自サーバ情報と前記他サーバ情報に基づいて選択する選択部330と、選択された前記他のコンテンツ配信サーバに、コンテンツ配信要求の対象であるコンテンツの、前記コンテンツ配信要求を発信したユーザ端末に対する配信を依頼するリダイレクト部340と、を有することを特徴とするコンテンツ配信サーバである。
本実施形態では、負荷分散装置やメディア・ディレクタを用いることなく、またユーザ端末から配信サーバに対して負荷状況の問い合わせを行うことなく、配信サーバ負荷の分散及び平滑化を図るとともに、視聴品質の劣化を防止することができる。
この実施例は、情報更新周期T[sec]の間の、全配信サーバ10−1~10−mの平均リソース使用率をU、としている。また、この実施例は、i番目(i=1~m)の配信サーバ10−iの平均リソース使用率をUi、配信サーバ10−iの平均同時接続数をCi、としている。また、この実施例は、平均セグメントサイズをS[sec]と、している。
このとき、この実施例は、配信サーバ10−iにおいて、次の周期のリダイレクト数の上限値Rmaxを導出する方法を下記に示した方法としている。
ここで、「リダイレクト」とは、配信サーバ10−iが、コンテンツ配信先のj番目(j=1~n)のユーザ端末20−jの所定のタイミングで、他の配信サーバに配信を引き継ぐ動作を意味する。
「所定のタイミング」は、ユーザ端末20−jが現在配信されているセグメントの次のセグメントを要求するタイミングである。
配信サーバ10−iは、前の周期の間に収集した負荷情報データを基に、全配信サーバ10−1~10−mの平均リソース使用率U、配信サーバ10−iの平均リソース使用率Ui、配信サーバ10−iの平均同時接続数Ciをそれぞれ導出する。また、平均セグメントサイズSは事前に知っているものとする。
このとき、配信サーバ10−iは、次の情報更新周期の開始時点で、以下のようにリダイレクト数の上限値Rmaxを算出する。
(1)U≧Uiのとき、Rmax=0
(2)U<Uiのとき、Rmax=(Ui−U)×Ci×T/S
(1)の場合は、全配信サーバの平均リソース使用率Uが、個々のコンテンツ配信要求先の配信サーバ10−iの平均リソース使用率Ui以上である場合である。このときは、その配信サーバ10−iは負荷が低いので、リダイレクト数の上限値Rmaxは「0」に設定され、その配信サーバはリダイレクトを行わない。
(2)の場合は、個々のコンテンツ配信要求先の配信サーバ10−iの平均リソース使用率Uiが全配信サーバの平均リソース使用率Uよりも大きい場合である。このときには、リダイレクト数の上限値Rmaxは、期間Tにおいて視聴される予定のセグメント数「Ci×T/S」のうち、負荷平均値からの超過分「Ui−U」を他の配信サーバにリダイレクトする値に設定される。
上記のように、この実施例では、セグメント単位でリダイレクト数の上限値Rmaxを基準としてリダイレクトするか否かを配信サーバが判定する。そのために、この実施例は、セグメント単位のきめ細やかな負荷分散を実現すると同時に、負荷が低い配信サーバが過剰なリダイレクトを行うことを抑制する。この結果、本実施例によれば、特にユーザ端末の接続数が多い場合においても、配信サーバは映像を安定してユーザ端末に配信することができる。
なお、本発明は以上の実施形態及び実施例に限定されるものではない。
例えば、図1に示した配信サーバ10−1~10−mの各ブロックの動作や、
図2~図5で説明した各ステップの動作を、配信サーバ内のコンピュータにより実現させるコンテンツ配信用プログラムも包含するものである。
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年8月24日に出願された日本出願特願2009−192739を基礎とする優先権を主張し、その開示の全てをここに取り込む。
また、本発明をストリーミング配信サーバに適用することにより、ユーザ端末の視聴品質の向上が、期待できる。
特にインターネット等のIP網において、大規模で音声や映像のストリーミング配信や、ポータルサービス等を行う際には、本発明を適用することにより、多数のユーザ端末からのリクエストに対応するときに、上記の大きな効果が期待できる。
10−1~10−m 配信サーバ(コンテンツ配信サーバ)
20 ユーザ端末群
20−1~20−n ユーザ端末
30 ネットワーク
100 コンテンツ格納部
101 負荷情報交換部
102 負荷情報格納部
103 リダイレクト数算出部
104 リダイレクト部
105 配信サーバ選択部
106 コンテンツ配信部
Claims (13)
- ネットワーク上の他のコンテンツ配信サーバから負荷情報(他サーバ情報)を受信して記憶し、自コンテンツ配信サーバの負荷情報(自サーバ情報)を記憶する負荷情報交換及び記憶手段と、
前記自サーバ情報に基づいて、自コンテンツ配信サーバの空きリソースの有無を判定する判定手段と、
前記判定手段が空きリソースが無いと判断した場合に、他のコンテンツ配信サーバの中から、自コンテンツ配信サーバより負荷が低い一以上の他のコンテンツ配信サーバを、前記自サーバ情報と前記他サーバ情報に基づいて選択する選択手段と、
選択された前記他のコンテンツ配信サーバに、コンテンツ配信要求の対象であるコンテンツの、前記コンテンツ配信要求を発信したユーザ端末に対する配信を依頼するリダイレクト手段と、
を有することを特徴とするコンテンツ配信サーバ。 - 前記リダイレクト手段による、一定期間内での配信の依頼回数の最大値を、前記一定期間の直前の一定期間T内に受信した前記他サーバ情報と前記自サーバ情報から得た全コンテンツ配信サーバの平均リソース使用率と、前記自コンテンツ配信サーバの平均リソース使用率に基づいて算出するリダイレクト数算出手段と、
依頼回数が前記最大値に達しているか否かを判定し、前記依頼回数が前記最大値に達している場合は、前記リダイレクト手段に依頼を行わせない比較手段と、を有することを特徴とする請求項1のコンテンツ配信サーバ。 - 前記選択手段は、
前記コンテンツを構成するセグメント毎に、
一つの他の配信サーバを選択することを特徴とする請求項1又は2いずれかに記載のコンテンツ配信サーバ。 - 前記リダイレクト数算出手段は、
前記最大値、Rmaxを、
前記一定期間の直前の一定期間T内で得た
前記全コンテンツ配信サーバの平均リソース使用率U、
前記自コンテンツ配信サーバの平均リソース使用率Ui、
前記自コンテンツ配信サーバの平均同時接続数Ci、
一定期間T内の平均セグメントサイズSを用いて、
(1)U≧Uiのとき、Rmax=0
(2)U<Uiのとき、Rmax=(Ui−U)×Ci×T/S
により算出することを特徴とする請求項2記載のコンテンツ配信サーバ。 - 自サーバ情報を前記ネットワーク上の複数の他のコンテンツ配信サーバに送信する前記負荷情報交換及び記憶手段を備える、複数の、請求項1乃至4の何れかのコンテンツ配信サーバと、
複数の、前記ユーザ端末を包含するコンテンツ配信システム。 - ネットワーク上の他のコンテンツ配信サーバから負荷情報(他サーバ情報)を受信して記憶し、自コンテンツ配信サーバの負荷情報(自サーバ情報)を記憶し、
前記自サーバ情報に基づいて、自コンテンツ配信サーバの空きリソースの有無を判定し、
空きリソースが無いと判断した場合に、
他のコンテンツ配信サーバの中から、
自コンテンツ配信サーバより負荷が低い一以上の他のコンテンツ配信サーバを前記自サーバ情報と前記他サーバ情報に基づいて選択し、
選択された前記他のコンテンツ配信サーバに、コンテンツ配信要求の対象であるコンテンツの、前記コンテンツ配信要求を発信したユーザ端末に対する配信を依頼することを特徴とするコンテンツ配信方法。 - 一定期間内の配信の依頼回数の最大値を、前記一定期間の直前の一定期間T内に受信した前記他サーバ情報と前記自サーバ情報から得た全コンテンツ配信サーバの平均リソース使用率と、前記自コンテンツ配信サーバの平均リソース使用率に基づいて算出し、依頼回数が前記最大値に達しているか否かを判定し、前記依頼回数が前記最大値に達している場合は、前記配信の依頼を行わないことを特徴とする請求項6のコンテンツ配信方法。
- 前記選択においては、前記コンテンツを構成するセグメント毎に、一つ以上の他の配信サーバを選択することを特徴とする請求項5又は6いずれかに記載のコンテンツ配信方法。
- 前記最大値、Rmaxを、
前記一定期間の直前の一定期間T内で得た
前記全コンテンツ配信サーバの平均リソース使用率U、
前記自コンテンツ配信サーバの平均リソース使用率Ui、
前記自コンテンツ配信サーバの平均同時接続数Ci、
一定期間T内の平均セグメントサイズSを用いて、
(1)U≧Uiのとき、Rmax=0
(2)U<Uiのとき、Rmax=(Ui−U)×Ci×T/S
により算出することを特徴とする請求項7記載のコンテンツ配信方法。 - ネットワーク上の他のコンテンツ配信サーバから負荷情報(他サーバ情報)を受信して記憶し、自コンテンツ配信サーバの負荷情報(自サーバ情報)を記憶する負荷情報交換及び記憶処理と、
前記自サーバ情報に基づいて、自コンテンツ配信サーバの空きリソースの有無を判定する判定処理と、
前記判定手段が空きリソースが無いと判断した時に、他のコンテンツ配信サーバの中から、自コンテンツ配信サーバより負荷が低い一以上の他のコンテンツ配信サーバを、前記自サーバ情報と前記他サーバ情報に基づいて選択する選択処理と、
選択された前記他のコンテンツ配信サーバに、コンテンツ配信要求の対象であるコンテンツの、前記コンテンツ配信要求を発信したユーザ端末に対する配信を依頼するリダイレクト処理と、
をコンピュータに実行させることを特徴とするコンテンツ配信プログラム。 - 前記リダイレクト処理による一定期間内での、配信の依頼回数の最大値を、
前記一定期間内の直前の一定期間T内に受信した前記他サーバ情報と前記自さーバ情報から得た全コンテンツ配信サーバの平均リソース使用率と、前記自コンテンツ配信サーバの平均リソース使用率に基づいて算出するリダイレクト数算出処理と、
依頼回数が前記最大値に達しているか否かを判定し、前記依頼回数が前記最大値に達している場合は、前記配信の依頼を行わせない比較処理と
を前記コンピュータに実行させる請求項10のコンテンツ配信プログラム。 - 前記選択処理は、
前記コンテンツを構成するセグメント毎に、
一つの他の配信サーバを選択することを特徴とする請求項10又は11のいずれかに記載のコンテンツ配信プログラム。 - 前記リダイレクト数算出処理は、
前記最大値、Rmaxを、
前記一定期間の直前の一定期間T内で得た
前記全コンテンツ配信サーバの平均リソース使用率U、
前記自コンテンツ配信サーバの平均リソース使用率Ui、
前記自コンテンツ配信サーバの平均同時接続数Ci、
一定期間T内の平均セグメントサイズSを用いて、
(1)U≧Uiのとき、Rmax=0
(2)U<Uiのとき、Rmax=(Ui−U)×Ci×T/S
により算出することを特徴とする請求項11に記載のコンテンツ配信プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011528855A JPWO2011024930A1 (ja) | 2009-08-24 | 2010-08-20 | コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム |
US13/392,015 US8694643B2 (en) | 2009-08-24 | 2010-08-20 | Contents delivery system, a contents delivery method, and a program for contents delivery |
US14/187,426 US9009325B2 (en) | 2009-08-24 | 2014-02-24 | Contents delivery system, a contents delivery method, and a program for contents delivery |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-192739 | 2009-08-24 | ||
JP2009192739 | 2009-08-24 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/392,015 A-371-Of-International US8694643B2 (en) | 2009-08-24 | 2010-08-20 | Contents delivery system, a contents delivery method, and a program for contents delivery |
US14/187,426 Continuation US9009325B2 (en) | 2009-08-24 | 2014-02-24 | Contents delivery system, a contents delivery method, and a program for contents delivery |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011024930A1 true WO2011024930A1 (ja) | 2011-03-03 |
Family
ID=43628029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/064546 WO2011024930A1 (ja) | 2009-08-24 | 2010-08-20 | コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム |
Country Status (3)
Country | Link |
---|---|
US (2) | US8694643B2 (ja) |
JP (1) | JPWO2011024930A1 (ja) |
WO (1) | WO2011024930A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003710A (ja) * | 2011-06-14 | 2013-01-07 | Kddi Corp | サーバ連携互助システムならびにそのサーバおよびサーバ連携互助プログラム |
JP2017033240A (ja) * | 2015-07-31 | 2017-02-09 | 三菱電機株式会社 | サーバ |
KR20170034416A (ko) * | 2014-08-22 | 2017-03-28 | 알리바바 그룹 홀딩 리미티드 | 연속적 리디렉션을 처리하기 위한 방법 및 디바이스 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751636B2 (en) * | 2010-12-22 | 2014-06-10 | Facebook, Inc. | Timing for providing relevant notifications for a user based on user interaction with notifications |
US9026783B2 (en) * | 2013-03-07 | 2015-05-05 | Google Inc. | Low latency server-side redirection of UDP-based transport protocols traversing a client-side NAT firewall |
US11025710B1 (en) * | 2020-10-26 | 2021-06-01 | Verizon Digital Media Services Inc. | Systems and methods for dynamic load balancing based on server utilization and content popularity |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09205634A (ja) * | 1996-01-25 | 1997-08-05 | Matsushita Electric Ind Co Ltd | 映像データ記憶方法および映像サーバ |
JP2008071156A (ja) * | 2006-09-14 | 2008-03-27 | Nec Corp | 負荷分散システム、方法、及び、プログラム |
JP2008146153A (ja) * | 2006-12-06 | 2008-06-26 | Nec Corp | 呼処理装置および呼処理方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6879998B1 (en) * | 2000-06-01 | 2005-04-12 | Aerocast.Com, Inc. | Viewer object proxy |
JP2003242057A (ja) | 2002-02-14 | 2003-08-29 | Nippon Telegr & Teleph Corp <Ntt> | 負荷分散方法および装置 |
US20050262253A1 (en) | 2004-04-16 | 2005-11-24 | Qiang Li | Method and apparatus for a loosely coupled, scalable distributed multimedia streaming system |
US7936721B2 (en) * | 2004-08-31 | 2011-05-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Limit redirections in an unlicensed mobile access network |
JP4398843B2 (ja) | 2004-10-13 | 2010-01-13 | 日本放送協会 | 配信サーバ及び配信プログラム |
US20060167891A1 (en) * | 2005-01-27 | 2006-07-27 | Blaisdell Russell C | Method and apparatus for redirecting transactions based on transaction response time policy in a distributed environment |
JP4387962B2 (ja) * | 2005-02-18 | 2009-12-24 | 株式会社東芝 | コンテンツ再生装置、コンテンツ再生方法及びプログラム |
US8850056B2 (en) * | 2005-08-22 | 2014-09-30 | Oracle America, Inc. | Method and system for managing client-server affinity |
US20070180113A1 (en) * | 2006-01-31 | 2007-08-02 | Van Bemmel Jeroen | Distributing load of requests from clients over multiple servers |
US8291108B2 (en) * | 2007-03-12 | 2012-10-16 | Citrix Systems, Inc. | Systems and methods for load balancing based on user selected metrics |
US20090150536A1 (en) * | 2007-12-05 | 2009-06-11 | Microsoft Corporation | Application layer congestion control |
US8539565B2 (en) * | 2008-03-21 | 2013-09-17 | Microsoft Corporation | Load balancing in server computer systems |
EP2274684A4 (en) * | 2008-04-04 | 2012-12-05 | Level 3 Communications Llc | HANDLING LONG TAIL CONTENT IN A CONTENT DELIVERY NETWORK (CDN) |
US9326202B2 (en) * | 2008-05-12 | 2016-04-26 | Telecom Italia S.P.A. | Method and system for the common management of communication resources in a telecommunications network having distinct communication resources pools |
US8191137B2 (en) * | 2008-07-30 | 2012-05-29 | International Business Machines Corporation | System and method for identification and blocking of malicious use of servers |
US8780718B2 (en) * | 2008-11-25 | 2014-07-15 | Citrix Systems, Inc. | Systems and methods for maintaining persistence by a backup virtual server |
US8856281B2 (en) * | 2010-03-22 | 2014-10-07 | At&T Intellectual Property I, L.P. | Internet protocol version 6 content routing |
-
2010
- 2010-08-20 JP JP2011528855A patent/JPWO2011024930A1/ja not_active Withdrawn
- 2010-08-20 WO PCT/JP2010/064546 patent/WO2011024930A1/ja active Application Filing
- 2010-08-20 US US13/392,015 patent/US8694643B2/en active Active
-
2014
- 2014-02-24 US US14/187,426 patent/US9009325B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09205634A (ja) * | 1996-01-25 | 1997-08-05 | Matsushita Electric Ind Co Ltd | 映像データ記憶方法および映像サーバ |
JP2008071156A (ja) * | 2006-09-14 | 2008-03-27 | Nec Corp | 負荷分散システム、方法、及び、プログラム |
JP2008146153A (ja) * | 2006-12-06 | 2008-06-26 | Nec Corp | 呼処理装置および呼処理方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003710A (ja) * | 2011-06-14 | 2013-01-07 | Kddi Corp | サーバ連携互助システムならびにそのサーバおよびサーバ連携互助プログラム |
KR20170034416A (ko) * | 2014-08-22 | 2017-03-28 | 알리바바 그룹 홀딩 리미티드 | 연속적 리디렉션을 처리하기 위한 방법 및 디바이스 |
JP2017533492A (ja) * | 2014-08-22 | 2017-11-09 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | 連続的リダイレクションを処理する方法及び装置 |
KR101970901B1 (ko) | 2014-08-22 | 2019-04-19 | 알리바바 그룹 홀딩 리미티드 | 연속적 리디렉션을 처리하기 위한 방법 및 디바이스 |
US10673972B2 (en) | 2014-08-22 | 2020-06-02 | Alibaba Group Holding Limited | Method and device for processing continuous redirection |
JP2017033240A (ja) * | 2015-07-31 | 2017-02-09 | 三菱電機株式会社 | サーバ |
Also Published As
Publication number | Publication date |
---|---|
US20140173118A1 (en) | 2014-06-19 |
US9009325B2 (en) | 2015-04-14 |
US20120158971A1 (en) | 2012-06-21 |
US8694643B2 (en) | 2014-04-08 |
JPWO2011024930A1 (ja) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7680938B2 (en) | Video on demand digital server load balancing | |
US11418620B2 (en) | Service request management | |
US20040236869A1 (en) | Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof | |
US6377972B1 (en) | High quality streaming multimedia | |
US7415527B2 (en) | System and method for piecewise streaming of video using a dedicated overlay network | |
US8166154B2 (en) | Method for streaming multimedia content | |
US7117242B2 (en) | System and method for workload-aware request distribution in cluster-based network servers | |
WO2011024930A1 (ja) | コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム | |
US20030009558A1 (en) | Scalable server clustering | |
US20070083617A1 (en) | Video on demand system and methods thereof | |
KR20100037032A (ko) | 피어-투-피어 라이브 스트리밍을 위한 큐-기반 적응성 청크 스케줄링 | |
CN106209952B (zh) | 服务节点分配方法、装置、cdn管理服务器及*** | |
WO2010058215A1 (en) | Method and system for content handling | |
JP2005018293A (ja) | コンテンツ配信制御装置、コンテンツ配信制御方法およびコンテンツ配信制御プログラム | |
JP2009080642A (ja) | 負荷制御方法及び装置及びプログラム | |
CN114143569B (zh) | 一种网页录制和直播方法及*** | |
US20100057914A1 (en) | Method, apparatus and system for scheduling contents | |
Sato et al. | P2MVOD: Peer-to-Peer mobile video on-demand | |
CN117041260B (zh) | 一种控制处理方法及*** | |
JP2013179393A (ja) | コンテンツ配信管理システム、コンテンツ配信管理方法および配信制御サーバ | |
KR20040076660A (ko) | 분산 처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보 전송 병렬화 방법 및 그 시스템 | |
Kim et al. | New distributed Web-caching technique for VOD services | |
CN116248685A (zh) | 一种负载均衡方法和负载均衡***、电子设备及存储介质 | |
Harrouch et al. | A new fault-tolerant architecture based on DASH for adaptive streaming video | |
Liu et al. | DCSVS: Distributed Collaborative Set-Top-Box Video Service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10811979 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011528855 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13392015 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10811979 Country of ref document: EP Kind code of ref document: A1 |