JPH07121373A - データ処理システム及びその動作方法 - Google Patents

データ処理システム及びその動作方法

Info

Publication number
JPH07121373A
JPH07121373A JP6203209A JP20320994A JPH07121373A JP H07121373 A JPH07121373 A JP H07121373A JP 6203209 A JP6203209 A JP 6203209A JP 20320994 A JP20320994 A JP 20320994A JP H07121373 A JPH07121373 A JP H07121373A
Authority
JP
Japan
Prior art keywords
memory
data processing
shared
processing system
operating system
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
JP6203209A
Other languages
English (en)
Inventor
Connel G Cunningham
コーネル・ジー・カニンガム
O Rourke Ferghill
ファーギル・ジェー・オルオーク
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 JPH07121373A publication Critical patent/JPH07121373A/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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

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)

Abstract

(57)【要約】 【目的】 データ処理システムとその動作方法を与える
こと。 【構成】 本発明はオペレーテイング・システム10
と、第1の処理に関連したメモリ20の第1部分50を
持つ第1の処理(30)とを含んでいる。第1の処理に
アクセス可能であり、かつメモリの第1部分の中にオブ
ジエクトを作成するのに用いる割り当て手段60が設け
られている。本発明のデータ処理システムは、複数の処
理で共有されたメモリの第1部分50を指定する指定手
段80と、メモリの第1部分の中のオブジエクトの位置
を第2の処理100に表示する識別手段90とを含むこ
とを特徴とする。本発明により、オブジエクトのインス
タンスは複数の処理で共有することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メツセージを基礎とし
た環境(message based environment)を持つデータ処
理システムに関する。本発明のデータ処理システムにお
いて、「オブジエクト」は、メツセージを基礎とした環
境を持つデータ処理システムにおいてラン(run-実行)
される処理によつて作成され用いられる。
【0002】
【従来の技術】メツセージを基礎とした環境は、オブジ
エクト指向プログラム(Object Oriented Programming-
OOP)技術によつて用いられる。OOP技術は「オブ
ジエクト」に送られた「メツセージ」によつて要求され
る機能を遂行するソフトウエアの改良についての特定の
問題を解決する技術である。「オブジエクト」とは、関
連する処理手順(以下「メソツド(method)」と言う)
及びデータの集合を含むソフトウエアの要素である。更
に、オブジエクトは「オブジエクト・クラス」にグルー
プ化することができ、オブジエクト・クラスは、オブジ
エクトの特定のタイプに対するメソツド及びデータを決
めるためのテンプレート(型板)である。与えられたオ
ブジエクト・クラスのすべてのオブジエクトは、同一の
フオーム及び作用を持つているが、オブジエクトに関連
するデータが異なつている。
【0003】「メツセージ」は、オブジエクトのメソツ
ドの1つを遂行するためのオブジエクトを要求するため
に、オブジエクトに送られる信号である。従つて、オブ
ジエクトに送られたメツセージは、要求された機能を遂
行するためのメソツドを呼び出す。
【0004】データ処理システムの中でデータ処理をラ
ンしている時に、その処理により将来使用するために作
成されるオブジエクトの「インスタンス」のための要件
が、或る処理段階において存在することがある。通常、
処理がランされているOOP環境は、オブジエクトのイ
ンスタンスを作成するために定義されている標準の作動
子(operator)を持つており、そして、この作動子は処
理の一部として表わされており、作成される特定のオブ
ジエクトをその処理が必要とすることを表わす。処理が
開始される時点において(或は、オブジエクトのインス
タンスが作成される前の適宜の時点において)、OOP
環境は、データ処理システムのオペレーテイング・シス
テムによつて、その処理により使用されるメモリの一部
分を獲得する。従つて、新しいオブジエクトは、上述の
メモリ部分の中に作成される。
【0005】通常、そのメモリ部分は、メモリ部分が獲
得された処理に対して個別にされているから、そのメモ
リ部分の中に作成されたオブジエクトのインスタンスも
またその特定の処理に対して個別にされている。然しな
がら、OOP言語で書かれたアプリケーシヨンの複雑性
が増加するに従つて、そのインスタンスを作成した処理
以外の処理によつてアクセス可能なオブジエクトのイン
スタンスを必要とするようになつてきた。
【0006】複数のメモリ部分を共有メモリとして指定
する技術は公知である。従来の共有メモリにおいて、メ
モリの共有部分の中にストアされたデータを複数の処理
で共有することができる。然しながら、従来の技術で
は、データばかりでなくメソツドも含むオブジエクトの
インスタンスを、複数の処理により共有することはでき
ない。オブジエクトのインスタンスを複数の処理で共有
することができるように、未だ作成されていないオブジ
エクトのインスタンスのメソツドに対して、処理をどの
ようにしてアクセスさせるかが問題である。
【0007】
【発明が解決しようとする課題】従つて、本発明の目的
は、第1の処理のために作成されたオブジエクトが1つ
またはそれ以上の他の処理によつてアクセスできるデー
タ処理システムを提供することにある。
【0008】
【課題を解決するための手段】本発明は、オペレーテイ
ング・システムと、オペレーテイング・システムによつ
て制御されるメモリと、第1の処理に関連したメモリの
第1部分を有する第1の処理と、メモリの第1部分の中
にオブジエクトを作成し、かつ第1の処理によりアクセ
ス可能な割り当て手段とを含むデータ処理システムであ
つて、複数の処理で共有されたメモリの第1部分を指定
するための指定手段と、メモリの第1部分中のオブジエ
クトの位置を第2の処理に対して表示するための識別手
段とを含むことを特徴とするデータ処理システムを与え
る。
【0009】本発明の良好な実施例において、指定手段
は、第1の処理が初期化された時に第1の処理によつて
動作される。然しながら、このようなタイミングは必ず
しも必要ではなく、代案として、オブジエクトがメモリ
の共有部分中に割り当てられる前の時間において指定手
段を動作することができる。
【0010】指定手段は、メモリの第1部分へアクセス
する権限を与えられた複数の処理(例えば、第1及び第
2の処理)を特別に識別することができるか、または代
案として、データ保護が問題にならない場合には、指定
手段は、メモリの第1部分を識別することのできる任意
の処理に対して、メモリの第1部分が利用可能であるこ
とを表示することができる。
【0011】識別手段は、例えば複数のIPCメカニズ
ムの1つを用いるような種々の異なつた方法でオブジエ
クトの位置を第2の処理に対して表示することができ
る。本発明の良好な実施例における識別手段は、第2の
処理により定義される入力のキユー(待ち行列)の中に
オブジエクトへのポインタを置くことによつてそのオブ
ジエクトの位置を表示する。この技術によつて、後続す
るオブジエクトを受け取り、キユーの中に多数のオブジ
エクトを積み重ねて、第2の処理によつてランすること
が可能となる。
【0012】第1の処理と同じデータ処理システムの中
に第2の処理を常駐させることができ、代案として、本
発明のデータ処理システムを有するネツトワークを介し
て接続された他のデータ処理システム中に第2の処理を
常駐させることもできる。
【0013】第1及び第2の処理は、任意の態様の処理
機能、つまり、クライアント・タイプ(処理を依頼する
方式)またはサーバ・タイプ(処理を供給する方式)で
遂行することができ、あるいは、情報を共有する必要の
ある他の同じような処理で遂行することができる。本発
明の良好な実施例において、第2の処理は、データベー
スに対する要求を管理するためのデータベースのサーバ
・タイプの処理であり、そして第1の処理は第2の処理
のクライアント・タイプの処理である。この装置におい
て、割り当て手段によつて作成されるオブジエクトはデ
ータベースの要求である。
【0014】本発明の良好な実施例において、複数の処
理によつて使用するために、オペレーテイング・システ
ムからメモリの第1部分を獲得するためのメモリ獲得手
段が与えられている。これは、別個の他のメソツドとし
て呼び出すことができるが、代案においては、共有メモ
リとしてメモリを指定する機能を加えて、この機能を遂
行するメソツドの一部として含むことができる。
【0015】本発明を第2の観点から見ると、本発明
は、オペレーテイング・システムと、オペレーテイング
・システムによつて制御されるメモリと、第1の処理に
関連したメモリの第1部分を持つ第1の処理とを含むデ
ータ処理システムを動作する方法を与える。本発明の方
法は、第1の処理に応答して、メモリの第1部分の中に
オブジエクトを作成するために、割り当て手段を呼び出
すステツプを含んでおり、複数の処理で共有されるメモ
リの第1部分を指定するための指定手段を動作するステ
ツプと、メモリの第1部分の中のオブジエクトの位置を
第2の処理に表示するために、識別手段を使用するステ
ツプとを含むことを特徴としている。
【0016】
【実施例】本発明の良好な実施例において、IBM社の
OS/2オペレーテイング・システム(OS/2はIB
M社の商標)を有するデータ処理システムが用いられて
いる。OOPの環境は、OOPのアプリケーシヨンを改
善するのに必要とするすべての要素を含んでおり、良好
な実施例において、OOP環境はIBM社のOS/2バ
ージヨン2.1のオペレーテイング・システム、IBM
社のOS/2改善用のツールキツト、バージヨン2.1
(OS/2 Development Toolkit V2.1)及びIBM社のC
++コンパイラのCSet/2(C++ Compiler CSet/
2)を含んでいる。更に、良好な実施例において、デー
タ処理システムはIBM社のDB2/2データベース・
ソフトウエア(DB2/2はIBM社の商標)を含んで
いる。この環境はC++コードのアプリケーシヨンを書
くことができる。
【0017】良好な環境において、改良されるC++コ
ードのアプリケーシヨンは、クライアント・タイプ、ま
たはサーバ・タイプのアプリケーシヨンである。このア
プリケーシヨンは対話を必要とする多数の処理を含んで
いる。例えば、処理の健全性及び性能を改善する目的の
ために、通常、データベースのアクセスのような長時間
を要する動作を、分割した処理で遂行することが有利な
ので、データベースに対する「要求」を管理するために
設定される処理「B」がある。他の処理「A」は、後で
使用するための幾つかのデータをデータベースから取り
出すために処理「B」のサービスを必要とするので、処
理「A」は処理「B」のクライアントとして動作する。
【0018】良好な実施例において、データベースによ
つてサービスされ、処理「B」により一括され、転送さ
れる「要求」は、C++コードのオブジエクトである。
このC++コードのオブジエクトは、以下の記載におい
て「要求オブジエクト」と呼ばれる。複数の「要求オブ
ジエクト」を定義することができ、各要求オブジエクト
は、特定の1つのデータベースのトランザクシヨンを遂
行することができる。処理Aは要求オブジエクトを作成
することができ、従つて、本発明の良好な実施例の技術
を用いて、その要求オブジエクトを処理Bに対して利用
可能にすることができる。
【0019】本発明の良好な実施例のデータ処理システ
ムのブロツク図を示す図1を参照して、特定の要求オブ
ジエクトが処理Aによつて作成され、処理Bに対して利
用可能にする技術を以下に説明する。図示のデータ処理
システムはローカル・メモリ20の制御などの制御を行
なうIBM社のOS/2オペレーテイング・システムの
ようなオペレーテイング・システム10を含んでいる。
【0020】処理Aが初期化された時、処理Aは、処理
Aによつて使用するためのメモリ20の第1部分50を
獲得するために、オペレーテイング・システム10から
メモリ獲得手段40に命令を送る。良好な実施例におい
て、指定手段80は複数の処理で共有されたメモリとし
て、メモリ20の第1部分50を指定する。指定手段8
0は、処理A以外の処理がメモリ20の第1部分50に
読み取り/書き込みアクセスを持つことをオペレーテイ
ング・システム10に通知することによつて上述の指定
動作を行なう。指定手段80は、オペレーテイング・シ
ステムに対して処理A以外の他の処理を特別に識別する
ことができ、あるいは、若しデータの保護(security)
の問題がなければ、指定手段80は、メモリ20のメモ
リ部分50を識別することのできるすべての処理に対し
て、メモリ20のメモリ部分50が利用可能にされてい
ることを単に表示することができる。
【0021】実際上、メモリ獲得手段40及び指定手段
80は特別のオブジエクトのメソツドとして動作され
る。この特別のオブジエクトは、本明細書において「共
有アロケータ・オブジエクト(Shared Allocator Objec
t)」と呼ばれる。共有アロケータ・オブジエクトは、
オブジエクトの新しいインスタンス(通常、「ニユー
(NEW)」作動子(operator)と呼ばれる)を作成する
のに用いられる標準のC++コードと置き換わり、そし
て、メモリの共有部分を作成し管理する機能と、メモリ
の共有部分中にオブジエクトの新しいインスタンスを割
り当てる機能とを遂行する。共有アロケータ・オブジエ
クトの細部については後述する。良好な実施例におい
て、データの保護には問題がないものとし、そして、特
定されていない処理によつてメモリ20の第1部分50
が共有されていることを、指定手段80がオペレーテイ
ング・システム10に表示しているものとし、処理Bは
メモリの第1部分50が何処にあるかを知つているもの
とする。任意の処理がメモリの第1部分50にアクセス
することができるから、処理Bは共有アロケータ・オブ
ジエクトに動作を開始する必要はなく(メモリの共有部
分のマネージヤとして)、メモリの第1部分50に直接
にアクセスすることができる。
【0022】メモリの共有部分50がメモリ獲得手段4
0によつて設定された後には、処理A、即ち処理30は
そのメモリの共有部分の中にオブジエクトのインスタン
スを作成することができる。これは、処理Aによつて特
定された特定のオブジエクト・クラスからのインスタン
スを作成するために、割り当て手段60を呼び出すこと
によつて行なわれる。割り当て手段60は、「共有アロ
ケータ・オブジエクト」の他のメソツドであり、特定の
インスタンスが作成されるオブジエクト・クラスの細部
を得るためにストレージ70にアクセスする。
【0023】良好な実施例において、特定のオブジエク
トのメソツドは、OS/2の環境においてダイナミツク
・リンク・ライブラリ(Dynamic Link Libraries-DL
L)と呼ばれるコード・ライブラリの中にストアされて
いる。通常、これらのライブラリはデータ処理システム
のストレージ70の中にストアされる。C++コードの
ランタイム・システム(C++コンパイラの一部を形成
している)がメモリの共有部分50の中にオブジエクト
のインスタンスを作成した時に、ポインタのテーブルを
設定し、各ポインタはコード・ライブラリ中のメソツド
を指示し、次に、そのテーブルに関連したデータのブロ
ツクを加える。メソツドがその後遂行される時に、関連
コードをコード・ライブラリから取り出すために、この
ポインタを使用することができ、次いで適当なデータを
用いてそれらのコードをラン(run-実行)する。特定の
オブジエクトのメソツドを指示するコード・ポインタの
リストを含む上述のテーブルは「仮想機能テーブル(Vi
rtual Function Table-Vft)」と呼ばれる。従つ
て、各オブジエクトのインスタンスは、基本的にはVf
t及びデータであると考えることができる。オブジエク
トのインスタンスが第1の処理によつて作成された時
に、そのVftはDLL中に常駐しているメソツドを指
示するポインタにより設定される。
【0024】DLLは、他の実行可能なライブラリであ
るランタイム・ライブラリ(runtime libraries)とし
て作成されるか、あるいは、要求によつてコードをロー
ドすることができる。良好な実施例において、これらの
DLL中のオブジエクトのメソツドを位置付けることに
よつて、これらのメソツドは、理論的に言つて、同時に
実行する複数個のプログラム(複数個の処理)によつて
共有することができる。従つて、その処理が他の処理か
らオブジエクトを受け取つた時に、DLLからランする
ためのどのメソツドを各処理に認識させるかが問題とな
る。若し第2の処理が処理Aによつて作成されたオブジ
エクトへのアクセスを受け取つて、そのオブジエクトを
使用可能にするためには、第2の処理は、Vftによつ
て指示されたコード(メソツド)を参照することができ
なければならない。
【0025】これは以下のように行なわれる。割り当て
手段60がメモリの共有部分50の中にオブジエクトの
新しいインスタンスを作成した後、処理Aはそのオブジ
エクトのインスタンス中に必要なデータを置くことがで
きる。処理Aで行なわれたこの処理は、処理Bにこのイ
ンスタンスを利用可能にさせることが必要である。例え
ば、処理Bは上述したデータベースのサーバ・タイプの
処理であり、そして、処理Aにより作成されたインスタ
ンスは「要求オブジエクト」であつてよい。良好な実施
例において、既に述べたように、処理Bはメモリの共有
部分の位置を知つており、かつ、処理Aはアクセスを拘
束しないから、処理Bはメモリの共有部分50へアクセ
スすることができる。然しながら、処理Bがそのインス
タンスを使用可能にする場合には、処理Bは、問題のオ
ブジエクトのインスタンスがそのメモリ中の何処に位置
付けられているかを知る必要がある。
【0026】処理Aは、適当なIPC機構を用いて識別
手段90により送られる「ポインタ」によつて上述の位
置情報を与える。良好な実施例において、処理Bは入力
(要求信号)のキユー(待ち行列)を決め、そして、そ
のキユーの中の要求を待つ。次に、そのキユーに対し
て、識別手段90によつてオブジエクト・ポインタが送
られ、そこで、要求の存在がオペレーテイング・システ
ムによつて処理Bに知らされる。キユーを用いることに
よつて、サーバ処理Bの要求のキユーとして幾つかのオ
ブジエクト・ポインタをキユーの中に「積み重ねる」こ
とができる。
【0027】オペレーテイング・システムがキユーの中
のオブジエクト・ポインタの存在を処理Bに通知した
後、処理Bはキユーからオブジエクト・ポインタを読み
取り、このことは、次に、共有メモリ中のオブジエクト
のインスタンス(Vft及びデータ)にアクセスするこ
とが可能となる。処理Bがこのオブジエクトのインスタ
ンスのメソツドを含む適当なDLLにリンクした後、処
理Bはオブジエクトを使用する立場になる。
【0028】良好な実施例において、処理Bがそれ自身
を初期化した時、この初期化は、使用しようとしている
すべてのオブジエクト(例えば、キユー中に受け取られ
ているもの)のためのコード及びVftをDLLの中に
ロードする。このロード動作は、必ずしも初期化時に生
じる必要はないけれども、このロード動作は、処理Bが
キユー中のポインタによつて表示されたすべてのオブジ
エクトのインスタンスを使用する立場になる前に生じる
必要がある。OS/2の環境において、上述したDLL
中にロードする最も簡単なメソツドは「ドスロードモジ
ユール(DosLoadModule)」と呼ばれているタイプの機
能呼び出しを用いることである。DosLoadModuleの呼び
出しは、特定のロード・モジユール(DLL)をプログ
ラムの中にロードするタイプの機能呼び出しなので、そ
のプログラムはそのモジユール中の任意の機能を使用す
ることができる。他の環境において、同じような機能呼
び出しが利用可能である。
【0029】処理Bが処理Aからオブジエクト・ポイン
タを受け取つた時(IPCを経て)、受け取りを予測し
ているオブジエクトのすべてのタイプを含むオブジエク
トのタイプに対して、このポインタを予測することが必
要とされる。例えば、良好な実施例において、データベ
ースのサーバ処理Bは、受け取られるすべてのオブジエ
クトが、処理Bによつて呼び出すことのできるラン・メ
ソツド(RUN method)を含む共通のフイーチヤ(後述す
る)を持つている要求オブジエクトであると予測する。
処理Bは、任意の総括的な親クラスを用いることにより
(例えば、良好な実施例において、親クラスは総括的な
「要求オブジエクト」クラスを用いることにより)この
「予測」を行なう。
【0030】メツセージが共有オブジエクトのインスタ
ンスに送られた時、OOPの環境(例えばC++コンパ
イラの環境)は、直ちに、メモリの共有部分50の中に
ストアされているオブジエクトのVftを介して、この
メツセージをメソツドに解読するよう試みる。メソツド
のコードが常駐しているDLLは、既に処理Bによつて
前以つてロードされているので(例えば、DosLoadModul
eの呼び出しによつて)、このメソツドは、このメツセ
ージを解読することができる。
【0031】共有されたオブジエクトが「要求オブジエ
クト」である場合の良好な実施例において、事実上、要
求がどのようなものであれ、その後「要求オブジエク
ト」が取り去られたとしても、データベースのサーバ処
理Bが行なわねばならないことは、「要求オブジエク
ト」中の「ラン」メソツドを呼び出すことだけである。
例えば「要求オブジエクト」は、データベースのサーバ
処理Bの範囲内で、データベースにアクセスし、要求さ
れたデータを取り出す。要求されたデータがデータベー
スから検索された後に、要求オブジエクトは、メモリの
共有部分の中にそのデータをストアし、次いでクライア
ント処理Aに戻すキユーをオープンし、そして、そのデ
ータにポインタを戻す。
【0032】上述の技術は下記の利点を持つている。D
LL中に常駐するコードのアドレスを指示する機能ポイ
ンタ(Vft中にある)を含むメモリを用いることによ
つて、2番目の処理がこのDLLからのコードをロード
して、第1の処理Aからメモリ中に受け取つたVftに
一致させることができることが見い出されている。加え
て、2番目の処理において、DLLからのコードをロー
ドすることによつて、2番目の処理は、Vftが有効で
あれば、そのDLL中の任意のオブジエクトの任意のメ
ソツドを「ラン」することができる。
【0033】メモリの共有部分の作成及び管理機能と、
メモリの共有部分中のオブジエクトの新しいインスタン
スの割り当て機能とを行なう上述の共有アロケータ・オ
ブジエクトの細部を以下に説明する。C++コンパイラ
の環境において、オブジエクトの動的な作成及び削除を
取り扱うために、2つの標準作動子が与えられている。
これらの作動子は「ニユー(NEW-新しい)」作動子及び
「デリート(DELETE-削除)」作動子と呼ばれ、同じよ
うな作動子が他のOOPの環境に存在する。
【0034】本発明の良好な実施例において、これら2
つの標準作動子は置き換えられ、「共有アロケータ・ク
ラス」と呼ばれる新しいC++コードのオブジエクト・
クラスに置き換えられる。共有アロケータ・クラスから
割り当てられたすべてのオブジエクトは下記の5つのメ
ソツドを供給する。
【0035】1.コンストラクタ(Constructor)メソ
ツド 共有アロケータ・オブジエクトが作成された後に、この
特別のメソツドが呼び出される。基本的には、このメソ
ツドはメモリのブロツク(メモリ部分)を割り当てるた
めに、「オペレーテイング・システム」を呼び出し、そ
して、このメモリ・ブロツクを他の処理の間で共有可能
にする。このメソツドは、図1に示されたメモリ獲得手
段40と指定手段80とによつて実行される。
【0036】また、「Constructor」メソツドは、メモ
リ・ブロツクを準備するオペレーテイング・システムを
呼び出して、メモリ・ブロツクをヒープ(heap−積み重
ねたメモリ)として使用する。このことは、多くの独立
したメモリ部分がこのメモリ・ブロツクの中で「二次的
に割り当てられる」ことを意味する。
【0037】2.アロツクメモリ(AllocMemory)メソ
ツド このメソツドは、メモリ部分が割り当てられる時に呼び
出される。通常、このAllocMemoryメソツドはC++コ
ードのプログラム中の「NEW」作動子の呼び出しを生
じ、図1の割り当て手段60により表わされる。
【0038】このメソツドは、共有メモリが処理の中で
用いられているか否かをチエツクする。(共有アロケー
タ・オブジエクトを使用した各処理はこの状態を表示す
るそれ自身のフラグを持つている。)
【0039】若し「共有メモリ」が使用中であれば(即
ち、クライアント処理が下記のUseSharedMemoryを呼び
出していれば)、必要なメモリ空間は「共有アロケータ
・オブジエクト」によつて管理される「共有メモリ」の
ヒープから割り当てられる。
【0040】若し「共有メモリ」が使用中でなければ、
割り当てメモリ(共有されていないメモリ)の通常のC
++コードのメソツド(OS/2において「MALLOC」と
呼ばれる)が用いられる。
【0041】3.フリーメモリ(FreeMemory)メソツド このメソツドは、メモリの部分が自由にされる時に呼び
出される。通常、FreeMemoryメソツドはC++プログラ
ム中の「デリート(DELETE)」作動子の呼び出しの結果
として生じる。
【0042】このメソツドは、メモリのブロツクが「共
有メモリ」のヒープから割り当てられているか否かをチ
エツクする。(開始アドレス及び「共有メモリ」のヒー
プの大きさは「共有アロケータ・オブジエクト」中のイ
ンスタンスのデータとして保持されている。)
【0043】若しメモリ・ブロツクが「共有メモリ」の
ヒープに割り当てられたならば、このメモリ・ブロツク
をこの「共有メモリ」のヒープに戻すために、適当な
「オペレーテイング・システム」の呼び出しが行なわれ
る。
【0044】若しメモリ・ブロツクが「共有メモリ」の
ヒープから割り当てられていなければ、自由な(共有さ
れていない)メモリの通常のC++コードのメソツド
(OS/2において「FREE」作動子と呼ばれる)が用い
られる。
【0045】4.ユーズシエアドメモリ(UseSharedMem
ory)メソツド このメソツドは呼び出した処理のフラグを単に設定する
だけである。このフラグは、上述の処理(クライアント
処理)からの将来のすべての割り当て呼び出しが「共有
メモリ」のヒープを使用すべきことを表示する。
【0046】5.デストラクタ(Destructor)メソツド このメソツドは、例えばプログラムの終了の時のように
「共有アロケータ・オブジエクト」が破棄される時に呼
び出される。Destructorメソツドは管理されている「共
有メモリ」のメモリ・ブロツクを自由にするために「オ
ペレーテイング・システム」を再度呼び出す。
【0047】ここで必要なことは、単一の「大域共有ア
ロケータ・オブジエクト」を宣言することと、「NEW」
作動子及び「DELETE」作動子を置き換えるために、標準
のC++コード・プログラムの「構文(Syntax)」を用
いることである。「NEW」作動子はAllocMemoryメソツド
を呼び出し、そして「DELETE」作動子はFreeMemoryメソ
ツドを呼び出す。
【0048】上述したメソツドのためのオブジエクト・
コードは、C++コードのランタイム・ライブラリに付
加され、「NEW」コード及び「DELETE」コードに置き換
える。これを行なうメソツドは、コンパイラに依存する
けれども、これは当業者には自明である。
【0049】次に、図2を参照して、本発明の良好な実
施例の動作を説明する。処理A、即ち処理30が初期化
された時、処理Aは、共有メモリとして用いるためにメ
モリ50の基本ヒープを得るための「共有アロケータ・
オブジエクト」を呼び出す。この機能を遂行する「共有
アロケータ・オブジエクト」のメソツドは、既に説明し
た「Constructor」メソツドである。「Constructor」メ
ソツドが完了した後に、メモリ50の基本ヒープがあ
り、これにより、複数の処理(データ保護に依存して特
別に識別される処理、または特定されていない処理)が
読み取り/書き込みアクセスを行なうことができる。図
2において、処理A、即ち処理30及び処理B、即ち処
理100は、共有メモリのヒープ50への読み取り/書
き込みアクセスを持つていることが示されている。
【0050】「共有アロケータ・オブジエクト」のAllo
cMemoryメソツドを呼び出す処理のステツプ1におい
て、オブジエクトのインスタンスを作成し、かつ基本ヒ
ープ50にそのインスタンスを割り当てるために、処理
Aは「NEW」作動子を使用する。既に説明したように、
標準のNEW作動子は無視されるので、新しい「NEW」作動
子がAllocMemoryメソツドを直接に呼び出す。オブジエ
クトのインスタンスを割り当てることにより、処理Aは
オブジエクトのインスタンスをデータで満たすことがで
きる。
【0051】処理Aのステツプ2において、識別手段9
0によつて、ポインタがキユー(待ち行列)150に送
られる。既に説明したように、このようなオブジエクト
の複数個のオブジエクトをキユー150の中に並べるこ
とができる。オペレーテイング・システムは、キユー1
50の中にオブジエクト・ポインタが存在することを処
理Bに通知した後、処理B、即ち処理100はそのポイ
ンタを検索する。このポインタを用いることにより、処
理Bは共有メモリのヒープ50の中のオブジエクトをア
クセスすることができ、そしてデータ及びVftを検索
することができる。オブジエクトのメソツドを含むDL
Lは、処理Bによつて既にロードされているので、処理
Bは、そのオブジエクトのための「ラン(run)」メソ
ツドを呼び出すために使用することができる。オブジエ
クトがデータベースからデータを検索するような一組の
タスクを遂行したことは、共有メモリのヒープ中にその
データをストアし、そして、検索されたデータがストア
された位置を表示するために処理Aにポインタを送り戻
す。
【0052】図3は図2に示した技術を更に説明するた
めの図である。処理Aは、オブジエクトを指示するポイ
ンタ「X」を持つそのオブジエクトのインスタンスを作
成する。次に、このインスタンスは、キユー150へ送
られたポインタ「X」及びデータで満たされる。処理境
界の他の側において、処理Bは、OS/2のコマンド
「DosReadQueue」を用いてポインタ「X」を読み取る。
次に、共有メモリのヒープ50の中のVft及びデータ
は、ポインタ「X」を用いて自動的に読み取られる。
【0053】良好な実施例において、各「要求オブジエ
クト」は特定の1つの「データベースのトランザクシヨ
ン」を遂行する責任を持つている。これを達成するため
に、各オブジエクトは「run()」で表わされるメソツド
を実行する。このメソツドの名称は変更されることはな
く、サーバ処理Bによつてのみ呼び出される。要求オブ
ジエクトのクラス階層は、例えば下記の表1のように作
成される。
【0054】
【表1】
【0055】一例として下記のC++コード・クラスの
定義を示す。
【表2】
【0056】上述の定義の第1行は、呼び出されるべき
クラスであり、かつオブジエクト・クラス「DBMReques
t」から引き継がれるべきクラスInsDbInfoReqを識別す
る。「_Export」クオリフアイヤ(qualifier)は、DL
L(このクラスのためのメソツドがストアされているD
LL)に対して外側のある種のもの(例えば、他のDL
L)がこのクラスをランすることを表示する。次の行に
記載されたワード「パブリツク(public)」は、後続す
るすべてのコードが、定義されているオブジエクト(例
えばInsDbInfoReq)以外のオブジエクトに利用可能であ
ることを表わす。次の行のコードは、タイプ「DbInfo」
のデータ構造に対してポインタ「dbData」を設定する。
従つて、コロンの次にあるワード「DXTDBMRequest()」
は、親クラスDBMRequestのConstructorメソツドの呼び
出しである。
【0057】次の行は、ポインタdbDataと同じインスタ
ンスのデータIKeyDataを設定する。次の行は、タイプ
「unsigned short」のrunメソツドを定義している。呼
び出される機能は「DBR_C_DBINFO」である。最後の2つ
の行は、オブジエクト・クラス、つまりタイプDbInfoの
データ構造を指示するポインタIKeyDataに対して別個の
情報部分を定義している。
【0058】上述したように定義付けした後、クラスIn
sDbInfoは下記の表2のようなコードのサンプルを考慮
している。
【0059】
【表3】
【0060】処理Aに示した最初の4つの行は「インホ
(Info)」と呼ばれる「DbInfo」のデータ構造へのポイ
ンタの設定と、そのデータ構造中に或る種の情報(名
称、日付、時間)の設定とを処理する。次に、オブジエ
クト・クラスInsDbInfoReqのインスタンスが、そのイン
スタンスを指示するポインタ「X」によつて作成され、
このインスタンスは「Info」と呼ばれるデータ構造中に
含まれたデータを持つている。次に、処理Bにオブジエ
クトのポインタ「X」を転送するために「send(転
送)」メソツド(親クラスの中に常駐している)が呼び
出される。処理Bはこのポインタを受け取り、そして総
括的なオブジエクト・クラスDBMRequestにそのポインタ
を送る。この動作は、処理Bが処理AからのタイプDBMR
equestのオブジエクトを予測していると既に決定されて
いるので自動的に生じる。次に、この要求オブジエクト
の「run」メソツドがランされ、その結果、要求が処理
され、所望の情報が処理Aに戻される。
【0061】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0062】(1)オペレーテイング・システム(1
0)と、オペレーテイング・システム(10)により制
御されるメモリ(20)と、第1の処理に関連するメモ
リ(20)の第1部分(50)を有する第1の処理(3
0)と、第1の処理によつてアクセス可能であり、メモ
リ(20)の第1部分の中にオブジエクトを作成するた
めの割り当て手段(60)とから成り、複数の処理で共
有されたメモリの第1部分を指定するための指定手段
(80)と、メモリの第1部分の中のオブジエクトの位
置を第2の処理(100)に表示するための識別手段
(90)とを含むことを特徴とするデータ処理システ
ム。 (2)指定手段(80)は第1の処理が初期化された時
に第1の処理(30)によつて動作されることを含む
(1)に記載のデータ処理システム。 (3)指定手段(80)はメモリの第1部分へのアクセ
スに権限を与えられている第2の処理を特定することを
含む(2)に記載のデータ処理システム。 (4)識別手段(90)は第2の処理(100)によつ
て定義付けされている入力キユーの中のオブジエクトを
指示するポインタを置くことにより上記オブジエクトの
位置を表示することを含む(1)、(2)、または
(3)の何れかに記載のデータ処理システム。 (5)第2の処理(100)は上記データ処理システム
を持つネツトワークを介して接続された他のデータ処理
システムの中に常駐されていることを含む(1)、
(2)、(3)、または(4)の何れかに記載のデータ
処理システム。 (6)第2の処理(100)はデータベースに対する要
求を管理するためのデータベース・サーバの処理であ
り、上記第1の処理は第2の処理のクライアント処理で
あり、割り当て手段(60)により作成されたオブジエ
クトはデータベースの要求であることを含む(1)、
(2)、(3)、(4)、または(5)の何れかに記載
のデータ処理システム。 (7)メモリ獲得手段は複数の処理により使用されるた
めに、オペレーテイング・システムからメモリの第1部
分を獲得するために与えられていることを含む(1)、
(2)、(3)、(4)、(5)、または(6)の何れ
かに記載のデータ処理システム。 (8)オペレーテイング・システム(10)と、オペレ
ーテイング・システムにより制御されるメモリ(20)
と、第1の処理に関連し、メモリ(20)の第1部分を
有する第1の処理(30)とを含むデータ処理システム
を動作する方法において、第1の処理に応答して、メモ
リ(50)の第1部分の中にオブジエクトを作成するた
めに割り当て手段(60)を呼び出すステツプを含み、
複数の処理で共有されたメモリの第1部分を指定するた
めに指定手段を動作するステツプと、第1の処理に応答
して、メモリの第1部分(50)の中のオブジエクトの
位置を第2の処理(100)に表示するために識別手段
(90)を動作するステツプとを含むことを特徴とする
データ処理システムの動作方法。
【0063】
【発明の効果】本発明はメツセージを基礎とした環境を
持つデータ処理システムにおいて、オブジエクトのイン
スタンスを複数の処理で共有することができる。
【図面の簡単な説明】
【図1】本発明のデータ処理システムを示すブロツク図
である。
【図2】本発明の良好な実施例を説明するための図であ
る。
【図3】図2に示した実施例の技術を説明するための図
である。
【符号の説明】
10 オペレーテイング・システム 20 メモリ 30 第1の処理(処理A) 40 メモリ獲得手段 50 メモリの第1部分(共有メモリのヒープ) 60 割り当て手段 70 ストレージ 80 指定手段 90 識別手段 100 第2の処理(処理B) 150 キユー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ファーギル・ジェー・オルオーク アイルランド国、ダブリン 12、クラムリ ン・ロード 270

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】オペレーテイング・システム(10)と、 オペレーテイング・システム(10)により制御される
    メモリ(20)と、 第1の処理に関連するメモリ(20)の第1部分(5
    0)を有する第1の処理(30)と、 第1の処理によつてアクセス可能であり、メモリ(2
    0)の第1部分の中にオブジエクトを作成するための割
    り当て手段(60)とから成り、 複数の処理で共有されたメモリの第1部分を指定するた
    めの指定手段(80)と、 メモリの第1部分の中のオブジエクトの位置を第2の処
    理(100)に表示するための識別手段(90)とを含
    むことを特徴とするデータ処理システム。
  2. 【請求項2】指定手段(80)は第1の処理が初期化さ
    れた時に第1の処理(30)によつて動作されることを
    含む請求項1に記載のデータ処理システム。
  3. 【請求項3】指定手段(80)はメモリの第1部分への
    アクセスに権限を与えられている第2の処理を特定する
    ことを含む請求項2に記載のデータ処理システム。
  4. 【請求項4】識別手段(90)は第2の処理(100)
    によつて定義付けされている入力キユーの中のオブジエ
    クトを指示するポインタを置くことにより上記オブジエ
    クトの位置を表示することを含む請求項1、2、または
    3の何れかに記載のデータ処理システム。
  5. 【請求項5】第2の処理(100)は上記データ処理シ
    ステムを持つネツトワークを介して接続された他のデー
    タ処理システムの中に常駐されていることを含む請求項
    1、2、3、または4の何れかに記載のデータ処理シス
    テム。
  6. 【請求項6】第2の処理(100)はデータベースに対
    する要求を管理するためのデータベース・サーバの処理
    であり、上記第1の処理は第2の処理のクライアント処
    理であり、割り当て手段(60)により作成されたオブ
    ジエクトはデータベースの要求であることを含む請求項
    1、2、3、4、または5の何れかに記載のデータ処理
    システム。
  7. 【請求項7】メモリ獲得手段は複数の処理により使用さ
    れるために、オペレーテイング・システムからメモリの
    第1部分を獲得するために与えられていることを含む請
    求項1、2、3、4、5、または6の何れかに記載のデ
    ータ処理システム。
  8. 【請求項8】オペレーテイング・システム(10)と、
    オペレーテイング・システムにより制御されるメモリ
    (20)と、第1の処理に関連し、メモリ(20)の第
    1部分を有する第1の処理(30)とを含むデータ処理
    システムを動作する方法において、 第1の処理に応答して、メモリ(50)の第1部分の中
    にオブジエクトを作成するために割り当て手段(60)
    を呼び出すステツプを含み、 複数の処理で共有されたメモリの第1部分を指定するた
    めに指定手段を動作するステツプと、 第1の処理に応答して、メモリの第1部分(50)の中
    のオブジエクトの位置を第2の処理(100)に表示す
    るために識別手段(90)を動作するステツプとを含む
    ことを特徴とするデータ処理システムの動作方法。
JP6203209A 1993-10-12 1994-08-29 データ処理システム及びその動作方法 Pending JPH07121373A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9320982.3 1993-10-12
GB939320982A GB9320982D0 (en) 1993-10-12 1993-10-12 A data processing system

Publications (1)

Publication Number Publication Date
JPH07121373A true JPH07121373A (ja) 1995-05-12

Family

ID=10743369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6203209A Pending JPH07121373A (ja) 1993-10-12 1994-08-29 データ処理システム及びその動作方法

Country Status (5)

Country Link
US (1) US5737605A (ja)
EP (1) EP0647902B1 (ja)
JP (1) JPH07121373A (ja)
DE (1) DE69418963D1 (ja)
GB (1) GB9320982D0 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466992B2 (en) * 1994-12-07 2002-10-15 Next Computer, Inc. Method for providing stand-in objects
US5949439A (en) * 1996-08-15 1999-09-07 Chromatic Research, Inc. Computing apparatus and operating method using software queues to improve graphics performance
US6575372B1 (en) 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
US6317832B1 (en) 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
US6488211B1 (en) 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
US6164549A (en) 1997-05-15 2000-12-26 Mondex International Limited IC card with shell feature
US6230267B1 (en) 1997-05-15 2001-05-08 Mondex International Limited IC card transportation key set
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6385723B1 (en) 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
US6328217B1 (en) 1997-05-15 2001-12-11 Mondex International Limited Integrated circuit card with application history list
US5943496A (en) * 1997-05-17 1999-08-24 Intertop Corporation Methods for developing and instantiating object classes using a java virtual machine extension
GB2319641B (en) 1997-11-28 1998-10-14 Ibm Secure variable storage for internet applications
US6736325B1 (en) 1998-01-22 2004-05-18 Mondex International Limited Codelets
US6357665B1 (en) 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
US6742120B1 (en) 1998-02-03 2004-05-25 Mondex International Limited System and method for controlling access to computer code in an IC card
WO2000013085A1 (en) * 1998-09-01 2000-03-09 Lernout & Hauspie Speech Products N.V. Interface between a control process and a target process
US6519594B1 (en) * 1998-11-14 2003-02-11 Sony Electronics, Inc. Computer-implemented sharing of java classes for increased memory efficiency and communication method
US6907608B1 (en) * 1999-01-22 2005-06-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using global data structures
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
WO2001038979A1 (en) * 1999-11-22 2001-05-31 Microsoft Corporation Communication among agile and context-bound objects
US7035989B1 (en) 2000-02-16 2006-04-25 Sun Microsystems, Inc. Adaptive memory allocation
US6791556B1 (en) * 2000-04-05 2004-09-14 Avid Technology, Inc. Multiframe rendering of video data on a general purpose computer
US6802057B1 (en) 2000-05-03 2004-10-05 Sun Microsystems, Inc. Automatic generation of fortran 90 interfaces to fortran 77 code
US6986130B1 (en) 2000-07-28 2006-01-10 Sun Microsystems, Inc. Methods and apparatus for compiling computer programs using partial function inlining
EP1182546A1 (en) * 2000-08-17 2002-02-27 Sun Microsystems, Inc. Method and system for registering binary data
US6910107B1 (en) 2000-08-23 2005-06-21 Sun Microsystems, Inc. Method and apparatus for invalidation of data in computer systems
US6829769B2 (en) * 2000-10-04 2004-12-07 Microsoft Corporation High performance interprocess communication
JP2002116917A (ja) * 2000-10-05 2002-04-19 Fujitsu Ltd オブジェクト指向型プログラミング言語によるソース・プログラムをコンパイルするコンパイラ
US7406681B1 (en) 2000-10-12 2008-07-29 Sun Microsystems, Inc. Automatic conversion of source code from 32-bit to 64-bit
US6957208B1 (en) 2000-10-31 2005-10-18 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for performance analysis using semantic knowledge
US7543304B2 (en) * 2000-12-14 2009-06-02 Borland Software Corporation Method for efficient location of corba objects based on an unmarshaled object key in a request
US6813522B1 (en) * 2000-12-29 2004-11-02 Emc Corporation Method of sharing memory in a multi-processor system including a cloning of code and data
US7246135B2 (en) * 2001-01-08 2007-07-17 Intel Corporation Sharing classes between programs
GB2381336B (en) * 2001-08-21 2005-09-28 Silicon Infusion Ltd Object orientated heterogeneous multi-processor platform
CN1282924C (zh) * 2001-10-17 2006-11-01 Bep技术公司 通过操作系统进行通信的方法
US7028218B2 (en) * 2002-12-02 2006-04-11 Emc Corporation Redundant multi-processor and logical processor configuration for a file server
US20050216695A1 (en) * 2004-03-26 2005-09-29 Jean-Pierre Bono Memory extension for a data processor to provide both common and separate physical memory areas for virtual memory spaces
US7206915B2 (en) * 2004-06-03 2007-04-17 Emc Corp Virtual space manager for computer having a physical address extension feature
US7769974B2 (en) * 2004-09-10 2010-08-03 Microsoft Corporation Increasing data locality of recently accessed resources
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7882317B2 (en) * 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
US7454477B2 (en) * 2005-05-16 2008-11-18 Microsoft Corporation Zero-copy transfer of memory between address spaces
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US7870558B2 (en) * 2005-07-15 2011-01-11 Microsoft Corporation Handle passing using an inter-process communication
US8074231B2 (en) 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US8505027B2 (en) * 2005-12-22 2013-08-06 Oracle Otc Subsidiary Llc Elective data sharing between different implementations of a software product
US7523495B2 (en) 2006-04-19 2009-04-21 Multos Limited Methods and systems for IC card application loading
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US7567992B1 (en) * 2006-12-29 2009-07-28 Unisys Corporation Replicating of plurality of instances of an object model in memory arrangement using portable object references where each object attribute assigned GUID
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
US8789063B2 (en) * 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US7809875B2 (en) * 2008-06-30 2010-10-05 Wind River Systems, Inc. Method and system for secure communication between processor partitions
US8271307B2 (en) * 2009-11-30 2012-09-18 The Bondfactor Company Llc Method, software program, and system for structuring risk in a financial transaction
US8910136B2 (en) * 2011-09-02 2014-12-09 International Business Machines Corporation Generating code that calls functions based on types of memory
US10230762B2 (en) 2012-08-31 2019-03-12 Jpmorgan Chase Bank, N.A. System and method for sharing information in a private ecosystem
GB2506263B (en) * 2012-08-31 2020-10-21 Jpmorgan Chase Bank Na System And Method for Sharing Information In A Private Ecosystem
US9430211B2 (en) 2012-08-31 2016-08-30 Jpmorgan Chase Bank, N.A. System and method for sharing information in a private ecosystem
US20160062655A1 (en) * 2014-08-28 2016-03-03 Endgame, Inc. System and Method for Improved Memory Allocation in a Computer System
US10572250B2 (en) 2017-12-20 2020-02-25 International Business Machines Corporation Dynamic accelerator generation and deployment
US11645059B2 (en) * 2017-12-20 2023-05-09 International Business Machines Corporation Dynamically replacing a call to a software library with a call to an accelerator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0485652A (ja) * 1990-07-30 1992-03-18 Nec Corp プロセス間通信方式
JPH05224956A (ja) * 1992-02-14 1993-09-03 Nippon Telegr & Teleph Corp <Ntt> プロセス間メッセージ通信方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US5047925A (en) * 1985-05-06 1991-09-10 Motorola, Inc. Logical ring in a virtual single machine
EP0444376B1 (en) * 1990-02-27 1996-11-06 International Business Machines Corporation Mechanism for passing messages between several processors coupled through a shared intelligent memory
US5404521A (en) * 1990-07-31 1995-04-04 Top Level Inc. Opportunistic task threading in a shared-memory, multi-processor computer system
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
US5374932A (en) * 1993-08-02 1994-12-20 Massachusetts Institute Of Technology Airport surface surveillance system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0485652A (ja) * 1990-07-30 1992-03-18 Nec Corp プロセス間通信方式
JPH05224956A (ja) * 1992-02-14 1993-09-03 Nippon Telegr & Teleph Corp <Ntt> プロセス間メッセージ通信方法

Also Published As

Publication number Publication date
EP0647902A1 (en) 1995-04-12
DE69418963D1 (de) 1999-07-15
EP0647902B1 (en) 1999-06-09
GB9320982D0 (en) 1993-12-01
US5737605A (en) 1998-04-07

Similar Documents

Publication Publication Date Title
JPH07121373A (ja) データ処理システム及びその動作方法
US6948172B1 (en) Preemptive multi-tasking with cooperative groups of tasks
US5778385A (en) Link manager for managing links integrating data between application programs
US5848419A (en) Methods and apparatus for providing transparent persistence in a distributed object operating environment
US5969967A (en) Methods and apparatus for conspiracy between objects
US5408650A (en) Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program
US5990907A (en) Automatic font management within an operating system environment
JP3822541B2 (ja) オブジェクトインターフェイスにポインタをパスするためのコンピュータシステム
US5414854A (en) Object-oriental system for managing shared libraries
EP0631232B1 (en) Integration of systems management services with an underlying system object model
US6438616B1 (en) Method and apparatus for fast, local corba object references
US7284098B2 (en) Message based inter-process for high volume data
JPH0283627A (ja) インタプリタ
US20050086237A1 (en) Shared queues in shared object space
US7334235B2 (en) Operating system application programming interfaces and methods of using operating systems
CA2171682A1 (en) Methods and apparatus for managing collections of objects
US5386525A (en) System for providing application programs with direct addressability into a shared dataspace
AU5680894A (en) Interception system and method including user interface
US5995974A (en) Database server for handling a plurality of user defined routines (UDRs) expressed in a plurality of computer languages
US6275828B1 (en) Method of providing persistence to object in C++ object oriented programming system
US20040230556A1 (en) Generic data persistence application program interface
US6499094B1 (en) Management of memory heap space for data files accessible to programs operating in different addressing modes
US6233621B1 (en) System and method for space efficient hashcode allocation
EP1221085A2 (en) Method and system for dynamic injection of execution logic into a windowed operating system
US20060253858A1 (en) Software service application and method of servicing a software application