JPH09311839A - データ共用方式 - Google Patents
データ共用方式Info
- Publication number
- JPH09311839A JPH09311839A JP8126083A JP12608396A JPH09311839A JP H09311839 A JPH09311839 A JP H09311839A JP 8126083 A JP8126083 A JP 8126083A JP 12608396 A JP12608396 A JP 12608396A JP H09311839 A JPH09311839 A JP H09311839A
- Authority
- JP
- Japan
- Prior art keywords
- data
- identifier
- shared
- memory
- area
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】 (修正有)
【課題】容易に共用データをアクセスする。
【解決手段】共用されたグローバルメモリ212内は、
一定の単位で分割し、処理装置100,120及び共用
装置110から見て一意の識別子でもって分割されたそ
れぞれの単位を管理する。処理装置100のシステム間
排他手段202が、処理装置100内の任意のアドレス
空間の領域を識別子でもって指定して排他確保する場合
は、更新状態確認手段203は、共用装置110内の対
応する単位内のデータの更新の有無をチェックし、更新
されている時には、データ転送手段204は、共用装置
110内の対応する単位内のデータをアドレス空間に転
送する。排他解除する場合アドレス空間内のデータが更
新されているときには、データ共用方式転送手段204
は、そのデータを共用装置110内の対応する単位内に
転送する。
一定の単位で分割し、処理装置100,120及び共用
装置110から見て一意の識別子でもって分割されたそ
れぞれの単位を管理する。処理装置100のシステム間
排他手段202が、処理装置100内の任意のアドレス
空間の領域を識別子でもって指定して排他確保する場合
は、更新状態確認手段203は、共用装置110内の対
応する単位内のデータの更新の有無をチェックし、更新
されている時には、データ転送手段204は、共用装置
110内の対応する単位内のデータをアドレス空間に転
送する。排他解除する場合アドレス空間内のデータが更
新されているときには、データ共用方式転送手段204
は、そのデータを共用装置110内の対応する単位内に
転送する。
Description
【0001】
【発明の属する技術分野】本発明は、データ共用方式に
係り、特に、複数のコンピュータシステム間で共通に使
用するデータを共用装置において共用するデータ共用方
式に関する。
係り、特に、複数のコンピュータシステム間で共通に使
用するデータを共用装置において共用するデータ共用方
式に関する。
【0002】
【従来の技術】従来、複数のコンピュータシステム間で
アドレス空間上のデータを共用する場合は、共用されて
いる入出力装置を占有し、あらかじめ決められた位置に
一旦データを書き込み後、占有状態を解除している。そ
の後、他システムがそのデータを利用する際には、同様
にして、この入出力装置を占有してから、決められた位
置のデータを読み込み、アドレス空間上にあらかじめ確
保した領域にデータを転送後、占有状態を解除するよう
にしている。即ち、個々のコンピュータシステムが、一
旦、入出力装置を占有して、データの読み出しや書き込
みを行い、その後、占有を解除している。ここで、複数
システム間で共有する入出力装置としては、例えば、磁
気ディスク装置,半導体ディスク装置や独立形拡張記憶
装置などがある。
アドレス空間上のデータを共用する場合は、共用されて
いる入出力装置を占有し、あらかじめ決められた位置に
一旦データを書き込み後、占有状態を解除している。そ
の後、他システムがそのデータを利用する際には、同様
にして、この入出力装置を占有してから、決められた位
置のデータを読み込み、アドレス空間上にあらかじめ確
保した領域にデータを転送後、占有状態を解除するよう
にしている。即ち、個々のコンピュータシステムが、一
旦、入出力装置を占有して、データの読み出しや書き込
みを行い、その後、占有を解除している。ここで、複数
システム間で共有する入出力装置としては、例えば、磁
気ディスク装置,半導体ディスク装置や独立形拡張記憶
装置などがある。
【0003】なお、独立型拡張記憶装置による複数シス
テム間でのデータ共用方法については、例えば、(株)
日立製作所発行のマニュアル「プログラムプロダクトV
OS3/FSセンタ運営−JSS3編−」、平成7年1
0月発行のp.110−117,「拡張記憶装置」の項
に記載されている。
テム間でのデータ共用方法については、例えば、(株)
日立製作所発行のマニュアル「プログラムプロダクトV
OS3/FSセンタ運営−JSS3編−」、平成7年1
0月発行のp.110−117,「拡張記憶装置」の項
に記載されている。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
システムにおいては、共用装置である入出力装置を占有
するため、入出力装置の排他オーバヘッドが大きく、比
較的小さいデータを頻繁にアクセスすると、排他オーバ
ヘッドやアクセスオーバヘッドが無視できなくなるとい
う問題があった。
システムにおいては、共用装置である入出力装置を占有
するため、入出力装置の排他オーバヘッドが大きく、比
較的小さいデータを頻繁にアクセスすると、排他オーバ
ヘッドやアクセスオーバヘッドが無視できなくなるとい
う問題があった。
【0005】本発明の目的は、各コンピュータシステム
上で稼働するプログラムが共用装置の存在を意識せず
に、自システム内の領域をアクセスするのと同様な手順
により、容易にシステム間の共用データをアクセスでき
るデータ共用方式を提供することにある。
上で稼働するプログラムが共用装置の存在を意識せず
に、自システム内の領域をアクセスするのと同様な手順
により、容易にシステム間の共用データをアクセスでき
るデータ共用方式を提供することにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、複数のコンピュータシステム間で共通に
使用するデータを共用装置内の共用メモリにおいて共用
するデータ共用方式において、上記共用メモリ内を一定
の単位で分割し、上記複数のコンピュータシステム及び
上記共用装置から見て一意の識別子でもって上記分割さ
れたそれぞれの単位を管理し、上記コンピュータシステ
ム内の任意のアドレス空間の領域を上記識別子でもって
指定して排他確保する時には、上記共用メモリ内の対応
する単位内のデータの更新の有無をチェックし、更新さ
れている時には、上記共用メモリ内の対応する単位内の
データを上記アドレス空間に転送し、排他解除する時に
は、上記アドレス空間内のデータが更新されている時に
は、そのデータを上記共用メモリ内の対応する単位内に
転送するようにしたものであり、かかる方式により、各
コンピュータシステム上で稼働するプログラムは共用装
置の存在を意識せずに、自システム内の領域をアクセス
するのと同様な手順により、容易にシステム間の共用デ
ータをアクセスし得るものとなる。
に、本発明は、複数のコンピュータシステム間で共通に
使用するデータを共用装置内の共用メモリにおいて共用
するデータ共用方式において、上記共用メモリ内を一定
の単位で分割し、上記複数のコンピュータシステム及び
上記共用装置から見て一意の識別子でもって上記分割さ
れたそれぞれの単位を管理し、上記コンピュータシステ
ム内の任意のアドレス空間の領域を上記識別子でもって
指定して排他確保する時には、上記共用メモリ内の対応
する単位内のデータの更新の有無をチェックし、更新さ
れている時には、上記共用メモリ内の対応する単位内の
データを上記アドレス空間に転送し、排他解除する時に
は、上記アドレス空間内のデータが更新されている時に
は、そのデータを上記共用メモリ内の対応する単位内に
転送するようにしたものであり、かかる方式により、各
コンピュータシステム上で稼働するプログラムは共用装
置の存在を意識せずに、自システム内の領域をアクセス
するのと同様な手順により、容易にシステム間の共用デ
ータをアクセスし得るものとなる。
【0007】上記データ共用方式において、好ましく
は、上記コンピュータシステムは、複数の上記識別子を
グループ化してアクセスするとともに、上記共用装置に
対する排他確保を、グループ化された識別子の内の代表
する識別子でもって行うようにしたものであり、かかる
方式により、排他オーバヘッドを削減し得るものとな
る。
は、上記コンピュータシステムは、複数の上記識別子を
グループ化してアクセスするとともに、上記共用装置に
対する排他確保を、グループ化された識別子の内の代表
する識別子でもって行うようにしたものであり、かかる
方式により、排他オーバヘッドを削減し得るものとな
る。
【0008】上記データ共用方式において、好ましく
は、上記コンピュータシステムが、上記コンピュータシ
ステム上でデータを参照・更新するアクセス時期と、上
記共用装置上のデータを上記コンピュータシステムに反
映させるアクセス時期とを非同期とするようにしたもの
であり、かかる方式により、共用装置へのオーバヘッド
を低減し得るものとなる。
は、上記コンピュータシステムが、上記コンピュータシ
ステム上でデータを参照・更新するアクセス時期と、上
記共用装置上のデータを上記コンピュータシステムに反
映させるアクセス時期とを非同期とするようにしたもの
であり、かかる方式により、共用装置へのオーバヘッド
を低減し得るものとなる。
【0009】
【発明の実施の形態】以下、図1〜図3を用いて、本発
明の一実施形態によるデータ共用方式について説明す
る。図1は、本発明の一実施形態によるデータ共用方式
を実現する複合コンピュータシステムの構成図である。
明の一実施形態によるデータ共用方式について説明す
る。図1は、本発明の一実施形態によるデータ共用方式
を実現する複合コンピュータシステムの構成図である。
【0010】処理装置100は、共用装置110上の識
別子で管理されるグローバルメモリ212と1:1で対
応する自システム内のローカルメモリ206のアドレス
空間上のメモリ領域を管理するローカル領域割当て手段
201を備えている。ローカル領域割当て手段201
は、「識別子」,「物理メモリアドレス」及び「長さ」
の各項目からなるテーブル形式で、メモリ領域を管理す
る。
別子で管理されるグローバルメモリ212と1:1で対
応する自システム内のローカルメモリ206のアドレス
空間上のメモリ領域を管理するローカル領域割当て手段
201を備えている。ローカル領域割当て手段201
は、「識別子」,「物理メモリアドレス」及び「長さ」
の各項目からなるテーブル形式で、メモリ領域を管理す
る。
【0011】ローカル領域割当て手段201の中には、
例えば、ローカルメモリ206のアドレス”10002
000”Xからアドレス”10002FFF”Xまでの
長さ”1000”Xの領域を「識別子」=”00000
1”で管理し、ローカルメモリ206のアドレス”0F
001000”Xからアドレス”0F001FFF”X
までの長さ”1000”Xの領域を「識別子」=”00
0002”で管理しているものとする。
例えば、ローカルメモリ206のアドレス”10002
000”Xからアドレス”10002FFF”Xまでの
長さ”1000”Xの領域を「識別子」=”00000
1”で管理し、ローカルメモリ206のアドレス”0F
001000”Xからアドレス”0F001FFF”X
までの長さ”1000”Xの領域を「識別子」=”00
0002”で管理しているものとする。
【0012】「識別子」=”000001”,「識別
子」=”000002”で管理されるメモリ領域は、ロ
ーカルメモリ206に図示した領域である。
子」=”000002”で管理されるメモリ領域は、ロ
ーカルメモリ206に図示した領域である。
【0013】さらに、処理装置100は、共有装置11
0へのデータ転送時に他システムと排他を確保・解放す
るためのシステム間排他手段202と、共有装置110
上のデータが他システムによって更新されているかどう
かチェックする更新状態確認手段203と、処理装置1
00上のローカルメモリ206から共用装置110上の
グローバルメモリ212へ、または、共用装置110上
のグローバルメモリ212から処理装置100上のロー
カルメモリ206へデータを転送するデータ転送手段2
04と、共用装置110上の他系の更新状態を記録する
更新ベクトルの設定を行う更新ベクトル設定手段205
と、自システム上のアドレス空間で参照できるローカル
メモリ206とを備えている。
0へのデータ転送時に他システムと排他を確保・解放す
るためのシステム間排他手段202と、共有装置110
上のデータが他システムによって更新されているかどう
かチェックする更新状態確認手段203と、処理装置1
00上のローカルメモリ206から共用装置110上の
グローバルメモリ212へ、または、共用装置110上
のグローバルメモリ212から処理装置100上のロー
カルメモリ206へデータを転送するデータ転送手段2
04と、共用装置110上の他系の更新状態を記録する
更新ベクトルの設定を行う更新ベクトル設定手段205
と、自システム上のアドレス空間で参照できるローカル
メモリ206とを備えている。
【0014】処理装置120は、処理装置100と同様
な構成となっており、ローカル領域割当て手段221
と、システム間排他手段222と、更新状態確認手段2
23と、データ転送手段224と、更新ベクトル設定手
段225と、ローカルメモリ226とを備えている。こ
れらの各手段は、いずれも、処理装置100における対
応する手段と同一の機能を有しており、その説明につい
ては、省略する。
な構成となっており、ローカル領域割当て手段221
と、システム間排他手段222と、更新状態確認手段2
23と、データ転送手段224と、更新ベクトル設定手
段225と、ローカルメモリ226とを備えている。こ
れらの各手段は、いずれも、処理装置100における対
応する手段と同一の機能を有しており、その説明につい
ては、省略する。
【0015】なお、ローカル領域割当て手段221の中
には、例えば、ローカルメモリ226のアドレス”0E
001000”Xからアドレス”0E001FFF”X
までの長さ”1000”Xの領域を「識別子」=”00
0001”で管理し、ローカルメモリ226のアドレ
ス”28100000”Xからアドレス”281FFF
FF”Xまでの長さ”FE000”Xの領域を「識別
子」=”000003”で管理していることが記録され
ている。
には、例えば、ローカルメモリ226のアドレス”0E
001000”Xからアドレス”0E001FFF”X
までの長さ”1000”Xの領域を「識別子」=”00
0001”で管理し、ローカルメモリ226のアドレ
ス”28100000”Xからアドレス”281FFF
FF”Xまでの長さ”FE000”Xの領域を「識別
子」=”000003”で管理していることが記録され
ている。
【0016】「識別子」=”000001”,「識別
子」=”000003”で管理されるメモリ領域は、ロ
ーカルメモリ226に図示した領域である。
子」=”000003”で管理されるメモリ領域は、ロ
ーカルメモリ226に図示した領域である。
【0017】共用装置110は、処理装置(SYS
A)100及び処理装置(SYS B)120に接続さ
れており、その内部にメモリを保持し、接続されている
処理装置100,120からの指示に従い、メモリ上の
データを操作する機能を有していいる。共用装置110
は、例えば、磁気ディスク装置,半導体ディスク装置や
独立形拡張記憶装置などによって構成される。
A)100及び処理装置(SYS B)120に接続さ
れており、その内部にメモリを保持し、接続されている
処理装置100,120からの指示に従い、メモリ上の
データを操作する機能を有していいる。共用装置110
は、例えば、磁気ディスク装置,半導体ディスク装置や
独立形拡張記憶装置などによって構成される。
【0018】共用装置110は、共用装置内のメモリを
分割して管理する手段として、それぞれの識別子がどの
システムに割り当てられているかの情報を記録する識別
子割当て手段210と、グローバルメモリ212のアド
レス空間上のメモリ領域を識別子で管理する共有メモリ
管理手段211とを備え、さらに、実際のデータを配置
する場所としてグローバルメモリ212を備えている。
分割して管理する手段として、それぞれの識別子がどの
システムに割り当てられているかの情報を記録する識別
子割当て手段210と、グローバルメモリ212のアド
レス空間上のメモリ領域を識別子で管理する共有メモリ
管理手段211とを備え、さらに、実際のデータを配置
する場所としてグローバルメモリ212を備えている。
【0019】識別子割当て手段210は、「識別子」,
「割当てシステム名称」の各項目からなるテーブル形式
で、識別子の割当を管理している。識別子割当て手段2
10の中には、例えば、「識別子」=”000001”
は、処理装置100である”SYS A”,処理装置1
20である”SYS B”に割り当てられており、「識
別子」=”000002”は、”SYS A”に割り当
てられており、「識別子」=”000003”は、”S
YS B”に割り当てられていることが記録されてい
る。
「割当てシステム名称」の各項目からなるテーブル形式
で、識別子の割当を管理している。識別子割当て手段2
10の中には、例えば、「識別子」=”000001”
は、処理装置100である”SYS A”,処理装置1
20である”SYS B”に割り当てられており、「識
別子」=”000002”は、”SYS A”に割り当
てられており、「識別子」=”000003”は、”S
YS B”に割り当てられていることが記録されてい
る。
【0020】また、共有メモリ管理手段211は、「識
別子」,「物理メモリアドレス」,「更新ベクトル」の
各項目からなるテーブル形式で、識別子に対するメモリ
の割当を管理している。共有メモリ管理手段211の中
には、例えば、グローバルメモリ212のアドレス”0
0000000”Xからアドレス”00000FFF”
Xまでのの領域を「識別子」=”000001”で管理
し、「更新ベクトル」が”100”であることが記録さ
れている。「更新ベクトル」の詳細については、後述す
るが、3ビット構成の「更新ベクトル」は、識別子割当
手段210の「割当てシステム名称」の中の3つの欄に
対応してフラグを立てるようにしている。即ち、「識別
子」=”000001”に対する「更新ベクトル」=”
100”の内、”1”が”SYS A”に対応し、”
0”が”SYS B”に対応し、”0”が”−(割当シ
ステム無し)”に対応している。そして、”SYS
A”に対してビットが立っている(”1”)ことから、
「識別子」=”000001”で管理されるメモリ領域
のデータは、処理装置100(SYS A)によって更
新されていることを表している。
別子」,「物理メモリアドレス」,「更新ベクトル」の
各項目からなるテーブル形式で、識別子に対するメモリ
の割当を管理している。共有メモリ管理手段211の中
には、例えば、グローバルメモリ212のアドレス”0
0000000”Xからアドレス”00000FFF”
Xまでのの領域を「識別子」=”000001”で管理
し、「更新ベクトル」が”100”であることが記録さ
れている。「更新ベクトル」の詳細については、後述す
るが、3ビット構成の「更新ベクトル」は、識別子割当
手段210の「割当てシステム名称」の中の3つの欄に
対応してフラグを立てるようにしている。即ち、「識別
子」=”000001”に対する「更新ベクトル」=”
100”の内、”1”が”SYS A”に対応し、”
0”が”SYS B”に対応し、”0”が”−(割当シ
ステム無し)”に対応している。そして、”SYS
A”に対してビットが立っている(”1”)ことから、
「識別子」=”000001”で管理されるメモリ領域
のデータは、処理装置100(SYS A)によって更
新されていることを表している。
【0021】同様にして、共有メモリ管理手段211の
中には、グローバルメモリ212のアドレス”0000
1000”Xからアドレス”00001FFF”Xまで
のの領域を「識別子」=”000002”で管理し、
「更新ベクトル」が”000”であり、いずれの処理装
置からも更新されておらず、グローバルメモリ212の
アドレス”00002000”Xからアドレス”000
FFFFF”Xまでのの領域を「識別子」=”0000
03”で管理し、「更新ベクトル」が”010”であ
り、処理装置120(SYS B)によって更新されて
おり、グローバルメモリ212のアドレス”00100
000”Xからアドレス”001FFFFF”Xまでの
の領域を「識別子」=”000004”で管理し、「更
新ベクトル」が”000”であり、いずれの処理装置か
らも更新されていないことが記録されている。
中には、グローバルメモリ212のアドレス”0000
1000”Xからアドレス”00001FFF”Xまで
のの領域を「識別子」=”000002”で管理し、
「更新ベクトル」が”000”であり、いずれの処理装
置からも更新されておらず、グローバルメモリ212の
アドレス”00002000”Xからアドレス”000
FFFFF”Xまでのの領域を「識別子」=”0000
03”で管理し、「更新ベクトル」が”010”であ
り、処理装置120(SYS B)によって更新されて
おり、グローバルメモリ212のアドレス”00100
000”Xからアドレス”001FFFFF”Xまでの
の領域を「識別子」=”000004”で管理し、「更
新ベクトル」が”000”であり、いずれの処理装置か
らも更新されていないことが記録されている。
【0022】「識別子」=”000001”,…,「識
別子」=”000004”で管理されるメモリ領域は、
グローバルメモリ212に図示した領域である。
別子」=”000004”で管理されるメモリ領域は、
グローバルメモリ212に図示した領域である。
【0023】次に、図2を用いて、複数システム間で定
義したシステム間の共通メモリ領域をロック要求時に参
照するときの手順について説明する。図2は、本発明の
一実施形態によるデータ共用方式におけるロック要求処
理の手順を示すフローチャートである。
義したシステム間の共通メモリ領域をロック要求時に参
照するときの手順について説明する。図2は、本発明の
一実施形態によるデータ共用方式におけるロック要求処
理の手順を示すフローチャートである。
【0024】以下に、図2に示した各ステップに従っ
て、図1を参照しながら、ロック要求処理について説明
するが、ここで、図1における識別子割当て手段210
の「割当てシステム」の欄にはまだ何も記録されておら
ず、また、共有メモリ管理手段211の「更新ベクト
ル」の欄はいずれも”000”となっているものとす
る。
て、図1を参照しながら、ロック要求処理について説明
するが、ここで、図1における識別子割当て手段210
の「割当てシステム」の欄にはまだ何も記録されておら
ず、また、共有メモリ管理手段211の「更新ベクト
ル」の欄はいずれも”000”となっているものとす
る。
【0025】図2のステップ1において、処理装置10
0上のプログラムは、予め確保してあるアドレス空間上
のローカルメモリ206の「アドレス」=”10002
000”Xから「長さ」=”1000”X分の領域を、
システム間の共通メモリとしてアクセスするために、処
理装置120上のプログラムとあらかじめ決めておいた
「識別子」=”000001”によりロック要求を発行
する。
0上のプログラムは、予め確保してあるアドレス空間上
のローカルメモリ206の「アドレス」=”10002
000”Xから「長さ」=”1000”X分の領域を、
システム間の共通メモリとしてアクセスするために、処
理装置120上のプログラムとあらかじめ決めておいた
「識別子」=”000001”によりロック要求を発行
する。
【0026】ステップ2において、処理装置100のシ
ステム間排他手段202は、指定された識別子で排他確
保をする。即ち、システム間排他手段202は、「識別
子」=”000001”を排他状態にする。
ステム間排他手段202は、指定された識別子で排他確
保をする。即ち、システム間排他手段202は、「識別
子」=”000001”を排他状態にする。
【0027】次に、ステップ3において、処理装置10
0の更新状態確認手段203は、指定された識別子は他
のシステム系で更新済みか否かを判断する。即ち、更新
状態確認手段203は、この指定された識別子で対応付
けられている共用装置110上のグローバルメモリ21
2が他システムからアクセスされているかどうかチェッ
クする。更新済みである場合には、ステップ4に進み、
更新済みでない場合には、ステップ13に進む。ステッ
プ4,5については、後述する。
0の更新状態確認手段203は、指定された識別子は他
のシステム系で更新済みか否かを判断する。即ち、更新
状態確認手段203は、この指定された識別子で対応付
けられている共用装置110上のグローバルメモリ21
2が他システムからアクセスされているかどうかチェッ
クする。更新済みである場合には、ステップ4に進み、
更新済みでない場合には、ステップ13に進む。ステッ
プ4,5については、後述する。
【0028】ここでは、処理装置100からの「識別
子」=”000001”に対するアクセスが初めてのも
のであるとして、ステップ13に進む。
子」=”000001”に対するアクセスが初めてのも
のであるとして、ステップ13に進む。
【0029】ステップ13において、共用装置110の
識別子割当て手段210は、「識別子」=”00000
1”に対して、処理装置100(SYS A)から割当
て要求がきたことを記録し、共有メモリ管理手段211
は、「識別子」=”000001”に対応する共用装置
110上のグローバルメモリ212を長さ=”100
0”X分確保する。
識別子割当て手段210は、「識別子」=”00000
1”に対して、処理装置100(SYS A)から割当
て要求がきたことを記録し、共有メモリ管理手段211
は、「識別子」=”000001”に対応する共用装置
110上のグローバルメモリ212を長さ=”100
0”X分確保する。
【0030】次に、ステップ6において、処理装置10
0は、処理装置100上のロック要求処理では、初めて
のアクセスであり、「更新ベクトル」上では他系による
更新がない状況であるため、データを転送せず、ロック
要求を完了する。
0は、処理装置100上のロック要求処理では、初めて
のアクセスであり、「更新ベクトル」上では他系による
更新がない状況であるため、データを転送せず、ロック
要求を完了する。
【0031】以上のロック要求の処理により、処理装置
100上のプログラムは、この識別子と対応付けられた
領域のアクセスが可能となる。プログラムは、この領域
を特別な命令を使用せずに、自システム内の領域をアク
セスするのと同様な手順で容易に、参照・更新できる。
100上のプログラムは、この識別子と対応付けられた
領域のアクセスが可能となる。プログラムは、この領域
を特別な命令を使用せずに、自システム内の領域をアク
セスするのと同様な手順で容易に、参照・更新できる。
【0032】本実施形態によれば、特別な命令を使用せ
ずに、自システム内の領域をアクセスするのと同様な手
順で容易に、参照・更新できる。
ずに、自システム内の領域をアクセスするのと同様な手
順で容易に、参照・更新できる。
【0033】次に、図3を用いて、複数システム間で定
義したシステム間の共通メモリ領域をアンロック要求す
るときの手順について説明する。図3は、本発明の一実
施形態によるデータ共用方式におけるアンロック要求処
理の手順を示すフローチャートである。
義したシステム間の共通メモリ領域をアンロック要求す
るときの手順について説明する。図3は、本発明の一実
施形態によるデータ共用方式におけるアンロック要求処
理の手順を示すフローチャートである。
【0034】図3のステップ7において、処理装置10
0上のプログラムは、共通領域のアクセスを完了する
と、「識別子」=”000001”を入力として、アン
ロック要求を発行する。
0上のプログラムは、共通領域のアクセスを完了する
と、「識別子」=”000001”を入力として、アン
ロック要求を発行する。
【0035】ステップ8において、処理装置100は、
更新指示があったか否かを判断する。更新指示があれ
ば、ステップ9に進み、更新指示がなければ、ステップ
11にジャンプする。処理装置100上のプログラム
が、このメモリ領域を参照のみした場合には、更新指示
はなされない。
更新指示があったか否かを判断する。更新指示があれ
ば、ステップ9に進み、更新指示がなければ、ステップ
11にジャンプする。処理装置100上のプログラム
が、このメモリ領域を参照のみした場合には、更新指示
はなされない。
【0036】ここで、処理装置100上のプログラムか
らの「識別子」=”000001”へのアクセスは初め
てである場合には、グローバルメモリ212上にデータ
を作成していないため、処理装置100は、更新指示を
行う。
らの「識別子」=”000001”へのアクセスは初め
てである場合には、グローバルメモリ212上にデータ
を作成していないため、処理装置100は、更新指示を
行う。
【0037】次に、ステップ9において、識別子に対応
するローカルメモリからグローバルメモリへデータを転
送する。即ち、データ転送手段204は、識別子=”0
00001”に対応するローカルメモリ206の「アド
レス」=”10002000”Xから「アドレス」=”
10002FFF”Xの内容を、グローバルメモリ21
2上の「アドレス」=”00000000”Xから「ア
ドレス」=”00001000”Xへ転送する。
するローカルメモリからグローバルメモリへデータを転
送する。即ち、データ転送手段204は、識別子=”0
00001”に対応するローカルメモリ206の「アド
レス」=”10002000”Xから「アドレス」=”
10002FFF”Xの内容を、グローバルメモリ21
2上の「アドレス」=”00000000”Xから「ア
ドレス」=”00001000”Xへ転送する。
【0038】次に、ステップ10において、更新ベクト
ルをセットする。即ち、更新ベクトル設定手段205
は、自系からの更新が完了したことを他系が認識できる
ように、共有メモリ管理手段211の管理する更新ベク
トルのビットを”0”Bから”1”Bに設定する。ここ
で、共有メモリ管理手段211の「識別子」=”000
001”に対応する「更新ベクトル」を”000”か
ら”100”に設定する。処理装置100である「SY
S A」は、識別子割当て手段210の「割当てシステ
ム名称」の欄の記録からして一番最初に割り当てられて
いるため、更新ベクトルの最上位ビットを”0”Bか
ら”1”Bに設定する。
ルをセットする。即ち、更新ベクトル設定手段205
は、自系からの更新が完了したことを他系が認識できる
ように、共有メモリ管理手段211の管理する更新ベク
トルのビットを”0”Bから”1”Bに設定する。ここ
で、共有メモリ管理手段211の「識別子」=”000
001”に対応する「更新ベクトル」を”000”か
ら”100”に設定する。処理装置100である「SY
S A」は、識別子割当て手段210の「割当てシステ
ム名称」の欄の記録からして一番最初に割り当てられて
いるため、更新ベクトルの最上位ビットを”0”Bか
ら”1”Bに設定する。
【0039】次に、ステップ11において、システム間
開放手段202は、指定された識別子による排他解放を
行う。即ち、「識別子」=”000001”は排他開放
される。
開放手段202は、指定された識別子による排他解放を
行う。即ち、「識別子」=”000001”は排他開放
される。
【0040】ステップ12において、処理装置100上
のプログラムは、アンロック要求を完了する。
のプログラムは、アンロック要求を完了する。
【0041】なお、ステップ8において、更新指示がな
かった場合には、ローカルメモリ206上のデータは、
グローバルメモリ212上に転送されず、ステップ11
において、システム間排他手段202は、指定された識
別子によるシステム間の排他解放を実行し、ステップ1
2において、プログラムはアンロック要求処理を終了す
る。
かった場合には、ローカルメモリ206上のデータは、
グローバルメモリ212上に転送されず、ステップ11
において、システム間排他手段202は、指定された識
別子によるシステム間の排他解放を実行し、ステップ1
2において、プログラムはアンロック要求処理を終了す
る。
【0042】次に、上述したようにして、処理装置10
0によって割り当てられた共用メモリを、他系,例え
ば、処理装置120が参照・更新する場合のロック要求
処理について、同じく、図2を用いて説明する。
0によって割り当てられた共用メモリを、他系,例え
ば、処理装置120が参照・更新する場合のロック要求
処理について、同じく、図2を用いて説明する。
【0043】図2のステップ1において、処理装置12
0上のプログラムは、予め確保してあるアドレス空間上
のローカルメモリ226の「アドレス」=”0E001
000”Xから「長さ」=”1000”X分の領域を、
システム間の共通メモリとしてアクセスするために、処
理装置100上のプログラムとあらかじめ決めておいた
「識別子」=”000001”によりロック要求を発行
する。
0上のプログラムは、予め確保してあるアドレス空間上
のローカルメモリ226の「アドレス」=”0E001
000”Xから「長さ」=”1000”X分の領域を、
システム間の共通メモリとしてアクセスするために、処
理装置100上のプログラムとあらかじめ決めておいた
「識別子」=”000001”によりロック要求を発行
する。
【0044】ステップ2において、処理装置120のシ
ステム間排他手段222は、指定された識別子で排他確
保をする。即ち、システム間排他手段222は、「識別
子」=”000001”を排他状態にする。
ステム間排他手段222は、指定された識別子で排他確
保をする。即ち、システム間排他手段222は、「識別
子」=”000001”を排他状態にする。
【0045】次に、ステップ3において、処理装置12
0の更新状態確認手段223は、指定された識別子は他
のシステム系で更新済みか否かを判断する。ここでは、
更新状態確認手段223が、共用メモリ管理手段211
の管理する更新ベクトルの内容をチェックすることによ
り、「識別子」=”000001”は、既に、処理装置
100からアクセスされているので、ステップ4に進
む。
0の更新状態確認手段223は、指定された識別子は他
のシステム系で更新済みか否かを判断する。ここでは、
更新状態確認手段223が、共用メモリ管理手段211
の管理する更新ベクトルの内容をチェックすることによ
り、「識別子」=”000001”は、既に、処理装置
100からアクセスされているので、ステップ4に進
む。
【0046】ステップ4において、データ転送手段22
4は、識別子に対応するグローバルメモリ212からロ
ーカルメモリ226へデータを転送する。即ち、データ
転送手段224は、「識別子」=”000001”に対
応するグローバルメモリ212の「アドレス」=”00
000000”X〜”00000FFF”Xの内容を、
処理装置120上のローカルメモリ226の「アドレ
ス」=”0E001000”X〜”0E001FFF”
Xに転送する。このデータ転送処理により、処理装置1
00上の「識別子」=”000001”と処理装置12
0上の「識別子」=”000001”上のデータが一致
する。
4は、識別子に対応するグローバルメモリ212からロ
ーカルメモリ226へデータを転送する。即ち、データ
転送手段224は、「識別子」=”000001”に対
応するグローバルメモリ212の「アドレス」=”00
000000”X〜”00000FFF”Xの内容を、
処理装置120上のローカルメモリ226の「アドレ
ス」=”0E001000”X〜”0E001FFF”
Xに転送する。このデータ転送処理により、処理装置1
00上の「識別子」=”000001”と処理装置12
0上の「識別子」=”000001”上のデータが一致
する。
【0047】ステップ5において、処理装置120の更
新ベクトル設定手段225は、更新ベクトルをリセット
する。即ち、更新ベクトル設定手段225は、処理装置
120上ではデータ転送後、このデータを再度読み込ま
ないように、「更新ベクトル」を”1”Bから”0”B
へリセットする。その結果、「識別子」=”00000
1”に対する「更新ベクトル」は、”100”から”0
00”にリセットされる。
新ベクトル設定手段225は、更新ベクトルをリセット
する。即ち、更新ベクトル設定手段225は、処理装置
120上ではデータ転送後、このデータを再度読み込ま
ないように、「更新ベクトル」を”1”Bから”0”B
へリセットする。その結果、「識別子」=”00000
1”に対する「更新ベクトル」は、”100”から”0
00”にリセットされる。
【0048】ステップ6において、ロック要求を完了
し、要求プログラム元にリターンする。そして、ロック
要求が完了した処理装置120上のプログラムは、「識
別子」=”000001”と対応付けられたローカルメ
モリ226上のデータに対し、参照・更新を実行する。
し、要求プログラム元にリターンする。そして、ロック
要求が完了した処理装置120上のプログラムは、「識
別子」=”000001”と対応付けられたローカルメ
モリ226上のデータに対し、参照・更新を実行する。
【0049】次に、図3に示したアンロック要求処理を
実行する。ステップ7において、アンロック要求を発行
し、ステップ8において、更新指示があるか否かを判断
する。参照・更新実行が、参照のみの場合は、更新指示
を行わずに、ステップ11において、排他解放し、ステ
ップ12において、アンロック処理を完了する。
実行する。ステップ7において、アンロック要求を発行
し、ステップ8において、更新指示があるか否かを判断
する。参照・更新実行が、参照のみの場合は、更新指示
を行わずに、ステップ11において、排他解放し、ステ
ップ12において、アンロック処理を完了する。
【0050】また、ステップ8において、更新指示があ
ると判断された場合には、ステップ9において、ローカ
ルメモリからグローバルメモリへデータを転送し、ステ
ップ10において、更新ベクトルリセットした後、ステ
ップ11において、排他解放し、ステップ12におい
て、アンロック処理を完了する。
ると判断された場合には、ステップ9において、ローカ
ルメモリからグローバルメモリへデータを転送し、ステ
ップ10において、更新ベクトルリセットした後、ステ
ップ11において、排他解放し、ステップ12におい
て、アンロック処理を完了する。
【0051】以上説明したような処理手順により、ロッ
ク→参照・更新→アンロックを繰り返すことにより、シ
ステム間で共通な領域をアクセスすることができる。ロ
ック→参照・更新→アンロックの手順は、複数の仮想ア
ドレス空間を持つシステムにおいて、全空間から共通の
領域を参照・更新する場合の手順と同じである。システ
ム間の共通メモリも、従来の共通領域と同等の手軽さで
アクセスすることができるようになる。
ク→参照・更新→アンロックを繰り返すことにより、シ
ステム間で共通な領域をアクセスすることができる。ロ
ック→参照・更新→アンロックの手順は、複数の仮想ア
ドレス空間を持つシステムにおいて、全空間から共通の
領域を参照・更新する場合の手順と同じである。システ
ム間の共通メモリも、従来の共通領域と同等の手軽さで
アクセスすることができるようになる。
【0052】以上説明したように、本実施形態によれ
ば、プログラムは、特別な命令を使用せずに、自システ
ム内の領域をアクセスするのと同様な手順で容易に、共
通メモリの領域を参照・更新できるようになる。
ば、プログラムは、特別な命令を使用せずに、自システ
ム内の領域をアクセスするのと同様な手順で容易に、共
通メモリの領域を参照・更新できるようになる。
【0053】次に、図4を用いて、排他の最小単位であ
る識別子を複数まとめてグループ化してアクセスする方
式について説明する。図4は、本発明の他の実施形態に
よるデータ共用方式を実現する複合コンピュータシステ
ムの構成図である。なお、図1と同一符号は、同一部分
を表しており、その構成及び機能な同一であるため、詳
細な説明は省略する。
る識別子を複数まとめてグループ化してアクセスする方
式について説明する。図4は、本発明の他の実施形態に
よるデータ共用方式を実現する複合コンピュータシステ
ムの構成図である。なお、図1と同一符号は、同一部分
を表しており、その構成及び機能な同一であるため、詳
細な説明は省略する。
【0054】なお、本実施形態では、「識別子」=”0
00001”,”000002”を一つのグループとし
てまとめてアクセスし、「識別子」=”00000
3”,”000004”を一つのグループとしてまとめ
てアクセスするようにしている。
00001”,”000002”を一つのグループとし
てまとめてアクセスし、「識別子」=”00000
3”,”000004”を一つのグループとしてまとめ
てアクセスするようにしている。
【0055】処理装置100,120は、それぞれ、
「識別子」=”000001”,”000002”は、
一つのグループとしてまとめられているものとして認識
しており、処理装置100,120上のプログラム間で
は、あらかじめ、「識別子」=”000001”,”0
00002”のグループをアクセスする場合は、代表の
「識別子」として”000001”を用い、「識別子」
=”000003”,”00004”のグループをアク
セスする場合は、代表の「識別子」として”00000
3”を用いるようにしている。
「識別子」=”000001”,”000002”は、
一つのグループとしてまとめられているものとして認識
しており、処理装置100,120上のプログラム間で
は、あらかじめ、「識別子」=”000001”,”0
00002”のグループをアクセスする場合は、代表の
「識別子」として”000001”を用い、「識別子」
=”000003”,”00004”のグループをアク
セスする場合は、代表の「識別子」として”00000
3”を用いるようにしている。
【0056】ここで、ローカル領域割当て手段201の
中には、例えば、ローカルメモリ206のアドレス”1
0002000”Xからアドレス”10002FFF”
Xまでの長さ”1000”Xの領域を「識別子」=”0
00001”で管理し、ローカルメモリ206のアドレ
ス”10003000”Xからアドレス”10003F
FF”Xまでの長さ”1000”Xの領域を「識別子」
=”000002”で管理し、ローカルメモリ206の
アドレス”10004000”Xからアドレス”100
04FFF”Xまでの長さ”1000”Xの領域を「識
別子」=”000003”で管理し、ローカルメモリ2
06のアドレス”10005000”Xからアドレス”
10005FFF”Xまでの長さ”1000”Xの領域
を「識別子」=”000004”で管理しているものと
する。「識別子」=”000001”,…,”0000
04”で管理されるメモリ領域は、ローカルメモリ20
6に図示した領域である。
中には、例えば、ローカルメモリ206のアドレス”1
0002000”Xからアドレス”10002FFF”
Xまでの長さ”1000”Xの領域を「識別子」=”0
00001”で管理し、ローカルメモリ206のアドレ
ス”10003000”Xからアドレス”10003F
FF”Xまでの長さ”1000”Xの領域を「識別子」
=”000002”で管理し、ローカルメモリ206の
アドレス”10004000”Xからアドレス”100
04FFF”Xまでの長さ”1000”Xの領域を「識
別子」=”000003”で管理し、ローカルメモリ2
06のアドレス”10005000”Xからアドレス”
10005FFF”Xまでの長さ”1000”Xの領域
を「識別子」=”000004”で管理しているものと
する。「識別子」=”000001”,…,”0000
04”で管理されるメモリ領域は、ローカルメモリ20
6に図示した領域である。
【0057】また、ローカル領域割当て手段221の中
には、例えば、ローカルメモリ226のアドレス”0E
003000”Xからアドレス”0E003FFF”X
までの長さ”1000”Xの領域を「識別子」=”00
0001”で管理し、ローカルメモリ226のアドレ
ス”0E004000”Xからアドレス”0E004F
FF”Xまでの長さ”1000”Xの領域を「識別子」
=”000002”で管理し、ローカルメモリ226の
アドレス”0E001000”Xからアドレス”0E0
01FFF”Xまでの長さ”1000”Xの領域を「識
別子」=”000003”で管理し、ローカルメモリ2
26のアドレス”0E002000”Xからアドレス”
0E002FFF”Xまでの長さ”1000”Xの領域
を「識別子」=”000004”で管理しているものと
する。「識別子」=”000001”,…,”0000
04”で管理されるメモリ領域は、ローカルメモリ20
6に図示した領域である。
には、例えば、ローカルメモリ226のアドレス”0E
003000”Xからアドレス”0E003FFF”X
までの長さ”1000”Xの領域を「識別子」=”00
0001”で管理し、ローカルメモリ226のアドレ
ス”0E004000”Xからアドレス”0E004F
FF”Xまでの長さ”1000”Xの領域を「識別子」
=”000002”で管理し、ローカルメモリ226の
アドレス”0E001000”Xからアドレス”0E0
01FFF”Xまでの長さ”1000”Xの領域を「識
別子」=”000003”で管理し、ローカルメモリ2
26のアドレス”0E002000”Xからアドレス”
0E002FFF”Xまでの長さ”1000”Xの領域
を「識別子」=”000004”で管理しているものと
する。「識別子」=”000001”,…,”0000
04”で管理されるメモリ領域は、ローカルメモリ20
6に図示した領域である。
【0058】さらに、識別子割当て手段210の中に
は、例えば、「識別子」=”000001”は、処理装
置100である”SYS A”,処理装置120であ
る”SYS B”に割り当てられており、「識別子」
=”000002”は、”SYSA”及び”SYS
B”に割り当てられており、「識別子」=”00000
3”は、”SYS B”及び”SYS A”に割り当て
られており、「識別子」=”000004”は、”SY
S B”及び”SYS A”に割り当てられていること
が記録されている。
は、例えば、「識別子」=”000001”は、処理装
置100である”SYS A”,処理装置120であ
る”SYS B”に割り当てられており、「識別子」
=”000002”は、”SYSA”及び”SYS
B”に割り当てられており、「識別子」=”00000
3”は、”SYS B”及び”SYS A”に割り当て
られており、「識別子」=”000004”は、”SY
S B”及び”SYS A”に割り当てられていること
が記録されている。
【0059】また、共有メモリ管理手段211の中に
は、例えば、グローバルメモリ212のアドレス”00
000000”Xからアドレス”00000FFF”X
までの領域を「識別子」=”000001”で管理し、
「更新ベクトル」が”000”であることが記録され、
グローバルメモリ212のアドレス”0000650
0”Xからアドレス”000074FF”Xまでのの領
域を「識別子」=”000002”で管理し、「更新ベ
クトル」が”010”であることが記録され、グローバ
ルメモリ212のアドレス”00004000”Xから
アドレス”00004FFF”Xまでのの領域を「識別
子」=”000003”で管理し、「更新ベクトル」
が”000”であることが記録され、グローバルメモリ
212のアドレス”00008000”Xからアドレ
ス”00008FFF”Xまでのの領域を「識別子」
=”000001”で管理し、「更新ベクトル」が”1
00”であることが記録されている。
は、例えば、グローバルメモリ212のアドレス”00
000000”Xからアドレス”00000FFF”X
までの領域を「識別子」=”000001”で管理し、
「更新ベクトル」が”000”であることが記録され、
グローバルメモリ212のアドレス”0000650
0”Xからアドレス”000074FF”Xまでのの領
域を「識別子」=”000002”で管理し、「更新ベ
クトル」が”010”であることが記録され、グローバ
ルメモリ212のアドレス”00004000”Xから
アドレス”00004FFF”Xまでのの領域を「識別
子」=”000003”で管理し、「更新ベクトル」
が”000”であることが記録され、グローバルメモリ
212のアドレス”00008000”Xからアドレ
ス”00008FFF”Xまでのの領域を「識別子」
=”000001”で管理し、「更新ベクトル」が”1
00”であることが記録されている。
【0060】複数の識別子をグループ化してロック要求
する場合の処理について、再び、図2を用いて説明す
る。
する場合の処理について、再び、図2を用いて説明す
る。
【0061】図2のステップ1において、処理装置10
0上のプログラムは、予め確保してあるアドレス空間上
のローカルメモリ206の「アドレス」=”10004
000”Xから「長さ」=”1000”X分の領域及び
ローカルメモリ206の「アドレス」=”100050
00”Xから「長さ」=”1000”X分の領域を、シ
ステム間の共通メモリとしてアクセスするために、処理
装置120上のプログラムとあらかじめ決めておいた
「識別子」=”000003”によりロック要求を発行
する。ここで、「識別子」=”000003”及び「識
別子」=”000004”で管理される領域をロックす
る訳であるが、ここでは、代表となる識別子でロック要
求するようにしている。
0上のプログラムは、予め確保してあるアドレス空間上
のローカルメモリ206の「アドレス」=”10004
000”Xから「長さ」=”1000”X分の領域及び
ローカルメモリ206の「アドレス」=”100050
00”Xから「長さ」=”1000”X分の領域を、シ
ステム間の共通メモリとしてアクセスするために、処理
装置120上のプログラムとあらかじめ決めておいた
「識別子」=”000003”によりロック要求を発行
する。ここで、「識別子」=”000003”及び「識
別子」=”000004”で管理される領域をロックす
る訳であるが、ここでは、代表となる識別子でロック要
求するようにしている。
【0062】ステップ2において、処理装置100のシ
ステム間排他手段202は、指定された識別子で排他確
保をする。即ち、システム間排他手段202は、「識別
子」=”000003”を排他状態にする。その結果と
して、「識別子」=”000004”が排他状態とはな
っていないことになるが、処理装置100,120のい
づれもが、「識別子」=”000003”と「識別子」
=”000004”をグループ化して扱うように取り決
めてあるので、「識別子」=”000003”が排他状
態にあるときには、「識別子」=”000004”に対
して排他要求をすることはなく、「識別子」=”000
004”については、実質的に排他が確保されている。
ステム間排他手段202は、指定された識別子で排他確
保をする。即ち、システム間排他手段202は、「識別
子」=”000003”を排他状態にする。その結果と
して、「識別子」=”000004”が排他状態とはな
っていないことになるが、処理装置100,120のい
づれもが、「識別子」=”000003”と「識別子」
=”000004”をグループ化して扱うように取り決
めてあるので、「識別子」=”000003”が排他状
態にあるときには、「識別子」=”000004”に対
して排他要求をすることはなく、「識別子」=”000
004”については、実質的に排他が確保されている。
【0063】次に、ステップ3において、処理装置10
0の更新状態確認手段203は、指定された識別子は他
のシステム系で更新済みか否かを判断する。即ち、更新
状態確認手段203は、この指定された識別子で対応付
けられている共用装置110上のグローバルメモリ21
2が他システムからアクセスされているかどうかチェッ
クする。
0の更新状態確認手段203は、指定された識別子は他
のシステム系で更新済みか否かを判断する。即ち、更新
状態確認手段203は、この指定された識別子で対応付
けられている共用装置110上のグローバルメモリ21
2が他システムからアクセスされているかどうかチェッ
クする。
【0064】ここで、処理装置100から、識別子=”
000003”でロック要求がきた場合でも、更新状態
確認手段203は、代表の識別子ではなく、「識別子」
=”000003”,”000004”の両方に対して
チェックを行い更新状態を確認する。図4に示す状態で
は、共有メモリ管理手段211の中の識別子=”000
003”に対する更新ベクトルは、”000”であり、
更新されていないが、識別子=”000004”に対す
る更新ベクトルは、”100”であり、処理装置120
(SYS B)から更新されていることがわかるため、
ステップ4に進む。
000003”でロック要求がきた場合でも、更新状態
確認手段203は、代表の識別子ではなく、「識別子」
=”000003”,”000004”の両方に対して
チェックを行い更新状態を確認する。図4に示す状態で
は、共有メモリ管理手段211の中の識別子=”000
003”に対する更新ベクトルは、”000”であり、
更新されていないが、識別子=”000004”に対す
る更新ベクトルは、”100”であり、処理装置120
(SYS B)から更新されていることがわかるため、
ステップ4に進む。
【0065】ステップ4において、データ転送手段20
4は、グローバルメモリ212からローカルメモリ20
6に対してデータを転送する。
4は、グローバルメモリ212からローカルメモリ20
6に対してデータを転送する。
【0066】次に、ステップ5において、更新ベクトル
設定手段205は、共有メモリ管理手段211の中の識
別子=”000004”に対する更新ベクトルをリセッ
トする。
設定手段205は、共有メモリ管理手段211の中の識
別子=”000004”に対する更新ベクトルをリセッ
トする。
【0067】次に、ステップ6において、処理装置10
0は、ロック要求を完了し、読みだしたデータに対し
て、参照・更新を行う。
0は、ロック要求を完了し、読みだしたデータに対し
て、参照・更新を行う。
【0068】以上のロック要求の処理により、処理装置
100上のプログラムは、この識別子と対応付けられた
複数の領域のアクセスが可能となる。参照・更新される
単位(領域)を複数設けたとしても、排他オーバヘッド
は一回で済むため、排他オーバヘッドを削減できる。
100上のプログラムは、この識別子と対応付けられた
複数の領域のアクセスが可能となる。参照・更新される
単位(領域)を複数設けたとしても、排他オーバヘッド
は一回で済むため、排他オーバヘッドを削減できる。
【0069】プログラムは、この領域を特別な命令を使
用せずに、自システム内の領域をアクセスするのと同様
な手順で容易に、参照・更新できる。
用せずに、自システム内の領域をアクセスするのと同様
な手順で容易に、参照・更新できる。
【0070】アンロック要求に対する処理は、図3を用
いて前述したとおりであり、排他確保されているのは、
代表となる識別子についてであるので、ステップ11に
おける排他開放も、排他確保された識別子についてのみ
排他開放される。
いて前述したとおりであり、排他確保されているのは、
代表となる識別子についてであるので、ステップ11に
おける排他開放も、排他確保された識別子についてのみ
排他開放される。
【0071】本実施形態によれば、特別な命令を使用せ
ずに、自システム内の領域をアクセスするのと同様な手
順で容易に、参照・更新できる。
ずに、自システム内の領域をアクセスするのと同様な手
順で容易に、参照・更新できる。
【0072】また、複数の領域に対して排他確保する際
の排他オーバーヘッドを削減できる。
の排他オーバーヘッドを削減できる。
【0073】次に、図5を用いて、処理装置上のプログ
ラムがシステム間の共通メモリを参照・更新する場合
に、共用装置へのアクセスと、ローカルメモリのアクセ
スを非同期にする方法について説明する。図5は、本発
明のその他の実施形態によるデータ共用方式を実現する
複合コンピュータシステムの構成図である。なお、図1
と同一符号は、同一部分を表しており、その構成及び機
能な同一であるため、詳細な説明は省略する。
ラムがシステム間の共通メモリを参照・更新する場合
に、共用装置へのアクセスと、ローカルメモリのアクセ
スを非同期にする方法について説明する。図5は、本発
明のその他の実施形態によるデータ共用方式を実現する
複合コンピュータシステムの構成図である。なお、図1
と同一符号は、同一部分を表しており、その構成及び機
能な同一であるため、詳細な説明は省略する。
【0074】処理装置100上では、プログラムA20
7は、システム間の共通メモリと対応付けられたローカ
ルメモリ206を参照・更新しながら動作するプログラ
ムとして稼働している。
7は、システム間の共通メモリと対応付けられたローカ
ルメモリ206を参照・更新しながら動作するプログラ
ムとして稼働している。
【0075】ここで、処理装置100の中のローカル領
域割当て手段が管理するローカルメモリ206の領域の
割当ては、図4に示したものと同様とする。
域割当て手段が管理するローカルメモリ206の領域の
割当ては、図4に示したものと同様とする。
【0076】また、処理装置120上では、プログラム
B227は、システム間の共通メモリと対応付けられた
ローカルメモリ226を参照・更新しながら動作するプ
ログラムとして稼働している。
B227は、システム間の共通メモリと対応付けられた
ローカルメモリ226を参照・更新しながら動作するプ
ログラムとして稼働している。
【0077】そして、処理装置120の中のローカル領
域割当て手段が管理するローカルメモリ226の領域の
割当ては、図4に示したものと同様とする。
域割当て手段が管理するローカルメモリ226の領域の
割当ては、図4に示したものと同様とする。
【0078】さらに、識別子割当て手段210における
割当てシステムの名称は、図4に示したものと同様とす
る。
割当てシステムの名称は、図4に示したものと同様とす
る。
【0079】また、共有メモリ管理手段211における
共有メモリであるグローバルメモリ212の管理状況も
図4に示したものと同様とする。
共有メモリであるグローバルメモリ212の管理状況も
図4に示したものと同様とする。
【0080】プログラムA207とプログラムB227
が共有するデータは、ユーザデータのように全システム
間で完全性が保証されていなければならないデータでは
なく、例えば、処理装置100,120上のCPUのビ
ジー率や、共用資源の稼働情報など、多少の誤差が許容
されるデータである。
が共有するデータは、ユーザデータのように全システム
間で完全性が保証されていなければならないデータでは
なく、例えば、処理装置100,120上のCPUのビ
ジー率や、共用資源の稼働情報など、多少の誤差が許容
されるデータである。
【0081】そのようなデータを共有する場合は、デー
タのやりとりが定期的に発生するため、共用装置110
へのアクセスオーバヘッドまたは排他オーバヘッドは極
力減らすことが望ましい。そこで、共用装置110への
ロック・アンロック要求は各プログラムの動作の延長で
動作することなく、全く別のプログラムにより比較的オ
ーバヘッドの少ない周期で定期的に共用装置110への
データアクセスを行い、ローカルメモリ206,226
上へデータを反映するようにしている。
タのやりとりが定期的に発生するため、共用装置110
へのアクセスオーバヘッドまたは排他オーバヘッドは極
力減らすことが望ましい。そこで、共用装置110への
ロック・アンロック要求は各プログラムの動作の延長で
動作することなく、全く別のプログラムにより比較的オ
ーバヘッドの少ない周期で定期的に共用装置110への
データアクセスを行い、ローカルメモリ206,226
上へデータを反映するようにしている。
【0082】プログラムA207及びプログラムB22
7は、ローカルメモリ206,226上へのデータの反
映契機とは別の契機で動作し、必要なときにローカルメ
モリ206,226だけ参照・更新する。
7は、ローカルメモリ206,226上へのデータの反
映契機とは別の契機で動作し、必要なときにローカルメ
モリ206,226だけ参照・更新する。
【0083】このようにして、ローカルメモリへのアク
セスと、グローバルメモリへのアクセス契機を分けるこ
とにより、共用装置へのオーバヘッドを減らすことが可
能となる。
セスと、グローバルメモリへのアクセス契機を分けるこ
とにより、共用装置へのオーバヘッドを減らすことが可
能となる。
【0084】本実施形態によれば、特別な命令を使用せ
ずに、自システム内の領域をアクセスするのと同様な手
順で容易に、参照・更新できる。
ずに、自システム内の領域をアクセスするのと同様な手
順で容易に、参照・更新できる。
【0085】また、各コンピュータシステム上でデータ
を参照・更新する契機と、共用装置上のデータをコンピ
ュータシステムに反映する契機をわけることにより、共
用装置へのオーバヘッドを低減できる。
を参照・更新する契機と、共用装置上のデータをコンピ
ュータシステムに反映する契機をわけることにより、共
用装置へのオーバヘッドを低減できる。
【0086】
【発明の効果】本発明によれば、複数のコンピュータシ
ステム間でメモリを共有する場合、従来のシステム内の
共通領域へのアクセスと同等の手順により、参照・更新
が可能となる。
ステム間でメモリを共有する場合、従来のシステム内の
共通領域へのアクセスと同等の手順により、参照・更新
が可能となる。
【図1】本発明の一実施形態によるデータ共用方式を実
現する複合コンピュータシステムの構成図である。
現する複合コンピュータシステムの構成図である。
【図2】本発明の一実施形態によるデータ共用方式にお
けるロック要求処理の手順を示すフローチャートであ
る。
けるロック要求処理の手順を示すフローチャートであ
る。
【図3】本発明の一実施形態によるデータ共用方式にお
けるアンロック要求処理の手順を示すフローチャートで
ある。
けるアンロック要求処理の手順を示すフローチャートで
ある。
【図4】本発明の他の実施形態によるデータ共用方式を
実現する複合コンピュータシステムの構成図である。
実現する複合コンピュータシステムの構成図である。
【図5】本発明のその他の実施形態によるデータ共用方
式を実現する複合コンピュータシステムの構成図であ
る。
式を実現する複合コンピュータシステムの構成図であ
る。
100,120…処理装置 110…共用装置 201,221…ローカル領域割当て手段 202,222…システム間排他手段 203,223…更新状態確認手段 204,224…データ転送手段 205,225…更新ベクトル設定手段 206,226…ローカルメモリ 207…プログラムA 227…プログラムB 210…識別子割当て手段 211…共用メモリ管理手段 212…グローバルメモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田巻 貴久子 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内
Claims (3)
- 【請求項1】 複数のコンピュータシステム間で共通に
使用するデータを共用装置内の共用メモリにおいて共用
するデータ共用方式において、 上記共用メモリ内を一定の単位で分割し、上記複数のコ
ンピュータシステム及び上記共用装置から見て一意の識
別子でもって上記分割されたそれぞれの単位を管理し、 上記コンピュータシステム内の任意のアドレス空間の領
域を上記識別子でもって指定して排他確保する時には、
上記共用メモリ内の対応する単位内のデータの更新の有
無をチェックし、更新されている時には、上記共用メモ
リ内の対応する単位内のデータを上記アドレス空間に転
送し、 排他解除する時には、上記アドレス空間内のデータが更
新されている時には、そのデータを上記共用メモリ内の
対応する単位内に転送することを特徴とするデータ共用
方式。 - 【請求項2】 請求項1記載のデータ共用方式におい
て、 上記コンピュータシステムは、複数の上記識別子をグル
ープ化してアクセスするとともに、上記共用装置に対す
る排他確保を、グループ化された識別子の内の代表する
識別子でもって行うことを特徴とするデータ共用方式。 - 【請求項3】 請求項1記載のデータ共用方式におい
て、 上記コンピュータシステムが、上記コンピュータシステ
ム上でデータを参照・更新するアクセス時期と、上記共
用装置上のデータを上記コンピュータシステムに反映さ
せるアクセス時期とを非同期とすることを特徴とするデ
ータ共用方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8126083A JPH09311839A (ja) | 1996-05-21 | 1996-05-21 | データ共用方式 |
US08/859,400 US5978839A (en) | 1996-05-21 | 1997-05-20 | Data sharing method in a plurality of computer systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8126083A JPH09311839A (ja) | 1996-05-21 | 1996-05-21 | データ共用方式 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003142836A Division JP2004054906A (ja) | 2003-05-21 | 2003-05-21 | メモリアクセス方法およびその実施コンピュータシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09311839A true JPH09311839A (ja) | 1997-12-02 |
Family
ID=14926190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8126083A Pending JPH09311839A (ja) | 1996-05-21 | 1996-05-21 | データ共用方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5978839A (ja) |
JP (1) | JPH09311839A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002077826A1 (en) * | 2001-03-22 | 2002-10-03 | Sony Computer Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
US6826662B2 (en) | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
US7093104B2 (en) | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
JP2007280127A (ja) * | 2006-04-07 | 2007-10-25 | Oki Electric Ind Co Ltd | プロセッサ間通信方法 |
CN100383707C (zh) * | 2004-07-05 | 2008-04-23 | 索尼株式会社 | 信息处理设备,信息处理方法,及计算机程序 |
US9183051B2 (en) | 2004-03-29 | 2015-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4394298B2 (ja) * | 2001-02-20 | 2010-01-06 | 日本電気株式会社 | マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム |
US7243229B2 (en) * | 2001-10-02 | 2007-07-10 | Hitachi, Ltd. | Exclusive access control apparatus and method |
US8065681B2 (en) * | 2007-10-12 | 2011-11-22 | International Business Machines Corporation | Generic shared memory barrier |
US7636759B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Rotating encryption in data forwarding storage |
US7599997B1 (en) * | 2008-08-01 | 2009-10-06 | Gene Fein | Multi-homed data forwarding storage |
US8458285B2 (en) | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US7636761B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Measurement in data forwarding storage |
US8386585B2 (en) | 2008-04-25 | 2013-02-26 | Tajitshu Transfer Limited Liability Company | Real-time communications over data forwarding framework |
US8452844B2 (en) | 2008-05-07 | 2013-05-28 | Tajitshu Transfer Limited Liability Company | Deletion in data file forwarding framework |
US8370446B2 (en) * | 2008-07-10 | 2013-02-05 | Tajitshu Transfer Limited Liability Company | Advertisement forwarding storage and retrieval network |
US8599678B2 (en) | 2008-07-10 | 2013-12-03 | Tajitshu Transfer Limited Liability Company | Media delivery in data forwarding storage network |
US8352635B2 (en) | 2008-09-29 | 2013-01-08 | Tajitshu Transfer Limited Liability Company | Geolocation assisted data forwarding storage |
US8478823B2 (en) * | 2008-09-29 | 2013-07-02 | Tajitshu Transfer Limited Liability Company | Selective data forwarding storage |
US7636764B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Cloud resource usage in data forwarding storage |
US8024529B2 (en) * | 2009-05-28 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Providing shared memory in a distributed computing system |
US8868748B2 (en) | 2010-10-11 | 2014-10-21 | International Business Machines Corporation | Two-level management of locks on shared resources |
CN105224468B (zh) * | 2014-06-09 | 2019-02-05 | 华为技术有限公司 | 一种内存共享方法、异构硬件、主机及异构*** |
US10802938B2 (en) * | 2014-09-23 | 2020-10-13 | At&T Intellectual Property I, L.P. | Accessory setting service |
US10176241B2 (en) | 2016-04-26 | 2019-01-08 | Servicenow, Inc. | Identification and reconciliation of network resource information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
US5485594A (en) * | 1992-07-17 | 1996-01-16 | International Business Machines Corporation | Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system |
JP3604176B2 (ja) * | 1994-09-14 | 2004-12-22 | 株式会社東芝 | 仮想空間管理方法及び分散処理システム |
-
1996
- 1996-05-21 JP JP8126083A patent/JPH09311839A/ja active Pending
-
1997
- 1997-05-20 US US08/859,400 patent/US5978839A/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002077826A1 (en) * | 2001-03-22 | 2002-10-03 | Sony Computer Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US6526491B2 (en) | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
US6826662B2 (en) | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
US7093104B2 (en) | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US9183051B2 (en) | 2004-03-29 | 2015-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
CN100383707C (zh) * | 2004-07-05 | 2008-04-23 | 索尼株式会社 | 信息处理设备,信息处理方法,及计算机程序 |
JP2007280127A (ja) * | 2006-04-07 | 2007-10-25 | Oki Electric Ind Co Ltd | プロセッサ間通信方法 |
Also Published As
Publication number | Publication date |
---|---|
US5978839A (en) | 1999-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09311839A (ja) | データ共用方式 | |
JP3516362B2 (ja) | 共有データ処理装置及び共有データ処理システム | |
JP2868141B2 (ja) | ディスクアレイ装置 | |
US5829052A (en) | Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system | |
JPH0522259B2 (ja) | ||
JP3704573B2 (ja) | クラスタシステム | |
JPH0883253A (ja) | 仮想空間管理方法及び装置 | |
JPH05210637A (ja) | 同時アクセス管理方法 | |
JPH0954754A (ja) | 疎結合並列処理環境における顧客情報制御システム及び方法 | |
JPS6243766A (ja) | 共用資源の状態管理方式 | |
JPH0950418A (ja) | 疎結合並列処理環境において一時的記憶待ち行列機能を有する顧客情報制御システム及び方法 | |
JP2781092B2 (ja) | システム間排他制御方式 | |
US5790868A (en) | Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment | |
JPH0944461A (ja) | 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法 | |
JP2829115B2 (ja) | ファイル共用方法 | |
JPH0622015B2 (ja) | データ処理システムの制御方法 | |
JP2004054906A (ja) | メモリアクセス方法およびその実施コンピュータシステム | |
JPH05224956A (ja) | プロセス間メッセージ通信方法 | |
JP2003345614A (ja) | シングルプロセッサ向けosによる並列処理システム | |
JPH06110759A (ja) | ファイルシステム | |
JPH09269935A (ja) | メモリ制御装置、及びメモリ制御方法 | |
JPH09190375A (ja) | 共有メモリ管理方法 | |
JP3050194B2 (ja) | ホスト間共用メモリファイル動的追加システム、ホスト間共用メモリファイル動的追加方法、およびホスト間共用メモリファイル動的追加プログラムを記録した記録媒体 | |
JPS63148365A (ja) | 多重計算機の共有資源管理装置 | |
JPH0337748A (ja) | 主記憶を利用した外部記憶アクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040604 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060117 |