JP4057201B2 - 異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体 - Google Patents
異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体 Download PDFInfo
- Publication number
- JP4057201B2 JP4057201B2 JP26172999A JP26172999A JP4057201B2 JP 4057201 B2 JP4057201 B2 JP 4057201B2 JP 26172999 A JP26172999 A JP 26172999A JP 26172999 A JP26172999 A JP 26172999A JP 4057201 B2 JP4057201 B2 JP 4057201B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- computer
- extent
- program
- data exchange
- 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.)
- Expired - Fee Related
Links
- 238000000605 extraction Methods 0.000 title claims description 88
- 238000000034 method Methods 0.000 title claims description 42
- 238000012545 processing Methods 0.000 claims description 62
- 238000006243 chemical reaction Methods 0.000 claims description 47
- 238000012546 transfer Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000013500 data storage Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000002377 Fourier profilometry Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は,異なるタイプのオペレーティング・システム(以下,OSという)で動作する複数のコンピュータ間で,各OSのディスク上へのデータ配置方式が不明であっても,ファイルを高速に交換あるいは共用することを可能とするデータ交換方式に関する。
【0002】
【従来の技術】
図12は,従来技術によるデータ交換の例を説明する図である。
【0003】
従来,異なるOS間でデータを交換する方式として,FTP(File Transfer Program)がよく知られている。図12(A)にFTPを用いたファイル交換の例を示す。FTP110A,110Bは,各計算機100A,100BのOSに無依存なアプリケーションとして動作する。
【0004】
計算機100A上のファイル130Aを計算機100Bに送る場合,FTP110Aは,計算機100Aでユーザプログラムが使用するアプリケーションプログラムインタフェース(単にAPIと略す)を使い,ディスク装置120Aのファイル130Aから読み込んだファイルデータを,他の計算機100BのFTP110Bにネットワーク140を介して送る。データを受け取った計算機100BのFTP110Bは,APIを使ってその計算機100Bが持つディスク装置120B上のファイル130Bに書き込む。
【0005】
本方式は,OSの種別を問わず,計算機間でファイルを受け渡す方式として有効であるが,ネットワーク140を介してデータが流れるためオーバヘッドが大きいという欠点がある。
【0006】
一方,一つのファイル(実体)を複数の計算機から共用させる方式として,NFS(Network File System)などの分散ファイルシステムが知られている。図12(B)に,その分散ファイルシステムの例を示す。
【0007】
分散ファイルシステムは,ファイル230を保持しているサーバ計算機200Sと,そのファイル230をアクセスするクライアント計算機200Cの二つのタイプの計算機から構成される。
【0008】
クライアント計算機200Cは,サーバ計算機200Sに要求を送り,サーバ計算機200SのOS210Sがディスク装置220上のファイル230をアクセスして,結果をクライアント計算機200CのOS210Cに返す。例えばファイル230に書き込む場合には,クライアント計算機200Cがサーバ計算機200Sにネットワーク240を介して書き込むべきデータを送り,サーバ計算機200Sがファイル230にデータを書き込む。
【0009】
このような分散ファイルシステムの場合にも,ファイルデータはネットワーク240を介して送られることになるので,オーバヘッドが大きいという問題がある。また,ファイル操作はOSを介して行われるため,ユーザプログラムを無修正で動作させるためには,少なくともクライアント計算機200CのOS210Cがサーバ計算機200SのOS210Sに対応するように,OS210Cを修正する必要がある。
【0010】
【発明が解決しようとする課題】
一般に,ファイルはディスク装置上に記憶されているので,ディスク装置が複数の計算機から直接接続されている場合には,データを交換あるいは共用する複数の計算機が直接ディスク装置をアクセスすることができれば,ネットワークを介してデータを送ることに起因する上記の性能問題は解決する。しかし,ディスク装置上のデータを直接共用するためには,ディスク装置上に各OSがデータをどのように配置するかを知る必要があるため,各計算機が同じタイプのOSを搭載することが条件として必要になり,異なるベンダが作成したOS間の場合,実質的に困難であった。
【0011】
図13は,ディスク装置を複数の計算機が共用する従来技術の例を示す。各ディスク装置320と,各計算機300A,300Bとは,ストレージエリアネットワーク(SAN)350と呼ばれるディスクプロトコルで通信が行われる高速ネットワークで接続される。各計算機300A,300BのOS310A,310Bは,ストレージエリアネットワーク350を介して,直接,ディスク装置320にアクセスすることができる。したがって,もしOS310A,310Bが同種のOSであれば,ディスク装置320上のファイルを計算機300A,300B間で共用し,直接,ファイルへの入出力を実行することができる。
【0012】
しかし,OS310AとOS310Bとが異なるタイプのOSであった場合,例えばOS310Aが作成し,管理しているファイル330Aと,OS310Bが作成し,管理しているファイル330Bとは,ファイルデータの格納方式が異なるため,計算機300AのOS310Aから,直接,ファイル330Bにアクセスしたり,計算機300BのOS310Bから,直接,ファイル330Aにアクセスしたりすることはできなかった。
【0013】
もちろん,OS310Aがファイル330Bをアクセスできるように,OS310Aのファイルシステムを改造すれば,ファイル330Bへのアクセスも可能であるが,その改造のためのコストは大きく,さらに他の種類のOSが作成したファイルへのアクセスも必要になった場合,その種類ごとにファイルシステムの変更が必要になるため,現実的には不可能であった。
【0014】
本発明は上記問題点の解決を図り,異なるタイプのOSで動作する複数コンピュータ間で,各OSのディスク上へのデータ配置方式が不明であっても,ファイルを高速に交換あるいは共用することを可能とする手段を提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明は,異なるタイプのオペレーティング・システム(OS)で動作する複数の計算機間で,OSが管理するファイルを共用,転送または交換することを可能とするため,ファイルの外部記憶装置上での存在場所を,ファイルを管理するOS内のプログラムであるファイルシステムに無依存に抽出する手段と,外部記憶装置への入出力を実行するプログラムであるデバイスドライバ内で,前記抽出したファイルの存在場所の情報をもとに,外部記憶装置へのアクセスを実行することにより,他の計算機との間でファイルを共用,転送または交換する手段とを備える。
【0016】
ユーザファイルのデータをOSがディスク装置などの外部記憶装置上のどこに配置したかをOSに無依存に抽出する手段を持つことにより,既存のOSのファイルシステムを変更することなく,または必要最小限の変更だけで,異種計算機間での高速データ交換(共用,転送または交換)を実現することができる。
【0017】
外部記憶装置への入出力を実行するデバイスドライバは,ファイルシステムから通知されたファイルの外部記憶装置上での存在場所を示すエクステントを,あらかじめ指定された別のエクステントに切り替えて,ファイルへのアクセスを実行する手段を持つ。
【0018】
ファイルシステムから通知されたエクステントを,あらかじめ用意された変換表を用いて別のエクステントに切り替えて,外部記憶装置へアクセスすることにより,他のオペレーティング・システムが管理する外部記憶装置上への格納方式が異なるファイルに対しても,デバイスドライバによって対応することが可能になる。
【0019】
また,異なるタイプのOSで動作する第1の計算機から第2の計算機へファイルを転送する場合に,ファイルの外部記憶装置上での存在場所を示すエクステント情報を,第1の計算機から第2の計算機へ送信する手段と,第2の計算機において受信したエクステント情報をもとに,外部記憶装置に直接アクセスすることにより,ファイル内のデータをコピーしファイル転送を実現する手段とを備える。
【0020】
これによって,ファイルの外部記憶装置上への格納方式が不明な異なる計算機間でエクステント情報のみを交換することにより,実データを転送することなく高速にファイル転送を行うことができる。
【0021】
また,本発明は,他の計算機のOSが管理するファイルのエクステント情報を他の計算機に要求し,そのエクステント情報を取得する手段と,他の計算機から取得したエクステント情報を用いて,そのファイルが存在する外部記憶装置に直接アクセスすることによりファイル共用を実現する手段とを備える。
【0022】
これによって,ファイルの外部記憶装置上への格納方式が不明な計算機が管理しているファイルのデータを直接共用することが可能になる。
【0023】
また,本発明は,他の計算機のOSが管理するファイルのエクステント情報を他の計算機に要求し,そのエクステント情報を取得する手段と,前記ファイルに対応させる自計算機のOSが管理するファイルを作成し,そのエクステント情報を取得する手段と,二つのエクステント情報を切り替えてアクセスすることにより,外部記憶装置上のファイル共用を実現する手段とを備える。
【0024】
これにより,既存のOSを変更することなく,ファイルのデータ処理を行うユーザプログラムが,ファイルの外部記憶装置上への格納方式が不明な2台の計算機間で,外部記憶装置上のデータを直接共用することができる。
【0025】
既存のOSまたはユーザプログラムを修正することなく,以上の処理を実現するため,外部記憶装置へのアクセスを実行するデバイスドライバとのインタフェースのためのアプリケーションプログラムとして,データ交換プログラムからエクステント抽出開始要求を受けたときに,デバイスドライバに対しインタセプト開始要求を送り,その後のデータ交換プログラムからの抽出エクステント取得要求に対し,デバイスドライバからエクステント情報を取得して要求元へ返す処理と,データ交換プログラムからエクステント変換開始要求を受けたときに,変換するエクステントのペアの情報をデバイスドライバへ送り,その後の外部記憶装置へのアクセスに対してデバイスドライバにエクステントを変換したアクセスを実行させる処理とを,計算機に実行させるプログラムが用意される。
【0026】
また,OSからの入出力要求に対して,外部記憶装置へのアクセスを実行するデバイスドライバのプログラムとして,インタセプト開始要求に対し,指定されたバッファ領域の情報を記憶する処理と,そのバッファ領域に対するOSが発行した入出力要求をインタセプトし,そのエクステント情報を蓄積する処理と,抽出エクステント取得要求に対し,指定されたバッファに関して蓄積されたエクステント情報を要求元へ返す処理と,エクステント変換開始要求に対し,指定されたエクステントのペアの情報を記憶し,その後の外部記憶装置へのアクセスに対して記憶したエクステントのペアの情報に基づいてエクステントを変換したアクセスを実行する処理とを,計算機に実行させるプログラムが用意される。
【0027】
以上のプログラムは,計算機が読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができる。
【0028】
以上によって次の機構が実現され,本発明の課題が解決される。
【0029】
1)ユーザファイルのデータをOSがディスク上のどこに配置したかを抽出するエクステント抽出機構。
【0030】
2)上記抽出機構を介して抽出したエクステント情報を,ネットワークを介して他計算機に送る機構。
【0031】
3)ディスク上の異なるエクステント間でデータを直接移動させる機構。
【0032】
4)通知された二つの異なるエクステントの対応表(変換表)を用意し,OSが発行した入出力要求を,対応表に記された対応するエクステントアクセスに切り替える機構。
【0033】
【発明の実施の形態】
図1は,本発明のシステム構成例を示すブロック図である。ディスク装置2を共用する複数の計算機1A,1B上に,一般のユーザプログラム10A,10BおよびOS13A,13Bの他,データ交換プログラム11A,11B,エクステント抽出・変換プログラムインタフェース部12A,12B,エクステント抽出・変換プログラム主処理部14A,14B,ディスク装置2上にエクステント間データ移動機能20が配置される。
【0034】
計算機1A,1Bは,ストレージエリアネットワーク(SAN)その他のディスクインタフェース3を介して,ディスク装置2に対して直接アクセスすることが可能である。
【0035】
計算機1A(計算機1Bも同様)のデータ交換プログラム11Aとエクステント抽出・変換プログラムインタフェース部12Aは,OS13A上のアプリケーションとして動作し,エクステント抽出・変換プログラム主処理部14Aは,OS13Aとディスク装置2への実I/Oを制御するデバイスドライバの一つとして動作する。
【0036】
計算機1Aを販売するベンダとは異なるベンダから出荷されるディスク装置2を接続可能とするため,一般にデバイスドライバを作成するのに必要なOS13Aとの間のインタフェースは計算機ベンダが広く公開している。このため,エクステント抽出・変換プログラム主処理部14Aは,OS13Aに依存しないで作成することができる。
【0037】
エクステント抽出・変換プログラムインタフェース部12Aは,データ交換プログラム11Aが発行した要求を受け付け,エクステント抽出・変換プログラム主処理部14Aに処理を依頼し,結果をデータ交換プログラム11Aに返す。このインタラクションを行うため,例えばデバイスにデバイスベンダ固有の情報を送るインタフェース(OSが標準に提供)を使用すればよい。ディスク装置2上のエクステント間データ移動機能20はオプションであり,この機能がないディスク装置2の場合,データ交換プログラム11Aが代行する。
【0038】
以上の各プログラムの詳細を説明するに先立ち,以上のプログラムによって実現できる異種計算機間のファイル転送,ファイルアクセス,ファイル交換の処理概要について,図2〜図4に従って説明する。
【0039】
図2は,計算機1AのOS13Aが管理するディスク装置2上のファイルを,計算機1Bに転送する処理の概要を示す。
【0040】
従来技術では,計算機1AのOS13Aが管理するファイルFAの格納方式と,計算機1Bの異なるOS13Bが管理するファイルFBの格納方式が異なるため,ファイル転送は,計算機1AからファイルFAの実データをネットワーク4を介して計算機1Bへ転送し,その実データを計算機1BがファイルFBに書き出すことにより実現していた。このため,ネットワーク4を介した実データの転送のオーバヘッドが大きいという問題があった。
【0041】
本発明では,ネットワーク4でファイルFAの実データを転送することなく,必要最小限のデータの転送だけで,次のようにファイル転送を実現する。
【0042】
[計算機1Aの処理]
(1) 計算機1Bに転送するファイルFAをオープンする。
(2) ファイルFAのエクステント情報EAを取得する。
(3) 取得したファイルFAのエクステント情報EAとファイル名とファイルサイズの情報を,ネットワーク4を介して計算機1Bへ転送する。エクステント情報EAは,ファイルFAのデータ格納場所を示すディスクブロック番号とブロック数の情報である。エクステント情報EAとして,ディスクブロック番号とブロック数の組が複数個存在する場合もある。
(4) ファイルFAをクローズする。
【0043】
[計算機1Bの処理]
(1) 計算機1Aからエクステント情報EA,ファイル名,ファイルサイズを受け取る。
(2) ディスク装置2上に,ファイルFAと同じサイズの新しいファイルFBを作成し,オープンする。
(3) 作成したファイルFBのエクステント情報EBを取得する。
(4) 計算機1Aから送られたエクステント情報EAと,ファイルFBのエクステント情報EBとを用い,これらのエクステント間でデータをコピーする。このデータのコピーは,ディスク装置2のエクステント間データ移動機能20を用いるか,または計算機1Bが直接ディスク装置2にアクセスしてファイルFAのデータを読み,それをファイルFBへ書き出すことにより行う。
(5) データのコピーが終了したら,ファイルFBをクローズする。
【0044】
図3は,計算機1BのOS13Bが管理するディスク装置2上のファイルFBを,計算機1Aが直接アクセスするときの処理の概要を示す。一般には,計算機1BのOS13Bが管理するファイルFBのデータ格納方式は,計算機1AのOS13Aが管理するファイルのデータ格納方式と異なるため,計算機1Aは,ディスク装置2にアクセスすることはできても,直接ファイルFBのデータを読み書きすることはできない。本発明では,次のようにディスク装置2への格納方式が不明なファイルFBへのアクセスを,計算機1Aから行うことができるようにする。
【0045】
[計算機1Aの処理]
(1) ユーザプログラムからファイルFBに対するアクセス要求を受ける。
(2) 計算機1Bにネットワーク4を介してファイルFBのエクステント抽出を依頼する。
(3) 計算機1Bからネットワーク4を介してファイルFBのエクステント情報EBを受け取り,そのエクステント情報EBを用いて,ディスク装置2上のファイルFBに直接アクセスする。
【0046】
[計算機1Bの処理]
(1) 計算機1Aからエクステント抽出要求を受け,ファイルFBのエクステント情報EBを取得する。
(2) 取得したファイルFBのエクステント情報をネットワーク4を介して計算機1Aに返す。
【0047】
図4は,計算機1BのOS13Bが管理するディスク装置2上のファイルFBを,計算機1AのOS13Aおよびユーザプログラム10Aを変更することなく,共用することができるようにするときのファイル交換の処理の概要を示す。
【0048】
一般には,計算機1BのOS13Bが管理するファイルFBのデータ格納方式は,計算機1AのOS13Aが管理するファイルのデータ格納方式と異なるため,計算機1Aは,ディスク装置2にアクセスすることはできても,ファイルFBを共用して直接アクセスすることはできない。本発明では,次のようにディスク装置2への格納方式が不明なファイルFBを,計算機1Aのユーザプログラム10Aが共用してアクセスできるようにする。このファイル交換の処理では,計算機1Aが,他の計算機1Bで動作するOS13Bの管理するファイルFBをアクセスできるようにするため,ファイルFBに対応するダミーのファイルFA,すなわち実データを持たないファイルFAを用意し,このファイルFAに対するアクセスを,デバイスドライバ内部でファイルFBに対するアクセスに自動変換する。概念的には,いわゆるディレクトリなどのメタデータMBに対応する計算機1AのメタデータMAからファイルFBへのアクセスを実現する。
【0049】
[計算機1Aの処理]
(1) 計算機1AのユーザからファイルFBに対する共用要求を受ける。
(2) 計算機1Bにネットワーク4を介してファイルFBのエクステント抽出を依頼する。
(3) 計算機1Bからネットワーク4を介してファイルFBのエクステント情報EBとファイルサイズを受け取る。
(4) ファイルFBと同じファイルサイズのファイルFAを,ディスク装置2上に作成する。
(5) 作成したファイルFAのエクステント情報EAを取得する。
(6) ファイルFAのエクステント情報EAとファイルFBのエクステント情報EBの変換情報を作成し,計算機1Aのデバイスドライバに登録する。デバイスドライバでは,エクステントの変換表を作成する。
(7) 以後,計算機1Aにおいて,ファイルFAにアクセスすると,デバイスドライバでは変換表によってファイルFAのエクステント情報EAを,ファイルFBのエクステント情報EBに変換し,ファイルFBに対してデータを読み書きする。
【0050】
[計算機1Bの処理]
(1) 計算機1Aからエクステント抽出要求を受け,ファイルFBのエクステント情報EBを取得する。
(2) 取得したファイルFBのエクステント情報をネットワーク4を介して計算機1Aに返す。
【0051】
以上の処理を実現するための図1に示す各プログラムの役割の詳細を,順を追って説明する。ここで重要なことは,既存のOSやユーザプログラムにできるだけ影響を与えることなく,デバイスドライバと付随的なアプリケーションプログラムの追加だけで,異種計算機間の高速データ交換を実現することである。
【0052】
1.エクステント抽出・変換プログラムインタフェース部
図5は,エクステント抽出・変換プログラムインタフェース部12A(12Bも同様)の処理の概要を示す。エクステント抽出・変換プログラムインタフェース部12Aは,エクステント抽出開始要求,抽出エクステント取得要求,エクステント抽出終了要求,エクステント変換開始要求,エクステント変換終了要求のいずれかの要求を受け付ける(ステップS1)。
【0053】
[エクステント抽出開始要求]
エクステント抽出開始要求を受け付けると,指定されたバッファの開始主記憶アドレスと長さのペアを要素とする配列をパラメタとしたインタセプト開始要求を,エクステント抽出・変換プログラム主処理部14Aへ送る(S2)。
【0054】
[抽出エクステント取得要求]
抽出エクステント取得要求を受け付けると,エクステント抽出・変換プログラム主処理部14Aに抽出エクステント取得要求を送り,エクステント情報を得る。この際の入力インタフェースは,エクステント抽出開始要求で指定したバッファの開始主記憶アドレスである。出力として,ディスク上の領域を示すエクステント情報(ディスク上の開始位置と長さ)と,このエクステント上に記憶されているデータを読み込んだ(あるいは書き込んだ)バッファ内のアドレスのペアを要素とする配列が戻る(S3)。
【0055】
エクステント抽出・変換プログラム主処理部14Aから応答された情報を要求元に返す(S4)。
【0056】
[エクステント抽出終了要求]
エクステント抽出終了要求を受け付けると,指定されたバッファの開始主記憶アドレスと長さをパラメタとしたインタセプト終了要求を,エクステント抽出・変換プログラム主処理部14Aへ送る(S5)。
【0057】
[エクステント変換開始要求]
エクステント変換開始要求を受け付けると,指定されたエクステントのペアからなる配列をエクステント抽出・変換プログラム主処理部14Aに送り,応答された変換要求識別子を要求元に返す(S6)。変換要求識別子は,各エクステント変換開始要求に対して一意に付与する番号である。
【0058】
[エクステント変換終了要求]
エクステント変換終了要求を受け付けると,指定された変換要求識別子をエクステント抽出・変換プログラム主処理部14Aに送り,エクステントの変換を終了させる(S7)。
【0059】
2.エクステント抽出・変換プログラム主処理部
図6は,エクステント抽出・変換プログラム主処理部14A(14Bも同様)の処理の概要を示す。エクステント抽出・変換プログラム主処理部14Aは,エクステント抽出・変換プログラムインタフェース部12Aから要求されたインタセプト開始要求,抽出エクステント取得要求,インタセプト終了要求,エクステント変換開始要求,エクステント変換終了要求のいずれかの要求を受け付け(ステップS11),応答を返す。
【0060】
[インタセプト開始要求]
インタセプト開始要求を受け付けると,指定されたバッファ領域(開始アドレスと長さ)を記憶し,インタセプトの対象とする(S12)。以降,インタセプト終了要求が発行されるまで,OS13Aが発行する入出力要求を解析し,指定されたバッファ領域に対する読み込み(あるいは書き込み)を行う要求をインタセプトし,ディスクブロック番号と長さ及び対応するバッファアドレス(以降,エクステント情報と呼ぶ)を蓄積し,入出力完了を要求元のOS13Aに応答する。インタセプト対象以外の入出力要求に対しては,そのままディスク装置2に要求を送り,入出力を実行する(S13)。
【0061】
[抽出エクステント取得要求]
抽出エクステント取得要求を受け付けると,指定されたバッファ開始アドレスに対応する蓄積されていたエクステント情報を応答し,蓄積されていた情報をクリアする(S14)。
【0062】
[インタセプト終了要求]
インタセプト終了要求を受け付けると,指定されたバッファに対する入出力要求のインタセプトを終了する(S15)。
【0063】
[エクステント変換開始要求]
エクステント変換開始要求を受け付けると,この要求ではソースエクステントと目的エクステントのペアからなる配列が指定されるので,そのペアの情報を変換表として記憶する。この変換要求を一意に識別する変換要求識別子を付与し,要求元へ応答する(S16)。同じ変換要求識別子を入力としたエクステント変換終了要求が要求されるまで,以下に述べるエクステントの変換を行う。OS13Aが発行した入出力要求を解析し,ソースエクステントに含まれるエクステントに対する入出力要求を,対応する目的エクステントに対するものに変換し,ディスク装置2に送る。OS13Aが要求した入出力要求で,ソースエクステントに該当しないものはそのまま,ディスク装置2に送る(S17)。
【0064】
[エクステント変換終了要求]
エクステント変換終了要求を受け付けると,指定された変換要求識別子に基づき,上記変換表の該当する情報を削除し,エクステントの変換を終了する(S18)。
【0065】
3.データ交換プログラム
データ交換プログラム11A(11Bも同様)は,エクステント抽出・変換プログラムインタフェース部12Aが用意するインタフェースを利用し,ファイル転送およびデータ共用を高速に行う。当プログラムは,ファイル転送要求,ファイルアクセス要求,ファイル交換要求のいずれかの要求を受け付ける。本説明ではデータ交換プログラムがシステムで常時動作しているように記載しているが,必要な度に起動する形としてもよい。
【0066】
OS13Aのファイルシステムによっては,OS13Aがディスクブロック内にユーザデータとは別に制御データを付加して格納する場合があり,ディスクブロック内のデータとユーザデータとが完全には一致しないことがあるが,ここでは説明を簡単にするために,主としてディスクブロック内のデータとユーザデータとが完全に一致する場合を中心に説明する。不一致の場合の処理方法については,後で補足的に説明する。
【0067】
[ファイル転送]
計算機1A上のユーザからファイル転送をデータ交換プログラム11Aが要求されると,データ交換プログラム11Aは,指定された計算機(例えば,計算機1B)上のデータ交換プログラム11Bと会話しながら処理を進める。図7は,このファイル転送のときの送信側のデータ交換プログラム11Aの処理の概要,図8は,受信側のデータ交換プログラム11Bの処理概要を示している。
【0068】
a. 送信側のデータ交換プログラム11Aの処理
(1) 指定されたファイルをダイレクトI/Oモードでオープンし,ファイルサイズを求める(S21)。ここで,ダイレクトI/Oモードとは,特別な場合を除き,ディスクブロックとユーザバッファ間で,OSのバッファを介さずに直接データを転送する方式である。
【0069】
(2) バッファを確保し,その領域が仮想記憶制御によるページアウトの対象とならないように主記憶上に固定する。その後,確保したバッファの実ドレスとサイズをパラメタとしたエクステント抽出開始要求を,エクステント抽出・変換プログラムインタフェース部12Aに対して送る(S22)。
【0070】
(3) OS13Aが提供するAPIを使い,バッファへのファイルの読み込みを要求する(S23)。この結果,OS13Aは指定されたバッファにファイルデータを読み込むためのI/O命令を組み立て,デバイスドライバに要求する。このI/O命令は,エクステント抽出・変換プログラム主処理部14Aによりインタセプトされ,エクステント抽出・変換プログラム主処理部14A内でエクステント情報が抽出され,蓄積されることになる。
【0071】
(4) 次に,エクステント抽出・変換プログラムインタフェース部12Aに,バッファ開始アドレスを指定して抽出エクステント取得要求を出し,エクステント情報を取得する(S24)。
【0072】
(5) エクステント抽出・変換プログラムインタフェース部12Aに,バッファ開始アドレスを指定してエクステント抽出終了要求を出すことにより,エクステント抽出終了(インタセプト終了)を指示する(S25)。
【0073】
(6) 取得したエクステント情報,およびファイル名とファイルサイズを,ファイル転送先の計算機1Bのデータ交換プログラム11Bに送り,応答が返るのを待つ(S26)。計算機1Bから正常応答が返ると,ファイルをクローズし,ユーザにファイル転送完了を応答する(S27)。
【0074】
b.受信側のデータ交換プログラム11Bの処理
上記(6) の結果動作する計算機1B上のデータ交換プログラム11Bは,送信側のデータ交換プログラム11Aから,エクステント情報,ファイル名,ファイルサイズを受け取ると(S31),以下の(7) から(14)までの処理を行う。
【0075】
(7) 指定されたファイルを作成(create)し,そのファイルをダイレクトI/Oモードでオープンする(S32)。
【0076】
(8) バッファを確保し,その領域が仮想記憶制御によるページアウトの対象とならないように主記憶上に固定する。その後,確保したバッファの実ドレスとサイズをパラメタとしたエクステント抽出開始要求を,エクステント抽出・変換プログラムインタフェース部12Bに対して行う(S33)。
【0077】
(9) OS13Bが提供するAPIを使い,バッファの内容をファイルに書き込む要求を出す(S34)。この書き込み要求は,エクステント情報を抽出するためのダミーの入出力要求であり,データはどのような内容でもよい。この結果,OS13Bは指定されたバッファの内容をディスク上のブロックに書き込むためのI/O命令を組み立て,デバイスドライバに要求する。このI/O命令は,エクステント抽出・変換プログラム主処理部14Bによりインタセプトされ,エクステント抽出・変換プログラム主処理部14B内でエクステント情報が抽出され,蓄積されることになる。
【0078】
(10)エクステント抽出・変換プログラムインタフェース部12Bに,上記(8) で確保したバッファ開始アドレスを指定して抽出エクステント取得要求を出し,抽出エクステント取得を依頼する(S35)。
【0079】
(11)計算機1A側から受け取ったエクステント(ソースエクステント)と,計算機1B側で取得したエクステント(目的エクステント)とを参照し,ディスク装置2のエクステント間でデータコピーを行う。下位のディスク装置2がエクステント間のデータコピー機能(図1のエクステント間データ移動機能20)を有している場合には,ディスク装置2のその機能により,このような機能がない場合には,データ交換プログラム11Bがソースエクステントのデータを読み,目的エクステントに書き込むことにより行う(S36)。
【0080】
(12)エクステント抽出・変換プログラムインタフェース部12Bに,上記(8) で確保したバッファ開始アドレスを指定してエクステント抽出終了要求を出す(S37)。
【0081】
(13)ファイルをクローズし,計算機1Aのデータ交換プログラム11Aに正常応答を返し,終了する(S38)。
【0082】
[ファイルアクセス]
異なる計算機上のファイルデータ(例えば,計算機1BのOS13Bが作成したファイルのデータ)を,計算機1Aのユーザプログラム10Aがディスク装置2から直接アクセスする機能である。この場合,計算機1AのOS13Aを変更できることが前提となる。ただし,計算機1BのOS13Bは変更する必要はない。
【0083】
計算機1AのOS13Aを変更し,計算機1B配下のファイルをアクセスする機能(ファイルシステムA)を組み込む。計算機1B上ではデータ交換プログラム11Bを動作させる。
【0084】
計算機1A上のユーザプログラム10Aが計算機1B上のファイルに対するアクセスを要求した場合,ファイルシステムAは,以下のように動作する。なお,計算機1B上のファイルであるかどうかを識別する方法としては,ファイル名規約を利用するなどが考えられる。
【0085】
a.ファイルシステムAの処理
図9に,計算機1AのOS13Aに組み込まれるファイルシステムAの処理の概要を示す。
【0086】
(1) ユーザプログラム10Aからファイルのアクセスを要求されると,ファイル名規約などにより,自計算機1AのOS13Aが管理するファイルであるか,他計算機1BのOS13Bが管理するファイルであるかを識別し,もし自計算機1AのOS13Aが管理するファイルであれば,従来と同様なファイルアクセスを行い,他計算機1BのOS13Bが管理するファイルであれば,以下の処理を行う(S41)。
【0087】
(2) 他計算機1B配下のファイルに対するアクセス要求である場合,計算機1B上のデータ交換プログラム11Bにファイル名とオフセット,サイズを渡し,エクステントの抽出を依頼する(S42)。
【0088】
(2) 計算機1Bのデータ交換プログラム11Bから返されたエクステント情報を受け取る(S43)。
【0089】
(3) 受け取ったエクステント情報を用いてディスク装置2に直接アクセスするI/O命令を組み立て,デバイスドライバに入出力要求の実行を指示し,要求されたファイルに対する読み込み(read)または書き込み(write)を実行する(S44)。
【0090】
b.データ交換プログラム11Bの処理
計算機1A上のファイルシステムAからエクステントの抽出要求を受けた計算機1B上のデータ交換プログラム11Bは,[ファイル転送]の項で述べたのとほぼ同じ処理を行い,エクステント情報を応答する。データ交換プログラム11Bには,read,writeの種別が渡され,OS13Bのファイルシステムに対しダミーの読み込みあるいは書き込みを行う。最適化のため,エクステントの抽出は,アクセス要求が発生する度に行うのではなく,ファイルがオープンされた時に行うということも考えられる。
【0091】
[ファイル交換]
このファイル交換の機能は,既存のOSを修正することができない異なる二つのシステム間でファイルデータをディスク装置2を介して直接共用する方式である。このファイル交換では,システムのバッファを介してデータがアクセスされる場合(すなわち,同じディスクブロック上にユーザデータと制御データとが混在するファイル形式の場合)には,共用対象とすることはできない。
【0092】
以下では,ファイルを作成したシステムを計算機1B,そのファイルをアクセスするシステムを計算機1Aとした例について説明する。図10は,このときの計算機1Aのアプリケーションとして動作するデータ交換プログラム1Aの処理の概要を示している。
【0093】
データ交換は,計算機1A上で動作しているデータ交換プログラム11Aに,ユーザまたはユーザプログラム10Aが,データ(ファイル)交換開始指示を与えることにより開始される。データ交換プログラム10Aによりデータ交換開始の処理が行われると,次に,データ交換終了が指示されるまでの間,計算機1Aのユーザプログラム10Aなどから計算機1Bで作成したファイルがアクセス可能となる。データ交換プログラム11Aは,以下の処理を行う。
【0094】
a.データ交換プログラム11Aの処理
(1) ファイル交換に関する要求がデータ交換終了要求か開始要求かを判別し(S51),データ交換終了要求であれば,ステップS57へ進む。そうでなければ,ユーザからコマンドによって指示されたデータ交換開始要求,またはユーザプログラム10Aからの指示によるデータ交換開始要求を受ける(S52)。
【0095】
(2) データ交換開始要求を受けると,データ交換プログラム11Aは,計算機1Bのデータ交換プログラム11Bにエクステント抽出要求を送り,ファイルサイズとエクステント情報(エクステント情報EB)を得る(S53)。この際,OS13Bのバッファを介して読み込まれたデータが存在した場合,すなわち,ディスクブロック内にOS13Bのみが知り得る制御データとユーザデータとが混在する場合,ユーザにデータ交換失敗を応答する。
【0096】
(3) データ交換プログラム11Aは,データ交換プログラム11Bから応答されたファイルサイズ分の大きさのファイルを,ユーザが指定した名前で作成し,エクステント抽出・変換プログラムインタフェース部12Aを介して,作成したファイルのエクステント情報EAを求める(S54)。このときのバッファのとり方,エクステントの抽出方式は,ファイル転送で説明した方式に準じる。すなわち,エクステント抽出・変換プログラムインタフェース部12Aにエクステント抽出開始要求,抽出エクステント取得要求,エクステント抽出終了要求を出すことにより,エクステント情報EAを得る。
【0097】
(4) 自計算機1A内で抽出したエクステント情報EAと,計算機1Bから通知されたエクステント情報EBのペアの配列(変換表)をパラメータとして,エクステント抽出・変換プログラムインタフェース部12Aにエクステント変換開始要求を行う(S55)。
【0098】
(5) ユーザまたはユーザプログラム10Aにデータ交換成功を応答する。以後,計算機1Aのユーザプログラム10Aまたは他のユーザプログラムが,OS13Aを介して,ファイル交換の対象となったファイルをアクセスすると,エクステント抽出・変換プログラムインタフェース部12Aおよびエクステント抽出・変換プログラム主処理部14Aによるエクステント抽出・変換機構を介して,計算機1Bのファイルデータが,他の計算機1BのOS13Bを介することなく直接アクセスされることになる(S56)。
【0099】
(6) ユーザまたはユーザプログラム10Aが,データ交換プログラム11Aにデータ交換の終了を通知すると(S51),データ交換プログラム11Aは,エクステント抽出・変換プログラムインタフェース部12Aにエクステント変換終了要求を行い(S57),その後,ステップS54において作成したダミーのファイルを消去し,データ交換が終了した旨の応答を,ユーザまたはユーザプログラム10Aに返す(S58)。
【0100】
図11は,ファイルへのデータの格納形態(ファイル形式)の例を示す。上記の説明では,図11(A)に示すように,ディスクブロック50内に,ユーザが書き込んだデータD1のみが存在する例について主に説明した。
【0101】
しかし,OS13Aのファイルシステム/ファイル形式によっては,ディスクブロック内にOS13Aがユーザデータとは別に制御データを付加して格納する場合がある。図11(B)が,その例であり,ディスクブロック50内にOS13Aが付加した制御データC2とユーザプログラム10AがアクセスするユーザデータD2とが混在している。
【0102】
この場合,図11(C)に示すように,ディスクブロック50に対するread要求に対して,OS13Aは,ダイレクトI/Oモードであっても,OS13Aがユーザバッファ51とは別に確保したOSのバッファ52に,一旦ディスクブロック50の内容を読み込み,その後にユーザデータD2のみを抽出してユーザバッファ51に転送する。
【0103】
データの書き込み(write)の場合も同様であり,OS13Aがユーザデータに制御データを付加しないときには,図11(D)に示すように,ユーザバッファ51の内容であるデータD3を,そのままディスクブロック50に書き込むが,OS13Aがユーザデータに制御データを付加する場合には,図11(E)に示すように,OSのバッファ52内で書き込み要求があったユーザデータD4に,OS13Aが作成した制御データC4を付加し,これをディスクブロック50に書き込む。
【0104】
このようなケースでは,OS13Aが付加した制御データを他の計算機に対して意識させない必要がある。このときの制御データは,OSのファイルシステムに依存するからである。したがって,異種計算機間のファイル転送,ファイルアクセスにおいては,制御データが付加されたデータであっても,ユーザデータだけにアクセスさせる必要がある。
【0105】
このため,ファイル転送では,次のように処理する。前述したデータ交換プログラム10Aが行う処理について補足説明する。まず,エクステント抽出・変換プログラムインタフェース部12Aにエクステント抽出を依頼したとき,エクステント抽出・変換プログラムインタフェース部12Aから戻されたデータから,制御データが混在するデータか,ユーザデータのみのデータかを分析する。これは,OS13Aが提供するAPIを使い,ユーザバッファ51にファイルの読み込み要求をしたときに,ユーザバッファ51に正しいデータが読み込まれているか否か(すなわち,エクステント抽出・変換プログラム主処理部14Aでインタセプトされ,データが読み込まれなかったかどうか)を調べることによって,判別することができる。
【0106】
ユーザバッファ51に正しいデータが読み込まれていたとすると,これはOS13Aが内部バッファ(OSのバッファ52)を介して読み込んだデータと考えられ,制御データが付加されたデータである。なぜなら,エクステント抽出開始要求では,OSのバッファ52のアドレスは指定されていないため,OSのバッファ52を指定したアクセス要求は,エクステント抽出・変換プログラム主処理部14Aによってインタセプトされないからである。
【0107】
一方,OS13Aからデバイスドライバへのユーザバッファ51に対するアクセス要求の場合には,事前のエクステント抽出開始要求に伴うインタセプト開始要求によって,エクステント抽出・変換プログラム主処理部14Aにより要求がインタセプトされるため,実際のデータの読み込みは行われない。したがって,このときのバッファアドレスを調べれば,図11(A)に示すようなケースと図11(C)に示すようなケースとを判別することができる。
【0108】
エクステント情報をもとにディスク装置2内でのデータコピーを行うデータ交換プログラム11Bにおいても同様に判別することができ,OS13Aから通知された情報をもとに,実際にコピー元から読み出したデータのうちユーザデータのみを抽出して処理すれば,OS13Aが付加した制御データを削除した形で,ファイルデータを書き込み(このとき必要であればOS13Bの制御データを付加する),ディスク装置2への直接的なアクセスでファイル転送を実現することができる。
【0109】
ファイルアクセスの場合にも,ファイルシステムが相手のデータ交換プログラムから受け取ったエクステント情報およびデータをもとに,対処することが可能である。
【0110】
図1に示すディスク装置2に対して,計算機1A,計算機1Bが直接アクセスすることができるようなシステム構成として,例えば図13で説明したような既知のストレージエリアネットワークを利用することができる。図1の例では,ディスク装置2を1台のみ示しているが,もちろん複数台あってもよい。
【0111】
ファイル交換の場合でも,この部分のアクセスはデバイスドライバを介して他のノードに依頼することで,前記制約を取り除くことができる。
【0112】
【発明の効果】
以上説明したように,本発明によれば,異なるタイプのOSで動作する複数コンピュータ間で,各OSのディスク上へのデータ配置方式が不明であっても,ファイルを高速に交換あるいは共用することができるようになる。特に,既存のOSの基本的な部分に大きな改良を加えることなく高速なデータ交換を実現できるので,異なるタイプのOSが多数存在する場合にも,それぞれのシステムにおいて容易に対処することが可能である。
【図面の簡単な説明】
【図1】本発明のシステム構成例を示すブロック図である。
【図2】ある計算機のファイルを異なるOSが動作する計算機に転送する処理の概要を示す図である。
【図3】異なるOSが動作する他の計算機が作成したファイルを,直接アクセスするときの処理の概要を示す図である。
【図4】異なるOSが動作する計算機間でファイルを共用するファイル交換の処理の概要を示す図である。
【図5】エクステント抽出・変換プログラムインタフェース部の処理の概要を示す図である。
【図6】エクステント抽出・変換プログラム主処理部の処理の概要を示す図である。
【図7】ファイル転送のときの送信側のデータ交換プログラムの処理の概要を示す図である。
【図8】ファイル転送のときの受信側のデータ交換プログラムの処理の概要を示す図である。
【図9】他の計算機が作成したファイルをアクセスするためのOSに組み込まれるファイルシステムの処理の概要を示す図である。
【図10】ファイル交換のときのデータ交換プログラムの処理の概要を示す図である。
【図11】ファイルへのデータの格納形態(ファイル形式)の例を示す図である。
【図12】従来技術によるデータ交換の例を説明する図である。
【図13】ディスク装置を複数の計算機が共用する従来技術の例を示す図である。
【符号の説明】
1A,1B 計算機
10A,10B ユーザプログラム
11A,11B データ交換プログラム
12A,12B エクステント抽出・変換プログラムインタフェース部
13A,13B オペレーティング・システム(OS)
14A,14B エクステント抽出・変換プログラム主処理部
2 ディスク装置
20 エクステント間データ移動機能
3 ディスクインタフェース
Claims (6)
- 異なるタイプのオペレーティング・システムが動作する第1の計算機および第2の計算機間で,第1の計算機のオペレーティング・システムが作成したファイルを第1の計算機から第2の計算機へ転送するデータ交換方式であって,
前記第1の計算機にて,ファイルの外部記憶装置上での存在場所を示すエクステント情報を,ファイルを管理するオペレーティング・システム内のプログラムであるファイルシステムに無依存に抽出する手段と,
前記第1の計算機が抽出したエクステント情報を,ネットワークを介して前記第1の計算機から前記第2の計算機へ送信する手段と,
前記第2の計算機にて,前記外部記憶装置に対応して用意されるプログラムであって,オペレーティング・システムからの入出力要求を解析し,前記外部記憶装置への入出力を実行するプログラムによって,前記受信したエクステント情報をもとに,前記外部記憶装置に直接アクセスすることにより,前記ファイル内のデータをコピーしファイル転送を実現する手段とを備える
ことを特徴とする異種計算機間高速データ交換方式。 - 請求項1に記載の異種計算機間高速データ交換方式において,
前記外部記憶装置への入出力を実行するプログラムは,前記第2の計算機のファイルシステムによって作成されたファイルの外部記憶装置上での存在場所を示すエクステント情報と,前記第1の計算機のファイルシステムによって作成されたファイルの外部記憶装置上での存在場所を示すエクステント情報とを切り替えて,前記第1の計算機のファイルシステムによって作成されたファイルへのアクセスを実行する手段として,前記第2の計算機を機能させるものである
ことを特徴とする異種計算機間高速データ交換方式。 - 異なるタイプのオペレーティング・システムが動作する複数の計算機間で,オペレーティング・システムの管理するファイルを共用するデータ交換方式であって,
他の計算機のオペレーティング・システムが管理するファイルのエクステント情報を前記他の計算機に要求し,そのエクステント情報を取得する手段と,
前記他の計算機から取得したエクステント情報を用いて,そのファイルが存在する外部記憶装置に直接アクセスすることによりファイル共用を実現する手段とを備える
ことを特徴とする異種計算機間高速データ交換方式。 - 異なるタイプのオペレーティング・システムが動作する複数の計算機間で,オペレーティング・システムの管理するファイルを共用するデータ交換方式であって,
他の計算機のオペレーティング・システムが管理するファイルのエクステント情報を前記他の計算機に要求し,そのエクステント情報を取得する手段と,
前記ファイルに対応させる自計算機のオペレーティング・システムが管理するファイルを作成し,そのエクステント情報を取得する手段と,
前記他の計算機のオペレーティング・システムが管理するファイルについては,前記他の計算機から取得したエクステント情報を用いてアクセスし,自計算機のオペレーティング・システムが管理するファイルについては,ファイル作成時に取得したエクステント情報を用いてアクセスすることにより,外部記憶装置上のファイル共用を実現する手段とを備える
ことを特徴とする異種計算機間高速データ交換方式。 - 異なるタイプのオペレーティング・システムが動作する複数の計算機間で,オペレーティング・システムの管理するファイルを共用,転送または交換することを可能とするデータ交換方式を実現するためのプログラムを記録した記録媒体であって,
ファイルを共用,転送または交換するアプリケーションであるデータ交換プログラムと,外部記憶装置へのアクセスを実行するデバイスドライバとのインタフェースのためのアプリケーションプログラムとして動作し,
前記データ交換プログラムからエクステント抽出開始要求を受けたときに,前記デバイスドライバに対しインタセプト開始要求を送り,その後の前記データ交換プログラムからの抽出エクステント取得要求に対し,前記デバイスドライバからエクステント情報を取得して前記データ交換プログラムへ返す処理と,
前記データ交換プログラムからエクステント変換開始要求を受けたときに,前記データ交換プログラムが指定した変換元エクステント情報と前記抽出エクステント取得要求で取得した変換先エクステント情報のペアの情報を前記デバイスドライバへ送り,その後の該当する外部記憶装置へのアクセスに対して前記デバイスドライバに変換元エクステント情報を変換先エクステント情報に変換してアクセスを実行させる処理とを,
計算機に実行させるプログラムを記録した
ことを特徴とするエクステント抽出・変換プログラム記録媒体。 - 異なるタイプのオペレーティング・システムが動作する複数の計算機間で,オペレーティング・システムの管理するファイルを共用,転送または交換することを可能とするデータ交換方式を実現するためのプログラムを記録した記録媒体であって,
外部記憶装置に対応して用意されるプログラムであって,オペレーティング・システムからの入出力要求に対して外部記憶装置へのアクセスを実行するデバイスドライバとして動作し,
ファイルを共用,転送または交換するアプリケーションであるデータ交換プログラムからの要求を受け付けるインタフェース部が発行するインタセプト開始要求に対し,前記インタフェース部が指定したバッファ領域の位置情報を記憶する処理と,
前記バッファ領域に対するオペレーティング・システムが発行した入出力要求をインタセプトし,そのエクステント情報を蓄積する処理と,
前記インタフェース部からの抽出エクステント取得要求に対し,前記インタフェース部が指定したバッファ領域に関して蓄積されたエクステント情報を前記インタフェース部へ返す処理と,
前記インタフェース部からのエクステント変換開始要求に対し,前記インタフェース部が指定した変換元エクステント情報と前記抽出エクステント取得要求で取得した変換先エクステント情報のペアの情報を記憶し,その後の外部記憶装置へのアクセスに対して前記記憶した変換元エクステント情報と変換先エクステント情報のペアの情報に基づいてエクステント情報を変換したアクセスを実行する処理とを,
計算機に実行させるプログラムを記録した
ことを特徴とするエクステント抽出・変換プログラム記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26172999A JP4057201B2 (ja) | 1999-09-16 | 1999-09-16 | 異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体 |
US09/612,972 US6633904B1 (en) | 1999-09-16 | 2000-07-10 | Fast data exchange system between different type computer and medium storing program of extent information and transformation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26172999A JP4057201B2 (ja) | 1999-09-16 | 1999-09-16 | 異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001084168A JP2001084168A (ja) | 2001-03-30 |
JP4057201B2 true JP4057201B2 (ja) | 2008-03-05 |
Family
ID=17365908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26172999A Expired - Fee Related JP4057201B2 (ja) | 1999-09-16 | 1999-09-16 | 異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6633904B1 (ja) |
JP (1) | JP4057201B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1320483C (zh) | 2001-09-21 | 2007-06-06 | 泛伺服公司 | 用于在多节点环境中实施日志处理的***和方法 |
US7367029B2 (en) * | 2002-08-01 | 2008-04-29 | Xerox Corporation | Method and system for handling data |
KR100464349B1 (ko) * | 2002-08-08 | 2005-01-03 | 삼성전자주식회사 | 디바이스 드라이버 제어 공통화 방법 |
US7120654B2 (en) * | 2002-08-20 | 2006-10-10 | Veritas Operating Corporation | System and method for network-free file replication in a storage area network |
US7716184B1 (en) * | 2003-06-12 | 2010-05-11 | Symantec Operating Corporation | System and method for performing sparse backups |
US8239477B2 (en) * | 2005-07-08 | 2012-08-07 | Cisco Technology, Inc. | Apparatus and methods for controlling a data tapping session in a storage area network |
WO2007099636A1 (ja) * | 2006-03-02 | 2007-09-07 | Fujitsu Limited | ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置 |
JP2008077478A (ja) * | 2006-09-22 | 2008-04-03 | Hitachi Ltd | 記憶装置制御装置、記憶装置制御方法、ストレージ装置およびストレージ装置による記憶装置制御方法 |
JP5723812B2 (ja) * | 2012-03-16 | 2015-05-27 | 株式会社 日立産業制御ソリューションズ | ファイルサーバ、データ入出力方法、i/oフックモジュールプログラム及びi/o代行デーモンプログラム |
US8943105B1 (en) * | 2014-06-02 | 2015-01-27 | Storagecraft Technology Corporation | Exposing a proprietary disk file to a hypervisor as a native hypervisor disk file |
US9075649B1 (en) | 2015-01-26 | 2015-07-07 | Storagecraft Technology Corporation | Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03149614A (ja) * | 1989-08-31 | 1991-06-26 | Univ California | 情報処理システム及び記憶処理方法 |
US5640592A (en) * | 1994-09-30 | 1997-06-17 | Mitsubishi Kasei America, Inc. | System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer |
JP3311540B2 (ja) * | 1995-04-28 | 2002-08-05 | 富士ゼロックス株式会社 | データ管理システム |
US5911776A (en) * | 1996-12-18 | 1999-06-15 | Unisys Corporation | Automatic format conversion system and publishing methodology for multi-user network |
US5987477A (en) * | 1997-07-11 | 1999-11-16 | International Business Machines Corporation | Parallel file system and method for parallel write sharing |
US6393442B1 (en) * | 1998-05-08 | 2002-05-21 | International Business Machines Corporation | Document format transforations for converting plurality of documents which are consistent with each other |
-
1999
- 1999-09-16 JP JP26172999A patent/JP4057201B2/ja not_active Expired - Fee Related
-
2000
- 2000-07-10 US US09/612,972 patent/US6633904B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6633904B1 (en) | 2003-10-14 |
JP2001084168A (ja) | 2001-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9811463B2 (en) | Apparatus including an I/O interface and a network interface and related method of use | |
JP4704161B2 (ja) | ファイルシステムの構築方法 | |
JP4175764B2 (ja) | 計算機システム | |
US8504648B2 (en) | Method and apparatus for storage-service-provider-aware storage system | |
US6073209A (en) | Data storage controller providing multiple hosts with access to multiple storage subsystems | |
JP4303688B2 (ja) | データアクセス応答システムおよびデータアクセス応答システムへのアクセス方法 | |
CN101419535B (zh) | 虚拟机的分布式虚拟磁盘*** | |
JP4141143B2 (ja) | 仮想ボリューム・ストレージ | |
US6606651B1 (en) | Apparatus and method for providing direct local access to file level data in client disk images within storage area networks | |
US20020178143A1 (en) | Storage system, a method of file data backup and method of copying of file data | |
US20050038850A1 (en) | Storage system, and data transfer method for use in the system | |
JP2005535019A (ja) | ストレージ管理ブリッジ | |
JP4057201B2 (ja) | 異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体 | |
US20090112811A1 (en) | Exposing storage resources with differing capabilities | |
JP2002014777A (ja) | データ移行方法並びにプロトコル変換装置及びそれを用いたスイッチング装置 | |
JP2008527511A (ja) | データ記憶装置 | |
US8627446B1 (en) | Federating data between groups of servers | |
US6549988B1 (en) | Data storage system comprising a network of PCs and method using same | |
US7275064B2 (en) | Apparatus for managing virtualized-information | |
JP4345309B2 (ja) | ネットワークストレージ装置 | |
JP4327869B2 (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
JP4150854B2 (ja) | ストレージエリアネットワーク上の共有ディスク装置へのアクセスシステム及びそのクライアント | |
JP4005102B2 (ja) | ゲートウェイ装置 | |
JP2005032171A (ja) | データ共有のための機能モジュール間通信制御システム,機能モジュール間通信制御方法,機能モジュール間通信制御プログラムおよびその記録媒体 | |
WO2015194027A1 (ja) | 計算機システム、データ更新方法、および仮想化サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071022 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071022 |
|
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: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071213 |
|
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: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |