JP2014052786A - Computer, computer system and shared memory control method - Google Patents

Computer, computer system and shared memory control method Download PDF

Info

Publication number
JP2014052786A
JP2014052786A JP2012196173A JP2012196173A JP2014052786A JP 2014052786 A JP2014052786 A JP 2014052786A JP 2012196173 A JP2012196173 A JP 2012196173A JP 2012196173 A JP2012196173 A JP 2012196173A JP 2014052786 A JP2014052786 A JP 2014052786A
Authority
JP
Japan
Prior art keywords
computer
data
bus bridge
communication
data packet
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.)
Granted
Application number
JP2012196173A
Other languages
Japanese (ja)
Other versions
JP6309706B2 (en
Inventor
Sadao Shimazu
定生 島津
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.)
NEC Network and Sensor Systems Ltd
Original Assignee
NEC Network and Sensor Systems 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 NEC Network and Sensor Systems Ltd filed Critical NEC Network and Sensor Systems Ltd
Priority to JP2012196173A priority Critical patent/JP6309706B2/en
Publication of JP2014052786A publication Critical patent/JP2014052786A/en
Application granted granted Critical
Publication of JP6309706B2 publication Critical patent/JP6309706B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a computer system which can share a memory without using dedicated hardware and has high economical efficiency.SOLUTION: A computer system includes: a first computer including a first operation unit, a first bus bridge connected to the first operation unit, a first storage unit connected to the first bus bridge or the first operation unit to store data including shared data, and a first communication control unit connected to the first bus bridge; and a second computer including a second operation unit, a second bus bridge connected to the second operation unit, a second storage unit connected to the second bus bridge or the second operation unit to store data including shared data, and a second communication control unit connected to the second bus bridge and the first communication control unit. The first computer transmits a change data packet including change data for changing the shared data, and identification information for designating a computer having transmission right to the second computer when designated to have the transmission right by the identification information.

Description

本発明は、計算機、計算機システム及び共有メモリ制御方法に関し、特に、データ通信を用いてメモリを共有する計算機、計算機システム及び共有メモリ制御方法に関する。   The present invention relates to a computer, a computer system, and a shared memory control method, and more particularly to a computer, a computer system, and a shared memory control method that share a memory using data communication.

複数の計算機からなる計算機システムにおいて、複数の計算機が、個々に保有する共有メモリ間でデータ通信を行うことによって、データを共有することがある。このような共有メモリ制御方式では、ある計算機が保有する共有メモリのデータに変化があったとき、変化したデータを他の計算機の共有メモリに反映させるために、計算機間でデータ通信を行う。データ通信を用いて共有メモリの制御を実現する方式として、専用の共有メモリコントローラを使用する方式がある。   In a computer system including a plurality of computers, a plurality of computers may share data by performing data communication between shared memories that are individually held. In such a shared memory control method, when there is a change in the data in the shared memory held by a certain computer, data communication is performed between the computers in order to reflect the changed data in the shared memory of another computer. As a method for realizing control of the shared memory using data communication, there is a method using a dedicated shared memory controller.

図4は、複数の計算機を備え、計算機間でデータを共有する計算機システムの構成例を示すブロック図である。本計算機システムは、専用のハードウェアである共有メモリコントローラを備え、計算機毎に独立した共有メモリ間でデータ通信を行うことによってデータを共有する。本計算機システムは、数ミリ秒周期でリアルタイムに作動することができる。複数の計算機を備え、リアルタイム動作する計算機システムにとって、共有メモリ間のデータ通信による共有メモリ制御方式は、計算機間の複雑なデータ通信を単純化できるため、優れた方式である。   FIG. 4 is a block diagram illustrating a configuration example of a computer system that includes a plurality of computers and shares data among the computers. This computer system includes a shared memory controller, which is dedicated hardware, and shares data by performing data communication between independent shared memories for each computer. The computer system can operate in real time with a period of several milliseconds. For a computer system that includes a plurality of computers and operates in real time, a shared memory control method using data communication between shared memories is an excellent method because it can simplify complicated data communication between computers.

図4の計算機システム300は、4台の計算機と、それぞれの計算機に専用の共有メモリコントローラ及び独立した共有メモリを備える。図4を参照して、計算機システム300におけるメモリの共有方式の概要について説明する。   The computer system 300 of FIG. 4 includes four computers, a shared memory controller dedicated to each computer, and an independent shared memory. With reference to FIG. 4, an outline of a memory sharing method in the computer system 300 will be described.

計算機システム300は、計算機310、320、330、340を備える。計算機310、320、330、340の識別情報であるID(Identification Data)は、それぞれ、”1”、”2”、”3”、”4”である。   The computer system 300 includes computers 310, 320, 330, and 340. IDs (Identification Data) that are identification information of the computers 310, 320, 330, and 340 are “1”, “2”, “3”, and “4”, respectively.

計算機310は、CPU311、バスブリッジ312、メモリ313、共有メモリコントローラ314、共有メモリ315を含む。計算機320は、CPU321、バスブリッジ322、メモリ323、共有メモリコントローラ324、共有メモリ325を含む。計算機330は、CPU331、バスブリッジ332、メモリ333、共有メモリコントローラ334、共有メモリ335を含む。計算機340は、CPU341、バスブリッジ342、メモリ343、共有メモリコントローラ344、共有メモリ345を含む。以上のように、計算機310、320、330、340は、それぞれ独立した共有メモリ315、325、335、345を含む。   The computer 310 includes a CPU 311, a bus bridge 312, a memory 313, a shared memory controller 314, and a shared memory 315. The computer 320 includes a CPU 321, a bus bridge 322, a memory 323, a shared memory controller 324, and a shared memory 325. The computer 330 includes a CPU 331, a bus bridge 332, a memory 333, a shared memory controller 334, and a shared memory 335. The computer 340 includes a CPU 341, a bus bridge 342, a memory 343, a shared memory controller 344, and a shared memory 345. As described above, the computers 310, 320, 330, and 340 include independent shared memories 315, 325, 335, and 345, respectively.

次に、計算機310のCPU311で実行されているアプリケーションプログラムが、共有メモリ315のデータを変更する場合を例として、計算機システム300のメモリの共有方式の動作を説明する。   Next, the operation of the memory sharing method of the computer system 300 will be described by taking as an example a case where an application program executed by the CPU 311 of the computer 310 changes data in the shared memory 315.

初めに、CPU311は、バスブリッジ312を介して、共有メモリコントローラ314へ、共有メモリ315、325、335、345のデータを変更すべきアドレスである変更アドレスと、変更後のデータである変更データを転送する。共有メモリコントローラ314は、共有メモリ315の変更アドレスと変更データを含むパケットを、計算機320の共有メモリコントローラ324に転送するとともに、共有メモリ315の変更アドレスのデータを変更データに変更する。   First, the CPU 311 sends, via the bus bridge 312, to the shared memory controller 314, a change address that is an address where the data in the shared memories 315, 325, 335, and 345 should be changed, and change data that is changed data. Forward. The shared memory controller 314 transfers the packet including the changed address and the changed data of the shared memory 315 to the shared memory controller 324 of the computer 320 and changes the changed address data of the shared memory 315 to changed data.

共有メモリコントローラ314から送信されたパケットは、共有メモリコントローラ324によって受信される。共有メモリコントローラ324は、変更アドレスと変更データを含むパケットを計算機330の共有メモリコントローラ334に転送するとともに、共有メモリ325の変更アドレスのデータを変更データに変更する。   The packet transmitted from the shared memory controller 314 is received by the shared memory controller 324. The shared memory controller 324 transfers the packet including the changed address and the changed data to the shared memory controller 334 of the computer 330 and changes the changed address data in the shared memory 325 to the changed data.

共有メモリコントローラ324から送信されたパケットは、共有メモリコントローラ334によって受信される。共有メモリコントローラ334は、変更アドレスと変更データを含むパケットを計算機340の共有メモリコントローラ344に転送するとともに、共有メモリ335の変更アドレスのデータを変更データに変更する。   The packet transmitted from the shared memory controller 324 is received by the shared memory controller 334. The shared memory controller 334 transfers the packet including the changed address and the changed data to the shared memory controller 344 of the computer 340 and changes the changed address data in the shared memory 335 to the changed data.

共有メモリコントローラ334から送信されたパケットは、共有メモリコントローラ344によって受信される。共有メモリコントローラ344は、変更アドレスと変更データのパケットを計算機310の共有メモリコントローラ314に転送するとともに、共有メモリ345の変更アドレスのデータを変更データに変更する。   The packet transmitted from the shared memory controller 334 is received by the shared memory controller 344. The shared memory controller 344 transfers the changed address and the changed data packet to the shared memory controller 314 of the computer 310 and changes the changed address data in the shared memory 345 to changed data.

共有メモリコントローラ344から送信されたパケットは、共有メモリコントローラ314によって受信される。共有メモリコントローラ314は、受信したパケット、すなわち自身が送信したパケットを破棄する。   The packet transmitted from the shared memory controller 344 is received by the shared memory controller 314. The shared memory controller 314 discards the received packet, that is, the packet transmitted by itself.

以上のような動作によって、計算機システム300では、計算機310、320、330、340間でデータを共有する。   Through the operation as described above, the computer system 300 shares data between the computers 310, 320, 330, and 340.

共有メモリ間でデータ通信を行うことによって、複数の装置がデータを共有する技術は、例えば、特許文献1、2にも記載されている。   A technique in which a plurality of devices share data by performing data communication between shared memories is also described in Patent Documents 1 and 2, for example.

特開平09−270798号公報 (第8頁、図1)JP 09-270798 A (page 8, FIG. 1) 特開平07−152640号公報 (第5−6頁、図3)JP 07-152640 A (page 5-6, FIG. 3)

計算機システム300のデータ共有方式は、専用の共有メモリコントローラと、独立した共有メモリを必要とする。そのため、計算機の台数が多くなるほど、データを共有するためのデータ通信に必要なハードウェアのコストが高くなるという課題がある。
(発明の目的)
本発明は上記のような技術的課題に鑑みて行われたもので、専用ハードウェアを用いずにメモリを共有することが可能で、経済性が高い計算機、計算機システム及び共有メモリ制御方法を提供することを目的とする。
The data sharing method of the computer system 300 requires a dedicated shared memory controller and an independent shared memory. Therefore, there is a problem that the cost of hardware necessary for data communication for sharing data increases as the number of computers increases.
(Object of invention)
The present invention has been made in view of the technical problems as described above, and provides a computer, a computer system, and a shared memory control method that can share a memory without using dedicated hardware and are highly economical. The purpose is to do.

本発明の計算機システムは、第1の演算部と、第1の演算部に接続された第1のバスブリッジと、第1のバスブリッジ又は第1の演算部に接続された、共有データを含むデータを保持する第1の記憶部と、第1のバスブリッジに接続された第1の通信制御部を含む第1の計算機と、第2の演算部と、第2の演算部に接続された第2のバスブリッジと、第2のバスブリッジ又は第2の演算部に接続された、共有データを含むデータを保持する第2の記憶部と、第2のバスブリッジ及び第1の通信制御部に接続された第2の通信制御部を含む第2の計算機を備え、第1の計算機は、共有データを変更するための変更データ、及び送信権を持つ計算機を指定する識別情報を含む変更データパケットを、識別情報によって送信権を持つことが指定されているときに、第2の計算機へ送信することを特徴とする。   The computer system of the present invention includes a first arithmetic unit, a first bus bridge connected to the first arithmetic unit, and shared data connected to the first bus bridge or the first arithmetic unit. A first storage unit for holding data, a first computer including a first communication control unit connected to the first bus bridge, a second arithmetic unit, and a second arithmetic unit A second bus bridge, a second storage unit connected to the second bus bridge or the second arithmetic unit and holding data including shared data; a second bus bridge and a first communication control unit; A second computer including a second communication control unit connected to the first computer, the first computer including change data for changing the shared data, and change data including identification information designating a computer having a transmission right The packet is specified to have transmission rights by the identification information. And transmitting to the second computer.

本発明の計算機は、第1の演算部と、第1の演算部に接続された第1のバスブリッジと、第1のバスブリッジ又は第1の演算部に接続された、共有データを含むデータを保持する第1の記憶部と、第1のバスブリッジに接続された第1の通信制御部を含む第1の計算機を備え、共有データを変更するための変更データ、及び送信権を持つ計算機を指定する識別情報を含む変更データパケットを、識別情報によって送信権を持つことが指定されているときに、第2の演算部と、第2の演算部に接続された第2のバスブリッジと、第2のバスブリッジ又は第2の演算部に接続された、共有データを含むデータを保持する第2の記憶部と、第2のバスブリッジ及び第1の通信制御部に接続された第2の通信制御部を含む第2の計算機に送信することを特徴とする。   The computer according to the present invention includes a first arithmetic unit, a first bus bridge connected to the first arithmetic unit, and data including shared data connected to the first bus bridge or the first arithmetic unit. And a first computer including a first communication control unit connected to the first bus bridge, a computer having change data for changing shared data and a transmission right A change data packet including identification information designating the second data when the identification information designates having a transmission right, and a second bus bridge connected to the second calculation unit, A second storage unit connected to the second bus bridge or the second arithmetic unit and holding data including shared data; a second bus unit connected to the second bus bridge and the first communication control unit; To the second computer including the communication control unit And features.

本発明の共有メモリ制御方法は、共有データを含むデータを保持する第1の記憶部を含む第1の計算機から、共有データを含むデータを保持する第2の記憶部を含む第2の計算機へ、共有データを変更するための変更データ、及び送信権を持つ計算機を指定する識別情報を含む変更データパケットを、第1の計算機が送信権を持つときに送信することを特徴とする。   According to the shared memory control method of the present invention, from a first computer including a first storage unit that holds data including shared data to a second computer including a second storage unit that stores data including shared data. A change data packet including change data for changing shared data and identification information designating a computer having a transmission right is transmitted when the first computer has a transmission right.

本発明の計算機、計算機システム及び共有メモリ制御方法は、専用ハードウェアが不要で、汎用計算機で作動するソフトウェアのみでメモリの共有機能を実現することができる。従って、経済性が高いという効果がある。   The computer, computer system, and shared memory control method of the present invention do not require dedicated hardware, and can realize a memory sharing function only with software that operates on a general-purpose computer. Therefore, there is an effect that the economy is high.

本発明の第1の実施形態の計算機システムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system of the 1st Embodiment of this invention. 本発明の第1の実施形態の計算機システムにおいて送受信されるパケットのデータの構成を示す図である。It is a figure which shows the structure of the data of the packet transmitted / received in the computer system of the 1st Embodiment of this invention. 本発明の第2の実施形態の計算機システムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system of the 2nd Embodiment of this invention. 本発明の背景技術の計算機システムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system of the background art of this invention.

初めに、本発明の基本的原理について説明する。   First, the basic principle of the present invention will be described.

本発明の計算機システムは、複数の計算機間のデータ通信において、各計算機が保有する共有メモリに変化があったとき、確実かつ速やかに、変化したデータを各計算機の共有メモリに反映させる。この制御により、計算機間のデータ通信の信頼性及び秘匿性が確保される。   The computer system of the present invention reflects the changed data in the shared memory of each computer reliably and quickly when there is a change in the shared memory held by each computer in data communication between a plurality of computers. This control ensures the reliability and secrecy of data communication between computers.

具体的には、次のように動作する。まず、予め複数の計算機間で、パケットを送受信する計算機の順番を決めておく。順番を規定するための計算機の特定は、各計算機に割り当てられたID等を用いる。   Specifically, the operation is as follows. First, the order of computers that transmit and receive packets is determined in advance among a plurality of computers. Identification of a computer for defining the order uses an ID or the like assigned to each computer.

変更要求元の、ある計算機が、他の計算機と共有する共有メモリのデータを変更するときは、変更する共有メモリのアドレスと、変更後のデータを包含するパケットを、次の順番の計算機に送信する。パケットを受信した計算機は、次の順番の計算機にパケットを送信するとともに、受信したパケットの内容に基づき、共有メモリ中の、指定されたアドレスのデータを変更する。   When a computer that requested the change changes the data in the shared memory shared with other computers, the address of the shared memory to be changed and the packet containing the changed data are sent to the computer in the next order. To do. The computer that has received the packet transmits the packet to the next computer in the next order, and changes the data at the designated address in the shared memory based on the contents of the received packet.

パケットを受信した計算機は、次の順番の送信先の計算機が、変更要求元の計算機である場合は、そのパケットを破棄し、変更要求元の計算機には送信しない。   If the next destination transmission destination computer is the change request source computer, the computer that received the packet discards the packet and does not transmit it to the change request source computer.

複数の計算機で構成される計算機システムにおいて、共有メモリのデータを変更する場合は、計算機間の同期をとる必要がある。ある瞬間において、共有メモリの変更内容を包含するパケットを受け取っており、共有メモリが書き換えられた計算機と、まだパケットを受信しておらず、共有メモリが書き換えられていない計算機が存在する可能性がある。   In a computer system composed of a plurality of computers, when changing data in the shared memory, it is necessary to synchronize the computers. There is a possibility that there is a computer that has received a packet containing the change of the shared memory at a certain moment, and a computer in which the shared memory has been rewritten, and a computer that has not yet received the packet and has not rewritten the shared memory. is there.

そこで、本発明においては、送信権を有する単一の計算機のIDをパケットに包含させ、共有メモリを書き換える権利を計算機単位で受け渡す。このように、送信権の受け渡しを行うことにより、共有メモリを使用する複数の計算機間の同期をとるとともに、複数の計算機が共有メモリの同じアドレスのデータを同時に書き換えることを防止する。   Therefore, in the present invention, the ID of a single computer having the transmission right is included in the packet, and the right to rewrite the shared memory is transferred on a computer basis. In this way, by transferring the transmission right, synchronization between a plurality of computers using the shared memory is achieved, and a plurality of computers are prevented from simultaneously rewriting data at the same address in the shared memory.

計算機間の通信には通信ハブを使用してもよい。その際に、Ethernet(登録商標)ハブやUSBハブといった通信ハブが故障した場合は、通信経路を自動的に切り換えてもよい。正常動作している通信経路を用いることにより、通信線の断線や通信ハブの故障が発生しても共有メモリによるデータ通信を継続させることができるので、信頼性が実現される。   A communication hub may be used for communication between computers. At that time, if a communication hub such as an Ethernet (registered trademark) hub or a USB hub fails, the communication path may be automatically switched. By using a communication path that is operating normally, data communication using the shared memory can be continued even if a communication line break or a communication hub failure occurs, thereby achieving reliability.

あるいは、計算機間の通信に通信ハブを使用せず、計算機間の通信線を多重化してもよい。通信線の二重化により、通信線の断線や通信コントローラの故障が発生しても、共有メモリによるデータ通信を継続させることができるので、信頼性が実現される。   Alternatively, communication lines between computers may be multiplexed without using a communication hub for communication between computers. By duplicating the communication line, data communication using the shared memory can be continued even if the communication line is disconnected or the communication controller is broken, so that reliability is realized.

また、通信を用いた共有メモリの制御方式では、もともとメモリの一部のみがパケットで送信される。そのため、パケットを傍受しても通信内容の判別が困難である。さらに、パケットに暗号化コードを追加し、ベースアドレスとデータを送信する場合にデータが並ぶ順番をランダムに変更してもよい。このような暗号化により、通信データの秘匿性を一層高めることができる。
(第1の実施形態)
図面を参照し、本発明の第1の実施形態の、共有メモリを備える計算機システムの概要について説明する。
(第1の実施形態の構成)
図1は、本発明の第1の実施形態の計算機システムの構成を示すブロック図である。本実施形態の計算機システムは、4台の計算機を備える場合の例である。
In the shared memory control method using communication, only a part of the memory is originally transmitted as a packet. For this reason, it is difficult to determine communication contents even if a packet is intercepted. Further, when an encryption code is added to a packet and a base address and data are transmitted, the order in which the data is arranged may be randomly changed. Such encryption can further enhance the confidentiality of communication data.
(First embodiment)
An overview of a computer system including a shared memory according to the first embodiment of this invention will be described with reference to the drawings.
(Configuration of the first embodiment)
FIG. 1 is a block diagram showing a configuration of a computer system according to the first embodiment of this invention. The computer system of this embodiment is an example in the case of including four computers.

本実施形態の計算機システム100は、4台の計算機110、120、130、140、及び第1の通信ハブ151、第2の通信ハブ152を備える。計算機110、120、130、140のそれぞれのIDは、”1”、”2”、”3”、”4”である。   The computer system 100 of this embodiment includes four computers 110, 120, 130, and 140, a first communication hub 151, and a second communication hub 152. The IDs of the computers 110, 120, 130, and 140 are “1”, “2”, “3”, and “4”, respectively.

計算機110は、CPU111、バスブリッジ112、メモリ113、通信コントローラ114を含む。計算機120は、CPU121、バスブリッジ122、メモリ123、通信コントローラ124を含む。計算機130は、CPU131、バスブリッジ132、メモリ133、通信コントローラ134を含む。計算機140は、CPU141、バスブリッジ142、メモリ143、通信コントローラ144を含む。   The computer 110 includes a CPU 111, a bus bridge 112, a memory 113, and a communication controller 114. The computer 120 includes a CPU 121, a bus bridge 122, a memory 123, and a communication controller 124. The computer 130 includes a CPU 131, a bus bridge 132, a memory 133, and a communication controller 134. The computer 140 includes a CPU 141, a bus bridge 142, a memory 143, and a communication controller 144.

メモリ113、123、133、143は、計算機110、120、130、140間で共有される共有メモリを含む。すなわち、メモリ113、123、133、143は、共有メモリによって共有される共有データを含むデータを保持する。   The memories 113, 123, 133, and 143 include a shared memory that is shared between the computers 110, 120, 130, and 140. That is, the memories 113, 123, 133, and 143 hold data including shared data shared by the shared memory.

通信コントローラ114、124、134、144としては、Ethernet通信コントローラやUSB通信コントローラなどが使用される。   As the communication controllers 114, 124, 134, 144, an Ethernet communication controller, a USB communication controller, or the like is used.

第1の通信ハブ151、第2の通信ハブ152は、通信コントローラ114、124、134、144の相互のデータ通信を二重化する。第1の通信ハブ151、第2の通信ハブ152としては、Ethernet通信スイッチングハブやUSBハブなどが使用される。   The first communication hub 151 and the second communication hub 152 duplicate the mutual data communication of the communication controllers 114, 124, 134, and 144. As the first communication hub 151 and the second communication hub 152, an Ethernet communication switching hub, a USB hub, or the like is used.

図2は、計算機110、120、130、140間で送受信されるパケットを構成する、各種のデータを示す。本パケットは、共有メモリ中の変更対象のデータが変更された後に保持される新しいデータ、すなわち「変更データ」を含む。以降、本パケットを「変更データパケット」という。   FIG. 2 shows various data constituting a packet transmitted / received between the computers 110, 120, 130, and 140. This packet includes new data that is retained after the data to be changed in the shared memory is changed, that is, “change data”. Hereinafter, this packet is referred to as a “change data packet”.

送信データサイズ11は、変更データパケットのデータ長を示す。   The transmission data size 11 indicates the data length of the changed data packet.

パケットヘッダ12は、変更データパケットの固有ヘッダを示す。   The packet header 12 indicates a unique header of the modified data packet.

送信計算機ID13は、変更データパケットを送信した計算機のIDを示す。従って、送信計算機ID13は、計算機110、120、130、140が受信した変更データパケットを他の計算機に転送するときに、転送を行う計算機のIDに書き換えられる。   The transmission computer ID 13 indicates the ID of the computer that transmitted the change data packet. Accordingly, the transmission computer ID 13 is rewritten to the ID of the computer that performs the transfer when the changed data packet received by the computers 110, 120, 130, and 140 is transferred to another computer.

送信権フラグ14は、変更データパケットを送信する権利を有する計算機のIDを示す。   The transmission right flag 14 indicates the ID of the computer having the right to transmit the modified data packet.

暗号化コード15は、その時点のデータが変更データに変更されるメモリ113、123、133、143のベースアドレス、及び変更データの送信順序をランダムに入れ替えるときの送信順序を指定するための暗号化コードを示す。例えば、暗号化コード15が32bitの場合には、変更データの送信順序を規定する相対アドレスの組合せが、2の32乗(4,294,967,296)通り指定可能である。なお、暗号化コード15と、変更データの送信順序を規定する相対アドレスの組合せとの対応は、所定の暗号表(図示なし)として、計算機110、120、130、140の各々が保持する。   The encryption code 15 is encryption for designating the base address of the memories 113, 123, 133, and 143 in which the data at that time is changed to the change data, and the transmission order when the transmission order of the change data is randomly changed. Indicates the code. For example, when the encryption code 15 is 32 bits, the combinations of relative addresses that define the transmission order of the change data can be specified as 2 32 (4,294,967,296). Each of the computers 110, 120, 130, and 140 holds a correspondence between the encryption code 15 and the combination of relative addresses that define the transmission order of the changed data as a predetermined encryption table (not shown).

ベースアドレス16は、変更のデータが上書きされるメモリ113、123、133、143のベースアドレスを示す。   The base address 16 indicates the base address of the memories 113, 123, 133, and 143 where the changed data is overwritten.

変更データサイズ17は、変更データのサイズを示す。   The change data size 17 indicates the size of the change data.

変更データ18は、上記の変更データ、すなわち共有メモリにおいて変更対象とするデータの変更後のデータを示す。   The change data 18 indicates the above-described change data, that is, data after change of data to be changed in the shared memory.

チェックサム19は、パケットに含まれるデータの誤りを検出するためのチェックサムを示す。
(第1の実施形態の動作)
次に、計算機システム100において、通信ハブを使用して共有メモリを制御する場合の動作について、図1を使用して説明する。
The checksum 19 indicates a checksum for detecting an error in data included in the packet.
(Operation of the first embodiment)
Next, the operation when the computer system 100 controls the shared memory using the communication hub will be described with reference to FIG.

以下に、IDが”1”の計算機110のCPU111で実行されているアプリケーションプログラムが、メモリ113上に確保している共有データを変更する場合を例として説明する。   The case where the application program executed by the CPU 111 of the computer 110 whose ID is “1” changes the shared data secured on the memory 113 will be described as an example.

CPU111は、図2の送信権フラグ14で指定されたIDが”1”である場合に、変更データパケットを、IDが”2” の計算機120の通信コントローラ124あてに送信する。その際、変更データパケットは、バスブリッジ112、及び通信コントローラ114を経由して送信される。その直後に、CPU111は、変更データパケットに含まれる変更データ18の内容を、メモリ113上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 in FIG. 2 is “1”, the CPU 111 transmits the changed data packet to the communication controller 124 of the computer 120 whose ID is “2”. At that time, the changed data packet is transmitted via the bus bridge 112 and the communication controller 114. Immediately after that, the CPU 111 saves the contents of the change data 18 included in the change data packet in the shared memory secured on the memory 113.

CPU111は、送信権フラグ14で指定されたIDが”1”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14によりIDを”2”に指定した変更データパケットを送信する。すなわち、変更データパケットを送信する権利が、計算機110から計算機120へ移転される。   When the ID specified by the transmission right flag 14 is “1” and the transmission of the changed data packet is completed, the CPU 111 transmits the changed data packet whose ID is specified as “2” by the transmission right flag 14. . That is, the right to transmit the modified data packet is transferred from the computer 110 to the computer 120.

CPU111は、送信権フラグ14で指定されたIDが”1”でない場合は、変更データパケットを、送信権フラグ14を変更することなく、計算機IDが”2”の計算機120の通信コントローラ124あてに送信する。その際、変更データパケットは、バスブリッジ112、及び通信コントローラ114を経由して送信される。その直後に、CPU111は、変更データパケットに含まれる変更データ18の内容を、メモリ113上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “1”, the CPU 111 sends the changed data packet to the communication controller 124 of the computer 120 whose computer ID is “2” without changing the transmission right flag 14. Send. At that time, the changed data packet is transmitted via the bus bridge 112 and the communication controller 114. Immediately after that, the CPU 111 saves the contents of the change data 18 included in the change data packet in the shared memory secured on the memory 113.

通信コントローラ114から送信された変更データパケットは、通常は、二重化された通信ハブの一方である第1の通信ハブ151を経由して、通信コントローラ124に受信される。そして、変更データパケットは、バスブリッジ122を介して、CPU121に受信される。   The change data packet transmitted from the communication controller 114 is normally received by the communication controller 124 via the first communication hub 151 that is one of the duplex communication hubs. Then, the changed data packet is received by the CPU 121 via the bus bridge 122.

CPU121は、送信権フラグ14で指定されたIDが”2”でない場合は、変更データパケットを、送信権フラグ14を変更することなく、計算機IDが”3”の計算機130の通信コントローラ134あてに送信する。その際、変更データパケットは、バスブリッジ122、及び通信コントローラ124を経由して送信される。その直後に、CPU121は、変更データパケットに含まれる変更データ18の内容を、メモリ123上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “2”, the CPU 121 sends the changed data packet to the communication controller 134 of the computer 130 whose computer ID is “3” without changing the transmission right flag 14. Send. At that time, the changed data packet is transmitted via the bus bridge 122 and the communication controller 124. Immediately after that, the CPU 121 stores the contents of the change data 18 included in the change data packet in a shared memory secured on the memory 123.

CPU121は、送信権フラグ14で指定されたIDが”2”である場合は、送信するべき変更データパケットを、計算機IDが”3”の計算機130の通信コントローラ134あてに送信する。その際、変更データパケットは、バスブリッジ122、及び通信コントローラ124を経由して送信される。その直後に、CPU121は、変更データパケットに含まれる変更データ18の内容を、メモリ123上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 is “2”, the CPU 121 transmits the changed data packet to be transmitted to the communication controller 134 of the computer 130 whose computer ID is “3”. At that time, the changed data packet is transmitted via the bus bridge 122 and the communication controller 124. Immediately after that, the CPU 121 stores the contents of the change data 18 included in the change data packet in a shared memory secured on the memory 123.

CPU121は、送信権フラグ14で指定されたIDが”2”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14によりIDを”3”に指定した変更データパケットを送信する。すなわち、変更データパケットを送信する権利が、計算機120から計算機130へ移転される。   When the ID specified by the transmission right flag 14 is “2” and the transmission of the changed data packet is completed, the CPU 121 transmits the changed data packet whose ID is specified as “3” by the transmission right flag 14. . That is, the right to transmit the modified data packet is transferred from the computer 120 to the computer 130.

通信コントローラ124から送信された変更データパケットは、通常は、第1の通信ハブ151を経由して、通信コントローラ134に受信される。そして、変更データパケットは、バスブリッジ132を介して、CPU131に受信される。   The change data packet transmitted from the communication controller 124 is normally received by the communication controller 134 via the first communication hub 151. Then, the change data packet is received by the CPU 131 via the bus bridge 132.

CPU131は、送信権フラグ14で指定されたIDが”3”でない場合は、変更データパケットを、送信権フラグ14を変更することなく、計算機IDが”4”計算機140の通信コントローラ144あてに送信する。その際、変更データパケットは、バスブリッジ132、及び通信コントローラ134を経由して送信される。その直後に、CPU131は、変更データパケットに含まれる変更データ18の内容を、メモリ133上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “3”, the CPU 131 transmits the changed data packet to the communication controller 144 of the computer 140 having the computer ID “4” without changing the transmission right flag 14. To do. At that time, the changed data packet is transmitted via the bus bridge 132 and the communication controller 134. Immediately thereafter, the CPU 131 saves the content of the change data 18 included in the change data packet in a shared memory secured on the memory 133.

CPU131は、送信権フラグ14で指定されたIDが”3”である場合は、送信するべき変更データパケットを、計算機IDが”4”の計算機140の通信コントローラ144あてに送信する。その際、変更データパケットは、バスブリッジ132、及び通信コントローラ134を経由して送信される。その直後に、CPU131は、変更データパケットに含まれる変更データ18の内容を、メモリ133上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 is “3”, the CPU 131 transmits the change data packet to be transmitted to the communication controller 144 of the computer 140 whose computer ID is “4”. At that time, the changed data packet is transmitted via the bus bridge 132 and the communication controller 134. Immediately thereafter, the CPU 131 saves the content of the change data 18 included in the change data packet in a shared memory secured on the memory 133.

CPU131は、送信権フラグ14で指定されたIDが”3”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14によりIDを”4”に指定した変更データパケットを送信する。すなわち、変更データパケットを送信する権利が、計算機130から計算機140へ移転される。   When the ID specified by the transmission right flag 14 is “3” and the transmission of the changed data packet is completed, the CPU 131 transmits the changed data packet whose ID is specified as “4” by the transmission right flag 14. . That is, the right to transmit the modified data packet is transferred from the computer 130 to the computer 140.

通信コントローラ134から送信された変更データパケットは、通常は、第1の通信ハブ151を経由して、通信コントローラ144に受信される。そして、変更データパケットは、バスブリッジ142を介して、CPU141に受信される。   The change data packet transmitted from the communication controller 134 is normally received by the communication controller 144 via the first communication hub 151. Then, the change data packet is received by the CPU 141 via the bus bridge 142.

CPU141は、送信権フラグ14で指定されたIDが”4”でない場合は、変更データパケットをどこへも送信しない。そして、CPU141は、変更データパケットに含まれる変更データ18の内容を、メモリ143上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “4”, the CPU 141 does not transmit the changed data packet anywhere. Then, the CPU 141 stores the contents of the change data 18 included in the change data packet in a shared memory secured on the memory 143.

CPU141は、送信権フラグ14で指定されたIDが”4”である場合は、送信するべき変更データパケットを、計算機IDが”1”の計算機110の通信コントローラ114あてに送信する。その際、変更データパケットは、バスブリッジ142、及び通信コントローラ144を経由して送信される。その直後に、CPU131は、変更データパケットに含まれる変更データ18の内容を、メモリ133上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 is “4”, the CPU 141 transmits the changed data packet to be transmitted to the communication controller 114 of the computer 110 whose computer ID is “1”. At that time, the changed data packet is transmitted via the bus bridge 142 and the communication controller 144. Immediately thereafter, the CPU 131 saves the content of the change data 18 included in the change data packet in a shared memory secured on the memory 133.

CPU141は、送信権フラグ14で指定されたIDが”4”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14によりIDを”1”に指定した変更データパケットを送信する。すなわち、変更データパケットを送信する権利が、計算機140から計算機110へ移転される。   When the ID specified by the transmission right flag 14 is “4” and the transmission of the changed data packet is completed, the CPU 141 transmits the changed data packet whose ID is specified as “1” by the transmission right flag 14. . That is, the right to transmit the modified data packet is transferred from the computer 140 to the computer 110.

もし、第1の通信ハブ151を介した通信が失敗した場合、CPU111、121、131、141は、二重化された通信ハブの他方である第2の通信ハブ152に送信先を自動的に切り換えて、計算機110、120、130、140間の通信を続行する。   If communication via the first communication hub 151 fails, the CPU 111, 121, 131, 141 automatically switches the transmission destination to the second communication hub 152, which is the other of the duplex communication hubs. The communication between the computers 110, 120, 130, and 140 is continued.

共有メモリ間の通信を用いたデータ共有方式は、もともとメモリの一部をパケットで送信するので、それを傍受しても通信内容の判別が困難である。そこで、さらに、ベースアドレスとデータを送信する際に、図2の変更データパケットに含まれる暗号化コード15を用いて、データが並ぶ順番をランダムに変更してもよい。この暗号化により、通信データ、すなわち変更データの秘匿性を高めることができる。   Since the data sharing method using communication between shared memories originally transmits a part of the memory in packets, it is difficult to determine the communication contents even if it is intercepted. Therefore, when the base address and data are transmitted, the order in which the data is arranged may be randomly changed using the encryption code 15 included in the changed data packet in FIG. By this encryption, the confidentiality of communication data, that is, change data can be enhanced.

例えば、暗号化コード15が32bitで、00 00 00 00(H)の場合、ベースアドレスとデータを送信する場合にデータが並ぶ順番は変更しない。   For example, when the encryption code 15 is 32 bits and 00 00 00 00 (H), the order in which the data is arranged when the base address and data are transmitted is not changed.

例えば、暗号化コード15が32bitで、FF FF FF FF(H)の場合、ベースアドレスは予め決められた暗号表の値を加算した値とし、変更データは、予め決められた暗号表の暗号化コードの数値に対応付けて指定された順番する通りに並べ替えて送信される。   For example, when the encryption code 15 is 32 bits and FF FF FF FF (H), the base address is a value obtained by adding a value of a predetermined encryption table, and the change data is the encryption of the predetermined encryption table. Sorted and sent in the order specified in association with the numerical value of the code.

なお、図1の計算機システムにおいて、通信ハブを2台備えること、及び計算機110、120、130、140間の通信回線が二重化されていることは必須ではない。例えば、計算機110、120、130、140間の通信回線に十分な信頼性がある場合には、通信回線は二重化される必要はない。   In the computer system of FIG. 1, it is not essential that two communication hubs are provided and that the communication lines between the computers 110, 120, 130, and 140 are duplicated. For example, when the communication line between the computers 110, 120, 130, and 140 has sufficient reliability, the communication line need not be duplicated.

さらに、図2の変更データパケットが備える各種データは、すべてが必須のものではない。   Furthermore, all the various data included in the modified data packet in FIG. 2 are not essential.

送信データサイズ11は、例えば、変更データパケットのデータ長を固定することができる場合は、省略することができる。また、パケットヘッダ12も、例えば、パケットを受信した装置が、受信したパケットが変更データパケットであることを他の方法で識別できる場合は、省略することができる。   The transmission data size 11 can be omitted, for example, when the data length of the change data packet can be fixed. The packet header 12 can also be omitted if, for example, the device that received the packet can identify that the received packet is a modified data packet by another method.

さらに、暗号化コード15も、例えば、盗聴の可能性がない場合には省略することができる。   Furthermore, the encryption code 15 can also be omitted when there is no possibility of eavesdropping, for example.

また、ベースアドレス16も、例えば、変更するアドレス領域を固定することができる場合は、省略することができる。変更データサイズ17は、例えば、変更データのサイズを固定することができる場合は、省略することができる。チェックサム19も、例えば、通信中のエラーを無視できる場合には省略することができる。   The base address 16 can also be omitted if the address area to be changed can be fixed, for example. For example, the change data size 17 can be omitted if the size of the change data can be fixed. The checksum 19 can also be omitted if, for example, an error during communication can be ignored.

以上のように、何らかの条件を設定することによって、送信データサイズ11、パケットヘッダ12、暗号化コード15、ベースアドレス16、変更データサイズ17チェックサム19は省略することができる。   As described above, the transmission data size 11, the packet header 12, the encryption code 15, the base address 16, and the changed data size 17 checksum 19 can be omitted by setting some conditions.

以上説明したように、本実施形態の計算機システムは、以下のような効果を奏する。   As described above, the computer system of the present embodiment has the following effects.

以上のように、本実施形態の計算機システムは、計算機を構成するCPU、メモリ、通信コントローラ(Ethernet通信コントローラやUSB通信コントローラなど)だけを使用し、ソフトウェアで複数の計算機のメモリ上に共有メモリを構築する。共有メモリのデータを書き換える場合は、変更するデータのアドレスとデータの内容をパケット化して、計算機間をリレーしながら共有メモリを書き換えていく。   As described above, the computer system of this embodiment uses only the CPU, memory, and communication controller (Ethernet communication controller, USB communication controller, etc.) that constitute the computer, and the shared memory is stored on the memory of multiple computers by software. To construct. When rewriting the data in the shared memory, the address of the data to be changed and the contents of the data are packetized, and the shared memory is rewritten while relaying between computers.

そのため、本実施形態の計算機システムは、専用ハードウェアは不要で、汎用計算機で作動するソフトウェアのみで機能を実現することができる。従って、設計変更に対する柔軟性の向上やコストダウンを実現することができる。   Therefore, the computer system of this embodiment does not require dedicated hardware, and can realize the function only with software that operates on a general-purpose computer. Accordingly, it is possible to improve flexibility and reduce costs with respect to design changes.

また、本実施形態の計算機システムは、共有メモリを書き換える送信権のフラグを計算機間で受け渡す。従って、複数の計算機間で共有メモリの書き換えの同期をとるとともに、複数の計算機が同時に同じアドレスのデータを書き換えるのを防止することができる。   Further, the computer system of this embodiment transfers a transmission right flag for rewriting the shared memory between computers. Therefore, it is possible to synchronize the rewriting of the shared memory among a plurality of computers and to prevent the plurality of computers from rewriting data at the same address at the same time.

本実施形態の計算機システムでは、複数の計算機のメモリ上に構築した共有メモリのデータを書き換えるために、計算機間のデータ通信を行う。計算機間の通信に用いる回線は二重化されてもよい。この場合、EthernetハブやUSBハブといった通信ハブが故障した場合には、通信経路を自動的に切り換える。従って、通信線の断線や通信ハブの故障といった障害に対して信頼性を向上することができる。   In the computer system of the present embodiment, data communication between computers is performed in order to rewrite data in a shared memory built on the memories of a plurality of computers. The line used for communication between computers may be duplicated. In this case, when a communication hub such as an Ethernet hub or a USB hub fails, the communication path is automatically switched. Therefore, reliability can be improved against failures such as disconnection of communication lines and failure of communication hubs.

また、本実施形態の計算機システムでは、メモリの一部のみをパケットを用いて送信する。そのため、パケット傍受しても通信内容を判別することは困難である。さらに、本実施形態の計算機システムでは、パケットに暗号化コードを追加することができる。この場合、ベースアドレスとデータを送信する場合にデータが並ぶ順番をランダムに変更することができる。従って、本実施形態の計算機システムは、通信データの秘匿性を高めることができる。
(第2の実施形態)
本発明の計算機システムは、通信ハブを用いずに実現することができる。第2の実施形態では、通信ハブを使用しない共有メモリ制御装置の例を示す。
(第2の実施形態の構成)
図3は、本発明の第1の実施形態の計算機システムの構成を示すブロック図である。本実施形態の計算機システム200は、4台の計算機110、120、130、140を備える。計算機110、120、130、140のそれぞれのIDは、”1”、”2”、”3”、”4”である。このように、本実施形態の計算機システム200は、第1の実施形態の計算機システム100から、第1の通信ハブ151、第2の通信ハブ152を除いたものである。計算機110、120、130、140の構成及びこれらの内部構成は、計算機システム100と同等なので、説明は省略する。
In the computer system of this embodiment, only a part of the memory is transmitted using a packet. For this reason, it is difficult to determine the communication contents even if a packet is intercepted. Furthermore, in the computer system of this embodiment, an encryption code can be added to the packet. In this case, when the base address and data are transmitted, the order in which the data is arranged can be randomly changed. Therefore, the computer system of this embodiment can improve the confidentiality of communication data.
(Second Embodiment)
The computer system of the present invention can be realized without using a communication hub. The second embodiment shows an example of a shared memory control device that does not use a communication hub.
(Configuration of Second Embodiment)
FIG. 3 is a block diagram showing the configuration of the computer system according to the first embodiment of this invention. The computer system 200 according to this embodiment includes four computers 110, 120, 130, and 140. The IDs of the computers 110, 120, 130, and 140 are “1”, “2”, “3”, and “4”, respectively. As described above, the computer system 200 according to the present embodiment is obtained by removing the first communication hub 151 and the second communication hub 152 from the computer system 100 according to the first embodiment. Since the configurations of the computers 110, 120, 130, and 140 and their internal configurations are the same as those of the computer system 100, description thereof is omitted.

ただし、通信コントローラ114、124、134、144は、計算機システム200では、計算機システム100とは異なり、通信ハブを介さず、直接、通信を行う。計算機110、120、130、140間で送受信されるパケットは、図2の変更データパケットである。
(第2の実施形態の動作)
次に、計算機システム200において、通信ハブを使用せず共有メモリを制御する場合の動作について、図3を使用して説明する。
However, unlike the computer system 100, the communication controllers 114, 124, 134, and 144 directly communicate with each other without using a communication hub in the computer system 200. Packets transmitted and received between the computers 110, 120, 130, and 140 are the changed data packets in FIG.
(Operation of Second Embodiment)
Next, in the computer system 200, an operation when the shared memory is controlled without using a communication hub will be described with reference to FIG.

以下に、IDが”1”の計算機110のCPU111で実行されているアプリケーションプログラムが、メモリ113上に確保している共有データを変更する場合を例として説明する。   The case where the application program executed by the CPU 111 of the computer 110 whose ID is “1” changes the shared data secured on the memory 113 will be described as an example.

CPU111は、図2の送信権フラグ14で指定されたIDが”1”である場合に、変更データパケットを、IDが”2”の計算機120の通信コントローラ124あてに送信する。その際、変更データパケットは、バスブリッジ112、及び通信コントローラ114を経由して送信される。   When the ID specified by the transmission right flag 14 in FIG. 2 is “1”, the CPU 111 transmits the changed data packet to the communication controller 124 of the computer 120 whose ID is “2”. At that time, the changed data packet is transmitted via the bus bridge 112 and the communication controller 114.

CPU111は、送信権フラグ14で指定されたIDが”1”でない場合は、計算機IDが”2”の計算機120の通信コントローラ124あてに送信する。その際、変更データパケットは、バスブリッジ112、及び通信コントローラ114を経由して送信される。その直後に、CPU111は、変更データパケットに含まれる変更データ18の内容を、メモリ113上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “1”, the CPU 111 transmits the message to the communication controller 124 of the computer 120 whose computer ID is “2”. At that time, the changed data packet is transmitted via the bus bridge 112 and the communication controller 114. Immediately after that, the CPU 111 saves the contents of the change data 18 included in the change data packet in the shared memory secured on the memory 113.

CPU111は、通信コントローラ124あての変更データパケットの送信に失敗した場合、IDが”3” の計算機130の通信コントローラ134あてに変更データパケットを送信する。CPU111は、通信コントローラ134あての変更データパケットの送信にも失敗した場合、IDが”4” の計算機140の通信コントローラ144あてに変更データパケットを送信する。   When the transmission of the modified data packet addressed to the communication controller 124 fails, the CPU 111 transmits the modified data packet addressed to the communication controller 134 of the computer 130 whose ID is “3”. If the transmission of the modified data packet addressed to the communication controller 134 also fails, the CPU 111 transmits the modified data packet to the communication controller 144 of the computer 140 whose ID is “4”.

CPU111は、送信権フラグ14で指定されたIDが”1”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14のIDを送信可能な計算機のID(2、3、又は4)に指定した変更データパケットを送信する。   When the ID designated by the transmission right flag 14 is “1” and the transmission of the changed data packet is completed, the CPU 111 sends the ID of the computer (2, 3, or The change data packet specified in 4) is transmitted.

通信コントローラ124、通信コントローラ134、又は通信コントローラ144への変更データパケットの送信の直後に、CPU111は、変更データパケットに含まれる変更データ18の内容を、メモリ113上に確保されている共有メモリに保存する。   Immediately after the transmission of the change data packet to the communication controller 124, the communication controller 134, or the communication controller 144, the CPU 111 stores the contents of the change data 18 included in the change data packet in the shared memory secured on the memory 113. save.

通信コントローラ114から送信された変更データパケットは、通常は、通信コントローラ124に受信される。そして、変更データパケットは、バスブリッジ122を介して、CPU121に受信される。   The change data packet transmitted from the communication controller 114 is normally received by the communication controller 124. Then, the changed data packet is received by the CPU 121 via the bus bridge 122.

CPU121は、送信権フラグ14で指定されたIDが”2”でない場合は、変更データパケットの送信計算機IDを確認する。そして、CPU121は、送信計算機IDが”1”、すなわち変更データパケットの送信元が通信コントローラ114の場合は、通信コントローラ124に対し、変更データパケットを、計算機IDが”3”の計算機130の通信コントローラ134あてに送信する。   If the ID specified by the transmission right flag 14 is not “2”, the CPU 121 confirms the transmission computer ID of the changed data packet. Then, when the transmission computer ID is “1”, that is, when the transmission source of the modified data packet is the communication controller 114, the CPU 121 communicates the modified data packet to the communication controller 124 with the communication of the computer 130 with the computer ID “3”. The data is transmitted to the controller 134.

CPU121は、送信権フラグ14で指定されたIDが”2”である場合は、送信するべき変更データパケットを、計算機IDが”3”の計算機130の通信コントローラ134あてに送信する。その際、変更データパケットは、バスブリッジ122、及び通信コントローラ124を経由して送信される。その直後に、CPU121は、変更データパケットに含まれる変更データ18の内容を、メモリ123上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 is “2”, the CPU 121 transmits the changed data packet to be transmitted to the communication controller 134 of the computer 130 whose computer ID is “3”. At that time, the changed data packet is transmitted via the bus bridge 122 and the communication controller 124. Immediately after that, the CPU 121 stores the contents of the change data 18 included in the change data packet in a shared memory secured on the memory 123.

CPU121は、通信コントローラ134あての変更データパケットの送信に失敗した場合、通信コントローラ144あてに変更データパケットを送信する。   If the transmission of the changed data packet addressed to the communication controller 134 fails, the CPU 121 transmits the changed data packet addressed to the communication controller 144.

CPU121は、通信コントローラ144あての変更データパケットの送信にも失敗した場合、通信コントローラ114あてに変更データパケットを送信する。   If the transmission of the changed data packet addressed to the communication controller 144 fails, the CPU 121 transmits the changed data packet addressed to the communication controller 114.

通信コントローラ134、通信コントローラ144、又は通信コントローラ114への変更データパケットの送信の直後に、CPU121は、変更データパケットに含まれる変更データ18の内容を、メモリ123上に確保されている共有メモリに保存する。   Immediately after the transmission of the change data packet to the communication controller 134, the communication controller 144, or the communication controller 114, the CPU 121 stores the contents of the change data 18 included in the change data packet in the shared memory secured on the memory 123. save.

CPU121は、送信権フラグ14で指定されたIDが”2”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14のIDを送信可能な計算機のID(3、4、又は1)に指定した変更データパケットを送信する。   When the ID specified by the transmission right flag 14 is “2” and the transmission of the changed data packet is finished, the CPU 121 sends the ID of the computer that can transmit the ID of the transmission right flag 14 (3, 4, or The change data packet specified in 1) is transmitted.

通信コントローラ124から送信された変更データパケットは、通常は、通信コントローラ134に受信される。そして、変更データパケットは、バスブリッジ132を介して、CPU131に受信される。   The change data packet transmitted from the communication controller 124 is normally received by the communication controller 134. Then, the change data packet is received by the CPU 131 via the bus bridge 132.

CPU131は、送信権フラグ14で指定されたIDが”3”でない場合は、変更データパケットの送信計算機IDを確認する。そして、CPU131は、送信計算機IDが”1”、すなわち変更データパケットの送信元が通信コントローラ114の場合は、変更データパケットを、計算機IDが”4”の計算機140の通信コントローラ144あてに送信する。その際、変更データパケットは、バスブリッジ132、及び通信コントローラ134を経由して送信される。その直後に、CPU131は、変更データパケットに含まれる変更データ18の内容を、メモリ133上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “3”, the CPU 131 confirms the transmission computer ID of the changed data packet. Then, when the transmission computer ID is “1”, that is, when the transmission source of the modified data packet is the communication controller 114, the CPU 131 transmits the modified data packet to the communication controller 144 of the computer 140 whose computer ID is “4”. . At that time, the changed data packet is transmitted via the bus bridge 132 and the communication controller 134. Immediately thereafter, the CPU 131 saves the content of the change data 18 included in the change data packet in a shared memory secured on the memory 133.

CPU131は、送信権フラグ14で指定されたIDが”3”である場合は、送信するべき変更データパケットを、計算機IDが”4”の計算機140の通信コントローラ144あてに送信する。その際、変更データパケットは、バスブリッジ132、及び通信コントローラ134を経由して送信される。その直後に、CPU131は、変更データパケットに含まれる変更データ18の内容を、メモリ133上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 is “3”, the CPU 131 transmits the change data packet to be transmitted to the communication controller 144 of the computer 140 whose computer ID is “4”. At that time, the changed data packet is transmitted via the bus bridge 132 and the communication controller 134. Immediately thereafter, the CPU 131 saves the content of the change data 18 included in the change data packet in a shared memory secured on the memory 133.

CPU131は、通信コントローラ144あての変更データパケットの送信に失敗した場合、通信コントローラ114あてに変更データパケットを送信する。   If the CPU 131 fails to transmit the changed data packet to the communication controller 144, the CPU 131 transmits the changed data packet to the communication controller 114.

CPU131は、通信コントローラ114あての変更データパケットの送信にも失敗した場合、通信コントローラ124あてに変更データパケットを送信する。   If the transmission of the modified data packet addressed to the communication controller 114 fails, the CPU 131 transmits the modified data packet addressed to the communication controller 124.

CPU131は、送信権フラグ14で指定されたIDが”3”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14のIDを送信可能な計算機のID(4、1、又は2)に指定した変更データパケットを送信する。   When the ID designated by the transmission right flag 14 is “3” and the transmission of the changed data packet is finished, the CPU 131 transmits the ID of the computer that can transmit the ID of the transmission right flag 14 (4, 1, or The changed data packet specified in 2) is transmitted.

通信コントローラ134から送信された変更データパケットは、通常は、通信コントローラ144受信される。そして、変更データパケットは、CPU141に受信される。   The change data packet transmitted from the communication controller 134 is normally received by the communication controller 144. The changed data packet is received by the CPU 141.

CPU141は、送信権フラグ14で指定されたIDが”4”でない場合は、変更データパケットの送信計算機IDを確認する。そして、CPU141は、送信計算機IDが”1”、すなわち変更デーパケットの送信元が通信コントローラ114の場合は、変更データパケットをどこへも送信しない。そして、CPU141は、変更データパケットに含まれる変更データ18の内容を、メモリ143上に確保されている共有メモリに保存する。   If the ID specified by the transmission right flag 14 is not “4”, the CPU 141 confirms the transmission computer ID of the changed data packet. Then, when the transmission computer ID is “1”, that is, when the transmission source of the modified data packet is the communication controller 114, the CPU 141 does not transmit the modified data packet anywhere. Then, the CPU 141 stores the contents of the change data 18 included in the change data packet in a shared memory secured on the memory 143.

CPU141は、送信権フラグ14で指定されたIDが”4”である場合は、送信するべき変更データパケットを、計算機IDが”1”の計算機110の通信コントローラ114あてに送信する。その際、変更データパケットは、バスブリッジ142、及び通信コントローラ144を経由して送信される。その直後に、CPU141は、変更データパケットに含まれる変更データ18の内容を、メモリ143上に確保されている共有メモリに保存する。   When the ID specified by the transmission right flag 14 is “4”, the CPU 141 transmits the changed data packet to be transmitted to the communication controller 114 of the computer 110 whose computer ID is “1”. At that time, the changed data packet is transmitted via the bus bridge 142 and the communication controller 144. Immediately after that, the CPU 141 stores the contents of the change data 18 included in the change data packet in a shared memory secured on the memory 143.

CPU141は、通信コントローラ114あての変更データパケットの送信に失敗した場合、通信コントローラ124あてに変更データパケットを送信する。   When the transmission of the changed data packet addressed to the communication controller 114 fails, the CPU 141 transmits the changed data packet addressed to the communication controller 124.

CPU141は、通信コントローラ124あての変更データパケットの送信にも失敗した場合、通信コントローラ134あてに変更データパケットを送信する。   If the transmission of the modified data packet addressed to the communication controller 124 also fails, the CPU 141 transmits the modified data packet addressed to the communication controller 134.

CPU141は、送信権フラグ14で指定されたIDが”4”である場合かつ変更データパケットの送信が終わった場合に、送信権フラグ14のIDを送信可能な計算機のID(1、2、又は3)に指定した変更データパケットを送信する。   When the ID specified by the transmission right flag 14 is “4” and the transmission of the changed data packet is finished, the CPU 141 transmits the ID of the computer (1, 2, or 2) that can transmit the ID of the transmission right flag 14 The changed data packet specified in 3) is transmitted.

なお、図3の計算機システムにおいても、計算機110、120、130、140間の通信回線が二重化されていることは必須ではない。例えば、計算機110、120、130、140間の通信回線に十分な信頼性がある場合には、通信回線は二重化される必要はない。   In the computer system of FIG. 3, it is not essential that the communication lines between the computers 110, 120, 130, and 140 are duplicated. For example, when the communication line between the computers 110, 120, 130, and 140 has sufficient reliability, the communication line need not be duplicated.

以上のように、第2の実施形態の計算機システムも、計算機間のデータ通信を用いて共有メモリを制御する。その際、専用ハードウェアは不要で、汎用計算機で作動するソフトウェアのみで機能を実現することができる。従って、設計変更に対する柔軟性の向上やコストダウンを実現することができる。   As described above, the computer system according to the second embodiment also controls the shared memory using data communication between computers. At that time, dedicated hardware is not required, and the function can be realized only by software operating on a general-purpose computer. Accordingly, it is possible to improve flexibility and reduce costs with respect to design changes.

また、送信権のフラグの受け渡しも可能なので、共有メモリの書き換えの同期をとるとともに、複数の計算機が同時に同じアドレスのデータを書き換えるのを防止することができる。   Further, since the transmission right flag can be transferred, it is possible to synchronize the rewriting of the shared memory and to prevent a plurality of computers from rewriting data at the same address at the same time.

さらに、必要に応じて、通信経路の二重化や暗号化にも対応することもできるので、信頼性や秘匿性を向上することができる。   Furthermore, since it can respond | correspond to the duplication and encryption of a communication path as needed, reliability and concealment can be improved.

100、200、300 計算機システム       100, 200, 300 Computer system

Claims (6)

第1の演算部と、前記第1の演算部に接続された第1のバスブリッジと、前記第1のバスブリッジ又は第1の演算部に接続された、共有データを含むデータを保持する第1の記憶部と、前記第1のバスブリッジに接続された第1の通信制御部を含む第1の計算機と、
第2の演算部と、前記第2の演算部に接続された第2のバスブリッジと、前記第2のバスブリッジ又は第2の演算部に接続された、前記共有データを含むデータを保持する第2の記憶部と、前記第2のバスブリッジ及び前記第1の通信制御部に接続された第2の通信制御部を含む第2の計算機を備え、
前記第1の計算機は、前記共有データを変更するための変更データ、及び送信権を持つ計算機を指定する識別情報を含む変更データパケットを、前記識別情報によって前記送信権を持つことが指定されているときに、前記第2の計算機へ送信する
ことを特徴とする計算機システム。
A first arithmetic unit, a first bus bridge connected to the first arithmetic unit, and a first bus bridge connected to the first bus bridge or the first arithmetic unit and holding data including shared data A first computer including a first storage unit and a first communication control unit connected to the first bus bridge;
A second arithmetic unit, a second bus bridge connected to the second arithmetic unit, and data including the shared data connected to the second bus bridge or the second arithmetic unit are held. A second storage unit, and a second computer including a second communication control unit connected to the second bus bridge and the first communication control unit,
The first computer has a change data packet for changing the shared data and a change data packet including identification information designating a computer having a transmission right, and the identification information is designated to have the transmission right. A computer system that transmits to the second computer when the computer is on.
前記変更データパケットは、前記変更データを暗号化するための暗号化情報を含む
ことを特徴とする請求項1に記載の計算機システム。
The computer system according to claim 1, wherein the change data packet includes encryption information for encrypting the change data.
前記第1の通信制御部と前記第2の通信制御部との間が複数の通信回線によって接続されている
ことを特徴とする請求項1又は2に記載の計算機システム。
The computer system according to claim 1 or 2, wherein the first communication control unit and the second communication control unit are connected by a plurality of communication lines.
前記複数の通信回線の各々は、ハブを介して、前記第1の通信制御部と前記第2の通信制御部を接続している
ことを特徴とする請求項3に記載の計算機システム。
4. The computer system according to claim 3, wherein each of the plurality of communication lines connects the first communication control unit and the second communication control unit via a hub.
第1の演算部と、
前記第1の演算部に接続された第1のバスブリッジと、
前記第1のバスブリッジ又は第1の演算部に接続された、共有データを含むデータを保持する第1の記憶部と、
前記第1のバスブリッジに接続された第1の通信制御部を含む第1の計算機を備え、
前記共有データを変更するための変更データ、及び送信権を持つ計算機を指定する識別情報を含む変更データパケットを、前記識別情報によって前記送信権を持つことが指定されているときに、第2の演算部と、前記第2の演算部に接続された第2のバスブリッジと、前記第2のバスブリッジ又は第2の演算部に接続された、前記共有データを含むデータを保持する第2の記憶部と、前記第2のバスブリッジ及び前記第1の通信制御部に接続された第2の通信制御部を含む第2の計算機に送信する
ことを特徴とする計算機。
A first computing unit;
A first bus bridge connected to the first arithmetic unit;
A first storage unit connected to the first bus bridge or the first arithmetic unit and holding data including shared data;
A first computer including a first communication control unit connected to the first bus bridge;
When a change data packet including change data for changing the shared data and identification information designating a computer having a transmission right is designated as having the transmission right by the identification information, a second A second bus bridge connected to the second computing unit; a second bus bridge connected to the second computing unit; and a second bus bridge connected to the second bus bridge or the second computing unit for holding data including the shared data. A computer, comprising: a storage unit; and a second computer including a second communication control unit connected to the second bus bridge and the first communication control unit.
共有データを含むデータを保持する第1の記憶部を含む第1の計算機から、前記共有データを含むデータを保持する第2の記憶部を含む第2の計算機へ、前記共有データを変更するための変更データ、及び送信権を持つ計算機を指定する識別情報を含む変更データパケットを、前記第1の計算機が前記送信権を持つときに送信する
ことを特徴とする共有メモリ制御方法。
To change the shared data from a first computer including a first storage unit holding data including shared data to a second computer including a second storage unit storing data including the shared data A shared memory control method, comprising: transmitting a change data packet including change data and identification information designating a computer having a transmission right when the first computer has the transmission right.
JP2012196173A 2012-09-06 2012-09-06 Computer, computer system, and shared memory control method Active JP6309706B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012196173A JP6309706B2 (en) 2012-09-06 2012-09-06 Computer, computer system, and shared memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012196173A JP6309706B2 (en) 2012-09-06 2012-09-06 Computer, computer system, and shared memory control method

Publications (2)

Publication Number Publication Date
JP2014052786A true JP2014052786A (en) 2014-03-20
JP6309706B2 JP6309706B2 (en) 2018-04-11

Family

ID=50611243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012196173A Active JP6309706B2 (en) 2012-09-06 2012-09-06 Computer, computer system, and shared memory control method

Country Status (1)

Country Link
JP (1) JP6309706B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01272339A (en) * 1988-04-25 1989-10-31 Mitsubishi Electric Corp Cyclic data transmission system
JPH02246444A (en) * 1989-03-18 1990-10-02 Hitachi Ltd Data transmission mechanism and system therefor
JPH0439705A (en) * 1990-06-06 1992-02-10 Toshiba Corp Network configuration method for programmable controller
JPH08223192A (en) * 1995-02-16 1996-08-30 Hitachi Ltd Transmission equipment
JP2001156811A (en) * 1999-11-30 2001-06-08 Omron Corp Node
JP2003124952A (en) * 2001-10-17 2003-04-25 Fuji Electric Co Ltd Data-access controlling method
WO2004059903A1 (en) * 2002-12-25 2004-07-15 Hitachi, Ltd. Network device, network system, and group management method
JP2006039897A (en) * 2004-07-27 2006-02-09 Nec Corp Multi-node system, inter-node crossbar switch, node, switch program and node program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01272339A (en) * 1988-04-25 1989-10-31 Mitsubishi Electric Corp Cyclic data transmission system
JPH02246444A (en) * 1989-03-18 1990-10-02 Hitachi Ltd Data transmission mechanism and system therefor
JPH0439705A (en) * 1990-06-06 1992-02-10 Toshiba Corp Network configuration method for programmable controller
JPH08223192A (en) * 1995-02-16 1996-08-30 Hitachi Ltd Transmission equipment
JP2001156811A (en) * 1999-11-30 2001-06-08 Omron Corp Node
JP2003124952A (en) * 2001-10-17 2003-04-25 Fuji Electric Co Ltd Data-access controlling method
WO2004059903A1 (en) * 2002-12-25 2004-07-15 Hitachi, Ltd. Network device, network system, and group management method
JP2006039897A (en) * 2004-07-27 2006-02-09 Nec Corp Multi-node system, inter-node crossbar switch, node, switch program and node program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNH199900181002; 勝原 二郎 他: '「プラント制御用基幹データウェイシステム」' 三菱電機技報 第65巻 第7号 , 19910725, 47頁〜52頁, 三菱電機エンジニアリング株式会社 *
JPN6014045086; 勝原 二郎 他: '「プラント制御用基幹データウェイシステム」' 三菱電機技報 第65巻 第7号 , 19910725, 47頁〜52頁, 三菱電機エンジニアリング株式会社 *

Also Published As

Publication number Publication date
JP6309706B2 (en) 2018-04-11

Similar Documents

Publication Publication Date Title
JP2019033534A (en) Data packet transfer
US8615623B2 (en) Internet connection switch and internet connection system
CN100456694C (en) Method and apparatus for providing network connector
CN102223365B (en) User access method and device based on SSL (Secure Socket Layer) VPN (Virtual Private Network) gateway cluster
CN106612224B (en) Message forwarding method and device applied to VXLAN
WO2013136522A1 (en) Computer system and method for communicating data between computers
JP4231773B2 (en) VRRP technology that maintains the confidentiality of VR
JP2007219873A (en) Switch and network bridge device
EP2822255B1 (en) System and method of a hardware shadow for a network element
US9898377B2 (en) Switch provided failover
US20170359198A1 (en) Non-transitory computer-readable storage medium, communication control method, and communication control device
CN102209064B (en) Method of using VRRP to provide backup for access equipment and VRRP gateway equipment
JP2018503156A (en) Write request processing method, processor and computer
WO2003069440A2 (en) Network processor with high-speed transceiver
JP6933183B2 (en) Safety control system and safety control unit
US20150229557A1 (en) Data processing system for changing massive paths time-deterministically and operating method of the data processing system
CN108259295B (en) MAC address synchronization method and device
CN112035900A (en) High-performance password card and communication method thereof
CN105591872A (en) Method and device for realization of multi-data center interconnection
CN107819708A (en) Data processing method, system and equipment based on virtual machine (vm) migration
US10268630B1 (en) Noncoherent interprocessor communication remapping node controller
CN104102550A (en) Method for communicating among multiple host machine processes
JP6309706B2 (en) Computer, computer system, and shared memory control method
CN102572013A (en) Method and system for realizing proxy address resolution protocol (ARP) based on gratuitous ARP
CN110679129B (en) Method for securing communication between a first and a second communication device and communication device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160607

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160617

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180315

R150 Certificate of patent or registration of utility model

Ref document number: 6309706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150