米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 沖電気工業株式会社

発明の名称 ビデオストリーム送信プロセスの負荷分散方法及びその装置と負荷分散プログラムと該プログラムを記録した記録媒体
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−108393(P2003−108393A)
公開日 平成15年4月11日(2003.4.11)
出願番号 特願2001−296159(P2001−296159)
出願日 平成13年9月27日(2001.9.27)
代理人 【識別番号】100090620
【弁理士】
【氏名又は名称】工藤 宣幸
【テーマコード(参考)】
5B045
5B098
【Fターム(参考)】
5B045 GG04 
5B098 AA10 GA04 GC08 GC10 GD02 GD14
発明者 伊藤 功夫
要約 課題
特定のプロセスへの負荷の集中を防ぐことができるビデオストリーム送信プロセスの負荷分散方法及び装置と負荷分散プログラムと該プログラムを記録した記録媒体を提供することを目的とする。

解決手段
本発明のビデオストリーム送信プロセスの負荷分散装置は、ビデオ操作要求に応じた処理動作によって発生する各種負荷を計測する計測手段と、この計測手段で計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知手段と、各ビデオストリーム送信プロセスから通知される負荷情報を送信プロセス情報として管理する管理手段と、クライアントからビデオサーバシステムに対する接続を要求された場合、これらの送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て接続を指示する指示手段とを備えている。
特許請求の範囲
【請求項1】 ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散方法であって、前記ビデオストリーム送信プロセスは、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測すると共に、これらを自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知することを特徴とするビデオストリーム送信プロセスの負荷分散方法。
【請求項2】 ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散方法であって、前記ユーザ要求受信・負荷分散プロセスは、各ビデオストリーム送信プロセスから通知される負荷情報を送信プロセス情報として管理し、クライアントからビデオサーバシステムに対する接続を要求された場合、これらの送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て接続を指示することを特徴とするビデオストリーム送信プロセスの負荷分散方法。
【請求項3】 前記ユーザ要求受信・負荷分散プロセスにおける負荷状態が最軽量なビデオストリーム送信プロセスを決定する条件に、CPU負荷とネットワーク負荷とディスクアクセス負荷と容量使用率のいずれかの値が突出したものを抽出し、これを負荷が大きいとみなす条件と、CPU負荷、ネットワーク負荷、ディスクアクセス負荷、容量使用率の順に負荷値比較を行い、負荷値の高いものを負荷が大きいとみなす条件のいずれかが含まれ、かつこれら条件が選択可能であることを特徴とする請求項2記載のビデオストリーム送信プロセスの負荷分散方法。
【請求項4】 ビデオ操作の一時停止や早送りなどの特殊再生による負荷の変化を想定してビデオストリーム送信プロセスの負荷値の算出を行うことを特徴とする請求項1乃至3のいずれか1に記載のビデオストリーム送信プロセスの負荷分散方法。
【請求項5】 ビデオストリーム送信プロセスへのユーザ接続数の増加に伴う負荷の増加を予測し、この予測値をビデオストリーム送信プロセスの負荷値算出に利用することを特徴とする請求項1乃至4のいずれか1に記載のビデオストリーム送信プロセスの負荷分散方法。
【請求項6】 ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散装置であって、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測する計測手段と、この計測手段で計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知手段と、前記通知される負荷情報を送信プロセス情報として管理する管理手段と、クライアントからビデオサーバシステムに対する接続を要求された場合、これらの送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て接続を指示する指示手段とを有することを特徴とするビデオストリーム送信プロセスの負荷分散装置。
【請求項7】 ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散プログラムであって、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測する計測ステップと、この計測ステップで計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知ステップと、この通知ステップで通知される負荷情報を送信プロセス情報として管理する管理ステップと、クライアントからビデオサーバシステムに対する接続を要求されたときに、これらの管理ステップで管理される送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て、接続を指示する指示ステップとを有することを特徴とするビデオストリーム送信プロセスの負荷分散プログラム。
【請求項8】 ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散プログラムを記録した記録媒体であって、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測する計測ステップと、この計測ステップで計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知ステップと、この通知ステップで通知される負荷情報を送信プロセス情報として管理する管理ステップと、クライアントからビデオサーバシステムに対する接続を要求されたときに、これらの管理ステップで管理される送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て、接続を指示する指示ステップとを有することを特徴とするビデオストリーム送信プロセスの負荷分散プログラムを記録した記録媒体。
発明の詳細な説明
【0001】
【発明の属する技術分野】この発明は、ビデオストリーム送信プロセスの負荷分散方法及びその装置と負荷分散プログラムと該プログラムを記録した記録媒体に関し、特にビデオ配信サービスにおけるビデオサーバシステムに適用して好適なものである。
【0002】
【従来の技術】従来、ビデオ配信サービスやビデオサーバシステムにおけるビデオストリーム送信プロセスの負荷分散方式にあっては、(1)ラウンドロビン方式によりクライアントからの要求がある毎にコンピュータにビデオストリーム送信プロセスを順次割り当てていく方法、(2)コンピュータ毎のCPU負荷を比較して、負荷値が最小であるプロセッサを選択し、そのプロセッサ上のビデオストリーム送信プロセスにおいてクライアントにビデオストリーム信号を送出する方法、が一般的であった。
【0003】
【発明が解決しようとする課題】しかしながら、上述した(1)および(2)に示す方法では、下記に示すような問題が生じる可能性がある。
【0004】まず、(1)の方法では、ビデオ配信サービスを終了しないでいる複数のクライアントが存在する場合、ビデオストリーム送信プロセスが起動されるある特定のコンピュータにクライアントのアクセスが偏在することになり、そのプロセスが起動されているプロセッサのCPU負荷が過剰に増加する可能性がある。
【0005】また、(2)の方法ではコンピュータ毎のCPU負荷を比較することから、(1)の方法の問題点として挙げられたCPU負荷の過剰な増加については回避することは可能ではあるものの、CPUの負荷値が同値の場合、選択したCPUによっては、ネットワーク負荷やディスクアクセス負荷、送信ビットレートの使用率が高くなる場合がある可能性がある。
【0006】さらに(2)の方法の場合、予め設定された所定の期間内に取得した数回の負荷の平均をとって負荷値とするのが一般的であるが、この場合、負荷計測中にユーザが偶然ビデオ操作を一時中止していたり、負荷の重いと推測される早送りなどの特殊操作を行っていたりすると、負荷値が一時的に小さい値や大きな値をとることになり、実際の負荷状況とは異なるコンピュータが割り当てられる可能性がある。
【0007】本発明は、以上の点を考慮してなされたものであり、特定のプロセスへの負荷の集中を防ぐことができるビデオストリーム送信プロセスの負荷分散方法及びその装置と負荷分散プログラムと該プログラムを記録した記録媒体を提供しようとするものである。
【0008】
【課題を解決するための手段】かかる課題を解決するため、第1の本発明においては、ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散方法を、以下の各処理手順によって構成した。
【0009】すなわち、前記ビデオストリーム送信プロセスは、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測すると共に、これらを自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する。
【0010】また第2の本発明においては、ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散方法を、以下の各処理手順によって構成した。
【0011】すなわち、前記ユーザ要求受信・負荷分散プロセスは、各ビデオストリーム送信プロセスから通知される負荷情報を送信プロセス情報として管理し、クライアントからビデオサーバシステムに対する接続を要求された場合、これらの送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て接続を指示する。
【0012】一態様としては、前記ユーザ要求受信・負荷分散プロセスにおける負荷状態が最軽量なビデオストリーム送信プロセスを決定する条件に、CPU負荷とネットワーク負荷とディスクアクセス負荷と容量使用率のいずれかの値が突出したものを抽出し、これを負荷が大きいとみなす条件と、CPU負荷、ネットワーク負荷、ディスクアクセス負荷、容量使用率の順に負荷値比較を行い、負荷値の高いものを負荷が大きいとみなす条件のいずれかが含まれ、かつこれら条件が選択可能であることを特徴とする。
【0013】また、他の一態様としては、ビデオ操作の一時停止や早送りなどの特殊再生による負荷の変化を想定してビデオストリーム送信プロセスの負荷値の算出を行うことを特徴とする。
【0014】さらに、他の一態様としては、ビデオストリーム送信プロセスへのユーザ接続数の増加に伴う負荷の増加を予測し、この予測値をビデオストリーム送信プロセスの負荷値算出に利用することを特徴とする。
【0015】また第6の本発明においては、ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散装置を、以下の各構成要素によって構成した。
【0016】すなわち、前記ビデオストリーム送信プロセスに設けられ、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測する計測手段と、この計測手段で計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知手段と、前記ユーザ要求受信・負荷分散プロセスに設けられ、各ビデオストリーム送信プロセスから通知される負荷情報を送信プロセス情報として管理する管理手段と、クライアントからビデオサーバシステムに対する接続を要求された場合、これらの送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て接続を指示する指示手段とを有する。
【0017】また第7の本発明においては、ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散プログラムを、以下の各ステップによって構成した。
【0018】すなわち、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測する計測ステップと、この計測ステップで計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知ステップと、この通知ステップで通知される負荷情報を送信プロセス情報として管理する管理ステップと、クライアントからビデオサーバシステムに対する接続を要求されたときに、これらの管理ステップで管理される送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て、接続を指示する指示ステップとを有する。
【0019】また第8の本発明においては、ネットワークを介して接続される複数のコンピュータ上で、クライアントにビデオ信号を送出する1つ以上のビデオストリーム送信プロセスと、クライアントからの要求を受け付けて前記ビデオストリーム送信プロセスをクライアントに割り当てるユーザ要求受信・負荷分散プロセスが起動されるときのビデオストリーム送信プロセスの負荷分散プログラムを記録した記録媒体を、以下の各ステップにより構成されるプログラムを記録することによって構成した。
【0020】すなわち、クライアントからのビデオ操作要求に応じた処理動作によって発生するCPU負荷、ネットワーク負荷、ディスクアクセス負荷、再生ビットレートの使用容量、接続ユーザ数の内の少なくともいずれか1つを計測する計測ステップと、この計測ステップで計測された負荷を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知する通知ステップと、この通知ステップで通知される負荷情報を送信プロセス情報として管理する管理ステップと、クライアントからビデオサーバシステムに対する接続を要求されたときに、これらの管理ステップで管理される送信プロセス情報を参照して、負荷状態が最軽量であるビデオストリーム送信プロセスを割り当て、接続を指示する指示ステップとを含むビデオストリーム送信プロセスの負荷分散プログラムを記録した。
【0021】
【発明の実施の形態】(A)第1の実施形態以下、本発明によるビデオストリーム送信プロセスの負荷分散方法が適用される装置の第1の実施形態を図面を参照しながら詳述する。
【0022】(A−1)第1の実施形態の構成図1は、第1の実施形態のビデオストリーム送信プロセスの負荷分散装置の構成を示すブロック図である。図1に示す第1の実施形態おいては、ビデオサーバシステム11を例にとり、構成および動作について説明する。
【0023】なお、本第1の実施形態はビデオサーバシステム11のみに適用される訳ではなく、例えば、複数のコンピュータから構成される任意のビデオサーバシステムに適用され得るものである。
【0024】また、ここで言うコンピュータには、クライアント(ユーザ)にビデオ信号を送出する「ビデオストリーム送信プロセス」が起動されているものが1つ以上と、クライアント(ユーザ)からの要求を受け付けクライアントに割り当てるビデオストリーム送信プロセスを選択・決定する「ユーザ要求受信・負荷分散プロセス」が起動されているものが1つ、存在する。また前記コンピュータはストレージエリアネットワークを介してビデオデータが格納されているディスク装置と接続される。
【0025】なお、これら「ビデオストリーム送信プロセス」と「ユーザ要求受信・負荷分散プロセス」は、それぞれ複数のコンピュータ上に存在するように構成しても良く、あるいは任意のプロセスを単一のコンピュータ上に存在させて構成しても良い。ここでは「ビデオストリーム送信プロセス」と「ユーザ要求受信・負荷分散プロセス」は、それぞれが異なるコンピュータ上で起動されるものとして説明する。
【0026】ビデオサーバシステム11は、ネットワーク21を介してクライアント31乃至34のそれぞれと接続されている。また、ビデオサーバシステム11は、コンピュータ41乃至44とディスク51、52を含み構成され、さらに、これらコンピュータ41乃至44とディスク装置としてのディスク51、52はストレージエリアネットワーク61により相互に接続されている。
【0027】またコンピュータ41、42、43は、それぞれビデオストリーム送信プロセス71、72、73がそれぞれ起動され、並列プロセス構成を採っている。コンピュータ44はユーザ要求受信・負荷分散プロセス81が起動される。
【0028】ビデオストリーム送信プロセス71、72、73は、ネットワーク21を介してビデオサーバシステム11に接続されるクライアント31乃至34に対してビデオストリームを送信する。
【0029】図2は、コンピュータ44で起動されるユーザ要求受信・負荷分散プロセス81の機能内容を示す機能ブロック構成図である。ユーザ要求受信・負荷分散プロセス81は、クライアント(またはユーザ)からの要求を受け付けるユーザ要求受信処理部811と、ビデオストリーム送信プロセスからのプロセス情報通知を受け付ける並列プロセス情報管理部812とを含む。
【0030】次に図3を参照して、この並列プロセス情報管理部812について説明する。並列プロセス情報管理部812は、ビデオサーバシステム上に存在する全てのビデオストリーム送信プロセス71、72、73からのプロセス情報通知をストレージエリアネットワーク61または図示しないネットワークを介して定期的に受け付け、それぞれ送信プロセス情報81221、81222、81223により管理する。これら送信プロセス情報はビデオストリーム送信プロセス1つにつき1つの情報が存在し、すべての情報は送信プロセス情報リスト8121により管理される。
【0031】図4は、送信プロセス情報リスト8121により管理される送信プロセス情報81221のデータ構成図である。また送信プロセス情報81222、81223も同様のデータ構成を採っている。
【0032】図4に示す送信プロセス情報81221は、送信プロセス識別子、送信プロセスアクセス情報、プロセス状態、接続ユーザ数、CPU負荷、ネットワーク負荷、ディスクアクセス負荷、帯域能力(最大容量)及び帯域能力(使用容量)から構成される。
【0033】これらの情報のうち、プロセス状態、接続ユーザ数、CPU負荷、ネットワーク負荷、ディスクアクセス負荷、帯域能力(最大容量)、帯域能力(使用容量)については、ビデオストリーム送信プロセスから情報通知を受け付けることにより、常に最新の情報に更新される。これらのデータのそれぞれについて、詳細な説明を表形式にまとめて図6に示す。
【0034】ここで再び、図2を参照するに、ユーザ要求受信処理部811はネットワーク21を介してクライアント(ユーザ)からの要求があった際に、並列プロセス情報管理部812に対して、ビデオストリーム送信プロセスの割当てを要求する。並列プロセス情報管理部812では、図3に示す送信プロセス情報リスト8121の各送信プロセス情報81221、81222、81223の中から最適なビデオストリーム送信プロセスを決定し、ユーザ要求受信処理部811に返却する。ユーザ要求受信処理部811は、この決定されたビデオストリーム送信プロセスにアクセスするための情報をクライアントに通知する。
【0035】図5は、ビデオストリーム送信プロセス71の機能を示す機能ブロック構成図である。なおビデオストリーム送信プロセス72、73の構成、作用も同様であるので、ここではビデオストリーム送信プロセス71について説明する。
【0036】図5において、ビデオストリーム送信プロセス71は、ビデオ操作要求受信処理部711と、ビデオストリーム送信処理部712と、自プロセス情報通知部713と、ビデオデータ読み取り部714とを含む。
【0037】まず、ビデオ操作要求受信処理部711は、クライアント(ユーザ)からのビデオ操作要求を受け付けると、この操作要求に従い、ビデオデータ読み取り部714でディスク51,52よりビデオデータを読み取って、ビデオストリーム送信処理部712でクライアントに対してビデオストリームを送出する。
【0038】このとき自プロセス情報通知部713では、コンピュータに掛かっているCPU負荷、ネットワーク負荷、ディスクアクセス負荷をそれぞれ計測するとともに、自身に接続されているユーザ数、および送信しているビデオストリームの使用容量を算出し、プロセス情報としてユーザ要求受信・負荷分散プロセスに対して通知する。この自プロセス情報通知部713における処理は所定の時間間隔(例えば10秒間隔)で行われる。
【0039】(A−2)第1の実施形態の動作次に、この第1の実施形態のビデオストリーム送信プロセスの負荷分散装置の動作を説明する。
【0040】以下、図7に示すフローチャートを用いてビデオサーバシステム11の動作を処理手順に従って説明する。
【0041】まず、ビデオサーバシステム上のビデオストリーム送信プロセス71,72,73は、定期的に、例えば所定の時間間隔(例えば10秒間隔)で自身の負荷情報を計測し、ユーザ要求受信・負荷分散プロセス81に通知する(ステップS11)。
【0042】通知を受け付けたユーザ要求受信・負荷分散プロセス81は、通知元のビデオストリーム送信プロセスに対応する送信プロセス情報のデータを通知された負荷情報に基づいて更新する(ステップS13)。
【0043】例えば図3を参照するに、ビデオストリーム送信プロセス71が負荷情報を通知すると、ユーザ要求受信・負荷分散プロセス81の並列プロセス情報管理部812においてこれを受信し、並列プロセス情報管理部812は通知元のビデオストリーム送信プロセス71に対応する送信プロセス情報81221上のデータを通知された情報に基づいて更新する。
【0044】この一連の動作により、ユーザ要求受信・負荷分散プロセス81の並列プロセス情報管理部812では各ビデオストリーム送信プロセスについて常に最新の送信プロセス情報を管理することができる。
【0045】このときの並列プロセス情報管理部812の動作フローを図8に示す。まず、ステップS31でプロセス情報通知を受信すると、ステップS33に進み、ユーザ要求受信・負荷分散プロセス81の並列プロセス情報管理部812では、通知された情報に含まれる値により、通知元のビデオストリーム送信プロセスに対応する送信プロセス情報上のデータを更新する。
【0046】次に、図7を参照して、ユーザがクライアントを通じてビデオサービスを利用する際のビデオサーバシステム11の動作例を説明する。
【0047】まず、ユーザは各クライアントを通じてビデオサーバシステム11に対して、サーバへのアクセスを要求すると(ステップS15)、まずユーザ要求受信・負荷分散プロセス81が、ビデオストリーム送信プロセス71,72,73の中から負荷の最も軽いプロセスを決定し(ステップS17)、このプロセスのアクセス情報をアクセス要求元のクライアントに返却する(ステップS19)。次にクライアントはこのアクセス情報に基づいてビデオストリーム送信プロセスに接続し、ビデオ操作要求し(ステップS21)、ディスクよりビデオデータを読み取り(ステップS23)、送信されたビデオストリームを受信し(ステップS25)、ビデオサービスを利用する。
【0048】図7を参照するに、例えば図1,2に示すクライアント31がビデオサーバシステム11に対してネットワーク21を介してサーバアクセス要求を行う(ステップS15)と、この要求をコンピュータ44上のユーザ要求受信・負荷分散プロセス81のユーザ要求受信処理部811において受け付ける。要求を受け付けたユーザ要求受信処理部811は、並列プロセス情報管理部812に対してビデオストリーム送信プロセスの割当てを要求する。
【0049】並列プロセス情報管理部812は、自身の持つ各ビデオストリーム送信プロセス71,72,73の各送信プロセス情報を比較し、負荷の最も軽いビデオストリーム送信プロセスを決定する(ステップS17)。決定されたビデオストリーム送信プロセスのアクセス情報が並列プロセス情報管理部812を通じて、ユーザ要求受信処理部811に返却され、ユーザ要求受信処理部811はクライアント31に対して、このアクセス情報を通知する(ステップS19)。
【0050】例えば並列プロセス情報管理部812がビデオストリーム送信プロセス72を決定した場合、このビデオストリーム送信プロセス72へのアクセス情報がユーザ要求受信処理部811からクライアント31に返却され、クライアント31はこのアクセス情報に基づいてコンピュータ42上のビデオストリーム送信プロセス72に接続を行い、ビデオ操作を行う(ステップS21,23,25)。
【0051】次に、図9を参照してビデオストリーム送信プロセス割当の処理手順について説明する。
【0052】クライアント31がビデオサーバシステム11に対してサーバアクセス要求を行うと、要求を受け付けたユーザ要求受信処理部811は、並列プロセス情報管理部812に対してビデオストリーム送信プロセスの割当てを要求する(ステップS41)。
【0053】ステップS43において、正常状態のプロセスが存在すると判断されたときには、ステップS45に進む。
【0054】並列プロセス情報管理部812のビデオストリーム送信プロセスの割当ては、図3に示す送信プロセス情報リスト8131をコピーし(ステップS45)、コピーしたリストについて各送信プロセス情報81321〜81323のデータを負荷比較条件に基づいてソートを施し(ステップS47)、その中で負荷が最軽量のプロセスが決定されることで行われる。
【0055】続いて、ステップS49で割当て正常として、ソート後のリストの先頭にある送信プロセス情報のアクセス情報をユーザ要求受信処理部811に通知し、処理を終了する。
【0056】また、上記ステップS43において、正常状態のプロセスが存在しないと判断されたときには、ステップS51に進み、割当て異常として、割当て可能なプロセスが存在しない旨をユーザ受信処理部811に通知して処理を終了する。
【0057】また、並列プロセス情報管理部812はパターンの負荷比較条件を持つ。すなわち、負荷比較条件1は、ビデオストリーム送信プロセスのCPU負荷、ネットワーク負荷、ディスクアクセス負荷、および容量使用率のいずれかの値が突出したもの抽出し、これを負荷が大きいプロセスとみなすものである。
【0058】また、負荷比較条件2は、「CPU負荷>ネットワーク負荷>ディスクアクセス負荷>容量使用率」の順に負荷値の比較を行い、負荷値の高い方を負荷が大きいプロセスとみなすものである。
【0059】次に、図10を参照して負荷比較条件1について詳細に説明する。
【0060】まず、ステップS61において、比較を行う2つのプロセス情報について、リストの先方にあるものをA、リストの後方にあるものをBとする。次にステップS63では、接続ユーザ数以外の項目について、大きい値のものほど負荷が高いと見做すため、以下に示す計算値で負荷値合計を算出する。
【0061】
負荷値合計={L1}+{L2}+{L3}+{L4}
但し、{L1};{CPU負荷の3乗}
{L2};{ネットワーク負荷の3乗}
{L3};{ディスクアクセス負荷の3乗}
{L4};{容量使用率の3乗}
とする。
【0062】次に、ステップS65に進み、負荷値合計を比較し、A>BならばステップS69に進みリスト上でAとBとの位置を置き換えた後に終了する。またA<Bならば、そのまま処理を終了する。さらにA=Bならば、ステップS67に進み、さらに接続ユーザ数を比較する。A>BならばステップS69に進みリスト上でAとBとの位置を置き換えた後に終了する。またA=BまたはA<Bならば、そのまま処理を終了する。
【0063】次に、図11を参照して負荷比較条件2について、詳細に説明する。
【0064】まずステップS71において、CPU負荷を比較し、A>BならばステップS81に進みリスト上でAとBとの位置を置き換えた後に終了する。またA<Bならば、そのまま処理を終了し、A=Bならば、ステップS73に進む。
【0065】続いてステップS73において、ネットワーク負荷を比較し、A>BならばステップS81に進みリスト上でAとBとの位置を置き換えた後に終了する。またA<Bならば、そのまま処理を終了し、A=Bならば、ステップS75に進む。
【0066】続いてステップS75において、ディスクアクセス負荷を比較し、A>BならばステップS81に進みリスト上でAとBとの位置を置き換えた後に終了する。またA<Bならば、そのまま処理を終了し、A=Bならば、ステップS77に進む。
【0067】続いてステップS77において、容量使用率を比較し、A>BならばステップS81に進みリスト上でAとBとの位置を置き換えた後に終了する。またA<Bならば、そのまま処理を終了し、A=Bならば、ステップS79に進む。
【0068】続いてステップS79において、接続ユーザ数を比較し、A>BならばステップS81に進みリスト上でAとBとの位置を置き換えた後に終了する。またA=BまたはA<Bならば、そのまま処理を終了する。
【0069】このようにして、並列プロセス情報管理部812は、ビデオサーバシステムの設定により負荷比較条件1もしくは負荷比較条件2によって、送信プロセス情報リストのコピーをソーティングする。この設定は、ビデオサーバシステムの管理者がシステムの負荷特性を判断し、どちらかの条件を設定することができる。
【0070】(A−3)第1の実施形態の効果本第1の実施形態によると、クライアントの要求に対して全ビデオストリーム送信プロセスの中から負荷が最軽量のプロセスを割り当てることにより、1つのプロセスへの負荷の集中を防ぐことはもちろんのこと、CPU負荷以外の負荷項目として、ネットワーク負荷、ディスクアクセス負荷、送信ビットレートの最大容量に対する使用率についても分散が可能となる。
【0071】また、各ビデオストリーム送信プロセスから定期的に負荷情報を通知する仕組みを採っており、このユーザ要求受信・負荷分散プロセスに届かないことにより、ビデオストリーム送信プロセスの異常を早期に発見することができる。これにより、正常に動作していないビデオストリーム送信プロセスをクライアントに割り当てないことが可能になるため、ビデオサーバシステムの信頼性が向上する。
【0072】また、複数の負荷比較条件を配備することによって、ビデオサーバシステム毎の負荷特性に応じた負荷分散の実現が可能となる。
【0073】(B)第2の実施形態次に、本発明によるビデオストリーム送信プロセスの負荷分散方法及び装置の第2の実施形態を図面を参照しながら詳述する。
【0074】(B−1)第2の実施形態の構成第2の実施形態の構成は、第1の実施形態と同じ構成であるため、第1の実施形態の図1乃至6を用いる。
【0075】(B−2)第2の実施形態の動作以下、第2の実施形態の動作例は、図7に示した第1の実施形態の動作例と略同様である。
【0076】ここで、例えば図3および図4で、ビデオストリーム送信プロセス71が負荷情報を通知すると、ユーザ要求受信・負荷分散プロセス81の並列プロセス情報管理部812においてこれを受信し、並列プロセス情報管理部812は通知元のビデオストリーム送信プロセス71に対応する送信プロセス情報81221上の各データ情報と通知された情報の比較を行う。
【0077】以下、図12を参照して、並列プロセス情報管理部812の動作について説明する。
【0078】まず、プロセス情報通知を受信する(ステップS91)。次に送信プロセス情報81221上とビデオストリーム送信プロセスから通知された情報上の接続ユーザ数を比較して、接続ユーザ数の増加の有無について確認する(ステップS93)。接続ユーザ数の増加が無い場合にはステップS95に進み、CPU負荷、ネットワーク負荷、ディスクアクセス負荷の値の変化の有無について確認する。これらの値が変化していた場合、ユーザがビデオ操作を停止しているか、特殊操作を行っているものとみなす。
【0079】例えば、負荷が下がっている場合には送信プロセス情報81221上のCPU負荷、ネットワーク負荷、ディスクアクセス負荷の値を更新すること無く、処理を終了する(ステップS99)。また、負荷が上がっている場合には、送信プロセス情報81221上のCPU負荷、ネットワーク負荷、ディスクアクセス負荷の値を、通知された情報上のそれらとの中間値を算出して、更新して処理を終了する(ステップS97)。
【0080】また、ステップS93で接続ユーザ数が増加していることが確認された場合と、ステップS95で送信プロセス情報81221上のCPU負荷、ネットワーク負荷、ディスクアクセス負荷の値に変化が無い場合に、ステップS101に進み送信プロセス情報上の値を、通知された情報に設定された値により更新して処理を終了する。
【0081】(B−3)第2の実施形態の効果第2の実施形態では、ユーザが偶然ビデオ操作を一時中止していたり、負荷の重いと推測される早送りなどの特殊操作を行っていたりして負荷が一時的に変化しても、以前の負荷情報を用いて最適なコンピュータを割り当てることができる。
【0082】(C)第3の実施形態次に、本発明によるビデオストリーム送信プロセスの負荷分散方法及び装置の第3の実施形態を図面を参照しながら詳述する。
【0083】(C−1)第3の実施形態の構成第3の実施形態の構成は、第1、第2の実施形態と同じ構成であるため、第1の実施形態の図1乃至6を用いる。
【0084】(C−2)第3の実施形態の動作以下、第3の実施形態の動作例は、図7に示した第1、第2の実施形態の動作例と同じである。
【0085】ここで、例えば図3および図4で、ビデオストリーム送信プロセス71が負荷情報を通知すると、ユーザ要求受信・負荷分散プロセス81の並列プロセス情報管理部812においてこれを受信し、並列プロセス情報管理部812は通知元のビデオストリーム送信プロセス71に対応する送信プロセス情報81221上の各データ情報と通知された情報の比較を行う。
【0086】図13を参照するに、比較はまず、送信プロセス情報81221上とビデオストリーム送信プロセスから通知された情報上の接続ユーザ数を比較して(ステップS113)、接続ユーザ数の増加の有無を確認する。接続ユーザ数の増加が無い場合の動作フローは第2の実施形態に示した図12と同じとなる。
【0087】第2の実施形態では、接続ユーザ数の増加があった場合、並列プロセス情報管理部812は、通知された情報の値をそのまま送信プロセス情報81221上のデータに更新する。このとき、ユーザがビデオ操作を開始していない場合などで、実際のコンピュータの状況と通知された負荷情報の値に差異が生じる可能性があり得る。
【0088】そこで第3の実施形態においては、接続ユーザ数の増加があった場合、負荷がどのように変化するかを統計的に計算しておき、該当コンピュータの処理能力を判断する。
【0089】例えば、ステップS113において接続ユーザ数が増えたことが判断された場合には、送信プロセス情報81221上のCPU負荷、ネットワーク負荷、ディスクアクセス負荷の補正値を再計算し(ステップS115)、この再計算して得られた補正値により、CPU負荷、ネットワーク負荷、ディスクアクセス負荷に対して増加分の補正を行う(ステップS117)。
【0090】次に、通知された情報に設定されているこれらの負荷情報の値と比較を行い、例えば、負荷が下がっている場合には送信プロセス情報81221上のCPU負荷、ネットワーク負荷、ディスクアクセス負荷の更新はしない(ステップS123)。また負荷が上がっている場合には、送信プロセス情報81221上とCPU負荷、ネットワーク負荷、ディスクアクセス負荷を、通知された情報に設定されているこれらの情報との中間値を採って、更新する(ステップS121)。また、変化が無い場合には、送信プロセス情報上の値を通知された情報に、設定された値により更新する(ステップS125)。
【0091】(C−3)第3の実施形態の効果第3の実施形態では、統計的に負荷情報を操作することでより効果的にコンピュータを割り当てることができる。
【0092】尚、上記の第1の実施形態では、ビデオストリーム送信プロセスが起動されているコンピュータを3台実装しているビデオサーバシステムを用いた例を説明したが、本発明はこれに限定されること無く、例えば2台以上のビデオストリーム送信プロセスが起動されているコンピュータが実装されていれば、本発明のビデオストリーム送信プロセスの負荷分散方法及び装置に適用することができる。
【0093】また、上述してきたビデオストリーム送信プロセスの負荷分散プログラムは、無線回線、電話回線、インターネット等を含む任意の通信媒体およびこの負荷分散プログラムを記録した記録媒体により、その流通性を高めることができる。
【0094】
【発明の効果】以上のように、本発明のビデオストリーム送信プロセスの負荷分散方法及び装置と負荷分散プログラムと該プログラムを記録した記録媒体によれば、各種負荷を計測し、この計測結果を自身の負荷情報としてユーザ要求受信・負荷分散プロセスに通知するようにしたので、負荷の偏りを管理しやすくなり、負荷の集中を未然に防止するのに役立つという効果を奏する。
【0095】また、クライアントの要求に対して全てのビデオストリーム送信プロセスの中から負荷が最軽量のプロセスを割り当てるようにしたので、1つのプロセスへの負荷の集中を防ぐことを可能とすることができる。
【0096】さらに、負荷としては、CPU負荷以外に、ネットワーク負荷、ディスクアクセス負荷、送信ビットレートの最大容量に対する使用率についても分散を可能としていることから、負荷の一時的に変動に対しても最適なコンピュータを割り当てることができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013