JPH11312151A - 高速な分散オブジェクトリクエストブローカ - Google Patents
高速な分散オブジェクトリクエストブローカInfo
- Publication number
- JPH11312151A JPH11312151A JP10118121A JP11812198A JPH11312151A JP H11312151 A JPH11312151 A JP H11312151A JP 10118121 A JP10118121 A JP 10118121A JP 11812198 A JP11812198 A JP 11812198A JP H11312151 A JPH11312151 A JP H11312151A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- program
- programming language
- dependent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】分散オブジェクト間の要求や応答を処理するオ
ブジェクトリクエストブローカ(以下、ORB)におい
て、ORB間の通信で使用する特定の計算機に依存しな
いデータ(通信データ)から特定のプログラム言語依存
のデータ形式(プログラムデータ)への変換処理を高速
化する。 【解決手段】ORBが送受信した通信データおよび、そ
れに対応するプログラムデータへの変換の対応を高速ア
クセスが可能な記憶装置にキャッシュとして格納する。
2回目以降にキャッシュされた同一の通信データの受信
又はプログラムデータの送信処理が発生した場合にはキ
ャッシュされている変換結果を使用する。 【効果】
ブジェクトリクエストブローカ(以下、ORB)におい
て、ORB間の通信で使用する特定の計算機に依存しな
いデータ(通信データ)から特定のプログラム言語依存
のデータ形式(プログラムデータ)への変換処理を高速
化する。 【解決手段】ORBが送受信した通信データおよび、そ
れに対応するプログラムデータへの変換の対応を高速ア
クセスが可能な記憶装置にキャッシュとして格納する。
2回目以降にキャッシュされた同一の通信データの受信
又はプログラムデータの送信処理が発生した場合にはキ
ャッシュされている変換結果を使用する。 【効果】
Description
【0001】
【発明の属する技術分野】本発明は分散コンピューティ
ングを行う複数計算機上の分散オブジェクト間の通信に
使用され、計算機内の特定のプログラム言語のデータ形
式と計算機間の通信で用いられるストリーム型のデータ
との相互変換方法に関するものである。
ングを行う複数計算機上の分散オブジェクト間の通信に
使用され、計算機内の特定のプログラム言語のデータ形
式と計算機間の通信で用いられるストリーム型のデータ
との相互変換方法に関するものである。
【0002】
【従来の技術】一般的にあるプログラムから他のプログ
ラムを呼び出すときは、同一計算機上で特定のオペレー
ティングシステム、特定のプログラム言語に依存したイ
ンタフェースを使用してデータの送受信を行っている。
これに対して、分散コンピューティング環境において
は、複数のプログラム(分散オブジェクト)が複数の計
算機に跨って存在でき送受信できる。ここで、処理を要
求する分散オブジェクトをクライアントオブジェクトと
呼び、クライアントオブジェクトからの要求を処理する
分散オブジェクトをサーバオブジェクトと呼ぶ。また、
クライアントオブジェクトからの要求を受け付け、要求
を処理する適切なサーバオブジェクトを検索し、サーバ
オブジェクトの存在する計算機と通信を行い、サーバオ
ブジェクトを呼び出す機能をオブジェクトリクエストブ
ローカ(ORB)と呼ぶ。複数計算機間でクライアント
オブジェクトとサーバオブジェクトが通信する場合は、
ORBが特定の計算機のアーキテクチャ、特定のオペレ
ーティングシステム、特定のプログラム言語に依存しな
い中立的なストリーム形式のデータを用いてデータの交
換を行う。従って、ORBは特定の計算機のアーキテク
チャ、特定のオペレーティングシステム、特定のプログ
ラム言語形式から中立的なデータストリームに変換する
処理(マーシャリング)及び、その逆の処理(アンマー
シャリング)が必要になる。
ラムを呼び出すときは、同一計算機上で特定のオペレー
ティングシステム、特定のプログラム言語に依存したイ
ンタフェースを使用してデータの送受信を行っている。
これに対して、分散コンピューティング環境において
は、複数のプログラム(分散オブジェクト)が複数の計
算機に跨って存在でき送受信できる。ここで、処理を要
求する分散オブジェクトをクライアントオブジェクトと
呼び、クライアントオブジェクトからの要求を処理する
分散オブジェクトをサーバオブジェクトと呼ぶ。また、
クライアントオブジェクトからの要求を受け付け、要求
を処理する適切なサーバオブジェクトを検索し、サーバ
オブジェクトの存在する計算機と通信を行い、サーバオ
ブジェクトを呼び出す機能をオブジェクトリクエストブ
ローカ(ORB)と呼ぶ。複数計算機間でクライアント
オブジェクトとサーバオブジェクトが通信する場合は、
ORBが特定の計算機のアーキテクチャ、特定のオペレ
ーティングシステム、特定のプログラム言語に依存しな
い中立的なストリーム形式のデータを用いてデータの交
換を行う。従って、ORBは特定の計算機のアーキテク
チャ、特定のオペレーティングシステム、特定のプログ
ラム言語形式から中立的なデータストリームに変換する
処理(マーシャリング)及び、その逆の処理(アンマー
シャリング)が必要になる。
【0003】
【発明が解決しようとする課題】一般にサーバオブジェ
クトはある計算機上に常駐的に存在し、不特定多数のク
ライアントオブジェクトからの要求を複数回処理する。
クライアントオブジェクトからの要求が来るたびにアン
マーシャリング処理が発生し、その要求に対する応答を
返すごとにマーシャリング処理が発生する。複雑なデー
タ形式がクライアントとサーバ間で交換される場合、そ
のマーシャリング、アンマーシャリングに要する計算機
資源(CPU,メモリ容量)の負荷は大きい。本発明で
は、複数回クライアント、サーバ間で送受信が発生した
場合の高速な処理方式を提供することを目的とする。
クトはある計算機上に常駐的に存在し、不特定多数のク
ライアントオブジェクトからの要求を複数回処理する。
クライアントオブジェクトからの要求が来るたびにアン
マーシャリング処理が発生し、その要求に対する応答を
返すごとにマーシャリング処理が発生する。複雑なデー
タ形式がクライアントとサーバ間で交換される場合、そ
のマーシャリング、アンマーシャリングに要する計算機
資源(CPU,メモリ容量)の負荷は大きい。本発明で
は、複数回クライアント、サーバ間で送受信が発生した
場合の高速な処理方式を提供することを目的とする。
【0004】
【課題を解決するための手段】上記の目的を達成するた
め、特定の計算機上の特定のプログラム言語依存のデー
タ形式を特定の計算機に依存しないストリーム化された
データに変換する装置において、プログラム言語依存の
データ形式とストリーム化されたデータの対応を記憶す
るキャッシュ部と、プログラム言語依存のデータ形式の
全体又は一部がキャッシュに記憶されているかを検索し
キャッシュ上に存在した場合はキャッシュ上のデータを
用いて変換を行い、キャッシュ上に存在しない場合は、
キャッシュを使用せずにプログラム言語依存のデータ形
式をストリーム化されたデータに変換するマーシャリン
グ部と、プログラム言語依存のデータ形式をストリーム
化されたデータに変換、または、ストリーム化されたデ
ータをプログラム言語依存のデータ形式に変換時に、そ
の結果をキャッシュに登録するキャッシュ登録部を具え
る。このような構成で、データを送信時、マーシャリン
グ部は受信したデータがキャッシュ上に存在しているか
どうかを検索し、データが存在する場合はキャッシュを
参照して高速に変換し、存在していなかった場合はキャ
ッシュを用いずに通常の方法で低速にデータを変換す
る。通常の方法で変換したときは変換結果をキャッシュ
登録部を使用してキャッシュに登録する。
め、特定の計算機上の特定のプログラム言語依存のデー
タ形式を特定の計算機に依存しないストリーム化された
データに変換する装置において、プログラム言語依存の
データ形式とストリーム化されたデータの対応を記憶す
るキャッシュ部と、プログラム言語依存のデータ形式の
全体又は一部がキャッシュに記憶されているかを検索し
キャッシュ上に存在した場合はキャッシュ上のデータを
用いて変換を行い、キャッシュ上に存在しない場合は、
キャッシュを使用せずにプログラム言語依存のデータ形
式をストリーム化されたデータに変換するマーシャリン
グ部と、プログラム言語依存のデータ形式をストリーム
化されたデータに変換、または、ストリーム化されたデ
ータをプログラム言語依存のデータ形式に変換時に、そ
の結果をキャッシュに登録するキャッシュ登録部を具え
る。このような構成で、データを送信時、マーシャリン
グ部は受信したデータがキャッシュ上に存在しているか
どうかを検索し、データが存在する場合はキャッシュを
参照して高速に変換し、存在していなかった場合はキャ
ッシュを用いずに通常の方法で低速にデータを変換す
る。通常の方法で変換したときは変換結果をキャッシュ
登録部を使用してキャッシュに登録する。
【0005】本発明では、特定の計算機に依存しないス
トリーム化されたデータを特定の計算機上の特定のプロ
グラム言語依存のデータ形式に変換する装置において、
ストリーム化されたデータとプログラム言語依存のデー
タ形式の対応を記憶するキャッシュ部と、ストリーム化
されたデータの全体又は一部がキャッシュに記憶されて
いるかを検索しキャッシュ上に存在した場合はキャッシ
ュ上のデータを用いて変換を行い、キャッシュ上に存在
しなかった場合は、キャッシュを使用せずにストリーム
化されたデータをプログラム言語依存のデータ形式に変
換するアンマーシャリング部と、ストリーム化されたデ
ータをプログラム言語依存のデータ形式に変換、また
は、プログラム言語依存のデータ形式をストリーム化さ
れたデータに変換時に、その結果をキャッシュに登録す
るキャッシュ登録部を具える。このような構成で、デー
タを受信時、アンマーシャリング部は受信したデータが
キャッシュ上に存在しているかどうかを検索し、データ
が存在する場合はキャッシュを用いて高速に変換し、存
在していなかった場合はキャッシュを用いずに通常の方
法で低速にデータを変換する。通常の方法で変換したと
きは変換結果をキャッシュ登録部を使用してキャッシュ
に登録する。
トリーム化されたデータを特定の計算機上の特定のプロ
グラム言語依存のデータ形式に変換する装置において、
ストリーム化されたデータとプログラム言語依存のデー
タ形式の対応を記憶するキャッシュ部と、ストリーム化
されたデータの全体又は一部がキャッシュに記憶されて
いるかを検索しキャッシュ上に存在した場合はキャッシ
ュ上のデータを用いて変換を行い、キャッシュ上に存在
しなかった場合は、キャッシュを使用せずにストリーム
化されたデータをプログラム言語依存のデータ形式に変
換するアンマーシャリング部と、ストリーム化されたデ
ータをプログラム言語依存のデータ形式に変換、また
は、プログラム言語依存のデータ形式をストリーム化さ
れたデータに変換時に、その結果をキャッシュに登録す
るキャッシュ登録部を具える。このような構成で、デー
タを受信時、アンマーシャリング部は受信したデータが
キャッシュ上に存在しているかどうかを検索し、データ
が存在する場合はキャッシュを用いて高速に変換し、存
在していなかった場合はキャッシュを用いずに通常の方
法で低速にデータを変換する。通常の方法で変換したと
きは変換結果をキャッシュ登録部を使用してキャッシュ
に登録する。
【0006】
【発明の実施の形態】図1は本発明の実施する分散コン
ピューティング環境の構成と本発明でのデータの流れを
示した図である。図において、クライアントプログラム
111内部には計算機や記述されたプログラムに依存し
たプログラムデータ113、122、リンケージされた
プログラムORB141を内蔵している。また、サーバ
プログラム112内部には計算機や記述されたプログラ
ムに依存したプログラムデータ117、118、リンケ
ージされたプログラムORB142を内蔵している。
ピューティング環境の構成と本発明でのデータの流れを
示した図である。図において、クライアントプログラム
111内部には計算機や記述されたプログラムに依存し
たプログラムデータ113、122、リンケージされた
プログラムORB141を内蔵している。また、サーバ
プログラム112内部には計算機や記述されたプログラ
ムに依存したプログラムデータ117、118、リンケ
ージされたプログラムORB142を内蔵している。
【0007】次に図1でどのようにクライアントプログ
ラム111とサーバプログラム112がデータを交換す
るかをデータの流れで説明する。クライアントプログラ
ム111はクライアントプログラムが動作する計算機や
記述されたプログラムに依存したプログラムデータ11
3をサーバプログラム112に送信するため、ORB1
41のマーシャリング部114でプログラムデータ11
3から特定計算機やプログラム言語に非依存な通信デー
タ115へ変換する。この時に、クライアントプログラ
ムのキャッシュ131を参照し、プログラムデータ11
3の全て又は一部がキャッシュ131に存在すればそれ
を利用して要求通信データ115に変換する。変換後サ
ーバプログラム112に送信する。
ラム111とサーバプログラム112がデータを交換す
るかをデータの流れで説明する。クライアントプログラ
ム111はクライアントプログラムが動作する計算機や
記述されたプログラムに依存したプログラムデータ11
3をサーバプログラム112に送信するため、ORB1
41のマーシャリング部114でプログラムデータ11
3から特定計算機やプログラム言語に非依存な通信デー
タ115へ変換する。この時に、クライアントプログラ
ムのキャッシュ131を参照し、プログラムデータ11
3の全て又は一部がキャッシュ131に存在すればそれ
を利用して要求通信データ115に変換する。変換後サ
ーバプログラム112に送信する。
【0008】サーバプログラム112ではORB142
のアンマーシャリング部116で受信した要求通信デー
タ115をサーバプログラムが動作する計算機や記述さ
れたプログラムに依存したプログラムデータ117に変
換する。この時に、サーバプログラムのキャッシュ13
2を参照し、要求通信データ115の全て又は一部がキ
ャッシュ132に存在すればそれを利用してプログラム
データ117に変換する。
のアンマーシャリング部116で受信した要求通信デー
タ115をサーバプログラムが動作する計算機や記述さ
れたプログラムに依存したプログラムデータ117に変
換する。この時に、サーバプログラムのキャッシュ13
2を参照し、要求通信データ115の全て又は一部がキ
ャッシュ132に存在すればそれを利用してプログラム
データ117に変換する。
【0009】サーバプログラムはクライアントからの要
求を処理後、結果のプログラムデータ118をクライア
ントプログラムに返すため、ORB142のマーシャリ
ング部119で応答通信データ120に変換する。この
時に、サーバプログラムのキャッシュ132を参照し、
プログラムデータ118の全て又は一部がキャッシュ1
32に存在すればそれを利用して応答通信データ120
に変換する。変換された応答通信データ120はクライ
アントプログラムに送信される。
求を処理後、結果のプログラムデータ118をクライア
ントプログラムに返すため、ORB142のマーシャリ
ング部119で応答通信データ120に変換する。この
時に、サーバプログラムのキャッシュ132を参照し、
プログラムデータ118の全て又は一部がキャッシュ1
32に存在すればそれを利用して応答通信データ120
に変換する。変換された応答通信データ120はクライ
アントプログラムに送信される。
【0010】クライアントプログラム111では受信し
たデータをORB141のアンマーシャリング部121
でクライアントプログラム依存のプログラムデータ12
2に変換する。この時に、クライアントプログラムのキ
ャッシュ131を参照し、応答通信データ120の全て
又は一部がキャッシュ131に存在すればそれを利用し
てプログラムデータ122に変換する。このようにし
て、分散したクライアントとサーバのプログラム間で高
速なデータの受け渡しができる。
たデータをORB141のアンマーシャリング部121
でクライアントプログラム依存のプログラムデータ12
2に変換する。この時に、クライアントプログラムのキ
ャッシュ131を参照し、応答通信データ120の全て
又は一部がキャッシュ131に存在すればそれを利用し
てプログラムデータ122に変換する。このようにし
て、分散したクライアントとサーバのプログラム間で高
速なデータの受け渡しができる。
【0011】次に、請求項1に対応する図1のマーシャ
リング部114、119での処理の実施例を示す。本説
明では図1のマーシャリング部114を例に採って説明
するがマーシャリング部119でも同様な実施例が可能
である。
リング部114、119での処理の実施例を示す。本説
明では図1のマーシャリング部114を例に採って説明
するがマーシャリング部119でも同様な実施例が可能
である。
【0012】図2はマーシャリング時のキャッシュの構
造とマーシャリング処理のデータの流れを示した図であ
る。まず、キャッシュの構造を説明する。キャッシュは
プログラムデータの型毎にプログラムデータの内容とそ
れに対応する通信データの内容の対を格納している(図
2の例ではaTable構造体に対するプログラムデータキャ
ッシュ211と通信データキャッシュ212の対)。プ
ログラムデータがユーザ定義の場合、キャッシュではユ
ーザ定義型のプログラムデータの各要素(ユーザ定義型
又は基本型)毎に、それに対応する通信データの先頭か
らのオフセットを記憶している。図2の例では、ユーザ
定義型及び基本型毎にキャッシュを持つ方式を示してい
る。本図ではキャッシュ上に一対の通信データとプログ
ラムデータの対応を示したが、キャッシュ上には複数対
の通信データとプログラムデータの対応を持つことも可
能である。
造とマーシャリング処理のデータの流れを示した図であ
る。まず、キャッシュの構造を説明する。キャッシュは
プログラムデータの型毎にプログラムデータの内容とそ
れに対応する通信データの内容の対を格納している(図
2の例ではaTable構造体に対するプログラムデータキャ
ッシュ211と通信データキャッシュ212の対)。プ
ログラムデータがユーザ定義の場合、キャッシュではユ
ーザ定義型のプログラムデータの各要素(ユーザ定義型
又は基本型)毎に、それに対応する通信データの先頭か
らのオフセットを記憶している。図2の例では、ユーザ
定義型及び基本型毎にキャッシュを持つ方式を示してい
る。本図ではキャッシュ上に一対の通信データとプログ
ラムデータの対応を示したが、キャッシュ上には複数対
の通信データとプログラムデータの対応を持つことも可
能である。
【0013】次に、図2と図3を用い、マーシャリング
処理のデータの流れと制御の流れを説明する。マーシャ
リング部ではまず、送信したいプログラムデータ113
とその型に対応したキャッシュ上のプログラムデータ2
11を比較し(S311)、内容が同一か否かをチェッ
クする(S312)。ここで、チェックするデータが構
造体や共用体等のユーザ定義型の場合も、そのユーザ定
義型を構成する型へ分解せずに、構造体同士をメモリ上
で比較する。その結果、内容が同一の場合は次のデータ
をチェックする。内容に差異があった場合は、差異を検
出するまで同一だったプログラムデータに対応するキャ
ッシュ上の通信データ212を要求通信データ115に
コピーする(S313)。差異のあったプログラムデー
タが基本型かユーザ定義型かをチェックし(S314)
基本型の場合はプログラムデータを通信データへ変換処
理を行い(S315)、ユーザ定義型の場合はリカーシ
ブにマーシャリング処理を呼び出す(S316)(図2
の例では出力プログラムデータ113の不一致だった構
造体aStrを引数にマーシャリング処理をリカーシブコー
ルする)。S315またはS316での変換結果をキャ
ッシュに登録する(S317)。S311からS317
までの処理を全てのデータに対して実行し、データがな
くなった場合(S310)その時点でキャッシュ上に残
っている通信データをコピーする(S318)。
処理のデータの流れと制御の流れを説明する。マーシャ
リング部ではまず、送信したいプログラムデータ113
とその型に対応したキャッシュ上のプログラムデータ2
11を比較し(S311)、内容が同一か否かをチェッ
クする(S312)。ここで、チェックするデータが構
造体や共用体等のユーザ定義型の場合も、そのユーザ定
義型を構成する型へ分解せずに、構造体同士をメモリ上
で比較する。その結果、内容が同一の場合は次のデータ
をチェックする。内容に差異があった場合は、差異を検
出するまで同一だったプログラムデータに対応するキャ
ッシュ上の通信データ212を要求通信データ115に
コピーする(S313)。差異のあったプログラムデー
タが基本型かユーザ定義型かをチェックし(S314)
基本型の場合はプログラムデータを通信データへ変換処
理を行い(S315)、ユーザ定義型の場合はリカーシ
ブにマーシャリング処理を呼び出す(S316)(図2
の例では出力プログラムデータ113の不一致だった構
造体aStrを引数にマーシャリング処理をリカーシブコー
ルする)。S315またはS316での変換結果をキャ
ッシュに登録する(S317)。S311からS317
までの処理を全てのデータに対して実行し、データがな
くなった場合(S310)その時点でキャッシュ上に残
っている通信データをコピーする(S318)。
【0014】次に、図1のアンマーシャリング部11
6、121での処理の実施例を示す。本説明では図1の
アンマーシャリング部116を例に採って説明するがア
ンマーシャリング部121でも同様な実施例が可能であ
る。
6、121での処理の実施例を示す。本説明では図1の
アンマーシャリング部116を例に採って説明するがア
ンマーシャリング部121でも同様な実施例が可能であ
る。
【0015】図4はアンマーシャリング時のキャッシュ
の構造とアンマーシャリング処理のデータの流れを示し
た図である。まず、キャッシュの構造を説明する。キャ
ッシュはプログラムデータの型毎にプログラムデータの
内容とそれに対応する通信データの内容の対を格納して
いる(図4の例ではaTable構造体に対する通信データキ
ャッシュ411とプログラムデータキャッシュ412の
対)。プログラムデータがユーザ定義型の場合、キャッ
シュではユーザ定義型のプログラムデータの各要素(ユ
ーザ定義型又は基本型)毎に、それに対応する通信デー
タの先頭からのオフセットを記憶している。この関連を
利用して、通信データの任意のオフセットがプログラム
データのどの要素に対応しているかが分かる。図4の例
では、ユーザ定義型及び基本型毎にキャッシュを持つ方
式を示している。本図ではキャッシュ上に型毎に一対の
通信データとプログラムデータの対応を示したが、キャ
ッシュ上には複数対の通信データとプログラムデータの
対応を持つことも可能である。
の構造とアンマーシャリング処理のデータの流れを示し
た図である。まず、キャッシュの構造を説明する。キャ
ッシュはプログラムデータの型毎にプログラムデータの
内容とそれに対応する通信データの内容の対を格納して
いる(図4の例ではaTable構造体に対する通信データキ
ャッシュ411とプログラムデータキャッシュ412の
対)。プログラムデータがユーザ定義型の場合、キャッ
シュではユーザ定義型のプログラムデータの各要素(ユ
ーザ定義型又は基本型)毎に、それに対応する通信デー
タの先頭からのオフセットを記憶している。この関連を
利用して、通信データの任意のオフセットがプログラム
データのどの要素に対応しているかが分かる。図4の例
では、ユーザ定義型及び基本型毎にキャッシュを持つ方
式を示している。本図ではキャッシュ上に型毎に一対の
通信データとプログラムデータの対応を示したが、キャ
ッシュ上には複数対の通信データとプログラムデータの
対応を持つことも可能である。
【0016】次に、図4と図5を用い、アンマーシャリ
ング処理のデータの流れと制御の流れを説明する。アン
マーシャリング部ではまず、受信した要求通信データ1
15とキャッシュ上の通信データ411をオクテット単
位で比較し(S511)、同一の値を持っているか否か
をチェックする(S512)。その結果、同一の値を持
っている場合は次のオクテットをチェックする。同一の
値を持っておらず差異があった場合は、差異を検出する
まで同一だった通信データに対応するキャッシュ上のプ
ログラムデータ412を出力プログラムデータ117に
コピーする(S513)。差異のあったプログラムデー
タが基本型かユーザ定義型かをチェックし(S514)
基本型の場合は通信データをプログラムデータへ変換処
理を行い(S515)、ユーザ定義型の場合はリカーシ
ブにアンマーシャリング処理を呼び出す(S516)。
S515またはS516での変換結果をキャッシュに登
録する(S517)。S511からS517までの処理
を通信データの全オクテットに対して実行し、データが
なくなった場合(S510)その時点でキャッシュ上に
残っているプログラムデータをコピーする(S51
8)。
ング処理のデータの流れと制御の流れを説明する。アン
マーシャリング部ではまず、受信した要求通信データ1
15とキャッシュ上の通信データ411をオクテット単
位で比較し(S511)、同一の値を持っているか否か
をチェックする(S512)。その結果、同一の値を持
っている場合は次のオクテットをチェックする。同一の
値を持っておらず差異があった場合は、差異を検出する
まで同一だった通信データに対応するキャッシュ上のプ
ログラムデータ412を出力プログラムデータ117に
コピーする(S513)。差異のあったプログラムデー
タが基本型かユーザ定義型かをチェックし(S514)
基本型の場合は通信データをプログラムデータへ変換処
理を行い(S515)、ユーザ定義型の場合はリカーシ
ブにアンマーシャリング処理を呼び出す(S516)。
S515またはS516での変換結果をキャッシュに登
録する(S517)。S511からS517までの処理
を通信データの全オクテットに対して実行し、データが
なくなった場合(S510)その時点でキャッシュ上に
残っているプログラムデータをコピーする(S51
8)。
【0017】
【発明の効果】一般にサーバオブジェクトはある計算機
上に常駐的に存在し、不特定多数のクライアントオブジ
ェクトから同様な要求を複数回処理する。従来はこの複
数回の同様な処理要求に対してマーシャリング、アンマ
ーシャリング処理を独立に実行するため、複雑なデータ
形式がクライアントとサーバ間で交換される場合、その
マーシャリング、アンマーシャリングに要する計算機資
源(CPU,メモリ容量)の負荷は大きい。本発明で
は、一度処理した変換処理をキャッシュに格納して次回
以降これを活用することによりマーシャリング、アンマ
ーシャリングに要する計算機資源を低減することが可能
となる。
上に常駐的に存在し、不特定多数のクライアントオブジ
ェクトから同様な要求を複数回処理する。従来はこの複
数回の同様な処理要求に対してマーシャリング、アンマ
ーシャリング処理を独立に実行するため、複雑なデータ
形式がクライアントとサーバ間で交換される場合、その
マーシャリング、アンマーシャリングに要する計算機資
源(CPU,メモリ容量)の負荷は大きい。本発明で
は、一度処理した変換処理をキャッシュに格納して次回
以降これを活用することによりマーシャリング、アンマ
ーシャリングに要する計算機資源を低減することが可能
となる。
【図1】本発明のORBでの実施例の概要を示した図で
ある。
ある。
【図2】本発明のマーシャリングの実施例でのデータの
流れとキャッシュの構造を示す図である。
流れとキャッシュの構造を示す図である。
【図3】本発明のマーシャリングの実施例での処理の流
れを示すフローチャートである。
れを示すフローチャートである。
【図4】本発明のアンマーシャリングの実施例でのデー
タの流れとキャッシュの構造を示す図である。
タの流れとキャッシュの構造を示す図である。
【図5】本発明のアンマーシャリングの実施例での処理
の流れを示すフローチャートである。
の流れを示すフローチャートである。
111 クライアントプログラム 112 サーバプログラム 114 クライアントプログラムのマーシャリング部 116 サーバプログラムのアンマーシャリング部 119 サーバプログラムのマーシャリング部 クライアントプログラムのアンマーシャリング部 131 クライアントプログラムのキャッシュ部 132 サーバプログラムのキャッシュ部 141 クライアントプログラムのORB 142 クライアントプログラムのORB
Claims (2)
- 【請求項1】分散コンピューティング環境において特定
の計算機上の特定のプログラム言語依存のデータ形式を
特定の計算機に依存しないストリーム化されたデータに
変換する装置において、 プログラム言語依存のデータ形式とストリーム化された
データの対応を記憶するキャッシュ部と、 プログラム言語依存のデータ形式の全体又は一部がキャ
ッシュに記憶されているかを検索しキャッシュ上に存在
した場合はキャッシュ上のデータを用いて変換を行い、
キャッシュ上に存在しない場合は、キャッシュを使用せ
ずにプログラム言語依存のデータ形式をストリーム化さ
れたデータに変換するマーシャリング部と、 プログラム言語依存のデータ形式をストリーム化された
データに変換、または、ストリーム化されたデータをプ
ログラム言語依存のデータ形式に変換時に、その結果を
キャッシュに登録するキャッシュ登録部を具えることを
特徴とする装置。 - 【請求項2】分散コンピューティング環境において特定
の計算機に依存しないストリーム化されたデータを特定
の計算機上の特定のプログラム言語依存のデータ形式に
変換する装置において、 ストリーム化されたデータとプログラム言語依存のデー
タ形式の対応を記憶するキャッシュ部と、 ストリーム化されたデータの全体又は一部がキャッシュ
に記憶されているかを検索しキャッシュ上に存在した場
合はキャッシュ上のデータを用いて変換を行い、キャッ
シュ上に存在しなかった場合は、キャッシュを使用せず
にストリーム化されたデータをプログラム言語依存のデ
ータ形式に変換するアンマーシャリング部と、 ストリーム化されたデータをプログラム言語依存のデー
タ形式に変換、または、プログラム言語依存のデータ形
式をストリーム化されたデータに変換時に、その結果を
キャッシュに登録するキャッシュ登録部を具えることを
特徴とする装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10118121A JPH11312151A (ja) | 1998-04-28 | 1998-04-28 | 高速な分散オブジェクトリクエストブローカ |
US10/603,694 US6836892B2 (en) | 1998-04-28 | 2003-06-26 | Apparatus and method for use in distributed computing environment for converting data format between program language-specific format used in respective computers and stream format used for communication among computers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10118121A JPH11312151A (ja) | 1998-04-28 | 1998-04-28 | 高速な分散オブジェクトリクエストブローカ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11312151A true JPH11312151A (ja) | 1999-11-09 |
Family
ID=14728563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10118121A Pending JPH11312151A (ja) | 1998-04-28 | 1998-04-28 | 高速な分散オブジェクトリクエストブローカ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6836892B2 (ja) |
JP (1) | JPH11312151A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565664B2 (en) | 2002-06-28 | 2009-07-21 | Hitachi, Ltd. | Distributed object controlling method and its carrying out system |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089562B1 (en) | 2000-05-04 | 2006-08-08 | International Business Machines Corporation | Universal driver server |
US20040098717A1 (en) * | 2002-09-16 | 2004-05-20 | Husain Syed Mohammad Amir | System and method for creating complex distributed applications |
US7266717B2 (en) * | 2004-01-26 | 2007-09-04 | Network Appliance, Inc. | System and method of selection and communication of a disk for storage of a coredump |
US7904488B2 (en) | 2004-07-21 | 2011-03-08 | Rockwell Automation Technologies, Inc. | Time stamp methods for unified plant model |
US8756521B1 (en) | 2004-09-30 | 2014-06-17 | Rockwell Automation Technologies, Inc. | Systems and methods for automatic visualization configuration |
US8799800B2 (en) | 2005-05-13 | 2014-08-05 | Rockwell Automation Technologies, Inc. | Automatic user interface generation |
US7809683B2 (en) | 2005-05-13 | 2010-10-05 | Rockwell Automation Technologies, Inc. | Library that includes modifiable industrial automation objects |
US7672737B2 (en) | 2005-05-13 | 2010-03-02 | Rockwell Automation Technologies, Inc. | Hierarchically structured data model for utilization in industrial automation environments |
US7676281B2 (en) | 2005-05-13 | 2010-03-09 | Rockwell Automation Technologies, Inc. | Distributed database in an industrial automation environment |
US7650405B2 (en) | 2005-05-13 | 2010-01-19 | Rockwell Automation Technologies, Inc. | Tracking and tracing across process boundaries in an industrial automation environment |
US7881812B2 (en) | 2005-09-29 | 2011-02-01 | Rockwell Automation Technologies, Inc. | Editing and configuring device |
US7548789B2 (en) | 2005-09-29 | 2009-06-16 | Rockwell Automation Technologies, Inc. | Editing lifecycle and deployment of objects in an industrial automation environment |
US8484250B2 (en) | 2005-09-30 | 2013-07-09 | Rockwell Automation Technologies, Inc. | Data federation with industrial control systems |
US7801628B2 (en) | 2005-09-30 | 2010-09-21 | Rockwell Automation Technologies, Inc. | Industrial operator interfaces interacting with higher-level business workflow |
US7660638B2 (en) | 2005-09-30 | 2010-02-09 | Rockwell Automation Technologies, Inc. | Business process execution engine |
US7734590B2 (en) | 2005-09-30 | 2010-06-08 | Rockwell Automation Technologies, Inc. | Incremental association of metadata to production data |
US8275680B2 (en) | 2005-09-30 | 2012-09-25 | Rockwell Automation Technologies, Inc. | Enabling transactional mechanisms in an automated controller system |
US8239837B2 (en) * | 2007-05-15 | 2012-08-07 | International Business Machines Corporation | Remotely handling exceptions through STAF |
US8239877B2 (en) * | 2007-08-28 | 2012-08-07 | International Business Machines Corporation | Pre-population of meta data cache for resolution of data marshaling issues |
US8457034B2 (en) * | 2008-06-17 | 2013-06-04 | Raytheon Company | Airborne communication network |
US8484401B2 (en) | 2010-04-15 | 2013-07-09 | Rockwell Automation Technologies, Inc. | Systems and methods for conducting communications among components of multidomain industrial automation system |
US8984533B2 (en) | 2010-04-15 | 2015-03-17 | Rockwell Automation Technologies, Inc. | Systems and methods for conducting communications among components of multidomain industrial automation system |
US9392072B2 (en) | 2010-04-15 | 2016-07-12 | Rockwell Automation Technologies, Inc. | Systems and methods for conducting communications among components of multidomain industrial automation system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557798A (en) | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
DE69533148T2 (de) | 1994-05-26 | 2005-08-25 | Sun Microsystems, Inc., Santa Clara | Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen |
US5940596A (en) * | 1996-03-25 | 1999-08-17 | I-Cube, Inc. | Clustered address caching system for a network switch |
US5860072A (en) | 1996-07-11 | 1999-01-12 | Tandem Computers Incorporated | Method and apparatus for transporting interface definition language-defined data structures between heterogeneous systems |
US5793970A (en) | 1996-07-11 | 1998-08-11 | Microsoft Corporation | Method and computer program product for converting message identification codes using a conversion map accesible via a data link |
-
1998
- 1998-04-28 JP JP10118121A patent/JPH11312151A/ja active Pending
-
2003
- 2003-06-26 US US10/603,694 patent/US6836892B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565664B2 (en) | 2002-06-28 | 2009-07-21 | Hitachi, Ltd. | Distributed object controlling method and its carrying out system |
Also Published As
Publication number | Publication date |
---|---|
US20040031037A1 (en) | 2004-02-12 |
US6836892B2 (en) | 2004-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11312151A (ja) | 高速な分散オブジェクトリクエストブローカ | |
EP0767563B1 (en) | Method and apparatus for multiprotocol operation in a client/server system | |
JP3411273B2 (ja) | プロセッサでのデータ処理方法及びデータ処理システム | |
US7757232B2 (en) | Method and apparatus for implementing work request lists | |
JP2001522086A (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
JP2000020490A (ja) | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 | |
US6516354B2 (en) | Method and apparatus for efficient representation of variable length identifiers in a distributed object system | |
EP0767428B1 (en) | Method and apparatus for dynamically loading method call exception code | |
US8135851B2 (en) | Object request broker for accelerating object-oriented communications and method | |
JP2993728B2 (ja) | プロトコル高速処理装置 | |
US8176117B2 (en) | Accelerator for object-oriented communications and method | |
JPH06301655A (ja) | 分散処理システム | |
JP2005528671A (ja) | 多重プロセッサデータ処理システムにおけるデータ処理方法及び対応するデータ処理システム | |
JPH04274535A (ja) | 複数os上ファイルアクセス方式 | |
JPS59220866A (ja) | 分散処理方式 | |
JPH1185548A (ja) | 情報を送る方法、装置、およびコンピュータ・プログラム製品 | |
JP2003157178A (ja) | Xmlデータによる遠隔オブジェクト呼出し方法 | |
KR100579130B1 (ko) | 라우터 이중화 실현을 위한 라우팅 엔트리 정보 이중화 방법 | |
JP2001167059A (ja) | サービス要求装置およびデータ変換方法およびクライアントオブジェクトを有する計算機 | |
JP3007340B1 (ja) | 機能呼び出し方法、並列分散処理システムおよびコンピュータ | |
JP3307331B2 (ja) | ネットワークファイルシステムのデータ転送方法 | |
JP2000227860A (ja) | 並行アクセス制御方法とその装置及びマルチスレッドプロセス方法 | |
KR100272094B1 (ko) | 객체전이 시스템 및 방법 | |
JPH04335455A (ja) | 異なるコード体系のコンピュータ間通信方式 | |
CN118093225A (zh) | 订阅消息的传输方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050329 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051004 |