JPH06301655A - Distributed processing system - Google Patents

Distributed processing system

Info

Publication number
JPH06301655A
JPH06301655A JP5087494A JP8749493A JPH06301655A JP H06301655 A JPH06301655 A JP H06301655A JP 5087494 A JP5087494 A JP 5087494A JP 8749493 A JP8749493 A JP 8749493A JP H06301655 A JPH06301655 A JP H06301655A
Authority
JP
Japan
Prior art keywords
priority
message
processing
computer
processes
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
JP5087494A
Other languages
Japanese (ja)
Inventor
Takanori Yokoyama
孝典 横山
Masaru Shimada
優 島田
Masahiko Saito
雅彦 齊藤
Satoru Murata
悟 村田
Tomoaki Nakamura
智明 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5087494A priority Critical patent/JPH06301655A/en
Publication of JPH06301655A publication Critical patent/JPH06301655A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a distributed processing system capable of attaining distributed processing using priority without specifying the priority by a user or the like at the time of transmitting a message. CONSTITUTION:Respective computers constituting the distributed processing system are respectively provided with scheduling processing parts 1s, 2s, 3s capable of executing applied processing in accordance with the priority of processes and message communication processing parts 1c, 2c, 3c for transmitting a new message to which new priority corresponding to the priority of each process is added. Since the processing of the whole distributed processing system constituted of plural computers is executed in accordance with the same priority, the distributed processing system having a real time function can easily be constructed.

Description

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

【0001】[0001]

【産業上の利用分野】与えられたプログラムをマルチプ
ロセスで実行する計算機が、各々ネットワークを介して
接続されている分散処理システムに関し、特に、該分散
処理システムにおけるリアルタイム処理技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed processing system in which computers that execute a given program in multiple processes are connected to each other via a network, and more particularly to a real-time processing technology in the distributed processing system.

【0002】[0002]

【従来の技術】リアルタイム処理が必要となる計算機シ
ステムにおいては、処理の実行単位である、いわゆる
「プロセス」に、当該処理の実行の順序を定める情報で
ある「優先度」を付加して、高い優先度を有するプロセ
スほど、優先的に処理する方法が、一般的に使用されて
いる。
2. Description of the Related Art In a computer system that requires real-time processing, a high priority is obtained by adding "priority", which is information for determining the order of execution of the processing, to the so-called "process" A method in which a process having a higher priority is processed preferentially is generally used.

【0003】ところで、分散処理システムにおいては、
互いに他の計算機上のプロセスが、メッセージを通信し
あって、目的の処理を行うために、通信しあっているプ
ロセスにわたる優先度を考慮した処理が必要である。一
般に、分散処理システムでは、複数存在するプロセス
の、各プロセス間の通信に関する処理についても、優先
度を考慮する必要がある。
By the way, in the distributed processing system,
In order for processes on other computers to communicate messages with each other and to perform intended processing, it is necessary to perform processing in consideration of the priority over the communicating processes. In general, in a distributed processing system, it is necessary to consider the priority of the processes related to the communication between the processes of a plurality of existing processes.

【0004】そこで、例えば、特開平2−113362
号公報に記載されているように、プロセス間での通信対
象であるメッセージに優先度を与え、該メッセージを受
信した計算機が、与えられた優先度にしたがって、当該
メッセージに対応する処理を実行することにより、複数
の計算機にわたる処理についても、優先度を使用した処
理を可能としている。
Therefore, for example, Japanese Unexamined Patent Publication No. 2-113362.
As described in Japanese Patent Publication No. JP-A-2003-264, priority is given to a message to be communicated between processes, and a computer receiving the message executes processing corresponding to the message according to the given priority. As a result, it is possible to perform the processing using the priority even for the processing across a plurality of computers.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上記の
従来技術においては、メッセージの送信時に、送信元が
送信先の処理の優先度を、その都度指定しなければなら
ないという問題点が存在していた。
However, in the above-mentioned prior art, there is a problem that the sender must specify the processing priority of the destination at each time of message transmission. .

【0006】また、優先度の与え方が適当でないと、複
数の計算機を有して構成される分散処理システム全体
で、統一的に優先度制御が行われないという問題があっ
た。
Further, if the priority is not properly given, there is a problem that the priority control is not uniformly performed in the entire distributed processing system having a plurality of computers.

【0007】そこで、本発明は、メッセージ送信時に優
先度を、ユーザ等が指定することなく、優先度を使用し
た分散処理を実現可能とする分散処理システムを提供す
ることを目的としている。
[0007] Therefore, an object of the present invention is to provide a distributed processing system capable of realizing distributed processing using priority without the user or the like specifying the priority at the time of message transmission.

【0008】[0008]

【課題を解決するための手段】上記課題を解決するた
め、以下の手段が考えられる。
[Means for Solving the Problems] In order to solve the above problems, the following means can be considered.

【0009】複数のプロセスを並行に実行する複数の計
算機を、ネットワークを介して接続し、各計算機上の、
少なくとも1以上のプロセスがプロセス間通信を行いな
がら、当該プロセスの処理を実行する分散処理システム
において、前記各計算機は、処理の順番を定める情報で
ある優先度を有する複数のプロセスを、優先度の高い順
番に実行するスケジューリング処理手段と、プロセスの
優先度に対応した新たな優先度をメッセージに付加し、
前記ネットワークを介して他の計算機に、前記新たな優
先度が付加されたメッセージを送受信処理するメッセー
ジ通信処理手段を備え、さらに、前記スケジューリング
処理手段は、受信したメッセージに付加された前記新た
な優先度に対応した、さらに新たな優先度を、当該受信
メッセージに対応する処理を実行するプロセスに与える
分散処理システムである。
A plurality of computers that execute a plurality of processes in parallel are connected via a network, and
In a distributed processing system in which at least one or more processes perform processing of the processes while performing inter-process communication, each of the computers has a priority of a plurality of processes having priority, which is information that determines processing order. Scheduling processing means to be executed in descending order, and a new priority corresponding to the priority of the process is added to the message,
A message communication processing means for transmitting and receiving the message to which the new priority is added is sent to another computer via the network, and the scheduling processing means is further configured to add the new priority to the received message. It is a distributed processing system that gives a new priority corresponding to the received message to a process that executes a process corresponding to the received message.

【0010】また、複数のプロセスを並行に実行する複
数の計算機を、ネットワークを介して接続し、各計算機
上の、少なくとも1以上のプロセスがプロセス間通信を
行いながら、当該プロセスの処理を実行する分散処理シ
ステムにおいて、前記各計算機は、処理の順番を定める
情報である優先度を有する複数プロセスを、優先度の高
い順番に実行するスケジューリング処理手段と、プロセ
スの優先度に対応して新たに優先度を付加したメッセー
ジの、送受信処理を、前記新たな優先度にしたがって実
行するメッセージ通信処理手段を備え、さらに、前記ス
ケジューリング処理手段は、受信したメッセージに付加
された前記新たな優先度に対応した、さらに新たな優先
度を、当該受信メッセージに対応する処理を実行するプ
ロセスに与える分散処理システムも考えられる。
Further, a plurality of computers that execute a plurality of processes in parallel are connected via a network, and at least one or more processes on each computer execute processing of the processes while performing inter-process communication. In the distributed processing system, each computer has a scheduling processing means for executing a plurality of processes having a priority, which is information for determining the processing order, in a descending order of priority, and a new priority corresponding to the priority of the process. A message communication processing means for executing transmission / reception processing of the message with the added priority according to the new priority, and the scheduling processing means corresponds to the new priority added to the received message. , A new priority is given to the process that executes the process corresponding to the received message. Processing system is also considered.

【0011】[0011]

【作用】上述のように、本発明では、分散処理システム
を構成する各計算機に、与えられた処理をプロセスの優
先度にしたがって実行可能とするスケジューリング手段
と、プロセスの優先度に対応した優先度を付加したメッ
セージを送信するメッセージ通信処理手段を備えること
により目的を達成するものである。
As described above, according to the present invention, the scheduling means that enables each computer constituting the distributed processing system to execute given processing according to the priority of the process, and the priority corresponding to the priority of the process. The object is achieved by providing a message communication processing means for transmitting a message added with.

【0012】まず、スケジューリング手段は、実行を依
頼されたプログラムを、実行依頼時に指定された、ある
いは、プログラムで指定された、あるいはまた、メッセ
ージ通信処理手段により指定された、「優先度」で実行
するように、プロセスのスケジューリングを行い、優先
度にしたがってプロセスの処理を実行する。
First, the scheduling means executes the program requested to be executed with "priority" designated at the time of execution request, designated by the program, or designated by the message communication processing means. As described above, the process is scheduled and the process is processed according to the priority.

【0013】また、プログラム中に、他の計算機のプロ
セスへのメッセージ送信処理が発生した時、送信先の計
算機およびプロセスと、実行中のプロセスの優先度と、
送信すべきメッセージの内容であるメッセージデータと
を指定して、メッセージ通信処理手段にメッセージ送信
を依頼する。
Also, when a message transmission process to a process of another computer occurs in the program, the computer and the process of the transmission destination, the priority of the process being executed,
Message data, which is the content of the message to be transmitted, is specified and the message communication processing means is requested to transmit the message.

【0014】さらに、メッセージ通信処理手段は、送信
すべきメッセージデータと指定された優先度をメッセー
ジとして、該メッセージを指定された送信先プロセスに
送信する。
Further, the message communication processing means sends the message data to be sent and the designated priority as a message to the designated destination process.

【0015】送信先の計算機に備えられたメッセージ通
信処理手段は、送信元から送られてきたメッセージを受
信し、受信したメッセージに含まれている優先度を指定
して、当該計算機が備えるスケジューリング手段にスケ
ジューリングを行うことを依頼する。
The message communication processing means provided in the destination computer receives the message sent from the source, designates the priority included in the received message, and the scheduling means included in the computer. Ask to schedule.

【0016】したがって、メッセージ送信時には、メッ
セージ送信先の計算機上での優先度を、ユーザー等が指
定することなく、複数の計算機にわたる処理を、優先度
にしたがって実行することが可能になる。
Therefore, at the time of message transmission, it becomes possible to execute processing across a plurality of computers according to the priority without the user or the like specifying the priority on the computer of the message transmission destination.

【0017】[0017]

【実施例】以下、本発明の実施例を図面を参照して説明
する。まず、本発明の一実施例について説明する。本発
明の一実施例として、いわゆるオブジェクト指向分散処
理システム(オブジェクト指向プログラムを分散処理す
るシステム)について説明する。図1は、本発明の実施
例の構成例の説明図である。
Embodiments of the present invention will be described below with reference to the drawings. First, an embodiment of the present invention will be described. As one embodiment of the present invention, a so-called object-oriented distributed processing system (a system for distributed processing of object-oriented programs) will be described. FIG. 1 is an explanatory diagram of a configuration example of an embodiment of the present invention.

【0018】複数の計算機、すなわち計算機1、計算機
2、計算機3がネットワーク9を介して接続されてい
る。
A plurality of computers, that is, a computer 1, a computer 2, and a computer 3 are connected via a network 9.

【0019】ネットワーク9は、例えば、光ファイバ等
の通信手段を具備するLAN(ローカル・エリア・ネッ
トワーク)システム等にて実現される。
The network 9 is realized by, for example, a LAN (local area network) system having a communication means such as an optical fiber.

【0020】各計算機1、2、3は、プロセッサ1p、
2p、3p、メモリ1m、2m、3m、ネットワークア
ダプタ1n、2n、3n、ディスク装置1d、2d、3
dを有して構成されている。
Each of the computers 1, 2, 3 has a processor 1p,
2p, 3p, memories 1m, 2m, 3m, network adapters 1n, 2n, 3n, disk devices 1d, 2d, 3
It is configured with d.

【0021】ネットワークアダプタ1n、2n、3n
は、ネットワーク9を介して他の計算機と、メッセージ
を含む各種情報の送受信をするための手段である。ネッ
トワークアダプタは、例えば、光通信を利用する場合に
は、光電変換素子、各種CMOS等の電子デバイスにて
実現される。
Network adapters 1n, 2n, 3n
Is a means for transmitting / receiving various information including messages to / from another computer via the network 9. When using optical communication, the network adapter is realized by an electronic device such as a photoelectric conversion element and various CMOSs.

【0022】各計算機には、それぞれ異なる「計算機番
号」と称される識別子が与えられており、該計算機番号
を指定することにより、他の計算機とネットワークを介
した、メッセージを含む各種情報の通信が可能である。
Each computer is provided with a different identifier called a "computer number", and by designating the computer number, communication of various information including messages through other computers via the network. Is possible.

【0023】メモリには、計算機が実行する、オペレー
ティングシステム(OS)のプログラム1o、2o、3
o、オブジェクトのプログラム11、12、21、2
2、31、32等を有しており、これらをプロセッサ1
p、2p、3pが読みだして、所定の処理を実行する。
メモリは、例えば、RAM等の半導体素子等により実現
される。
In the memory, operating system (OS) programs 1o, 2o, 3 executed by the computer are executed.
o, object programs 11, 12, 21, 2
2, 31, 32, etc., and these are the processor 1
p, 2p, 3p are read out and a predetermined process is executed.
The memory is realized by, for example, a semiconductor element such as RAM.

【0024】OSは、各種プログラムの実行管理、ユー
ザへのサービスの提供を行うソフトウェアであり、処理
実行単位であるプロセスの実行のスケジューリングを行
うスケジューリング処理部1s、2s、3s、異なる計
算機間上の異なるプロセス間で、メッセージを含む情報
を送受信する機能を有するメッセージ通信処理部1c、
2c、3cを備えて構成されている。
The OS is software that manages execution of various programs and provides services to users. The OS is a scheduling processing unit 1s, 2s, 3s that schedules execution of a process, which is a unit of processing execution, on different computers. A message communication processing unit 1c having a function of transmitting and receiving information including a message between different processes,
2c and 3c are provided.

【0025】また、各オブジェクトのプログラムを構成
する「手続き」は、「システムコール」と称する呼び出
し処理により、OSに対して、ディスク装置中でのファ
イルの生成、ディスク装置へのファイルの書き込み、デ
ィスク装置からのファイルの読み込み等の処理を依頼す
る。
Further, the "procedure" constituting the program of each object is a process called "system call" for the OS to generate a file in the disk device, write a file to the disk device, Request processing such as reading a file from the device.

【0026】図2は、1台の計算機2に格納されるソフ
トウェアの構造を表わしたものである。以下、この図を
参照して、本発明の処理の概要を説明する。
FIG. 2 shows the structure of software stored in one computer 2. The outline of the processing of the present invention will be described below with reference to this figure.

【0027】オブジェクト21、22等は、ひとまとま
りのプログラムであり、ひとつのオブジェクトは、ひと
つのプロセスとして処理を実行する。
The objects 21, 22 and the like are a set of programs, and one object executes a process as one process.

【0028】「プロセス」とは、プロセッサが実行する
一連の処理実行単位のことであり、「タスク」とも称さ
れる。
A "process" is a series of processing execution units executed by a processor, and is also called a "task".

【0029】各プロセスには、プロセス番号が与えら
れ、プロセス番号を指定することにより、計算機内で一
意にプロセスを指定することができる。
A process number is given to each process, and by specifying the process number, the process can be uniquely specified in the computer.

【0030】本発明の実施例におけるOSは、複数のプ
ロセスを適当に切り換えながら、並行に実行することの
できる、いわゆるマルチプロセス機能を有している。
The OS in the embodiment of the present invention has a so-called multi-process function capable of executing a plurality of processes in parallel while appropriately switching them.

【0031】例えば、アジソン・ウェスリー社(Addiso
n-Wesley Publish Company)刊、「ザ・デザイン・アン
ド・インプリメンテーション・オブ・ザ・4.3ビー・
エス・ディー・ユニックス・オペレーティング・システ
ム(1989年)(The Design and Implementation of
the 4.3BSD UNIX Operation System (1989))」に記載
されているように、現在広く使用されているユニックス
(UNIX)・オペレーティングシステム(「UNI
X」は、ユニックス・システム・ラボラトリーズ社(UN
IX System Laboratries,Inc.)が開発し、ライセンスし
ているオペレーティングシステムである)は、マルチプ
ロセス機能を有しており、これを利用することにより、
ひとつの計算機上で複数のプロセスを同時に実行でき
る。
For example, Addison Wesley (Addiso
n-Wesley Publish Company), "The Design and Implementation of the 4.3B.
SD Unix Operating System (1989) (The Design and Implementation of
The 4.3BSD UNIX Operation System (1989)), which is a widely used UNIX operating system ("UNI").
"X" is the name of Unix System Laboratories (UN
IX System Laboratries, Inc.) is an operating system developed and licensed) has a multi-process function.
Multiple processes can be executed simultaneously on one computer.

【0032】本実施例においては、プロセスに、実行の
順番を決定する情報である「優先度」を指定することが
可能であり、OSは、指定された優先度にしたがって、
優先度の高いプロセスを優先的に実行する機能も有して
いる。
In this embodiment, it is possible to specify the "priority" which is the information for determining the order of execution for the process, and the OS follows the specified priority.
It also has the function of preferentially executing processes with high priority.

【0033】これらの機能は、メモリに記憶されるOS
のプログラム中の、スケジューリング処理部2sにより
実現される。
These functions are performed by the OS stored in the memory.
It is realized by the scheduling processing unit 2s in the program.

【0034】したがって、各オブジェクトの処理は、そ
れぞれに与えられた優先度にしたがって実行されること
になる。
Therefore, the processing of each object is executed according to the priority given to each.

【0035】また、オブジェクトは、オブジェクト間で
メッセージを送受信しながら処理を実行する。
Further, the objects execute processing while sending and receiving messages between the objects.

【0036】分散処理システムでは、ある特定の処理を
要求する「クライアントプロセス」と、要求された処理
を実行する「サーバプロセス」を組み合わせて処理を実
行する方法が広く使用されている。
In the distributed processing system, a method of executing a process by combining a "client process" that requests a specific process and a "server process" that executes the requested process is widely used.

【0037】このクライアントプロセスや、サーバプロ
セスは、それぞれひとつのオブジェクトであり、クライ
アントプロセスからサーバプロセスへの処理の依頼のた
めの通信や、サーバプロセスからクライアントプロセス
への返答のための通信は、メッセージのやりとりによっ
て行われる。
Each of the client process and the server process is one object, and the communication for requesting the processing from the client process to the server process and the communication for replying from the server process to the client process are messages. It is done by the exchange of.

【0038】なお、あるサーバプロセスは、他のサーバ
プロセスに処理を要求すること、すなわち、クライアン
トプロセスとして機能することも可能である。
It should be noted that one server process can request another server process for processing, that is, can function as a client process.

【0039】メモリ中に記憶されるOSのプログラム
は、さらに、異なる計算機間上に存在する異なるプロセ
ス間で情報を送受信するメッセージ通信処理部2cを備
えており、オブジェクトは、システムコールを発行する
ことにより、他の計算機内に存在するオブジェクトへ
の、メッセージの送信を行うことができる。
The OS program stored in the memory further includes a message communication processing unit 2c for transmitting and receiving information between different processes existing on different computers, and the object must issue a system call. By this, a message can be sent to an object existing in another computer.

【0040】また、メッセージ通信処理部は、メッセー
ジに優先度を付加したものを送信する機能を有する。本
発明の実施例では、例えば、メッセージを送信するオブ
ジェクトの処理を実行するプロセスの優先度を、メッセ
ージに付加して送信する。
Further, the message communication processing section has a function of transmitting a message to which a priority is added to the message. In the embodiment of the present invention, for example, the priority of the process that executes the process of the object that sends the message is added to the message and sent.

【0041】さらに、メッセージに付加する優先度を、
当該メッセージを送信するプロセスが有する優先度に対
して比例関係を有して与えることも考えられる。
Furthermore, the priority to be added to the message is
It is also possible to give the message in a proportional relationship to the priority of the process that sends the message.

【0042】さて、各オブジェクトは、他のオブジェク
トからの処理要求メッセージを待ち、送られてきた処理
要求メッセージに応じた処理を、メッセージに付加され
た優先度にしたがって実行する。
Now, each object waits for a processing request message from another object, and executes processing according to the processing request message sent thereto according to the priority added to the message.

【0043】この処理は、メッセージの受信側の計算機
が備えるメッセージ通信処理部が、送られてきた優先度
付きの処理要求メッセージを受信し、送信先のオブジェ
クト、優先度、およびメッセージを、スケジューリング
処理部に通知し、送信先のオブジェクトの処理の実行を
依頼する。
In this processing, the message communication processing unit of the computer on the message receiving side receives the processing request message with priority sent, and schedules the destination object, priority, and message. Notify the department and request execution of the processing of the destination object.

【0044】スケジューリング処理部は、通知されたオ
ブジェクトの受信メッセージに対応する処理のプロセス
の実行を、与えられた優先度にしたがってスケジューリ
ングし、実行する。
The scheduling processing unit schedules and executes the process of the process corresponding to the received message of the notified object according to the given priority.

【0045】以上、本発明の一実施例の概要について述
べたが、さらに詳しく説明する。
The outline of one embodiment of the present invention has been described above, and will be described in more detail.

【0046】本発明の実施例において、オブジェクト
は、メッセージを受信することにより活性化され、所定
の処理を実行するプログラムである。
In the embodiment of the present invention, the object is a program which is activated by receiving a message and executes a predetermined process.

【0047】一般に、オブジェクトは、データおよび該
データに関する手続きの集合で構成される。
Generally, an object is composed of a set of data and procedures related to the data.

【0048】図3に示すように、例えばオブジェクト2
1は、データ210、手続き1(211)、手続き2
(212)、および手続き3(213)を有して構成さ
れるプログラムである。
As shown in FIG. 3, for example, the object 2
1 is data 210, procedure 1 (211), procedure 2
(212) and procedure 3 (213).

【0049】各手続きには、その処理を起動するための
受信メッセージのメッセージ名が定義されている。
The message name of the received message for activating the processing is defined in each procedure.

【0050】例えばメッセージ名が「メッセージe」で
あるメッセージを受信した場合には、手続き1を、メッ
セージ名が「メッセージf」であるメッセージを受信し
た場合には、手続き2を、メッセージ名が「メッセージ
h」であるメッセージを受信した場合には、手続き3を
起動するように定義される。
For example, when a message having the message name "message e" is received, the procedure 1 is carried out, and when a message having the message name "message f" is received, the procedure 2 is carried out and the message name is "message f". When the message "message h" is received, the procedure 3 is defined to be started.

【0051】また、メッセージは、オブジェクト間で情
報を送受信するための手段である。
A message is a means for sending and receiving information between objects.

【0052】本実施例では、OSがプロセス間通信機能
を有するため、オブジェクトがシステムコールを使用し
て、OSにメッセージ送信を依頼することにより、メッ
セージ通信が実行される。
In this embodiment, since the OS has an interprocess communication function, an object uses a system call to request the OS to send a message, whereby message communication is executed.

【0053】ここで、メッセージのデータ形式の一例を
図4に示す。
An example of the data format of the message is shown in FIG.

【0054】メッセージ800は、メッセージ名を表わ
す文字列が格納されているメモリアドレス801、引数
の数を表わすデータ802と、各引数データが格納され
ているメモリアドレス803、804等を有して構成さ
れている。
The message 800 has a memory address 801 in which a character string representing a message name is stored, data 802 in which the number of arguments is stored, and memory addresses 803 and 804 in which each argument data is stored. Has been done.

【0055】また、メッセージ名の文字列は、801
1、8012のように、文字コードの並びで表現される
(8019が終了記号である)。引数の実際のデータ
は、それぞれのデータ型に従って、8031、8041
のように記憶される。
Further, the character string of the message name is 801
It is represented by a sequence of character codes such as 1, 8012 (8019 is an end symbol). The actual data of the argument is 8031, 8041 according to the respective data types.
It is stored like.

【0056】引数のデータ型は、メッセージ毎に、送信
側オブジェクトと受信側オブジェクトで一致するよう
に、各オブジェクトのプログラムで予め定義されてい
る。また、メッセージの引数は、実行する手続きの処理
に利用される。
The data type of the argument is defined in advance by the program of each object so that the sender object and the receiver object may match for each message. The argument of the message is used to process the procedure to be executed.

【0057】同様に、返答の有無、返答データの型等に
ついても、予め定義されている。
Similarly, the presence / absence of a reply, the type of reply data, and the like are also defined in advance.

【0058】返答データは、メッセージの引数で示した
アドレスに格納される。
The reply data is stored at the address indicated by the argument of the message.

【0059】さて、オブジェクトの処理は、スケジュー
リング処理部により起動される。
Now, the processing of the object is started by the scheduling processing section.

【0060】ここで図5を参照して、オブジェクト21
を例にとり、オブジェクトの処理1000を説明する。
Referring now to FIG. 5, the object 21
Taking 1000 as an example, the object processing 1000 will be described.

【0061】まず、システムコールにより、当該オブジ
ェクトあてのメッセージの読みだしを依頼する(ステッ
プ1001)。
First, a system call is made to request reading of a message addressed to the object (step 1001).

【0062】メッセージの読みだし依頼に対するOSの
動作については後述する。
The operation of the OS in response to the message read request will be described later.

【0063】メッセージは、図4にて参照した形式のデ
ータとして受け取ることができる。次に、受信したメッ
セージのメッセージ名が何であるかを判定する(ステッ
プ1002)。
The message can be received as data in the format referred to in FIG. Next, it is determined what the message name of the received message is (step 1002).

【0064】メッセージ名が「メッセージe」であれ
ば、「手続き1」の処理を実行し(ステップ100
3)、「メッセージf」であれば、「手続き2」の処理
を実行し(ステップ1004)、「メッセージh」であ
れば、「手続き3」の処理を実行する(ステップ100
5)。
If the message name is "message e", the process of "procedure 1" is executed (step 100).
3) If "message f", the process of "procedure 2" is executed (step 1004), and if it is "message h", the process of "procedure 3" is executed (step 100).
5).

【0065】なお、対応する手続きが存在しないメッセ
ージ名を有するメッセージを受信した場合には、それを
無視し、処理を実行しないものとする。
When a message having a message name for which the corresponding procedure does not exist is received, it is ignored and the process is not executed.

【0066】オブジェクトは、オブジェクト間通信によ
り、互いにメッセージを交換しながら並行に処理を実行
する。
The objects execute processing in parallel while exchanging messages with each other through inter-object communication.

【0067】また、オブジェクトは、「手続きプログラ
ム」中で、必要により、他のオブジェクトへメッセージ
を送信する。メッセージを送信するには、図4に示すよ
うな形式のメッセージデータを生成し、システムコール
によりメッセージ送信を依頼すればよい。
In addition, the object transmits a message to another object in the "procedure program" if necessary. To send a message, message data in the format shown in FIG. 4 may be generated and a system call may be requested to send the message.

【0068】次に、メッセージ通信処理について説明す
る。
Next, the message communication processing will be described.

【0069】オブジェクト間のメッセージ通信は、メモ
リ中に記憶されたOSプログラム内の、メッセージ通信
処理部が実行する。
Message communication between objects is executed by the message communication processing unit in the OS program stored in the memory.

【0070】図2に示したように、メッセージ通信処理
部2cは、ソケット通信処理部2ccを備え、これによ
り通信処理を実行する。
As shown in FIG. 2, the message communication processing unit 2c includes a socket communication processing unit 2cc, which executes communication processing.

【0071】ソケット通信処理部は、例えば、前記「ザ
・デザイン・アンド・インプリメンテーション・オブ・
ザ・4.3ビー・エス・ディー・ユニックス・オペレー
ティング・システム(1989年)」記載のように、ユ
ニックス・オペレーティングシステムに内蔵されるソケ
ット(socket)と称されるプロセス間通信機能を使用す
る。
The socket communication processing unit is, for example, the above-mentioned “The Design and Implementation of
The inter-process communication function called a socket incorporated in the Unix operating system is used as described in "4.3 BDS Unix Operating System (1989)".

【0072】ソケットでは、「ソケットアドレス」を指
定することによりプロセス間通信が可能となる。ソケッ
トアドレスは、アドレスファミリ番号、ポート番号、お
よび計算機アドレスを有して構成される。
In the socket, interprocess communication becomes possible by designating the "socket address". The socket address is configured to have an address family number, a port number, and a computer address.

【0073】アドレスファミリ番号は、アドレスの型を
表わす16ビット(2バイト)の整数である。なお、プ
ロセス間の通信は、ポートを介して行なう。
The address family number is a 16-bit (2-byte) integer representing the type of address. Note that communication between processes is performed via a port.

【0074】各計算機には複数のポートが備えられてお
り、各ポートには、予めポート番号が与えられている。
Each computer has a plurality of ports, and each port is given a port number in advance.

【0075】ひとつの計算機内では、ポート番号を指定
することにより、指定されたポートを決定できる。
In one computer, the designated port can be determined by designating the port number.

【0076】ここでは、16ビット(2バイト)のデー
タ長の整数で表現されるポート番号により、ポートを指
定する。
Here, the port is designated by the port number represented by an integer having a data length of 16 bits (2 bytes).

【0077】本実施例では使用するアドレスの型を、一
つに決めており、アドレスファミリ番号は、常に同一の
ものを使用するものとする。したがって、計算機アドレ
スおよびポート番号を指定するのみで、プロセス間通信
が可能となる。
In the present embodiment, one type of address is used, and the same address family number is always used. Therefore, interprocess communication becomes possible only by specifying the computer address and port number.

【0078】また、各オブジェクトには、一つのポート
が与えられる。
Further, one port is given to each object.

【0079】オブジェクトがシステムコールによって、
メッセージ送信処理を依頼する場合には、送信先のオブ
ジェクトの計算機アドレスおよびポート番号を指定し、
自分の計算機アドレスおよびポート番号、さらに、プロ
セス番号を付加して、メッセージデータの送信を、OS
に依頼する。
The object is called by the system call
When requesting message transmission processing, specify the computer address and port number of the destination object,
Add your own computer address, port number, and process number to send message data.
Ask.

【0080】図6に、メッセージ通信処理部が扱うメッ
セージの形式の一例を示す。
FIG. 6 shows an example of the format of a message handled by the message communication processing section.

【0081】メッセージ900は、メッセージ全体の大
きさ(バイト数)を表わすデータ901、メッセージの
送信先の計算機アドレス902、送信先のポート番号9
03、メッセージの送信元の計算機アドレス904、送
信元のポート番号905、優先度906、メッセージ名
907、引数の数を表わすデータ908、引数データ9
09を有して構成される。
The message 900 includes data 901 representing the size (number of bytes) of the entire message, a computer address 902 of the transmission destination of the message, and a port number 9 of the transmission destination.
03, computer address 904 of sender of message, port number 905 of sender, priority 906, message name 907, data 908 indicating number of arguments, argument data 9
09 is included.

【0082】さらに、メッセージ名907は、メッセー
ジ名の文字列を表わす文字コードの並び9071、90
72等を有して構成される。また、文字コードの並びの
最後には、終了記号9073を付加した構成にしてい
る。
Further, the message name 907 is a sequence of character codes 9071, 90 representing a character string of the message name.
72 and the like. Also, the end code 9073 is added to the end of the character code sequence.

【0083】引数データは、その大きさ(バイト数)と
データからなる組み合わせで構成し、それを全引数につ
いて並べて構成したもので、1番目の引数の大きさ90
91、1番目の引数データ9092、2番目の引数の大
きさ9093、2番目の引数データ9093等から成
る。
The argument data is composed of a combination of its size (number of bytes) and data, and is arranged for all arguments. The size of the first argument is 90.
91, first argument data 9092, second argument size 9093, second argument data 9093, and the like.

【0084】メッセージ通信処理部の動作には、メッセ
ージ受信時に起動されるメッセージ受信割り込み処理、
オブジェクトからのシステムコールにより起動されるメ
ッセージ取り出しシステムコール処理と、メッセージ送
信システムコールの処理がある。
The operation of the message communication processing unit includes a message reception interrupt process activated when a message is received,
There are a message fetch system call process activated by a system call from an object and a message transmission system call process.

【0085】まず、メッセージ受信割り込み処理につい
て、図7を参照して説明する。
First, the message reception interrupt process will be described with reference to FIG.

【0086】メッセージ受信割り込み処理(2000)
は、ソケット通信処理部が他の計算機からの、あるい
は、自分の計算機内におけるメッセージを受信したとき
に起動される割り込み処理である。
Message reception interrupt processing (2000)
Is an interrupt process that is activated when the socket communication processing unit receives a message from another computer or in its own computer.

【0087】処理が起動されると、まず、ソケット通信
処理部から、受信したメッセージデータを受け取る(ス
テップ2001)。
When the processing is activated, first, the received message data is received from the socket communication processing section (step 2001).

【0088】受け取ったデータの形式は、図6に示すも
のと同一の形式である。
The format of the received data is the same as that shown in FIG.

【0089】次に、受信メッセージを、図2に示した受
信メッセージバッファ2crに格納し(ステップ200
2)、受信メッセージ中の送信先ポート番号にもとづい
て、そのメッセージを受け取るべきオブジェクトのプロ
セスを求め(ステップ2003)、さらに、スケジュー
リング処理部を起動する(ステップ2004)。
Next, the received message is stored in the received message buffer 2cr shown in FIG. 2 (step 200
2) Based on the destination port number in the received message, the process of the object that should receive the message is obtained (step 2003), and the scheduling processing unit is activated (step 2004).

【0090】次に、メッセージ取り出しシステムコール
処理について、図8を参照して説明する。メッセージ取
り出しシステムコール処理(3000)は、オブジェク
トからのシステムコールにより起動され、受信メッセー
ジバッファ2crから図6に示す形式の受信メッセージ
を取り出し(ステップ3002)、それを図4に示す形
式のメッセージデータに変換して、オブジェクトに該メ
ッセージデータを渡す(ステップ処理3003)また、
メッセージ送信システムコール処理について、図9を参
照して説明する。 メッセージ送信システムコール処理
(4000)は、オブジェクトからのシステムコールに
より起動される。
Next, the message retrieval system call processing will be described with reference to FIG. The message fetch system call processing (3000) is activated by a system call from the object, fetches a received message in the format shown in FIG. 6 from the received message buffer 2cr (step 3002), and converts it into message data in the format shown in FIG. Convert and pass the message data to the object (step processing 3003).
The message transmission system call process will be described with reference to FIG. The message transmission system call process (4000) is activated by a system call from the object.

【0091】まず、スケジューリング処理部に問い合わ
せて、与えられたオブジェクトのプロセス番号から、当
該プロセスの優先度を得る(ステップ4001)。
First, the scheduling processing unit is inquired to obtain the priority of the process from the process number of the given object (step 4001).

【0092】次に、オブジェクトから受け取った図4に
示す形式のメッセージデータを、図6に示す形式のメッ
セージデータに変換し、図2に示した送信メッセージバ
ッファに格納する(ステップ4002)。ここで、図6
に示す形式のメッセージデータ中の優先度は、例えば、
先ほどステップ4001にて得たプロセスの優先度を与
える。
Next, the message data of the format shown in FIG. 4 received from the object is converted into the message data of the format shown in FIG. 6 and stored in the transmission message buffer shown in FIG. 2 (step 4002). Here, FIG.
The priority in the message data of the format shown in
The process priority obtained in step 4001 is given.

【0093】そして、ソケット通信処理部を起動し(ス
テップ4003)、送信処理が終了したら、スケジュー
リング処理部を起動し(ステップ4004)、一連の処
理を終了する。
Then, the socket communication processing section is activated (step 4003), and when the transmission processing is completed, the scheduling processing section is activated (step 4004) and the series of processing is completed.

【0094】次に、スケジューリング処理について説明
する。
Next, the scheduling process will be described.

【0095】メモリ中に記憶されているOSプログラム
は、指定された優先度にしたがって、優先度の高いプロ
セスを優先的に実行することを可能とする、スケジュー
リング処理部を備えている。
The OS program stored in the memory is provided with a scheduling processing unit which enables a process having a high priority to be preferentially executed in accordance with the designated priority.

【0096】図2に示すように、スケジューリング処理
部2sは、さらに、実行可能プロセス待ち行列2sqを
備えている。
As shown in FIG. 2, the scheduling processing section 2s further includes an executable process queue 2sq.

【0097】図10に示すように、実行可能プロセス待
ち行列2sqは、優先度毎に実行可能なプロセスを記憶
する、優先度付き待ち行列である。
As shown in FIG. 10, the executable process queue 2sq is a queue with priority, which stores executable processes for each priority.

【0098】本実施例では、「0」から「128」まで
の整数で表現される優先度を使用でき、数字が小さいほ
ど優先度が高いことを表わす。
In this embodiment, a priority represented by an integer from "0" to "128" can be used, and the smaller the number, the higher the priority.

【0099】図10に示す例では、7つのプロセス10
1〜107が実行可能状態で、実行待ちになっている状
態を表わしている。
In the example shown in FIG. 10, seven processes 10
Nos. 1 to 107 are ready to be executed and are in a waiting state.

【0100】このうちプロセス103、プロセス105
は、優先度「0」、プロセス101は、優先度「2」、
プロセス102、プロセス104、プロセス107は、
優先度「4」、プロセス106は、優先度「7」であ
る。
Of these, process 103 and process 105
Indicates a priority “0”, the process 101 indicates a priority “2”,
Process 102, process 104, and process 107
The priority is “4” and the process 106 is the priority “7”.

【0101】そして、優先度の高いプロセスから順次実
行されることになる。
Then, the processes having higher priorities are sequentially executed.

【0102】複数のプロセスが同一優先度を有している
場合には、その先頭、すなわち図の左側にあるプロセス
から順次実行されることになる。
When a plurality of processes have the same priority, the processes are sequentially executed from the top, that is, the process on the left side of the drawing.

【0103】したがって、今後実行可能プロセスの追加
がなければ、プロセス103、プロセス105、プロセ
ス101、プロセス102、プロセス104、プロセス
107、プロセス106の順番に、各々のプロセスが取
り出され実行される。
Therefore, unless an executable process is added in the future, the processes 103, 105, 101, 102, 104, 107 and 106 are sequentially taken out and executed.

【0104】新たな実行可能プロセスが発生したなら
ば、該プロセスは、その優先度の最後尾のプロセスとし
て追加される。例えば、優先度2のプロセスが新たに実
行可能状態になる場合には、プロセス101の後部に追
加される。
When a new runnable process occurs, it is added as the last process of its priority. For example, when a process having a priority of 2 is newly placed in the executable state, it is added to the rear part of the process 101.

【0105】次に、スケジューリング処理部の動作を図
11を参照して説明する。
Next, the operation of the scheduling processing section will be described with reference to FIG.

【0106】スケジューリング処理(5000)は、メ
ッセージ受信時、メッセージを送信時、実行中のオブジ
ェクトのプロセスが何らかの待ち状態に移行して、プロ
セスの実行が中断した時、あるいは、プロセスの終了時
に起動される。
The scheduling process (5000) is started when a message is received, when a message is sent, when the process of the object being executed shifts to a wait state, and the process execution is interrupted, or when the process ends. It

【0107】まず、起動原因が、上述のいずれであるか
調べ(ステップ5001)、メッセージ受信によるもの
であれば、メッセージ送信先のオブジェクト、すなわち
該メッセージを受け取るべきオブジェクトのプロセスを
実行可能プロセス待ち行列に格納し(ステップ500
2)、ステップ5003にブランチする。
First, it is checked which of the above causes is the activation cause (step 5001), and if it is due to the message reception, the process of the object of the message transmission destination, that is, the object which should receive the message is executed in the process queue. Stored in (step 500
2), branch to step 5003.

【0108】ここで、このプロセスの優先度は、受信メ
ッセージのメッセージデータ(図6に示す形式)中の優
先度906の値とする。したがって、受信したオブジェ
クトのプロセスの優先度は、そのメッセージを送信した
オブジェクトのプロセスの優先度と同一の値になる。
Here, the priority of this process is the value of the priority 906 in the message data (the format shown in FIG. 6) of the received message. Therefore, the process priority of the received object has the same value as the process priority of the object that sent the message.

【0109】起動原因が、メッセージ送信やプロセス中
断の場合には、ステップ5003から開始し、現在実行
中のプロセスを退避し、そのプロセスを実行可能プロセ
ス待ち行列に格納し(ステップ5003)、ステップ5
004にブランチする。
If the cause of the activation is message transmission or process interruption, starting from step 5003, the currently executing process is saved, the process is stored in the executable process queue (step 5003), and step 5 is executed.
Branch to 004.

【0110】起動原因がプロセス終了であれば、ステッ
プ5004から開始し、実行可能プロセス待ち行列か
ら、次に実行するプロセス、すなわち、最も高い優先度
を有するプロセスを取り出す(同一優先度のプロセスが
複数存在するときには、その先頭のプロセスを取り出
す)(ステップ5004)。そして、そのプロセスの処
理を起動し実行する(ステップ5005)。
If the cause of the process termination is the process termination, the process to be started next is started from step 5004, and the process to be executed next, that is, the process having the highest priority is taken out (a plurality of processes having the same priority are extracted). If it exists, the process at the head is taken out) (step 5004). Then, the processing of that process is activated and executed (step 5005).

【0111】次に、本実施例の一実行例について、図1
2を参照して説明する。
FIG. 1 shows an example of execution of this embodiment.
2 will be described.

【0112】計算機1内には、OS1oのプロセス、オ
ブジェクト11のプロセス、オブジェクト12のプロセ
スが存在し、計算機2内には、OS2oのプロセス、オ
ブジェクト21のプロセス、オブジェクト22のプロセ
ス、オブジェクト23のプロセスが存在し、さらに、計
算機3内には、OS3oのプロセス、オブジェクト31
のプロセス、オブジェクト32のプロセスが存在する。
Within the computer 1, there are processes of OS1o, processes of object 11 and processes of object 12, and within the computer 2 processes of OS2o, processes of object 21, processes of object 22 and processes of object 23. Exists, and in the computer 3, the process of the OS3o, the object 31
Process of the object 32 exists.

【0113】そして現在、計算機1内では、オブジェク
ト11のプロセスが優先度「68」で実行中(処理10
111)であり、また、オブジェクト12のプロセスが
優先度「72」で実行可能プロセス待ち行列中に存在す
るものとする。
At present, in the computer 1, the process of the object 11 is being executed with the priority "68" (process 10).
111), and the process of the object 12 exists in the executable process queue with the priority “72”.

【0114】また、計算機2内では、オブジェクト22
のプロセスが優先度「81」で実行中(処理2022
1)で、また、オブジェクト21のプロセスとオブジェ
クト23のプロセスは、メッセージ待ち状態であるもの
とする。
In the computer 2, the object 22
Process is being executed with priority “81” (process 2022)
In 1), the process of the object 21 and the process of the object 23 are in the message waiting state.

【0115】さらに、計算機3内では、オブジェクト3
1のプロセスが優先度「56」で実行中(処理3031
1)で、また、オブジェクト32のプロセスが優先度
「96」で実行可能プロセス待ち行列中に存在するもの
とする。
Further, in the computer 3, the object 3
Process 1 is running with priority "56" (Process 3031)
In 1), it is also assumed that the process of the object 32 exists in the executable process queue with the priority "96".

【0116】さて、ここで、計算機1内に存在するオブ
ジェクト11が、計算機2内に存在するオブジェクト2
1に対し、処理依頼のメッセージを送信したとする。
Now, here, the object 11 existing in the computer 1 is the object 2 existing in the computer 2.
It is assumed that the processing request message is transmitted to 1.

【0117】すなわちオブジェクト11が、メッセージ
送信システムコールを発行することによって、OS1o
のメッセージ送信処理10101が起動され、ソケット
を使用して、計算機2に対する送信処理を実行する。
That is, the object 11 issues a message transmission system call to
The message transmission process 10101 is started and the transmission process for the computer 2 is executed using the socket.

【0118】ここで、オブジェクト22の処理の実行中
の計算機2において、OS2oによるメッセージ受信割
り込み処理20201が発生し、計算機1から送信され
たメッセージを受信する処理を行う。
Here, in the computer 2 which is executing the process of the object 22, the message reception interrupt process 20201 by the OS 2o occurs, and the process of receiving the message transmitted from the computer 1 is performed.

【0119】計算機1では、OS1oのメッセージ送信
処理10101が終了すると、オブジェクト11は、メ
ッセージの返答の待ち状態に移るため、スケジューリン
グ処理の結果、優先度「72」を有するオブジェクト1
2の処理10121が実行される。
In the computer 1, when the message transmission process 10101 of the OS 1o is completed, the object 11 shifts to the waiting state for the message reply, and as a result of the scheduling process, the object 1 having the priority "72" is obtained.
The second process 10121 is executed.

【0120】計算機2では、OS2oによるメッセージ
受信割り込み処理20201が終了すると、スケジュー
リング処理の結果、受信メッセージの受け取り手である
オブジェクト21の処理20211が、優先度「68」
で実行される。この優先度は、該メッセージを送信した
オブジェクト11の優先度と等しい。オブジェクト22
の処理は、優先度が「81」であるので中断される。
In the computer 2, when the message reception interrupt processing 20201 by the OS 2o ends, as a result of the scheduling processing, the processing 20211 of the object 21 which is the receiver of the received message has the priority "68".
Run on. This priority is equal to the priority of the object 11 that sent the message. Object 22
Since the priority is "81", the process of is interrupted.

【0121】ここで、計算機3のオブジェクト31が、
計算機2のオブジェクト23に処理依頼メッセージを送
信するためメッセージ送信システムコールを発行し、O
S3oのメッセージ送信処理30301が起動されたと
する。
Here, the object 31 of the computer 3 is
A message transmission system call is issued to transmit a processing request message to the object 23 of the computer 2, and O
It is assumed that the message transmission process 30301 of S3o is activated.

【0122】これに対応して計算機2でOS2oによる
メッセージ受信割り込み処理20202が発生し、計算
機3から送信されたメッセージを受信する。
In response to this, the message reception interrupt processing 20202 by the OS 2o occurs in the computer 2, and the message transmitted from the computer 3 is received.

【0123】計算機3では、OS3oのメッセージ送信
処理30301が終了すると、オブジェクト31は、メ
ッセージの返答の待ち状態に移るため、スケジューリン
グ処理の結果、優先度「96」のオブジェクト32の処
理30321が実行される。
In the computer 3, when the message transmission process 30301 of the OS 3o ends, the object 31 shifts to the waiting state for the message reply, and as a result of the scheduling process, the process 30321 of the object 32 of priority "96" is executed. It

【0124】計算機2では、OS2oによるメッセージ
受信割り込み処理20202が終了すると、スケジュー
リング処理の結果、受信メッセージの受け取り手である
オブジェクト23の処理20231が、該メッセージの
送り手であるオブジェクト31の優先度と等しい、優先
度「56」で実行される。またこの場合、オブジェクト
21の処理は、優先度「68」であるので中断されるこ
とになる。
In the computer 2, when the message reception interrupt processing 20202 by the OS 2o is completed, as a result of the scheduling processing, the processing 20231 of the object 23 which is the recipient of the received message becomes the priority of the object 31 which is the sender of the message. They are executed with equal priority "56". Further, in this case, the processing of the object 21 is interrupted because the priority is “68”.

【0125】そして、計算機2内のオブジェクト23の
処理が終了すると、オブジェクト23はシステムコール
を発行して、処理の要求メッセージの送り手である計算
機3内のオブジェクト31に、処理の返答メッセージを
送信し、オブジェクト23のプロセスは終了する。
When the processing of the object 23 in the computer 2 is completed, the object 23 issues a system call and sends a processing reply message to the object 31 in the computer 3 which is the sender of the processing request message. Then, the process of the object 23 ends.

【0126】すなわち、まず、オブジェクト23の処理
20231からOS2oによる返答メッセージの送信処
理20203に処理が切り換えられ、実行される。する
と、これに対応して、計算機3では、オブジェクト32
の処理30321が中断され、OS3oによる返答メッ
セージの受信割り込み処理30302が発生し、計算機
2からの返答メッセージを受信する。
That is, first, the process 20231 of the object 23 is switched to the reply message transmission process 20203 by the OS 2o and executed. Then, in response to this, in the computer 3, the object 32
Processing 30321 is interrupted, and a reply message reception interrupt processing 30302 by the OS 3o occurs, and the reply message from the computer 2 is received.

【0127】計算機2では、OS2oの返答メッセージ
送信処理20203が終了すると、オブジェクト23の
プロセスは終了しているため、スケジューリング処理の
結果、優先度が「68」のオブジェクト21の処理が再
開される(処理20212)。
In the computer 2, when the response message transmission processing 20203 of the OS 2o is completed, the process of the object 23 is completed, and as a result of the scheduling processing, the processing of the object 21 having the priority "68" is restarted ( Process 20212).

【0128】計算機3では、OS3oによる返答メッセ
ージ受信割り込み処理30302が終了すると、スケジ
ューリング処理の結果、返答メッセージの受け取り手で
あるオブジェクト31の処理を再開し(処理3031
2)、その処理が終了すると、スケジューリング処理
(処理30303)の結果、オブジェクト32の処理が
再開される(処理30322)。
In the computer 3, when the reply message reception interrupt process 30302 by the OS 3o ends, as a result of the scheduling process, the process of the object 31 which is the receiver of the reply message is restarted (process 3031).
2) When the processing ends, as a result of the scheduling processing (processing 30303), the processing of the object 32 is restarted (processing 30322).

【0129】計算機2では、オブジェクト21の処理2
0212が終了すると、オブジェクト21はシステムコ
ールを発行して、処理の要求メッセージの送り手である
計算機1上のオブジェクト11に処理の返答メッセージ
を送信し、オブジェクト21のプロセスは終了する。
In the computer 2, the processing 2 of the object 21
When 0212 ends, the object 21 issues a system call, sends a process reply message to the object 11 on the computer 1 that is the sender of the process request message, and the process of the object 21 ends.

【0130】すなわち、オブジェクト21の処理202
12からOS2oによる返答メッセージの送信処理20
204に切り換えられ、実行される。
That is, the processing 202 of the object 21
From 12 to OS2o response message transmission processing 20
It is switched to 204 and executed.

【0131】これに対応して計算機1では、オブジェク
ト12の処理10121が中断され、OS1oによる返
答メッセージの受信割り込み処理10102が発生し、
計算機2からの返答メッセージを受信する。
In response to this, in the computer 1, the processing 10121 of the object 12 is interrupted and the reception interrupt processing 10102 of the reply message by the OS 1o occurs.
The reply message from the computer 2 is received.

【0132】そして、返答メッセージ受信割り込み処理
10102が終了すると、スケジューリング処理の結
果、返答メッセージの受け取り手であるオブジェクト1
1の処理を再開し(処理10112)、それが終了する
と、スケジューリング処理(処理10103)の結果、
オブジェクト12の処理が再開される(処理1012
2)。
When the reply message reception interrupt processing 10102 is completed, as a result of the scheduling processing, the object 1 which is the recipient of the reply message is received.
When the process of No. 1 is restarted (process 10112) and the process ends, the result of the scheduling process (process 10103) is
The processing of the object 12 is restarted (processing 1012).
2).

【0133】計算機2では、OS2oの返答メッセージ
送信処理20204が終了すると、オブジェクト21の
プロセスは終了しているため、スケジューリング処理の
結果、オブジェクト22の処理が再開される(処理20
222)。
In the computer 2, when the reply message transmission process 20204 of the OS 2o is finished, the process of the object 21 is finished, and as a result of the scheduling process, the process of the object 22 is restarted (process 20).
222).

【0134】以上のように、各計算機の各オブジェクト
は、メッセージ送信により優先度のの受渡しを行い、全
計算機を有するシステム全体で、統一的に、優先度を使
用して各処理が実行される。
As described above, each object of each computer transfers the priority by sending a message, and each process is uniformly executed by using the priority in the entire system having all the computers. .

【0135】以上、本発明の実施例について詳細に説明
してきた。
The embodiments of the present invention have been described above in detail.

【0136】本発明によれば、メッセージ送信側のオブ
ジェクトが、メッセージ受信側のオブジェクトの処理の
優先度を、ユーザ等が指定せずに、優先度付きの処理を
行うことができ、オブジェクトの記述が簡単になるとい
う効果がある。
According to the present invention, the object on the message sending side can perform the processing with the priority without the user or the like specifying the processing priority of the object on the message receiving side. Has the effect of being easy.

【0137】また、複数の計算機を有して構成される分
散処理システム全体の各処理が、同一の優先度制御にし
たがって実行され、分散処理システム全体で、統一的な
スケジューリングにしたがって、分散処理を行うシステ
ムを実現できるという効果がある。
Further, each process of the entire distributed processing system having a plurality of computers is executed under the same priority control, and the distributed processing system executes the distributed processing according to the unified scheduling. This has the effect of realizing a system that does.

【0138】次に、本発明にかかる他の実施例について
説明する。
Next, another embodiment according to the present invention will be described.

【0139】上述の本発明の一実施例では、オブジェク
トの処理の優先度の範囲と、メッセージに付加する優先
度、すなわちメッセージデータ中の優先度の範囲を同一
とし、両者の優先度を一致させたが、必ずしもオブジェ
クトの処理の優先度の範囲と、メッセージデータ中の優
先度の範囲を同一とする必要はない。
In the above-described embodiment of the present invention, the priority range of the processing of the object and the priority added to the message, that is, the priority range in the message data are set to be the same, and the priorities of both are matched. However, it is not always necessary that the priority range of object processing be the same as the priority range in the message data.

【0140】この場合、両者の優先度の範囲を考慮し
て、オブジェクトの処理の優先度をメッセージデータ中
の適当な優先度に変換すれば良い。
In this case, the priority of processing the object may be converted into an appropriate priority in the message data in consideration of the range of the priority of both.

【0141】変換法としては、例えば、オブジェクトの
処理の優先度範囲に対するオブジェクトの処理の優先度
の相対的な値を、メッセージデータ中の優先度範囲に対
するメッセージデータ中の優先度の相対的な値に一致す
るようにする方法、あるいは優先度の範囲に応じた相対
的な変換方法等が考えられる。
As the conversion method, for example, the relative value of the priority of the processing of the object with respect to the priority range of the processing of the object is calculated as the relative value of the priority of the message data with respect to the priority range of the message data. , Or a relative conversion method according to the priority range.

【0142】ここで優先度の相対的な値を一致させると
は、オブジェクトの処理の優先度の範囲が「0」から
「128」で、メッセージデータ中の優先度の範囲が
「0」から「16」の場合、オブジェクトの処理の優先
度の値が「64」であれば、メッセージデータ中の優先
度の値を「8」に、オブジェクトの処理の優先度の値が
「32」であれば、メッセージデータ中の優先度の値を
「4」にすること等が考えられる。
Here, matching the relative values of the priority means that the priority range of the processing of the object is "0" to "128", and the priority range in the message data is "0" to "128". In the case of 16 ", if the priority value of the processing of the object is" 64 ", the priority value of the message data is" 8 ", and if the priority value of the processing of the object is" 32 " It is possible to set the priority value in the message data to "4".

【0143】これにより、オブジェクトの処理の実行の
優先度の範囲と、メッセージデータ中の優先度の範囲が
異なる分散処理システムにおいても、分散処理システム
全体として、統一的な優先度制御による分散処理が行え
るという効果がある。
As a result, even in a distributed processing system in which the range of priority of execution of object processing and the range of priority of message data are different, distributed processing by unified priority control can be performed in the distributed processing system as a whole. The effect is that it can be done.

【0144】また、オブジェクトの処理の実行の優先度
の範囲より、メッセージデータ中の優先度の範囲を小さ
くすることにより、メッセージデータ中の優先度のデー
タ長を短くでき、メッセージデータ量を減少させ、効率
良いメッセージ通信が可能になるという効果がある。
Further, by reducing the priority range in the message data to be smaller than the priority range of the processing of the object, the data length of the priority in the message data can be shortened and the message data amount can be reduced. The effect is that efficient message communication becomes possible.

【0145】上述の本発明の実施例では、送信側オブジ
ェクトが存在する計算機で使用可能な優先度の範囲と、
受信側オブジェクトが存在する計算機で使用可能な優先
度の範囲を同一とし、両者の優先度を一致させたが、必
ずしも送信側計算機における優先度の範囲と、受信側計
算機における優先度の範囲を一致させる必要はない。
In the above-mentioned embodiment of the present invention, the range of priorities available in the computer in which the sender object exists,
The same priority range can be used in the computer where the receiving side object exists, and the priorities of both sides are matched, but the priority range of the sending side computer and the priority range of the receiving side computer do not necessarily match. You don't have to.

【0146】この場合、両者の優先度の範囲を考慮し
て、送信側の優先度を受信側の適当な優先度に変換する
方法が考えられる。すなわち、両者の優先度の範囲内に
おいて、優先度が一対一に対応していればよい。
In this case, a method of converting the priority of the transmitting side into an appropriate priority of the receiving side can be considered in consideration of the range of the priority of both. That is, it is sufficient that the priorities have a one-to-one correspondence within the range of both priorities.

【0147】変換法としては、例えば、送信側計算機の
優先度範囲における送信側優先度の相対的な値が、受信
側計算機の優先度範囲における受信側優先度の相対的な
値に、一致するようにする方式、あるいは、優先度の範
囲に応じて付加する優先度を相対的に変換方式が考えら
れる。
As a conversion method, for example, the relative value of the transmission-side priority in the priority range of the transmission-side computer matches the relative value of the reception-side priority in the priority range of the reception-side computer. A method of doing so or a conversion method of relatively converting the priority to be added according to the range of the priority can be considered.

【0148】優先度の相対的な値を一致させるとは、例
えば、送信側計算機がとりえる優先度の範囲である優先
度範囲が「0」から「64」で、受信側計算機がとりえ
る優先度の範囲である優先度範囲が「0」から「25
6」の場合、送信側の優先度の値が「32」であれば、
受信側の優先度の値を「128」に、送信側の優先度の
値が「16」であれば、受信側の優先度の値を「64」
にする等の処理を意味する。
Matching the relative values of the priorities means, for example, that the priority range of the sending computer is "0" to "64" and that the receiving computer can take priority. The priority range, which is the range of degrees, ranges from “0” to “25.
In the case of “6”, if the priority value of the transmission side is “32”,
If the priority value of the receiving side is "128" and the priority value of the transmitting side is "16", the priority value of the receiving side is "64".
Means processing such as setting.

【0149】これにより、使用できる優先度の範囲が異
なる計算機を有して構成される分散処理システムにおい
ても、分散処理システム全体として、統一的な優先度制
御による分散処理が行えるという効果がある。
As a result, even in a distributed processing system having computers with different usable priority ranges, the distributed processing system as a whole has the effect of being able to perform distributed processing by uniform priority control.

【0150】上記実施例において、メッセージ通信処理
では、優先度をデータとして送信するものの、通信処理
そのもののには優先度を考慮した処理は行っていなかっ
た。しかし、メッセージ通信処理部が、優先順位にした
がった通信処理を行うものとする構成も考えられる。
In the above embodiment, the message communication process transmits the priority as data, but the communication process itself does not take the priority into consideration. However, a configuration is also conceivable in which the message communication processing unit performs communication processing according to the priority order.

【0151】例えば、上記実施例において、送信メッセ
ージを格納しておくための送信メッセージバッファを、
図10と同じ形式の優先度付き待ち行列である、送信メ
ッセージ待ち行列として構成し、メッセージ送信処理
を、送信メッセージに付加された優先度にしたがって、
スケジューリングして実行する。
For example, in the above embodiment, the transmission message buffer for storing the transmission message is
It is configured as a transmission message queue, which is a queue with the same priority as in FIG. 10, and the message transmission process is performed according to the priority added to the transmission message.
Schedule and run.

【0152】また、メッセージ送信処理を、該メッセー
ジを送信したプロセスに付加された優先度にしたがっ
て、スケジューリングしてもよい。
Further, the message transmission process may be scheduled according to the priority added to the process that transmitted the message.

【0153】これにより、優先度の高いメッセージを優
先的に送信することができることになる。
As a result, it is possible to preferentially send a message having a high priority.

【0154】したがって、オブジェクトの処理のみでな
く、メッセージ送信処理についても、同一の優先度にし
たがった処理をおこなうことができ、分散処理システム
全体として、統一的な優先度制御による分散処理を行う
ことが可能になるという効果がある。
Therefore, not only the object processing but also the message transmission processing can be performed according to the same priority, and the distributed processing system as a whole can perform the distributed processing by the unified priority control. There is an effect that it becomes possible.

【0155】さらに、通信処理そのものに優先度を付与
するという上記本発明の他の実施例では、オブジェクト
の処理で使用できる優先度の範囲と、メッセージ通信処
理で使用できる優先度の範囲を同一とし、両者の優先度
を一致させたが、必ずしもオブジェクトの処理の優先度
の範囲と、メッセージ通信処理の優先度の範囲を同一と
する必要はない。
Furthermore, in another embodiment of the present invention in which the communication processing itself is given a priority, the range of priority that can be used in the processing of an object and the range of priority that can be used in the message communication processing are the same. Although the priorities of the two are matched, the priority range of the object processing and the priority range of the message communication processing do not necessarily have to be the same.

【0156】この場合、両者の優先度の範囲を考慮し
て、オブジェクトの処理の優先度をメッセージ通信処理
の適当な優先度に変換すればよい。
In this case, the priority of the processing of the object may be converted into an appropriate priority of the message communication processing in consideration of the range of the priority of both.

【0157】変換法としては、例えば、オブジェクトの
処理の優先度範囲に対するオブジェクトの処理の優先度
の相対的な値を、メッセージ通信処理の優先度範囲に対
するメッセージ通信処理の優先度の相対的な値に、一致
するようにする方式、あるいは、優先度の範囲に応じた
相対的な変換方法等が考えられる。
As the conversion method, for example, the relative value of the priority of the processing of the object to the priority range of the processing of the object is set to the relative value of the priority of the message communication processing to the priority range of the message communication processing. In addition, a method of making them coincident with each other, or a relative conversion method according to the range of priority can be considered.

【0158】ここで、優先度の相対的な値を一致させる
とは、例えば、オブジェクトの処理の優先度の範囲が、
「0」から「128」で、メッセージ通信処理の優先度
の範囲が「0」から「32」の場合、オブジェクトの処
理の優先度の値が「64」であれば、メッセージ通信処
理の優先度の値を「16」に、オブジェクトの処理の優
先度の値が「32」であれば、メッセージ通信処理の優
先度の値を「8」にすること等が考えられる。
Here, matching the relative values of the priority means, for example, that the range of the priority of the processing of the object is
When the priority range of the message communication processing is “0” to “128” and the priority range of the object communication processing is “64”, the priority of the message communication processing is “64”. If the value of is "16" and the value of the priority of the processing of the object is "32", the value of the priority of the message communication processing may be set to "8".

【0159】これにより、オブジェクトの処理の実行の
優先度の範囲と、メッセージ通信の処理の優先度が異な
る計算機を有して構成する分散処理システムにおいて
も、分散処理システム全体として、統一的な優先度制御
による分散処理が行えるという効果がある。
As a result, even in a distributed processing system having a computer in which the range of priority of execution of object processing and the priority of processing of message communication are different, unified priority is given to the entire distributed processing system. The effect is that distributed processing can be performed by controlling the degree.

【0160】上記実施例では、オブジェクト、すなわち
プロセスの処理は、一度決定されると固定的であった
が、処理の実行中に優先度を、システムコールによりO
Sのスケジューリング処理部に優先度の変更を依頼し
て、動的に変更することも可能である。
In the above embodiment, the processing of the object, that is, the processing is fixed once determined, but the priority is set by the system call during the execution of the processing.
It is also possible to request the scheduling processing unit of S to change the priority and dynamically change the priority.

【0161】これにより実行状況に応じた柔軟な優先度
制御が可能になるという効果がある。 上記実施例で
は、オブジェクトの処理の優先度は、プロセッサの使用
率等によらず固定的に扱われるものとしたが、プロセッ
サの使用率等に応じて動的に変化させるスケジューリン
グを行うこともできる。これにより、分散処理システム
全体で、効率のよいスケジューリングが可能となる。
This has the effect of enabling flexible priority control according to the execution status. In the above embodiment, the priority of the processing of the object is fixedly treated regardless of the usage rate of the processor, but it is possible to perform the scheduling which is dynamically changed according to the usage rate of the processor. . This enables efficient scheduling in the entire distributed processing system.

【0162】上記実施例では、一つのオブジェクトは、
一つのプロセスとして実行されているが、プロセスでは
なくスレッドでもよい。これにより、プロセス切り替え
時ののオーバーヘッドの低減が可能になる。
In the above embodiment, one object is
It is executed as one process, but it may be a thread instead of a process. This makes it possible to reduce the overhead when switching processes.

【0163】上記実施例では、一つのオブジェクトは、
一時に一つの処理しか行えないが、一つのオブジェクト
が、複数のプロセス、あるいは、複数のスレッドを使用
可能とし、複数の要求メッセージに対する処理を並行に
実行することも可能である。これにより、優先度の高い
メッセージに対する処理を割り込ませて処理できるとい
う効果がある。
In the above embodiment, one object is
Although only one process can be performed at a time, one object can enable a plurality of processes or a plurality of threads to execute processes for a plurality of request messages in parallel. As a result, there is an effect that it is possible to interrupt and process a message having a high priority.

【0164】上記実施例では、システムコールの呼び出
しによりメッセージ通信を行っているが、遠隔手続き呼
び出し(Remote Procedure Call)の形式で、メッセー
ジ通信を行ってもよい。
In the above embodiment, the message communication is performed by calling the system call, but the message communication may be performed in the form of a remote procedure call.

【0165】これにより、1プロセス内の手続き呼び出
しと同様の形式で、プロセス間通信を記述できるという
効果がある。
As a result, there is an effect that the interprocess communication can be described in the same format as the procedure call in one process.

【0166】[0166]

【発明の効果】複数の計算機を有して構成される分散処
理システム全体の処理が、同一の優先度にしたがって実
行され、リアルタイム機能を有する分散処理システムを
容易に構築できる。
The processing of the entire distributed processing system having a plurality of computers is executed according to the same priority, and a distributed processing system having a real-time function can be easily constructed.

【0167】また、メッセージの送信側のプログラム
が、メッセージの受信側のプログラムの処理の優先度を
明示的に指定せずに、優先度付きの分散処理を行うこと
が可能となり、プログラムの記述が簡単になる。
Further, the program on the message sending side can perform distributed processing with priorities without explicitly designating the processing priority of the program on the message receiving side. It will be easy.

【0168】さらにまた、複数の計算機を有して構成さ
れる分散処理システム全体のプログラムの実行のスケジ
ューリングを、システム全体を集中的にスケジューリン
グする手段を設けずに行うことができ、リアルタイム処
理を行う分散処理システムを容易に構築できる。
Furthermore, the execution of programs for the entire distributed processing system having a plurality of computers can be scheduled without providing means for centrally scheduling the entire system, and real-time processing is performed. A distributed processing system can be easily constructed.

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

【図1】本発明にかかる実施例の全体構成図である。FIG. 1 is an overall configuration diagram of an embodiment according to the present invention.

【図2】本発明にかかる実施例のソフトウェア構成図で
ある。
FIG. 2 is a software configuration diagram of an embodiment according to the present invention.

【図3】オブジェクトの構造例を示す図である。FIG. 3 is a diagram showing a structural example of an object.

【図4】オブジェクトが扱うメッセージのデータ構造例
を示す図である。
FIG. 4 is a diagram illustrating a data structure example of a message handled by an object.

【図5】オブジェクトの動作を示すフローチャートであ
る。
FIG. 5 is a flowchart showing an operation of an object.

【図6】メッセージ通信処理部が扱う、メッセージのデ
ータ構造例を示す図である。
FIG. 6 is a diagram showing an example of a data structure of a message handled by a message communication processing unit.

【図7】メッセージ受信割り込み処理の動作を示すフロ
ーチャートである。
FIG. 7 is a flowchart showing an operation of message reception interrupt processing.

【図8】メッセージ取出しシステムコールの動作を示す
フローチャートである。
FIG. 8 is a flowchart showing the operation of a message retrieval system call.

【図9】メッセージ送信システムコールの動作を示すフ
ローチャートである。
FIG. 9 is a flowchart showing the operation of a message transmission system call.

【図10】実行可能プロセス待ち行列の構造例を示す図
である。
FIG. 10 is a diagram showing a structure example of an executable process queue.

【図11】スケジューリング処理部の動作を示すフロー
チャートである。
FIG. 11 is a flowchart showing an operation of a scheduling processing unit.

【図12】本発明における、実行例を説明するための説
明図である。
FIG. 12 is an explanatory diagram for explaining an execution example according to the present invention.

【符号の説明】[Explanation of symbols]

1…計算機、2…計算機、3…計算機、1p…プロセッ
サ、2p…プロセッサ、3p…プロセッサ、1n……ネ
ットワークアダプタ、2n…ネットワークアダプタ、3
n…ネットワークアダプタ、1d…ディスク装置、2d
…ディスク装置、3d…ディスク装置、1m…メモリ、
2m…メモリ、3m…メモリ、1o…OS、2o…O
S、3o…OS、1s…スケジューリング処理部、2s
…スケジューリング処理部、3s…スケジューリング処
理部、1c…メッセージ通信処理部、2c…メッセージ
通信処理部、3c…メッセージ通信処理部、11…オブ
ジェクト、12…オブジェクト、21…オブジェクト、
22…オブジェクト、31…オブジェクト、32…オブ
ジェクト、2sq…実行可能プロセス待ち行列、2cc
…ソケット通信処理部、2cr…受信メッセージバッフ
ァ、2cs…送信メッセージバッファ
1 ... Calculator, 2 ... Calculator, 3 ... Calculator, 1p ... Processor, 2p ... Processor, 3p ... Processor, 1n ... Network adapter, 2n ... Network adapter, 3
n ... network adapter, 1d ... disk device, 2d
... disk device, 3d ... disk device, 1m ... memory,
2m ... memory, 3m ... memory, 1o ... OS, 2o ... O
S, 3o ... OS, 1s ... Scheduling processing unit, 2s
... scheduling processing unit, 3s ... scheduling processing unit, 1c ... message communication processing unit, 2c ... message communication processing unit, 3c ... message communication processing unit, 11 ... object, 12 ... object, 21 ... object,
22 ... Object, 31 ... Object, 32 ... Object, 2sq ... Executable process queue, 2cc
... socket communication processing unit, 2cr ... receive message buffer, 2cs ... send message buffer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 村田 悟 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 中村 智明 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Satoru Murata Satoshi Murata 7-1-1 Omika-cho, Hitachi City, Ibaraki Hitachi Ltd. Hitachi Research Laboratory (72) Inventor Tomoaki Nakamura 5-2 Omika-cho, Hitachi City, Ibaraki Prefecture No. 1 Stock company Hitachi Ltd. Omika factory

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】複数のプロセスを並行に実行する複数の計
算機を、ネットワークを介して接続し、各計算機上の、
少なくとも1以上のプロセスがプロセス間通信を行いな
がら、当該プロセスの処理を実行する分散処理システム
において、 前記各計算機は、処理の順番を定める情報である優先度
を有する複数のプロセスを、優先度の高い順番に実行す
るスケジューリング処理手段と、プロセスの優先度に対
応した新たな優先度をメッセージに付加し、前記ネット
ワークを介して他の計算機に、前記新たな優先度が付加
されたメッセージを送受信処理するメッセージ通信処理
手段を備え、 さらに、前記スケジューリング処理手段は、受信したメ
ッセージに付加された前記新たな優先度に対応した、さ
らに新たな優先度を、当該受信メッセージに対応する処
理を実行するプロセスに与えることを特徴とする分散処
理システム。
1. A plurality of computers that execute a plurality of processes in parallel are connected via a network, and
In a distributed processing system in which at least one process performs inter-process communication and executes the process of the process, each of the computers has a plurality of processes having a priority, which is information that determines a processing order, as a priority. Scheduling processing means to be executed in descending order, a new priority corresponding to the priority of the process is added to the message, and the message to which the new priority is added is transmitted / received to / from another computer via the network. A process for executing a process corresponding to the received message with a new priority corresponding to the new priority added to the received message. A distributed processing system characterized by being provided to.
【請求項2】請求項1において、前記メッセージ通信処
理手段は、前記メッセージに付加された新たな優先度
と、当該メッセージを送信するプロセスが有する優先度
とを一致させ、前記スケジューリング処理手段は、受信
したメッセージに付加された前記新たな優先度と、当該
メッセージに対応する処理を実行するプロセスの前記さ
らに新たな優先度とを一致させることを特徴とする分散
処理システム。
2. The message communication processing means according to claim 1, wherein the new priority added to the message and the priority of a process transmitting the message are matched, and the scheduling processing means A distributed processing system, wherein the new priority added to the received message and the new priority of the process executing the process corresponding to the message are matched.
【請求項3】請求項1において、前記メッセージ通信処
理手段は、前記メッセージに付加する新たな優先度が取
りうる第一の範囲と、当該メッセージを送信するプロセ
スが有する優先度が取りうる第二の範囲とにおいて、前
記第一の範囲内の値を有する前記新たな優先度を、前記
第二の範囲内の値を有する優先度と一対一の対応関係を
もたせて定めることを特徴とする分散処理システム。
3. The message communication processing means according to claim 1, wherein the first range in which a new priority added to the message can be set, and the second range in which the priority of a process for transmitting the message can be set. In the range of, the new priority having a value within the first range is determined in a one-to-one correspondence with the priority having a value within the second range. Processing system.
【請求項4】複数のプロセスを並行に実行する複数の計
算機を、ネットワークを介して接続し、各計算機上の、
少なくとも1以上のプロセスがプロセス間通信を行いな
がら、当該プロセスの処理を実行する分散処理システム
において、 前記各計算機は、処理の順番を定める情報である優先度
を有する複数プロセスを、優先度の高い順番に実行する
スケジューリング処理手段と、 プロセスの優先度に対応して新たに優先度を付加したメ
ッセージの、送受信処理を、前記新たな優先度にしたが
って実行するメッセージ通信処理手段を備え、 さらに、前記スケジューリング処理手段は、受信したメ
ッセージに付加された前記新たな優先度に対応した、さ
らに新たな優先度を、当該受信メッセージに対応する処
理を実行するプロセスに与えることを特徴とする分散処
理システム。
4. A plurality of computers that execute a plurality of processes in parallel are connected via a network, and
In a distributed processing system in which at least one process performs inter-process communication and executes the process of the process, each computer has a high priority among a plurality of processes having a priority that is information that determines the order of the process. The system further comprises scheduling processing means for executing in sequence, and message communication processing means for executing transmission / reception processing of a message with a new priority added corresponding to the priority of the process, according to the new priority. The distributed processing system, wherein the scheduling processing means gives a new priority corresponding to the new priority added to the received message to the process executing the processing corresponding to the received message.
【請求項5】複数のプロセスを並行に実行する複数の計
算機を、ネットワークを介して接続し、各計算機上の、
少なくとも1以上のプロセスがプロセス間通信を行いな
がら、当該プロセスの処理を実行する分散処理システム
において、 前記各計算機は、処理の順番を定める情報である優先度
を有する複数プロセスを、優先度の高い順番に実行する
スケジューリング処理手段と、 プロセスの優先度に対応して新たに優先度を付加したメ
ッセージの、送受信処理を、前記プロセスの優先度と同
一の優先度で実行するメッセージ通信処理手段を備え、 さらに、前記スケジューリング処理手段は、受信したメ
ッセージに付加された前記新たな優先度に対応した、さ
らに新たな優先度を、当該受信メッセージに対応する処
理を実行するプロセスに与えることを特徴とする分散処
理システム。
5. A plurality of computers that execute a plurality of processes in parallel are connected via a network, and
In a distributed processing system in which at least one process performs inter-process communication and executes the process of the process, each computer has a high priority among a plurality of processes having a priority that is information that determines the order of the process. A scheduling processing means for executing in sequence, and a message communication processing means for executing transmission / reception processing of a message with a new priority added corresponding to the priority of a process with the same priority as the priority of the process. Further, the scheduling processing means gives a new priority corresponding to the new priority added to the received message to the process executing the processing corresponding to the received message. Distributed processing system.
JP5087494A 1993-04-14 1993-04-14 Distributed processing system Pending JPH06301655A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5087494A JPH06301655A (en) 1993-04-14 1993-04-14 Distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5087494A JPH06301655A (en) 1993-04-14 1993-04-14 Distributed processing system

Publications (1)

Publication Number Publication Date
JPH06301655A true JPH06301655A (en) 1994-10-28

Family

ID=13916522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5087494A Pending JPH06301655A (en) 1993-04-14 1993-04-14 Distributed processing system

Country Status (1)

Country Link
JP (1) JPH06301655A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312093A (en) * 1998-04-28 1999-11-09 Hitachi Ltd Distributed processing system
JP2004054622A (en) * 2002-07-19 2004-02-19 Hitachi Ltd Controller and information communication service method
DE102009018261A1 (en) 2008-04-25 2009-12-31 Nec Electronics Corp., Kawasaki Information processing system and method for controlling task execution
WO2016151654A1 (en) * 2015-03-23 2016-09-29 日本電気株式会社 Parallel processing system
JP2018523226A (en) * 2015-06-30 2018-08-16 ▲隣▼元科技(北京)有限公司 Distributed computing network system and computing nodes used in the system
US10545831B2 (en) 2014-08-07 2020-01-28 Microsoft Technology Licensing, Llc Safe data access following storage failure
US11228510B2 (en) 2014-08-12 2022-01-18 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312093A (en) * 1998-04-28 1999-11-09 Hitachi Ltd Distributed processing system
JP2004054622A (en) * 2002-07-19 2004-02-19 Hitachi Ltd Controller and information communication service method
DE102009018261A1 (en) 2008-04-25 2009-12-31 Nec Electronics Corp., Kawasaki Information processing system and method for controlling task execution
US10545831B2 (en) 2014-08-07 2020-01-28 Microsoft Technology Licensing, Llc Safe data access following storage failure
US11228510B2 (en) 2014-08-12 2022-01-18 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
WO2016151654A1 (en) * 2015-03-23 2016-09-29 日本電気株式会社 Parallel processing system
JP2016181016A (en) * 2015-03-23 2016-10-13 日本電気株式会社 Parallel calculation device
US10162675B2 (en) 2015-03-23 2018-12-25 Nec Corporation Parallel processing system
JP2018523226A (en) * 2015-06-30 2018-08-16 ▲隣▼元科技(北京)有限公司 Distributed computing network system and computing nodes used in the system
US10732588B2 (en) 2015-06-30 2020-08-04 Lynkros Technology (Beijing) Co., Ltd. Decentralized computing network system and computing processing node used for the same

Similar Documents

Publication Publication Date Title
WO2021042840A1 (en) Data processing method and apparatus, server, and computer-readable storage medium
EP0312739B1 (en) Apparatus and method for interconnecting an application of a transparent services access facility to a remote source
US8325633B2 (en) Remote direct memory access
US6697876B1 (en) Distributed kernel operating system
US9720739B2 (en) Method and system for dedicating processors for desired tasks
US20100088703A1 (en) Multi-core system with central transaction control
EP1230597B1 (en) Communication architecture for distributed computing environment
JPH04227562A (en) Operation execution device and method for data processing system
US7640549B2 (en) System and method for efficiently exchanging data among processes
US10609125B2 (en) Method and system for transmitting communication data
JP2004038758A (en) Storage controller, control method for storage controller, and program
EP0272835A2 (en) Virtual execution of programs on a multiprocessor system
JP2008033952A (en) Most eligible server in common work queue environment
US8135851B2 (en) Object request broker for accelerating object-oriented communications and method
JPH06301655A (en) Distributed processing system
CN112511636B (en) Data transmission system, method, device, computer equipment and storage medium
US8176117B2 (en) Accelerator for object-oriented communications and method
US7320044B1 (en) System, method, and computer program product for interrupt scheduling in processing communication
JP3006187B2 (en) Distributed processing system
WO1991002314A1 (en) Data processing network
JP3007340B1 (en) Function calling method, parallel distributed processing system and computer
KR0143742B1 (en) A method of communicating data for multiprocessor system
CN113849449A (en) Communication system and information interaction method, device and medium
JP2000267960A (en) Method for communicating packet between plural processes and packet communication equipment
JPH04335455A (en) Communication system between computers of different code systems

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees