JPH11306053A - データ転送方法およびそれを実施する情報処理装置 - Google Patents

データ転送方法およびそれを実施する情報処理装置

Info

Publication number
JPH11306053A
JPH11306053A JP10114628A JP11462898A JPH11306053A JP H11306053 A JPH11306053 A JP H11306053A JP 10114628 A JP10114628 A JP 10114628A JP 11462898 A JP11462898 A JP 11462898A JP H11306053 A JPH11306053 A JP H11306053A
Authority
JP
Japan
Prior art keywords
buffer
server
client
access
request
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
JP10114628A
Other languages
English (en)
Inventor
Yoshio Iwanaga
美穂 岩永
Hirofumi Yamashita
洋文 山下
Nozomi Hirose
望 廣瀬
Mikiko Sato
未来子 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10114628A priority Critical patent/JPH11306053A/ja
Publication of JPH11306053A publication Critical patent/JPH11306053A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】サーバクライアントシステムにおいて、クライ
アントからのユーザプログラムが確保したバッファとサ
ーバのバッファとの間でデータ送受信を行う際に、メモ
リコピーを発生しないこと。 【解決手段】主記憶装置と中央演算処理装置と入出力バ
スを持つ計算機であるクライアントと、主記憶装置と中
央演算処理装置と入出力バスを持つ計算機と二次記憶装
置が入出力バスを介して接続されているサーバがネット
ワークを介して接続されている計算機ネットワークシス
テムにおいて、クライアントのユーザプログラムが発行
したファイルアクセス要求のアクセスサイズをサーバに
要求し、サーバは受け取ったアクセスサイズ分のバッフ
ァを確保して、サーバのバッファとクライアントのユー
ザプログラムが確保したバッファとの間でデータ送受信
を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は複数台の計算機がネ
ットワークを介して接続され、データを計算機間で転送
するようにした計算機のデータ転送方法およびそれを実
施する情報処理装置に関する。
【0002】
【従来の技術】コンピュータがネットワークで相互接続
された環境で、離れたコンピュータにあるファイルをあ
たかもユーザが使っているコンピュータにあるファイル
のように操作することがネットワークファイルシステム
の機能である。ネットワークファイルシステムの一例と
してはNFSが挙げられる。NFSについては「NFS&NIS」(H
al Stern著、1992、pp183-217、アスキー出版局)に記載
されている。
【0003】従来用いられているネットワークファイル
システムのファイルアクセス処理の流れを以下に示す。
ユーザプロセスが読み出し要求を発行した場合、NFSク
ライアントの読み出しルーチンが呼び出される。NFSク
ライアントはNFSバッファ内に要求されたデータの有無
をチェックする。ある場合にはそのデータをユーザプロ
セス空間にコピーし、読み出しルーチンを終了する。な
い場合にはNFSサーバに対してNFSバッファ全体の読み出
し要求を発行し、データが送られるのを待つ。読み出し
要求を受けたNFSサーバはディスクからデータの読み出
しを行い、データをNFSクライアントに送り、NFSクライ
アントからの次の要求を待つ。データを送り返されたNF
Sクライアントはバッファキャッシュから要求されたデ
ータをユーザプロセス空間にコピーし、読み出しルーチ
ンを終了する。
【0004】一方、ユーザプロセスが書き込み要求を発
行した場合、NFSクライアントの書き込みルーチンが呼
び出される。NFSクライアントはNFSバッファがいっぱい
になるかどうかを判断する。いっぱいにならない場合に
はNFSバッファにデータをコピーし、書き込みルーチン
を終了する。いっぱいになる場合にはNFSサーバに書き
込み要求を発行し、データを送る。書き込み要求を受け
たNFSサーバは送られたデータをディスクに書き込み、N
FSクライアントからの次の要求を待つ。データを送り終
わったNFSクライアントは書き込みルーチンを終了す
る。この様子は「NFS&NIS」の図6,2(p203)に示されて
いる。
【0005】
【発明が解決しようとする課題】従来の計算機ネットワ
ークシステムをさらに高速に動作させようとすると、読
み出し処理と書き込み処理共にNFSクライアント内でデ
ータのコピーが発生するために、クライアントのメモリ
コピー性能で転送性能が制限される。
【0006】本発明の目的は上記従来技術の問題点を解
消し得るデータ転送方法およびそれを実施する情報処理
装置を提供することである。
【0007】
【課題を解決するための手段】上記課題を解決するた
め、本発明の計算機ネットワークシステムはネットワー
クと少なくとも1つのクライアントとネットワークを介
してクライアントと接続されたサーバを有する。
【0008】上記クライアントはクライアント計算機を
有する。
【0009】上記クライアント計算機はクライアント入
出力バスと、上記クライアント入出力バスに接続された
クライアント中央演算処理装置と、上記クライアント入
出力バスに接続されたクライアント主記憶装置と、上記
クライアント入出力バスに接続され、かつ、上記ネット
ワークに接続されたクライアント通信制御装置を有す
る。
【0010】上記クライアント主記憶装置はユーザプロ
グラムとクライアントバッファとリダイレクタプログラ
ムを有する。
【0011】上記ユーザプログラムは上記クライアント
バッファの確保を行い、上記リダイレクタプログラムに
ファイルアクセス要求を発行し、上記リダイレクタプロ
グラムからのファイルアクセス終了を受け付ける。
【0012】上記リダイレクタプログラムは上記ユーザ
プログラムからのファイルアクセス要求を受け付け、上
記クライアント通信制御装置と上記ネットワークを介し
て、上記サーバへファイルアクセス要求を発行する。ま
た、上記クライアント通信制御装置へデータ送受信要求
を発行し、上記クライアント通信制御装置からのデータ
送受信終了を受け付ける。
【0013】上記クライアント通信制御装置は上記リダ
イレクタプログラムからのデータ送受信要求を受け付
け、上記ネットワークを介して上記サーバとデータの送
受信を行い、上記リダイレクタプログラムへデータ送受
信終了を発行する。
【0014】上記サーバはサーバ計算機と、上記サーバ
計算機が有するサーバ入出力バスで接続された二次記憶
装置を有する。
【0015】上記サーバ計算機は上記サーバ入出力バス
と、上記サーバ入出力バスに接続されたサーバ中央演算
処理装置と、上記サーバ入出力バスに接続されたサーバ
主記憶装置と、上記サーバ入出力バスに接続され、か
つ、上記ネットワークに接続されたサーバ通信制御装置
を有する。
【0016】上記サーバ主記憶装置はネットワークファ
イルサーバプログラムとサーババッファとファイルシス
テムプログラムを有する。
【0017】上記ネットワークファイルサーバプログラ
ムはコマンド受け付け手段と通信制御手段とバッファ割
り当て手段とディスクアクセス手段を有する。
【0018】上記コマンド受け付け手段は上記クライア
ントからのファイルアクセス要求を受け付け、上記サー
バ通信制御装置とネットワークを介して上記クライアン
トへファイルアクセス終了を発行する処理、上記バッフ
ァ割り当て手段へバッファ割り当て要求を発行し、上記
バッファ割り当て手段からのバッファ割り当て終了を受
け付ける処理、上記ディスクアクセス手段へディスクア
クセス要求を発行し、上記ディスクアクセス手段からの
ディスクアクセス終了を受け付ける処理、上記通信制御
手段へデータ送受信要求を発行し、上記通信制御手段か
らのデータ送受信終了を受け付ける処理を行う。
【0019】上記通信制御手段は上記コマンド受け付け
手段からのデータ送受信要求を受け付け、上記サーバ通
信制御装置にデータ送受信要求を発行し、上記サーバ通
信制御装置からのデータ送受信終了を受け付け、上記コ
マンド受け付け手段にデータ送受信終了を発行する。
【0020】上記バッファ割り当て手段は上記コマンド
受け付け手段からのバッファ割り当て要求を受け付け、
上記サーババッファを割り当て、上記バッファ割り当て
終了を上記コマンド受け付け手段に発行する。
【0021】上記ディスクアクセス手段は上記コマンド
受け付け手段からのディスクアクセス要求を受け付け、
上記ファイルシステムプログラムにディスクアクセス要
求を発行し、上記ファイルシステムプログラムからのデ
ィスクアクセス終了を受け付け、上記コマンド受け付け
手段にディスクアクセス終了を発行する。
【0022】上記ファイルシステムプログラムは上記デ
ィスクアクセス手段からのディスクアクセス要求を受け
付け、上記サーバ入出力バスを介して上記二次記憶装置
にディスクアクセス要求を発行し、上記サーバ入出力バ
スを介して上記二次記憶装置のデータをアクセスし、上
記サーバ入出力バスを介して上記二次記憶装置からのデ
ィスクアクセス終了を受け付け、上記ディスクアクセス
手段へディスクアクセス終了を発行する。
【0023】上記サーバ通信制御装置は上記通信制御手
段からのデータ送受信要求を受け付け、上記ネットワー
クを介して上記クライアントとデータの送受信を行い、
上記通信制御手段へデータ送受信終了を発行する。
【0024】以上の構成を用いた処理の流れを示す。ク
ライアントのユーザプログラムはクライアントバッファ
を確保した後にファイルアクセス要求をリダイレクタプ
ログラムに対して発行する。リダイレクタプログラムは
クライアント通信制御装置とネットワークを介してサー
バにファイルアクセス要求を発行する。リダイレクタプ
ログラムはクライアント通信制御装置にデータ送受信要
求を発行する。クライアント通信制御装置はクライアン
トバッファとネットワークの間でデータ送受信を行う準
備をする。
【0025】一方、クライアントからのファイルアクセ
ス要求を受けたコマンド受け付け手段はバッファ割り当
て手段にバッファ割り当て要求を発行する。バッファ割
り当て手段はバッファ割り当てを行った後、コマンド受
け付け手段にバッファ割り当て終了を発行する。コマン
ド受け付け手段はファイルアクセス要求のファイルアク
セス種別を判断する。ファイルアクセス種別が読み出し
の場合、コマンド受け付け手段はディスクアクセス手段
にディスクアクセス要求を発行する。ディスクアクセス
手段はファイルシステムプログラムにディスクアクセス
要求を発行する。ファイルシステムプログラムは二次記
憶装置にディスクアクセス要求を発行し、データをサー
ババッファに読み取る。二次記憶装置がディスクアクセ
ス終了をファイルシステムプログラムに発行した後、デ
ィスクアクセス手段にディスクアクセス終了を発行す
る。ディスクアクセス手段はコマンド受け付け手段にデ
ィスクアクセス終了を発行する。コマンド受け付け手段
は通信制御手段にデータ送受信要求を発行する。通信制
御手段はサーバ通信制御装置にデータ送受信要求を発行
する。サーバ通信制御装置はサーババッファとネットワ
ークの間でデータ送受信を行う準備をする。
【0026】サーバとクライアント共にデータ送受信を
行う準備が終了すると、サーババッファからクライアン
トバッファへネットワークを介してデータが転送され
る。
【0027】データ送受信が終了すると、クライアント
通信制御装置はリダイレクタプログラムにファイルアク
セス終了を発行する。一方、サーバ通信制御装置はコマ
ンド受け付け手段にデータ送受信終了を発行する。コマ
ンド受け付け手段はサーバ通信制御装置とネットワーク
を介してファイルアクセス終了をクライアントに発行す
る。
【0028】サーバからのファイルアクセス終了を受け
たクライアント通信制御装置はリダイレクタプログラム
にファイルアクセス終了を発行する。リダイレクタプロ
グラムはユーザプログラムにファイルアクセス終了を発
行する。
【0029】コマンド受け付け手段が判断したファイル
アクセス種別が書き込みの場合、コマンド受け付け手段
は通信制御手段にデータ送受信要求を発行する。通信制
御手段はサーバ通信制御装置にデータ送受信要求を発行
する。サーバ通信制御装置はサーババッファとネットワ
ークの間でデータ送受信を行う準備をする。
【0030】サーバとクライアント共にデータ送受信を
行う準備が終了すると、サーババッファからクライアン
トバッファへネットワークを介してデータが転送され
る。コマンド受け付け手段はディスクアクセス手段にデ
ィスクアクセス要求を発行する。ディスクアクセス手段
はファイルシステムプログラムにディスクアクセス要求
を発行する。ファイルシステムプログラムは二次記憶装
置にディスクアクセス要求を発行し、サーババッファの
データを二次記憶装置に書き込む。二次記憶装置がディ
スクアクセス終了をファイルシステムプログラムに発行
した後、ディスクアクセス手段にディスクアクセス終了
を発行する。ディスクアクセス手段はコマンド受け付け
手段にディスクアクセス終了を発行する。
【0031】クライアント通信制御装置はリダイレクタ
プログラムにファイルアクセス終了を発行する。一方、
サーバ通信制御装置はコマンド受け付け手段にデータ送
受信終了を発行する。コマンド受け付け手段はサーバ通
信制御装置とネットワークを介してファイルアクセス終
了をクライアントに発行する。
【0032】サーバからのファイルアクセス終了を受け
たクライアント通信制御装置はリダイレクタプログラム
にファイルアクセス終了を発行する。リダイレクタプロ
グラムはユーザプログラムにファイルアクセス終了を発
行する。
【0033】このように、本発明によれば、ユーザプロ
グラムのファイルアクセス種別が読み出しと書き込みの
いずれであっても、ユーザプログラムが確保したクライ
アントバッファとサーババッファ間のデータの送受信
に、メモリコピーが発生しない。これにより、高速なデ
ータ転送が可能なデータ転送方法およびそれを実施する
情報処理装置を提供できる。
【0034】
【発明の実施の形態】本発明の第1実施例を図1から図6
を用いて説明する。
【0035】図1を用いて本実施例の構成を示す。
【0036】クライアント100はネットワーク200を介し
てサーバ300と接続されている。クライアントは複数台
あってもよい。
【0037】クライアント100はクライアント計算機101
を有する。
【0038】クライアント計算機101はクライアント入
出力バス102と、クライアント入出力バス102に接続され
たクライアント中央演算処理装置103と、クライアント
入出力バス102に接続されたクライアント主記憶装置104
と、クライアント入出力バス102に接続され、かつ、ネ
ットワーク200に接続されたクライアント通信制御装置1
05を有する。
【0039】クライアント主記憶装置104はクライアン
トバッファ106とユーザプログラム107とリダイレクタプ
ログラム111を有している。
【0040】サーバ300はサーバ計算機301と、サーバ計
算機301が有するサーバ入出力バス302で接続された二次
記憶装置306を有する。
【0041】サーバ計算機301はサーバ入出力バス302
と、サーバ入出力バス302に接続されたサーバ中央演算
処理装置305と、サーバ入出力バス302に接続されたサー
バ主記憶装置304と、サーバ入出力バス302に接続され、
かつ、ネットワーク200に接続されたサーバ通信制御装
置303を有する。
【0042】サーバ主記憶装置304はネットワークファ
イルサーバプログラム309とサーババッファ307とファイ
ルシステムプログラム308を有する。
【0043】ネットワークファイルサーバプログラム30
9はコマンド受け付け手段310と、通信制御手段311と、
バッファ割り当て手段312とディスクアクセス手段313を
有する。
【0044】参照番号109から113までと、201と202と、
314から325までは要求および終了通知の流れを示す。
【0045】参照番号と201と202と326と327はデータの
流れを示す。
【0046】クライアントのユーザプログラム107はク
ライアントバッファ106を確保した後にファイルアクセ
ス要求110をリダイレクタプログラム111に対して発行す
る。ファイルアクセス要求110はファイルアクセス種
別、ファイル識別子、クライアントバッファ106のアド
レス、アクセス開始位置、アクセスサイズの情報をを含
んでいる。リダイレクタプログラム111はクライアント
通信制御装置105とネットワーク200を介してサーバ300
にファイルアクセス要求201を発行する。ファイルアク
セス要求201はファイルアクセス種別、ファイル識別
子、クライアントバッファ106のアドレス、アクセス開
始位置、アクセスサイズの情報を含んでいる。リダイレ
クタプログラム111はクライアント通信制御装置105にデ
ータ送受信要求112を発行する。データ送受信要求112は
データ送受信の種別、データ送受信対象の識別子、クラ
イアントバッファ106内のアクセス開始アドレス、アク
セスサイズの情報を含んでいる。クライアント通信制御
装置105はクライアントバッファ106とネットワーク200
の間でデータ送受信203または204を行う準備をする。
【0047】一方、クライアント100からのファイルア
クセス要求201を受けたコマンド受け付け手段310はバッ
ファ割り当て手段312にバッファ割り当て要求315を発行
する。バッファ割り当て要求315はアクセスサイズの情
報をを含んでいる。バッファ割り当て手段312はバッフ
ァ割り当てを行った後、コマンド受け付け手段310にバ
ッファ割り当て終了314を発行する。コマンド受け付け
手段310はファイルアクセス要求201のファイルアクセス
種別を判断する。ファイルアクセス種別が読み出しの場
合、コマンド受け付け手段310はディスクアクセス手段3
13にディスクアクセス要求317を発行する。ディスクア
クセス要求317はディスクアクセスの種別、ファイル識
別子、サーババッファ307のアドレス、アクセス開始位
置、アクセスサイズの情報を含んでいる。ディスクアク
セス手段313はファイルシステムプログラム308にディス
クアクセス要求325を発行する。ディスクアクセス要求3
25はディスクアクセスの種別、ファイル識別子、サーバ
バッファ307のアドレス、アクセス開始位置、アクセス
サイズの情報を含んでいる。ファイルシステムプログラ
ム308は二次記憶装置306にディスクアクセス要求322を
発行し、データをサーババッファ307に読み取る(327)。
ディスクアクセス要求322は、ディスクアクセスの種
別、ファイル識別子、サーババッファ307のアドレス、
アクセス開始位置、アクセスサイズの情報を含んでい
る。二次記憶装置306がディスクアクセス終了323をファ
イルシステムプログラム308に発行した後、ディスクア
クセス手段313にディスクアクセス終了324を発行する。
ディスクアクセス終了324はディスクアクセスの成否、
アクセスサイズの情報を含んでいる。ディスクアクセス
終了323はディスクアクセスの成否、アクセスサイズの
情報を含んでいる。ディスクアクセス手段313はコマン
ド受け付け手段310にディスクアクセス終了316を発行す
る。ディスクアクセス終了316はディスクアクセスの成
否、アクセスサイズの情報を含んでいる。コマンド受け
付け手段310は通信制御手段311にデータ送受信要求319
を発行する。データ送受信要求319はデータ送受信の種
別、データ送受信対象の識別子、サーババッファ307内
のアクセス開始アドレス、アクセスサイズの情報を含ん
でいる。通信制御手段311はサーバ通信制御装置303にデ
ータ送受信要求320を発行する。データ送信要求320はデ
ータ送受信の種別、データ送受信対象の識別子、サーバ
バッファ307内のアクセス開始アドレス、アクセスサイ
ズの情報を含んでいる。サーバ通信制御装置303はサー
ババッファ307とネットワーク200の間でデータ送受信20
3を行う準備をする。
【0048】サーバ300とクライアント100共にデータ送
受信203を行う準備が終了すると、サーババッファ307か
らクライアントバッファ106へネットワーク200を介して
データが転送される(204)。
【0049】データ送受信203が終了すると、クライア
ント通信制御装置105はリダイレクタプログラム111にフ
ァイルアクセス終了113を発行する。データ送受信終了1
13はデータ送受信の成否、データ送受信量の情報を含ん
でいる。一方、サーバ通信制御装置303はコマンド受け
付け手段310にデータ送受信終了321を発行する。データ
送受信終了321はデータ送受信の成否、データ送受信量
の情報を含んでいる。コマンド受け付け手段310はサー
バ通信制御装置303とネットワーク200を介してファイル
アクセス終了202をクライアント100に発行する。ファイ
ルアクセス終了202はファイルアクセスの成否、アクセ
スデータ量の情報を含んでいる。
【0050】サーバ300からのファイルアクセス終了202
を受けたクライアント通信制御装置105はリダイレクタ
プログラム111にファイルアクセス終了113を発行する。
リダイレクタプログラム111はユーザプログラム107にフ
ァイルアクセス終了109を発行する。ファイルアクセス
終了109はファイルアクセスの成否、アクセスデータ量
の情報を含んでいる。
【0051】コマンド受け付け手段310が判断したファ
イルアクセス種別が書き込みの場合、コマンド受け付け
手段310は通信制御手段311にデータ送受信要求319を発
行する。通信制御手段311はサーバ通信制御装置303にデ
ータ送受信要求320を発行する。サーバ通信制御装置303
はサーババッファ307とネットワーク200の間でデータ送
受信204を行う準備をする。
【0052】サーバ300とクライアント100共にデータ送
受信204を行う準備が終了すると、サーババッファ307か
らクライアントバッファ106へネットワーク200を介して
データが転送される(203)。コマンド受け付け手段310は
ディスクアクセス手段313にディスクアクセス要求3
17を発行する。ディスクアクセス手段313はファイル
システムプログラム308にディスクアクセス要求325を発
行する。ファイルシステムプログラム308は二次記憶装
置306にディスクアクセス要求322を発行し、サーババッ
ファ307のデータを二次記憶装置306に書き込む(326)。
二次記憶装置306がディスクアクセス終了323をファイル
システムプログラム308に発行した後、ディスクアクセ
ス手段313にディスクアクセス終了324を発行する。ディ
スクアクセス手段313はコマンド受け付け手段310にディ
スクアクセス終了316を発行する。
【0053】クライアント通信制御装置105はリダイレ
クタプログラム111にファイルアクセス終了113を発行す
る。一方、サーバ通信制御装置303はコマンド受け付け
手段310にデータ送受信終了321を発行する。コマンド受
け付け手段310はサーバ通信制御装置303とネットワーク
200を介してファイルアクセス終了202をクライアント10
0に発行する。
【0054】サーバ300からのファイルアクセス終了202
を受けたクライアント通信制御装置105はリダイレクタ
プログラム111にファイルアクセス終了113を発行する。
リダイレクタプログラム111はユーザプログラム107にフ
ァイルアクセス終了109を発行する。
【0055】このように、本発明によれば、ユーザプロ
グラムのファイルアクセス種別が読み出しと書き込みの
いずれであっても、ユーザプログラムが確保したクライ
アントバッファとサーババッファ間のデータの送受信
に、メモリコピーが発生しない。これにより、高速なデ
ータ転送が可能な計算機ネットワークシステムを提供す
ることができる。
【0056】図2を用いて本実施例のクライアント100が
行う処理の流れを説明する。
【0057】ステップ401において、ユーザプログラム1
07はクライアントバッファ106を確保する。
【0058】ステップ402において、ユーザプログラム1
07はリダイレクタプログラム111にファイルアクセス要
求110を発行する。
【0059】ステップ403において、リダイレクタプロ
グラム111はクライアント通信制御装置105とネットワー
ク200を介してサーバ300に、ファイルアクセス要求201
を発行する。
【0060】ステップ404において、リダイレクタプロ
グラム111はクライアント通信制御装置105にデータ送受
信要求112を発行する。
【0061】ステップ405において、クライアント通信
制御装置105はデータ送受信要求112のデータ送受信の種
別を判断する。
【0062】ステップ405の判断結果が読み出しの場合
にはステップ406において、サーバ300からクライアント
バッファ106にデータを受信する(203)。
【0063】ステップ405の判断結果が書き込みの場合
にはステップ407において、クライアントバッファ106の
データをサーバ300に送信する(204)。
【0064】ステップ408において、クライアント通信
制御装置105はリダイレクタプログラム111に、データ送
受信終了113を発行する。
【0065】ステップ409において、リダイレクタプロ
グラム111はサーバ300から、ファイルアクセス終了202
を受ける。
【0066】ステップ410において、リダイレクタプロ
グラム111はユーザプログラム107にファイルアクセス終
了109を発行する。
【0067】以上の手順によって、リダイレクタプログ
ラム111がバッファを確保せず、クライアントバッファ1
06のみを用いてサーババッファ307とデータを送受信す
ることができる。この結果、クライアント100内でデー
タのコピーを行う必要がなくなる。
【0068】図3を用いて本実施例のサーバ300が行う全
体処理の流れを説明する。
【0069】ステップ501において、コマンド受け付け
手段310はクライアント100からファイルアクセス要求20
1を受ける。
【0070】ステップ502において、コマンド受け付け
手段310はバッファ割り当て手段312に、バッファ割り当
て要求315を発行する。
【0071】ステップ503において、バッファ割り当て
手段310はバッファ割り当て処理を行う。
【0072】ステップ504において、コマンド受け付け
手段310はファイルアクセス要求201のファイルアクセス
種別を判断する。
【0073】ステップ504の判断結果が読み出しの場合
にはステップ505において、ディスクアクセス手段313に
ディスクアクセス要求317を発行する。
【0074】ステップ506において、ディスクアクセス
手段313はディスクアクセス処理を行う。
【0075】ステップ507において、通信制御手段311に
データ送受信要求320を発行する。
【0076】ステップ508において、通信制御手段311は
データ送受信処理を行う。
【0077】ステップ504の判断結果が書き込みの場合
にはステップ509において、通信制御手段311にデータ送
受信要求320を発行する。
【0078】ステップ510において、通信制御手段311は
データ送受信処理を行う。
【0079】ステップ511において、ディスクアクセス
手段313にディスクアクセス要求317を発行する。
【0080】ステップ512において、ディスクアクセス
手段313はディスクアクセス処理を行う。
【0081】ステップ513において、コマンド受け付け
手段310はクライアント100に、ファイルアクセス終了20
2を発行する。
【0082】以上の手順によって、サーバ300とクライ
アントバッファ106の間でデータのコピーを行うことな
くデータの送受信を行うことができる。
【0083】図4を用いてステップ503のバッファ割り当
て処理の詳細を説明する。
【0084】ステップ514において、バッファ割り当て
手段312はコマンド受け付け手段310から、バッファ割り
当て要求315を受ける。
【0085】ステップ515において、バッファ割り当て
手段312はバッファ割り当て要求315のアクセスサイズ分
のサーババッファ307を確保する。
【0086】ステップ516において、バッファ割り当て
手段312はコマンド受け付け手段310に、バッファ割り当
て終了314を発行する。バッファ割り当て終了314はサー
ババッファ307のアドレスが含まれている。
【0087】以上の手順によって、バッファ割り当て手
段312はサーババッファ307を確保することができる。
【0088】図5を用いてステップ506およびステップ51
1のディスクアクセス処理の詳細を説明する。
【0089】ステップ517において、ディスクアクセス
手段313はコマンド受け付け手段310からディスクアクセ
ス要求317を受ける。
【0090】ステップ518において、ディスクアクセス
手段313はファイルシステムプログラム308に、ディスク
アクセス要求325を発行する。
【0091】ステップ519において、ファイルシステム
プログラム308は二次記憶装置306に、ディスクアクセス
要求322を発行する。
【0092】ステップ520において、二次記憶装置306は
ディスクアクセス要求322からディスクアクセス要求の
種別を判断する。
【0093】ステップ520の判断結果が読み出しの場合
には、ステップ521において、二次記憶装置306のデータ
をサーババッファ307に転送する。
【0094】ステップ520の判断結果が書き込みの場合
には、ステップ522において、サーババッファ307のデー
タを二次記憶装置306に転送する。
【0095】ステップ523において、二次記憶装置306は
ファイルシステムプログラム308に、ディスクアクセス
終了323を発行する。
【0096】ステップ524において、ファイルシステム
プログラム308はディスクアクセス手段313に、ディスク
アクセス終了324を発行する。
【0097】ステップ525において、ディスクアクセス
手段313はコマンド受け付け手段に、ディスクアクセス
終了316を発行する。
【0098】以上の手順によって、ディスクアクセス手
段313はディスクアクセスを行い、二次記憶装置306のデ
ータをサーババッファ307に読み出したり、サーババッ
ファ307のデータを二次記憶装置306に書き込んだりする
ことができる。
【0099】図6を用いて、ステップ508およびステップ
510のデータ送受信処理の流れを説明する。
【0100】ステップ526において、通信制御手段311は
コマンド受け付け手段310からデータ送受信要求319を受
ける。
【0101】ステップ527において、通信制御手段311は
サーバ通信制御装置303にデータ送受信要求320を発行す
る。
【0102】ステップ528において、サーバ通信制御装
置303はデータ送受信の種別を判断する。
【0103】ステップ528の判断結果が読み出しの場合
には、ステップ529において、サーバ通信制御装置303は
サーババッファ307のデータをクライアント100に送信す
る(203)。
【0104】ステップ528の判断結果が書き込みの場合
には、ステップ530において、サーバ通信制御装置303は
クライアント100からサーババッファ307にデータを送信
する(204)。
【0105】ステップ531において、サーバ通信制御装
置303は通信制御手段311に、データ送受信終了321を発
行する。
【0106】ステップ532において、通信制御手段311は
コマンド受け付け手段310に、データ送受信終了318を発
行する。
【0107】以上の手順によって、通信制御手段311は
データ送受信を行うことができる。
【0108】次に、本発明の第2実施例を図7から図16を
用いて説明する。
【0109】第1実施例には、ファイルアクセス要求201
のアクセスサイズがサーババッファ307の上限を超えて
いた場合にデータの送受信ができないという問題点があ
る。
【0110】そこで本実施例は、サーバはあらかじめ決
められたサイズのサーババッファ307ををあらかじめ決
められた面数だけ割り当て、通信制御手段311がクライ
アント100にデータを転送する前に、クライアント100に
送受信データ量を発行する。送受信データ量がファイル
アクセス要求201のアクセスサイズよりも小さい場合に
は、上記送受信データ量発行とデータ送受信を繰り返す
ことが特徴である。
【0111】この結果、ファイルアクセス要求201がサ
ーババッファ307の上限を超えていた場合にも、データ
送受信が可能となる。
【0112】さらに、ディスクアクセス手段313の処理
を他の処理と並列に行うこと、サーバ300に複数回送ら
れてきたデータをサーババッファ307に貯えておき一度
に二次記憶装置306に書き込むこと、サーババッファ307
にデータがある場合には二次記憶装置306からデータの
読み出しを行わないこと、アクセス種別が読み出しであ
るファイルアクセス要求201が二次記憶装置306内の連続
した領域に対してなされる場合にファイルアクセス要求
201が来なくても二次記憶装置306に隣接する領域のデー
タを読み出すこと、ファイルアクセス要求201で要求さ
れたアクセス範囲とサーババッファ307の有効なデータ
の範囲がサーババッファ307の同一バッファ面内で隙間
が空いているときに隙間の領域のデータも読み出すこと
の特徴も持っている。
【0113】この結果、サーバ300の高速化を図ること
ができる。
【0114】図7を用いて本実施例の構成を示す。
【0115】クライアント100はネットワーク200を介し
てサーバ300と接続されている。クライアントは複数台
あってもよい。
【0116】クライアント100はクライアント計算機101
を有する。
【0117】クライアント計算機101はクライアント入
出力バス102と、クライアント入出力バス102に接続され
たクライアント中央演算処理装置103と、クライアント
入出力バス102に接続されたクライアント主記憶装置104
と、クライアント入出力バス102に接続され、かつ、ネ
ットワーク200に接続されたクライアント通信制御装置1
05を有する。
【0118】クライアント主記憶装置104はクライアン
トバッファ106とユーザプログラム107とリダイレクタプ
ログラム111を有している。
【0119】サーバ300はサーバ計算機301と、サーバ計
算機301が有するサーバ入出力バス302で接続された二次
記憶装置306を有する。
【0120】サーバ計算機301はサーバ入出力バス302
と、サーバ入出力バス302に接続されたサーバ中央演算
処理装置305と、サーバ入出力バス302に接続されたサー
バ主記憶装置304と、サーバ入出力バス302に接続され、
かつ、ネットワーク200に接続されたサーバ通信制御装
置303を有する。
【0121】サーバ主記憶装置304はネットワークファ
イルサーバプログラム309とサーババッファ307とファイ
ルシステムプログラム308とリクエスト管理テーブル328
とバッファ管理テーブル330を有する。
【0122】ネットワークファイルサーバプログラム30
9はコマンド受け付け手段310と、通信制御手段311と、
バッファ割り当て手段312とディスクアクセス手段313を
有する。
【0123】参照番号109から113までと、201と202と、
316から325までと、328と329と、331から333までは要求
および終了通知の流れを示す。
【0124】参照番号と201と202と326と327はデータの
流れを示す。
【0125】クライアントのユーザプログラム107はク
ライアントバッファ106を確保した後にファイルアクセ
ス要求110をリダイレクタプログラム111に対して発行す
る。ファイルアクセス要求110はファイルアクセス種
別、ファイル識別子、クライアントバッファ106のアド
レス、アクセス開始位置、アクセスサイズの情報をを含
んでいる。リダイレクタプログラム111はクライアント
通信制御装置105とネットワーク200を介してサーバ300
にファイルアクセス要求201を発行する。ファイルアク
セス要求201はファイルアクセス種別、ファイル識別
子、クライアントバッファ106のアドレス、アクセス開
始位置、アクセスサイズの情報を含んでいる。リダイレ
クタプログラム111はクライアント通信制御装置105とネ
ットワーク200を介してサーバ300から、データ転送量20
5を受け取る。リダイレクタプログラム111はクライアン
ト通信制御装置105にデータ送受信要求112を発行する。
データ送受信要求112はデータ送受信の種別、データ送
受信対象の識別子、クライアントバッファ106内のアク
セス開始アドレス、アクセスサイズの情報を含んでい
る。クライアント通信制御装置105はクライアントバッ
ファ106とネットワーク200の間でデータ送受信203また
は204を行う。
【0126】リダイレクタプログラム111はファイルア
クセス要求201のアクセスサイズとデータ転送量の和が
等しくなるかどうかを判断する。等しくない場合には等
しくなるまで、データ転送量205の受け取りとデータ送
受信203または204を繰り返す。
【0127】クライアント通信制御装置105はリダイレ
クタプログラム111にファイルアクセス終了113を発行す
る。データ送受信終了113はデータ送受信の成否、デー
タ送受信量の情報を含んでいる。リダイレクタプログラ
ム111はユーザプログラム107にファイルアクセス終了10
9を発行する。ファイルアクセス終了109はファイルアク
セスの成否、アクセスデータ量の情報を含んでいる。
【0128】一方、ネットワークファイルサーバプログ
ラム309内にはコマンド受け付け手段310と通信制御手段
311とバッファ割り当て手段312とディスクアクセス手段
313が並列に動作している。
【0129】バッファ割り当て手段312は、ネットワー
クファイルサーバプログラム309が起動されたときに、
サーババッファ307を確保し、サーババッファ307の状態
を記憶するバッファ管理テーブル339を作成し、バッフ
ァ管理テーブルを初期化する処理を行い、コマンド受け
付け手段310からバッファ検索要求333が来るのを待つ。
バッファ検索要求333は、ファイル識別子、アクセス開
始位置、アクセスサイズ、アクセス種別の情報をを含ん
でいる。バッファ検索要求333を受け付けると、バッフ
ァ検索要求333に適するバッファ面を検索し、バッファ
検索終了322をコマンド受け付け手段736に発行する。バ
ッファ検索終了322はバッファ検索の成否と検索したバ
ッファに対応するバッファテーブルのアドレスの情報を
含んでいる。検索中バッファの状態によっては、ディス
クアクセス手段313にディスクアクセス要求を発行する
こともある。そして、再びコマンド受け付け手段310か
らバッファ検索要求333が来るのを待つ。
【0130】コマンド受け付け手段310は、ネットワー
クファイルサーバプログラム309が起動されたときに、
リダイレクタプログラム111からファイルアクセス要求2
01が来るのを待つ。ファイルアクセス要求201を受け付
けると、ファイルアクセス要求201を解析し、リクエス
トを必要な数に分割し、リクエスト管理テーブル328を
作る。分割されたリクエストの各々について、バッファ
割り当て手段312にバッファ検索要求333を発行し、バッ
ファ割り当て手段312からのバッファ検索終了322を待
つ。ファイルアクセス種別が読み出しの場合には、バッ
ファ面の隙間を読むかどうか、ディスクを読むかどう
か、先読みするかどうかを判断し必要に応じて、リクエ
スト管理テーブル328を作り、ディスクアクセス手段313
にディスクアクセス要求317を発行し、ディスクアクセ
ス手段313からのディスクアクセス終了316を待つ。通信
制御手段311にデータ送受信要求313を発行し、通信制御
手段311からの送受信終了318を待つ。さらに必要に応じ
て、リクエスト管理テーブル328を作り、ディスクアク
セス手段313にディスクアクセス要求317を発行し、ディ
スクアクセス手段313からのディスクアクセス終了316を
待つ。分割されたリクエストのすべてに上記処理を行っ
た後、コマンド受け付け手段310はクライアント100にフ
ァイルアクセス要求202を発行し、再びリダイレクタプ
ログラム111からのファイルアクセス要求201を待つ。
【0131】ディスクアクセス手段313は、ネットワー
クファイルサーバプログラム309が起動されたときに、
コマンド受け付け手段310からのディスクアクセス要求3
17またはバッファ割り当て手段312からのディスクアク
セス要求331を待つ。いずれかのディスクアクセス要求3
17または331を受け付けると、ファイルシステムプログ
ラム308にディスクアクセス要求325を発行し、ファイル
システムプログラム308からのディスクアクセス終了324
を待つ。ディスクアクセスを行ったバッファ面のバッフ
ァ管理テーブル330の値を代入し直し、ディスクアクセ
ス要求の種別が読み出しの場合には、コマンド受け付け
手段310にディスクアクセス終了316を発行する。再び、
コマンド受け付け手段310からのディスクアクセス要求3
17またはバッファ割り当て手段312からのディスクアク
セス要求331を待つ。
【0132】通信制御手段311は、ネットワークファイ
ルサーバプログラム309が起動されたときに、コマンド
受け付け手段310からのデータ送受信要求319を待つ。デ
ータ送受信要求319を受け付けると、サーバ通信制御装
置303とネットワーク200を介してクライアント100に、
データ転送量を送る(205)。サーバ通信制御装置303に、
データ送受信要求320を発行し、サーバ通信制御装置303
からのデータ送受信終了321を待つ。データ送受信要求3
20の種別が書き込みの場合には、データ送受信を行った
バッファ面のバッファ管理テーブル330の値を代入し直
す。コマンド受け付け手段310に、データ送受信終了318
を発行し、再び、コマンド受け付け手段310からのデー
タ送受信要求319を待つ。
【0133】このように、本発明によれば、ファイルア
クセス要求201のアクセスサイズがサーババッファ307の
上限を超えている場合にも、複数回に分けてデータを送
受信することができる。さらに、ディスクアクセス手段
313の処理を他の処理と並列に行うこと、サーバ300に複
数回送られてきたデータをサーババッファ307に貯えて
おき一度に二次記憶装置306に書き込むこと、サーババ
ッファ307にデータがある場合には二次記憶装置306から
データの読み出しを行わないこと、アクセス種別が読み
出しであるファイルアクセス要求201が二次記憶装置306
内の連続した領域に対してなされる場合にファイルアク
セス要求201が来なくても二次記憶装置306の次の領域の
データを読み出すこと、ファイルアクセス要求201で要
求されたアクセス範囲とサーババッファ307の有効なデ
ータの範囲がサーババッファ307の同一バッファ面内で
隙間が空いているときに隙間の領域のデータも読み出す
ことが可能となり、サーバ300の高速化も図ることがで
きる。
【0134】図8を用いて本実施例のクライアント100が
行う処理の流れを説明する。
【0135】ステップ601において、ユーザプログラム1
07がクライアントバッファ106を確保する。
【0136】ステップ602において、ユーザプログラム1
07がリダイレクタプログラム111にファイルアクセス要
求110を発行する。
【0137】ステップ603において、リダイレクタプロ
グラム111がクライアント通信制御装置105とネットワー
ク200を介してサーバ300に、ファイルアクセス要求201
を発行する ステップ604において、ファイルアクセス要求201のアク
セスサイズとデータ転送量の和が等しいかどうかを判断
し、等しくなるまでステップ605からステップ610を繰り
返す。
【0138】ステップ605において、リダイレクタプロ
グラム111がクライアント通信制御装置105とネットワー
ク200を介してサーバ300から、データ転送量(205)を受
け付ける。
【0139】ステップ606において、リダイレクタプロ
グラム111はクライアント通信制御装置105にデータ送受
信要求112を発行する。データ送受信要求112のクライア
ントバッファ106内のアクセス開始アドレスは、ファイ
ルアクセス要求201のクライアントバッファ106のアドレ
スからデータ転送量の和の分だけずらした位置に設定し
ている。
【0140】ステップ607において、データ送受信要求1
12のデータ送受信の種別を判断する。
【0141】ステップ607の判断結果が読み出しの場合
にはステップ608において、クライアント通信制御装置1
05はサーバ300からクライアントバッファ106にデータを
受信する(203)。
【0142】ステップ607の判断結果が書き込みの場合
にはステップ609において、クライアント通信制御装置1
05はクライアントバッファ106のでーたをサーバ300に送
信する(204)。
【0143】ステップ610において、クライアント通信
制御装置105はリダイレクタプログラム111に、データ送
受信終了113を発行する。
【0144】ステップ604のループが終了したらステッ
プ611において、リダイレクタプログラム111はサーバ30
0から、ファイルアクセス終了202を受ける。
【0145】ステップ612において、リダイレクタプロ
グラム111はユーザプログラム107にファイルアクセス終
了109を発行する。
【0146】以上の手順によって、ファイルアクセス要
求201のアクセスサイズがどんなに大きな値でも、リダ
イレクタプログラム111がバッファを確保せず、クライ
アントバッファ106のみを用いてサーババッファとデー
タを送受信することができる。この結果、クライアント
100内でデータのコピーを行う必要がなくなる。
【0147】図9を用いて本実施例の各種管理テーブル
の構造を説明する。
【0148】バッファ管理テーブル330は、バッファ面
の状態を示すテーブルである。
【0149】ファイル識別子801は、バッファ面内のデ
ータがどのファイルの一部であるかを示す識別子であ
る。
【0150】ブロック番号802は、バッファ面内のデー
タがファイルのどの部分であるかを示す値である。ファ
イルの先頭からバッファ面内のデータの位置までのバイ
ト数をバッファ面のサイズで割った値である。
【0151】有効範囲の始点803は、バッファ面内で、
どこからが有効なデータを示しているかを示す値であ
る。
【0152】有効範囲のサイズ804は、バッファ面内の
連続した有効なデータの長さを示す値である。 ステー
タス805は、バッファ内のデータの状態を示す値であ
り、有効なデータを保持していないINITIAL状態と、デ
ィスク内のデータと一貫性が取れているCLEAN状態と、
ディスク内のデータと一貫性が取れていないDIRTY状態
の3つの状態を表す。
【0153】アクセスフラグ806は、ディスクアクセス
中にONになる値である。
【0154】次回アクセス開始予想位置807は、最後に
行われたアクセス種別が読み出しであるファイルアクセ
ス要求201のアクセス開始位置にアクセスサイズを加え
た値である。二次記憶装置306の連続する領域に読み出
しが行われた場合には、次回のファイルアクセス要求20
1のアクセス開始位置はこの次回アクセス開始予想位置8
07に等しくなる。
【0155】連続領域アクセス回数808は、次回アクセ
ス開始予想位置807とアクセス種別が読み出しであるフ
ァイルアクセス要求201のアクセス開始位置が等しかっ
た場合に1ずつ増加する値である。次回アクセス開始予
想位置807とアクセス種別が読み出しであるファイルア
クセス要求201のアクセス開始位置が等しくなかった場
合には0になる。
【0156】バッファ面のアドレス809は、サーババッ
ファ307のバッファ面のアドレスである。
【0157】リクエスト管理テーブル810は、対応する
リクエスト管理テーブル328のアドレスである。
【0158】リクエスト管理テーブル328は、コマンド
受け付け手段310とバッファ割り当て手段312とディスク
アクセス手段313と通信制御手段311の間で処理を渡すと
きに、リクエストの状態を示すテーブルである。
【0159】ファイル識別子811は、ファイルアクセス
を行うファイルの識別子である。
【0160】ブロック番号812は、ファイルアクセスを
行う範囲がファイルのどの部分であるかを示す値であ
る。ファイルの先頭からファイルアクセスを行う範囲ま
でのバイト数をバッファ面のサイズで割った値である。
【0161】アクセス開始位置813は、ファイルの先頭
からファイルアクセスを行う範囲の始点までのバイト数
を示す値である。
【0162】アクセスサイズ814は、ファイルアクセス
を行う範囲の大きさを示す値である。
【0163】ステータス815は、ファイルアクセス処理
の成否を示す値である。
【0164】アクセス種別816は、ファイルアクセス種
別を示す値である。読み出し、書き込み、隙間読み、先
読みの4つの値がある。
【0165】バッファ管理テーブルのアドレス817は、
対応するバッファ管理テーブル330のアドレスである。
【0166】以上の管理テーブルを用いることで、バッ
ファ面の状態およびリクエストの状態を管理することが
できる。
【0167】図10を用いて、バッファ割り当て手段312
の処理を説明する。
【0168】ステップ722において、あらかじめ決めら
れたサイズのサーババッファ307をあらかじめ決められ
た面数だけ確保する。
【0169】ステップ723において、サーババッファ307
の各バッファ面の状態を記憶するバッファ管理テーブル
339を作成する。
【0170】ステップ724において、すべてのバッファ
管理テーブル330に対応するバッファ面のステータスをI
NITIALにする。
【0171】ステップ725において、ステップ726からス
テップ736までを繰り返す。
【0172】ステップ726において、コマンド受け付け
手段310からバッファ検索要求333を受ける。
【0173】ステップ728において、バッファ管理テー
ブル330の中から、バッファ検索要求333のアクセス開始
位置からアクセスサイズ分のデータを持つバッファ面を
探す。
【0174】ステップ729において、728の検索結果を判
断する。
【0175】ステップ729の判断結果が見つからなかっ
た場合には、ステップ730において、バッファ管理テー
ブル330の中からステータスがINITIALまたはCLEANであ
るバッファ面を探す。
【0176】ステップ731において、ステップ730の検索
結果を判断する。
【0177】ステップ731の判断結果が見つからなかっ
た場合には、ステップ732において、いくつかのバッフ
ァ面について、リクエスト管理テーブル328を作り、デ
ィスクアクセス手段313に、ディスクアクセス要求331を
発行する。リクエスト管理テーブル328のアクセス種別8
16は書き込みとする。
【0178】ステップ733において、バッファ管理テー
ブル330の中から、ステータスがINITIALまたはCLEANで
あるバッファ面ができるのを待つ。
【0179】ステップ734において、ステップ728に戻
る。
【0180】ステップ735において、バッファ管理テー
ブル330の中の検索したバッファ面のステータスをINITI
ALにする。
【0181】ステップ736において、コマンド受け付け
手段310に、バッファ検索終了332を発行する。 以上の
手順によって、バッファ割り当て手段312はバッファの
割り当てと検索を行い、ディスクと一貫性の取れていな
いDIRTY状態のバッファ面が増えた場合には、バッファ
面の有効データをディスクに書き込むことができる。
【0182】図11を用いてコマンド受け付け手段310の
処理を説明する。
【0183】ステップ700において、ステップ701からス
テップ721を繰り返す。
【0184】ステップ701において、リダイレクタプロ
グラム111からファイルアクセス要求201を受けるまで待
つ。
【0185】ステップ702において、ファイルアクセス
要求201を解析し、バッファ面に合わせてリクエストを
分割し、分割数分のリクエスト管理テーブル328を作
る。リクエスト管理テーブル328のアクセス種別816とフ
ァイル識別子811にはファイルアクセス要求201のファイ
ルアクセス種別とファイル識別子を代入する。リクエス
ト管理テーブル328のブロック番号、アクセス開始位
置、アクセスサイズには、ステップ702における分割後
の値を代入する。
【0186】ステップ703において、ステップ702におい
て分割したリクエストの数だけ、ステップ704からステ
ップ720を繰り返す。
【0187】ステップ704において、バッファ割り当て
手段312に、バッファ検索要求333を発行する。 ステッ
プ705において、バッファ割り当て手段312からのバッフ
ァ検索終了332を待つ。
【0188】ステップ706において、リクエスト管理テ
ーブル328に書かれたアクセス種別816を判断する。
【0189】ステップ706の判断結果が読み出しの場合
には、ステップ707において、隙間を読むかどうかの判
定を行う。隙間を読むと判定した場合には、アクセス開
始位置とアクセスサイズも計算する。
【0190】ステップ708において、ディスクを読むか
どうかの判定を行う。ディスクを読むと判定した場合に
は、アクセス開始位置とアクセスサイズも計算する。
【0191】ステップ709において、先読みするかの判
定を行う。先読みすると判定した場合には、ブロック番
号とアクセス開始位置とアクセスサイズも計算する。
【0192】ステップ710において、ステップ708の判断
結果を判断する。
【0193】ステップ710においてディスクを読むと判
定した場合には、ステップ711において、ステップ708で
計算したアクセス開始位置やアクセスサイズおよびステ
ップ702で作ったリクエスト管理テーブル328の値を用い
てリクエスト管理テーブル328を作り、ディスクアク
セス手段313にディスクアクセス要求317を発行す
る。リクエスト管理テーブル328のアクセス種別816は読
み出しとする。
【0194】ステップ712において、ステップ709の判断
結果を判断する。
【0195】ステップ712においてステップ702で作った
リクエスト管理テーブルた328と異なるブロック番号で
先読みを行うと判定した場合には、ステップ713におい
て、ステップ709で計算したアクセス開始位置やアクセ
スサイズやブロック番号およびステップ702で作ったリ
クエスト管理テーブル328の値を用いてリクエスト管理
テーブル328を作り、ディスクアクセス手段313にディス
クアクセス要求317を発行する。リクエスト管理テーブ
ル328のアクセス種別816は先読みとする。
【0196】ステップ714において、ステップ708の判断
結果を判断する。
【0197】ステップ714においてディスクを読むと判
定した場合には、ステップ715において、ディスクアク
セス手段313からのディスクアクセス終了316を待つ。
【0198】ステップ716において、通信制御手段311
に、データ送受信要求319を発行する。
【0199】ステップ717において、通信制御手段311か
らのデータ送受信終了318を待つ。
【0200】ステップ718において、ステップ707の判断
結果を判断する。
【0201】ステップ718において隙間を読むと判断し
た場合には、ステップ719において、ステップ707で計算
したアクセス開始位置やアクセスサイズおよびステップ
702で作ったリクエスト管理テーブル328の値を用いてリ
クエスト管理テーブル328を作り、ディスクアクセス手
段313に、ディスクアクセス要求317を発行する。リクエ
スト管理テーブル328のアクセス種別816は隙間読みとす
る。
【0202】ステップ720においてステップ702で作った
リクエスト管理テーブルた328と同じブロック番号で先
読みを行うと判定した場合には、ステップ720におい
て、ステップ709で計算したアクセス開始位置やアクセ
スサイズやブロック番号およびステップ702で作ったリ
クエスト管理テーブル328の値を用いてリクエスト管理
テーブル328を作り、ディスクアクセス手段313にディス
クアクセス要求317を発行する。リクエスト管理テーブ
ル328のアクセス種別816は先読みとする。
【0203】ステップ721において、コマンド受け付け
手段310はクライアント100に、ファイルアクセス終了20
2を発行する。
【0204】以上の手順によって、コマンド受け付け手
段310はファイルアクセス要求201を分割してリクエスト
管理テーブル328を作り、ディスクアクセス、データ送
受信を行うことで、ファイルアクセス要求201のアクセ
スサイズがどんなに大きな値でも、データの送受信を行
うことができる。さらに、ディスクアクセス手段313の
処理を他の処理と並列に行うこと、サーバ300に複数回
送られてきたデータをサーババッファ307に貯えておき
一度に二次記憶装置306に書き込むこと、サーババッフ
ァ307にデータがある場合には二次記憶装置306からデー
タの読み出しを行わないこと、アクセス種別が読み出し
であるファイルアクセス要求201が二次記憶装置306内の
連続した領域に対してなされる場合にファイルアクセス
要求201が来なくても二次記憶装置306の次の領域のデー
タを読み出すこと、ファイルアクセス要求201で要求さ
れたアクセス範囲とサーババッファ307の有効なデータ
の範囲がサーババッファ307の同一バッファ面内で隙間
が空いているときに隙間の領域のデータも読み出すこと
が可能となり、サーバ300の高速化も図ることができ
る。
【0205】図12を用いて、ディスクアクセス手段313
の処理を説明する。
【0206】ステップ737において、ステップ738からス
テップ743までを繰り返す。
【0207】ステップ738において、コマンド受け付け
手段310からディスクアクセス要求317を受ける、または
バッファ割り当て手段312からディスクアクセス要求331
を受けるまで待つ。
【0208】ステップ739において、ファイルシステム
プログラム308にディスクアクセス要求325を発行する。
【0209】ステップ740において、ファイルシステム
プログラム308からのディスクアクセス終了324を待つ。
【0210】ステップ741において、ディスクアクセス
を行ったバッファ面のバッファ管理テーブル330の値を
代入し直す。リクエスト管理テーブル328のアクセス種
別816が書き込みの場合、バッファ管理テーブル330のス
テータス805をCLEANにし、有効範囲の始点803と有効範
囲のサイズ804は変更しない。リクエスト管理テーブル3
28のアクセス種別816が読み出し、隙間読み、先読みの
場合、バッファ管理テーブル330のステータス805は、元
のステータス805がDIRTYの場合はDIRTYにし、元のステ
ータス805がCLEAN、INITIALの場合にはCLEANにし、有効
範囲の始点803と有効範囲のサイズ804はディスクを読み
出すことでバッファの有効範囲が変更した場合は適切な
値に設定し直す。
【0211】ステップ742において、リクエスト管理テ
ーブル328のアクセス種別816が読み出しの場合には、コ
マンド受け付け手段310にディスクアクセス終了316を発
行する。
【0212】以上の手順により、ディスクアクセス手段
313はディスクアクセスを行うことができる。特に、リ
クエスト管理テーブル328のアクセス種別816が読み出し
以外の場合には、コマンド受け付け手段310にディスク
アクセス終了316を発行しないため、ディスクアクセス
手段313は他の手段と並列に処理を行うことができる。
【0213】図13を用いて、通信制御手段311の処理を
説明する。
【0214】ステップ745において、ステップ746からス
テップ752を繰り返す。
【0215】ステップ746において、コマンド受け付け
手段310から、データ送受信要求319を受けるまで待つ。
【0216】ステップ747において、サーバ通信制御装
置303とネットワーク200を介してクライアント100に、
データ転送量を送る(205)。
【0217】ステップ748において、サーバ通信制御装
置303に、データ送受信要求320を発行する。
【0218】ステップ749において、サーバ通信制御装
置303からのデータ送受信終了321を待つ。
【0219】ステップ750において、リクエスト管理テ
ーブル328のアクセス種別がを判断する。
【0220】ステップ750の判断結果が書き込みの場合
には、データ送受信を行ったバッファ面のバッファ管理
テーブル330の値を代入し直す。バッファ管理テーブル3
30のステータス805をDIRTYにし、有効範囲の始点803と
有効範囲のサイズ804はデータを受け取ることでバッフ
ァの有効範囲が変更した場合は適切な値に設定し直す。
【0221】ステップ752において、コマンド受け付け
手段310に、データ送受信終了318を発行する。 以上の
手順により、通信制御手段311は、データの送受信を行
うことができる。
【0222】図14を用いて、ステップ708におけるディ
スクを読むかどうかの判定方法を示す。
【0223】図14はサーババッファ307の内部状態を示
す模式図である。
【0224】サーババッファ307は、バッファ管理テー
ブル330の有効範囲の始点803と有効範囲のサイズ804で
表される有効範囲902の領域に有効なデータを保持して
いる。
【0225】一方、リクエスト管理テーブル328におい
てアクセス開始位置813とアクセスサイズ814で表される
アクセス範囲903が存在する。
【0226】バッファ管理テーブル330のファイル識別
子801とリクエスト管理テーブル328のファイル識別子81
1を比較し、等しくない場合は、ディスクを読む必要は
ないと判断する。そうでない場合は、バッファ管理テー
ブル330のブロック番号802とリクエスト管理テーブル32
8のブロック番号812を比較し、等しくない場合は、ディ
スクを読む必要はないと判断する。
【0227】そうでない場合に、有効範囲902とアクセ
ス範囲903を比較し、アクセス範囲903が有効範囲902に
含まれるならばディスクを読む必要がないと判断する。
【0228】アクセス範囲903が有効範囲902に含まれ
ず、かつ、有効範囲902とアクセス範囲903の共通部分が
存在する場合にはディスクを読む必要があると判断し、
ディスクを読む範囲906はアクセス範囲903の非共通部分
とする。
【0229】アクセス範囲903が有効範囲902に含まれ
ず、かつ、有効範囲902とアクセス範囲903の共通部分が
存在しない場合にはディスクを読む必要があると判断
し、ディスクを読む範囲906はアクセス範囲903と同じと
する。
【0230】以上の手順により、ディスクを読む必要が
あるかどうか、および、ディスクを読む必要がある場合
にはディスクを読む範囲906はどの範囲かを判断するこ
とができる。
【0231】図15を用いて、ステップ707における隙間
を読むかどうかの判定方法を示す。
【0232】図15はサーババッファ307の内部状態を示
す模式図である。
【0233】サーババッファ307は、バッファ管理テー
ブル330の有効範囲の始点803と有効範囲のサイズ804で
表される有効範囲902の領域に有効なデータを保持して
いる。
【0234】一方、リクエスト管理テーブル328におい
てアクセス開始位置813とアクセスサイズ814で表される
アクセス範囲903が存在する。
【0235】バッファ管理テーブル330のファイル識別
子801とリクエスト管理テーブル328のファイル識別子81
1を比較し、等しくない場合は、隙間を読む必要はない
と判断する。そうでない場合は、バッファ管理テーブル
330のブロック番号802とリクエスト管理テーブル328の
ブロック番号812を比較し、等しくない場合は、隙間を
読む必要はないと判断する。
【0236】有効範囲902とアクセス範囲903を比較し、
有効範囲902とアクセス範囲903の間に隙間が存在する場
合、隙間を読む必要があると判断し、隙間を読む範囲90
5は有効範囲902とアクセス範囲903の間の領域とする。
【0237】以上の手順により、隙間を読む必要がある
かどうか、および、隙間を読む必要がある場合には隙間
を読む範囲905はどの範囲かを判断することができる。
【0238】図16を用いて、ステップ709における先読
みするかどうかの判定を行う。
【0239】図16はサーババッファ307の内部状態を示
す模式図である。
【0240】サーババッファ307は、バッファ管理テー
ブル330の有効範囲の始点803と有効範囲のサイズ804で
表される有効範囲902の領域に有効なデータを保持して
いる。
【0241】一方、リクエスト管理テーブル328におい
てアクセス開始位置813とアクセスサイズ814で表される
アクセス範囲903が存在する。
【0242】バッファ管理テーブル330のファイル識別
子801とリクエスト管理テーブル328のファイル識別子81
1を比較し、等しくない場合は、先読みする必要はない
と判断する。そうでない場合は、バッファ管理テーブル
330のブロック番号802とリクエスト管理テーブル328の
ブロック番号812を比較し、等しくない場合は、先読み
する必要はないと判断する。
【0243】そうでない場合、アクセス範囲903の始
点、すなわちリクエスト管理テーブル328のアクセス開
始位置813と、バッファ管理テーブル330の次回アクセス
開始予想位置807を比較する。アクセス開始位置813と次
回アクセス開始予想位置807が等しくない場合、連続領
域への読み出しではないと判断し、バッファ管理テーブ
ル330の連続領域アクセス回数808を0にし、次回アクセ
ス開始予想位置807を(アクセス開始位置813 + アクセス
サイズ814)にする。アクセス開始位置813と次回アクセ
ス開始予想位置807が等しい場合、連続領域への読み出
しであると判断し、連続領域アクセス回数808を1増加
し、次回アクセス開始予想位置807を(アクセス開始位置
813 + アクセスサイズ814)にする。先読みサイズは、あ
らかじめ決められた固定値でもよいし、連続領域アクセ
ス回数808の値に依存する変動値でもよい。この場合に
は、同じサーババッファ307に先読みを行うと判断す
る。
【0244】ただし、リクエスト管理テーブル328のア
クセス開始位置813が0の場合には、上記判断手順は使え
ない。この場合には、バッファ管理テーブル330のファ
イル識別子801とリクエスト管理テーブル328のファイル
識別子811を比較し、等しくない場合は、先読みする必
要はないと判断する。そうでない場合は、バッファ管理
テーブル330の(ブロック番号802 + 1)とリクエスト管理
テーブル328のブロック番号812を比較し、等しくない場
合は、先読みする必要はないと判断する。
【0245】そうでない場合、バッファ管理テーブル33
0の次回アクセス開始予想位置807がサーババッファ307
のサイズと等しいかどうかを判断し、等しくない場合、
連続領域への読み出しではないと判断し、バッファ管理
テーブル330の連続領域アクセス回数808を0にし、次回
アクセス開始予想位置807を(アクセス開始位置813 +ア
クセスサイズ814)にする。バッファ管理テーブル330の
次回アクセス開始予想位置807がサーババッファ307のサ
イズと等しい場合、連続領域への読み出しであると判断
する。リクエスト管理テーブル328のブロック番号812と
等しいブロック番号802を持つバッファ管理テーブル330
を探す。探す方法はバッファ割り当て手段312のバッフ
ァ検索処理と同じである。検索して見つかったサーババ
ッファ307の連続領域アクセス回数808に元のサーババッ
ファ307の連続領域アクセス回数808に1を加えたものを
代入し、元のサーババッファ307の連続領域アクセス回
数808には0を代入する。検索して見つかったサーババッ
ファ307の次回アクセス開始予想位置807に(アクセス開
始位置813 + アクセスサイズ814)を代入し、元のサーバ
バッファ307の次回アクセス開始予想位置807に0を代入
する。先読みサイズはあらかじめ決められた固定値でも
酔いし、連続領域アクセス回数808の値に依存する変動
値でもよい。この場合には、異なるサーババッファ307
に先読みを行うと判断する。
【0246】以上の手順により、先読みを行う必要があ
るかどうか、および、先読みを行う必要がある場合には
先読みを行う範囲はどの範囲か、および、先読みを行う
サーババッファ307が読み出しを行うサーババッファ307
と同じかどうかを判断することができる。
【0247】
【発明の効果】本発明により、サーバとクライアントの
データ送受信においてメモリコピーをなくすことが出
来、データ転送速度を向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1実施例による計算機ネットワーク
システムの構成を示すブロック図。
【図2】第1実施例におけるクライアントの全体処理を
示すPAD図。
【図3】第1実施例におけるサーバの全体処理を示すPAD
図。
【図4】第1実施例におけるサーバのバッファの割り当
て処理を示すPAD図。
【図5】第1実施例におけるサーバのディスクアクセス
処理を示すPAD図。
【図6】第1実施例におけるサーバのデータ送受信処理
を示すPAD図。
【図7】本発明の第2実施例による計算機ネットワーク
システムの構成を示すブロック図。
【図8】第2実施例におけるクライアントの全体処理を
示すPAD図。
【図9】第2実施例における各種管理テーブルの構造を
示す図。
【図10】第2実施例におけるバッファ割り当て手段の
処理を示すPAD図。
【図11】第2実施例におけるコマンド受け付け手段の
処理を示すPAD図。
【図12】第2実施例におけるディスクアクセス手段の
処理を示すPAD図。
【図13】第2実施例における通信制御手段の処理を示
すPAD図。
【図14】第2実施例におけるディスクを読むかどうか
の判断方法を説明する図。
【図15】第2実施例における隙間を読むかどうかの判
断方法を説明する図。
【図16】第2実施例における先読みをするかどうかの
判断方法を説明する図である。
【符号の説明】
100…クライアント、 101…クライアントの計算機、 102…クライアントの入出力バス、 103…クライアントのCPU、 104…クライアントの主記憶装置、 105…クライアントの通信制御装置、 106…クライアントのバッファ、 107…クライアントのユーザプログラム、 108…クライアントのリダイレクタプログラム、 200…ネットワーク、 300…サーバ、 301…サーバの計算機、 302…サーバの入出力バス、 303…サーバの通信制御装置、 304…サーバの主記憶装置、 305…サーバのCPU、 306…サーバの二次記憶装置、 307…サーバのバッファ、 308…サーバのファイルシステムプログラム、 309…サーバのネットワークファイルサーバプログラ
ム、 310…サーバのコマンド受け付け手段、 311…サーバの通信制御手段、 312…サーバのバッファ割り当て手段、 313…サーバのディスクアクセス手段、 328…サーバのリクエスト管理テーブル、 330…サーバのバッファ管理テーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 未来子 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】ネットワークと少なくとも1つのクライア
    ントとネットワークを介してクライアントと接続された
    サーバにおいて、 上記クライアントはクライアント計算機を有し、 上記クライアント計算機はクライアント入出力バスと、
    上記クライアント入出力バスに接続されたクライアント
    中央演算処理装置と、上記クライアント入出力バスに接
    続されたクライアント主記憶装置と、上記クライアント
    入出力バスに接続され、かつ、上記ネットワークに接続
    されたクライアント通信制御装置を有し、 上記クライアント主記憶装置はユーザプログラムとクラ
    イアントバッファとリダイレクタプログラムを有し、 上記リダイレクタプログラムは、 上記ユーザプログラムが上記クライアントバッファの確
    保を行った後で上記リダイレクタプログラムにファイル
    アクセス要求を発行したときに、 上記クライアント通信制御装置と上記ネットワークを介
    して上記サーバへ上記ファイルアクセス要求を発行する
    処理と、 上記クライアント通信制御装置へデータ送受信要求を発
    行する処理と、 データ送受信終了時に上記サーバから上記クライアント
    通信制御装置と上記ネットワークを介してデータ送受信
    終了を受け付ける処理と、 上記サーバから上記ネットワークと上記クライアント通
    信制御装置を介して発行されたファイルアクセス終了を
    受け付ける処理と、 上記ファイルアクセス終了を上記ユーザプログラムへ発
    行する処理からなることを特徴とするデータ転送方法。
  2. 【請求項2】請求項1において、 上記サーバはサーバ計算機と、上記サーバ計算機が有す
    るサーバ入出力バスで接続された二次記憶装置を有し、 上記サーバ計算機は上記サーバ入出力バスと、上記サー
    バ入出力バスに接続されたサーバ中央演算処理装置と、
    上記サーバ入出力バスに接続されたサーバ主記憶装置
    と、上記サーバ入出力バスに接続され、かつ、上記ネッ
    トワークに接続されたサーバ通信制御装置を有し、 上記サーバ主記憶装置はネットワークファイルサーバプ
    ログラムとサーババッファとファイルシステムプログラ
    ムを有し、 上記ネットワークファイルサーバプログラムはコマンド
    受け付け手段と通信制御手段とバッファ割り当て手段と
    ディスクアクセス手段を有し、 上記コマンド受け付け手段は、 上記クライアントからのファイルアクセス要求を受け付
    ける処理と、 上記バッファ割り当て手段へバッファ割り当て要求を発
    行する処理と、 上記バッファ割り当て手段からのバッファ割り当て終了
    を受け付ける処理と、 上記ディスクアクセス手段へディスクアクセス要求を発
    行する処理と、 上記ディスクアクセス手段からのディスクアクセス終了
    を受け付ける処理と、 上記通信制御手段へデータ送受信要求を発行する処理
    と、 上記通信制御手段からのデータ送受信終了を受け付ける
    処理と、 上記クライアントへファイルアクセス終了を発行する処
    理からなり、 上記通信制御手段は、 上記コマンド受け付け手段からのデータ送受信要求を受
    けつける処理と、 上記サーバ通信制御装置にデータ送受信要求を発行する
    処理と、 上記サーバ通信制御装置からのデータ送受信終了を受け
    付ける処理と、 上記コマンド受け付け手段にデータ送受信要求終了を発
    行する処理からなり、 上記バッファ割り当て手段は、 上記コマンド受け付け手段からのバッファ割り当て要求
    を受けつける処理と、 上記バッファを上記バッファ割り当て要求の割り当てサ
    イズだけ割り当てる処理と、 上記コマンド受け付け手段にバッファ割り当て終了を発
    行する処理からなり、 上記ディスクアクセス手段は、 上記コマンド受け付け手段からのディスクアクセス要求
    を受け付ける処理と、 上記ファイルシステムプログラムにディスクアクセス要
    求を発行する処理と、 上記ファイルシステムプログラムからのディスクアクセ
    ス終了を受け付ける処理と、 上記コマンド受け付け手段にディスクアクセス終了を発
    行する処理からなり、 上記ファイルシステムプログラムは、 上記ディスクアクセス手段からのディスクアクセス要求
    を受け付ける処理と、 上記サーバ入出力バスを介して上記二次記憶装置にディ
    スクアクセス要求を発行する処理と、 上記サーバ入出力バスを介して上記二次記憶装置のデー
    タをアクセスする処理と、 上記サーバ入出力バスを介して上記二次記憶装置からの
    ディスクアクセス終了を受け付ける処理と、 上記ディスクアクセス手段へディスクアクセス終了を発
    行する処理からなり、 上記サーバ通信制御装置は、 上記通信制御手段からのデータ送受信要求を受け付ける
    処理と、 上記ネットワークを介して上記クライアントバッファと
    上記サーババッファの間でデータの送受信を行う処理
    と、 上記通信制御手段へデータ送受信終了を発行する処理か
    らなることを特徴とするデータ転送方法。
  3. 【請求項3】請求項1において、 上記リダイレクタプログラムの処理に、 上記クライアント通信制御装置と上記ネットワークを介
    して、上記サーバから送受信データ量を受け取る処理
    と、 上記クライアントバッファ内の送受信データ開始位置を
    上記送受信データ量に応じて変更する処理を加え、 上記クライアント通信制御装置と上記ネットワークを介
    して、上記サーバから送受信データ量を受け取る処理
    と、 上記クライアントバッファ内の送受信データ開始位置を
    上記送受信データ量に応じて変更する処理と、 上記クライアント通信制御装置へデータ送受信要求を発
    行する処理と、 データ送受信終了時に上記サーバから上記クライアント
    通信制御装置と上記ネットワークを介してデータ送受信
    終了を受け付ける処理を上記ユーザプログラムからのフ
    ァイルアクセス要求のアクセスサイズと等しくなるまで
    繰り返すことを特徴とするデータ転送方法。
  4. 【請求項4】請求項2において、 上記コマンド受け付け手段の処理の、 上記バッファ割り当て手段へバッファ割り当て要求を発
    行する処理と、 上記バッファ割り当て手段からのバッファ割り当て終了
    を受け付ける処理を、 上記バッファ割り当て手段へバッファ検索要求を発行す
    る処理と、 上記バッファ割り当て手段からのバッファ検索終了を受
    け付ける処理に替え、 上記サーバ通信制御装置と上記ネットワークを介して、
    上記クライアントへ送受信データ量を発行する処理と、 上記サーババッファ内の送受信データ開始位置を上記送
    受信データ量に応じて変更する処理を加え、 上記ディスクアクセス手段へディスクアクセス要求を発
    行する処理と、 上記ディスクアクセス手段からのディスクアクセス終了
    を受け付ける処理と、 上記サーバ通信制御装置と上記ネットワークを介して、
    上記クライアントへ送受信データ量を発行する処理と、 上記サーババッファ内の送受信データ開始位置を上記送
    受信データ量に応じて変更する処理と、 上記通信制御手段へデータ送受信要求を発行する処理
    と、 上記通信制御手段からのデータ送受信終了を受け付ける
    処理を、 上記クライアントからのファイルアクセス要求のアクセ
    スサイズと等しくなるまで繰り返し、 上記バッファ割り当て手段の処理の、 上記コマンド受け付け手段からのバッファ割り当て要求
    を受けつける処理と、 上記バッファを上記バッファ割り当て要求の割り当てサ
    イズだけ割り当てる処理と、 上記コマンド受け付け手段にバッファ割り当て終了を発
    行する処理を、 あらかじめ決められたサイズの上記サーババッファをあ
    らかじめ決められた面数だけ割り当てる処理に替え、 上記コマンド受け付け手段からのバッファ検索要求を受
    け付ける処理と、 上記バッファ検索要求に応じて、適切なバッファ面を検
    索する処理と、 上記コマンド受け付け手段にバッファ検索終了を発行す
    る処理を加えることを特徴とするデータ転送方法。
  5. 【請求項5】請求項4において、 上記コマンド受け付け手段の処理に、 上記ディスクアクセス手段からのディスクアクセス終了
    を受け付ける処理を、 上記クライアントからのアクセス要求の種別によって、
    上記ディスクアクセス手段からのディスクアクセス終了
    を受け付ける場合と受け付けない場合の切り替えを行う
    処理に替え、 上記ディスクアクセス手段の処理に、 上記コマンド受け付け手段からのディスクアクセス要求
    の種別を判断する処理を加え、 上記コマンド受け付け手段にディスクアクセス終了を発
    行する処理を、 上記コマンド受け付け手段からのディスクアクセス要求
    の種別によって、上記コマンド受け付け手段にディスク
    アクセス終了を発行する場合と発行しない場合の切り替
    えを行う処理に替えることを特徴とするデータ転送方
    法。
  6. 【請求項6】請求項4において、 上記コマンド受け付け手段の処理に、 上記クライアントからのアクセス要求の種別および、上
    記バッファ割り当て手段が検索したバッファ面が持って
    いるデータの範囲によって、上記ディスクアクセス手段
    へディスクアクセス要求を発行する処理と、上記ディス
    クアクセス手段からのディスクアクセス終了を受け付け
    る処理を行う場合と行わない場合の切り替えを行う処理
    を加え、 上記バッファ割り当て手段の処理に、 上記ディスクアクセス手段へディスクアクセス要求を発
    行する処理を加え、 上記バッファ検索要求に応じて、適切なバッファ面を検
    索する処理を、 上記バッファ検索要求のアクセス範囲のデータを持つ上
    記バッファ面を検索する処理と、 上記二次記憶装置のデータと一貫性のないデータを持っ
    ているバッファ面の割合を調べる処理に替え、 上記バッファ検索要求のアクセス範囲のデータを持つ上
    記バッファ面が見つからず、かつ、ディスクと一貫性の
    ないデータを持っているバッファ面の割合があらかじめ
    決められた値よりも超えていた場合に、あらかじめ決め
    られた数のディスクと一貫性のないデータをもつバッフ
    ァ面に対して上記ディスクアクセス手段へディスクアク
    セス要求を発行する処理を繰り返すことを特徴とするデ
    ータ転送方法。
  7. 【請求項7】請求項4において、 上記コマンド受け付け手段の処理に、 以前に発行された上記クライアントからの種別が読み出
    しであるアクセス要求のアクセス範囲と、今回発行され
    た上記クライアントからの種別が読み出しであるアクセ
    ス要求のアクセス範囲が連続領域に行われているかどう
    かを判断する処理と、 今回発行された上記クライアントからの種別が読み出し
    であるアクセス要求のアクセス範囲が連続領域に行われ
    ていると判断した場合に、今回発行された上記クライア
    ントからの種別が読み出しであるアクセス要求のアクセ
    ス範囲に隣接する領域に対して、上記ディスクアクセス
    手段へディスクアクセス要求を発行する処理を加えるこ
    とを特徴とするデータ転送方法。
  8. 【請求項8】請求項4において、 上記コマンド受け付け手段の処理に、 上記バッファ割り当て手段が検索したバッファ面がもつ
    データの範囲と今回発行された上記クライアントからの
    アクセス要求のアクセス範囲が不連続な場合に、上記バ
    ッファ割り当て手段が検索したバッファ面がもつデータ
    の範囲と今回発行された上記クライアントからのアクセ
    ス要求のアクセス範囲との間の領域に対して、上記ディ
    スクアクセス手段へディスクアクセス要求を発行する処
    理を加えることを特徴とするデータ転送方法。
  9. 【請求項9】請求項1あるいは3のデータ転送方法を用い
    るクライアント装置。
  10. 【請求項10】請求項2、4、5、6、7、8の内1つのデー
    タ転送方法を用いるサーバ装置。
JP10114628A 1998-04-24 1998-04-24 データ転送方法およびそれを実施する情報処理装置 Pending JPH11306053A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10114628A JPH11306053A (ja) 1998-04-24 1998-04-24 データ転送方法およびそれを実施する情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10114628A JPH11306053A (ja) 1998-04-24 1998-04-24 データ転送方法およびそれを実施する情報処理装置

Publications (1)

Publication Number Publication Date
JPH11306053A true JPH11306053A (ja) 1999-11-05

Family

ID=14642615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10114628A Pending JPH11306053A (ja) 1998-04-24 1998-04-24 データ転送方法およびそれを実施する情報処理装置

Country Status (1)

Country Link
JP (1) JPH11306053A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003514302A (ja) * 1999-11-12 2003-04-15 アカンバ コーポレイション 独立した接続およびデータバッファを備えた、クライアントとサーバとの接続を管理するためのシステムおよび方法。
JP2009151411A (ja) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp データ検索装置及びシステム及びプログラム及びデータ検索方法
US9009326B2 (en) 1999-09-24 2015-04-14 Akamba Corporation System and method for managing connections between a client and a server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009326B2 (en) 1999-09-24 2015-04-14 Akamba Corporation System and method for managing connections between a client and a server
JP2003514302A (ja) * 1999-11-12 2003-04-15 アカンバ コーポレイション 独立した接続およびデータバッファを備えた、クライアントとサーバとの接続を管理するためのシステムおよび方法。
JP2009151411A (ja) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp データ検索装置及びシステム及びプログラム及びデータ検索方法

Similar Documents

Publication Publication Date Title
US7707337B2 (en) Object-based storage device with low process load and control method thereof
US6032217A (en) Method for reconfiguring containers without shutting down the system and with minimal interruption to on-line processing
US8001323B2 (en) Network storage system, management method therefor, and control program product therefor
US20040215616A1 (en) File access method in storage-device system, and programs for the file access
JPH10222407A (ja) プロセスオーバーヘッド及びデータベースサーバからの冗長な検索を減少するように同じプロセスにおける多数のデータベーストランザクションを処理する方法
CN110457261B (zh) 数据访问方法、装置及服务器
JPH1031612A (ja) 高度ファイル・サーバ
US8458289B1 (en) Methods and apparatus for providing content
JP3324572B2 (ja) 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体
CN112463753A (zh) 一种区块链数据存储方法、系统、设备及可读存储介质
KR0175983B1 (ko) 데이타 처리 시스템
US6434553B1 (en) File prefetch control method for computer system
US8010733B1 (en) Methods and apparatus for accessing content
JP5999536B2 (ja) 計算機及びデータ読み出し方法
EP3293625B1 (en) Method and device for accessing file, and storage system
JPH07239808A (ja) 分散データ管理方式
JPH11306053A (ja) データ転送方法およびそれを実施する情報処理装置
US11586353B2 (en) Optimized access to high-speed storage device
KR100648065B1 (ko) 입출력 가속 기술이 적용된 하드웨어용 파일 시스템 및 그파일 시스템에서의 데이터 처리 방법
JPH11149455A (ja) メモリディスク共有方法及びその実施装置
KR100825724B1 (ko) 직접접속방식을 적용하는 고속 전송이 가능한PMEM(PCI Memory)를 이용한 객체 기반저장시스템 및 그 시스템에서의 전송 방법
JPH0728685A (ja) ネットワークファイル共有システム
CN114138451A (zh) 集群部署方法、装置、磁盘分配方法、电子设备和介质
JP2022070669A (ja) データベースシステム、及びクエリ実行方法
JP2007249496A (ja) ストレージエリアネットワーク用ファイルシステム、そのキャッシュ方法、及びクライアント