【手続補正書】
【提出日】平成25年4月11日(2013.4.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロック単位でデータを管理するストレージ装置に記憶されているファイルのデータをネットワークに転送するデータ転送装置であって、
第一ファイルのデータが前記ストレージ装置のどの位置に記憶されているかを示す第一マップ情報を含むメタデータを取得した外部のホストＣＰＵから、前記第一ファイルのデータの読み出し指示を受け、前記第一ファイルのデータを格納したブロックの読み出しコマンドを生成し、前記読み出しコマンドを前記ストレージ装置に送る発行部と、
前記読み出しコマンドに応じて前記ストレージ装置から読み出されるブロックデータを受け取り、前記外部のホストＣＰＵから前記第一マップ情報を受け取り、前記第一マップ情報に基づき、前記ブロックデータから前記第一ファイルのデータを抽出する送信データ抽出部と、
前記送信データ抽出部により抽出された前記第一ファイルのデータを、前記ネットワークに送信する通信処理部と、
を備えたデータ転送装置。
【請求項２】
ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）−Ｅｘｐｒｅｓｓカードとして構成された
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
ブロック単位でデータを管理するストレージ装置に記憶されているファイルのデータをネットワークに送信するデータ送信システムであって、
前記ストレージ装置に格納された第一ファイルのデータの送信指示を生成する第一アプリ処理部と、
前記送信指示に基づき、前記第一ファイルのデータが前記ストレージ装置上のどの位置に記憶されているかを示す第一マップ情報を含むメタデータの読み出し指示を生成するメタデータ読み出し指示部と、
前記メタデータの読み出し指示に基づき、前記メタデータの読み出しコマンドを生成し、前記ストレージ装置に送る第一発行部と、
前記ストレージ装置から返される前記メタデータに含まれる第一マップ情報に基づき、前記第一ファイルのデータの読み出し指示を生成する送信データ読み出し指示部と、
前記第一ファイルのデータの読み出し指示に基づき、前記第一ファイルのデータを格納したブロックの読み出しコマンドを生成し、前記読み出しコマンドを前記ストレージ装置に送る第二発行部と、
前記読み出しコマンドに応じて前記ストレージ装置から読み出されるブロックデータを受け取り、前記第一マップ情報に基づき、前記ブロックデータから前記第一ファイルのデータを抽出する送信データ抽出部と、
前記送信データ抽出部により抽出された前記第一ファイルデータを、前記ネットワークに送信する通信処理部と、
を備えたデータ送信システム。
【請求項４】
第二アプリ処理部と、
アプリデータ読み出し指示部と、
アプリデータ抽出部と、をさらに備え、
前記第二アプリ処理部は、第二ファイルのデータの取得指示を生成し、
前記第一発行部は、前記取得指示に基づき、前記第二ファイルのデータが前記ストレージ装置上のどの位置に記憶されているかを示す第二マップ情報を含むメタデータの読み出しコマンドを生成して、前記ストレージ装置に送り、
前記アプリデータ読み出し指示部は、前記ストレージ装置から返される前記メタデータに含まれる第二マップ情報に基づき、前記第二ファイルのデータの読み出し指示を生成し、
前記第二発行部は、前記第二ファイルのデータの読み出し指示に基づき、前記第二ファイルのデータを格納したブロックの読み出しコマンドを生成し、前記読み出しコマンドを前記ストレージ装置に送り、
前記アプリデータ抽出部は、前記ストレージ装置から読み出されるブロックデータを受け取り、前記第二マップ情報に基づき、前記ブロックデータから前記第二ファイルのデータを抽出し、抽出したデータを前記第二アプリ処理部に渡すことを特徴とする請求項３に記載のデータ送信システム。
【請求項５】
フロー制御部と、
データバッファ部と、
バッファ管理部をさらに備え、
前記第一アプリ処理部は、前記第一ファイルのデータを送信するコネクションを指定し、
前記データバッファ部は、コネクション毎のバッファを有し、前記送信データ抽出部により抽出されたデータを、前記第一アプリ処理部により指定されたコネクションに対応するバッファにバッファリングし、
前記通信処理部は、前記データバッファにおける前記バッファから前記データを読み出して送信し、
前記バッファ管理部は、前記指定されたコネクションに対応する前記バッファの空き状態を把握し、
前記フロー制御部は、前記送信データ読み出し指示部による前記送信データ読み出し指示を受け、読み出し指示された前記第一ファイルのデータのうち、まだ読み出されていない、前記空き状態に応じたサイズ分のデータの読み出し指示を生成して、前記第二発行部に送る、
ことを特徴とする請求項３に記載のデータ送信システム。  
【請求項６】
第三アプリ処理部と、
アプリデータ書き込み要求部と、
アプリデータ書き込み部と、をさらに備え、
前記第三アプリ処理部は、前記ストレージ装置上に存在しないアプリデータの送信指示を生成し、前記アプリデータを送信するコネクションを指定し、
前記バッファ管理部は、前記第三アプリ処理部により指定されたコネクションに対応するバッファの空き状態を把握し、
前記フロー制御部は、前記バッファの空き状態に応じたサイズ分のデータの書き込み許可信号を生成し、
前記アプリデータ書き込み部は、前記書き込み許可信号に基づいて、前記アプリデータのうち、まだ書き込んでいない前記サイズ分のデータを特定して、前記バッファに書き込み、
前記通信処理部は、前記コネクションに対応するバッファからデータを読み出して送信する、
ことを特徴とする請求項５に記載のデータ送信システム。
【請求項７】
前記第三アプリ処理部は、前記第一アプリ処理部と同じコネクションを指定する
ことを特徴とする請求項６に記載のデータ送信システム。
【請求項８】
ブロック単位でデータを管理するストレージ装置に記憶されているファイルデータをネットワークに送信するデータ送信方法であって、
前記ストレージ装置に格納された第一ファイルのデータの送信指示を生成するステップと、
前記送信指示に基づき、前記第一ファイルのデータが前記ストレージ装置上のどの位置に記憶されているかを示す第一マップ情報を含むメタデータの読み出し指示を生成するステップと、
前記メタデータの読み出し指示に基づき、前記メタデータの読み出しコマンドを生成し、前記ストレージ装置に送るステップと、
前記ストレージ装置から返される前記メタデータに含まれる第一マップ情報に基づき、前記第一ファイルのデータの読み出し指示を生成するステップと、
前記第一ファイルのデータの読み出し指示に基づき、前記第一ファイルのデータを格納したブロックの読み出しコマンドを生成し、前記読み出しコマンドを前記ストレージ装置に送るステップと、
前記読み出しコマンドに応じて前記ストレージ装置から読み出されるブロックデータを受け取り、前記第一マップ情報に基づき、前記ブロックデータから前記第一ファイルのデータを抽出するステップと、
前記送信データ抽出部により抽出された前記第一ファイルデータを、前記ネットワークに送信するステップと、
を備えたデータ送信方法。
【請求項９】
ブロック単位でデータを管理するストレージ装置に記憶されているファイルのデータをネットワークに転送するためのデータ転送プログラムであって、
第一ファイルのデータが前記ストレージ装置のどの位置に記憶されているかを示す第一マップ情報を含むメタデータを取得した外部のホストＣＰＵから、前記第一ファイルのデータの読み出し指示を受け、前記第一ファイルのデータを格納したブロックの読み出しコマンドを生成し、前記読み出しコマンドを前記ストレージ装置に送る発行手順と、
前記読み出しコマンドに応じて前記ストレージ装置から読み出されるブロックデータを受け取り、前記外部のホストＣＰＵから前記第一マップ情報を受け取り、前記第一マップ情報に基づき、前記ブロックデータから前記第一ファイルのデータを抽出する送信データ抽出手順と、
前記送信データ抽出部により抽出された前記第一ファイルのデータを、前記ネットワークに送信する通信処理手順と、
をコンピュータに実行させるためのデータ転送プログラム。