(57)【要約】【課題】  分散してデータを記憶する通信システムについて、クライアントの構成を簡略化すること。【解決手段】  データ仲介装置１が、クライアントＣからの読み込み要求をもとに記憶装置Ｒにデータの読み込みを要求する手順と、記憶装置Ｒからデータの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファ２０に整列させて格納し、データバッファに格納されたデータを先頭から順にクライアントＣに返信する手順と、クライアントＣからの書き込み要求をもとに記憶装置Ｒにデータの書き込みを要求する手順と、記憶装置Ｒからデータの書き込みの要求に対する返答として受信した書き込み結果で、インデックスＤＢ１０を更新する手順と、を実行することを特徴とする。【選択図】      図２
2006155398.tif 000002
【特許請求の範囲】
【請求項１】
データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスＤＢを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介方法であって、
前記データ仲介装置が、
クライアントから読み込み要求および書き込み要求を受信する手順と、
前記読み込み要求をもとに前記インデックスＤＢから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する手順と、
前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する手順と、
前記書き込み要求をもとに前記インデックスＤＢから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する手順と、
前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスＤＢを更新する手順と、
を実行することを特徴とするデータ仲介方法。
【請求項２】
前記データ仲介装置は、前記クライアントと通信するための第１のインターフェイス、または、前記記憶装置と通信するための第２のインターフェイスのうち、少なくとも１つのインターフェイスが、ｉＳＣＳＩ（Internet Small Computer System Interface）に従ったデータ通信プロトコルにより、データを通信すること
を特徴とする請求項１に記載のデータ仲介方法。
【請求項３】
データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスＤＢを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介装置であって、
クライアントから読み込み要求および書き込み要求を受信するインターフェイスと、
前記読み込み要求をもとに前記インデックスＤＢから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する読み込み制御部と、
前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する読み込みデータ構築部と、
前記書き込み要求をもとに前記インデックスＤＢから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する書き込み制御部と、
前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスＤＢを更新する書き込み結果処理部と、
を含めて構成されることを特徴とするデータ仲介装置。
【請求項４】
前記クライアントと通信するための前記インターフェイス、または、前記記憶装置と通信するための第２のインターフェイスのうち、少なくとも１つのインターフェイスが、ｉＳＣＳＩ（Internet Small Computer System Interface）に従ったデータ通信プロトコルにより、データを通信すること
を特徴とする請求項３に記載のデータ仲介装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ仲介方法およびデータ仲介装置に関する。
【背景技術】
【０００２】
コンピュータに内蔵またはケーブルで直接接続されていたＨＤＤ（Hard Disk Drive）などの記憶装置が、ネットワークの接続インターフェイスを持ち、１つのネットワークデバイスとして機能する形態が普及し始めている。記憶装置とは別の装置が、このネットワークデバイスである記憶装置にアクセスする際には、ｉＳＣＳＩ（Internet Small Computer System Interface、非特許文献１）などのプロトコルが用いられる。
【０００３】
なお、従来は遠隔に設置された記憶装置を利用する場合、１つのファイルは１つの記憶装置に保存されていた。しかし、１つのファイルを複数の記憶装置に分散配置をすることによって、個々の記憶装置にかかる読み書きの負担を減らすことが可能である。同時に複数の記憶装置に読み書きを行うことにより、処理速度を向上させることも可能である。
【０００４】
遠隔ネットワークに設置された記憶装置を利用して、データの分散配置を実現する場合、読み書きの際に発生する、記憶装置が設置されているネットワークと基幹ネットワーク間で発生する負荷を分散させることが可能である。
【非特許文献１】ＩＥＴＦ、“Internet Small Computer Systems Interface”、[online]、［平成１６年１１月８日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc3720.txt＞、３．２章，３．４章
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記の技術は１つのファイルを分割して複数のファイル部分とし、各ファイル部分を別々の記憶装置に分散して記録することによって、それぞれの記憶装置やネットワークにかかる負荷の軽減が実現される。
【０００６】
しかし、同時に複数の記憶装置から読み出しを行った場合、データが整列されていない状態でクライアントヘ到着するため、整列のための処理が必要となることが問題となる。
【０００７】
従来技術で前記の問題を解決しようとした場合、新規の装置もしくはプログラムと、データの読み書きに利用するバッファのための大容量の高速メモリと、整列処理を行うための高い演算性能を持ったプロセッサをクライアントヘ導入することが必要となる。従って、個々のクライアントにかかる構成が複雑になってしまう。その結果、例えば処理動作が遅くなったり、筐体のサイズが大きくなってしまう。
【０００８】
また、複数のクライアントで遠隔記憶装置群を共有する場合、データの分散配置の情報を全クライアントで同期させる必要があるため、ネットワークやクライアントで発生するオーバーヘッドが問題となる。
【０００９】
このオーバーヘッドは共有を行うクライアント数に比例して増大するため、クライアント数が増加するに従い、ネットワークやクライアントが必要な構成も複雑になってしまう。
【００１０】
そこで、本発明は、前記した問題を解決し、分散してデータを記憶する通信システムについて、クライアントの構成を簡略化することを主な目的とする。
【課題を解決するための手段】
【００１１】
前記した問題を解決するため、本発明は、データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスＤＢを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介方法であって、前記データ仲介装置が、クライアントから読み込み要求および書き込み要求を受信する手順と、前記読み込み要求をもとに前記インデックスＤＢから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する手順と、前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する手順と、前記書き込み要求をもとに前記インデックスＤＢから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する手順と、前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスＤＢを更新する手順と、を実行することを特徴とする。
【００１２】
これにより、クライアントが遠隔ネットワーク上に分散設置された記憶装置ヘアクセスする際に、データ仲介装置がデータの管理を一括で行うとともに、記憶装置へのアクセスを仲介する。そのため、クライアントが直接記憶装置とアクセスするための新しい構成の導入が不要となり、構成を簡略化することができる。従って、クライアントの台数に関わらず、処理動作の遅延、筐体のサイズの増大、部品の導入コストなどを軽減することができる。
【００１３】
本発明は、前記データ仲介装置が、前記クライアントと通信するための第１のインターフェイス、または、前記記憶装置と通信するための第２のインターフェイスのうち、少なくとも１つのインターフェイスが、ｉＳＣＳＩ（Internet Small Computer System Interface）に従ったデータ通信プロトコルにより、データを通信することを特徴とする。
【００１４】
これにより、既に普及している標準規格であるｉＳＣＳＩに適合したクライアントおよび記憶装置を、そのまま通信システムの一部として流用することが可能となる。よって、開発者にとっては新たなクライアントおよび記憶装置を開発するコストと期間を削減することができ、システム構築者にとっては既にある機器を活用できるので導入コストを削減することができる。
【００１５】
本発明は、データの読み書きを要求するクライアントと、前記クライアントから読み書きを要求された前記データを格納する記憶装置と、前記記憶装置に格納されるデータごとにその格納場所を対応づける使用済領域テーブルと前記記憶装置の未使用ブロックの位置を管理する未使用領域テーブルとを含むインデックスＤＢを有するデータ仲介装置と、を含めて構成されるネットワークシステムにおけるデータ仲介装置であって、クライアントから読み込み要求および書き込み要求を受信するインターフェイスと、前記読み込み要求をもとに前記インデックスＤＢから読み込みデータの位置情報を取得し、前記位置情報に対応する記憶装置にデータの読み込みを要求する読み込み制御部と、前記記憶装置から前記データの読み込みの要求に対する返答として受信したデータの断片を、読み込みデータバッファに整列させて格納し、前記データバッファに格納されたデータを先頭から順にクライアントに返信する読み込みデータ構築部と、前記書き込み要求をもとに前記インデックスＤＢから書き込みデータの位置情報を決定し、前記位置情報に対応する記憶装置にデータの書き込みを要求する書き込み制御部と、前記記憶装置から前記データの書き込みの要求に対する返答として受信した書き込み結果で、前記インデックスＤＢを更新する書き込み結果処理部と、を含めて構成されることを特徴とする。
【００１６】
これにより、クライアントが遠隔ネットワーク上に分散設置された記憶装置ヘアクセスする際に、データ仲介装置がデータの管理を一括で行うとともに、記憶装置へのアクセスを仲介する。そのため、クライアントが直接記憶装置とアクセスするための新しい構成の導入が不要となり、構成を簡略化することができる。従って、クライアントの台数に関わらず、処理動作の遅延、筐体のサイズの増大、部品の導入コストなどを軽減することができる。
【００１７】
本発明は、前記クライアントと通信するための第１のインターフェイス、または、前記記憶装置と通信するための第２のインターフェイスのうち、少なくとも１つのインターフェイスが、ｉＳＣＳＩ（Internet Small Computer System Interface）に従ったデータ通信プロトコルにより、データを通信することを特徴とする。
【００１８】
これにより、既に普及している標準規格であるｉＳＣＳＩに適合したクライアントおよび記憶装置を、そのまま通信システムの一部として流用することが可能となる。よって、開発者にとっては新たなクライアントおよび記憶装置を開発するコストと期間を削減することができ、システム構築者にとっては既にある機器を活用できるので導入コストを削減することができる。
【発明の効果】
【００１９】
本発明によれば、クライアントが遠隔ネットワーク上に分散設置された記憶装置ヘアクセスする際に、データ仲介装置を利用することで、クライアントに新しい装置の導入が不要となり、構成を簡略化することができる。従って、クライアントの台数に関わらず、処理動作の遅延、筐体のサイズの増大、部品の導入コストなどを軽減することができる。なお、データ仲介装置は、ネットワークに接続される任意のクライアントからのデータアクセスを仲介するため、個々のクライアントが記憶装置へ直接アクセス機能を有する構成と比較すると、機能的に同等である。
【発明を実施するための最良の形態】
【００２０】
図１は、通信システムを示す構成図である。図１では、各ネットワークはＩＰ（Internet Protocol）による通信装置を有し、ＩＰを利用した通信が可能であることを想定するが、ＩＰの代わりに一般的なネットワークとしてもよい。
【００２１】
図１の通信システムは、広帯域なリンクで構成されるＩＰネットワークである基幹ネットワークＮＣと、クライアントＣが直接接続されているネットワークである内部ＩＰネットワークＮＩと、記憶装置Ｒが接続されているネットワークである遠隔ＩＰネットワークＮＲと、が、エッジルータ（図示せず）によって接続されている。
【００２２】
内部ＩＰネットワークＮＩは、例えばイーサネット（登録商標）のようなＬＡＮ（Local Area Network）を利用して構成されていて、各インターフェイスがＬＡＮのネットワークケーブル（図示せず）とネットワークハブ（図示せず）やルータ（図示せず）などの中継機器などを介して、相互にＩＰによる通信が可能となっている。また、遠隔ＩＰネットワークＮＲは、前記した内部ＩＰネットワークＮＩと同様、ＬＡＮを利用して構成されていて、相互にＩＰによる通信が可能となっている。
【００２３】
さらに、図１の通信システムは、内部ＩＰネットワークＮＩに接続されるデータ仲介装置１と、データ仲介装置１を介して記憶装置Ｒにデータのアクセスを行うクライアントＣと、データ仲介装置１からの制御によりデータの読み書きを行う記憶装置Ｒと、を含めて構成される。
【００２４】
なお、図１の通信システムを構成する各装置（クライアントＣ、データ仲介装置１、記憶装置Ｒ）は、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、ＲＡＭ（Random Access Memory）などにより構成される。演算処理は、ＣＰＵ（Central Processing Unit）によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。
【００２５】
クライアントＣは、内部ＩＰネットワークＮＩに接続された従来技術で実現された記憶装置Ｒからデータを取得し、稼動しているアプリケーションで利用する、もしくは稼動しているアプリケーションから、データを内部ＩＰネットワークＮＩに接続された記憶装置Ｒへ記録を行う機能を有するコンピュータなどを想定する。遠隔に設置された記憶装置Ｒに対して、データの読み書きを行う機能を持たないこともある。
【００２６】
記憶装置Ｒは、ネットワークに直接接続可能な記憶装置であることを想定する。記憶装置Ｒは、ファイル単位ではなくブロック単位などより粒度の小さな単位で、外部の装置から自由に読み書きを行うことができる機能を有する。このブロック単位でのディスクアクセスを行うために、記憶装置Ｒは、例えばｉＳＣＳＩなどの遠隔アクセスのプロトコルが実装されている。
【００２７】
データ仲介装置１は、読み込み用仲介装置１Ｒ（図２参照）および書き込み用仲介装置１Ｗ（図３参照）の２種類の装置から構成される。この２つの装置において、インデックスＤＢ１０の内容が若干異なっている。つまり、書き込み用仲介装置１Ｗは、インデックスＤＢ１０内に記憶装置Ｒの未使用ブロックの位置を管理する未使用領域テーブル１２（図４参照）と、ファイルの配置状態を管理する使用済領域テーブル１６（図５参照）と、の両方を有する必要があるが、読み込み用仲介装置１Ｒは、使用済領域テーブル１６（図５参照）を有する。
【００２８】
図２に示す読み込み用仲介装置１Ｒは、クライアント側インターフェイスＩＣ、記憶装置側インターフェイスＩＲ、インデックスＤＢ１０、読み込み制御部１４、読み込みデータバッファ２０、読み込みデータ構築部２２を含めて構成される。以下、各構成要素を具体的に説明する。
【００２９】
クライアントＣと通信を行う際のインターフェイスであるクライアント側インターフェイスＩＣは、読み込み処理に関して、２つの機能を有する。１つはクライアントＣからデータの読み込み要求を待ち受ける機能であり、もう１つは要求されたデータをクライアントＣに返送する機能である。クライアント側インターフェイスＩＣは複数のクライアントＣからの要求を同時に待ち受けることができる。
【００３０】
記憶装置Ｒと通信を行う際のインターフェイスである記憶装置側インターフェイスＩＲは、読み込み処理に関して、遠隔ネットワークに接続されている記憶装置Ｒへ読み込み命令を行い、その結果を取得する機能を有する。記憶装置側インターフェイスＩＲは複数であることを基本とするが、取得する対象となるデータのサイズが非常に小さいときや、記憶装置Ｒの空き容量の問題で複数の記憶装置Ｒに分散して保存できなかったデータを読み出す場合などには、単体となることもある。
【００３１】
記憶装置Ｒに格納されるデータごとにその格納場所を対応づけるインデックスＤＢ１０は、記憶装置Ｒの群において、どの記憶装置Ｒのどの部分にどのようなデータ断片が保存されているかを管理するデータベースである。そして、インデックスＤＢ１０は、ファイルの配置状態を管理する使用済領域テーブル１６（図５参照）を有している。使用済領域テーブル１６は、保存している各ファイルの情報の管理を行っている。保存されている各ファイルのサイズと、ファイルの中のどの範囲が、どの記憶装置Ｒのどのブロックに記録されているかといった、ファイルの配置状態の情報の管理を行っている。ファイルの配置状態の情報はファイルの読み出し、ファイルの更新を行う際に利用される。
【００３２】
図５に示す使用済領域テーブル１６は、クライアントＣが操作する単位であるファイルのファイル名、そのファイル名のデータの範囲（ファイルデータにおける順序）、そのファイルが格納される記憶装置ＲのＩＤ、そのファイルが格納される記憶装置Ｒの格納ブロック、の対応表である。例えば、ファイルＡは、２つの記憶装置Ｒ（ＩＤ＝Ａ，Ｂ）に分散されて、格納されている。
【００３３】
読み込み制御部１４は、クライアントＣから読み取りを依頼されたデータを記憶装置Ｒから読み込む。そのため、読み込み制御部１４は、使用済領域テーブル１６にアクセスすることにより、読み込み時は、読み出したいファイルの名前や、そのファイル中での位置情報などの読み込み条件を受け取り、それに対応した位置情報を返す機能を持つ。具体的には、読み込み制御部１４は、クライアント側インターフェイスＩＣからデータの読み込み条件を受け取って、その情報をインデックスＤＢ１０へ送信し、要求されたデータの断片の位置情報を取得し、読み込みを行う対象とする記憶装置Ｒを決定し、記憶装置側インターフェイスＩＲへ読み出し要求を行う。
【００３４】
読み込みデータバッファ２０は、クライアントＣから読み取りを依頼されたデータの一時保存を行う。そして、読み込みデータ構築部２２は、記憶装置Ｒから受け取ったデータから正しいデータ（整列されたデータ）を構築する。つまり、読み込みデータ構築部２２は、クライアントＣに送信する準備が整い次第、クライアント側インターフェイスＩＣへ送信命令を行う時に、読み込みデータバッファ２０からデータを読み出して、クライアントＣに送信する。
【００３５】
図３に示す書き込み用仲介装置１Ｗは、クライアント側インターフェイスＩＣ、記憶装置側インターフェイスＩＲ、インデックスＤＢ１０、書き込み制御部１８、書き込みデータバッファ２４、書き込み結果処理部２６を含めて構成される。以下、図２に示した読み込み用仲介装置１Ｒの構成要素と同じものの説明は省略しつつ、書き込み用仲介装置１Ｗの各構成要素を具体的に説明する。
【００３６】
クライアント側インターフェイスＩＣは、クライアントＣと通信を行う際のインターフェイスである。そして、クライアント側インターフェイスＩＣは、書き込み処理に関して、２つの機能を有する。１つはクライアントＣからデータの更新もしくは新規保存の要求と、保存するデータの受信を行う機能であり、もう１つはクライアントＣが要求したデータの保存が正常に終了したのか、それとも失敗したのかを、クライアントＣへ通知する機能である。クライアント側インターフェイスＩＣは複数のクライアントＣからの要求を同時に待ち受けることができる。
【００３７】
記憶装置側インターフェイスＩＲは、記憶装置Ｒと通信を行う際のインターフェイスである。そして、記憶装置側インターフェイスＩＲは、書き込み処理に関して、遠隔ＩＰネットワークＮＲに接続されている記憶装置Ｒへ書き込み命令を行い、その結果を取得するものである。この記憶装置側インターフェイスＩＲは複数であることが基本であるが、書き込みを行うデータのサイズが非常に小さいときや、記憶装置Ｒの空き容量の問題で複数の記憶装置Ｒに分散して保存できない場合などには、単体となることもある。
【００３８】
インデックスＤＢ１０は、書き込みたいファイルの名前などの情報を受け取り、データの更新であるか新規保存であるかの判断を行い、ファイルサイズを受け取り、どの記憶装置Ｒにそのデータを記録する余裕があるかを返す。そのため、インデックスＤＢ１０は、使用済領域テーブル１６に加え、記憶装置Ｒの未使用ブロックの位置を管理する未使用領域テーブル１２（図４参照）をさらに有する。この未使用領域テーブル１２は、クライアントＣが１つの記憶装置Ｒとして見なす記憶装置Ｒ群の情報が管理されている。それぞれの記憶装置ＲにはＩＤが割り振られ、そのＩＤによって記憶装置Ｒが一意に識別される。ＩＰアドレスとＩＤが対応づけられていて、この情報を利用することによってネットワーク上の位置が特定できる。容量、未使用ブロックの情報はファイルの更新、ファイルの新規保存を行う際に利用される。
【００３９】
図４に示す未使用領域テーブル１２は、遠隔ＩＰネットワークＮＲに位置する記憶装置Ｒ、その記憶装置ＲのＩＰアドレス、その記憶装置ＲのＩＤ、その記憶装置Ｒの記憶可能な容量、その記憶装置Ｒの記憶可能な未使用ブロック、の対応表である。例えば、記憶装置Ｒ（ＩＤ＝Ａ）には、未使用ブロックとして、１０１〜１２０という第１のブロックと、１７１〜２００という第２のブロックという２つのブロックが存在する。
【００４０】
書き込み制御部１８は、クライアントＣから書き込みを依頼されたデータを記憶装置Ｒに書き込む。具体的には、書き込み制御部１８は、インデックスＤＢ１０へ書き込みデータの条件を送信し、更新元ファイルの位置情報や記憶装置Ｒの空き状況を取得する。取得した情報から得られる条件を考慮して、受け取ったデータをどのように分割し、どの記憶装置Ｒに保存するのが適切であるかを判断して、書き込みを行う記憶装置Ｒを選択する。選択された記憶装置側インターフェイスＩＲに対して、書き込みデータバッファ２４に保存されているデータの断片を保存するように命令を行う。
【００４１】
書き込みデータバッファ２４は、クライアントＣから書き込みを依頼されたデータの一時保存を行う。よって、書き込みデータバッファ２４は、クライアントＣからのデータ受け渡し処理に遅延が生じないように大容量の高速メモリなどで構成される。そして、書き込みデータバッファ２４は、クライアント側インターフェイスＩＣが受け取ったデータを一時保存する。
【００４２】
書き込み結果処理部２６は、書き込みがすべて正常に終了したかどうかを判定する。すべて成功であった場合、書き込み結果処理部２６は、インデックスＤＢ１０に結果の更新を行い、クライアント側インターフェイスＩＣに対して、クライアントＣに保存が成功したことを伝えるように命令を行う。書き込みが何らかの理由により失敗した場合、書き込み結果処理部２６は、クライアントＣに失敗通知するように命令し、これまで行われた書き込み作業をすべて取り消す処理を行う。
【００４３】
図６は、読み込み用仲介装置１Ｒによるデータの読み込み処理を示すフローチャートである。この図６の処理における通信メッセージを、図７に示す。
【００４４】
まず、読み込み用仲介装置１Ｒは、クライアントＣから読み込み要求Ｐ１１を受信する（Ｓ１０１）。次に、読み込み制御部１４は、読み込み要求Ｐ１１をもとに、インデックスＤＢ１０から読み込みデータの位置情報を取得する（Ｓ１０２）。そして、記憶装置側インターフェイスＩＲは、読み込みデータの位置情報をもとに、各記憶装置Ｒに読み込みデータを要求するメッセージ（データ断片要求Ｐ１２）を送信する（Ｓ１０３）。
【００４５】
さらに、記憶装置側インターフェイスＩＲは、Ｓ１０３の読み込みデータへの応答として、各記憶装置Ｒから読み込みデータ（データ断片Ｐ１３）を取得する（Ｓ１０４）。そして、読み込みデータ構築部２２は、Ｓ１０４で受信した読み込みデータを、ファイルの順序に従って読み込みデータバッファ２０に格納することで、読み込みデータを整列する（Ｓ１０５）。さらに、クライアント側インターフェイスＩＣは、Ｓ１０５で整列された読み込みデータ（データＰ１４）を読み込みデータバッファ２０から順次読み取り、クライアントＣに送信する（Ｓ１０６）。
【００４６】
図８は、データの書き込み処理を示すフローチャートである。この図８の処理における通信メッセージを、図９に示す。
【００４７】
まず、書き込み用仲介装置１Ｗは、クライアントＣから書き込み要求とデータＰ２１を受信する（Ｓ２０１）。次に、書き込み制御部１８は、Ｓ２０１で受信した書き込みデータを書き込みデータバッファ２４に一次保存する（Ｓ２０２）。そして、記憶装置側インターフェイスＩＲは、各記憶装置Ｒに書き込みデータの保存を要求するメッセージ（書き込み要求とデータＰ２２）を送信する（Ｓ２０３）。
【００４８】
そして、記憶装置側インターフェイスＩＲは、Ｓ２０３への返答として、各記憶装置Ｒから書き込み結果Ｐ２３を取得する（Ｓ２０４）。なお、書き込み結果Ｐ２３は、例えば、書き込み成功または書き込み失敗のいずれかを示す成功フラグである。さらに、書き込み結果処理部２６は、インデックスＤＢ１０にＳ２０４の書き込み結果を反映（更新）する（Ｓ２０５）。そして、クライアント側インターフェイスＩＣは、Ｓ２０５で更新されたインデックスＤＢ１０をもとに、ファイル全体の書き込み結果Ｐ２４をクライアントＣに送信する（Ｓ２０６）。
【００４９】
以上説明した本実施形態の要約は、次の通りである。本実施形態は、クライアントＣが複数ネットワークに分散設置された記憶装置Ｒへデータの読み書きを行う方式とその装置に関するものである。つまり、本実施形態は、一塊のデータを複数の記憶装置Ｒに分散して格納することで、データの書き込み、読み出しを並列処理する。内部ネットワークを構成する装置は、クライアントＣ、データ仲介装置１および、記憶装置Ｒである。なお、クライアントＣは、従来技術の同一ネットワーク内に設置された記憶装置Ｒに読み書きを行う機能を有する。
【００５０】
よって、遠隔ネットワークに分散して設置された記憶装置Ｒを利用したデータの読み書きを行う際、自ネットワーク内に設置されたデータ仲介装置１を介してアクセスをする。クライアントＣに対して、データ仲介装置１は、従来技術で実現されている内部ネットワークに設置された記憶装置Ｒに見せかけて動作をするため、各クライアントＣに追加の投資が不要となる。これによって、各クライアントＣにかかる負荷の増加を抑制され、データ仲介装置１の導入コストだけで済むようになる。
【００５１】
具体的には、データ仲介装置１は、クライアントＣから一塊のデータを一旦受け取った上でデータの読み書きを行う。データ仲介装置１は、一塊のデータを分解して並列に記憶装置Ｒに書き込み、読み出し時には並列して記憶装置Ｒから読み出し、ばらばらのデータの順番を整えてクライアントＣ端末に渡す処理を行う。
【００５２】
データ仲介装置１として機能する際に必要な手段は、クライアントＣから読み込み要求を受け付け、要求されたデータが保存されている１つ以上の遠隔に位置する記憶装置Ｒを選択し、選択された各遠隔記憶装置Ｒからデータ全体もしくは断片を取得し、取得したデータを１つのデータに構築してクライアントＣに返送する手段と、クライアントＣから書き込み要求を受け付け、要求されたデータを書き込むのに適した適切な遠隔記憶装置Ｒを１つ以上選択し、選択された記憶装置Ｒに対して対象のデータ全体もしくは断片を書き込むように要求を行い、その成否をクライアントＣに通知する手段である。
【００５３】
これにより、データ仲介装置１は、内部ネットワークに対して、従来技術で実現されているネットワークに接続された記憶装置Ｒとして動作をして、クライアントＣから受け取ることが可能である。また、受け取った読み書きの要求を遠隔の記憶装置Ｒに対して更新させる機能を有する。記憶装置Ｒは、データ仲介装置１からの要求に従い、データの断片を読み出し、書き込みをすることが可能である。このとき、クライアントＣがデータ仲介装置１を介して遠隔に位置する記憶装置Ｒの集合に対してデータを読み書きする。
【００５４】
以上説明した本発明は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。
【００５５】
例えば、クライアントＣからデータ仲介装置１、データ仲介装置１から各遠隔の記憶装置Ｒの間で通信が行われるが、この通信の方法としてｉＳＣＳＩを利用することとしてもよいし、別の一般的なデータのアクセス制御のプロトコルを用いてもよい。
【００５６】
また、データ仲介装置１が記憶装置Ｒに読み書きするデータとして、クライアントＣから読み書きを要求されたデータそのものでもよいし、その要求されたデータから生成されるデータでもよい。なお、生成されるデータは、例えば、パリティ符号などのデータ誤りを検出する符号、ハミング符号などのデータ誤りを訂正する符号などである。そして、データ仲介装置１は、同じデータについて、１つの記憶装置Ｒのみに書き込みを行うこととしてもよいし、複数の記憶装置Ｒにコピーして書き込みを行うこととしてもよい。これにより、データの冗長化が実現できるので、障害に強い（信頼性の高い）システムを構築することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態に関する通信システムを示す構成図である。
【図２】本発明の一実施形態に関する読み込み用仲介装置を示す構成図である。
【図３】本発明の一実施形態に関する書き込み用仲介装置を示す構成図である。
【図４】本発明の一実施形態に関する未使用領域テーブルを示す構成図である。
【図５】本発明の一実施形態に関する使用済領域テーブルを示す構成図である。
【図６】本発明の一実施形態に関するデータの読み込み処理を示すフローチャートである。
【図７】本発明の一実施形態に関するデータの読み込み処理における通信を示す説明図である。
【図８】本発明の一実施形態に関するデータの書き込み処理を示すフローチャートである。
【図９】本発明の一実施形態に関するデータの書き込み処理における通信を示す説明図である。
【符号の説明】
【００５８】
Ｃ      クライアント
Ｒ      記憶装置
１      データ仲介装置
１Ｒ    読み込み用仲介装置
１Ｗ    書き込み用仲介装置
ＩＣ    クライアント側インターフェイス
ＩＲ    記憶装置側インターフェイス
１０    インデックスＤＢ
１２    未使用領域テーブル
１４    読み込み制御部
１６    使用済領域テーブル
１８    書き込み制御部
２０    読み込みデータバッファ
２２    読み込みデータ構築部
２４    書き込みデータバッファ
２６    書き込み結果処理部
【図１】
2006155398.tif 000003
【図２】
2006155398.tif 000004
【図３】
2006155398.tif 000005
【図４】
2006155398.tif 000006
【図５】
2006155398.tif 000007
【図６】
2006155398.tif 000008
【図７】
2006155398.tif 000009
【図８】
2006155398.tif 000010
【図９】
2006155398.tif 000011