JPH08212139A - データ保護装置及び方法 - Google Patents

データ保護装置及び方法

Info

Publication number
JPH08212139A
JPH08212139A JP7280705A JP28070595A JPH08212139A JP H08212139 A JPH08212139 A JP H08212139A JP 7280705 A JP7280705 A JP 7280705A JP 28070595 A JP28070595 A JP 28070595A JP H08212139 A JPH08212139 A JP H08212139A
Authority
JP
Japan
Prior art keywords
data
method program
access
program
authorized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7280705A
Other languages
English (en)
Other versions
JP3072706B2 (ja
Inventor
John C Endicott
ジョン・クラレンス・エンディコット
Lester Halter Steven
スティーブン・レスター・ハルター
J Munrow Steven
スティーブン・ジェイ・ムンロー
Erik E Voldal
エリック・エドワード・ヴォルデイル
Kuu Shin
シン・クー
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】オブジェクト・データへのアクセスをそのオブ
ジェクトのメソッドのみ制限する拡張機構を提供する。 【解決の手段】本発明は、ハードウエアのウインドウ記
憶保護コントローラ(WSPC)155およびオブジェ
クトカプセル化強制マネージャ(OEEM)110を利
用して、オブジェクト・データへのアクセスを、そのオ
ブジェクトによりカプセル化されるメソッドのみに制限
する。保護を必要とするコンピュータ・システムのオブ
ジェクトはすべて基本記憶保護機構によって保護記憶装
置に記憶され、本発明の機構はそのオブジェクトにより
カプセル化されたデータへのアクセスを否認又は容認す
ることができる。

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)を利用する。本発明の機構だけがオブジェクトによ
ってカプセル化されたデータへのアクセスを否認したり
或いは容認したりできるように、保護を必要とするコン
ピュータ・システムのオブジェクトすべてが基本記憶保
護機構によって保護記憶装置に記憶される。殆どの部分
に対して、各オブジェクトに対するオブジェクト識別子
を、他のすべてのオブジェクトは知っている。それらオ
ブジェクト識別子は、本質的には、記憶装置におけるオ
ブジェクトのアドレスである。クライアント・メソッド
がOEEMと最初に対話することなく他のオブジェクト
のデータへのアクセスを(即ち、多分、他のオブジェク
ト識別子を介して)得ようとする場合、そのアクセスは
基本記憶保護機構によって否認されるであろう。
【0012】1つのオブジェクトのメソッド(即ち、ク
ライアント)が第2のオブジェクトにおけるカプセル化
されたデータをアクセス又は操作したい時、それはオブ
ジェクト識別子(オブジェクトID又はOIDとしても
示される)をOEEMに供給する。そこでOEEMはオ
ブジェクト識別子、オブジェクトの長さ、及びクライア
ントのアクセス許可(例えば、読取り許可及び書込み許
可)を取り、それらをWSPC内の特別なレジスタにロ
ードする。(本発明はオブジェクトのアドレス範囲を描
写するためにオブジェクト識別子及びオブジェクト長を
利用するけれども、汎用性を失うことなく他の機構が使
用可能であることは、当業者には明らかであろう)。そ
こで、OEEMはコールされたオブジェクトの適切なメ
ソッドを呼び出す。このメソッドがコールされたオブジ
ェクトにおけるカプセル化されたデータをアクセスしよ
うとする場合、WSPCは、アクセスされるべきデータ
がオブジェクト識別子により識別されたオブジェクトに
よって実際にカプセル化されること及びアクセスのタイ
プ(即ち、読取り及び書込み)が特定のクライアントに
対する許可された活動であることを検証する。
【0013】リクエストされたアクセスが、そのコール
されたオブジェクトによって実際にカプセル化されたデ
ータに対して行われ、そのアクセスのタイプが、この特
定のクライアントに対する許可された活動である場合、
WCPCは基本記憶保護機構を無効にし、そのリクエス
トされたアクセスが進行するのを可能にする。しかし、
リクエストされたアクセスが、そのコールされたオブジ
ェクトによってカプセル化されてないデータに対して行
われる場合、又はリクエストされたアクセスのタイプ
が、この特定のクライアントに対して許可されてない活
動である場合、WSPCは、基本記憶保護機構がそのリ
クエストされたアクセスを否認することを可能にする。
【0014】
【発明の実施の形態】図1は、本発明のコンピュータ・
システムのブロック図を示す。その好適な実施例のコン
ピュータ・システムは、拡張IBM AS/400中型
コンピュータ・システムである。しかし、当業者には明
らかなように、本発明の機構及び装置は、コンピュータ
・システムが複雑なマルチ・ユーザ計算装置であるかど
うか関係なく、或いは、テレビジョン又はオーブン電子
レンジのような個人使用の電子機器において見られる組
込み型のプロセッサであるかどうかに関係なく、すべて
のコンピュータ・システムに等しく適用する。図1に示
されるように、コンピュータ・システム100は、シス
テム・バス150を介してデータ記憶装置140及び端
末インターフェース145に接続されたメイン処理装置
又は中央処理装置(CPU)105を含む。CPU10
5は、更に、ウインドウ記憶保護コントローラ(WSP
C)155を含むように示される。WSPC155は本
発明によって使用される機構の1つであり、オブジェク
トにおいてカプセル化されたデータをアクセス又は操作
するように働く特殊なメソッドのみにオブジェクト・デ
ータへのアクセスを制限する。端末インターフェース1
45は、システム管理責任者及びコンピュータ・プログ
ラマが、通常は、プログラム可能なワークステーション
を介してコンピュータ・システム100と通信すること
を可能にする。図1に示されたシステムは単一のメイン
CPU及び単一のシステム・バスしか持たないけれど
も、多数のメイン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)。前述のように、クライアント・メ
ソッドはユーザ・メカニズムであり、それだけでは、W
SPC155のレジスタに対するアクセスを持たない。
図4はWSPC155のフロント・エンド回路の概略図
である。図示のように、好適な実施例は、WSPC15
5が4つのウインドウ記憶保護レジスタ対(即ち、ウイ
ンドウ記憶保護レジスタ対310、320、330、及
び340)を含むことを必要とする。4つのウインドウ
記憶保護レジスタ対の選択は設計上の選択である。本願
明細書を読む場合、当業者には明らかなように、本発明
の精神及び技術範囲内で他の変更が可能である。各ウイ
ンドウ保護対は、更に、下位桁レジスタ(即ち、下位桁
レジスタ315、325、335、及び345)及び上
位桁レジスタ(即ち、上位桁レジスタ313、323、
333、及び343)を含む。この「高レベル概説」の
ために、前述の「適切な」レジスタはウインドウ記憶保
護レジスタ対310である。従って、OEEM110に
よって使用される下位桁レジスタは下位桁レジスタ31
5となろう。
【0019】図2を再び参照すると、OEEM110
は、次に、組合せマスクを計算し、クライアント・メソ
ッドのリクエストを処理するサーバ・メソッドのアクセ
ス許可を確認する(ブロック215)。組合せマスクは
OIDにより識別されたオブジェクトの長さを表し、ア
クセス許可は、サーバ・メソッドが遂行を許されたオペ
レーション(例えば、読取り又は書込み)を定義する。
クライアント・メソッドのアクセス許可及びコールされ
たオブジェクトの長さを決定するために選択された特定
の手段は本発明にとって重要ではない。そこで、OEE
M110は組合せマスクをWSPC155の上位桁レジ
スタ(即ち、このケースでは、図4の上位桁レジスタ3
13)にロードする(ブロック220)。ブロック22
5において、OEEM110は適切なサーバ・メソッド
を選択し、それを呼び出す。一旦、制御がサーバ・メソ
ッドに送られると、そのサーバ・メソッドは、OIDに
よって識別されたオブジェクトにおけるカプセル化され
たデータをアクセスしようとする。これは、その試みら
れたアクセスと関連したメモリ・アドレス(データ記憶
装置140におけるアドレス)をWSPC155へ供給
させる(図4における300参照)。
【0020】これは供給されたアドレスのオフセット部
分と長さマスクとの積(ANDゲート317)をそのア
ドレスのセグメントID部分と結合させる。(AS/4
00アドレシング・ストラクチャはセグメント化アドレ
シングを使用してアドレス変換コストを小さくしている
けれども、当業者には明らかなように、セグメント化さ
れてないグローバル反転ページ・テーブル或いは2又は
3レベル仮想インデックス・ページ・テーブルのような
他のアドレシング技法が本発明の精神及び技術範囲から
逸脱することなく使用可能である)。そこで、この値は
下位桁レジスタ315に予めロードされたOIDと比較
される(即ち、比較回路319によって)。その供給さ
れたアドレスがそのOIDにより識別されたオブジェク
トが占めるメモリ・スペース(即ち、OID+オブジェ
クトの長さ)内にある場合、WSPヒット0として示さ
れた比較回路319の出力は論理的1である。供給され
たアドレスがOIDにより識別されたオブジェクトが占
めるメモリ・スペース内にない場合、比較回路319の
出力は論理的0である。この「高レベル概説」のため
に、WSPヒット0は論理的1に等しいものと仮定す
る。
【0021】図5はWSPC155のバック・エンド回
路の概略図である。WSPヒット0はORゲート350
に対する入力となり、それを介してインバータ352及
びAND/OR複合ゲート354に送られる。ORゲー
ト350の出力は論理的1であるので、それの出力及び
AND/OR複合ゲート354に対する関連の入力は論
理的0になるであろう。ページ・テーブル保護違反(P
TPV)フラッグ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に対する入力(それぞれ、WS
P REG 0 rビット及びWSP REG 0 wビット
として示される)でもある。この高レベル概説のため
に、サーバ・メソッドは読取り保護及び書込み保護の両
方を与えられているものと仮定する。従って、WSP
REG 0 rビット及びWSP REG 0 wビットは
共に論理的1の値を有するであろう。命令デコード・フ
ラッグ・ロード366及びストア368はクライアント
・メソッドによって遂行されることを求められている特
定のオペレーション(即ち、ロード=読取り、ストア=
書込み)を表す。この例では、クライアント・オブジェ
クトは読取り許可及び書込み許可の両方を持っているの
で、命令デコード・フラッグの値は無関係である(即
ち、それらフラッグの値は「無関心(DON'T CA
RE)」である。しかし、サーバ・メソッドが読取り許
可なしに読み取ろうとする時、又は書込み許可なしに書
き込もうとする時、それらの値は重要になる。
【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
【00024】AND/OR複合ゲート354へのこれ
ら入力はAND/OR複合ゲート354から論理的0の
出力を生じさせる。論理的0の出力は本質的には基本記
憶保護機構(即ち、PTPVフラッグ353として識別
される状態)を無効にする。それは、OIDによって識
別されたオブジェクトにおけるカプセル化されたデータ
をアクセスすることをサーバ・メソッドが許されたこと
を意味する。換言すれば、本発明は、サーバ・メソッド
が「アクセス・ウインドウ」におけるカプセル化された
データに対するアクセスを得ることができるように、O
IDによって識別されたオブジェクトを通してその「ア
クセス・ウインドウ」をオープンする。図2を再び参照
すると、ブロック235において、OEEM110はこ
の結果を知る。サーバ・メソッドがOIDにより識別さ
れたオブジェクトにおけるカプセル化されたデータをア
クセスし終わった後、ブロック245において、サーバ
・メソッドは制御をOEEM110に戻す。ブロック2
50では、OEEM110は、WSPC155を実質的
にディスエーブルするニル(Nill)・マスクを上位
桁レジスタ313にロードする。そこで、OEEM11
0はコールしたクライアント・メソッドに制御及びすべ
ての適切なパラメータを戻す。
【0025】B.「詳細な例」 図3及び図6乃至図18は、オブジェクト・カプセル化
を効率的に強制するために本発明の機構を働かせる方法
の詳細例を与えるために使用される。図3は、5つの例
示オブジェクトを含むデータ記憶装置140の一部分を
示す。例示オブジェクト260、265、270、27
5、及び280の各々はデータ及びメソッドより成る。
クライアント・オブジェクト260はデータ及びクライ
アント・メソッドより成り、一方、サーバ・オブジェク
ト265、270、275、及び280の各々はデータ
及びそれぞれの単一のサーバ・メソッドA、B、C、及
びDより成る。例示オブジェクト260、265、27
0、275、及び280は単一のメソッド・プログラム
しか含まないものとして示されるけれども、当業者には
明らかなように、本発明は任意の数のメソッドを含むオ
ブジェクトに等しく適用する。開始アドレス及び終了ア
ドレス、並びにサーバ・メソッド265、270、27
5、及び280の各々の長さも図3に示される。例え
ば、サーバ・オブジェクト265の開始アドレス266
は#2345678901234560であり、終了ア
ドレス268は#2345670123457Fであ
り、長さ267は32バイト(B)である。「#」記号
と共に本願において示されるすべての値が基数16(即
ち、16進数)であるとみなすべきであることに留意し
て欲しい。
【0026】C.「メソッドAがサーバ・オブジェクト
265におけるカプセル化されたデータをアクセスす
る」 この詳細な例のために、クライアント・オブジェクト2
60は、サーバ・オブジェクト265のメソッドA(以
後、メソッドA)を呼出してサーバ・オブジェクト26
5におけるカプセル化されたデータへのアクセスを間接
的に得ることを望んでいるものと仮定する。前述のよう
に、これは、OEEM110をメソッドAによって呼び
出させるであろう。図6に示されるように、OEEM1
10は、サーバ・オブジェクト265に対するOID
(即ち、開始アドレス266)を下位桁レジスタ315
にロードするであろう。そこで、OEEM110は長さ
267に対する適切な長さマスクを計算し、メソッドA
の読取り及び書込み許可を確認するであろう。しかる
後、OEEM110は、そのマスク及びそれら許可を上
位桁レジスタに313にロードするであろう(図6参
照)。図18に示されるように、長さが32バイト
(B)であるオブジェクトに対する適切な長さマスクは
#FFFFFE0である。この詳細な例のために、メソ
ッドAは読取り許可及び書込み許可の両方を有するもの
と仮定する。当業者には明らかなように、クライアント
・メソッド及びサーバ・メソッドの読取り許可及び書込
み許可を決定するために使用される特定の手段は本発明
にとっては重要ではない。
【0027】OEEM110は、WSPレジスタ対31
0を適切にロードした後、メソッドAに制御を移す。そ
こで、メソッドAはサーバ・オブジェクト265におけ
るカプセル化されたデータをアクセスしようとするであ
ろう。メソッドAがサーバ・オブジェクト265におけ
るカプセル化されたデータをアクセスしようとするの
で、メソッドAによって使用されるアドレスは、#23
45678901234560乃至#23456789
0123457Fの範囲内の何処かとなるであろう。従
って、オフセットと長さマスクとの積(即ち、ANDゲ
ート317の出力)は#1234560となるであろ
う。そのアドレスは、セグメントIDと結合された時、
#2345678901234560となるであろう。
そこで、この値は、下位桁レジスタ315に含まれたO
IDに、比較回路319の使用を通して比較される。こ
のケースでは、それらの値は一致する。それは、比較回
路319の出力(WSPヒット0)が論理的1であるこ
とを意味する。
【0028】図7を参照すると、WSPヒット0はOR
ゲート350に対する入力になり、そのORゲートを通
してインバータ352及びAND/OR複合ゲート35
4へ送られる。ORゲート350の出力は論理的1であ
るので、それの出力及びAND/OR複合ゲート354
への関連入力は論理的0になるであろう。前述のよう
に、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によって使用されるアドレスは、#2345
678901234560乃至#2345678901
23457Fの範囲外である#23456789012
34580であると仮定する。従って、オフセットと長
さマスクとの積(即ち、ANDゲート317の出力)は
#1234580になるであろう。そのアドレスは、セ
グメントIDと結合される時、#2345678901
234580になるであろう。そこで、この値は、下位
桁レジスタ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に示されるよう
に、OEEM110は、サーバ・オブジェクト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により使用されたアドレスは、#01234567
89ABCD00乃至#0123456789ABCD
FFの範囲内の何処かとなるであろう。従って、そのオ
フセットと長さマスクとの積(即ち、ANDゲート32
7の出力)は#9ABCD00になるであろう。そのア
ドレスは、セグメントIDと結合される時、#2345
6789ABCD00になる。そこで、この値は下位桁
レジスタ315に含まれたOIDに、比較回路319の
使用を通して比較される。このケースでは、それらの値
は一致し、それは、比較回路319の出力(WSPヒッ
ト1)が論理的1であることを意味する。この時点で
は、メソッドBによって与えられるアドレスがサーバ・
オブジェクト265のメモリ・スペース内でないために
WSPヒット0が論理的0になることに注意することが
重要である。
【0035】図11に示されるように、サーバ・オブジ
ェクト270におけるカルセル化されたデータをアクセ
スしようとする試みの結果、AND/OR複合ゲート3
54に対する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におけるカプセル化されたデータへのアク
セスを間接的に得るために、サーバ・オブジェクト27
0のメソッドCを呼び出したいものと仮定する。これ
も、同様に、OEEM110をメソッドCによって呼び
出させる。図12に示されるように,OEEM110
は、サーバ・オブジェクト275に対するOID(即
ち、開始アドレス276)を適切な下位桁レジスタにロ
ードするであろう。しかし、WSPレジスタ対310及
び320がメソッドA及びメソッドBに対する前のコー
ルのために使用中であるので、OEEM110は、メソ
ッドBからメソッドCへのコールに対してWSPレジス
タ対330を使用するであろう。この時、OEEM11
0は長さ277に対する適切な長さマスクを計算し、メ
ソッドCの読取り許可及び書込み許可を確認する。そこ
で、OEEM110はそのマスク及び許可を上位桁レジ
スタ333にロードするであろう(図12参照)。図1
8に示されるように、128バイト(B)の長さのオブ
ジェクトに対する適切な長さマスクは#FFFFF80
である。この詳細な例のために、メソッドCは許可を読
み取るがそれを書き込むことはしない。
【0038】WSPレジスタ対330を適切にロードし
た後、OEEM110はメソッドCに制御を戻す。そこ
で、メソッドCは、サーバ・オブジェクト275におけ
るカプセル化されたデータをアクセスしようとするであ
ろう。メソッドCがサーバ・オブジェクト275におけ
るカプセル化されたデータをアクセスしようとするの
で、メソッドCによって使用されるアドレスは、#01
23456789ABCE00乃至#01234567
89ABCE7Fの範囲内のどこかになるであろう。従
って、そのオフセットと長さマークとの積(即ち、AN
Dゲート337の出力)は#9ABCE00となるであ
ろう。そのアドレスは、セグメントIDと結合される
時、#0123456789ABCE00になる。そこ
で、この値は下位桁レジスタ335に含まれたOID
に、比較回路339の使用を通して比較される。このケ
ースでは、それら値は一致し、それは、比較回路339
の出力(WSPヒット2)が論理的1であることを意味
する。この時点では、メソッドCによって与えられるア
ドレスがサーバ・オブジェクト265又はサーバ・オブ
ジェクト270のメモリ・スペース内でないためにWS
Pヒット0及びWSPヒット1が論理的0になることに
注意することが重要である。
【0039】しかし、メソッドCがサーバ・オブジェク
ト265又はサーバ・オブジェクト270のメモリ・ス
ペース内のアドレスを与えた場合、WSPヒット0又は
WSPヒット1(場合によって)は論理的1になったで
あろうし、それによって、メソッドCがサーバ・オブジ
ェクト275におけるカプセル化されたデータと同様に
サーバ・オブジェクト265及びサーバ・オブジェクト
270におけるカプセル化されたデータをアクセスする
ことを可能にしたであろう。メソッド・プログラムが1
つの明確なメソッド・プログラム・コール又は一連のメ
ソッド・プログラム・コールの一部分として呼び出され
る限り、そのコールされたメソッド・プログラムは、そ
のコールを開始したオブジェクト又はその一連の呼出し
の一部分であるオブジェクトにおけるカプセル化された
データをアクセスすることができる。前述のように、本
発明のこの特徴は、メソッド・プログラム・コールの一
部分として参照することによって送られたデータをメソ
ッド・プログラムがアクセスすることを可能にするため
重要である。
【0040】次に図13を参照すると、このケースで
は、メソッドCは読取り許可を持っているが書込み許可
を持っていないので、命令デコードフラッグ・ロード3
66及びストア368が働き始める。「高レベル概説」
において述べたように、AND/OR複合ゲート360
の出力はAND/OR複合ゲート356及び362から
の出力を受けるインバータ358及び364から、並び
に命令デコード・フラッグ・ロード366及びストア3
68から取り出される。命令デコード・フラッグ・ロー
ド366及びストア368は、メソッドCによって遂行
されるよう求められた特定のオペレーション(即ち、ロ
ード=読取り及びストア=書込み)を表す。この例で
は、メソッドCは読取り許可を持つが書込み許可を持た
ない。WSPREG 2 rビットを生じさせると論理的
1になるであろうし、WSP REG2 wビットを生じ
させると論理的0になるであろう。これは、インバータ
358の出力が論理的0になり、インバータ364の出
力が論理的1になるであろう。従って、ストア・フラッ
グ368の値は重要となる。メソッドCがサーバ・オブ
ジェクト275におけるカプセル化されたデータ(即
ち、許可された活動)を読み取ろうとする場合、AND
/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は長さ23
に対する適切な長さマスクを計算し、メソッドDの読取
り許可及び書込み許可を確認する。そこで、OEEM1
10は上位桁レジスタ343にそのマスク及びそれら許
可をロードするであろう(図14参照)。図18に示さ
れるように、長さが8Kバイトのオブジェクトに対する
適切な長さマスクは#FFFE000である。この例の
ために、メソッドDは書込み許可を持つが、読取り許可
を持たないものと仮定する。
【0045】OEEM110は、WSPレジスタ対34
0をロードした後、メソッドDに制御を戻す。そこで、
メソッドDは、サーバ・オブジェクト280におけるカ
プセル化されたデータをアクセスしようとするであろ
う。メソッドDがサーバ・オブジェクト280における
カプセル化されたデータをアクセスしようとするので、
メソッドDによって使用されるアドレスは、#2345
678901232000乃至#2345678901
2333FFFにおけるどこかになるであろう。従っ
て、そのオフセット及び長さマスクの積(即ち、AND
ゲート347の出力)は#1232000になるであろ
う。そのアドレスは、セグメントIDと結合される時、
#2345678901232000になる。そこで、
この値は下位桁レジスタ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がサーバ・オブジェクト354におけるカプ
セル化されたデータを修正しようとする場合、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しか含んでいない)ことを示す。
OEEM110は、各データ・アクセスの終了時に上位
桁レジスタ(即ち、このケースでは、上位桁レジスタ3
43)にニル・マスクを配置する。換言すれば、各メソ
ッド・コールの終了時に、OEEM110はCPU10
5を通して制御を再開し、ニル・マスクを特定の上位桁
レジスタにロードし、制御をメソッド・プログラム(即
ち、このケースでは、メソッドC)に戻す。勿論、ニル
・マスクはWSPヒット3を論理的0にさせる。この時
点で、メソッドCは、OEEM110を通してメソッド
Dを最初に呼び出さずにサーバ・オブジェクト280に
おけるカプセル化されたデータをアクセスしようとする
ものと仮定する。図17に示されるように、このアクセ
スは許可されないであろう。WSPヒット0、WSPヒ
ット1、WSPヒット2、及びWSPヒット3がすべて
論理的0に等しいということは、インバータ353の出
力が論理的1になることを意味する。そこで、AND/
OR複合ゲート354に対する4つの入力値は次のよう
になる。即ち、 PTPVフラッグ353=論理的1; インバータ352出力=1; WSPヒット1=0; AND/OR複合ゲート360出力=1
【0052】論理的1の出力は基本記憶保護機構を無効
にしない。従って、メソッドCはサーバ・オブジェクト
280におけるカプセル化されたデータをアクセスする
ことを禁止されるであろう。
【0053】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0054】(1)少なくとも1つのマルチドロップ・
バスと、ランダム・アクセス記憶装置及び磁気記憶装置
を含み、前記マルチドロップ・バスに接続されたデータ
記憶装置と、前記マルチドロップ・バスに接続されたウ
インドウ記憶保護コントローラと、を含むデータ保護装
置にして、前記ウインドウ記憶保護コントローラは、前
記データ記憶装置に記憶されたオブジェクトの開始アド
レスであるオブジェクトIDを含んだ下位桁レジスタ
と、前記オブジェクトの長さのバイナリ表示と結合され
たアクセス許可である組合せマスクを含んだ上位桁レジ
スタとを含む少なくとも1つのウインドウ記憶保護レジ
スタ対と、アクセスがリクエストされた前記データ記憶
装置内のメモリ・ロケーションのアドレスを供給アドレ
スとして受け付けるためのアドレス入力手段と、前記ア
クセスの時に遂行されるべきオペレーションを受け付け
るための命令入力手段と、前記供給アドレス及び前記組
合せマスクの積と前記オブジェクトIDとを比較し、前
記供給アドレスが前記オブジェクトに対応したメモリ範
囲内にある時、第1出力を発生し、前記供給アドレスが
前記オブジェクトに対応したメモリ範囲内にない時、第
2出力を発生するための比較器と、前記比較器が前記第
2出力を発生する時、記憶保護違反の表示を発生するた
めの記憶保護機構と、を含むことを特徴とするデータ保
護装置。 (2)コンピュータ・システムに記憶された第1オブジ
ェクトと、前記第1オブジェクトと関連した第1オブジ
ェクト・データ及び少なくとも1つの第1メソッド・プ
ログラムと、前記第1オブジェクトのカプセル化を強制
し、前記第1オブジェクト・データへのアクセスを第1
の許可されたメソッド・プログラムのみに制限すること
によってカプセル化を強制する記憶保護機構と、を含
み、前記第1の許可されたメソッド・プログラムは少な
くとも1つのメソッド・プログラムを含む一組のメソッ
ド・プログラムであること、及び前記第1メソッド・プ
ログラムは前記第1の許可されたメソッド・プログラム
に含まれることを特徴とするデータ保護装置。 (3)前記第1の許可されたメソッド・プログラムは一
連のメソッド・プログラム・コールと関連した第2メソ
ッド・プログラムを含むこと、前記一連のメソッド・プ
ログラム・コールは少なくとも前記第1メソッド・プロ
グラム及び前記第2メソッド・プログラムを関連するこ
とを特徴とする上記(2)に記載のデータ保護装置。 (4)前記第2メソッド・プログラムは第2オブジェク
トと関連し、前記第2オブジェクトと関連した第2オブ
ジェクト・データをアクセスすることを許され、第2の
許可されたメソッド・プログラムの1つであること、及
び前記第2の許可されたメソッド・プログラムは少なく
とも1つのメソッド・プログラムを含む一組のメソッド
・プログラムであることを特徴とする上記(3)に記載
のデータ保護装置。 (5)前記第1の許可されたメソッド・プログラムは前
記第1オブジェクト・データ以外のデータをアクセスす
ることを許されないこと、及び前記第2の許可されたメ
ソッド・プログラムは前記第1オブジェクト・データ及
び前記第2オブジェクト・データ以外のデータをアクセ
スすることを許されないこと、を特徴とする上記(4)
に記載のデータ保護装置。 (6)前記記憶保護機構は前記第1の許可されたメソッ
ド・プログラム及び前記第2の許可されたメソッド・プ
ログラムと関連したアクセス許可に基づいてアクセスを
制限することを特徴とする上記(5)に記載のデータ保
護装置。 (7)オブジェクト・カプセル化強制マネージャ及びウ
インドウ記憶保護コントローラを含むことを特徴とする
上記(6)に記載のデータ保護装置。 (8)前記オブジェクト・カプセル化強制マネージャは
前記第1の許可されたメソッド・プログラム及び前記第
2の許可されたメソッド・プログラムに対する第1アク
セス・ウインドウをオープンするための手段を含むこ
と、及び前記第1アクセス・ウインドウはデータ記憶装
置内のロケーション及びサイズにおいて前記第1オブジ
ェクトに対応した第1アドレス範囲であることを特徴と
する上記(7)に記載のデータ保護装置。 (9)前記オブジェクト・カプセル化強制マネージャは
前記第2の許可されたメソッド・プログラムに対する第
2アクセス・ウインドウをオープンするための手段を含
むこと、及び前記第2アクセス・ウインドウは前記デー
タ記憶装置内のロケーション及びサイズにおいて前記第
2オブジェクトに対応した第2アドレス範囲であること
を特徴とする上記(8)に記載のデータ保護装置。 (10)前記ウインドウ記憶保護コントローラは下位桁
レジスタ及び上位桁レジスタより成る少なくとも1つの
ウインドウ記憶保護レジスタ対を含むことを特徴とする
上記(9)に記載のデータ保護装置。 (11)前記オブジェクト・カプセル化強制マネージャ
は前記下位桁レジスタにオブジェクトIDをロードする
ための手段及び前記上位桁レジスタに組合せマスクをロ
ードするための手段を含むこと、前記オブジェクトID
は前記第1オブジェクトの開始アドレスであること、及
び前記組合せマスクは前記第1オブジェクトの長さのバ
イナリ表示と結合されたアクセス許可であることを特徴
とする上記(10)に記載のデータ保護装置。 (12)コンピュータ・システムにおいてデータ保護を
行うための方法にして、第1サーバ・オブジェクトの第
1サーバ・メソッド・プログラムをコールするステップ
にして、前記第1サーバ・メソッド・プログラムは前記
第1サーバ・オブジェクトと関連した少なくとも1つの
第1サーバ・メソッド・プログラムのうちの1つであ
り、前記第1サーバ・オブジェクトは第1オブジェクト
・データを有し、コンピュータ・システムに記憶され、
クライアント・オブジェクトによってコールされるもの
と、前記第1オブジェクト・データへのアクセスを第1
の許可されたメソッド・プログラムのみに制限すること
によって前記第1サーバ・オブジェクトのカプセル化を
強制するステップにして、前記第1の許可されたメソッ
ド・プログラムは少なくとも1つのメソッド・プログラ
ムを含む一組のメソッド・プログラムであり、前記第1
サーバ・メソッド・プログラムは前記第1の許可された
メソッド・プログラムに含まれるものと、を含む方法。 (13)前記第1の許可されたメソッド・プログラムは
一連のメソッド・プログラム・コールと関連した第2サ
ーバ・メソッド・プログラムを含むこと、前記一連のメ
ソッド・プログラム・コールは少なくとも前記第1サー
バ・メソッド・プログラム及び前記第2サーバ・メソッ
ド・プログラムと関連することを特徴とする上記(1
2)に記載の方法。 (14)前記第2サーバ・オブジェクトが1つの第2サ
ーバ・オブジェクトと関連した第2オブジェクト・デー
タをアクセスすることを許すステップを含み、前記第2
サーバ・メソッド・プログラムは前記第2サーバ・オブ
ジェクトと関連した少なくとも1つの第2サーバ・メソ
ッド・プログラムのうちの1つであること、前記第2サ
ーバ・メソッド・プログラムは第2の許可されたメソッ
ド・プログラムのうちの1つであること、前記第2の許
可されたメソッド・プログラムは少なくとも1つのメソ
ッド・プログラムを含む一組のメソッド・プログラムで
あることを特徴とする上記(13)に記載の方法。 (15)前記第1の許可されたメソッド・プログラムが
前記第1オブジェクト・データのみをアクセスすること
を許すステップと、前記第2の許可されたメソッド・プ
ログラムが前記第1オブジェクト・データ及び前記第2
オブジェクト・データのみをアクセスすることを許すス
テップと、を含むことを特徴とする上記(14)に記載
の方法。 (16)前記強制するステップは前記第1の許可された
メソッド・プログラム及び前記第2の許可されたメソッ
ド・プログラムと関連したアクセス許可に基づいてアク
セスを制限するステップを含むことを特徴とする上記
(15)に記載の方法。 (17)前記第1の許可されたメソッド・プログラム及
び前記第2の許可されたメソッド・プログラムに対して
第1アクセス・ウインドウをオープンするステップを含
み、前記第1アクセス・ウインドウはデータ記憶装置内
のロケーション及びサイズにおいて前記第1オブジェク
トに対応した第1アドレス範囲であることを特徴とする
上記(16)に記載の方法。 (18)前記第2の許可されたメソッド・プログラムに
対して第2アクセス・ウインドウをオープンするステッ
プを含み、前記第2アクセス・ウインドウは前記データ
記憶装置内のロケーション及びサイズにおいて前記第2
オブジェクトに対応した第2アドレス範囲であることを
特徴とする上記(17)に記載の方法。 (19)前記第1オブジェクトの開始アドレスである第
1オブジェクトIDを第1下位桁レジスタにロードする
ステップと、前記第1オブジェクトの長さのバイナリ表
示と結合されたアクセス許可である第1組合せマスクを
第1上位桁レジスタにロードするステップと、を含むこ
とを特徴とする上記(18)に記載の方法。 (20)前記第2オブジェクトの開始アドレスである第
2オブジェクトIDを第2下位桁レジスタにロードする
ステップと、前記第2オブジェクトの長さのバイナリ表
示と結合されたアクセス許可である第2組合せマスクを
第2上位桁レジスタにロードするステップと、を含むこ
とを特徴とする上記(19)に記載の方法。 (21)中央処理装置と、データ記憶装置と、少なくと
も1つのシステム・バスと、前記データ記憶装置に記憶
された第1オブジェクトと、前記第1オブジェクトと関
連した少なくとも1つの第1メソッド・プログラムと、
前記第1オブジェクトのカプセル化を強制する記憶保護
機構と、を含み、前記記憶保護機構は前記第1オブジェ
クト・データへのアクセスを第1の許可されたメソッド
・プログラムのみに制限することによってカプセル化す
ることを強制すること、前記第1の許可されたメソッド
・プログラムは少なくとも1つのメソッド・プログラム
である一組のメソッド・プログラムであること、及び前
記第1メソッド・プログラムは前記第1の許可されたメ
ソッド・プログラムに含まれること、を特徴とするコン
ピュータ・システム。 (22)前記第1の許可されたメソッド・プログラムは
一連のメソッド・プログラム・コールと関連した第2メ
ソッド・プログラムを含むこと、及び前記一連のメソッ
ド・プログラム・コールは少なくとも前記第1メソッド
・プログラム及び前記第2メソッド・プログラムと関連
すること、を特徴とする上記(21)に記載のコンピュ
ータ・システム。 (23)前記第2メソッド・プログラムは第2オブジェ
クトと関連し、前記第2オブジェクトと関連した第2オ
ブジェクト・データをアクセスすることを許され、第2
の許可されたメソッド・プログラムの1つであること、
及び前記第2の許可されたメソッド・プログラムは少な
くとも1つのメソッド・プログラムを含む一組のメソッ
ド・プログラムであることを特徴とする上記(22)に
記載のコンピュータ・システム。 (24)前記第1の許可されたメソッド・プログラムは
前記第1オブジェクト・データ以外のデータをアクセス
することを許されないこと、及び前記第2の許可された
メソッド・プログラムは前記第1オブジェクト・データ
及び前記第2オブジェクト・データ以外のデータをアク
セスすることを許されないこと、を特徴とする上記(2
3)に記載のコンピュータ・システム。 (25)前記記憶保護機構は前記第1の許可されたメソ
ッド・プログラム及び前記第2の許可されたメソッド・
プログラムと関連したアクセス許可に基づいてアクセス
を制限することを特徴とする上記(24)に記載のコン
ピュータ・システム。 (26)オブジェクト・カプセル化強制マネージャ及び
ウインドウ記憶保護コントローラを含むことを特徴とす
る上記(25)に記載のコンピュータ・システム。 (27)前記オブジェクト・カプセル化強制マネージャ
は前記第1の許可されたメソッド・プログラム及び前記
第2の許可されたメソッド・プログラムに対する第1ア
クセス・ウインドウをオープンするための手段を含むこ
と、及び前記第1アクセス・ウインドウはデータ記憶装
置内のロケーション及びサイズにおいて前記第1オブジ
ェクトに対応した第1アドレス範囲であることを特徴と
する上記(26)に記載のコンピュータ・システム。 (28)前記オブジェクト・カプセル化強制マネージャ
は前記第2の許可されたメソッド・プログラムに対する
第2アクセス・ウインドウをオープンするための手段を
含むこと、及び前記第2アクセス・ウインドウは前記デ
ータ記憶装置内のロケーション及びサイズにおいて前記
第2オブジェクトに対応した第2アドレス範囲であるこ
とを特徴とする上記(27)に記載のコンピュータ・シ
ステム。 (29)前記ウインドウ記憶保護コントローラは下位桁
レジスタ及び上位桁レジスタより成る少なくとも1つの
ウインドウ記憶保護レジスタ対を含むことを特徴とする
上記(28)に記載のコンピュータ・システム。 (30)前記オブジェクト・カプセル化強制マネージャ
は前記下位桁レジスタにオブジェクトIDをロードする
ための手段及び前記上位桁レジスタに組合せマスクをロ
ードするための手段を含むこと、前記オブジェクトID
は前記第1オブジェクトの開始アドレスであること、及
び前記組合せマスクは前記第1オブジェクトの長さのバ
イナリ表示と結合されたアクセス許可であることを特徴
とする上記(29)に記載のコンピュータ・システム。
【0055】
【発明の効果】本発明によって、オブジェクト・データ
に対するアクセスを、当該オブジェクトのメソッドのみ
に制限することが可能になる。
【図面の簡単な説明】
【図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

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つのマルチドロップ・バス
    と、 ランダム・アクセス記憶装置及び磁気記憶装置を含み、
    前記マルチドロップ・バスに接続されたデータ記憶装置
    と、 前記マルチドロップ・バスに接続されたウインドウ記憶
    保護コントローラと、 を含むデータ保護装置にして、 前記ウインドウ記憶保護コントローラは、 前記データ記憶装置に記憶されたオブジェクトの開始ア
    ドレスであるオブジェクトIDを含んだ下位桁レジスタ
    と、前記オブジェクトの長さのバイナリ表示と結合され
    たアクセス許可である組合せマスクを含んだ上位桁レジ
    スタとを含む少なくとも1つのウインドウ記憶保護レジ
    スタ対と、 アクセスがリクエストされた前記データ記憶装置内のメ
    モリ・ロケーションのアドレスを供給アドレスとして受
    け付けるためのアドレス入力手段と、 前記アクセスの時に遂行されるべきオペレーションを受
    け付けるための命令入力手段と、 前記供給アドレス及び前記組合せマスクの積と前記オブ
    ジェクトIDとを比較し、前記供給アドレスが前記オブ
    ジェクトに対応したメモリ範囲内にある時、第1出力を
    発生し、前記供給アドレスが前記オブジェクトに対応し
    たメモリ範囲内にない時、第2出力を発生するための比
    較器と、 前記比較器が前記第2出力を発生する時、記憶保護違反
    の表示を発生するための記憶保護機構と、 を含むことを特徴とするデータ保護装置。
  2. 【請求項2】コンピュータ・システムに記憶された第1
    オブジェクトと、 前記第1オブジェクトと関連した第1オブジェクト・デ
    ータ及び少なくとも1つの第1メソッド・プログラム
    と、 前記第1オブジェクトのカプセル化を強制し、前記第1
    オブジェクト・データへのアクセスを第1の許可された
    メソッド・プログラムのみに制限することによってカプ
    セル化を強制する記憶保護機構と、 を含み、 前記第1の許可されたメソッド・プログラムは少なくと
    も1つのメソッド・プログラムを含む一組のメソッド・
    プログラムであること、及び前記第1メソッド・プログ
    ラムは前記第1の許可されたメソッド・プログラムに含
    まれることを特徴とするデータ保護装置。
  3. 【請求項3】前記第1の許可されたメソッド・プログラ
    ムは一連のメソッド・プログラム・コールと関連した第
    2メソッド・プログラムを含むこと、 前記一連のメソッド・プログラム・コールは少なくとも
    前記第1メソッド・プログラム及び前記第2メソッド・
    プログラムを関連することを特徴とする請求項2に記載
    のデータ保護装置。
  4. 【請求項4】前記第2メソッド・プログラムは第2オブ
    ジェクトと関連し、前記第2オブジェクトと関連した第
    2オブジェクト・データをアクセスすることを許され、
    第2の許可されたメソッド・プログラムの1つであるこ
    と、及び前記第2の許可されたメソッド・プログラムは
    少なくとも1つのメソッド・プログラムを含む一組のメ
    ソッド・プログラムであることを特徴とする請求項3に
    記載のデータ保護装置。
  5. 【請求項5】前記第1の許可されたメソッド・プログラ
    ムは前記第1オブジェクト・データ以外のデータをアク
    セスすることを許されないこと、及び前記第2の許可さ
    れたメソッド・プログラムは前記第1オブジェクト・デ
    ータ及び前記第2オブジェクト・データ以外のデータを
    アクセスすることを許されないこと、 を特徴とする請求項4に記載のデータ保護装置。
  6. 【請求項6】前記記憶保護機構は前記第1の許可された
    メソッド・プログラム及び前記第2の許可されたメソッ
    ド・プログラムと関連したアクセス許可に基づいてアク
    セスを制限することを特徴とする請求項5に記載のデー
    タ保護装置。
  7. 【請求項7】オブジェクト・カプセル化強制マネージャ
    及びウインドウ記憶保護コントローラを含むことを特徴
    とする請求項6に記載のデータ保護装置。
  8. 【請求項8】前記オブジェクト・カプセル化強制マネー
    ジャは前記第1の許可されたメソッド・プログラム及び
    前記第2の許可されたメソッド・プログラムに対する第
    1アクセス・ウインドウをオープンするための手段を含
    むこと、及び前記第1アクセス・ウインドウはデータ記
    憶装置内のロケーション及びサイズにおいて前記第1オ
    ブジェクトに対応した第1アドレス範囲であることを特
    徴とする請求項7に記載のデータ保護装置。
  9. 【請求項9】前記オブジェクト・カプセル化強制マネー
    ジャは前記第2の許可されたメソッド・プログラムに対
    する第2アクセス・ウインドウをオープンするための手
    段を含むこと、及び前記第2アクセス・ウインドウは前
    記データ記憶装置内のロケーション及びサイズにおいて
    前記第2オブジェクトに対応した第2アドレス範囲であ
    ることを特徴とする請求項8に記載のデータ保護装置。
  10. 【請求項10】前記ウインドウ記憶保護コントローラは
    下位桁レジスタ及び上位桁レジスタより成る少なくとも
    1つのウインドウ記憶保護レジスタ対を含むことを特徴
    とする請求項9に記載のデータ保護装置。
  11. 【請求項11】前記オブジェクト・カプセル化強制マネ
    ージャは前記下位桁レジスタにオブジェクトIDをロー
    ドするための手段及び前記上位桁レジスタに組合せマス
    クをロードするための手段を含むこと、 前記オブジェクトIDは前記第1オブジェクトの開始ア
    ドレスであること、及び前記組合せマスクは前記第1オ
    ブジェクトの長さのバイナリ表示と結合されたアクセス
    許可であることを特徴とする請求項10に記載のデータ
    保護装置。
  12. 【請求項12】コンピュータ・システムにおいてデータ
    保護を行うための方法にして、 第1サーバ・オブジェクトの第1サーバ・メソッド・プ
    ログラムをコールするステップにして、前記第1サーバ
    ・メソッド・プログラムは前記第1サーバ・オブジェク
    トと関連した少なくとも1つの第1サーバ・メソッド・
    プログラムのうちの1つであり、前記第1サーバ・オブ
    ジェクトは第1オブジェクト・データを有し、コンピュ
    ータ・システムに記憶され、クライアント・オブジェク
    トによってコールされるものと、 前記第1オブジェクト・データへのアクセスを第1の許
    可されたメソッド・プログラムのみに制限することによ
    って前記第1サーバ・オブジェクトのカプセル化を強制
    するステップにして、前記第1の許可されたメソッド・
    プログラムは少なくとも1つのメソッド・プログラムを
    含む一組のメソッド・プログラムであり、前記第1サー
    バ・メソッド・プログラムは前記第1の許可されたメソ
    ッド・プログラムに含まれるものと、 を含む方法。
  13. 【請求項13】前記第1の許可されたメソッド・プログ
    ラムは一連のメソッド・プログラム・コールと関連した
    第2サーバ・メソッド・プログラムを含むこと、 前記一連のメソッド・プログラム・コールは少なくとも
    前記第1サーバ・メソッド・プログラム及び前記第2サ
    ーバ・メソッド・プログラムと関連することを特徴とす
    る請求項12に記載の方法。
  14. 【請求項14】前記第2サーバ・オブジェクトが1つの
    第2サーバ・オブジェクトと関連した第2オブジェクト
    ・データをアクセスすることを許すステップを含み、 前記第2サーバ・メソッド・プログラムは前記第2サー
    バ・オブジェクトと関連した少なくとも1つの第2サー
    バ・メソッド・プログラムのうちの1つであること、 前記第2サーバ・メソッド・プログラムは第2の許可さ
    れたメソッド・プログラムのうちの1つであること、 前記第2の許可されたメソッド・プログラムは少なくと
    も1つのメソッド・プログラムを含む一組のメソッド・
    プログラムであることを特徴とする請求項13に記載の
    方法。
  15. 【請求項15】前記第1の許可されたメソッド・プログ
    ラムが前記第1オブジェクト・データのみをアクセスす
    ることを許すステップと、 前記第2の許可されたメソッド・プログラムが前記第1
    オブジェクト・データ及び前記第2オブジェクト・デー
    タのみをアクセスすることを許すステップと、 を含むことを特徴とする請求項14に記載の方法。
  16. 【請求項16】前記強制するステップは前記第1の許可
    されたメソッド・プログラム及び前記第2の許可された
    メソッド・プログラムと関連したアクセス許可に基づい
    てアクセスを制限するステップを含むことを特徴とする
    請求項15に記載の方法。
  17. 【請求項17】前記第1の許可されたメソッド・プログ
    ラム及び前記第2の許可されたメソッド・プログラムに
    対して第1アクセス・ウインドウをオープンするステッ
    プを含み、 前記第1アクセス・ウインドウはデータ記憶装置内のロ
    ケーション及びサイズにおいて前記第1オブジェクトに
    対応した第1アドレス範囲であることを特徴とする請求
    項16に記載の方法。
  18. 【請求項18】前記第2の許可されたメソッド・プログ
    ラムに対して第2アクセス・ウインドウをオープンする
    ステップを含み、 前記第2アクセス・ウインドウは前記データ記憶装置内
    のロケーション及びサイズにおいて前記第2オブジェク
    トに対応した第2アドレス範囲であることを特徴とする
    請求項17に記載の方法。
  19. 【請求項19】前記第1オブジェクトの開始アドレスで
    ある第1オブジェクトIDを第1下位桁レジスタにロー
    ドするステップと、 前記第1オブジェクトの長さのバイナリ表示と結合され
    たアクセス許可である第1組合せマスクを第1上位桁レ
    ジスタにロードするステップと、 を含むことを特徴とする請求項18に記載の方法。
  20. 【請求項20】前記第2オブジェクトの開始アドレスで
    ある第2オブジェクトIDを第2下位桁レジスタにロー
    ドするステップと、 前記第2オブジェクトの長さのバイナリ表示と結合され
    たアクセス許可である第2組合せマスクを第2上位桁レ
    ジスタにロードするステップと、 を含むことを特徴とする請求項19に記載の方法。
  21. 【請求項21】中央処理装置と、 データ記憶装置と、 少なくとも1つのシステム・バスと、 前記データ記憶装置に記憶された第1オブジェクトと、 前記第1オブジェクトと関連した少なくとも1つの第1
    メソッド・プログラムと、 前記第1オブジェクトのカプセル化を強制する記憶保護
    機構と、 を含み、 前記記憶保護機構は前記第1オブジェクト・データへの
    アクセスを第1の許可されたメソッド・プログラムのみ
    に制限することによってカプセル化することを強制する
    こと、 前記第1の許可されたメソッド・プログラムは少なくと
    も1つのメソッド・プログラムである一組のメソッド・
    プログラムであること、及び前記第1メソッド・プログ
    ラムは前記第1の許可されたメソッド・プログラムに含
    まれること、 を特徴とするコンピュータ・システム。
  22. 【請求項22】前記第1の許可されたメソッド・プログ
    ラムは一連のメソッド・プログラム・コールと関連した
    第2メソッド・プログラムを含むこと、及び前記一連の
    メソッド・プログラム・コールは少なくとも前記第1メ
    ソッド・プログラム及び前記第2メソッド・プログラム
    と関連すること、 を特徴とする請求項21に記載のコンピュータ・システ
    ム。
  23. 【請求項23】前記第2メソッド・プログラムは第2オ
    ブジェクトと関連し、前記第2オブジェクトと関連した
    第2オブジェクト・データをアクセスすることを許さ
    れ、第2の許可されたメソッド・プログラムの1つであ
    ること、及び前記第2の許可されたメソッド・プログラ
    ムは少なくとも1つのメソッド・プログラムを含む一組
    のメソッド・プログラムであることを特徴とする請求項
    22に記載のコンピュータ・システム。
  24. 【請求項24】前記第1の許可されたメソッド・プログ
    ラムは前記第1オブジェクト・データ以外のデータをア
    クセスすることを許されないこと、及び前記第2の許可
    されたメソッド・プログラムは前記第1オブジェクト・
    データ及び前記第2オブジェクト・データ以外のデータ
    をアクセスすることを許されないこと、 を特徴とする請求項23に記載のコンピュータ・システ
    ム。
  25. 【請求項25】前記記憶保護機構は前記第1の許可され
    たメソッド・プログラム及び前記第2の許可されたメソ
    ッド・プログラムと関連したアクセス許可に基づいてア
    クセスを制限することを特徴とする請求項24に記載の
    コンピュータ・システム。
  26. 【請求項26】オブジェクト・カプセル化強制マネージ
    ャ及びウインドウ記憶保護コントローラを含むことを特
    徴とする請求項25に記載のコンピュータ・システム。
  27. 【請求項27】前記オブジェクト・カプセル化強制マネ
    ージャは前記第1の許可されたメソッド・プログラム及
    び前記第2の許可されたメソッド・プログラムに対する
    第1アクセス・ウインドウをオープンするための手段を
    含むこと、及び前記第1アクセス・ウインドウはデータ
    記憶装置内のロケーション及びサイズにおいて前記第1
    オブジェクトに対応した第1アドレス範囲であることを
    特徴とする請求項26に記載のコンピュータ・システ
    ム。
  28. 【請求項28】前記オブジェクト・カプセル化強制マネ
    ージャは前記第2の許可されたメソッド・プログラムに
    対する第2アクセス・ウインドウをオープンするための
    手段を含むこと、及び前記第2アクセス・ウインドウは
    前記データ記憶装置内のロケーション及びサイズにおい
    て前記第2オブジェクトに対応した第2アドレス範囲で
    あることを特徴とする請求項27に記載のコンピュータ
    ・システム。
  29. 【請求項29】前記ウインドウ記憶保護コントローラは
    下位桁レジスタ及び上位桁レジスタより成る少なくとも
    1つのウインドウ記憶保護レジスタ対を含むことを特徴
    とする請求項28に記載のコンピュータ・システム。
  30. 【請求項30】前記オブジェクト・カプセル化強制マネ
    ージャは前記下位桁レジスタにオブジェクトIDをロー
    ドするための手段及び前記上位桁レジスタに組合せマス
    クをロードするための手段を含むこと、 前記オブジェクトIDは前記第1オブジェクトの開始ア
    ドレスであること、及び前記組合せマスクは前記第1オ
    ブジェクトの長さのバイナリ表示と結合されたアクセス
    許可であることを特徴とする請求項29に記載のコンピ
    ュータ・システム。
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 true JPH08212139A (ja) 1996-08-20
JP3072706B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Families Citing this family (8)

* 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
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
WO2013077884A1 (en) * 2011-11-25 2013-05-30 Intel Corporation Instruction and logic to provide conversions between a mask register and a general purpose register or memory

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
CA1341310C (en) * 1988-07-15 2001-10-23 Robert Filepp 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
JPH03209526A (ja) * 1989-10-23 1991-09-12 Internatl Business Mach Corp <Ibm> オブジェクト指向コンピュータシステム
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
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
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
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 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトを管理するためのシステム及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP4516693B2 (ja) * 1998-12-07 2010-08-04 アルボス テクノロジーズ リミテッド リミテッド ライアビリティ カンパニー コンピュータ、アドレス有効性照合プログラムを記録した記録媒体、及びアドレス有効性照合方法

Also Published As

Publication number Publication date
JP3072706B2 (ja) 2000-08-07
US6549953B1 (en) 2003-04-15
US5742826A (en) 1998-04-21

Similar Documents

Publication Publication Date Title
JP4846660B2 (ja) システム管理割り込みを再命令し、仮想マシンコンテナを生成することによる、信頼性のないシステム管理コードに対する保護方法
JP4872001B2 (ja) メモリ・アクセス安全性管理
US5469556A (en) Resource access security system for controlling access to resources of a data processing system
JP3081619B2 (ja) コンピュータ・システムとその保安方法
KR940003325B1 (ko) 가상 입력/출력 지령의 변환장치 및 방법
JP5006366B2 (ja) デバイスの動作モード間の移行を提供するシステム
JP4688490B2 (ja) 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
US9582675B2 (en) Protection of memory areas
US7277972B2 (en) Data processing system with peripheral access protection and method therefor
JPS61195443A (ja) データ処理システム内のシステムフアイルを保護する方法及びデータ処理システム
US20060047959A1 (en) System and method for secure computing
JPH0738160B2 (ja) 機密保護方法
US20130276096A1 (en) Management of data processing security in a secondary processor
US20210089684A1 (en) Controlled access to data stored in a secure partition
GB2440968A (en) Protecting system control registers in a data processing apparatus
JP6071341B2 (ja) 領域記述子グローバル化制御を有するメモリ管理ユニット
JP2005512228A (ja) 強化されたメモリアクセスセキュリティを提供する、メモリに対するデバイスのアクセスを制御するシステムおよび方法
JPH08212139A (ja) データ保護装置及び方法
JP4478458B2 (ja) 所望のセキュリティを用いた入出力デバイスにアクセスするための方法及び装置
US20080155188A1 (en) Memory area protection circuit
US20180196956A1 (en) Security architecture and method
JP2007109053A (ja) バスアクセス制御装置
US20230185904A1 (en) Method and system for freedom from interference (ffi)
US11366922B1 (en) Systems and methods for transferring capabilities