JP2001101058A - Remote access method to secondary storage device - Google Patents

Remote access method to secondary storage device

Info

Publication number
JP2001101058A
JP2001101058A JP2000242636A JP2000242636A JP2001101058A JP 2001101058 A JP2001101058 A JP 2001101058A JP 2000242636 A JP2000242636 A JP 2000242636A JP 2000242636 A JP2000242636 A JP 2000242636A JP 2001101058 A JP2001101058 A JP 2001101058A
Authority
JP
Japan
Prior art keywords
read
computer
request
write
reservation
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.)
Granted
Application number
JP2000242636A
Other languages
Japanese (ja)
Other versions
JP3698031B2 (en
Inventor
Yuichi Aiba
雄一 相場
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2000242636A priority Critical patent/JP3698031B2/en
Publication of JP2001101058A publication Critical patent/JP2001101058A/en
Application granted granted Critical
Publication of JP3698031B2 publication Critical patent/JP3698031B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the time of read/write processing to a remote secondary storage device through an inter-computer connecting network. SOLUTION: A library 11 linked with a client program 5 divides read/write calling from the client program 5 to a remote secondary storage device 4 into a plurality of read/write requests, and transmits them through an inter-computer connecting terminal 3 to a sever computer 2 in a batch at once. A file server 10 of the sever computer 2 receives the read/write requests, and accesses the requested data on the secondary storage device 4 and transmits one response to the client program being the origin of the request in response to one received read/write request. This processing is multiplexed and executed in response to the plurality of read/write requests so that the inter-computer communication time can be overlapped on the physical read/write processing time to the secondary storage device 4 and the read/write processing time to the remote secondary storage device is shortened.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は二次記憶装置への遠
隔アクセス方法に関し、より詳細には、複数の計算機が
計算機間接続網で接続されている環境において、或る計
算機で動くアプリケーションプログラムから、別の計算
機に接続されている二次記憶装置上のデータに対してア
クセスする方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a remote access method to a secondary storage device, and more particularly, to an application program running on a certain computer in an environment where a plurality of computers are connected by an inter-computer connection network. And a method for accessing data on a secondary storage device connected to another computer.

【0002】[0002]

【従来の技術】別の計算機に接続されている二次記憶装
置(遠隔二次記憶装置)にアクセスする方法は幾つか存
在する。
2. Description of the Related Art There are several methods for accessing a secondary storage device (remote secondary storage device) connected to another computer.

【0003】1つの方法は、図17(A)に示すよう
な、Network File System(NF
S)による方法である。NFSにおけるデータアクセス
は、RPCという通信プロトコルレイヤを設け、ソフト
ウェアで実現されている(参考文献「NFS&NIS」
アスキー出版局)。
[0003] One method is to use a Network File System (NF) as shown in FIG.
S). Data access in NFS is realized by software provided with a communication protocol layer called RPC (refer to the reference document “NFS & NIS”).
ASCII Publishing Bureau).

【0004】NFSでは、クライアントプログラムから
のリード/ライトの呼び出しをRPC要求という形に変
換し、サーバ計算機上で動作するNFSデーモンという
プロセスにRPCプロトコルを使って送信する。例え
ば、ライト呼び出しであれば、要求と共にライトデータ
が送信されるが、NFSデーモンでこのデータを取り込
んでから、二次記憶装置に書き込み、応答をクライアン
トプログラムに転送する。リード呼び出しであれば、N
FSデーモンは二次記憶装置から目的とするデータを読
み出し、RPC要求の応答としてデータを返却する。
In the NFS, a read / write call from a client program is converted into an RPC request and transmitted to a process called an NFS daemon operating on a server computer using the RPC protocol. For example, in the case of a write call, write data is transmitted together with a request, but this data is fetched by the NFS daemon, written to the secondary storage device, and a response is transferred to the client program. N for read call
The FS daemon reads the target data from the secondary storage device and returns the data as a response to the RPC request.

【0005】クライアントプログラムからのリード/ラ
イト呼び出しをRPC要求に変換する際は、固定サイズ
データへのリード/ライト要求として複数のRPC要求
に分解される。通常は、1回のRPC要求でアクセスさ
れるデータのサイズは8KByteとなっている。アク
セス要求は1つずつNFSデーモンに送信され、その応
答を待ってから次のRPC要求が送信される。つまり、
NFSデーモンは同時には1つのRPC要求しか処理し
ないため、8KByteのデータを取り込む領域さえ確
保していれば良い。ただし、1つのクライアントプログ
ラムに対して1つのNFSデーモンが占有されるため、
複数のクライアントプログラムからの要求を処理するた
めには、サイズ計算機上にNFSデーモンを複数立ち上
げておく必要がある。
When a read / write call from a client program is converted into an RPC request, it is broken down into a plurality of RPC requests as a read / write request for fixed-size data. Normally, the size of data accessed by one RPC request is 8 KB. The access requests are sent one by one to the NFS daemon, and after waiting for a response, the next RPC request is sent. That is,
Since the NFS daemon processes only one RPC request at a time, it is only necessary to secure an area for taking in 8 Kbytes of data. However, since one NFS daemon is occupied for one client program,
In order to process requests from a plurality of client programs, it is necessary to start a plurality of NFS daemons on the size calculator.

【0006】別の方法として、例えば特開平4−929
43号公報に見られる高速LANのディスクサーバがあ
る。この方法では、図17(B)に示すように、計算機
間接続網を高速LANとし、二次記憶装置(ディスクと
限定している)を管理するディスクサーバと複数のワー
クステーションから構成される環境を想定している。デ
ィスクを管理するディスクサーバは専用のハードウェア
とし、複数のリード/ライト要求を同時に処理できる構
造となっている。
Another method is disclosed in, for example, Japanese Patent Application Laid-Open No. 4-929.
No. 43 discloses a high-speed LAN disk server. In this method, as shown in FIG. 17 (B), an environment including a disk server for managing a secondary storage device (limited to a disk) and a plurality of workstations, wherein a high-speed LAN is used as an inter-computer connection network. Is assumed. The disk server that manages the disk is dedicated hardware, and has a structure capable of simultaneously processing a plurality of read / write requests.

【0007】ワークステーション上ではクライアントプ
ログラムが動作し、クライアントプログラムからの遠隔
ディスクへのリード/ライト要求を、通信によってディ
スクサーバに送信する。例えば、ライト要求であれば、
要求と共にデータを送信する。これに対しディスクサー
バでは、受信したデータをデータバッファに一旦格納し
てからディスクにデータを書き込み、通信によって要求
元のワークステーションに結果を通知する。また、リー
ド要求であれば、ディスクサーバでデータバッファ中に
目的のデータがあるかどうかを調べ、なければディスク
からデータを読み出し、データバッファに格納する。更
に、格納したデータを通信によって要求元のワークステ
ーションに送信する。
[0007] A client program runs on the workstation, and transmits a read / write request to the remote disk from the client program to the disk server by communication. For example, for a write request,
Send data with the request. On the other hand, the disk server temporarily stores the received data in the data buffer, writes the data on the disk, and notifies the requesting workstation by communication of the result. If the request is a read request, the disk server checks whether there is target data in the data buffer. If not, the data is read from the disk and stored in the data buffer. Further, the stored data is transmitted to the requesting workstation by communication.

【0008】この方法では、計算機間接続網と二次記憶
装置との間でデータを中継するために、ディスクサーバ
内にデータバッファを持つ。データバッファは、各ワー
クステーション毎に領域を区切って使用する。リード/
ライト要求はフレームと言う固定長単位で行われる。
In this method, a data buffer is provided in the disk server in order to relay data between the computer connection network and the secondary storage device. The data buffer is used by dividing an area for each workstation. Lead /
Write requests are made in fixed length units called frames.

【0009】以上に挙げた2つの方法は、何れもクライ
アントプログラムからのリード/ライト呼び出しを、複
数の固定長データへの断片的なリード/ライト要求とし
て分解し、二次記憶装置を管理する部分(サーバ計算
機,ディスクサーバ)に送信することによって、遠隔二
次記憶装置へのリード/ライト呼び出しの処理を可能と
している。
In each of the two methods described above, a read / write call from a client program is decomposed as a fragmentary read / write request to a plurality of fixed-length data, and a part for managing a secondary storage device is used. (Server computer, disk server) to enable processing of read / write calls to the remote secondary storage device.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、分解さ
れた各断片リード/ライト要求を1つずつ送信し、処理
結果を待ってから次の断片リード/ライト要求を送信す
るため、通信を何回も行うことになる。1つのリード/
ライト呼び出しの処理の流れを見ると図17(C)のよ
うになり、(断片リード/ライト要求送信)→(二次記
憶装置リード/ライト)→(応答返信)→(断片リード
/ライト要求送信)→……と処理され、全ての断片リー
ド/ライト要求が完了してからクライアントプログラム
のリード/ライト呼び出しの結果が返ってくる。そのた
め、クライアントプログラムから見た遠隔二次記憶装置
アクセスのための時間は、断片リード/ライト要求の数
だけの往復の通信時間が余分にかかっているように見え
る。
However, since each fragmented fragment read / write request is transmitted one by one, and after the processing result is transmitted, the next fragment read / write request is transmitted, communication is performed many times. Will do. One lead /
The flow of the write call process is as shown in FIG. 17C, where (fragment read / write request transmission) → (secondary storage device read / write) → (response reply) → (fragment read / write request transmission) ) →..., And after all fragment read / write requests are completed, the result of the read / write call of the client program is returned. Therefore, the time required for remote secondary storage device access from the viewpoint of the client program appears to require extra round-trip communication time corresponding to the number of fragment read / write requests.

【0011】そこで、本発明では、遠隔二次記憶装置へ
のデータアクセス時間における通信時間のほとんどをク
ライアントプログラムから見えなくし、あたかもその二
次記憶装置がクライアントプログラムの動作する計算機
に接続されているかのようなアクセス時間を達成するこ
とを目的とする。
Therefore, according to the present invention, most of the communication time in the data access time to the remote secondary storage device is made invisible to the client program, and it is as if the secondary storage device is connected to the computer running the client program. The aim is to achieve such access times.

【0012】[0012]

【課題を解決するための手段】本発明は上記の目的を達
成するために、第1の計算機上で動作するクライアント
プログラムから、前記第1の計算機と計算機間接続網を
通じて相互に通信可能な第2の計算機に接続されている
二次記憶装置上のデータに対してアクセスする方法にお
いて、第1の計算機および第2の計算機で以下の(1)
乃至(4)のうちの何れかの処理を実行するようにして
いる。
According to the present invention, in order to achieve the above object, a first computer and a client program running on a first computer can communicate with each other through the first computer and an inter-computer connection network. In the method for accessing data on the secondary storage device connected to the second computer, the first computer and the second computer use the following (1)
Any one of the processes from (4) to (4) is executed.

【0013】(1)第1の計算機は、クライアントプロ
グラムによるリード/ライト呼び出しを、一定サイズの
データへのリード/ライト要求に分割し、該分割して得
られたリード/ライト要求を全部一度に前記第2の計算
機に送信し、前記送信した全てのリード/ライト要求に
ついて前記第2の計算機から応答が返却されていること
を確認した後、前記クライアントプログラムにリード/
ライト呼び出しの結果を戻す。他方、第2の計算機は、
第1の計算機からのリード/ライト要求を受け取り、受
け取ったリード/ライト要求1つに対し、要求された二
次記憶装置上のデータにアクセスをした後、要求元のク
ライアントプログラムに応答1つを送信するという処理
を、複数のリード/ライト要求に対し、多重化して実行
する。
(1) The first computer divides a read / write call by a client program into read / write requests to data of a fixed size, and divides the read / write requests obtained by the division all at once. After transmitting the read / write request to the second computer and confirming that a response has been returned from the second computer for all of the transmitted read / write requests, the read / write request is transmitted to the client program.
Returns the result of a write call. On the other hand, the second calculator is
A read / write request from the first computer is received, and in response to the received read / write request, data on the requested secondary storage device is accessed, and then a response is sent to the requesting client program. The process of transmitting is multiplexed and executed for a plurality of read / write requests.

【0014】このように、クライアントプログラムによ
るリード/ライト呼び出しを一定サイズのデータへのリ
ード/ライト要求に分割して全部一度に第2の計算機に
送信し、第2の計算機において複数のリード/ライト要
求を多重処理することにより、第2の計算機での二次記
憶装置の物理リード/ライト処理と計算機間接続網での
通信処理が並行して行われることになり、通信の時間の
ほとんどが物理リード/ライト処理の時間と重なり、全
体の処理時間が短縮される。
As described above, the read / write call by the client program is divided into read / write requests for data of a fixed size and transmitted to the second computer all at once. By multiplexing the requests, the physical read / write processing of the secondary storage device in the second computer and the communication processing in the inter-computer connection network are performed in parallel. This overlaps with the read / write processing time, and the overall processing time is reduced.

【0015】(2)第1の計算機は、クライアントプロ
グラムによるリード/ライト呼び出しを、一定サイズの
データへのリード/ライト要求に分割し、該分割して得
られたリード/ライト要求の数が予め定められたスレッ
ショルド値以下のときは全部一度に前記第2の計算機に
送信し、スレッショルド値を超えているときは最初にス
レッショルド値分のリード/ライト要求を前記第2の計
算機に送信した後、リード/ライト要求に対応する前記
第2の計算機からの応答を1つ確認する毎に残りのリー
ド/ライト要求を1つ前記第2の計算機に送信し、前記
送信した全てのリード/ライト要求について前記第2の
計算機から応答が返却されていることを確認した後、前
記クライアントプログラムにリード/ライト呼び出しの
結果を戻す。第2の計算機は、前記(1)と同じ処理を
実行する。
(2) The first computer divides the read / write call by the client program into read / write requests for data of a fixed size, and the number of read / write requests obtained by the division is determined in advance. When the threshold value is equal to or less than the threshold value, the data is transmitted to the second computer all at once. When the threshold value is exceeded, a read / write request for the threshold value is first transmitted to the second computer. Whenever one response from the second computer corresponding to the read / write request is confirmed, one remaining read / write request is transmitted to the second computer, and all of the transmitted read / write requests are transmitted. After confirming that a response has been returned from the second computer, the result of the read / write call is returned to the client program. The second computer executes the same processing as in the above (1).

【0016】このように、第2の計算機で一度に受け取
ることのできる要求数としてスレッショルド値を設定
し、最初に送信するリード/ライト要求数をスレッショ
ルド値以下に抑えることにより、第2の計算機での最初
の負荷を一定値以下に抑えることができる。さらに、1
つの応答に対して1つのリード/ライト要求を送信する
ので、第2の計算機で受け取っているリード/ライト要
求数は常にスレッショルド値以下となり、引続き第2の
計算機での負荷を一定値以下に抑えることができる。
As described above, the threshold value is set as the number of requests that can be received at one time by the second computer, and the number of read / write requests transmitted first is suppressed to be equal to or less than the threshold value. Can be suppressed below a certain value. In addition, 1
Since one read / write request is transmitted for one response, the number of read / write requests received by the second computer is always equal to or less than the threshold value, and the load on the second computer is continuously suppressed to a certain value or less. be able to.

【0017】(3)第1の計算機は、クライアントプロ
グラムによるリード/ライト呼び出しを、一定サイズの
データへのリード/ライト要求に分割し、該分割して得
られたリード/ライト要求の送信に先立って前記第2の
計算機に対して予約の要求を送信し、前記送信した予約
の要求に対する前記第2の計算機からの応答に含まれる
予約数からスレッショルド値を決定し、前記分割して得
られたリード/ライト要求の数が前記スレッショルド値
以下のときは全部一度に前記第2の計算機に送信し、ス
レッショルド値を超えているときは最初にスレッショル
ド値分のリード/ライト要求を前記第2の計算機に送信
した後、リード/ライト要求に対応する前記第2の計算
機からの応答を1つ確認する毎に残りのリード/ライト
要求を1つ前記第2の計算機に送信し、前記送信した全
てのリード/ライト要求について前記第2の計算機から
応答が返却されていることを確認した後、前記第2の計
算機に対して予約解除を要求すると共に、前記クライア
ントプログラムにリード/ライト呼び出しの結果を戻
す。他方、第2の計算機は、第1の計算機からの予約の
要求に対し、自計算機の現在の負荷状況に応じて1つの
クライアントプログラムに対して許容するリード/ライ
ト要求数を予約数として前記第1の計算機に通知すると
共にその予約数に見合ったメモリ量を確保し、第1の計
算機からのリード/ライト要求を受け取り、受け取った
リード/ライト要求1つに対し、要求された二次記憶装
置上のデータにアクセスをした後、要求元のクライアン
トプログラムに応答1つを送信するという処理を、複数
のリード/ライト要求に対し、多重化して実行し、第1
の計算機からの予約解除の要求に対し、前記確保してい
たメモリ量を解放する。
(3) The first computer divides the read / write call by the client program into read / write requests for data of a fixed size, and transmits the read / write request obtained by the division. Transmitting a reservation request to the second computer, determining a threshold value from the number of reservations included in a response from the second computer to the transmitted reservation request, and obtaining the divided value. When the number of read / write requests is equal to or less than the threshold value, all of the requests are transmitted to the second computer at once, and when the number of read / write requests exceeds the threshold value, the read / write requests for the threshold value are first sent to the second computer. , And each time a response from the second computer corresponding to a read / write request is confirmed, one remaining read / write request is After confirming that responses have been returned from the second computer for all of the transmitted read / write requests, the computer requests the second computer to cancel reservations, and Returns the result of the read / write call to the client program. On the other hand, in response to a reservation request from the first computer, the second computer sets the number of read / write requests permitted for one client program according to the current load status of the own computer as the reservation number. Notifying the first computer and securing a memory amount commensurate with the number of reservations, receiving a read / write request from the first computer, and responding to one received read / write request to the requested secondary storage device After accessing the above data, a process of transmitting one response to the requesting client program is multiplexed and executed for a plurality of read / write requests.
Release the reserved memory amount in response to a reservation release request from the computer.

【0018】このように、動的に変化する第2の計算機
の負荷状況に応じて、1つのクライアントプログラムに
対して許容する予約数を第1の計算機に知らせ、第1の
計算機はその予約数をスレッショルド値として、以降、
このスレッショルド値に従ってリード/ライト要求を行
うことにより、第2の計算機に発生する負荷が一定値を
超えないように制御することができる。従って、第2の
計算機が複数のクライアントプログラムを相手にして
も、第2の計算機の処理能力を超えることはない。
As described above, the number of reservations permitted for one client program is notified to the first computer in accordance with the dynamically changing load state of the second computer. As a threshold value,
By making a read / write request in accordance with this threshold value, it is possible to control the load generated in the second computer so as not to exceed a certain value. Therefore, even if the second computer deals with a plurality of client programs, it does not exceed the processing capacity of the second computer.

【0019】(4)第1の計算機は、クライアントプロ
グラムによるリード/ライト呼び出しを、一定サイズの
データへのリード/ライト要求に分割し、該分割して得
られたリード/ライト要求のうちの1つのリード/ライ
ト要求に予約の要求を付加した予約+リード/ライト一
括要求を前記第2の計算機に対して送信し、前記送信し
た予約+リード/ライト一括要求に対する前記第2の計
算機からの予約応答に含まれる予約数からスレッショル
ド値を決定し、前記分割して得られたリード/ライト要
求の残りの数が前記スレッショルド値以下のときは、1
つのリード/ライト要求に予約解除の要求を付加して予
約解除+リード/ライト一括要求とした上で、全部一度
に前記第2の計算機に送信し、スレッショルド値を超え
ているときは最初にスレッショルド値分のリード/ライ
ト要求を前記第2の計算機に送信した後、リード/ライ
ト要求に対応する前記第2の計算機からの応答を1つ確
認する毎に残りのリード/ライト要求を1つ前記第2の
計算機に送信していき且つ最後の1つのリード/ライト
要求は予約解除の要求を付加した予約解除+リード/ラ
イト一括要求として送信し、前記送信した全ての要求に
ついて前記第2の計算機から応答が返却されていること
を確認した後、前記クライアントプログラムにリード/
ライト呼び出しの結果を戻す。他方、第2の計算機は、
第1の計算機から要求を受け取り、受け取った要求が予
約+リード/ライト一括要求のときは自計算機の現在の
負荷状況に応じて1つのクライアントプログラムに対し
て許容するリード/ライト要求数を予約数として前記第
1の計算機に通知すると共にその予約数に見合ったメモ
リ量を確保した後、要求された二次記憶装置上のデータ
にアクセスをして要求元のクライアントプログラムに応
答1つを送信するという処理を、受け取った要求がリー
ド/ライト要求のときは要求された二次記憶装置上のデ
ータにアクセスをした後、要求元のクライアントプログ
ラムに応答1つを送信するという処理を、受け取った要
求が予約解除+リード/ライト一括要求のときは要求さ
れた二次記憶装置上のデータにアクセスをした後、要求
元のクライアントプログラムから発生した処理中のリー
ド/ライト要求が全部完了した時点で前記確保したメモ
リ量を解放するという処理を、複数の要求に対し、多重
化して実行する。
(4) The first computer divides the read / write call by the client program into read / write requests for data of a fixed size, and one of the read / write requests obtained by the division. A reservation + read / write batch request in which a reservation request is added to one read / write request is transmitted to the second computer, and a reservation from the second computer for the transmitted reservation + read / write batch request is transmitted. A threshold value is determined from the number of reservations included in the response, and when the remaining number of read / write requests obtained by the division is equal to or smaller than the threshold value, 1 is set.
A reservation release request is added to one read / write request to make a reservation release + read / write batch request, and then all are sent to the second computer at once, and when the threshold value is exceeded, the threshold is first set. After transmitting the read / write request for the value to the second computer, each time a response from the second computer corresponding to the read / write request is confirmed, one remaining read / write request is transmitted to the second computer. The request is transmitted to the second computer and the last one read / write request is transmitted as a reservation release + read / write batch request to which a reservation release request is added, and the second computer is transmitted for all the transmitted requests. After confirming that a response has been returned from the client program, read /
Returns the result of a write call. On the other hand, the second calculator is
A request is received from the first computer, and if the received request is a reservation + read / write batch request, the number of read / write requests allowed for one client program according to the current load status of the own computer is the number of reservations. And notifies the first computer and secures a memory amount commensurate with the number of reservations, then accesses the requested data on the secondary storage device and transmits one response to the client program of the request source. When the received request is a read / write request, the process of accessing the requested data on the secondary storage device and transmitting one response to the requesting client program is performed. Is a reservation release + batch read / write request, after accessing the requested data on the secondary storage device, The process of the read / write request being processed generated from program releases the amount of memory to the reserved upon completion all, with respect to multiple requests, executes multiplexes.

【0020】このように、予約要求とリード/ライト要
求とを一括して要求する予約+リード/ライト一括要求
を導入することにより、第1の計算機側では予約要求を
別要求として最初に送らずに済むとともに、第2の計算
機側では予約応答に引き続いてリード/ライト処理が行
われるので、予約応答の通信時間を物理リード/ライト
の時間と重ねることができる。また、第2の計算機での
物理リード/ライトの最中に、第1の計算機から後続の
リード/ライト要求の送信が行われれば、それらの通信
時間も物理リード/ライトの時間に重ねることができ
る。さらに、予約解除要求とリード/ライト要求とを一
括して要求する予約解除+リード/ライト一括要求を導
入することにより、予約解除の要求を別要求として最後
に送らずに済み、その分の通信時間を削減することがで
きる。
As described above, by introducing the reservation + read / write batch request that requests the reservation request and the read / write request collectively, the first computer does not send the reservation request as another request first. In addition, since the read / write processing is performed subsequent to the reservation response on the second computer side, the communication time of the reservation response can be overlapped with the physical read / write time. Also, if a subsequent read / write request is transmitted from the first computer during a physical read / write in the second computer, their communication time may overlap the physical read / write time. it can. Further, by introducing a reservation release + read / write batch request that requests the reservation release request and the read / write request collectively, the reservation release request does not have to be sent as a separate request at the end, and the communication corresponding to the request is performed. Time can be reduced.

【0021】[0021]

【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0022】図1を参照すると、本発明を適用した計算
機システムの一例は、クライアントプログラムの動作す
る計算機1と、サーバ計算機2と、これらを相互に通信
可能に接続する計算機間接続網3と、サーバ計算機2に
接続された二次記憶装置4とから構成されている。
Referring to FIG. 1, an example of a computer system to which the present invention is applied includes a computer 1 on which a client program operates, a server computer 2, an inter-computer connection network 3 for connecting these computers to each other, and And a secondary storage device 4 connected to the server computer 2.

【0023】サーバ計算機2上ではファイルサーバ10
と呼ぶプロセスが動作している。ファイルサーバ10
は、リード/ライト要求を、通信によって受け付け、要
求内容に従ってサーバ計算機2に接続されている二次記
憶装置4上のデータをリード/ライトし、通信によって
応答を返却する。図1の例では、汎用的な計算機上にフ
ァイルサーバ10というプロセスを動作させることによ
ってサーバ計算機の持つべき機能を実現しているが、他
にも、汎用計算機のOSに同様の機能を実装する実施例
や、専用の計算機にファームウエアを付加して実現する
実施例も考えられる。
The file server 10 on the server computer 2
A process called is running. File server 10
Receives a read / write request by communication, reads / writes data on the secondary storage device 4 connected to the server computer 2 according to the request, and returns a response by communication. In the example of FIG. 1, the functions that the server computer should have are realized by operating a process called a file server 10 on a general-purpose computer, but other similar functions are implemented in the OS of the general-purpose computer. An embodiment or an embodiment realized by adding firmware to a dedicated computer is also conceivable.

【0024】クライアントプログラムの動作する計算機
1では、アプリケーションプログラムであるクライアン
トプログラム5が動作している。図1の例では、このク
ライアントプログラム5からのリード/ライト呼び出し
をサーバ計算機2に伝えるため、ライブラリ11と呼ぶ
専用のプログラムをクライアントプログラム5にリンク
してある。このライブラリ11は、クライアントプログ
ラム5からのリード/ライト呼び出しに従って、適切な
リード/ライト要求を生成し、ファイルサーバ10に伝
える。ライブラリ11とファイルサーバ10との間の要
求/応答のやりとりは後述する転送方式に従うが、要求
の送信はこのライブラリ11が制御する。なお、ライブ
ラリ11の代わりに、それと同様の機能を汎用計算機の
OSに実装する実施例も考えられる。
In the computer 1 on which the client program operates, a client program 5, which is an application program, operates. In the example of FIG. 1, a dedicated program called a library 11 is linked to the client program 5 in order to transmit the read / write call from the client program 5 to the server computer 2. The library 11 generates an appropriate read / write request in accordance with a read / write call from the client program 5 and transmits the request to the file server 10. Request / response exchanges between the library 11 and the file server 10 follow a transfer method described later, and transmission of requests is controlled by the library 11. Note that, in place of the library 11, an embodiment in which a similar function is implemented in an OS of a general-purpose computer is also conceivable.

【0025】以下、幾つかの実施例について説明する
が、その前に、それらの前提となる、ファイルサーバ1
0で複数の要求を多重処理するための基本的な考え方を
説明する。
Some embodiments will be described below, but before that, the file server 1 which is the premise of them will be described.
A basic concept for multiplexing a plurality of requests with 0 will be described.

【0026】1つの要求に着目した場合、その典型的な
処理シーケンスは図2(A)に示すように、幾つかの中
断を挟んだ一連のアクションの処理から成り立ってい
る。即ち、要求の種類に応じて該当する初期アクション
が決められており、その後の処理の進行に従い幾つかの
中間アクションを経て、最終アクションにおいてクライ
アントプログラム5の動作する計算機1に応答を返却す
ることによって、1つの要求の処理が完結する。従っ
て、中断点において他の要求のアクションを処理するこ
とによって、要求の多重処理が実現できる。
When attention is paid to one request, a typical processing sequence is, as shown in FIG. 2A, composed of processing of a series of actions with some interruptions. That is, a corresponding initial action is determined according to the type of the request, and after returning to the computer 1 on which the client program 5 operates in the final action through several intermediate actions as the subsequent processing proceeds. The processing of one request is completed. Therefore, by processing the action of another request at the interruption point, multiple processing of the request can be realized.

【0027】ファイルサーバ10では、上述のようなア
クションをキュー(アクションキュー)によって管理
し、図2(B)に示すようなメインループを実行する。
ファイルサーバ10は要求を受け取るための口(受信ポ
ート)を持っており、ここを読むことにより要求を受け
取る(S1)。次に、受け取った要求に該当する初期ア
クションをアクションキューの末尾に登録する(S
2)。次に、アクションキューの先頭からアクションを
1つ取り出す(S3)。そして、そのアクションを処理
し(S4)、ステップS1に戻る。このようなメインル
ープによって、ファイルサーバ10は複数の要求のアク
ションを交互に処理し、要求の多重処理を実現する。
The file server 10 manages the above-mentioned actions using queues (action queues), and executes a main loop as shown in FIG.
The file server 10 has a port (reception port) for receiving the request, and receives the request by reading it (S1). Next, an initial action corresponding to the received request is registered at the end of the action queue (S
2). Next, one action is taken from the head of the action queue (S3). Then, the action is processed (S4), and the process returns to step S1. By such a main loop, the file server 10 alternately processes the actions of a plurality of requests, and realizes multiplex processing of requests.

【0028】また、要求処理の中断点の1つに物理I/
Oの発行がある。このとき、I/Oを非同期で発行して
からアクション処理を終了し、別の要求のアクションを
処理することによって、多重処理を実現する。非同期I
/Oの完了時には非同期I/O完了ハンドラ(図示せ
ず)が動作するが、この非同期I/O完了ハンドラによ
って図2(C)に示す処理が実行される。
One of the interruption points of the request processing is a physical I / O.
O is issued. At this time, multiplex processing is realized by issuing an I / O asynchronously, ending the action processing, and processing the action of another request. Asynchronous I
When the / O is completed, an asynchronous I / O completion handler (not shown) operates, and the asynchronous I / O completion handler executes the processing shown in FIG. 2C.

【0029】先ず、I/Oを発行したアクションの続き
のアクションを決定する。この決定方法は以下のように
幾つか考えられる。1)ハンドラの引数にアクションを
指定して直接決定する方法。2)I/Oを発行したアク
ションの続きのアクションをキューに登録しておき、ハ
ンドラがキューを検索することにより該当するアクショ
ンを決定する方法。
First, the action following the action that issued the I / O is determined. There are several conceivable methods for this determination as follows. 1) A method of directly determining an action by designating an action as an argument of the handler. 2) A method in which an action subsequent to the action that issued the I / O is registered in a queue, and the handler determines the corresponding action by searching the queue.

【0030】次に、決定したアクションをアクションキ
ューの先頭に登録する。この登録されたアクションは、
その後ファイルサーバ10のメインループで取り出され
処理される。
Next, the determined action is registered at the head of the action queue. This registered action is
Thereafter, it is taken out and processed in the main loop of the file server 10.

【0031】なお、非同期I/O完了ハンドラは、ファ
イルサーバ10の動作中の任意のタイミングで割り込ん
で起動するが、アクションキューは、ファイルサーバ1
0と非同期I/O完了ハンドラとが同時に操作しないよ
うに排他する。
The asynchronous I / O completion handler is started by interrupting at an arbitrary timing during the operation of the file server 10.
0 and the asynchronous I / O completion handler are mutually exclusive so as not to operate simultaneously.

【0032】以下、計算機1上で動作するクライアント
プログラム5からサーバ計算機2に接続されている二次
記憶装置4上のデータをアクセスする方法について、幾
つかの実施例を挙げて説明する。
Hereinafter, a method for accessing data on the secondary storage device 4 connected to the server computer 2 from the client program 5 operating on the computer 1 will be described with reference to some embodiments.

【0033】(実施例1)本実施例では、クライアント
プログラム5からリード/ライト呼び出しがあった場
合、ライブラリ11は図3に示す処理を実行する。
Embodiment 1 In this embodiment, when a read / write call is issued from the client program 5, the library 11 executes the processing shown in FIG.

【0034】先ず、クライアントプログラム5からのリ
ード/ライト呼び出しを解析し、或る一定サイズのデー
タへのリード/ライト要求に分割する(L11)。例え
ば、或る一定サイズを8KByteとする場合、クライ
アントプログラム5からのリード/ライト呼び出しが、
例えば24KByteのデータのリードあるいはライト
であったとすると、要求されたデータの先頭から8KB
yte分に対するリード/ライト要求と、次の8KBy
te分に対するリード/ライト要求と、最後の8KBy
te分に対するリード/ライト要求に分割する。
First, a read / write call from the client program 5 is analyzed and divided into read / write requests for data of a certain size (L11). For example, when a certain fixed size is set to 8 KB, a read / write call from the client program 5 becomes
For example, if it is read or write of 24 KB data, 8 KB from the beginning of the requested data
read / write request for the next 8 KB and the next 8 KBy
read / write request for te and the last 8 KBy
It is divided into read / write requests for te.

【0035】次に、分割して得られた全てのリード/ラ
イト要求を全部一度に計算機間接続網3を介してサーバ
計算機2のファイルサーバ10に送信する(L12)。
そして、サーバ計算機2から返されてくる応答を待つ
(L13)。応答を待つとは、クライアントプログラム
5の持つ応答受信用のポートを読む処理であり、応答が
受信されていなければ受信されるまで待つことになる。
リード/ライト要求を複数送信した場合、応答は複数返
ってくることになる。
Next, all the read / write requests obtained by division are transmitted all at once to the file server 10 of the server computer 2 via the inter-computer connection network 3 (L12).
Then, it waits for a response returned from the server computer 2 (L13). Waiting for a response is processing for reading the response receiving port of the client program 5, and if a response has not been received, it waits until a response is received.
When a plurality of read / write requests are transmitted, a plurality of responses are returned.

【0036】次に、サーバ計算機2からの応答を受信す
ると、今までに返却された応答の数を調べ、全応答が返
却されたかどうかを確認する(L14)。応答の数がリ
ード/ライト要求の分割数より少ない、すなわち、全て
の応答が返却されていなければ、再びステップL13に
戻って応答を待つ。全ての応答が返却されていれば、ク
ライアントプログラム5の呼び出しに対してリターンす
る。
Next, when a response from the server computer 2 is received, the number of responses returned so far is checked to determine whether all responses have been returned (L14). If the number of responses is smaller than the number of divisions of the read / write request, that is, if all responses have not been returned, the process returns to step L13 and waits for a response. If all responses have been returned, the process returns to the call of the client program 5.

【0037】他方、ファイルサーバ10では、ライブラ
リ11からリード/ライト要求を受け取り、受け取った
リード/ライト要求1つに対し、要求された二次記憶装
置4上のデータにアクセスをした後、要求元に応答1つ
を送信するという処理を、複数のリード/ライト要求に
対し、多重化して実行する。要求を多重化して実行する
方法は前述したので、ここでは1つのリード/ライト要
求に着目したシーケンスを図4を参照して説明する。
On the other hand, the file server 10 receives a read / write request from the library 11, and accesses the requested data on the secondary storage device 4 for one received read / write request, The process of transmitting one response to a plurality of read / write requests is multiplexed and executed. Since the method of multiplexing and executing requests has been described above, a sequence focusing on one read / write request will be described with reference to FIG.

【0038】ファイルサーバ10は、先ず、当該リード
/ライト要求にかかるリード/ライトデータを一旦格納
するための中継となるメモリ(データバッファ)を確保
する(S11)。次に、二次記憶装置4に物理リード/
ライトを非同期で発行し、その完了を待つ(S12)。
ここで最初のアクションが終了し、要求処理としては中
断する。次に、物理リード/ライトが終了すると、リー
ド/ライト応答を要求元に送信する(S13)。これが
リード/ライト要求の最終アクションとなる。
First, the file server 10 secures a memory (data buffer) serving as a relay for temporarily storing read / write data according to the read / write request (S11). Next, the physical read /
A write is issued asynchronously, and its completion is waited for (S12).
Here, the first action ends, and the request processing is interrupted. Next, when the physical read / write is completed, a read / write response is transmitted to the request source (S13). This is the final action of the read / write request.

【0039】このように本実施例では、クライアントプ
ログラム5によるリード/ライト呼び出しを一定サイズ
のデータへのリード/ライト要求に分割して全部一度に
サーバ計算機2に送信し、この送信されてきた複数のリ
ード/ライト要求をサーバ計算機2が多重処理するよう
にしており、サーバ計算機2での二次記憶装置の物理リ
ード/ライト処理と計算機間接続網3での通信処理が並
行して行われることになる。このことによって、通信の
時間が物理リード/ライト処理の時間と重なり、全体の
処理時間が短縮される。
As described above, in the present embodiment, the read / write call by the client program 5 is divided into read / write requests for data of a fixed size and all are transmitted to the server computer 2 all at once. The server computer 2 performs multiplex processing of the read / write request of the secondary storage device, and the physical read / write processing of the secondary storage device in the server computer 2 and the communication processing in the inter-computer connection network 3 are performed in parallel. become. As a result, the communication time overlaps with the physical read / write processing time, and the overall processing time is shortened.

【0040】通信処理の時間と物理リード/ライト処理
の時間とが重なる様子を図5を用いて説明する。図5で
は、クライアントプログラム5からのリード/ライト呼
び出しを4つのリード/ライト要求に分割して要求した
場合を示す。先ず、ライブラリ11は最初に4つのリー
ド/ライト要求をサーバ計算機2に一度に送る。する
と、サーバ計算機2のファイルサーバ10では4つのリ
ード/ライト要求を多重処理するが、最初の要求を受け
た時点で物理リード/ライトが開始されるため、後続の
要求の通信時間が最初のリード/ライト処理時間と重な
る。これによって、要求の通信時間のほとんどがクライ
アントプログラム5から見えなくなる。さらに、各要求
の終了時には応答をライブラリ11に返却することにな
るが、その間、サーバ計算機2のファイルサーバ10で
は、次の要求の物理リード/ライトを重ねて処理する。
これによって、応答の通信時間のほとんどがクライアン
トプログラム5から見えなくなる。
The manner in which the communication processing time and the physical read / write processing time overlap will be described with reference to FIG. FIG. 5 shows a case where a read / write call from the client program 5 is divided into four read / write requests and requested. First, the library 11 first sends four read / write requests to the server computer 2 at a time. Then, the file server 10 of the server computer 2 multiplexes the four read / write requests, but the physical read / write starts when the first request is received, so that the communication time of the subsequent request is the first read. / Overlaps with write processing time. As a result, most of the requested communication time is invisible from the client program 5. Further, at the end of each request, a response is returned to the library 11, while the file server 10 of the server computer 2 performs the physical read / write of the next request while processing.
As a result, most of the communication time of the response becomes invisible from the client program 5.

【0041】図5を見ると、通信の時間のほとんどがサ
ーバ計算機2での物理リード/ライトの時間と重なって
いることが判る。これによって、ほとんどの通信時間は
クライアントプログラム5から見えなくなり、リード/
ライト呼び出しの処理時間が短縮される。但し、図5中
の通信時間24はクライアントプログラム5から見えな
くなるが、最初の要求と最後の応答の通信時間23はク
ライアントプログラム5に見えてしまう。しかし、アク
セスするデータが大量で分割数が多くなる程、この時間
23は物理リード/ライトの時間22の総和に比べ相対
的に小さくなり、リード/ライト呼び出しの処理時間2
1は、物理リード/ライトの時間22の総和と同等にな
る。
FIG. 5 shows that most of the communication time overlaps with the physical read / write time in the server computer 2. As a result, most of the communication time becomes invisible from the client program 5, and the read /
The processing time of the write call is reduced. However, the communication time 24 in FIG. 5 is not visible from the client program 5, but the communication time 23 of the first request and the last response is visible to the client program 5. However, as the amount of data to be accessed increases and the number of divisions increases, the time 23 becomes relatively smaller than the sum of the physical read / write times 22, and the read / write call processing time 2
1 is equivalent to the sum of the physical read / write times 22.

【0042】また、サーバ計算機2からクライアントプ
ログラム5の動く計算機1に応答が次々と戻ってくる。
これに対し、ライブラリ11は全ての要求の処理が完了
したことを把握することによって、クライアントプログ
ラム5からのリード/ライト呼び出しの完了をみきわめ
ることができる。
Further, responses are returned one after another from the server computer 2 to the computer 1 on which the client program 5 runs.
On the other hand, the library 11 knows that the processing of all the requests has been completed, so that the completion of the read / write call from the client program 5 can be determined.

【0043】(実施例2)本実施例では、クライアント
プログラム5からリード/ライト呼び出しがあった場
合、ライブラリ11は図6に示す処理を実行する。
Embodiment 2 In this embodiment, when a read / write call is made from the client program 5, the library 11 executes the processing shown in FIG.

【0044】先ず、実施例1と同様に、クライアントプ
ログラム5からのリード/ライト呼び出しを解析し、或
る一定サイズのデータへのリード/ライト要求に分割す
る(L21)。
First, as in the first embodiment, a read / write call from the client program 5 is analyzed and divided into read / write requests for data of a certain fixed size (L21).

【0045】次に、分割数が予め定められたスレッショ
ルド値より大きいかどうかを調べる(L22)。そし
て、分割数がスレッショルド値より大きくない場合は、
分割して得られた全てのリード/ライト要求を全部一度
に計算機間接続網3を介してサーバ計算機2のファイル
サーバ10に送信し(L24)、分割数がスレッショル
ド値より大きい場合は、分割して得られたリード/ライ
ト要求のうち、スレッショルド値に等しい個数のリード
/ライト要求だけを一度に計算機間接続網3を介してサ
ーバ計算機2のファイルサーバ10に送信する(L2
3)。このとき、未だ送信されなかったリード/ライト
要求は内部に保持しておく。そして、サーバ計算機2か
ら返されてくる応答を待つ(L25)。
Next, it is checked whether or not the number of divisions is larger than a predetermined threshold value (L22). And if the number of divisions is not greater than the threshold value,
All the read / write requests obtained by the division are transmitted all at once to the file server 10 of the server computer 2 via the inter-computer connection network 3 (L24). If the division number is larger than the threshold value, the division is performed. Of the read / write requests obtained as described above, only the number of read / write requests equal to the threshold value is transmitted at a time to the file server 10 of the server computer 2 via the inter-computer connection network 3 (L2
3). At this time, a read / write request that has not been transmitted is held internally. Then, it waits for a response returned from the server computer 2 (L25).

【0046】次に、サーバ計算機2からの応答を受信す
ると、未だ送信していないリード/ライト要求が残って
いるかどうかを確認する(L26)。未だ送信していな
いリード/ライト要求が残っている場合は、その内の1
つのリード/ライト要求をサーバ計算機2のファイルサ
ーバ10に送信し、ステップL25の応答待ちに移る。
ステップL26の確認で未送信リード/ライト要求が残
っていないと判断した場合は、今までに返却された応答
の数を調べ、全応答が返却されたかどうかを確認する
(L28)。応答の数がリード/ライト要求の分割数よ
り少ない、すなわち、全ての応答が返却されていなけれ
ば、再びステップL25に戻って応答を待つ。全ての応
答が返却されていれば、クライアントプログラム5の呼
び出しに対してリターンする。
Next, when a response from the server computer 2 is received, it is confirmed whether or not a read / write request which has not been transmitted remains (L26). If there are read / write requests that have not been transmitted yet,
One read / write request is transmitted to the file server 10 of the server computer 2, and the process shifts to waiting for a response in step L25.
If it is determined in step L26 that no untransmitted read / write requests remain, the number of responses returned so far is checked to determine whether all responses have been returned (L28). If the number of responses is smaller than the number of divisions of the read / write request, that is, if all responses have not been returned, the process returns to step L25 and waits for a response. If all responses have been returned, the process returns to the call of the client program 5.

【0047】ファイルサーバ10の処理は実施例1と同
じであり、ライブラリ11からリード/ライト要求を受
け取り、受け取ったリード/ライト要求1つに対し、要
求された二次記憶装置4上のデータにアクセスをした
後、要求元に応答1つを送信するという処理を、複数の
リード/ライト要求に対し、多重化して実行する。
The processing of the file server 10 is the same as that of the first embodiment. A read / write request is received from the library 11, and one received read / write request is added to the requested data on the secondary storage device 4. After the access, a process of transmitting one response to the request source is multiplexed and executed for a plurality of read / write requests.

【0048】本実施例の基本的な効果は、実施例1と同
様に、通信時間のほとんどを物理リード/ライトと重ね
てクライアントプログラムから見えなくするという効果
を含んでいる。ただし、実施例1では分割して得られた
全てのリード/ライト要求を全部一度に送信するため、
クライアントプログラム5からのリード/ライト呼び出
しのデータ量が大きい場合、一度に送信するリード/ラ
イト要求の数が多くなり、サーバ計算機2および計算機
間通信網3の負荷が過大になる。サーバ計算機2等の負
荷が異常に高まると、リード/ライト要求の幾つかが消
滅し処理されなくなる場合が生じるため、クライアント
プログラム5からのリード/ライト呼び出しが失敗して
しまうことがある。
As in the first embodiment, the basic effects of the present embodiment include an effect that most of the communication time is made invisible to a client program by overlapping with physical read / write. However, in the first embodiment, all the read / write requests obtained by division are transmitted all at once.
When the data amount of the read / write call from the client program 5 is large, the number of read / write requests transmitted at one time increases, and the load on the server computer 2 and the inter-computer communication network 3 becomes excessive. If the load on the server computer 2 or the like becomes abnormally high, some of the read / write requests may disappear and not be processed, so that the read / write call from the client program 5 may fail.

【0049】これに対して本実施例では、サーバ計算機
2で一度に受け取ることのできる要求数としてスレッシ
ョルド値を設定し、最初に送信するリード/ライト要求
数をスレッショルド値以下に抑えているため、サーバ計
算機2での最初の負荷を一定値以下に抑えることができ
る。さらに、1つの応答に対して1つのリード/ライト
要求を送信するので、サーバ計算機2で受け取っている
リード/ライト要求数は常にスレッショルド値以下とな
り、引続きサーバ計算機2での負荷を一定値以下に抑え
ることができる。
On the other hand, in the present embodiment, the threshold value is set as the number of requests that can be received at one time by the server computer 2, and the number of read / write requests transmitted first is suppressed below the threshold value. The initial load on the server computer 2 can be kept below a certain value. Further, since one read / write request is transmitted for one response, the number of read / write requests received by the server computer 2 is always equal to or less than the threshold value, and the load on the server computer 2 is continuously reduced to a certain value or less. Can be suppressed.

【0050】本実施例におけるサーバ計算機2とクライ
アントプログラム5との間で発生する要求/応答のやり
取りの一例を図7に示す。この例では、クライアントプ
ログラム5からのリード/ライト呼び出しが8つのリー
ド/ライト要求に分割され、またスレッショルド値は4
に設定されている。
FIG. 7 shows an example of a request / response exchange occurring between the server computer 2 and the client program 5 in this embodiment. In this example, the read / write call from the client program 5 is divided into eight read / write requests, and the threshold value is 4
Is set to

【0051】先ず、スレッショルド値が4なので、ライ
ブラリ11は最初に4つだけのリード/ライト要求をサ
ーバ計算機2に送信している。これにより、サーバ計算
機2が最初に受け取るリード/ライト要求の数を4以下
に抑えることができる。
First, since the threshold value is 4, the library 11 first transmits only four read / write requests to the server computer 2. As a result, the number of read / write requests received first by the server computer 2 can be suppressed to four or less.

【0052】その後、サーバ計算機2のファイルサーバ
10では個々のリード/ライト要求を多重処理し、1つ
ずつ応答を返却する。これに対し、ライブラリ11で
は、1つの応答を受ける毎に、1つのリード/ライト要
求をサーバ計算機2に送信する。これにより、サーバ計
算機2で多重処理しているリード/ライト要求の数は常
に4つ以下となる。
Thereafter, the file server 10 of the server computer 2 multiplexes the individual read / write requests and returns a response one by one. On the other hand, the library 11 transmits one read / write request to the server computer 2 every time one response is received. As a result, the number of read / write requests multiplexed by the server computer 2 is always four or less.

【0053】(実施例3)本実施例では、クライアント
プログラム5からリード/ライト呼び出しがあった場
合、ライブラリ11は図8に示す処理を実行する。
Embodiment 3 In this embodiment, when a read / write call is issued from the client program 5, the library 11 executes the processing shown in FIG.

【0054】先ず、実施例1と同様に、クライアントプ
ログラム5からのリード/ライト呼び出しを解析し、或
る一定サイズのデータへのリード/ライト要求に分割す
る(L31)。
First, as in the first embodiment, a read / write call from the client program 5 is analyzed and divided into read / write requests for data of a certain fixed size (L31).

【0055】次に、この分割数を指定した予約要求を計
算機間接続網3を介してサーバ計算機2のファイルサー
バ10に送信し、その応答を待つ(L32)。
Next, the reservation request specifying the number of divisions is transmitted to the file server 10 of the server computer 2 via the inter-computer connection network 3 and the response is waited for (L32).

【0056】次に、サーバ計算機2のファイルサーバ1
0から上記の予約要求に対する応答を受信すると、その
応答に含まれる予約数を取り出し、スレッショルド値と
する(L33)。
Next, the file server 1 of the server computer 2
When a response to the above-mentioned reservation request is received from 0, the number of reservations included in the response is extracted and set as a threshold value (L33).

【0057】次に、ステップL31での分割数がこのス
レッショルド値より大きいかどうかを調べる(L3
4)。そして、分割数がスレッショルド値より大きくな
い場合は、分割して得られた全てのリード/ライト要求
を全部一度に計算機間接続網3を介してサーバ計算機2
のファイルサーバ10に送信し(L36)、分割数がス
レッショルド値より大きい場合は、分割して得られたリ
ード/ライト要求のうち、スレッショルド値に等しい個
数のリード/ライト要求だけを一度に計算機間接続網3
を介してサーバ計算機2のファイルサーバ10に送信す
る(L35)。このとき、未だ送信されなかったリード
/ライト要求は内部に保持しておく。そして、サーバ計
算機2から返されてくる応答を待つ(L37)。
Next, it is checked whether or not the number of divisions at step L31 is larger than the threshold value (L3).
4). If the number of divisions is not larger than the threshold value, all read / write requests obtained by division are all sent to the server computer 2 via the inter-computer connection network 3 at once.
(L36), and when the number of divisions is larger than the threshold value, only the number of read / write requests equal to the threshold value among the read / write requests obtained by division at one time between the computers. Connection network 3
Is transmitted to the file server 10 of the server computer 2 via (L35). At this time, a read / write request that has not been transmitted is held internally. Then, it waits for a response returned from the server computer 2 (L37).

【0058】次に、サーバ計算機2からの応答を受信す
ると、未だ送信していないリード/ライト要求が残って
いるかどうかを確認する(L38)。未だ送信していな
いリード/ライト要求が残っている場合は、その内の1
つのリード/ライト要求をサーバ計算機2のファイルサ
ーバ10に送信し(L39)、ステップL37の応答待
ちに移る。ステップL38の確認で未送信リード/ライ
ト要求が残っていないと判断した場合は、今までに返却
された応答の数を調べ、全応答が返却されたかどうかを
確認する(L3a)。応答の数がリード/ライト要求の
分割数より少ない、すなわち、全ての応答が返却されて
いなければ、再びステップL37に戻って応答を待つ。
Next, when a response from the server computer 2 is received, it is confirmed whether or not a read / write request which has not been transmitted remains (L38). If there are read / write requests that have not been transmitted yet,
One read / write request is transmitted to the file server 10 of the server computer 2 (L39), and the flow shifts to a response waiting state in step L37. If it is determined in step L38 that no untransmitted read / write request remains, the number of responses returned so far is checked to determine whether all responses have been returned (L3a). If the number of responses is smaller than the number of divisions of the read / write request, that is, if all responses have not been returned, the process returns to step L37 and waits for a response.

【0059】全ての応答が返却されていれば、サーバ計
算機2における予約を解除するための要求(予約解除要
求)を計算機間接続網3を介してサーバ計算機2のファ
イルサーバ10に送信し、その応答を待つ(L3b)。
そして、予約解除要求に対する応答が返却された後、ク
ライアントプログラム5の呼び出しに対してリターンす
る。
If all responses have been returned, a request to cancel the reservation in the server computer 2 (reservation release request) is transmitted to the file server 10 of the server computer 2 through the inter-computer connection network 3 and Wait for a response (L3b).
Then, after a response to the reservation release request is returned, the process returns to the call of the client program 5.

【0060】本実施例の場合、ファイルサーバ10は、
リード/ライト要求処理以外に、予約要求処理と予約解
除要求処理とを行う。リード/ライト要求処理は実施例
1,2とほぼ同じなので、以下、予約要求処理と予約解
除要求処理とを説明する。
In the case of this embodiment, the file server 10
In addition to the read / write request processing, reservation request processing and reservation release request processing are performed. Since the read / write request processing is almost the same as in the first and second embodiments, the reservation request processing and the reservation release request processing will be described below.

【0061】図9は1つの予約要求処理に着目したシー
ケンスを示している。前述したようにライブラリ11か
ら予約要求が送信されてくると、ファイルサーバ10
は、先ず、当該クライアントプログラムに対して許容で
きるリード/ライト要求の数を計算する(S31)。
FIG. 9 shows a sequence focusing on one reservation request process. When the reservation request is transmitted from the library 11 as described above, the file server 10
Calculates the number of read / write requests allowable for the client program (S31).

【0062】この許容数は現在のファイルサーバ10の
負荷状況によって決まる。具体的には、ファイルサーバ
10がリード/ライト要求を処理するために使える現時
点のメモリ残量によってほぼ決まる。例えば、ファイル
サーバ10がリード/ライト要求を処理するために使え
る全メモリ量をAとし、1つのリード/ライト要求を処
理するために必要なメモリ量をBとすると、[A/B]
がファイルサーバ10の処理負荷上限となる。また、現
時点でC個のリード/ライト要求の予約を受け付けてい
る場合、現在の許容数の総計(総許容数)はCなので、
現時点でのリード/ライト要求の許容数は、処理負荷上
限−Cである。そこで、ファイルサーバ10では、処理
負荷の上限となる数から、現在の許容数の総計(総許容
数)を引いたものを、当該クライアントプログラムに対
する許容数として求める。
This allowable number is determined by the current load status of the file server 10. Specifically, it is substantially determined by the current remaining memory capacity that the file server 10 can use for processing the read / write request. For example, if the total amount of memory that can be used by the file server 10 to process a read / write request is A and the amount of memory required to process one read / write request is B, [A / B]
Is the processing load upper limit of the file server 10. Further, if the reservation of C read / write requests is currently accepted, the total of the current allowable number (total allowable number) is C,
The allowable number of read / write requests at this time is the processing load upper limit-C. Therefore, the file server 10 obtains, as the allowable number for the client program, a value obtained by subtracting the total of the current allowable number (total allowable number) from the number serving as the upper limit of the processing load.

【0063】次に、ステップS31で求めた許容数と予
約要求で指定された分割数のうち小さい方の値を予約数
として決定する(S32)。そして、現在の許容数の総
計を今回の予約数の分だけ増やし(S33)、ステップ
S32で求めた予約数を指定した応答を要求元に送信す
る(S34)。今回の予約数の分だけ現在の許容数の総
計を増やすことにより、今回の予約数に見合ったメモリ
量を他のクライアントプログラムから発生したリード/
ライト要求処理で使われないようにすることができる。
従って、当該クライアントプログラムからのリード/ラ
イト要求にかかるリード/ライトデータを一旦格納する
ための中継となるメモリを確保する際にメモリ不足が生
じるのを防止できる。
Next, the smaller of the allowable number obtained in step S31 and the number of divisions specified in the reservation request is determined as the number of reservations (S32). Then, the total of the current allowable number is increased by the current reservation number (S33), and a response specifying the reservation number obtained in step S32 is transmitted to the request source (S34). By increasing the total of the current allowable number by the number of reservations this time, the amount of memory corresponding to the number of reservations this time can be read / generated by other client programs.
It can be prevented from being used in write request processing.
Therefore, it is possible to prevent a shortage of memory when securing a relay memory for temporarily storing read / write data according to a read / write request from the client program.

【0064】なお、ステップS32の処理内容を、予約
数=min(許容数,分割数,1クライアントプログラ
ム当たりに付与する最大許容数)に変更する実施例も考
えられる。こうすれば、1クライアントプログラムに付
与する最大許容数を制限でき、1つのクライアントプロ
グラムが現時点の許容数を全て占有してしまうことを防
止できる。
An embodiment in which the processing content of step S32 is changed to the number of reservations = min (allowable number, division number, maximum allowable number given per one client program) is also conceivable. In this way, the maximum allowable number given to one client program can be limited, and it is possible to prevent one client program from occupying the current allowable number.

【0065】以上のような予約要求処理は1つのアクシ
ョンから成り立つ。
The reservation request processing as described above is composed of one action.

【0066】他方、図10は1つの予約解除要求の処理
に着目したシーケンスを示している。前述したようにラ
イブラリ11から予約解除要求が送信されてくると、フ
ァイルサーバ10は現在の許容数の総計から、当該クラ
イアントプログラムに与えていた予約数を差し引いて更
新する(S35)。これにより予約されていたメモリ量
が解放され、他のクライアントプログラムからのリード
/ライト要求の処理のために使用できるメモリ量がその
分だけ増加する。そして、予約解除要求処理の終了を応
答によってライブラリ11に伝える(S36)。このよ
うな予約解除要求処理は1つのアクションから成り立
つ。
FIG. 10 shows a sequence focusing on the processing of one reservation release request. As described above, when the reservation release request is transmitted from the library 11, the file server 10 updates the total of the current allowable number by subtracting the reservation number given to the client program (S35). As a result, the reserved memory amount is released, and the memory amount available for processing read / write requests from other client programs increases accordingly. Then, the end of the reservation release request processing is notified to the library 11 by a response (S36). Such reservation cancellation request processing is composed of one action.

【0067】実施例2のように、サーバ計算機2の処理
能力によってスレッショルド値を予め決めておいた場
合、クライアントプログラムが1つならば、サーバ計算
機2の処理能力を超えた数のリード/ライト要求が来る
ことはない。しかし、サーバ計算機2に対してリード/
ライト要求を送信するクライアントプログラムが複数存
在する場合、サーバ計算機2の処理能力を超えてしまう
ことがある。
When the threshold value is determined in advance according to the processing capacity of the server computer 2 as in the second embodiment, if the number of read / write requests exceeds the processing capacity of the server computer 2 if there is only one client program. Never come. However, the read /
When there are a plurality of client programs for transmitting the write request, the processing capacity of the server computer 2 may be exceeded.

【0068】これに対して本実施例では、動的に変化す
るサーバ計算機2のファイルサーバ10の負荷状況に応
じて、1つのクライアントプログラムに対して許容する
予約数をライブラリ11に知らせ、ライブラリ11はそ
の予約数をスレッショルド値として、以降、このスレッ
ショルド値に従ってリード/ライト要求を行うため、サ
ーバ計算機2に発生する負荷が一定値を超えないように
制御することができる。つまり、サーバ計算機2が複数
のクライアントプログラムを相手にしても、サーバ計算
機2の処理能力を超えることはない。また、クライアン
トプログラムからのリード/ライト要求が全て終了した
際には予約数がリセットされるため、以降に発生するク
ライアントプログラムの予約要求に対してメモリを有効
に活用することができる。
On the other hand, in the present embodiment, the number of reservations permitted for one client program is notified to the library 11 in accordance with the dynamically changing load status of the file server 10 of the server computer 2. Since the number of reservations is set as a threshold value, and thereafter, a read / write request is made in accordance with the threshold value, the load generated on the server computer 2 can be controlled so as not to exceed a certain value. In other words, even if the server computer 2 deals with a plurality of client programs, it does not exceed the processing capacity of the server computer 2. Further, when all of the read / write requests from the client program are completed, the reservation number is reset, so that the memory can be effectively used for a reservation request of the client program generated thereafter.

【0069】本実施例におけるサーバ計算機2とクライ
アントプログラム5との間で発生する要求/応答のやり
取りの一例を図11に示す。予約処理(イ)と予約解除
処理(ロ)以外は実施例2と同様のやり取りとなる。図
11の例では、クライアントプログラム5からのリード
/ライト呼び出しを5つのリード/ライト要求に分割し
ているが、ファイルサーバ10からの予約数が3であっ
た場合を想定している。このため、ライブラリ11はス
レッショルド値に3を設定し、最初に3つのリード/ラ
イト要求をサーバ計算機2に送っている。以後の処理は
実施例2の処理手順と同様であるが、全てのリード/ラ
イト要求を処理した後、予約解除処理(ロ)が行われ、
クライアントプログラム5からのリード/ライト呼び出
しへ戻っている。
FIG. 11 shows an example of a request / response exchange occurring between the server computer 2 and the client program 5 in this embodiment. Except for the reservation processing (a) and the reservation release processing (b), the exchange is the same as in the second embodiment. In the example of FIG. 11, the read / write call from the client program 5 is divided into five read / write requests, but it is assumed that the number of reservations from the file server 10 is three. Therefore, the library 11 sets the threshold value to 3, and first sends three read / write requests to the server computer 2. Subsequent processing is the same as the processing procedure of the second embodiment, except that after all read / write requests have been processed, the reservation release processing (b) is performed.
The process returns to the read / write call from the client program 5.

【0070】(実施例4)本実施例では、クライアント
プログラム5からリード/ライト呼び出しがあった場
合、ライブラリ11は図12に示す処理を実行する。
(Embodiment 4) In this embodiment, when a read / write call is issued from the client program 5, the library 11 executes the processing shown in FIG.

【0071】先ず、実施例1と同様に、クライアントプ
ログラム5からのリード/ライト呼び出しを解析し、或
る一定サイズのデータへのリード/ライト要求に分割す
る(L41)。
First, as in the first embodiment, a read / write call from the client program 5 is analyzed and divided into read / write requests for data of a certain fixed size (L41).

【0072】次に、この分割数が1より大きいかどうか
を調べる(L42)。分割数が1つなら、予約要求する
ことなく、その1つのリード/ライト要求を計算機間接
続網3を介してサーバ計算機2のファイルサーバ10に
送信し、応答の受信を待つ(L44)。
Next, it is checked whether the number of divisions is greater than 1 (L42). If the number of divisions is one, the one read / write request is transmitted to the file server 10 of the server computer 2 via the inter-computer connection network 3 without making a reservation request, and the reception of a response is waited (L44).

【0073】他方、上記の分割数が1より大きいとき
は、分割して得られたリード/ライト要求のうちの1つ
のリード/ライト要求に予約要求を付加した予約+リー
ド/ライト一括要求を、1つの要求としてサーバ計算機
2のファイルサーバ10に送信し、予約応答の受信を待
つ(L43)。予約応答の受信を待つとは、クライアン
トプログラム5の持つ応答受信用のポートを読む処理で
あり、予約応答が受信されていなければ受信されるまで
待つことになる。
On the other hand, when the number of divisions is greater than 1, a reservation + read / write batch request in which a reservation request is added to one of the read / write requests obtained by division is: The request is transmitted to the file server 10 of the server computer 2 as one request, and the reception of the reservation response is waited (L43). Waiting for reception of a reservation response is processing for reading the response reception port of the client program 5, and if a reservation response has not been received, it waits until it is received.

【0074】次に、サーバ計算機2から予約の応答が返
却されると、その応答に含まれる予約数を取り出し、ス
レッショルド値とする(L45)。
Next, when a response to the reservation is returned from the server computer 2, the number of reservations included in the response is extracted and set as a threshold value (L45).

【0075】次に、ステップL41での分割数−1がこ
のスレッショルド値より大きいかどうかを調べる(L4
6)。そして、分割数−1がスレッショルド値より大き
くない場合は、分割して得られた残りの全てのリード/
ライト要求を全部一度に計算機間接続網3を介してサー
バ計算機2のファイルサーバ10に送信する(L4
8)。但し、その内の1つのリード/ライト要求は、予
約解除要求を付加して、予約解除+リード/ライト一括
要求とし、これを1つの要求として送信する。また、分
割数−1がスレッショルド値より大きい場合は、分割し
て得られた残りのリード/ライト要求のうち、スレッシ
ョルド値に等しい個数のリード/ライト要求だけを一度
に計算機間接続網3を介してサーバ計算機2のファイル
サーバ10に送信する(L47)。このとき、未だ送信
されなかったリード/ライト要求は内部に保持してお
く。そして、サーバ計算機2から返されてくるリード/
ライトの応答を待つ(L49)。
Next, it is checked whether or not the number of divisions -1 at step L41 is larger than the threshold value (L4).
6). If the number of divisions -1 is not larger than the threshold value, all the remaining read /
The write requests are transmitted all at once to the file server 10 of the server computer 2 via the inter-computer connection network 3 (L4
8). However, for one of the read / write requests, a reservation release request is added to make a reservation release + read / write batch request, which is transmitted as one request. If the number of divisions -1 is larger than the threshold value, only the read / write requests of the number equal to the threshold value out of the remaining read / write requests obtained by division are transmitted through the inter-computer connection network 3 at a time. To the file server 10 of the server computer 2 (L47). At this time, a read / write request that has not been transmitted is held internally. Then, the read /
Wait for a write response (L49).

【0076】次に、サーバ計算機2からのリード/ライ
トの応答を受信すると、未だ送信していないリード/ラ
イト要求が残っているかどうかを確認する(L4a)。
未だ送信していないリード/ライト要求が残っている場
合は、その数が1つかどうかを調べ(L4c)、1つで
なければ、即ち未だ送信していないリード/ライト要求
が2つ以上残っている場合は、その内の1つのリード/
ライト要求をサーバ計算機2のファイルサーバ10に送
信し(L4d)、ステップL49の応答待ちに移る。他
方、未だ送信していないリード/ライト要求が1つの場
合は、それに予約解除要求を付加して予約解除+リード
/ライト一括要求とした1つの要求をサーバ計算機2の
ファイルサーバ10に送信し(L4e)、ステップL4
9の応答待ちに移る。
Next, when a read / write response is received from the server computer 2, it is checked whether or not a read / write request that has not been transmitted remains (L4a).
If there are remaining read / write requests that have not yet been transmitted, it is checked whether the number is 1 (L4c). If not, that is, if there are two, there are two or more read / write requests that have not been transmitted yet. If you have one,
A write request is transmitted to the file server 10 of the server computer 2 (L4d), and the flow shifts to a response waiting state in step L49. On the other hand, when one read / write request has not been transmitted yet, a reservation release request is added thereto, and one request of reservation release + read / write batch request is transmitted to the file server 10 of the server computer 2 ( L4e), Step L4
Move on to wait for the response of No. 9.

【0077】そして、ステップL4aの確認で未送信リ
ード/ライト要求が残っていないと判断した場合は、今
までに返却された応答の数を調べ、全応答が返却された
かどうかを確認し(L4b)、応答の数がリード/ライ
ト要求の分割数より少ない、すなわち、全ての応答が返
却されていなければ、再びステップL49に戻って応答
を待つ。全ての応答が返却されていれば、クライアント
プログラム5の呼び出しに対してリターンする。
If it is determined in step L4a that no untransmitted read / write request remains, the number of responses returned so far is checked to determine whether all responses have been returned (L4b). If the number of responses is smaller than the number of divisions of the read / write request, that is, if all responses have not been returned, the process returns to step L49 and waits for a response. If all responses have been returned, the process returns to the call of the client program 5.

【0078】本実施例の場合、ファイルサーバ10は、
リード/ライト要求処理以外に、予約+リード/ライト
一括要求処理と予約解除+リード/ライト一括要求処理
とを、多重化して実行する。
In the case of this embodiment, the file server 10
In addition to the read / write request processing, reservation + read / write batch request processing and reservation release + read / write batch request processing are multiplexed and executed.

【0079】図13は1つのリード/ライト要求に着目
したシーケンスを示している。ファイルサーバ10は、
先ず、当該リード/ライト要求にかかるリード/ライト
データを一旦格納するための中継となるメモリを確保す
る(S41)。次に、二次記憶装置4に非同期で物理リ
ード/ライトを行い、その完了を待つ(S42)。
FIG. 13 shows a sequence focusing on one read / write request. The file server 10
First, a memory serving as a relay for temporarily storing read / write data according to the read / write request is secured (S41). Next, physical read / write is performed asynchronously to the secondary storage device 4, and the completion is waited (S42).

【0080】次に、物理リード/ライトが終了すると、
同じクライアントプログラム5からの要求で、予約解除
+リード/ライト一括要求の処理が中断しているかどう
かを調べる(S43)。若し、中断しているならば、同
じクライアントプログラム5からの処理中のリード/ラ
イト要求が他にあるかどうかを調べ(S44)、あれ
ば、中断している予約解除+リード/ライト一括要求を
要求キューに登録し(S45)、前記物理リード/ライ
トの終了したリード/ライト要求に対する応答を要求元
に送信する(S46)。他方、予約解除+リード/ライ
ト一括要求の処理が中断していないか或いはそのような
予約解除+リード/ライト一括要求が存在しない場合、
あるいは中断している予約解除+リード/ライト一括要
求があっても同じクライアントプログラムからの処理中
のリード/ライト一括要求があれば、ステップS45を
スキップして、当該リード/ライト要求の応答を要求元
に送信する(S46)。
Next, when the physical read / write is completed,
It is checked whether or not the processing of the reservation release + read / write batch request is interrupted by the request from the same client program 5 (S43). If interrupted, it is checked whether there is another read / write request being processed from the same client program 5 (S44). If yes, the interrupted reservation release + read / write batch request has been interrupted. Is registered in the request queue (S45), and a response to the read / write request for which the physical read / write has been completed is transmitted to the request source (S46). On the other hand, if the processing of the reservation release + read / write batch request is not interrupted or there is no such reservation release + read / write batch request,
Alternatively, even if there is an interrupted reservation release + read / write batch request, if there is a processing read / write batch request from the same client program, step S45 is skipped and a response to the read / write request is requested. The original is transmitted (S46).

【0081】図14は1つの予約+リード/ライト一括
要求の処理に着目したシーケンスを示している。前述し
たようにライブラリ11から予約+リード/ライト一括
要求が送信されてくると、ファイルサーバ10は、先
ず、当該クライアントプログラムに対して許容できるリ
ード/ライト要求の数を計算する(S47)。この許容
数は現在のファイルサーバ10の負荷状況によって決ま
る。具体的には、ファイルサーバ10の処理負荷の上限
となる数から、現在の許容数の総計(総許容数)を引い
たものとして計算される。
FIG. 14 shows a sequence focusing on the processing of one reservation + read / write batch request. As described above, when the reservation + read / write batch request is transmitted from the library 11, the file server 10 first calculates the number of read / write requests allowable for the client program (S47). This allowable number is determined by the current load status of the file server 10. Specifically, it is calculated as a value obtained by subtracting the total of the current allowable number (total allowable number) from the number serving as the upper limit of the processing load of the file server 10.

【0082】次に、ステップS47で求めた許容数と予
約要求で指定された分割数−1のうち小さい方の値を予
約数として決定する(S48)。そして、現在の許容数
の総計を今回の予約数の分だけ増やしておき(S4
9)、ステップS48で求めた予約数を指定した応答を
要求元に非同期で送信する(S4a)。
Next, the smaller of the allowable number obtained in step S47 and the division number -1 specified in the reservation request is determined as the reservation number (S48). Then, the total of the current allowable number is increased by the current reservation number (S4).
9) A response specifying the number of reservations determined in step S48 is asynchronously transmitted to the request source (S4a).

【0083】なお、ステップS48の処理内容を、予約
数=min(許容数,分割数−1,1クライアントプロ
グラム当たりに付与する最大許容数)に変更する実施例
も考えられる。こうすれば、1クライアントプログラム
に付与する最大許容数を制限でき、1つのクライアント
プログラムが現時点の許容数を全て占有してしまうこと
を防止できる。
An embodiment is also conceivable in which the content of the processing in step S48 is changed to the number of reservations = min (allowable number, division number−1, maximum allowable number given per client program). In this way, the maximum allowable number given to one client program can be limited, and it is possible to prevent one client program from occupying the current allowable number.

【0084】ここまでの処理は実施例3のファイルサー
バ10での予約要求処理とほぼ同様である。但し、本実
施例では、予約応答を非同期で送信した後、引続きリー
ド/ライト要求の処理に移るため、リード/ライト要求
の処理の時間と予約応答の通信時間とが重なる。
The processing so far is almost the same as the reservation request processing in the file server 10 of the third embodiment. However, in this embodiment, after the reservation response is transmitted asynchronously, the process proceeds to the read / write request processing, so that the processing time of the read / write request and the communication time of the reservation response overlap.

【0085】リード/ライト要求の処理では、まず、当
該リード/ライト要求にかかるリード/ライトデータを
一旦格納するための中継となるメモリを確保する(S4
b)。次に、二次記憶装置4に非同期で物理リード/ラ
イトを行い、その完了を待つ(S4c)。そして、物理
リード/ライトが終了すると、リード/ライト応答を要
求元に送信する(S4d)。
In the processing of the read / write request, first, a memory serving as a relay for temporarily storing the read / write data according to the read / write request is secured (S4).
b). Next, the physical read / write is asynchronously performed on the secondary storage device 4, and the completion is waited (S4c). When the physical read / write is completed, a read / write response is transmitted to the request source (S4d).

【0086】他方、図15は1つの予約解除+リード/
ライト一括要求に着目したシーケンスを示している。前
述したようにライブラリ11から予約解除+リード/ラ
イト一括要求が送信されてくると、先ずリード/ライト
要求処理を行い、次いで予約解除処理を行う。リード/
ライト要求処理では、当該リード/ライト要求にかかる
リード/ライトデータを一旦格納するための中継となる
メモリを確保し(S4e)、二次記憶装置4に非同期で
物理リード/ライトを行い、その完了を待つ(S4
f)。物理リード/ライトが終了すると、同じクライア
ントプログラム5からの処理中のリード/ライト要求が
他にあるかどうかを調べ(S4g)、若しあれば、処理
中のリード/ライト要求がなくなるまで中断する。中断
の方法は、当該要求を中断キューに登録することで行
う。中断キューに登録された要求は、前述の図13のス
テップS45で中断キューから要求キューに登録しなお
される。
On the other hand, FIG. 15 shows one reservation release + read /
This shows a sequence focusing on a write batch request. As described above, when a reservation release + read / write batch request is transmitted from the library 11, first, a read / write request process is performed, and then a reservation release process is performed. Lead /
In the write request processing, a memory serving as a relay for temporarily storing the read / write data according to the read / write request is secured (S4e), the physical read / write is asynchronously performed on the secondary storage device 4, and the completion is completed. Wait (S4
f). When the physical read / write is completed, it is checked whether there is another read / write request being processed from the same client program 5 (S4g), and if there is, the processing is interrupted until there is no more read / write request being processed. . The suspension is performed by registering the request in a suspension queue. The request registered in the suspension queue is re-registered from the suspension queue to the request queue in step S45 of FIG.

【0087】他に処理中のリード/ライト要求がなくな
ると、予約解除の処理となり、現在の総許容数から予約
数を差し引いて更新する(S4h)。これにより当該ク
ライアントプログラムに対して予約されていたメモリ量
が解放される。そして、リード/ライト応答に予約解除
の応答を含めて要求元に送信する(S4i)。
When there is no other read / write request being processed, the reservation is released, and the number of reservations is subtracted from the current total allowable number and updated (S4h). Thereby, the memory amount reserved for the client program is released. Then, a read / write response including a reservation release response is transmitted to the request source (S4i).

【0088】本実施例によれば、予約+リード/ライト
一括要求を導入したので、ライブラリ11側では予約要
求を別要求として最初に送らずに済むとともに、ファイ
ルサーバ10側では予約応答に引き続いてリード/ライ
ト処理が行われるので、予約応答の通信時間を物理リー
ド/ライトの時間と重ねることができる。また、サーバ
計算機での物理リード/ライトの最中に、クライアント
プログラムから後続のリード/ライト要求の送信が行わ
れれば、それらの通信時間も物理リード/ライトの時間
に重ねることができる。
According to the present embodiment, since the reservation + read / write batch request is introduced, the library 11 does not need to send the reservation request as a separate request first, and the file server 10 succeeds the reservation response. Since the read / write processing is performed, the communication time of the reservation response can be overlapped with the physical read / write time. Further, if a subsequent read / write request is transmitted from the client program during the physical read / write in the server computer, the communication time can be overlapped with the physical read / write time.

【0089】また、予約解除+リード/ライト一括要求
を導入したので、予約解除の要求を別要求として最後に
送らずに済み、その分の通信時間を削減することができ
る。
Further, since the reservation release + read / write batch request is introduced, the reservation release request does not have to be sent as a separate request at the end, and the communication time can be reduced accordingly.

【0090】以上のことから、最初と最後の予約/予約
解除のための通信時間を削減することができる。図16
はサーバ計算機2とクライアントプログラム5との間で
発生する要求/応答のやり取りの一例を示している。最
初の予約+リード/ライト一括要求(ハ)は1要求とし
てサーバ計算機2に送られる。サーバ計算機2では、ま
ず予約処理を行い、予約応答を返却し、同時にリード/
ライト処理に移る。この際、物理リード/ライトと予約
応答の通信時間が重なっている。
As described above, the communication time for the first and last reservation / reservation cancellation can be reduced. FIG.
Shows an example of a request / response exchange occurring between the server computer 2 and the client program 5. The first reservation + read / write batch request (c) is sent to the server computer 2 as one request. The server computer 2 first performs a reservation process, returns a reservation response, and simultaneously reads /
Move on to write processing. At this time, the communication times of the physical read / write and the reservation response overlap.

【0091】クライアントプログラム5の動作する計算
機1のライブラリ11で予約応答を受け取った後のリー
ド/ライト要求処理は、実施例3と同様である。ただ
し、最後の要求が予約解除+リード/ライト一括要求と
なる点が異なる。最後の要求の処理は、図16に示す予
約解除+リード/ライト(ニ)の処理に相当する。図1
6の例では、クライアントプログラム5からのリード/
ライト呼び出しを5つのリード/ライト要求に分割して
いるが、ファイルサーバ10からの予約数が3であった
場合を想定している。このため、ライブラリ11はスレ
ッショルド値に3を設定し、予約応答受信後、最初に3
つのリード/ライト要求をサーバ計算機2に送ってい
る。以後の処理は実施例2,3の処理手順と同様である
が、リード/ライト要求の残りが1つになったとき、予
約解除とリード/ライトを一緒にした要求(予約解除+
リード/ライト一括要求)を行う。サーバ計算機では、
この要求に対してリード/ライトの処理と予約解除の処
理を行い、1つの応答として返却する。これにより、最
後の通信時間を削減することができる。
The read / write request processing after the reservation response is received by the library 11 of the computer 1 on which the client program 5 operates is the same as in the third embodiment. However, the difference is that the last request is a reservation release + read / write batch request. The processing of the last request corresponds to the processing of reservation release + read / write (d) shown in FIG. FIG.
In the example of No. 6, read from client program 5 /
Although the write call is divided into five read / write requests, it is assumed that the number of reservations from the file server 10 is three. For this reason, the library 11 sets the threshold value to 3, and after receiving the reservation response,
One read / write request is sent to the server computer 2. Subsequent processing is the same as the processing procedure of the second and third embodiments, except that when the number of remaining read / write requests becomes one, a request that combines reservation release and read / write (reservation release +
Read / write batch request). On the server computer,
Read / write processing and reservation release processing are performed in response to this request, and returned as one response. Thereby, the last communication time can be reduced.

【0092】以上本発明の実施例について説明したが、
本発明は以上の実施例にのみ限定されずその他各種の付
加変更が可能である。例えば、図1では、1つのサーバ
計算機2に、1つのクライアントプログラム5が動作す
る計算機1を計算機間通信網3を介して接続している
が、1つ又は複数のクライアントプログラム5が動作す
る計算機を複数台、計算機間通信網3に接続した計算機
システムに対しても適用可能である。また、サーバ計算
機2には1つの二次記憶装置4のみ接続されている例を
示したが、複数の二次記憶装置が接続されていても良
い。
The embodiments of the present invention have been described above.
The present invention is not limited to the above embodiments, and various other additions and changes are possible. For example, in FIG. 1, the computer 1 on which one client program 5 operates is connected to one server computer 2 via the inter-computer communication network 3, but the computer on which one or more client programs 5 operate Can be applied to a computer system in which a plurality of computers are connected to the inter-computer communication network 3. Further, the example in which only one secondary storage device 4 is connected to the server computer 2 has been described, but a plurality of secondary storage devices may be connected.

【0093】[0093]

【発明の効果】以上説明したように本発明によれば以下
のような効果を得ることができる。
As described above, according to the present invention, the following effects can be obtained.

【0094】本発明によれば、遠隔二次記憶装置へのデ
ータアクセス時における通信時間のほとんどをクライア
ントプログラムから見えなくし、あたかもその二次記憶
装置がクライアントプログラムの動作する計算機に接続
されているかのようなアクセス時間を達成することがで
きる。
According to the present invention, most of the communication time at the time of data access to the remote secondary storage device is made invisible to the client program, and it is as if the secondary storage device is connected to the computer running the client program. Such access time can be achieved.

【0095】また本発明によれば、クライアントプログ
ラムが大容量のデータをアクセスする場合であっても、
即ち分割されたリード/ライト要求の数が多くなる場合
であっても、一度に要求するリード/ライトの量を抑制
でき、第2の計算機での処理負荷が過大にならないよう
にすることができる。
According to the present invention, even when a client program accesses a large amount of data,
That is, even when the number of divided read / write requests increases, the amount of read / write requested at a time can be suppressed, and the processing load on the second computer can be prevented from becoming excessive. .

【0096】更に本発明によれば、1台の第2の計算機
に対して複数のクライアントプログラムがリード/ライ
ト要求を行う場合でも、第2の計算機の負荷に応じて一
度に要求するリード/ライトの量を抑制でき、第2の計
算機の処理負荷が過大にならないようにすることができ
る。
Furthermore, according to the present invention, even when a plurality of client programs make read / write requests to one second computer, the read / write requests are made at once according to the load on the second computer. Can be suppressed, and the processing load of the second computer can be prevented from becoming excessive.

【0097】また更に本発明によれば、第1の計算機側
では予約要求を別要求として最初に送らずに済み、第2
の計算機側では予約応答に引き続いてリード/ライト処
理が行われるので、予約応答の通信時間を物理リード/
ライトの時間と重ねることができる。また、第2の計算
機での物理リード/ライトの最中に、第1の計算機から
後続のリード/ライト要求の送信が行われれば、それら
の通信時間も物理リード/ライトの時間に重ねることが
できる。さらに、第1の計算機側では予約解除の要求を
別要求として最後に送らずに済み、その分の通信時間を
削減することができる。
Further, according to the present invention, the first computer does not need to send a reservation request as a separate request first,
On the computer side, the read / write processing is performed subsequent to the reservation response.
Can overlap with the time of the light. Also, if a subsequent read / write request is transmitted from the first computer during a physical read / write in the second computer, their communication time may overlap the physical read / write time. it can. Furthermore, the first computer does not need to send the reservation release request as a separate request at the end, and the communication time can be reduced accordingly.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を適用した計算機システムの一例を示す
ブロック図である。
FIG. 1 is a block diagram illustrating an example of a computer system to which the present invention has been applied.

【図2】ファイルサーバで複数の要求を多重処理するた
めの処理の一例を示すフローチャートである。
FIG. 2 is a flowchart illustrating an example of a process for multiplexing a plurality of requests in a file server.

【図3】実施例1におけるライブラリの処理の一例を示
すフローチャートである。
FIG. 3 is a flowchart illustrating an example of library processing according to the first exemplary embodiment.

【図4】実施例1におけるファイルサーバの、1つのリ
ード/ライト要求に着目した処理の一例を示すフローチ
ャートである。
FIG. 4 is a flowchart illustrating an example of a process of the file server according to the first embodiment that focuses on one read / write request;

【図5】実施例1におけるクライアントプログラムとサ
ーバ計算機との要求/応答のやり取りを示すタイミング
チャートである。
FIG. 5 is a timing chart showing exchange of requests / responses between a client program and a server computer in the first embodiment.

【図6】実施例2におけるライブラリの処理の一例を示
すフローチャートである。
FIG. 6 is a flowchart illustrating an example of a library process according to the second embodiment.

【図7】実施例2におけるクライアントプログラムとサ
ーバ計算機との要求/応答のやり取りを示すタイミング
チャートである。
FIG. 7 is a timing chart showing exchange of requests / responses between a client program and a server computer in a second embodiment.

【図8】実施例3におけるライブラリの処理の一例を示
すフローチャートである。
FIG. 8 is a flowchart illustrating an example of processing of a library according to the third embodiment.

【図9】実施例3におけるファイルサーバの、1つの予
約要求に着目した処理の一例を示すフローチャートであ
る。
FIG. 9 is a flowchart illustrating an example of processing of the file server according to the third embodiment that focuses on one reservation request.

【図10】実施例3におけるファイルサーバの、1つの
予約解除要求に着目した処理の一例を示すフローチャー
トである。
FIG. 10 is a flowchart illustrating an example of a process of the file server according to the third embodiment that focuses on one reservation release request;

【図11】実施例3におけるクライアントプログラムと
サーバ計算機との要求/応答のやり取りを示すタイミン
グチャートである。
FIG. 11 is a timing chart showing exchange of requests / responses between a client program and a server computer in a third embodiment.

【図12】実施例4におけるライブラリの処理の一例を
示すフローチャートである。
FIG. 12 is a flowchart illustrating an example of processing of a library according to the fourth embodiment.

【図13】実施例4におけるファイルサーバの、1つの
リード/ライト要求に着目した処理の一例を示すフロー
チャートである。
FIG. 13 is a flowchart illustrating an example of a process of the file server according to the fourth embodiment that focuses on one read / write request;

【図14】実施例4におけるファイルサーバの、1つの
予約+リード/ライト一括要求に着目した処理の一例を
示すフローチャートである。
FIG. 14 is a flowchart illustrating an example of processing of the file server according to the fourth embodiment that focuses on one reservation + read / write batch request;

【図15】実施例4におけるファイルサーバの、1つの
予約解除+リード/ライト一括要求に着目した処理の一
例を示すフローチャートである。
FIG. 15 is a flowchart illustrating an example of processing of the file server according to the fourth embodiment, which focuses on one reservation release + read / write batch request;

【図16】実施例4におけるクライアントプログラムと
サーバ計算機との要求/応答のやり取りを示すタイミン
グチャートである。
FIG. 16 is a timing chart showing exchange of requests / responses between a client program and a server computer in a fourth embodiment.

【図17】遠隔二次記憶装置への従来のアクセス方法の
説明図である。
FIG. 17 is an explanatory diagram of a conventional access method to a remote secondary storage device.

【符号の説明】[Explanation of symbols]

1…クライアントプログラムの動作する計算機 2…サーバ計算機 3…計算機間接続網 4…二次記憶装置 5…クライアントプログラム 10…ファイルサーバ 11…ライブラリ DESCRIPTION OF SYMBOLS 1 ... Computer on which client program operates 2 ... Server computer 3 ... Connection network between computers 4 ... Secondary storage device 5 ... Client program 10 ... File server 11 ... Library

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 第1の計算機上で動作するクライアント
プログラムから、前記第1の計算機と計算機間網を通じ
て相互に通信可能な第2の計算機に接続されている二次
記憶装置上のデータに対してアクセスする方法であっ
て、 前記第1の計算機においては、 前記クライアントプログラムによるリード/ライト呼び
出しを、一定サイズのデータへのリード/ライト要求に
分割し、 該分割して得られたリード/ライト要求の送信に先立
ち、該リード/ライト要求の総数を分割数とし、予約の
要求に含めて前記第2の計算機に対して送信し、 前記送信した予約の要求に対する前記第2の計算機から
の応答に含まれる予約数からスレッショルド値を決定
し、 前記分割して得られたリード/ライト要求の数が前記ス
レッショルド値以下のときは全部一度に前記第2の計算
機に送信し、スレッショルド値を超えているときは最初
にスレッショルド値分のリード/ライト要求を前記第2
の計算機に送信した後、リード/ライト要求に対応する
前記第2の計算機からの応答を1つ確認する毎に残りのリ
ード/ライト要求を1つ前記第2の計算機に送信し、 前記送信した全てのリード/ライト要求について前記第
2の計算機から応答が返却されていることを確認した
後、前記第2の計算機に対して予約解除を要求すると共
に、前記クライアントプログラムにリード/ライト呼び
出しの結果を戻し、 前記第2の計算機においては、 前記第1の計算機からの予約の要求に対し、自計算機の
総メモリ量を1つのリード/ライト要求で使用するデー
タサイズで除した商を処理負荷上限とし、該処理負荷上
限から現時点での予約済みの総予約数を減じた差を許容
数とし、該許容数と前記第1の計算機からの予約の要求
に含まれる分割数との小さい方の値を予約数として決定
し、該予約数を前記第1の計算機に通知すると共に、該
予約数に見合ったメモリ量を確保し、 前記第1の計算機からのリード/ライト要求を受け取
り、受け取ったリード/ライト要求1つに対し、要求さ
れた二次記憶装置上のデータにアクセスをした後、要求
元のクライアントプログラムに応答1つを送信するとい
う処理を、複数のリード/ライト要求に対し、多重化し
て実行し、 前記第1の計算機からの予約解除の要求に対し、前記確
保していたメモリ量を解放し、 且つ、前記第2の計算機における処理の多重化は、要求
の受け取りから応答の返却までの1つの要求にかかる一
連のアクションの中断点で他の要求のアクションを実行
することで実現し、然も、前記二時記憶装置に対するI
/Oを発行したアクションの続きのアクションは優先的
に処理することを特徴とする二次記憶装置への遠隔アク
セス方法。
1. A method according to claim 1, wherein a client program operating on a first computer transmits data on a secondary storage device connected to a second computer communicable with the first computer via an inter-computer network. Wherein the first computer divides a read / write call by the client program into a read / write request for data of a fixed size, and the read / write obtained by the division. Prior to the transmission of the request, the total number of the read / write requests is set as a division number, transmitted to the second computer while being included in the reservation request, and a response from the second computer to the transmitted reservation request. A threshold value is determined from the number of reservations included in the request, and when the number of read / write requests obtained by the division is equal to or less than the threshold value, the threshold value is determined all at once. Transmitted to the second computer, said first read / write request threshold value component when exceeding the threshold value second
After transmitting one response from the second computer corresponding to the read / write request after transmitting to the second computer, transmitting one remaining read / write request to the second computer, For all read / write requests
After confirming that a response has been returned from the second computer, the second computer requests the second computer to cancel reservation, and returns a read / write call result to the client program. In response to a reservation request from the first computer, a quotient obtained by dividing the total memory capacity of the own computer by a data size used in one read / write request is set as a processing load upper limit, and the processing load upper limit is The difference obtained by subtracting the total number of reserved reservations is determined as the allowable number, and the smaller of the allowable number and the number of divisions included in the reservation request from the first computer is determined as the number of reservations. Notifying the first computer of the number, securing a memory amount commensurate with the reserved number, receiving a read / write request from the first computer, and responding to one received read / write request. Sa Transmitting a single response to the requesting client program after accessing the data on the secondary storage device, and multiplexing and executing the plurality of read / write requests. In response to a request to cancel a reservation from the server, the reserved memory amount is released, and the multiplexing of processing in the second computer is performed by a series of processing for one request from reception of a request to return of a response. It is realized by executing the action of another request at the interruption point of the action, and the
A remote access method to a secondary storage device, wherein an action subsequent to an action that issued / O is preferentially processed.
【請求項2】 前記第2の計算機において、 前記第1の計算機からの予約の要求に対し、自計算機の
総メモリ量を1つのリード/ライト要求で使用するデー
タサイズで除した商を処理負荷上限とし、該処理負荷上
限から現時点での予約済みの総予約数を減じた差を許容
数とし、該許容数、前記第1の計算機からの予約の要求
に含まれる分割数、および、1クライアントプログラム
当たりに付与する最大許容数の内、最小の値を予約数と
して決定し、該予約数を前記第1の計算機に通知すると
共に、該予約数に見合ったメモリ量を確保することを特
徴とする請求項1記載の二次記憶装置への遠隔アクセス
方法。
2. In the second computer, a quotient obtained by dividing a total memory capacity of the own computer by a data size used in one read / write request in response to a reservation request from the first computer is processed. An upper limit, a difference obtained by subtracting the total number of reservations currently reserved from the processing load upper limit is set as an allowable number, the allowable number, the number of divisions included in the reservation request from the first computer, and one client. The minimum value among the maximum allowable numbers to be given per program is determined as the number of reservations, the number of reservations is notified to the first computer, and a memory amount corresponding to the number of reservations is secured. 2. The method for remotely accessing a secondary storage device according to claim 1, wherein:
【請求項3】 第1の計算機上で動作するクライアント
プログラムから、前記第1の計算機と計算機間網を通じ
て相互に通信可能な第2の計算機に接続されている二次
記憶装置上のデータに対してアクセスする方法であっ
て、 前記第1の計算機においては、 前記クライアントプログラムによるリード/ライト呼び
出しを、一定サイズのデータへのリード/ライト要求に
分割し、 該分割して得られたリード/ライト要求のうちの1つの
リード/ライト要求に、該リード/ライト要求の総数を
分割数として含めた予約の要求を付加し、予約+リード
/ライト一括要求として前記第2の計算機に対して送信
し、 前記送信した予約の要求に対する前記第2の計算機から
の応答に含まれる予約数からスレッショルド値を決定
し、 前記分割して得られたリード/ライト要求の残りの数が
前記スレッショルド値以下のときは、1つのリード/ラ
イト要求に予約解除の要求を付加して予約解除+リード
/ライト一括要求とした上で、全部一度に前記第2の計
算機に送信し、スレッショルド値を超えているときは最
初にスレッショルド値分のリード/ライト要求を前記第
2の計算機に送信した後、リード/ライト要求に対応す
る前記第2の計算機からの応答を1つ確認する毎に残りの
リード/ライト要求を1つ前記第2の計算機に送信してい
き、且つ、最後の1つのリード/ライト要求は予約解除
の要求を付加した予約解除+リード/ライト一括要求と
して送信し、 前記送信した全てのリード/ライト要求について前記第
2の計算機から応答が返却されていることを確認した
後、前記クライアントプログラムにリード/ライト呼び
出しの結果を戻し、 前記第2の計算機においては、 前記第1の計算機からの要求を受け取り、受け取った要
求が予約+リード/ライト一括要求のときは、自計算機
の総メモリ量を1つのリード/ライト要求で使用するデ
ータサイズで除した商を処理負荷上限とし、該処理負荷
上限から現時点での予約済みの総予約数を減じた差を許
容数とし、該許容数と前記第1の計算機からの予約の要
求に含まれる分割数との小さい方の値を予約数として決
定し、該予約数を前記第1の計算機に通知すると共に、
該予約数に見合ったメモリ量を確保した後、要求された
二次記憶装置上のデータにアクセスをして要求元のクラ
イアントプログラムに応答1つを送信するという処理
を、受け取った要求がリード/ライト要求のときは要求
された二次記憶装置上のデータにアクセスをした後、要
求元のクライアントプログラムに応答1つを送信すると
いう処理を、受け取った要求が予約解除+リード/ライ
ト一括要求のときは要求された二次記憶装置上のデータ
にアクセスをした後、要求元のクライアントプログラム
から発生した処理中のリード/ライト要求が全部完了し
た時点で前記確保したメモリ量を解放するという処理
を、複数の要求に対し、多重化して実行し、 且つ、前記第2の計算機における処理の多重化は、要求
の受け取りから応答の返却までの1つの要求にかかる一
連のアクションの中断点で他の要求のアクションを実行
することで実現し、然も、前記二時記憶装置に対するI
/Oを発行したアクションの続きのアクションは優先的
に処理することを特徴とする二次記憶装置への遠隔アク
セス方法。
3. From a client program operating on a first computer, data on a secondary storage device connected to a second computer communicable with the first computer via an inter-computer network. Wherein the first computer divides a read / write call by the client program into a read / write request for data of a fixed size, and the read / write obtained by the division. A request for reservation including the total number of read / write requests as a division number is added to one of the requests, and the request is transmitted to the second computer as a reservation + read / write batch request. A threshold value is determined from the number of reservations included in a response from the second computer to the transmitted reservation request, and the read / write obtained by the division is determined. When the remaining number of write requests is equal to or smaller than the threshold value, a reservation release request is added to one read / write request to make a reservation release + read / write batch request, and then the second request is issued all at once. When the threshold value is exceeded, a read / write request for the threshold value is first sent to the computer.
After transmitting to the second computer, each time one response from the second computer corresponding to the read / write request is confirmed, one remaining read / write request is transmitted to the second computer, In addition, the last one read / write request is transmitted as a reservation release + read / write batch request to which a reservation release request is added.
After confirming that a response has been returned from the second computer, the result of the read / write call is returned to the client program, and the second computer receives and receives the request from the first computer. When the request is a reservation + read / write batch request, the quotient obtained by dividing the total memory capacity of the own computer by the data size used in one read / write request is set as the processing load upper limit, and the current reservation is made from the processing load upper limit. The difference obtained by subtracting the total number of reserved reservations is determined as the allowable number, and the smaller value of the allowable number and the division number included in the reservation request from the first computer is determined as the reservation number, and the reservation number is determined. Notifying the first computer,
After securing a memory amount commensurate with the reservation number, the requested request is read / accessed by accessing data on the requested secondary storage device and transmitting one response to the requesting client program. In the case of a write request, the process of accessing the requested data in the secondary storage device and then transmitting one response to the requesting client program is performed. In some cases, after the requested data on the secondary storage device is accessed, the secured memory amount is released when all of the read / write requests being processed generated from the requesting client program are completed. Multiplexing and executing a plurality of requests, and the multiplexing of the processing in the second computer is one of processing from receiving a request to returning a response. Realized by executing an action for other requests with break point of a series of actions relating to the request, also natural, I against the two temporary storage devices
A remote access method to a secondary storage device, wherein an action subsequent to an action that issued / O is preferentially processed.
【請求項4】 前記第2の計算機において、 前記第1の計算機から受け取った要求が予約+リード/
ライト一括要求のときは、自計算機の総メモリ量を1つ
のリード/ライト要求で使用するデータサイズで除した
商を処理負荷上限とし、該処理負荷上限から現時点での
予約済みの総予約数を減じた差を許容数とし、該許容
数、前記第1の計算機からの予約の要求に含まれる分割
数、および、1クライアントプログラム当たりに付与す
る最大許容数の内、最小の値を予約数として決定し、該
予約数を前記第1の計算機に通知すると共に、該予約数
に見合ったメモリ量を確保した後、要求された二次記憶
装置上のデータにアクセスをして要求元のクライアント
プログラムに応答1つを送信することを特徴とする請求
項3記載の二次記憶装置への遠隔アクセス方法。
4. The second computer, wherein the request received from the first computer is a reservation + read /
In the case of a write batch request, the quotient obtained by dividing the total memory capacity of the own computer by the data size used in one read / write request is set as the processing load upper limit, and the total number of reservations currently reserved is calculated from the processing load upper limit. The reduced difference is regarded as an allowable number, the allowable number, the number of divisions included in the reservation request from the first computer, and the minimum value of the maximum allowable number given per client program as the number of reservations. Determine and notify the first computer of the number of reservations, secure a memory amount corresponding to the number of reservations, and then access the requested data on the secondary storage device to request the client program. 4. The method according to claim 3, wherein one response is transmitted to the secondary storage device.
【請求項5】 前記第2の計算機に、複数台の前記第1の
計算機を前記計算機間接続網を通じて接続したことを特
徴とする請求項1,2,3または4記載の二次記憶装置への遠
隔アクセス方法。
5. The secondary storage device according to claim 1, wherein a plurality of said first computers are connected to said second computer through said inter-computer connection network. Remote access method.
JP2000242636A 2000-08-10 2000-08-10 Remote access method to secondary storage device Expired - Fee Related JP3698031B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000242636A JP3698031B2 (en) 2000-08-10 2000-08-10 Remote access method to secondary storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000242636A JP3698031B2 (en) 2000-08-10 2000-08-10 Remote access method to secondary storage device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8027263A Division JPH09198336A (en) 1996-01-22 1996-01-22 Remote access method for secondary storage device

Publications (2)

Publication Number Publication Date
JP2001101058A true JP2001101058A (en) 2001-04-13
JP3698031B2 JP3698031B2 (en) 2005-09-21

Family

ID=18733635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000242636A Expired - Fee Related JP3698031B2 (en) 2000-08-10 2000-08-10 Remote access method to secondary storage device

Country Status (1)

Country Link
JP (1) JP3698031B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123125A (en) * 2007-11-16 2009-06-04 Fujitsu Component Ltd Kvm switch, information processing apparatus, and program
JP2010026626A (en) * 2008-07-16 2010-02-04 Ono Sokki Co Ltd Method, system and program for recording data
JP2015172812A (en) * 2014-03-11 2015-10-01 株式会社東芝 Communications device and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123125A (en) * 2007-11-16 2009-06-04 Fujitsu Component Ltd Kvm switch, information processing apparatus, and program
JP2010026626A (en) * 2008-07-16 2010-02-04 Ono Sokki Co Ltd Method, system and program for recording data
JP2015172812A (en) * 2014-03-11 2015-10-01 株式会社東芝 Communications device and program

Also Published As

Publication number Publication date
JP3698031B2 (en) 2005-09-21

Similar Documents

Publication Publication Date Title
JP3382953B2 (en) Client management flow control method and apparatus on finite memory computer system
KR100326864B1 (en) Network communication method and network system
US9405574B2 (en) System and method for transmitting complex structures based on a shared memory queue
JP3014358B2 (en) How to balance your workload across computer networks and servers
EP0817023A2 (en) Mechanism for invoking and servicing multiplexed messages with low context switching overhead
CN105912402B (en) A kind of dispatching method and device based on Actor model
JPH0810863B2 (en) Method and apparatus for selective message intervention
JPH0563821B2 (en)
US20140108458A1 (en) Network filesystem asynchronous i/o scheduling
CN107315972A (en) A kind of dynamic desensitization method of big data unstructured document and system
CN109753370A (en) A kind of low time delay, the high remote procedure calling (PRC) method handled up
US5742812A (en) Parallel network communications protocol using token passing
JP2005521945A (en) Optimal server in common work queue environment
JP2001101058A (en) Remote access method to secondary storage device
JPH09198336A (en) Remote access method for secondary storage device
EP0459774A2 (en) File access system in distributed data processing system
JP3345546B2 (en) Data delivery method and information communication device
JP4151330B2 (en) I / O control method for network file system
JP2008276322A (en) Information processing device, system, and method
JP2002163185A (en) Method and device for contents distribution
CN114172945B (en) Method and equipment for realizing full duplex instant messaging through simulation
JPS61195439A (en) Remote file access system
JP2006185229A (en) Online synchronous processing method and device
JPH10154116A (en) Data transfer method
JP2002149619A (en) Method for managing message queue

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040906

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120715

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120715

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130715

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees