JPH05189389A - Method for connecting large-scale distributed computer system forming hierarchical structure - Google Patents

Method for connecting large-scale distributed computer system forming hierarchical structure

Info

Publication number
JPH05189389A
JPH05189389A JP337892A JP337892A JPH05189389A JP H05189389 A JPH05189389 A JP H05189389A JP 337892 A JP337892 A JP 337892A JP 337892 A JP337892 A JP 337892A JP H05189389 A JPH05189389 A JP H05189389A
Authority
JP
Japan
Prior art keywords
oid
namespace
oad
host
converted
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
JP337892A
Other languages
Japanese (ja)
Inventor
Yorihisa Fujinami
順久 藤波
Yasuhiko Yokote
靖彦 横手
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP337892A priority Critical patent/JPH05189389A/en
Publication of JPH05189389A publication Critical patent/JPH05189389A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To obtain a large-scale distributed computer system excellent in uniqueness, mobile transmission, extension, efficiency, availability and failure-durability by utilizing relative expression and changing the 'expression depending on a used location. CONSTITUTION:In the case a message is delivered by an object C to an object D, '3:2.21.52' which is the object ID(OID) of a receiver is converted into '2.21.52' when it is received by a name space manager having a local object ID (LID) is '12'. Then it is converted into '1:2.21.52', '0:2.21.52','0:21.52', '0:52' and '0' and delivered to the object D, and when it is received by the object D, it is converted into the OID indicating itself. To the contrary, '0:' which is the OID of a transmitter is converted into '3:1.12.41' when it is received by the object D. That is, the expression of the identifier of the object within the system is made based on the relative relationships between the position of the object using the identifier and that of the object indicated by the identifier when it is generated.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、局所的に一意なIDか
ら、システム全体で一意にオブジエクトを識別できるID
を構成し、位置透過な通信を実現するような大規模分散
計算機システムの構成方法に関する。
BACKGROUND OF THE INVENTION The present invention is an ID capable of uniquely identifying an object in the entire system from a locally unique ID.
The present invention relates to a method of configuring a large-scale distributed computer system that configures a network and realizes position transparent communication.

【0002】[0002]

【従来の技術】計算機システムにおいて一つのものを共
有する、つまり、いろいろなところから同じものを参照
するためには、それに名前をつけると都合がよい。オブ
ジエクト指向システムにおいては、オブジエクトの共有
のために、オブジエクト毎にシステム内で一意のオブジ
エクト識別子(以下ID)が用いられる。分散システムで
は、オブジエクトIDにオブジエクトの生まれたホストの
IDを含めることによってシステム内での一意性(同じオ
ブジエクトには同じIDが対応し、同じIDは同じオブジエ
クトを表す。即ち、オブジエクトが一生を終えるまで、
IDは変化しない。)を保証する方法が一般的である。
2. Description of the Related Art In order to share one thing in a computer system, that is, to refer to the same thing from various places, it is convenient to give it a name. In the object oriented system, an object identifier (hereinafter referred to as ID) that is unique in the system is used for each object in order to share the object. In a distributed system, the object ID of the host where the object was born is
Uniqueness in the system by including the ID (the same ID corresponds to the same object, and the same ID represents the same object. That is, until the object ends its life,
ID does not change. ) Is a general method of guaranteeing.

【0003】ところが最近では、システムの規模が大き
くなってきており、各ホストにシステム内で一意のIDを
つけることは、各国に割り当てのための機関を作るなど
しないと困難になりつつある。また、システム内で一意
のオブジエクトIDを用いるためには、非常に大きなIDを
用意する必要がある。例えば、従来の分散システムで
は、非常に大きなID(例えば、72ビツト)でオブジエク
トを指定する。しかも、今後の発展を考えれば、不足す
るおそれは常にある。
In recent years, however, the scale of the system has been increasing, and it is becoming difficult to give each host a unique ID in the system unless an institution for allocation is made in each country. Also, in order to use a unique object ID in the system, it is necessary to prepare a very large ID. For example, in a conventional distributed system, an object is specified by a very large ID (for example, 72 bits). Moreover, considering the future development, there is always a risk of shortage.

【0004】さらに、大規模分散システムでは移動可能
なホストもあれば、負荷分散や通信効率のためにオブジ
エクトを移動させることも必要であり、ネツトワーク構
造が変化していることもある。このようなとき、例えば
IPアドレスでは、ホストが異なるネツトワークに移動す
るとアドレスが変化してしまうため、通信の際に相手の
現在位置を意識する必要がある。そこで、ホストやオブ
ジエクトの実際の位置が変化したことをユーザに見せず
に通信ができること(移動透過性)が望ましい。
Further, in a large-scale distributed system, there are hosts that can be moved, it is necessary to move objects for load distribution and communication efficiency, and the network structure may change. In such a case, for example
The IP address changes when the host moves to a different network, so it is necessary to be aware of the current location of the other party during communication. Therefore, it is desirable that communication can be performed without showing the user that the actual position of the host or object has changed (movement transparency).

【0005】従来も、階層構造を用いて表現することに
より、大規模分散システムでの名前の管理を容易にする
方法が提案されている。しかしながら、従来の方法によ
れば、ホスト識別子あるいはデイレクトリ識別子などが
全世界で一意的であることに依存しており、従来の方法
を実施するには、全世界で一つの識別子割り当て機関を
必要とする。
Conventionally, there has been proposed a method for facilitating name management in a large-scale distributed system by expressing it using a hierarchical structure. However, the conventional method relies on the fact that the host identifier or the directory identifier is unique in the whole world, and in order to carry out the conventional method, one identifier assigning organization in the whole world is required. To do.

【0006】また、識別子の表現を使う場所によって変
換する方法も知られている。例えば、複数の名前空間
(ドメイン)を持つシステムで、経由するドメインをポ
ートによって順に指定することでオブジエクトの名前づ
けを行うものがある。同じオブジエクトの名前でも使わ
れるドメインによって異なる。ところが、名前の一意性
の実現のためには2点間の名前づけのパスを実際の経路
にかかわらず一意に決めておく必要があり、それをドメ
インの持つ変換ルールにより実現している結果、ルール
が不完全なときは一意性が満たされない場合があった。
There is also known a method of converting the expression of the identifier according to the place where it is used. For example, in a system having a plurality of namespaces (domains), there is a system that names objects by sequentially specifying domains to pass through by ports. The name of the same object depends on the domain used. However, in order to realize uniqueness of the name, it is necessary to uniquely determine the naming path between two points regardless of the actual route, and as a result of realizing it by the conversion rule of the domain, When the rules were incomplete, the uniqueness could not be satisfied.

【0007】さらに、オブジエクトやホストの識別子を
位置独立な方法で表し、オブジエクトやホストの位置を
別の方法で表すことによって、オブジエクトやホストの
実際の位置が変化したことをユーザに見せずに通信する
ための方法も提案されている。例えば、仮想インターネ
ツトプロトコル(VIP )である。しかし、これは、ホス
トの識別子(仮想アドレス)は全世界で一意であるとい
う仮定を用いており、上述と同様に、この方法を実施す
るには全世界で一つの識別子割り当て機関を必要とす
る。
Furthermore, by expressing the identifiers of the object and the host in a position-independent manner and expressing the positions of the object and the host in a different manner, communication is performed without showing the user that the actual position of the object or the host has changed. Methods for doing so have also been proposed. For example, Virtual Internet Protocol (VIP). However, it uses the assumption that the host's identifier (virtual address) is globally unique, and, like the above, requires one identifier assigning authority worldwide to implement this method. ..

【0008】[0008]

【発明が解決しようとする課題】本発明は上述の様な事
情に鑑みてなされたものであり、一意性、移動透過性、
拡張性、効率性(広域的IDを用いたことによるオーバー
ヘッドが少ないこと) 、可用性・耐故障性( 遠くのホス
トの故障によってIDに関する操作ができなくなってしま
うことが少ないこと) に優れた大規模分散計算機システ
ムを提供することを目的としている。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances, and has uniqueness, mobility and
Large-scale distribution with excellent scalability, efficiency (less overhead due to the use of wide area ID), availability and fault tolerance (less operation of ID due to distant host failure) The purpose is to provide a computer system.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
に、本発明の請求項1の発明は階層構造をなす局所的名
前空間を持った大規模分散計算機システムにおいて、シ
ステム内のオブジエクトの識別子の表現を、それを使う
オブジエクトの位置と、それの示すオブジエクトの生成
時の位置との相対的な関係に基づいて行うことを特徴と
し、請求項2の発明はシステム内のオブジエクトの現在
位置の表現を、それを使うオブジエクトの位置と、それ
の示す位置との相対的な関係に基づいて行うことを特徴
とする。
In order to achieve the above object, the invention of claim 1 of the present invention is an identifier of an object in a system in a large-scale distributed computer system having a local name space having a hierarchical structure. Is expressed on the basis of the relative relationship between the position of the object using it and the position at the time of generation of the object indicated by the expression, and the invention of claim 2 relates to the present position of the object in the system. The feature is that the expression is performed based on the relative relationship between the position of the object using it and the position indicated by it.

【0010】[0010]

【作用】上述の手段によれば、システム内のオブジエク
トの識別子の表現を、それを使うオブジエクトの位置
と、それの示すオブジエクトの生成時の位置との相対的
な関係に基づいて行うようにし、又、システム内のオブ
ジエクトの現在位置の表現を、それを使うオブジエクト
の位置と、それの示す位置との相対的な関係に基づいて
行うようにしたので、一意性、移動透過性、拡張性、効
率性、可用性・耐故障性に優れた大規模分散計算機シス
テムクを実現することができる。
According to the above means, the expression of the identifier of the object in the system is expressed based on the relative relationship between the position of the object using it and the position at the time of generation of the object indicated by it. Moreover, since the representation of the current position of the object in the system is performed based on the relative relationship between the position of the object using it and the position indicated by it, uniqueness, movement transparency, expandability, It is possible to realize a large-scale distributed computer system with excellent efficiency, availability, and fault tolerance.

【0011】[0011]

【実施例】階層構造を成す局所的名前空間は、論理的な
ものであり、物理的には異なる構造を持ったシステムに
も本発明は適用できる。例えば、ネツトワークでつなが
ったいくつかのホストが同じ名前空間を共有していても
よいし、一つのホストがいくつかの名前空間を備えてい
てもよい。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A local namespace having a hierarchical structure is logical, and the present invention can be applied to a system having a physically different structure. For example, several hosts connected by a network may share the same namespace, or one host may have several namespaces.

【0012】階層を木構造で表すとき、木の枝でつなが
っているオブジエクトは必ず通信可能であると仮定する
が、通常のネツトワークのように、その他の接続があっ
てもかまわない。このような接続は、人手で行ってもよ
いが、階層の異なるホストが同じローカルネツトワーク
につながっている場合などでは、木の枝を通る通信の結
果自動的に接続を作るような実施方法も考えられる。
When the hierarchy is represented by a tree structure, it is assumed that the objects connected by the branches of the tree can communicate with each other, but other connections may be used as in a normal network. This kind of connection may be done manually, but if hosts at different layers are connected to the same local network, there is also an implementation method that automatically creates a connection as a result of communication through a tree branch. Conceivable.

【0013】本発明では、OID (オブジェクトID)やOA
D (オブジェクトアドレス)は、他の名前空間に転送す
るたびに変換されることになっているが、通信の際に送
り手と受け手を表す以外の、引数のOID については、通
信の経路を記録しておくことにより、受け手でまとめて
変換することができる。通信を暗号化した場合でも、受
け手は解読後に変換することができる。
In the present invention, OID (object ID) and OA
D (object address) is supposed to be converted every time it is transferred to another namespace, but the communication path is recorded for the argument OID other than the sender and receiver during communication. By doing so, the recipient can convert them all at once. Even if the communication is encrypted, the recipient can convert it after decryption.

【0014】本発明は、論理的に近いオブジエクトのID
は短く表現でき、かつ、システムが成長してもIDが不足
することがないという特徴を持つ。また、これは、従来
の仮想ネツトワークと拡散キヤツシユ法の拡張になって
おり、オブジエクトマイグレーシヨンや、ホスト/ゲー
トウエイの移動に関する透過性が実現できる。
The present invention is a logically close object ID.
Has the characteristic that it can be expressed shortly and that even if the system grows, there is no shortage of IDs. In addition, this is an extension of the conventional virtual network and diffusion cache method, and can realize transparency regarding object migration and host / gateway movement.

【0015】仮想ネツトワークでは、移動するホストと
の移動透過な通信の問題を扱っている。本発明では仮想
ネツトワークと拡散キヤツシユ法をホストではなくオブ
ジエクトに適用する。さらに、これを階層的に用いるこ
とで、ホストの移動やネツトワークの構造変化に対応す
る。仮想ネツトワークでは、ホストIDが全ネツトワーク
で一意であると仮定されている。階層相対名前づけ法で
は、オブジエクトIDやオブジエクトアドレスの表現を木
構造になった名前空間を転送する度に書き換えること
で、近いオブジエクトに短いIDやアドレスを与えつつ、
どの名前空間でもオブジエクトIDからオブジエクトを一
意に識別できる。
Virtual networks address the problem of mobile transparent communication with a moving host. In the present invention, the virtual network and diffusion cache method are applied to the object instead of the host. Furthermore, by using this hierarchically, it is possible to cope with the movement of the host and the structural change of the network. In virtual networks, the host ID is assumed to be unique across all networks. In the hierarchical relative naming method, the expression of the object ID and the object address is rewritten every time the namespace having the tree structure is transferred, thereby giving a short ID and address to a close object,
The object ID can be uniquely identified by the object ID in any namespace.

【0016】以下本発明では、オブジエクトIDの構成法
と、「解釈」という仮想的概念について説明する。さら
にオブジエクトマイグレーシヨンに関する透過性の実現
について述べ、ホストの移動やネツトワークの変化に関
するそれについて説明する。続いて、分散システムを接
続して成長させる方法を述べ、実装する際の問題点とそ
の解決を述べる。
In the present invention, a method of constructing an object ID and a virtual concept of "interpretation" will be described below. Furthermore, we describe the realization of transparency for the object migration and explain it for the movement of the host and the change of the network. Next, we describe a method of connecting and growing distributed systems, and describe problems and solutions when implementing them.

【0017】尚、本発明で扱う大規模分散システムは、
次のような性質を持っているとする。 超大規模:システムの規模は、broadcast が不可能な
ほど大きい。また、すべてのホストに一意の固定長IDを
つけるのも困難である。さらに、オブジエクト/ホスト
は個々に移動する。 局所性:遠く(例えば異なるローカルネツトワーク)
のオブジエクトと通信したり、オブジエクトが遠くに移
動したり、ホストが遠くに移動したりすることは、近く
にそうすることに比べて稀である。
The large-scale distributed system used in the present invention is
It has the following properties. Very large scale: The scale of the system is so large that broadcasting is impossible. It is also difficult to give a unique fixed length ID to all hosts. In addition, the objects / hosts move individually. Locality: distant (eg different local networks)
Communicating with, moving an object to, or moving a host to is far less common than doing it nearby.

【0018】(1)オブジエクトIDとその解釈について ここでは、システムが階層的な局所的名前空間を持って
いるとする(これは、システムの物理的構造に対する制
約ではない)。すなわち、各局所的名前空間は、そこで
生まれたオブジエクトにその局所的名前空間で一意のロ
ーカルオブジエクトID(以下LID )を与える。名前空間
(のマネージヤ)もオブジエクトであるから、その親の
名前空間の中で一意のLID を持つ。実際には、広域ネツ
トワーク、ローカルネツトワーク、ホストという階層
や、マイクロカーネル、オペレーテイングシステム、プ
ロセスという階層に対応させることができる。これは必
ずしも物理的な構造に対応している必要はない。例え
ば、ネツトワークでつながったいくつかのホストが同じ
名前空間を共有していてもよい。この場合はLIDにホス
トのIDを含めれば一意性を保証できる。また、社会的な
構造(会社、国など)とも無関係でよいが、階層を木構
造で表すとき、木の枝でつながっているオブジエクトは
必ず通信可能であると仮定する。通常のネツトワークの
ように、その他の接続があってもかまわない。このよう
な接続は、人手で行ってもよいが、階層の異なるホスト
が同じローカルネツトワークにつながっている場合など
では、木の枝を通る通信の結果自動的に接続を作るよう
な実装も考えられる。
(1) Object ID and its Interpretation Here, it is assumed that the system has a hierarchical local namespace (this is not a constraint on the physical structure of the system). That is, each local namespace gives the object created there a local object ID (LID) that is unique in that local namespace. The namespace is also an object, so it has a unique LID within its parent namespace. Actually, it is possible to correspond to the hierarchy of wide area network, local network, and host, and the hierarchy of microkernel, operating system, and process. This does not necessarily correspond to the physical structure. For example, several hosts connected by a network may share the same namespace. In this case, uniqueness can be guaranteed by including the host ID in the LID. Also, although it may be unrelated to the social structure (company, country, etc.), when the hierarchy is represented by a tree structure, it is assumed that objects connected by tree branches are always communicable. Other connections, like normal networks, are fine. This kind of connection may be done manually, but if hosts in different layers are connected to the same local network, an implementation that automatically creates a connection as a result of communication through a tree branch is also considered. Be done.

【0019】図1に階層的な局所的名前空間の例を示
す。混乱を避けるため、LID はすべて異なるものを用い
たが、名前空間が異なれば重複があってもかまわない。
また、階層の木構造以外の接続は省略した。
FIG. 1 shows an example of a hierarchical local namespace. To avoid confusion, we used all different LIDs, but duplicate namespaces are allowed in different namespaces.
Connections other than the hierarchical tree structure are omitted.

【0020】このLID を使って、実質的にシステム全体
で一意のオブジエクトID( 以下OID)を構成する。「実質
的に」といったのは、OID そのものは一意ではないが、
OIDをそれが使われる名前空間で解釈したものは、従来
のオブジエクトIDと同様に、システム全体で一意にオブ
ジエクトを識別するということである。同じオブジエク
トを表すOID でも使用される名前空間によって変化する
し、異なる名前空間では、同じOID が異なるオブジエク
トを表し得る。ところが、同じ名前空間の中では、同じ
OID は同じオブジエクトを、異なるOID は異なるオブジ
エクトを表すのである。
Using this LID, an object ID (hereinafter referred to as OID) that is substantially unique in the entire system is constructed. "Practically" means that the OID itself is not unique,
The interpretation of the OID in the namespace in which it is used is to uniquely identify an object in the entire system, similar to the conventional object ID. OIDs that represent the same object vary depending on the namespace used, and in different namespaces, the same OID can represent different objects. However, within the same namespace, the same
OIDs represent the same object, different OIDs represent different objects.

【0021】OID の解釈は、一意性を示すための仮想的
なものであって、実際に名前空間で使われることはな
い。各名前空間ではOID だけでオブジエクトの識別がで
き、解釈で使われる広域的情報を必要としない。
The interpretation of the OID is a virtual one for showing uniqueness, and is not actually used in the namespace. In each namespace, the object can be identified only by the OID and does not need global information used for interpretation.

【0022】OID の形式は次の通りである。 m:l1.l2.・・・.ln ここで、m ,n は正または0 の整数であり、各 li はLI
D である。即ち、デイレクトリの相対パス指定の''..
/'' の数を: の前に書いたと思えばよい。
The format of OID is as follows. m: l 1.l2 .. ..l n where m, n are positive or integers 0 and each l i is LI
It is D. That is, `` ..
Think of the number of / '' written before the :.

【0023】OID の「解釈」は次のように定義される。 定義1:OID の解釈 OIDm:l1.l2.・・・.ln 名前空間S における解釈は、現
在の名前空間の階層の根(システムの成長によって根は
変わるかもしれないが、常に一つのシステムに一つだけ
存在する)から見たS までのLID の並びをL1.L2.・・
・.Ln すると、 L1.L2.・・・.LN-m .l1.l2. ・・・.ln である。
The "interpretation" of OID is defined as follows. Definition 1: Interpretation of OID OIDm: l 1.l2 .... .l n The interpretation in the namespace S is the root of the current namespace hierarchy (the root may change depending on the growth of the system, but there is always one There is only one in the system) and the sequence of LIDs from S to L 1.L2.
.L n , then L 1.L2 .... .L Nm .l1.l2 .. ..l n .

【0024】これはオブジエクトの生まれた名前空間と
そこでのLID を表すと考えられる。オブジエクトの位置
は次の節で説明するオブジエクトアドレスで表す。この
解釈によれば、ある名前空間のマネージヤから見て、そ
こで生まれたLID がl のオブジエクトを表すOID は0 :l
である。また、オブジエクトが移動していないとき、あ
るオブジエクトから見て同じ名前空間にあるLID がl の
オブジエクトを表すOID は1:l であり、自分を表すOID
は0:である。名前空間のマネージヤから見たOID と、そ
の名前空間にあるオブジエクトから見たOID は異なるこ
とに注意してほしい。図1では、オブジエクトA から見
たB のOID は1:32であり、D のOID は3:2.21.52 であ
る。B とD をC から見ると、OID はそれぞれ2:11.32 、
3:2.21.52となる。B のOID の解釈はA 、C どちらから
見ても1.11.32 であり、D のそれは2.21.52 である。
This is considered to represent the namespace in which the object was born and its LID. The position of the object is represented by the object address described in the next section. According to this interpretation, from the perspective of a namespace manager, the OID that represents an object whose LID is l is 0: l
Is. Also, when the object is not moving, the OID that represents the object whose LID is l in the same namespace from the viewpoint of an object is 1: l, and the OID that represents itself is
Is 0 :. Note that the OID as seen by the namespace manager is different from the OID as seen by the objects in that namespace. In Figure 1, B has an OID of 1:32 and D has an OID of 3: 2.21.52 as viewed from object A. Looking at B and D from C, the OID is 2: 11.32,
3: 2.21.52. The interpretation of OID of B is 1.11.32 from both A and C, and that of D is 2.21.52.

【0025】OID を転送するとき、例えば、通信のため
にメツセージ( 通信の1単位をここではメツセージと呼
ぶ) を他の名前空間に転送するときにそのメツセージの
送り手、受け手、引数のOID は、OID の解釈を変えない
ように変換される。図1でCからD にメツセージを送っ
たとすれば、受け手のOID である3:2.21.52 は、LIDが1
2である名前空間マネージヤが受け取ったときには2.21.
52 に変換される。以下1:2.21.52 、0:2.21.52 、0:21.
52 、0:52、0:と変換されてD に至る。D に着いたとき
には、自分を表すOID に変換されているのである。逆
に、送り手のOIDである0:は、D に至ったときには3:1.1
2.41 に変換されている。この変換を規則にすると次の
ようになる。OID をm:l1.l2.・・・.ln すると、
When transferring an OID, for example, when a message (one unit of communication is called a message here) for communication is transferred to another namespace, the sender, receiver, and argument OID of the message are , OID is converted so that it does not change the interpretation. If we send a message from C to D in Figure 1, the recipient OID 3: 2.21.52 has a LID of 1
2.21 when received by a namespace manager that is 2.
Converted to 52. Below 1: 2.21.52, 0: 2.21.52, 0:21.
It is converted to 52, 0:52, 0: and reaches D. When you arrive at D, it has been converted to an OID that represents you. Conversely, the sender OID 0: is 3: 1.1 when it reaches D.
It has been converted to 2.41. The rules for this conversion are as follows. If OID is m: l 1.l2 .. .l n ,

【0026】規則1:OID の変換 a) 親の名前空間に転送するとき m が正ならm を1 減らす。m が0 なら: の後に自分のLI
D を挿入する。ただし、この変換は親の名前空間で行
う。自分のLID を知っている必要はなくなる。 b) LID がl である子の名前空間あるいは通常のオブジ
エクトに転送するとき m が正ならm を1 増やす。m が0 ならl とl1を比べ、等
しければそれを削除し、異なればm を1 増やす。
Rule 1: OID conversion a) When transferring to the parent namespace, m is decremented by 1 if m is positive. If m is 0: followed by your LI
Insert D. However, this conversion is done in the parent namespace. You no longer need to know your LID. b) When transferring to a child namespace or normal object whose LID is l, increase m by 1 if m is positive. If m is 0, l and l 1 are compared, if they are equal, delete it, and if they are different, m is incremented by 1.

【0027】c) 上記以外の名前空間に直接転送すると
き 名前空間の木の枝を通ってその名前空間に至るときに行
われる上記の変換を順番に行う。これをまとめて表す
と、行き先の名前空間のOID をM:L1.L2.・・・.LN 、行
き先から見た自分のOID をN:L'1.L'2.・・・.L'M とす
るとき、m>M のときは、m をm-M+N で置き換える。m<M
のときは、m をN に置き換え、: の後にL'1.L'2.・・
・.L'M-m を挿入する。m=M のときは、l1= L1, ・・・
・,lk =Lk となる最大のkを求め(l1≠L1ならk=0とす
る)、: の後のk個のLID を削除し、m をN-k で置き換
える。
C) When directly transferring to a namespace other than the above, the above conversions that are performed when the namespace is reached through the branches of the namespace tree are performed in order. In summary, the OID of the destination namespace is M: L 1.L2 .... L N , and the OID of the destination as viewed from the destination is N: L '1.L'2 .... If L' M and m> M, then replace m by m-M + N. m <M
In case of, replace m with N, and after L: 1.L'2.
・. Insert L' Mm . When m = M, l 1 = L1, ...
Find the maximum k such that, l k = Lk (k = 0 if l 1 ≠ L 1 ), delete k LIDs after: and replace m with Nk.

【0028】この規則では、各名前空間のマネージヤは
OID の解釈がどうであるか知っている必要はない。特
に、親や子の名前空間とだけ直接通信する場合には、名
前空間のマネージヤは子のLID を知っているだけでよ
く、他のマネージヤのLID その他を知っている必要はな
い。異なる名前空間にある2つのOID が同じオブジエク
トを表しているか調べる場合も、解釈を用いずに、規則
1を使って同じ名前空間に転送してから比較すればよ
い。
According to this rule, the manager of each namespace is
You don't have to know how the OID is interpreted. In particular, when communicating directly with the parent or child namespace only, the namespace manager need only know the child's LID, not the other manager's LID and so on. To check whether two OIDs in different namespaces represent the same object, you can transfer to the same namespace using Rule 1 and then compare without using interpretation.

【0029】(2)オブジエクトアドレスとオブジエク
トマイグレーシヨンについて オブジエクトアドレス(以下OAD )は、オブジエクトの
現在位置のヒントである。OAD にはその本体の他、いつ
の時点の情報かを表すタイムスタンプがついている。OA
D の本体は、OID のLID の部分の代わりにローカルオブ
ジエクトアドレス(以下LAD )を用いた形をしている。
つまり、各名前空間は、そこにあるオブジエクトにその
名前空間で一意のLAD を与え、これを用いてOAD を構成
する。オブジエクトが生まれたときは、LID とLAD は等
しい。OAD の解釈も、OID と同様であるが、それが表す
ものは、オブジエクトの位置のヒントである。
(2) About Object Address and Object Migration The object address (hereinafter referred to as OAD) is a hint of the current position of the object. In addition to its body, the OAD has a time stamp that indicates when the information was. OA
The body of D uses a local object address (LAD) instead of the LID part of OID.
That is, each namespace gives its objects a unique LAD in that namespace and uses it to construct the OAD. When an object is born, LID and LAD are equal. The interpretation of OAD is similar to that of OID, but what it represents is a hint of the position of the object.

【0030】メツセージを送るとき、受け手を指定する
には相手のOID を用いる。実際には名前空間のマネージ
ヤが付加するなどして、相手のOID とOAD を組にして用
いるが、これはユーザからは見えない。OID で相手を特
定し、OAD で相手の位置を指定するのである。OAD が示
す位置への最適経路は、ルーテイングの問題であり、こ
こでは述べない。最悪でも木の枝を通る経路を選べばよ
い。また、メツセージには自分のOID とOAD の組も含ま
れる。自分のOAD のタイムスタンプは現在時刻とする。
オブジエクトマイグレーシヨンがないときは、OID とOA
D の本体は同じ値であり、転送するときの変換規則も同
じである。オブジエクトマイグレーシヨンが起きたとき
のことを説明するために、各オブジエクトが持っている
情報について説明しておこう。
When sending a message, the OID of the other party is used to specify the recipient. Actually, it is used as a pair of OID and OAD of the other party by adding a namespace manager, but this is invisible to the user. The other party is specified by OID and the other party's position is specified by OAD. The optimal route to the location indicated by the OAD is a routing issue and will not be discussed here. At worst, you can choose a route that goes through a tree branch. The message also includes your OID / OAD pair. The time stamp of your OAD is the current time.
When there is no object migration, OID and OA
The body of D has the same value, and the conversion rule when transferring is the same. In order to explain what happened when an object migration occurred, let me explain the information that each object has.

【0031】各オブジエクトは、自分のOID を持ってい
る。これは、オブジエクトが生まれたときは0:である
が、マイグレーシヨンによって変化する。これは、その
オブジエクトを外から見たときのOID として使われる。
(3)のように、名前空間が移動する場合には、その内
部と外部でOID の変換を行うが、オブジエクトの移動の
場合には、それを最適化したと考えればよい。名前空間
のマネージヤであるオブジエクトはこのほかに、その名
前空間で生まれたすべてのオブジエクトについて、その
LID とOAD の組、その名前空間に現在あるすべてのオブ
ジエクトについて、そのOID とLAD の組を持っている。
これらの両方に当てはまるものはOID=LADであるから、
実装上は使用中のLID を憶えておけばよい。さらに、そ
の名前空間を通ったメツセージを見て、送り手のOID と
LAD の対応をキヤシユする(これは省略可)。受け手の
情報をキヤツシユしないのは、不確かな情報を学習しな
いためである。親あるいは子以外の接続がある場合に
は、その接続先のOID と接続先から自分を見たOID が必
要である。また、(3)で述べるような名前空間の移動
の際には、移動元から移動先を表すOAD も必要である。
Each object has its own OID. This is 0: when the object is born, but it changes depending on the migration. This is used as the OID when the object is viewed from the outside.
When the namespace moves, as in (3), the OID is converted inside and outside the namespace, but in the case of moving the object, it can be considered that it has been optimized. In addition to this, the namespace manager, Object, is responsible for all objects created in that namespace.
It has a set of LID and OAD, and a set of OID and LAD for all objects currently in the namespace.
The one that applies to both of these is OID = LAD, so
For implementation, remember the LID in use. Furthermore, looking at the message that passed through that namespace,
Support LAD support (this can be omitted). The reason why the information of the recipient is not cached is that uncertain information is not learned. If there is a connection other than the parent or child, the OID of the connection destination and the OID that viewed you from the connection destination are required. In addition, when moving the namespace as described in (3), an OAD that represents the source to the destination is also required.

【0032】オブジエクトマイグレーシヨンは、次の手
続きに従う。 手順1:オブジエクトマイグレーシヨン a) 移動開始 オブジエクトが移動を始めることを現在いる名前空間
(以下現住所)のマネージヤが知る。現住所のマネージ
ヤはそのオブジエクトのOID とLAD の組を無効にする。
そのオブジエクトへの通信は一時停止される。 b) 移動 実際にオブジエクトが移動する。オブジエクトの持って
いるOID は、自分のOID も含めて変換される。 c) 移動終了 新しい現住所のマネージヤLAD を割り当ててもらう。LA
D はここを本籍とするオブジエクトのLID と重複しない
ようにする。これは、マイグレーシヨン後であっても、
そのオブジエクトが戻ってきたときに困るからである。
現住所のマネージヤはこのOID とLAD の組を記憶する。
そして、オブジエクトは、オブジエクトが生まれた名前
空間(以下本籍)のマネージヤにOID とLAD を通知す
る。尚、実際には現住所のマネージヤが行うように実装
してもよい。本籍のマネージヤはOAD を更新し、確認通
知を返す。移動したオブジエクトは、確認通知を受け取
るまで、適当な間隔でOID とOAD の通知を繰り返し送
る。これはネツトワーク分割で本籍のマネージヤが切り
離されてしまった場合に対処するためである。
The object migration follows the following procedure. Step 1: Object migration a) Start of movement The manager of the current namespace (hereinafter, the current address) knows that the object will start moving. The current address manager invalidates the OID / LAD pair for that object.
Communication to that object is suspended. b) Movement The object actually moves. The OID of an object is converted including its own OID. c) End of transfer Ask to assign a new manager LAD with the current address. LA
D should not be duplicated with the LID of the object whose home is here. This is even after migrating
This is because when the object comes back, it will be a problem.
The current address manager remembers this OID / LAD pair.
The object then notifies the OID and LAD of the manager of the namespace (hereinafter referred to as the permanent domicile) in which the object was born. It should be noted that, in practice, the management may be carried out by the manager of the current address. The permanent manager updates the OAD and returns a confirmation notice. The moved object repeatedly sends OID and OAD notifications at appropriate intervals until it receives a confirmation notification. This is to deal with the case where the permanent manager is separated by the network division.

【0033】図2は、オブジエクトB が移動して、LID
とLAD が21である名前空間のマネージヤからLAD として
53をもらったところである。このとき、B が持っている
自分のOID は、0:から3:1.11.32 に変換されている。B
は本籍のマネージヤ3:1.11に自分のOID である3:1.11.3
2 とOAD である0:を送る。この情報は、*で示す名前空
間でキヤツシユされる。特に、本籍と現住所(○をつけ
て示す)では必ず記憶されている。移動通知のOID とOA
D も規則1に従って変換されるため、例えば本籍では、
0:32と2:2.21.53 の組となる。
In FIG. 2, the object B moves and the LID
And as a LAD from the namespace manager whose LAD is 21
I just got 53. At this time, B's own OID is converted from 0: to 3: 1.11.32. B
Is a permanent manager 3: 1.11 with his OID 3: 1.11.3
Send 2 and OAD 0 :. This information is cached in the namespace indicated by *. In particular, the permanent address and the current address (marked with a circle) are always stored. Movement notification OID and OA
Since D is also converted according to Rule 1, for example,
It is a set of 0:32 and 2: 2.21.53.

【0034】通信の際、各名前空間では、メツセージの
受け手のOID を見てOAD に次のような書き換えを行う。
これは、子から受け取ったOID/OAD のときは(1)の規
則1の変換の後に、親やそれ以外から受け取ったときは
その前に、つまり、その名前空間でのOID/OAD の表現に
なっているときに行う。
At the time of communication, in each name space, the OID of the recipient of the message is checked and the following rewriting is performed on the OAD.
This is after the conversion of rule 1 of (1) when it is an OID / OAD received from a child, and before it when it is received from a parent or other, that is, the expression of OID / OAD in the namespace. Do when

【0035】規則2:名前空間N での、オブジエクト
A のOAD の書き換え a) A がN にある、あるいはN で生まれたオブジエクト
の場合 OAD をN の知っている正しいOAD で置き換える。 b) OAD によるとA はN にあるのに実際にはない場合 エラーメツセージを返送する。尚、エラーとせずに、タ
イムスタンプはそのままでOAD をOID と同じに戻してそ
ちらに転送する方法もあるが、存在しないOID に対する
エラーと同様に処理できるのでこのようにした。エラー
メツセージが通った名前空間では、もしそのOID とOAD
の対応がキヤツシユされていれば無効にする。 c) N がA のOID とOAD の組をキヤツシユしており、キ
ヤツシユのほうが新しい場合 OAD をキヤツシユのOAD で置き換える。 d) その他の場合 何もしない。
Rule 2: Object in namespace N
Rewriting A's OAD a) If A is in N, or is an object born in N, replace OAD with the correct OAD known by N. b) According to OAD, A will send back an error message if it is in N but not really. It should be noted that there is a method to return the OAD to the same as the OID and transfer it to the OID with the time stamp as it is, without making an error. In the namespace where the error message passed, if the OID and OAD
Disable if the correspondence of is cached. c) If N is a combination of OID and OAD of A, and the cache is newer, replace OAD with the OAD of the cache. d) In other cases Do nothing.

【0036】その後、このアドレス情報を用いて、メツ
セージを送出する。図2でオブジエクトA からB にメツ
セージを送るとすると、メツセージの構成時はB のOID
もOADも1:32であるが(通常のオブジエクトではOAD は
用いずOID=OAD として扱う。)、本籍のマネージヤでOA
D は0:32から2:2.21.53 に書き換えられる。一方、オブ
ジエクトE からB にメツセージを送るときには、構成時
に3:1.11.32 だった受け手のOAD は、LID とLAD が2 の
名前空間でキヤツシユされている情報を用いて 1:1.11.
32から0:21.53 に書き換えられ、本籍を経ることなくオ
ブジエクトB に到達する。
After that, a message is transmitted using this address information. Assuming that a message is sent from object A to B in Fig. 2, BID's OID when the message is constructed.
Both OAD and OAD are 1:32 (OAD is not used in normal objects, but treated as OID = OAD).
D is rewritten from 0:32 to 2: 2.21.53. On the other hand, when sending a message from object E to B, the recipient OAD, which was 3: 1.11.32 at the time of configuration, uses the information that the LID and LAD are cached in the namespace of 1: 1.11.
Rewritten from 32 to 0: 21.53, reaching Object B without going through permanent domicile.

【0037】(3)名前空間の移動とネツトワークの動
的変化について ここでは、名前空間がソフトウエア的に移動したり、ホ
ストが物理的に移動、あるいはローカルネツトワークご
とゲートウエイが移動したりする場合を議論する。ここ
では、ホストやローカルネツトワークも一つの名前空間
を構成していると仮定する。このような移動の場合、そ
の名前空間の中のオブジエクトもいっしょに移動すると
考えられる。そうでない場合、例えば、1つのホストに
は名前空間の一部分しかない場合には、そのホストにあ
るオブジエクトのマイグレーシヨンとして扱えばよい。
(3) Movement of Name Space and Dynamic Change of Network Here, the name space is moved by software, the host is physically moved, or the gateway is moved together with the local network. Discuss the case. Here, it is assumed that the host and the local network also constitute one namespace. In the case of such movement, it is considered that the objects in the namespace also move together. Otherwise, for example, when one host has only a part of the namespace, it can be treated as the migration of the object on that host.

【0038】名前空間が移動した場合、その中のすべて
のオブジエクトのOID を変換するのは効率的でない。そ
こで、名前空間のマネージヤ以外のOID はそのままと
し、外部との通信の際には、マネージヤが相互に変換す
る。マネージヤのOID は、(2)と同様に規則1に従っ
て変化させる。また、接続の確認通知では、本籍から見
た移動先のOAD を(OADが転送されることによる変換を受
けないように) 自分に返してもらう。そして、マネージ
ヤの子孫のオブジエクトのアドレス変換のため、キヤツ
シユによる変換は子孫のオブジエクトのOID に対しても
行うようにする。マネージヤの移動によるOAD の変化
は、拡散キヤツシユによって伝わっていくので、その名
前空間のオブジエクトにはメツセージは正しく送られ
る。マネージヤが移動する前にマイグレートしてしまっ
たオブジエクトと通信する場合でも、マネージヤは正し
い場所を知っているので、メツセージは正しく送られ
る。
When the namespace moves, it is not efficient to convert the OIDs of all the objects in it. Therefore, the OIDs other than the name space manager are left unchanged, and the managers convert each other when communicating with the outside. The OID of the manager is changed according to Rule 1 as in (2). Also, in the connection confirmation notification, the OAD of the transfer destination as seen from the original domicile is requested to be returned to myself (so as not to be converted due to the OAD being transferred). Then, because of the address conversion of the descendant object of the manager, the conversion by the cache is also performed for the OID of the descendant object. The change in OAD due to the movement of the manager is transmitted by the diffusion cache, so the message is correctly sent to the object in that namespace. Even if the manager communicates with an object he has migrated before moving, the message is sent correctly because the manager knows the correct location.

【0039】尚、(2)の書き換え規則2は、次のよう
に変更になる。 規則3:名前空間Nでの、オブジエクトAのOAD の書
き換え a) A がN にあるオブジエクトやその子孫の場合 つまり、A のOID をm:l1.l2.・・・.ln とするとき、あ
る1 ≦k ≦n があって、OID がm:l1.l2.・・・・.lk
オブジエクトB がN にあるとき、B のLAD をL とする
と、A のOAD を0: L.lk+1 ・・・.ln で置き換える。タ
イムスタンプは現在時刻とする。 b) A がN で生まれたオブジエクトやその子孫の場合 つまり、A のOID を0:l1.l2.・・・.ln とするとき、LI
D がl1のオブジエクトB がN で生まれた場合、B のOAD
をM:L1.L2.・・・.LN とすると、A のOAD をM:L1.L2.
・・.LN .l2.・・・.ln で置き換える。タイムスタンプ
はB のOAD のタイムスタンプとする。 c) A のOAD がN の子孫なのに現住所が異なる場合 つまり、A のOAD が0:L1.L2.・・・.LN なのにLAD がL1
のオブジエクトがN に存在しないとき、エラーメツセー
ジを返送する。
The rewriting rule 2 of (2) is changed as follows. Rule 3: Rewriting OAD of object A in namespace N a) When A is an object or its descendant in N, that is, when OID of A is m: l 1.l2 ..... l n , There exists 1 ≤ k ≤ n, and when the object B with OID m: l 1.l2 .... .l k is N, and the LAD of B is L, the OAD of A is 0: replaced by Ll k + 1 ··· .l n. The time stamp is the current time. If b) A is born Obujiekuto and their descendants in the N In other words, the OID of the A 0:. When the l 1.l2 ··· .l n, LI
O of B if the object of D is l 1 and B is born of N
Is M: L 1.L2 ..... L N , the OAD of A is M: L 1.L2.
.. Replace with .L N .l2 .... .l n . The time stamp is the time stamp of OAD of B. c) When the OAD of A is a descendant of N but the current address is different, that is, the OAD of A is 0: L 1.L2 ..... L N, but the LAD is L 1
If no object in N exists, return an error message.

【0040】d) A がN でOID とOAD の組をキヤツシユ
されているオブジエクトかその子孫で、キヤツシユのほ
うが新しい場合 つまり、A のOID をm:l1.l2.・・・.ln とするとき、あ
る1 ≦k ≦n があって、OID が m:l1.l2.・・・.lk
オブジエクトB のOAD がキヤツシユされており、そのタ
イムスタンプがA のOAD のタイムスタンプより新しいと
き(複数のk があるときは、タイムスタンプの新しいほ
うを用いる)、B のOAD をM:L1.L2.・・・.LN とする
と、A のOAD をM:L1.L2.・・・.LN .lk+1.・・・.ln
置き換える。タイムスタンプはA のOADのタイムスタン
プとする。 e) その他の場合 何もしない。
D) If A is N and the object or its descendant that has a combination of OID and OAD and the cache is newer, that is, the OID of A is m: l 1.l2 .... l n When there is a certain 1 ≤ k ≤ n, the OAD of the object B whose OID is m: l 1.l2 .... .l k is cached, and its time stamp is greater than the time stamp of the OAD of A. When it is new (when there are multiple k's, the newer time stamp is used), the OAD of B is M: L 1.L2 ..... L N, and the OAD of A is M: L 1.L2. . replaced by ··· .L N .lk + 1. ··· .l n. The time stamp is the time stamp of OAD of A. e) In other cases Do nothing.

【0041】また、移動した名前空間では、OID とOAD
に次のような変換を行う。 規則4:名前空間NでのOID とOAD の変換 N のOID をM:L1. L2. ・・・.LN 、N の本籍から見た移
動先のOAD をN-1:L'1.L'2.・・・.L'M とするとき、
In the moved namespace, OID and OAD
The following conversion is performed. Rule 4: OID in namespace N and conversion of OAD OID of N is M: L 1. L2 ..... L N , NAD of OAD at the destination seen from the domicile of N-1: L ' 1. L'2 .... When we say L' M ,

【0042】i)親の名前空間に転送するとき: 規則3に
よるOAD の書き換えの後、 a) OID の変換:OID をm:l1.l2.・・・.ln とすると、 m>N のとき:m をm-N+M で置き換える。 m<N のとき:m をM に置き換え、: の後にL1.L2.・・
・.LM-m . を挿入する。 m=N のとき:l1=L'1・・・,lk = L'K なる最大のk を求
め(l1≠ L'1ならk=0 とする)、:の後のk 個のLID を
削除し、m をM-kで置き換える。 b) OAD の変換:OAD がN の子孫でない場合のみ、OID
と同じ変換を行う。これを親に転送すると、親は(1)
の規則1で述べた変換を行う。
I) When transferring to the parent namespace: After rewriting the OAD according to rule 3, a) OID conversion: If OID is m: l 1.l2 .... l n , m> N When: Replace m with m-N + M. When m <N: Replace m with M, and after: L 1.L2 ...
・ Insert .L Mm . When m = N: Find the maximum k such that l 1 = L'1 ..., l k = L'K (if l 1 ≠ L ' 1, set k = 0), Remove the LID and replace m with Mk. b) OAD conversion: OID only if OAD is not a descendant of N
Do the same conversion as. When this is transferred to the parent, the parent (1)
The conversion described in Rule 1 is performed.

【0043】ii)親の名前空間から受け取ったとき: a) OID の変換:OID をm:l1.l2.・・・.ln とすると、 m>M のとき:m をm-M+N で置き換える。 m<M のとき:m をN に置き換え、: の後にL'1.L'2.・・
. L'M-n.を挿入する。 m=M のとき:l1=L1,・・・,lk =Lk となる最大のk を求
め(l1≠L1ならk=0 とする)、: の後のk 個のLID を削
除し、m をN-k で置き換える。 b) OAD の変換:OAD がN の子孫でない場合のみ、OID
と同じ変換を行う。その後、規則3によるOAD の書き換
えを行う。
Ii) When received from the parent namespace: a) OID conversion: Letting OID be m: l 1.l2 .. .l n , if m> M: m is m-M + Replace with N. When m <M: Replace m with N, and after: L'1.L'2.
・ Insert .L'Mn . When m = M: Find the maximum k such that l 1 = L1, ..., l k = Lk (k = 0 if l 1 ≠ L 1 ) and delete k LIDs after: And replace m with Nk. b) OAD conversion: OID only if OAD is not a descendant of N
Do the same conversion as. After that, the OAD is rewritten according to Rule 3.

【0044】具体例を挙げよう。図3は、LID とLAD が
12である名前空間N が移動して、LAD として23をもらっ
たところである。この名前空間のOID とOAD は、4節と
同様にキヤツシユされる(*、○で示す)。ここで、オ
ブジエクトA からF にメツセージを送るとすると、最初
は、F のOID とOAD は2:12.42 であるが、LID とLADが1
の名前空間でOAD は0:12.42 から1:2.23.42 に書き換
えられる。N に至ったときには、OID が2:1.12.42 、OA
D が0:42となっているが、ここでOID は4 によって0:42
に変換され(OADは子孫なのでそのまま) 、オブジエクト
F に到達する。一方、オブジエクトC からB へメツセー
ジを送るときには、C から見たB のOIDはN の移動でも
変化しないため、最初は2:11.32 であるが、N で規則4
によって1:11.32 から2:1.11.32 に変換される。
A specific example will be given. Figure 3 shows that LID and LAD
The namespace N, which is 12, has just moved and has received 23 as the LAD. The OID and OAD of this namespace are cached as in Section 4 (indicated by * and ○). Now, if you want to send a message from object A to F, initially, the OID and OAD of F are 2: 12.42, but the LID and LAD are 1.
OAD is rewritten from 0: 12.42 to 1: 2.23.42 in the namespace. When it reaches N, the OID is 2: 1.12.42, OA
D is 0:42, but here the OID is 4 by 0:42
Converted to (as OAD is a descendant, so it is), and the object
Reach F On the other hand, when sending a message from object C to B, the OID of B seen from C does not change even when N moves, so at first it is 2: 11.32, but at N it is rule 4
Will convert from 1: 11.32 to 2: 1.11.32.

【0045】ホストが物理的に移動する場合に問題にな
るのは、移動先での自分のOID の構成方法である。これ
は、接続の際に自分の場所を教えるべき本籍のマネージ
ヤのOID を知るためにも必要である。オブジエクトマイ
グレーシヨンの場合には、移動中に自分のOID も変換さ
れたので問題なかったが、物理的移動の場合には、いき
なり接続されるので、OID の変換はできない。また、切
断の際に移動先がわかっている場合も少ない。
A problem when the host physically moves is how to configure its own OID at the move destination. This is also necessary to know the OID of the permanent manager who should tell you where to connect. In the case of object migration, there was no problem because my own OID was also converted during movement, but in the case of physical movement, since it is connected suddenly, OID conversion is not possible. In addition, there are few cases where the destination is known at the time of cutting.

【0046】ところで、OID の形式を考えてみると、共
通の祖先までの段数と、そこから自分までのLID の並び
がわかっていれば良いことがわかる。そこで、切断の際
に、移動する範囲に応じて、いくつかのOID の候補を祖
先からもらう。正しく本籍のマネージヤを呼び出せたか
どうかは、適当な認証方法(例えば、公開鍵認証)で確
認する。成功すればOID が確定する。鍵によって認証す
ることは、システム全体で一意のIDがあることに近い
が、使う場面は限られているので、必要なだけ長いもの
を用いて重複確率を小さくすることができる。OID の候
補とともに用いるので、本来この確率は小さい。
By the way, considering the format of OID, it is understood that it is sufficient if the number of stages to a common ancestor and the sequence of LIDs from that point to oneself are known. Therefore, at the time of disconnection, some OID candidates are received from ancestors according to the range to be moved. Whether or not the permanent manager can be called correctly is confirmed by an appropriate authentication method (for example, public key authentication). If successful, the OID is confirmed. Authenticating with a key is similar to having a unique ID in the entire system, but since it is used in a limited number of cases, it is possible to reduce the duplication probability by using as long as necessary. Since it is used together with OID candidates, this probability is originally small.

【0047】(4)システムの接続について ここでは、階層相対名前づけ法を用いたシステム同士を
接続する方法を述べる。木構造を乱さないようにするな
ら、接続には問題はない。つまり、一方の根を他方のあ
る名前空間の子にしてしまうか、あるいは、両方の根の
親となる新しい根を作るようにすればよい。場合によっ
ては接続と同時にOID 、OAD の解釈がいっせいに変わる
が、これは接続後の本籍とそこでのLID 、現在位置のヒ
ントを正しく表すので、すでにあるOID やOAD を変更す
る必要はなく、接続のための作業は局所的である。
(4) Connection of Systems Here, a method of connecting systems using the hierarchical relative naming method will be described. If you don't disturb the tree structure, the connection is fine. In other words, you can either make one root a child of the other namespace or create a new root that is the parent of both roots. In some cases, the interpretation of OID and OAD will change at the same time as connection, but since this correctly represents the permanent domicile after connection, the LID there, and the hint of the current position, it is not necessary to change the existing OID or OAD, and the connection The work for is local.

【0048】超大規模分散システムでは、同じ2つのシ
ステムを異なる場所で接続しようとしてしまうことが考
えられる。例えば、図4の左右のシステムを、I のよう
に接続しているときに、別の場所でIIのように接続して
しまうような場合である。このように接続すると、同じ
オブジエクトを表すOID が2通り以上存在することにな
り、IDとしての要求を満たせなくなってしまう。これが
起こり得るのは、一方(システムA とする)の根を他方
(B とする)のある名前空間の子にする方法による場合
である。この場合、適当な認証方法を仮定して、次のよ
うな接続プロトコルを用いる。
In a very large scale distributed system, it is possible to try to connect the same two systems at different places. For example, when the left and right systems in FIG. 4 are connected like I, they are connected like II at another place. If you connect in this way, there will be two or more OIDs that represent the same object, and you will not be able to meet the requirements for an ID. This can happen because of the way one (system A) root becomes a child of another (system B) namespace. In this case, assuming the proper authentication method, the following connection protocol is used.

【0049】接続の際の確認 a) 根の確認 B の根の認証を得、A の根のものかどうか調べる。異な
る場合は接続してよいので次に進む。同じ場合、既に接
続されている可能性が高いので、B の根のOID を受け手
としてメツセージを送り、A の根が受け取ることを確認
する。 b) ロツク A の根をロツクし、B の根がロツクされていないことを
確認する。ロツクされていた場合、デツドロツクを避け
るためにA のロツクを解除してB の根のロツクの解除を
待ち、再試行する。 c) 接続 B の名前空間におけるA のLID を決め、接続する。 d) アンロツク A の根のロツクを解除する。
Confirmation at the time of connection a) Confirmation of the root Obtain the authentication of the root of B and check whether it belongs to A's root. If they are different, you can connect them, so proceed to the next step. If they are the same, then it is likely that they are already connected, so send the message as the OID of the root of B and confirm that the root of A receives. b) Rock the root of rock A and make sure that the root of rock B is not locked. If it was locked, unlock A to avoid deadlock, wait for B to unlock, and try again. c) Determine the LID of A in the namespace of connection B and connect. d) Unlock the root lock of Unlock A.

【0050】階層の親子関係以外の接続がしたい場合、
例えば、2つのシステムを一ヶ所で接続した後、接続を
増やしたい場合は、互いに相手のOID を知っている必要
がある。超大規模分散システムでは、一つのシステムと
してつながっていても直ちには相手のOID がわからない
場合が少なくない。このようなときでも、適当な認証方
法を用いれば、1:、2:、3:、・・・と順に祖先の認証を
得ることにより、共通の祖先を見つけて、相手のOID を
決めることができる。
When it is desired to make a connection other than the parent-child relationship of the hierarchy,
For example, if you want to connect two systems at one place and then increase the number of connections, you need to know each other's OIDs. In a very large-scale distributed system, it is often the case that the OID of the other party cannot be immediately known even if they are connected as one system. Even in such a case, if an appropriate authentication method is used, the common ancestry can be found and the OID of the other party can be determined by obtaining authentication of ancestors in the order of 1 :, 2 :, 3:, .... it can.

【0051】(5)実装上の問題点について 階層相対名前づけ法を実装する場合、従来になかった問
題点として、OID/OADが可変長であること、OID/OAD
は、転送する度に書き換える必要があることが挙げられ
る。メツセージのどの部分がOID/OAD を表すかを認識
し、(異なる長さに)書き換える必要があるため、効率
が悪くなるのである。また、ホストIDのつけ方も、現在
のIPアドレスのように世界規模で有限長のIDを用いるの
ではなく、階層相対名前づけ法に適した方法が望まれ
る。以下、これらの問題について順に述べる。
(5) Problems in implementation When implementing the hierarchical relative naming method, there are problems that did not exist in the past, that OID / OAD has a variable length, OID / OAD
Is required to be rewritten each time it is transferred. It is inefficient because it needs to know which part of the message represents the OID / OAD and rewrite it (to a different length). Also, the method of assigning a host ID is not a global finite ID like the current IP address, but a method suitable for a hierarchical relative naming method is desired. Hereinafter, these problems will be described in order.

【0052】OID/OAD が可変長であること OID やOAD を実際に使用するのは、異なるアドレス空間
でオブジエクトを参照しあうときだけとする。プログラ
ム中でオブジエクトを扱うときには、短い固定長のID
(以下SID )で指定する。SID は、そのプログラムのア
ドレス空間中で一意のIDである。そのアドレス空間にオ
ブジエクトが生成されたときは、SID だけを割り当て
る。そのオブジエクトをメツセージの引数にするなどし
て、外部に知られるようになったら、LID も割り当て、
OID を構成する。外部のアドレス空間のオブジエクトを
参照したときには、それにSID を割り当てて参照に用い
る。あるオブジエクトの参照がなくなった場合、つま
り、LID が割り当てられていず、そのアドレス空間内で
の参照がなくなった場合、そのSID は再利用される。こ
のため、SID の長さは、そのアドレス空間で使っている
オブジエクト全てに異なるSID を割り当てられれば十分
である。
Variable length of OID / OAD OID and OAD are actually used only when objects are referenced in different address spaces. A short fixed-length ID when dealing with objects in the program
(Hereinafter referred to as SID). SID is a unique ID in the program's address space. When an object is created in that address space, only the SID is assigned. When it becomes known to the outside by making the object an argument of a message, assign the LID,
Configure OID. When an object in the external address space is referenced, the SID is assigned to it and used for reference. If an object is no longer referenced, that is, it has no LID assigned and is no longer referenced in its address space, its SID is reused. For this reason, it is sufficient for the SID length to be able to assign different SIDs to all the objects used in the address space.

【0053】SID は実際にはオブジエクトテーブルのイ
ンデツクスである。テーブルには、同じアドレス空間に
あるオブジエクトについて、その番地が書き込まれる。
また、外部にあるオブジエクトや、外部から参照された
オブジエクトには、そのOID が書き込まれる。どちらも
書き込まれていないオブジエクトはあり得ないため、こ
のテーブルを見ればオブジエクトにアクセスする方法が
わかる。通信の際には、プログラムはSID を引数として
通信のためのカーネルコールを実行する。カーネルの中
では、SID をOID に変換して送出し、受け側のカーネル
はOID を受け手のアドレス空間のSID に変換する。受け
手が同じアドレス空間の場合には、この変換を省略する
ことができる。また、アドレス空間が異なっても、同じ
ホストの場合には、より効率的な方法で受け手のSID に
変換することもできる。
The SID is actually the index of the object table. The addresses of objects in the same address space are written in the table.
The OID is written to the external object or the object referenced from the outside. Neither of these objects can be written, so this table tells you how to access them. At the time of communication, the program executes a kernel call for communication with SID as an argument. In the kernel, the SID is converted to OID and sent out, and the receiving kernel converts the OID into the SID of the recipient's address space. If the recipients have the same address space, this conversion can be omitted. Also, even if the address space is different, if the same host, it can be converted to the receiver SID in a more efficient way.

【0054】OID/OAD は、転送する度に書き換える必
要があること 送り手と受け手以外のOID/OAD は通信の途中で使われる
ことはないので、受け手の方でまとめて変換すると、か
なり高速化が期待できる。そこで、通信中の経路を記録
しておき、(1)の規則1の「直接転送するとき」のよ
うにまとめて変換する。通信を暗号化した場合でも受け
手は解読後に変換することができるので、問題がなくな
る。
OID / OAD must be rewritten each time it is transferred. OID / OADs other than the sender and the receiver are not used in the middle of communication, so if they are converted collectively by the receiver, it will be considerably faster. Can be expected. Therefore, the route being communicated is recorded and collectively converted as in the case of “direct transfer” in rule 1 of (1). Even if the communication is encrypted, the recipient can convert it after decryption, so there is no problem.

【0055】ホストIDのつけ方 ホストが一つの名前空間を構成するとして、その名前空
間のOID (ホストID)をつける場合、理想的には次のよ
うにするべきである。ホストを最初に接続したローカル
ネツトワークからLADをもらい、これをネツトワークで
のアドレスとして用いる。パケツトを送るときは自分と
相手のLAD をsenderとreceiverとして指定し、送り手や
受け手のOID はパケツトのデータとして扱う。ローカル
ネツトワークをゲートウエイを介して他の(大きな)ネ
ツトワークに接続するときは、ローカルネツトワークを
一つの名前空間とし、接続されるネツトワークからロー
カルネツトワークのLAD をもらう。これは接続されるネ
ツトワークにおけるゲートウエイのアドレスとして用い
る。ゲートウエイのアドレスはローカルネツトワークの
すべてのホストに知らせる。必要なら、階層の親子関係
以外の接続も作る。このような接続を繰り返し行えば、
全世界で一つのID割り当て機関を必要とせずにホストID
をつけることができ、IDが不足することもない。
How to assign a host ID When a host constitutes one namespace, when assigning an OID (host ID) of that namespace, ideally it should be done as follows. It gets the LAD from the local network that first connected the host and uses it as the network address. When sending a packet, specify the LADs of yourself and the other party as sender and receiver, and treat the sender and receiver OIDs as the packet data. When connecting a local network to another (large) network via the gateway, use the local network as one namespace and get the LAD of the local network from the connected network. This is used as the gateway address in the connected network. The gateway address is known to all hosts on the local network. If necessary, make connections other than parent-child relationships in the hierarchy. If you repeat this connection,
Host ID without needing a single ID assigning agency worldwide
Can be attached, and there is no shortage of ID.

【0056】しかし、現在あるIP接続のネツトワークと
の整合性も無視できない。現状では、IPアドレスは世界
規模で一意性が保証されているホストアドレスであるか
ら、階層化せずにIPアドレスをそのままLAD とする実装
も考えられる。この場合、ネツトワーク通信に関して
は、従来の仮想IPの実装を用いれば、より効率的なもの
となる。
However, the compatibility with the existing IP connection network cannot be ignored. At present, the IP address is a host address whose uniqueness is guaranteed on a global scale, so it is possible to implement the LAD without changing the IP address. In this case, the network communication will be more efficient if the conventional virtual IP implementation is used.

【0057】[0057]

【発明の効果】【The invention's effect】

(1)本発明では、階層構造をなす局所的名前空間を持
った大規模分散計算機システムにおいて、システム内の
オブジエクトの識別子の表現を、それを使うオブジエク
トの位置と、それの示すオブジエクトの生成時の位置と
の相対的な関係に基づいて行い、又、システム内のオブ
ジエクトの現在位置の表現を、それを使うオブジエクト
の位置と、それの示す位置との相対的な関係に基づいて
行うようにしているので、以下のような効果を持つ。 a) オブジエクトに一意のIDを与えることができる。 b) 近くのオブジエクトとは短いIDを使って通信でき
る。 c) システムの成長に対応できる。 d) 局所的な情報だけで通信できる。 e) オブジエクトの移動に対応できる。 f) ホストの移動やネツトワークの動的変化に対応でき
る。
(1) In the present invention, in a large-scale distributed computer system having a local name space having a hierarchical structure, the representation of the identifier of an object in the system, the position of the object that uses it, and the generation time of the object indicated by the object And the representation of the current position of the object in the system based on the relative relation between the position of the object using it and the position it indicates. Therefore, it has the following effects. a) A unique ID can be given to an object. b) Can communicate with nearby objects using short IDs. c) Capable of supporting system growth. d) Communication is possible only with local information. e) It can handle the movement of objects. f) It can cope with the movement of the host and the dynamic change of the network.

【0058】(2)詳細には、以下のようである。本発
明では、オブジエクトIDやオブジエクトアドレスについ
て、その表現とその解釈を分離しており、表現には相対
指定を用い、使う場所によって表現を変えることによっ
て、効率を良くすることができる。また、解釈によって
従来のIDやアドレスと関連づけたため、一意性の保証を
従来と同等に扱えるようにすることができる。解釈は仮
想的なものであり、実装上は解釈に使われる広域的な情
報を必要としない。特に、別の分散システムに接続する
際にも、使っていたIDやアドレスの表現はそのままで解
釈だけがいっせいに変わるため、拡張性があり、大規模
システム、成長するシステムに適している。局所的な知
識だけでIDやアドレスに関する操作ができることは、可
用性も向上させる。さらに、仮想ネツトワークと拡散キ
ヤツシユ法を階層的に用いることで、オブジエクトマイ
グレーシヨン、ホストの移動、ネツトワークの構造変化
に対する移動透過性を実現することができる。
(2) The details are as follows. In the present invention, the expression and the interpretation of the object ID and the object address are separated, and the relative specification is used for the expression, and the expression can be changed depending on the place to be used, so that the efficiency can be improved. Also, since the ID is associated with the conventional ID and address by interpretation, the guarantee of uniqueness can be handled in the same manner as in the conventional case. Interpretation is virtual and does not require the global information used for interpretation in the implementation. In particular, when connecting to another distributed system, the interpretation of IDs and addresses that have been used remains unchanged and the interpretation changes all at once, making it scalable and suitable for large-scale systems and growing systems. Being able to operate IDs and addresses with only local knowledge improves availability. Furthermore, by using the virtual network and the diffusion cache method in a hierarchical manner, it is possible to realize the migration transparency to the object migration, the migration of the host, and the structural change of the network.

【0059】さらに、本発明では、ホストの移動やシス
テムの接続を確実にするために、適当な認証方法を必要
とするが、大規模分散システムを実際に用いるときに
は、秘密保護や認証は必ず必要になるため、これは特に
制限とはならない。
Further, in the present invention, an appropriate authentication method is required to ensure the movement of the host and the connection of the system. However, when actually using a large-scale distributed system, confidentiality protection and authentication are always required. So this is not a particular limitation.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明による階層的名前空間を示す図である。FIG. 1 illustrates a hierarchical namespace according to the present invention.

【図2】本発明による階層的名前空間におけるオブジエ
クトマイグレーシヨンの様子を表す図である。
FIG. 2 is a diagram showing a state of object migration in a hierarchical name space according to the present invention.

【図3】本発明による階層的名前空間における名前空間
の移動を示す図である。
FIG. 3 is a diagram showing movement of namespaces in a hierarchical namespace according to the present invention.

【図4】名前空間におけるシステムの接続で問題が起き
る場合の様子を表す図である。
FIG. 4 is a diagram showing a situation in which a problem occurs in a system connection in a namespace.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 階層構造をなす局所的名前空間を持った
大規模分散計算機システムにおいて、システム内のオブ
ジエクトの識別子の表現を、それを使うオブジエクトの
位置と、それの示すオブジエクトの生成時の位置との相
対的な関係に基づいて行うことを特徴とする大規模分散
計算機システム
1. In a large-scale distributed computer system having a hierarchical local namespace, the identifier of an object in the system is represented by the position of the object that uses it and the position at the time of generation of the object indicated by it. Large-scale distributed computer system characterized by being performed based on the relative relationship with
【請求項2】 システム内のオブジエクトの現在位置の
表現を、それを使うオブジエクトの位置と、それの示す
位置との相対的な関係に基づいて行うことを特徴とす
る、請求項1記載の階層構造をなす局所的名前空間を持
った大規模分散計算機システム。
2. The hierarchy according to claim 1, wherein the representation of the current position of the object in the system is performed based on the relative relationship between the position of the object using it and the position indicated by it. A large-scale distributed computer system with a structured local namespace.
JP337892A 1992-01-10 1992-01-10 Method for connecting large-scale distributed computer system forming hierarchical structure Pending JPH05189389A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP337892A JPH05189389A (en) 1992-01-10 1992-01-10 Method for connecting large-scale distributed computer system forming hierarchical structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP337892A JPH05189389A (en) 1992-01-10 1992-01-10 Method for connecting large-scale distributed computer system forming hierarchical structure

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001399539A Division JP2002271374A (en) 2001-12-28 2001-12-28 Information processing device and method therefor

Publications (1)

Publication Number Publication Date
JPH05189389A true JPH05189389A (en) 1993-07-30

Family

ID=11555695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP337892A Pending JPH05189389A (en) 1992-01-10 1992-01-10 Method for connecting large-scale distributed computer system forming hierarchical structure

Country Status (1)

Country Link
JP (1) JPH05189389A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171501A (en) * 1995-10-19 1997-06-30 Fuji Xerox Co Ltd Resources controller
US5706501A (en) * 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
US5819044A (en) * 1994-10-12 1998-10-06 Fuji Xerox Co., Ltd. Name service apparatus using resource management, name resolution and virtual resource realization for realizing a virtual resource by applying the procedure to the actual resource
JP2006146420A (en) * 2004-11-17 2006-06-08 Yokogawa Electric Corp Field equipment and system using the same
CN102713963A (en) * 2010-01-22 2012-10-03 Gg21有限公司 Interworking system among a plurality of distributed virtual worlds using a universally unique distributed object ID and method for same
CN105549956A (en) * 2014-11-04 2016-05-04 中兴通讯股份有限公司 Object identifier processing method and system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819044A (en) * 1994-10-12 1998-10-06 Fuji Xerox Co., Ltd. Name service apparatus using resource management, name resolution and virtual resource realization for realizing a virtual resource by applying the procedure to the actual resource
US5706501A (en) * 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
JPH09171501A (en) * 1995-10-19 1997-06-30 Fuji Xerox Co Ltd Resources controller
US5765154A (en) * 1995-10-19 1998-06-09 Fuji Xerox Co., Ltd. Resource management system
JP2006146420A (en) * 2004-11-17 2006-06-08 Yokogawa Electric Corp Field equipment and system using the same
JP4622474B2 (en) * 2004-11-17 2011-02-02 横河電機株式会社 Field device and system using the same
US8321493B2 (en) 2004-11-17 2012-11-27 Yokogawa Electric Corporation Field device and system employing the same
CN102713963A (en) * 2010-01-22 2012-10-03 Gg21有限公司 Interworking system among a plurality of distributed virtual worlds using a universally unique distributed object ID and method for same
JP2013517580A (en) * 2010-01-22 2013-05-16 ジージー21・カンパニー・リミテッド Inter-linkage system and method for multiple distributed virtual worlds using globally unique distributed object identification ID
CN105549956A (en) * 2014-11-04 2016-05-04 中兴通讯股份有限公司 Object identifier processing method and system

Similar Documents

Publication Publication Date Title
EP1517508B1 (en) Method and apparatus for representing and applying network topological data
KR101201072B1 (en) Rendezvousing resource requests with corresponding resources
EP0955761B1 (en) Method and server for accessing a network directory
JP3411159B2 (en) Mobile computer support system
JP4117144B2 (en) Peer-to-peer name resolution protocol (PNRP) and multi-level cache for use therewith
EP1333389A2 (en) Directory server software architecture
McGrath Discovery and its discontents: Discovery protocols for ubiquitous computing
US7197574B1 (en) Domain name system inquiry apparatus, domain name system inquiry method, and recording medium
JP2000349747A (en) Public key managing method
CN113709250A (en) Cross-domain user data synchronization method based on subscription sending mode
JPH05189389A (en) Method for connecting large-scale distributed computer system forming hierarchical structure
US8826026B2 (en) Systems and methods for tracking electronic files in computer networks using electronic signatures
KR100301026B1 (en) Method for interconnecting private network and public network using network address translation table and computer readable medium therefor
Davin et al. SNMP Administrative Model
JP4272105B2 (en) Storage group setting method and apparatus
JP2002271374A (en) Information processing device and method therefor
JP3965774B2 (en) Network system
Fujinami et al. Naming of Objects in Large-Scale Distributed Systems
Zhou The design and implementation of the Berkeley Internet Name Domain (BIND) servers
US7185097B1 (en) Encoding addresses in a communication system
WO2021260948A1 (en) Data node, data node management method, and data node management program
JPH10290257A (en) Message repeating device and communication system
Newton Replacing the whois protocol: IRIS and the IETF's CRISP working group
Mattes et al. Directories and Orientation in Heterogeneous Networks
Kille MHS use of the X. 500 directory to support MHS routing

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010518