JPH0784921A - ネットワークシステム - Google Patents

ネットワークシステム

Info

Publication number
JPH0784921A
JPH0784921A JP5183145A JP18314593A JPH0784921A JP H0784921 A JPH0784921 A JP H0784921A JP 5183145 A JP5183145 A JP 5183145A JP 18314593 A JP18314593 A JP 18314593A JP H0784921 A JPH0784921 A JP H0784921A
Authority
JP
Japan
Prior art keywords
shared memory
memory
data
node
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5183145A
Other languages
English (en)
Inventor
Takehiko Morita
岳彦 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP5183145A priority Critical patent/JPH0784921A/ja
Publication of JPH0784921A publication Critical patent/JPH0784921A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】 データやメモリの共有を円滑にかつ柔軟に実
現できるネットワークシステムを提供することを目的と
している。 【構成】 異なるノード間でメモリを共有できるので、
ネットワークシステム全体でのデータの共有を、容易に
実現することができる。また、仮想記憶管理機構を備え
ている場合には、共有メモリ空間を仮想記憶管理機構を
用いて直接アクセスすることができるので、データのア
クセス効率がよく、また、共有メモリを高速にアクセス
することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数ノードを接続した
ネットワークシステムに関する。
【0002】
【従来の技術】例えば、ローカルエリアネットワークな
どのネットワークを介して、パーソナルコンピュータや
ワークステーションなどの複数のノード(データ処理装
置)を接続し、これらの複数のノード間でデータオブジ
ェクト(ファイル、実行可能なデータなど)を共有する
方法としては、従来、次のようなものが用いられてい
る。
【0003】例えば、2つのノード間で1対1の通信を
実行することで、必要なデータオブジェクトをやりとり
する方法や、データ受信用のポスト(メール・ボックス
など)を設け、データ送信側からこのポストに対してデ
ータオブジェクトを送信する通信方法などがある。この
後者の方法では、1対多の通信が実現できる。また、1
対多の通信方法としては、ローカルエリアネットワーク
のブロードキャスト機能を用いる方法もある。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来では、データの共有方法が、主としてデータの
送受信という形式をとるために、相手先ノードの特定の
ための処理が必要であったり、また、目的以外の相手先
ノードに対しても、データが送信されるという不都合が
生じる。
【0005】また、ネットワークシステム全体でデータ
を共有してシステムを円滑に運営する場合、相手先ノー
ドを指定するような指向性のある通信ではなく、単に、
ネットワークシステム全体でメモリやデータを共有した
いという応用には、上述した従来方法は適さない。
【0006】本発明は、かかる実情に鑑みてなされたも
のであり、データやメモリの共有を円滑にかつ柔軟に実
現できるネットワークシステムを提供することを目的と
している。
【0007】
【課題を解決するための手段】本発明は、複数ノードを
接続したネットワークシステムにおいて、おのおののノ
ードに、他のノードから共用できるメモリオブジェクト
を保存する共有メモリ領域を設けたものである。また、
前記共有メモリ領域は、そのネットワークシステム内で
定義した仮想的な線形メモリ領域の一部を構成する。ま
た、前記共有メモリ領域に保存される前記メモリオブジ
ェクトには、ユニークな識別子を付加し、各ノードから
は、その識別子を用いてアクセスできるようにするとよ
い。
【0008】また、おのおのが仮想記憶管理機構を備え
た複数ノードを接続したネットワークシステムにおい
て、おのおののノードに、他のノードから共用できるメ
モリオブジェクトを保存する共有メモリ領域を設けると
ともに、その共有メモリ領域には、上記仮想記憶メモリ
管理機構に対応した仮想記憶管理アドレスを付加するよ
うにしたものである。
【0009】
【作用】したがって、異なるノード間でメモリを共有で
きるので、ネットワークシステム全体でのデータの共有
を、容易に実現することができる。また、仮想記憶管理
機構を備えている場合には、共有メモリ空間を仮想記憶
管理機構を用いて直接アクセスすることができるので、
データのアクセス効率がよく、また、共有メモリを高速
にアクセスすることができる。
【0010】
【実施例】以下、添付図面を参照しながら、本発明の実
施例を詳細に説明する。
【0011】図1は、本発明の一実施例にかかるネット
ワークシステムを示している。
【0012】同図において、ローカルエリアネットワー
クなどのネットワークNWを介して、パーソナルコンピ
ュータやワークステーションなどの複数のデータ処理装
置(ノード)DP1〜DPkが接続されている。また、
おのおののデータ処理装置DP1〜DPkには、それぞ
れ共有メモリSM1〜SMkが設けられている。
【0013】ここで、ネットワークNWは、1対1の双
方向通信機能、宛先を指定しないブロードキャスト機能
などのデータ通信機能を備えている。また、おのおのの
データ処理装置DP1〜DPkには、ネットワーク上で
指定するためのノードアドレスが設定されている。ま
た、おのおののデータ処理装置DPa〜DPkの間のデ
ータのやりとりは、サーバ/クライアントモデルによっ
て実現されている。
【0014】図2は、データ処理装置DP(DP1〜D
Pk)のシステム構成の一例を示している。なお、同図
では、本発明の要部に関する部分のみを示しており、他
の部分については、説明を省略する。
【0015】同図において、タスク群1は、このデータ
処理装置DPで実行されるユーザプロセスを構成するも
のであり、メモリ2は、タスク群1の実行時に用いられ
るメモリ領域であり、メモリ管理制御部3は、タスク群
1またはリモートメモリ管理制御部4が、メモリ2に対
してデータアクセスする動作を管理するためのものであ
る。
【0016】リモートメモリ管理制御部(RMMS)4
は、メモリ2に形成する共有メモリSM(SM1〜SM
k)のデータアクセスのためものであり、自ノードの共
有メモリSMに他ノードからアクセスするためのサーバ
(RMMS/サーバ)機能と、他ノードの共有メモリS
Mにアクセスするためのクライアント(RMMS/クラ
イアント)機能を備えている。
【0017】ネットワーク制御部5は、このデータ処理
装置DPをネットワークNWに接続するとともに、ネッ
トワークNWの通信機能を用いて、他のノードとの間で
データをやりとりするためのものである。
【0018】メモリ2の領域は、図3に示すように、共
有メモリSMを構成するための共有メモリ領域と、自ノ
ード内のメモリオブジェクトなどを記憶するためのロー
カルメモリ領域に分割されている。
【0019】共有メモリ領域には、図4(a)に示すよ
うに、複数のデータオブジェクトが保存されるととも
に、同図(b)に示すように、おのおののデータオブジ
ェクトをアクセスするための共有メモリ管理情報が保存
される。この共有メモリ管理情報は、同図(c)に示す
ように、データオブジェクトを保存したアドレス、デー
タオブジェクトのサイズ、このデータオブジェクトをリ
ンク(後述)しているノードの一覧からなるリンク情
報、このデータオブジェクトをリンクしているタスクの
数をあらわすリンクカウンタ、このデータオブジェクト
がロックされているかどうかをあらわすロック情報、お
よび、このデータオブジェクトに対するアクセス制限な
どをあらわす排他モード情報からなる。
【0020】ローカルメモリ領域は、図5(a)に示す
ように、さらに、ノードのシステムで利用されるシステ
ム領域、共有メモリのアクセスに関する管理情報を記憶
するための管理情報領域、および、ユーザタスク(プロ
セス)で利用されるユーザ領域に分割されている。
【0021】管理情報領域には、同図(b)に示したよ
うに、リンクした共有メモリをアクセスするときに参照
するリンク制御情報、および、有効な共有メモリを保持
するノードアドレスの一覧からなる共有メモリ一覧情報
が記憶されている。
【0022】リンク制御情報は、同図(c)に示したよ
うに、複数の共有メモリ参照情報からなり、おのおのの
共有メモリ参照情報は、そのリンクした共有メモリを保
持するノードのノードアドレスと、その共有メモリを指
定するための参照情報(例えば、アドレスやハンドル
(アドレスを指定するためのポインタ))からなる。
【0023】以上の構成で、例えば、データ処理装置D
Paが共有メモリ2’を作成し、このデータ処理装置D
Paの共有メモリ2’をデータ処理装置DPbのタスク
がアクセスする場合を、図6に示す。この場合、共有メ
モリ2’のアクセス制御動作は、データ処理装置DPa
のリモートデータ管理制御部4のサーバ機能と、データ
処理装置DPbのリモートデータ管理制御部4のクライ
アント機能の間で行われる。
【0024】まず、データ処理装置DPaの共有メモリ
作成タスク1aは、リモートメモリ管理制御機能呼び出
しによって、共有メモリの作成を要求し、これにより、
リモートメモリ管理制御部4は、メモリ2の共有メモリ
領域に、物理的なメモリオブジェクトを共有メモリ2’
として確保する。そして、このときのメモリオブジェク
トの実アドレスや、サイズなどに基づいて、共有メモリ
管理情報を作成して、保存する。それとともに、その共
有メモリ2’をアクセスするために必要な情報(アドレ
スやハンドル)を、共有メモリ作成タスク1aに返す。
【0025】それとともに、データ処理装置DPaのリ
モートメモリ管理制御部4は、共有メモリ2’を作成し
た旨を、他のデータ処理装置DPb〜DPkに対して通
知する。これにより、データ処理装置DPb〜DPkの
リモートメモリ管理制御部4は、このデータ処理装置D
Paの共有メモリ2’に関して、共有メモリ一覧情報を
更新するとともに、共有メモリ参照情報を作成してリン
ク制御情報に追加する。
【0026】このようにして、作成した共有メモリ2’
を、データ処理装置DPbの共有メモリアクセスタスク
1bがアクセスするとき、共有メモリアクセスタスク1
bは、リモートメモリ機能呼び出しによってこの共有メ
モリ2’をオープンする。
【0027】それにより、データ処理装置DPbのリモ
ートメモリ管理制御部4は、記憶しているリンク制御情
報の内容を参照して、指定された共有メモリ2’のノー
ドがデータ処理装置DPaであると特定し、そのデータ
処理装置DPaに対して、共有メモリ2’のリンクを依
頼する。
【0028】このリンク依頼を受けたデータ処理装置D
Paでは、リモートメモリ管理制御部4が、指定された
共有メモリ2’のロック情報および排他モード情報を参
照して、そのときのリンク依頼を受け付けるかどうかを
判断し、リンク依頼を受け付ける場合には、リンクに必
要な情報(アドレスやハンドル)を設定した状態で、リ
ンク受付したことをデータ処理装置DPbに返す。ま
た、データ処理装置DPaのリモートメモリ管理制御部
4は、共有メモリ2’のリンク情報にそのときのデータ
処理装置DPbのノードアドレスを追加するとともに、
リンクカウントの値を1つ増やす。
【0029】このときには、リンクが受け付けられたの
で、データ処理装置DPbのリモートメモリ管理制御部
4は、通知されたリンクに必要な情報を指定した状態で
リンク受付を共有メモリアクセスタスク1bに通知す
る。
【0030】これにより、共有メモリアクセスタスク1
bは、その共有メモリ2’をアクセス可能な状態にな
る。
【0031】そして、共有メモリアクセスタスク1b
が、共有メモリ2’からデータの読み出しを行うとき、
共有メモリアクセスタスク1bは、パラメータとして共
有メモリ2’のアドレス、ハンドル、および、オフセッ
トなど、読み出すデータを指定するために必要な情報を
付加した状態で、リモートメモリ管理制御機能呼び出し
を実行する。
【0032】これにより、データ処理装置DPbのリモ
ートメモリ管理制御部4は、記憶しているリンク制御情
報の内容を参照して、指定された共有メモリ2’のノー
ドがデータ処理装置DPaであると特定し、そのデータ
処理装置DPaに対して、読み出しアドレスのオフセッ
トなどを指定した状態で、共有メモリ2’からデータ読
み出しを依頼する。
【0033】このデータ読み出し依頼を受けたデータ処
理装置DPaでは、リモートメモリ管理制御部4が、指
定された共有メモリ2’のロック情報および排他モード
情報を参照して、そのときのデータ読み出し依頼を受け
付けるかどうかを判断し、データ読み出し依頼を受け付
ける場合には、共有メモリ2’について、そのときに指
定されたオフセットからデータ読み出しを行い、その読
み出しデータをデータ処理装置DPbに返す。
【0034】これによって、データ処理装置DPbのリ
モートメモリ管理制御部4は、受信したデータを共有メ
モリアクセスタスク1bに返す。
【0035】また、共有メモリアクセスタスク1bが、
共有メモリ2’にデータの書き込みを行うとき、共有メ
モリアクセスタスク1bは、パラメータとして書き込み
に必要な情報(共有メモリ2’でのオフセット、格納先
アドレス、書き込みサイズなど)を指定し、書き込みデ
ータを渡した状態で、リモートメモリ管理制御機能呼び
出しを実行する。
【0036】これにより、データ処理装置DPbのリモ
ートメモリ管理制御部4は、記憶しているリンク制御情
報の内容を参照して、指定された共有メモリ2’のノー
ドがデータ処理装置DPaであると特定し、そのデータ
処理装置DPaに対して、オフセットなどを指定すると
ともに、書き込みデータを渡した状態で、共有メモリ
2’に対するデータ書き込みを依頼する。
【0037】このデータ書き込み依頼を受けたデータ処
理装置DPaでは、リモートメモリ管理制御部4が、指
定された共有メモリ2’のロック情報および排他モード
情報を参照して、そのときのデータ書き込み依頼を受け
付けるかどうかを判断し、データ書き込み依頼を受け付
ける場合には、共有メモリ2’について、そのときに指
定されたオフセットから、渡された書き込みデータの書
き込み動作を行う。
【0038】また、共有メモリアクセスタスク1bが、
共有メモリ2’のアクセス権を放棄するとき、共有メモ
リアクセスタスク1bは、パラメータとして共有メモリ
2’を指定した状態で、リモートメモリ管理制御機能呼
び出しを実行する。
【0039】これにより、データ処理装置DPbのリモ
ートメモリ管理制御部4は、記憶しているリンク制御情
報の内容を参照して、指定された共有メモリ2’のノー
ドがデータ処理装置DPaであると特定し、そのデータ
処理装置DPaに対して、共有メモリ2’に対するリン
ク終了を通知する。
【0040】このリンク終了通知を受けたデータ処理装
置DPaでは、リモートメモリ管理制御部4が、共有メ
モリ2’のリンク情報から対応するノードアドレスを削
除するとともに、リンクカウンタの値を1つ減らす。ま
た、このときに、リンクカウンタの値が0になったとき
には、その共有メモリ2’をリンクしているプロセスが
ない場合なので、共有メモリ2’を廃棄する。
【0041】また、共有メモリアクセスタスク1bが、
共有メモリ2’のロックを実行したいとき、共有メモリ
アクセスタスク1bは、パラメータとしてロックする範
囲(アドレス範囲指定など)や排他モード情報を指定し
た状態で、共有メモリ2’について、リモートメモリ管
理制御機能呼び出しを実行する。
【0042】これにより、データ処理装置DPbのリモ
ートメモリ管理制御部4は、記憶しているリンク制御情
報の内容を参照して、指定された共有メモリ2’のノー
ドがデータ処理装置DPaであると特定し、そのデータ
処理装置DPaに対して、ロックする範囲や排他モード
情報を指定した状態で、共有メモリ2’に対するロック
依頼を通知する。
【0043】このロック依頼を受けたデータ処理装置D
Paでは、リモートメモリ管理制御部4が、指定された
共有メモリ2’のロック情報および排他モード情報を参
照して、そのときのロック依頼を受け付けるかどうかを
判断し、ロック依頼を受け付ける場合には、共有メモリ
2’について、そのときに指定された範囲について、ロ
ックまたは排他モード情報の設定を行う。
【0044】このようにして、データ処理装置DPaに
共有メモリ2’が作成され、この共有メモリ2’を他の
データ処理装置DPbからアクセスすることができ、ま
た、共有メモリ2’が廃棄される。
【0045】また、データ処理装置DPbの共有メモリ
アクセスタスク1bは、ローカルメモリをアクセスする
ときと同様のリモートメモリ管理制御機能呼び出しを実
行することで、他のデータ処理装置DPaの共有メモリ
2’をアクセスすることができるので、共有メモリアク
セスタスク1bは、ローカルメモリと共有メモリ(リモ
ートメモリ)の区別をすることなく、共有メモリ2’を
アクセスすることができる。
【0046】図7は、共有メモリを作成するノードが実
行する処理の一例を示している。
【0047】まず、リモートメモリ管理制御部4に対し
て、共有メモリの作成を依頼する(処理101)。これ
により、リモートメモリ管理制御部4は、共有メモリを
確保するとともに、それをアクセスするために必要な管
理情報を作成する(処理102)。
【0048】そして、いずれかのタスクが共有メモリに
対するデータ書き込みを要求すると(処理103)、リ
モートメモリ管理制御部4は、指定された共有メモリに
対して、データの書き込むを実行する(処理104)。
【0049】図8は、他のノードの共有メモリから、デ
ータを読み出すときの処理の一例を示している。
【0050】まず、リモートメモリ管理制御部4に対し
て、共有メモリのオープンを依頼する(処理201)。
これにより、リモートメモリ管理制御部4は、指定され
た共有メモリを保持するノードを特定するとともに、そ
の共有メモリをアクセスするための管理情報を作成する
(処理202)。
【0051】次に、共有メモリからのデータの読み出し
を要求すると(処理203)、リモートメモリ管理制御
部4は、目的ノードの共有メモリからデータを読み出し
て、その読み出しデータを受信する(処理204)。
【0052】図9は、共有メモリの作成時の他の処理例
を示している。
【0053】まず、共有メモリを作成するノードでは、
管理情報を作成し(処理301)、共有メモリ作成を他
のノードに通知する(処理302)。次いで、共有メモ
リの作成タスクに対して、参照情報を返し(処理30
3)、共有メモリ一覧情報の内容を更新する(処理30
4)。
【0054】また、共有メモリを作成しないノードで
は、図10に示したように、共有メモリ作成通知を受信
すると(処理401)、そのときの共有メモリ作成ノー
ドのノードアドレスを共有メモリ一覧情報に追加する
(処理402)。
【0055】図11は、共有メモリのオープン時に、共
有メモリとのリンクを要求するノードが実行する処理例
を示している。
【0056】まず、そのときに共有メモリ一覧情報を保
持しているかどうかを調べる(判断501)。判断50
1の結果がNOになるときには、各ノードに対して、共
有メモリを保持しているかどうかを問い合わせ(処理5
02)、各ノードからの応答を受信し(処理503)、
その受信結果に基づいて、共有メモリ一覧情報を作成す
る(処理504)。
【0057】処理504を終了したとき、および、判断
501の結果がYESになるときには、判断505に移
行する。この判断505では、共有メモリ一覧情報に1
つ以上のノードが登録されているかどうかを調べ、判断
505の結果がYESになるときは、そのノードに対し
て、リンク依頼を発行して(処理506)、そのリンク
依頼の結果を受信する(処理507)。
【0058】そして、そのときにリンクが成功したかど
うかを調べて(判断506)、判断506の結果がYE
Sになるときには、共有メモリ参照情報を作成して、保
存する(処理507)。
【0059】図11は、共有メモリ有無の問い合わせを
受信したときの処理例を示している。
【0060】共有メモリ有無の問い合わせを受信すると
(処理601)、そのときの共有メモリの有無状態を、
その問い合わせ元のノードに通知する(処理602)。
【0061】図12は、リンク依頼を受信したときの処
理例を示す。
【0062】リンク依頼を受信すると(処理701)、
その依頼元について、アクセス権等をチェックして(処
理702)、リンク可能であるかどうかを調べる(判断
703)。
【0063】判断703の結果がYESになるときに
は、リンク情報を応答して(処理704)、リンクカウ
ンタの値を1つ増やす(処理705)。判断703の結
果がNOになるときには、リンク不可を通知する(処理
706)。
【0064】図14は、共有メモリをアクセスするとき
の、要求側のノードの処理の一例を示している。
【0065】まず、タスクから指定されたパラメータを
参照して、共有メモリ参照情報を得る(処理801)。
このときに指定されたパラメータが正常値であり、正し
く共有メモリ参照情報を得た場合には(判断802の結
果がYES)、共有メモリを保持するノードのリモート
メモリ管理制御サーバ機能に対して、アクセス要求を発
行する(処理803)。
【0066】次に、そのリモートメモリ管理制御サーバ
機能からの応答を受信し(処理804)、そのときにア
クセス可が通知されたかどうかを調べる(判断80
5)。判断805の結果がYESになるときには、その
ときにデータ読み出しを実行するかどうかを調べる(判
断806)。
【0067】判断806の結果がYESになるときに
は、リモートメモリ管理制御サーバ機能にデータ読み出
し要求を発行し(処理808)、それによって受信した
データをアクセス要求したタスクに渡す(処理80
9)。
【0068】データ書き込みが要求された場合で、判断
806の結果がNOになるときは、リモートメモリ管理
制御サーバ機能にデータ書き込み要求を発行し(処理8
10)、タスクから渡されたデータを送出する(処理8
11)。
【0069】図15は、アクセス要求されたときの処理
の一例を示している。
【0070】アクセス要求を受信すると(処理90
1)、アクセス権等をチェックし(処理902)、アク
セス可能であるかどうかを調べる(判断903)。判断
903のの結果がNOになるときには、アクセス要求元
に対してアクセス不可を通知する(処理904)。
【0071】判断903の結果がYESになるときに
は、アクセス要求元に対してアクセス可を通知し(処理
905)、そのときにデータ読み出しが通知されたかど
うかを調べる(判断906)。
【0072】判断906の結果がYESになるときに
は、指定されたデータ読み出し動作を実行して(処理9
07)、その読み出したデータをアクセス要求元に転送
する(処理908)。
【0073】また、判断906の結果がNOになるとき
には、書き込みデータを受信して(処理909)、その
受信データを、指定した態様で書き込む(処理91
0)。
【0074】図16は、リンク解放が指令されたときの
処理例を示す。
【0075】タスクから指定された共有メモリを保持す
るノードのリモートメモリ管理制御サーバ機能にリンク
解放要求を発行し(処理1001)、共有メモリ参照情
報から、その指定された共有メモリの情報を削除する
(処理1002)。
【0076】図17は、リンク解放要求を受信したとき
の処理の一例を示している。
【0077】リンク解放要求を受信すると(処理110
1)、その要求元のノードをリンク情報から消去して
(処理1102)、リンクカウンタの値を1つ減らす
(処理1103)。ここで、リンクカウンタの値が0に
なっているかどうかを調べ(判断1104)、判断11
04の結果がYESになるときには、共有メモリおよび
管理情報を廃棄する(処理1105)。
【0078】図18は、リンク解放が指令されたときの
他の例を示している。
【0079】タスクから共有メモリの廃棄が指令される
と(処理1201)、そのときに共有メモリにリンクし
ているノードに対して共有メモリの廃棄通知を発行し
(処理1202)、各ノードからの応答を受信する(処
理1203)。
【0080】全てのノードが廃棄可能を応答した場合
で、共有メモリを廃棄できるかどうかを調べ(判断12
04)、判断1204の結果がYESになるときには、
共有メモリおよび管理情報を廃棄する(処理120
5)。
【0081】図19は、共有メモリの廃棄通知を受信し
たときに実行する処理の一例を示している。
【0082】共有メモリ廃棄通知を受信すると(処理1
301)、そのときに通知された共有メモリを廃棄可能
な状態になっているかどうかを調べ(判断1302)、
判断1302の結果がYESになるときは、廃棄可を通
知するとともに、共有メモリ参照情報を廃棄する(処理
1303)。また、判断1302の結果がNOになると
きには、廃棄不可を通知する(処理1304)。
【0083】ところで、各データ処理装置DPa〜DP
kで保持する共有メモリSM1〜SMkを、仮想的な線
形メモリの一部に配置することができる。
【0084】その場合、共有メモリ管理情報は、図20
(a)に示すように、データオブジェクトを保存したア
ドレス、データオブジェクトのサイズ、仮想的な線形メ
モリ領域でこの共有メモリが占める領域の先頭アドレス
をあらわすオフセット、このデータオブジェクトをリン
クしているノードの一覧からなるリンク情報、このデー
タオブジェクトをリンクしているタスクの数をあらわす
リンクカウンタ、このデータオブジェクトがロックされ
ているかどうかをあらわすロック情報、および、このデ
ータオブジェクトに対するアクセス制限などをあらわす
排他モード情報から構成する。
【0085】また、同図(b)に示したように、各デー
タ処理装置DPa〜DPkには、仮想的線形メモリにお
ける共有メモリの配置状況を記憶するための仮想線形メ
モリマップを形成する。この仮想線形メモリマップは、
おのおのの共有メモリに関する複数の共有メモリマップ
からなる。また、おのおのの共有メモリマップの内容
は、同図(c)に示したように、オフセットと、ノード
アドレスと、サイズからなる。
【0086】したがって、この場合には、複数ノード上
の複数の共有メモリを、連続したメモリとしてアクセス
することができ、共有メモリをアクセスするときの処理
の負担を軽減できる。
【0087】この場合、タスクがリモートメモリ管理制
御機能呼び出しを実行して、共有メモリの作成を要求し
たときの処理例を図21に示す。
【0088】共有メモリの作成が要求されると、まず、
そのときに仮想線形メモリマップを保持しているかどう
かを調べる(判断1401)。判断1401の結果がN
Oになるときには、各ノードに対して、保持している共
有メモリに関し、共有メモリに関するマップ情報(オフ
セット、サイズなど)の通知を要求し(処理140
2)、おのおののノードからの通知データを受信し(処
理1403)、そのときの受信データに基づいて、仮想
線形メモリマップを作成する(処理1404)。
【0089】処理1404を終了したとき、および、判
断1401の結果がYESになるときには、共有メモリ
を実メモリに確保できるかどうかを調べる(判断140
5)。
【0090】判断1405の結果がYESになるときに
は、仮想線形メモリマップに基づき、仮想線形メモリに
おいて、作成する共有メモリのオフセット値を決定し、
その共有メモリの管理情報を作成する(処理140
6)。このとき、最も高位のアドレスに位置するブロッ
クの次の位置をオフセットとしたり、空き領域に共有メ
モリを確保することができる。
【0091】そして、その作成した共有メモリについ
て、共有メモリを作成した旨、および、共有メモリに関
する情報を各ノードに通知する(処理1407)。
【0092】図22は、共有メモリのマップ情報通知要
求を受信したときに実行する処理の一例を示している。
【0093】共有メモリのマップ情報通知要求を受信す
ると(処理1501)、そのときに自ノードで保持して
いる共有メモリのマップ情報を、その要求ノードに対し
て送信する(処理1502)。
【0094】図23は、共有メモリ作成通知を受信した
ときに実行する処理の一例を示している。
【0095】共有メモリ作成通知を受信すると(処理1
601)、そのときに通知された内容で、仮想線形メモ
リマップの内容を更新する(処理1602)。
【0096】タスクがリモートメモリ管理制御機能呼び
出しを実行して、共有メモリへのアクセスを要求したと
きの処理例を図24に示す。このとき、アクセス要求す
る共有メモリのオフセットなど、共有メモリを指定する
情報がパラメータとして指定される。
【0097】共有メモリへのアクセス要求を受信する
と、まず、そのときに仮想線形メモリマップを保持して
いるかどうかを調べる(判断1701)。判断1701
の結果がNOになるときには、各ノードに対して、保持
している共有メモリに関し、共有メモリに関するマップ
情報(オフセット、サイズなど)の通知を要求し(処理
1702)、おのおののノードからの通知データを受信
し(処理1703)、そのときの受信データに基づい
て、仮想線形メモリマップを作成する(処理170
4)。
【0098】処理1704を終了したとき、および、判
断1701の結果がYESになるときには、そのときに
指定されたオフセットに共有メモリが存在するかどうか
を調べる(判断1705)。
【0099】判断1705の結果がYESになるときに
は、共有メモリを保持するノードに対してリンクを要求
し(処理1706)、そのノードからの応答を受信する
(処理1707)。
【0100】このときに、リンクが成功したかどうかを
調べて(判断1708)、判断1708の結果がYES
になるときには、共有メモリ参照情報を作成する(処理
1709)。
【0101】図25は、リンク要求を受信したときの処
理例を示している。
【0102】まず、そのときのリンク要求元について、
アクセス権をチェックし(処理1801)、リンク可能
であるかどうかを調べる(判断1802)。判断180
2の結果がYESになるときには、共有メモリに関する
リンク情報を作成して、リンク要求元に送出する(処理
1803)。また、判断1802の結果がNOになると
きには、リンク不可をリンク要求元に通知する(処理1
804)。
【0103】ところで、共有メモリに一意の識別子を付
加すると、この識別子を指定するだけでネットワーク上
の複数の共有メモリのうち、目的のものを指定すること
ができるので、共有メモリの指定が簡単になる。
【0104】その場合、共有メモリ管理情報は、図26
(a)に示すように、データオブジェクトを保存したア
ドレス、データオブジェクトのサイズ、この共有メモリ
に付加された識別子、このデータオブジェクトをリンク
しているノードの一覧からなるリンク情報、このデータ
オブジェクトをリンクしているタスクの数をあらわすリ
ンクカウンタ、このデータオブジェクトがロックされて
いるかどうかをあらわすロック情報、および、このデー
タオブジェクトに対するアクセス制限などをあらわす排
他モード情報から構成する。
【0105】また、同図(b)に示したように、各デー
タ処理装置DPa〜DPkには、共有メモリと識別子と
の関係をあらわす共有メモリ識別子テーブルを形成す
る。この共有メモリ識別子テーブルは、おのおのの共有
メモリに関する共有メモリ識別子情報からなる。また、
おのおのの共有メモリ識別子情報の内容は、同図(c)
に示したように、識別子と、ノードアドレスからなる。
【0106】この場合、タスクがリモートメモリ管理制
御機能呼び出しを実行して、付加する識別子を指定した
状態で共有メモリの作成を要求したときの処理例を図2
7に示す。
【0107】共有メモリの作成が要求されると、まず、
そのときに共有メモリ識別子テーブルを保持しているか
どうかを調べる(判断1901)。判断1901の結果
がNOになるときには、各ノードに対して、保持してい
る共有メモリに関し、共有メモリの識別子を問い合わせ
(処理1902)、おのおののノードからの通知データ
を受信し(処理1903)、そのときの受信データに基
づいて、共有メモリ識別子テーブルを作成する。
【0108】処理1903を終了したあと、および、判
断1901の結果がYESになるときには、そのときに
指定された識別子が、既に他の共有メモリに付加されて
いるかどうかを調べる(判断1904)。
【0109】判断1904の結果がYESになるときに
は、そのときに新たに共有メモリを作成できるかどうか
を調べ(判断1905)、判断1905の結果がYES
になるときには、その作成した共有メモリについて、共
有メモリを作成した旨、および、共有メモリに関する情
報を各ノードに通知する(処理1906)。
【0110】図28は、共有メモリの識別子問い合わせ
を受信したときに実行する処理の一例を示している。
【0111】共有メモリの識別子問い合わせを受信する
と(処理2001)、そのときに自ノードで保持してい
る共有メモリの識別子を、その要求ノードに対して送信
する(処理2002)。
【0112】図29は、共有メモリ作成通知を受信した
ときに実行する処理の一例を示している。
【0113】共有メモリ作成通知を受信すると(処理2
101)、そのときに通知された内容で、共有メモリ識
別子テーブルの内容を更新する(処理2102)。
【0114】タスクがリモートメモリ管理制御機能呼び
出しを実行して、共有メモリへのアクセスを要求したと
きの処理例を図30に示す。このとき、アクセス要求す
る共有メモリの識別子など、共有メモリを指定する情報
がパラメータとして指定される。
【0115】共有メモリへのアクセス要求を受信する
と、まず、そのときに共有メモリ識別子テーブルを保持
しているかどうかを調べる(判断2201)。判断22
01の結果がNOになるときには、各ノードに対して、
保持している共有メモリに関し、共有メモリの識別子を
問い合わせ(処理2202)、おのおののノードからの
通知データを受信し(処理2203)、そのときの受信
データに基づいて、共有メモリ識別子テーブルを作成す
る。
【0116】処理2203を終了したあと、および、判
断2201の結果がYESになるときには、そのときに
指定された識別子が、共有メモリ識別子テーブルに含ま
れているかどうかを調べる(判断2204)。
【0117】判断2204の結果がYESになるときに
は、共有メモリを保持するノードに対してリンクを要求
し(処理2205)、そのノードからの応答を受信する
(処理2206)。
【0118】このときに、リンクが成功したかどうかを
調べて(判断2207)、判断2207の結果がYES
になるときには、共有メモリ参照情報を作成する(処理
2208)。
【0119】さて、本発明は、仮想記憶管理機構を備え
たノードを用いる場合についても同様にして適用するこ
とができる。
【0120】図31は、仮想記憶管理機構を備えたデー
タ処理装置のシステム構成の一例を示している。なお、
同図では、本発明の要部に関する部分のみを示してお
り、他の部分については、説明を省略する。また、同図
において、図2と同一部分および相当する部分には、同
一符号を付している。
【0121】同図において、タスク群1’は、このデー
タ処理装置DPで実行されるユーザプロセスを構成する
ものであり、メモリ2は、タスク群1の実行時に用いら
れるメモリ領域であり、メモリ管理制御部3’は、仮想
メモリ管理制御部(仮想記憶管理機構)6またはリモー
トメモリ管理制御部4’が、メモリ2に対してデータア
クセスする動作を管理するためのものである。
【0122】リモートメモリ管理制御部4’は、メモリ
2に形成する共有メモリSM(SM1〜SMk)のデー
タアクセスのためものであり、自ノードの共有メモリS
Mに他ノードからアクセスするためのサーバ(RMMS
/サーバ)機能と、他ノードの共有メモリSMにアクセ
スするためのクライアント(RMMS/クライアント)
機能を備えている。
【0123】仮想メモリ管理制御部6は、仮想記憶管理
機構を実現するためのものであり、タスク群1’は、こ
の仮想メモリ管理制御部6を介して、メモリ2にアクセ
スする。
【0124】この場合、メモリ2のデータアクセスする
ために、図32(a)に示したようなディスクリプタが
用いられる。このディスクリプタは、おのおののメモリ
オブジェクトをアクセスするためのメモリ情報からな
る。
【0125】また、このメモリ情報は、同図(b)に示
したように、対応する記憶領域の物理アドレスを示すア
ドレス、サイズ、リモートメモリであるかローカルメモ
リであるかを区別するためのリモート/ローカル情報、
データが2次記憶装置にスワップアウトされているか否
かをあらわすスワップ情報、このデータオブジェクトを
リンクしているノードの一覧からなるリンク情報、この
データオブジェクトをリンクしているタスクの数をあら
わすリンクカウンタ、このデータオブジェクトがロック
されているかどうかをあらわすロック情報、および、こ
のデータオブジェクトに対するアクセス制限などをあら
わす排他モード情報からなる。
【0126】この場合、タスクがリモートメモリ管理制
御機能呼び出しを実行して、共有メモリに対するリンク
を要求するときの処理例を図33に示す。
【0127】タスクが、リモートメモリ管理制御機能呼
び出しを実行して、共有メモリに対するリンクを要求す
ると(処理2301)、リモートメモリ管理制御機構か
らは、共有メモリアクセスのための仮想アドレス情報
(メモリ情報)が返るので(処理2302)、タスク
は、この仮想アドレス情報を保存する。
【0128】図34は、リモートメモリ管理制御機能呼
び出しで、共有メモリに対するリンクが要求されたとき
の、リモートメモリ管理制御部4’およびシステム側の
処理例を示す。
【0129】まず、リモートメモリ管理制御部4’は、
リンク情報を作成し(処理2401)、リモートモード
の対応するディスクリプタ(メモリ情報)を作成する
(処理2402)。そして、そのディスクリプタに対応
した仮想アドレス情報をタスクに返す(処理240
3)。
【0130】また、タスクがリモートメモリ管理制御機
能呼び出しを実行して、共有メモリに対するアクセスを
要求するときの処理例を図35に示す。
【0131】まず、タスクは、そのときにシステム(リ
モートメモリ管理制御機構)から返された仮想アドレス
情報を用いて、リモートメモリ管理制御機構に対して、
共有メモリのアクセスを要求する(処理2501)。
【0132】これにより、システムからアクセス可が通
知されると(判断2502の結果がYES)、そのとき
にアクセス要求した共有メモリに対して、適宜なデータ
処理を実行する(処理2503)。
【0133】図36は、タスクからメモリアクセス要求
されたときに、システムが実行する処理の一例を示して
いる。
【0134】まず、タスクから指定された仮想アドレス
から、対応するディスクリプタ(メモリ情報)を得る
(処理2601)。そして、そのアクセス対象がリモー
トメモリであるかどうかを調べる(判断2602)。
【0135】判断2602の結果がNOになるときに
は、そのタスクに関するアクセス権をチェックして(処
理2603)、アクセス可であるかどうかを調べる(判
断2604)。判断2604の結果がNOになるときに
は、アクセス要求したタスクに対して、アクセス不可を
通知する(処理2605)。
【0136】また、判断2604の結果がYESになる
ときには、そのときのメモリオブジェクトがスワップア
ウトされているかどうかを調べ(判断2606)、判断
2606の結果がYESになるときには、そのデータを
実メモリ上にロードする(処理2607)。
【0137】このようにして、データアクセス可能な状
態になると、タスクに対して、データアクセス処理を実
行させる(処理2608)。
【0138】また、アクセス要求された対象がリモート
メモリ(共有メモリ)であり、判断2602の結果がY
ESになるときには、そのときに得たディスクリプタに
基づいて、共有メモリをアクセスするためのリンク情報
を形成し(処理2609)、その共有メモリを保持する
ノードのリモートメモリ管理制御サーバに対して、アク
セス要求を発行する(処理2610)。
【0139】そのときのアクセス要求に対して、アクセ
ス可が通知されたときには(判断2611の結果がYE
S)、処理2608に移行し、タスクに対してデータア
クセス処理を実行させる。また、アクセス不可が通知さ
れたときで、判断2611の結果がNOになるときに
は、処理2605に移行し、タスクに対してアクセス不
可を通知する。
【0140】したがって、本実施例では、仮想記憶管理
機構を利用することで、タスクは、共有メモリに対する
アクセスを、ローカルメモリに対するアクセスと区別す
ることなく実行できるので、タスク側の処理の負担がよ
り軽減する。
【0141】なお、本発明は、上述したようなシステム
以外のものについても、同様にして適用することができ
る。
【0142】
【発明の効果】以上説明したように、本発明によれば、
異なるノード間でメモリを共有できるので、ネットワー
クシステム全体でのデータの共有を、容易に実現するこ
とができる。また、仮想記憶管理機構を備えている場合
には、共有メモリ空間を仮想記憶管理機構を用いて直接
アクセスすることができるので、データのアクセス効率
がよく、また、共有メモリを高速にアクセスすることが
できるという効果を得る。
【図面の簡単な説明】
【図1】本発明の一実施例にかかるローカルエリアネッ
トワークシステムを示したブロック図。
【図2】データ処理装置(ノード)の一例を示したブロ
ック図。
【図3】メモリ領域の分割の一例を示した概略図。
【図4】共有メモリ領域に記憶されるデータの一例を示
した概略図。
【図5】ローカルメモリ領域に記憶されるデータの一例
を示した概略図。
【図6】共有メモリに対するアクセスなどの種々の処理
動作を説明するためのモデルブロック図。
【図7】共有メモリを形成するノードの処理例を示した
フローチャート。
【図8】共有メモリを形成しない他のノードの処理例を
示したフローチャート。
【図9】共有メモリ形成時の処理例を示したフローチャ
ート。
【図10】共有メモリ作成通知を受信したときの処理例
を示したフローチャート。
【図11】共有メモリにリンク依頼するときの処理例を
示したフローチャート。
【図12】共有メモリ有無問い合わせを受信したときの
処理の一例を示したフローチャート。
【図13】リンク依頼を受信したときの処理の一例を示
したフローチャート。
【図14】共有メモリにアクセス要求するときの処理例
を示したフローチャート。
【図15】アクセス要求を受信したときの処理例を示し
たフローチャート。
【図16】共有メモリのリンク解放を要求したときの処
理例を示したフローチャート。
【図17】リンク解放通知を受信したときの処理例を示
したフローチャート。
【図18】共有メモリの廃棄要求時の処理例を示したフ
ローチャート。
【図19】共有メモリ廃棄通知を受信したときの処理例
を示したフローチャート。
【図20】本発明の他の実施例にかかる管理情報などの
一例を示した概略図。
【図21】共有メモリの作成要求時の他の処理例を示し
たフローチャート。
【図22】共有メモリマップ通知要求を受信したときの
処理の一例を示したフローチャート。
【図23】共有メモリ情報を受信したときの処理例を示
したフローチャート。
【図24】共有メモリにリンク依頼するときの処理の他
の例を示したフローチャート。
【図25】リンク依頼を受信したときの処理例を示した
フローチャート。
【図26】本発明のさらに他の実施例にかかる管理情報
などの一例を示した概略図。
【図27】共有メモリの作成要求時のさらに他の処理例
を示したフローチャート。
【図28】共有メモリ識別子の問い合わせを受信したと
きの処理例を示したフローチャート。
【図29】共有メモリ情報を受信したときの処理例を示
したフローチャート。
【図30】リンク依頼時のさらに他の処理例を示したフ
ローチャート。
【図31】本発明の別な実施例にかかるデータ処理装置
を示したブロック図。
【図32】図31の装置のディスクリプタの一例を示し
た概略図。
【図33】共有メモリオープン要求時のタスクの処理例
を示したフローチャート。
【図34】共有メモリオープン要求時のシステムの処理
例を示したフローチャート。
【図35】共有メモリアクセス時のタスクの処理例を示
したフローチャート。
【図36】共有メモリアクセス時のシステムの処理例を
示したフローチャート。
【符号の説明】
NW ネットワーク DP1〜DPk,DP データ処理装置 SM1〜SMk,SM 共有メモリ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数ノードを接続したネットワークシス
    テムにおいて、 おのおののノードに、他のノードから共用できるメモリ
    オブジェクトを保存する共有メモリ領域を設けたことを
    特徴とするネットワークシステム。
  2. 【請求項2】 前記共有メモリ領域は、そのネットワー
    クシステム内に定義された仮想的な線形メモリ領域の一
    部を構成することを特徴とする請求項1記載のネットワ
    ークシステム。
  3. 【請求項3】 前記共有メモリ領域に保存される前記メ
    モリオブジェクトには、ユニークな識別子が付加され、
    各ノードからは、その識別子を用いてアクセスできるこ
    とを特徴とする請求項1記載のネットワークシステム。
  4. 【請求項4】 おのおのが仮想記憶管理機構を備えた複
    数ノードを接続したネットワークシステムにおいて、 おのおののノードに、他のノードから共用できるメモリ
    オブジェクトを保存する共有メモリ領域を設けるととも
    に、その共有メモリ領域には、上記仮想記憶メモリ管理
    機構に対応した仮想記憶管理アドレスが付されているこ
    とを特徴とするネットワークシステム。
JP5183145A 1993-06-30 1993-06-30 ネットワークシステム Pending JPH0784921A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5183145A JPH0784921A (ja) 1993-06-30 1993-06-30 ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5183145A JPH0784921A (ja) 1993-06-30 1993-06-30 ネットワークシステム

Publications (1)

Publication Number Publication Date
JPH0784921A true JPH0784921A (ja) 1995-03-31

Family

ID=16130593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5183145A Pending JPH0784921A (ja) 1993-06-30 1993-06-30 ネットワークシステム

Country Status (1)

Country Link
JP (1) JPH0784921A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529162A (ja) * 2000-03-28 2003-09-30 インテル・コーポレーション 無線ネットワークを介してコンピュータ・システム間での切取り、コピー、および貼り付けを行う方法および装置
JP2011146910A (ja) * 2010-01-14 2011-07-28 Fujitsu Telecom Networks Ltd データ集配信システムおよび入出力装置
WO2012114443A1 (ja) * 2011-02-21 2012-08-30 富士通株式会社 プロセッサ管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529162A (ja) * 2000-03-28 2003-09-30 インテル・コーポレーション 無線ネットワークを介してコンピュータ・システム間での切取り、コピー、および貼り付けを行う方法および装置
JP2011146910A (ja) * 2010-01-14 2011-07-28 Fujitsu Telecom Networks Ltd データ集配信システムおよび入出力装置
WO2012114443A1 (ja) * 2011-02-21 2012-08-30 富士通株式会社 プロセッサ管理方法
US9342451B2 (en) 2011-02-21 2016-05-17 Fujitsu Limited Processor management method
JP5967073B2 (ja) * 2011-02-21 2016-08-10 富士通株式会社 プロセッサ管理方法

Similar Documents

Publication Publication Date Title
US5454108A (en) Distributed lock manager using a passive, state-full control-server
EP0514972B1 (en) Multinode distributed data processing system for use in a surface vehicle
US5418913A (en) System of two-way communication between processors using a single queue partitioned with pointers and limited overwrite privileges
JPH0962558A (ja) データベース管理システム及び方法
US6112281A (en) I/O forwarding in a cache coherent shared disk computer system
JPH09512123A (ja) データ記憶装置
KR20180071967A (ko) 데이터 처리
US5901328A (en) System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area
JPS61283943A (ja) デイレクトリ・デ−タベ−ス装置
US5218713A (en) Distributed data management mechanism for handling a data stream
JPH0784921A (ja) ネットワークシステム
JP2006164218A (ja) ストレージシステム及びそのキャッシュ制御方法
JPH05224956A (ja) プロセス間メッセージ通信方法
JP2746189B2 (ja) ファイルアクセス制御システム
US20010018705A1 (en) Communication process and apparatus
JPH08278953A (ja) 計算機システムにおける排他制御方式
JP2005032171A (ja) データ共有のための機能モジュール間通信制御システム,機能モジュール間通信制御方法,機能モジュール間通信制御プログラムおよびその記録媒体
JP2001175522A (ja) 排他制御方法及びシステム
JPH0535619A (ja) フアイル転送装置
JPH0581210A (ja) クラスタ・マルチプロセツサ協調処理方法
JP2020155031A (ja) 並列コンピュータシステム
JPH01214960A (ja) マルチプロセッサ間のメッセージ交換方式
JPH086838A (ja) 分散システム
JPH04170134A (ja) 通信制御方法
JP2798140B2 (ja) 仮想空間制御方式