JP3072706B2 - データ保護装置及びコンピュータ・システム - Google Patents

データ保護装置及びコンピュータ・システム

Info

Publication number
JP3072706B2
JP3072706B2 JP07280705A JP28070595A JP3072706B2 JP 3072706 B2 JP3072706 B2 JP 3072706B2 JP 07280705 A JP07280705 A JP 07280705A JP 28070595 A JP28070595 A JP 28070595A JP 3072706 B2 JP3072706 B2 JP 3072706B2
Authority
JP
Japan
Prior art keywords
data
access
program
authorized
method program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP07280705A
Other languages
English (en)
Other versions
JPH08212139A (ja
Inventor
ジョン・クラレンス・エンディコット
スティーブン・レスター・ハルター
スティーブン・ジェイ・ムンロー
エリック・エドワード・ヴォルデイル
シン・クー
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 JPH08212139A publication Critical patent/JPH08212139A/ja
Application granted granted Critical
Publication of JP3072706B2 publication Critical patent/JP3072706B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/468Specific access rights for resources, e.g. using capability register

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理分野に関
するものである。更に詳しく云えば、本発明はオブジェ
クト指向プログラミング環境内のオブジェクト・カプセ
ル化に関するものである。
【0002】
【従来の技術】1948年のEDVACコンピュータ・
システムの開発は、屡々、コンピュータ時代の幕開けと
呼ばれている。その時以来、コンピュータ・システムは
近代的な生活様式のあらゆる点に入り込んできている。
この急増の理由は、コンピュータ・システムが種々な仕
事を効率的な態様で遂行する能力である。これらの仕事
を遂行するためにコンピュータ・システムにより使用さ
れる機構が、コンピュータ・プログラムと呼ばれる。
【0003】コンピュータ・システムそのものと同様
に、コンピュータ・プログラムの開発も何年にもわたっ
て進化してきた。EDVACシステムは、「ワン・アド
レス」コンピュータ・プログラミング言語と呼ばれるも
のを使用した。この言語は、最も基本的なコンピュータ
・プログラムだけを可能にするものに過ぎなかった。1
960年代の間は、コンピュータ・プログラミング言語
における改良は、開発及び保守を管理及び制御すること
が困難であるような大型且つ複雑なコンピュータ・プロ
グラムを導くものであった。
【0004】そのため、1970年代では、焦点は、新
しいプログラミング言語を開発することから離れて、大
型コンピュータのプログラムの増加する複雑性及びコス
トにより良く適応することができるプログラム方法論及
び環境の開発に向けられた。そのような方法論の1つ
は、オブジェクト指向プログラミング(OOP)法であ
る。OOPは、コンピュータ・プログラミングに対する
この方法がコンピュータ・プログラマの生産性を25倍
も改善することができるという主張を提唱している。そ
のため、OOP技法が最初に開発されて以来かなりの時
間が経っているけれども、現在、それは将来性のある方
法と見られている。
【0005】驚くほどのことではないが、オブジェクト
はOOP技法にとっては中心である。オブジェクトを、
コンピュータ・システムの必要な仕事を遂行するために
一緒に働く自律的な代行者と考えることができる。単一
のオブジェクトは、そのオブジェクトによって制御され
る情報に関してコンピュータ・システムにより遂行され
る個々のオペレーション又はグループのオペレーション
を表す。オブジェクトのオペレーションは「メソッド・
プログラム」又は単に「メソッド」と呼ばれ、オブジェ
クトにより制御される情報は「オブジェクト・データ」
又は単に「データ」と呼ばれる。メソッド及びオブジェ
クト・データは、そのオブジェクトにおいて「カプセル
化される」といわれる。オブジェクトが他のオブジェク
トに対して作用及び反作用する方法は、それの「振る舞
い」(behavior)であると云われる。コンピュータ・シ
ステムの適切な機能は一緒に働くオブジェクトに依存す
るので、矛盾のない振る舞いを示すことは各オブジェク
トにとって極めて重要である。
【0006】1つのオブジェクトのメソッドが第2のオ
ブジェクトにより制御されるデータへのアクセスを必要
とする時、それはその第2のオブジェクトのクライアン
あると考えられる。第2のオブジェクトによって制
御されるデータをアクセスするために、クライアントの
メソッドの1つ(即ち、クライアント・メソッド)は第
2のオブジェクトをコールして、即ち、呼び出して、そ
のオブジェクトによって制御されるデータへのアクセス
を得るであろう。コールされたオブジェクトのメソッド
の1つ(即ち、この場合は、サーバ・メソッド)は、そ
のコールされたオブジェクトによって制御されるデータ
をアクセス又は操作するために使用される。そのコール
されたオブジェクト自身のメソッドへのアクセスを制限
することは、クリティカルなことである。なぜならば、
矛盾のない振る舞いを示す各オブジェクトの能力は、他
のオブジェクトのメソッドがそのデータの直接的なアク
セス又は処理を防ぐためにはそれの能力に依存するため
である。事実、コールされたオブジェクト自身のメソッ
ドにアクセスを制限することは、このカプセル化が守ら
れない場合にOOP方法論全体が分解するほどクリティ
カルである。
【0007】
【発明が解決しようとする課題】本発明の主たる目的
は、オブジェクト・データに対するアクセスを、当該オ
ブジェクトのメソッドのみに制限する拡張機構を提供す
ることにある。
【0008】本発明のもう1つの目的は、複数個のメソ
ッドによるそれらのオブジェクトのオブジェクト・デー
タのみに対するアクセスを可能にする拡張機構を提供す
ることにある。
【0009】本発明の更にもう1つの目的は、ページ、
セグメント、及び他の同様の所定のメモリ境界よりも小
さいメモリ集合体を基礎にしてアクセスを可能にするこ
とによって、オブジェクト・データに対するアクセス
を、当該オブジェクトのメソッドのみに制限する拡張機
構を提供することにある。
【0010】本発明の更にもう1つの目的は、オブジェ
クト・データそのものにとって必要なスペースに等しい
サイズのメモリ集合体を基礎にしてアクセスを可能にす
ることによって、オブジェクト・データに対するアクセ
スを、当該オブジェクトのメソッドのみに制限する拡張
機構を提供することにある。
【0011】
【課題を解決するための手段】本発明は、オブジェクト
によってカプセル化されたメソッドのみに対するオブジ
ェクト・データへのアクセスを制限するために、ハード
ウエアのウインドウ記憶保護コントローラ(WSPC)
及びオブジェクト・カプセル化強制マネージャ(OEE
M)を利用する。本発明の機構だけがオブジェクトによ
ってカプセル化されたデータへのアクセスを否認したり
或いは容認したりできるように、保護を必要とするコン
ピュータ・システムのオブジェクトすべてが基本記憶保
護機構によって保護記憶装置に記憶される。殆どの部分
に対して、各オブジェクトに対するオブジェクト識別子
を、他のすべてのオブジェクトは知っている。それらオ
ブジェクト識別子は、本質的には、記憶装置内のオブジ
ェクトのアドレスである。クライアント・メソッドがO
EEMと最初に対話することなく他のオブジェクトのデ
ータへのアクセスを(即ち、多分、他のオブジェクト識
別子を介して)得ようとする場合、そのアクセスは基本
記憶保護機構によって否認されるであろう。
【0012】1つのオブジェクトのメソッド(即ち、ク
ライアント)が第2のオブジェクト内のカプセル化され
たデータをアクセス又は操作したい時、それはオブジェ
クト識別子(オブジェクトID又はOIDとしても示さ
れる)をOEEMに供給する。そこでOEEMはオブジ
ェクト識別子、オブジェクトの長さ、及びクライアント
のアクセス許可(例えば、読取り許可及び書込み許可)
を取り、それらをWSPC内の特別なレジスタにロード
する。(本発明はオブジェクトのアドレス範囲を描写す
るためにオブジェクト識別子及びオブジェクト長を利用
するけれども、汎用性を失うことなく他の機構が使用可
能であることは、当業者には明らかであろう)。そこ
で、OEEMはコールされたオブジェクトの適切なメソ
ッドを呼び出す。このメソッドがコールされたオブジェ
クト内のカプセル化されたデータをアクセスしようとす
る場合、WSPCは、アクセスされるべきデータがオブ
ジェクト識別子により識別されたオブジェクトによって
実際にカプセル化されること及びアクセスのタイプ(即
ち、読取り及び書込み)が特定のクライアントに対する
許可された活動であることを検証する。
【0013】リクエストされたアクセスが、そのコール
されたオブジェクトによって実際にカプセル化されたデ
ータに対して行われ、そのアクセスのタイプが、この特
定のクライアントに対する許可された活動である場合、
WSPCは基本記憶保護機構を無効にし(override)
そのリクエストされたアクセスが進行するのを可能にす
る。しかし、リクエストされたアクセスが、そのコール
されたオブジェクトによってカプセル化されてないデー
タに対して行われる場合、又はリクエストされたアクセ
スのタイプが、この特定のクライアントに対して許可さ
れてない活動である場合、WSPCは、基本記憶保護機
構がそのリクエストされたアクセスを否認することを可
能にする。
【0014】
【発明の実施の形態】図1は、本発明のコンピュータ・
システムのブロック図を示す。その好適な実施例のコン
ピュータ・システムは、拡張IBM AS/400中型
コンピュータ・システムである。しかし、当業者には明
らかなように、本発明の機構及び装置は、コンピュータ
・システムが複雑なマルチ・ユーザ計算装置であるかど
うか関係なく、或いは、テレビジョン又はオーブン電子
レンジのような個人使用の電子機器において見られる組
込み型のプロセッサであるかどうかに関係なく、すべて
のコンピュータ・システムに等しく適用できる。図1に
示されるように、コンピュータ・システム100は、シ
ステム・バス150を介してデータ記憶装置140及び
端末インターフェース145に接続されたメイン処理装
置又は中央処理装置(CPU)105を含む。CPU1
05は、更に、ウインドウ記憶保護コントローラ(WS
PC)155を含むように示される。WSPC155は
本発明によって使用される機構の1つであり、オブジェ
クト内のカプセル化されたデータをアクセス又は操作す
るように働く特殊なメソッドのみにオブジェクト・デー
タへのアクセスを制限する。端末インターフェース14
5は、システム管理責任者及びコンピュータ・プログラ
マが、通常は、プログラム可能なワークステーションを
介してコンピュータ・システム100と通信することを
可能にする。図1に示されたシステムは単一のメインC
PU及び単一のシステム・バスしか持たないけれども、
多数のメインCPU及び多数のI/Oバスを持ったコン
ピュータ・システムにも本発明が等しく適用できること
は勿論である。同様に、好適な実施例のバスは典型的な
結線分岐(multidrop)バスであるけれども、双方向通
信をサポートする任意の接続手段が使用可能である。
【0015】データ記憶装置140はオブジェクト・カ
プセル化強制マネージャ(OEEM)110、オブジェ
クト115、及びオペレーティング・システム135を
含む。好適な実施例のオブジェクト115は、データ1
16及びメソッド118を含むように示されているが、
オブジェクト・データ及びメソッド・プログラムが別々
に記憶されるOOP環境にも本発明が等しく適用できる
ことは勿論である。データ記憶装置140は単体として
示されるけれども、データ記憶装置140が種々の装置
より成るものでよいこと、及び図示のすべてのプログラ
ム及びファイルが必ずしも何れかの装置に含まれる必要
がないことは勿論である。例えば、OEEM110及び
オペレーティング・システム135は、一般には、実行
のために一次メモリにロードされるであろうし、一方、
ソース・データ・ファイルは、一般には、磁気的又は光
学的ディスク記憶装置に記憶されるであろう。
【0016】A.「高レベル概説」 図2、図4、及び図5は、OEEM110及びWSPC
155の「高レベル概説」を示すために使用される。前
述のように、クライアント・メソッドはサーバ・メソッ
ドをコールし、即ち、呼び出し、それらが実行するよう
設計されたタスクを遂行する。このステップは図2のブ
ロック200に示される。クライアント・メソッドがサ
ーバ・メソッドを呼び出したい時には、それは、先ず、
OEEM110をコールする。好適な実施例では、OE
EM110に対するコールはクライアント機構に「コン
パイル・イン」される。しかし、当業者には明らかなよ
うに、OEEM110に制御を送る任意の機構が使用可
能である。CPU105に含まれたすべてのレジスタを
含むコンピュータ・システム100の資源すべてに対す
るアクセスに特権レベル機構が与えられる。しかし、ク
ライアント・メソッド及びサーバ・メソッドはユーザ
と考えられる。特権レベル機構と違って、ユーザ機構
は、コンピュータ・システム100の資源へのアクセス
を得るために特権レベル機構をコール、即ち、呼び出さ
なければならない。
【0017】本発明は、OEEM110だけがWSPC
155のレジスタへのアクセスを持つという事実に依存
するので、OEEM110が特権レベル機構であること
及びクライアント・メソッド及びサーバ・メソッドが特
権レベル機構でないことは意味あることである。しか
し、当業者には明らかなように、ユーザ機構(時によっ
ては、問題状態機構、ユーザ状態機構、或いはアプリケ
ーション状態機構と呼ばれることがある)の対照となる
特権レベル機構(時によっては、特権モード機構、スー
パバイザ・モード機構、或いはカーネル・モード機構
呼ばれることがある)という概念はその分野では良く知
られている。従って、当業者には明らかなように、或る
に対して特殊な許可を付与するために及び他のに対して
同じ許可を否認するために使用される特殊な手段に関係
なく、本発明はすべてのコンピュータ・システムに等し
く適用できる。
【0018】クライアント・メソッドがOEEM110
を呼び出す時、OEEM110は、クライアント・プロ
グラムがコールしたいオブジェクトのオブジェクトID
及び必要となるかもしれない他のパラメータを受信する
(図2のブロック205)。そこで、OEEM110は
そのオブジェクトIDをWSPC155の適切なウイン
ドウ記憶保護レジスタ対の下位レジスタにロードする
(ブロック210)。前述のように、クライアント・メ
ソッドはユーザ機構であり、それだけでは、WSPC1
55のレジスタに対するアクセスを持たない。図4はW
SPC155のフロント・エンド回路の概略図である。
図示のように、好適な実施例は、WSPC155が4つ
のウインドウ記憶保護レジスタ対(即ち、ウインドウ記
憶保護レジスタ対310、320、330、及び34
0)を含むことを必要とする。4つのウインドウ記憶保
護レジスタ対の選択は設計上の選択である。本明細書を
読む場合、当業者には明らかなように、本発明の精神及
び技術範囲内で他の変更が可能である。各ウインドウ保
レジスタ対は、更に、下位レジスタ(即ち、下位レ
スタ315、325、335、及び345)及び上位レ
ジスタ(即ち、上位レジスタ313、323、333、
及び343)を含む。この「高レベル概説」のために、
前述の「適切な」レジスタはウインドウ記憶保護レジス
タ対310である。従って、OEEM110によって使
用される下位レジスタは下位レジスタ315となろう。
【0019】図2を再び参照すると、OEEM110
は、次に、組合せマスクを計算し、クライアント・メソ
ッドのリクエストを処理するサーバ・メソッドのアクセ
ス許可を確認する(ブロック215)。組合せマスクは
OIDにより識別されたオブジェクトの長さを表し、ア
クセス許可は、サーバ・メソッドが遂行を許されたオペ
レーション(例えば、読取り又は書込み)を定義する。
クライアント・メソッドのアクセス許可及びコールされ
たオブジェクトの長さを決定するために選択された特定
の手段は本発明にとって重要ではない。そこで、OEE
M110は組合せマスクをWSPC155の上位レジス
タ(即ち、このケースでは、図4の上位レジスタ31
3)にロードする(ブロック220)。ブロック225
において、OEEM110は適切なサーバ・メソッドを
選択し、それを呼び出す。一旦、制御がサーバ・メソッ
ドに渡されると、そのサーバ・メソッドは、OIDによ
って識別されたオブジェクト内のカプセル化されたデー
タをアクセスしようとする。その結果、その試みられた
アクセスと関連したメモリ・アドレス(データ記憶装置
140内のアドレス)WSPC155へ供給さ
(図4300参照)。
【0020】かくて、供給されたアドレスのオフセット
部分と長さマスクとの積(ANDゲート317)その
アドレスのセグメントID部分と結合さる。(AS/
400アドレシング・ストラクチャはセグメント化アド
レシングを使用してアドレス変換コストを小さくしてい
るけれども、当業者には明らかなように、セグメント化
されてないグローバル反転ページ・テーブル或いは2
又は3レベル仮想インデックス・ページ・テーブルのよ
うな他のアドレシング技法が本発明の精神及び技術範囲
から逸脱することなく使用可能である)。そこで、この
値は下位レジスタ315に予めロードされたOIDと比
較される(即ち、比較回路319によって)。その供給
されたアドレスがそのOIDにより識別されたオブジェ
クトが占めるメモリ・スペース(即ち、OID+オブジ
ェクトの長さ)内にある場合、WSPヒット0として示
された比較回路319の出力は論理的1である。供給さ
れたアドレスがOIDにより識別されたオブジェクトが
占めるメモリ・スペース内にない場合、比較回路319
の出力は論理的0である。この「高レベル概説」のため
に、WSPヒット0は論理的1に等しいものと仮定す
る。
【0021】図5はWSPC155のバック・エンド
回路の概略図である。WSPヒット0はORゲート35
0に対する入力となり、それを介してインバータ352
及びAND/OR複合ゲート354に送られる。ORゲ
ート350の出力は論理的1であるので、それの出力及
びAND/OR複合ゲート354に対する関連の入力は
論理的になるであろう。ページ・テーブル保護違反
(PTPV)フラッグ353が基本記憶保護機構によっ
て発生される。前述のように、保護を要求するオブジェ
クトが基本記憶保護機構によって保護記憶装置に記憶さ
れるので、PTPVフラッグ353の値はいつも論理的
1となるであろう。
【0022】AND/OR複合ゲート354に対する最
後の入力はAND/OR複合ゲート360によって発生
される。AND/OR複合ゲート360の出力はインバ
ータ358及び364を介してAND/OR複合ゲート
356及び362から、及び命令デコード・フラッグ・
ロード366及びストア368から取り出される。図示
のように、WSPヒット(HIT)0はAND/OR複
合ゲート356及び362に対する入力でもある。OE
EM110によって上位レジスタ313に予めロードさ
れた読取り許可及び書込み許可は、AND/OR複合ゲ
ート356及び362に対する入力(それぞれ、WSP
REG 0 rビット及びWSP REG0 wビットと
して示される)でもある。この高レベル概説のために、
サーバ・メソッドは読取り保護及び書込み保護の両方を
与えられているものと仮定する。従って、WSP RE
G 0 rビット及びWSP REG 0 wビットは共に
論理的1の値を有するであろう。命令デコード・フラッ
グ・ロード366及びストア368はクライアント・メ
ソッドによって遂行されることを求められている特定の
オペレーション(即ち、ロード=読取り、ストア=書込
み)を表す。この例では、クライアント・オブジェクト
は読取り許可及び書込み許可の両方を持っているので、
命令デコード・フラッグの値は無関係である(即ち、そ
れらフラッグの値は「ドントケア(DON'T CAR
E)」である。しかし、サーバ・メソッドが読取り許可
なしに読み取ろうとする時、又は書込み許可なしに書き
込もうとする時、それらの値は重要になる。
【0023】WSP REG 0 rビットおよびWSP
ヒット0の両方が論理的1の値を有するので、AND/
OR複合ゲート356の出力も同様に論理的1となるで
あろう。インバータ358は、AND/OR複合ゲート
360への入力が論理的0となるようにこの信号を反転
する。そこで、全体として、AND/OR複合ゲート3
54に対する4つの入力値は次のようになる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット0=1; AND/OR複合ゲート360出力=0
【0024】AND/OR複合ゲート354へのこれら
入力はAND/OR複合ゲート354から論理的0の
出力を生じさせる。論理的0の出力は本質的には基本記
憶保護機構(即ち、この機構の状態がPTPVフラッグ
353として識別される)を無効にする。それは、OI
Dによって識別されたオブジェクト内のカプセル化され
たデータをアクセスすることをサーバ・メソッドが許
されたことを意味する。換言すれば、本発明は、サーバ
・メソッドが「アクセス・ウインドウ」内のカプセル化
されたデータに対するアクセスを得ることができるよう
に、OIDによって識別されたオブジェクトを通してそ
の「アクセス・ウインドウ」をオープンする。図2を再
び参照すると、ブロック235において、OEEM11
0はこの結果を知る。サーバ・メソッドがOIDにより
識別されたオブジェクト内のカプセル化されたデータを
アクセスし終わった後、ブロック245において、サー
バ・メソッドは制御をOEEM110に戻す。ブロック
250では、OEEM110は、WSPC155を実質
的に動作不能にするニル(Nill)・マスクを上位レ
ジスタ313にロードする。そこで、OEEM110は
コールしたクライアント・メソッドに制御及びすべての
適切なパラメータを戻す。
【0025】B.「詳細な例」 図3及び図6乃至図18は、オブジェクト・カプセル化
を効率的に強制するために本発明の機構を働かせる方法
の詳細例を与えるために使用される。図3は、5つの例
的なオブジェクトを含むデータ記憶装置140の一部
分を示す。一般に、これらのオブジェクト260、26
5、270、275、及び280の各々はデータ及び
メソッドより成る。一層詳細に説明すると、クライアン
ト・オブジェクト260はデータ及びクライアント・
メソッドより成り、一方、サーバ・オブジェクト26
5、270、275、及び280の各々はデータ及び
それぞれの単一のサーバ・メソッドA、B、C、及びD
より成る。オブジェクト260、265、270、27
5、及び280の各々単一のメソッド・プログラム
しか含まないものとして示されるけれども、当業者には
明らかなように、本発明は任意の数のメソッドを含むオ
ブジェクトに等しく適用できる。図3には、開始アド
レス及び終了アドレス、並びにサーバ・メソッド26
5、270、275、及び280の各々の長さも示され
ている。例えば、サーバ・オブジェクト265の開始ア
ドレス266は#2345678901234560で
あり、終了アドレス268は#23456701234
57Fであり、長さ267は32バイト(B)である。
「#」記号と共に本明細書において示されるすべての値
が基数16(即ち、16進数)であることに留意して欲
しい。
【0026】C.「メソッドAがサーバ・オブジェクト
265内のカプセル化されたデータをアクセスする」 この詳細な例のために、クライアント・オブジェクト2
60は、サーバ・オブジェクト265のメソッドA(以
後、メソッドA)を呼出してサーバ・オブジェクト26
内のカプセル化されたデータへのアクセスを間接的に
得ることを望んでいるものと仮定する。前述のように、
これは、OEEM110をメソッドAによって呼び出さ
せるであろう。図6に示されるように、OEEM110
は、サーバ・オブジェクト265に対するOID(即
ち、開始アドレス266)を下位レジスタ315にロー
ドするであろう。そこで、OEEM110は長さ267
に対する適切な長さマスクを計算し、メソッドAの読取
り及び書込み許可を確認するであろう。しかる後、OE
EM110は、そのマスク及びそれら許可を上位レジス
タに313にロードするであろう(図6参照)。図18
に示されるように、長さが32バイト(B)であるオブ
ジェクトに対する適切な長さマスクは#FFFFFE0
である。この詳細な例のために、メソッドAは読取り許
可及び書込み許可の両方を有するものと仮定する。当業
者には明らかなように、クライアント・メソッド及びサ
ーバ・メソッドの読取り許可及び書込み許可を決定する
ために使用される特定の手段は本発明にとっては重要で
はない。
【0027】OEEM110は、WSPレジスタ対31
0を適切にロードした後、メソッドAに制御を移す。そ
こで、メソッドAはサーバ・オブジェクト265内の
プセル化されたデータをアクセスしようとするであろ
う。メソッドAがサーバ・オブジェクト265内のカプ
セル化されたデータをアクセスしようとするので、メソ
ッドAによって使用されるアドレスは、#234567
8901234560乃至#234567890123
457Fの範囲内の何処かとなるであろう。従って、オ
フセットと長さマスクとの積(即ち、ANDゲート31
7の出力)は#1234560となるであろう。そのア
ドレスは、セグメントIDと結合された時、#2345
678901234560となるであろう。そこで、こ
の値は、下位レジスタ315に含まれたOIDに、比較
回路319の使用を通して比較される。このケースで
は、それらの値は一致する。それは、比較回路319の
出力(WSPヒット0)が論理的1であることを意味す
る。
【0028】図7を参照すると、WSPヒット0はOR
ゲート350に対する入力になり、そのORゲートを通
してインバータ352及びAND/OR複合ゲート35
4へ送られる。ORゲート350の出力は論理的1であ
るので、それの出力及びAND/OR複合ゲート354
への関連入力は論理的になるであろう。前述のよう
に、PTPVフラッグ353はいつも論理的1になるで
あろう。この場合、WSPヒット0並びにWSP RE
G 0 rビット及びWSP REG 0 wビットはすべ
て論理的1に等しいので、インバータ358及び364
の出力は共に論理的0になるであろう。勿論、これは、
AND/OR複合ゲート354に対する最後の入力が論
理的0になることを意味する。そこで、全体としては、
AND/OR複合ゲート354に対する4つの入力値は
次のようになる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット0=1; AND/OR複合ゲート360出力=0
【0029】AND/OR複合ゲート354に対するこ
れらの入力の結果、AND/OR複合ゲート354から
論理的0の出力が生じる。「高レベル概説」において述
べたように、論理的0の出力は基本記憶保護機構を無効
にし、メソッドAがサーバ・オブジェクト265内の
プセル化されたデータをアクセスするよう進行すること
を許す。
【0030】C.「メソッドAがサーバ・オブジェクト
265の範囲外のデータをアクセスしようとする」 この例のために、何らかの未知の理由(例えば、手違い
又は不正手段)で、メソッドAがサーバ・オブジェクト
265の範囲外のデータをアクセスしようとしたと仮定
する。図8に示されるように、下位レジスタ310及び
位レジスタ313内の値は同じままである。メソッド
Aによって使用されるアドレスは、#23456789
01234560乃至#23456789012345
7Fの範囲外である#234567890123458
0であると仮定する。従って、オフセットと長さマスク
との積(即ち、ANDゲート317の出力)は#123
4580になるであろう。そのアドレスは、セグメント
IDと結合される時、#23456789012345
80になるであろう。そこで、この値は、下位レジスタ
315に含まれたOIDに、比較回路319の使用を通
して比較される。このケースでは、それらの値は一致せ
ず、それは、比較回路319の出力(WSPヒット0)
が論理的0であることを意味する。
【0031】図9に示されるように、サーバ・オブジェ
クト265内のカプセル化されてないデータをアクセス
しようとするメソッドAの試みは、AND/OR複合ゲ
ート354に対する次のような4つの入力値を生じさせ
る。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=1; WSPヒット0=0; AND/OR複合ゲート360出力=1
【0032】AND/OR複合ゲート354に対するこ
れら入力の結果、AND/OR複合ゲート354から論
理的1の出力が生ずる。論理的1の出力は基本記憶保護
機構を無効にしない。従って、メソッドAはサーバ・オ
ブジェクト265の範囲外のデータをアクセスすること
を禁止され、それによって、カプセル化を維持する。記
憶保護例外がOEED110によって取り上げられ、そ
して処理される。AS/400の例外処理方法において
は、このケースでは第1レベル割込みハンドラと考えら
れるOEEM110はプロセス状態を保管し、第2レベ
ル割込みハンドラ(図示されていない)に制御を移す。
第2レベル割込みハンドラは、それがその例外を直接処
理することができるかどうかを決定する。それが否定さ
れる場合、第2レベル割込みハンドラは第3レベル割込
みハンドラに制御を送る。第3レベル割込みハンドラが
その例外を処理できない場合、プロセス(このケースで
は、メソッドA)は終了させられる。以上は好適な例外
処理方法であるけれども、当業者には明らかなように、
本発明の精神及び技術範囲を逸脱することなく他の例外
処理方法が可能である。
【0033】E.「メソッドAがサーバ・オブジェクト
270のメソッドBを呼び出す」 この例を続けると、メソッドAは、サーバ・オブジェク
ト270内のカプセル化されたデータへのアクセスを間
接的に得るために、サーバ・オブジェクト270のメソ
ッドB(以下、メソッドBと呼ぶ)を呼び出すことを望
んでいるものと仮定する。これは、OEEMをメソッド
Bによって呼び出させる。図10に示されるように、O
EEM110は、サーバ・オブジェクト270に対する
OID(即ち、開始アドレス272)を適切な下位レ
スタへロードさせるであろう。しかし、メソッドAに対
するクライアント・メソッド262のオリジナル・コー
ルのため、WSPレジスタ対310は使用中であるの
で、OEEM110は、メソッドAからメソッドBへの
コールのためにWSPレジスタ対320を使用するであ
ろう。この時、OEEM110は長さ273に対する適
切な長さマスクを計算し、メソッドBの読取り許可及び
書込み許可を確認する。そこで、OEEM110は、そ
のマスク及びそれら許可を上位レジスタ323にロード
するであろう(図10参照)。図18に示されるよう
に、長さが256バイト(B)であるオブジェクトに対
する適切な長さマスクは#FFFFF00である。この
詳細な例のために、メソッドBは読取り許可及び書込み
許可の両方を有するものと仮定する。
【0034】OEEM110は、WSPレジスタ対32
5を適切にロードした後、制御をメソッドBに戻す。そ
こで、メソッドBはサーバ・オブジェクト270内の
プセル化されたデータをアクセスしようとする。メソッ
ドBがサーバ・オブジェクト270内のカプセル化され
たデータをアクセスしようとするので、メソッドBによ
り使用されたアドレスは、#0123456789AB
CD00乃至#0123456789ABCDFFの範
囲内の何処かとなるであろう。従って、そのオフセット
と長さマスクとの積(即ち、ANDゲート327の出
力)は#9ABCD00になるであろう。そのアドレス
は、セグメントIDと結合される時、#2345678
9ABCD00になる。そこで、この値は下位レジスタ
315に含まれたOIDに、比較回路319の使用を通
して比較される。このケースでは、それらの値は一致
し、それは、比較回路319の出力(WSPヒット1)
が論理的1であることを意味する。この時点では、メソ
ッドBによって与えられるアドレスがサーバ・オブジェ
クト265のメモリ・スペース内でないためにWSPヒ
ット0が論理的0になることに注意することが重要であ
る。
【0035】図11に示されるように、サーバ・オブジ
ェクト270内のカルセル化されたデータをアクセスし
ようとする試みの結果、AND/OR複合ゲート354
に対する4つの入力は次のようになる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット0=1; AND/OR複合ゲート360出力=0
【0036】前述のように、AND/OR複合ゲート3
54へのこれら入力はAND/OR複合ゲート354か
ら論理的0の出力を生じさせる。論理的0の出力は、基
本記憶保護機構を無効にし、それによって、メソッドB
がサーバ・オブジェクト270内のカプセル化されたデ
ータへのアクセスを進めることを可能にする。この時点
では、メソッドBによって与えられるアドレスがサーバ
・オブジェクト265のメモリ・スペース内でないため
にWSPヒット0が論理的0になることに注意すること
が重要である。しかし、メソッドBがサーバ・オブジェ
クト265のメモリ・スペース内のアドレスを与えた場
合、WSPヒット0は論理的1になったであろうし、そ
れによって、メソッドBがサーバ・オブジェクト270
内のカプセル化されたデータと同様にサーバ・オブジェ
クト265内のカプセル化されたデータをアクセスする
ことを可能にしたであろう。メソッド・プログラムが1
つの明確なメソッド・プログラム・コール又は一連のメ
ソッド・プログラム・コール(即ち、メソッド・プログ
ラムが他のメソッド・プログラムをコールし、他のメソ
ッド・プログラムが更に他のメソッド・プログラムをコ
ールする等々)の一部分として呼び出される限り、その
コールされたメソッド・プログラムは、そのコールを開
始したオブジェクト又はその一連の呼出しの一部分であ
るオブジェクト内のカプセル化されたデータをアクセス
することができる。本発明のこの特徴は、メソッド・プ
ログラム・コールの一部分として参照することによって
送られたデータをメソッド・プログラムがアクセスする
ことを可能にするため重要である。
【0037】F.「メソッドBがサーバ・オブジェクト
275のメソッドCを呼び出す」 この例を続けると、今、メソッドBが、サーバ・オブジ
ェクト275内のカプセル化されたデータへのアクセス
を間接的に得るために、サーバ・オブジェクト270の
メソッドCを呼び出したいものと仮定する。これも、同
様に、OEEM110をメソッドCによって呼び出させ
る。図12に示されるように,OEEM110は、サー
バ・オブジェクト275に対するOID(即ち、開始ア
ドレス276)を適切な下位レジスタにロードするであ
ろう。しかし、WSPレジスタ対310及び320がメ
ソッドA及びメソッドBに対する前のコールのために使
用中であるので、OEEM110は、メソッドBからメ
ソッドCへのコールに対してWSPレジスタ対330を
使用するであろう。この時、OEEM110は長さ27
7に対する適切な長さマスクを計算し、メソッドCの読
取り許可及び書込み許可を確認する。そこで、OEEM
110はそのマスク及び許可を上位レジスタ333にロ
ードするであろう(図12参照)。図18に示されるよ
うに、128バイト(B)の長さのオブジェクトに対す
る適切な長さマスクは#FFFFF80である。この詳
細な例のために、メソッドCは許可を読み取るがそれを
書き込むことはしない。
【0038】WSPレジスタ対330を適切にロードし
た後、OEEM110はメソッドCに制御を戻す。そこ
で、メソッドCは、サーバ・オブジェクト275内の
プセル化されたデータをアクセスしようとするであろ
う。メソッドCがサーバ・オブジェクト275内のカプ
セル化されたデータをアクセスしようとするので、メソ
ッドCによって使用されるアドレスは、#012345
6789ABCE00乃至#0123456789AB
CE7Fの範囲内のどこかになるであろう。従って、そ
のオフセットと長さマークとの積(即ち、ANDゲート
337の出力)は#9ABCE00となるであろう。そ
のアドレスは、セグメントIDと結合される時、#01
23456789ABCE00になる。そこで、この値
は下位レジスタ335に含まれたOIDに、比較回路3
39の使用を通して比較される。このケースでは、それ
ら値は一致し、それは、比較回路339の出力(WSP
ヒット2)が論理的1であることを意味する。この時点
では、メソッドCによって与えられるアドレスがサーバ
・オブジェクト265又はサーバ・オブジェクト270
のメモリ・スペース内でないためにWSPヒット0及び
WSPヒット1が論理的0になることに注意することが
重要である。
【0039】しかし、メソッドCがサーバ・オブジェク
ト265又はサーバ・オブジェクト270のメモリ・ス
ペース内のアドレスを与えた場合、WSPヒット0又は
WSPヒット1(場合によって)は論理的1になったで
あろうし、それによって、メソッドCがサーバ・オブジ
ェクト275内のカプセル化されたデータと同様にサー
バ・オブジェクト265及びサーバ・オブジェクト27
内のカプセル化されたデータをアクセスすることを可
能にしたであろう。メソッド・プログラムが1つの明確
なメソッド・プログラム・コール又は一連のメソッド・
プログラム・コールの一部分として呼び出される限り、
そのコールされたメソッド・プログラムは、そのコール
を開始したオブジェクト又はその一連の呼出しの一部分
であるオブジェクト内のカプセル化されたデータをアク
セスすることができる。前述のように、本発明のこの特
徴は、メソッド・プログラム・コールの一部分として参
照することによって送られたデータをメソッド・プログ
ラムがアクセスすることを可能にするため重要である。
【0040】次に図13を参照すると、このケースで
は、メソッドCは読取り許可を持っているが書込み許可
を持っていないので、命令デコードフラッグ・ロード
366及びストア368が働き始める。「高レベル概
説」において述べたように、AND/OR複合ゲート3
60の出力はAND/OR複合ゲート356及び362
からの出力を受けるインバータ358及び364から、
並びに命令デコード・フラッグ・ロード366及びスト
ア368から取り出される。命令デコード・フラッグ・
ロード366及びストア368は、メソッドCによって
遂行されるよう求められた特定のオペレーション(即
ち、ロード=読取り及びストア=書込み)を表す。この
例では、メソッドCは読取り許可を持つが書込み許可を
持たない。WSP REG 2 rビットを生じさせると
論理的1になるであろうし、WSP REG 2 wビッ
トを生じさせると論理的0になるであろう。これは、イ
ンバータ358の出力が論理的0になり、インバータ3
64の出力が論理的1になるであろう。従って、ストア
・フラッグ368の値は重要となる。メソッドCがサー
バ・オブジェクト275内のカプセル化されたデータ
(即ち、許可された活動)を読み取ろうとする場合、A
ND/OR複合ゲート354に対する4つの入力値は次
のようになる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット1=1; AND/OR複合ゲート360出力=0
【0041】勿論、前述のように、これらの値はAND
/OR複合ゲート354から論理的0の出力を生じさせ
る。その論理的0の出力は、基本記憶保護機構を無効に
し、それによって、メソッドCがサーバ・オブジェクト
275内のカプセル化されたデータへのアクセスを進め
ることを可能にする。
【0042】しかし、メソッドCがサーバ・オブジェク
ト275によりカプセル化されたデータ(即ち、禁止さ
れた活動)を修正しようとする場合、AND/OR複合
ゲート354に対する4つの入力値は次のようになる。
即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット1=1; AND/OR複合ゲート360出力=1
【0043】AND/OR複合ゲート354へのこれら
入力はAND/OR複合ゲート354から論理的1の出
力を生じさせる。前述のように、論理的1の出力は基本
記憶保護機構を無効にするであろう。従って、メソッド
Cはサーバ・オブジェクト内のカプセル化されたデータ
を修正することを禁止されるであろう。
【0044】G.「メソッドCがサーバ・オブジェクト
280のメソッドDを呼び出す」 この例を続けると、メソッドCは、サーバ・オブジェク
ト280内のカプセル化されたデータへのアクセスを間
接的に得るためにサーバ・オブジェクト280のメソッ
ドD(以下、単にメソッドDと呼ぶ)を呼び出すことを
望むものと仮定する。これは、OEEM110をメソッ
ドDによって呼び出させる。図14に示されるように、
OEEM110は、サーバ・オブジェクト280に対す
るOID(即ち、開始アドレス281)を適切な下位レ
ジスタにロードするであろう。しかし、メソッドA、メ
ソッドB、及びメソッドCに対する前のコールのために
WSPレジスタ対310、320、及び330は使用中
であるので、OEEM110はメソッドCからメソッド
DへのコールのためにWSPレジスタ対340を使用す
るであろう。この時、OEEM110は長さ283に対
する適切な長さマスクを計算し、メソッドDの読取り許
可及び書込み許可を確認する。そこで、OEEM110
は上位レジスタ343にそのマスク及びそれら許可をロ
ードするであろう(図14参照)。図18に示されるよ
うに、長さが8Kバイトのオブジェクトに対する適切な
長さマスクは#FFFE000である。この例のため
に、メソッドDは書込み許可を持つが、読取り許可を持
たないものと仮定する。
【0045】OEEM110は、WSPレジスタ対34
0をロードした後、メソッドDに制御を戻す。そこで、
メソッドDは、サーバ・オブジェクト280内のカプセ
ル化されたデータをアクセスしようとするであろう。メ
ソッドDがサーバ・オブジェクト280内のカプセル化
されたデータをアクセスしようとするので、メソッドD
によって使用されるアドレスは、#234567890
1232000乃至#23456789012333F
FF内のどこかになるであろう。従って、そのオフセッ
ト及び長さマスクの積(即ち、ANDゲート347の出
力)は#1232000になるであろう。そのアドレス
は、セグメントIDと結合される時、#2345678
901232000になる。そこで、この値は下位レ
スタ325に含まれたOIDに、比較回路349の使用
を通して比較される。このケースでは、それら値は一致
し、それは、比較回路349の出力(WSPヒット3)
が論理的1であることを意味する。
【0046】次に、図15を参照する。このケースで
は、メソッドDは書込み許可を持っているが読取り許可
を持っていないので、命令デコード・フラッグ・ロード
366及びストア368が再び作用し始める。この例で
は、メソッドDは書込み許可を有するが読取り許可を持
たず、WSP REG 2 w ビットを論理的1にさせ、
WSP REG 2 r ビットを論理的0にさせる。これ
は、インバータ364の出力が論理的0であること及び
インバータ358の出力が論理的1であることを意味す
る。従って、読取りフラッグ366の値は重要となる。
メソッドDがサーバ・オブジェクト280内のカプセル
化されたデータを修正しようとする(即ち、許可された
アクティビティを行おうとする)場合、AND/OR複
合ゲート354に対する4つの入力値は次のようにな
る。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット1=1; AND/OR複合ゲート360出力=0
【0047】勿論、前述のように、これらの値は基本記
憶保護機構を無効にする論理的0の出力をAND/OR
複合ゲート354から生じさせ、それによって、メソッ
ドDがサーバ・オブジェクト275内のカプセル化され
たデータの修正を進めることを可能にする。
【0048】しかし、メソッドAがサーバ・オブジェク
ト280内のカプセル化されたデータを読取ろうとする
(即ち、禁止されたアクティビティを行おうとする)場
合、AND/OR複合ゲート354に対する4つの入力
値は次のようになる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=0; WSPヒット1=1; AND/OR複合ゲート360出力=1
【0049】AND/OR複合ゲート354へのこれら
入力は、AND/OR複合ゲート354から論理的1の
出力を生じさせる。前述のように、論理的1の出力は基
本記憶保護機構を無効にするものではない。従って、メ
ソッドDは、サーバ・オブジェクト280内のカプセル
化されたデータを読み取ることを禁止されるであろう。
【0050】H.「レジスタ・オーバフロー条件」 前述のように、好適な実施例における4つのWSPレジ
スタ対の使用は設計上の選択である。この時点で、メソ
ッドDが更に別のメソッド、即ち、メソッドE(図示さ
れてない)をコールするものである場合、好適な実施例
のレジスタ管理方法は、WSPレジスタ対310の内容
をデータ記憶装置140に保管させることを必要とする
であろう。そこで、OEEM110はメソッドEに対す
るコールを処理するためにWSPレジスタ対310を使
用するであろう。しかし、当業者には明らかなように、
本発明の精神及び技術範囲内にはたの多くのレジスタ管
理方法が存在する。例えば、オーバフロー状態を処理す
るために特別の動的レジスタが割り振り可能であり、或
いは、コールされたメソッドがそれら4つのレジスタ対
の1つを既に占めてしまったかどうかを決定するように
OEEM110が拡張可能である。
【0051】I.「メソッドDが制御をメソッドCに戻
す」 最後に、メソッドDは制御をメソッドCに戻すものと仮
定し、メソッドCはサーバ・オブジェクト275以外の
サーバ・オブジェクト内のカプセル化されたデータをア
クセスしようとしているものと仮定する。図16は、上
位レジスタがニル・マスクを含んでいる(即ち、そのレ
ジスタは0しか含んでいない)ことを示す。OEEM1
10は、各データ・アクセスの終了時に上位レジスタ
(即ち、このケースでは、上位レジスタ343)にニル
・マスクを配置する。換言すれば、各メソッド・コール
の終了時に、OEEM110はCPU105を通して制
御を再開し、ニル・マスクを特定の上位レジスタにロー
ドし、制御をメソッド・プログラム(即ち、このケース
では、メソッドC)に戻す。勿論、ニル・マスクはWS
Pヒット3を論理的0にさせる。この時点で、メソッド
Cは、OEEM110を通してメソッドDを最初に呼び
出さずにサーバ・オブジェクト280内のカプセル化さ
れたデータをアクセスしようとするものと仮定する。図
17に示されるように、このアクセスは許可されないで
あろう。WSPヒット0、WSPヒット1、WSPヒッ
ト2、及びWSPヒット3がすべて論理的0に等しいと
いうことは、インバータ353の出力が論理的1になる
ことを意味する。そこで、AND/OR複合ゲート35
4に対する4つの入力値は次のようになる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=1; WSPヒット1=0; AND/OR複合ゲート360出力=1
【0052】論理的1の出力は基本記憶保護機構を無効
にしない。従って、メソッドCはサーバ・オブジェクト
280内のカプセル化されたデータをアクセスすること
を禁止されるであろう。
【0053】
【発明の効果】本発明によって、オブジェクト・データ
に対するアクセスを、当該オブジェクトのメソッドのみ
に制限することが可能になる。
【図面の簡単な説明】
【図1】好適な実施例のコンピュータ・システムを示
す。
【図2】本発明のオブジェクト・カプセル化強制マネー
ジャの流れ図を示す。
【図3】好適な実施例に従っ例示オブジェクトを示
す。
【図4】本発明のウインドウ記憶保護コントローラの概
略図を示す。
【図5】本発明のウインドウ記憶保護コントローラの概
略図を示す。
【図6】本発明のウインドウ記憶保護コントローラの概
略図を示す。
【図7】本発明のウインドウ記憶保護コントローラの概
略図を示す。
【図8】本発明のウインドウ記憶保護コントローラの概
略図を示す。
【図9】本発明のウインドウ記憶保護コントローラの概
略図を示す。
【図10】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図11】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図12】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図13】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図14】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図15】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図16】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図17】本発明のウインドウ記憶保護コントローラの
概略図を示す。
【図18】種々な長さのオブジェクトに対する適切な長
さバイトを示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スティーブン・レスター・ハルター アメリカ合衆国ミネソタ州、ロチェスタ ー、シックスス・ストリート・エス・ダ ブリュ 523 (72)発明者 スティーブン・ジェイ・ムンロー アメリカ合衆国ミネソタ州、ロチェスタ ー、サーティ・サード・ストリート・エ ヌ・ダブリュ 1320 (72)発明者 エリック・エドワード・ヴォルデイル アメリカ合衆国ミネソタ州、ロチェスタ ー、セカンド・ストリート・エヌ・ダブ リュ、4321 (72)発明者 シン・クー アメリカ合衆国ミネソタ州、ロチェスタ ー、バイリィ・サミット・ドライブ・エ ス・ダブリュ 2127 (56)参考文献 特開 平6−236300(JP,A) 特公 昭49−33423(JP,B1) (58)調査した分野(Int.Cl.7,DB名) G06F 12/14 G06F 9/06 G06F 9/44

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】コンピュータ・システムに記憶された第1
    オブジェクトと、 前記第1オブジェクトと関連した第1オブジェクト・デ
    ータ及び少なくとも1つの第1メソッド・プログラム
    と、オブジェクト・カプセル化強制マネージャ及びウインド
    ウ記憶保護コントローラを含む記 憶保護機構とを備え、 前記記憶保護機構が、前 記第1オブジェクト・データへ
    のアクセスを第1の許可されたメソッド・プログラムの
    みに制限することによって前記第1オブジェクトのカプ
    セル化を強制し、 記第1の許可されたメソッド・プログラムが、少なく
    とも1つのメソッド・プログラムを含む組のメソッド
    ・プログラムであり、 前記第1メソッド・プログラムが、前記第1の許可され
    たメソッド・プログラムに含まれ、 前記第1の許可されたメソッド・プログラムが、一連の
    メソッド・プログラム・コールと関連した第2メソッド
    ・プログラムを含み、 前記一連のメソッド・プログラム・コールが、少なくと
    も前記第1メソッド・プログラム及び前記第2メソッド
    ・プログラムを含み、 前記第2メソッド・プログラムが、第2オブジェクトと
    関連し、前記第2オブジェクトと関連した第2オブジェ
    クト・データをアクセスすることを許され、第2の許可
    されたメソッド・プログラムの1つであり、 前記第2の許可されたメソッド・プログラムが、少なく
    とも1つのメソッド・プログラムを含む1組のメソッド
    ・プログラムであり、 前記第1の許可されたメソッド・プログラムが、前記第
    1オブジェクト・データ以外のデータをアクセスするこ
    とを許されず、 前記第2の許可されたメソッド・プログラムが、前記第
    1オブジェクト・データ及び前記第2オブジェクト・デ
    ータ以外のデータをアクセスすることを許され ず、 前記第1の許可されたメソッド・プログラム及び前記第
    2の許可されたメソッド・プログラムが、それぞれと関
    連したアクセス許可に基づいてアクセスを制限さ れるこ
    とを特徴とするデータ保護装置。
  2. 【請求項2】前記オブジェクト・カプセル化強制マネー
    ジャが、前記第1の許可されたメソッド・プログラム及
    び前記第2の許可されたメソッド・プログラムに対する
    第1アクセス・ウインドウをオープンするための手段を
    み、 前記第1アクセス・ウインドウが、データ記憶装置内の
    ロケーション及びサイズにおいて前記第1オブジェクト
    に対応した第1アドレス範囲であることを特徴とする請
    求項1記載のデータ保護装置。
  3. 【請求項3】前記オブジェクト・カプセル化強制マネー
    ジャが、前記第2の許可されたメソッド・プログラムに
    対する第2アクセス・ウインドウをオープンするための
    手段を含み、 前記第2アクセス・ウインドウが、前記データ記憶装置
    内のロケーション及びサイズにおいて前記第2オブジェ
    クトに対応した第2アドレス範囲であることを特徴とす
    る請求項2記載のデータ保護装置。
  4. 【請求項4】前記ウインドウ記憶保護コントローラが、
    位レジスタ及び上位レジスタより成る少なくとも1つ
    のウインドウ記憶保護レジスタ対を含むことを特徴とす
    る請求項3記載のデータ保護装置。
  5. 【請求項5】前記オブジェクト・カプセル化強制マネー
    ジャが、前記下位レジスタにオブジェクトIDをロード
    するための手段及び前記上位レジスタに組合せマスクを
    ロードするための手段を含み、 前記オブジェクトIDが、前記第1オブジェクトの開始
    アドレスであり、 前記組合せマスクが、前記第1オブジェクトの長さの
    表示と結合されたアクセス許可であることを特徴とす
    る請求項4記載のデータ保護装置。
  6. 【請求項6】中央処理装置と、 データ記憶装置と、 少なくとも1つのシステム・バスと、 前記データ記憶装置に記憶された第1オブジェクトと、 前記第1オブジェクトと関連した少なくとも1つの第1
    メソッド・プログラムと、オブジェクト・カプセル化強制マネージャ及びウインド
    ウ記憶保護コントローラを含む記 憶保護機構とを備え、 前記記憶保護機構が、前 記第1オブジェクト・データへ
    のアクセスを第1の許可されたメソッド・プログラムの
    みに制限することによって前記第1オブジェクトのカプ
    セル化を強制し、 記第1の許可されたメソッド・プログラムが、少なく
    とも1つのメソッド・プログラムを含む組のメソッド
    ・プログラムであり、 前記第1メソッド・プログラムが、前記第1の許可され
    たメソッド・プログラムに含まれ、 前記第1の許可されたメソッド・プログラムが、一連の
    メソッド・プログラム・コールと関連した第2メソッド
    ・プログラムを含み、 前記一連のメソッド・プログラム・コールが、少なくと
    も前記第1メソッド・プログラム及び前記第2メソッド
    ・プログラムを含み、 前記第2メソッド・プログラムが、第2オブジェクトと
    関連し、前記第2オブジェクトと関連した第2オブジェ
    クト・データをアクセスすることを許され、第2の許可
    されたメソッド・プログラムの1つであり、 前記第2の許可されたメソッド・プログラムが、少なく
    とも1つのメソッド・プログラムを含む1組のメソッド
    ・プログラムであり、 前記第1の許可されたメソッド・プログラムが、前記第
    1オブジェクト・データ以外のデータをアクセスするこ
    とを許されず、 前記第2の許可されたメソッド・プログラムが、前記第
    1オブジェクト・データ及び前記第2オブジェクト・デ
    ータ以外のデータをアクセスすることを許されず、 前記第1の許可されたメソッド・プログラム及び前記第
    2の許可されたメソッド・プログラムが、それぞれと関
    連したアクセス許可に基づいてアクセスを制限さ れるこ
    とを特徴とするコンピュータ・システム。
  7. 【請求項7】前記オブジェクト・カプセル化強制マネー
    ジャが、前記第1の許可されたメソッド・プログラム及
    び前記第2の許可されたメソッド・プログラムに対する
    第1アクセス・ウインドウをオープンするための手段を
    み、 前記第1アクセス・ウインドウが、前記データ記憶装置
    内のロケーション及びサイズにおいて前記第1オブジェ
    クトに対応した第1アドレス範囲であることを特徴とす
    る請求項6記載のコンピュータ・システム。
  8. 【請求項8】前記オブジェクト・カプセル化強制マネー
    ジャが、前記第2の許可されたメソッド・プログラムに
    対する第2アクセス・ウインドウをオープンするための
    手段を含み、 前記第2アクセス・ウインドウが、前記データ記憶装置
    内のロケーション及びサイズにおいて前記第2オブジェ
    クトに対応した第2アドレス範囲であることを特徴とす
    る請求項7記載のコンピュータ・システム。
  9. 【請求項9】前記ウインドウ記憶保護コントローラが、
    位レジスタ及び上位レジスタより成る少なくとも1つ
    のウインドウ記憶保護レジスタ対を含むことを特徴とす
    る請求項8記載のコンピュータ・システム。
  10. 【請求項10】前記オブジェクト・カプセル化強制マネ
    ージャが、前記下位レジスタにオブジェクトIDをロー
    ドするための手段及び前記上位レジスタに組合せマスク
    をロードするための手段を含み、 前記オブジェクトIDが、前記第1オブジェクトの開始
    アドレスであり、 前記組合せマスクが、前記第1オブジェクトの長さの
    表示と結合されたアクセス許可であることを特徴とす
    る請求項9記載のコンピュータ・システム。
JP07280705A 1994-11-09 1995-10-27 データ保護装置及びコンピュータ・システム Expired - Lifetime JP3072706B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US336581 1994-11-09
US08/336,581 US5742826A (en) 1994-11-09 1994-11-09 Object encapsulation protection apparatus

Publications (2)

Publication Number Publication Date
JPH08212139A JPH08212139A (ja) 1996-08-20
JP3072706B2 true JP3072706B2 (ja) 2000-08-07

Family

ID=23316736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07280705A Expired - Lifetime JP3072706B2 (ja) 1994-11-09 1995-10-27 データ保護装置及びコンピュータ・システム

Country Status (2)

Country Link
US (2) US5742826A (ja)
JP (1) JP3072706B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253251B1 (en) * 1996-01-03 2001-06-26 International Business Machines Corp. Information handling system, method, and article of manufacture including integration of object security service authorization with a distributed computing environment
GB2325061B (en) * 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
US6493816B1 (en) * 1998-03-30 2002-12-10 International Business Machines Corporation Method and apparatus for encapsulating address translation for shared persistent virtual storage
US6832257B1 (en) 1998-12-07 2004-12-14 Sony Corporation Computer, recorded medium on which address validity checking program is recorded, and address validity checking method
US6370436B1 (en) 1999-03-26 2002-04-09 Emware, Inc. Distributed objects for a computer system
US7620201B2 (en) * 2004-12-21 2009-11-17 Pitney Bowes Inc. System and method for mailing services including notification to recipient of items requiring time sensitive actions
US8010543B1 (en) * 2007-05-25 2011-08-30 Emc Corporation Protecting a file system on an object addressable storage system
US20090007068A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Accessing Non-Public Code
CN103988173B (zh) * 2011-11-25 2017-04-05 英特尔公司 用于提供掩码寄存器与通用寄存器或存储器之间的转换的指令和逻辑

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4407016A (en) * 1981-02-18 1983-09-27 Intel Corporation Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
FR2630838A2 (fr) * 1987-07-15 1989-11-03 Centre Nat Rech Scient Unite de gestion d'acces en memoire, a identifiants logiques invariants, notamment pour la gestion de bases de donnees, et procede de gestion d'acces correspondant
CA1337132C (en) * 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
JPH02165223A (ja) * 1988-12-20 1990-06-26 Fujitsu Ltd オブジェクト指向風マンマシンインタフェース実現方式
CN1059981A (zh) * 1988-12-30 1992-04-01 惠普公司 为容纳进一对象管理设备环境的应用程序的封装
US5129084A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Object container transfer system and method in an object based computer operating system
US5202981A (en) * 1989-10-23 1993-04-13 International Business Machines Corporation Process and apparatus for manipulating a boundless data stream in an object oriented programming system
JPH03209526A (ja) * 1989-10-23 1991-09-12 Internatl Business Mach Corp <Ibm> オブジェクト指向コンピュータシステム
US5195178A (en) * 1990-04-27 1993-03-16 Bachman Information Systems, Inc. Adaptive window system for dynamically modeling information systems
US5212771A (en) * 1990-04-27 1993-05-18 Bachman Information Systems, Inc. System for establishing concurrent high level and low level processes in a diagram window through process explosion and implosion subsystems
US5193183A (en) * 1990-04-27 1993-03-09 Bachman Information Systems, Inc. System for accessing design data of modeler subsystems by reference to partnership set and for dynamically correlating design data of modeler subsystems
JP3489123B2 (ja) * 1992-04-15 2004-01-19 株式会社日立製作所 アプリケーション結合方法
US5396614A (en) * 1992-06-25 1995-03-07 Sun Microsystems, Inc. Method and apparatus for a secure protocol for virtual memory managers that use memory objects
US5404525A (en) * 1992-09-30 1995-04-04 International Business Machines Corporation Efficient method router that supports multiple simultaneous object versions
JP2711216B2 (ja) * 1993-01-26 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトを管理するためのシステム及び方法

Also Published As

Publication number Publication date
US5742826A (en) 1998-04-21
JPH08212139A (ja) 1996-08-20
US6549953B1 (en) 2003-04-15

Similar Documents

Publication Publication Date Title
JP4846660B2 (ja) システム管理割り込みを再命令し、仮想マシンコンテナを生成することによる、信頼性のないシステム管理コードに対する保護方法
US7631160B2 (en) Method and apparatus for securing portions of memory
KR940003325B1 (ko) 가상 입력/출력 지령의 변환장치 및 방법
JP2727520B2 (ja) メモリカード及びその作動方法
JPH0738160B2 (ja) 機密保護方法
JP2009516310A (ja) メモリページをプログラムに対応付けるページカラーリング
US20210089684A1 (en) Controlled access to data stored in a secure partition
GB2440968A (en) Protecting system control registers in a data processing apparatus
US20040243783A1 (en) Method and apparatus for multi-mode operation in a semiconductor circuit
US11714647B2 (en) Resource allocation in a multi-processor system
JP3072706B2 (ja) データ保護装置及びコンピュータ・システム
WO2008030727A2 (en) Access control of memory space in microprocessor systems
EP0230350B1 (en) Protection of data in a multiprogramming data processing system
US5802397A (en) System for storage protection from unintended I/O access using I/O protection key by providing no control by I/O key entries over access by CP entity
JP4478458B2 (ja) 所望のセキュリティを用いた入出力デバイスにアクセスするための方法及び装置
US20180196956A1 (en) Security architecture and method
CN117272412B (zh) 中断控制寄存器保护方法、装置、计算机设备及存储介质
US20230185904A1 (en) Method and system for freedom from interference (ffi)
US20240078129A1 (en) Execution of bios components with virtual machines
CN114266038A (zh) 基于软件沙盒的安全隔离方法、存储介质、设备及装置
CN113986715A (zh) 一种处理器的调试方法、系统、系统级芯片
CN116167102A (zh) 用于管理片上系统中的存储器的方法
KR19990072560A (ko) 메모리보호방법및장치
JPS6228854A (ja) メモリプロテクト方式
Macewen et al. Quikdos: An Experimental Kernel-Based Operating System