JP2007065713A - 自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム - Google Patents

自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム Download PDF

Info

Publication number
JP2007065713A
JP2007065713A JP2005247192A JP2005247192A JP2007065713A JP 2007065713 A JP2007065713 A JP 2007065713A JP 2005247192 A JP2005247192 A JP 2005247192A JP 2005247192 A JP2005247192 A JP 2005247192A JP 2007065713 A JP2007065713 A JP 2007065713A
Authority
JP
Japan
Prior art keywords
transmission
block
data
reception
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005247192A
Other languages
English (en)
Inventor
Toshihiro Uehara
年博 上原
Akira Taguchi
亮 田口
Hiroki Minami
浩樹 南
Haruo Yokota
治夫 横田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Institute of Technology NUC
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Tokyo Institute of Technology NUC
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Tokyo Institute of Technology NUC, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2005247192A priority Critical patent/JP2007065713A/ja
Publication of JP2007065713A publication Critical patent/JP2007065713A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 システム全体の信頼性を損なうことなく、コンテンツの読み出し速度を速めることが可能な自律分散型サーバを提供する。
【解決手段】 自律分散型サーバ1は、複数の自律ストレージ装置2にコンテンツCoを多重化して記憶し、クライアントコンピュータ5からのコンテンツCoの配信要求に対して、コンテンツCoの部分データであるブロックごとに、異なる送信経路で、クライアントコンピュータ5にブロックを送信し、当該ブロックがクライアントコンピュータ5に受信された送信経路に、次に送信するブロックを割り当てることを特徴とする。
【選択図】 図1

Description

本発明は、多重化されて複数の記憶装置に記憶されたデータを読み出す多重データ読み出し制御技術に関する。
近年、コンピュータで利用される映像、音声等のデータ(以下、コンテンツという)のデータ量は増加し続けており、それに伴いコンテンツを記憶するハードディスク等の記憶装置(ストレージ装置)の容量も増大している。
このとき、1台のストレージ装置のみにコンテンツを記憶すると、当該ストレージ装置に読み出し/書き込みの負荷が集中し、読み出し/書き込み速度が低下してしまうため、コンテンツを複数のストレージ装置に分散して記憶し、負荷を分散させる手法が一般的に用いられている。
ここで、図7を参照して、従来の負荷分散手法について説明する。図7は、従来の分散型サーバのシステム構成例を示す構成図である。図7に示すように、分散型サーバ1Bは、ネットワークNに接続された1台の管理サーバ3と、複数のストレージ装置2Bとで構成され、同じくネットワークNに接続されたクライアントコンピュータ5からの要求に基づいて、コンテンツ(C,C,C,…,C)の読み出し/書き込みを行うものである。
管理サーバ3は、各ストレージ装置2Bに記憶されているコンテンツのデータ量を管理するとともに、各ストレージ装置2Bに分散して記憶されたコンテンツの読み出し/書き込み管理を行うものである。
ストレージ装置2Bは、コンテンツを記憶するものであって、クライアントコンピュータ5からの要求によって、コンテンツの読み出し/書き込みを行う。
例えば、コンテンツの書き込みを行う場合、クライアントコンピュータ5は、管理サーバ3に対して、コンテンツの書き込み先(記憶先)を問い合わせる。そして、管理サーバ3は、各ストレージ装置2Bにおいて、コンテンツを記憶した場合に、記憶容量に対するデータ量の割合が最も少なくなるストレージ装置2Bをクライアントコンピュータ5に通知する。そして、クライアントコンピュータ5は、通知されたストレージ装置2Bに対して、コンテンツの書き込みを行う。
また、コンテンツの読み出しを行う場合、クライアントコンピュータ5は、管理サーバ3に対して、コンテンツの読み出し元(記憶元)を問い合わせる。そして、管理サーバ3は、当該コンテンツを記憶しているストレージ装置2Bを読み出し元としてクライアントコンピュータ5に通知する。そして、クライアントコンピュータ5は、通知されたストレージ装置2Bから、コンテンツの読み出しを行う。
このように、コンテンツを複数のストレージ装置2Bに分散して記憶させることで、1台のストレージ装置2Bに対する負荷を分散させることができる。
また、負荷分散を行う他の手法として、図8に示すようなそれぞれの装置(自律ストレージ装置)が負荷情報を交換し、予め定めた自律分散管理ルールに基づいて、他の装置と協働しながら、コンテンツの記憶を行う手法が提案されている(例えば、特許文献1参照)。
図8は、従来の自律分散型サーバのシステム構成例を示す構成図である。図8に示すように、自律分散型サーバ1Cは、ネットワークNに接続された複数の自律ストレージ装置2Cで構成され、同じくネットワークNに接続されたクライアントコンピュータ5からの要求に基づいて、コンテンツの読み出し/書き込みを行うものである。
自律ストレージ装置2Cは、システム管理手段20Cと、コンテンツ記憶手段30Cとを備え、各自律ストレージ装置2Cのシステム管理手段20C間で負荷情報を交換することで、コンテンツの記憶先を決定し、該当する自律ストレージ装置2Cのコンテンツ記憶手段30Cにコンテンツを記憶するものである。
例えば、コンテンツの書き込みを行う場合、クライアントコンピュータ5は、任意の自律ストレージ装置2Cに対して、コンテンツの書き込み先(記憶先)を問い合わせる。そして、問い合わせを受けた自律ストレージ装置2Cは、システム管理手段20Cによって、他の自律ストレージ装置2Cと協働して、コンテンツを記憶した場合に、記憶容量に対するデータ量の割合が最も少なくなる自律ストレージ装置2Cを探索し、その結果をクライアントコンピュータ5に通知する。そして、クライアントコンピュータ5は、通知された自律ストレージ装置2Cに対して、コンテンツの書き込みを行う。
また、コンテンツの読み出しを行う場合、クライアントコンピュータ5は、任意の自律ストレージ装置2Cに対して、コンテンツの読み出し元(記憶元)を問い合わせる。そして、システム管理手段20Cによって、他の自律ストレージ装置2Cと協働して、当該コンテンツを記憶している自律ストレージ装置2Cを読み出し元としてクライアントコンピュータ5に通知する。そして、クライアントコンピュータ5は、通知された自律ストレージ装置2Cから、コンテンツの読み出しを行う。
なお、自律ストレージ装置2Cは、コンテンツ記憶手段30Cに、元のコンテンツ(原コンテンツ:CP,CP等)を記憶するプライマリ領域Pと、原コンテンツの複製であるバックアップコンテンツ(CB,CB等)を記憶するバックアップ領域Bとを備えている。そして、自律ストレージ装置2Cは、プライマリ領域Pに記憶した原コンテンツの複製を生成し、論理的に隣接する自律ストレージ装置2のバックアップ領域Bにバックアップコンテンツとして記憶する。
このように、自律分散型サーバ1Cを構成することで、コンテンツの読み出し/書き込みの負荷を分散させることができる。さらに、自律分散型サーバ1Cは、どの自律ストレージ装置2Cが故障した場合であっても、バックアップコンテンツを用いて、サービスを継続することができる。
特開2004−334739号公報(段落0004〜0006、図9)
従来の分散型サーバ(図7参照)は、コンテンツの読み出し等が、複数のストレージ装置に分散されるため、各ストレージ装置の負荷を軽減することができる。しかし、従来の分散型サーバは、コンテンツを1つのストレージ装置から読み出して、1つのネットワークを介してクライアントコンピュータに転送するため、コンテンツの転送スピードが、ストレージ装置の読み出し性能や、ネットワークの転送帯域に制限され、さらなる高速化を実現することができないという問題があった。
また、従来の分散型サーバは、管理サーバが故障すると、分散型サーバ全体の機能が停止してしまう。さらに、分散型サーバを構成するストレージ装置の1つが故障すると、当該ストレージ装置に記憶されているコンテンツが消滅してしまう。このように、従来の分散型サーバは、信頼性の面で大きな問題を有していた。
また、従来の自律分散型サーバ(図8参照)は、どの自律ストレージ装置が故障した場合であっても、サービスを継続できるため、分散型サーバに比べて優れている。しかし、従来の自律分散型サーバにおいても、コンテンツを1つの自律ストレージ装置から読み出して、1つのネットワークを介してクライアントコンピュータに転送するため、コンテンツの転送スピードが、自律ストレージ装置の読み出し性能や、ネットワークの転送帯域に制限されてしまう。そこで、従来の自律分散型サーバに対して、さらなる高速化が望まれていた。
本発明は、以上のような問題点に鑑みてなされたものであり、システム全体の信頼性を損なうことなく、コンテンツ(データ)の読み出し速度を速めることが可能な自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラムを提供することを目的とする。
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載の多重データ読み出し制御装置は、ネットワークに接続されたデータ参照装置からの要求に基づいて、複数のストレージ装置間で多重化されているデータの読み出し制御を行う多重データ読み出し制御装置であって、送信要求手段と、送受信監視手段と、送信経路設定手段とを備える構成とした。
かかる構成において、多重データ読み出し制御装置は、送信要求手段によって、データを記憶している複数のストレージ装置に、データの部分データであるブロックを対応付けて、当該複数のストレージ装置に対して、それぞれ異なるブロックをデータ参照装置に送信する旨を指示し、ストレージ装置がそれぞれ異なるブロックをデータ参照装置に送信する。すなわち、データは多重化されて複数のストレージ装置に記憶されているため、データを記憶している複数のストレージ装置に、そのデータを分割したブロックを対応付けることで、読み出しを担当するストレージ装置を複数の装置に分担する。これによって、データを読み出すストレージ装置が1台ではなく、複数のストレージ装置に分散されることになる。
そして、多重データ読み出し制御装置は、送受信監視手段によって、ブロックの送信を要求されたストレージ装置から、当該ブロックがデータ参照装置に受信されたことを示す受信完了通知を受信することで、ブロックの送受信の完了を監視する。これによって、どのストレージ装置から送信されたブロックが早くデータ参照装置に到達したのかを認識することができる。
そして、多重データ読み出し制御装置は、送信経路設定手段によって、ブロックの送受信が完了したストレージ装置を、次に送信するブロックの送信元として設定する。これによって、負荷の少ないストレージ装置から、より多くのブロックがデータ参照装置に送信されることになる。
なお、ストレージ装置からデータ参照装置までのネットワーク経路(送信経路)が複数存在する場合は、ストレージ装置ごとではなく、送信経路ごとにブロックを対応付けて、それぞれ異なるブロックをデータ参照装置に送信することとしもよい(請求項2)。
この場合、多重データ読み出し制御装置は、さらに経路確認手段を備え、当該経路確認手段によって、データを多重化して記憶している複数のストレージ装置から、データ参照装置までのネットワークの送信経路の有無を確認する。なお、ストレージ装置に複数の通信用のポートが存在する場合は、そのポートごとの送信経路を取得する。なお、送信経路は、各ストレージ装置において、例えば、トレースルート(trace route)等の一般的な技術を用いて探索することができる。
また、請求項3に記載の自律ストレージ装置は、ネットワークに複数接続されて、データを多重化して記憶するとともに、前記ネットワークに接続されたデータ参照装置からの要求に基づいて、前記データの読み出しを行う自律ストレージ装置であって、送信要求手段と、送受信監視手段と、送信経路設定手段と、ブロック送信手段と、完了通知送信手段とを備える構成とした。
かかる構成において、自律ストレージ装置は、送信要求手段によって、データを多重化して記憶している他の自律ストレージ装置に、データの部分データであるブロックを対応付けて、当該他の自律ストレージ装置に対して、それぞれ異なるブロックをデータ参照装置に送信する旨を指示し、他の自律ストレージ装置がそれぞれ異なるブロックをデータ参照装置に送信する。すなわち、データは多重化されて複数の自律ストレージ装置に記憶されているため、データを記憶している他のストレージ装置に、そのデータを分割したブロックを対応付けることで、読み出しを担当する自律ストレージ装置を複数の装置に分担する。
そして、自律ストレージ装置は、送受信監視手段によって、他の自律ストレージ装置から、当該ブロックがデータ参照装置に受信されたことを示す受信完了通知を受信することで、ブロックの送受信の完了を監視する。
そして、自律ストレージ装置は、送信経路設定手段によって、ブロックの送受信が完了した他の自律ストレージ装置を、次に送信するブロックの送信元として設定する。
なお、当該自律ストレージ装置に多重化されたデータが記憶されている場合は、他の自律ストレージ装置と同様にブロックを送信する役割を担うこととする。
また、当該自律ストレージ装置が、他の自律ストレージ装置からブロックをデータ参照装置に送信する旨を指示された場合は、ブロック送信手段によって、対応するブロックを、データ参照装置に送信し、完了通知送信手段によって、データ参照装置から送信したブロックに対する応答を受信した段階で、その旨をブロック送信要求を送信した他の自律ストレージ装置に通知する。
これによって、自律ストレージ装置は、他の自律ストレージ装置と協働して、データを分割してデータ参照装置に送信することになる。
なお、自律ストレージ装置からデータ参照装置までのネットワーク経路(送信経路)が複数存在する場合は、自律ストレージ装置ごとではなく、送信経路ごとにブロックを対応付けて、それぞれ異なるブロックをデータ参照装置に送信することとしもよい(請求項4)。
この場合、自律ストレージ装置は、さらに経路確認手段を備え、当該経路確認手段によって、データを多重化して記憶している他の自律ストレージ装置から、データ参照装置までのネットワークの送信経路の有無を確認する。
さらに、請求項5に記載の自律分散型サーバは、データを多重化して記憶し、データ参照装置からの要求に基づいて、前記データの読み出しを行う自律分散型サーバであって、請求項3または請求項4に記載の自律ストレージ装置を複数備え、この複数の自律ストレージ装置から、前記データの部分データであるブロックごとに、それぞれ異なるブロックを前記データ参照装置に送信する構成とした。
かかる構成において、自律分散型サーバは、いずれか1台の自律ストレージ装置に対して、データの読み出し要求があった場合に、他の自律ストレージ装置と協働して、データを分割してデータ参照装置に送信する。これによって、各自律ストレージ装置の負荷が分散されることになる。
また、請求項6に記載の多重データ読み出しプログラムは、ネットワークに接続されたデータ参照装置からの要求に基づいて、複数のストレージ装置間で多重化されているデータの読み出しを行うために、コンピュータを、送信要求手段、送受信監視手段、送信経路設定手段として機能させる構成とした。
かかる構成において、多重データ読み出しプログラムは、送信要求手段によって、データを記憶している複数のストレージ装置に、データの部分データであるブロックを対応付けて、当該複数のストレージ装置に対して、それぞれ異なるブロックをデータ参照装置に送信する旨を指示し、ストレージ装置がそれぞれ異なるブロックをデータ参照装置に送信する。
そして、多重データ読み出しプログラムは、送受信監視手段によって、ブロックの送信を要求されたストレージ装置から、当該ブロックがデータ参照装置に受信されたことを示す受信完了通知を受信することで、ブロックの送受信の完了を監視する。これによって、どのストレージ装置から送信されたブロックが早くデータ参照装置に到達したのかを認識することができる。
そして、多重データ読み出しプログラムは、送信経路設定手段によって、ブロックの送受信が完了したストレージ装置を、次に送信するブロックの送信元として設定する。これによって、負荷の少ないストレージ装置から、より多くのブロックがデータ参照装置に送信されることになる。
なお、ストレージ装置からデータ参照装置までのネットワーク経路(送信経路)が複数存在する場合は、ストレージ装置ごとではなく、送信経路ごとにブロックを対応付けて、それぞれ異なるブロックをデータ参照装置に送信することとしもよい(請求項7)。
この場合、多重データ読み出しプログラムは、コンピュータを、さらに経路確認手段として機能させることで、当該経路確認手段によって、データを多重化して記憶している複数のストレージ装置から、データ参照装置までのネットワークの送信経路を取得する。なお、ストレージ装置に複数の通信用のポートが存在する場合は、そのポートごとに送信経路を取得する。
請求項1または請求項6に記載の発明によれば、データを装置間で多重化して記憶しているストレージ装置から、データのそれぞれ異なるブロックを読み出して、データ参照装置に送信するため、1台のストレージ装置からデータを読み出す場合に比べ、高速にデータを読み出すことができる。また、本発明によれば、あるストレージ装置に負荷がかかっている場合や、障害が発生した場合であっても、他のストレージ装置が代わってブロックの送信を行うことができるので、システム全体の信頼性を確保することができる。
請求項2または請求項7に記載の発明によれば、データを装置間で多重化して記憶しているストレージ装置から、送信経路ごとに、データのそれぞれ異なるブロックを読み出して、データ参照装置に送信するため、1台のストレージ装置からデータを読み出す場合に比べ、高速にデータを読み出すことができる。また、本発明によれば、あるストレージ装置に負荷がかかっている場合、障害が発生した場合、あるいは、あるネットワークの経路に負荷がかかっている場合であっても、その経路を回避してデータを送信するため、データの読み出しを高速に行うことができ、さらに、システムの信頼性を確保することができる。
請求項3に記載の発明によれば、自律ストレージ装置間で協働して、データのそれぞれ異なるブロックをデータ参照装置に送信するため、高速にデータを読み出すことができる。また、本発明によれば、ある自律ストレージ装置に負荷がかかっている場合や、障害が発生した場合であっても、他の自律ストレージ装置が代わってブロックの送信を行うことができるので、システム全体の信頼性を確保することができる。
請求項4に記載の発明によれば、自律ストレージ装置間で協働して、送信経路ごとに、データのそれぞれ異なるブロックを読み出して、データ参照装置に送信するため、1台の自律ストレージ装置からデータを読み出す場合に比べ、高速にデータを読み出すことができる。また、本発明によれば、ある自律ストレージ装置に負荷がかかっている場合、障害が発生した場合、あるいは、あるネットワークの経路に負荷がかかっている場合であっても、その経路を回避してデータを送信するため、データの読み出しを高速に行うことができ、さらに、システムの信頼性を確保することができる。
請求項5に記載の発明によれば、自律ストレージ装置間で協働して、データのそれぞれ異なるブロックを読み出して、データ参照装置に送信する。このため、データ参照装置は、それぞれのブロックが記憶されている場所を認識してデータの読み出しを行う必要がなく、ある自律ストレージ装置にデータの要求を行うだけで、データを取得することができる。
以下、本発明の実施の形態について図面を参照して説明する。
[自律分散型サーバの概要]
最初に、図1を参照して、本発明に係る自律分散型サーバの構成について、その概要を説明する。図1は、本発明に係る自律分散型サーバの構成を示す構成図である。
図1に示すように、自律分散型サーバ1は、複数の自律ストレージ装置2(2,2,2,2)で構成され、コンテンツCoを2つ以上の自律ストレージ装置2(ここでは2,2)に多重化して記憶するものである。
ここでは、自律分散型サーバ1は、複数のネットワークN(N,N,N)を介して、データ参照装置であるクライアントコンピュータ5と接続され、クライアントコンピュータ5からの要求に基づいて、コンテンツCoの書き込み/読み出しを行う。
さらに、自律分散型サーバ1は、クライアントコンピュータ5から、コンテンツCoの読み出しの要求があった場合、コンテンツCoを記憶している自律ストレージ装置2同士で協働し、コンテンツCoを当該コンテンツCoの部分データとなるブロック単位で、それぞれ異なるブロックをクライアントコンピュータ5に送信する。そして、クライアントコンピュータ5は、受信したそれぞれのブロックを再構成することで、コンテンツCoを復元する。
例えば、図1において、クライアントコンピュータ5から、コンテンツCoの読み出しの要求があった場合、自律分散型サーバ1は、自律ストレージ装置2に記憶されているコンテンツCoをブロックに分割したときのブロックB,B,B,…を順次クライアントコンピュータ5に送信し、自律ストレージ装置2に記憶されているコンテンツCoをブロックに分割したときの自律ストレージ装置2が送信するブロックとは異なるブロックB,B,B,…を順次クライアントコンピュータ5に送信する。そして、クライアントコンピュータ5は、受信したブロックB、B、B、B、…を再構成することで、コンテンツCoを復元する。
なお、自律分散型サーバ1は、コンテンツCoを記憶している自律ストレージ装置2が順番にブロックを送信する必要はなく、あるネットワークの負荷や、自律ストレージ装置2の負荷(例えば、CPU負荷等)が増大し、ブロックがクライアントコンピュータ5に遅れて到着する場合は、他の自律ストレージ装置2が次のブロックの送信を担当する。
このように、コンテンツを多重化して記憶し、負荷に応じてコンテンツ(ブロック)の送信元を替えることで、コンテンツの読み出し速度を速めることができる。
また、自律ストレージ装置2が複数の通信用のポートを有している場合は、ブロックを送信するポートを替えることでも、コンテンツの読み出し速度を速めることができる。
以下、自律分散型サーバ1を構成する自律ストレージ装置2の構成について詳細に説明する。
(自律ストレージ装置の構成)
図2を参照(適宜図1参照)して、自律ストレージ装置2の構成について説明する。図2は、本発明に係る自律ストレージ装置のブロック構成を示すブロック図である。自律ストレージ装置2は、図1で説明したように、他の自律ストレージ装置とコンテンツを多重化して記憶し、他の自律ストレージ装置と協働して、コンテンツを要求するクライアントコンピュータ5に対して、コンテンツを送信するものである。
ここでは、自律ストレージ装置2は、通信送受信手段10と、システム管理手段20と、記憶手段30とを備えている。
通信送受信手段10は、ネットワークNを介して、クライアントコンピュータ5と、データの送受信を行うものである。例えば、通信送受信手段10は、TCP/IP(Transmission Control Protocol/Internet Protocol)の通信プロトコルによってデータの送受信を行う通信ボードである。
ここで、ネットワークN(N,N,N)は、ポートによって論理的に区分された複数のネットワークとする。なお、ネットワークNは、物理的に異なる複数のネットワークとしてもよく、その場合は、通信送受信手段10が、そのネットワークの数だけ存在することになる。
システム管理手段20は、自律ストレージ装置2全体の制御を行うものである。ここでは、システム管理手段20は、コンテンツ格納手段21と、コンテンツ配信手段22と、コンテンツ管理手段23と、制御情報送受信手段24とを備えている。
コンテンツ格納手段21は、通信送受信手段10を介してコンテンツを受信(入力)し記憶手段30に記憶するものである。ここでは、コンテンツ格納手段21は、コンテンツ受信手段21aと、コンテンツ書き込み手段21bとを備えている。
コンテンツ受信手段21aは、通信送受信手段10を介してコンテンツを受信するものである。このコンテンツ受信手段21aは、コンテンツ管理手段23から通知されるコンテンツの送信元(例えば、クライアントコンピュータ5)から、通信送受信手段10を介してコンテンツを受信する。このコンテンツ受信手段21aで受信されたコンテンツは、コンテンツ書き込み手段21bに出力される。
コンテンツ書き込み手段21bは、コンテンツ受信手段21aで受信されたコンテンツを、コンテンツ管理手段23から指示される記憶手段30上の書き込みアドレスに書き込むものである。
コンテンツ配信手段22は、通信送受信手段10を介して、記憶手段30に記憶されているコンテンツを、そのコンテンツを要求した要求元(クライアントコンピュータ5)に、当該コンテンツの部分データとなるブロック単位で配信するものである。なお、コンテンツ配信手段22は、コンテンツを他の自律ストレージ装置に多重化して記憶する場合、コンテンツ管理手段23から指示されるコンテンツの多重先である他の自律ストレージ装置にコンテンツを配信する。
ここでは、コンテンツ配信手段22は、コンテンツ/ブロック読み出し手段22aと、コンテンツ/ブロック送信手段22bとを備えている。
コンテンツ/ブロック読み出し手段22aは、コンテンツ管理手段23から指示されるコンテンツ、または、当該コンテンツを部分データとなるブロック単位で分割したときのブロックを、記憶手段30から読み出すものである。
なお、コンテンツ/ブロック読み出し手段22aは、コンテンツ管理手段23からコンテンツ全体を読み出す旨を指示された場合は、記憶手段30からコンテンツ全体を読み出してコンテンツ/ブロック送信手段22bに出力する。
また、コンテンツ/ブロック読み出し手段22aは、コンテンツ管理手段23からコンテンツをブロックとして部分的に読み出す旨を指示された場合は、記憶手段30からコンテンツを部分的に読み出してコンテンツ/ブロック送信手段22bに出力する。また、コンテンツ管理手段23からは、ブロックを特定するアドレスまたは番号が、コンテンツ/ブロック読み出し手段22aに対して指示されるものとする。
このブロックの大きさ(データ長)は、例えば、数GB(ギガバイト)の映像のコンテンツに対して、数百KB(キロバイト)等、予め定められたデータ長とする。
なお、このブロックの大きさは、一定長である必要はなく、コンテンツの最初からバイトを単位として適応的に割り振った大きさでであって、コンテンツの部分データとなる大きさであればよい。
コンテンツ/ブロック送信手段22b(ブロック送信手段)は、コンテンツ/ブロック読み出し手段22aで読み出されたコンテンツを、コンテンツ管理手段23から通知される他の自律ストレージ装置に送信したり、同じくコンテンツ/ブロック読み出し手段22aで読み出されたブロックを、コンテンツ管理手段23から通知されるクライアントコンピュータ5に送信したりするものである。なお、コンテンツおよびブロックは、通信送受信手段10を介して、他の自律ストレージ装置またはクライアントコンピュータ5に送信される。
このように、コンテンツ配信手段22は、他の自律ストレージ装置にコンテンツを送信する場合には、コンテンツ全体を送信し、クライアントコンピュータ5にコンテンツを送信する場合は、当該自律ストレージ装置2が担当するブロックのみを送信することになる。
コンテンツ管理手段23は、制御情報送受信手段24で受信した制御情報に基づいて、コンテンツを管理するものである。ここでは、コンテンツ管理手段23は、多重コンテンツ書き込み制御手段231と、多重コンテンツ読み出し制御手段232と、負荷状態監視手段233と、経路探索手段234とを備えている。
多重コンテンツ書き込み制御手段231は、制御情報として、コンテンツの格納要求(「コンテンツ格納要求」)を受信した場合に、当該コンテンツを複数の自律ストレージ装置2に多重化して記憶させる制御を行うものである。
すなわち、多重コンテンツ書き込み制御手段231は、コンテンツの格納要求を受信した場合に、他の自律ストレージ装置から、負荷状態(例えば、記憶容量に対する現在記憶されているデータ量の割合等)を制御情報として取得し、負荷の少ない自律ストレージ装置から順に、コンテンツの多重先(記憶元)を決定する。なお、コンテンツの多重先(記憶元)は、記憶元情報として記憶手段30に記憶しておくとともに、他の自律ストレージ装置に送信することで、各自律ストレージ装置2で同じ情報を記憶しておくものとする。
そして、多重コンテンツ書き込み制御手段231は、コンテンツ格納手段21により、記憶手段30にそのコンテンツを記憶させる。さらに、多重コンテンツ書き込み制御手段231は、そのコンテンツと多重先(記憶元)とを、コンテンツ配信手段22に通知することで、他の自律ストレージ装置にコンテンツを送信する。
これによって、コンテンツは、複数の自律ストレージ装置2に多重化されて記憶されることになる。なお、ここでは、負荷状態によって、コンテンツの多重先を決定したが、予め定めた複数の自律ストレージ装置2にコンテンツを多重化させることとしてもよい。
多重コンテンツ読み出し制御手段232(多重データ読み出し制御装置)は、制御情報として、コンテンツの配信要求(「コンテンツ配信要求」)を受信した場合に、当該コンテンツを記憶している他の自律ストレージ装置と協働して、多重化されたコンテンツの読み出し制御を行うものである。ここでは、多重コンテンツ読み出し制御手段232は、役割設定手段232aと、経路確認手段232bと、送信経路設定手段232cと、送信実行・要求手段232dと、完了通知送信手段232e、送受信監視手段232fとを備えている。
役割設定手段232aは、コンテンツの読み出しを行う際に、要求のあったコンテンツを記憶している自律ストレージ装置2の中から、1台の自律ストレージ装置2を読み出し制御を司るコーディネータとして設定するものである。
この役割設定手段232aは、要求のあったコンテンツを記憶している自律ストレージ装置2から、負荷状態(例えば、CPU負荷等)を制御情報(負荷情報)として取得し、負荷の最も少ない自律ストレージ装置2をコーディネータとして設定し、その自律ストレージ装置2に対して、制御情報として、コーディネータとなる旨の指示(「コーディネータ移行指示」)を送信するとともに、コンテンツの読み出し制御をそのコーディネータに移行する。なお、コーディネータとなった自律ストレージ装置2は、要求のあったコンテンツを記憶している他の自律ストレージ装置に対して、制御情報として、自身がコーディネータとなった旨の通知(「コーディネータ通知」)を送信する。
経路確認手段232bは、自身の自律ストレージ装置2がコーディネータである場合に、他の自律ストレージ装置からクライアントコンピュータ5までのネットワークの送信経路の有無を確認するものである。ここでは、経路確認手段232bは、送信経路が存在する場合に、その送信経路を経路情報として他の自律ストレージ装置から取得することとする。
なお、自律ストレージ装置2がコーディネータである場合には、後記する経路探索手段234から自身の自律ストレージ装置2の経路情報を取得し、他の自律ストレージ装置の経路情報は、制御情報として、制御情報送受信手段24を介して取得する。なお、経路確認手段232bは、ネットワークNが複数存在する場合は、そのネットワーク(ポート)ごとに経路情報を取得するものとする。
また、送信経路は、自律ストレージ装置からクライアントコンピュータ5までのネットワーク経路である必要はない。例えば、経路確認手段232bは、自律ストレージ装置が複数のインターネット用のポートを有している場合に、それぞれのポートがクライアントコンピュータ5と通信できるか否かを事前に確認し、その情報を経路情報として取得することとしてもよい。
この場合、経路確認手段232bは、自律ストレージ装置が有するすべてのポートにブロックを送出し、伝送障害を検出することによって、当該ポートがクライアントコンピュータ5と通信可能か否かを認識する。
送信経路設定手段232cは、自身の自律ストレージ装置2がコーディネータである場合に、経路確認手段232bで取得された経路情報および他の自律ストレージ装置から取得した経路情報に基づいて、コンテンツを当該コンテンツの部分データとなるブロック単位で分割したときのブロックの送信経路を設定するものである。なお、この送信経路設定手段232cで設定された送信経路は、送信実行・要求手段232dに出力される。
この送信経路設定手段232cは、自律ストレージ装置2のポートごとに、経路情報で距離が最も短い経路(例えば、途中のルータの数が最も少ない経路)、あるいは、送信時間が最も短い経路から順番にブロックの送信経路として設定する。
なお、送信経路設定手段232cは、後記する送受信監視手段232fから、ブロックの送信が正常に終了した旨の通知があった場合は、当該ブロックを送信したポートに対して、次に送信するブロックの送信経路を設定する。
また、送受信監視手段232fから、ブロックの送信が正常に終了しなかった旨の通知があった場合、送信経路設定手段232cは、当該ブロックを他の送信経路に再送用ブロックとして設定し直す。なお、ブロックの送信が正常に終了しなかった送信経路は、ネットワーク負荷の増大等も考えられるため、一時的なビジー状態とみなし、次に送信するブロックの送信経路として設定する。
これによって、ネットワークの負荷が一時的に増大した場合であっても、他のネットワークを経由してブロックが送信されることになる。
また、ブロックの送信が正常に終了しなかった送信経路のビジー状態が継続する場合、送信経路設定手段232cは、ネットワークに障害が発生したものとみなし、当該送信経路の使用を中止する。
なお、送信経路設定手段232cは、送信経路(ポート)ごとに、送信を行うブロックと、現在のポートの状態との対応を、送信管理テーブルで管理するものとする。ここで、図3を参照して、送信管理テーブルの内容について説明する。
図3に示すように、送信管理テーブルTは、ポート(P〜P)ごとに、現在割り当てられているブロックを特定するブロック番号BNと、そのポートの現在の状態STとを対応付けたものである。
ここで、「状態ST」は、予め定めた値によって意味付けられたものであって、例えば、まだブロックが割り当てられていない状態を示す“空”(値“0”)、ブロック送信後、受信完了通知を待っている状態を示す“受信完了待ち”(値“1”)、障害が発生したことを示す“障害”(値“2”)とする。なお、状態STが“受信完了待ち”の場合には、さらに、ビジーと判定した回数も同時に「状態ST」に書き込むこととする。
なお、障害が発生した場合は、「状態ST」に、通信ができなくなった原因等、その情報を書き込んでおく(図示せず)。これによって、障害が恒久的なものであるのか、一時的なものであるのかを認識することができる。
このように、送信管理テーブルTを設定することで、現在のポートの状態が一元管理されることになる。
図2に戻って、自律ストレージ装置2に構成ついて説明を続ける。
送信実行・要求手段232d(送信要求手段)は、コンテンツを、送信経路設定手段232cで設定された送信経路に基づいて、ブロック単位で送信したり、他の自律ストレージ装置に送信させたりするものである。
この送信実行・要求手段232dは、自身の自律ストレージ装置2がコーディネータである場合に、コンテンツ配信手段22に対して、ブロックを特定する番号等と、コンテンツを要求した要求元とを通知し、ブロックの送信を実行する。また、送信実行・要求手段232dは、他の自律ストレージ装置に対して、制御情報として、ブロックを特定する番号等と、コンテンツを要求した要求元とを含んだブロックを送信する旨の指示(「ブロック送信要求」)を送信する。これによって、他の自律ストレージ装置からクライアントコンピュータ5に対してブロックが送信される。
また、送信実行・要求手段232dは、自身の自律ストレージ装置2がコーディネータではない場合は、コーディネータから制御情報として通知される「ブロック送信要求」に基づいて、コンテンツ配信手段22に対して、ブロックを特定する番号等と、コンテンツを要求した要求元とを通知し、ブロックの送信を実行する。
なお、送信実行・要求手段232dは、1つずつブロックを送信する必要はなく、予め定めた数のブロックをまとめて送信することとしてもよい。
完了通知送信手段232eは、クライアントコンピュータ5からブロックが受信されたことを示す通知(「受信完了通知」)を通知された段階で、コーディネータに対してその通知(「受信完了通知」)を転送するものである。
送受信監視手段232fは、ブロックが、クライアントコンピュータ5に受信されたか否かを監視するものである。
この送受信監視手段232fは、自身の自律ストレージ装置2がコーディネータである場合に、クライアントコンピュータ5または他の自律ストレージ装置から通知される「受信完了通知」によって、ブロックが正常にクライアントコンピュータ5に受信されたか否かを監視する。
なお、送受信監視手段232fは、送信したブロックの中で、予め定めた数以上前のブロックに対して、「受信完了通知」が通知されない場合は、送信経路設定手段232cに対して、ブロックの送信が正常に終了しなかった旨を通知する。
負荷状態監視手段233は、自律ストレージ装置2内の負荷状態を監視するものである。ここで、負荷状態とは、例えば、記憶手段30の記憶容量に対する現在記憶されているデータ量の割合、CPUの負荷率等である。この負荷状態監視手段233で監視を行っている負荷状態は、役割設定手段232aにおいて、コーディネータを決定する際に使用される。
経路探索手段234は、通信送受信手段10から、クライアントコンピュータ5までのネットワークの経路情報を探索するものである。なお、経路探索手段234は、例えば、通信送受信手段10を介して、ネットワークNにパケットを送出し、パケットがクライアントコンピュータ5に到達するまでの経路と時間を経路情報とする。この経路探索手段234で探索された経路情報は、コーディネータとなる自律ストレージ装置2の経路確認手段232bで収集される。
制御情報送受信手段24は、通信送受信手段10を介して、クライアントコンピュータ5や他の自律ストレージ装置と、コンテンツ以外の情報である制御情報を送受信するものである。なお、制御情報送受信手段24で受信した制御情報は、コンテンツ管理手段23に出力される。
ここで、制御情報は、例えば、自律ストレージ装置2とクライアントコンピュータ5との間で送受信される、コンテンツを格納する(書き込む)旨の要求を示す「コンテンツ格納要求」、コンテンツを配信する(読み出す)旨の要求を示す「コンテンツ配信要求」等、あるいはこれらの指示に対する応答等である。
さらに、制御情報として、自律ストレージ装置2同士で送受信される、コーディネータとなる旨の指示を示す「コーディネータ移行指示」、ある自律ストレージ装置2がコーディネータになったことを他の自律ストレージ装置に対して通知する「コーディネータ通知」、コーディネータからブロックを送信する旨の要求を示す「ブロック送信要求」等である。
記憶手段30は、コンテンツ、コンテンツの多重先(記憶元)を示す記憶元情報を記憶するものであって、ハードディスク等の一般的な記憶装置である。
以上説明したように、自律ストレージ装置2を構成することで、コンテンツが多重化されて記憶されるとともに、ネットワークの経路が多重化されるため、システム全体の信頼性を高めることができる。また、ネットワークの経路に負荷が発生した場合であっても、他のネットワーク経路を経由してコンテンツ(ブロック)を送信することができるため、コンテンツの読み出し速度の低下を抑えることができる。
なお、ここでは、ネットワークを多重化した構成としたが、コンテンツの伝送帯域に対してネットワークの帯域が十分確保されている場合は、1つのネットワークによって運用することとしてもよい。この場合であっても、ある自律ストレージ装置に負荷が集中したときに、他の自律ストレージ装置にブロックの転送を切り換えることができ、コンテンツの読み出し速度の低下を抑えることができる。この場合、自律ストレージ装置2から経路確認手段232bや経路探索手段234を省いて構成することができる。
また、自律ストレージ装置2におけるシステム管理手段20は、例えば、CPU(Central Processing Unit)やメモリ等を備えたコンピュータであって、そのコンピュータを、システム管理手段20内の各手段として機能させるプログラム(多重データ読み出しプログラム)により動作させることができる。
[自律分散型サーバの動作]
次に、図4および図5を参照して、本発明に係る自律分散型サーバの特徴となる多重化されたコンテンツの読み出し動作について説明する。図4は、本発明に係る自律分散型サーバの多重化されたコンテンツの読み出し動作全体を示すフローチャートである。図5は、本発明に係る自律分散型サーバのブロック送信時における詳細な動作を示すフローチャートである。
(全体動作)
まず、図4を参照(適宜図1および図2参照)して、自律分散型サーバ1の多重化コンテンツの読み出し動作について説明する。
最初に、クライアントコンピュータ5が、自律分散型サーバ1のある自律ストレージ装置2(ここでは、自律ストレージ装置2とする)に対して、コンテンツの配信を要求する「コンテンツ配信要求」を、制御情報として送信する(ステップS1)。
そして、「コンテンツ配信要求」を受信した自律ストレージ装置2は、役割設定手段232aによって、記憶手段30に記憶されている記憶元情報を参照して、要求のあったコンテンツを記憶している自律ストレージ装置を特定し、その自律ストレージ装置に対して負荷情報(CPU負荷)を要求する「負荷情報要求」を制御情報として送信する(ステップS2)。なお、ここでは、クライアントコンピュータ5が要求しているコンテンツは、自律ストレージ装置2および2に多重化して記憶されているものとする。
この「負荷情報要求」を受信した自律ストレージ装置2および2は、それぞれ負荷状態監視手段233において監視している負荷状態(負荷情報)を、制御情報(「負荷情報通知」)として制御情報送受信手段24を介し、自律ストレージ装置2に送信する(ステップS3およびS4)。
そして、「負荷情報通知」を受信した自律ストレージ装置2は、役割設定手段232aによって、負荷の最も少ない自律ストレージ装置2(ここでは、自律ストレージ装置2とする)をコーディネータとして設定し、その自律ストレージ装置2に対して、コーディネータとなる旨の指示である「コーディネータ移行指示」を、制御情報として送信する(ステップS5)。
この「コーディネータ移行指示」を受信した自律ストレージ装置2は、役割設定手段232aによって、クライアントコンピュータ5が要求しているコンテンツを記憶している他の自律ストレージ装置(ここでは、自律ストレージ装置2)に対して、自身がコーディネータになったことを示す「コーディネータ通知」を、制御情報として送信する。さらに、自律ストレージ装置2は、経路確認手段232bによって、自律ストレージ装置2に、経路情報を要求する「経路情報要求」を、制御情報として送信する(ステップS6)。
そして、「経路情報要求」を受信した自律ストレージ装置2は、経路探索手段234によって、クライアントコンピュータ5までのネットワーク経路を探索し、その経路を示す経路情報を、制御情報(「経路情報通知」)として制御情報送受信手段24を介し、コーディネータである自律ストレージ装置2に送信する(ステップS7)。
一方、自律ストレージ装置2は、クライアントコンピュータ5までのネットワーク経路(経路情報)を経路探索手段234によって探索する(ステップS8)。
そして、自律ストレージ装置2は、送信経路設定手段232cによって、ステップS7により受信した自律ストレージ装置2の経路情報と、ステップS8で探索した自身の経路情報とに基づいて、コンテンツを当該コンテンツの部分データとなるブロック単位で分割したときのブロックの送信経路を設定する(ステップS9)。
そして、自律ストレージ装置2は、送信実行・要求手段232dによって、ブロック番号、クライアントコンピュータ5のアドレス、ブロックを送信する送信経路を含んだ「ブロック送信要求」を、制御情報として自律ストレージ装置2に送信する(ステップS10)。
この「ブロック送信要求」を受信した自律ストレージ装置2は、送信実行・要求手段232dによって、要求のあったブロックをコンテンツ配信手段22に通知する。そして、自律ストレージ装置2は、コンテンツ/ブロック読み出し手段22aによって、記憶手段30に記憶されているコンテンツから、要求のあったブロックを読み出し、コンテンツ/ブロック送信手段22bによって、通信送受信手段10を介して、クライアントコンピュータ5にブロックを送信する(ステップS11)。
一方、自律ストレージ装置2は、送信実行・要求手段232dによって、ステップS9において自身に設定されたブロックの送信経路により、当該ブロックを送信する旨をコンテンツ配信手段22に通知する。そして、自律ストレージ装置2は、コンテンツ/ブロック読み出し手段22aによって、記憶手段30に記憶されているコンテンツから、ブロックを読み出し、コンテンツ/ブロック送信手段22bによって、通信送受信手段10を介して、クライアントコンピュータ5にブロックを送信する(ステップS12)。
そして、クライアントコンピュータ5は、各自律ストレージ装置2(自律ストレージ装置2、自律ストレージ装置2)からブロックを受信し、当該ブロックを受信した旨を示す「受信完了通知」を、制御情報として、各自律ストレージ装置2(自律ストレージ装置2、自律ストレージ装置2)に送信する(ステップS13)。また、クライアントコンピュータ5は、受信したブロックを結合し、コンテンツを再生する(ステップ14)。なお、クライアントコンピュータ5は、図示を省略した記憶手段(バッファ)を備え、予め定めた数のブロックを一時的に記憶し、送信されてくるブロックの順番がずれた場合であっても、コンテンツを再生することが可能であるものとする。
また、「受信完了通知」を受信したコーディネータ以外の自律ストレージ装置2(自律ストレージ装置2)は、コーディネータ(自律ストレージ装置2)に対して、「受信完了通知」を転送する(ステップS15)。
そして、自律ストレージ装置2は、送信実行・要求手段232dによって、コンテンツの配信が完了したかどうかを判定する(ステップS16)。
そして、まだコンテンツの配信が完了していない場合(ステップS16でNo)、自律ストレージ装置2は、ステップS9に戻って動作を継続する。一方、コンテンツの配信が完了した場合(ステップS16でYes)、自律ストレージ装置2は動作を終了する。
以上の動作によって、自律分散型サーバ1における多重化コンテンツの読み出し動作が完了する。
(ブロック送信の詳細動作)
次に、図3および図5を参照(構成については適宜図1および図2参照)して、自律分散型サーバ1のブロック送信時における障害等を考慮した詳細な動作について説明する。なお、図5の動作は、図4のステップS9、S10、S12およびS16に相当する。
まず、コーディネータ(自律ストレージ装置2)は、送信経路設定手段232cによって、送信するブロックの番号を示す送信対象ブロック番号(i:変数)を初期化(値“1”)する(ステップS21)。
そして、自律ストレージ装置2は、送信経路設定手段232cによって、送信管理テーブルTの送信経路を示す各ポート(ポート番号1〜n)のブロック番号BNに送信対象ブロック番号を順次設定し、各ポートの状態STに“受信完了待ち”を設定する(ステップS22)。このとき、さらに、状態STのビジー回数を初期化(値“0”)しておく(ステップとして図示せず)。
そして、自律ストレージ装置2は、送信実行・要求手段232dによって、各ブロックの送信を行う(ステップS23)。すなわち、送信実行・要求手段232dは、ブロックを送信する旨をコンテンツ配信手段22または他の自律ストレージ装置(ここでは自律ストレージ装置2)に通知する。
ここで、送信経路設定手段232cは、送信対象ブロック番号iを“n+1”とし、次に送信するブロックの番号を更新しておく(ステップS24)。
そして、自律ストレージ装置2は、送受信監視手段232fにおいて、クライアントコンピュータ5または自律ストレージ装置2から「受信完了通知」を受信するまで待機する(ステップS25)。そして、「受信完了通知」を受信した段階で(ステップS25でYes)、送信経路設定手段232cは、「受信完了通知」を受信したポートに対応する送信管理テーブルTの状態STに“空”を設定する(ステップS26)。
ここで、送信経路設定手段232cは、これから送信しようとするブロックの番号(送信対象ブロック番号i)と、まだ受信完了通知が受信されていないブロックの最小の番号(“受信完了待ち”ブロック番号)との差分をとることで、遅延が発生しているブロックの間隔(遅延ブロック数)を算出する(ステップS27)。
そして、自律ストレージ装置2は、送信経路設定手段232cによって、遅延ブロック数と、ビジー状態を判定するために予め定めた閾値(ビジー判定閾値)とを比較する(ステップS28)。
ここで、遅延ブロック数がビジー判定閾値より小さい場合(ステップS28でYes)、送信経路設定手段232cは、当該ポートがビジー状態となっていないと判定し、送信管理テーブルTの状態STに“空”が設定されているポートのブロック番号BNに送信対象ブロック番号i、状態STに“受信完了待ち”を設定するとともに、ビジー回数を初期化(値“0”)する(ステップS29)。
そして、自律ストレージ装置2は、送信実行・要求手段232dによって、送信対象ブロック番号iのブロックの送信を行い(ステップS30)、送信経路設定手段232cによって、送信対象ブロック番号iを“i+1”とし、次に送信するブロックの番号を更新する(ステップS31)。そして、自律ストレージ装置2は、ステップS40に動作を進める。
一方、遅延ブロック数がビジー判定閾値以上である場合(ステップS28でNo)、まだ受信完了通知が受信されていないブロック(“受信完了待ち”ブロック)の状態STのビジー回数と、障害を判定するために予め定めた閾値(障害判定閾値)とを比較する(ステップS32)。
ここで、ビジー回数が障害判定閾値より小さい場合(ステップS32でYes)、送信経路設定手段232cは、“受信完了待ち”が設定されているポートのブロック番号BNに送信対象ブロック番号iを設定する。そして、状態STのビジー回数を増加(+1)させる(ステップS33)。そして、送信実行・要求手段232dは、送信対象ブロック番号iのブロックの送信を行う(ステップS34)。
そして、自律ストレージ装置2は、送信経路設定手段232cによって、送信管理テーブルTの状態STに“空”が設定されているポートのブロック番号BNに、受信完了通知が受信されていないブロックの番号(受信完了待ちブロック番号)、状態STに“受信完了待ち”を設定するとともに、ビジー回数を初期化(値“0”)する(ステップS35)。そして、送信実行・要求手段232dによって、受信完了通知が受信されていないブロックの再送信を行い(ステップS36)、ステップS31に進む。
一方、ビジー回数が障害判定閾値以上である場合(ステップS32でNo)、自律ストレージ装置2は、送信経路設定手段232cによって、当該ポートに障害が発生したと判定し、当該ポートの状態STに“障害”を設定する(ステップS37)。
また、自律ストレージ装置2は、送信経路設定手段232cによって、送信管理テーブルTの状態STに“空”が設定されているポートのブロック番号BNに、受信完了通知が受信されていないブロックの番号(受信完了待ちブロック番号)、状態STに“受信完了待ち”を設定するとともに、ビジー回数を初期化(値“0”)する(ステップS38)。そして、送信実行・要求手段232dによって、受信完了通知が受信されていないブロックの再送信を行い(ステップS39)、ステップS40に進む。
そして、自律ストレージ装置2は、送信実行・要求手段232dによって、コンテンツの配信が完了したかどうかを判定する(ステップS40)。
そして、まだコンテンツの配信が完了していない場合(ステップS40でNo)、自律ストレージ装置2は、ステップS25に戻って動作を継続する。一方、コンテンツの配信が完了した場合(ステップS40でYes)、自律ストレージ装置2は動作を終了する。
以上の動作によって、コーディネータ(自律ストレージ装置2)は、ブロックがクライアントコンピュータ5に早く到達した送信経路(ポート)から順次、次のブロックを割り当てるため、あるネットワーク経路や、自律ストレージ装置に負荷が集中している場合であっても、それを回避してブロックの送信を行うことができる。
(ブロック送信の具体例)
ここで、図6を参照(適宜図1参照)して、自律分散型サーバ1が行うブロックの送信について、具体例を示して説明を行う。図6は、ブロック送信の具体例を説明するための図であって、(a)は、コンテンツとポートの関係を示し、(b)は、ブロックの送信順序を示している。
図6(a)に示すように、ここでは、自律分散型サーバ1内の自律ストレージ装置2(2および2)にコンテンツが多重化され、各自律ストレージ装置2は、それぞれ、P〜PおよびP〜Pの3つずつのポートを備えている例を示している。
ここで、図6(b)の(b−1)に示すように、自律分散型サーバ1は、ポートP、P、P、…、Pから、ブロックB、B、B、…、Bを、それぞれ、この送信順序でクライアントコンピュータ5に送信する。このとき、クライアントコンピュータ5に受信された順番(受信完了順序)が、ブロックB、B、B、B、Bであったとする。なお、この段階では、まだ、ブロックBは受信が完了していないものとする。
このとき、図6(b)の(b−2)に示すように、自律分散型サーバ1は、次に送信するブロックBを、最も早く受信が完了したポートPにより行う。
以下、図6(b)の(b−3)に示すように、順次、クライアントコンピュータ5に受信された順番によって、送信するポートを切り換えてブロックを送信する。これによって、ネットワーク経路や個々の自律ストレージ装置の負荷の影響を最小限に抑えて、コンテンツの配信を行うことができる。
本発明に係る自律分散型サーバの構成を示す構成図である。 本発明に係る自律ストレージ装置のブロック構成を示すブロック図である。 本発明に係る自律ストレージ装置の送信経路設定手段が管理する送信管理テーブルの一例を示す図である。 本発明に係る自律分散型サーバの多重化コンテンツの読み出し動作全体を示すフローチャートである。 本発明に係る自律分散型サーバのブロック送信時における詳細な動作を示すフローチャートである。 ブロック送信の具体例を説明するための図であって、(a)は、コンテンツとポートの関係を示し、(b)は、ブロックの送信順序を示している。 従来の分散型サーバのシステム構成例を示す構成図である。 従来の自律分散型サーバのシステム構成例を示す構成図である。
符号の説明
1 自律分散型サーバ
2 自律ストレージ装置(ストレージ装置)
5 クライアントコンピュータ(データ参照装置)
10 通信送受信手段
20 システム管理手段
21 コンテンツ格納手段
21a コンテンツ受信手段
21b コンテンツ書き込み手段
22 コンテンツ配信手段
22a コンテンツ/ブロック読み出し手段
22b コンテンツ/ブロック送信手段(ブロック送信手段)
23 コンテンツ管理手段
231 多重コンテンツ書き込み制御手段
232 多重コンテンツ読み出し制御手段(多重データ読み出し制御装置)
232a 役割設定手段
232b 経路確認手段
232c 送信経路設定手段
232d 送信実行・要求手段(送信要求手段)
232e 完了通知送信手段
232f 送受信監視手段
233 負荷状態監視手段
234 経路探索手段
24 制御情報送受信手段
30 記憶手段

Claims (7)

  1. ネットワークに接続されたデータ参照装置からの要求に基づいて、複数のストレージ装置間で多重化されているデータの読み出し制御を行う多重データ読み出し制御装置であって、
    前記データを記憶している前記複数のストレージ装置に、前記データの部分データであるブロックを対応付けて、当該複数のストレージ装置に対して、それぞれ異なる前記ブロックを前記データ参照装置に送信する旨を示すブロック送信要求を送信する送信要求手段と、
    この送信要求手段で前記ブロックの送信を要求されたストレージ装置から、当該ブロックが前記データ参照装置に受信されたことを示す受信完了通知を受信することで、前記ブロックの送受信の完了を監視する送受信監視手段と、
    この送受信監視手段によってブロックの送受信が完了したストレージ装置を、次に送信するブロックの送信元として設定する送信経路設定手段と、
    を備えていることを特徴とする多重データ読み出し制御装置。
  2. ネットワークに接続されたデータ参照装置からの要求に基づいて、複数のストレージ装置間で多重化されているデータの読み出し制御を行う多重データ読み出し制御装置であって、
    前記データを記憶している前記複数のストレージ装置から前記データ参照装置までの、ネットワークの送信経路の有無を確認する経路確認手段と、
    この経路確認手段で送信経路が確認された場合に、当該送信経路に、前記データの部分データであるブロックを対応付けて、前記複数のストレージ装置に対して、それぞれ異なる前記ブロックを前記データ参照装置に送信する旨を示すブロック送信要求を送信する送信要求手段と、
    この送信要求手段で前記ブロックの送信を要求されたストレージ装置から、当該ブロックが前記データ参照装置に受信されたことを示す受信完了通知を受信することで、前記ブロックの送受信の完了を監視する送受信監視手段と、
    この送受信監視手段によってブロックの送受信が完了した送信経路を、次に送信するブロックの送信経路として設定する送信経路設定手段と、
    を備えていることを特徴とする多重データ読み出し制御装置。
  3. ネットワークに複数接続されて、データを多重化して記憶するとともに、前記ネットワークに接続されたデータ参照装置からの要求に基づいて、前記データの読み出しを行う自律ストレージ装置であって、
    前記データを多重化して記憶している他の自律ストレージ装置に、前記データの部分データであるブロックを対応付けて、当該他の自律ストレージ装置に対して、それぞれ異なる前記ブロックを前記データ参照装置に送信する旨を示すブロック送信要求を送信する送信要求手段と、
    この送信要求手段で前記ブロックの送信を要求された他の自律ストレージ装置から、当該ブロックが前記データ参照装置に受信されたことを示す受信完了通知を受信することで、前記ブロックの送受信の完了を監視する送受信監視手段と、
    この送受信監視手段によってブロックの送受信が完了した他の自律ストレージ装置を、次に送信するブロックの送信元として設定する送信経路設定手段と、
    前記ブロック送信要求を他の自律ストレージ装置から受信したときに、前記データにおける対応するブロックを、前記データ参照装置に送信するブロック送信手段と、
    前記データ参照装置から前記送信したブロックに対する応答を受信した段階で、前記ブロック送信要求を送信した他の自律ストレージ装置に対して、前記受信完了通知を送信する完了通知送信手段と、
    を備えていることを特徴とする自律ストレージ装置。
  4. ネットワークに複数接続されて、データを多重化して記憶するとともに、前記ネットワークに接続されたデータ参照装置からの要求に基づいて、前記データの読み出しを行う自律ストレージ装置であって、
    前記データ参照装置までのネットワークの送信経路を探索する経路探索手段と、
    前記データを多重化して記憶している他の自律ストレージ装置から、前記送信経路の有無を確認する経路確認手段と、
    この経路確認手段で送信経路が確認された場合に、当該送信経路に、前記データの部分データであるブロックを対応付けて、前記複数の自律ストレージ装置に対して、それぞれ異なる前記ブロックを前記データ参照装置に送信する旨を示すブロック送信要求を送信する送信要求手段と、
    この送信要求手段で前記ブロックの送信を要求された他の自律ストレージ装置から、当該ブロックが前記データ参照装置に受信されたことを示す受信完了通知を受信することで、前記ブロックの送受信の完了を監視する送受信監視手段と、
    この送受信監視手段によってブロックの送受信が完了した送信経路を、次に送信するブロックの送信経路として設定する送信経路設定手段と、
    前記ブロック送信要求を他の自律ストレージ装置から受信したときに、前記データにおいて要求のあったブロックを、前記データ参照装置に送信するブロック送信手段と、
    前記データ参照装置から前記送信したブロックに対する応答を受信した段階で、前記ブロック送信要求を送信した他の自律ストレージ装置に対して、前記受信完了通知を送信する完了通知送信手段と、
    を備えていることを特徴とする自律ストレージ装置。
  5. データを多重化して記憶し、データ参照装置からの要求に基づいて、前記データの読み出しを行う自律分散型サーバであって、
    前記データを多重化して記憶する請求項3または請求項4に記載の自律ストレージ装置を複数備え、
    この複数の自律ストレージ装置から、前記データの部分データであるブロックごとに、それぞれ異なる前記ブロックを前記データ参照装置に送信することを特徴とする自律分散型サーバ。
  6. ネットワークに接続されたデータ参照装置からの要求に基づいて、複数のストレージ装置間で多重化されているデータの読み出しを行うために、コンピュータを、
    前記データを記憶している前記複数のストレージ装置に、前記データの部分データであるブロックを対応付けて、当該複数のストレージ装置に対して、それぞれ異なる前記ブロックを前記データ参照装置に送信する旨を示すブロック送信要求を送信する送信要求手段、
    この送信要求手段で前記ブロックの送信を要求されたストレージ装置から、当該ブロックが前記データ参照装置に受信されたことを示す受信完了通知を受信することで、前記ブロックの送受信の完了を監視する送受信監視手段、
    この送受信監視手段によってブロックの送受信が完了したストレージ装置を、次に送信するブロックの送信元として設定する送信経路設定手段、
    として機能させることを特徴とする多重データ読み出しプログラム。
  7. ネットワークに接続されたデータ参照装置からの要求に基づいて、複数のストレージ装置間で多重化されているデータの読み出しを行うために、コンピュータを、
    前記データを多重化して記憶している前記複数のストレージ装置から前記データ参照装置までの、ネットワークの送信経路の有無を確認する経路確認手段、
    この経路確認手段で送信経路が確認された場合に、当該送信経路に、前記データの部分データであるブロックを対応付けて、前記複数のストレージ装置に対して、それぞれ異なる前記ブロックを前記データ参照装置に送信する旨を示すブロック送信要求を送信する送信要求手段、
    この送信要求手段で前記ブロックの送信を要求されたストレージ装置から、当該ブロックが前記データ参照装置に受信されたことを示す受信完了通知を受信することで、前記ブロックの送受信の完了を監視する送受信監視手段、
    この送受信監視手段によってブロックの送受信が完了した送信経路を、次に送信するブロックの送信経路として設定する送信経路設定手段、
    として機能させることを特徴とする多重データ読み出しプログラム。
JP2005247192A 2005-08-29 2005-08-29 自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム Pending JP2007065713A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005247192A JP2007065713A (ja) 2005-08-29 2005-08-29 自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005247192A JP2007065713A (ja) 2005-08-29 2005-08-29 自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム

Publications (1)

Publication Number Publication Date
JP2007065713A true JP2007065713A (ja) 2007-03-15

Family

ID=37927896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005247192A Pending JP2007065713A (ja) 2005-08-29 2005-08-29 自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム

Country Status (1)

Country Link
JP (1) JP2007065713A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146215A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd クラスタストレージ装置、クラスタストレージシステム、及びその制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09311810A (ja) * 1996-05-23 1997-12-02 Nec Corp ファイルデータ分散格納方式
JP2003140838A (ja) * 2001-11-06 2003-05-16 Hitachi Ltd アレイ記憶装置
JP2004334739A (ja) * 2003-05-12 2004-11-25 Tokyo Institute Of Technology データのバックアップ方法及びバックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09311810A (ja) * 1996-05-23 1997-12-02 Nec Corp ファイルデータ分散格納方式
JP2003140838A (ja) * 2001-11-06 2003-05-16 Hitachi Ltd アレイ記憶装置
JP2004334739A (ja) * 2003-05-12 2004-11-25 Tokyo Institute Of Technology データのバックアップ方法及びバックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146215A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd クラスタストレージ装置、クラスタストレージシステム、及びその制御方法

Similar Documents

Publication Publication Date Title
US11233839B2 (en) System and method of minimizing network bandwidth retrieved from an external network
KR101089562B1 (ko) 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법
US6760765B1 (en) Cluster server apparatus
US7865611B2 (en) Content delivery method and communication terminal apparatus
EP1411678B1 (en) Method and system for content-oriented routing of packets in a storage-embedded network
US8726327B2 (en) System and method for peer-to-peer live streaming
US10146848B2 (en) Systems and methods for autonomous, scalable, and distributed database management
US7508827B2 (en) Multicast routing program, multicast routing method, and multicast router
US20040255323A1 (en) System and method for piecewise streaming of video using a dedicated overlay network
JP5470828B2 (ja) データ配信用通信装置、及びデータ配信システム
MXPA06006332A (es) Sistema de archivos virtual.
JP2013258700A (ja) オーディオビデオブリッジネットワークにおける動的ストリーム管理のためのシステム
JP2007317181A (ja) ネットワークストレージ装置
JP4771988B2 (ja) 負荷分散装置及びネットワーク装置
US20120089863A1 (en) Failover system, storage processing device and failover control method
JP2009182629A (ja) データ提供システム
US20240179200A1 (en) System and method of minimizing network bandwidth retrieved from an external network
JP4729549B2 (ja) 負荷制御方法及び装置及びプログラム
JP5445138B2 (ja) データ分散格納方法およびデータ分散格納システム
JP7473025B2 (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
JP2007065713A (ja) 自律ストレージ装置および自律分散型サーバ、ならびに、多重データ読み出し制御装置およびそのプログラム
JP2007041899A (ja) コンテンツの配信装置,コンテンツ配信ネットワークおよびコンテンツ配信方法
JP5522801B2 (ja) 受信端末およびその制御プログラム
JP4122328B2 (ja) 伝送装置
JP6958102B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080321

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705