JPH0922398A - 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 - Google Patents
分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法Info
- Publication number
- JPH0922398A JPH0922398A JP17079695A JP17079695A JPH0922398A JP H0922398 A JPH0922398 A JP H0922398A JP 17079695 A JP17079695 A JP 17079695A JP 17079695 A JP17079695 A JP 17079695A JP H0922398 A JPH0922398 A JP H0922398A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- computer
- shared
- area
- storage space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
とせず、計算機間での共有空間のデータ転送を高速に実
行できる、効率のよい分散計算機システムにおける記憶
空間管理方法を提供する。 【課題】 複数の計算機をネットワークにより提供され
る仮想回線で結合してなる分散計算機システムにおける
記憶空間管理方法であって、一方の計算機が管理する仮
想記憶空間または実記憶空間の全部または一部の領域
と、他方の計算機が管理する仮想記憶空間または実記憶
空間の全部または一部の領域とを共有化し、共有化した
前記領域間ごとに前記仮想回線を専用に設定しておき、
共有化した一方の計算機の前記領域と他方の計算機の前
記領域との間でデータ転送を行なうにあたっては、当該
共有化した領域間に専用に設定しておいた前記仮想回線
を用いることを特徴とする。
Description
機構を有する複数の計算機システムを相互にATM(非
同期転送モード)等のネットワークを介して接続してな
る分散計算機システムにおける仮想記憶空間管理方法お
よび計算機システムに関する。
技術の進歩により、一連の処理を分割し、複数の計算機
上でプログラムを動作させ、通信しながら協調して処理
を進めていく分散処理が一般化してきている。
算機システムをつくる構成は、種々存在する。例えば、
DEC社のVAX−Clusterは、通信チャネルを
介して相互に直接結合した構成で実現されてきた。これ
は、専用の特別のハードウェアで実装されていた。ま
た、高速通信を実現するため、計算機相互の距離は短く
し、計算機相互を隣接させて設置することが必要であっ
た。また、1つのシステムバス上に、複数のプロセッサ
を載せたハードウェア構成のマルチプロセッサシステム
もある。
り、高速なネットワーク装置が標準化され安価に提供さ
れつつある。その代表例が、ATMを利用したネットワ
ークである。このATMネットワークは、高速なスイッ
チ型交換機で実装され、WAN環境からLAN環境にい
たるまで、幅広い範囲で利用できるように、通信プロト
コルが定められている。例えば、呼設定、フロー制御、
ふくそう制御、エラー検出、QoS(Quality
of Service)管理などである。
機を相互に接続して構成した分散計算機システムがあ
る。この方式によれば、上述のクラスタ接続やシステム
バスによる方式と異なり、特別なハードウエアが必要な
いので安価に実装できる利点がある。
る場合、問題点が生じる。従来の通信方法では、計算機
上の基本ソフトウェアであるOS(オペレーティングシ
ステム)内等で、計算機用のネットワークプロトコル処
理、例えばTCP/IPを用いて通信を行う。例えば、
TCP/IP方式でこのATMを利用すると、ATMは
単なる回線のごとく見なされ、ATMの特質を生かせな
い。計算機内ですべての通信プロトコル処理を行うの
で、処理が重く通信効率が悪いという欠点が生じる。
て説明する。従来の計算機においては、プログラム内に
書かれた仮想アドレスは、ページテーブル等のアドレス
変換機構によって、物理アドレスに変換され、変換され
た物理アドレスを用いて、計算機内の実メモリがアクセ
スされる。
について説明する。計算機内の実メモリは、使用効率を
高めるため、512〜8Kバイトのページと呼ばれる単
位ごとに管理され使用される。個々のページは、「ペー
ジ・フレーム」と呼ばれる。
を特定するために「フレーム番号」が必要であり、ペー
ジ内の位置を特定するために「オフセット」が必要であ
る。従って、実メモリをアクセスするために用いる「物
理アドレス」は、「フレーム番号」と「オフセット」の
組からなる。
ーム番号」と「オフセット」の2つの部分に分割するこ
とができる。仮想アドレスから物理アドレスへの変換の
際、仮想アドレスのオフセット部分は、変換されず、そ
のまま、物理アドレスのオフセット部分となる。
ブルの仮想フレーム番号に対応するページテーブル・エ
ントリ内に、変換後の(ページ)フレーム番号が書かれ
ており、ページテーブルを参照することによって、仮想
フレーム番号から(ページ)フレーム番号に変換するこ
とができ、従って、仮想アドレスから物理アドレスへの
変換を行うことができる。
レスから物理アドレスへの変換は頻繁に行われるが、こ
の変換の際に用いるページテーブルが実メモリ上に存在
する場合、変換の都度、実メモリをアクセスしなければ
ならず、変換に時間がかかる。これを解決するため、仮
想アドレスから物理アドレスへの変換に用いたページテ
ーブル・エントリを、プロセッサ内のTLB(Tran
slation Lookaside Buffer)
と呼ばれるページテーブル・エントリ・キャッシュに格
納する技術がある。これにより、その直後に同じ仮想フ
レームを変換する際には、実メモリをアクセスするより
も高速なTLBをアクセスすれば良いことになる。
フレームに属するデータをアクセスする場合について説
明する。ページテーブル・エントリは、「存在ビット」
を持つ。存在ビットが1の場合、対応するページ・フレ
ームは実メモリ上にロードされていることを意味する。
ージ・フレームは実メモリ上にロードされていないこと
を意味する。存在ビットが0のページテーブル・エント
リをアクセスすると、ページ・フォールトが発生し、O
S(オペレーティング・システム)が、対応するページ
・フレームを作成し、データを実メモリ上にロードしな
ければならない。
X OSにおいて、ファイルシステムでのi−node
等のテーブルを参照することによって、該当するデータ
のハードディスク上での位置を特定し、必要な量のデー
タをハードディスクから実メモリへと転送する。
位置を効率よく知るために、上記データが格納されたハ
ードディスク上でのセクタ番号等の情報を、ページテー
ブル・エントリに書き込むことによって、i−node
等のテーブルを参照するオーバーヘッドを無くすことが
できる。
源をアクセスする場合について説明する。自分の計算機
にないファイル等の資源のうち、以前に該資源を所有す
る計算機からネットワークを経由して転送した部分につ
いては、実メモリ上にキャッシュされたデータが残って
いる場合、対応するページテーブル・エントリの「存在
ビット」は1であり、ページテーブル・エントリに書か
れたフレーム番号を用いて、実メモリをアクセスし、該
当データにアクセスすることができる。
実メモリ上にキャッシュされたデータが残っていない場
合は、対応するページテーブル・エントリの「存在ビッ
ト」は0であり、上記資源を所有する計算機からネット
ワークを経由して対応する部分を転送し実メモリ上にロ
ードしなければならない。
レームをアクセスするごとに、下記の参考文献〜で
解説されているような種々のテーブルを参照し、上記資
源を所有する計算機を特定し、その計算機に対し、対応
するデータの転送を要求するので、効率が悪いといった
問題点があった。
については、例えば、「岩波講座マイクロエレクトロニ
クス8:VLSIコンピュータI」(元岡 達編)の
p.219〜p.222に詳しい。 TLBの動作については、例えば、「岩波講座マイク
ロエレクトロニクス8:VLSIコンピュータI」(元
岡 達編)のp.208に詳しい。 ネットワークを経由して、他の計算機にアクセスする
際に行われる手順については、例えば、「オペレーティ
ングシステムの設計II Xinuによるインターネッ
トワークの構築」(啓学出版、ダグラス・カマー著)に
詳しい。
ステムにおいて計算機間が共有する記憶空間の間でデー
タ転送を行なうおうとすると、専用のハードウェアが必
要となり、システム構成上、コストの点や柔軟性の点で
不利であった。また、既存のネットワークを用いて複数
の計算機を接続しただけでは、データ転送に時間がかか
り、効率的な記憶空間の共有が困難であった。
のであり、計算機側に複雑で効率の悪い通信プロトコル
処理を必要とせず、計算機間での共有空間のデータ転送
を高速に実行できる、効率のよい分散計算機システムに
おける記憶空間管理方法、計算機及びデータ転送方法を
提供することを目的とする。
複数の計算機をネットワーク(例えばATMネットワー
ク)により提供される仮想回線で結合してなる分散計算
機システムにおける記憶空間管理方法であって、一方の
計算機が管理する仮想記憶空間または実記憶空間の全部
または一部の領域と、他方の計算機が管理する仮想記憶
空間または実記憶空間の全部または一部の領域とを共有
化し、共有化した前記領域間ごとに前記仮想回線を専用
に設定しておき、共有化した一方の計算機の前記領域と
他方の計算機の前記領域との間でデータ転送を行なうに
あたっては、当該共有化した領域間に専用に設定してお
いた前記仮想回線を用いることを特徴とする。
ットワークにより提供される仮想回線で結合してなる分
散計算機システムにおける計算機であって、仮想記憶空
間の仮想アドレスと対応する実記憶空間の物理アドレス
またはデータを所有する計算機(オーナー計算機)にア
クセスするための情報とを組にして登録したページテー
ブルを用いて仮想記憶空間を管理する手段と、仮想記憶
空間の全部または一部の領域と、他の計算機が管理する
仮想記憶空間または実記憶空間の全部または一部の領域
とを共有化するため、共有化する領域間ごとに前記仮想
回線を専用に設定することを指示する手段と、前記仮想
回線を専用に設定した前記領域に対応する前記ページテ
ーブルのエントリに、前記データを所有する計算機(オ
ーナー計算機)にアクセスするための情報として、前記
仮想回線の仮想回線識別子を登録する手段と、共有化し
た前記領域間でデータ転送を行なうに先だって前記ペー
ジテーブルの該当するエントリに登録されている前記仮
想回線識別子を参照し、得られた仮想回線識別子を指定
し、当該共有化した領域間に専用に設定された前記仮想
回線を用いてデータ転送を行なう手段とを備えたことを
特徴とする、本発明(請求項3)は、上記発明(請求項
2)において、前記ページテーブルの前記仮想回線識別
子を記入する項目には、デフォルト値として、データと
これを所有する計算機との対応を管理するネームサーバ
に接続するのに用いる仮想回線識別子を記入しておくこ
とを特徴とする。
ットワークにより提供される仮想回線で結合してなる分
散計算機システムにおける計算機であって、実記憶空間
の全部または一部の領域と、他の計算機が管理する仮想
記憶空間または実記憶空間の全部または一部の領域とを
共有化するため、共有化する領域間ごとに前記仮想回線
を専用に設定する手段と、前記領域を共有化したときに
または共有化した前記領域を処理実体がアクセスする前
に、該領域間に専用に設定した前記仮想回線を用いてデ
ータ転送を行なう手段とを備えたことを特徴とする。
ットワークにより提供される仮想回線で結合してなる分
散計算機システムにおいて異なる計算機間で共有する仮
想記憶空間の領域間でデータを転送するためのデータ転
送方法であって、一方の計算機が管理する仮想記憶空間
の一部の領域と、他方の計算機が管理する仮想記憶空間
の一部の領域とを共有化するとともに、共有する仮想記
憶空間の1つの領域には複数の実メモリの領域を割当
て、共有化した前記仮想記憶空間の領域間ごとに前記仮
想回線を専用に設定し、前記仮想記憶空間の領域には、
実際に対応させる(マッピングする)実メモリの領域を
順次切り替え、前記仮想記憶空間の領域と現在対応して
いない(マッピングされていない)実メモリの領域間
で、前記仮想回線を用いてデータ転送を行い、データ転
送の完了した実メモリの領域を、前記仮想記憶空間の領
域に対応させる(マッピングする)ことを特徴とする。
ネットワーク(例えばATMネットワーク)を介して結
合した分散システムにおいて、仮想記憶空間または実記
憶空間の全部または一部を共有化し、共有領域ごとに専
用に設定しておいた仮想回線を利用して直接、高速なデ
ータ転送を行なうことができるので、計算機側には複雑
で効率の悪い通信プロトコル処理が必要とせず、効率的
な記憶空間の共有が実現できる。つまり、その共有空間
に対して参照や書き込み(read/write)が発
生しても、その都度、呼設定不要で、直にデータ転送が
できる。
御、エラー検出、QoS管理などデータ転送中の制御は
ネットワーク側(例えばATM交換機側)で対応してく
れるので、計算機側はその機能に不足する部分(例えば
データエラーにおける訂正や再送)だけ管理すればいい
ので、計算機側の処理が大幅に軽減する。
なネットワークを利用することによって、ある程度の距
離が離れた計算機どうしを結んで分散システムにできる
ので、構成の柔軟性が良い。
る資源にアクセスする場合、仮想アドレスを物理アドレ
スに変換する際に用いるページテーブルを参照するだけ
で、他の計算機へのコネクションを使用するために必要
な仮想回線識別子(VPI/VCI値等)を得ることが
できる。
ち、必要な大きさのデータブロックの転送を要求する場
合、従来のように種々のテーブルを参照することなく、
ページテーブルから得られた仮想回線識別子を用いてデ
ータ転送の要求セルを作成することができ、効率良く要
求セルを作成することができる。
ルの前記仮想回線識別子を記入する項目にデフォルト値
として、データとこれを所有する計算機(オーナー計算
機)との対応を管理するネームサーバに接続するのに用
いる仮想回線識別子を記入しておけば、データを所有す
る計算機(オーナー計算機)を知る必要が生じた際に、
該当するページテーブル・エントリに書き込まれている
仮想回線識別子を用いて、速やかにネームサーバに問い
合わせを行なうことができる。
実記憶空間の全部または一部の領域と、サーバ計算機の
仮想記憶空間または実記憶空間の全部または一部の領域
とを共有化する場合、クライアント側の共有領域には、
すでに実記憶空間(実メモリ)が割り当てられているの
で、ページフォルトは発生しない。この場合、クライア
ント側での実際のアクセスが発生した時にデータ転送す
るのではなく、仮想回線の設定時に、引き続いてデータ
転送を行う(すなわちクライアント側のアクセスとは無
関係である。) したがって、ユーザプログラムやスレッド等の処理実体
が仮想記憶空間にアクセスしたときには、既に実記憶空
間(実メモリ)が割り当てられているので、ページフォ
ルトが発生せず、ページフォルト処理が不要になり、即
座にデータをアクセスできる。したがって、例えば、リ
アルタイム処理等の高速なユーザプログラムの実行が可
能となる。
機の仮想記憶空間の一部の領域と、サーバ計算機の仮想
記憶空間の一部の領域とを共有化するとともに、共有す
る仮想記憶空間の1つの領域には複数の実メモリの領域
を割当て、仮想記憶空間の領域と現在対応していない
(マッピングしていない)実記憶空間間で専用の仮想回
線を用いてデータ転送を行うとともに、データ転送の完
了した実メモリの領域を仮想記憶空間の領域に対応させ
る(マッピングする)ように、実メモリの領域を順次切
り替えるので、計算機間で仮想記憶空間の領域の大きさ
単位に連続して高速にデータを転送することができる。
明の実施の形態について説明する。図1に、この実施の
形態に係る分散システム全体の基本構成を示す。この実
施の形態は、複数の計算機間の仮想記憶空間や実記憶空
間(実メモリ)相互を共有化することで分散システムを
構成し、その領域を相互に参照や書き込みを行うことで
通信を行ない、その相互通信にATMを利用するもので
ある。
高速LAN(Local AreaNetwork)で
あるATMネットワークである。ATM交換機3に複数
のホスト(計算機)1を結合して分散システムを構成し
ている。
定サーバ4が接続されている。呼設定サーバ4は、AT
Mネットワーク2中に1台だけ設けても良いし、複数台
設けて機能分担させても良い。
のATM交換機3を経由して他のホスト(計算機)との
間にコネクション(仮想回線)を設定することができ
る。ホスト1は、少なくとも1つのCPUとRAMなど
のメモリ(実メモリ)を備える計算機であり、ネットワ
ーク中で識別するためのアドレス等のような識別子を与
える単位である。また、各ホスト1は、プログラム,デ
ータ,ファイルなどを記憶しておくディスク装置を備え
ているものとする。
2には、ファイル等の資源とこれを所有する計算機との
対応等を管理するネームサーバ5を接続しても良い。ネ
ームサーバ5は、ATMネットワーク2中に1台だけ設
けても良いし、複数台設けて機能分担させても良い。ま
た、ネームサーバ5は、計算機1の中に設けても良い。
施の形態に係る計算機1の構成について説明する。図2
は、この実施の形態に係る計算機1内部の要部構成を示
す基本構成図であるとともに、2つの計算機1間をAT
Mの仮想回線で接続した状態を示している。また、図3
には、この計算機1内部の実際の物理構成の一例を示
す。
サ15、実メモリ14、仮想アドレス変換部13、ペー
ジテーブル16、ネットワーク・インターフェース制御
部12、ネットワーク・インターフェース11を備えて
いる。
ードディスク制御部を、19はハードディスクを、15
1はバスインタフェース部を、152はプログラムを実
行するエグゼキューション部を、153はTLB(Tr
anslation Lookaside Buffe
r)を示す。
は、物理構成上は実メモリ14上に格納され、ページテ
ーブル16の一部がプロセッサ15内のTLB153の
中にキャッシュされる。
ル16を参照して、プログラム等の実行時にアクセスさ
れた仮想アドレスを、これに対応する実メモリ14上の
データへの物理アドレスに変換する。なお、仮想アドレ
ス変換部13は、説明上、図2では物理構成上プロセッ
サ15外に存在するよう示し、図3では省略している
が、実際には、プロセッサ15内に存在させても良い
し、プロセッサ15外に存在させても良い。
ングシステム(OS)に関して説明を行う。計算機1に
は、分散システムを構成するために必要なオペレーティ
ングシステム(OS)を搭載している。このOSは、プ
ログラムやデータなどを配置するアドレス空間の管理方
式として仮想記憶空間を提供する。
中、21はネットワーク共有メモリ管理部を、22は仮
想記憶空間管理部を、23はネットワークページャを、
24はネットワーク管理部を、221は実メモリ管理部
を、222は仮想メモリ管理部を、16はページテーブ
ルを、241は呼設定部を、242は仮想回線管理部を
示す。なお、図4では、この実施の形態の説明に必要な
部分のみを示しており、そのほかの資源管理(スレッド
管理、割り込み管理、デバイス管理)は、従来の仮想記
憶方式のOSと同等のものでよく説明に不要なので省略
している。
・フレーム」(以下、フレームと略記する)と呼ばれる
512バイト〜8Kバイトを単位とした領域に分割され
ていて、実メモリ14上に存在するデータにアクセスす
る場合、該当データが含まれているフレームの「フレー
ム番号」と、そのフレームの先頭から該当データまでの
距離を示した「オフセット」を用いてアドレッシングさ
れる。「フレーム番号」と「オフセット」を併せたもの
を「物理アドレス」と呼ぶ。
に一意な「仮想アドレス」と呼ばれるアドレスを用いて
アドレッシングされているため、プログラムの実行時、
「仮想アドレス」から「物理アドレス」へ変換を行なわ
なければならない。
うな方法を用いる。仮想アドレスを、上位部分(以下、
「仮想フレーム」と呼ぶ)と、下位部分(以下、「オフ
セット」と呼ぶ)の2つの部分に分割し、下位部分の
「オフセット」はそのまま「物理アドレス」の「オフセ
ット」となるようにし、上位部分の「仮想フレーム」を
キーとしてページテーブル16を参照して「物理アドレ
ス」の「フレーム番号」に変換する。すなわち、ページ
テーブル16の仮想フレームに対応するエントリ・ポイ
ントに、予め、フレーム番号を書き込んだ「ページテー
ブル・エントリ」を書き込んでおき、変換時、仮想フレ
ームに対応するエントリ・ポイントに書かれた「ページ
テーブル・エントリ」を参照し、このページテーブル・
エントリに書かれたフレーム番号を読み出すことによっ
て、仮想フレームに対応する実メモリのフレーム番号を
得ることができる。
合は、対応するページテーブル・エントリの「存在ビッ
ト」を0とすることによって、仮想アドレスから物理ア
ドレスに変換するために、ページテーブル16をアクセ
スする際、ページ・フォルトを発生する(プロセッサ1
5に備わった機能)ことによって、該ページフレームに
属するデータ・ブロックを、ハードディスク等から実メ
モリに転送すると、ページテーブル・エントリに該ペー
ジフレームのフレーム番号を登録する処理ルーチンを起
動することができる。
レスによって、ATMやEthernet等のネットワ
ークで接続された他の計算機に属する資源にアクセスす
る場合、該他の計算機との間に設定されたコネクション
を使用するために必要な情報は、ページテーブル16に
は書かれておらず、上記情報を得ようとする場合、種々
のテーブルを参照して得なければならず効率が悪かっ
た。
ョンを使用するのに必要なVPI/VCI値といった仮
想回線識別子の情報をページテーブル16に書き込んで
おき、上記資源にアクセスするためページテーブル16
を参照した際に、上記情報をただちに得られるようにす
ることによって、高速化を図っている。
レームに対応するページテーブル・エントリを参照した
結果、ページテーブル・エントリの「存在ビット」が1
の場合は、仮想フレームに対応するページフレームは実
メモリ14中に存在し、ページテーブル・エントリに書
かれたフレーム番号を用いて物理アドレスに変換し、実
メモリ14をアクセスすることができる。一方、ページ
テーブル・エントリの「存在ビット」が0の場合で、ペ
ージテーブル・エントリに該資源を所有する他の計算機
の間に接続されたコネクションを使用するために必要な
VPI/VCI値といった情報が書き込まれている場
合、この書き込まれた情報を用いて、上記資源を所有す
る計算機に対し、仮想アドレスに対応するデータが含ま
れているデータ・ブロックの転送を要求することができ
る。
従来技術のものと同様である。つまり、仮想アドレス変
換部13内のページテーブル16の領域管理と各ページ
テーブル16内のページテーブル・エントリにパラメー
タをセットし、仮想アドレス変換部13により仮想アド
レスから物理アドレスへの変換ができるように設定を行
う。図5は、仮想記憶空間管理部22が扱うページテー
ブル16の一例である。以下、図5を参照しながら、ペ
ージテーブル16の構成例について説明する。
ト」、「処理中ビット」、「ハードディスクビット」、
「リモートホストビット」等の情報を格納する場合を示
したものである。
I値といった他の計算機間に接続されたコネクションを
使用するのに必要な情報」と「ハードディスク上のセク
ター番号」は、同じ場所(図の中では「フレーム番号」
と名前をつけた場所)に格納されている。「存在ビッ
ト」、「ハードディスクビット」、「リモートホストビ
ット」の値によって、同じ「フレーム番号」の場所に格
納された数値の意味が決まる。
ある。「処理中ビット」は、仮想フレームに対応するペ
ージテーブル・エントリに該当するページフレームの準
備が終了していない場合に1がセットされる。つまり、
ページテーブル・エントリに、VPI/VCI値等の情
報が書かれて、そのVPI/VCI値等を使用して、資
源を所有する計算機に対し、データの転送を要求し、処
理が未完了の場合や、ディスクからデータを転送の処理
中(未完了)などの場合である。処理中ビットに1をセ
ットすることによって、他のプログラム等が、同じペー
ジテーブル・エントリにアクセスし、再度二重に同じデ
ータの転送を要求することを防止することができる。
スク19中のデータが格納されているセクタ番号が、
「フレーム番号」欄に書かれていることを示す用途等に
使用することができる。
ブル・エントリの「フレーム番号」欄にかかれた数値
が、VPI/VCI値等の情報が書かれていることを示
し、VPI/VCI値等を使用して、資源を所有する計
算機に対し、データの転送を要求する場合などに利用す
る。
リモートホストかあるいはリモートホストを検索するた
めのネーム・サーバ5かを区別するためなどの用途にも
使用できる。
ーザプログラムなどからの要求により、ローカルホスト
(自ホスト)側の仮想記憶空間とリモートホスト側の仮
想記憶空間の共有化の設定や管理を行う。
によって、分散システムを構成することができる。つま
り、この機能を利用し、共有領域を設定すると、ユーザ
やアプリケーションプログラムからは、設定された仮想
記憶空間が他のホストと共有され、ここを参照したり、
書き込んだりして利用することを通して他のホストの資
源を利用できる。
いる仮想的なものであるので、実際には、各ホスト1の
上での仮想記憶空間管理部22で実現する。つまり、各
ホスト1ごとに、それぞれに仮想記憶空間を別々に管理
し保持しているが、ネットワーク共有メモリ管理部21
が、仮想記憶空間管理部22の該当する領域のページテ
ーブル・エントリに、予め共有されている旨の設定(仮
想回線の識別子の設定など)をしておく。実際にその領
域にアクセスがあると、仮想記憶空間管理部22から起
動されたネットワークページャ23が、他ホストのネッ
トワークページャ23と通信を行い、データを転送し、
仮想記憶空間の共有を実現する。
回線の管理を行うところであり、ネットワークインター
フェイス制御部12とネットワークインタフェース11
を扱う。
間で共有する領域どうしのデータを実際に転送する機能
であり、ネットワーク共有メモリ管理部21により作成
されたATMの仮想回線を用いてデータ転送する。クラ
イアント側は、仮想記憶空間管理部22から起動され、
サーバ側は、ネットワーク管理部24から起動される。
全体の概要を説明した。以下では、この分散システムの
処理の流れを次の2つに分けて説明する。 (1)共有領域の対応管理と仮想回線の設定 (2)共有領域のデータ転送 上記の(1)は、複数の計算機1間で、共有する領域の
設定とその共有関係を管理する処理である。概略的に
は、共有関係にある領域間で、ATMの呼設定を行い、
仮想回線を張っておく。その仮想回線の識別子を仮想記
憶空間管理部22のページテーブル16に登録してお
き、実際のデータ転送を行うときに利用する。
照や書き込みなどのアクセスが実際に発生し、共有する
計算機1どうしでデータの転送が必要になったときに、
ネットワークページャ23を用いてデータを転送する処
理である。上記の(1)の処理で既に仮想回線が張って
あるので、それを用いてデータ転送を行う。
仮想記憶空間そのものか、実記憶空間かによって、図6
に示す4種類の共有タイプが考えられる。以下では、こ
の分散システムを、4タイプの共有方法について説明す
る。
の仮想記憶空間の領域とサーバ側の仮想記憶空間の領域
を共有領域ごとにネットワーク接続により共有するもの
である(図7参照)。
の仮想記憶空間の領域とサーバ側の実記憶空間の領域を
共有領域ごとにネットワーク接続により共有するもので
ある(図14参照)。
の実記憶空間の領域とサーバ側の仮想記憶空間の領域を
共有領域ごとにネットワーク接続により共有するもので
ある(図15参照)。
の実記憶空間の領域とサーバ側の実記憶空間の領域を共
有領域ごとにネットワーク接続により共有するものであ
る(図16参照)。
領域間でATMの仮想回線を張ることになる。 <タイプ1>最初に、図6のタイプ1について説明す
る。図7に、タイプ1の概要を表す模式図を示す。
定 まず、タイプ1による仮想回線の設定を説明する。図8
には、フローチャートの一例を示す。
仮想記憶空間の領域とサーバ側の割当て済みの領域(つ
まり仮想記憶空間とファイル等の資源の対応が存在する
領域)の間を共有化する。
は、例えば、以下の方式がある。 (i)ユーザプログラムが、明示的に、仮想記憶空間を
管理するOSに対して、共有領域の範囲指定とその共有
する相手の計算機とその計算機での仮想記憶空間の領域
を指定する。つまり、実際のその領域の参照または書き
込みなどのアクセスが発生する前に指定する。
ング(UNIXシステムにおけるmmapシステムコー
ル)して利用する方式における、ファイルシステムの操
作におけるOPEN処理に相当する。共有相手の計算機
名や相手の領域は、プログラムが直接指定する場合もあ
るし、ネームサーバ5等からの指示であってもよい。
の共有相手の計算機とその相手の計算機上の仮想記憶空
間の領域を知っており(起動時に参照する設定ファイル
に対応方法が示してありまたはOSのなかに組み込まれ
ており)、共有仮想領域が、最初に参照または書き込み
のアクセスをされた時に指定する。上記した(i)と
(ii)は、いずれの場合も共有化処理が起動されるタイ
ミングが異なるだけで処理内容は同じであり、ローカル
(クライアント)側のネットワーク共有メモリ管理部2
1は、共有化する相手の領域を管理するリモート(サー
バ)側の計算機1のネットワーク共有メモリ管理部21
へ共有化開始の手続きを行う。
明する。図9には、クライアント側のフローチャートの
一例を示す。クライアント側のネットワーク共有メモリ
管理部21は、上記した(i)または(ii)の方法によ
り、次に示す入力フォーマットのデータをシステムコー
ル等で受取る。 <入力フォーマット>ローカル側仮想記憶空間ID、開
始アドレス、サイズ、リモート側ホストID、仮想記憶
空間ID、開始アドレス、その他の情報(共有の種類、
ユーザID、アクセスの制限、QoS情報など) そして、ネットワーク管理部24へ、新しいATMの仮
想回線をリモート側と設立することを依頼する。
は、ATMの呼設定セルを作成し、ATM交換機3へ送
信する。仮想回線が張られると、その仮想回線に割り当
てられたVPI/VCI等の仮想回線の識別子が得られ
る。
メモリ管理部21では、得られた識別子を返り値として
もらい、その値を仮想記憶空間管理部22へ、次に示す
フォーマットで、共有空間であることを伝える。 <入力フォーマット>ローカル側仮想記憶空間ID、開
始アドレス、サイズ、仮想回線識別子、その他の情報
(共有の種類、ユーザID、アクセスの制限、QoS情
報など) 仮想記憶空間管理部22では、必要なページテーブルを
作成し、ページテーブル・エントリを初期化しパラメー
タセットする。
該仮想回線を使用するのに必要なVPI/VCI値とい
った識別子を、ページテーブル・エントリの「フレーム
番号」欄に書き込み、「リモートホストビット」を1に
する。
最後に、ネットワーク共有メモリ管理部21は、実際の
データ転送時に動作するネットワークページャ23を初
期化する。
に、サーバ側の処理について説明する。図10には、サ
ーバ側の処理の流れを示す。
て、ATM交換機3からの呼設定セルが受け付けられ
る。この中の情報にて、共有する仮想記憶空間の領域や
相手(クライアント側)の計算機などがわかる。
共有メモリ管理部21へ送られ、共有化の処理が進めら
れる。ただし、その際に、共有する相手によっては、共
有を拒否するようにしてもよい。
仮想記憶空間管理部22に、共有領域のページテーブル
・エントリの内容を確認し、すでにファイルやデータ等
の資源が割当て済みの領域であることを確認し、共有に
関する情報を必要であればセットする。
バ側)が未起動であれば(はじめてこの領域が共有化さ
れた場合)、起動し、初期化し、ネットワークページャ
23がこの新しい仮想回線を利用してデータを転送でき
るように諸準備を行う。
図11には、処理手順の流れの概要を示す。また、図1
2と図13は、仮想記憶空間にアクセスしたときの実行
時の動作を示したフローチャートの一例である。
(readまたはwrite)する際、仮想アドレスを
物理アドレスに変換するために、ページテーブル16が
参照されるが、仮想フレームに対応するページテーブル
・エントリの「存在ビット」が1の場合(ステップS
1)、ページテーブル・エントリに書かれた「フレーム
番号」を使用して、物理アドレスを計算し、計算された
物理アドレスを用いて、実メモリ14をアクセスし、求
めるデータにアクセスする(ステップS20)。
ト」が1の場合(ステップS1,S4)、他のプロセス
等が、同じページフレームにアクセスしており、OSで
管理されるページャ処理等が、前記ページフレームに対
応するデータを、実メモリ14へ転送の処理を行ってい
る途中であることを意味しているので、前記OS等のペ
ージャ処理の終了を待って休眠する(ステップS5)。
と、該当ページテーブル・エントリの「処理中ビット」
を0にし、さらに、処理待ちで休眠したプログラムの実
行を再開させる。
S6)、前記ページテーブル・エントリに、新たに書き
込まれた「フレーム番号」を使用して、物理アドレスを
計算し、計算された物理アドレスを用いて、実メモリ1
4をアクセスし、求めるデータにアクセスする(ステッ
プS20)。
ト」が0、かつ、「ハードディスクビット」が1の場合
(ステップS1,S4,S7)、仮想フレームに対応す
るページテーブル・エントリの「フレーム番号」の欄
は、前記仮想フレームに対応するハードディスク19上
のセクタ番号が書かれている。この状態は、たとえば、
実メモリ14が不足した場合に、この仮想フレームに対
応するページフレームの内容をハードディスク19に一
時退避し、このページフレームを明け渡す場合(スワッ
プ・アウトやページ・アウトなどの場合)に発生する。
まず、前記データを格納するのに必要なページ・フレー
ムを実メモリ14から確保し、それが、他のプロセス等
に使用されないようにロックする(ステップS9)。そ
の値を「フレーム番号」欄に記入し、「ハードディスク
ビット」を0に、「存在ビット」と「処理中ビット」を
1にする(ステップS10)。
ドディスク19から対応するデータブロックを読み出
し、前記確保したページ・フレームへとデータ転送を行
う。データ転送は、ディスクのデバイスドライバによっ
て行なわれ、処理の完了を待って、休眠する(ステップ
S11)。
等から起動されるので、前記ページャ処理を再開する。
該当ページテーブル・エントリの「処理中ビット」を0
にし、さらに、この処理中ビットのために休眠したプロ
グラムの実行を再開させる(ステップS12)。
がロードされているので(ステップS2)、前記ページ
テーブル・エントリに、新たに書き込まれた「フレーム
番号」を使用して、物理アドレスを計算し、計算された
物理アドレスを用いて、実メモリ14をアクセスし、求
めるデータにアクセスする(ステップS20)。
ト」が0、かつ、「ハードディスクビット」が0、か
つ、「リモートビット」が1の場合(ステップS1,S
4,S7,S13)、ページャ処理を行なう。仮想フレ
ームに対応するページテーブル・エントリの「フレーム
番号」の欄には、前記(1)の共有化処理で設定した、
仮想フレームに対応する資源を所有するサーバ計算機へ
の通信に必要なVPI/VCI値といった仮想回線の識
別子の情報が書かれているので、前記データを格納する
のに必要なページフレームを確保し、それが他のプロセ
ス等に使用されないようにロックする(ステップS1
5)。その値を「フレーム番号」欄に記入し、「リモー
トビット」を0に、「存在ビット」と「処理中ビット」
を1にする(ステップS16)。
想回線の識別子の情報を用いて、クライアント側(ロー
カル側)のネットワークページャ23を起動し、データ
転送を依頼する(ステップS17)。処理の完了を待っ
て、休眠する(ステップS18)。
では、指示された仮想回線識別子を用いて、ネットワー
ク管理部24を通じて、リモート側の計算機のネットワ
ークページャ23に対して、前記データ・ブロックの転
送を要求するセルを作成し送信する。そのセルには、以
下の内容が含まれる。
(クライアント側→サーバ側、サーバ側→クライアント
側)、その他の情報(共有の種類、ユーザIDなど) その後、上記要求セルに応答したデータセルが送られて
くるのでその内容を対応するページフレーム内に書き込
む。
ージャの処理が完了し、処理が再開されると、該当ペー
ジテーブル・エントリの「処理中ビット」を0にし、さ
らに、この処理中ビットのために休眠したプログラムの
実行を再開させる(ステップS19)。
がロードされているので(ステップS2)、前記ページ
テーブル・エントリに、新たに書き込まれた「フレーム
番号」を使用して、物理アドレスを計算し、計算された
物理アドレスを用いて、実メモリ14をアクセスし、求
めるデータにアクセスする(ステップS20)。
中ビット」が0、かつ、「リモートビット」が0の場合
(ステップS1,S4,S7)、エラー処理を行う(ス
テップS21)。
24では、上述のデータ転送要求セルを受け、その仮想
回線の識別子から、この仮想回線を受け持つサーバ側の
ネットワークページャ23を特定し、セルの内容を伝え
る。
ークページャ23は、上記を転送要求セルを受け、指示
された、仮想記憶空間の開始アドレスからサイズ分をデ
ータブロックを読みとり、その内容をセルに入れてクラ
イアント側へ同じ仮想回線を使って送る。
切なトランスポートプロトコルで、処理されて送られる
ものとする。これは、データの内容の順序やデータの抜
け、データの内容のエラー、データの再送などを行い、
両ネットワークページャ23間でのデータ完全性を保証
するものである。なお、ATMのネットワーク側で既に
ある程度の処理がされているため、計算機側での処理は
軽い。
た仮想記憶空間のデータを参照した場合の動作である
が、逆に、クライアント側で書き込みが発生した場合、
ネットワークページャ23間のデータ転送の方向は逆方
向になる。
ント側とサーバ側の各部ごとにまとめておく。 ネットワーク共有メモリ管理部21(クライアント
側) 共有化設定要求を受け付ける。
算機との間での仮想回線の呼設定を依頼する。仮想記憶
空間管理部22で管理しているページテーブルの該当す
るエントリに仮想回線識別子等をセットする。
側) ATM交換機3との間で呼設定を行い、新しい仮想回線
を設立する。ATMの呼設定時の付加情報機能(呼設定
セル中のusr−usr情報、または、呼設定時にen
d−endホスト間で交換できるusr−usrメッセ
ージセルなど)を利用して、この仮想回線の利用目的等
を相手の計算機へ接続要求時に伝える。この仮想回線
は、この共有化領域のデータ転送に使うための専用であ
る。
理、ふくそう処理などを行う。 ネットワークページャ23(クライアント側) 仮想記憶空間管理部22から、実際にデータ転送の要求
があるときに呼ばれる。
dまたはwrite)とそのアドレスから必要な大きさ
の実メモリを確保し、転送に必要な仮想アドレスの開始
位置とサイズ等を相手計算機に要求する。
が送られてくるので、それを実メモリ14に格納する。
writeの場合は、転送要求セルを送信した後、デー
タをセルに入れて送信する。
設定要求セルを受けつけ、新しい仮想回線を設立する。
の利用目的を知り、ネットワーク共有のための新規仮想
回線の場合、ネットワーク共有メモリ管理部21(サー
バ側)に制御を移す。
線を担当するネットワークページャ23に制御を移す。
仮想回線のフローコントロール、エラー処理、ふくそう
処理などを行う。
ーバ側) 新規の仮想記憶空間共有依頼が、ネットワーク管理部2
4からくる。新仮想回線を利用して、相手側(クライア
ント側)のネットワーク共有メモリ管理部21と通信し
初期設定を行う。つまり、共有化するサーバ側の仮想記
憶空間IDと仮想アドレスの開始位置、サイズ等が伝え
られる。これを仮想記憶空間管理部22へ伝え、共有可
能かどうか検査する。
ジャ23を起動し、得られた仮想回線の識別子を教え
る。以後、仮想回線からread要求あるいはwrit
e要求があるごとに、その対応する仮想アドレスの領域
に対してデータを読み書きする。
があるときに呼ばれる。
方向(readまたはwrite)と、データ転送する
仮想アドレスの開始位置とサイズ等が相手計算機から伝
えられる。
空間からデータブロックを読みとり、それをセルに入れ
て送信する。writeの場合は、転送要求セルを受信
し、そのセルで指示されている、開始アドレスからサイ
ズ分の大きさの領域に、以後送られてくるセル内のデー
タを該当領域に書き込む。
ATMネットワークを介して結合した分散システムにお
いて、仮想記憶空間または実記憶空間(実メモリ)の一
部を共有化し、共有領域ごとに専用に設定しておいたA
TMの仮想回線を利用して直接、高速なデータ転送を行
なうことができるので、計算機側には複雑で効率の悪い
通信プロトコル処理が必要とせず、効率的な記憶空間の
共有が実現できる。つまり、その共有空間に対して参照
や書き込み(read/write)が発生しても、そ
の都度、呼設定不要で、ただちにデータ転送ができる。
などデータ転送中の制御はATM交換機側で大部分対応
してくれるので、計算機側はその機能に不足する部分
(例えばデータエラーにおける訂正や再送)だけ管理す
ればいいので、計算機側の処理が大幅に軽減する。
って、ある程度の距離が離れた計算機どうしを結んで分
散システムにできるので、構成の柔軟性が良い。また、
他の計算機に属する資源にアクセスする場合、仮想アド
レスを物理アドレスに変換する際に用いるページテーブ
ルを参照するだけで、他の計算機へのコネクションを使
用するために必要な仮想回線識別子(VPI/VCI値
等)を得ることができる。
ち、必要な大きさのデータブロックの転送を要求する場
合、従来のように種々のテーブルを参照することなく、
ページテーブルから得られた仮想回線識別子を用いて要
求セルを作成することができ、効率良く要求セルを作成
することができる。
合、仮想記憶空間は各計算機に一つしか存在しないの
で、各計算機の仮想記憶空間すべてを共有化し、どの計
算機からも同じように仮想記憶空間を利用できる構成に
することもできる。この場合、全仮想記憶空間を1つの
共有領域とするのではなく、仮想記憶空間を複数の共有
領域に分割し、それぞれ別々に共有化処理を行っても良
い。
て説明する。上記したタイプ1では、共有する領域が各
計算機の仮想記憶空間どうしであったが、このタイプ2
では、クライアント側の仮想記憶空間の領域とサーバ側
の実記憶空間(実メモリ)の領域の間を共有化する。
示す。図中、45はクライアント側計算機に備え付けら
れたハードディスクを示す。このタイプ2は、サーバ側
にデータブロックが存在するが、まだ、サーバ側のプロ
グラム等がそのデータブロックを利用しておらず、その
データブロックを仮想記憶空間に張り付けて利用してい
ない状況での利用に適する。あるいは、例えば、サーバ
側では、利用プログラムは存在せず、データブロックを
管理するだけであるような構成での利用に適する。つま
り、共有空間の利用は、サーバ側からは行われず、各ク
ライアント側からだけの利用を想定する。この場合、デ
ータブロックは、サーバ内の磁気ディスク45等に永続
ファイル等として格納されている。
ほぼ同様である。ただし、呼設定時に、サーバ側の共有
領域を指定するのに、タイプ1における「仮想記憶空間
ID、開始アドレス、サイズ」に代わり、「実メモリの
開始アドレス、サイズ」によることになる。しかし、サ
ーバ側では、UNIX等の汎用OSにおける実メモリの
管理方法として、通常、実メモリは仮想記憶空間に一時
的に割当て、ディスクの内容(データブロック)を一時
的に蓄えるバッファとして利用する。したがって、この
ようなOSの場合、呼設定時に実メモリのアドレスを直
接明示して指定しても実際的ではない。したがって、デ
ータブロック(つまり永続ファイル)をアドレスの代わ
りにファイル名などで直接指定し、サーバ側では、ネー
ムサーバ5やファイルシステムにより、指定されたファ
イル名からデータブロックが格納されている磁気ディス
クの位置を求める。そして、必要な大きさの実メモリ1
4を確保し、その内容を読みだして実メモリ14へ転送
する。この実メモリ14の領域を共有領域としてサーバ
側のネットワークページャ23が管理する。
うデータ転送はタイプ1と同様である。このタイプ2で
は、サーバ側で仮想記憶空間に実メモリを対応され、デ
ータを読み込むページフォルト処理が不要である。ま
た、予め、サーバ側の実メモリにディスク等からデータ
が転送されているので、クライアント側への仮想回線を
介するデータ転送が高速に行える。
て説明する。上記したタイプ1では、共有する領域が各
計算機の仮想記憶空間どうしであったが、このタイプ3
では、クライアント側の実記憶空間の領域とサーバ側の
仮想記憶空間の領域の間を共有化する。そして、共有化
開始処理を完了したときにまたは共有化した領域をプロ
グラム処理実体がアクセスする前に、あらかじめデータ
転送を行なっておくものである。
示す。 (1)共有領域の仮想回線設定 仮想回線の設定方法は、タイプ1と類似する方法にな
る。
管理部21は、共有化する相手のリモートの領域を管理
する計算機のネットワーク共有メモリ管理部21へ共有
化開始の手続きを行う。タイプ1では、クライアント側
の共有領域の指定方法として、仮想記憶空間の一部の領
域を指定した。
側の仮想記憶空間の領域を指定しても良い。この場合
は、タイプ1と同様な入力フォーマットで指定する。 <入力フォーマット>ローカル側仮想記憶空間ID、開
始アドレス、サイズ、リモート側ホストID、仮想記憶
空間ID、開始アドレス、その他の情報(共有の種類、
ユーザID、アクセスの制限、QoS情報など) この場合は、クライアント側の仮想記憶空間管理部22
で、指定された仮想記憶空間の領域と同じサイズの実メ
モリを確保し、共有領域用として利用する。
憶空間とは無関係に、実メモリを確保しても良い。この
場合、予め、共有領域に必要な大きさの実メモリを直接
確保する。この方法では、クライアント側のOS等が提
供するシステムコール等を利用し、仮想記憶空間管理部
22内の実メモリ管理部221に対して要求する。
ス、サイズ、リモート側ホストID、仮想記憶空間I
D、開始アドレス、その他の情報(共有の種類、ユーザ
ID、アクセスの制限、QoS情報など) この場合、クライアント側のユーザプログラム等は、実
メモリのアドレスを直に指定してデータを利用する(O
Sが提供する実メモリのアドレスを指定してデータをア
クセスするシステムコール等を利用する)。または、任
意の仮想記憶空間に実メモリをマップして利用する。
管理部21は、先のフォーマットのデータをシステムコ
ール等で受取る。そして、ネットワーク管理部24へ新
しいATMの仮想回線をリモート側と設立することを依
頼する。
では、ATM交換機3へATMの呼設定セルを作成し、
ATM交換機3へ送信する。仮想回線が張られると、そ
の仮想回線に割り当てられたVPI/VCI等の仮想回
線の識別子が得られる。
メモリ管理部21では、実際のデータ転送時に動作する
ネットワークページャ23を初期化する。ネットワーク
管理部24で得られた識別子を返り値としてもらい、そ
の値をネットワークページャ23に伝えて、データ転送
を開始を依頼する。
処理が終わる。次に、サーバ(リモート)側の処理を説
明する。サーバ側では、ネットワーク管理部24にて、
ATM交換機3からの呼設定セルが受け付けられる。こ
の中の情報にて、共有する仮想記憶空間の領域や相手
(クライアント)の計算機などがわかる。
共有メモリ管理部21へ送られ、共有化の処理が進めら
れる。この際、共有する相手によっては、拒否してもよ
い。ネットワーク共有メモリ管理部21では、仮想記憶
空間管理部22に、共有領域のページエントリの内容を
確認し、すでにファイル等の資源が割当済みの領域であ
ることを確認し、共有に関する情報を必要であればセッ
トする。さらに、ネットワークページャ23(サーバ
側)を起動し、このネットワークページャ23がこの新
しい仮想回線を利用してデータを転送できるように諸準
備を行う。
タイプ1と異なり、クライアント側の共有領域には、す
でに実メモリが割り当てられているので、その領域をプ
ログラム等の処理実体がアクセスしても、ページフォル
トは発生しない。この実施の形態の場合は、クライアン
ト側での実際のアクセスが発生した時にデータ転送する
のではなく、上記仮想回線の設定時に、引き続いてデー
タ転送を行う(すなわちクライアント側のアクセスとは
無関係である)。
イアントに転送しておき、クライアント側の参照アクセ
スの準備を完了させる。その後、クライアント側の書き
込みがあった場合は、別手段(システムコールで指示し
たり、定期的に実行したり、共有領域の解消時に実行し
たりするなど)によりサーバ側へデータ転送を行う。
では、指示された仮想回線識別子を用いて、ネットワー
ク管理部24を通じて、リモート側の計算機のネットワ
ークページャ23に対して、前記データ・ブロックの転
送を要求するセルを作成し送信する。
始アドレス、サイズ、データ転送の方向(クライアント
側→サーバ側、サーバ側→クライアント側)、そのほか
の情報(共有の種類、ユーザIDなど) その後、上記要求セルに応答したデータセルが送られて
くるのでその内容を対応する実メモリ(ページフレー
ム)に書き込む。書き込みが完了すると以後の処理は、
別手段(システムコールで指示したり、定期的に実行し
たり、共有領域の解消時に実行したりするなど)からの
指示によって、サーバ側との間で転送を行う。
24では、上述のデータ転送要求セル受け、その仮想回
線の識別子から、この仮想回線を受け持つサーバ側のネ
ットワークページャ23を特定し、セルの内容を伝え
る。
ャ23は、上記を転送要求セルを受け、指示された仮想
記憶空間の開始アドレスから該当サイズ分のデータブロ
ックを読みとり、その内容をセルに入れてクライアント
側へ同じ仮想回線を使って送る。
メモリ)を、予めクライアント側の1つの共有領域に設
定できる。クライアント側では、共有化領域である実メ
モリを仮想記憶空間にマッピングして利用すると、ユー
ザプログラム等が仮想記憶空間にアクセスした時には、
既に実メモリが割り当てられているので、ページフォル
トが発生せず、ページフォルト処理が不要になり、即座
にデータをアクセスできる。したがって、高速なユーザ
プログラムの実行が可能となる。
切なトランスポートプロトコルで、処理されて送られる
ものとする。これは、データの内容の順序やデータの抜
け、データの内容のエラー、データの再送などを行い、
両ネットワークページャ23間でのデータ完全性を保証
するものである。
処理がされているため、計算機側での処理は軽い。ここ
で、以上説明した主な処理をクライアント側とサーバ側
の各部ごとにまとめておく。
ライアント側) 共有化設定要求を受け付ける。ネットワーク管理部24
へ、共有相手の計算機との間での仮想回線の呼設定を依
頼する。
要な大きさの実メモリを確保し、ネットワークページャ
23にデータ転送を依頼する。 ネットワーク管理部24(クライアント側) ATM交換機3との間で呼設定を行い、新しい仮想回線
を設立する。
セル中のusr−usr情報、または、呼設定時にen
d−endホスト間で交換できるusr−usrメッセ
ージセルなど)を利用して、この仮想回線の利用目的他
を相手のマシンへ接続要求時に伝える。この仮想回線
は、この共有化領域のデータ転送に使うための専用であ
る。
理、ふくそう処理などを行う。 ネットワークページャ23(クライアント側) ネットワーク共有メモリ管理部21から、共有領域設定
完了後、呼ばれる。初期化時に知らされている仮想回線
を利用して、転送に必要なアドレスの開始位置とサイズ
等を相手計算機に要求する。
が送られてくるので、それを実メモリ14に格納する。
writeの場合は、転送要求セルを送信した後、実メ
モリ14のデータをセルに入れて送信する。
設定要求セルを受けつけ、新しい仮想回線を設立する。
の利用目的を知り、ネットワーク共有のための新規仮想
回線の場合、ネットワーク共有メモリ管理部21(サー
バ側)に制御を移す。
線を担当するネットワークページャ23に制御を移す。
仮想回線のフローコントロール、エラー処理、ふくそう
処理などを行う。
ーバ側) 新規の仮想記憶空間共有化依頼が、ネットワーク管理部
24からくる。新仮想回線を利用して、相手側(クライ
アント側)のネットワーク共有メモリ管理部21と通信
し初期設定を行う。つまり、共有化するサーバ側の仮想
記憶空間IDと仮想アドレスの開始位置、サイズ等が伝
えられる。これを仮想記憶空間管理部22へ伝え、共有
可能かどうか検査する。
ジャ23を起動し、得られた仮想回線の識別子を教え
る。以後、仮想回線から、read要求、write要
求があるごとにその仮想アドレスに対応する領域に対し
てデータを読み書きする。
があるときに呼ばれる。
方向(readまたはwrite)と、データ転送する
仮想アドレスの開始位置とサイズが相手計算機から伝え
られる。
空間からデータブロックを読みとり、それをセルにいれ
て送信する。writeの場合は、転送要求セルを受信
し、そのセルで指示されている、開始アドレスからサイ
ズ分の大きさの領域に、以後送られてくるセル内のデー
タを該当領域に書き込む。
て説明する。このタイプ4では、クライアント側の実記
憶空間の領域とサーバ側の実記憶空間の領域の間を共有
化する。そして、タイプ3と同様に共有化開始処理を完
了したときにまたは共有化した領域をプログラム処理実
体がアクセスする以前に、データ転送を行なっておくも
のである。
示す。タイプ3におけるサーバ側の共有化対象がタイプ
2におけるサーバ側と同様に実メモリに変わったもので
ある。クライアント側の処理はタイプ3と同様であり、
サーバ側の処理はタイプ2と同様である。
に加え、クライアント側とサーバ側で共有領域のデータ
転送の同期を取る実施の形態を説明する。
ーバ側からクライアント側へ動画像データを転送し、ク
ライアント側で動画像を表示する場合を示している。図
中、78はハードディスクである。
さより実メモリの大きさが大きい。実メモリを複数の領
域に分割して管理する。この場合、クライアント側とサ
ーバ側でそれぞれの仮想記憶空間に複数の実メモリ領域
を繰り返し割当てる。
モリの大きさが仮想記憶空間の大きさの2倍であるとす
る。したがって、実メモリを2つの領域に分割して利用
するものとする。
が動作し、サーバ側では、画像データ読み込みプログラ
ムが動作している。クライアント側では、仮想記憶空間
にマッピングされている実メモリ(ページフレームA)
には、既に1つの動画データが入っているので、それを
読みだして表示する。
空間に張られていない別の実メモリ(ページフレーム
B)が仮想回線を介してサーバ側からデータ転送され
る。転送が終わり、かつ、画像表示プログラムによっ
て、現在仮想記憶空間にぱっピングしている実メモリか
らの画像表示が終わると、画像表示プログラムは、ネッ
トワークページャ23に対して、同一仮想記憶空間に割
り当てられる実メモリの切り替え要求を出す(システム
コールなどで指示する)。
サーバからのデータ転送が完了していると、その別の実
メモリ(ページフレームB)を、現在張られている実メ
モリ(ページフレームA)に代わって張るように仮想記
憶空間管理部22へ依頼する。
画像表示プログラムでは、新しい画像データの入った実
メモリを同じ仮想記憶空間の領域から読みだして表示す
ることができる。
3では、実メモリに余裕がある間サーバ側にデータ転送
を要求する。そして、送られてきたデータを空き実メモ
リ(ページフレームA)に転送する。
クライアント側と同様に動作する。つまり、空の実メモ
リ(ページフレームC)が仮想記憶空間に張られてい
る。その仮想記憶空間に対して、サーバ側の画像読み込
みプログラムは、ディスクに蓄えられている画像データ
を順次読み込み、(必要に応じて画像データの加工を行
いながら)その領域へ書き込む。領域分の書き込みが終
了したら、ネットワークページャ23に対して、同一仮
想記憶空間に割り当てられる実メモリの切り替え要求を
出す(システムコールなどで指示する)。
クライアントへのデータ転送が完了し、かつ、空いた実
メモリ(ページフレームD)が存在していると、現在張
られている実メモリ(ページフレームC)に代わって張
るように仮想記憶空間管理部22へ依頼する。
だしプログラムでは、新しい画像データをディスクから
読みだし、同じ仮想記憶空間の領域に書き込む。サーバ
側のネットワークページャ23では、データ転送が終わ
っていない実メモリ(ページフレームC)が存在する限
り、クライアントへデータ転送を行い、空の実メモリを
補充する。
タを転送することができる。 《ネームサーバについて》ところで、上記した実施の形
態における仮想回線の設定は、共有領域どうしの専用の
仮想回線が設定されていない場合は、前記仮想回線を設
定するように呼設定セルを送信し、仮想回線が設定され
た後、前記仮想回線を使用するのに必要なVPI/VC
I値といった情報を、ページテーブル・エントリに書き
込むものであった。
がユーザやプログラムから伝わらず、わからない場合
(例えば、分散ファイルシステムにおけるファイル名を
ユーザが指定して共有領域とした場合;この場合、ファ
イル名は位置透過性であり、実際のファイル資源を所有
する計算機の所在はわからない)は、前記所在を知るた
めに、分散システム全域についてデータ・ブロック等の
資源の所在を管理しているネームサーバ5等に問い合わ
せ、その結果知り得た計算機に対し、必要に応じてコネ
クションを設定し、前記コネクションを使用するのに必
要なVPI/VCI値といった情報を、ページテーブル
・エントリに書き込んでも良い。
関するページテーブル・エントリには、直接ネームサー
バ5との接続のために仮想回線の識別子をページテーブ
ル16にデフォルト値として記入しておいても良い。こ
の場合、資源を所有する計算機(オーナーを計算機)を
知る必要が生じた際に、図19のフローチャートに示す
ように、オーナー計算機を知るために、該当するページ
テーブル・エントリに書き込まれているVPI/VCI
値等の仮想回線識別子を用いて、ネームサーバに問い合
わせを行う(ステップS31)。ネームサーバ5から、
オーナー計算機や共有化領域の範囲など領域の共有化処
理に必要な情報が返る(ステップS32)。この情報を
利用して、オーナー計算機との間に共有領域の設定をす
るように、ネットワーク共有メモリ管理部21に要求す
る(ステップS33)。
トワーク共有メモリ管理部21では、上記オーナー計算
機の共有領域に対する仮想回線を設定し、その仮想回線
のVPI/VCI等の識別子を、共有化範囲の該当する
ページテーブル・エントリに書き込む。その他、ネット
ワークページャの初期化作業も同様に行なう。
若干変更する。すなわち、クライアントでページフォル
トが発生し、ページテーブル・エントリの「存在ビッ
ト」が0、かつ、「処理中ビット」が0、かつ、「ハー
ドディスクビット」が0、かつ、「リモートビット」が
1の場合(図12,13のステップS1,S4,S7,
S13)、仮想フレームに対応するページテーブル・エ
ントリの「フレーム番号」の欄には、その共有領域のデ
ータ転送を行なう仮想回線の識別子が書かれているので
はなく、その共有領域の所在を管理するネーム・サーバ
5等への通信に必要なVPI/VCI値といった情報
(この値は、データ転送用のVPI/VCI値とは異な
る特別な値であるので、それと判明する)が書き込まれ
ているので、前記VPI/VCI値といった情報を用い
て、前記共有領域のオーナー計算機や共有領域の範囲な
どを問い合わせるセルを作成/送信し、前記ネームサー
バ5等からの返答を待つ。
た場合、前記返答中に書かれている前記資源を所有する
計算機への通信に必要な情報から、共有領域の設定処理
を行う(ステップS31〜S33)。
プS14からの処理と同様である。本発明は、上述した
実施の形態に限定されるものではなく、その技術的範囲
において種々変形して実施することができる。
ワーク(例えばATMネットワーク)を介して結合した
分散システムにおいて、仮想記憶空間または実記憶空間
の全部または一部を共有化し、共有領域ごとに専用に設
定しておいた仮想回線を利用して直接、高速なデータ転
送を行なうことができるので、計算機側には複雑で効率
の悪い通信プロトコル処理が必要とせず、効率的な記憶
空間の共有が実現できる。つまり、その共有空間に対し
て参照や書き込み(read/write)が発生して
も、その都度、呼設定不要で、直にデータ転送ができ
る。
御、エラー検出、QoS管理などデータ転送中の制御は
ネットワーク側(例えばATM交換機側)で対応してく
れるので、計算機側はその機能に不足する部分(例えば
データエラーにおける訂正や再送)だけ管理すればいい
ので、計算機側の処理が大幅に軽減する。
なネットワークを利用することによって、ある程度の距
離が離れた計算機どうしを結んで分散システムにできる
ので、構成の柔軟性が良い。
る資源にアクセスする場合、仮想アドレスを物理アドレ
スに変換する際に用いるページテーブルを参照するだけ
で、他の計算機へのコネクションを使用するために必要
な仮想回線識別子(VPI/VCI値等)を得ることが
できる。
ち、必要な大きさのデータブロックの転送を要求する場
合、従来のように種々のテーブルを参照することなく、
ページテーブルから得られた仮想回線識別子を用いてデ
ータ転送の要求セルを作成することができ、効率良く要
求セルを作成することができる。
ルの前記仮想回線識別子を記入する項目にデフォルト値
として、データとこれを所有する計算機(オーナー計算
機)との対応を管理するネームサーバに接続するのに用
いる仮想回線識別子を記入しておけば、データを所有す
る計算機(オーナー計算機)を知る必要が生じた際に、
該当するページテーブル・エントリに書き込まれている
仮想回線識別子を用いて、速やかにネームサーバに問い
合わせを行なうことができる。
実記憶空間の全部または一部の領域と、サーバ計算機の
仮想記憶空間または実記憶空間の全部または一部の領域
とを共有化する場合、クライアント側の共有領域には、
すでに実記憶空間(実メモリ)が割り当てられているの
で、ページフォルトは発生しない。この場合、クライア
ント側での実際のアクセスが発生した時にデータ転送す
るのではなく、仮想回線の設定時に、引き続いてデータ
転送を行う(すなわちクライアント側のアクセスとは無
関係である。) したがって、ユーザプログラムやスレッド等の処理実体
が仮想記憶空間にアクセスしたときには、既に実記憶空
間(実メモリ)が割り当てられているので、ページフォ
ルトが発生せず、ページフォルト処理が不要になり、即
座にデータをアクセスできる。したがって、例えば、リ
アルタイム処理等の高速なユーザプログラムの実行が可
能となる。
機の仮想記憶空間の一部の領域と、サーバ計算機の仮想
記憶空間の一部の領域とを共有化するとともに、共有す
る仮想記憶空間の1つの領域には複数の実メモリの領域
を割当て、仮想記憶空間の領域と現在対応していない
(マッピングしていない)実記憶空間間で専用の仮想回
線を用いてデータ転送を行うとともに、データ転送の完
了した実メモリの領域を仮想記憶空間の領域に対応させ
る(マッピングする)ように、実メモリの領域を順次切
り替えるので、計算機間で仮想記憶空間の領域の大きさ
単位に連続して高速にデータを転送することができる。
示す基本構成図
示す基本構成図
一例を示す物理構成図
示す図
側の仮想記憶空間の領域を共有するタイプ1の概要を表
す模式図
示す図
フローチャート
ーチャート
図
すフローチャート
すフローチャート
バ側の物理空間の領域を共有するタイプ2の概要を表す
模式図
の仮想記憶空間の領域を共有するタイプ3の概要を表す
模式図
の物理空間の領域を共有するタイプ4の概要を表す模式
図
共有領域のデータ転送の同期を取る場合を説明するため
の図
共有領域のデータ転送の同期を取る場合を説明するため
の図
理の流れを示すフローチャート
機、4…呼設定サーバ、5…ネームサーバ、11…ネッ
トワークインタフェース、12…ネットワークインタフ
ェース制御部、13…仮想アドレス変換部、14…実メ
モリ、15…プロセッサ、16…ページテーブル、17
…システムバス、18…ハードディスク制御部、19…
ハードディスク、21…ネットワーク共有メモリ管理
部、22…仮想記憶空間管理部、23…ネットワークペ
ージャ、24…ネットワーク管理部、151…バスイン
タフェース部、152…エグゼキューション部、153
…TLB、221…実メモリ管理部、222…仮想メモ
リ管理部、241…呼設定部、242…仮想回線管理部
Claims (5)
- 【請求項1】複数の計算機をネットワークにより提供さ
れる仮想回線で結合してなる分散計算機システムにおけ
る記憶空間管理方法であって、 一方の計算機が管理する仮想記憶空間または実記憶空間
の全部または一部の領域と、他方の計算機が管理する仮
想記憶空間または実記憶空間の全部または一部の領域と
を共有化し、 共有化した前記領域間ごとに前記仮想回線を専用に設定
しておき、 共有化した一方の計算機の前記領域と他方の計算機の前
記領域との間でデータ転送を行なうにあたっては、当該
共有化した領域間に専用に設定しておいた前記仮想回線
を用いることを特徴とする記憶空間管理方法。 - 【請求項2】複数の計算機をネットワークにより提供さ
れる仮想回線で結合してなる分散計算機システムにおけ
る計算機であって、 仮想記憶空間の仮想アドレスと対応する実記憶空間の物
理アドレスまたはデータを所有する計算機にアクセスす
るための情報とを組にして登録したページテーブルを用
いて仮想記憶空間を管理する手段と、 仮想記憶空間の全部または一部の領域と、他の計算機が
管理する仮想記憶空間または実記憶空間の全部または一
部の領域とを共有化するため、共有化する領域間ごとに
前記仮想回線を専用に設定することを指示する手段と、 前記仮想回線を専用に設定した前記領域に対応する前記
ページテーブルのエントリに、前記データを所有する計
算機にアクセスするための情報として、前記仮想回線の
仮想回線識別子を登録する手段と、 共有化した前記領域間でデータ転送を行なうに先だって
前記ページテーブルの該当するエントリに登録されてい
る前記仮想回線識別子を参照し、得られた仮想回線識別
子を指定し、当該共有化した領域間に専用に設定された
前記仮想回線を用いてデータ転送を行なう手段とを備え
たことを特徴とする計算機。 - 【請求項3】前記ページテーブルの前記仮想回線識別子
を記入する項目には、デフォルト値として、データとこ
れを所有する計算機との対応を管理するネームサーバに
接続するのに用いる仮想回線識別子を記入しておくこと
を特徴とする請求項2に記載の計算機。 - 【請求項4】複数の計算機をネットワークにより提供さ
れる仮想回線で結合してなる分散計算機システムにおけ
る計算機であって、 実記憶空間の全部または一部の領域と、他の計算機が管
理する仮想記憶空間または実記憶空間の全部または一部
の領域とを共有化するため、共有化する領域間ごとに前
記仮想回線を専用に設定する手段と、 前記領域を共有化したときにまたは共有化した前記領域
を処理実体がアクセスする前に、該領域間に専用に設定
した前記仮想回線を用いてデータ転送を行なう手段とを
備えたことを特徴とする計算機。 - 【請求項5】複数の計算機をネットワークにより提供さ
れる仮想回線で結合してなる分散計算機システムにおい
て異なる計算機間で共有する仮想記憶空間の領域間でデ
ータを転送するためのデータ転送方法であって、 一方の計算機が管理する仮想記憶空間の一部の領域と、
他方の計算機が管理する仮想記憶空間の一部の領域とを
共有化するとともに、共有する仮想記憶空間の1つの領
域には複数の実メモリの領域を割当て、 共有化した前記仮想記憶空間の領域間ごとに前記仮想回
線を専用に設定し、 前記仮想記憶空間の領域には、実際に対応させる実メモ
リの領域を順次切り替え、 前記仮想記憶空間の領域と現在対応していない実メモリ
の領域間で、前記仮想回線を用いてデータ転送を行い、 データ転送の完了した実メモリの領域を、前記仮想記憶
空間の領域に対応させることを特徴とするデータ転送方
法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17079695A JP3512910B2 (ja) | 1995-07-06 | 1995-07-06 | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 |
US08/676,970 US6081833A (en) | 1995-07-06 | 1996-07-08 | Memory space management method, data transfer method, and computer device for distributed computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17079695A JP3512910B2 (ja) | 1995-07-06 | 1995-07-06 | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0922398A true JPH0922398A (ja) | 1997-01-21 |
JP3512910B2 JP3512910B2 (ja) | 2004-03-31 |
Family
ID=15911519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17079695A Expired - Fee Related JP3512910B2 (ja) | 1995-07-06 | 1995-07-06 | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6081833A (ja) |
JP (1) | JP3512910B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9742874B2 (en) | 2011-10-18 | 2017-08-22 | Fujitsu Limited | Control device, and method for transfer control |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3224745B2 (ja) * | 1996-07-09 | 2001-11-05 | 株式会社日立製作所 | 高信頼化ネットワークシステム及びサーバ切り替え方法 |
US6591303B1 (en) * | 1997-03-07 | 2003-07-08 | Sun Microsystems, Inc. | Method and apparatus for parallel trunking of interfaces to increase transfer bandwidth |
US6678769B1 (en) * | 1998-02-24 | 2004-01-13 | Canon Kabushiki Kaisha | Control apparatus and method for managing a logical connection between source and destination nodes |
JPH11261566A (ja) * | 1998-03-09 | 1999-09-24 | Fujitsu Ltd | 画像伝送装置 |
JP2001051900A (ja) * | 1999-08-17 | 2001-02-23 | Hitachi Ltd | 仮想計算機方式の情報処理装置及びプロセッサ |
AU7685500A (en) * | 1999-10-15 | 2001-04-23 | Omron Corporation | Network system, control method, control apparatus, and multiprocessor |
US6826613B1 (en) * | 2000-03-15 | 2004-11-30 | 3Com Corporation | Virtually addressing storage devices through a switch |
JP2002189607A (ja) * | 2000-12-22 | 2002-07-05 | Nec Corp | メモリ管理方法及び情報処理装置 |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US20030191761A1 (en) * | 2002-04-04 | 2003-10-09 | International Business Machines Corporation | Methods and apparatus for remote file access |
WO2003102919A1 (en) * | 2002-05-31 | 2003-12-11 | Onkyo Corporation | Network type content reproduction system |
US7111303B2 (en) * | 2002-07-16 | 2006-09-19 | International Business Machines Corporation | Virtual machine operating system LAN |
US7181744B2 (en) * | 2002-10-24 | 2007-02-20 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
AU2003291014A1 (en) | 2002-11-14 | 2004-06-15 | Isilon Systems, Inc. | Systems and methods for restriping files in a distributed file system |
GB0306536D0 (en) * | 2003-03-21 | 2003-04-23 | Marconi Comm Ltd | "Paths in telecommunications networks" |
US7251815B2 (en) * | 2003-04-29 | 2007-07-31 | International Business Machines Corporation | Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle |
US7299468B2 (en) * | 2003-04-29 | 2007-11-20 | International Business Machines Corporation | Management of virtual machines to utilize shared resources |
JP4012517B2 (ja) | 2003-04-29 | 2007-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想計算機環境におけるロックの管理 |
CA2572616A1 (en) * | 2004-07-07 | 2006-02-09 | Yottayotta, Inc. | Systems and methods for providing distributed cache coherence |
GB2418326B (en) * | 2004-09-17 | 2007-04-11 | Hewlett Packard Development Co | Network vitrualization |
US8051425B2 (en) * | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US8238350B2 (en) * | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US20060230118A1 (en) * | 2005-04-12 | 2006-10-12 | Digi Chain Information Co., Ltd. | Share memory service system and method of web service oriented applications |
US20070005933A1 (en) * | 2005-06-29 | 2007-01-04 | Kopec Brian J | Preventing multiple translation lookaside buffer accesses for a same page in memory |
US7917474B2 (en) * | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7551572B2 (en) | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
US7797283B2 (en) * | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US8499277B2 (en) * | 2006-03-29 | 2013-07-30 | Mitsubishi Electric Corporation | Programming support apparatus, programming support method, program for causing computer to implement the method, and recording medium containing the program |
US7774645B1 (en) * | 2006-03-29 | 2010-08-10 | Emc Corporation | Techniques for mirroring data within a shared virtual memory system |
US7680987B1 (en) * | 2006-03-29 | 2010-03-16 | Emc Corporation | Sub-page-granular cache coherency using shared virtual memory mechanism |
US7756898B2 (en) * | 2006-03-31 | 2010-07-13 | Isilon Systems, Inc. | Systems and methods for notifying listeners of events |
US20080005529A1 (en) * | 2006-06-30 | 2008-01-03 | Morris Robert P | Methods, Systems, and Computer Program Products for Providing Access to Addressable Entities Using a Non-Sequential Virtual Address Space |
US20080005528A1 (en) * | 2006-06-30 | 2008-01-03 | Morris Robert P | Methods, Systems, and Computer Program Products for Using a Structured Data Storage System to Provide Access to Addressable Entities in Virtual Address Space |
US20080005728A1 (en) * | 2006-06-30 | 2008-01-03 | Robert Paul Morris | Methods, systems, and computer program products for enabling cross language access to an addressable entity in an execution environment |
US20080005719A1 (en) * | 2006-06-30 | 2008-01-03 | Morris Robert P | Methods, systems, and computer program products for providing a program execution environment |
US20080005752A1 (en) * | 2006-06-30 | 2008-01-03 | Robert Paul Morris | Methods, systems, and computer program products for generating application processes by linking applications |
US20080127220A1 (en) * | 2006-06-30 | 2008-05-29 | Robert Paul Morris | Methods, systems, and computer program products for creating an input-value-specific loadable instance of an application |
US20080005727A1 (en) * | 2006-06-30 | 2008-01-03 | Robert Paul Morris | Methods, systems, and computer program products for enabling cross language access to an addressable entity |
US8539056B2 (en) * | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
US7680836B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7676691B2 (en) * | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7822932B2 (en) * | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7590652B2 (en) | 2006-08-18 | 2009-09-15 | Isilon Systems, Inc. | Systems and methods of reverse lookup |
US7680842B2 (en) * | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7953704B2 (en) * | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7734890B2 (en) * | 2006-10-06 | 2010-06-08 | Okralabs Llc | Method and system for using a distributable virtual address space |
US7793069B2 (en) * | 2006-12-20 | 2010-09-07 | International Business Machines Corporation | Indexing for dynamic address translation |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US7593938B2 (en) * | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
US7509448B2 (en) * | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US7779048B2 (en) * | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
US7900015B2 (en) * | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
JP2008276326A (ja) * | 2007-04-25 | 2008-11-13 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の仮想メモリ制御方法 |
US20080320459A1 (en) * | 2007-06-22 | 2008-12-25 | Morris Robert P | Method And Systems For Providing Concurrency Control For Addressable Entities |
US20080320282A1 (en) * | 2007-06-22 | 2008-12-25 | Morris Robert P | Method And Systems For Providing Transaction Support For Executable Program Components |
US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US9102962B2 (en) * | 2007-10-16 | 2015-08-11 | Shiu Nan Chen | Production method for solid cultured active mushroom mycelium and fruit-body metabolites (AMFM) products thereof |
US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
US7953709B2 (en) | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7949636B2 (en) * | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
JP2010211421A (ja) * | 2009-03-09 | 2010-09-24 | Canon Inc | 管理装置、システム、制御方法、プログラム及び記録媒体 |
US8374480B2 (en) * | 2009-11-24 | 2013-02-12 | Aten International Co., Ltd. | Method and apparatus for video image data recording and playback |
KR20110095050A (ko) * | 2010-02-18 | 2011-08-24 | 삼성전자주식회사 | 공유 라이브러리 디버깅 장치 |
US8805952B2 (en) * | 2012-01-04 | 2014-08-12 | International Business Machines Corporation | Administering globally accessible memory space in a distributed computing system |
WO2013186889A1 (ja) * | 2012-06-14 | 2013-12-19 | 三菱電機株式会社 | I/oデバイス、プログラマブルロジックコントローラ及び演算方法 |
KR20140035082A (ko) * | 2012-09-13 | 2014-03-21 | 삼성전자주식회사 | 메모리 관리방법 |
US10327017B2 (en) * | 2013-02-18 | 2019-06-18 | Texas Instruments Incorporated | Systems and methods for video processing |
JP2015143945A (ja) * | 2014-01-31 | 2015-08-06 | 富士通株式会社 | ストレージ制御装置、ストレージ装置および制御プログラム |
KR20170019762A (ko) * | 2015-08-12 | 2017-02-22 | 삼성전자주식회사 | 파일 시스템을 제어하는 전자 장치 및 그 동작 방법 |
CN112565474B (zh) * | 2019-09-25 | 2024-02-06 | 无锡江南计算技术研究所 | 面向分布式共享spm的批量数据传输方法 |
US11947801B2 (en) * | 2022-07-29 | 2024-04-02 | Intel Corporation | In-place memory copy during remote data transfer in heterogeneous compute environment |
WO2024073864A1 (en) * | 2022-10-02 | 2024-04-11 | Intel Corporation | Distributed address translation services |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5111389A (en) * | 1987-10-29 | 1992-05-05 | International Business Machines Corporation | Aperiodic mapping system using power-of-two stride access to interleaved devices |
JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
-
1995
- 1995-07-06 JP JP17079695A patent/JP3512910B2/ja not_active Expired - Fee Related
-
1996
- 1996-07-08 US US08/676,970 patent/US6081833A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9742874B2 (en) | 2011-10-18 | 2017-08-22 | Fujitsu Limited | Control device, and method for transfer control |
Also Published As
Publication number | Publication date |
---|---|
US6081833A (en) | 2000-06-27 |
JP3512910B2 (ja) | 2004-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3512910B2 (ja) | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 | |
US7222150B1 (en) | Network server card and method for handling requests received via a network interface | |
Welch et al. | Pseudo devices: User-level extensions to the Sprite file system | |
US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
US7577816B2 (en) | Remote translation mechanism for a multinode system | |
EP0889623B1 (en) | System and method for efficient remote disk I/O | |
JPS6118053A (ja) | デ−タ処理システム | |
JP2945757B2 (ja) | 多重装置オペレーティングシステムのアーキテクチャ | |
EP0889622B1 (en) | Apparatus and method for remote buffer allocation and management for message passing between network nodes | |
US20060230148A1 (en) | TCP forwarding of client requests of high-level file and storage access protocols in a network file server system | |
JPH1185710A (ja) | サーバ装置およびファイル管理方法 | |
JP2004506980A (ja) | コンピュータネットワークを介してブロックレベルストレージアクセスを提供するためのアーキテクチャ | |
US20040268017A1 (en) | Virtual write buffers for accelerated memory and storage access | |
JPH0816536A (ja) | マルチプロセッサシステム | |
JPH0926929A (ja) | 効率のよいデータ転送メカニズムに関する方法及び装置 | |
JP4208506B2 (ja) | 高性能記憶装置アクセス環境 | |
US8041761B1 (en) | Virtual filer and IP space based IT configuration transitioning framework | |
US6963905B1 (en) | System and method including a communication interface for transferring information between at least two processes | |
JP2000076152A (ja) | 分散ファイルシステムならびに同システムにおけるファイル共有方法及び同方法がプログラムされ記録される記録媒体 | |
JPH06309251A (ja) | 高速の通信アダプタを実装した計算機 | |
CN116866429A (zh) | 一种数据访问方法及相关装置 | |
JPH08307451A (ja) | データ伝送システム及び方法 | |
JP2664827B2 (ja) | 実時間情報転送制御方法 | |
EP1396790A2 (en) | Remote translation mechanism of a virtual address from a source a node in a multi-node system | |
JP3877186B2 (ja) | 並列計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100116 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110116 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140116 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |