JPH07191899A - ファイル転送方法、データアクセス方法およびデータ書き込み方法 - Google Patents

ファイル転送方法、データアクセス方法およびデータ書き込み方法

Info

Publication number
JPH07191899A
JPH07191899A JP5330513A JP33051393A JPH07191899A JP H07191899 A JPH07191899 A JP H07191899A JP 5330513 A JP5330513 A JP 5330513A JP 33051393 A JP33051393 A JP 33051393A JP H07191899 A JPH07191899 A JP H07191899A
Authority
JP
Japan
Prior art keywords
data
group
file
block data
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5330513A
Other languages
English (en)
Inventor
Toshiaki Mori
利明 森
Toyohiko Kagimasa
豊彦 鍵政
Kikuo Takahashi
喜久雄 高橋
Toshiyuki Ukai
敏之 鵜飼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5330513A priority Critical patent/JPH07191899A/ja
Priority to US08/357,192 priority patent/US5715452A/en
Publication of JPH07191899A publication Critical patent/JPH07191899A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 複数の計算機システムの順次アクセス型補助
記憶装置間で、ブロック構成のファイルを高速に転送す
る。 【構成】 ファイル送信プログラム100は、転送すべ
きファイルを構成する一群のブロックデータの格納位置
をOS300−1に問い合わせ、これらのブロックデー
タの読み出し時間が短くなるように、読み出すべき順番
を決定し、この順番にしたがって、OSに読み出し要求
を出力力する。これらのブロックデータは、それぞれの
論理的識別情報、例えば、論理ブロック番号とともに受
信側に送られる。受信側では、これらのブロックデータ
を格納するのに必要な数のデータ領域を確保し、それら
に対するアクセス時間が少なくなるようにアクセス順を
決定し、転送されたブロックデータを順次書き込む。そ
の後、各データ領域に現に書き込まれたブロックデータ
の論理的識別子と、そのデータ領域の物理的識別情報と
の対を記憶する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システム間でフ
ァイルを転送する方法に係り、特に複数のブロックデー
タから構成されるファイルの転送方法に関する。
【0002】
【従来の技術】計算機システムの補助記憶装置として、
通常、ディスク装置等の順次アクセス型の記憶装置が使
用される。このような装置では、データの読み出しある
いは書き込み時のアクセス時間が大きい。すなわち、デ
ィスク装置の読取ヘッドのシーク待ちの時間(ディスク
の半径方向への移動待ちの時間)あるいはディスク媒体
の回転待ちの時間が生じる。これを実効的に減らす方法
として、複数のデータに対する読み出し要求の発行順序
を、上記シーク時間あるいは回転待ち時間を考慮して並
び変え、これらの複数の要求で指定されるデータの読み
出し時間を減らすことがいろいろ提案されている。
【0003】例えば、特開平4−362585では、上
位装置から要求されたファイルを構成する複数のデータ
の、ディスク装置からメモリへの読み出しの高速化を提
案している。すなわち、それぞれのディスク内記憶位置
と、読取ヘッドの位置とから、ヘッド移動時間が少なく
なるようにこれらのデータの読み出し順序を変え、その
変更後の順序に従って、これらのデータを読み出し、上
位メモリがアクセス可能なメモリに、それらのデータが
ディスクに書き込まれた順に並べて書き込む。
【0004】また、特開平3−122712号では、フ
ァイルデータのバックアップの高速化を提案している。
すなわち、読取ヘッドの移動時間を考慮して、バックア
ップすべきファイルを構成する複数のブロックデータの
読み出し順序を変え、それでもって、これらのブロック
データの読み出し時間を減らすことが提案されている。
【0005】また、複数のユーザプログラムから平行し
てアクセス可能なディスク装置に対するデータの読み出
しの高速化のために、これらのユーザプログラムから発
行された複数の読み出し要求で指定されるデータの記憶
位置に応じて、これらのデータの読み出し順序を並び変
えるディスクソートと呼ばれる方法が現実の計算機シス
テムでも採用されている。
【0006】この方法は、たとえば、株式会社丸善社刊
の「UNIX4.3BSDの設計と実装」第255項〜
第256項(1991年発行)、とAddison−W
esley Publishing Company,
Incの「The Design and Imple
mentation of the 4.3BSDUN
IX Operating System」(1988
年)第244項〜第245項に記載されている。
【0007】この従来技術では、各ユーザプログラム
は、読み出すべきファイルを構成する複数のブロックデ
ータを読み出すために複数の入出力要求を順次発行す
る。複数のユーザプログラムから平行して発行された複
数の入出力要求は、キューイングされ、そのキューイン
グされた入出力要求が、ディスク上のこれらの入出力要
求が指定するブロックデータの配置順序に並び替えられ
る。これにより、これらのユーザプログラムが要求した
複数のブロックデータの読み出しを高速化する。ブロッ
クデータの書き込みを要求する入出力要求の場合も、同
様に処理される。
【0008】このような計算機システムでは、一般にオ
ペレーティングシステムは、一つのユーザプログラムが
入出力装置を占有しないように、各ユーザプログラムか
ら続けて発行できる入出力要求を1つまたは2つに制限
している。そのために、一つのユーザプログラムが入出
力装置からファイルデータの読み出しを行なう場合、同
時には1つまたは2つの入出力要求しか出力できないよ
うになっている。
【0009】このようなOSで制御された計算機システ
ム間でネットワークを介してファイルを転送する場合、
例えば、株式会社アスキー社刊の「UNIXワークステ
ーション I<基礎技術編>」、”5章ネットワークに
おけるプロトコルとデータの表現形式”、第160頁〜
第171頁(1987年)に記載されている方法が通常
使用される。
【0010】この方法では、送信側の計算機システム
が、送信すべきファイルを構成する複数のブロックデー
タが、それらのブロックデータのそのファイルの先頭か
らのオフセットの順にディスク装置から読み出し、それ
ぞれのブロックデータを逐次受信側の計算機システムに
転送する。
【0011】すなわち、ファイル送信側の計算機システ
ムで動作するファイル送信プログラムが転送すべきファ
イルの複数のブロックデータの読み出し要求をディスク
装置に順次発行し、そのブロックデータを、そのプログ
ラム内の通信バッファ領域に読み込んむ。その後、その
ブロックデータをファイル受信側の計算機システムで動
作するファイル受信プログラムへ送信し、そのファイル
受信プログラムにてより、そのプログラム内の通信バッ
ファ領域に送信されたブロックデータを書き込み、その
後、そのブロックデータを受信側の計算機のディスク装
置に書き出す。以上の転送動作を複数のブロックデータ
に対して逐次行なう。
【0012】
【発明が解決しようとする課題】このように、従来技術
では、計算機システム間でファイルを転送する場合、そ
のファイルを構成する個々のブロックデータの読み出し
あるいは書き込みは、主記憶装置へのそのブロックデー
タの読み出しあるいは主記憶からのそのブロックデータ
のディスク装置への書き込みと同様になされている。
【0013】補助記憶装置から主記憶へのブロックデー
タの読み出しあるいは主記憶から補助記憶装置へのブロ
ックデータの書き込みは、一般には、ファイル内の複数
のブロックデータの一部のブロックデータに対して行な
われる場合が多い。しかし、計算機システム間のファイ
ル転送においては、ファイル全体が転送され、従って、
転送されるデータ量が大きく。さらに、計算機システム
間でのファイルの転送に宛ては、送信側でのファイルの
読み出しと受信側でのファイルの書き込みとの二つの動
作を伴う。従って、ファイル転送動作には、主記憶装置
と補助記憶装置との間のファイル内の一部のブロックデ
ータの転送より時間が掛かる。
【0014】さらに、特開平4−362585の方法
は、一つのユーザプログラムが要求するファイル内デー
タブロックを補助記憶装置から主記憶へ読み出すの適用
できるが、上記OSが適用されている計算機システムに
この方法を適用した場合、そのファイルデータの読み出
しの間、補助記憶装置が長い時間占有されることにな
り、他のユーザプログラムから並行して入出力要求を出
すことを許すシステムに適用する場合には、他のユーザ
プログラムからの入出力要求の処理が待たされることに
なる。
【0015】同様に、特開平3−122712号は、一
つのファイルのバックアップの高速化には有効である
が、そのファイルのバックアップの間、補助記憶装置が
占有されると言う問題がある。
【0016】したがって、本願発明の第1の目的は、異
なる計算機システムの補助記憶装置間でのファイルの転
送を高速に行なえるファイル転送方法を提供することで
ある。
【0017】本願発明の第2の目的は、複数のプログラ
ムから出力される入出力要求を並行して処理する計算機
システムにおいて、特定のユーザプログラムに補助記憶
装置を占有させることなく、ファイルのデータを高速に
アクセス可能にするデータアクセス方法を提供すること
になる。
【0018】
【課題を解決するための手段】上記第1の目的達成のた
めに、本願第1の発明によるファイル転送方法では、転
送すべきファイルを構成する論理的に順序づけられた一
群のブロックデータを保持する、該第1の補助記憶装置
内の一群のデータ領域を検出し、それらのブロックデー
タの読み出しに要する時間を少なくするように、該検出
された一群のデータ領域の物理的位置関係に基づいて、
該一群のブロックデータの読み出し順序を決定し、該第
1の補助記憶装置から該複数のブロックデータを、該決
定された読み出し順序に従って順次読み出し、該読み出
された複数のブロックデータを、それぞれのブロックデ
ータの論理的識別情報とともに、かつ、それぞれのブロ
ックデータの読み出し順に、第1の計算機システムより
該第2の計算機システムに順次転送し、該第2の該補助
記憶装置内の複数のデータ領域の内、該一群のブロック
データを保持するに必要な複数の空きデータ領域を選択
し、該選択された複数の空きデータ領域へ該一群のブロ
ックデータを書き込むのに要する時間を短くするよう
に、該選択された複数の空きデータ領域の物理的位置関
係に基づいて、該複数の空きデータ領域へのアクセス順
を決定し、該第1の計算機システムから転送された該複
数のブロックデータをそれらの転送順に、かつ、該決定
されたアクセス順に従って該選択された複数の空きデー
タ領域に順次書き込む。
【0019】より具体的な本願第2の発明によるファイ
ル転送方法では、転送すべきファイルを構成する論理的
に順序づけられた一群のブロックデータを保持する、該
第1の補助記憶装置内の一群のデータ領域を、該第1の
計算機システムで走行中の第1のファイル転送プログラ
ムにより検出し、それらのブロックデータの読み出しに
要する時間を少なくするように、該検出された一群のデ
ータ領域の物理的位置関係に基づいて、該一群のブロッ
クデータの読み出し順序を、該第1のファイル転送プロ
グラムにより決定し、該第1の補助記憶装置から該一群
のブロックデータが該決定された読み出し順に従って読
み出されるように、該一群のブロックデータの一つとそ
のブロックデータの論理的識別情報とを指定する複数の
読み出し要求を該第1のファイル転送プログラムから順
次発行し、該第1の補助記憶装置へのブロックデータの
書き込みおよび読み出しを制御する、第1の計算機シス
テムで走行中の第1のOSの制御下で、該順次発行され
た複数の読み出し要求を順次実行し、該複数の読み出し
要求の実行の結果読み出された該一群のブロックデータ
を、それぞれのブロックデータの論理的識別情報ととも
に、かつ、それぞれのブロックデータの読み出し順に、
該第1の計算機システムより該第2の計算機システムに
順次転送し、該転送された一群のブロックデータを該第
2の補助記憶装置の一群の空きデータ領域に順次書き込
み、該一群のデータ領域の各々に対応して、その領域に
書き込まれたブロックデータとともに転送された論理的
識別情報を記憶する。
【0020】さらに、上記第3の目的を達成するため
に、本願第3の発明によるデータアクセス方法は、計算
機システムに含まれた順次アクセス型の補助記憶装置に
保持されたそれぞれ異なるファイルに属する複数のブロ
ックデータを、該計算機システムで走行中の複数のアプ
リケーションプログラムから並行してアクセスするデー
タアクセス方法であって、その方法は、該複数のアプリ
ケーションプログラムから、それぞれ該補助記憶装置に
保持されたいずれかのアクセスすべき一つのブロックデ
ータの論理的識別情報を指定する複数のデータアクセス
要求を並行して発行し、各アプリケーションプログラム
から発行され、まだ実行されていない少なくとも一つの
アクセス要求を、そのアプリケーションプログラムに対
応して保持し、該複数のアプリケーションプログラムに
対応して保持された複数のデータアクセス要求の内、実
行すべき複数のデータアクセス要求を選択し、該選択さ
れた複数のデータアクセス要求が指定する複数の論理的
識別情報に基づいて、該補助記憶装置内の複数のデータ
保持領域のうち、該複数の論理的識別情報が割り当てら
れた複数のブロックデータを保持する複数のデータ領域
を検出し、該検出された複数のデータ領域へのアクセス
に要する時間が少なくなるように、該検出された複数の
データ領域の位置と、該補助記憶装置の現在の読取ヘッ
ドの位置に基づいて、該検出された複数のデータ領域を
アクセスする順を決定し、該決定されたアクセス順に従
って、該検出された複数のデータ領域がアクセスされる
ように、該選択された複数のデータアクセス要求を順次
実行し、上記選択、検出、決定、実行を繰返すステップ
を有し、該複数のアプリケーションプログラムの少なく
とも一つは、そのプアプリケーションログラムにより、
該補助記憶装置に保持されたいずれか一つのファイルに
属する、一群のブロックデータをアクセスするときに、
該一群のブロックデータを保持する、該補助記憶装置内
の一群のデータ領域を判別し、該一群のデータをアクセ
スする時間が短くなるように、該一群のデータ領域の位
置に基づいて、該一群のデータ領域をアクセスする順番
を判別し、該判別された順番に従って、該一群のデータ
領域をアクセスするように、該一群のデータ領域の一つ
をそれぞれアクセスする一群のデータアクセス命令を順
次発行するステップを有する。
【0021】
【作用】本願第1の発明によれば、ファイル送信側の計
算機システムにおいて一群のブロックデータをそのシス
テム内の補助記憶装置から読み出すとき時に、それらの
ブロックデータがより短時間で読み出すことが出来るよ
うに、それらの読み出し順を決定するので、それらのブ
ロックデータの読み出しを高速化できる。
【0022】さらに、ファイル受信側の計算機システム
において、転送された一群のブロックデータを、より短
時間でそれらのデータをそのシステム内の補助記憶装置
に書き込むように順序づけられた複数の空きデータ領域
に順次それらのブロックデータを書き込むので、これら
のブロックデータの書き込みは高速に行なえる。このよ
うな書き込みは、それらのブロックデータの論理的な順
番とは異なる順に行なわれるが、各ブロックデータの論
理的識別情報が各データ領域に対応して記憶されるの
で、このように書き込まれた後に、従来通り、これらの
ブロックデータの論理的識別情報を指定して、これらの
ブロックデータを読み出すことが出来る。
【0023】本願のより具体的な第2の発明によれば、
ファイル送信側の計算機システムで走行するファイル転
送プログラムが要求した一群のブロックデータをそのシ
ステム内の補助記憶装置から他の計算機システムの補助
記憶装置に、それぞれの計算機システム内のOSの制御
を受けながら転送する際に、上記第1の発明と同様に、
この転送を高速化できる。
【0024】本願第3の発明によれば、平行して走行す
る複数のアプリケーションプログラムが平行して複数の
ブロックデータの読み出しを要求するときに、いずれか
のアプリケーションのために補助記憶装置を占有しない
ようにしながら、ファイルに含まれる多数のブロックデ
ータの読み出しを高速化できる。
【0025】
【実施例】
(装置の概略)図1は、本発明によるファイル転送方法
を実施する装置およびそこで使用されるプログラムを示
したものである。
【0026】ファイル送信側の計算機システム(以下で
は簡単化のために、ファイル送信システムと呼ぶ)10
とファイル受信側の計算機システム(以下では簡単化の
ために、ファイル送信システムと呼ぶ)20は、それぞ
れホスト計算機(以下、簡単化のためにホストと呼ぶ)
30−1と補助記憶装置50,ホスト30−2と,補助
記憶装置60からなる。また、ホスト30−1とホスト
30−2は、ネットワーク40により接続される。各ホ
スト30−1,30−2は、プログラムやデータを格納
する主記憶装置、プログラムを実行する命令プロセッサ
およぶ入出力を制御する入出力プロセッサを保有してい
るが、これらは簡単化のために図示されていない。
【0027】補助記憶装置50には、ファイル転送され
るべき送信ファイル51を含めて複数のファイルがあ
る。送信ファイル51は、他のファイルと同様に、複数
の固定長のブロックデータからなる。プログラムから
は、各ファイルはこれらのデータブロックを論理的な順
序で並べられたものとして見える。すなわち、各ブロッ
クデータは、その論理的な順番で決まる論理的なブロッ
ク番号、あるいは、そのファイルの論理的な先頭位置か
らその論理的なブロックまでのオフセット値によりプロ
グラムにより指定可能である。論理的ブロック番号で決
まるブロックの順番および各ブロックのオフセットで決
まる順番を、以下では、論理ブロック順序またはファイ
ルオフセット順と呼ぶことがある。本実施例では、とく
に断らないかぎり論理ブロック順序とファイルオフセッ
ト順は同じ意味である。
【0028】各ブロックデータは、補助記憶装置50内
の複数の固定長のデータ領域の一つに格納される。すな
わち、補助記憶装置を構成するディスク装置は複数のデ
ィスクからなり、各ディスクは、複数のトラックからな
る。各トラックは複数の固定長のデータ領域からなる。
これらのデータ領域は、それぞれの位置に従って付けら
れた一定の番号で識別可能である。これらのデータ領域
を物理ブロックと呼び、その番号を物理ブロック番号と
呼ぶことがある。また、これらのデータ領域に格納され
たデータを、論理的なデータブロックと区別するため
に、以下では物理的データブロックと呼ぶことがある。
【0029】これらのデータ領域の番号(物理ブロック
番号)は、その番号の順にアクセスすると、最もアクセ
ス時間が小さくなるように定められている。
【0030】同一のファイルに属する複数のブロックデ
ータは、それぞれそれらの論理的な順とは無関係に選択
される複数の空きのデータ領域に格納される。図1で
は、論理的に連続する3つのブロックデータ#1、2、
3がそれぞれ物理的なブロック52−1,52−2,5
2−3に格納されている模様を示す。これらの物理ブロ
ックの番号が#3、#1、#2であることを例示してい
る。
【0031】ファイル受信システム内の補助記憶装置6
0内のファイルも全く同様である。ここでは転送された
ファイルのデータが受信ファイル61として格納され、
受信ファイル61には、転送されたファイルのブロック
データ#1、#2、#3が、物理ブロック62−1,6
2−2,62−3として格納され、それぞれの物理ブロ
ックの番号が#3,#1,#2であることを示してい
る。
【0032】(ソフトウェアの概要)各ホスト30−
1,30−2では、それぞれオペレーティング・システ
ム(以下、OSと略す)300−1,300−2が動作
し、それに加え、複数のユーザアプリケーションプログ
ラムとファイル転送プログラムが走行する。
【0033】例えば、ファイル送信システム10上では
ファイル送信プログラム100と第1ユーザアプリケー
ションプログラム900、第2ユーザアプリケーション
プログラム910が走行する。前者は、OS300から
見ると、アプリケーションプログラムであるが、他のユ
ーザアプリケーションプログラムにより起動されるプロ
グラムであるので、本実施例では、このプログラムを他
と区別して呼ぶ。しかし、本実施例は、このような、特
定のプログラムの使用は必須でなく、ここで言うユーザ
アプリケーションプログラムのいずれかが直接OSにフ
ァイル転送要求を出すように構成されていてもよい。そ
の場合には、そのユーザアプリケーションプログラム
に、この実施例のファイル送信プログラム100と同じ
機能を有すればよい。このことは、次に述べる、ファイ
ル受信システム20内のファイル受信プログラム200
についても同じである。
【0034】同様に、ファイル受信システム20上では
ファイル受信プログラム200と第3ユーザアプリケー
ションプログラム920および第4ユーザアプリケーシ
ョンプログラム930が動作する。ファイル送信システ
ム10上ではファイル受信プログラム200と同じプロ
グラムも有し、これとファイル送信プログラム100と
で、そのシステム用のファイル転送プログラムを構成す
るが、本実施例では、ファイル送信システム内のファイ
ル受信プログラムは、簡単化のために図示していない。
同様に、ファイル受信システム20にもファイル送信プ
ログラム100があるが、これも簡単化のために図示し
ていない。
【0035】ファイル送信プログラム100は、走行中
のユーザアプリケーションプログラム900からのファ
イル送信要求に応答して、その要求で指定されたファイ
ル内のブロックデータの読み出しをOSに要求し、補助
記憶装置50からそのブロックデータが読み出されたと
きに、再度OSにそのデータブロックの、その要求で指
定された他の計算機システムに転送することを要求す
る。他のユーザアプリケーションプログラム910もフ
ァイルの送信を要求するプログラムである場合、そのユ
ーザアプリケーションプログラムに対して、同じような
ファイル転送プログラムを使用する。
【0036】本実施例では、このファイル転送プログラ
ムが、転送ファイルの複数のブロックデータの読み出し
をOSに要求するときに、それらのブロックデータの補
助記憶内記憶位置をOSに問い合わせ、その問い合わせ
に対するOSの回答に基づいて、それらのブロックデー
タの読み出し時間を短縮できるように、それらのブロッ
クデータの読み出し順序を決定し、決定された順番で、
それらのブロックデータの読み出し要求をOSに出力す
るように構成されている点に特徴がある。
【0037】ファイル受信プログラム200は、他の計
算機システムからファイルを構成する複数のデータブロ
ックが転送されたときに、OS300−2によりそれら
のデータブロックの受信を要求し、それらのデータブロ
ックが受信されたときに、OS300−2に、それらの
データブロックの、補助記憶装置60への書き込みを要
求する。
【0038】本実施例では、このプログラムは、転送さ
れた複数のブロックデータの補助記憶装置60への書き
込み時間を短縮するために、転送された複数のブロック
データの書き込みのために一群のデータ領域をまとめて
確保することをOSに要求し、これらの一群のデータ領
域へのアクセス時間を少なくするように、これらの一群
のデータ領域へのアクセス順を決定し、その決定された
アクセス順に従って、転送された複数のブロックデータ
を書き込むところに特徴がある。
【0039】OS300−1,OS300−2は、同じ
処理機能を有しており、図では本実施例の説明に必要な
ファイル管理部320−1、320−2、通信管理部3
10−1、310−2、デバイス管理部360−1、3
60−2のみを図示している。
【0040】以下では、ファイル送信システム10、フ
ァイル受信システム20の中の同じプログラム部分(例
えば、ファイル管理部320−1,320−2)あるい
は装置を説明するときには、そのプログラムの総称符号
(例えばファイル管理部320)を用いて説明する。
【0041】OS300は、ユーザアプリケーション9
00〜930、ファイル送信プログラム100およびフ
ァイル受信プログラム200を同時並行で実行できるマ
ルチプログラム実行機能を有している。
【0042】ファイル管理部320は、ファイル送信プ
ログラム100あるいはファイル受信プログラム20
0、ユーザアプリケーションプログラム900、91
0、あるいは920、930等の上位プログラムから発
行された読み書き要求の内、実行すべき要求を選択し、
デバイス制御部にその選択された要求の実効を指示す
る。
【0043】デバイス制御部360は、ファイル管理部
320により選択された読み出し書き込み要求に従い補
助記憶装置50,60に対するデータの読み書きを実行
する。
【0044】通信管理部310は、ファイル送信プログ
ラム100からファイル転送要求が入力されたときに、
ネットワーク40を介してデータ転送を実行する。
【0045】(OSの詳細)ファイル管理部320の具
体的処理は、複数の上位プログラムからのファイル読み
書き要求と要求ファイルの制御情報と読み書き要求の大
きさを受け取り、各上位プログラム毎に要求ファイルか
らファイルオフセット順に最大2までのブロックデータ
#3の読み書き要求を作成し、デバイス制御部360に
そのブロックデータ#3の読み書き要求を伝え、その応
答を待ち再び、そのブロックデータ読み書き要求を繰り
返すことにより上位プログラムが要求する大きさのデー
タを物理ブロックから読み書きした後、上位プログラム
に処理の終了を告げる処理を行なう。
【0046】ファイル管理部320は、従来技術におい
て述べたように1つのプログラムが入出力装置を占有し
ないようにするに物理ブロックデータ#3の読み書き要
求を最大2つまでに制限している。本実施例では、ファ
イル送信プログラム100およびファイル受信プログラ
ム200のファイル読み出し要求ならびにファイル書き
込み要求は、物理ブロックデータが連続しない限り1つ
である。そのため、本実施例では、1つのプログラムが
入出力装置を占有することはない。
【0047】より具体的には、図2に示すように、ファ
イル管理部320には、ファイル51,61上のブロッ
クデータ52−1〜52−3,62−1〜62−3をフ
ァイルオフセット順に通信データ格納領域に読み込む要
求をデバイス管理部360に伝えるファイル読み出し処
理321,通信データ格納領域のデータをファイル5
1,61上のブロックデータ52−1〜62−3にファ
イルオフセット順に書き出す要求をデバイス管理部36
0に伝えるファイル書き込み処理322を有する。
【0048】さらに、読み書きするファイル51,61
のファイルオフセットを変更するファイル位置調整処理
323,ブロックデータの補助記憶装置50上の物理ブ
ロックの位置やそのブロックデータ52−1〜62−3
のファイルオフセットを管理するファイル変位管理表5
3,63,ファイル51,61を構成するブロックデー
タ52−1〜62−3の物理的な配置を取り出すファイ
ル変位返送処理340,ファイル変位管理表53,63
のファイルオフセットを指定したファイルオフセット列
に並び替えるファイル変位変更処理350,ファイル5
3,63に物理ブロックを割り当てるファイル割り当て
処理324,およびホスト内でブロックデータ52,6
2を一時的に保持するバッファキャッシュ330があ
る。
【0049】また、ファイル読み出し処理321におい
て、複数ブロックデータ52−1〜52−3に渡るファ
イル51の読み出し要求であっても、1つのプログラム
からのファイル読み出し要求に対しては、デバイス管理
部360に対し、1回当たりファイルオフセット順に最
大2つの物理ブロックデータ入出力要求を発行し、その
デバイス管理部360からの応答を待って次の物理ブロ
ックデータ入出力要求を発行する。同様に、ファイル書
き込み処理322においても、1つのプログラムからの
複数ブロックデータ62−1〜62−3に渡るファイル
61の書き込み要求においてもデバイス管理部360に
対し1回当たり最大2つの物理ブロックデータ入出力要
求を複数回の発行することになる。この物理ブロックデ
ータの入出力方法は、従来技術において述べたように1
つのプログラムが入出力装置を占有しないようにするた
めである。本実施例では、ファイル送信プログラム10
0およびファイル受信プログラム200のファイル読み
出し要求ならびにファイル書き込み要求は、物理ブロッ
クが連続しない限り1つである。本実施例では、1つの
プログラムが入出力装置を占有することはない。
【0050】デバイス制御部360は、上位ファイル管
理部320から発行された物理ブロックデータ#1〜#
3の読み書き要求に従い補助記憶装置50,60とブロ
ックデータを転送する物理ブロック入出力処理を行な
う。デバイス制御部360では、上位ファイル管理部3
20から発行された複数の物理ブロックデータの入出力
要求をキューイングし物理ブロック順に並び替えてキュ
ーの先頭から逐次的に補助記憶装置50,60に入出力
処理する機能を有している。ファイル管理部320で
は、1つのプログラムからの物理ブロックデータの読み
書き要求が最大2である。並行動作する複数のプログラ
ムが同時ファイル入出力要求する場合には、最大(2×
並行実行プログラム数)の物理ブロックデータ入出力要
求をキューイングすることになる。しかし、1つのファ
イル送信プログラム100およびファイル受信プログラ
ム200では、通常ファイル読み書きを1つの物理ブロ
ックデータ単位に行なうのでデバイス制御部360に
は、1つの物理ブロックデータ読み書き要求がキューイ
ングされる。
【0051】デバイス制御部360には、上位ファイル
管理部320から発行された物理ブロックデータ#1〜
#3の読み出し要求に従い補助記憶装置50,60とブ
ロックデータを転送する物理ブロック入力処理361と
書き込み要求を処理する物理ブロック出力処理362が
ある。物理ブロック入力処理361,物理ブロック出力
処理362では、上位ファイル管理部320から発行さ
れた複数の物理ブロックデータの入出力要求をキューイ
ングし物理ブロック順に並び替えてキューの先頭から逐
次的に補助記憶装置50,60に入出力処理する機能を
有している。また、1つの物理ブロックデータの入出力
処理が終了する度に、上位ファイル管理部320に応答
を報告する。ファイル管理部320では、1つのプログ
ラムに対し最大2の物理ブロックデータの読み書き要求
を発行し終了を待っている。そのため、並行動作する複
数のプログラムが同時ファイル入出力要求する場合に
は、最大(2×並行実行プログラム数)の物理ブロック
データ入出力要求をキューイングすることになる。
【0052】通信管理部310には、ファイル送信プロ
グラム100が通信データ格納領域400−1に生成し
たデータをファイル受信システム20に送信する送信処
理311とファイル送信システム10の送信処理311
にて送信した通信データを受信し、その通信データをフ
ァイル受信プログラム200の通信データ格納領域40
0−2に格納する受信処理312がある。
【0053】(処理の詳細)図3(a)は、ファイル送
信プログラム100の制御の流れを示している。
【0054】このプログラムは、本実施例では、ユーザ
アプリケーションプログラム900により起動されるも
ので、送信データ読み出し処理130,送信要求処理1
40および通信データ格納領域400−1以外に、ファ
イル読み出し順序決定処理110を有する。
【0055】ファイル読み出し順序決定処理(110)
は、読み込むブロックデータ52−1〜52−3の読み
込む順序を決定し、読み出しブロック検索処理(12
0)を呼ぶ。ファイル読み出し順序決定処理(110)
については、図4を用いて詳細に説明する。
【0056】読み出しブロック検索処理(120)は、
送信ファイル51を構成するブロックデータ52−1〜
52−3を読み終えたか否かを調べ、ブロックデータ5
2−1〜52−3を読み終えいれば、ファイル送信プロ
グラム100を終了し、そうでなければ、送信データ読
み出し要求処理(130)を呼ぶ。送信データ読み出し
要求処理(130)は、ファイル読み出し順序決定処理
(110)にて決定した読み出し順序に従いファイル位
置調整処理323−1を呼び出し読み出しブロックデー
タ52−1〜52−3を調整しながらファイル読み出し
処理321を用いて補助記憶装置50上のブロックデー
タ52−1〜52−3を通信データ格納領域400−1
内の通信ブロックデータ群420−1に読み出しそのブ
ロックデータに対する通信ヘッダ410−1を生成し、
送信要求処理(140)を呼ぶ。送信データ読み出し要
求処理(130)については、図5を用いて詳細に説明
する。送信要求処理(140)は、送信データ読み出し
要求処理(130)にて生成した通信データ格納領域4
00−1の通信ヘッダ410−1と通信ブロックデータ
群420−1をファイル受信システム20に送信するこ
とを通信データ送信処理311に依頼し、次の読み出し
ブロックを処理するために読み出しブロック検索処理
(120)に戻る。
【0057】図3(b)は、ファイル受信プログラム2
00の制御の流れを示している。ファイル受信プログラ
ム200は、受信ブロック検索処理(210)、受信要
求処理(220)、受信データ書き込み要求処理(23
0)、ファイル変位変更要求処理(250)からなる。
【0058】受信ブロック検索処理(210)は、送信
ファイル51のすべてのブロックデータ52−1〜52
−3が受信できたか否かを調べ、すべてのブロックデー
タ52が受信できていない場合は、受信要求処理(22
0)を呼び、すべてのブロックデータ52の受信が終了
した場合は、ファイル変位変更要求処理(250)を呼
ぶ。
【0059】受信要求処理(220)は、ファイル送信
システム10から送信された通信ヘッダ410−1と通
信ブロックデータ群420−1を受信し通信データ格納
領域400−2に格納することを通信データ受信処理3
12に要求し、受信データ書き込み要求処理(230)
を呼ぶ。受信データ書き込み要求処理(230)は、通
信データ格納領域400−2の通信ブロックデータ群4
20−2をファイル位置調整処理323−2を呼び出し
書き込みブロックデータ62−1〜62−3を調整しな
がらファイル書き込み処理322を用いて物理ブロック
番号順に受信ファイル61を構成するブロックデータ6
2−1〜62−3へ書き込み、次の受信データを処理す
るために受信ブロック検索処理(210)に戻る。
【0060】受信データ書き込み要求処理(230)に
ついては、図6を用いて詳細に説明する。ファイル変位
変更要求処理(250)は、補助記憶装置60の受信フ
ァイル61のブロックデータ62−1〜62−3を送信
元のファイルオフセット順に従って並べ替えるためブロ
ック順序変更処理360を呼び出し、受信ファイル61
のファイル変位管理表63の物理ブロックデータ指示部
を変更し、ファイル受信プログラム200の処理を終了
する。上記の受信データ書き込み要求処理(230)に
おいては、ファイル送信プログラム100のファイル読
み出し順序決定処理110と同様にブロックデータ62
−1〜62−3の物理的配置から書き出すブロックデー
タ62−1〜62−3の順序を決定する。具体的には、
受信ファイル61を構成する物理ブロック番号#1,#
2,#3の順に書き出される。
【0061】本実施例では、ファイル送信プログラム1
00の読み込むブロックデータの順序を決定するファイ
ル読み出し順序決定処理(110)において、送信ファ
イル51を構成する全ブロックデータ52−1〜52−
3の物理的配置から読み込むブロックデータの順序を決
定する所に特徴がある。
【0062】また、ファイル受信プログラム200の受
信データ書き込み要求処理(230)において、通信ブ
ロックデータ群420−2をブロックデータ62−1〜
62−3の物理ブロック番号順に書き込み、受信ファイ
ル61の全ブロックデータ62−1〜62−3を補助記
憶装置60に書き込みた後に、受信ファイル61のファ
イル変位管理表63の物理ブロックデータ指示部を送信
ファイル51のブロックデータのファイルオフセット順
に並べ替える所に特徴がある。
【0063】次に、本発明の通信情報の一実施例を詳細
に説明する。
【0064】図12は、通信情報である通信データ格納
領域400−1,400−2構成を示している。通信デ
ータ格納領域400−1および通信データ格納領域40
0−2のデータ構成は同じであり、以下、総称して通信
データ格納領域400と呼ぶ。送信元の通信データ格納
領域400−1と受信先の通信データ格納領域400−
2のデータの構成が同じであるのは、通信データ送信処
理311が通信データ格納領域400−1を送信し、通
信データ受信処理312がそのデータを通信データ格納
領域400−2に受信するためである。
【0065】通信データ格納領域400は、通信ヘッダ
410と通信ブロックデータ群420からなる。通信ヘ
ッダ410は、転送する送信ファイル51を識別するた
めの情報である転送ファイル識別子411、その転送す
るファイルの大きさを示す転送ファイルサイズ412、
一回の通信により転送される転送ブロックデータ421
の個数を示す転送ブロック数413、転送されるファイ
ルが有する全ブロックデータの個数を示す転送ファイル
全ブロック数414および個々の転送ブロックデータ4
21−1〜421−Nの送信ファイル51の先頭からの
オフセットを示す転送ブロックオフセット415−1〜
415−Nとその転送ブロックデータ421−1〜42
1−Nの大きさを示す転送ブロック長416−1〜41
6−Nの対からなる。
【0066】転送ブロックオフセット415−iと転送
ブロック長416−iと転送ブロックデータ421−i
は、それぞれiにより(iは1からNまでの任意の自然
数)対応している。ただし、転送ブロック長416−1
〜416−Nは、個々の転送ブロックデータ421−1
〜421−Nの長さが異なる場合に必要となるが、転送
ブロックデータ421−1〜421−Nの長さが一定で
ある場合には転送ブロック長416を1つにまとめるこ
とができる。
【0067】この転送ブロック長416−1〜416−
Nを一つの転送ブロック長416にまとめることによ
り、通信ヘッダ410の容量を削減し、通信におけるオ
ーバヘッドを削減することも可能である。通信ブロック
データ群420は、複数の転送ブロックデータ421−
1〜421−Nからなる。また、通信データ格納領域4
00の大きさは、ファイル送信プログラム100および
ファイル受信プログラム200が動作するファイル送信
システム10,ファイル受信システム20のホスト30
−1,30−2が保有する主記憶装置の容量に依存し、
ファイル送信プログラム100およびファイル受信プロ
グラム200に間で決定する大きさであり、ファイル送
信プログラム100およびファイル受信プログラム20
0が確保できる容量の小さいほうに制限されている。
【0068】本実施例によれば、個々の転送ブロックデ
ータ421−iに対し、転送ブロックオフセット415
−iを付加することにより、ファイル送信プログラム1
00が任意のブロックデータ52−iを読み出し、ファ
イル受信プログラム200で転送ブロックデータ421
−iから受信ファイル61の生成が可能となる。これに
より、ファイル送信プログラム100の読み込むブロッ
クデータの順序を決定する読み出し順序決定処理(11
0)において、送信ファイル51を構成するブロックデ
ータ52−1〜52−3の物理的配置から読み込むブロ
ックデータ52−1〜52−3の順序を決定し、任意の
ブロックデータ52− iの順番のデータ転送するため
に有効である。
【0069】本実施例では、転送ブロック数413およ
び転送ブロック長416により通信データの大きさが自
由に変えられるため、通信データ格納領域400を効率
的に使用することができる。また、大容量の通信データ
格納領域400を有するシステムにおいては、複数のブ
ロックデータ52−1〜52−Nを一括処理できるた
め、通信領域送信処理311および通信データ受信処理
312を呼び出す回数が減り、通信処理オーバヘッドを
削減することができる。
【0070】また、通信ヘッダ410に転送ファイルサ
イズ412を有することにより、ファイル受信プログラ
ム20のファイル割り当て処理324において、受信フ
ァイル61を構成するブロックデータ62−1〜62−
3を転送ブロックデータ420−iのファイル書き込み
処理322に先んじて、物理ブロックデータ#1〜#3
を割り当てることができる所に特徴がある。
【0071】以下の説明では、説明を簡素化するために
通信ブロック数413を1とする。例えば、送信ファイ
ル51のファイル転送には、3回のデータ転送を必要と
する。また、その時の転送されるブロックデータ52−
1〜52−3の順番は、物理的配置に従い52−3,5
2−2,52−1になるとする。
【0072】次に、図4を用いてファイル読み出し順序
決定処理(110)の処理の流れを詳細に説明する。フ
ァイル読み出し順序決定処理(110)は、読み出しリ
スト初期化処理(111)、参照リストを作成処理(1
12)、参照リストエントリ検索処理(113)、キャ
ッシュブロック判定処理(114)、読み出しリストエ
ントリ追加処理(115)、参照リストエントリ削除処
理(116)、参照リスト並べ替え処理(117)、読
み出しリスト合成処理(118)からなる。このファイ
ル読み出し順序決定処理(110)にて使用する参照リ
スト500,読み出しリスト510および送信ファイル
51の構成するファイル変位管理表520は、図7示す
通りであり、以下各処理の流れと共に説明する。読み出
しリスト初期化処理(111)は、ブロックデータ52
−1〜52−3を読み込む順番を示す読み出しリスト5
00を空に初期化する。読み出しリスト500は、読み
出しリストポインタ501と複数の読み出しリストエン
トリ502−1〜502−3からなる。読み出しリスト
エントリ502−iは、次の読み出しリストエントリ5
02−(i+1)を示すポインタ503−iとブロック
データ52−iを示す物理ブロック格納領域504−i
およびブロックデータ52−iのファイルオフセットの
格納領域505−iからなる。参照リスト510は、読
み出しリスト500と同様の構成を採っており、読み出
しリスト500がブロックデータ52を読み込む順序に
リストエントリが並ぶのに対し、ファイル変位管理表5
20のファイルオフセットの順序にリストエントリが並
んでいる。読み出しリスト初期化処理(111)は、具
体的には、読み出しリストポインタ501をゼロクリア
することである。参照リストの作成処理(112)は、
送信ファイル51のファイル変位管理表520を物理ブ
ロック番号521とその物理ブロックの並びからファイ
ルオフセットを取りだし、ファイル参照リスト510を
生成する。ファイル変位管理表520は、送信ファイル
51を構成するブロックデータ52−1〜52−3の物
理ブロック番号格納領域521−1〜521−3からな
り、ファイルオフセットの小さい順に物理ブロック番号
#3,#1,#2を格納している。実施例では、一つの
ブロックデータ52の大きさが4096バイトの固定長
の場合をしてしている。ブロックデータ52の大きさが
可変の場合は、ファイル変位管理表520に1つのブロ
ックデータの長さを管理するフィールドが必要である。
参照リストエントリ検索処理(113)は、参照リスト
510の先頭のリストエントリ512−1から最終のリ
ストエントリ512−3までリストエントリ512−i
を取り出し、キャッシュブロック判定処理(114)を
行い、全ての参照リストエントリ512を検索終了後
に、参照リスト並べ替え処理(117)を呼び出す。キ
ャッシュブロック判定処理(114)は、参照リストエ
ントリ512−iが示すブロックデータ52がバッファ
キャッシュ330に存在するか否かを調べ、ブロックデ
ータ52がバッファキャッシュ330に存在する場合に
は読み出しリストエントリ追加処理(115)を呼び出
し、存在しない場合には次の参照リストエントリ512
を調べるためにステップ113に戻る。読み出しリスト
エントリ追加処理(115)は、参照リストエントリ5
12−iの物理ブロック番号514とファイルオフセッ
ト515から読み出しリストエントリ502を生成し、
読み出しリストポインタ501およびリストポインタ5
03を更新して読み出しリスト500に読み出しリスト
エントリ502を追加し、参照リストエントリ削除処理
(116)を呼び出す。参照リストエントリ削除処理
(116)は、参照リスト510の参照リストエントリ
512−(i−1)のリストポインタ512−(i−
1)または参照リストポインタ511を更新して参照リ
ストエントリ512−iを削除し、次の参照リストエン
トリ512を調べるためにステップ113に戻る。参照
リスト並べ替え処理(117)は、参照リスト510を
物理ブロック番号が昇順に成るように並び替え、読み出
しリスト合成処理(119)を呼ぶ。読み出しリスト合
成処理(119)は、並び替えられた参照リスト510
の全リストエントリ512を読み出しリスト500に参
照リストエントリ511順に追加し、ファイル送信プロ
グラム100に制御を戻す。これにより、送信ファイル
51を構成するブロックデータ52−1〜52−3を読
み込む順序を示す読み出しリストができる。本実施例で
は、物理ブロック番号順に並べ変えることが最短である
ために、参照リスト並べ替え処理(117)において、
物理ブロック番号が昇順に成るように並び替えている。
しかし、入出力装の条件が変わった場合には、回転待ち
の予測を行ない、効率的な順番を選択する。具体的に
は、次の読み出し要求を発行する間での時間と回転体が
進む時間から、回転体上で書き込める最短の物理ブロッ
クを選択する。
【0073】次に、図5を用いて送信データ読み出し要
求処理(130)の流れを詳細に説明する。送信データ
読み出し要求処理(130)は、通信バッファ領域計算
処理(131)、読み出しデータ量初期化処理(13
2)、読み出しリストエントリ検索処理(133)、フ
ァイルオフセット抽出処理(134)、ファイル位置調
整要求処理(135)、ファイル読み出し要求処理(1
36)、転送ファイルオフセット設定処理(137)、
読み出しデータ量計算処理(138)、読み出しリスト
エントリ削除処理(139)からなる。通信バッファ領
域計算処理(131)は、通信データ格納領域の領域長
(以下、CSIZEと略する)を求め、読み出しデータ
量初期化処理(132)を呼び出す。読み出しデータ量
初期化処理(132)は、通信データ格納領域400−
1に読み出しを終えたブロックデータ52のデータ量を
管理する変数の格納領域であり、その読み出しサイズ
(以下、RSIZEと略する)をゼロに初期化し、転送
ブロックを管理する変数iを1にセットし、読み出しリ
ストエントリ検索処理(133)を呼ぶ。読み出しリス
トエントリ検索処理(133)は、読み出しリスト50
0の読み出しリストポインタ501が空(0)でなくか
つCSIZEがRSIZEより小さい場合に、読み出し
ファイルオフセット抽出処理(134)を行い、そうで
なければ、ファイル送信プログラム100に制御を戻
す。読み出しファイルオフセット抽出処理(134)
は、読み出しリストポインタ501で示される読み出し
リストエントリ502−jのブロックデータ番号#jを
取り出し、ファイル位置調整要求処理(135)を呼
ぶ。また、ファイルオフセット抽出処理(134)にお
いて、CSIZEとRSIZEが非常に近くかつファイ
ルオフセットが一つ前のファイルオフセットと大きくず
れている場合は、以下の処理を中断し、ファイル送信プ
ログラム100に制御を戻すことにより、ファイル読み
出し時間の大幅な増加を防ぐことが出来る。ファイル位
置調整要求処理(135)は、ファイル位置調整処理3
23−1を呼び出して、ブロックデータ52−jのファ
イルオフセットに読み出し開始位置を変え、ファイル読
み出し要求処理(136)を呼ぶ。ファイル読み出し要
求処理(136)は、ファイル読み出し処理321を呼
び出し、ブロックデータ52−jを転送ブロックデータ
群420内の転送ブロックデータ421−iに読み出
し、転送ファイルオフセット設定処理(137)を呼
ぶ。転送ファイルオフセット設定処理(137)は、ブ
ロックデータ52−jのファイルオフセットとブロック
データ長をそれぞれ転送ファイルオフセット415−i
と転送ブロック長416−iにセットし、読み出しデー
タ量計算処理(138)を呼ぶ。読み出しデータ量計算
処理(138)は、RSIZEにブロックデータ52−
jのブロックデータ長を加え、変数iに1を加え、読み
出しリストエントリ削除処理(139)を呼ぶ。読み出
しリストエントリ削除処理(139)は、読み出しリス
ト500から読み出しリストエントリ502−jを削除
し、次の読み出しリストエントリ502−(j+1)を
処理するために読み出しリストエントリ検索処理(13
3)に戻る。 具体的には、読み出しリストポインタ5
01に次の読み出しリストエントリ502−(j+1)
を示すアドレスをセットする。
【0074】次に、図6を用いて通信ブロックデータ群
420−2の書き込みを行なう受信データ書き込み要求
処理(230)を詳細に説明する。受信データ書き込み
要求処理(230)は、ファイル確認処理(231)、
転送ファイルサイズ計算処理(232)、ブロックデー
タ一括割り当て要求処理(233)、書き込みリスト生
成処理(234)、書き込み完了リスト初期化処理(2
35)、通信データサイズ計算処理(236)、書き込
みリスト並べ替え処理(237)、書き込みデータ量初
期化処理(238)、通信ブロックデータ検索処理(2
39)、書き込みファイルオフセット抽出処理(24
0)、ファイル位置調整要求処理(241)、ファイル
書き込み要求処理(242)、書き込み完了リストエン
トリ追加処理(243)、書き込みデータ量更新処理
(244)、書き込みリストエントリ削除処理(24
5)、書き込み転送ブロック更新処理(246)からな
る。
【0075】この受信データ書き込み要求処理(23
0)にて使用する書き込みリスト600および読み出し
完了リスト610については図8を用いて、受信ファイ
ル61の割り当て時のファイル変位管理表620につい
ては図9を用いて、以下各処理の流れと共に説明する。
ファイル確認処理(231)は、受信した転送ブロック
データを格納する領域が準備できたか否かを調べ、転送
ブロックデータを格納する領域が準備できていなけれ
ば、転送ファイルサイズ計算処理(232)を呼び出
し、準備ができていれば、通信データサイズ計算処理
(236)を呼び出す。転送ファイルサイズ計算処理
(232)は、通信データ格納領域400−2の転送フ
ァイルサイズ412から受信ファイル61のデータ容量
を計算し、ブロックデータ一括割り当て要求処理(23
3)を呼び出す。ブロックデータ一括割り当て要求処理
(233)は、ファイル割り当て処理324に受信ファ
イル61のファイル割り当て要求し、受信ファイル61
のブロックデータ62の割り当て完了を待った後、書き
込みリスト生成処理(234)を呼び出す。ファイル割
り当て処理324は、(232)で計算した受信ファイ
ルのデータ容量から受信ファイル61のブロックデータ
62−1〜62−3を割り当て、ファイル変位管理表6
20を生成する。受信ファイル61割り当て時のファイ
ル変位管理表620は、図9に示す通りであり、ブロッ
クデータ62−1〜62−3を格納するブロックの物理
ブロック#1〜#3を格納する物理ブロック格納領域6
21−1〜621−3からなっている。実施例では、一
つのブロックの大きさが4096バイトの固定長の場合
をしてしている。また、本実施例では、ブロックデータ
62−1〜62−3にファイルオフセットの小さい順に
物理ブロック#1,#2,#3を割り当てているが、こ
れは説明を単純化するためであり、一般的には任意の物
理ブロックがランダムに割り当てられる。書き込みリス
ト生成処理(234)は、ブロック配置返送処理322
−2を呼び出し、ファイル変位管理表620から書き込
みリスト600を生成し、書き込み完了リスト初期化処
理(235)を呼ぶ出す。この時の書き込みリスト60
0は、図9に示すファイル変位管理表620で示される
ファイルオフセット順に並んでいる。ただし、後で説明
する書き込みリスト並べ替え処理(237)にて、書き
込みリストエントリ602は、図8に示すような受信フ
ァイル61へ書き出す順序に並び替えられる。書き込み
完了リスト初期化処理(235)は、書き込み完了リス
ト610を初期化し、受信ファイルが確保済みであるこ
とを示し、通信データサイズ計算処理(236)を呼び
出す。ファイル確認処理(231)は、ファイルに対す
る物理ブロックを一括して割り当て、通信の度毎に物理
ブロックを割り当てないことを示している。通信データ
サイズ計算処理(236)は、通信データ格納領域40
0−2の転送ブロック数413および転送ブロック長4
16から一回の通信により転送されたデータのサイズ
(以下、TSIZEと呼ぶ)を計算し、書き込みリスト
並べ替え処理(237)を呼ぶ。書き込みリスト並べ替
え処理(237)は、図3(b)に示す参照リスト並び
替え処理(118)と同様に一回に転送された転送ブロ
ック数413を計算し、書き込みリスト510から転送
ブロック数413個の転送ブロックデータ421を書き
出す組み合わせのリストを生成し、その個々の組み合わ
せリストを時間的距離が小さい順に並べ、全ての組合せ
リストの中で最小の書き込み時間となる組合せリストと
同じ書き込み順序に書き込みリスト600を並び替え、
書き込みデータ量初期化処理(238)を呼ぶ。書き込
みデータ量初期化処理(238)は、通信データ格納領
域400−2の転送ブロックデータ421−iをブロッ
クデータ62−1〜62−3に書き込みたデータ量を管
理する変数の格納領域である書き込みサイズ(以下、W
SIZEと略する)をゼロに初期化し、転送ブロックを
管理する変数iを1にセットし、通信ブロックデータ検
索処理(239)を呼ぶ。通信ブロックデータ検索処理
(239)は、書き込みリスト600の書き込みリスト
ポインタ601が示す書き込みリストエントリ602−
jからWSIZEがTSIZEより小さい場合に、書き
込みファイルオフセット抽出処理(240)を行い、W
SIZEがTSIZE以上の場合に、ファイル受信プロ
グラム200に制御を戻す。書き込みファイルオフセッ
ト抽出処理(240)は、書き込みリストポインタ60
1で示される書き込みリストエントリ602−jのブロ
ックデータ番号#jを取り出し、ファイル位置調整要求
処理(241)を呼ぶ。ファイル位置調整要求処理(2
41)は、ファイル位置調整処理323−2を呼び出し
て、ブロックデータ62−jのファイルオフセットに書
き込み開始位置を変え、ファイル書き込み要求処理(2
42)を呼ぶ。ファイル書き込み要求処理(242)
は、ファイル書き込み処理322を呼び出し、転送ブロ
ックデータ群420−2内の転送ブロックデータ421
−iをブロックデータ62−jに書き込み、書き込み完
了リスト追加処理(243)を呼ぶ。書き込み完了リス
ト追加処理(243)は、書き込みた転送ブロックデー
タ421−iの転送ファイルオフセット415−iと書
き込みリストエントリ602−jのブロックデータ62
−jから書き込み完了リストエントリ612を生成し、
書き込み完了リスト610に追加し、書き込みデータ量
更新処理(244)を呼ぶ。書き込みデータ量更新処理
(244)は、WSIZEに転送ブロック長416−i
を加え、書き込みリストエントリ削除処理(245)を
呼ぶ。書き込みリストエントリ削除処理(245)は、
書き込みリスト600から書き込みリストエントリ60
2−jを削除し、書き込み転送ブロック更新処理(24
6)を呼ぶ。具体的には、書き込みリストポインタ60
1に次の書き込みリストエントリ602−(j+1)を
示すアドレスをセットすることである。書き込み転送ブ
ロック更新処理(246)は、変数iに1を加え、通信
ブロックデータ検索(239)に戻る。本実施例では、
ファイル送信プログラム200の受信データ書き込み要
求処理処理(230)において、受信ファイル61を構
成する全ブロックデータ62−1〜62−3の物理的配
置から書き出すブロックデータの順序を決定する所に特
徴がある。
【0076】次に、ファイル割り当て時の受信ファイル
61のファイルファイル変位管理表620を受信処理完
了後にファイルオフセット順に並び替えるファイル変位
変更要求処理(250)を図11を用いて詳細に説明す
る。このファイル変位変更要求処理(250)にて利用
する書き込み完了リスト610は図8に示す通りであ
り、受信ファイル61の配置変更処理後のファイル変位
管理表630については図10を用いて、以下各処理の
流れと共に説明する。ファイル変位変更要求処理(25
0)は、書き込み完了リスト並べ替え処理(251)、
ファイル変位変更要求処理(252)からなる。書き込
み完了リスト並べ替え処理(251)は、図8に示す書
き込み完了リスト610をファイルオフセット614の
値が昇順になるように書き込み完了リストエントリ61
2−1〜612−3を並び替え、ファイル変位変更要求
処理(252)を呼ぶ。ファイル変位変更要求処理(2
52)は、ファイル変位変更処理350を呼び出し、受
信ファイル61のファイル変位管理表620を書き込み
完了リストエントリ612−1〜612−3ので示され
る値に物理ブロック番号614−1〜614−3に書き
換え、ファイル受信プログラム200に戻る。受信ファ
イル61の配置変更処理後のファイル変位管理表630
は、図10に示す通りであり、複数の連続的に並ぶブロ
ックデータ62−1〜62−3と物理ブロック番号格納
領域631−1〜631−3からなり、ファイルオフセ
ットの小さい順に物理ブロック順番#3,#2,#1を
格納している。
【0077】本実施例では、すべてのファイル書き込み
処理後に一括して、ファイル変位管理表630を変更す
るので、ファイル変位変更処理350を呼び出し回数が
削減できる効果がある。ただし、本発明においては、フ
ァイル書き込み処理する度に毎回ファイル変位変更処理
350を呼び出しても実現できる。
【0078】次に、本発明によるファイル読み書き処理
の効果について説明する。本実施例によれば、ファイル
読み書き処理は、ファイル読み出し順序決定処理100
と送信データ読み出し要求処理130および受信データ
書き込み要求処理230を示している。図13は、本発
明によるファイル読み書き処理における効果を示してい
る。読み書きを行なうファイルのファイル変位管理表6
40は、図13に示す通りであり、ブロックデータ64
1−1〜641−7が連続的に割り当てられている。ま
た、物理ブロック#0〜#6は、図13に示す通りに割
り当てられている。また、入出力装置上700の物理ブ
ロック#0〜#6のヘッド位置710〜716は、図1
3に示す通りである。また、本実施例では、一つのヘッ
ドを有するディスクを用いて説明するが、複数のヘッド
を有するヘッド移動を必要とする入出力装置にも適応可
能である。この入出力装置において、ヘッド移動時間
は、ヘッド移動前と移動後の距離に比例して遅延すると
考える。その場合、逐次的にブロックデータを読み書き
処理(FCFS)場合のファイル読み書き処理における
入出力ヘッド移動時間720は、ヘッドが713,71
4,712,715,711,716,710の順番に
移動するため、合計21となる。また、ディスクソート
を用いたヘッド移動時間730は、ヘッドが713,7
14,715,712,711,716,710の順番
に移動するため、合計17となる。本発明におけるヘッ
ド移動時間740は、ヘッドが713,710,71
1,712,713,714,715,716の順番に
移動するため、合計9となる。本発明によれば、ディス
クソートを用いた場合に比べ約1/2のヘッド移動時間
となる。これは、ファイル読み書き処理において、物理
的な順序を考慮しているためヘッド移動時間が短縮が図
られた効果である。
【0079】(変形例) (1)本発明は、本実施例にて示した計算機システム間
のファイル転送に限らず、同じ計算機システム内の異な
る順次アクセス型の補助記憶装置間でのファイル転送に
も適用できる。この場合、本実施例で使用した、OS内
の通信管理部310−1に代えて、プログラム間通信管
理部を使用すればよい。
【0080】(2)本実施例で示した、ファイル送信プ
ログラムと送信側のOSによるファイルの読み出し操作
は、この送信側の計算機システムの主記憶へ転送すべき
複数のブロックデータの読み出しにも有効である。
【0081】(3)本実施例では、ファイル送信プログ
ラムにおいて、読み出すべき一群のブロックデータを保
持する一群のデータ領域の位置関係に基づいて、それら
のデータを読み出す順を決定した。しかし、OSのファ
イル管理部において、これらの領域を検出するときに、
予めソートして出力するすることも可能である。
【0082】この場合、ファイル送信プログラムでの、
これらのデータ領域のアクセス順を決定する必要はなく
なり、OSから教えられた変位表に登録された順を使用
すればよい。このことは、ファイル受信プログラムにお
ける空き領域のアクセス順序を決定することに関しても
おなじである。
【0083】(4)本実施例で示した、ファイル送信プ
ログラムでのデータの読みし順の決定、あるいはファイ
ル受信プログラムでの、一群のデータ領域のアクセス順
の決定は、それぞれ送信側のOSあるいは受信側のOS
により実行するように変形することも可能である。
【0084】
【発明の効果】本発明によれば、一つのプログラムが入
出力装置を占有することなく効率的なファイル入出力が
可能になる。
【0085】また、ファイル転送において、ファイルか
らのデータ読み出し処理とファイルへの書き込み処理の
両方の処理時間を短縮することにより、複数のシステム
間で高速なファイル転送が可能になる。
【図面の簡単な説明】
【図1】本発明によるファイル転送の一実施例の全体構
成を示す。
【図2】本発明によるファイル転送の一実施例の詳細処
理構成を示す。
【図3】(a)はファイル送信プログラムのの流れを示
す。(b) ファイル受信プログラムのの流れを示す。
【図4】ファイル読み出し順序決定処理の流れを示す。
【図5】送信データ読み出し要求処理の流れを示す。
【図6】受信データ格納処理の流れを示す。
【図7】ファイル送信プログラムの制御テーブルの構成
を示す。
【図8】ファイル受信プログラムの制御テーブルの構成
を示す。
【図9】書き込みファイル割り当て時のファイル変位管
理表の構成を示す。
【図10】書き込みファイル再配置時のファイル変位管
理表の構成を示す。
【図11】ファイル変位変更要求処理の流れを示す。
【図12】本発明による通信制御テーブルの構成を示
す。
【図13】本実施例によるファイル読み書き処理の効果
を示す。
【符号の説明】
10…ファイル送信システム、20…ファイル受信シス
テム、30−1,30−2…ホスト、50,60…補助
記憶装置、51,61…ファイル、52,62,421
…ブロックデータ、53,63,520,620,63
0…ファイル変位管理表、100…ファイル送信プログ
ラム、200…ファイル受信プログラム、300−1,
300−2…オペレーティングシステム、400−1,
400−2…通信バッファ領域、500,510,60
0,610…ブロックデータ制御リスト。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鵜飼 敏之 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】第1の計算機システムに含まれた第1の順
    次アクセス型の補助記憶装置に保持され、論理的に順序
    付けられた一群のブロックデータからなるファイルを、
    第2の計算機システムに属する第2の順次アクセス型の
    補助記憶装置に転送するためのファイル転送方法であっ
    て、 転送すべきファイルを構成する論理的に順序づけられた
    一群のブロックデータを保持する、該第1の補助記憶装
    置内の一群のデータ領域を検出し、 それらのブロックデータの読み出しに要する時間を少な
    くするように、該検出された一群のデータ領域の物理的
    位置関係に基づいて、該一群のブロックデータの読み出
    し順序を決定し、 該第1の補助記憶装置から該複数のブロックデータを、
    該決定された読み出し順序に従って順次読み出し、 該読み出された複数のブロックデータを、それぞれのブ
    ロックデータの論理的識別情報とともに、かつ、それぞ
    れのブロックデータの読み出し順に、第1の計算機シス
    テムより該第2の計算機システムに順次転送し、 該第2の該補助記憶装置内の複数のデータ領域の内、該
    一群のブロックデータを保持するに必要な複数の空きデ
    ータ領域を選択し、 該選択された複数の空きデータ領域へ該一群のブロック
    データを書き込むのに要する時間を短くするように、該
    選択された複数の空きデータ領域の物理的位置関係に基
    づいて、該複数の空きデータ領域へのアクセス順を決定
    し、 該第1の計算機システムから転送された該複数のブロッ
    クデータをそれらの転送順に、かつ、該決定されたアク
    セス順に従って該選択された複数の空きデータ領域に順
    次書き込むステップを有するもの。
  2. 【請求項2】該複数の空きのデータ領域の各々に、該転
    送された一群のブロックデータの一つが該順次書き込み
    ステップで書き込まれた後に、該書き込まれた一つのブ
    ロックデータと一緒に該第1の計算機システムから転送
    された論理的識別情報をそのデータ領域に割り当てる請
    求項1記載のファイル転送方法。
  3. 【請求項3】該順次書き込みステップは、 一群の順序づけられた論理的な識別情報を、該選択され
    た複数のデータ領域に、該アクセス順に従って仮に割り
    当て、 それぞれ該転送された一群のデータブロックの一つと、
    該割り当てられた一群の論理的識別情報の内の、その一
    つのブロックデータの受信順番に対応する一つとを指定
    する複数の書き込み要求を順次発行し、 該発行された複数の書き込み要求の各々に応答して、そ
    の書き込み要求が指定する論理的識別情報を割り当てら
    れたデータ領域に、その書き込み要求が指定するブロッ
    クデータを書き込むステップを有し、 上記転送された論理的識別情報を割り当てるステップで
    上記選択された複数の空きのデータ領域の各々に割り当
    てられた論理的識別情報は、そのデータ領域に上記仮に
    割り当てられた論理的識別情報に代えて使用する論理的
    識別情報である請求項2記載のファイル転送方法。
  4. 【請求項4】該順次書き込みは、該受信側計算機システ
    ムが、該転送される複数のブロックデータの全ての受信
    を完了する前に開始する請求項1記載のファイル転送方
    法。
  5. 【請求項5】該第1の計算機システムから該第2の計算
    機システムに、該転送すべき一群のブロックデータの総
    数を通知するステップをさらに有し、 該第2の補助記憶装置内の該複数のデータ領域の選択
    は、この通知された総数に等しい数の空きのデータ領域
    を選択するステップを有する請求項1記載のファイル転
    送方法。
  6. 【請求項6】第1の計算機システムに含まれた第1の順
    次アクセス型の補助記憶装置に保持された論理的に順序
    付けられた一群のブロックデータからなるファイルを、
    第2の計算機システムに属する第2の順次アクセス型の
    補助記憶装置に転送するための計算機システム間のファ
    イル転送方法であって、 転送すべきファイルを構成する論理的に順序づけられた
    一群のブロックデータを保持する、該第1の補助記憶装
    置内の一群のデータ領域を、該第1の計算機システムで
    走行中の第1のファイル転送プログラムにより検出し、 それらのブロックデータの読み出しに要する時間を少な
    くするように、該検出された一群のデータ領域の物理的
    位置関係に基づいて、該一群のブロックデータの読み出
    し順序を、該第1のファイル転送プログラムにより決定
    し、 該第1の補助記憶装置から該一群のブロックデータが該
    決定された読み出し順に従って読み出されるように、該
    一群のブロックデータの一つとそのブロックデータの論
    理的識別情報とを指定する複数の読み出し要求を該第1
    のファイル転送プログラムから順次発行し、 該第1の補助記憶装置へのブロックデータの書き込みお
    よび読み出しを制御する、第1の計算機システムで走行
    中の第1のOSの制御下で、該順次発行された複数の読
    み出し要求を順次実行し、 該複数の読み出し要求の実行の結果読み出された該一群
    のブロックデータを、それぞれのブロックデータの論理
    的識別情報とともに、かつ、それぞれのブロックデータ
    の読み出し順に、該第1の計算機システムより該第2の
    計算機システムに順次転送し、 該転送された一群のブロックデータを該第2の補助記憶
    装置の一群の空きデータ領域に順次書き込み、 該一群のデータ領域の各々に対応して、その領域に書き
    込まれたブロックデータとともに転送された論理的識別
    情報を記憶するステップを有するもの。
  7. 【請求項7】該順次書き込みは、 該第2の計算機システムで走行中の第2のファイル転送
    プログラムより、該第2の計算機システムで走行中の、
    該第2の補助記憶装置に対するデータ読み出しおよび書
    き込みを制御する第2のOSに、該第2の該補助記憶装
    置内の複数のデータ領域の内、該一群のブロックデータ
    を保持するに必要な一群の空きデータ領域の選択を要求
    し、 該第2のOSにより該空きの一群のデータ領域を選択
    し、 該選択された複数の空きデータ領域へのブロックデータ
    の書き込みに要する時間を短くするように、該選択され
    た複数の空きデータ領域の物理的位置関係に基づいて、
    該複数の空きデータ領域へのアクセス順を、該第2のフ
    ァイル転送プログラムにより決定し、 該選択された一群の空きデータ領域に保持されるべき一
    群のデータブロックを識別するための一群の論理的な識
    別情報として、一群の順序づけられた論理的な識別情報
    を、該アクセス順に従って該一群のデータ領域に、該第
    2のOSにより仮に割り当て、 該選択された一群の空き領域を該第2のOSから該第2
    のファイル転送プログラムに通知し、該決定されたアク
    セス順に従って、該選択された複数のデータ領域に順
    次、該第1の計算機システムから転送された該一群のブ
    ロックデータの一つが書き込まれるように、それぞれ該
    転送された一群のデータブロックの一つと、該割り当て
    られた一群の論理的識別情報の内の、その一つのブロッ
    クデータの受信順番に対応する一つとを指定する複数の
    書き込み要求を順次、該第2のファイル転送プログラム
    から発行し、 該発行された複数の書き込み要求の各々に応答して、そ
    の書き込み要求が指定する論理的識別情報を割り当てら
    れたデータ領域に、その書き込み要求が指定するブロッ
    クデータを、該第2のOSの制御下で書き込むステップ
    を有する請求項6記載のファイル転送方法。
  8. 【請求項8】論理的識別情報を記憶するステップは、該
    一群の空きデータ領域の各々に、現にそこ書き込まれた
    ブロックデータと一緒に該第1の計算機システムから転
    送された論理的識別情報を、そのデータ領域に上記割当
    ステップで仮に割り当てられた論理的識別情報に代え
    て、該第2のOSにより割り当てるステップを有する請
    求項7記載のファイル転送方法。
  9. 【請求項9】該第1の補助記憶装置内の該一群のデータ
    領域の検出は、該ファイル転送要求に応答して、該第1
    のファイル転送プログラムにより、該一群のデータ領域
    を該第1のOSに問い合わせるステップを有する請求項
    6記載のファイル転送方法。
  10. 【請求項10】計算機システムに含まれた順次アクセス
    型の補助記憶装置に、ファイルを構成する論理的に順序
    づけられた一群のブロックデータを、それらのブロック
    データの論理的順序と異なる順に書き込むデータ書き込
    み方法であって、 該計算機システムで走行中のアプリケーションプログラ
    ムより、該計算機システムで走行中の、該補助記憶装置
    に対するデータ読み出しおよび書き込みを制御するOS
    に、該該補助記憶装置内の複数のデータ領域の内、書き
    込むべきファイルを構成する一群のブロックデータを保
    持するに必要な一群の空きデータ領域の選択を要求し、 該OSにより該空きの一群のデータ領域を選択し、 該選択された一群の空きデータ領域を該OSから該アプ
    リケーションプログラムに通知し、 該選択された一群の空きデータ領域に保持されるべき一
    群のデータブロックを識別するための一群の論理的な識
    別情報として、一群の順序づけられた、あらかじめ定め
    た論理的な識別情報を、該一群のデータ領域に該OSに
    より仮に割り当て、 該選択された複数の空きデータ領域へのブロックデータ
    の書き込みに要する時間を短くするように、該選択され
    た複数の空きデータ領域の物理的位置関係に基づいて、
    該複数の空きデータ領域へのアクセス順を、該アプリケ
    ーションプログラムにより決定し、 該選択された複数のデータ領域に割り当てられた該一群
    の論理的識別情報の内の、該アクセス順で定まる一つの
    論理的識別情報と、該一群のブロックデータの内、それ
    らのブロックデータのあらかじめ定めた論理的順番とは
    異なる順番により定まる一つのブロックデータとを指定
    する複数の書き込み要求を順次、該アプリケーションプ
    ログラムから発行し、 該発行された複数の書き込み要求の各々に応答して、そ
    の書き込み要求が指定する論理的識別情報を割り当てら
    れたデータ領域に、その書き込み要求が指定するブロッ
    クデータを、該OSの制御下で書き込み、 該一群のデータ領域の各々に、現にそこ書き込まれたブ
    ロックデータの論理的識別情報を、そのデータ領域に上
    記割当ステップで仮に割り当てられた論理的識別情報に
    代えて、該OSにより割り当てるステップを有するも
    の。
  11. 【請求項11】計算機システムに含まれた順次アクセス
    型の補助記憶装置に保持されたそれぞれ異なるファイル
    に属する複数のブロックデータを、該計算機システムで
    走行中の複数のアプリケーションプログラムから並行し
    てアクセスするデータアクセス方法であって、 該複数のアプリケーションプログラムから、それぞれ該
    補助記憶装置に保持されたいずれかのアクセスすべき一
    つのブロックデータの論理的識別情報を指定する複数の
    データアクセス要求を並行して発行し、 各アプリケーションプログラムから発行され、まだ実行
    されていない少なくとも一つのアクセス要求を、そのア
    プリケーションプログラムに対応して保持し、 該複数のアプリケーションプログラムに対応して保持さ
    れた複数のデータアクセス要求の内、実行すべき複数の
    データアクセス要求を選択し、 該選択された複数のデータアクセス要求が指定する複数
    の論理的識別情報に基づいて、該補助記憶装置内の複数
    のデータ保持領域のうち、該複数の論理的識別情報が割
    り当てられた複数のブロックデータを保持する複数のデ
    ータ領域を検出し、 該検出された複数のデータ領域へのアクセスに要する時
    間が少なくなるように、該検出された複数のデータ領域
    の位置と、該補助記憶装置の現在の読取ヘッドの位置に
    基づいて、該検出された複数のデータ領域をアクセスす
    る順を決定し、該決定されたアクセス順に従って、該検
    出された複数のデータ領域がアクセスされるように、該
    選択された複数のデータアクセス要求を順次実行し、 上記選択、検出、決定、実行を繰返すステップを有し、 該複数のアプリケーションプログラムの少なくとも一つ
    は、 そのプアプリケーションログラムにより、該補助記憶装
    置に保持されたいずれか一つのファイルに属する、一群
    のブロックデータをアクセスするときに、該一群のブロ
    ックデータを保持する、該補助記憶装置内の一群のデー
    タ領域を判別し、 該一群のデータをアクセスする時間が短くなるように、
    該一群のデータ領域の位置に基づいて、該一群のデータ
    領域をアクセスする順番を判別し、 該判別された順番に従って、該一群のデータ領域をアク
    セスするように、該一群のデータ領域の一つをそれぞれ
    アクセスする一群のデータアクセス命令を順次発行する
    もの。
  12. 【請求項12】上記保持、選択、検出、決定、実行ステ
    ップは、該補助記憶装置へのデータの読み出しまたは書
    き込みのためのアクセス要求の実行を制御するOSによ
    り実行される請求項11記載のデータアクセス方法。
  13. 【請求項13】該補助記憶装置内の該一群のデータ領域
    の検出は、 該一つのアプリケーションプログラムにより、該一群の
    データ領域を該OSに問い合わせるステップを有する請
    求項12記載のファイル転送方法。
JP5330513A 1993-12-27 1993-12-27 ファイル転送方法、データアクセス方法およびデータ書き込み方法 Pending JPH07191899A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5330513A JPH07191899A (ja) 1993-12-27 1993-12-27 ファイル転送方法、データアクセス方法およびデータ書き込み方法
US08/357,192 US5715452A (en) 1993-12-27 1994-12-13 Process of transferring file, process of gaining access to data and process of writing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5330513A JPH07191899A (ja) 1993-12-27 1993-12-27 ファイル転送方法、データアクセス方法およびデータ書き込み方法

Publications (1)

Publication Number Publication Date
JPH07191899A true JPH07191899A (ja) 1995-07-28

Family

ID=18233473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5330513A Pending JPH07191899A (ja) 1993-12-27 1993-12-27 ファイル転送方法、データアクセス方法およびデータ書き込み方法

Country Status (2)

Country Link
US (1) US5715452A (ja)
JP (1) JPH07191899A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244979A (ja) * 1996-03-07 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> 双方向サービス資源配置制御方法
JP2003085076A (ja) * 2001-09-11 2003-03-20 Canon Inc 文書登録システム、方法、プログラム及び記憶媒体
JP2003513355A (ja) * 1999-10-25 2003-04-08 ネットワーク・アプライアンス・インコーポレイテッド 異なるファイルシステム間におけるファイルシステムイメージトランスファー
JP2010537322A (ja) * 2007-08-24 2010-12-02 マイクロソフト コーポレーション 直接大容量記憶装置ファイルインデックス処理
JP2011515957A (ja) * 2008-03-18 2011-05-19 クゥアルコム・インコーポレイテッド 不揮発性メモリからのメディアデータの効果的な低電力検索技術
JP2013045431A (ja) * 2011-08-26 2013-03-04 Toshiba Corp ファイル転送装置およびその方法
KR101719075B1 (ko) * 2015-12-10 2017-04-04 연세대학교 산학협력단 파일 시스템의 데이터 블록 재배치 방법 및 장치
CN110413613A (zh) * 2019-07-09 2019-11-05 阿里巴巴集团控股有限公司 大数据量数据的写入、读取方法、装置及设备
CN117609152A (zh) * 2023-10-27 2024-02-27 广州致远仪器有限公司 一种数据回读方法、装置、设备及存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809511A (en) * 1997-01-02 1998-09-15 International Business Machines Corporation Outboard data migration in a volume stacking library
JP3817339B2 (ja) * 1997-06-26 2006-09-06 株式会社日立製作所 ファイル入出力制御方法
US6009478A (en) * 1997-11-04 1999-12-28 Adaptec, Inc. File array communications interface for communicating between a host computer and an adapter
JP4324993B2 (ja) * 1998-02-17 2009-09-02 ソニー株式会社 データ転送方法および装置
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6408314B1 (en) * 1999-07-06 2002-06-18 Synscort Incorporated Method of performing a high-performance sort which gains efficiency by reading input file blocks sequentially
US6415300B1 (en) * 1999-07-06 2002-07-02 Syncsort Incorporated Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially
JP2002196960A (ja) * 2000-12-25 2002-07-12 Hitachi Ltd ファイル入出力制御方法、ファイル管理サーバ及び並列計算機システム
US6804690B1 (en) * 2000-12-27 2004-10-12 Emc Corporation Method for physical backup in data logical order
CZ20032079A3 (cs) * 2001-01-31 2003-12-17 International Business Machines Corporation Způsob a zařízení pro přenos přerušení z periferního zařízení na hostitelský počítačový systém
EP1229434A3 (en) * 2001-01-31 2009-09-09 Hewlett-Packard Company, A Delaware Corporation File sort for backup
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
US7836334B2 (en) * 2007-01-08 2010-11-16 Mediatek Inc. Transfer control method
US9977596B2 (en) * 2012-12-27 2018-05-22 Dropbox, Inc. Predictive models of file access patterns by application and file type
JP7409043B2 (ja) * 2019-11-25 2024-01-09 セイコーエプソン株式会社 メディア処理装置、メディア処理装置の制御方法、及び、プログラム
CN113487026B (zh) * 2021-07-05 2024-05-03 江苏号百科技有限公司 一种图计算中io节点高效读取数据的方法及***
CN113791691B (zh) * 2021-09-18 2022-05-20 中国科学院自动化研究所 一种脑电信号波段定位方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3987419A (en) * 1974-12-05 1976-10-19 Goodyear Aerospace Corporation High speed information processing system
FR2453449B1 (fr) * 1979-04-06 1987-01-09 Bull Sa Procede et systeme d'exploitation d'une memoire adressable permettant l'identification de certaines adresses particulieres
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4811280A (en) * 1983-06-16 1989-03-07 American Telephone And Telegraph Company Dual mode disk controller
US4604687A (en) * 1983-08-11 1986-08-05 Lucasfilm Ltd. Method and system for storing and retrieving multiple channel sampled data
US4972364A (en) * 1987-02-13 1990-11-20 International Business Machines Corporation Memory disk accessing apparatus
JP3226525B2 (ja) * 1988-10-07 2001-11-05 株式会社日立製作所 主記憶管理方法
DE69032902T2 (de) * 1989-03-28 1999-10-14 Matsushita Electric Ind Co Ltd Vorrichtung und Verfahren zur Verwaltung von digitalen Daten
JPH0373037A (ja) * 1989-05-26 1991-03-28 Hitachi Ltd データベース障害回復方法
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
JPH04165541A (ja) * 1990-10-30 1992-06-11 Hitachi Ltd ファイル再配置方法
US5276840A (en) * 1991-03-22 1994-01-04 Acer Incorporated Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
US5313585A (en) * 1991-12-17 1994-05-17 Jeffries Kenneth L Disk drive array with request fragmentation
US5305295A (en) * 1992-06-29 1994-04-19 Apple Computer, Inc. Efficient method and apparatus for access and storage of compressed data

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244979A (ja) * 1996-03-07 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> 双方向サービス資源配置制御方法
JP2003513355A (ja) * 1999-10-25 2003-04-08 ネットワーク・アプライアンス・インコーポレイテッド 異なるファイルシステム間におけるファイルシステムイメージトランスファー
JP2003085076A (ja) * 2001-09-11 2003-03-20 Canon Inc 文書登録システム、方法、プログラム及び記憶媒体
JP2010537322A (ja) * 2007-08-24 2010-12-02 マイクロソフト コーポレーション 直接大容量記憶装置ファイルインデックス処理
JP2011515957A (ja) * 2008-03-18 2011-05-19 クゥアルコム・インコーポレイテッド 不揮発性メモリからのメディアデータの効果的な低電力検索技術
JP2013045431A (ja) * 2011-08-26 2013-03-04 Toshiba Corp ファイル転送装置およびその方法
KR101719075B1 (ko) * 2015-12-10 2017-04-04 연세대학교 산학협력단 파일 시스템의 데이터 블록 재배치 방법 및 장치
CN110413613A (zh) * 2019-07-09 2019-11-05 阿里巴巴集团控股有限公司 大数据量数据的写入、读取方法、装置及设备
CN110413613B (zh) * 2019-07-09 2023-01-17 创新先进技术有限公司 大数据量数据的写入、读取方法、装置及设备
CN117609152A (zh) * 2023-10-27 2024-02-27 广州致远仪器有限公司 一种数据回读方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US5715452A (en) 1998-02-03

Similar Documents

Publication Publication Date Title
JPH07191899A (ja) ファイル転送方法、データアクセス方法およびデータ書き込み方法
JP3371044B2 (ja) ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
US7536505B2 (en) Storage system and method for controlling block rearrangement
JP2868141B2 (ja) ディスクアレイ装置
JP4206586B2 (ja) データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体
JP4139675B2 (ja) 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
US7181571B2 (en) System and method for storage system
US9928004B2 (en) Assigning device adaptors to use to copy source extents to target extents in a copy relationship
JP2009238114A (ja) ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
JP3250861B2 (ja) ディスク装置システム
JP2003122508A (ja) ボリューム管理方法及び装置
JPS6310250A (ja) 仮想論理ボリユ−ム管理方式
JP4748950B2 (ja) 記憶領域管理方法及びシステム
KR20180100475A (ko) 하이브리드 데이터 룩-업 방법
US20040250043A1 (en) Virtualization of physical storage using size optimized hierarchical tables
JP2001337850A (ja) 記憶装置および記憶装置の制御方法
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
CN111338569A (zh) 一种基于直接映射的对象存储后端优化方法
EP3293625B1 (en) Method and device for accessing file, and storage system
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
EP0522728B1 (en) Method for efficient access of data stored in a nexus table
JP2001022614A (ja) 階層形記憶システム
JPH09223049A (ja) ディスクアレイ装置
JP3030030B2 (ja) 領域管理処理方式