(57)【特許請求の範囲】
【請求項１】
配信する映像データが分割された複数の分割データと、前記複数の分割データのいずれかを復元するための冗長データとを記録する記憶媒体と、前記記憶媒体のウェアレベリング処理を実施する制御部とを備える複数のＳＳＤ（Solid State Drive）と、
所定期間毎に、確立されているセッションのセッション数をカウントするカウント部と、
前記カウント部がカウントするセッション数が、基準値を超えるか否かを判定する判定部と、
前記判定部の判定結果に基づき、前記ＳＳＤが具備する制御部に対し、前記ウェアレベリング処理を実施するウェアレベリング機能を有効にさせ、かつ、前記記憶媒体から分割データ及び／又は冗長データを読み出す読出し機能を無効にさせる指示、又は、前記ウェアレベリング機能を無効にさせ、かつ、前記読出し機能を有効にさせる指示を与えるＳＳＤ操作部と
を具備することを特徴とするビデオ配信サーバ。
【請求項２】
前記ＳＳＤ操作部は、前記判定部が前記セッション数が前記基準値を超えると判定する場合、前記ＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を無効にさせ、かつ、前記読出し機能を有効にさせる指示を与え、前記判定部が前記セッション数が前記基準値を超えないと判定する場合、前記複数のＳＳＤのうち一部のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を無効にさせ、かつ、前記読出し機能を有効にさせる指示を与え、その他のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を無効にさせる指示を与え、
さらに、前記ＳＳＤ操作部により、前記ウェアレベリング機能が無効にされ、かつ、前記読出し機能が有効にされたＳＳＤの記憶媒体から分割データ及び／又は冗長データを読み出すＲＡＩＤ処理部を具備することを特徴とする請求項１記載のビデオ配信サーバ。
【請求項３】
前記ＲＡＩＤ処理部は、前記ＳＳＤ操作部により、前記ウェアレベリング機能が有効にされ、かつ、前記読出し機能が無効にされたＳＳＤの記憶媒体に、分割データ及び／又は冗長データを書き込ませることを特徴とする請求項２記載のビデオ配信サーバ。
【請求項４】
前記ＳＳＤ操作部により前記ウェアレベリング機能が有効にされ、かつ、前記読出し機能が無効にされたＳＳＤが具備する記憶媒体の空き容量が予め設定された容量に達しない場合、前記記憶媒体への分割データ及び／又は冗長データの書込みを禁止する主制御部をさらに具備することを特徴とする請求項３記載のビデオ配信サーバ。
【請求項５】
前記ＳＳＤ操作部は、アイドル状態である場合、前記複数のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を有効にさせる指示を与え、
前記ＲＡＩＤ処理部は、アイドル状態である場合、前記書き込んだ分割データ及び／又は冗長データを読み出し、前記読み出した分割データ及び／又は冗長データに基づいて映像データを作成し、前記作成した映像データに基づいて新たに作成される分割データ及び冗長データを、前記複数のＳＳＤの記憶媒体に書き込ませることを特徴とする請求項３記載のビデオ配信サーバ。
【請求項６】
前記ＳＳＤ操作部は、前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を無効にさせたＳＳＤが具備する制御部に対し、分割データ及び／又は冗長データを書き込む書込み機能を有効にさせる指示を与え、
前記ＲＡＩＤ処理部は、前記ＳＳＤ操作部により、前記書込み機能が有効にされたＳＳＤの記憶媒体に分割データ及び／又は冗長データを書き込ませることを特徴とする請求項２記載のビデオ配信サーバ。
【請求項７】
前記ＳＳＤ操作部により前記書込み機能が有効にされたＳＳＤが具備する記憶媒体の空き容量が予め設定された容量に達しない場合、前記記憶媒体への分割データ及び／又は冗長データの書込みを禁止する主制御部をさらに具備することを特徴とする請求項６記載のビデオ配信サーバ。
【請求項８】
前記ＳＳＤ操作部は、アイドル状態である場合、前記複数のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を有効にさせ、前記読出し機能を有効にさせ、かつ、前記書込み機能を有効にさせる指示を与え、
前記ＲＡＩＤ処理部は、アイドル状態である場合、前記書き込んだ分割データ及び／又は冗長データを読み出し、前記読み出した分割データ及び／又は冗長データに基づいて映像データを作成し、前記作成した映像データに基づいて新たに作成される分割データ及び冗長データを、前記複数のＳＳＤの記憶媒体に書き込ませることを特徴とする請求項６記載のビデオ配信サーバ。
【請求項９】
配信する映像データが分割された複数の分割データと、前記複数の分割データのいずれかを復元するための冗長データとを記録する記憶媒体と、前記記憶媒体のウェアレベリング処理を実施する制御部とを備える複数のＳＳＤ（Solid State Drive）を具備するビデオ配信サーバで用いられるＳＳＤ制御方法において、
所定期間毎に、確立されているセッションのセッション数をカウントし、
前記カウントしたセッション数が基準値を超えるか否かを判定し、
前記判定の判定結果に基づき、前記ＳＳＤが具備する制御部に対し、前記ウェアレベリング処理を実施するウェアレベリング機能を有効にさせ、かつ、前記記憶媒体から分割データ及び／又は冗長データを読み出す読出し機能を無効にさせる指示、又は、前記ウェアレベリング機能を無効にさせ、かつ、前記読出し機能を有効にさせる指示を与えることを特徴とするＳＳＤ制御方法。
【請求項１０】
前記カウントしたセッション数が前記基準値を超えると判定する場合、前記ＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を無効にさせ、かつ、前記読出し機能を有効にさせる指示を与え、
前記カウントしたセッション数が前記基準値を超えないと判定する場合、前記ＳＳＤのうち一部のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を無効にさせ、かつ、前記読出し機能を有効にさせる指示を与え、その他のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を無効にさせる指示を与え、
前記ウェアレベリング機能を無効にし、かつ、前記読出し機能を有効にしたＳＳＤの記憶媒体から分割データ及び／又は冗長データを読み出すことを特徴とする請求項９記載のＳＳＤ制御方法。
【請求項１１】
書込み要求を受け取った場合、前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を無効にさせたＳＳＤの記憶媒体に、分割データ及び／又は冗長データを書き込ませることを特徴とする請求項１０記載のＳＳＤ制御方法。
【請求項１２】
前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を無効にさせたＳＳＤが具備する記憶媒体の空き容量が予め設定された容量に達しない場合、前記記憶媒体への分割データ及び／又は冗長データの書込みを禁止することを特徴とする請求項１１記載のＳＳＤ制御方法。
【請求項１３】
アイドル状態である場合、前記複数のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を有効にさせる指示を与え、
前記書き込んだ分割データ及び／又は冗長データを読み出し、前記読み出した分割データ及び／又は冗長データに基づいて映像データを作成し、前記作成した映像データに基づいて新たに作成される分割データ及び冗長データを、前記複数のＳＳＤの記憶媒体に書き込ませることを特徴とする請求項１１記載のＳＳＤ制御方法。
【請求項１４】
前記ウェアレベリング機能を有効にさせ、かつ、前記読出し機能を無効にさせたＳＳＤが具備する制御部に対し、分割データ及び／又は冗長データを書き込む書込み機能を有効にさせる指示を与え、
書込み要求を受け取った場合、前記書込み機能を有効にさせたＳＳＤの記憶媒体に分割データ及び／又は冗長データを書き込ませることを特徴とする請求項１０記載のＳＳＤ制御方法。
【請求項１５】
前記書込み機能を有効にさせたＳＳＤに搭載される記憶媒体の空き容量が予め設定された容量に達しない場合、前記記憶媒体への分割データ及び／又は冗長データの書込みを禁止することを特徴とする請求項１４記載のＳＳＤ制御方法。
【請求項１６】
アイドル状態である場合、前記複数のＳＳＤが具備する制御部に対し、前記ウェアレベリング機能を有効にさせ、前記読出し機能を有効にさせ、かつ、前記書込み機能を有効にさせる指示を与え、
前記書き込んだ分割データ及び／又は冗長データを読み出し、前記読み出した分割データ及び／又は冗長データに基づいて映像データを作成し、前記作成した映像データに基づいて新たに作成される分割データ及び冗長データを、前記複数のＳＳＤの記憶媒体に書き込ませることを特徴とする請求項１４記載のＳＳＤ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＳＳＤ（Solid State Drive）にデータを保存するビデオ配信サーバ及びこのビデオ配信サーバで用いられるＳＳＤ制御方法に関する。
【背景技術】
【０００２】
近年、コンテンツをＳＳＤに記録するビデオ配信サーバが提案されている。ＳＳＤは、読取装置をディスク上で移動させる時間、及び、所望のデータを記録している領域が読取装置まで回転してくるまでの時間がないため、ＨＤＤ（Hard Disk Drive）よりも高速に読み出し及び書き込みが可能である。このため、ＳＳＤを備えるビデオ配信サーバは、複数のクライアントからの同時アクセスにも高速に対応することが可能である。
【０００３】
ところで、ＳＳＤにデータを書き込む際に、又は、所定のタイミングでウェアレベリング（磨耗平滑化）と呼ばれる処理が行われることがある。ウェアレベリングとは、書き込みが一個の記憶媒体中の一個の素子に集中せず、一個の記憶媒体中の複数の素子にできるだけ均等に分散されるようにする処理である。ＳＳＤの記憶媒体は、書き込み回数に制限があるため、ウェアレベリングにより、ＳＳＤの記憶媒体の寿命を延ばすことが可能となる。
【０００４】
しかしながら、ＳＳＤからコンテンツデータを読み出しているときに、同一のＳＳＤでウェアレベリングが実施されると、読出し処理が中断され、ＳＳＤからコンテンツを読み出す速度が低下するという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−６１７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のように、従来のビデオ配信サーバでは、ＳＳＤからコンテンツデータの読み出しの最中にウェアレベリングが実行されると、読出し処理に遅延が発生するという問題がある。
【０００７】
そこで、目的は、同一のＳＳＤに対して読み出しの最中にウェアレベリングが実施され得る環境下であっても、ウェアレベリングによる読出し処理の遅延を防ぐことが可能なビデオ配信サーバと、このビデオ配信サーバで用いられるＳＳＤ制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態によれば、ビデオ配信サーバは、ＳＳＤ及びＳＳＤ操作部を具備する。ＳＳＤは、記憶媒体と、前記記憶媒体のウェアレベリング処理を実施する制御部とを備える。ＳＳＤ操作部は、前記ウェアレベリング処理を実施するウェアレベリング機能を無効にさせる指示を、前記制御部に対して与える。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るビデオ配信サーバが接続されるネットワークシステムの機能構成を示すブロック図である。
【図２】図１に示すビデオ配信サーバの機能構成を示すブロック図である。
【図３】図２に示すＲＡＩＤ制御部の機能構成を示すブロック図である。
【図４】図２に示すＳＳＤに記録されるデータの例を示す図である。
【図５】図２に示すＲＡＩＤ制御部がＳＳＤからコンテンツデータを読み出す際の動作を示すフローチャートである。
【図６】図２に示すＳＳＤから分割データ及び冗長データを読み出す例を示す図である。
【図７】図２に示す一部のＳＳＤから分割データ及び／又は冗長データを読み出す例を示す図である。
【図８】時間毎のセッション数の動向に伴う、ウェアレベリング処理を実施しているＳＳＤの個数の例を示す図である。
【図９】図２に示すビデオ配信サーバがウェアレベリング機能が有効、かつ、読出し機能が無効のＳＳＤに対してコンテンツデータを書き込む際の動作を示すシーケンス図である。
【図１０】図２に示す一部のＳＳＤから分割データ及び／又は冗長データを読み出し、その他のＳＳＤへ分割データ及び冗長データを書き込む例を示す図である。
【図１１】図２に示すＲＡＩＤ制御部におけるアイドル状態の際の動作を示すフローチャートである。
【図１２】図２に示す一部のＳＳＤへ書き込まれたコンテンツデータのストライプ構造を再構築する際の図である。
【図１３】ウェアレベリング処理により、読出し処理に遅延が生じる場合を説明する図である。
【発明を実施するための形態】
【００１０】
以下、実施の形態について、図面を参照して説明する。
【００１１】
図１は、本実施形態に係るビデオ配信サーバ１０が接続されるネットワークシステムの機能構成を示すブロック図である。ネットワークシステムは、ビデオ配信サーバ１０と、操作端末２０と、例えば、ＰＣ、スマートフォン及び携帯電話等の複数の通信端末３０とを具備する。ビデオ配信サーバ１０は、例えばＬＡＮケーブルを介して操作端末２０と接続する。また、ビデオ配信サーバ１０は、ネットワークを介して通信端末３０と接続する。
【００１２】
ビデオ配信サーバ１０は、通信端末３０からのアクセス要求に応じて、先行ダウンロード方式、又は、ストリーミング方式等により、自装置に記録されているコンテンツを通信端末へ配信する。なお、コンテンツの配信は、ＨＴＴＰ配信プロトコル等、様々な配信プロトコルが用いられる。
【００１３】
ビデオ配信サーバ１０は、操作端末２０からの書込み要求に応じて、操作端末２０から供給される新たなコンテンツを記録する。また、ビデオ配信サーバ１０は、操作端末２０からの書込み要求に応じて、操作端末２０から供給される新たなコンテンツを、すでに記録しているコンテンツと入れ替える。
【００１４】
図２は、本実施形態に係るビデオ配信サーバ１０の機能構成を示すブロック図である。図２に示すビデオ配信サーバ１０は、要求受付部１１、出力バッファ１２、メモリ１３、ＲＡＩＤインタフェース１４、ＳＳＤ（Solid State Drive）１５−１〜１５−ｎ、ＲＡＩＤ制御部１６、主制御部１７及びインタフェース部１８を具備する。要求受付部１１、出力バッファ１２、メモリ１３、ＲＡＩＤインタフェース１４、ＲＡＩＤ制御部１６、主制御部１７及びインタフェース部１８は、それぞれバスにより接続される。
【００１５】
要求受付部１１は、ネットワークを介して伝送される、通信端末３０からのアクセス要求を受け付ける。要求受付部１１は、受け付けたアクセス要求を主制御部１７へ出力する。
【００１６】
インタフェース部１８は、操作端末２０から供給される書込み要求と、書込み要求から供給されるコンテンツデータを受信する。インタフェース部１８は、受信した書込み要求を主制御部１７へ出力し、コンテンツデータをＲＡＩＤ制御部１６へ出力する。
【００１７】
主制御部１７は、例えば、ＣＰＵ（Central Processing Unit）を備え、メモリ１３に記録されるプログラム及びデータを用いて駆動することで、ビデオ配信サーバ１０の動作を制御する。
【００１８】
主制御部１７は、要求受付部１１からアクセス要求を受けると、アクセス要求を送信した通信端末とのセッションを確立する。主制御部１７は、出力バッファ１２へセッション確立要求を出力する。主制御部１７は、セッションを確立すると、セッションを確立したことをＲＡＩＤ制御部１６へ通知する。主制御部１７は、セッションを確立すると、ＲＡＩＤ制御部１６へ読出し要求を出力し、ＳＳＤ１５−１〜１５−ｎからコンテンツを読み出させる。
【００１９】
また、主制御部１７は、インタフェース部１８から書込み要求を受けると、ＳＳＤ１５−１〜１５−ｎのうち、ＲＡＩＤ制御部１６により指定されるＳＳＤの空き容量を通知するように、ＲＡＩＤ制御部１６に対して要求する。主制御部１７は、ＳＳＤの空き容量が所定の容量を超えるか否か判断することで、ＳＳＤへのデータの書き込みが可能であるか否かを判断する。ＳＳＤへの書き込みが可能である場合、主制御部１７は、書込み要求をＲＡＩＤ制御部１６へ出力する。ＳＳＤへの書き込みが不可能である場合、主制御部１７は、エラーメッセージをインタフェース部１８を介して操作端末２０へ出力する。
【００２０】
ビデオ配信サーバ１０は、例えば、メンテナンス等が実施される場合には、種々の動作が制限されるアイドル状態となる。ビデオ配信サーバ１０がアイドル状態となった場合、主制御部１７は、アイドル状態となったことをＲＡＩＤ制御部１６へ通知する。
【００２１】
ＲＡＩＤインタフェース１４は、バスとＳＳＤ１５−１〜１５−ｎとのインタフェースである。バスを伝送する信号はＲＡＩＤインタフェース１４を介してＳＳＤ１５−１〜１５−ｎへ供給され、ＳＳＤ１５−１〜１５−ｎから出力される信号はＲＡＩＤインタフェース１４を介してバスへ供給される。
【００２２】
ＲＡＩＤ制御部１６は、例えば、ＦＰＧＡ（Field Programmable Gate Array）から成るファームウェアであり、図３に示すように、解析部１６１、判定部１６２、ＲＡＩＤ処理部１６３及びＳＳＤ操作部１６４の機能を備える。
【００２３】
解析部１６１は、主制御部１７からセッションを確立したことを通知されると、確立されているセッション数をカウントする。解析部１６１は、カウントしたセッション数に基づいて、予め設定された時間におけるセッション数を解析する。解析部１６１は、解析結果を判定部１６２へ通知する。
【００２４】
判定部１６２は、解析部１６１での解析結果に基づいて、現時間におけるアクセスの状態を判定する。なお、判定は、解析結果を受信する度に行っても良いし、所定の周期で行なうようにしても良い。判定部１６２は、判定結果をＲＡＩＤ処理部１６３及びＳＳＤ操作部１６４へ出力する。
【００２５】
例えば、判定部１６２は、予め設定された時間におけるセッション数が予め設定した基準値よりも多い場合には「多数クライアント状態」と判定し、少ない場合には「少数クライアント状態」と判定する。具体的には、判定部１６２は、１時間あたりのセッション数が４０００以上である状態を「多数クライアント状態」と判定し、セッション数が４０００未満である状態を「少数クライアント状態」と判定する。
【００２６】
ＳＳＤ操作部１６４は、判定部１６２で判定されるアクセス状態に応じて、ＳＳＤ１５−１〜１５−ｎに搭載される制御部１５２−１〜１５２−ｎのうち、ウェアレベリング機能を有効、かつ、読出し機能を無効にする制御部、及び、ウェアレベリング機能を無効、かつ、読出し機能を有効にする制御部を選択する。ここで、読出し機能とは、制御部１５２−１〜１５２−ｎが、ＳＳＤ１５−１〜１５−ｎに搭載される記憶媒体１５１−１〜１５１−ｎからデータを読み出す機能をいう。ＳＳＤ操作部１６４は、選択に基づき、制御部１５２−１〜１５２−ｎへ、ウェアレベリング機能を有効にし、かつ、読出し機能を無効にする指示、及び、ウェアレベリング機能を無効にし、かつ、読出し機能を有効にする指示を出す。
【００２７】
例えば、ＳＳＤ操作部１６４は、多数クライアント状態である場合には、制御部１５２−１〜１５２−ｎに対してウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出す。また、ＳＳＤ操作部１６４は、少数クライアント状態において、セッション数が２０００〜３９９９である場合には、制御部１５２−１〜１５２−ｎのうちｘ台の制御部のウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出し、ｎ−ｘ台の制御部のウェアレベリング機能を有効にし、かつ、読出し機能を無効にするように指示を出す。また、ＳＳＤ操作部１６４は、少数クライアント状態において、セッション数が１０００〜１９９９である場合には、制御部１５２−１〜１５２−ｎのうちｙ台の制御部のウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出し、ｎ−ｙ台の制御部のウェアレベリング機能を有効にし、かつ、読出し機能を無効にするように指示を出す。また、ＳＳＤ操作部１６４は、少数クライアント状態において、セッション数が０〜９９９である場合には、制御部１５２−１〜１５２−ｎのうちｚ台の制御部のウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出し、ｎ−ｚ台の制御部のウェアレベリング機能を有効にし、かつ、読出し機能を無効にするように指示を出す。ただし、ｘ、ｙ、ｚは、ＳＳＤから読み出されるデータに基づいて、ＲＡＩＤ処理部１６３でコンテンツデータを復元可能な数であり、ｘ＞ｙ＞ｚである。
【００２８】
ＳＳＤ操作部１６４は、主制御部１７からアイドル状態になったことが通知されると、制御部１５２−１〜１５２−ｎへ、ウェアレベリング機能を有効にし、かつ、読出し機能を有効にする指示を出す。
【００２９】
ＲＡＩＤ処理部１６３は、書込み要求に応じ、供給されるコンテンツデータを、ＲＡＩＤ方式を用いて書き込むように、ＳＳＤへ指示を出す。このとき、書込み対象となるＳＳＤは、ＳＳＤ１５−１〜１５−ｎのうち、読出し機能が無効化されているＳＳＤである。具体的には、ＲＡＩＤ処理部１６３は、供給されるコンテンツデータを所定の数の分割データに分割する。ＲＡＩＤ処理部１６３は、複数の分割データのいずれかを復元するための冗長データを作成する。このとき、同一のコンテンツデータから分割された分割データと、この分割データに基づいて作成された冗長データとには、同一のコンテンツデータに基づくデータであることを示す識別情報が付加される。ＲＡＩＤ処理部１６３は、分割データと冗長データとを、書込み対象であるＳＳＤへ出力する。ＲＡＩＤ処理部１６３は、供給されるコンテンツデータに対して上記処理を繰り返し行う。ＲＡＩＤ処理部１６３は、冗長データを記録するＳＳＤが固定されるのを避けるため、分割データと、冗長データとの出力先を適宜切り替える。
【００３０】
作成される分割データ及び冗長データの数は、書込み対象となるＳＳＤの数と、ＲＡＩＤシステムのレベルに応じて変化する。図４は、書込み対象となるＳＳＤの数が５であり、ＲＡＩＤシステムがレベル６である場合に、ＳＳＤ１５−１〜１５−５で記録されるデータの例を示す模式図である。図４において、データＡ１〜Ａ３、データＢ１〜Ｂ３、データＣ１〜Ｃ３、データＤ１〜Ｄ３、データＥ１〜Ｅ３が分割データであり、データＡｐ、Ｂｐ、Ｃｐ、Ｄｐ、Ｅｐが第１の冗長データであるパリティデータであり、データＡｑ、Ｂｑ、Ｃｑ、Ｄｑ、Ｅｑが第２の冗長データである。なお、第２の冗長データは、異なるアドレスのデータに基づいて作成するパリティデータであっても良いし、異なる係数を乗算してから生成するデータであっても構わない。これにより、ＳＳＤ１５−１〜１５−５では、コンテンツデータがストライプ構造となるように蓄積されることになる。
【００３１】
ＲＡＩＤ処理部１６３は、読出し要求に応じ、読出し機能が有効であるＳＳＤへ分割データ及び冗長データを読み出すように指示を出す。ＲＡＩＤ処理部１６３は、読出し機能が有効であるＳＳＤから読み出された分割データ及び冗長データに基づき、ＲＡＩＤ方式を用いてコンテンツデータを作成する。すなわち、ＲＡＩＤ処理部１６３は、読出し機能が有効であるＳＳＤから並列して読み出される分割データに異常又は欠落がある場合、その他の分割データと冗長データとから異常又は欠落のある分割データを復元する。ＲＡＩＤ処理部１６３は、その他の分割データと、復元した分割データとを結合してコンテンツデータを作成する。ＲＡＩＤ処理部１６３は、作成したコンテンツデータを出力バッファ１２へ出力する。ＲＡＩＤ処理部１６３は、分割データと冗長データとをＳＳＤ１５−１〜１５−ｎから並列して順次読み出し、読み出した分割データと冗長データとに基づいてコンテンツデータを作成する。
【００３２】
ＲＡＩＤ処理部１６３は、主制御部１７からアイドル状態になったことが通知されると、ＳＳＤ１５−１〜１５−ｎのうち少なくともいずれかのＳＳＤに分割データ及び冗長データとして記録されているコンテンツデータのＲＡＩＤ構成を、ビデオ配信サーバ１０が対応しているＲＡＩＤ構成に再構築する。すなわち、ＲＡＩＤ処理部１６３は、ＳＳＤ１５−１〜１５−ｎのうち少なくともいずれかのＳＳＤに記録されている分割データ及び冗長データを読み出す。ＲＡＩＤ処理部１６３は、読み出した分割データ及び冗長データのうち、同一の識別情報が付加されている分割データ及び冗長データに基づいてコンテンツデータを作成する。ＲＡＩＤ処理部１６３は、作成したコンテンツデータに基づき、ＳＳＤ１５−１〜１５−ｎを書込み対象として分割データ及び冗長データを作成する。ＲＡＩＤ処理部１６３は、作成した分割データ及び冗長データをＳＳＤ１５−１〜１５−ｎへ出力する。
【００３３】
ＳＳＤ１５−１〜１５−ｎは、それぞれが記憶媒体１５１−１〜１５１−ｎと、制御部１５２−１〜１５２−ｎとを備える。なお、ＳＳＤ１５−１〜１５−ｎの動作はそれぞれ同様であるため、以下では、ＳＳＤ１５について説明する。
【００３４】
制御部１５２−１は、ＲＡＩＤ制御部１６から、書込み指示と、分割データ又は冗長データとが供給されると、受け取った分割データ又は冗長データを記憶媒体１５１−１へ書き込む。また、制御部１５２−１は、ＲＡＩＤ制御部１６から、読出し指示が供給されると、記憶媒体１５１−１から分割データ又は冗長データを読み出し、ＲＡＩＤ制御部１６へ出力する。
【００３５】
制御部１５２−１は、ＲＡＩＤ制御部１６から読出し機能を無効化する指示を受けた場合、ＲＡＩＤ制御部１６から読出し指示があった場合であっても、読出し処理を実行しない。また、制御部１５２−１は、ＲＡＩＤ制御部１６から読出し機能を有効化する指示を受けた場合、ＲＡＩＤ制御部１６からの読出し指示に応じて、読出し処理を実行する。
【００３６】
また、制御部１５２−１は、記憶媒体１５１−１へデータを書き込む際、又は、所定のタイミングでウェアレベリングを実行する。ウェアレベリングとは、書き込みが記憶媒体１５１−１中の一個の素子に集中せず、記憶媒体１５１−１中の複数の素子にできるだけ均等に分散されるようにする処理である。制御部１５２−１は、ＲＡＩＤ制御部１６からウェアレベリング機能を無効化する指示を受けた場合、ウェアレベリングを実行しない。また、制御部１５２−１は、ＲＡＩＤ制御部１６からウェアレベリング機能を有効化する指示を受けた場合、記憶媒体１５１−１へデータを書き込む際、又は、所定のタイミングでウェアレベリングを実行する。
【００３７】
出力バッファ１２は、主制御部１７からのセッション確立指示に応じて、アクセス要求に対応したリングバッファを形成する。出力バッファ１２は、ＲＡＩＤ制御部１６で作成されたコンテンツデータを、リングバッファに一時的に保持した後、アクセス要求を送信した通信端末３０へ配信する。
【００３８】
次に、以上のように構成されたビデオ配信サーバ１０の動作を説明する。なお、以下の例では、ビデオ配信サーバ１０に６個のＳＳＤが設置され、ＲＡＩＤレベルが６の場合を例に説明する。図５は、本実施形態に係るＲＡＩＤ制御部１６がＳＳＤ１５−１〜１５−ｎからコンテンツデータを読み出す際の動作を示すフローチャートである。
【００３９】
まず、ＲＡＩＤ制御部１６は、主制御部１７からセッションが確立した旨の通知を受ける（ステップＳ５１）。解析部１６１は、確立されているセッション数をカウントし、予め設定された時間におけるセッション数を解析する（ステップＳ５２）。
【００４０】
判定部１６２は、解析部１６１での解析結果に基づき、現時間におけるアクセスの状態が多数クライアント状態であるか否かを判定する（ステップＳ５３）。なお、図５における説明では、１時間あたりのセッション数が４０００以上である状態を「多数クライアント状態」と判定し、セッション数が４０００未満である状態を「少数クライアント状態」と判定するとする。
【００４１】
多数クライアント状態である場合（ステップＳ５３のＹｅｓ）、ＳＳＤ操作部１６４は、ＳＳＤ１５−１〜１５−６に搭載される制御部１５２−１〜１５２−６に対して、ウェアレベリング機能を無効、かつ、読出し機能を有効にするように指示を出す（ステップＳ５４）。ＲＡＩＤ処理部１６３は、ＳＳＤ１５−１〜１５−６に記録されている分割データ及び冗長データを読み出し（ステップＳ５５）、処理を終了させる。図６は、ＳＳＤ１５−１〜１５−６から分割データ及び冗長データを読み出す際の模式図を示す。
【００４２】
少数クライアント状態である場合（ステップＳ５３のＮｏ）、ＳＳＤ操作部１６４は、セッション数に応じたいずれかのＳＳＤのウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出し、その他のＳＳＤのウェアレベリング機能を有効にし、かつ、読出し機能を無効にするように指示を出す（ステップＳ５６）。すなわち、ＳＳＤ操作部１６４は、セッション数が１５００〜３９９９である場合には、ＳＳＤ１５−１〜１５−５のウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出し、ＳＳＤ１５−６のウェアレベリング機能を有効にし、かつ、読出し機能を無効にするように指示を出す。また、ＳＳＤ操作部１６４は、セッション数が０〜１５００である場合には、ＳＳＤ１５−１〜１５−４のウェアレベリング機能を無効にし、かつ、読出し機能を有効にするように指示を出し、ＳＳＤ１５−５〜１５−６のウェアレベリング機能を有効にし、かつ、読出し機能を無効にするように指示を出す。
【００４３】
ＲＡＩＤ処理部１６３は、読出し機能が有効なＳＳＤから分割データ及び／又は冗長データを読み出し（ステップＳ５７）、処理を終了させる。図７は、ＳＳＤ１５−１〜１５−４から分割データ及び／又は冗長データを読み出し、ＳＳＤ１５−５〜１５−６では、ウェアレベリング機能が有効である場合の模式図を示す。
【００４４】
図８は、時間毎のセッション数の動向に伴う、ウェアレベリング処理を実施しているＳＳＤの個数の例を示す図である。図８によれば、ｘ軸は時間を示し、左側のｙ軸はセッション数を示し、右側のｙ軸は自動ウェアレベリングを行っているＳＳＤ数を示す。
【００４５】
図９は、本実施形態に係るビデオ配信サーバ１０がＳＳＤ１５−１〜１５−ｎのうちウェアレベリング機能が有効、かつ、読出し機能が無効のＳＳＤに対してコンテンツデータを書き込む際の動作を示すシーケンス図である。図９では、ＳＳＤ１５−１〜１５−４のウェアレベリング機能が無効、かつ、読出し機能が有効であり、ＳＳＤ１５−５，１５−６のウェアレベリング機能が有効、かつ、読出し機能が無効である場合を例に説明する。
【００４６】
まず、主制御部１７は、操作端末２０から書込み要求を受け取る（シーケンスＳ９１）。主制御部１７は、ＳＳＤ１５−１〜１５−ｎのうちウェアレベリング機能が有効、かつ、読出し機能が無効なＳＳＤ１５−５，１５−６の空き容量を、ＲＡＩＤ制御部１６へ要求する（シーケンスＳ９２）。
【００４７】
ＲＡＩＤ制御部１６は、ＳＳＤ１５−５，１５−６の空き容量を主制御部１７へ応答する（シーケンスＳ９３）。
【００４８】
主制御部１７は、ＳＳＤ１５−５，１５−６の空き容量が所定の容量を超える場合、ＳＳＤ１５−５，１５−６への書き込みが可能であると判断し（シーケンスＳ９４）、ＲＡＩＤ制御部１６へ書込み要求を出力する（シーケンスＳ９５）。また、主制御部１７は、ＳＳＤ１５−５，１５−６の空き容量が所定の容量を下回る場合、ＳＳＤ１５−５，１５−６への書き込みが不可能であると判断し、エラーメッセージをインタフェース部１８を介して操作端末２０へ出力する。
【００４９】
ＲＡＩＤ制御部１６は、ＲＡＩＤ処理部１６３により、主制御部１７からの書込み要求に応じ、供給されるコンテンツデータに基づいて分割データと冗長データとを作成する（シーケンスＳ９６）。ＲＡＩＤ制御部１６は、作成した分割データ及び冗長データをＳＳＤ１５−５，１５−６へ出力する（シーケンスＳ９７）。ＳＳＤ１５−５，１５−６は、ＲＡＩＤ制御部１６から出力された分割データ及び冗長データを記憶媒体１５１−５，１５１−６へ書き込む。図１０は、ＳＳＤ１５−１〜１５−４から分割データ及び／又は冗長データを読み出し、ＳＳＤ１５−５，１５−６へ分割データ及び冗長データを書き込む場合の模式図を示す。
【００５０】
図１１は、本実施形態に係るＲＡＩＤ制御部１６におけるアイドル状態の際の動作を示すフローチャートである。図１１では、ＳＳＤ１５−５，１５−６から分割データ及び冗長データを読み出し、ＳＳＤ１５−１〜１５−ｎへ新たに作成した分割データ及び冗長データを書き込む場合を例に説明する。
【００５１】
まず、ＲＡＩＤ制御部１６は、主制御部１７からアイドル状態になった旨の通知を受ける（ステップＳ１１１）。ＳＳＤ操作部１６４は、ＳＳＤ１５−１〜１５−６へ、ウェアレベリング機能を有効にし、かつ、読出し機能を有効にするように指示を出す（ステップＳ１１２）。
【００５２】
ＲＡＩＤ処理部１６３は、ＳＳＤ１５−１〜１５−６に記録されている分割データ及び冗長データを読み出し、ＲＡＭに記録する（ステップＳ１１３）。このとき、ＳＳＤ１５−５，１５−６から読み出された分割データ及び冗長データには、同一のコンテンツデータに基づいて作成されたことを示す識別情報が付加されている。ＲＡＩＤ処理部１６３は、識別情報を参照し、ＳＳＤ１５−５，１５−６から読み出した分割データ及び冗長データに基づいてコンテンツデータを作成する（ステップＳ１１４）。ＲＡＩＤ処理部１６３は、作成したコンテンツデータに基づき、ＳＳＤ１５−１〜１５−６を書込み対象として分割データ及び冗長データを作成する（ステップＳ１１５）。ＲＡＩＤ処理部１６３は、作成した分割データ及び冗長データをＳＳＤ１５−１〜１５−６へ出力し（ステップＳ１１６）、処理を終了させる。図１２は、ＳＳＤ１５−５，１５−６から読み出した分割データ及び冗長データに基づいて作成したコンテンツデータを、ＳＳＤ１５−１〜１５−６へ書き込む場合の模式図を示す。この処理が完了すると、ＳＳＤ１５−１〜１５−６についての普通のストライピング構造が構築されることになる。
【００５３】
以上のように、本実施形態では、ＲＡＩＤ制御部１６にＳＳＤ操作部１６３を設け、ＳＳＤ１５−１〜１５−ｎに搭載される制御部１５２−１〜１５２−ｎに対してウェアレベリング機能を停止させることが可能なようにしている。ＳＳＤからコンテンツデータを読み出している際にウェアレベリングが実施されると、図１３で示されるように、ウェアレベリング処理を実行した期間だけ、読出し処理に遅延が生じる。図１３において、ｘ軸はリード順番を示し、ｙ軸は時間を示す。図１３において、ウェアレベリング（ｗｌ）は、読出し３と読出し４との間に発生している。従来のビデオ配信サーバでは、ウェアレベリングは、ＳＳＤに搭載されている制御部の制御に従って実施されており、主制御部及びＲＡＩＤ制御部からは制御できなかった。本実施形態に係るビデオ配信サーバ１０では、ＳＳＤ操作部１６４からＳＳＤ１５−１〜１５−ｎへ指示を出し、ウェアレベリングの実施を制限することが可能であるため、データの読み出しの最中にウェアレベリング処理が実行されることを避けることが可能となる。
【００５４】
また、本実施形態では、ＲＡＩＤ制御部１６は、セッション数が多い場合、ＳＳＤ１５−１〜１５−ｎのウェアレベリング機能を停止させ、ＳＳＤ１５−１〜１５−ｎからデータを読み出す。また、セッション数が少ない場合、ＲＡＩＤ制御部１６は、ＳＳＤ１５−１〜１５−ｎのうち一部のＳＳＤのウェアレベリング機能を停止させ、ウェアレベリング機能を停止させたＳＳＤからデータを読み出すようにしている。これにより、読み出し対象となるＳＳＤに対してウェアレベリングが実施されることを避けつつ、ＳＳＤ資源を効率的に活用することが可能となる。
【００５５】
したがって、本実施形態に係るビデオ配信サーバ１０によれば、同一のＳＳＤに対して読み出しの最中にウェアレベリングが実施され得る環境下であっても、ウェアレベリングによる読出し処理の遅延を防ぐことができる。
【００５６】
また、本実施形態では、ＲＡＩＤ処理部１６３は、ウェアレベリング機能を有効、かつ、読出し機能を無効とする指示をＳＳＤ操作部１６４から受けたＳＳＤに対して、データの書込み処理を実行するようにしている。これにより、データの読み出しと書き込みとが同一のＳＳＤに対して実行されることを避けることが可能となる。また、セッション数の少ない期間であれば、読出し処理に遅延を与えずに、データの書き込みを行うことが可能となる。
【００５７】
また、本実施形態では、ＲＡＩＤ処理部１６３は、ビデオ配信サーバ１０がアイドル状態となると、ＳＳＤ１５−１〜１５−ｎのうち少なくともいずれかのＳＳＤに記録されるコンテンツデータのＲＡＩＤ構成を、ＳＳＤ１５−１〜１５−ｎで再構築するようにしている。これにより、セッション数に応じて、異なる数のＳＳＤに記録されているコンテンツデータが、ＳＳＤ１５−１〜１５−ｎで再構築されることになり、ＳＳＤ１５−１〜１５−ｎで安定した冗長構成が維持されることになる。また、ビデオ配信サーバ１０は、ＳＳＤ１５−１〜１５−ｎによりコンテンツデータを記録するようになるため、アイドル状態が終了した際には、セッション数に応じた上記処理を繰り返し実施することが可能となる。
【００５８】
なお、上記実施形態では、ＲＡＩＤレベルが６である場合の具体例を説明しているが、ＲＡＩＤレベルは６に限定される訳ではない。その他のレベルである場合であっても構わない。
【００５９】
また、上記実施形態では、１時間毎のセッション数を解析結果として取得するようにしているが、時間間隔は１時間毎に限定される訳ではない。１時間以上であっても以下であっても構わない。
【００６０】
また、上記実施形態では、ウェアレベリング機能を無効にさせ、かつ、読出し機能を有効にさせる指示、及び、ウェアレベリング機能を有効にさせ、かつ、読出し機能を無効にさせる指示がＳＳＤ操作部１６４からＳＳＤ１５−１〜１５−ｎへ出力される場合を例に説明したが、これに限定される訳ではない。例えば、ウェアレベリング機能を無効にさせ、読出し機能を有効にさせ、かつ、書込み機能を無効にさせる指示、及び、ウェアレベリング機能を有効にさせ、読出し機能を無効にさせ、かつ、書込み機能を有効にさせる指示がＳＳＤ操作部１６４からＳＳＤ１５−１〜１５−ｎへ出力されるようにしても構わない。ここで、書込み機能とは、制御部１５２−１〜１５２−ｎが、ＳＳＤ１５−１〜１５−ｎに搭載される記憶媒体１５１−１〜１５１−ｎへデータを書き込む機能を言う。この場合、主制御部１７は、書込み機能が有効なＳＳＤについての空き容量をＲＡＩＤ制御部１６へ要求する。また、ＳＳＤ操作部１６４は、主制御部１７からアイドル状態になったことが通知されると、制御部１５２−１〜１５２−ｎへ、ウェアレベリング機能を有効にし、読出し機能を有効にし、かつ、書込み機能を有効にする指示を出す。
【００６１】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６２】
１０…ビデオ配信サーバ、１１…要求受付部、１２…出力バッファ、１３…メモリ、１４…ＲＡＩＤインタフェース、１５−１〜１５−ｎ…ＳＳＤ、１５１−１〜１５１−ｎ…制御部、１６…ＲＡＩＤ制御部、１６１…解析部、１６２…判定部、１６３…ＲＡＩＤ処理部、１６４…ＳＳＤ操作部、１７…主制御部、１８…インタフェース部、２０…操作端末、３０…通信端末
【図１】
0005492237.tif 000002
【図２】
0005492237.tif 000003
【図３】
0005492237.tif 000004
【図４】
0005492237.tif 000005
【図５】
0005492237.tif 000006
【図６】
0005492237.tif 000007
【図７】
0005492237.tif 000008
【図８】
0005492237.tif 000009
【図９】
0005492237.tif 000010
【図１０】
0005492237.tif 000011
【図１１】
0005492237.tif 000012
【図１２】
0005492237.tif 000013
【図１３】
0005492237.tif 000014