JP3182800B2 - Distributed processing system - Google Patents
Distributed processing systemInfo
- Publication number
- JP3182800B2 JP3182800B2 JP19962491A JP19962491A JP3182800B2 JP 3182800 B2 JP3182800 B2 JP 3182800B2 JP 19962491 A JP19962491 A JP 19962491A JP 19962491 A JP19962491 A JP 19962491A JP 3182800 B2 JP3182800 B2 JP 3182800B2
- Authority
- JP
- Japan
- Prior art keywords
- world
- communication
- objects
- modularization
- processing
- 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.)
- Expired - Fee Related
Links
Description
【0001】[0001]
【産業上の利用分野】本発明は多数の計算機を接続した
複数のネットワークを含有する広域的分散処理環境にお
ける、分散処理システムの構築支援環境に関連し、特
に、効率的かつ使用し易い通信機能を提供する環境に関
する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an environment for supporting the construction of a distributed processing system in a wide-area distributed processing environment containing a plurality of networks connecting a large number of computers, and more particularly to an efficient and easy-to-use communication function. For providing environment.
【0002】[0002]
【従来の技術】分散処理環境において、効率的に分散処
理システムを作成する方法として、分散処理環境内の計
算機に存在する各種の資源、プログラムモジュール等を
一元的に管理する管理テーブルを用意し、該資源の利用
あるいは該プログラムモジュールとの通信は、該管理テ
ーブルの情報を利用して実行する方法を採用することが
多い。2. Description of the Related Art As a method of efficiently creating a distributed processing system in a distributed processing environment, a management table for centrally managing various resources, program modules, and the like existing in computers in the distributed processing environment is prepared. The use of the resource or communication with the program module often employs a method of executing using the information of the management table.
【0003】特開昭61−267859号公報記載の特許は、各
ノード(計算機またはプロセッサ)ごとに該ノード上に
存在するプロセスと標準的に存在するプロセスとについ
て、その状態,識別番号,ノードアドレス等を登録する
プロセス管理テーブルと、該プロセス管理テーブルの登
録,更新を行うスーパバイザプロセスとを用意し、該ス
ーパバイザプロセスがプロセス管理テーブルを参照して
メッセージ送信を行う方式である。また、特開昭62−12
6457号公報記載の発明では、データと該データを処理す
る手続きをまとめたオブジェクトが各々どのプロセッサ
に存在するかについての情報を保持するオブジェクト管
理テーブルを設け、該オブジェクト管理テーブルを参照
して処理依頼または処理報告に関する送受信を行ってい
る。これらの方式は、各プロセス/オブジェクトが分散
システム上のどの計算機(プロセッサ)上で実行されて
いるか等の情報を、一元的に管理テーブルに登録し、通
信等の処理を行う場合には該管理テーブルを参照して具
体的なアドレス情報等を入手してから実行する方法であ
る。A patent described in Japanese Patent Application Laid-Open No. 61-267859 discloses a state, an identification number, and a node address of a process existing on a node (computer or processor) and a process existing on a standard basis. And a supervisor process for registering and updating the process management table, and the supervisor process refers to the process management table to transmit a message. Also, JP-A-62-12
In the invention described in Japanese Patent No. 6457, there is provided an object management table which holds information on which processor is provided with an object in which data and a procedure for processing the data are present, and requests processing by referring to the object management table. Alternatively, transmission / reception regarding a processing report is performed. According to these methods, information such as on which computer (processor) in a distributed system each process / object is executed is centrally registered in a management table, and when processing such as communication is performed, the management is performed. In this method, specific address information and the like are obtained by referring to a table and then executed.
【0004】これらの一元的情報管理は、特に分散環境
の透過性を実現するために用いられることが多い。特開
平1−166158号,特開平1−166159号公報記載の発明のよ
うに、分散処理環境内の各資源をあたかも1つの計算機
上に存在するかのように見せる方式が存在する。これ
は、一元的に管理されるデータ、すなわち、各資源の位
置並びに構造情報を1つの計算機若しくは全ての計算機
に配置し、該情報を各計算機から引用可能とすることに
よって、全ての計算機上で同一の構造を持った仮想的な
識別手段を用いて遠隔地の分散資源へのアクセスを可能
とするものである。[0004] Such centralized information management is often used to realize transparency especially in a distributed environment. As in the inventions described in JP-A-1-166158 and JP-A-1-166159, there is a method that makes each resource in a distributed processing environment appear as if it exists on one computer. This is because the centrally managed data, that is, the location and structure information of each resource are arranged in one computer or all computers, and the information can be referred to from each computer. It enables access to remote distributed resources using virtual identification means having the same structure.
【0005】[0005]
【発明が解決しようとする課題】上記に示す情報の一元
的管理方法では、一元管理される情報をテーブルとして
1つの計算機上に配置するか(特開昭62−126457号,特
開平1−166158号公報)、標準的プロセスの情報のみコ
ピーを各計算機に配置し、それ以外の情報は該テーブル
を計算機単位に分割して各計算機に配置するか(特開昭
61−267859号公報)、該テーブルのコピーを各計算機に
配置するか(特開平1−166159 号公報)のいずれかの方
式を採用している。しかし、管理テーブルを1つの計算
機上に配置すれば、通信を行うごとに1つの計算機への
テーブル参照が行われ、計算機の効率的な利用に支障が
起こる。テーブルをコピーして分散配置することによ
り、1つの計算機への要求集中を避けることができる
が、テーブル更新時には全計算機へ更新要求を放送しな
ければならず、分散処理環境内でプロセスの生成/終
了,計算機の導入/撤去等が頻繁に発生するシステムに
おいては、本来プログラム実行には関係のない通信が多
発し、ユーザプログラムの実行を著しく妨げることがあ
る。また、分散処理環境内での放送は、ネットワークの
遅延などを考慮すると、各テーブルのコピー間の一貫性
保証問題にもつながる。テーブルを計算機単位に分割
し、各計算機に配置すれば、上記の二者の問題点は避け
得るが、これは結局、個々で独立に動作する計算機をネ
ットワークに接続しただけであり、たとえ、標準的プロ
セスの情報をコピーして各計算機に有していても、ユー
ザの作成した「標準的でないプロセス」間の通信は、ユ
ーザが個々のプロセスの情報(特に、通信相手となるプ
ロセスがどの計算機に配置されているか)を認識してプ
ログラミングを行うか、前記スーパバイザプロセスが
「標準的でないプロセス」の情報を全て認識していなけ
れば不可能である。ただし、後者の方式は、情報管理テ
ーブルのコピーを各計算機が所有する方式と等価であ
る。According to the above-mentioned unified management method of information, whether information to be unifiedly managed is arranged as a table on one computer (Japanese Patent Laid-Open No. Sho 62-126457, Japanese Patent Laid-Open No. 1-166158) Japanese Patent Application Laid-Open Publication No. HEI 9-26509), a copy of only standard process information is allocated to each computer, and other information is divided into computer units and allocated to each computer.
61-267859), or a copy of the table is arranged in each computer (Japanese Patent Application Laid-Open No. 1-166159). However, if the management table is arranged on one computer, the table is referred to one computer every time communication is performed, which hinders efficient use of the computer. By copying and distributing the tables, it is possible to avoid concentration of requests on one computer. However, at the time of updating the table, an update request must be broadcast to all the computers, and the generation / creation of the process in the distributed processing environment must be performed. In a system in which the termination, introduction / removal of a computer, and the like frequently occur, communication irrelevant to the execution of the program occurs frequently, which may significantly hinder the execution of the user program. Broadcasting in a distributed processing environment also leads to a problem of consistency between copies of each table in consideration of network delays and the like. If the table is divided into computer units and arranged on each computer, the above two problems can be avoided.However, after all, each computer that operates independently and independently is connected to the network. Even if the information of the standard process is copied and stored in each computer, the communication between the “non-standard processes” created by the user is performed by the user by the information of the individual process (especially, Or the supervisor process does not recognize all the information of the "non-standard process". However, the latter method is equivalent to a method in which each computer owns a copy of the information management table.
【0006】上記に示した問題は特に、広域的分散処理
環境(都市間ネットワーク,国家間ネットワーク等)に
おいて重要となる。このような、大規模かつ広範囲に渡
る分散処理環境においては、そもそも、分散処理環境に
存在する全資源、全プロセス(以降、資源とプロセスを
まとめてオブジェクトと総称する)の情報を1つのテー
ブルにまとめることは不可能であり、さらに、分散処理
環境内のオブジェクトの変化を該テーブル内のデータの
変更に伝達させることは、LAN(ローカルエリアネッ
トワーク)等に代表される従来の分散処理環境に比べ
て、多大な時間を必要とする。ユーザが個々のオブジェ
クトの情報を認識してプログラミングを行う場合におい
ては、そのユーザがシステム全体のハードウェア,ソフ
トウェア構成を詳しく認識していることが前提となり、
広域的分散処理環境では、その前提自体が困難な条件と
なる。The above-mentioned problems are particularly important in a wide-area distributed processing environment (inter-city network, inter-state network, etc.). In such a large-scale and wide-area distributed processing environment, information of all resources and all processes (hereinafter, resources and processes are collectively referred to as an object collectively) existing in the distributed processing environment is originally stored in one table. It is impossible to combine them, and it is more difficult to transmit changes in objects in the distributed processing environment to changes in data in the table than in a conventional distributed processing environment represented by a LAN (local area network) or the like. Requires a lot of time. When a user performs programming by recognizing information on individual objects, it is premised that the user has detailed knowledge of the hardware and software configuration of the entire system.
In a wide-area distributed processing environment, the premise itself is a difficult condition.
【0007】本発明の目的は、広域的分散処理環境に存
在するオブジェクトを効率的に管理し、さらに、分散処
理システムを構築するユーザに対して負担を掛けない支
援環境を提供することである。特に、本発明では、分散
処理環境内で多数のオブジェクトが互いにメッセージを
送受して動作する分散処理システムに対して、効率的か
つ使用し易い通信機能を提供することを主目的とする。An object of the present invention is to provide a support environment which efficiently manages objects existing in a wide-area distributed processing environment and does not impose a burden on a user who constructs a distributed processing system. In particular, an object of the present invention is to provide an efficient and easy-to-use communication function for a distributed processing system in which a large number of objects operate by sending and receiving messages to and from each other in a distributed processing environment.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するた
め、特に、分散環境におけるオブジェクトの認識可能範
囲と認識可能事項を制限する。都市間ネットワークや国
家間ネットワークにおいては、ネットワーク内の全オブ
ジェクトをあたかも1つの計算機上にあるかのように見
せる必要性はない。例えば、ある都市は、都市の名称/
人口/機構等といった代表的な値とそれを操作/参照す
るための通信インタフェースのみを他の都市に見せてい
ればよいのであって、都市内ネットワークの全ての計算
機に存在するオブジェクトを他の都市に見せなくてもよ
い。このようなオブジェクトの認識可能範囲/事項の制
限を行うために、関連あるオブジェクトの集合を1つの
世界としてモジュール化するモジュール化手段と、該世
界に存在するオブジェクト群の機能とデータの一部また
は全てを他の世界のオブジェクトの機能とデータとして
投影するオブジェクト化手段とを導入する。また、オブ
ジェクト,モジュール化手段,オブジェクト化手段の3
者の間で通信を行うために、世界内でオブジェクト間通
信を行う第一の通信手段と、オブジェクトと該オブジェ
クトが属している世界のモジュール化手段との間で通信
を行う第二の通信手段と、世界を投影しているオブジェ
クトと該世界のモジュール化手段との間で通信を行う第
三の通信手段と、世界の状態と通信形態にしたがって、
該世界内全オブジェクト、該世界内の複数のオブジェク
ト、該世界内の1つのオブジェクト、若しくは、該世界
を投影しているオブジェクトの4者の内いずれかを選択
し、選択されたオブジェクトまたはオブジェクト群と該
世界のモジュール化手段との間で通信を行う第四の通信
手段を設ける。In order to achieve the above object, in particular, the recognizable range and recognizable items of an object in a distributed environment are limited. In an intercity network or an interstate network, there is no need to make all objects in the network appear as if they were on one computer. For example, a city may have a city name /
Only the representative value such as population / mechanism and the communication interface for operating / referencing it should be shown to other cities, and objects existing in all the computers in the intra-city network should be displayed in other cities. You don't have to show it. In order to limit the recognizable range / items of such an object, a modularization means for modularizing a set of related objects as one world, and a function or a part or data of an object group existing in the world Introduces an object conversion means for projecting everything as functions and data of objects in other worlds. In addition, object, modularization means, and objectization means 3
First communication means for performing inter-object communication in the world in order to perform communication between persons, and second communication means for performing communication between an object and modularization means in the world to which the object belongs. And third communication means for communicating between the object projecting the world and the modularization means of the world, and according to the state and communication form of the world,
All objects in the world, a plurality of objects in the world, one object in the world, or any one of four objects projecting the world is selected, and the selected object or object group is selected. And a fourth communication means for performing communication between the device and the module means in the world.
【0009】このように、本発明では、関連あるオブジ
ェクトの集合をモジュール化手段により1つの世界とし
て、世界内では第一の通信手段により自由な通信を保証
する半面、世界間ではオブジェクト化手段、第二乃至第
四の通信手段によって限られた通信のみを提供する。前
記の例に当て嵌めれば、都市内ネットワークに存在する
オブジェクトを1つの世界とし、他都市との通信(他世
界との通信)は都市の名称/人口/機構等といった代表
的な値を操作/参照する場合に限定するという形で使用
する。オブジェクト管理を世界単位に独立して行うこと
ができるため、各オブジェクトを効率よく管理するとい
う目的を達成できる。通信に関しても、他世界内のオブ
ジェクトとの通信を「他世界との通信」という通信形式
で実行できる。送信先世界の内部の詳細を知る必要がな
いため、ユーザに使用し易い通信機能を提供するという
目的も達成可能である。As described above, according to the present invention, a set of related objects is made into one world by the modularization means, and free communication is guaranteed by the first communication means in the world. Only limited communication is provided by the second to fourth communication means. Applying to the above example, the objects existing in the intra-city network are regarded as one world, and communication with other cities (communication with other worlds) operates representative values such as city names / populations / organizations. / Use only in the case of reference. Since object management can be performed independently on a global basis, the object of efficiently managing each object can be achieved. As for communication, communication with an object in another world can be executed in a communication format of “communication with another world”. Since there is no need to know the details inside the destination world, it is possible to achieve the object of providing a user-friendly communication function.
【0010】[0010]
【作用】モジュール化手段は世界内オブジェクトの管理
と、第四の通信手段を利用した世界間通信の制御を行
う。この内、オブジェクト管理として、オブジェクトの
存在するアドレス,負荷状態,機能等の情報を管理する
他、オブジェクトの生成/消去/世界間移動、オブジェ
クト間の負荷分散等の処理を実行する。オブジェクト化
手段は第三の通信手段を利用して、世界に存在するオブ
ジェクト群の機能とデータの一部または全てを他の世界
のオブジェクトの機能とデータとして提供する。この
際、機能若しくはデータをキャッシングして情報を高速
に参照可能としたり、世界への通信の形態変換も行う。The module unit manages objects in the world and controls inter-world communication using the fourth communication unit. Among these, as the object management, in addition to managing information such as the address where the object exists, the load state, the function, and the like, processing such as generation / deletion / movement of objects around the world, load distribution between objects, and the like are executed. The objectizing means uses the third communication means to provide some or all of the functions and data of the objects existing in the world as the functions and data of the objects in other worlds. At this time, the function or data is cached so that information can be referred to at high speed, and the form of communication to the world is converted.
【0011】第一の通信手段はオブジェクトから同一世
界内の他オブジェクトへのメッセージ送信と、オブジェ
クトに対して送られたメッセージの受信を行う。第二の
通信手段はオブジェクトから自己の属している世界のモ
ジュール化手段へのメッセージ送信を行う。第三の通信
手段はオブジェクトから自己の投影している世界のモジ
ュール化手段へのメッセージ送信を行う。第四の通信手
段はモジュール化手段に送られてきたメッセージをオブ
ジェクトに転送する。この際、該モジュール化手段が管
理している世界の状態と通信形態にしたがって、該世界
内の1つのオブジェクト、該世界内の複数のオブジェク
ト、該世界内の全オブジェクト、該世界を投影している
オブジェクトの4者のいずれかを送信先オブジェクトと
して選択する。The first communication means sends a message from an object to another object in the same world and receives a message sent to the object. The second communication means transmits a message from the object to the modularization means in the world to which the object belongs. The third communication means sends a message from the object to the modularization means of the world in which it is projecting. The fourth communication means transfers the message sent to the modularization means to the object. At this time, one object in the world, a plurality of objects in the world, all objects in the world, and the world are projected according to the state and communication form of the world managed by the modularization means. One of the four objects is selected as the destination object.
【0012】[0012]
【実施例】本発明の実施例を図面を用いて説明する。Embodiments of the present invention will be described with reference to the drawings.
【0013】図1および図2に本発明の全体構成の詳細
図と概略図を示す。本発明では、分散処理システム上に
存在する複数個の「オブジェクト」(データと該データ
を操作する手続き群の集合体)の内、互いに密接に関連
するオブジェクトを「世界」としてモジュール化する。
オブジェクト間通信を世界内のみに限って、ユーザに制
限された視野内でプログラミングさせることにより、シ
ステム構築を容易とする。世界は他世界内のオブジェク
トに投影することができ、他世界内のオブジェクトとの
通信は暗黙の内に行われる。すなわち、世界を投影して
いるオブジェクトに対してメッセージを送信した場合、
該世界内のオブジェクトに対してメッセージが転送され
る。オブジェクトは、基本的には、世界内でメッセージ
を送受して動作するが、世界内で処理しきれない機能を
実行する場合には、他世界を投影しているオブジェクト
を介して該世界のオブジェクトに処理を依頼する。FIGS. 1 and 2 show a detailed view and a schematic view of the entire structure of the present invention. In the present invention, among a plurality of "objects" (a collection of data and a group of procedures for operating the data) existing on the distributed processing system, objects closely related to each other are modularized as a "world".
The system construction is facilitated by allowing the user to program the communication between objects only in the world and within a limited field of view. The world can be projected onto objects in other worlds, and communication with objects in other worlds is implicit. That is, if you send a message to an object that projects the world,
Messages are forwarded to objects in the world. An object basically operates by sending and receiving messages in the world, but when performing a function that cannot be processed in the world, an object of the world through an object projecting another world Request processing.
【0014】まず、図2を用いて本発明の概要について
説明する。First, an outline of the present invention will be described with reference to FIG.
【0015】図2中、241乃至249はそれぞれオブ
ジェクトであり、データとそれを処理する手続き群から
構成され、互いに通信を行い、協調して動作する。オブ
ジェクトは、アプリケーションプログラム、若しくは、
プログラムモジュールであると考えてよい。オブジェク
トはメッセージ受信により起動され、オブジェクト内で
処理を行い、必要に応じて、他オブジェクトにメッセー
ジを送信する。211乃至213はこれらのオブジェク
トをそれぞれモジュール化した世界である。世界211
はオブジェクト241乃至244を、世界212はオブ
ジェクト245乃至247を、世界213はオブジェク
ト248,249をモジュール化した仮想的空間であ
る。システム内の各オブジェクトは実際には対等の関係
にあるが、モジュール化処理221乃至223が世界内
オブジェクトの情報を管理し、これらをモジュール化し
た仮想的な概念である世界をユーザに提供する。また、
本実施例では、世界212並びに213がそれぞれ、オ
ブジェクト化処理231,232によって、世界211
内のオブジェクト241,244に投影されている。オ
ブジェクト化処理の役割は、世界を投影しているオブジ
ェクトに必要な情報のみを見せること、該オブジェクト
と世界との通信内容を必要に応じて変換することであ
る。モジュール化処理222とオブジェクト化処理23
1、若しくは、モジュール化処理223とオブジェクト
化処理232はそれぞれ、1対1に対応するのでこれら
を融合し1つのプログラムとすることは可能である。In FIG. 2, reference numerals 241 to 249 denote objects, which are composed of data and a group of procedures for processing the data, communicate with each other, and operate in cooperation. The object is an application program or
You can think of it as a program module. The object is activated by receiving the message, performs processing in the object, and transmits a message to another object as necessary. Reference numerals 211 to 213 denote worlds in which these objects are modularized. World 211
Is a virtual space in which the objects 241 to 244, the world 212 is the objects 245 to 247, and the world 213 is a module in which the objects 248 and 249 are modularized. Although each object in the system is actually in an equal relationship, the modularization processes 221 to 223 manage information on objects in the world, and provide the user with a world which is a virtual concept in which these are modularized. Also,
In the present embodiment, the worlds 212 and 213 are respectively converted into
Are projected onto the objects 241 and 244 in the inside. The role of the object conversion process is to show only necessary information to the object projecting the world, and to convert the communication content between the object and the world as necessary. Modularization processing 222 and object conversion processing 23
1 or the module conversion process 223 and the object conversion process 232 correspond to each other on a one-to-one basis, so that they can be combined into one program.
【0016】次に、世界間でオブジェクトが通信し合う
方法について、その概略を図2を用いて説明する。世界
211でオブジェクト242と241との間で通信25
1が行われたとする。ここで、オブジェクト241は下
位世界212を投影しているため、オブジェクトの実際
の処理は世界212内部で行われる。したがって、オブ
ジェクト化処理231,モジュール化処理222を介し
て世界212内のオブジェクトに処理を依頼する(通信
252乃至254)。実施例では、オブジェクト245
に対して依頼のメッセージを転送している。オブジェク
ト245にとって、通信254は送信元オブジェクトを
認識することができない通信である。通信254によっ
て示された依頼がオブジェクト245のみで処理できな
ければ、他のオブジェクトにメッセージを転送して処理
する(通信255)。世界212内で行うべき処理が終
了すれば、自己の属している世界を送信先とした通信を
行う(通信256)。通信256を受けたモジュール化
処理222は、世界を投影しているオブジェクト241
に、メッセージを転送する(通信257)。なお、図で
はモジュール化処理222から直接オブジェクト241
に通信を行っているが、オブジェクト化処理231を介
して通信する方式もある。Next, an outline of a method of communicating objects between the worlds will be described with reference to FIG. Communication 25 between objects 242 and 241 in world 211
Assume that 1 has been performed. Here, since the object 241 projects the lower world 212, the actual processing of the object is performed inside the world 212. Therefore, processing is requested from objects in the world 212 via the object conversion processing 231 and the module conversion processing 222 (communications 252 to 254). In the example, object 245
The request message has been forwarded to. For the object 245, the communication 254 is a communication in which the transmission source object cannot be recognized. If the request indicated by the communication 254 cannot be processed only by the object 245, the message is transferred to another object and processed (communication 255). When the processing to be performed in the world 212 ends, communication is performed with the world to which the mobile terminal belongs as a destination (communication 256). Upon receiving the communication 256, the modularization processing 222 executes an object 241 projecting the world.
To the message (communication 257). In the figure, the object 241 is directly sent from the modularization process 222.
However, there is a method of communicating via the object conversion process 231.
【0017】各オブジェクトが対等の関係にあることか
ら、仮にオブジェクト242がオブジェクト245への
通信アドレスを認識することができれば、オブジェクト
241,オブジェクト化処理231,モジュール化処理2
22を介さずに世界間で高速に通信を行うことができ
る。しかし、これはオブジェクトが直接通信できる相手
の数を増加させプログラムを複雑化させることになる。
また、各オブジェクトの作成者がそれぞれ、システム全
体の構成を理解している必要があり、システム構築に要
する時間を長くしてしまうことになる。本発明の特徴
は、上記の通信例に示すように、世界間通信がモジュー
ル化処理,オブジェクト化処理によってオブジェクトか
ら見えない位置で行われることである。すなわち、オブ
ジェクトが直接認識することのできるオブジェクトは同
一世界内に属しているオブジェクトのみであり、オブジ
ェクトを直接指定して行う通信も世界内に限る。図2の
例では、世界212を投影していないオブジェクト(オ
ブジェクト242乃至244)はオブジェクト241が
世界212を投影していることを知り得ないし、また、
オブジェクト241も、自己の出した依頼が世界212
内のいずれのオブジェクトで処理されるのかを知ること
はできない。これは、世界間通信のインタフェース(オ
ブジェクト化処理,モジュール化処理とのインタフェー
ス)を遵守すれば、他世界のオブジェクトを考慮するこ
となく各オブジェクトを作成できることを意味し、シス
テム構築を容易にすることにつながる。Since each object has an equal relationship, if the object 242 can recognize the communication address to the object 245,
241, object conversion processing 231, modularization processing 2
It is possible to perform high-speed communication between the worlds without passing through the network 22. However, this increases the number of parties with which the object can communicate directly and complicates the program.
Also, the creator of each object needs to understand the configuration of the entire system, which increases the time required for constructing the system. A feature of the present invention is that, as shown in the above-described communication example, inter-world communication is performed at a position invisible to an object by modularization processing and objectization processing. That is, objects that can be directly recognized by objects are only objects belonging to the same world, and communication performed by directly designating objects is limited to the world. In the example of FIG. 2, objects that do not project the world 212 (objects 242 to 244) may not know that the object 241 is projecting the world 212, and
The object 241 also receives a request from the world 212
It is not possible to know which object in is processed. This means that observing the interface of world communication (interface with object processing and modularization processing) allows each object to be created without considering objects from other worlds, and facilitates system construction. Leads to.
【0018】図3にオブジェクト間通信のインタフェー
スの例を示す。ここでは、オブジェクト間通信のインタ
フェースを8種類に制限した例を示している。図中、形
式301乃至304は世界内メッセージ送信,形式30
5乃至307は世界間メッセージ送信である。また、形
式308は共通のメッセージ受信用インタフェースであ
る。世界内ではオブジェクト同志が互いに相手を認識す
ることが可能なので、世界内オブジェクト間通信の基本
形式301では、送信先オブジェクトのアドレスを指定
して通信を行う(図2、通信251,255)。ここ
で、送信先オブジェクトを指定する方法として、システ
ムによって与えられるオブジェクトIDやユーザが定義
するオブジェクト名を指定することも考えられる。しか
し、既存の名称管理サービス若しくはモジュール化処理
により、オブジェクトIDやオブジェクト名からオブジ
ェクトアドレスへの変換を支援すれば、形式301を基
本として、オブジェクトIDやオブジェクト名を指定す
る新たな通信インタフェースを設定可能である。通信形
式302乃至304は、オブジェクトが自己の属してい
る世界、すなわち、モジュール化処理への送信を行う
(同、通信256)。この内、形式304は世界内オブ
ジェクトへのブロードキャストであるので、モジュール
化処理は世界内に存在する全オブジェクトに対してメッ
セージを配布する。形式302,303では、メッセー
ジ送信先となるべきオブジェクトの機能をメッセージと
同時に指定しなければならない。モジュール化処理は世
界内オブジェクトの情報を検索して、指定機能を有した
オブジェクトの内、1つまたは全てのオブジェクトに対
してメッセージを送信する(同、通信254)。形式30
1乃至304において、送信先となるべきオブジェクト
が存在しなければエラーとなる。FIG. 3 shows an example of an interface for inter-object communication. Here, an example is shown in which the interfaces for inter-object communication are limited to eight types. In the figure, format 301 to 304 are message transmission in the world, format 30
5 to 307 are message transmissions between worlds. The format 308 is a common message receiving interface. In the world, objects can recognize each other, so in the basic format 301 of communication between objects in the world, communication is performed by specifying the address of the destination object (FIG. 2, communication 251, 255). Here, as a method of specifying the destination object, it is conceivable to specify an object ID given by the system or an object name defined by a user. However, if the existing name management service or the modularization process supports the conversion of the object ID and the object name into the object address, a new communication interface for specifying the object ID and the object name can be set based on the format 301. It is. In the communication formats 302 to 304, transmission is performed to the world to which the object belongs, that is, to the modularization process (the same as communication 256). Since the format 304 is a broadcast to objects in the world, the modularization process distributes a message to all objects existing in the world. In the formats 302 and 303, the function of the object to be the destination of the message must be specified together with the message. The modularization process retrieves information on objects in the world and transmits a message to one or all of the objects having the designated function (same communication 254). Format 30
In 1 to 304, if there is no object to be transmitted, an error occurs.
【0019】通信形式305乃至307は世界間メッセ
ージ送信であり、送信先として世界アドレスを指定す
る。世界ID、世界名を指定する通信形式を設定するた
めには、形式301と同様、これらのID並びに名称を
世界アドレスへ変換する名称管理サービスを導入すれば
よい。なお、世界アドレスは具体的には、オブジェクト
化処理若しくはモジュール化処理のアドレスである。形
式305乃至307は、形式302乃至304に世界ア
ドレスの指定を付加したものとなっている。指定できる
世界は、自己に投影されている世界、若しくは、自己の
属している世界のいずれかである。オブジェクトが自己
に投影されている世界のアドレスを指定した場合、対応
するオブジェクト化処理を介してモジュール化処理にメ
ッセージを転送する(同、通信252,253)。モジ
ュール化処理は、形式307であれば、世界内全オブジ
ェクトにメッセージを配布する。形式305,306で
あれば、形式302,303と同様、世界内オブジェク
トの機能を検索して、指定機能を有したオブジェクトの
内、1つまたは全てのオブジェクトに対してメッセージ
を送信する(同、通信254)。形式305乃至307
において、オブジェクトが自己の属している世界のアド
レスを指定すれば、形式305におけるエラー処理を除
き、形式302乃至304と同一の通信形態となる
(同、通信256)。モジュール化処理が世界内オブジ
ェクトの情報を検索して、指定機能を有するオブジェク
トが存在しないことを検出した場合、形式302ではエ
ラーとするが、形式305では、世界を投影しているオ
ブジェクトに対してメッセージを転送する(同、通信2
57)。これにより、上位世界への処理要求、あるい
は、上位世界からの処理要求への返答を行うことができ
る。上記の形式305乃至307の世界間通信の形態を
図4にまとめて示す。Communication formats 305 to 307 are for transmitting messages between worlds, and specify a world address as a transmission destination. In order to set a communication format for designating a world ID and a world name, a name management service for converting these IDs and names into a world address may be introduced as in the case of the format 301. Note that the world address is specifically an address for the object processing or the module processing. The formats 305 to 307 are obtained by adding designation of a world address to the formats 302 to 304. The world that can be specified is either the world projected on the self or the world to which the self belongs. When the address of the world in which the object is projected is specified, the message is transferred to the modularization processing via the corresponding objectization processing (the same communication 252 and 253). If the modularization process is of the format 307, the message is distributed to all objects in the world. In the case of the formats 305 and 306, similarly to the formats 302 and 303, the function of the object in the world is searched, and a message is transmitted to one or all of the objects having the designated function (the same as above). Communication 254). Formats 305 to 307
In, if the address of the world to which the object belongs is specified, the communication mode is the same as that of the formats 302 to 304 except for error processing in the format 305 (the same as communication 256). When the modularization process searches the information of the objects in the world and detects that there is no object having the designated function, an error is generated in the format 302, but an error is generated in the format 305 for the object projecting the world. Transfer the message (Same as Communication 2
57). As a result, a processing request to the upper world or a response to a processing request from the upper world can be made. FIG. 4 shows the forms of the inter-world communication in the formats 305 to 307 described above.
【0020】形式308は、メッセージ受信のインタフ
ェースである。モジュール化処理からの通信時を除き、
オブジェクトアドレス項には送信元オブジェクトのアド
レスが格納される。また、メッセージ項には、送られて
きたメッセージが格納されている。The format 308 is a message receiving interface. Except at the time of communication from modular processing,
The address of the source object is stored in the object address term. The message field stores the sent message.
【0021】なお、図3に示すインタフェースに対する
上記の意味づけは、本発明のユーザインタフェース構成
の一例に過ぎない。後述する第一乃至第四の通信処理を
組み合わせて、異なった意味づけを行うことも可能であ
る。具体的には、通信形式305のエラー処理を形式3
02と同等にする(これにより、形式302乃至304
は不要となる)、上位世界への新たなメッセージ送信形
式を導入する等の例が挙げられる。The above-mentioned meaning of the interface shown in FIG. 3 is merely an example of the user interface configuration of the present invention. It is also possible to give different meanings by combining the first to fourth communication processes described later. Specifically, the error handling of the communication format 305 is performed in format 3
02 (this results in formats 302 to 304
Is unnecessary), and a new message transmission format to the upper world is introduced.
【0022】次に、オブジェクト,オブジェクト化処
理,モジュール化処理を実際に分散処理計算機システム
上に配置した例を図5に示す。オブジェクト241乃至
249,モジュール化処理221乃至223,オブジェ
クト化処理231,232、並びに、通信251乃至2
57は、図2と同一の概念である。この内、通信251
乃至257は、図2において示した通信が実際にネット
ワーク上をどのように流れているかを示している。51
1乃至516は、これらのオブジェクト,モジュール化
処理,オブジェクト化処理等のプログラムを実行してい
る計算機である。521乃至523は各計算機を接続す
るネットワーク(LAN)である。ネットワーク521
と522はルータ531によって、ネットワーク521
と523はルータ532によって接続されている。ルー
タ531,532をブリッジ若しくはゲートウェイに変
更することは可能である。図2で示す世界211乃至2
13はそれぞれ、ネットワーク521乃至523に対応
する。世界が必ずしもネットワークと1対1に対応する
必要性はなく、複数のネットワークから1つの世界を構
成することや、1つのネットワークに複数の世界を対応
させることも可能である。しかし、オブジェクトが世界
内オブジェクトのみを認識でき、他世界のオブジェクト
を直接認識できないことを考慮すれば、世界とネットワ
ークを1対1に対応させる方法が最適である。Next, FIG. 5 shows an example in which objects, object conversion processing, and module conversion processing are actually arranged on a distributed processing computer system. The objects 241 to 249, the module processing 221 to 223, the object processing 231 and 232, and the communication 251 to 2
57 is the same concept as FIG. Among them, communication 251
2 to 257 show how the communication shown in FIG. 2 actually flows on the network. 51
Reference numerals 1 to 516 denote computers that execute programs for these objects, modularization processing, objectization processing, and the like. Reference numerals 521 to 523 denote networks (LANs) connecting the computers. Network 521
And 522 are connected to the network 521 by the router 531.
And 523 are connected by a router 532. It is possible to change the routers 531 and 532 to bridges or gateways. The world 211 to 2 shown in FIG.
13 correspond to the networks 521 to 523, respectively. The world does not necessarily have to correspond one-to-one with the network, and it is also possible to configure one world from a plurality of networks and to make a plurality of worlds correspond to one network. However, considering that an object can only recognize objects in the world and cannot directly recognize objects in other worlds, a method of making the world and the network correspond one-to-one is optimal.
【0023】次に図1を用いて本発明の詳細を説明す
る。世界内オブジェクト間通信を支援する第一の通信処
理、オブジェクトが自己の属している世界と通信するた
めの第二の通信処理、オブジェクトが自己に投影されて
いる世界と通信するための第三の通信処理、モジュール
化処理に転送されたメッセージを世界内オブジェクト若
しくは世界を投影しているオブジェクトに振り分ける第
四の通信処理をオブジェクト、モジュール化処理,オブ
ジェクト化処理から分離して示している。第一および第
二の通信処理はオブジェクトに、第三の通信処理はオブ
ジェクト化処理に、第四の通信処理はモジュール化処理
に、それぞれ付随していたメッセージ管理手続きであ
る。また、元々オブジェクト化処理は世界を投影してい
るオブジェクトに付随している手続きであるため、第三
の通信処理もオブジェクトに付随していたメッセージ管
理手続きであると言える。オブジェクトは、基本的に、
システム構築者が作成するアプリケーションプログラム
部と、各オブジェクトで共通のプログラムコードを有す
るオブジェクト管理部から成る。したがって、図1は、
ユーザの記述するプログラム(オブジェクト)と、本発
明の提供する手続きとを分離して示した例である。Next, the details of the present invention will be described with reference to FIG. A first communication process to support communication between objects in the world, a second communication process to communicate with the world to which the object belongs, and a third communication process to communicate with the world to which the object is projected A fourth communication process for distributing a message transferred to the communication process and the modularization process to an object in the world or an object projecting the world is shown separately from the object, the modularization process, and the objectization process. The first and second communication processes are message management procedures associated with objects, the third communication process is associated with object processing, and the fourth communication process is associated with modularization processing. Also, since the object conversion process is originally a procedure attached to an object projecting the world, the third communication process can also be said to be a message management procedure attached to the object. Objects are basically
It consists of an application program created by the system builder and an object manager having a common program code for each object. Therefore, FIG.
This is an example in which a program (object) described by a user and a procedure provided by the present invention are separately illustrated.
【0024】第一の通信処理の役割は、世界内の他オブ
ジェクトの第一の通信処理に対してメッセージを送信す
ること、および、他の通信処理からのメッセージを受信
することである。なお、第一の通信処理にメッセージを
転送するプログラムは第一および第四の通信処理のみで
ある。第二の通信処理の役割は、自己の属している世界
のモジュール化処理(すなわち、第四の通信処理)へメ
ッセージを送信することである。第三の通信処理の役割
は、自己の投影している世界のモジュール化処理(すな
わち、第四の通信処理)へメッセージを送信することで
ある。第四の通信処理の役割は、世界の状態や通信形態
にしたがって、世界内オブジェクト、あるいは、世界を
投影しているオブジェクトの第一の通信処理にメッセー
ジを転送することである。The role of the first communication process is to send a message to the first communication process of another object in the world and to receive a message from another communication process. It should be noted that the first and fourth communication processes are the only programs that transfer the message to the first communication process. The role of the second communication process is to send a message to the modularization process of the world to which it belongs (ie, the fourth communication process). The role of the third communication process is to send a message to the modularization process (ie, the fourth communication process) of the world being projected. The role of the fourth communication process is to transfer a message to the first communication process of an object in the world or an object projecting the world according to the state of the world and the form of communication.
【0025】図1中、111乃至114は第一の通信処
理であり、それぞれオブジェクト242,241,24
5,247に対応し、世界内通信を担当する。121は
第二の通信処理であり、オブジェクト247が自己の属
している世界212に対してメッセージを送信する場合
に使用される。図1では限られたオブジェクトに対応す
る第一および第二の通信処理のみを記述しているが、実
際には、全てのオブジェクトに対してこれらの通信処理
が設けられる。131は第三の通信処理であり、世界を
投影しているオブジェクトから該世界へメッセージを転
送する役割を有する。141は第四の通信処理であり、
モジュール化処理222に送られたメッセージを、世界
内の1つまたは複数のオブジェクトの第一の通信処理、
若しくは、世界を投影しているオブジェクトの第一の通
信処理に転送する。なお、世界211,212、モジュ
ール化処理221,222、オブジェクト化処理23
1、オブジェクト241乃至247は、図2と同一の概
念である。In FIG. 1, reference numerals 111 to 114 denote first communication processes, which are objects 242, 241, 24, respectively.
Responsible for 5,247, and is responsible for worldwide communications. Reference numeral 121 denotes a second communication process, which is used when the object 247 transmits a message to the world 212 to which the object 247 belongs. Although FIG. 1 describes only the first and second communication processes corresponding to limited objects, these communication processes are actually provided for all objects. A third communication process 131 has a role of transferring a message from an object projecting the world to the world. 141 is a fourth communication process,
The message sent to the modularization process 222 is converted into a first communication process of one or more objects in the world,
Or, it transfers to the first communication processing of the object projecting the world. The worlds 211 and 212, the module processing 221 and 222, and the object processing 23
1. The objects 241 to 247 have the same concept as in FIG.
【0026】次に図2で示したメッセージ転送の流れ
(図2、通信251乃至257)が、第一乃至第四の通
信処理を分離することによってどのように行われるかを
説明する。オブジェクト242がオブジェクト241に
対してメッセージを送信しようとする場合、まずオブジ
ェクト242に付随する第一の通信処理111に送信を
依頼する(通信151)。第一の通信処理111はオブ
ジェクト241に付随する第一の通信処理112に対し
てメッセージを転送する(通信152)。第一の通信処
理112が、さらに、オブジェクト241にメッセージ
を転送する(通信153)。オブジェクト241は世界
212を投影したものであるため、第三の通信処理13
1にメッセージ転送を依頼し(通信154)、世界21
2を管理するモジュール化処理222にメッセージを送
信する(通信155)。この通信は世界間1対1通信で
あるため、送信先オブジェクトの機能が指定されてい
る。モジュール化処理222に付随する第四の通信処理
141は、必要な機能を有するオブジェクト245を検
出し、該オブジェクトの第一の通信処理113にメッセ
ージを転送する(通信156)。第一の通信処理113
はオブジェクト245にメッセージを渡す(通信15
7)。オブジェクト245からオブジェクト247への
処理の依頼は、通常の世界内通信であり、第一の通信処
理113,114を介してメッセージを転送する(通信
158乃至160)。オブジェクト247が上位世界2
11に存在するオブジェクトに処理の返答を帰す場合、
まず第二の通信処理121を介して(通信161)、自
己の属している世界を管理しているモジュール化処理2
22にメッセージを送る(通信162)。モジュール化
処理222に送られたメッセージは第四の通信処理14
1により、世界を投影しているオブジェクト241の第
一の通信処理112に転送され(通信163)、これが
オブジェクト241に渡される(通信164)。Next, how the flow of message transfer shown in FIG. 2 (communications 251 to 257 in FIG. 2) is performed by separating the first to fourth communication processes will be described. When the object 242 intends to transmit a message to the object 241, the object 242 first requests the first communication process 111 attached to the object 242 to transmit a message (communication 151). The first communication process 111 transfers a message to the first communication process 112 attached to the object 241 (communication 152). The first communication processing 112 further transfers the message to the object 241 (communication 153). Since the object 241 is a projection of the world 212, the third communication processing 13
1 requesting a message transfer (communication 154), and
The message is transmitted to the module processing 222 for managing the communication No. 2 (communication 155). Since this communication is one-to-one communication between the worlds, the function of the destination object is specified. The fourth communication processing 141 associated with the modularization processing 222 detects an object 245 having a necessary function, and transfers a message to the first communication processing 113 of the object (communication 156). First communication processing 113
Passes a message to object 245 (communication 15
7). The processing request from the object 245 to the object 247 is a normal intra-world communication, and the message is transferred via the first communication processing 113, 114 (communications 158 to 160). Object 247 is upper world 2
When returning the processing response to the object existing in 11,
First, through a second communication process 121 (communication 161), a modularization process 2 that manages the world to which the user belongs.
22 (message 162). The message sent to the modularization processing 222 is the fourth communication processing 14
1 is transferred to the first communication process 112 of the object 241 projecting the world (communication 163), and is transferred to the object 241 (communication 164).
【0027】図6に各オブジェクト,モジュール化処
理,オブジェクト化処理,通信処理の分散処理計算機シ
ステム上への配置例を示す。オブジェクト241乃至2
49,モジュール化処理221乃至223、並びに、オ
ブジェクト化処理231,232は図2と同一の概念であ
る。第一の通信処理111乃至114,第二の通信処理
121,第三の通信処理131,第四の通信処理141
は、図1と同一の概念である。図1と同様、通信処理に
関しては限られたもののみを記述しているが、実際に
は、各オブジェクトに対して第一および第二の通信処理
が、各オブジェクト化処理に対して第三の通信処理が、
各モジュール化処理に対して第四の通信処理が存在す
る。計算機511乃至516、ネットワーク521乃至
523、ルータ531,532は図5と同一の概念であ
る。通信151乃至164は、図1に示した通信が実際
にネットワーク上をどのように流れているかを示してい
る。第一乃至第四の通信処理を分離することによって、
計算機間の(ネットワークを介する)通信は全て通信処
理同志で行われることになり、オブジェクトから直接ネ
ットワークを介して通信を行うことがなくなる。これに
より、ネットワークを介した通信の形式を統一し、異機
種間結合(異なる計算機同志をシステムの構成要素とす
ること)を可能としたり、拡張性(新たな計算機を付加
することの容易性)を高めたりすることができる。FIG. 6 shows an example of the arrangement of each object, module processing, object processing, and communication processing on a distributed processing computer system. Objects 241-2
49, the modularization processes 221 to 223, and the objectization processes 231 and 232 have the same concept as in FIG. First communication processing 111 to 114, second communication processing 121, third communication processing 131, fourth communication processing 141
Has the same concept as in FIG. Similar to FIG. 1, only limited communication processing is described, but in practice, the first and second communication processing are performed for each object, and the third communication processing is performed for each object processing. The communication process
There is a fourth communication process for each modularization process. The computers 511 to 516, the networks 521 to 523, and the routers 531 and 532 have the same concept as in FIG. Communication 151 to 164 show how the communication shown in FIG. 1 actually flows on the network. By separating the first to fourth communication processes,
All communications between computers (via a network) are performed by communication processing, and objects do not communicate directly via a network. In this way, the format of communication via the network is unified, enabling heterogeneous coupling (using different computers as system components), and expandability (ease of adding a new computer). Can be increased.
【0028】図1あるいは図6に示す全てのオブジェク
ト,モジュール化処理,オブジェクト化処理、第一乃至
第四の通信処理をそれぞれ個別のプロセス(プログラ
ム)とすることは可能である。しかし、第一および第二
の通信処理はオブジェクトに付随する。また、オブジェ
クトが世界を投影しているならば、オブジェクト化処理
と第三の通信処理もオブジェクトに付随することにな
る。したがって、このようなオブジェクトに付随する通
信処理やオブジェクト化処理をまとめてオブジェクトと
同一のプロセス内に配置すれば、効率的である。これを
図7に示した。世界を投影していないオブジェクトの例
としてオブジェクト242を、世界を投影しているオブ
ジェクトの例としてオブジェクト241を示す。オブジ
ェクト、第一乃至第三の通信処理、オブジェクト化処理
は全てプロセスの内部手続きと見なすことができる。オ
ブジェクト242は世界を投影していないので、第一の
通信処理111と第二の通信処理122のみを通信手続
きとして備えている。オブジェクト242,第一の通信
処理111,第二の通信処理122をまとめてオブジェ
クトプロセス711が構成される。世界を投影している
オブジェクト241の場合、第一の通信処理112,第
二の通信処理123,第三の通信処理131、オブジェ
クト化処理231からオブジェクトプロセス712が構
成される。オブジェクトと各通信処理は同一プロセス内
に存在する手続きであるので、オブジェクトと通信処理
間の通信731乃至737は全て手続き呼び出しの形式
とできる。通信処理と他プロセスに存在する通信処理と
の通信721乃至727は、プロセス間通信となるの
で、オペレーティングシステム(OS)等によって提供
されるメッセージ通信、遠隔手続き呼び出し等を用い
る。All of the objects, the module processing, the object processing, and the first to fourth communication processing shown in FIG. 1 or FIG. 6 can be formed as individual processes (programs). However, the first and second communication processes are associated with the object. If the object projects the world, the object conversion process and the third communication process will accompany the object. Therefore, it is efficient to collectively arrange such communication processing and object conversion processing associated with the object in the same process as the object. This is shown in FIG. An object 242 is shown as an example of an object not projecting the world, and an object 241 is shown as an example of an object projecting the world. The object, the first to third communication processes, and the object conversion process can all be regarded as internal procedures of the process. Since the object 242 does not project the world, only the first communication processing 111 and the second communication processing 122 are provided as communication procedures. The object process 711 is configured by combining the object 242, the first communication process 111, and the second communication process 122. In the case of the object 241 projecting the world, an object process 712 includes the first communication process 112, the second communication process 123, the third communication process 131, and the object conversion process 231. Since the object and each communication process are procedures existing in the same process, all communications 731 to 737 between the object and the communication process can be in the form of a procedure call. Communication 721 to 727 between the communication processing and the communication processing existing in another process is inter-process communication, so that message communication, remote procedure call, or the like provided by an operating system (OS) or the like is used.
【0029】第四の通信処理はモジュール化処理に付随
する。したがって、これら2つの処理を同一プロセス内
に配置した例を図8に示す。例としてモジュール化処理
222、第四の通信処理141から構成されるプロセス8
11を示した。これを世界プロセスと呼ぶ。世界プロセ
スには、モジュール化処理222並びに第四の通信処理
141から参照される共通データである世界データベー
ス821が存在する。第四の通信処理は第二あるいは第
三の通信処理からメッセージを受信した場合(通信83
1)、世界データベース821を検索して送信先オブジ
ェクトを決定し、該オブジェクトの第一の通信処理にメ
ッセージを送信する(通信832)。次に第一乃至第四
の通信処理の動作の詳細を述べる。The fourth communication process accompanies the modularization process. Therefore, FIG. 8 shows an example in which these two processes are arranged in the same process. Modular processing as an example
222, a process 8 including the fourth communication process 141
11 was shown. This is called the world process. In the world process, there is a world database 821 which is common data referred to by the modularization process 222 and the fourth communication process 141. The fourth communication process is performed when a message is received from the second or third communication process (communication 83
1) The world database 821 is searched to determine a destination object, and a message is transmitted to the first communication processing of the object (communication 832). Next, details of the operations of the first to fourth communication processes will be described.
【0030】図9に第一の通信処理の動作例900を示
す。本発明において、オブジェクトは他オブジェクトか
ら送信されたメッセージにしたがって起動され、オブジ
ェクト内部でメッセージにしたがった処理を行うものと
する。オブジェクトはメッセージを送信することによっ
て他オブジェクトを起動することができる。オブジェク
トに対するメッセージの受信を担当する通信処理は第一
の通信処理のみであるしたがって、第一の通信処理がオ
ブジェクトの起動管理を行う。メッセージ受信時におけ
る第一の通信処理の主要動作は、メッセージにしたがっ
てオブジェクトを起動すること(処理910)である。
すなわち、第一の通信処理がメッセージに応じてオブジ
ェクトの機能を呼び出す形式(手続き呼び出し)を採
る。第一の通信処理はメッセージを受信するごとにこの
基本動作を行うものであるが、オブジェクト実行中にイ
ベントが発生する、すなわち、オブジェクトが世界内他
オブジェクトに対してメッセージを送信するか、あるい
は、オブジェクト実行中に第一の通信処理がメッセージ
を受信すれば、オブジェクト実行状況を退避して実行を
一旦中断させ、イベントを検索し(処理902,90
4)、必要に応じてイベント処理を行わなければならな
い。処理902によってイベントがメッセージ送信であ
ると判断されれば、該当オブジェクトの第一の通信処理
に対してメッセージを転送して(処理903)、再びイ
ベント検索を行う。処理904によってイベントがメッ
セージ受信であると判断されれば、該メッセージを処理
待ち行列に投入して(処理905)、イベント検索に戻
る。このとき、優先順位の高いメッセージを処理待ち行
列の先頭に投入することも可能である。OS等に用意さ
れているメッセージ通信機能を使用する場合、既にシス
テムに待ち行列が用意されていることが多い。したがっ
て、OSの待ち行列を使用することができれば、待ち行
列管理を省略することができる(メッセージ受信をイベ
ントとして捉える必要がない)。しかし、OSの待ち行
列では優先順位による待ち行列の入れ替えを行うことが
できないので、図9の例では、待ち行列管理を第一の通
信処理内で行わせている。FIG. 9 shows an operation example 900 of the first communication processing. In the present invention, an object is activated according to a message transmitted from another object, and performs processing according to the message inside the object. An object can activate another object by sending a message. Since the communication process responsible for receiving a message for the object is only the first communication process, the first communication process manages activation of the object. The main operation of the first communication process at the time of receiving a message is to activate an object according to the message (process 910).
That is, the first communication process employs a format (procedure call) for calling the function of the object in response to the message. The first communication process performs this basic operation every time a message is received, but an event occurs during execution of an object, that is, an object transmits a message to another object in the world, or If the first communication process receives a message during the execution of the object, the object execution status is saved, the execution is temporarily interrupted, and the event is searched (processes 902 and 90).
4) Event processing must be performed as necessary. If the event is determined to be a message transmission by the process 902, the message is transferred to the first communication process of the object (process 903), and the event search is performed again. If the event is determined to be a message reception by the process 904, the message is put into a process queue (process 905), and the process returns to the event search. At this time, it is also possible to put a message with a high priority at the head of the processing queue. When using the message communication function provided in the OS or the like, a queue is often already prepared in the system. Therefore, if the OS queue can be used, queue management can be omitted (the message reception need not be regarded as an event). However, in the queue of the OS, the queue cannot be switched according to the priority order. Therefore, in the example of FIG. 9, the queue management is performed in the first communication process.
【0031】全てのイベント処理(メッセージの送信若
しくはメッセージの処理待ち行列への投入)が終了すれ
ば、イベント発生前の状態を調べ(処理906)、その
状態に復帰する。イベント発生前の状態がアクティブ、
すなわち、オブジェクトの動作を行っていたならば、イ
ベント発生時に退避したオブジェクトの実行状況を復帰
し(処理907)、オブジェクトの動作を継続する(処
理910)。オブジェクトの動作を行っていないノンア
クティブ状態ならば、処理待ち行列の内容を調べ、処理
すべきメッセージが存在するか否かを調査する(処理9
08)。処理すべきメッセージが存在しなければ、次の
イベントが発生するまでスリープする(処理901)。
なお、オブジェクトプロセス生成時にも、第一の通信処
理はイベント発生待ち状態でスリープしている。処理9
08で処理すべきメッセージが処理待ち行列中に存在す
ることが判れば、オブジェクトの状態をアクティブに設
定し(処理909)、メッセージに対応する処理を実行
する(処理910)。処理が終了すればオブジェクトの
状態をノンアクティブ状態に設定し(処理911)、再び
イベント検索を行う。When all event processing (transmission of a message or entry of a message into a processing queue) is completed, the state before the occurrence of the event is checked (step 906), and the state is restored. The state before the event occurred is active,
That is, if the operation of the object has been performed, the execution status of the object saved at the time of occurrence of the event is restored (step 907), and the operation of the object is continued (step 910). If the object is in the non-active state where the operation is not performed, the contents of the processing queue are checked to determine whether there is a message to be processed (processing 9).
08). If there is no message to be processed, sleep until the next event occurs (process 901).
It should be noted that, even when the object process is generated, the first communication process is sleeping in the event occurrence waiting state. Processing 9
If it is determined in step 08 that a message to be processed exists in the processing queue, the state of the object is set to active (step 909), and processing corresponding to the message is executed (step 910). When the processing is completed, the state of the object is set to the non-active state (processing 911), and the event search is performed again.
【0032】現在使用可能なOSの中には、1つのプロ
セス内部で並列に命令を実行する「スレッド」を複数個
使用できるOSも存在する。このようなOSを使用した
場合、オブジェクトプロセス内に複数のスレッドを用意
し、それぞれに各メッセージを処理させることができ
る。すなわち、図7に示すオブジェクトプロセス内では
1個しか存在し得なかったオブジェクト(241、ある
いは、242)をスレッドとして複数個存在させること
が可能となる。なお、このとき、第一の通信処理も1つ
のスレッドとなる。この方式では、メッセージを受信す
ると同時に新たなスレッドを生成し、そのスレッドにオ
ブジェクトの動作を行わせるので、メッセージ処理の待
ち行列は不要である。第一の通信処理は待ち行列管理の
代わりに、スレッドの生成/終了管理を行う。Some currently available OSs can use a plurality of "threads" that execute instructions in parallel within one process. When such an OS is used, a plurality of threads can be prepared in the object process, and each can process each message. That is, a plurality of objects (241 or 242) which could exist only once in the object process shown in FIG. 7 can be made to exist as threads. At this time, the first communication processing also becomes one thread. In this method, a new thread is created at the same time that a message is received, and the thread performs an operation of the object. Therefore, a queue for message processing is unnecessary. The first communication process performs thread creation / termination management instead of queue management.
【0033】複数スレッドを使用できるOSにおける第
一の通信処理の動作を図10に示す。図9と同様、第一
の通信処理は、最初、イベント発生待ちでスリープして
いる(処理1001)。イベントが発生してスリープ状
態から解放されれば、処理1002,1004でイベン
ト検索を行う。処理1002によりイベントがメッセー
ジ送信要求であることが判れば、対象オブジェクトの第
一の通信処理に対してメッセージを転送して(処理10
03)、再びイベント検索を行う。処理1004によってイ
ベントがメッセージ受信であると判断されれば、オブジ
ェクトを実行するスレッドを生成し(処理1005;オ
ブジェクト生成処理)、該スレッドにメッセージを転送
してオブジェクトを起動する(処理1006;オブジェ
クト起動処理)。この後、第一の通信処理はオブジェク
トの処理終了を待たずにイベント検索を行う。処理10
02,1004で処理すべきイベントが存在しないと判
断できれば、再びイベント待ち状態となる(処理100
1)。FIG. 10 shows the operation of the first communication process in the OS that can use a plurality of threads. As in FIG. 9, the first communication process first sleeps while waiting for an event to occur (process 1001). If an event occurs and the device is released from the sleep state, an event search is performed in processes 1002 and 1004. If it is determined in step 1002 that the event is a message transmission request, the message is transferred to the first communication process of the target object (step 1010).
03), an event search is performed again. If it is determined by the process 1004 that the event is a message reception, a thread for executing the object is generated (process 1005; object generation process), and the message is transferred to the thread to start the object (process 1006; object startup). processing). Thereafter, in the first communication process, an event search is performed without waiting for the end of the processing of the object. Processing 10
If it is determined that there is no event to be processed in steps 02 and 1004, the process waits for an event again (process 100).
1).
【0034】図11に第二の通信処理の動作例1100
を示す。第二の通信処理の動作は、オブジェクトからの
要求にしたがって、自己の属している世界のモジュール
化処理(正確には、第四の通信処理)にメッセージを転
送することのみである(処理1101)。したがって、
第二の通信処理はオブジェクトから呼び出される手続き
であればよい。FIG. 11 shows an operation example 1100 of the second communication process.
Is shown. The only operation of the second communication processing is to transfer a message to the modularization processing (more precisely, the fourth communication processing) of the world to which the user belongs in accordance with a request from the object (processing 1101). . Therefore,
The second communication process may be any procedure called from the object.
【0035】図12に第三の通信処理の動作例1200
を示す。第三の通信処理の動作は、世界を投影している
オブジェクトから該世界のモジュール化処理(正確に
は、第四の通信処理)にメッセージを転送することであ
る(処理1202)。この際、必要に応じて、オブジェ
クト化処理を呼び出し、通信形態を変換することは可能
である(処理1201)。世界を投影しているオブジェ
クトへの通信を世界内全オブジェクトへのブロードキャ
スト等に変換することは、該世界の上位世界への投影方
法(上位世界における下位世界の見え方の定義方法)を
規定しているオブジェクト化処理が行うことが最適であ
る。したがって、本発明では、オブジェクト化処理に通
信形態変換機能を配置している。しかし、オブジェク
ト、第三の通信処理等に該通信形態変換機能を配置する
ことも可能である。FIG. 12 shows an operation example 1200 of the third communication processing.
Is shown. The operation of the third communication process is to transfer a message from the object projecting the world to the modularization process (more precisely, the fourth communication process) of the world (process 1202). At this time, it is possible to convert the communication mode by calling the object conversion process as needed (process 1201). Converting communication to an object projecting the world into broadcast or the like to all objects in the world defines a method of projecting the world to the upper world (a method of defining the appearance of the lower world in the upper world). It is optimal to perform the object conversion processing that is performed. Therefore, in the present invention, the communication form conversion function is arranged in the object conversion processing. However, it is also possible to arrange the communication form conversion function in the object, the third communication processing, or the like.
【0036】図13は第四の通信処理の動作例1300
を示している。第四の通信処理も第一の通信処理と同
様、通常は、イベント待ち状態でスリープしている(処
理1302)。第四の通信処理に対してメッセージが転
送されたことが判れば(処理1301)、スリープ状態
から解放され、該メッセージに対する処理を実行する。
第四の通信処理に転送されたメッセージには「上位世界
優先」「世界内優先」「世界内限定」のいずれかのモード
が指定されている。これらの通信モードはそれぞれ、
「世界を投影しているオブジェクトに優先的にメッセー
ジを転送する」「世界内のオブジェクトに優先的にメッ
セージを転送するが、条件に該当するオブジェクトが存
在しない場合には、世界を投影しているオブジェクトに
メッセージを転送する」「世界内のオブジェクトにメッ
セージを転送するが、条件に該当するオブジェクトが存
在しない場合にはエラーとなる」という意味を有する。
これらのモードと図3において示した通信形態との関係
については図14において述べる。第四の通信処理にお
いては、これらの各モードに対してそれぞれ、対応する
処理を行わなければならない。処理1303において、
モードが上位世界優先であると判断されれば、そのま
ま、世界を投影しているオブジェクトの第一の通信処理
にメッセージを転送する(処理1307)。上位世界優
先でなければ、世界内のオブジェクトの状況を確かめる
ため、まず世界データベースを検索して(処理130
4)、指定されている機能を有したオブジェクトが世界
内に存在するか否かを調査する(処理1305)。この
とき、指定機能を有したオブジェクトが存在すれば、該
オブジェクトの第一の通信処理にメッセージを転送する
(処理1309)。条件に該当するオブジェクトが存在
しなければ、世界内優先,世界内限定のいずれのモード
であるかを調査し(処理1306)、世界内優先モードな
らば、世界を投影しているオブジェクトの第一の通信処
理にメッセージを転送する(処理1307)。世界内限定
モードならば、エラーとする(処理1308)。なお、
動作例1300では、簡単化のため、世界間1対1通信
のみを支援する場合の通信処理を示している。世界への
ブロードキャスト時には、世界データベースを検索する
必要はなく、世界内全オブジェクトにメッセージを配布
するだけでよい。世界内の指定機能を有するオブジェク
トへのマルチキャストを支援する場合には、指定機能を
有する全オブジェクトへメッセージを配布すればよい。
また、ブロードキャスト,マルチキャスト時には、世界
内優先モードは必要なく、送信先オブジェクトが存在し
なければ、そのまま、エラーとするだけでよい。FIG. 13 shows an operation example 1300 of the fourth communication processing.
Is shown. Similarly to the first communication process, the fourth communication process is normally sleeping in an event waiting state (process 1302). If it is determined that the message has been transferred for the fourth communication process (process 1301), the sleep state is released and the process for the message is executed.
The message transferred to the fourth communication process designates one of the modes of “upper world priority”, “world priority”, and “world only”. Each of these communication modes
"Preferentially transfer messages to objects projecting the world""Preferentially transfer messages to objects in the world, but project the world if no object meets the conditions "Transfer a message to an object" means "transfer a message to an object in the world, but an error occurs if there is no object that meets the condition."
The relationship between these modes and the communication mode shown in FIG. 3 will be described with reference to FIG. In the fourth communication process, a corresponding process must be performed for each of these modes. In processing 1303,
If it is determined that the mode has the upper world priority, the message is transferred to the first communication processing of the object projecting the world as it is (processing 1307). If it is not the upper world priority, the world database is searched first to check the status of the objects in the world (step 130).
4) Investigate whether an object having the designated function exists in the world (process 1305). At this time, if there is an object having the designated function, the message is transferred to the first communication process of the object (process 1309). If no object corresponding to the condition exists, it is checked whether the mode is the world priority mode or the world limitation mode (processing 1306). The message is transferred to the communication process (1307). If the mode is limited to the inside of the world, an error occurs (process 1308). In addition,
The operation example 1300 shows a communication process in a case where only one-to-one communication between the worlds is supported for simplification. When broadcasting to the world, there is no need to search the world database, just distribute the message to all objects in the world. To support multicasting to objects having a designated function in the world, a message may be distributed to all objects having a designated function.
In broadcast and multicast, the intra-world priority mode is not required, and if there is no destination object, it is sufficient to just make an error as it is.
【0037】次に、図3に示した形式301乃至308
の通信が上述した第一乃至第四の通信処理の動作のいか
なる組み合わせによって構成されるかを、図14を用い
て説明する。図14中の通信形式301乃至308は、
図3と同様である。また、通信形式1401として、上
位世界への通信を新たに示す。上位世界への通信では、
オブジェクトが自己の属している世界を投影しているオ
ブジェクトに対してメッセージを送信する。これは、第
四の通信処理において説明した上位世界優先モードを使
用する通信の代表例である。図中、通信形式301,3
08は世界内送受信であるため、第一の通信処理間のみ
でメッセージの送信/受信が行われている。これ以外の
通信形式では、全て第四の通信処理によりメッセージ転
送が支援される。通信形式302乃至304では、自世
界内でのみ通信を行うので、自己の属している世界のモ
ジュール化処理との通信を担当する第二の通信処理から
第四の通信処理へメッセージが転送される。第四の通信
処理では世界内限定モードでメッセージ転送を行う。こ
のとき、ブロードキャストを行う形式304では、世界
データベースを検索する必要はない。送信先世界を指定
して通信(形式305乃至307)を行う場合、指定する
世界が自己の投影している世界か自己の属している世界
かによってオブジェクトの使用する通信処理が異なる。
図14において、形式305乃至307の上段は自己の
投影している世界への通信であり、下段は自己の属して
いる世界への通信である。自己の投影している世界への
通信であれば、第三の通信処理を使用し、自己の属して
いる世界への通信であれば、第二の通信処理を使用し
て、それぞれ、対象世界の第四の通信処理にメッセージ
を送信する。第四の通信処理は形式307の場合を除
き、世界データベースを検索して、指定機能を有するオ
ブジェクトにメッセージを送信する。形式307の場
合、世界データベースの検索は行わず、そのまま、世界
内全オブジェクトにメッセージを配布する。このとき、
形式305で自己の属している世界を指定した場合(形
式305の下段)は世界内優先モードで通信を行うが、
それ以外は世界内限定モードで通信を行う。すなわち、
対象となるオブジェクトが存在しない場合、形式305
で自己の属している世界を指定したならば、該世界を投
影しているオブジェクトにメッセージを転送する。これ
以外の形式で対象オブジェクトが存在しない場合にはエ
ラーとなる。各通信処理の新たな組み合わせの例として
示した通信形式1401は、上位世界への通信形式であ
る。第二の通信処理を用いて第四の通信処理にメッセー
ジを送信するが、このとき上位世界優先モードで通信を
行う。この場合、世界データベースの検索は行われず、
直接、該世界を投影しているオブジェクトの第一の通信
処理にメッセージを転送する。通信形式1401は、自己の
属している世界に必要な機能が存在しないことが予め判
っている場合等に使用する。Next, the formats 301 to 308 shown in FIG.
What combination of the operations of the above-described first to fourth communication processes will be described with reference to FIG. The communication formats 301 to 308 in FIG.
It is the same as FIG. A communication to the upper world is newly shown as a communication format 1401. In communication to the upper world,
Send a message to an object that projects the world to which it belongs. This is a representative example of communication using the upper world priority mode described in the fourth communication processing. In the figure, communication formats 301 and 3
08 is a worldwide transmission / reception, so that message transmission / reception is performed only during the first communication processing. In other communication formats, message transfer is supported by the fourth communication process. In the communication formats 302 to 304, since communication is performed only within the own world, a message is transferred from the second communication processing responsible for communication with the modularization processing of the world to which the communication apparatus belongs to the fourth communication processing. . In the fourth communication process, message transfer is performed in the world limited mode. At this time, it is not necessary to search the world database in the format 304 for broadcasting. When communication (formats 305 to 307) is performed by designating the destination world, the communication process used by the object differs depending on whether the designated world is the world projected by the user or the world to which the user belongs.
In FIG. 14, the upper part of the format 305 to 307 is communication to the world projected by the user, and the lower part is communication to the world to which the user belongs. If the communication is to the world that the user is projecting, the third communication process is used. If the communication is to the world to which the user belongs, the second communication process is used. To the fourth communication process. The fourth communication process searches the world database except for the case of the format 307, and transmits a message to an object having a designated function. In the case of the format 307, the message is distributed to all objects in the world without searching the world database. At this time,
If the world to which the user belongs is specified in the format 305 (lower part of the format 305), communication is performed in the world priority mode.
Otherwise, it communicates in the world limited mode. That is,
If the target object does not exist, format 305
If the user specifies the world to which the user belongs, the message is transferred to the object projecting the world. If the target object does not exist in any other format, an error will occur. A communication format 1401 shown as an example of a new combination of each communication process is a communication format to the upper world. A message is transmitted to the fourth communication process using the second communication process, and at this time, communication is performed in the upper world priority mode. In this case, the world database is not searched,
It forwards the message directly to the first communication process of the object projecting the world. The communication format 1401 is used when it is known in advance that a necessary function does not exist in the world to which the user belongs.
【0038】図15にオブジェクト化処理とモジュール
化処理の役割を示す。これらの処理の詳細は本発明とは
直接関連するものではないため、ここでは、概略を述べ
るに留めておく。オブジェクト化処理は第三の通信処理
の説明(図12)において述べた通信形態変換、並び
に、データ/機能のキャッシングを行う。キャッシング
とは、よく使用されるデータ/機能をオブジェクト化処
理の機能として世界を投影しているオブジェクト側に配
置し、速度向上を図る方法である。モジュール化処理は
オブジェクトの名称管理(オブジェクトの論理名称をオ
ブジェクトのアドレスに変換する),オブジェクトの生
成/消去(オブジェクトプロセスの管理),オブジェクト
の世界間移動,処理のオブジェクト間負荷分散(同一機能
を有するオブジェクトが複数個存在する場合、負荷の軽
いオブジェクトに処理を依頼する)等、世界データベー
ス管理に関する機能を提供する。FIG. 15 shows the roles of the object processing and the module processing. Since the details of these processes are not directly related to the present invention, they will be briefly described here. The object conversion process performs communication form conversion and data / function caching described in the description of the third communication process (FIG. 12). Caching is a method of increasing the speed by arranging frequently used data / functions on the side of an object that projects the world as a function of object conversion processing. Modularization processing includes object name management (conversion of logical names of objects to object addresses), creation / deletion of objects (management of object processes), movement of objects around the world, and load balancing between processing objects When there are a plurality of objects having the same, a function relating to world database management is provided.
【0039】最後に、図16に世界データベースの構成
例を示す。世界データベースは世界に存在するソフトウ
ェア(すなわち、オブジェクト)と世界に対応するハー
ドウェア(すなわち、計算機)の両者の情報を有する。
オブジェクトリストは世界内に存在する全てのオブジェ
クトの情報を有するデータ構造である。各オブジェクト
の情報として、オブジェクトの論理名称,オブジェクト
の存在する計算機,オブジェクトへの通信アドレス,オ
ブジェクトの負荷,オブジェクトの機能がある。この
内、論理名称はオブジェクトの名称管理に使用され、負
荷は処理のオブジェクト間負荷分散に用いられる。オブ
ジェクトの処理待ち行列長で負荷を計算する方法が最も
容易である。計算機リストは世界に対応するハードウェ
アがどのような計算機から構成されているかを示す。計
算機の論理名称,計算機の処理性能,計算機に存在する
オブジェクト数,計算機のアドレス,計算機の構成等が
計算機を示すデータである。性能,オブジェクト数,構
成は、オブジェクトの生成時に使用される。すなわち、
オブジェクトを世界内のどの計算機に生成するかを選択
する方法として、該オブジェクトを実行できる計算機構
成を有し、オブジェクト当たりの計算機性能が最も高く
なる計算機を選べばよい。なお、計算機構成は計算機の
CPU,OS,I/O等の種類で示される。この他、世
界データベースには、システム初期化時に世界内に存在
していなければならないオブジェクトのリスト等を備え
ている。Finally, FIG. 16 shows a configuration example of the world database. The world database has information on both software (ie, objects) existing in the world and hardware (ie, computers) corresponding to the world.
The object list is a data structure having information on all objects existing in the world. Information on each object includes the logical name of the object, the computer where the object exists, the communication address to the object, the load of the object, and the function of the object. Among these, the logical name is used for object name management, and the load is used for load balancing between objects in processing. The easiest way is to calculate the load based on the processing queue length of the object. The computer list indicates what computer the hardware corresponding to the world is composed of. The logical name of the computer, the processing performance of the computer, the number of objects existing in the computer, the address of the computer, the configuration of the computer, and the like are data indicating the computer. The performance, the number of objects, and the configuration are used when an object is generated. That is,
As a method of selecting a computer in the world to generate an object, a computer having a computer configuration capable of executing the object and having the highest computer performance per object may be selected. The computer configuration is indicated by the type of the computer, such as CPU, OS, and I / O. In addition, the world database includes a list of objects that must exist in the world when the system is initialized.
【0040】[0040]
【発明の効果】本発明によれば、広域的分散処理環境に
存在するオブジェクトを世界単位に独立して管理するこ
とができ、分散処理システムの構築等において、ユーザ
がシステム全体の構成を詳細に理解する必要がなくな
る。すなわち、従来の平面的分散処理システムを構築す
る場合においては、全てのユーザがシステム全体の構成
を詳細に認識しなければならなかったが、本発明を使用
すると、1つの世界内部の詳細を理解するユーザと、世
界内部の詳細は認識しないが世界間の関係を理解してい
るユーザとの協調によってシステムを構築することがで
きる。According to the present invention, objects existing in a wide-area distributed processing environment can be independently managed on a world-by-world basis. No need to understand. That is, when constructing a conventional planar distributed processing system, all users had to be aware of the configuration of the entire system in detail. However, when the present invention is used, it is possible to understand the details inside one world. The system can be constructed by cooperation between a user who does not recognize the details inside the world but understands the relationship between the worlds.
【0041】さらに、通信機能に関しては、世界内では
自由にオブジェクト間通信を行うことを保証しつつ、他
世界内のオブジェクトへの通信を「世界への通信」とい
う形式に置き換え、世界間の通信を制限している。これ
によって、ユーザは他世界で実行される処理がどのオブ
ジェクトで実行されるかを認識し得ないし、認識してい
る必要がない。通信相手となるオブジェクトを指定する
必要がないため、オブジェクトがどの計算機に存在する
か等の情報を考慮する必要もなくなり、プログラミング
が容易となる。また、該オブジェクトが属している世界
側でも、他世界に見せるインタフェースさえ統一すれ
ば、自由にオブジェクトの内部を構成することができ
る。オブジェクトの内部変更、同一機能を有するオブジ
ェクトを複数個用意した負荷分散等を、他世界に見せず
に、行うことも可能となる。Further, as for the communication function, communication between objects in other worlds is replaced with a form of "communication to the world" while guaranteeing that communication between objects is freely performed in the world, and communication between the worlds is performed. Is restricted. As a result, the user cannot and does not need to know which object performs the process performed in the other world. Since there is no need to specify an object to be communicated with, there is no need to consider information such as on which computer the object exists, and programming is facilitated. In addition, on the world side to which the object belongs, the inside of the object can be freely configured as long as the interface shown to other worlds is unified. It is also possible to perform internal change of an object, load distribution in which a plurality of objects having the same function are prepared, etc. without showing them to other worlds.
【0042】本発明の通信機能では、世界間1対1通信
だけでなく、世界の同一機能を有するオブジェクトへの
マルチキャスト、世界へのブロードキャストも支援して
いる。これにより、同一機能を有するオブジェクトの同
時バージョンアップや、緊急時の世界内全オブジェクト
への同時連絡等の処理が容易に実現できる。The communication function of the present invention supports not only one-to-one communication between the worlds but also multicasting to objects having the same function in the world and broadcasting to the world. As a result, processes such as simultaneous upgrading of objects having the same function and simultaneous communication with all objects in the world in an emergency can be easily realized.
【図1】本発明の全体構成の詳細図である。FIG. 1 is a detailed view of the overall configuration of the present invention.
【図2】本発明の全体構成の概略図である。FIG. 2 is a schematic diagram of the overall configuration of the present invention.
【図3】オブジェクト間通信のインタフェースである。FIG. 3 is an interface for communication between objects.
【図4】世界間通信の機能である。FIG. 4 shows functions of inter-world communication.
【図5】本発明の各処理の分散処理環境内における配置
概略図である。FIG. 5 is a schematic diagram of the arrangement of each process of the present invention in a distributed processing environment.
【図6】本発明の各処理の分散処理環境内における配置
詳細図である。FIG. 6 is a detailed layout diagram of each process in the distributed processing environment according to the present invention.
【図7】オブジェクトプロセスの内部構成図である。FIG. 7 is an internal configuration diagram of an object process.
【図8】世界プロセスの内部構成図である。FIG. 8 is an internal configuration diagram of a world process.
【図9】第一の通信処理のフローチャートである。FIG. 9 is a flowchart of a first communication process.
【図10】複数スレッド使用可能OSにおける第一の通
信処理のフローチャートである。FIG. 10 is a flowchart of a first communication process in an OS capable of using multiple threads.
【図11】第二の通信処理のフローチャートである。FIG. 11 is a flowchart of a second communication process.
【図12】第三の通信処理のフローチャートである。FIG. 12 is a flowchart of a third communication process.
【図13】第四の通信処理のフローチャートである。FIG. 13 is a flowchart of a fourth communication process.
【図14】オブジェクト間通信のインタフェースの構成
図である。FIG. 14 is a configuration diagram of an interface for communication between objects.
【図15】オブジェクト化処理,モジュール化処理の機
能である。FIG. 15 shows functions of object conversion processing and module conversion processing.
【図16】世界データベースの内部構成図である。FIG. 16 is an internal configuration diagram of a world database.
111乃至114…第一の通信処理、121乃至123
…第二の通信処理、131…第三の通信処理、141…
第四の通信処理、211乃至213…世界、221乃至
223…モジュール化処理、231、232…オブジェ
クト化処理、241乃至249…オブジェクト、301
乃至308、1401…オブジェクト間通信のインタフ
ェース、511乃至516…計算機、521乃至523
…ネットワーク、531,532…ルータ、711,7
12…オブジェクトプロセス、811…世界プロセス、
821…世界データベース、900…第一の通信処理の
フローチャート、1100…第二の通信処理のフローチ
ャート、1200…第三の通信処理のフローチャート、
1300…第四の通信処理のフローチャート。111 to 114: first communication processing, 121 to 123
... second communication process, 131 ... third communication process, 141 ...
Fourth communication process, 211 to 213 world, 221 to 223 modular process, 231, 232 object process, 241 to 249 object, 301
To 308, 1401 ... Inter-object communication interface, 511 to 516 ... Computer, 521 to 523
... Network, 531,532 ... Router, 711,7
12 ... Object process, 811 ... World process,
821: world database, 900: flowchart of first communication process, 1100: flowchart of second communication process, 1200: flowchart of third communication process,
1300: Flowchart of fourth communication process.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 上脇 正 茨城県日立市久慈町4026番地 株式会社 日立製作所 日立研究所内 (72)発明者 小林 芳樹 茨城県日立市久慈町4026番地 株式会社 日立製作所 日立研究所内 (56)参考文献 特開 平5−46569(JP,A) 特開 平5−46570(JP,A) 特開 平2−247768(JP,A) 特開 平2−113362(JP,A) 特開 昭62−126457(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 9/44 - 9/46 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Tadashi Uwaki 4026 Kuji-cho, Hitachi City, Ibaraki Prefecture Within Hitachi Research Laboratory, Hitachi, Ltd. (72) Yoshiki Kobayashi 4026 Kuji-cho, Hitachi City, Ibaraki Prefecture Hitachi Research, Ltd. In-house (56) References JP-A-5-46569 (JP, A) JP-A-5-46570 (JP, A) JP-A-2-247768 (JP, A) JP-A-2-113362 (JP, A) JP-A-62-126457 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 15/16-15/177 G06F 9/44-9/46 JICST file (JOIS)
Claims (10)
で複数のオブジェクトが互いに通信して処理を実行する
分散処理システムにおいて、 関連あるオブジェクトの集合を1つの世界としてモジュ
ール化するモジュール化手段と、 該世界に存在するオブジェクト群の機能とデータの一部
または全てを他の世界のオブジェクトの機能とデータと
して投影するオブジェクト化手段と、 世界内全オブジェクト、世界内の複数のオブジェクト、
世界内の1つのオブジェクト、若しくは、世界を投影し
ているオブジェクトの4者の内いずれかと該世界のモジ
ュール化手段との間での通信と、世界内でのオブジェク
ト間通信とを実行する通信手段を有することを特徴とす
る分散処理システム。1. A distributed processing system in which a plurality of objects communicate with each other on a plurality of computers connected to a network to execute processing, modularization means for modularizing a set of related objects into one world, Object conversion means for projecting some or all of the functions and data of an object group existing in the world as functions and data of objects in another world, all objects in the world, a plurality of objects in the world,
Communication means for performing communication between one of the objects in the world or one of the four objects projecting the world and the modularization means of the world and communication between objects in the world A distributed processing system comprising:
で複数のオブジェクトが互いに通信して処理を実行する
分散処理システムにおいて、 関連あるオブジェクトの集合を1つの世界としてモジュ
ール化するモジュール化手段と、 該世界に存在するオブジェクト群の機能とデータの一部
または全てを他の世界のオブジェクトの機能とデータと
して投影するオブジェクト化手段と、 世界内でオブジェクト間通信を行う第一の通信手段と、
オブジェクトと該オブジェクトが属している世界のモジ
ュール化手段との間で通信を行う第二の通信手段と、 世界を投影しているオブジェクトと該世界のモジュール
化手段との間で通信を行う第三の通信手段と、該世界内オブジェクトのアドレス状態,負荷状態,機能
状態の情報のいずれか と通信形態にしたがって、該世界
内全オブジェクト、該世界内の複数のオブジェクト、該
世界内の1つのオブジェクト、若しくは、該世界を投影
しているオブジェクトの4者の内いずれかを選択し、選
択されたオブジェクトまたはオブジェクト群と該世界の
モジュール化手段との間で通信を行う第四の通信手段を
有することを特徴とする分散処理システム。2. A distributed processing system in which a plurality of objects communicate with each other on a plurality of computers connected to a network to execute processing, modularization means for modularizing a set of related objects into one world, Object conversion means for projecting a part or all of the functions and data of the object group existing in the world as functions and data of the objects in the other world, first communication means for performing inter-object communication in the world,
A second communication means for communicating between the object and the modularization means of the world to which the object belongs, and a third communication means for communicating between the object projecting the world and the modularization means of the world Communication means and address status, load status, function of the object in the world
According to any of the state information and the communication mode , any one of the four objects of the whole object in the world, a plurality of objects in the world, one object in the world, or an object projecting the world A distributed processing system comprising: a fourth communication unit that selects one of the above and communicates between the selected object or group of objects and the modularization unit in the world.
ジェクトにとって既知のオブジェクトのいずれにも存在
しない機能を実行しようとする場合、前記第二の通信手
段は、処理依頼先オブジェクトを指定せず、実行すべき
機能を指定した通信を該オブジェクトが属している世界
のモジュール化手段に対して行うことを特徴とする分散
処理システム。3. An object according to claim 2, wherein said object is to execute a function that does not exist in said object itself or in any of the objects known to said object. And performing communication specifying a function to be executed to a modularization unit in the world to which the object belongs without specifying the function.
るオブジェクト若しくはオブジェクト群が備えている機
能を実行しようとする場合、前記第三の通信手段は、処
理依頼先オブジェクトを指定せず、実行すべき機能を指
定した通信を該世界のモジュール化手段に対して行うこ
とを特徴とする分散処理システム。4. The apparatus according to claim 2, wherein, when the object projecting the world attempts to execute a function provided by an object or a group of objects existing in the world, the third communication unit transmits a processing request. A distributed processing system for performing communication in which a function to be executed is specified without specifying a destination object to module means in the world.
有し、該モジュール化手段に対して実行すべき機能を指
定した通信が行われた場合、前記第四の通信手段は、該
世界内オブジェクトの情報を検索し、指定機能を有する
オブジェクトが存在すれば該オブジェクト若しくは該オ
ブジェクト群に対して通信を行うことを特徴とする分散
処理システム。5. The module according to claim 3, wherein the modularization means has information on all objects in the world, and when communication specifying a function to be executed is performed for the modularization means, Fourth communication means is a distributed processing system for retrieving information on the object in the world, and communicating with the object or the object group if an object having a designation function exists.
有し、該モジュール化手段に対して実行すべき機能を指
定した通信が行われた場合、前記第四の通信手段は、該
世界内オブジェクトの情報を検索し、指定機能を有する
オブジェクトが存在すれば該オブジェクト若しくは該オ
ブジェクト群に対して通信を行い、指定機能を有するオ
ブジェクトが存在しなければ該世界を投影しているオブ
ジェクトに対して通信を行うことを特徴とする分散処理
システム。6. The module according to claim 3, wherein the modularization means has information on all objects in the world, and when communication specifying a function to be executed is performed for the modularization means, The fourth communication means searches for information on the object in the world, and if there is an object having a designation function, communicates with the object or the group of objects. A distributed processing system for communicating with an object projecting the image.
乃至第三の通信手段を設け、該世界を投影しているオブ
ジェクトを除いた他のオブジェクトに対して前記第一並
びに第二の通信手段を設け、該世界のモジュール化手段
に対して前記第四の通信手段を設けることを特徴とする
分散処理システム。7. The object according to claim 2, wherein the first to third communication means are provided for the object projecting the world, and for other objects except the object projecting the world. A distributed processing system comprising: the first and second communication means; and the fourth communication means for modularizing means in the world.
乃至第三の通信手段と前記オブジェクト化手段を設け、
該世界を投影しているオブジェクトを除いた他のオブジ
ェクトに対して前記第一並びに第二の通信手段を設け、
該世界のモジュール化手段に対して前記第四の通信手段
を設けることを特徴とする分散処理システム。8. An object according to claim 2, wherein said first to third communication means and said object conversion means are provided for an object projecting said world,
The first and second communication means are provided for other objects except the object projecting the world,
A distributed processing system, wherein the fourth communication means is provided for modularization means in the world.
くはプログラムモジュールであることを特徴とする分散
処理システム。 9. The method according to claim 1, wherein the object is an application program,
Or a program module characterized by being a program module
Processing system.
上で複数のアプリケーションが互いに通信して処理を実
行する分散処理システムにおいて、 関連あるアプリケーションの集合を1つの世界としてモ
ジュール化するモジュール化手段と、 第1の世界に存在するアプリケーション群の機能とデー
タの一部または全てを第2の世界のアプリケーションの
機能とデータとして投影するオブジェクト化手段と、 該第2の世界のアプリケーションから該第1の世界内全
アプリケーションへのブロードキャスト、該第2の世界
のアプリケーションから該第1の世界内の複数のアプリ
ケーションへのマルチキャスト、該第2の世界のアプリ
ケーションから該第1の世界内の1つのアプリケーショ
ンへの通信と、該第2の世界内のアプリ ケーション間の
通信とを実行する通信手段とを有することを特徴とする
分散処理システム。 10. A plurality of computers connected to a network
Applications communicate with each other to perform processing.
In a distributed processing system, a set of related applications is modeled as one world.
Modularization means to create modules, functions and data of applications that exist in the first world
Some or all of the data from the second world application
Means for projecting as functions and data, and application from the second world to the whole of the first world
Broadcast to the application, the second world
Applications in the first world to multiple apps
To the application, the second world app
Application to one application in the first world
And communication to down, the second in the world between applications
Communication means for executing communication
Distributed processing system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19962491A JP3182800B2 (en) | 1991-08-08 | 1991-08-08 | Distributed processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19962491A JP3182800B2 (en) | 1991-08-08 | 1991-08-08 | Distributed processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0546571A JPH0546571A (en) | 1993-02-26 |
JP3182800B2 true JP3182800B2 (en) | 2001-07-03 |
Family
ID=16410948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19962491A Expired - Fee Related JP3182800B2 (en) | 1991-08-08 | 1991-08-08 | Distributed processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3182800B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3365576B2 (en) * | 1993-06-14 | 2003-01-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Object execution method and apparatus |
JPH08297573A (en) * | 1995-04-27 | 1996-11-12 | Fujitsu Ltd | Object data processor |
JP4570952B2 (en) | 2004-12-28 | 2010-10-27 | 富士通株式会社 | High speed information processing apparatus, high speed information processing method and program thereof |
-
1991
- 1991-08-08 JP JP19962491A patent/JP3182800B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0546571A (en) | 1993-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Burns et al. | LAM: An open cluster environment for MPI | |
US5448734A (en) | Selective distribution of messages using named pipes | |
EP0520749B1 (en) | A method and apparatus for network computer systems management group administration | |
US6615230B2 (en) | Data access right management apparatus in a data-independent computer system | |
US20020112089A1 (en) | Method and system for supporting a system call and interprocess communication in a fault-tolerant,scalable distributed computer environment | |
JPH0525333B2 (en) | ||
JP2015537307A (en) | Component-oriented hybrid cloud operating system architecture and communication method thereof | |
JPH09135262A (en) | Data transmission method for executing information filtering processing | |
JPH06110925A (en) | Computer connected with network and using method for the same | |
JPH06202997A (en) | Method of providing network clip board mechanism and computer for network clip board mechanism | |
JP3182800B2 (en) | Distributed processing system | |
CN110083460A (en) | A kind of design method of the microkernel architecture using event bus technology | |
JP3611610B2 (en) | Automatic generation method of device connection definition in data independent computer system | |
US6622143B1 (en) | Network system and object cooperation therein | |
JP2000242587A (en) | Object processor and its program storage medium | |
JPH08129536A (en) | Event processing system | |
JPH09160847A (en) | Client server-type distribution processing system | |
JPS62126457A (en) | Distributed data processing system | |
EP1242900B1 (en) | Inter process communication in a distributed processing system | |
JP2000242542A (en) | Object processor and its program storage medium | |
JPH10275126A (en) | Client server system that performs load decentralization control | |
JPH0635869A (en) | Application cooperative operation system | |
Cheriton | Distributed 1/0 using an Object-based Protocol | |
JP2000122879A (en) | Performance monitoring method for computer system | |
King | The HELIOS Distributed Operating System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080427 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090427 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090427 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100427 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110427 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |