JP2003167862A - 分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラム - Google Patents
分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラムInfo
- Publication number
- JP2003167862A JP2003167862A JP2001366594A JP2001366594A JP2003167862A JP 2003167862 A JP2003167862 A JP 2003167862A JP 2001366594 A JP2001366594 A JP 2001366594A JP 2001366594 A JP2001366594 A JP 2001366594A JP 2003167862 A JP2003167862 A JP 2003167862A
- Authority
- JP
- Japan
- Prior art keywords
- server
- list
- information
- accessing
- ior
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4553—Object oriented directories, e.g. common object request broker architecture [CORBA] name server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
ーミングサーバがダウンするリスクが内システムを構築
するためのサーバ、方法及びプログラムを提供すること
を目的とする。 【解決手段】 分散オブジェクト・システムに新たに接
続されたサーバが、システムで利用可能なオブジェクト
にアクセスするためのリストを作成し、全サーバがこの
リストを用いることて通信を行うことができるようにす
る。また、分散オブジェクト・システムの中に停止した
サーバを発見したサーバが、利用可能なオブジェクトに
アクセスするためのリストを更新できるようにする。
Description
・システムにおいてオブジェクトの所在を特定するため
の装置、方法及びプログラムに関する。
て、分散オブジェクト技術を利用した分散オブジェクト
・システムが利用されるようになってきている。分散オ
ブジェクトとは、複数台のコンピュータに分散させて機
能させることが可能な、独自の値と単独の振る舞いをも
って動作するソフトウェアのかたまりである。具体的に
は、各コンピュータ上のオブジェクト同士がネットワー
クを介して相互的に動作する環境を実現したり、ソフト
ウェア・リソースを容易に共有するための技術を提供す
る。分散オブジェクト技術を利用することで、主として
以下の二点のメリットが得られる。一つは、低いコスト
で高度なシステムを開発できるメリットである。他の一
つは、複数のコンピュータに分散させる必要があるよう
な複雑なシステムでも、オブジェクトを自由に配置でき
るため、分散システムを容易に構築できるというメリッ
トである。
において、サービスや機能の提供者は「サーバ」と呼ば
れ、サービスや機能の消費者は「クライアント」と呼ば
れる。分散オブジェクトは、例えば、クライアントのア
ドレス空間、クライアント・マシン上の多重アドレス空
間、ネットワーク全体のマシンの中など、ネットワーク
内の任意のロケーションに存在していてもよい。また、
このようなオブジェクト・モデル内では、クライアント
とサーバは役割であって、通常、単一プログラムに対す
る相互排他的タスクではない。つまり、あるコンピュー
タ(オブジェクト)は、ある処理に対してはクライアン
トであり、他の処理に対してはサーバとなりうる。
トを名前で管理する場合が多い。このような構成にすれ
ば、あるオブジェクトを全く異なるコンピュータ上に移
動する場合でも、オブジェクト検索用のデータベースの
情報を変更するだけですむといったメリットがある。つ
まり、クライアントには環境的な変化による影響を全く
与えずにすむ。
クト技術としては、例えば、OMG(Object Managemen
t Group )で規格化されたCORBA(Common Object
Request Broker Architecture )がある。CORBA
は、ネーミング・サービスによって、ORB(Object R
equest Broker )上でオブジェクトが他のオブジェクト
の所在を特定している。ORBとは、分散環境における
オブジェクト間のやりとりを実現するためのメカニズム
で、クライアント・オブジェクトとサーバ・オブジェク
トとの間の通信を仲介する。
ネーミング・コンテキストというオブジェクト検索用の
データベースを用いる。ネーミング・コンテキストは、
オブジェクトの名前、タイプ、分散オブジェクトを一意
に示すことのできるオブジェクト・リファレンスの情報
を一つのレコードという単位で構成する。オブジェクト
・リファレンスは、オブジェクトのメソッドを起動する
際に必要な識別子である。この情報を得ることで、クラ
イアントは、ターゲットとするオブジェクトへの要求が
可能となる。したがって、オブジェクト・リファレンス
が含まれるネーミング・コンテキストを操作すること
で、分散オブジェクトを名前で管理できる。なお、名前
とは、人が見て分かる、オブジェクトを識別する値のこ
とである。以上のように、CORBAのような分散オブ
ジェクト技術では、一台のコンピュータを、CORBA
におけるネーミング・サーバとしてネーミング・サービ
スを提供し、オブジェクト・リファレンス(CORBA
オブジェクトリファレンス)を交換していた。
来技術によれば、ネーミング・サーバが何らかの理由に
より停止した場合、クライアント・オブジェクトはオブ
ジェクト・リファレンスを取得できなくなるため、サー
バ・オブジェクトとの通信ができなくなってしまうとい
う問題点があった。すなわち、分散オブジェクト技術を
採用しているにもかかわらず、ネーミング・サービスを
ネーミング・サーバが集中して実現しているという問題
点があった。
であり、分散オブジェクト・システムに新たに接続され
たサーバが、システムで利用可能なオブジェクトにアク
セスするためのリストを作成し、全サーバがこのリスト
を用いることて通信を行うことができるようにすること
で、例えばネーミング・サーバを必要とせず、ネーミン
グサーバがダウンするリスクが内システムを構築するた
めのサーバ、方法及びプログラムを提供することを目的
とする。
停止したサーバを発見したサーバが、利用可能なオブジ
ェクトにアクセスするためのリストを更新できるように
することで、例えばネーミング・サーバを必要とせず
に、システムで利用可能なオブジェクトの情報を常に最
新のものとできるサーバ、方法及びプログラムを提供す
ることを目的とする。
めに、本発明に係る分散オブジェクト・システムにおけ
るオブジェクトの所在を特定する方法の発明は、以下の
ステップを有することを特徴とする。 (1)分散オブジェクト・システムに接続する一のサー
バに、所有するオブジェクトへのアクセスに必要な情報
を送信するように要求する情報返信要求を他のサーバへ
送信させるステップ。この情報としては、例えば、オブ
ジェクト・リファレンスを含むIOR(相互運用可能な
オブジェクト参照、Interperable ObjectReference )
を採用できる。 (2)情報返信要求を受信したサーバに、当該サーバが
有するオブジェクトへのアクセスに必要な情報を上記一
のサーバへ送信させるステップ。 (3)上記一のサーバに、他のサーバから返信された情
報に基づき、分散オブジェクト・システムにおけるオブ
ジェクトへのアクセスに必要な情報のリストを生成させ
るステップ。 (4)上記一のサーバに、上記リストを、他のサーバへ
送信するステップ。
リストを用いて分散オブジェクト・システムにおけるオ
ブジェクト間の通信を行う。つまり、いずれか一のサー
バ、特に、新たに分散オブジェクト・システムへ接続さ
れるサーバに上記リストを作成させ、システムの全サー
バにこのリストを設定すれば、各サーバは、互いの所有
するオブジェクトを利用可能となる。なお、情報返信要
求は、上記一のサーバに、起動時に送信させることが好
ましい。このサーバの起動時は、分散オブジェクト・シ
ステムにサーバが接続された時となるからである。ただ
し、これ以外の時に送信させてもよい。例えば、上記一
のサーバが他のサーバのオブジェクトを実際に利用する
時に送信させてもよい。実際に使用する前に上記リスト
を作成すればよいからである。
しい。 (5)いずれか一のサーバ(上記一のサーバとは限らな
いサーバ)に、分散オブジェクト・システムに接続され
ていたいずれかのサーバが停止したことを検知させるス
テップ。サーバ停止したことは任意の方法により検知す
ればよい。 (6)上記いずれか一のサーバに、上記停止したサーバ
が所有するオブジェクトへのアクセスに必要な情報をリ
ストから削除させるステップ。 (7)上記いずれか一のサーバに、停止したサーバが所
有するオブジェクトへのアクセスに必要な情報をリスト
から削除するよう、分散オブジェクト・システムに接続
された各サーバに削除要求を通知させるステップ。 (8)削除要求を受信したサーバに、削除要求に従い、
停止したサーバが所有するオブジェクトへのアクセスに
必要な情報をリストから削除させるステップ。
るサーバがダウンした場合などであっても、各サーバ
は、常に最新のリストを用いて通信を行うことができ
る。
有することを特徴とする。 ・分散オブジェクト・システムに接続する他の各サーバ
に、サーバが所有するオブジェクトへのアクセスに必要
な情報を送信するように要求する情報収集手段。 ・各サーバから返信された情報に基づき、分散オブジェ
クト・システムにおけるオブジェクトへのアクセスに必
要な情報のリストを生成する手段。 ・リストを各サーバへ送信する手段。
することを特徴とする。 ・他のサーバから、所有するオブジェクトへのアクセス
に必要な情報の返信要求を受信する手段。 ・所有するオブジェクトにアクセスするための必要な情
報を、返信要求の送信元サーバへ送信する手段。 ・各サーバが所有するオブジェクトへのアクセスに必要
な情報を含むリストを返信要求の送信元サーバから受信
する手段。
よる分散オブジェクト・システムに接続された場合に上
記リストを作成すれば、オブジェクト間の通信が可能と
なる。また、上記第二のサーバは、上記第一のサーバか
ら受信したリストを用いれば、常に最新のリストにより
通信が可能となる。つまり、上記第二のサーバが接続さ
れた分散オブジェクト・システムは、第一のサーバが接
続された場合、ネーミング・サーバなしに各サーバの上
記リストを最新のものとできる。
能(手段)及び第二のサーバの機能(手段)を有してい
ることが好ましい。このようなサーバにより分散オブジ
ェクト・システムを構築する場合、システムは、新たに
接続されるサーバを自動的に利用可能とできるからであ
る。また、情報収集手段はサーバ起動時に起動されるよ
うにすることが好ましい。このように設定すれば、サー
バが接続された時に、当該サーバのオブジェクトを利用
可能となるからである。また、このサーバも、他のサー
バが所有するオブジェクトを利用可能な状態になるから
である。
有していることを特徴とする。 ・分散オブジェクト・システムに接続されていたいずれ
かのサーバが停止したことを検知する手段。 ・停止したサーバが所有するオブジェクトへのアクセス
に必要な情報をリストから削除する削除手段。 ・停止したサーバが所有するオブジェクトへのアクセス
に必要な情報をリストから削除するよう、分散オブジェ
クト・システムに接続された各サーバに削除要求を通知
する手段。
を特徴とする。 ・上記削除要求を受信する手段。 ・削除要求に従い、停止したサーバが所有するオブジェ
クトへのアクセスに必要な情報をリストから削除する手
段。
のオブジェクトにアクセスできないようにすることで、
常に最新の環境下における通信が可能となる。また、第
四のサーバは、第三のサーバが少なくとも一つ接続され
たシステムにおいて、第三のサーバからの削除要求を受
信すれば、停止したサーバのオブジェクトにアクセスし
ないように設定できる。このように、第三のサーバ及び
第四のサーバにより構成されたシステムは、停止したサ
ーバが存在する場合でも、ネーミング・サーバを設ける
ことなく、利用可能なオブジェクトを把握可能である。
(手段)と第四のサーバの機能(手段)とを備えたサー
バとする。これらの機能を備えたサーバにより構成され
たシステムは、いずれかのサーバにより他のサーバがダ
ウンしたことを検知すると、ダウンしたサーバのオブジ
ェクトを利用できないようにできるからである。
段)をすべて備えたサーバが特に好ましい。このような
サーバにより構築されたシステムは、新たにサーバが接
続された場合にも、構成するサーバが停止した場合に
も、利用可能なオブジェクトのリストを常に最新の状態
にしておくことができるからである。
理デーモン)の発明は、コンピュータに、上記第一、第
二、第三及び/又は第四のサーバとして機能させること
を特徴とする。
クト・システムにおけるオブジェクトの所在を特定する
ための装置、方法及びプログラムを、実施の形態によっ
て詳細に説明する。まず、装置について図面を参照しな
がら説明する。なお、以下の説明では分散オブジェクト
技術としてCORBAを採用したシステム(分散オブジ
ェクト・システム)を例にとる。
ェクト・システムの典型的なネットワーク構成例を示
す。ローカル・エリア・ネットワーク(LAN)L1に
は、サーバA、サーバB、サーバC、サーバD及びサー
バEが接続されている。
バA、サーバB及びローカル・エリア・ネットワークL
1のオブジェクト構成例を示す。図2において、一つの
サーバは、複数のCORBAオブジェクトを有し、ロー
カル・エリア・ネットワークL1を介して他のサーバと
通信を行う。つまり、サーバ内のメソッド呼び出しオブ
ジェクト(クライアント・オブジェクト)が、他のサー
バ内のサーバ・オブジェクトに対しメッセージを送信す
る。この通信は、ORBを介して行われ、各オブジェク
トは、ORBの仕様に適合したプログラム(インタフェ
ース部)を有する。インタフェース部は、他のオブジェ
クトからリクエストを受けるコード部(スケルトン、sk
eleton)と、他のオブジェクトに対してメッセージを送
信するコード部(スタブ、stub)がある。
ブジェクトbを有し、サーバBはCORBAオブジェク
トa、cを有する。したがって、CORBAオブジェク
トa、cは、サーバAがCORBAクライアントで、サ
ーバBがCORBAサーバとなる。また、CORBAオ
ブジェクトbは、サーバAがCORBAサーバでサーバ
BがCORBAクライアントとなる。なお、図2におい
ては、クライアント・オブジェクト(メソッド呼び出し
オブジェクト)には『’』を付し、サーバ・オブジェク
トと区別した。以上のようなシステムにおけるネーミン
グ・サーバ(ネーミング・サービス)を用いずにオブジ
ェクト・リファレンスを交換する手順を、図3及び図4
を用いて説明する。
ェクト・リファレンスを取得するメッセージ・シーケン
ス(IORの収集シーケンス)と、全サーバの全オブジ
ェクト・リファレンスに最新IORを配信するメッセー
ジ・シーケンス(IOR送信シーケンス)とを示す。
シーケンスは、サーバが起動したことをトリガにして開
始される。本例では、サーバAが起動した場合のシーケ
ンスを説明する。また、図7には、サーバAのIORリ
ストA2の初期状態を示している。図7に示すように、
サーバAは、起動直後(初期状態)において、IORリ
ストA2は完成していない。図7において、IORリス
トA2は、マシン名(サーバ名)、サーバのIORの取
得状態、実際のIORの文字列の情報が含まれ、すべて
のマシン、すべてのオブジェクト・リファレンスを格納
できる。
pIorRequest メッセージを送信する(R1、R3)。up
dLorRequest メッセージは、受信したサーバが有するオ
ブジェクト・リファレンスの返信を要求するメッセージ
(オブジェクト・リファレンス要求メッセージ)であ
る。なお、updLorRequest メッセージの送信先サーバ
は、例えば、予め設定されたサーバとしてもよい。この
場合、各サーバには、他のサーバのIPアドレス及びポ
ート番号が予め設定されているものとする。また、対象
サーバのIPアドレスを取得するためのブロードキャス
ト・メッセージを送信し、このメッセージに対する応答
があったサーバに対してを用いてudpIorRequest メッセ
ージを送信するようにしてもよい。つまり、サーバA
は、上記ブロードキャスト・メッセージを送信する機能
と、上記応答があった場合に応答があったサーバへudpI
orRequest メッセージを送信する機能とを有する。他の
サーバは、上記ブロードキャスト・メッセージを受信す
るとサーバA(このメッセージの送信元サーバ)に対し
て応答する機能を有する。好ましくは、各サーバはこれ
らのすべての機能を有するようにする。udpIorRequest
メッセージを受信したサーバB...サーバN(このシ
ステムにおけるサーバA以外のサーバ)は、それぞれの
オブジェクト・リファレンスを因数として格納したudpI
orResponseメッセージをサーバAへ送信する(R2、R
4)。udpIorResponseメッセージは、オブジェクト・リ
ファレンス要求メッセージに対する返信メッセージであ
り、オブジェクト・リファレンス要求メッセージを受信
したサーバのオブジェクト・リファレンスが含まれる。
ーバが所有するCORBAオブジェクトのIOR(相互
運用可能なオブジェクト参照、Interperable Object Re
ference )の収集を行う。IORは、サービスを提供す
るサーバ・プログラム(サーバ・オブジェクト)へのア
クセスに必要な情報を含んでおり、具体的には、IPア
ドレス、ホスト名、プロセスID、プロセス生起時刻な
どからなる複合情報である。
RリストA2を構築する(更新する)。図10には、更
新中のIORリストA2の一例を示す。図10におい
て、IORリストA2は、サーバBのIORは取得して
いないことを意味する。このように、IORの取得が完
了していないサーバを、図10においては『状態』欄に
『Updating』と記す。また、IORの取得が完了したサ
ーバを、図10においては『状態』欄に『Normal』と記
す。つまり、図10において、サーバAは、サーバBの
IORは取得中又は取得前であり、サーバNのIORは
取得済み(IORリストに登録済み)である。図8に
は、すべてのIORを収集完了した状態におけるIOR
リストA2を示す。図8において、各サーバの『状態』
欄は、すべて『Normal』と記されている。
Aは、全サーバからのIOR収集完了後、収集したIO
Rリストを因数に格納したsetIorListメッセージを上記
全サーバへ送信する(R5、R6)。換言すると、図8
に示すようなIORリストA2を含むメッセージを全サ
ーバへ送信する。
は、このメッセージの因数から他のサーバが所有するI
ORが分かる。したがって、各サーバのIORを、自ら
のIORリストに格納する。例えば、サーバBは、setI
orRistメッセージに含まれるIORリストA2から、サ
ーバB用のIORリストB2を構築する。すなわち、サ
ーバAが作成した図8に示すようなIORリストA2を
用いて、サーバAがネットワークに接続する前のIOR
リストを、サーバAがネットワークに接続した後のIO
Rリストに更新する。IORリストの更新方法は、任意
の方法を採用すればよく、例えば、IORリストA2を
IORリストB2としてもよい。これにより、すべての
サーバのIORリストは、確実にIORリストA2とな
る。また、サーバAの接続前と接続後とでIORが異な
るサーバについてのみ更新してもよい。すなわち、setI
orRistメッセージの送信元のサーバ(本例ではサーバ
A)のIORリストのみ更新してもよい。これにより、
IORリストの更新に要する時間が短縮される可能性が
ある。なお、上記setIorListに格納されたIORをセッ
トしたサーバは、サーバAに対してセット完了した旨を
通知してもよい(setIorListResponse、R6、R8)。
ェクト・リファレンスは各サーバへ行き渡る。したがっ
て、各サーバは、CORBAによる(ORBを介した)
通信が可能となる。すなわち、各サーバは、最新のIO
Rがセットされ、サーバAを含めた各サーバのオブジェ
クトを利用可能となる。つまり、各サーバは、図8に示
すようなIORリストを所有するため、サーバごとの、
IORの状態及び当該IORの文字列が分かるので、メ
ッセージを送信したいCORBAオブジェクトのIOR
を取得できる。次に、任意のサーバが分散オブジェクト
・システムから離脱した場合のIORリストの更新シー
ケンスを、図4を用いて説明する。
は、サーバBが何らかの理由により停止した場合の例で
ある。すなわち、サーバBが分散オブジェクト・システ
ムから離脱した場合の例である。このような場合には、
サーバBのIORは使用不可になるため、IORリスト
を更新する必要がある。つまり、図8に示すようなIO
Rリストを、図9に示すようなサーバBのIORが削除
されたIORリストに変更する必要がある。図4は、こ
のIORリストの変更(更新)シーケンスを示してい
る。
Aが、サーバBが停止した後に、サーバBへ何らかのC
ORBAメッセージを送信したこと(T1)をトリガと
している。サーバBが停止しているため、上記メッセー
ジ送信は失敗してしまったり、上記メッセージに対する
レスポンスがサーバAに返ってこない。このようなサー
バBが停止したことに起因する現象を感知した場合、サ
ーバAは、サーバBが停止したと判断する。
ると、サーバB以外のサーバに対して、サーバBのオブ
ジェクトが無効になったことを通知する(updateIorLis
t メッセージ、T2)。また、図8に示すIORリスト
A2を図9に示すIORリストに更新する。つまり、サ
ーバBが停止する前のIORリストを、サーバBが停止
した後の分散オブジェクト・システムにおけるIORリ
ストに変更する。上記通知を受けたサーバは、図8に示
すIORリストA2を図9に示すIORリストに更新す
る。つまり、サーバBのIORを削除したIORリスト
に変更する。なお、サーバA(updateIorList メッセー
ジの送信元サーバ)に対して、IORリストの更新が終
了したことを通知してもよい(updateIorListResponse
メッセージ、T3)。以上のシーケンスにより、サーバ
Bと通信するためのIORを無効にできる。次に、本発
明に係る分散オブジェクト・システムにおけるオブジェ
クトの所在を特定するための方法について説明する。
けるオブジェクトの所在を特定する方法は、以下のステ
ップにより構成される。 (1)分散オブジェクト・システムに接続する一のサー
バに、IORを送信するように要求する情報返信要求を
他のサーバへ送信させるステップ。 (2)情報返信要求を受信したサーバに、当該サーバの
IORを上記一のサーバへ送信させるステップ。 (3)上記一のサーバに、他のサーバから返信されたI
ORに基づき、IORリストを生成させるステップ。 (4)上記一のサーバに、上記IORリストを、他のサ
ーバへ送信するステップ。
Rの収集シーケンス、(4)がIORリストの送信シー
ケンスに対応する。なお、上記システムにおける各サー
バは、上記IORリストを用いて通信を行う。
テムに新たにサーバが接続された場合であっても、この
接続されたサーバが所有するオブジェクトを利用可能と
なる。また、新たに接続されたサーバは、システムで利
用可能なオブジェクト(他のサーバが所有するオブジェ
クト)を利用可能となる。
に、起動時に送信させることが好ましい。このサーバの
起動時は、分散オブジェクト・システムにサーバが接続
された時となるからである。ただし、これ以外の時に送
信させてもよい。例えば、上記一のサーバが他のサーバ
のオブジェクトを実際に利用する時に送信させてもよ
い。実際に使用する前に上記リストを作成すればよいか
らである。
ることが好ましい。 (5)いずれか一のサーバ(上記一のサーバとは限らな
いサーバ)に、分散オブジェクト・システムに接続され
ていたいずれかのサーバが停止したことを検知させるス
テップ。 (6)上記いずれか一のサーバに、上記停止したサーバ
のIORをリストから削除させるステップ。 (7)上記いずれか一のサーバに、停止したサーバのI
ORをリストから削除するよう、分散オブジェクト・シ
ステムに接続された各サーバ(上記いずれか一のサーバ
及び上記停止したサーバを除くサーバ)へ削除要求を通
知させるステップ。 (8)削除要求を受信したサーバに、削除要求に従い、
停止したサーバが所有するオブジェクトへのアクセスに
必要な情報をリストから削除させるステップ。
るサーバがダウンした場合などであっても、各サーバ
は、常に最新のリストを用いて通信を行うことができ
る。つまり、利用可能なオブジェクトを常に正確に把握
できる。
で実現できる。ただし、この方法は、上記装置に限定さ
れるわけではないことは当然である。次に、本発明に係
る分散オブジェクト・システムにおけるオブジェクトの
所在を特定するためのプログラム、すなわちIOR管理
デーモンについて説明する。
R管理デーモンは、コンピュータに、上記装置(サー
バ)としての機能を実現させるプログラムである。換言
すれば、コンピュータに、上記方法を実行させるプログ
ラムである。このプログラムとサーバ(分散オブジェク
ト・システム)との関係を図6に示す。
のメッセージのやり取りとIORの更新/抽出を行うI
ORリスト管理デーモンA1、B1と、IORリストA
2、B2を保存するメモリなどの記憶手段を有する。図
6に示すように、各サーバは、他のマシンからローカル
・エリア・ネットワークL1を介し、IORリスト管理
デーモン間のやり取りが行える。また、IORリスト管
理デーモンは、メモリ上に存在するIORリストからI
ORの更新/抽出を行える。より詳しくは、IOR管理
デーモンA1及びB1は、それぞれ以下の処理をコンピ
ュータに実現させる。
うに、IOR管理デーモンA1は、コンピュータ(サー
バA)に、サーバA起動後、全サーバに対してudpIorRe
quest メッセージを送信させる(R1、R3)。
est メッセージを受信すると、このコンピュータに格納
されたIOR管理デーモンB1は、コンピュータに、I
ORB2を、IOR管理デーモンA1が格納されたコン
ピュータ(サーバA)に送信させる。他のサーバにおい
ても、IOR管理デーモンB1が、各サーバに、それぞ
れのサーバのIORをサーバAへ送信させる。
受信したIORを用いてIORリストA2を構築させ
る。
管理デーモンA1は、サーバAに、全サーバからのIO
R収集完了後、収集したIORリストを因数に格納した
setIorListメッセージを上記全サーバへ送信させる(R
5、R6)。
BのIOR管理デーモンB1は、setIorListに含まれる
IORリストを自らのIORリストB2とさせる。つま
り、受信したIORリストを、メモリなどの記憶手段に
格納させ、IORリストB2とする。他のsetIorListメ
ッセージを受け取ったサーバにおいても、IOR管理デ
ーモンB1はこれと同様の処理を行う。なお、上記setI
orListに格納されたIORをセットしたIOR管理デー
モンB1は、サーバに、サーバAへセット完了した旨を
通知させてもよい(setIorListResponse、R6、R
8)。
ORがセットされ、サーバAを含めた各サーバのオブジ
ェクトを利用可能となる。また、IORリストの更新シ
ーケンスをコンピュータに実現させてもよい。
すように、サーバBが何らかの理由により停止した場合
には、サーバBのIORは使用不可になるため、IOR
リストを更新する必要がある。この場合に、IOR管理
デーモンは以下の処理を行う。
は、サーバBが停止したことに起因する現象を感知した
場合、サーバBが停止したと判断し、サーバAに、サー
バB以外のサーバに対して、サーバBのオブジェクトが
無効になったことを通知させる(updateIorList メッセ
ージ、T2)。また、サーバAに、図8に示すIORリ
ストA2を図9に示すIORリストに更新する。つま
り、サーバBが停止する前のIORリストを、サーバB
が停止した後の分散オブジェクト・システムにおけるI
ORリストに変更させる。
モンは、それぞれのIORリストを受信した通知に含ま
れたIORリストと同じになるように更新させる。な
お、サーバA(updateIorList メッセージの送信元サー
バ)に対して、IORリストの更新が終了したことを通
知させてもよい(updateIorListResponse メッセージ、
T3)。以上のシーケンスにより、サーバBと通信する
ためのIORを無効にできる。
ンピュータに、上記各IOR管理デーモン(A1、B1
等)がコンピュータに実現させる機能を実行させること
が好ましい。つまり、IOR管理デーモンA1、B1な
どの区別なく、上記いずれの処理をもコンピュータに実
現可能なプログラムとすることが好ましい。このような
プログラムであれば、新たにサーバが接続された場合に
も、構成するサーバが停止した場合にも、利用可能なオ
ブジェクトのリストを常に最新の状態にしておくことが
できるからである。
したが、上述の実施の形態はこの発明の説明のための例
示であって、この実施形態のみにこの発明の範囲を限定
する趣旨ではない。当業者は、この発明の要旨を逸脱す
ることなく、種々の変形、改良、修正、簡略化などを上
記実施形態に加えた種々の他の形態でもこの発明を実施
することができる。
ージを、プロトコルスタック上、UDP(User Datagra
m Protocol)を介してやりとりしてもよい。また、図1
1に示すように、上記各メッセージを、TCP(Transm
ission Control Protocol )を介してやりとりしてもよ
い。つまり、OSI基本参照モデルのトランスポート層
に当たるプロトコルは任意のプロトコルを利用すればよ
い。このようにコネクション型のプロトコルを用いれ
ば、メッセージを相手先サーバへ確実に送信することが
可能となる。ただし、TCPのようなコネクション型の
プロトコルを採用する場合は、他のサーバとの接続が維
持されるため、コネクションを正常に切断する必要があ
る。コネクションの切断は通常の方法により行えばよ
い。
にIOR収集シーケンスを実行するとしたが、ネットワ
ークに接続された後、分散オブジェクトを使用する場合
など任意のタイミングで実行するように設定してもよ
い。
サービス)を併用し、このサーバが停止した場合に本発
明を適用してもよい。つまり、ネーミング・サーバが正
常に起動している場合には本発明を適用せず、停止した
場合に本発明を適用することもできる。これにより、従
来のサービスも利用でき、さらに、このサービスが停止
した場合にもシステムを運用可能となる。この場合、ネ
ーミング・サーバが停止したと判断したサーバは、上記
IOR収集シーケンスを開始すればよい。また、新たに
システムに加わるサーバがネーミング・サーバを利用で
きないと判断した場合、IOR収集シーケンスを開始し
てもよい。他のサーバは、このシーケンスが開始される
と、ネーミング・サーバが利用不能な状態であると判断
し、上記シーケンスによる処理に切り替えるようにすれ
ばよい。ネーミング・サーバが利用不能であることは任
意の方法によって判断できる。例えば、ネーミング・サ
ーバから応答がない場合や接続不能な場合に利用不能で
あると判断できる。また、ネーミング・サーバは、利用
可能な状態に復帰した場合、各サーバに対してその旨を
伝え、各サーバは、ネーミング・サービスを用いた処理
を開始してもよい。
BAのような分散オブジェクト技術を用いたクライアン
ト・オブジェクトとサーバ・オブジェクトとの間の通信
において、ネーミングサーバを設けずに複数サーバのす
べてのオブジェクト・リファレンスを効率良く交換し、
オブジェクト間で相互の通信を可能とする。例えば、以
下の3つの効果を挙げることができる。
用しなくとも、各サーバに利用するオブジェクトリファ
レンスを配信することができることである。この効果に
より、ネーミング・サーバの停止などにより、オブジェ
クトリファレンスの取得ができずに通信不可となってし
まうということを防止できる。従来のシステムでは、分
散オブジェクト技術を採用しているにもかかわらず、O
RBによって接続されたコンポーネント(オブジェク
ト)を名前で見つけだす処理を一つのサーバ(ネーミン
グ・サーバ)が担っている。したがって、ネーミング・
サーバがダウンしてしまうと、システムがダウンしてし
まうこととなる。そこで、本発明を採用することで、こ
のような問題をなくすことが可能になる。
合、全サーバがIORの更新を自動に行うことができる
ことである。本発明を用いれば、各サーバの状態を監視
するサーバを設けずとも、停止したサーバを発見したサ
ーバがIORリスト更新シーケンスを開始するため、す
べてのサーバのIORリストを更新できる。
Rリストの更新を行うため、常に最新のIORリスト
(を維持することができることである。システムに接続
したサーバが、IOR収集シーケンスを開始し、次いで
IORリスト送信シーケンスを実行するため、システム
に接続されたサーバを監視するサーバを設けずとも各サ
ーバのIORリストを最新の状態に保つことが可能とな
る。
サーバを設けずに複数サーバのすべてのオブジェクトリ
ファレンスを効率良く交換し、サーバ間で相互の通信を
可能にすることが期待できる。
成例を示す図である。
クトとサーバ・オブジェクトの関係を示した図である。
とIORリスト送信シーケンスを示したシーケンス図で
ある。
を示したシーケンス図である。
ス、IORリスト送信シーケンス、IOR更新シーケン
スにおけるメッセージ送信に用いるトランスポート層の
プロトコルをUDPとしたシステムのプロトコルスタッ
ク例を示した図である。
ス、IORリスト送信シーケンス、IOR更新シーケン
スを実現するプログラム(IORリスト管理デーモン)
の動作例を示した図である。
のサーバにおけるIORリストの例を示す。
おけるIORリストの例を示す。サーバA〜サーバNに
より分散オブジェクト・システムが構成されている場合
のIORリストの例である。
ためにIOR更新シーケンス実行した後のIORリスト
の例を示す。図8において、サーバBが停止した場合に
作成されたIORリストの例である。
Rリストを作成している様子を示した図である。IOR
収集シーケンス、IORリスト送信シーケンス実行中の
IORリストの一例を示す。
ンス、IORリスト送信シーケンス、IOR更新シーケ
ンスにおけるメッセージ送信に用いるトランスポート層
のプロトコルをTCPとしたシステムのプロトコルスタ
ック例を示した図である。
ム) A2、B2 IORリストが格納されたメモリなどの記
憶手段
Claims (12)
- 【請求項1】 分散オブジェクト・システムに接続する
一のサーバに、所有するオブジェクトへのアクセスに必
要な情報を送信するように要求する情報返信要求を他の
サーバへ送信させるステップと、 前記情報返信要求を受信したサーバに、当該サーバが有
するオブジェクトへのアクセスに必要な情報を前記一の
サーバへ送信させるステップと、 前記一のサーバに、他のサーバから返信された情報に基
づき、分散オブジェクト・システムにおけるオブジェク
トへのアクセスに必要な情報のリストを生成させるステ
ップと、 前記一のサーバに、前記リストを、前記他のサーバへ送
信するステップとを有し、 分散オブジェクト・システムにおけるオブジェクト間の
通信を、前記リストを用いて行うことを特徴とする分散
オブジェクト・システムにおけるオブジェクトの所在を
特定する方法。 - 【請求項2】 前記情報返信要求は、前記一のサーバ
に、起動時に送信させることを特徴とする請求項1記載
の分散オブジェクト・システムにおけるオブジェクトの
所在を特定する方法。 - 【請求項3】 請求項1又は2記載の方法は、さらに、 いずれか一のサーバに、 分散オブジェクト・システムに接続されていたいずれか
のサーバが停止したことを検知させるステップと、 前記停止したサーバが所有するオブジェクトへのアクセ
スに必要な情報を前記リストから削除させるステップ
と、 前記停止したサーバが所有するオブジェクトへのアクセ
スに必要な情報を前記リストから削除するよう、分散オ
ブジェクト・システムに接続された各サーバに削除要求
を通知させるステップと、 前記削除要求を受信したサーバに、 前記削除要求に従い、前記停止したサーバが所有するオ
ブジェクトへのアクセスに必要な情報を前記リストから
削除させるステップとを有することを特徴とする分散オ
ブジェクト・システムにおけるオブジェクトの所在を特
定する方法。 - 【請求項4】 分散オブジェクト・システムに接続する
他の各サーバに、当該サーバが所有するオブジェクトへ
のアクセスに必要な情報を送信するように要求する情報
収集手段と、 前記各サーバから返信された情報に基づき、分散オブジ
ェクト・システムにおけるオブジェクトへのアクセスに
必要な情報のリストを生成する手段と、 前記リストを前記各サーバへ送信する手段とを有し、 前記リストを用いて、分散オブジェクト・システムにお
けるオブジェクト間の通信を行うことを特徴とするサー
バ。 - 【請求項5】 他のサーバから、所有するオブジェクト
へのアクセスに必要な情報の返信要求を受信する手段
と、 所有するオブジェクトにアクセスするための必要な情報
を、前記返信要求の送信元サーバへ送信する手段と、 各サーバが所有するオブジェクトへのアクセスに必要な
情報を含むリストを返信要求の送信元サーバから受信す
る手段とを有し、 前記リストを、分散オブジェクト・システムにおけるオ
ブジェクト間の通信用のリストとすることを特徴とする
サーバ。 - 【請求項6】 分散オブジェクト・システムに接続する
他の各サーバに、当該サーバが所有するオブジェクトへ
のアクセスに必要な情報を送信するように要求する情報
返信要求を送信する情報収集手段と、 前記各サーバから返信された情報に基づき、分散オブジ
ェクト・システムにおけるオブジェクトへのアクセスに
必要な情報のリストを生成する生成手段と、 前記リストを前記各サーバへ送信する手段とを有し、 他のサーバからの情報返信要求を受信する手段と、 所有するオブジェクトにアクセスするための必要な情報
を、前記情報返信要求の送信元サーバへ送信する手段
と、 各サーバが所有するオブジェクトへのアクセスに必要な
情報を含むリストを前記情報返信要求の送信元サーバか
ら受信する受信手段とを有し、 分散オブジェクト・システムにおけるオブジェクト間の
通信用のリストとして、 初期状態においては、前記生成手段により生成したリス
トを用い、 前記受信手段によりリストを受信した場合には当該リス
トを用いることを特徴とするサーバ。 - 【請求項7】 前記情報収集手段はサーバ起動時に起動
されることを特徴とする請求項4又は6記載のサーバ。 - 【請求項8】 請求項4から7のいずれか1項に記載の
サーバは、さらに、分散オブジェクト・システムに接続
されていたいずれかのサーバが停止したことを検知する
手段と、 前記停止したサーバが所有するオブジェクトへのアクセ
スに必要な情報を前記リストから削除する削除手段と、 前記停止したサーバが所有するオブジェクトへのアクセ
スに必要な情報を前記リストから削除するよう、分散オ
ブジェクト・システムに接続された各サーバに削除要求
を通知する手段とを有し、 前記削除手段により生成したリストにより分散オブジェ
クト・システムにおけるオブジェクト間の通信を行うこ
とを特徴とするサーバ。 - 【請求項9】 請求項8記載のサーバは、さらに、 前記削除要求を受信する手段と、 前記削除要求に従い、前記停止したサーバが所有するオ
ブジェクトへのアクセスに必要な情報を前記リストから
削除する手段とを有することを特徴とするサーバ。 - 【請求項10】 分散オブジェクト・システムに接続さ
れていたいずれかのサーバが停止したことを検知する手
段と、 前記停止したサーバが所有するオブジェクトへのアクセ
スに必要な情報を分散オブジェクト・システムにおける
オブジェクトへのアクセスに必要な情報のリストから削
除する削除手段と、 前記停止したサーバが所有するオブジェクトへのアクセ
スに必要な情報を、それぞれが所有する、分散オブジェ
クト・システムにおけるオブジェクトへのアクセスに必
要な情報のリストから削除するよう、分散オブジェクト
・システムに接続された各サーバに削除要求を通知する
手段とを有し、 前記削除手段により生成したリストにより分散オブジェ
クト・システムにおけるオブジェクト間の通信を行うこ
とを特徴とするサーバ。 - 【請求項11】 請求項10記載のサーバは、さらに、 前記削除要求を受信する手段と、 前記削除要求に従い、前記停止したサーバが所有するオ
ブジェクトへのアクセスに必要な情報を前記リストから
削除する手段とを有することを特徴とするサーバ。 - 【請求項12】 コンピュータに、請求項4から11の
いずれか1項に記載のサーバとして機能させるためのプ
ログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001366594A JP2003167862A (ja) | 2001-11-30 | 2001-11-30 | 分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラム |
US10/289,431 US20030105836A1 (en) | 2001-11-30 | 2002-11-07 | Device and method for specifying location of object in distributed object system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001366594A JP2003167862A (ja) | 2001-11-30 | 2001-11-30 | 分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003167862A true JP2003167862A (ja) | 2003-06-13 |
Family
ID=19176468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001366594A Pending JP2003167862A (ja) | 2001-11-30 | 2001-11-30 | 分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030105836A1 (ja) |
JP (1) | JP2003167862A (ja) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3889904T2 (de) * | 1987-09-08 | 1995-01-12 | Digital Equipment Corp | Namensverwaltung für ein digitaldatenverarbeitungssystemnetzwerk. |
US5802291A (en) * | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
US6161147A (en) * | 1995-03-31 | 2000-12-12 | Sun Microsystems, Inc. | Methods and apparatus for managing objects and processes in a distributed object operating environment |
US6973656B1 (en) * | 1995-08-16 | 2005-12-06 | International Business Machines Corporation | Method and apparatus for linking data in a distributed data processing system |
US5832225A (en) * | 1996-07-12 | 1998-11-03 | Microsoft Corporation | Method computer program product and system for maintaining replication topology information |
US5790788A (en) * | 1996-07-23 | 1998-08-04 | International Business Machines Corporation | Managing group events by a name server for a group of processors in a distributed computing environment |
US6209018B1 (en) * | 1997-11-13 | 2001-03-27 | Sun Microsystems, Inc. | Service framework for a distributed object network system |
US6167427A (en) * | 1997-11-28 | 2000-12-26 | Lucent Technologies Inc. | Replication service system and method for directing the replication of information servers based on selected plurality of servers load |
US6330689B1 (en) * | 1998-04-23 | 2001-12-11 | Microsoft Corporation | Server architecture with detection and recovery of failed out-of-process application |
US6236999B1 (en) * | 1998-11-05 | 2001-05-22 | Bea Systems, Inc. | Duplicated naming service in a distributed processing system |
US6701382B1 (en) * | 1998-12-23 | 2004-03-02 | Nortel Networks Limited | Name service for transparent container objects |
US6453320B1 (en) * | 1999-02-01 | 2002-09-17 | Iona Technologies, Inc. | Method and system for providing object references in a distributed object environment supporting object migration |
US6601090B1 (en) * | 1999-06-25 | 2003-07-29 | Nortel Networks Limited | System and method for servicing internet object accessess from a coupled intranet |
US20030023577A1 (en) * | 2000-12-14 | 2003-01-30 | Borland Software Corporation | Method and apparatus for handling the registration of multiple and diverse communication protocols for use in an object request broker (ORB) |
US7240114B2 (en) * | 2001-09-25 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Namespace management in a distributed file system |
EP1298843A3 (en) * | 2001-09-28 | 2004-04-07 | Tyco Telecommunications (US) Inc. | Replicated naming service to support a telecommunications network |
US20040059735A1 (en) * | 2002-09-10 | 2004-03-25 | Gold Russell Eliot | Systems and methods for enabling failover in a distributed-object computing environment |
-
2001
- 2001-11-30 JP JP2001366594A patent/JP2003167862A/ja active Pending
-
2002
- 2002-11-07 US US10/289,431 patent/US20030105836A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20030105836A1 (en) | 2003-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4647234B2 (ja) | ネットワーク装置をディスカバリするための方法および装置 | |
JP3901806B2 (ja) | 情報管理システム及び二次サーバ | |
EP1267518B1 (en) | Multiple device management method and system | |
JP4416035B2 (ja) | 中継サーバ及び中継通信システム | |
TW201543243A (zh) | 在服務導向架構中的監控能力 | |
US6934952B2 (en) | Method and apparatus for managing multiple instances of server code on a machine | |
CN106506490A (zh) | 一种分布式计算控制方法以及分布式计算系统 | |
JPH10105482A (ja) | 異なったネットワーク・プロトコルを用いて遠隔装置からコンピュータ・ネットワーク情報をディスカバーするための方法およびシステム | |
CA2231684A1 (en) | System and method for multi-site distributed object management environment | |
CN103947140A (zh) | 用于位置无关软件的需求驱动的部署的系统和方法 | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
CN111352716A (zh) | 一种基于大数据的任务请求方法、装置、系统及存储介质 | |
JP4335907B2 (ja) | ピアツーピアルックアップシステムに対するモビリティチャーン処理のための方法および装置 | |
CN116708266A (zh) | 一种云服务拓扑图实时更新方法、装置、设备及介质 | |
JP3515839B2 (ja) | コンピュータシステム間通信システム | |
US7769844B2 (en) | Peer protocol status query in clustered computer system | |
JP2003167862A (ja) | 分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラム | |
US6137801A (en) | Telecommunication switching system administrative and management tools | |
CN102891763A (zh) | 一种获取cim资源的方法和装置 | |
US20040122944A1 (en) | Method and system of locating computers in distributed computer system | |
JP2002366381A (ja) | オブジェクトの動的入替え処理方法 | |
JP2003186722A (ja) | クラスタシステムにおけるデータベースサーバフェイルオーバー方法 | |
TW201101737A (en) | IPMI server system and method thereof | |
JP2008077293A (ja) | ネットワーク監視装置 | |
WO2019218469A1 (zh) | 配置更新方法、配置更新的响应方法及服务器、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070206 |