(57)【要約】【課題】送信装置と受信装置との間で、データ送信の高信頼化及び高速化の両方を実現すると共に、できる限り既存技術を用いることによってコスト低減を実現することができる送信装置、受信装置及びプログラムを提供する。【解決手段】送信装置１は、データを、周辺装置へ出力するフレーム形式に生成するＳＣＳＩレイヤ１０２と、それから出力されたデータフレームを、ＲＡＩＤに基づいて複数のデータフレームに分割し且つ冗長化するＲＡＩＤ制御レイヤ１０３と、それから出力された複数のデータフレームを、ＵＤＰ／ＩＰパケットにカプセル化して送信するＩＰレイヤ１０４とを有する。【選択図】図２
2009124276.tif 000002
【特許請求の範囲】
【請求項１】
データを送信する送信装置において、
前記データを、周辺装置へ出力するフレーム形式に生成する周辺装置出力インタフェース手段と、
前記周辺装置出力インタフェース手段から出力されたデータフレームを、ＲＡＩＤ(Redundant Array of Independent Disks)に基づいて複数のデータフレームに分割し且つ冗長化するＲＡＩＤ制御手段と、
前記ＲＡＩＤ制御手段から出力された複数のデータフレームを、ＩＰ(Internet Protocol)パケットにカプセル化して送信するＩＰレイヤ手段と
を有することを特徴とする送信装置。
【請求項２】
前記ＩＰレイヤ手段は、前記複数のデータフレームを、異なるネットワーク経路によって送信することを特徴とする請求項１に記載の送信装置。
【請求項３】
前記ＩＰレイヤ手段は、前記複数のデータフレームを、ＵＤＰ(User Datagram Protocol)によって送信することを特徴とする請求項１又は２に記載の送信装置。
【請求項４】
前記ＲＡＩＤ制御手段は、送信すべきデータのサイズに応じて、前記データフレームの分割数を変更することを特徴とする請求項１から３のいずれか１項に記載の送信装置。
【請求項５】
前記ＲＡＩＤ制御手段は、前記データのサイズに応じて、ＲＡＩＤ１又はＲＡＩＤ３を用い、前記データが大きくなるに従って、ＲＡＩＤ３における分割数を増加することを特徴とする請求項１から４のいずれか１項に記載の送信装置。
【請求項６】
前記ＲＡＩＤ制御手段は、ネットワークの輻輳状態に応じて、ＲＡＩＤ１又はＲＡＩＤ３を用い、ネットワークにおけるフレーム損失率が低くなるに従って、ＲＡＩＤ３における冗長フレーム数を減少することを特徴とする請求項１から５のいずれか１項に記載の送信装置。
【請求項７】
前記ＲＡＩＤ制御手段は、受信装置からの受信誤りメッセージ（ＮＡＣＫ）の受信数に基づいて、前記フレーム損失率を判断することを特徴とする請求項６に記載の送信装置。
【請求項８】
前記ＲＡＩＤ制御手段は、受信装置からの受信誤りメッセージ（ＮＡＣＫ）を受信した際に、受信されなかったデータフレームのみを再送することを特徴とする請求項７に記載の送信装置。
【請求項９】
前記ＲＡＩＤ制御手段は、受信装置からの受信誤りメッセージ（ＮＡＣＫ）を一定時間受信しなかった際に、再送信のためのデータフレームを削除することを特徴とする請求項８に記載の送信装置。
【請求項１０】
前記周辺装置出力インタフェース手段は、外部記憶装置へデータを出力するＳＣＳＩ(Small System Computer System Interface)であることを特徴とする請求項１から９のいずれか１項に記載の送信装置。
【請求項１１】
請求項１から１０のいずれか１項に記載の送信装置から、ＩＰパケットを受信する受信装置において、
前記ＩＰパケットから、前記データフレームを取得するＩＰレイヤ手段と、
複数のデータフレームを、ＲＡＩＤに基づいて１つのデータフレームに復元するＲＡＩＤ制御手段と、
前記ＲＡＩＤ制御手段から出力された１つのデータフレームを、周辺装置から入力されるデータフレームとして処理する周辺装置入力インタフェース手段と
を有することを特徴とする受信装置。
【請求項１２】
前記ＩＰレイヤ手段は、前記複数のデータフレームを、ＵＤＰによって受信することを特徴とする請求項１１に記載の受信装置。
【請求項１３】
前記ＩＰレイヤ手段は、前記ＲＡＩＤ制御手段についてデータフレームを復元するために十分なデータフレームを受信できなかった際に、前記送信装置へ受信誤りメッセージ（ＮＡＣＫ）を送信することを特徴とする請求項１１又は１２に記載の受信装置。
【請求項１４】
前記ＩＰレイヤ手段は、前記受信誤りメッセージ（ＮＡＣＫ）をＴＣＰ(Transmission Control Protocol)によって送信することを特徴とする請求項１１から１３のいずれか１項に記載の受信装置。
【請求項１５】
前記周辺装置入力インタフェース手段は、外部記憶装置へデータを出力するＳＣＳＩであることを特徴とする請求項１１から１４のいずれか１項に記載の受信装置。
【請求項１６】
データを送信する送信装置に搭載されたコンピュータを機能させるプログラムにおいて、
前記データを、周辺装置へ出力するフレーム形式に生成する周辺装置出力インタフェース手段と、
前記周辺装置出力インタフェース手段から出力されたデータフレームを、ＲＡＩＤに基づいて複数のデータフレームに分割し且つ冗長化するＲＡＩＤ制御手段と、
前記ＲＡＩＤ制御手段から出力された複数のデータフレームを、ＩＰパケットにカプセル化して送信するＩＰレイヤ手段と
してコンピュータを機能させることを特徴とする送信装置用のプログラム。
【請求項１７】
請求項１から１０のいずれか１項に記載の送信装置から、ＩＰパケットを受信する受信装置に搭載されたコンピュータを機能させるプログラムにおいて、
前記ＩＰパケットから、前記データフレームを取得するＩＰレイヤ手段と、
複数のデータフレームを、ＲＡＩＤに基づいて１つのデータフレームに復元するＲＡＩＤ制御手段と、
前記ＲＡＩＤ制御手段から出力された１つのデータフレームを、周辺装置から入力されるデータフレームとして処理する周辺装置入力インタフェース手段と
してコンピュータを機能させることを特徴とする受信装置用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ(Internet Protocol)ネットワークを介して、データパケットを送受信する送信装置、受信装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ＩＰネットワークを介してデータパケットを送受信するための代表的なプロトコルとして、ＴＣＰ(Transmission Control Protocol)がある。ＴＣＰは、データパケットを受信した受信装置が、送信装置へ確認応答メッセージ（ＡＣＫ）を返信することにより、データパケットの到達性を保証する。データパケットを損失しても、送信装置が、そのデータパケットを再送信することにより、データ転送の高信頼化を実現する。しかしながら、送信装置は、確認応答メッセージを待つために、遅延が大きいネットワークを介した場合、送信レートが低下する。
【０００３】
これに対し、高速化を実現するためにＵＤＰ(User Datagram Protocol)がある。しかしながら、ＵＤＰは、確認応答メッセージを返信しないために、データパケットの到達性が保証されていない。この場合、データ転送の高信頼化を実現することができない。データ転送の高信頼化のためには、データパケットにパリティパケットを追加して送信する技術がある（例えば特許文献１参照）。この技術は、一定個数のデータパケットに対してパリティパケットを付与することで、データ損失が発生した場合でもデータ到達の確率を向上させることができる。
【０００４】
このようなＩＰネットワークを介してデータを送受信する技術とは異なって、１台のホスト装置が、ストレージディスクのような周辺装置とデータを入出力する技術がある（例えば特許文献２参照）。
【０００５】
図１は、周辺装置に接続されたホスト装置のレイヤ構成図である。
【０００６】
図１によれば、１台のホスト装置３が、ストレージディスクである周辺装置４に接続されている。ホスト装置３は、データを周辺装置４に対して入出力をするファイルシステムのアプリケーションレイヤ３０１と、周辺装置入出力インタフェースであるＳＣＳＩ(Small System Computer System Interface)レイヤ３０２と、周辺装置４と接続するＨＢＡ(Host Bus Adapter)部３０６とを有する。ＳＣＳＩレイヤ３０２は、ＨＢＡ部３０６によって周辺装置４と接続されたパラレルバスを介して、ブロックデータを送受信する。
【０００７】
周辺装置４は、ホスト装置３に、パラレルバスを介して接続されたＲＡＩＤ(Redundant Array of Independent Disks)制御レイヤ４０３と、複数のディスク４０７と有する。ＲＡＩＤ制御レイヤ４０３は、複数のディスクを組み合わせて１つのディスクとして取り扱い、大容量化、高速アクセス化及び高信頼化を実現する。
【０００８】
更に、ＳＣＳＩコマンド又はレスポンスをＴＣＰパケットにカプセル化することによって、従来のパラレルバスに基づくＳＣＳＩトランスポートを、ＩＰネットワークによるトランスポートに置き換える技術もある（例えば非特許文献１参照）。この技術は、ホスト装置が、ＩＰネットワークを介してストレージディスクにアクセスすることができる（ＩＰ−ＳＡＮ：IP-Storage Area Network）。
【０００９】
【特許文献１】ＷＯ２００５／０２９８０６
【特許文献２】特開平１０−３０７６８７号公報
【非特許文献１】青木直孝、日本アイ・ビー・エム、「特集：最新ＩＰストレージ技術「ｉＳＣＳＩ」、［online］、２００２年１０月５日、＠ＩＴ、［平成１９年８月５日検索］、インターネット＜URL:http://www.atmarkit.co.jp/fnetwork/tokusyuu/16iscsi/iscsi02.html＞
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術によれば、ホスト装置とストレージディスクとの間にＩＰネットワークを介した場合、データの高信頼化を実現するためにＴＣＰを用いている。しかしながら、ＴＣＰを用いた場合、ディスクアクセスに重要な高速性が低下せざるを得ない。これは、ホスト装置とストレージディスクとの関係でなく、送信装置と受信装置との関係で考えた場合も同様である。また、一定個数のデータに対して冗長化する場合、冗長化に十分なデータが揃わないと送信できない。
【００１１】
そこで、本発明は、送信装置と受信装置との間で、データ送信の高信頼化及び高速化の両方を実現すると共に、できる限り既存技術を用いることによってコスト低減を実現することができる送信装置、受信装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、データを送信する送信装置において、
データを、周辺装置へ出力するフレーム形式に生成する周辺装置出力インタフェース手段と、
周辺装置出力インタフェース手段から出力されたデータフレームを、ＲＡＩＤに基づいて複数のデータフレームに分割し且つ冗長化するＲＡＩＤ制御手段と、
ＲＡＩＤ制御手段から出力された複数のデータフレームを、ＩＰパケットにカプセル化して送信するＩＰレイヤ手段と
を有することを特徴とする。
【００１３】
本発明の送信装置における他の実施形態によれば、ＩＰレイヤ手段は、複数のデータフレームを、異なるネットワーク経路によって送信することも好ましい。
【００１４】
本発明の送信装置における他の実施形態によれば、ＩＰレイヤ手段は、複数のデータフレームを、ＵＤＰによって送信することも好ましい。
【００１５】
本発明の送信装置における他の実施形態によれば、送信すべきデータのサイズに応じて、データフレームの分割数を変更することも好ましい。
【００１６】
本発明の送信装置における他の実施形態によれば、ＲＡＩＤ制御手段は、送信すべきデータのサイズに応じて、ＲＡＩＤ１又はＲＡＩＤ３を用い、送信すべきデータが大きくなるに従って、ＲＡＩＤ３における分割数を増加することも好ましい。
【００１７】
本発明の送信装置における他の実施形態によれば、ＲＡＩＤ制御手段は、ネットワークの輻輳状態に応じて、ＲＡＩＤ１又はＲＡＩＤ３を用い、ネットワークにおけるフレーム損失率が低くなるに従って、ＲＡＩＤ３における冗長フレーム数を減少することも好ましい。
【００１８】
本発明の送信装置における他の実施形態によれば、ＲＡＩＤ制御手段は、受信装置からの受信誤りメッセージ（ＮＡＣＫ）の受信数に基づいて、フレーム損失率を判断することも好ましい。
【００１９】
本発明の送信装置における他の実施形態によれば、ＲＡＩＤ制御手段は、受信装置からの受信誤りメッセージ（ＮＡＣＫ）を受信した際に、受信されなかったデータフレームのみを再送することも好ましい。
【００２０】
本発明の送信装置における他の実施形態によれば、ＲＡＩＤ制御手段は、受信装置からの受信誤りメッセージ（ＮＡＣＫ）を一定時間受信しなかった際に、再送信のためのデータフレームを削除することも好ましい。
【００２１】
本発明の送信装置における他の実施形態によれば、周辺装置出力インタフェース手段は、外部記憶装置へデータを出力するＳＣＳＩ(Small System Computer System Interface)であることも好ましい。
【００２２】
本発明によれば、前述した送信装置から、送信装置から、ＩＰパケットを受信する受信装置において、
ＩＰパケットから、データフレームを取得するＩＰレイヤ手段と、
複数のデータフレームを、ＲＡＩＤに基づいて１つのデータフレームに復元するＲＡＩＤ制御手段と、
ＲＡＩＤ制御手段から出力された１つのデータフレームを、周辺装置から入力されるデータフレームとして処理する周辺装置入力インタフェース手段と
を有することを特徴とする。
【００２３】
本発明の受信装置における他の実施形態によれば、ＩＰレイヤ手段は、複数のデータフレームを、ＵＤＰによって受信することも好ましい。
【００２４】
本発明の受信装置における他の実施形態によれば、ＩＰレイヤ手段は、ＲＡＩＤ制御手段についてデータフレームを復元するために十分なデータフレームを受信できなかった際に、送信装置へ受信誤りメッセージ（ＮＡＣＫ）を送信することも好ましい。
【００２５】
本発明の受信装置における他の実施形態によれば、ＩＰレイヤ手段は、受信誤りメッセージ（ＮＡＣＫ）をＴＣＰ(Transmission Control Protocol)によって送信することも好ましい。
【００２６】
本発明の受信装置における他の実施形態によれば、周辺装置入力インタフェース手段は、外部記憶装置へデータを出力するＳＣＳＩであることも好ましい。
【００２７】
本発明によれば、データを送信する送信装置に搭載されたコンピュータを機能させるプログラムにおいて、
データを、周辺装置へ出力するフレーム形式に生成する周辺装置出力インタフェース手段と、
周辺装置出力インタフェース手段から出力されたデータフレームを、ＲＡＩＤに基づいて複数のデータフレームに分割し且つ冗長化するＲＡＩＤ制御手段と、
ＲＡＩＤ制御手段から出力された複数のデータフレームを、ＩＰパケットにカプセル化して送信するＩＰレイヤ手段と
してコンピュータを機能させることを特徴とする。
【００２８】
本発明によれば、前述した送信装置から、ＩＰパケットを受信する受信装置に搭載されたコンピュータを機能させるプログラムにおいて、
ＩＰパケットから、データフレームを取得するＩＰレイヤ手段と、
複数のデータフレームを、ＲＡＩＤに基づいて１つのデータフレームに復元するＲＡＩＤ制御手段と、
ＲＡＩＤ制御手段から出力された１つのデータフレームを、周辺装置から入力されるデータフレームとして処理する周辺装置入力インタフェース手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００２９】
本発明の送信装置、受信装置及びプログラムによれば、送信装置と受信装置との間で、ＲＡＩＤの分割・冗長化技術を用いることによってデータ送信の高信頼化を実現し、ＵＤＰを用いることによって高速化を実現することができる。また、ＲＡＩＤコントローラは、ディスクアクセス制御チップとして既存のものであり、そのチップを通信に用いることによって、コスト低減を実現することもできる。更に、単一のデータパケットを分割して実現するため、冗長化する際に他のデータパケットの待ち時間が発生しない。
【発明を実施するための最良の形態】
【００３０】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００３１】
図２は、本発明における送信装置及び受信装置のレイヤ構成図である。
【００３２】
図２によれば、上位層から下位層へ向けて、ファイルシステムや外部機器とのインタフェースとしてのアプリケーションレイヤ１０１（２０１）、ＳＣＳＩレイヤ１０２（２０２）、ＲＡＩＤ制御レイヤ１０３（２０３）、ＵＤＰ／ＩＰレイヤ１０４（２０４）及びデータ送受信レイヤ１０５（２０５）を有する。ここでは、送信装置１のアプリケーションレイヤ１０１が、受信装置２のアプリケーションレイヤ２０１に向けて、データを送信している。
【００３３】
ＳＣＳＩは、クライアント／サーバモデルであり、コマンドを発行するホスト装置側の「イニシエータ」と、そのレスポンスを返信する周辺装置側の「ターゲット」とから構成される。図２によれば、送信装置１のＳＣＳＩレイヤ１０２は「イニシエータ」として機能し、受信装置２のＳＣＳＩレイヤ２０２は「ターゲット」として機能する。また、ＳＣＳＩは、パラレルバスがデータ８本＋パリティ１本からなり、各データ線にはＳＣＳＩ−ＩＤが付与される。また、ＳＣＳＩレイヤ１０２は、ＲＡＩＤ制御レイヤ１０３を、１つのディスクのように見ることができる。
【００３４】
ＲＡＩＤは、複数のディスクを組み合わせて１つのディスクとして取り扱い、大容量化、高速アクセス化及び高信頼化を実現する。従来技術について、データを複数のディスクへ書き込む動作は、本発明における、データを複数のパケットとして送信する動作に対応付けられている。
【００３５】
代表的なＲＡＩＤのレベルとして、ＲＡＩＤ０、１、０＋１、２、３、４、５、６がある。尚、ＲＡＩＤ２は利用用途が少なく、ＲＡＩＤ４〜６はランダムアクセス性を向上させた技術であるので、ＩＰネットワークを介してデータを送信する本発明に対して、適用する可能性は低い。本発明は、ＵＤＰのような高速且つ低信頼ネットワークを介してデータを送受信する装置間に、高信頼化（データパケットの到達性の保証）を提供する。従って、図２に基づくＲＡＩＤ制御レイヤ１０３（２０３）には、高信頼化に寄与するＲＡＩＤ１及びＲＡＩＤ３の技術を適用する。尚、理解を順序良く容易にするために、以下では、一般的なＲＡＩＤ０、１、０＋１、３について、ディスクを想定して説明する。
【００３６】
［ＲＡＩＤ０］
データを複数のディスクに分散させ、且つ、同時にディスクアクセスをする（ストライピング）ことによって、大容量化及び高速アクセス化を実現する技術である。例えば、第１のデータ、第２のデータ及び第３のデータが、それぞれのディスクに同時に書き込むことによって、見かけ上シーク時間又は回転待ち時間をなくす。しかしながら、１つのディスクが故障するだけで、全てのデータを失うこととなり、データ保護機能を有さない。
【００３７】
［ＲＡＩＤ１］
同じデータを２台のディスクに保存する（ミラーリング）ことによって、一方のディスクが故障しても、他方のディスクによってデータを読み出すことによって、高信頼化を実現する技術である。例えば、第１のデータを複製して２つ生成し、それぞれのディスクに同時に書き込むことによって、２つのディスクはミラーリングされる。しかしながら、２台のディスクにデータを書き込むために書込レートは低下し、高速アクセス機能を有さない。また、利用可能なディスク容量は、実装容量の半分となる。
【００３８】
［ＲＡＩＤ０＋１（ＲＡＩＤ１０，ＲＡＩＤ０１）］
ＲＡＩＤ０及びＲＡＩＤ１の機能を組み合わせることによって、高速アクセス性とデータ安全性とを向上させた技術である。少なくとも４台のディスクを使用し、２つのディスクのセットでＲＡＩＤ１を構成し、更に２つのセットでＲＡＩＤ０を構成する。
【００３９】
［ＲＡＩＤ３］
ｎ台のディスクのうち、ｎ−１台のディスクには、データをそれぞれに分散させて同時に書き込み、１台のディスクには、パリティのみを記録する。例えば、ｎ＝５台のディスクで４Ｋバイトのデータを保存する場合、ｎ−１＝４台のディスクには、それぞれ１Ｋバイトずつ同時に書き込み、１台のディスクには、そのパリティのみを記録する。これによって、いずれか１台のディスクが故障してもデータを復旧することができるので、高信頼化を実現する。また、ｎ−１台のディスクへの同時アクセスによって、高速アクセス化も実現し、ＲＡＩＤ１及びＲＡＩＤ０＋１と比較して実装容量に対する大容量化も実現する。ＲＡＩＤ３は、１アクセスに対して必ずｎ−１台のディスクが占有されるために、小さいブロックによるランダムアクセスには向かない。しかし、大容量データの順次アクセスに適する。従って、送信装置と受信装置との間で、大容量データをシーケンシャルに通信するファイル転送には、適する。
【００４０】
図２によれば、送信装置１のＲＡＩＤ制御レイヤ１０３は、データフレームを分割し且つ冗長化した複数のデータフレームを生成する。それらデータフレームは、ＵＤＰ／ＩＰレイヤ１０４へ出力される。一方で、受信装置２のＲＡＩＤ制御レイヤ２０３は、分割され且つ冗長化された複数のデータフレームから、１つのデータフレームに復元する。そのデータフレームは、ＳＣＳＩレイヤ２０２へ出力される。
【００４１】
ここで、ＲＡＩＤ制御レイヤ１０３は、送信すべきデータのサイズと、ＵＤＰ／ＩＰレイヤ１０４で送信可能なＭＴＵ(Maximum Transmission Unit)サイズに応じて、データフレームの分割数を変更する。ＭＴＵサイズとは、一度に送信できるデータのサイズ（１つのパケットのデータサイズ）を意味し、ネットワークのプロトコル又は媒体毎の固有値である。例えば、ＩＰｖ４の場合、最大６４Ｋｂｙｔｅである。しかし、このような大きいサイズの１つのデータパケットを送信することができる物理ネットワーク媒体はない。イーサネット（登録商標）の場合、最大１５００ｂｙｔｅである。このように一度に送信できるデータサイズを、ＭＴＵサイズという。
【００４２】
ＲＡＩＤ制御レイヤ１０３は、分割した複数のデータフレームの全てが、ＭＴＵサイズ以下となるように、データフレームの分割数を制御する。例えば、ＳＣＳＩレイヤ１０２から、ＭＴＵサイズに基づく分割数制御コマンドを受け取り、その制御に応じて、データフレームの分割数を変更することも好ましい。従って、送信すべき１つのデータフレームのサイズが、ＭＴＵサイズ以下である場合、ＲＡＩＤ制御レイヤ１０３は、ＲＡＩＤ１によってミラーリング化した２つのデータフレームを、ＵＤＰ／ＩＰレイヤ１０４へ出力する。また、送信すべき１つのデータフレームのサイズが、ＭＴＵサイズよりも大きい場合、ＲＡＩＤ制御レイヤ１０３は、１つのデータフレームがＭＴＵサイズ以下となるように分割し、更に１つのデータフレームにはパリティのみを含める。そして、分割された複数のデータフレームと１つのパリティフレームとを、ＵＤＰ／ＩＰレイヤ１０４へ出力する。
【００４３】
また、ネットワークにおけるフレーム損失率が高い場合、送信すべきデータをＭＴＵサイズ以下に分割し、ＲＡＩＤ１によってミラーリング化した２つのデータフレームを、ＵＤＰ／ＩＰレイヤ１０４へ出力する。また、ＲＡＩＤ制御レイヤ１０３でＲＡＩＤ６のように複数のパリティデータを付与できる場合、ネットワークにおけるフレーム損失率の増加に応じて冗長フレーム数を増加させ、ＵＤＰ／ＩＰレイヤ１０４へ出力する。フレーム損失率は受信装置からのＮＡＣＫの数によって判断する。
【００４４】
ＵＤＰ／ＩＰレイヤ１０４は、ＳＣＳＩ情報が付加され且つ冗長化された複数のデータフレームをＲＡＩＤ制御レイヤ１０３から受け取り、ＵＤＰ／ＩＰヘッダを付加したデータパケットを生成する。生成されたＵＤＰ／ＩＰパケットは、データ送受信レイヤ１０５へ出力される。
【００４５】
送信装置１のデータ送受信レイヤ１０５は、ＵＤＰ／ＩＰパケットを、ＩＰネットワークを介して受信装置２へ送信する。
【００４６】
受信装置２のデータ送受信レイヤ２０５は、ＩＰネットワークを介して、ＵＤＰ／ＩＰパケットを受信する。受信したＵＤＰ／ＩＰパケットは、ＵＤＰ／ＩＰレイヤ２０４へ出力される。ＵＤＰ／ＩＰレイヤ２０４は、ＵＤＰ／ＩＰパケットからＵＤＰ／ＩＰヘッダを除去し、それらデータフレームを、ＲＡＩＤ制御レイヤ２０３へ出力する。
【００４７】
受信装置２のＲＡＩＤ制御レイヤ２０３は、分割され且つ冗長化された複数のデータフレームから、ＲＡＩＤを用いて、１つのデータフレームへ復元する。ＲＡＩＤ１の場合、一方のデータフレームで誤りがあれば、他方のデータフレームによって復元できる。ＲＡＩＤ３の場合、１つのデータフレームに誤りがあれば、パリティビットを参照して復元することができる。
【００４８】
但し、同時に２つのデータフレームが誤った場合、復元することはできない。この場合、ＵＤＰ／ＩＰレイヤ２０４は、送信装置１へ、再送要求メッセージ（ＮＡＣＫ）を返信する。これによって、送信装置１のＵＤＰ／ＩＰレイヤ１０４は、再度、分割され且つ冗長化された複数のデータフレームを送信することができる。尚、再送されるデータフレームは、既存のＴＣＰを用いてもよいし、ＵＤＰ／ＩＰレイヤの中に再送シーケンス機能を独自に搭載するものであってもよい。再送するフレームは、分割され且つ冗長化された複数の全てのデータフレームでもよいし、フレームを損失したデータフレームのみを再送してもよい。
【００４９】
図３は、本発明における送信装置の機能的なシーケンス図である。
【００５０】
（Ｓ３０１）ＳＣＳＩレイヤ１０２は、最初に、ＲＡＩＤ制御レイヤ１０３へ、分割数制御コマンドを送信する。分割数制御コマンドは、送信すべきデータのサイズと、ＵＤＰ／ＩＰレイヤで送信可能なＭＴＵサイズとに応じて、データフレームの分割数を変更する。ＲＡＩＤ制御レイヤ１０３は、１つのデータフレームのサイズがＭＴＵサイズ以下である場合にはＲＡＩＤ１を用い、ＭＴＵサイズよりも大きい場合には、ＲＡＩＤ３を用いる。また、ネットワークにおけるフレーム損失率が高い場合にも、ＲＡＩＤ１を用いる。フレーム損失率は、受信装置からのＮＡＣＫによって判断する。
【００５１】
（Ｓ３０２）アプリケーションレイヤ１０１は、ＳＣＳＩレイヤ１０２へデータフレームを転送する。
【００５２】
（Ｓ３０３）ＳＣＳＩレイヤ１０２は、データフレームを受け取った際、ＲＡＩＤ制御レイヤ１０３へＳＣＳＩ書込コマンド(SCSI Write Command)を通知する。
【００５３】
（Ｓ３０４）ＲＡＩＤ制御レイヤ１０３は、ＳＣＳＩ書込コマンドを受け取った後、データフレームを受け取る用意が完了すると、転送開始要求(Ready To Transfer)をＳＣＳＩレイヤ１０２へ通知する。
【００５４】
（Ｓ３０５）ＳＣＳＩレイヤ１０２は、ＲＡＩＤ制御レイヤ１０３へ、データフレームを転送する。そのデータフレームには、ＳＣＳＩ制御ヘッダが付加されている。
【００５５】
（Ｓ３０６）ＲＡＩＤ制御レイヤ１０３は、ＳＣＳＩ制御ヘッダが付加されたデータフレームを、ＲＡＩＤ１又はＲＡＩＤ３によって分割し且つ冗長化する。分割され且つ冗長化された複数のデータフレームは、ＵＤＰ／ＩＰレイヤ１０４へ転送される。
【００５６】
（Ｓ３０７）ＵＤＰ／ＩＰレイヤ１０４は、分割され且つ冗長化された複数のデータフレームを、ＵＤＰ／ＩＰヘッダによってカプセル化する。それらＵＤＰ／ＩＰパケットは、データ送受信レイヤ１０５へ通知される。そして、データ送受信レイヤ１０５は、それらＵＤＰ／ＩＰパケットを、受信装置２へ送信する。
【００５７】
図４は、本発明における受信装置の機能的なシーケンス図である。
【００５８】
（Ｓ４０１）データ送受信レイヤ２０５は、送信装置１から、分割され且つ冗長化された複数のデータパケットを受信し、そのデータパケットをＵＤＰ／ＩＰレイヤ２０４へ転送する。
【００５９】
（Ｓ４０２）ＵＤＰ／ＩＰレイヤ２０４は、データパケットを受信した際に、ＲＡＩＤ制御レイヤ２０３へ受信通知を送信する。また、データパケットから、ＵＤＰ／ＩＰヘッダを取り除き、データフレームを取得する。
（Ｓ４０３）ＲＡＩＤ制御レイヤ２０３は、その受信通知を、ＳＣＳＩレイヤ２０２へ通知する。
【００６０】
（Ｓ４０４）ＳＣＳＩレイヤ２０２は、データフレームの受信の用意ができた際に、ＳＣＳＩ読出コマンド(SCSI Read Command)を、ＲＡＩＤ制御レイヤ２０３へ通知する。
（Ｓ４０５）ＲＡＩＤ制御レイヤ２０３は、ＵＤＰ／ＩＰレイヤ２０４へ、データフレームの転送要求を通知する。
【００６１】
（Ｓ４０６）ＵＤＰ／ＩＰレイヤ１０４は、転送要求を受け取ると、ＲＡＩＤ制御レイヤ２０３へデータパケットを転送する。ＲＡＩＤ制御レイヤ２０３は、分割され且つ冗長化された複数のデータパケットを受け取ると、ＲＡＩＤによって１つのデータフレームに復元する。
【００６２】
（Ｓ４０７）復元されたデータパケットは、ＳＣＳＩレイヤ２０２へ転送される。
【００６３】
（Ｓ４０８）ＳＣＳＩレイヤ２０２は、ＳＣＳＩ制御ヘッダを取り除いたデータパケットを、アプリケーションレイヤ２０１へ転送する。
【００６４】
図５は、本発明における例となるシーケンス図である。
【００６５】
図５のシステム構成によれば、送信装置１にユーザ端末５が接続され、受信装置２にサーバ６が接続されている。勿論、ユーザ端末５に送信装置１が組み込まれ、サーバ６に受信装置２が組み込まれたものであってもよい。
【００６６】
（Ｓ５０１）送信装置１は、受信装置２との間で、通信可能な状態にする。
（Ｓ５０２）ユーザ端末５は、送信装置１との間で、通信可能な状態にする。
（Ｓ５０３）送信装置１は、受信装置２へ接続要求を送信し、通信開始の旨を通知する。
（Ｓ５０４）受信装置２は、サーバ６との間で、通信可能な状態にする。
（Ｓ５０５）ユーザ端末５が、送信装置１へデータフレームを送信する。これに対し、送信装置１は、直ぐに確認応答メッセージ（ＡＣＫ）を、ユーザ端末５へ返信する。これによって、ユーザ端末５における送信レートが低下しない。
（Ｓ５０６）送信装置１は、送信すべきデータフレームを、ＲＡＩＤによって分割し且つ冗長化し、ＵＤＰ／ＩＰによって複数のデータパケットを受信装置２へ送信する。
（Ｓ５０７）受信装置２は、受信した複数のデータパケットを、ＲＡＩＤによって復元する。復元できた場合、データフレームをサーバ６へ送信する。
（Ｓ５０８）ユーザ端末５が、送信装置１へ次のデータフレームを送信する。これに対し、送信装置１は、直ぐに確認応答メッセージ（ＡＣＫ）を、ユーザ端末５へ返信する。
（Ｓ５０９）送信装置１は、送信すべきデータフレームを、ＲＡＩＤによって分割し且つ冗長化し、ＵＤＰ／ＩＰによって複数のデータパケットを受信装置２へ送信する。
（Ｓ５１０）受信装置２は、受信した複数のデータパケットを、ＲＡＩＤによって復元する。復元できなかった場合、受信装置２は、送信装置１へ受信誤りメッセージ（ＮＡＣＫ）を返信する。
（Ｓ５１１）送信装置１は、先に送信したデータパケットを、再度、送信する。
【００６７】
尚、再送シーケンスについて、送信装置１は、分割され且つ冗長化されたデータパケットの全てを再送信してもよいし、受信装置２における復元に最低限必要なデータパケットのみを再送信してもよい。また、受信装置２が確認応答メッセージ（ＡＣＫ）を送信しないものであってもよい。この場合、送信装置１は、受信装置２から、受信誤りメッセージ（ＮＡＣＫ）を受信することなく、ＲＴＴ＋αの時間経過後に、正常に受信されたものとして、再送信のためのデータパケットを削除することもできる。
【００６８】
また、他の実施形態として、送信装置１のアプリケーションレイヤ１０１によって、データサイズを削減する処理をすることも好ましい。例えば、送信すべきデータ列について、バイトパターンを認識し、以前に同じバイトパターンのデータを送信している場合、圧縮する機能を備えることもできる。
【００６９】
以上、詳細に説明したように、本発明の送信装置、受信装置及びプログラムによれば、送信装置と受信装置との間で、ＲＡＩＤの分割・冗長化技術を用いることによってデータ送信の高信頼化を実現し、ＵＤＰを用いることによって高速化を実現することができる。また、ＲＡＩＤコントローラは、ディスクアクセス制御チップとして既存のものであり、そのチップを通信に用いることによって、コスト低減を実現することもできる。更に、単一のデータパケットを分割して実現するため、冗長化する際に他のデータパケットの待ち時間が発生しない。
【００７０】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００７１】
【図１】周辺装置に接続されたホスト装置のレイヤ構成図である。
【図２】本発明における送信装置及び受信装置のレイヤ構成図である。
【図３】本発明における送信装置の機能的なシーケンス図である。
【図４】本発明における受信装置の機能的なシーケンス図である。
【図５】本発明における例となるシーケンス図である。
【符号の説明】
【００７２】
１  送信装置
１０１  アプリケーションレイヤ
１０２  ＳＣＳＩレイヤ
１０３  ＲＡＩＤ制御レイヤ
１０４  ＵＤＰ／ＩＰレイヤ
１０５  データ送受信レイヤ
２  受信装置
２０１  アプリケーションレイヤ
２０２  ＳＣＳＩレイヤ
２０３  ＲＡＩＤ制御レイヤ
２０４  ＵＤＰ／ＩＰレイヤ
２０５  データ送受信レイヤ
３  ホスト装置
３０１  アプリケーションレイヤ
３０２  ＳＣＳＩレイヤ
３０６  ＨＢＡ部
４  周辺装置
４０３  ＲＡＩＤ制御レイヤ
４０７  ディスク
５  ユーザ端末
６  サーバ
【図１】
2009124276.tif 000003
【図２】
2009124276.tif 000004
【図３】
2009124276.tif 000005
【図４】
2009124276.tif 000006
【図５】
2009124276.tif 000007