JPH01113849A - マルチユーザシステム - Google Patents

マルチユーザシステム

Info

Publication number
JPH01113849A
JPH01113849A JP63232779A JP23277988A JPH01113849A JP H01113849 A JPH01113849 A JP H01113849A JP 63232779 A JP63232779 A JP 63232779A JP 23277988 A JP23277988 A JP 23277988A JP H01113849 A JPH01113849 A JP H01113849A
Authority
JP
Japan
Prior art keywords
processor
access
data
mode
application support
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
JP63232779A
Other languages
English (en)
Inventor
Robert J Catino
ロバート・ジヨゼフ・カテイノ
Tom K Chan
トム・カームーン・チヤン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01113849A publication Critical patent/JPH01113849A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は一般的にはデータベースを管理するためのマル
チユーザシステムに関し、さらに詳しくいえば、ロッキ
ングプロトコルを有するマルチユーザシステムに関する
B、従来技術、及びその問題点 ロッキングプロトコルは共用データオブジェクトのアク
セスを制御するためマルチユーザ環境で使用される。マ
ルチユーザデータベース管理システムは1つのファイル
アクセスプロセッサ及び複数のアプリケーションサポー
トプロセッサを含む場合がある。ファイルアクセスプロ
セッサはデータベースをアクセスし、アプリケーション
サポートプロセッサはファイルアクセスプロセッサに照
会を送信しそこからの応答を受信するため、ファイルア
クセスプロセッサに接続される。たとえば、サポートプ
ロセッサのところのユーザがデータベースに記憶された
ファイル又はレコードについてデータの追加、削除又は
変更をすることができる。
異なるサポートプロセッサにおける複数のユーザがデー
タベース中の同じデータを同時にアクセスすることもあ
る。そのような状況では、たとえば1つのユーザによっ
て調査されているデータ項目を別のユーザが変更しない
ようにデータ項目のアクセスを制御することが望まれる
。ロッキングプロトコルはそうしたユーザのアクセスを
制御するために開発されたものである。
従来のロッキングプロトコルは、普通、サポートプロセ
ッサのユーザからのデータ処理要求を受信したことに応
答して自動的にファイルアクセスプロセッサによって呼
び出される。通常の動作条件の下では、こうしたロッキ
ングプロトコルはサポートプロセッサのところのユーザ
によって明白には操作するさとはできない。実際、その
ようなユーザはロッキングプロトコルの存在すら知らな
いことがある。さらに、これらの従来のロッキングプロ
トコルは、普通、1つの作業単位の処理が完了した後に
ファイルアクセスプロセッサによって自動的に終了され
る。なお、1つの作業単位は、一般には、一定のアプリ
ケーションサポートプロセッサからの論理的関連のある
一群のデータ処理要求として定義されるものである。し
たがって、これらの従来のロッキングプロトコルでは、
1つの特定の作業単位の間にデータオブジェクトにかけ
られるロックをその作業単位の完了後にそのデータオブ
ジェクトについて維持することができない。
C0問題点を解決するための手段 本発明の目的は、データベースを管理するため(Dマに
チューザシステムにユーザによって明示的に制御できる
ロッキングプロトコルを提供することである。
本発明の他の目的は、システムが1つの作業単位の処理
を完了した後、ユーザの代わりにデータオブジェクトに
ついてのロックを維持することのできるロッキングプロ
トコルをマルチユーザデータベースシステムに提供する
ことである。
本発明の他の目的は、複数のアプリケーションサポート
プロセッサを有するタイプのマルチユーザシステムに、
ユーザが選択された1つのアプリケーションサポートプ
ロセッサによる排他的な読取シ及び更新のアクセス権に
ついて選択されたデータ項目を明示的にロックできるロ
ッキングプロトコルを提供することである。
本発明の他の目的は、複数のアプリケーションサポート
プロセッサを有するタイプのマルチユーザシステムに、
ユーザが特定のアプリケーションサポートプロセッサに
よる読取シ及び更新のアクセス権について選択されたデ
ータ項目を明示的にロックできる一方、他のアプリケー
ションサポートプロセッサがこの選択されたデータ項目
を読取ることができるロッキングプロトコルを提供する
ことがある。
これらの目的を達成するため、本発明のマルチユーザシ
ステムは、データベースをアクセススルためのファイル
アクセスプロセッサと、データオブジェクトの読取シ及
び更新を行うためファイルアクセスプロセッサに接続さ
れた複数のアプリケーションサポートプロセッサと、を
有し、アプリケーションサポートプロセッサからのデー
タ処理要求のρ取りに応答してデータオブジェクトに自
動的に暗黙ロックをかける暗黙ロック手段と、アプリケ
ーションサポートプロセッサからの明示ロック要求に応
答してデータオブジェクトに明示ロックをかける明示ロ
ック手段とよシ成る明示ロック手段をファイルアクセス
プロセッサに設けて、選択されたアプリケーションサポ
ートプロセッサのためにデータオブジェクトをロックし
てこの選択されたアプリケーションサポートプロセッサ
以外の他のアプリケーションサポートプロセッサによる
ロックされたデータオブジェクトへのアクセスを制限す
るようにしたことを特徴としている。
以下、本発明の作用を実施例と共に説明する。
D、実施例 データオブジェクトを有するデータベースを管理するた
めの本実施例のマルチユーザシステムは、データベース
をアクセスするためのファイルアクセスプロセッサと、
データオブジェクトを読取る弯 ためファイルアクセスプロセッサに接続された複数のア
プリケーションサポートプロセッサとを有する。各アプ
リケーションサポートプロセッサはデータオブジェクト
を処理するためファイルアクセスプロセッサに要求を送
信する。ファイルアクセスプロセッサは、選択されたア
プリケーションサポートプロセッサについてデータオブ
ジェクトをロックして他のアプリケーションサポートプ
ロセッサによるロックされたデータオブジェクトへのア
クセスを制限するロッキング手段を有する。
このロッキング手段は暗黙的ロッキング手段と明示的ロ
ッキング手段を含む。暗黙的ロッキング手段はそのアプ
リケーションサポートプロセッサからのデータ処理要求
の受取りに自動的に応答してデータオブジェクトに暗黙
にロックをかける。明示的ロッキング手段はそのアプリ
ケーションサポートプロセッサからの明示的なロッキン
グ要求の受取りに応答して、かつ、これらのアプリケー
ションサポートプロセッサからのデータ処理要求とは無
関係にデータオブジェクトに明示的なロックをかける。
少なくとも最初のアプリケーションサポートプロセッサ
は選択されたデータオブジェクトをロックするための明
示的なロッキング手段を活動化させる手段を有する。
好適には、明示的ロッキング手段は、データ項目を、明
示的排他モード、明示的更新モード、及び明示的共用モ
ードと呼ばれる異なるモードに置くことができる。所与
のアプリケーションサポートプロセッサが所与のデータ
項目を明示的排他モードに置くための明示的ロッキング
手段を活動化するときは、そのプロセッサはそのデータ
項目について排他的な読取シ及び更新のアクセス権を有
する。他の全てのプロセッサはそのデータ項目について
の全てのアクセスが拒絶される。実際、この所与のデー
タ項目は、好ましくは明示的ロックがその所与のサポー
トプロセッサ側のユーザによって解除されるまで、その
プロセッサの排他的な使用のためにデータベースから外
される。
所与のアプリケーションサポートプロセッサが所与のデ
ータオブジェクトを明示的更新モードに置くための明示
的ロッキング手段を活動化するときは、そのサポートプ
ロセッサはそのデータオブジェクトについて読取シ及び
更新のアクセス権を有する。他の全てのサポートプロセ
ッサはそのデータオブジェクトについての更新アクセス
権を取得することが防止されるが、読取シは許される。
所与のアプリケーションサポートプロセッサがデータオ
ブジェクトを明示的共用モードでロックするための明示
的ロッキング手段を活動化するときは、そのアプリケー
ションサポートプロセッサはそのデータオブジェクトに
ついての読取シアクセス権を有する。他の全てのサポー
トプロセッサはそのデータオブジェクトの読取りが許さ
れる。実際、これらの他のサポートプロセッサはこの所
与のデータオブジェクトに付加的な明示的共用ロックを
かけるための明示的ロッキング手段を活動化することも
できる。
以下、図面を参照しながら実施例を詳細に説明する。
既述の如く、ロッキングプロトコルないしはロッキング
システムは1.複数のユーザがデータベース中の同じデ
ータオブジェクト又はデータオブジェクトのグループを
同時にアクセスする場合において、データオブジェクト
のアクセス権を制御するのに使用される。ロッキングプ
ロトコルを設計する上で重要な事項の1つは、ロック可
能単位(すなわち、ロックされるデータオブジェクトの
集合)の選択である。たとえば、個々のデータオブジェ
クトだけでなく、データオブジェクトの全領域をロック
することも可能である。−船釣なルールとして、ロック
可能単位が大きくなればなる程、同時性は低くなる(す
なわち、所与の時間にシステムを共有できるユーザの数
は少なくなる)。−方、特定のユーザがたくさんのデー
タオブジェクトをロックしたい場合があシ、ロック可能
単位が小さくなればなる程、たくさんのデータオブジェ
クトをロックするのに必要な時間と費用が多くなる。一
般に、単純なトランザクションの場合(1つのユーザが
ほんのわずかのレコードしかアクセスしない)、小さい
ロック可能単位が好ましく、複雑なトランザクションの
場合(1つのユーザがたくさんのレコードをアクセスす
る)、大きいロック可能単位が好ましい。単一のデータ
ベースが単純なトランザクション及び複雑なトランザク
ションの両方の場合にアクセスされることがあるので、
普通、異なる幅のデータ集合をロックできることが望ま
しい。
データベースのデータ項目は階層的に組織されていると
みなすことができる。すなわち、データベースのデータ
項目が全体として単一のクラスを形成し、そのクラスが
複数のグループに分けられ、これらの各グループがデー
タ項目の1以上のセットから成るような階層構造である
。第1図は1つのデータベースの典型的な階層構造を表
わしている。このデータベースは複数の領域A ないし
A3を有し、各領域が1以上のファイルF ないしFl
を有し、各ファイルが1以上のデータオブジェクト又は
レコードRないしR23を有する。このデ−タペースは
、各々が1以上のノードを有する4つのレベルから成る
普通、1つ上位のレベルの特定のノードに属するあるレ
ベルのノードは、前者のノードの1子′と呼ばれる。一
方、1つ下位のレベルのノードが属するあるレベルのノ
ードは、前者のノードの1親′と呼ばれる。たとえば第
1図の例でいうと、ファイルF1及びF2は領域A1の
子であシ、ファイルF1、F5及F6は領域A2の子で
ある。ファイルF3はレコードR7及びR8の親であシ
、領域A3はファイルF8の親である。また、レコード
R7及びR8は領域A1の1子孫(deacendan
t)’と呼ばれ、領域A、はレコードR7及びR81先
祖(ancestor)’と呼ばれる。
典型的なロッキングシステムにおいては、階層の各ノー
ドは幾つかのモードのうちのいずれかの1つでロックす
ることができる。1っのノードが特定のアプリケーショ
ンサポートプロセッサニついて排他アクセスモードでロ
ックされるときは、そのノードとそのノードの全ての子
孫はそのアプリケーションサポートプロセッサによって
のみ読取シ又は変更することができる。1っのノードが
特定のアプリケーションサポートプロセッサについて共
用アクセスモードでロックされるときは、そのノードと
そのノードの全ての子孫はそのプロセッサ及び他の全て
のサポートプロセッサによって読取ることはできるが、
そのノードとそのノードの全ての子孫はいずれのサポー
トプロセッサによっても変更することはできない。普通
、特定のノードが排他アクセスモード又は共用アクセス
モードでロックされるときは、そのノードの全ての子孫
はそのモードで自動的にロックされるということが多い
多くのデータ処理要求があるので、排他アクセスモード
又は共用アクセスモードのいずれのモードにおいても一
定のデータ項目をロックするというオプションがあるこ
とが望ましい。それらのデータ項目がこれらのモードに
おいて同時にロックされるということが必要でない場合
でもそうである。インテンション(intention
)モートド呼ばれるロッキングモードは、データベース
の特定のノードをロックするため階層式データベースで
使用さ婁れ、これらのノードの子孫を次に排他アクセス
モード又は共用アクセスモードでロックできるようにす
る。1つのアプリケーションサポートプロセッサからの
データ処理要求に応答して特定のノードが暗黙にインテ
ンションモードに置かれたときは、そのノードの全ての
先祖もまたそのインテンションモードに置かれ、これに
よシ、そのノードの全ての子孫は、他のアプリケーショ
ンサポートプロセッサによる排他アクセス又は共用アク
セスについてロックされることが防止される。
−船釣なルールとしては、第1図でいうと、特定のノー
ド又はデータ項目をロックする前にノード又はデータ項
目を含む領域又はファイルへのインテンションアクセス
権がまず得られ、次に、所望のノード又はデータ項目に
ついて所望のロックがなされる。
第2図は本発明に基づくロッキングプロトコルを使用す
るファイル共用システム10を示す図である。ファイル
共用システムは一般にファイルアクセスプロセッサ12
及び複数のアプリケーションサポートプロセッサ14を
有する。プロセッサ12は複数のデータオブジェクトを
有するデータベースへのアクセスを行なう(これらのデ
ータオブジェクトは外部記憶媒体16に記憶することが
できる)。プロセッサ12はこれらのデータオブジェク
トに関係するプロセッサ14からの要求を処理するため
に設けられる。サポートプロセッサ14はデータベース
中のデータオブジェクトの読取シ及び更新を行うために
プロセッサ12に接続される。各サポートプロセッサは
データオブジェクトを処理するためファイルアクセスプ
ロセッサに要求を送信する手段を有する。
ファイルアクセスプロセッサ12は大域ネットワークに
存在しうるアプリケーションサポートプロセッサ14の
セットからの要求をサービスする。
各アプリケーションサポートプロセッサは1以上のファ
イルアクセスプロセッサ12によって記憶され管理され
るファイル中のデータへのアクセス権を共有する。各ア
プリケーションサポートプロセッサ14は、ファイルに
関する情報についてのファイルアクセスプロセッサ12
との通信を減少することによって性能を向上させるため
、ファイル情報についての内部キャッシュを保持する。
ファイルアクセスプロセッサ12は、データファイルの
セット及びファイルディレクトリに保持されているファ
イルに関する情報へのアクセスを管理する。ファイルデ
ィレクトリはファイル収集の管理を可能にし、互いに階
層的に関係する。ファイルディレクトリは共有すること
ができる。ファイルアクセスプロセッサはカタログの内
部的なセットを保持する。これは、ファイルアクセスプ
ロセッサにおける自己が内部的に使用するための内部的
情報の貯蔵手段であシ、アプリケーションサポートプロ
セッサには直接は使用できずまたアクセスもできない。
ファイルアクセスプロセッサはサービスシステム18、
データアクセスシステム20及び記憶装置アクセスシス
テム22を含む。ファイルアクセスプロセッサのこれら
の構成要素の機能は既存のコンピュータシステムにおい
て一般的に知られているので詳細には説明せず簡単な説
明にとどめる。
サービスシステム18はプロセッサ12のために環境に
依存したサービスを提供する。これらのサービスは要求
の初期の受信、ファイルアクセスについての要求の送出
、データアクセスシステム20の活動化のディスパッチ
を含む。データアクセスシステム20は個々の要求を処
理し、ファイルアクセスプロセッサ12によって管理さ
れるファイルのセットに関係する制御情報及び記述情報
を含むカタログのセットを保持する。記憶装置アクセス
22は、データファイルを含むデータブロックと、カタ
ログを含むレコードのセットと、同時性を可能にするロ
ックのセットと、回復ユニットを表わす作業項目のグル
ープとを管理する。
データアクセスシステムはセッションマネジメント24
、要求マネシメント26、スペースマネジメント30、
カタログマネジメント32及びキャッシュマネジメント
34を含む。セッションマネジメントはサービスシステ
ムを介して要求を受は取る。セッションマネジメントは
制御の中心となるも、のである。セッションマネジメン
トは応答の形式化についての基本的なサービスのセット
を含む。セッションマネジメントは、要求をサービスす
るためにどの要求マネジメントルーチンを呼び出すべき
かを決定して、要求マネジメントに制御権を渡す。要求
の処理の終了の際には、要求マネジメントはセッション
マネジメントに制御権を返し要求の処理を終了して、要
求された応答を送出する。
セッションマネジメントは多数のサービスルーチンを含
む。起動ルーチン66はデータアクセス制御構造を初期
設定するのに使用され、記憶装置プールルーチン40は
制御構造のために作業記憶装置を保持し配分するために
使用される。応答ルーチン42を用いて、要求マネジメ
ントによる応答メツセージの組立てを援助し、その応答
及びキャッシュ更新情報から適切に形式化された応答メ
ツセージを組立てる。作業ルーチン44は、要求の論理
的なグループが1確約(committed)’され又
は%o−ルバツク(rolled  back)“され
たときに要求された処理を調整し初期設定するのに利用
される。
作業ルーチンはカタログマネジメントを呼び出して要求
マネジメントによって組立てられた作業要求ブロックに
基づいてカタログ更新を行い、スペースマネジメントを
呼び出してスペースカタログの更新を調整する。さらに
作業ルーチンは記憶装置アクセスシステムを呼び出して
ファイルブロック及びカタログの変更を確約し、キャッ
シュマネジメント34を呼び出してキャッシュ通知情報
を記憶する。
セッションマネジメントは、さらに、データアクセスシ
ステムの活動化の終結の際に制御構造を終結処置(cl
ean  up)するための終了ルーチン46と、同じ
カタログエントリについての複数の変更を単一の変更に
減少することを支援するためのWRB圧縮ルーチン50
とを含む。データアクセスシステムはファイル情報及び
ディレクトリ情報を管理するため幾つかのカタログを利
用する。
オブジェクトカタログにおける各エントリは、たとえば
、特定のファイルについての記述情報及び制御情報を有
する。作業要求ブロックは、ファイル要求の処理の時か
らその作業単位が確約される時までカタログ変更情報を
保管するのに使用される。同一のカタログエントリにつ
いて複数のWRBが存在するときは、これらは単一のW
RBに圧縮される。
要求マネジメント26は、データアクセスシステムが処
理を意図した要求の各タイプについてルーチンを有する
。典型的な要求マネジメントは30個ないし40個のル
ーチンを有するが、第2図に示すようにこの要求マネジ
メントはカタログをアクセスするためにカタログマネジ
メントを使用し、論理スペースを管理するためにスペー
スマネジメント30を使用し、キャッシュ制御の処理の
ためにキャッシュマネジメントを使用する。さらに、要
求マネジメントは、確約時(すなわち、1つの作業単位
が首尾よく完了する時)に作業ルーチンに進むWRBを
組立て保持し、カタログ及びキャッシュの更新を制御す
る。要求マネジメント26は、ファイル及びカタログに
対して確約を表わす1以上の論理的なロックを直接的に
かけたり、外したシするために記憶装置アクセスシステ
ム22を使用する。要求マネジメントは、現要求の要件
に従って特定のファイルに関連するデータブロックを追
加し、削除し及び更新するために記憶装置アクセスシス
テムを呼び出す。
カタログマネジメントは記憶装置アクセスシステム22
を呼び出すのに必要な制御構造を組立てて、データアク
セスシステム20がファイルのセットのために制御情報
について使用するカタログのセットをアクセスする。ス
ペースマネジメント1dFscB(ファイルスペース制
御ブロック)によって表わされるアプリケーションサポ
ートプロセッサについて論理的なスペースを管理する。
FSCBはそのアプリケーションサポートプロセッサに
ついてのスペースカタログエントリの論理的な表現であ
る。ファイルによって消費される記憶装置における変更
に起因して論理的なスペースの消費に影響を与える要求
は、スペースマネジメントを介、してスペースの計算を
行う。スペースマネジメントは、さらに、カタログマネ
ジメントを使用してスペースカタログをアクセスする。
現アプリケーションサポートプロセッサについてキャッ
シュにおいてどのディレクトリがサポートされるかを確
立するため要求マネジメントによつて組立てられるWR
Bの情報を使って、データアクセスシステム20で保持
されているキャッシュされたデータを更新する目的で1
つの作業単位の成功的完了時にセッションマネジメント
の作業ルーチンによってキャッシュマネジメントが呼び
出される。
システム10のロッキングプロトコルについては以下で
詳細に説明するが、ファイルアクセスプロセッサ12の
他の構成の詳細については1987年10月19日付の
米国特許出願第110370号、第110461号、及
び110463号を参照されたい。但し、本発明の説明
に必要な部分は本明細書に組み込んである。
第3図を参照するに、ファイルアクセスプロセッサは、
選択されたアプリケーションサポートプロセッサについ
てデータオブジェクトをロックしてその選択されたアプ
リケーションサポート、プロセッサ以外の全てのアプリ
ケーションサポートプロセッサによるロックされたデー
タオブジェクトへのアクセスを制限するためのロッキン
グシステムないしはロッキング手段52を含む。好適に
は、ロッキング手段52は記憶装置アクセスシステム2
2、の1つの構成要素であり、暗黙的ロッキング手段5
4及び明示的ロッキング手段56を含む。
暗黙ロッキング手段54はアプリケーションサポートプ
ロセッサからのデータ処理要求の受取りに応答して自動
的にデータオブジェクトについて暗黙にロックをかける
ために設けられる。明示的ロッキング手段56はアプリ
ケーションサポートプロセッサからの明示的ロッキング
要求の受取りに応答して、かつ、そのサポートプロセッ
サからのデータ処理要求とは無関係にデータオブジェク
トについて明示的なロックをかけるために設けられる。
暗黙的ロッキングモードの幾つかのタイプがマルチユー
ザシステムで一般に使用されている。たとえば、暗黙的
ロッキング手段54は、データオブジェクトを排他アク
セスモード、共用アクセスモード、インテンション排他
モード、インテンション共用モード、インテンション排
他共用(sharedwith  1ntention
  exclusive  mode)に置くため手段
54aないしeをそれぞれ有する。
選択されたアプリケーションサポートプロセッサによっ
てデータアクセスシステムに出された特定の要求に応答
して1つのデータオブジェクトが排他アクセスモードで
暗黙にロックされたときは、そのアプリケーションサポ
ートプロセッサだけがそのデータオブジェクトについて
排他的な読取シ及び更新のアクセス権を有し、そのプロ
セッサ以外の全てのアプリケーションサポートプロセッ
サはそのデータオブジェクトの全てのアクセスを拒絶さ
れる。階層的なデータベースにおいては、選択されたア
プリケーションサポートプロセッサによってデータアク
セスシステムに出された特定の要求に応答して所与のノ
ードが排他アクセスモードで暗黙にロックされたときは
、そのアプリケーションサポートプロセッサだけがその
ノード及び自己の全ての子孫について排他的な読取シ及
び更新のアクセス権を有し、そのプロセッサ以外の全て
のアプリケーションサポートプロセッサはこの所与のノ
ード及びその全ての子孫についての全てのアクセスが拒
絶される。
選択されたアプリケーションサポートプロセッサによっ
てデータアクセスシステムに出された特定の要求に応答
して1つのデータオブジェクトが共用アクセスモードで
黙示的にロックされたときは、その選択されたアプリケ
ーションサポートプロセッサはそのデータオブジェクト
についての読Jtiu)アクセス権を有し、そのプロセ
ッサ以外の全てのアプリケーションサポートプロセッサ
はそのデータオブジェクトの排他的なアクセス権を取得
することが階上される。階層的なデータベースにおいて
は、選択されたアプリケーションサポートプロセッサに
よってデータアクセスシステムに出された特定の要求に
応答して所与のノードが共用アクセスモードでロックさ
れたときは、その選択されたアプリケーションサポート
プロセッサはそのノード及びその全ての子孫についての
読取シアクセス権を有し、そのプロセッサ以外の全ての
アプリケーションサポートプロセッサはそのノード及び
その全ての子孫について排他的なアクセス権を取得する
ことが防止される。
選択されたアプリケーションサポートプロセッサによっ
てデータアクセスシステムに出された特定の要求に応答
して1つのデータオブジェクトがインテンション排他モ
ードに暗黙に置かれたときは、そのアプリケーションサ
ポートプロセッサは、そのデータオブジェクトを排他的
アクセスモードに変えるためのロッキング手段を後で暗
黙に活動化させるというオプションを有し、そのプロセ
ッサ以外の全てのアプリケーションサポートプロセッサ
は、そのデータオブジェクトを排他アクセスモード又は
共用アクセスモードでロックするためのロッキング手段
を暗黙に活動化することが防止される。階層的なデータ
ベースにおいては、選択されたアプリケーションサポー
トプロセッサによってデータアクセスシステムに出され
た特定の要求に応答して所与のノードが暗黙的インテン
ション排他モードに置かれたときは、そのプロセッサは
そのノードのいずれかの子孫を排他アクセスモードに置
くためのロッキング手段を後で暗黙に活動化するという
オプションを有し、そのプロセッサ以外の全てのアプリ
ケーションサポートプロセッサはそのノード及びその子
孫の全てを排他アクセスモード又は共用アクセスモード
に置くためのロッキング手段を暗黙に活動化することが
防止される。
選択されたアプリケーションサポートプロセッサによっ
てデータアクセスシステムに出された特定の要求に応答
して1つのデータオブジェクトがインテンション共用モ
ードに暗黙に置かれたときは、そのプロセッサはそのデ
ータオブジェクトをその共用モードに変えるためのロッ
キング手段を後で暗黙に活動化するというオプションを
有し、そのプロセッサ以外の全てのアプリケーションサ
ポートプロセッサはそのデータオブジェクトを排他アク
セスモードに置くためのロッキング手段を暗黙に活動化
することが防止される。階層的なデータベースにおいて
は、選択されたアプリケーションサポートプロセッサに
よってデータアクセスシステムに出された特定の要求に
応答して所与のノードがインテンション共用モードに暗
黙に置かれるときは、そのプロセッサはそのノードのい
ずれかの子孫をその共用モードに置くためのロッキング
手段を後で暗黙に活動化するというオプションを有し、
そのプロセッサ以外の全てのアプリケーションサポート
プロセッサはそのノード又はその子孫を暗黙的な排他ア
クセスモードに置くためのロッキング手段を暗黙に活動
化することが防止される。
選択されたアプリケーションサポートプロセッサによっ
てデータアクセスシステムに出された特定の要求に応答
してインテンション排他共用モードに1つのデータオブ
ジェクトが暗黙に置かれたときは、そのプロセッサはそ
のデータオブジェクトの読取りアクセス権を有し、その
データオブジェクトをその排他モードに置くためのロッ
キング手段を後で暗黙に活動化するというオプションを
有する一方、そのプロセッサ以外の全てのアプリケーシ
ョンサポートプロセッサはそのデータオブジェクトを排
他アクセスモード又は共用アクセスモードのいずれにも
置くためのロッキング手段を暗黙に活動化することが防
止される。階層的なデータベースにおいては、選択され
たアプリケーションサポートプロセッサによるデータア
クセスシステムの活動化に応答して所与のノードがイン
テンション排他共用モードに暗黙に置かれたときは、そ
のプロセッサはそのノード及びその全ての子孫の読取シ
アクセス権を有し、さらに、そのノードのいずれかの子
孫をその排他モードに置くためのロッキング手段を後で
暗黙に活動化するというオプションを有する。一方、そ
のプロセッサ以外の全てのアプリケーションサポートプ
ロセッサはそのノード又はいずれかの子孫を排他アクセ
スモード又は−用アクセスモードのいずれにも置くため
のロッキング手段を暗黙に活動化することが防止される
本発明に従って、明示的排他モード、明示的更新モード
、及び明示的共用モードと呼ばれる幾つかの付加的な明
示的ロッキングモードにデータオプジエクトを置くため
のそれぞれの手段56a156b及び56cを具備した
明示的ロッキング手段56が設けられる。所与のアプリ
ケーションサポートプロセッサが明示的排他モードに所
与のデータオブジェクトを置くためのロッキング手段を
明示的に活動化するときは、そのプロセッサだけが、好
ましくはそのプロセッサ側のユーザによってその明示的
ロックが解除されるまで、そのデータオブジェクトの排
他的読取り及び更新のアクセス権を有する。その選択さ
れたプロセッサ以外の全てのアプリケーションサポート
プロセッサはそのデータオブジェクトの全てのアクセス
が拒絶され、実際、その所与のデータオブジェクトはそ
の選択されたプロセッサの排他的使用の有限の期間、デ
ータベースから外される。
所与のアプリケーションサポートプロセッサが1つのデ
ータオブジェクトを明示的更新モードに置くためのロッ
キング手段を明示的に活動化するときは、そのプロセッ
サは、好ましくはその選択されたサポートプロセッサ側
のユーザによって明示的なロックが解除されるまで、そ
のデータオブジェクトの読取シ及び更新のアクセス権を
有する。
その選択されたプロセッサ以外の全てのアプリケ−シン
サポートプロセッサは、明示的排他モード又は暗黙的排
他モードのいずれにもよるそのデータオブジェクトの排
他的アクセス権を取得すること、又はそのデータオブジ
ェクトの明示的な更新アクセス権を取得することが防止
される。選択されたプロセッサ以外のアプリケーション
サポートプロセッサは、しかしながら、そのデータオブ
ジェクトを暗黙的なインテンション共用モード又は共用
モードに置くためのロッキング手段を活動化すること、
そのデータオブジェクトを読取ることは許される。
所与のアプリケーションサポートプロセッサが1つのデ
ータオブジェクトを明示的共用モードでロックするため
のロッキング手段を明示的に活動化するときは、そのア
プリケーションプロセッサは、好ましくはその選択され
たサポートプロセッサ側のユーザによって明示的ロック
が解除されるまで、そのデータオブジェクトの読取シア
クセス権を有する。他のアプリケーションサポートプロ
セッサの全てはそのデータオブジェクトの読取りアクセ
ス権を取得することができ、実際、そのデータオブジェ
クトに明示的な共用のロックをかけるためのロッキング
手段を活動化することもできる。さらに、他のアプリケ
ーションサポートプロセッサはそのデータオブジェクト
を明示的排他モード又は明示的更新モードのいずれでも
ないインテンション共用モード又は共用モードに置くた
めのロッキング手段を活動化することができる。
通常のロッキングプロトコルにおいては、所与の作業単
位を処理する間のデータオブジェクトにかけられた全て
の黙示的なロックは、データアクセスシステムがその作
業単位の処理を完了したときに自動的に終了する。この
方法においては、暗黙的なロックは同じ又は他のアプリ
ケーションサポートプロセッサからの後続の要求に影響
を与えない。本発明に基づく明示的ロッキング手段は作
業単位の処理が完了した後に明示的なロックを保持する
ための手段54dを含む。さらに、好適には、これらの
明示的ロックは、ユーザによって明示的に解除されるま
で、保持される。こうして、ユーザはデータアクセスシ
ステムの活動化の間でかつ無期限にこれらの明示的なロ
ックを保持するというオプションを有する。
当業者に理解されるように、ここに開示したロッキング
プロトコルはファイル共用システム以外のマルチユーザ
システムにおいて使用できる。たとえば、このロッキン
グプロトコルは複数のユーザによってアクセスされる適
切なデータベースシステムで使用できる。
異なるユーザの各々は、明示的又は暗黙的のいずれでも
、同一のデータオブジェクトについてロックを、要求す
ることができる。下記の第1表は、上述のロッキングモ
ードの両立性を示す表である。
第  1  表 ES:明示的共用   IS :インテンション共用E
U:明示的更新   IX :インテンション排他EX
:明示的排他   S :共用 SIX:インテンション排他共用 X :排他 ロッキングモードは表の上側及び左側にリストされてい
る。2つのロッキングモードは、それらのロッキングモ
ードによって示される行と列との交点にYが位置してい
るとき、両立性があり、逆にNが位置しているときは両
立性がない。たとえば、明示的共用モードはそれ自身と
両立しうる。
すなわち、複数のユーザはそのモードで所与のデータ項
目をそれぞれロックすることができる。−方、明示的更
新モードはそれ自身とは両立しない。
すなわち、2つの異なるユーザはこのモードで所与のデ
ータ項目を同時にロックすることはできない。
さらに、明示的共用モードは暗黙的共用モードと両立し
うる。すなわち、1つのユーザは暗黙的共用モードで所
与のデータオブジェクトがロックでき、たとえこの同一
のデータオブジェクトが同−又は他のユーザによって明
示的モードで同時にロックされているとしてもそうであ
る。明示的共用モードは明示的更新モードとは両立しな
い。すなわち、1つのユーザは所与のデータオブジェク
トが同−又は他のユーザによって同時に明示的共用モー
ドにロックされているときはそのデータオブジェクトを
明示的更新モードにロックすることはできない。
第1表は、さらに、明示的排他モードが他の全てのモー
ドと両立しないこと、暗黙的排他モードが他の全てのモ
ードと両立しないこと、及び暗黙的インテンション排他
共用モード以外の他の全てのモードと両立しないことを
示している。インテンション共用モードは明示的排他モ
ード及び暗黙的排他モード以外の他の全てのモードと両
立しうる。暗黙的共用モードは、明示的排他モード、暗
黙的排他モード、インテンション共用モード、及びイン
テンション排他共用モード以外の全てのモードと両立し
うる。
第4図は、こうした両立性に基づくロッキングモードの
相対的な強さを一般的に表わした図である。明示的排他
モード及び暗黙的排他モードはいずれも他の全てのモー
ドと両立しないので最も強いとみなすことができる。イ
ンテンション排他共用モードはインテンション共用モー
ドとのみ両立するので次に強い。明示的更新モードは明
示的共用モードよシも強いとみなすことができ、明示的
共用モードは暗黙的共用モードよシも強く、暗黙的共用
モードはインテンション共用モードよす強い。インテン
ション排他モードは、明示的排他モード、暗黙的排他モ
ード、及びインテンション排他共用モードより弱いがイ
ンテンション共用モードよシ強いとみなすことができる
E0発明の詳細 な説明したように本発明によれば、明示ロックによシ融
通性の高いマルチユーザシステムを提供することができ
る。
【図面の簡単な説明】
第1図は階層データベースを説明する図、第2図は本発
明に基づくファイル共用システムを示す図、第3図はロ
ッキング手段を示す図、第4図はロッキング手段による
ロッキングモードの相対的な強さを示す図である。 12・・・ファイルアクセスプロセッサ、14・・・ア
プリケーションサポートプロセッサ、52・・・ロッキ
ング手段、54・φ・黙示的ロッキング手段、56・・
・明示的ロッキング手段。 出願人 インタせカナル・ビ銅・マシーンズ・コーh’
t、−wン代理人 弁理士  頓   宮   孝  
 −(外1名) ファイル共用システム 箪2図 第3vA

Claims (1)

  1. 【特許請求の範囲】 複数のデータオブジェクトを有するデータベースを管理
    するためのマルチユーザシステムであつて、 データベースをアクセスするためのファイルアクセスプ
    ロセッサと、データオブジェクトの読取り及び更新を行
    うため上記ファイルアクセスプロセッサに接続された複
    数のアプリケーションサポートプロセッサと、を有し、
    アプリケーションサポートプロセッサからのデータ処理
    要求の受取りに応答してデータオブジェクトに自動的に
    暗黙ロックをかける暗黙ロック手段と、アプリケーショ
    ンサポートプロセッサからの明示ロック要求に応答して
    データオブジェクトに明示ロックをかける明示ロック手
    段とより成るロック手段を上記ファイルアクセスプロセ
    ッサに設けて、選択されたアプリケーションサポートプ
    ロセッサのためにデータオブジェクトをロックして該選
    択されたアプリケーションサポートプロセッサ以外の他
    のアプリケーションサポートプロセッサによる上記ロッ
    クされたデータオブジエクトへのアクセスを制限するよ
    うにしたことを特徴とするマルチユーザシステム。
JP63232779A 1987-10-19 1988-09-19 マルチユーザシステム Pending JPH01113849A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11036287A 1987-10-19 1987-10-19
US110362 1987-10-19

Publications (1)

Publication Number Publication Date
JPH01113849A true JPH01113849A (ja) 1989-05-02

Family

ID=22332612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63232779A Pending JPH01113849A (ja) 1987-10-19 1988-09-19 マルチユーザシステム

Country Status (3)

Country Link
EP (1) EP0312866B1 (ja)
JP (1) JPH01113849A (ja)
DE (1) DE3852689T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011520200A (ja) * 2008-05-08 2011-07-14 マイクロソフト コーポレーション ファイルロックを使用したドキュメントへのアクセスの制御
US20140373108A1 (en) 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US8990150B2 (en) 2007-11-09 2015-03-24 Microsoft Technology Licensing, Llc Collaborative authoring
US9760862B2 (en) 2008-04-28 2017-09-12 Microsoft Technology Licensing, Llc Conflict resolution

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
EP0463250B1 (en) * 1990-06-28 1995-02-01 International Business Machines Corporation Data processing apparatus user interface and data processing apparatus with such an interface
GB2273586A (en) * 1992-12-21 1994-06-22 Hanover Restricting access to shared memory during updates.
RU2174928C1 (ru) * 2001-02-15 2001-10-20 Закрытое акционерное общество "Энергет и Ко" Система доступа к информации

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6417133A (en) * 1987-07-13 1989-01-20 Fuji Xerox Co Ltd Exclusive processing system for computer data base system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104718A (en) * 1974-12-16 1978-08-01 Compagnie Honeywell Bull (Societe Anonyme) System for protecting shared files in a multiprogrammed computer
US4249241A (en) * 1978-10-23 1981-02-03 International Business Machines Corporation Object access serialization apparatus for a data processing system
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6417133A (en) * 1987-07-13 1989-01-20 Fuji Xerox Co Ltd Exclusive processing system for computer data base system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990150B2 (en) 2007-11-09 2015-03-24 Microsoft Technology Licensing, Llc Collaborative authoring
US10394941B2 (en) 2007-11-09 2019-08-27 Microsoft Technology Licensing, Llc Collaborative authoring
US20140373108A1 (en) 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US10057226B2 (en) 2007-12-14 2018-08-21 Microsoft Technology Licensing, Llc Collaborative authoring modes
US9760862B2 (en) 2008-04-28 2017-09-12 Microsoft Technology Licensing, Llc Conflict resolution
JP2011520200A (ja) * 2008-05-08 2011-07-14 マイクロソフト コーポレーション ファイルロックを使用したドキュメントへのアクセスの制御

Also Published As

Publication number Publication date
EP0312866A2 (en) 1989-04-26
EP0312866B1 (en) 1995-01-04
DE3852689T2 (de) 1995-06-29
EP0312866A3 (en) 1990-06-13
DE3852689D1 (de) 1995-02-16

Similar Documents

Publication Publication Date Title
US5319780A (en) System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
US5581753A (en) Method for providing session consistency guarantees
US5634072A (en) Method of managing resources in one or more coupling facilities coupled to one or more operating systems in one or more central programming complexes using a policy
JP3600293B2 (ja) データベース・アクセス効率の向上方法及びシステム
US6711571B2 (en) Partitioning ownership of a database among different database servers to control access to the database
JP3062070B2 (ja) 分散ファイル・システム用マルチレベル・トークン管理のためのシステムおよび方法
Williams et al. R*: An overview of the architecture
US6502103B1 (en) Providing composed containers and data objects to support multiple resources
JP4746838B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
CN104793988B (zh) 跨数据库分布式事务的实现方法和装置
US6553384B1 (en) Transactional name service
US5890153A (en) Database lock control method
US6505210B1 (en) Federation of naming contexts across multiple and/or diverse underlying directory technologies
JPH01112443A (ja) スペース管理システム
Lahiri et al. Cache fusion: Extending shared-disk clusters with shared caches
US20030177182A1 (en) Ensuring a given transactional unit of work arrives at an appropriate server instance
EP1040433A1 (en) A fine-grained consistency mechanism for optimistic concurrency control using lock groups
WO1998030959A1 (en) Data sharing method and computer architecture
JPH04229344A (ja) 持続性があり再起動可能なカーソルを用いた順次バッチ・アプリ       ケーションを支援するための方法
CA2145737A1 (en) Distributed database architecture and distributed database management system for open network evolution
US6301581B1 (en) Method and system for managing access to a plurality of data objects
JPH09244896A (ja) 永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システム
EP0312866B1 (en) A file sharing system having locking protocol
JP4664931B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
JP2000105722A (ja) デ―タ構造割当ての結果をプレビュ―する方法及び装置