(57)【特許請求の範囲】
【請求項１】
異なるタイプのオペレーティング・システムが動作する第１の計算機および第２の計算機間で，第１の計算機のオペレーティング・システムが作成したファイルを第１の計算機から第２の計算機へ転送するデータ交換方式であって，
前記第１の計算機にて，ファイルの外部記憶装置上での存在場所を示すエクステント情報を，ファイルを管理するオペレーティング・システム内のプログラムであるファイルシステムに無依存に抽出する手段と，
前記第１の計算機が抽出したエクステント情報を，ネットワークを介して前記第１の計算機から前記第２の計算機へ送信する手段と，
前記第２の計算機にて，前記外部記憶装置に対応して用意されるプログラムであって，オペレーティング・システムからの入出力要求を解析し，前記外部記憶装置への入出力を実行するプログラムによって，前記受信したエクステント情報をもとに，前記外部記憶装置に直接アクセスすることにより，前記ファイル内のデータをコピーしファイル転送を実現する手段とを備える
ことを特徴とする異種計算機間高速データ交換方式。
【請求項２】
請求項１に記載の異種計算機間高速データ交換方式において，
前記外部記憶装置への入出力を実行するプログラムは，前記第２の計算機のファイルシステムによって作成されたファイルの外部記憶装置上での存在場所を示すエクステント情報と，前記第１の計算機のファイルシステムによって作成されたファイルの外部記憶装置上での存在場所を示すエクステント情報とを切り替えて，前記第１の計算機のファイルシステムによって作成されたファイルへのアクセスを実行する手段として，前記第２の計算機を機能させるものである
ことを特徴とする異種計算機間高速データ交換方式。
【請求項３】
異なるタイプのオペレーティング・システムが動作する複数の計算機間で，オペレーティング・システムの管理するファイルを共用するデータ交換方式であって，
他の計算機のオペレーティング・システムが管理するファイルのエクステント情報を前記他の計算機に要求し，そのエクステント情報を取得する手段と，
前記他の計算機から取得したエクステント情報を用いて，そのファイルが存在する外部記憶装置に直接アクセスすることによりファイル共用を実現する手段とを備える
ことを特徴とする異種計算機間高速データ交換方式。
【請求項４】
異なるタイプのオペレーティング・システムが動作する複数の計算機間で，オペレーティング・システムの管理するファイルを共用するデータ交換方式であって，
他の計算機のオペレーティング・システムが管理するファイルのエクステント情報を前記他の計算機に要求し，そのエクステント情報を取得する手段と，
前記ファイルに対応させる自計算機のオペレーティング・システムが管理するファイルを作成し，そのエクステント情報を取得する手段と，
前記他の計算機のオペレーティング・システムが管理するファイルについては，前記他の計算機から取得したエクステント情報を用いてアクセスし，自計算機のオペレーティング・システムが管理するファイルについては，ファイル作成時に取得したエクステント情報を用いてアクセスすることにより，外部記憶装置上のファイル共用を実現する手段とを備える
ことを特徴とする異種計算機間高速データ交換方式。
【請求項５】
異なるタイプのオペレーティング・システムが動作する複数の計算機間で，オペレーティング・システムの管理するファイルを共用，転送または交換することを可能とするデータ交換方式を実現するためのプログラムを記録した記録媒体であって，
ファイルを共用，転送または交換するアプリケーションであるデータ交換プログラムと，外部記憶装置へのアクセスを実行するデバイスドライバとのインタフェースのためのアプリケーションプログラムとして動作し，
前記データ交換プログラムからエクステント抽出開始要求を受けたときに，前記デバイスドライバに対しインタセプト開始要求を送り，その後の前記データ交換プログラムからの抽出エクステント取得要求に対し，前記デバイスドライバからエクステント情報を取得して前記データ交換プログラムへ返す処理と，
前記データ交換プログラムからエクステント変換開始要求を受けたときに，前記データ交換プログラムが指定した変換元エクステント情報と前記抽出エクステント取得要求で取得した変換先エクステント情報のペアの情報を前記デバイスドライバへ送り，その後の該当する外部記憶装置へのアクセスに対して前記デバイスドライバに変換元エクステント情報を変換先エクステント情報に変換してアクセスを実行させる処理とを，
計算機に実行させるプログラムを記録した
ことを特徴とするエクステント抽出・変換プログラム記録媒体。
【請求項６】
異なるタイプのオペレーティング・システムが動作する複数の計算機間で，オペレーティング・システムの管理するファイルを共用，転送または交換することを可能とするデータ交換方式を実現するためのプログラムを記録した記録媒体であって，
外部記憶装置に対応して用意されるプログラムであって，オペレーティング・システムからの入出力要求に対して外部記憶装置へのアクセスを実行するデバイスドライバとして動作し，
ファイルを共用，転送または交換するアプリケーションであるデータ交換プログラムからの要求を受け付けるインタフェース部が発行するインタセプト開始要求に対し，前記インタフェース部が指定したバッファ領域の位置情報を記憶する処理と，
前記バッファ領域に対するオペレーティング・システムが発行した入出力要求をインタセプトし，そのエクステント情報を蓄積する処理と，
前記インタフェース部からの抽出エクステント取得要求に対し，前記インタフェース部が指定したバッファ領域に関して蓄積されたエクステント情報を前記インタフェース部へ返す処理と，
前記インタフェース部からのエクステント変換開始要求に対し，前記インタフェース部が指定した変換元エクステント情報と前記抽出エクステント取得要求で取得した変換先エクステント情報のペアの情報を記憶し，その後の外部記憶装置へのアクセスに対して前記記憶した変換元エクステント情報と変換先エクステント情報のペアの情報に基づいてエクステント情報を変換したアクセスを実行する処理とを，
計算機に実行させるプログラムを記録した
ことを特徴とするエクステント抽出・変換プログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，異なるタイプのオペレーティング・システム（以下，ＯＳという）で動作する複数のコンピュータ間で，各ＯＳのディスク上へのデータ配置方式が不明であっても，ファイルを高速に交換あるいは共用することを可能とするデータ交換方式に関する。
【０００２】
【従来の技術】
図１２は，従来技術によるデータ交換の例を説明する図である。
【０００３】
従来，異なるＯＳ間でデータを交換する方式として，ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｇｒａｍ）がよく知られている。図１２（Ａ）にＦＴＰを用いたファイル交換の例を示す。ＦＴＰ１１０Ａ，１１０Ｂは，各計算機１００Ａ，１００ＢのＯＳに無依存なアプリケーションとして動作する。
【０００４】
計算機１００Ａ上のファイル１３０Ａを計算機１００Ｂに送る場合，ＦＴＰ１１０Ａは，計算機１００Ａでユーザプログラムが使用するアプリケーションプログラムインタフェース（単にＡＰＩと略す）を使い，ディスク装置１２０Ａのファイル１３０Ａから読み込んだファイルデータを，他の計算機１００ＢのＦＴＰ１１０Ｂにネットワーク１４０を介して送る。データを受け取った計算機１００ＢのＦＴＰ１１０Ｂは，ＡＰＩを使ってその計算機１００Ｂが持つディスク装置１２０Ｂ上のファイル１３０Ｂに書き込む。
【０００５】
本方式は，ＯＳの種別を問わず，計算機間でファイルを受け渡す方式として有効であるが，ネットワーク１４０を介してデータが流れるためオーバヘッドが大きいという欠点がある。
【０００６】
一方，一つのファイル（実体）を複数の計算機から共用させる方式として，ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）などの分散ファイルシステムが知られている。図１２（Ｂ）に，その分散ファイルシステムの例を示す。
【０００７】
分散ファイルシステムは，ファイル２３０を保持しているサーバ計算機２００Ｓと，そのファイル２３０をアクセスするクライアント計算機２００Ｃの二つのタイプの計算機から構成される。
【０００８】
クライアント計算機２００Ｃは，サーバ計算機２００Ｓに要求を送り，サーバ計算機２００ＳのＯＳ２１０Ｓがディスク装置２２０上のファイル２３０をアクセスして，結果をクライアント計算機２００ＣのＯＳ２１０Ｃに返す。例えばファイル２３０に書き込む場合には，クライアント計算機２００Ｃがサーバ計算機２００Ｓにネットワーク２４０を介して書き込むべきデータを送り，サーバ計算機２００Ｓがファイル２３０にデータを書き込む。
【０００９】
このような分散ファイルシステムの場合にも，ファイルデータはネットワーク２４０を介して送られることになるので，オーバヘッドが大きいという問題がある。また，ファイル操作はＯＳを介して行われるため，ユーザプログラムを無修正で動作させるためには，少なくともクライアント計算機２００ＣのＯＳ２１０Ｃがサーバ計算機２００ＳのＯＳ２１０Ｓに対応するように，ＯＳ２１０Ｃを修正する必要がある。
【００１０】
【発明が解決しようとする課題】
一般に，ファイルはディスク装置上に記憶されているので，ディスク装置が複数の計算機から直接接続されている場合には，データを交換あるいは共用する複数の計算機が直接ディスク装置をアクセスすることができれば，ネットワークを介してデータを送ることに起因する上記の性能問題は解決する。しかし，ディスク装置上のデータを直接共用するためには，ディスク装置上に各ＯＳがデータをどのように配置するかを知る必要があるため，各計算機が同じタイプのＯＳを搭載することが条件として必要になり，異なるベンダが作成したＯＳ間の場合，実質的に困難であった。
【００１１】
図１３は，ディスク装置を複数の計算機が共用する従来技術の例を示す。各ディスク装置３２０と，各計算機３００Ａ，３００Ｂとは，ストレージエリアネットワーク（ＳＡＮ）３５０と呼ばれるディスクプロトコルで通信が行われる高速ネットワークで接続される。各計算機３００Ａ，３００ＢのＯＳ３１０Ａ，３１０Ｂは，ストレージエリアネットワーク３５０を介して，直接，ディスク装置３２０にアクセスすることができる。したがって，もしＯＳ３１０Ａ，３１０Ｂが同種のＯＳであれば，ディスク装置３２０上のファイルを計算機３００Ａ，３００Ｂ間で共用し，直接，ファイルへの入出力を実行することができる。
【００１２】
しかし，ＯＳ３１０ＡとＯＳ３１０Ｂとが異なるタイプのＯＳであった場合，例えばＯＳ３１０Ａが作成し，管理しているファイル３３０Ａと，ＯＳ３１０Ｂが作成し，管理しているファイル３３０Ｂとは，ファイルデータの格納方式が異なるため，計算機３００ＡのＯＳ３１０Ａから，直接，ファイル３３０Ｂにアクセスしたり，計算機３００ＢのＯＳ３１０Ｂから，直接，ファイル３３０Ａにアクセスしたりすることはできなかった。
【００１３】
もちろん，ＯＳ３１０Ａがファイル３３０Ｂをアクセスできるように，ＯＳ３１０Ａのファイルシステムを改造すれば，ファイル３３０Ｂへのアクセスも可能であるが，その改造のためのコストは大きく，さらに他の種類のＯＳが作成したファイルへのアクセスも必要になった場合，その種類ごとにファイルシステムの変更が必要になるため，現実的には不可能であった。
【００１４】
本発明は上記問題点の解決を図り，異なるタイプのＯＳで動作する複数コンピュータ間で，各ＯＳのディスク上へのデータ配置方式が不明であっても，ファイルを高速に交換あるいは共用することを可能とする手段を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は，異なるタイプのオペレーティング・システム（ＯＳ）で動作する複数の計算機間で，ＯＳが管理するファイルを共用，転送または交換することを可能とするため，ファイルの外部記憶装置上での存在場所を，ファイルを管理するＯＳ内のプログラムであるファイルシステムに無依存に抽出する手段と，外部記憶装置への入出力を実行するプログラムであるデバイスドライバ内で，前記抽出したファイルの存在場所の情報をもとに，外部記憶装置へのアクセスを実行することにより，他の計算機との間でファイルを共用，転送または交換する手段とを備える。
【００１６】
ユーザファイルのデータをＯＳがディスク装置などの外部記憶装置上のどこに配置したかをＯＳに無依存に抽出する手段を持つことにより，既存のＯＳのファイルシステムを変更することなく，または必要最小限の変更だけで，異種計算機間での高速データ交換（共用，転送または交換）を実現することができる。
【００１７】
外部記憶装置への入出力を実行するデバイスドライバは，ファイルシステムから通知されたファイルの外部記憶装置上での存在場所を示すエクステントを，あらかじめ指定された別のエクステントに切り替えて，ファイルへのアクセスを実行する手段を持つ。
【００１８】
ファイルシステムから通知されたエクステントを，あらかじめ用意された変換表を用いて別のエクステントに切り替えて，外部記憶装置へアクセスすることにより，他のオペレーティング・システムが管理する外部記憶装置上への格納方式が異なるファイルに対しても，デバイスドライバによって対応することが可能になる。
【００１９】
また，異なるタイプのＯＳで動作する第１の計算機から第２の計算機へファイルを転送する場合に，ファイルの外部記憶装置上での存在場所を示すエクステント情報を，第１の計算機から第２の計算機へ送信する手段と，第２の計算機において受信したエクステント情報をもとに，外部記憶装置に直接アクセスすることにより，ファイル内のデータをコピーしファイル転送を実現する手段とを備える。
【００２０】
これによって，ファイルの外部記憶装置上への格納方式が不明な異なる計算機間でエクステント情報のみを交換することにより，実データを転送することなく高速にファイル転送を行うことができる。
【００２１】
また，本発明は，他の計算機のＯＳが管理するファイルのエクステント情報を他の計算機に要求し，そのエクステント情報を取得する手段と，他の計算機から取得したエクステント情報を用いて，そのファイルが存在する外部記憶装置に直接アクセスすることによりファイル共用を実現する手段とを備える。
【００２２】
これによって，ファイルの外部記憶装置上への格納方式が不明な計算機が管理しているファイルのデータを直接共用することが可能になる。
【００２３】
また，本発明は，他の計算機のＯＳが管理するファイルのエクステント情報を他の計算機に要求し，そのエクステント情報を取得する手段と，前記ファイルに対応させる自計算機のＯＳが管理するファイルを作成し，そのエクステント情報を取得する手段と，二つのエクステント情報を切り替えてアクセスすることにより，外部記憶装置上のファイル共用を実現する手段とを備える。
【００２４】
これにより，既存のＯＳを変更することなく，ファイルのデータ処理を行うユーザプログラムが，ファイルの外部記憶装置上への格納方式が不明な２台の計算機間で，外部記憶装置上のデータを直接共用することができる。
【００２５】
既存のＯＳまたはユーザプログラムを修正することなく，以上の処理を実現するため，外部記憶装置へのアクセスを実行するデバイスドライバとのインタフェースのためのアプリケーションプログラムとして，データ交換プログラムからエクステント抽出開始要求を受けたときに，デバイスドライバに対しインタセプト開始要求を送り，その後のデータ交換プログラムからの抽出エクステント取得要求に対し，デバイスドライバからエクステント情報を取得して要求元へ返す処理と，データ交換プログラムからエクステント変換開始要求を受けたときに，変換するエクステントのペアの情報をデバイスドライバへ送り，その後の外部記憶装置へのアクセスに対してデバイスドライバにエクステントを変換したアクセスを実行させる処理とを，計算機に実行させるプログラムが用意される。
【００２６】
また，ＯＳからの入出力要求に対して，外部記憶装置へのアクセスを実行するデバイスドライバのプログラムとして，インタセプト開始要求に対し，指定されたバッファ領域の情報を記憶する処理と，そのバッファ領域に対するＯＳが発行した入出力要求をインタセプトし，そのエクステント情報を蓄積する処理と，抽出エクステント取得要求に対し，指定されたバッファに関して蓄積されたエクステント情報を要求元へ返す処理と，エクステント変換開始要求に対し，指定されたエクステントのペアの情報を記憶し，その後の外部記憶装置へのアクセスに対して記憶したエクステントのペアの情報に基づいてエクステントを変換したアクセスを実行する処理とを，計算機に実行させるプログラムが用意される。
【００２７】
以上のプログラムは，計算機が読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。
【００２８】
以上によって次の機構が実現され，本発明の課題が解決される。
【００２９】
１）ユーザファイルのデータをＯＳがディスク上のどこに配置したかを抽出するエクステント抽出機構。
【００３０】
２）上記抽出機構を介して抽出したエクステント情報を，ネットワークを介して他計算機に送る機構。
【００３１】
３）ディスク上の異なるエクステント間でデータを直接移動させる機構。
【００３２】
４）通知された二つの異なるエクステントの対応表（変換表）を用意し，ＯＳが発行した入出力要求を，対応表に記された対応するエクステントアクセスに切り替える機構。
【００３３】
【発明の実施の形態】
図１は，本発明のシステム構成例を示すブロック図である。ディスク装置２を共用する複数の計算機１Ａ，１Ｂ上に，一般のユーザプログラム１０Ａ，１０ＢおよびＯＳ１３Ａ，１３Ｂの他，データ交換プログラム１１Ａ，１１Ｂ，エクステント抽出・変換プログラムインタフェース部１２Ａ，１２Ｂ，エクステント抽出・変換プログラム主処理部１４Ａ，１４Ｂ，ディスク装置２上にエクステント間データ移動機能２０が配置される。
【００３４】
計算機１Ａ，１Ｂは，ストレージエリアネットワーク（ＳＡＮ）その他のディスクインタフェース３を介して，ディスク装置２に対して直接アクセスすることが可能である。
【００３５】
計算機１Ａ（計算機１Ｂも同様）のデータ交換プログラム１１Ａとエクステント抽出・変換プログラムインタフェース部１２Ａは，ＯＳ１３Ａ上のアプリケーションとして動作し，エクステント抽出・変換プログラム主処理部１４Ａは，ＯＳ１３Ａとディスク装置２への実Ｉ／Ｏを制御するデバイスドライバの一つとして動作する。
【００３６】
計算機１Ａを販売するベンダとは異なるベンダから出荷されるディスク装置２を接続可能とするため，一般にデバイスドライバを作成するのに必要なＯＳ１３Ａとの間のインタフェースは計算機ベンダが広く公開している。このため，エクステント抽出・変換プログラム主処理部１４Ａは，ＯＳ１３Ａに依存しないで作成することができる。
【００３７】
エクステント抽出・変換プログラムインタフェース部１２Ａは，データ交換プログラム１１Ａが発行した要求を受け付け，エクステント抽出・変換プログラム主処理部１４Ａに処理を依頼し，結果をデータ交換プログラム１１Ａに返す。このインタラクションを行うため，例えばデバイスにデバイスベンダ固有の情報を送るインタフェース（ＯＳが標準に提供）を使用すればよい。ディスク装置２上のエクステント間データ移動機能２０はオプションであり，この機能がないディスク装置２の場合，データ交換プログラム１１Ａが代行する。
【００３８】
以上の各プログラムの詳細を説明するに先立ち，以上のプログラムによって実現できる異種計算機間のファイル転送，ファイルアクセス，ファイル交換の処理概要について，図２〜図４に従って説明する。
【００３９】
図２は，計算機１ＡのＯＳ１３Ａが管理するディスク装置２上のファイルを，計算機１Ｂに転送する処理の概要を示す。
【００４０】
従来技術では，計算機１ＡのＯＳ１３Ａが管理するファイルＦＡの格納方式と，計算機１Ｂの異なるＯＳ１３Ｂが管理するファイルＦＢの格納方式が異なるため，ファイル転送は，計算機１ＡからファイルＦＡの実データをネットワーク４を介して計算機１Ｂへ転送し，その実データを計算機１ＢがファイルＦＢに書き出すことにより実現していた。このため，ネットワーク４を介した実データの転送のオーバヘッドが大きいという問題があった。
【００４１】
本発明では，ネットワーク４でファイルＦＡの実データを転送することなく，必要最小限のデータの転送だけで，次のようにファイル転送を実現する。
【００４２】
［計算機１Ａの処理］
(1) 計算機１Ｂに転送するファイルＦＡをオープンする。
(2) ファイルＦＡのエクステント情報ＥＡを取得する。
(3) 取得したファイルＦＡのエクステント情報ＥＡとファイル名とファイルサイズの情報を，ネットワーク４を介して計算機１Ｂへ転送する。エクステント情報ＥＡは，ファイルＦＡのデータ格納場所を示すディスクブロック番号とブロック数の情報である。エクステント情報ＥＡとして，ディスクブロック番号とブロック数の組が複数個存在する場合もある。
(4) ファイルＦＡをクローズする。
【００４３】
［計算機１Ｂの処理］
(1) 計算機１Ａからエクステント情報ＥＡ，ファイル名，ファイルサイズを受け取る。
(2) ディスク装置２上に，ファイルＦＡと同じサイズの新しいファイルＦＢを作成し，オープンする。
(3) 作成したファイルＦＢのエクステント情報ＥＢを取得する。
(4) 計算機１Ａから送られたエクステント情報ＥＡと，ファイルＦＢのエクステント情報ＥＢとを用い，これらのエクステント間でデータをコピーする。このデータのコピーは，ディスク装置２のエクステント間データ移動機能２０を用いるか，または計算機１Ｂが直接ディスク装置２にアクセスしてファイルＦＡのデータを読み，それをファイルＦＢへ書き出すことにより行う。
(5) データのコピーが終了したら，ファイルＦＢをクローズする。
【００４４】
図３は，計算機１ＢのＯＳ１３Ｂが管理するディスク装置２上のファイルＦＢを，計算機１Ａが直接アクセスするときの処理の概要を示す。一般には，計算機１ＢのＯＳ１３Ｂが管理するファイルＦＢのデータ格納方式は，計算機１ＡのＯＳ１３Ａが管理するファイルのデータ格納方式と異なるため，計算機１Ａは，ディスク装置２にアクセスすることはできても，直接ファイルＦＢのデータを読み書きすることはできない。本発明では，次のようにディスク装置２への格納方式が不明なファイルＦＢへのアクセスを，計算機１Ａから行うことができるようにする。
【００４５】
［計算機１Ａの処理］
(1) ユーザプログラムからファイルＦＢに対するアクセス要求を受ける。
(2) 計算機１Ｂにネットワーク４を介してファイルＦＢのエクステント抽出を依頼する。
(3) 計算機１Ｂからネットワーク４を介してファイルＦＢのエクステント情報ＥＢを受け取り，そのエクステント情報ＥＢを用いて，ディスク装置２上のファイルＦＢに直接アクセスする。
【００４６】
［計算機１Ｂの処理］
(1) 計算機１Ａからエクステント抽出要求を受け，ファイルＦＢのエクステント情報ＥＢを取得する。
(2) 取得したファイルＦＢのエクステント情報をネットワーク４を介して計算機１Ａに返す。
【００４７】
図４は，計算機１ＢのＯＳ１３Ｂが管理するディスク装置２上のファイルＦＢを，計算機１ＡのＯＳ１３Ａおよびユーザプログラム１０Ａを変更することなく，共用することができるようにするときのファイル交換の処理の概要を示す。
【００４８】
一般には，計算機１ＢのＯＳ１３Ｂが管理するファイルＦＢのデータ格納方式は，計算機１ＡのＯＳ１３Ａが管理するファイルのデータ格納方式と異なるため，計算機１Ａは，ディスク装置２にアクセスすることはできても，ファイルＦＢを共用して直接アクセスすることはできない。本発明では，次のようにディスク装置２への格納方式が不明なファイルＦＢを，計算機１Ａのユーザプログラム１０Ａが共用してアクセスできるようにする。このファイル交換の処理では，計算機１Ａが，他の計算機１Ｂで動作するＯＳ１３Ｂの管理するファイルＦＢをアクセスできるようにするため，ファイルＦＢに対応するダミーのファイルＦＡ，すなわち実データを持たないファイルＦＡを用意し，このファイルＦＡに対するアクセスを，デバイスドライバ内部でファイルＦＢに対するアクセスに自動変換する。概念的には，いわゆるディレクトリなどのメタデータＭＢに対応する計算機１ＡのメタデータＭＡからファイルＦＢへのアクセスを実現する。
【００４９】
［計算機１Ａの処理］
(1) 計算機１ＡのユーザからファイルＦＢに対する共用要求を受ける。
(2) 計算機１Ｂにネットワーク４を介してファイルＦＢのエクステント抽出を依頼する。
(3) 計算機１Ｂからネットワーク４を介してファイルＦＢのエクステント情報ＥＢとファイルサイズを受け取る。
(4) ファイルＦＢと同じファイルサイズのファイルＦＡを，ディスク装置２上に作成する。
(5) 作成したファイルＦＡのエクステント情報ＥＡを取得する。
(6) ファイルＦＡのエクステント情報ＥＡとファイルＦＢのエクステント情報ＥＢの変換情報を作成し，計算機１Ａのデバイスドライバに登録する。デバイスドライバでは，エクステントの変換表を作成する。
(7) 以後，計算機１Ａにおいて，ファイルＦＡにアクセスすると，デバイスドライバでは変換表によってファイルＦＡのエクステント情報ＥＡを，ファイルＦＢのエクステント情報ＥＢに変換し，ファイルＦＢに対してデータを読み書きする。
【００５０】
［計算機１Ｂの処理］
(1) 計算機１Ａからエクステント抽出要求を受け，ファイルＦＢのエクステント情報ＥＢを取得する。
(2) 取得したファイルＦＢのエクステント情報をネットワーク４を介して計算機１Ａに返す。
【００５１】
以上の処理を実現するための図１に示す各プログラムの役割の詳細を，順を追って説明する。ここで重要なことは，既存のＯＳやユーザプログラムにできるだけ影響を与えることなく，デバイスドライバと付随的なアプリケーションプログラムの追加だけで，異種計算機間の高速データ交換を実現することである。
【００５２】
１．エクステント抽出・変換プログラムインタフェース部
図５は，エクステント抽出・変換プログラムインタフェース部１２Ａ（１２Ｂも同様）の処理の概要を示す。エクステント抽出・変換プログラムインタフェース部１２Ａは，エクステント抽出開始要求，抽出エクステント取得要求，エクステント抽出終了要求，エクステント変換開始要求，エクステント変換終了要求のいずれかの要求を受け付ける（ステップＳ１）。
【００５３】
［エクステント抽出開始要求］
エクステント抽出開始要求を受け付けると，指定されたバッファの開始主記憶アドレスと長さのペアを要素とする配列をパラメタとしたインタセプト開始要求を，エクステント抽出・変換プログラム主処理部１４Ａへ送る（Ｓ２）。
【００５４】
［抽出エクステント取得要求］
抽出エクステント取得要求を受け付けると，エクステント抽出・変換プログラム主処理部１４Ａに抽出エクステント取得要求を送り，エクステント情報を得る。この際の入力インタフェースは，エクステント抽出開始要求で指定したバッファの開始主記憶アドレスである。出力として，ディスク上の領域を示すエクステント情報（ディスク上の開始位置と長さ）と，このエクステント上に記憶されているデータを読み込んだ（あるいは書き込んだ）バッファ内のアドレスのペアを要素とする配列が戻る（Ｓ３）。
【００５５】
エクステント抽出・変換プログラム主処理部１４Ａから応答された情報を要求元に返す（Ｓ４）。
【００５６】
［エクステント抽出終了要求］
エクステント抽出終了要求を受け付けると，指定されたバッファの開始主記憶アドレスと長さをパラメタとしたインタセプト終了要求を，エクステント抽出・変換プログラム主処理部１４Ａへ送る（Ｓ５）。
【００５７】
［エクステント変換開始要求］
エクステント変換開始要求を受け付けると，指定されたエクステントのペアからなる配列をエクステント抽出・変換プログラム主処理部１４Ａに送り，応答された変換要求識別子を要求元に返す（Ｓ６）。変換要求識別子は，各エクステント変換開始要求に対して一意に付与する番号である。
【００５８】
［エクステント変換終了要求］
エクステント変換終了要求を受け付けると，指定された変換要求識別子をエクステント抽出・変換プログラム主処理部１４Ａに送り，エクステントの変換を終了させる（Ｓ７）。
【００５９】
２．エクステント抽出・変換プログラム主処理部
図６は，エクステント抽出・変換プログラム主処理部１４Ａ（１４Ｂも同様）の処理の概要を示す。エクステント抽出・変換プログラム主処理部１４Ａは，エクステント抽出・変換プログラムインタフェース部１２Ａから要求されたインタセプト開始要求，抽出エクステント取得要求，インタセプト終了要求，エクステント変換開始要求，エクステント変換終了要求のいずれかの要求を受け付け（ステップＳ１１），応答を返す。
【００６０】
［インタセプト開始要求］
インタセプト開始要求を受け付けると，指定されたバッファ領域（開始アドレスと長さ）を記憶し，インタセプトの対象とする（Ｓ１２）。以降，インタセプト終了要求が発行されるまで，ＯＳ１３Ａが発行する入出力要求を解析し，指定されたバッファ領域に対する読み込み（あるいは書き込み）を行う要求をインタセプトし，ディスクブロック番号と長さ及び対応するバッファアドレス（以降，エクステント情報と呼ぶ）を蓄積し，入出力完了を要求元のＯＳ１３Ａに応答する。インタセプト対象以外の入出力要求に対しては，そのままディスク装置２に要求を送り，入出力を実行する（Ｓ１３）。
【００６１】
［抽出エクステント取得要求］
抽出エクステント取得要求を受け付けると，指定されたバッファ開始アドレスに対応する蓄積されていたエクステント情報を応答し，蓄積されていた情報をクリアする（Ｓ１４）。
【００６２】
［インタセプト終了要求］
インタセプト終了要求を受け付けると，指定されたバッファに対する入出力要求のインタセプトを終了する（Ｓ１５）。
【００６３】
［エクステント変換開始要求］
エクステント変換開始要求を受け付けると，この要求ではソースエクステントと目的エクステントのペアからなる配列が指定されるので，そのペアの情報を変換表として記憶する。この変換要求を一意に識別する変換要求識別子を付与し，要求元へ応答する（Ｓ１６）。同じ変換要求識別子を入力としたエクステント変換終了要求が要求されるまで，以下に述べるエクステントの変換を行う。ＯＳ１３Ａが発行した入出力要求を解析し，ソースエクステントに含まれるエクステントに対する入出力要求を，対応する目的エクステントに対するものに変換し，ディスク装置２に送る。ＯＳ１３Ａが要求した入出力要求で，ソースエクステントに該当しないものはそのまま，ディスク装置２に送る（Ｓ１７）。
【００６４】
［エクステント変換終了要求］
エクステント変換終了要求を受け付けると，指定された変換要求識別子に基づき，上記変換表の該当する情報を削除し，エクステントの変換を終了する（Ｓ１８）。
【００６５】
３．データ交換プログラム
データ交換プログラム１１Ａ（１１Ｂも同様）は，エクステント抽出・変換プログラムインタフェース部１２Ａが用意するインタフェースを利用し，ファイル転送およびデータ共用を高速に行う。当プログラムは，ファイル転送要求，ファイルアクセス要求，ファイル交換要求のいずれかの要求を受け付ける。本説明ではデータ交換プログラムがシステムで常時動作しているように記載しているが，必要な度に起動する形としてもよい。
【００６６】
ＯＳ１３Ａのファイルシステムによっては，ＯＳ１３Ａがディスクブロック内にユーザデータとは別に制御データを付加して格納する場合があり，ディスクブロック内のデータとユーザデータとが完全には一致しないことがあるが，ここでは説明を簡単にするために，主としてディスクブロック内のデータとユーザデータとが完全に一致する場合を中心に説明する。不一致の場合の処理方法については，後で補足的に説明する。
【００６７】
［ファイル転送］
計算機１Ａ上のユーザからファイル転送をデータ交換プログラム１１Ａが要求されると，データ交換プログラム１１Ａは，指定された計算機（例えば，計算機１Ｂ）上のデータ交換プログラム１１Ｂと会話しながら処理を進める。図７は，このファイル転送のときの送信側のデータ交換プログラム１１Ａの処理の概要，図８は，受信側のデータ交換プログラム１１Ｂの処理概要を示している。
【００６８】
ａ. 送信側のデータ交換プログラム１１Ａの処理
(1) 指定されたファイルをダイレクトＩ／Ｏモードでオープンし，ファイルサイズを求める（Ｓ２１）。ここで，ダイレクトＩ／Ｏモードとは，特別な場合を除き，ディスクブロックとユーザバッファ間で，ＯＳのバッファを介さずに直接データを転送する方式である。
【００６９】
(2) バッファを確保し，その領域が仮想記憶制御によるページアウトの対象とならないように主記憶上に固定する。その後，確保したバッファの実ドレスとサイズをパラメタとしたエクステント抽出開始要求を，エクステント抽出・変換プログラムインタフェース部１２Ａに対して送る（Ｓ２２）。
【００７０】
(3) ＯＳ１３Ａが提供するＡＰＩを使い，バッファへのファイルの読み込みを要求する（Ｓ２３）。この結果，ＯＳ１３Ａは指定されたバッファにファイルデータを読み込むためのＩ／Ｏ命令を組み立て，デバイスドライバに要求する。このＩ／Ｏ命令は，エクステント抽出・変換プログラム主処理部１４Ａによりインタセプトされ，エクステント抽出・変換プログラム主処理部１４Ａ内でエクステント情報が抽出され，蓄積されることになる。
【００７１】
(4) 次に，エクステント抽出・変換プログラムインタフェース部１２Ａに，バッファ開始アドレスを指定して抽出エクステント取得要求を出し，エクステント情報を取得する（Ｓ２４）。
【００７２】
(5) エクステント抽出・変換プログラムインタフェース部１２Ａに，バッファ開始アドレスを指定してエクステント抽出終了要求を出すことにより，エクステント抽出終了（インタセプト終了）を指示する（Ｓ２５）。
【００７３】
(6) 取得したエクステント情報，およびファイル名とファイルサイズを，ファイル転送先の計算機１Ｂのデータ交換プログラム１１Ｂに送り，応答が返るのを待つ（Ｓ２６）。計算機１Ｂから正常応答が返ると，ファイルをクローズし，ユーザにファイル転送完了を応答する（Ｓ２７）。
【００７４】
ｂ．受信側のデータ交換プログラム１１Ｂの処理
上記(6) の結果動作する計算機１Ｂ上のデータ交換プログラム１１Ｂは，送信側のデータ交換プログラム１１Ａから，エクステント情報，ファイル名，ファイルサイズを受け取ると（Ｓ３１），以下の(7) から(14)までの処理を行う。
【００７５】
(7) 指定されたファイルを作成（ｃｒｅａｔｅ）し，そのファイルをダイレクトＩ／Ｏモードでオープンする（Ｓ３２）。
【００７６】
(8) バッファを確保し，その領域が仮想記憶制御によるページアウトの対象とならないように主記憶上に固定する。その後，確保したバッファの実ドレスとサイズをパラメタとしたエクステント抽出開始要求を，エクステント抽出・変換プログラムインタフェース部１２Ｂに対して行う（Ｓ３３）。
【００７７】
(9) ＯＳ１３Ｂが提供するＡＰＩを使い，バッファの内容をファイルに書き込む要求を出す（Ｓ３４）。この書き込み要求は，エクステント情報を抽出するためのダミーの入出力要求であり，データはどのような内容でもよい。この結果，ＯＳ１３Ｂは指定されたバッファの内容をディスク上のブロックに書き込むためのＩ／Ｏ命令を組み立て，デバイスドライバに要求する。このＩ／Ｏ命令は，エクステント抽出・変換プログラム主処理部１４Ｂによりインタセプトされ，エクステント抽出・変換プログラム主処理部１４Ｂ内でエクステント情報が抽出され，蓄積されることになる。
【００７８】
(10)エクステント抽出・変換プログラムインタフェース部１２Ｂに，上記(8) で確保したバッファ開始アドレスを指定して抽出エクステント取得要求を出し，抽出エクステント取得を依頼する（Ｓ３５）。
【００７９】
(11)計算機１Ａ側から受け取ったエクステント（ソースエクステント）と，計算機１Ｂ側で取得したエクステント（目的エクステント）とを参照し，ディスク装置２のエクステント間でデータコピーを行う。下位のディスク装置２がエクステント間のデータコピー機能（図１のエクステント間データ移動機能２０）を有している場合には，ディスク装置２のその機能により，このような機能がない場合には，データ交換プログラム１１Ｂがソースエクステントのデータを読み，目的エクステントに書き込むことにより行う（Ｓ３６）。
【００８０】
(12)エクステント抽出・変換プログラムインタフェース部１２Ｂに，上記(8) で確保したバッファ開始アドレスを指定してエクステント抽出終了要求を出す（Ｓ３７）。
【００８１】
(13)ファイルをクローズし，計算機１Ａのデータ交換プログラム１１Ａに正常応答を返し，終了する（Ｓ３８）。
【００８２】
［ファイルアクセス］
異なる計算機上のファイルデータ（例えば，計算機１ＢのＯＳ１３Ｂが作成したファイルのデータ）を，計算機１Ａのユーザプログラム１０Ａがディスク装置２から直接アクセスする機能である。この場合，計算機１ＡのＯＳ１３Ａを変更できることが前提となる。ただし，計算機１ＢのＯＳ１３Ｂは変更する必要はない。
【００８３】
計算機１ＡのＯＳ１３Ａを変更し，計算機１Ｂ配下のファイルをアクセスする機能（ファイルシステムＡ）を組み込む。計算機１Ｂ上ではデータ交換プログラム１１Ｂを動作させる。
【００８４】
計算機１Ａ上のユーザプログラム１０Ａが計算機１Ｂ上のファイルに対するアクセスを要求した場合，ファイルシステムＡは，以下のように動作する。なお，計算機１Ｂ上のファイルであるかどうかを識別する方法としては，ファイル名規約を利用するなどが考えられる。
【００８５】
ａ．ファイルシステムＡの処理
図９に，計算機１ＡのＯＳ１３Ａに組み込まれるファイルシステムＡの処理の概要を示す。
【００８６】
(1) ユーザプログラム１０Ａからファイルのアクセスを要求されると，ファイル名規約などにより，自計算機１ＡのＯＳ１３Ａが管理するファイルであるか，他計算機１ＢのＯＳ１３Ｂが管理するファイルであるかを識別し，もし自計算機１ＡのＯＳ１３Ａが管理するファイルであれば，従来と同様なファイルアクセスを行い，他計算機１ＢのＯＳ１３Ｂが管理するファイルであれば，以下の処理を行う（Ｓ４１）。
【００８７】
(2) 他計算機１Ｂ配下のファイルに対するアクセス要求である場合，計算機１Ｂ上のデータ交換プログラム１１Ｂにファイル名とオフセット，サイズを渡し，エクステントの抽出を依頼する（Ｓ４２）。
【００８８】
(2) 計算機１Ｂのデータ交換プログラム１１Ｂから返されたエクステント情報を受け取る（Ｓ４３）。
【００８９】
(3) 受け取ったエクステント情報を用いてディスク装置２に直接アクセスするＩ／Ｏ命令を組み立て，デバイスドライバに入出力要求の実行を指示し，要求されたファイルに対する読み込み（ｒｅａｄ）または書き込み（ｗｒｉｔｅ）を実行する（Ｓ４４）。
【００９０】
ｂ．データ交換プログラム１１Ｂの処理
計算機１Ａ上のファイルシステムＡからエクステントの抽出要求を受けた計算機１Ｂ上のデータ交換プログラム１１Ｂは，［ファイル転送］の項で述べたのとほぼ同じ処理を行い，エクステント情報を応答する。データ交換プログラム１１Ｂには，ｒｅａｄ，ｗｒｉｔｅの種別が渡され，ＯＳ１３Ｂのファイルシステムに対しダミーの読み込みあるいは書き込みを行う。最適化のため，エクステントの抽出は，アクセス要求が発生する度に行うのではなく，ファイルがオープンされた時に行うということも考えられる。
【００９１】
［ファイル交換］
このファイル交換の機能は，既存のＯＳを修正することができない異なる二つのシステム間でファイルデータをディスク装置２を介して直接共用する方式である。このファイル交換では，システムのバッファを介してデータがアクセスされる場合（すなわち，同じディスクブロック上にユーザデータと制御データとが混在するファイル形式の場合）には，共用対象とすることはできない。
【００９２】
以下では，ファイルを作成したシステムを計算機１Ｂ，そのファイルをアクセスするシステムを計算機１Ａとした例について説明する。図１０は，このときの計算機１Ａのアプリケーションとして動作するデータ交換プログラム１Ａの処理の概要を示している。
【００９３】
データ交換は，計算機１Ａ上で動作しているデータ交換プログラム１１Ａに，ユーザまたはユーザプログラム１０Ａが，データ（ファイル）交換開始指示を与えることにより開始される。データ交換プログラム１０Ａによりデータ交換開始の処理が行われると，次に，データ交換終了が指示されるまでの間，計算機１Ａのユーザプログラム１０Ａなどから計算機１Ｂで作成したファイルがアクセス可能となる。データ交換プログラム１１Ａは，以下の処理を行う。
【００９４】
ａ．データ交換プログラム１１Ａの処理
(1) ファイル交換に関する要求がデータ交換終了要求か開始要求かを判別し（Ｓ５１），データ交換終了要求であれば，ステップＳ５７へ進む。そうでなければ，ユーザからコマンドによって指示されたデータ交換開始要求，またはユーザプログラム１０Ａからの指示によるデータ交換開始要求を受ける（Ｓ５２）。
【００９５】
(2) データ交換開始要求を受けると，データ交換プログラム１１Ａは，計算機１Ｂのデータ交換プログラム１１Ｂにエクステント抽出要求を送り，ファイルサイズとエクステント情報（エクステント情報ＥＢ）を得る（Ｓ５３）。この際，ＯＳ１３Ｂのバッファを介して読み込まれたデータが存在した場合，すなわち，ディスクブロック内にＯＳ１３Ｂのみが知り得る制御データとユーザデータとが混在する場合，ユーザにデータ交換失敗を応答する。
【００９６】
(3) データ交換プログラム１１Ａは，データ交換プログラム１１Ｂから応答されたファイルサイズ分の大きさのファイルを，ユーザが指定した名前で作成し，エクステント抽出・変換プログラムインタフェース部１２Ａを介して，作成したファイルのエクステント情報ＥＡを求める（Ｓ５４）。このときのバッファのとり方，エクステントの抽出方式は，ファイル転送で説明した方式に準じる。すなわち，エクステント抽出・変換プログラムインタフェース部１２Ａにエクステント抽出開始要求，抽出エクステント取得要求，エクステント抽出終了要求を出すことにより，エクステント情報ＥＡを得る。
【００９７】
(4) 自計算機１Ａ内で抽出したエクステント情報ＥＡと，計算機１Ｂから通知されたエクステント情報ＥＢのペアの配列（変換表）をパラメータとして，エクステント抽出・変換プログラムインタフェース部１２Ａにエクステント変換開始要求を行う（Ｓ５５）。
【００９８】
(5) ユーザまたはユーザプログラム１０Ａにデータ交換成功を応答する。以後，計算機１Ａのユーザプログラム１０Ａまたは他のユーザプログラムが，ＯＳ１３Ａを介して，ファイル交換の対象となったファイルをアクセスすると，エクステント抽出・変換プログラムインタフェース部１２Ａおよびエクステント抽出・変換プログラム主処理部１４Ａによるエクステント抽出・変換機構を介して，計算機１Ｂのファイルデータが，他の計算機１ＢのＯＳ１３Ｂを介することなく直接アクセスされることになる（Ｓ５６）。
【００９９】
(6) ユーザまたはユーザプログラム１０Ａが，データ交換プログラム１１Ａにデータ交換の終了を通知すると（Ｓ５１），データ交換プログラム１１Ａは，エクステント抽出・変換プログラムインタフェース部１２Ａにエクステント変換終了要求を行い（Ｓ５７），その後，ステップＳ５４において作成したダミーのファイルを消去し，データ交換が終了した旨の応答を，ユーザまたはユーザプログラム１０Ａに返す（Ｓ５８）。
【０１００】
図１１は，ファイルへのデータの格納形態（ファイル形式）の例を示す。上記の説明では，図１１（Ａ）に示すように，ディスクブロック５０内に，ユーザが書き込んだデータＤ１のみが存在する例について主に説明した。
【０１０１】
しかし，ＯＳ１３Ａのファイルシステム／ファイル形式によっては，ディスクブロック内にＯＳ１３Ａがユーザデータとは別に制御データを付加して格納する場合がある。図１１（Ｂ）が，その例であり，ディスクブロック５０内にＯＳ１３Ａが付加した制御データＣ２とユーザプログラム１０ＡがアクセスするユーザデータＤ２とが混在している。
【０１０２】
この場合，図１１（Ｃ）に示すように，ディスクブロック５０に対するｒｅａｄ要求に対して，ＯＳ１３Ａは，ダイレクトＩ／Ｏモードであっても，ＯＳ１３Ａがユーザバッファ５１とは別に確保したＯＳのバッファ５２に，一旦ディスクブロック５０の内容を読み込み，その後にユーザデータＤ２のみを抽出してユーザバッファ５１に転送する。
【０１０３】
データの書き込み（ｗｒｉｔｅ）の場合も同様であり，ＯＳ１３Ａがユーザデータに制御データを付加しないときには，図１１（Ｄ）に示すように，ユーザバッファ５１の内容であるデータＤ３を，そのままディスクブロック５０に書き込むが，ＯＳ１３Ａがユーザデータに制御データを付加する場合には，図１１（Ｅ）に示すように，ＯＳのバッファ５２内で書き込み要求があったユーザデータＤ４に，ＯＳ１３Ａが作成した制御データＣ４を付加し，これをディスクブロック５０に書き込む。
【０１０４】
このようなケースでは，ＯＳ１３Ａが付加した制御データを他の計算機に対して意識させない必要がある。このときの制御データは，ＯＳのファイルシステムに依存するからである。したがって，異種計算機間のファイル転送，ファイルアクセスにおいては，制御データが付加されたデータであっても，ユーザデータだけにアクセスさせる必要がある。
【０１０５】
このため，ファイル転送では，次のように処理する。前述したデータ交換プログラム１０Ａが行う処理について補足説明する。まず，エクステント抽出・変換プログラムインタフェース部１２Ａにエクステント抽出を依頼したとき，エクステント抽出・変換プログラムインタフェース部１２Ａから戻されたデータから，制御データが混在するデータか，ユーザデータのみのデータかを分析する。これは，ＯＳ１３Ａが提供するＡＰＩを使い，ユーザバッファ５１にファイルの読み込み要求をしたときに，ユーザバッファ５１に正しいデータが読み込まれているか否か（すなわち，エクステント抽出・変換プログラム主処理部１４Ａでインタセプトされ，データが読み込まれなかったかどうか）を調べることによって，判別することができる。
【０１０６】
ユーザバッファ５１に正しいデータが読み込まれていたとすると，これはＯＳ１３Ａが内部バッファ（ＯＳのバッファ５２）を介して読み込んだデータと考えられ，制御データが付加されたデータである。なぜなら，エクステント抽出開始要求では，ＯＳのバッファ５２のアドレスは指定されていないため，ＯＳのバッファ５２を指定したアクセス要求は，エクステント抽出・変換プログラム主処理部１４Ａによってインタセプトされないからである。
【０１０７】
一方，ＯＳ１３Ａからデバイスドライバへのユーザバッファ５１に対するアクセス要求の場合には，事前のエクステント抽出開始要求に伴うインタセプト開始要求によって，エクステント抽出・変換プログラム主処理部１４Ａにより要求がインタセプトされるため，実際のデータの読み込みは行われない。したがって，このときのバッファアドレスを調べれば，図１１（Ａ）に示すようなケースと図１１（Ｃ）に示すようなケースとを判別することができる。
【０１０８】
エクステント情報をもとにディスク装置２内でのデータコピーを行うデータ交換プログラム１１Ｂにおいても同様に判別することができ，ＯＳ１３Ａから通知された情報をもとに，実際にコピー元から読み出したデータのうちユーザデータのみを抽出して処理すれば，ＯＳ１３Ａが付加した制御データを削除した形で，ファイルデータを書き込み（このとき必要であればＯＳ１３Ｂの制御データを付加する），ディスク装置２への直接的なアクセスでファイル転送を実現することができる。
【０１０９】
ファイルアクセスの場合にも，ファイルシステムが相手のデータ交換プログラムから受け取ったエクステント情報およびデータをもとに，対処することが可能である。
【０１１０】
図１に示すディスク装置２に対して，計算機１Ａ，計算機１Ｂが直接アクセスすることができるようなシステム構成として，例えば図１３で説明したような既知のストレージエリアネットワークを利用することができる。図１の例では，ディスク装置２を１台のみ示しているが，もちろん複数台あってもよい。
【０１１１】
ファイル交換の場合でも，この部分のアクセスはデバイスドライバを介して他のノードに依頼することで，前記制約を取り除くことができる。
【０１１２】
【発明の効果】
以上説明したように，本発明によれば，異なるタイプのＯＳで動作する複数コンピュータ間で，各ＯＳのディスク上へのデータ配置方式が不明であっても，ファイルを高速に交換あるいは共用することができるようになる。特に，既存のＯＳの基本的な部分に大きな改良を加えることなく高速なデータ交換を実現できるので，異なるタイプのＯＳが多数存在する場合にも，それぞれのシステムにおいて容易に対処することが可能である。
【図面の簡単な説明】
【図１】本発明のシステム構成例を示すブロック図である。
【図２】ある計算機のファイルを異なるＯＳが動作する計算機に転送する処理の概要を示す図である。
【図３】異なるＯＳが動作する他の計算機が作成したファイルを，直接アクセスするときの処理の概要を示す図である。
【図４】異なるＯＳが動作する計算機間でファイルを共用するファイル交換の処理の概要を示す図である。
【図５】エクステント抽出・変換プログラムインタフェース部の処理の概要を示す図である。
【図６】エクステント抽出・変換プログラム主処理部の処理の概要を示す図である。
【図７】ファイル転送のときの送信側のデータ交換プログラムの処理の概要を示す図である。
【図８】ファイル転送のときの受信側のデータ交換プログラムの処理の概要を示す図である。
【図９】他の計算機が作成したファイルをアクセスするためのＯＳに組み込まれるファイルシステムの処理の概要を示す図である。
【図１０】ファイル交換のときのデータ交換プログラムの処理の概要を示す図である。
【図１１】ファイルへのデータの格納形態（ファイル形式）の例を示す図である。
【図１２】従来技術によるデータ交換の例を説明する図である。
【図１３】ディスク装置を複数の計算機が共用する従来技術の例を示す図である。
【符号の説明】
１Ａ，１Ｂ    計算機
１０Ａ，１０Ｂ    ユーザプログラム
１１Ａ，１１Ｂ    データ交換プログラム
１２Ａ，１２Ｂ    エクステント抽出・変換プログラムインタフェース部
１３Ａ，１３Ｂ    オペレーティング・システム（ＯＳ）
１４Ａ，１４Ｂ    エクステント抽出・変換プログラム主処理部
２      ディスク装置
２０    エクステント間データ移動機能
３      ディスクインタフェース
【図１】
0004057201.tif 000002
【図２】
0004057201.tif 000003
【図３】
0004057201.tif 000004
【図４】
0004057201.tif 000005
【図５】
0004057201.tif 000006
【図６】
0004057201.tif 000007
【図７】
0004057201.tif 000008
【図８】
0004057201.tif 000009
【図９】
0004057201.tif 000010
【図１０】
0004057201.tif 000011
【図１１】
0004057201.tif 000012
【図１２】
0004057201.tif 000013
【図１３】
0004057201.tif 000014