説明

データ仲介方法およびデータ仲介装置

【課題】 分散してデータを記憶する通信システムについて、クライアントの構成を簡略化すること。
【解決手段】 データ仲介装置1が、クライアントCからの読み込み要求をもとに記憶装置Rにデータの読み込みを要求する手順と、記憶装置Rからデータの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファ20に整列させて格納し、データバッファに格納されたデータを先頭から順にクライアントCに返信する手順と、クライアントCからの書き込み要求をもとに記憶装置Rにデータの書き込みを要求する手順と、記憶装置Rからデータの書き込みの要求に対する返答として受信した書き込み結果で、インデックスDB10を更新する手順と、を実行することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ仲介方法およびデータ仲介装置に関する。
【背景技術】
【0002】
コンピュータに内蔵またはケーブルで直接接続されていたHDD(Hard Disk Drive)などの記憶装置が、ネットワークの接続インターフェイスを持ち、1つのネットワークデバイスとして機能する形態が普及し始めている。記憶装置とは別の装置が、このネットワークデバイスである記憶装置にアクセスする際には、iSCSI(Internet Small Computer System Interface、非特許文献1)などのプロトコルが用いられる。
【0003】
なお、従来は遠隔に設置された記憶装置を利用する場合、1つのファイルは1つの記憶装置に保存されていた。しかし、1つのファイルを複数の記憶装置に分散配置をすることによって、個々の記憶装置にかかる読み書きの負担を減らすことが可能である。同時に複数の記憶装置に読み書きを行うことにより、処理速度を向上させることも可能である。
【0004】
遠隔ネットワークに設置された記憶装置を利用して、データの分散配置を実現する場合、読み書きの際に発生する、記憶装置が設置されているネットワークと基幹ネットワーク間で発生する負荷を分散させることが可能である。
【非特許文献1】IETF、“Internet Small Computer Systems Interface”、[online]、[平成16年11月8日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3720.txt>、3.2章,3.4章
【発明の開示】
【発明が解決しようとする課題】
【0005】
前記の技術は1つのファイルを分割して複数のファイル部分とし、各ファイル部分を別々の記憶装置に分散して記録することによって、それぞれの記憶装置やネットワークにかかる負荷の軽減が実現される。
【0006】
しかし、同時に複数の記憶装置から読み出しを行った場合、データが整列されていない状態でクライアントヘ到着するため、整列のための処理が必要となることが問題となる。
【0007】
従来技術で前記の問題を解決しようとした場合、新規の装置もしくはプログラムと、データの読み書きに利用するバッファのための大容量の高速メモリと、整列処理を行うための高い演算性能を持ったプロセッサをクライアントヘ導入することが必要となる。従って、個々のクライアントにかかる構成が複雑になってしまう。その結果、例えば処理動作が遅くなったり、筐体のサイズが大きくなってしまう。
【0008】
また、複数のクライアントで遠隔記憶装置群を共有する場合、データの分散配置の情報を全クライアントで同期させる必要があるため、ネットワークやクライアントで発生するオーバーヘッドが問題となる。
【0009】
このオーバーヘッドは共有を行うクライアント数に比例して増大するため、クライアント数が増加するに従い、ネットワークやクライアントが必要な構成も複雑になってしまう。
【0010】
そこで、本発明は、前記した問題を解決し、分散してデータを記憶する通信システムについて、クライアントの構成を簡略化することを主な目的とする。
【課題を解決するための手段】
【0011】
前記した問題を解決するため、本発明は、データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスDBを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介方法であって、前記データ仲介装置が、クライアントから読み込み要求および書き込み要求を受信する手順と、前記読み込み要求をもとに前記インデックスDBから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する手順と、前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する手順と、前記書き込み要求をもとに前記インデックスDBから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する手順と、前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスDBを更新する手順と、を実行することを特徴とする。
【0012】
これにより、クライアントが遠隔ネットワーク上に分散設置された記憶装置ヘアクセスする際に、データ仲介装置がデータの管理を一括で行うとともに、記憶装置へのアクセスを仲介する。そのため、クライアントが直接記憶装置とアクセスするための新しい構成の導入が不要となり、構成を簡略化することができる。従って、クライアントの台数に関わらず、処理動作の遅延、筐体のサイズの増大、部品の導入コストなどを軽減することができる。
【0013】
本発明は、前記データ仲介装置が、前記クライアントと通信するための第1のインターフェイス、または、前記記憶装置と通信するための第2のインターフェイスのうち、少なくとも1つのインターフェイスが、iSCSI(Internet Small Computer System Interface)に従ったデータ通信プロトコルにより、データを通信することを特徴とする。
【0014】
これにより、既に普及している標準規格であるiSCSIに適合したクライアントおよび記憶装置を、そのまま通信システムの一部として流用することが可能となる。よって、開発者にとっては新たなクライアントおよび記憶装置を開発するコストと期間を削減することができ、システム構築者にとっては既にある機器を活用できるので導入コストを削減することができる。
【0015】
本発明は、データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスDBを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介装置であって、クライアントから読み込み要求および書き込み要求を受信するインターフェイスと、前記読み込み要求をもとに前記インデックスDBから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する読み込み制御部と、前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する読み込みデータ構築部と、前記書き込み要求をもとに前記インデックスDBから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する書き込み制御部と、前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスDBを更新する書き込み結果処理部と、を含めて構成されることを特徴とする。
【0016】
これにより、クライアントが遠隔ネットワーク上に分散設置された記憶装置ヘアクセスする際に、データ仲介装置がデータの管理を一括で行うとともに、記憶装置へのアクセスを仲介する。そのため、クライアントが直接記憶装置とアクセスするための新しい構成の導入が不要となり、構成を簡略化することができる。従って、クライアントの台数に関わらず、処理動作の遅延、筐体のサイズの増大、部品の導入コストなどを軽減することができる。
【0017】
本発明は、前記クライアントと通信するための第1のインターフェイス、または、前記記憶装置と通信するための第2のインターフェイスのうち、少なくとも1つのインターフェイスが、iSCSI(Internet Small Computer System Interface)に従ったデータ通信プロトコルにより、データを通信することを特徴とする。
【0018】
これにより、既に普及している標準規格であるiSCSIに適合したクライアントおよび記憶装置を、そのまま通信システムの一部として流用することが可能となる。よって、開発者にとっては新たなクライアントおよび記憶装置を開発するコストと期間を削減することができ、システム構築者にとっては既にある機器を活用できるので導入コストを削減することができる。
【発明の効果】
【0019】
本発明によれば、クライアントが遠隔ネットワーク上に分散設置された記憶装置ヘアクセスする際に、データ仲介装置を利用することで、クライアントに新しい装置の導入が不要となり、構成を簡略化することができる。従って、クライアントの台数に関わらず、処理動作の遅延、筐体のサイズの増大、部品の導入コストなどを軽減することができる。なお、データ仲介装置は、ネットワークに接続される任意のクライアントからのデータアクセスを仲介するため、個々のクライアントが記憶装置へ直接アクセス機能を有する構成と比較すると、機能的に同等である。
【発明を実施するための最良の形態】
【0020】
図1は、通信システムを示す構成図である。図1では、各ネットワークはIP(Internet Protocol)による通信装置を有し、IPを利用した通信が可能であることを想定するが、IPの代わりに一般的なネットワークとしてもよい。
【0021】
図1の通信システムは、広帯域なリンクで構成されるIPネットワークである基幹ネットワークNCと、クライアントCが直接接続されているネットワークである内部IPネットワークNIと、記憶装置Rが接続されているネットワークである遠隔IPネットワークNRと、が、エッジルータ(図示せず)によって接続されている。
【0022】
内部IPネットワークNIは、例えばイーサネット(登録商標)のようなLAN(Local Area Network)を利用して構成されていて、各インターフェイスがLANのネットワークケーブル(図示せず)とネットワークハブ(図示せず)やルータ(図示せず)などの中継機器などを介して、相互にIPによる通信が可能となっている。また、遠隔IPネットワークNRは、前記した内部IPネットワークNIと同様、LANを利用して構成されていて、相互にIPによる通信が可能となっている。
【0023】
さらに、図1の通信システムは、内部IPネットワークNIに接続されるデータ仲介装置1と、データ仲介装置1を介して記憶装置Rにデータのアクセスを行うクライアントCと、データ仲介装置1からの制御によりデータの読み書きを行う記憶装置Rと、を含めて構成される。
【0024】
なお、図1の通信システムを構成する各装置(クライアントC、データ仲介装置1、記憶装置R)は、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、RAM(Random Access Memory)などにより構成される。演算処理は、CPU(Central Processing Unit)によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。
【0025】
クライアントCは、内部IPネットワークNIに接続された従来技術で実現された記憶装置Rからデータを取得し、稼動しているアプリケーションで利用する、もしくは稼動しているアプリケーションから、データを内部IPネットワークNIに接続された記憶装置Rへ記録を行う機能を有するコンピュータなどを想定する。遠隔に設置された記憶装置Rに対して、データの読み書きを行う機能を持たないこともある。
【0026】
記憶装置Rは、ネットワークに直接接続可能な記憶装置であることを想定する。記憶装置Rは、ファイル単位ではなくブロック単位などより粒度の小さな単位で、外部の装置から自由に読み書きを行うことができる機能を有する。このブロック単位でのディスクアクセスを行うために、記憶装置Rは、例えばiSCSIなどの遠隔アクセスのプロトコルが実装されている。
【0027】
データ仲介装置1は、読み込み用仲介装置1R(図2参照)および書き込み用仲介装置1W(図3参照)の2種類の装置から構成される。この2つの装置において、インデックスDB10の内容が若干異なっている。つまり、書き込み用仲介装置1Wは、インデックスDB10内に記憶装置Rの未使用ブロックの位置を管理する未使用領域テーブル12(図4参照)と、ファイルの配置状態を管理する使用済領域テーブル16(図5参照)と、の両方を有する必要があるが、読み込み用仲介装置1Rは、使用済領域テーブル16(図5参照)を有する。
【0028】
図2に示す読み込み用仲介装置1Rは、クライアント側インターフェイスIC、記憶装置側インターフェイスIR、インデックスDB10、読み込み制御部14、読み込みデータバッファ20、読み込みデータ構築部22を含めて構成される。以下、各構成要素を具体的に説明する。
【0029】
クライアントCと通信を行う際のインターフェイスであるクライアント側インターフェイスICは、読み込み処理に関して、2つの機能を有する。1つはクライアントCからデータの読み込み要求を待ち受ける機能であり、もう1つは要求されたデータをクライアントCに返送する機能である。クライアント側インターフェイスICは複数のクライアントCからの要求を同時に待ち受けることができる。
【0030】
記憶装置Rと通信を行う際のインターフェイスである記憶装置側インターフェイスIRは、読み込み処理に関して、遠隔ネットワークに接続されている記憶装置Rへ読み込み命令を行い、その結果を取得する機能を有する。記憶装置側インターフェイスIRは複数であることを基本とするが、取得する対象となるデータのサイズが非常に小さいときや、記憶装置Rの空き容量の問題で複数の記憶装置Rに分散して保存できなかったデータを読み出す場合などには、単体となることもある。
【0031】
記憶装置Rに格納されるデータごとにその格納場所を対応づけるインデックスDB10は、記憶装置Rの群において、どの記憶装置Rのどの部分にどのようなデータ断片が保存されているかを管理するデータベースである。そして、インデックスDB10は、ファイルの配置状態を管理する使用済領域テーブル16(図5参照)を有している。使用済領域テーブル16は、保存している各ファイルの情報の管理を行っている。保存されている各ファイルのサイズと、ファイルの中のどの範囲が、どの記憶装置Rのどのブロックに記録されているかといった、ファイルの配置状態の情報の管理を行っている。ファイルの配置状態の情報はファイルの読み出し、ファイルの更新を行う際に利用される。
【0032】
図5に示す使用済領域テーブル16は、クライアントCが操作する単位であるファイルのファイル名、そのファイル名のデータの範囲(ファイルデータにおける順序)、そのファイルが格納される記憶装置RのID、そのファイルが格納される記憶装置Rの格納ブロック、の対応表である。例えば、ファイルAは、2つの記憶装置R(ID=A,B)に分散されて、格納されている。
【0033】
読み込み制御部14は、クライアントCから読み取りを依頼されたデータを記憶装置Rから読み込む。そのため、読み込み制御部14は、使用済領域テーブル16にアクセスすることにより、読み込み時は、読み出したいファイルの名前や、そのファイル中での位置情報などの読み込み条件を受け取り、それに対応した位置情報を返す機能を持つ。具体的には、読み込み制御部14は、クライアント側インターフェイスICからデータの読み込み条件を受け取って、その情報をインデックスDB10へ送信し、要求されたデータの断片の位置情報を取得し、読み込みを行う対象とする記憶装置Rを決定し、記憶装置側インターフェイスIRへ読み出し要求を行う。
【0034】
読み込みデータバッファ20は、クライアントCから読み取りを依頼されたデータの一時保存を行う。そして、読み込みデータ構築部22は、記憶装置Rから受け取ったデータから正しいデータ(整列されたデータ)を構築する。つまり、読み込みデータ構築部22は、クライアントCに送信する準備が整い次第、クライアント側インターフェイスICへ送信命令を行う時に、読み込みデータバッファ20からデータを読み出して、クライアントCに送信する。
【0035】
図3に示す書き込み用仲介装置1Wは、クライアント側インターフェイスIC、記憶装置側インターフェイスIR、インデックスDB10、書き込み制御部18、書き込みデータバッファ24、書き込み結果処理部26を含めて構成される。以下、図2に示した読み込み用仲介装置1Rの構成要素と同じものの説明は省略しつつ、書き込み用仲介装置1Wの各構成要素を具体的に説明する。
【0036】
クライアント側インターフェイスICは、クライアントCと通信を行う際のインターフェイスである。そして、クライアント側インターフェイスICは、書き込み処理に関して、2つの機能を有する。1つはクライアントCからデータの更新もしくは新規保存の要求と、保存するデータの受信を行う機能であり、もう1つはクライアントCが要求したデータの保存が正常に終了したのか、それとも失敗したのかを、クライアントCへ通知する機能である。クライアント側インターフェイスICは複数のクライアントCからの要求を同時に待ち受けることができる。
【0037】
記憶装置側インターフェイスIRは、記憶装置Rと通信を行う際のインターフェイスである。そして、記憶装置側インターフェイスIRは、書き込み処理に関して、遠隔IPネットワークNRに接続されている記憶装置Rへ書き込み命令を行い、その結果を取得するものである。この記憶装置側インターフェイスIRは複数であることが基本であるが、書き込みを行うデータのサイズが非常に小さいときや、記憶装置Rの空き容量の問題で複数の記憶装置Rに分散して保存できない場合などには、単体となることもある。
【0038】
インデックスDB10は、書き込みたいファイルの名前などの情報を受け取り、データの更新であるか新規保存であるかの判断を行い、ファイルサイズを受け取り、どの記憶装置Rにそのデータを記録する余裕があるかを返す。そのため、インデックスDB10は、使用済領域テーブル16に加え、記憶装置Rの未使用ブロックの位置を管理する未使用領域テーブル12(図4参照)をさらに有する。この未使用領域テーブル12は、クライアントCが1つの記憶装置Rとして見なす記憶装置R群の情報が管理されている。それぞれの記憶装置RにはIDが割り振られ、そのIDによって記憶装置Rが一意に識別される。IPアドレスとIDが対応づけられていて、この情報を利用することによってネットワーク上の位置が特定できる。容量、未使用ブロックの情報はファイルの更新、ファイルの新規保存を行う際に利用される。
【0039】
図4に示す未使用領域テーブル12は、遠隔IPネットワークNRに位置する記憶装置R、その記憶装置RのIPアドレス、その記憶装置RのID、その記憶装置Rの記憶可能な容量、その記憶装置Rの記憶可能な未使用ブロック、の対応表である。例えば、記憶装置R(ID=A)には、未使用ブロックとして、101〜120という第1のブロックと、171〜200という第2のブロックという2つのブロックが存在する。
【0040】
書き込み制御部18は、クライアントCから書き込みを依頼されたデータを記憶装置Rに書き込む。具体的には、書き込み制御部18は、インデックスDB10へ書き込みデータの条件を送信し、更新元ファイルの位置情報や記憶装置Rの空き状況を取得する。取得した情報から得られる条件を考慮して、受け取ったデータをどのように分割し、どの記憶装置Rに保存するのが適切であるかを判断して、書き込みを行う記憶装置Rを選択する。選択された記憶装置側インターフェイスIRに対して、書き込みデータバッファ24に保存されているデータの断片を保存するように命令を行う。
【0041】
書き込みデータバッファ24は、クライアントCから書き込みを依頼されたデータの一時保存を行う。よって、書き込みデータバッファ24は、クライアントCからのデータ受け渡し処理に遅延が生じないように大容量の高速メモリなどで構成される。そして、書き込みデータバッファ24は、クライアント側インターフェイスICが受け取ったデータを一時保存する。
【0042】
書き込み結果処理部26は、書き込みがすべて正常に終了したかどうかを判定する。すべて成功であった場合、書き込み結果処理部26は、インデックスDB10に結果の更新を行い、クライアント側インターフェイスICに対して、クライアントCに保存が成功したことを伝えるように命令を行う。書き込みが何らかの理由により失敗した場合、書き込み結果処理部26は、クライアントCに失敗通知するように命令し、これまで行われた書き込み作業をすべて取り消す処理を行う。
【0043】
図6は、読み込み用仲介装置1Rによるデータの読み込み処理を示すフローチャートである。この図6の処理における通信メッセージを、図7に示す。
【0044】
まず、読み込み用仲介装置1Rは、クライアントCから読み込み要求P11を受信する(S101)。次に、読み込み制御部14は、読み込み要求P11をもとに、インデックスDB10から読み込みデータの位置情報を取得する(S102)。そして、記憶装置側インターフェイスIRは、読み込みデータの位置情報をもとに、各記憶装置Rに読み込みデータを要求するメッセージ(データ断片要求P12)を送信する(S103)。
【0045】
さらに、記憶装置側インターフェイスIRは、S103の読み込みデータへの応答として、各記憶装置Rから読み込みデータ(データ断片P13)を取得する(S104)。そして、読み込みデータ構築部22は、S104で受信した読み込みデータを、ファイルの順序に従って読み込みデータバッファ20に格納することで、読み込みデータを整列する(S105)。さらに、クライアント側インターフェイスICは、S105で整列された読み込みデータ(データP14)を読み込みデータバッファ20から順次読み取り、クライアントCに送信する(S106)。
【0046】
図8は、データの書き込み処理を示すフローチャートである。この図8の処理における通信メッセージを、図9に示す。
【0047】
まず、書き込み用仲介装置1Wは、クライアントCから書き込み要求とデータP21を受信する(S201)。次に、書き込み制御部18は、S201で受信した書き込みデータを書き込みデータバッファ24に一次保存する(S202)。そして、記憶装置側インターフェイスIRは、各記憶装置Rに書き込みデータの保存を要求するメッセージ(書き込み要求とデータP22)を送信する(S203)。
【0048】
そして、記憶装置側インターフェイスIRは、S203への返答として、各記憶装置Rから書き込み結果P23を取得する(S204)。なお、書き込み結果P23は、例えば、書き込み成功または書き込み失敗のいずれかを示す成功フラグである。さらに、書き込み結果処理部26は、インデックスDB10にS204の書き込み結果を反映(更新)する(S205)。そして、クライアント側インターフェイスICは、S205で更新されたインデックスDB10をもとに、ファイル全体の書き込み結果P24をクライアントCに送信する(S206)。
【0049】
以上説明した本実施形態の要約は、次の通りである。本実施形態は、クライアントCが複数ネットワークに分散設置された記憶装置Rへデータの読み書きを行う方式とその装置に関するものである。つまり、本実施形態は、一塊のデータを複数の記憶装置Rに分散して格納することで、データの書き込み、読み出しを並列処理する。内部ネットワークを構成する装置は、クライアントC、データ仲介装置1および、記憶装置Rである。なお、クライアントCは、従来技術の同一ネットワーク内に設置された記憶装置Rに読み書きを行う機能を有する。
【0050】
よって、遠隔ネットワークに分散して設置された記憶装置Rを利用したデータの読み書きを行う際、自ネットワーク内に設置されたデータ仲介装置1を介してアクセスをする。クライアントCに対して、データ仲介装置1は、従来技術で実現されている内部ネットワークに設置された記憶装置Rに見せかけて動作をするため、各クライアントCに追加の投資が不要となる。これによって、各クライアントCにかかる負荷の増加を抑制され、データ仲介装置1の導入コストだけで済むようになる。
【0051】
具体的には、データ仲介装置1は、クライアントCから一塊のデータを一旦受け取った上でデータの読み書きを行う。データ仲介装置1は、一塊のデータを分解して並列に記憶装置Rに書き込み、読み出し時には並列して記憶装置Rから読み出し、ばらばらのデータの順番を整えてクライアントC端末に渡す処理を行う。
【0052】
データ仲介装置1として機能する際に必要な手段は、クライアントCから読み込み要求を受け付け、要求されたデータが保存されている1つ以上の遠隔に位置する記憶装置Rを選択し、選択された各遠隔記憶装置Rからデータ全体もしくは断片を取得し、取得したデータを1つのデータに構築してクライアントCに返送する手段と、クライアントCから書き込み要求を受け付け、要求されたデータを書き込むのに適した適切な遠隔記憶装置Rを1つ以上選択し、選択された記憶装置Rに対して対象のデータ全体もしくは断片を書き込むように要求を行い、その成否をクライアントCに通知する手段である。
【0053】
これにより、データ仲介装置1は、内部ネットワークに対して、従来技術で実現されているネットワークに接続された記憶装置Rとして動作をして、クライアントCから受け取ることが可能である。また、受け取った読み書きの要求を遠隔の記憶装置Rに対して更新させる機能を有する。記憶装置Rは、データ仲介装置1からの要求に従い、データの断片を読み出し、書き込みをすることが可能である。このとき、クライアントCがデータ仲介装置1を介して遠隔に位置する記憶装置Rの集合に対してデータを読み書きする。
【0054】
以上説明した本発明は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。
【0055】
例えば、クライアントCからデータ仲介装置1、データ仲介装置1から各遠隔の記憶装置Rの間で通信が行われるが、この通信の方法としてiSCSIを利用することとしてもよいし、別の一般的なデータのアクセス制御のプロトコルを用いてもよい。
【0056】
また、データ仲介装置1が記憶装置Rに読み書きするデータとして、クライアントCから読み書きを要求されたデータそのものでもよいし、その要求されたデータから生成されるデータでもよい。なお、生成されるデータは、例えば、パリティ符号などのデータ誤りを検出する符号、ハミング符号などのデータ誤りを訂正する符号などである。そして、データ仲介装置1は、同じデータについて、1つの記憶装置Rのみに書き込みを行うこととしてもよいし、複数の記憶装置Rにコピーして書き込みを行うこととしてもよい。これにより、データの冗長化が実現できるので、障害に強い(信頼性の高い)システムを構築することができる。
【図面の簡単な説明】
【0057】
【図1】本発明の一実施形態に関する通信システムを示す構成図である。
【図2】本発明の一実施形態に関する読み込み用仲介装置を示す構成図である。
【図3】本発明の一実施形態に関する書き込み用仲介装置を示す構成図である。
【図4】本発明の一実施形態に関する未使用領域テーブルを示す構成図である。
【図5】本発明の一実施形態に関する使用済領域テーブルを示す構成図である。
【図6】本発明の一実施形態に関するデータの読み込み処理を示すフローチャートである。
【図7】本発明の一実施形態に関するデータの読み込み処理における通信を示す説明図である。
【図8】本発明の一実施形態に関するデータの書き込み処理を示すフローチャートである。
【図9】本発明の一実施形態に関するデータの書き込み処理における通信を示す説明図である。
【符号の説明】
【0058】
C クライアント
R 記憶装置
1 データ仲介装置
1R 読み込み用仲介装置
1W 書き込み用仲介装置
IC クライアント側インターフェイス
IR 記憶装置側インターフェイス
10 インデックスDB
12 未使用領域テーブル
14 読み込み制御部
16 使用済領域テーブル
18 書き込み制御部
20 読み込みデータバッファ
22 読み込みデータ構築部
24 書き込みデータバッファ
26 書き込み結果処理部

【特許請求の範囲】
【請求項1】
データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスDBを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介方法であって、
前記データ仲介装置が、
クライアントから読み込み要求および書き込み要求を受信する手順と、
前記読み込み要求をもとに前記インデックスDBから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する手順と、
前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する手順と、
前記書き込み要求をもとに前記インデックスDBから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する手順と、
前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスDBを更新する手順と、
を実行することを特徴とするデータ仲介方法。
【請求項2】
前記データ仲介装置は、前記クライアントと通信するための第1のインターフェイス、または、前記記憶装置と通信するための第2のインターフェイスのうち、少なくとも1つのインターフェイスが、iSCSI(Internet Small Computer System Interface)に従ったデータ通信プロトコルにより、データを通信すること
を特徴とする請求項1に記載のデータ仲介方法。
【請求項3】
データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスDBを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介装置であって、
クライアントから読み込み要求および書き込み要求を受信するインターフェイスと、
前記読み込み要求をもとに前記インデックスDBから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する読み込み制御部と、
前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する読み込みデータ構築部と、
前記書き込み要求をもとに前記インデックスDBから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する書き込み制御部と、
前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスDBを更新する書き込み結果処理部と、
を含めて構成されることを特徴とするデータ仲介装置。
【請求項4】
前記クライアントと通信するための前記インターフェイス、または、前記記憶装置と通信するための第2のインターフェイスのうち、少なくとも1つのインターフェイスが、iSCSI(Internet Small Computer System Interface)に従ったデータ通信プロトコルにより、データを通信すること
を特徴とする請求項3に記載のデータ仲介装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate