JP2017191464A - Information processing system, transmitter, and control method of information processing system - Google Patents

Information processing system, transmitter, and control method of information processing system Download PDF

Info

Publication number
JP2017191464A
JP2017191464A JP2016080545A JP2016080545A JP2017191464A JP 2017191464 A JP2017191464 A JP 2017191464A JP 2016080545 A JP2016080545 A JP 2016080545A JP 2016080545 A JP2016080545 A JP 2016080545A JP 2017191464 A JP2017191464 A JP 2017191464A
Authority
JP
Japan
Prior art keywords
packet
unit
key information
data
information
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
JP2016080545A
Other languages
Japanese (ja)
Other versions
JP6668908B2 (en
Inventor
威 大脇
Takeshi Owaki
威 大脇
淳 川原
Atsushi Kawahara
淳 川原
仁 ▲高▼橋
仁 ▲高▼橋
Hitoshi Takahashi
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016080545A priority Critical patent/JP6668908B2/en
Publication of JP2017191464A publication Critical patent/JP2017191464A/en
Application granted granted Critical
Publication of JP6668908B2 publication Critical patent/JP6668908B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To prevent an erroneous packet transmitted by a transmitter from being processed by a receiver.SOLUTION: Software to be executed by a transmitter stores data in a first holding unit which holds first key information. A management unit of the transmitter stores second key information in a second holding unit configured to prohibit the software from writing data. A packet generation unit of the transmitter generates a packet including the data held by the first and second holding units and first and second key information. A first comparison unit of the receiver compares the first key information included in the packet with first key information held by a third holding unit. A second comparison unit of the receiver compares the second key information included in the packet with second key information held in the third holding unit. A write control unit of the receiver writes the data included in the packet on a storage unit when both first and second comparison units show coincidence.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理システム、送信装置および情報処理システムの制御方法に関する。   The present invention relates to an information processing system, a transmission apparatus, and a control method for the information processing system.

データを互いに送受信する複数のノードを含む情報処理システムにおいて、受信データを格納するキューにおける受信データの格納位置を示すライトポインタとリードポインタとを記憶する複数のポインタセットを受信ノードに設ける手法が提案されている。この種の情報処理システムでは、データを送信する送信ノードが実行するプログラムは、送信データと、受信ノードが使用するポインタセットを示す情報とを送信用のレジスタに格納する。送信ノードは、送信用のレジスタに格納された送信データとポインタセットを示す情報とを含むパケットを生成し、生成したパケットを受信ノードに送信する。受信ノードは、受信したパケットに含まれる情報により示されるポインタセットを選択し、選択したポインタセットのライトポインタが示す領域に、受信したデータを格納する(例えば、特許文献1参照)。   In an information processing system including a plurality of nodes that transmit and receive data to and from each other, a method is proposed in which a plurality of pointer sets that store a write pointer and a read pointer that indicate a storage position of reception data in a queue that stores reception data are provided at the reception node Has been. In this type of information processing system, a program executed by a transmission node that transmits data stores transmission data and information indicating a pointer set used by the reception node in a register for transmission. The transmission node generates a packet including transmission data stored in the transmission register and information indicating the pointer set, and transmits the generated packet to the reception node. The receiving node selects the pointer set indicated by the information included in the received packet, and stores the received data in the area indicated by the write pointer of the selected pointer set (see, for example, Patent Document 1).

また、パケットを送信する送信側端末装置とパケットを受信する受信側端末装置とを含む情報処理システムにおいて、受信側端末装置が、受信したパケットに含まれるスロット識別値により識別されるスロットに保持された情報を用いてパケットを処理する手法が知られている。受信側端末装置は、受信したパケットに含まれる保護キーと、スロット識別値により識別されたスロットに保持された保護キーとが一致する場合、受信したパケットが正常であると判断し、パケットを受け付けて処理を実行する(例えば、特許文献2参照)。   Further, in an information processing system including a transmitting terminal device that transmits a packet and a receiving terminal device that receives a packet, the receiving terminal device is held in a slot identified by a slot identification value included in the received packet. There is known a technique for processing a packet by using the received information. If the protection terminal included in the received packet matches the protection key held in the slot identified by the slot identification value, the receiving terminal device determines that the received packet is normal and accepts the packet. The process is executed (see, for example, Patent Document 2).

特開2013−214168号公報JP2013-214168A 特開平6−309252号公報JP-A-6-309252

上述した情報処理システムでは、例えば、他の送信側端末装置が保護キーと誤ったスロット識別値とを含むパケットを受信側端末装置に送信した場合にも、受信側端末装置は、保護キーさえ一致すれば、パケットを受け付けてしまう。この場合、受信側端末装置は、誤って受信したパケットの処理により、誤動作するおそれがある。   In the information processing system described above, for example, even when another transmitting terminal device transmits a packet including a protection key and an incorrect slot identification value to the receiving terminal device, the receiving terminal device matches even the protection key. If so, the packet is accepted. In this case, the receiving terminal device may malfunction due to processing of a packet received in error.

また、送信側端末装置が実行する複数のプログラムの各々が、スロット識別値と保護キーとを用いて、受信側端末装置側が実行する複数のプログラムの各々にパケットを送信する場合がある。この場合、送信側端末装置が実行するプログラムが、他のプログラムで使用するスロット識別値と保護キーとを含むパケットを送信した場合、他のプログラムに対応する受信側端末装置のプログラムは、誤ったパケットを受信してしまう。   In some cases, each of a plurality of programs executed by the transmitting terminal device transmits a packet to each of the plurality of programs executed by the receiving terminal device using the slot identification value and the protection key. In this case, when the program executed by the transmitting terminal device transmits a packet including a slot identification value and a protection key used in another program, the program of the receiving terminal device corresponding to the other program is incorrect. A packet is received.

1つの側面では、本件開示の情報処理システム、送信装置および情報処理システムの制御方法は、送信装置が送信した誤ったパケットが、受信装置により処理されることを抑止することによりシステムが誤動作することを防止することを目的とする。   In one aspect, the information processing system, the transmission device, and the control method for the information processing system disclosed herein may cause the system to malfunction by preventing an erroneous packet transmitted by the transmission device from being processed by the reception device. The purpose is to prevent.

一つの観点によれば、データを送信する送信装置と、送信装置からデータを受信する受信装置とを有する情報処理システムにおいて、送信装置は、データを生成するソフトウェアを実行するデータ処理部、第1の鍵情報とソフトウェアが生成したデータとを保持する第1の保持部と、データ処理部の動作を管理するとともに第2の鍵情報を生成する管理部と、管理部が生成した第2の鍵情報を保持し、ソフトウェアによる書き込みが禁止された第2の保持部と、第1の保持部が保持するデータおよび第1の鍵情報と、第2の保持部が保持する第2の鍵情報とを含むパケットを生成するパケット生成部と、パケット生成部が生成したパケットを送信するパケット送信部を有し、受信装置は、送信装置からのパケットを受信するパケット受信部と、第1の鍵情報と第2の鍵情報とを保持する第3の保持部と、パケット受信部が受信したパケットに含まれる第1の鍵情報と、第3の保持部に保持された第1の鍵情報とを比較する第1の比較部と、パケット受信部が受信したパケットに含まれる第2の鍵情報と、第3の保持部に保持された第2の鍵情報とを比較する第2の比較部と、第1の比較部による比較結果が一致を示し、かつ、第2の比較部による比較結果が一致を示す場合、パケット受信部が受信したパケットに含まれるデータを記憶部に書き込む書き込み制御部を有する。   According to one aspect, in an information processing system including a transmission device that transmits data and a reception device that receives data from the transmission device, the transmission device includes a data processing unit that executes software for generating data, A first holding unit for holding the key information and the data generated by the software, a management unit for managing the operation of the data processing unit and generating the second key information, and a second key generated by the management unit A second holding unit that holds information and is prohibited from being written by software; data and first key information held by the first holding unit; and second key information held by the second holding unit A packet generation unit that generates a packet including a packet transmission unit that transmits a packet generated by the packet generation unit, and the reception device includes a packet reception unit that receives a packet from the transmission device, A third holding unit that holds the first key information and the second key information, the first key information included in the packet received by the packet receiving unit, and the first key held in the third holding unit A first comparison unit that compares the second key information held in the third holding unit with the first comparison unit that compares the second key information held in the packet received by the packet receiving unit. When the comparison results of the second comparison unit and the first comparison unit indicate coincidence and the comparison result of the second comparison unit indicates coincidence, the data included in the packet received by the packet reception unit is stored in the storage unit. A write controller for writing;

別の観点によれば、受信装置とともに情報処理システムに搭載され、受信装置にデータを送信する送信装置は、データを生成するソフトウェアを実行するデータ処理部、第1の鍵情報とソフトウェアが生成したデータとを保持する第1の保持部と、データ処理部の動作を管理するとともに第2の鍵情報を生成する管理部と、管理部が生成した第2の鍵情報を保持し、ソフトウェアによる書き込みが禁止された第2の保持部と、第1の保持部が保持するデータおよび第1の鍵情報と、第2の保持部が保持する第2の鍵情報とを含むパケットを生成するパケット生成部と、パケット生成部が生成したパケットを送信するパケット送信部を有する。   According to another aspect, a transmitting device that is mounted on an information processing system together with a receiving device and transmits data to the receiving device is generated by a data processing unit that executes software for generating data, first key information and software A first holding unit for holding data, a management unit for managing the operation of the data processing unit and generating second key information, a second key information generated by the management unit, and writing by software Packet generation for generating a packet including a second holding unit in which data is prohibited, data and first key information held by the first holding unit, and second key information held by the second holding unit And a packet transmission unit that transmits the packet generated by the packet generation unit.

さらなる別の観点によれば、データを送信する送信装置と、送信装置からデータを受信する受信装置とを有する情報処理システムの制御方法は、送信装置が有するデータ処理部が、データを生成し、生成したデータを、第1の鍵情報を保持する第1の保持部に格納するソフトウェアを実行し、送信装置が有する管理部が、データ処理部の動作を管理するとともに第2の鍵情報を生成し、生成した第2の鍵情報をソフトウェアによる書き込みが禁止された第2の保持部に格納し、送信装置が有するパケット生成部が、第1の保持部が保持するデータおよび第1の鍵情報と、第2の保持部が保持する第2の鍵情報とを含むパケットを生成し、送信装置が有するパケット送信部が、パケット生成部が生成したパケットを送信し、受信装置が有するパケット受信部が、送信装置からのパケットを受信し、受信装置が有する第1の比較部が、パケット受信部が受信したパケットに含まれる第1の鍵情報と、第3の保持部に保持された第1の鍵情報とを比較し、受信装置が有する第2の比較部が、パケット受信部が受信したパケットに含まれる第2の鍵情報と、第3の保持部に保持された第2の鍵情報とを比較し、受信装置が有する書き込み制御部が、第1の比較部による比較結果が一致を示し、かつ、第2の比較部による比較結果が一致を示す場合、パケット受信部が受信したパケットに含まれるデータを記憶部に書き込む。   According to still another aspect, in a control method of an information processing system including a transmission device that transmits data and a reception device that receives data from the transmission device, a data processing unit included in the transmission device generates data, The software that stores the generated data in the first holding unit that holds the first key information is executed, and the management unit of the transmission device manages the operation of the data processing unit and generates the second key information Then, the generated second key information is stored in a second holding unit that is prohibited from being written by software, and the packet generation unit included in the transmission apparatus stores data and first key information held by the first holding unit. And the second key information held by the second holding unit, the packet transmission unit included in the transmission device transmits the packet generated by the packet generation unit, and the packet included in the reception device. The packet reception unit receives the packet from the transmission device, and the first comparison unit included in the reception device holds the first key information included in the packet received by the packet reception unit and the third holding unit. The second comparison unit included in the reception device compares the second key information contained in the packet received by the packet reception unit with the first key information held in the third holding unit. 2, the write control unit of the receiving device has a packet reception unit when the comparison result by the first comparison unit shows a match and the comparison result by the second comparison unit shows a match. The data included in the received packet is written in the storage unit.

本件開示の情報処理システム、送信装置および情報処理システムの制御方法は、送信装置が送信した誤ったパケットが、受信装置により処理されることを抑止することによりシステムが誤動作することを防止することができる。   The information processing system, the transmission device, and the control method for the information processing system disclosed in the present disclosure may prevent the system from malfunctioning by suppressing an erroneous packet transmitted by the transmission device from being processed by the reception device. it can.

情報処理システム、送信装置および情報処理システムの制御方法の一実施形態を示す図である。It is a figure which shows one Embodiment of the information processing system, the transmitter, and the control method of an information processing system. 図1に示す情報処理システムの動作の一例を示す図である。It is a figure which shows an example of operation | movement of the information processing system shown in FIG. 情報処理システム、送信装置および情報処理システムの制御方法の別の実施形態を示す図である。It is a figure which shows another embodiment of the information processing system, the transmission apparatus, and the control method of an information processing system. 図3に示すCPUの一例を示す図である。It is a figure which shows an example of CPU shown in FIG. 図4に示すレジスタ部20と、パケット制御部においてパケットを送信する場合に動作する要素との一例を示す図である。FIG. 5 is a diagram illustrating an example of a register unit 20 illustrated in FIG. 4 and elements that operate when a packet control unit transmits a packet. 図5に示すパケット生成部が生成するパケットの一例を示す図である。It is a figure which shows an example of the packet which the packet generation part shown in FIG. 5 produces | generates. 図3に示す情報処理システムの状態の一例を示す図である。It is a figure which shows an example of the state of the information processing system shown in FIG. 図7に示すレジスタ部の各エントリに設けられるレジスタのアクセス権限の一例を示す図である。It is a figure which shows an example of the access authority of the register | resistor provided in each entry of the register part shown in FIG. 図4に示すレジスタ部60と、パケット制御部においてパケットを受信する場合に動作する要素との一例を示す図である。FIG. 5 is a diagram illustrating an example of a register unit 60 illustrated in FIG. 4 and elements that operate when a packet control unit receives a packet. 図9に示すパケット判定部の一例を示す図である。It is a figure which shows an example of the packet determination part shown in FIG. 図3に示す情報処理システムの動作の一例を示す図である。It is a figure which shows an example of operation | movement of the information processing system shown in FIG. 図3に示す情報処理システムの動作の別の例を示す図である。It is a figure which shows another example of operation | movement of the information processing system shown in FIG. 他の情報処理システムの動作の一例を示す図である。It is a figure which shows an example of operation | movement of another information processing system. 図4に示すパケット制御部が実行するパケットを送信する処理の一例を示す図である。It is a figure which shows an example of the process which transmits the packet which the packet control part shown in FIG. 4 performs. 図4に示すパケット制御部が実行するパケットを受信する処理の一例を示す図である。It is a figure which shows an example of the process which receives the packet which the packet control part shown in FIG. 4 performs. 図15に示す処理の続きを示す図である。FIG. 16 is a diagram showing a continuation of the processing shown in FIG. 15. 図4に示すコアが実行するアプリケーションプログラムによりパケットを送信する場合の処理の一例を示す図である。It is a figure which shows an example of a process in the case of transmitting a packet with the application program which the core shown in FIG. 4 performs. 図4に示すコアが実行するアプリケーションプログラムによりパケットを受信する場合の処理の一例を示す図である。It is a figure which shows an example of a process in case a packet is received by the application program which the core shown in FIG. 4 performs.

以下、図面を用いて実施形態を説明する。   Hereinafter, embodiments will be described with reference to the drawings.

図1は、情報処理システム、送信装置および情報処理システムの制御方法の一実施形態を示す。図1に示す情報処理システムSYS1は、データを送信する送信装置100と、送信装置100からデータを受信する受信装置200とを有する。送信装置100は、データ処理部110、管理部120、保持部130、140、パケット生成部150およびパケット送信部160を有する。受信装置200は、パケット受信部210、保持部220、比較部230、240、書き込み制御部250および記憶部260を有する。保持部130は、第1の保持部の一例であり、保持部140は、第2の保持部の一例であり、保持部220は、第3の保持部の一例である。   FIG. 1 shows an embodiment of an information processing system, a transmission device, and a control method for the information processing system. The information processing system SYS1 illustrated in FIG. 1 includes a transmission device 100 that transmits data and a reception device 200 that receives data from the transmission device 100. The transmission apparatus 100 includes a data processing unit 110, a management unit 120, holding units 130 and 140, a packet generation unit 150, and a packet transmission unit 160. The receiving apparatus 200 includes a packet receiving unit 210, a holding unit 220, comparison units 230 and 240, a write control unit 250, and a storage unit 260. The holding unit 130 is an example of a first holding unit, the holding unit 140 is an example of a second holding unit, and the holding unit 220 is an example of a third holding unit.

データ処理部110は、アプリケーションプログラムAPRGを実行することでデータDATAを生成し、生成したデータDATAを、鍵情報KEY1を保持する保持部130に格納する。アプリケーションプログラムAPRGは、データ処理部110が実行するソフトウェアの一例である。データ処理部110は、送信装置100に搭載されるCPU(Central Processing Unit)等のプロセッサまたはプロセッサが有するプロセッサコア等である。   The data processing unit 110 generates data DATA by executing the application program APRG, and stores the generated data DATA in the holding unit 130 that holds the key information KEY1. The application program APRG is an example of software executed by the data processing unit 110. The data processing unit 110 is a processor such as a CPU (Central Processing Unit) mounted on the transmission device 100 or a processor core included in the processor.

管理部120は、データ処理部110の動作を管理するとともに鍵情報KEY2を生成し、生成した鍵情報KEY2を保持部140に格納する。管理部120は、データ処理部110の動作を管理するOS(Operating System)等の管理プログラム、または、OSを実行する仮想マシンを制御するハイパーバイザ等の制御プログラムにより実現される。あるいは、管理部120は、データ処理部110の状態を管理するサービスプロセッサ等の管理装置が実行する状態管理プログラムにより実現される。なお、管理部120は、送信装置100の外部に設けられてもよい。   The management unit 120 manages the operation of the data processing unit 110, generates key information KEY2, and stores the generated key information KEY2 in the holding unit 140. The management unit 120 is realized by a management program such as an OS (Operating System) that manages the operation of the data processing unit 110 or a control program such as a hypervisor that controls a virtual machine that executes the OS. Alternatively, the management unit 120 is realized by a state management program executed by a management device such as a service processor that manages the state of the data processing unit 110. Note that the management unit 120 may be provided outside the transmission apparatus 100.

例えば、保持部130、140の記憶領域は、I/O空間に割り当てられる。保持部130は、アプリケーションプログラムAPRGによりアクセスが可能であり、保持部140は、アプリケーションプログラムAPRGによる書き込みが禁止されている。すなわち、保持部130と保持部140とは、アクセス権限が互いに異なる。このため、アプリケーションプログラムAPRGの誤動作等により誤った鍵情報KEY2が保持部140に格納されることを抑止することができる。換言すれば、保持部140に保持された鍵情報KEY2は、アプリケーションプログラムAPRGによって誤って書き替えられることはない。鍵情報KEY1は、第1の鍵情報の一例であり、鍵情報KEY2は、第2の鍵情報の一例である。   For example, the storage areas of the holding units 130 and 140 are allocated to the I / O space. The holding unit 130 can be accessed by the application program APRG, and the holding unit 140 is prohibited from being written by the application program APRG. That is, the holding unit 130 and the holding unit 140 have different access authorities. For this reason, it is possible to prevent the wrong key information KEY2 from being stored in the holding unit 140 due to a malfunction of the application program APRG or the like. In other words, the key information KEY2 held in the holding unit 140 is not erroneously rewritten by the application program APRG. The key information KEY1 is an example of first key information, and the key information KEY2 is an example of second key information.

パケット生成部150は、保持部130に保持されたデータDATAおよび鍵情報KEY1と、保持部140に保持された鍵情報KEY2とを含むパケットを生成する。すなわち、パケット生成部150は、アクセス権限が互いに異なる複数の保持部130、140に保持された鍵情報KEY1、KEY2を含むパケットを生成する。パケット送信部160は、パケット生成部150が生成したパケットを受信装置200に送信する。   The packet generation unit 150 generates a packet including the data DATA and key information KEY1 held in the holding unit 130 and the key information KEY2 held in the holding unit 140. That is, the packet generation unit 150 generates a packet including the key information KEY1 and KEY2 held in the plurality of holding units 130 and 140 having different access authorities. The packet transmission unit 160 transmits the packet generated by the packet generation unit 150 to the reception device 200.

パケット受信部210は、送信装置100からのパケットを受信する。また、パケット受信部210は、送信装置100がデータDATAを送信する前に生成する鍵情報KEY1、KEY2を予め受信し、受信した鍵情報KEY1、KEY2を保持部220に格納する。すなわち、保持部220は、送信装置100が生成する鍵情報KEY1、KEY2を、データDATAが送信装置100から転送される前に予め保持する。   The packet receiving unit 210 receives a packet from the transmission device 100. Further, the packet receiving unit 210 receives key information KEY1 and KEY2 generated before the transmitting apparatus 100 transmits data DATA, and stores the received key information KEY1 and KEY2 in the holding unit 220. That is, the holding unit 220 holds the key information KEY1 and KEY2 generated by the transmission device 100 in advance before the data DATA is transferred from the transmission device 100.

比較部230は、パケット受信部210が受信したパケットに含まれる鍵情報KEY1と、保持部220に保持された鍵情報KEY1とを比較し、比較結果を書き込み制御部250に出力する。比較部240は、パケット受信部210が受信したパケットに含まれる鍵情報KEY2と、保持部220に保持された鍵情報KEY2とを比較し、比較結果を書き込み制御部250に出力する。比較部230は、第1の比較部の一例であり、比較部240は、第2の比較部の一例である。   The comparison unit 230 compares the key information KEY1 included in the packet received by the packet reception unit 210 with the key information KEY1 held in the holding unit 220, and outputs the comparison result to the write control unit 250. The comparison unit 240 compares the key information KEY2 included in the packet received by the packet reception unit 210 with the key information KEY2 held in the holding unit 220, and outputs the comparison result to the write control unit 250. The comparison unit 230 is an example of a first comparison unit, and the comparison unit 240 is an example of a second comparison unit.

書き込み制御部250は、比較部230による比較結果が一致を示し、かつ、比較部240による比較結果が一致を示す場合、パケット受信部210が受信したパケットが正常であると判定し、パケットに含まれるデータを記憶部260に書き込む。一方、書き込み制御部250は、比較部230による比較結果と比較部240による比較結果との少なくともいずれかが不一致を示す場合、パケット受信部210が受信したパケットが正常でないと判定する。この場合、書き込み制御部250は、パケットに含まれるデータを記憶部260に書き込むことなく破棄する。例えば、記憶部260は、SDRAM(Synchronous Dynamic Random Access Memory)、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の記憶装置に割り当てられる。記憶部260は、受信装置200の外部に設けられてもよい。   When the comparison result by the comparison unit 230 indicates a match and the comparison result by the comparison unit 240 indicates a match, the write control unit 250 determines that the packet received by the packet reception unit 210 is normal and is included in the packet Data to be written into the storage unit 260. On the other hand, when at least one of the comparison result by the comparison unit 230 and the comparison result by the comparison unit 240 indicates a mismatch, the write control unit 250 determines that the packet received by the packet reception unit 210 is not normal. In this case, the write control unit 250 discards the data included in the packet without writing it in the storage unit 260. For example, the storage unit 260 is allocated to a storage device such as an SDRAM (Synchronous Dynamic Random Access Memory), an HDD (Hard Disk Drive), or an SSD (Solid State Drive). The storage unit 260 may be provided outside the receiving device 200.

以上のように、受信装置200は、アクセス権限が異なる複数の保持部130、140に保持された鍵情報KEY1、KEY2を用いて、受信したパケットが正常であるか否かを判定する。このため、1つの鍵情報、またはアクセス権限が互いに同じ複数の保持部に保持された複数の鍵情報を用いて、受信したパケットが正常であるか否かを判定する場合に比べて、判定の信頼性を向上することができる。この結果、受信装置200が、正常でないパケットに含まれる誤ったデータを用いてデータ処理等を実行することを抑止することができ、情報処理システムSYS1の信頼性を向上することができる。   As described above, the receiving apparatus 200 determines whether or not the received packet is normal using the key information KEY1 and KEY2 held in the plurality of holding units 130 and 140 having different access authorities. Therefore, compared with the case where it is determined whether or not the received packet is normal using one key information or a plurality of key information held in a plurality of holding units having the same access authority. Reliability can be improved. As a result, it is possible to prevent the receiving apparatus 200 from executing data processing or the like using erroneous data included in an abnormal packet, and the reliability of the information processing system SYS1 can be improved.

図2は、図1に示す情報処理システムSYS1の動作の一例を示す。すなわち、図2は、情報処理システムの制御方法の一例を示す。   FIG. 2 shows an example of the operation of the information processing system SYS1 shown in FIG. That is, FIG. 2 shows an example of a control method of the information processing system.

管理部120は、データDATAの受信装置200への送信が開始される前に、鍵情報KEY2を保持部140に格納するとともに受信装置200に転送する(図2(a))。すなわち、アプリケーションプログラムAPRGより上位のOS等のプログラムによる鍵情報KEY2の保持部140への格納は、データDATAの転送前に予め実行される。このため、データDATAの受信装置200への転送時に、保持部140にアクセスするためのプロセスの切り替えは発生せず、プロセスの切り替え時にプロセスの状態を保存するコンテキストスイッチは発生しない。したがって、コンテキストスイッチ等により、アプリケーションプログラムAPRGの実行効率が低下することを抑止することができる。   The management unit 120 stores the key information KEY2 in the holding unit 140 and transfers it to the reception device 200 before transmission of data DATA to the reception device 200 is started (FIG. 2A). That is, storage of the key information KEY2 in the holding unit 140 by a program such as an OS higher than the application program APRG is executed in advance before the data DATA is transferred. For this reason, at the time of transferring data DATA to the receiving apparatus 200, the process switching for accessing the holding unit 140 does not occur, and the context switch for saving the process state does not occur at the process switching. Therefore, it is possible to prevent the execution efficiency of the application program APRG from decreasing due to a context switch or the like.

アプリケーションプログラムAPRGは、データDATAの受信装置200への送信を開始する前に、鍵情報KEY1を受信装置200に転送する(図2(b))。受信装置200は、送信装置100から転送された鍵情報KEY1、KEY2を保持部220に格納する(図2(c))。   The application program APRG transfers the key information KEY1 to the receiving device 200 before starting transmission of the data DATA to the receiving device 200 (FIG. 2 (b)). The receiving apparatus 200 stores the key information KEY1 and KEY2 transferred from the transmitting apparatus 100 in the holding unit 220 (FIG. 2 (c)).

アプリケーションプログラムAPRGは、データDATAを受信装置200に送信する場合、データDATAおよび鍵情報AKEY1を保持部130に格納する(図2(d))。この後、図2に破線の矢印で示すように、アプリケーションプログラムAPRGは、パケット生成部150にパケットの生成を指示する(図2(e))。   When transmitting the data DATA to the receiving device 200, the application program APRG stores the data DATA and the key information KEY1 in the holding unit 130 (FIG. 2 (d)). Thereafter, as indicated by the dashed arrow in FIG. 2, the application program APRG instructs the packet generation unit 150 to generate a packet (FIG. 2 (e)).

パケット生成部150は、アプリケーションプログラムAPRGからの指示に基づいて、保持部130からデータDATAおよび鍵情報AKEY1を読み出し、保持部140から鍵情報KEY2を読み出す(図2(f))。そして、パケット生成部150は、データDATAと鍵情報KEY1、KEY2とを含むパケットを生成し、生成したパケットを受信装置200に送信する(図2(g))。   Based on the instruction from the application program APRG, the packet generation unit 150 reads the data DATA and the key information KEY1 from the holding unit 130, and reads the key information KEY2 from the holding unit 140 (FIG. 2 (f)). Then, the packet generation unit 150 generates a packet including the data DATA and the key information KEY1 and KEY2, and transmits the generated packet to the reception device 200 (FIG. 2 (g)).

受信装置200のパケット受信部210は、受信したパケットに含まれる鍵情報KEY1を比較部230に出力し、受信したパケットに含まれる鍵情報KEY2を比較部240に出力する(図2(h))。   The packet receiving unit 210 of the receiving apparatus 200 outputs the key information KEY1 included in the received packet to the comparison unit 230, and outputs the key information KEY2 included in the received packet to the comparison unit 240 (FIG. 2 (h)). .

比較部230は、パケット受信部210からの鍵情報KEY1と、保持部220に保持された鍵情報KEY1とを比較し、比較結果を書き込み制御部250に出力する(図2(i))。比較部240は、パケット受信部210からの鍵情報KEY2と、保持部220に保持された鍵情報KEY2とを比較し、比較結果を書き込み制御部250に出力する(図2(j))。   The comparison unit 230 compares the key information KEY1 from the packet reception unit 210 with the key information KEY1 held in the holding unit 220, and outputs the comparison result to the write control unit 250 (FIG. 2 (i)). The comparison unit 240 compares the key information KEY2 from the packet reception unit 210 with the key information KEY2 held in the holding unit 220, and outputs the comparison result to the write control unit 250 (FIG. 2 (j)).

図2に示す例では、比較部230による比較結果が一致を示し、かつ、比較部240による比較結果が一致を示すため、書き込み制御部250は、パケット受信部210が受信したパケットが正常であると判定する。そして、書き込み制御部250は、パケットに含まれるデータDATAを記憶部260に書き込む(図2(k))。   In the example illustrated in FIG. 2, the comparison result by the comparison unit 230 indicates a match, and the comparison result by the comparison unit 240 indicates a match, so that the write control unit 250 has a normal packet received by the packet reception unit 210. Is determined. Then, the write control unit 250 writes the data DATA included in the packet into the storage unit 260 (FIG. 2 (k)).

以上、図1および図2に示す実施形態では、アプリケーションプログラムAPRGより上位のOS等のプログラムは、アプリケーションプログラムAPRGによるアクセスが許可されていない保持部140に鍵情報KEY2を格納する。これにより、アプリケーションプログラムAPRGの誤動作等により誤った鍵情報KEY2が保持部140に格納されることを抑止することができる。また、アクセス権限が異なる複数の保持部130、140に保持された鍵情報KEY1、KEY2を用いて、受信したパケットが正常であるか否かを判定することで、判定の信頼性を向上することができる。   As described above, in the embodiment shown in FIGS. 1 and 2, a program such as an OS higher than the application program APRG stores the key information KEY2 in the holding unit 140 that is not permitted to be accessed by the application program APRG. As a result, it is possible to prevent erroneous key information KEY2 from being stored in the holding unit 140 due to a malfunction of the application program APRG or the like. Further, by using the key information KEY1 and KEY2 held in the plurality of holding units 130 and 140 having different access authorities, it is possible to improve the reliability of the determination by determining whether or not the received packet is normal. Can do.

したがって、送信装置100が送信した誤ったパケットが、受信装置200により処理されることを抑止することができ、受信装置200が、誤ったパケットに含まれるデータを用いてデータ処理等を実行することを抑止することができる。この結果、情報処理システムSYS1の信頼性を向上することができる。   Therefore, it is possible to prevent an erroneous packet transmitted by the transmission device 100 from being processed by the reception device 200, and the reception device 200 executes data processing or the like using data included in the erroneous packet. Can be suppressed. As a result, the reliability of the information processing system SYS1 can be improved.

アプリケーションプログラムAPRGより上位のOS等のプログラムによる鍵情報KEY2の保持部140への格納は、データDATAの転送前に予め実行される。このため、データDATAの受信装置200への転送時にコンテキストスイッチ等は発生せず、コンテキストスイッチ等により、アプリケーションプログラムAPRGの実行効率が低下することを抑止することができる。   Storage of the key information KEY2 in the holding unit 140 by a program such as an OS higher than the application program APRG is executed in advance before the data DATA is transferred. For this reason, a context switch or the like does not occur when the data DATA is transferred to the receiving apparatus 200, and the execution efficiency of the application program APRG can be prevented from being lowered by the context switch or the like.

図3は、情報処理システム、送信装置および情報処理システムの制御方法の別の実施形態を示す。図3に示す情報処理システムSYS2は、クロスバースイッチGXBにより相互に接続された複数のノードND(ND0、ND1、ND2、ND3)を有する。各ノードNDは、サーバ等の情報処理装置により構築される。なお、情報処理システムSYS2に搭載されるノードNDの数は、4個に限定されない。ノードND0−ND3は、互いに同一または同様の構成であるため、以下ではノードND0の構成が説明される。   FIG. 3 shows another embodiment of the information processing system, the transmission apparatus, and the control method of the information processing system. The information processing system SYS2 illustrated in FIG. 3 includes a plurality of nodes ND (ND0, ND1, ND2, ND3) connected to each other by a crossbar switch GXB. Each node ND is constructed by an information processing apparatus such as a server. Note that the number of nodes ND mounted in the information processing system SYS2 is not limited to four. Since the nodes ND0 to ND3 have the same or similar configuration, the configuration of the node ND0 will be described below.

ノードND0は、複数のCPU(CPU0、CPU1)、複数の記憶装置MEM(MEM0、MEM1)、クロスバースイッチLXB、スイッチSW、HDDおよびネットワークインタフェースNWIFを有する。各CPUは、メモリバスMBUS(MBUS0、MBUS1)を介して互いに異なる記憶装置MEMに接続される。例えば、記憶装置MEMは、複数のSDRAM)が搭載されたDIMM(Dual Inline Memory Module)である。なお、各ノードNDは、HDDの代わりにSSDを有してもよく、HDDとSSDの両方を有してもよい。   The node ND0 includes a plurality of CPUs (CPU0, CPU1), a plurality of storage devices MEM (MEM0, MEM1), a crossbar switch LXB, a switch SW, an HDD, and a network interface NWIF. Each CPU is connected to different storage devices MEM via a memory bus MBUS (MBUS0, MBUS1). For example, the storage device MEM is a DIMM (Dual Inline Memory Module) equipped with a plurality of SDRAMs. Each node ND may have an SSD instead of the HDD, or may have both an HDD and an SSD.

各ノードNDにおいて、CPUは、他のCPUに接続された記憶装置MEMにアクセス可能である。さらに、各ノードNDのCPUは、クロスバースイッチLXB、GXBを介して、他のノードNDのCPUに接続された記憶装置MEMにアクセス可能である。すなわち、情報処理システムSYS2は、cc−NUMA(cache-coherent NonUniform Memory Access)アーキテクチャを採用したマルチプロセッサシステムとして機能する。   In each node ND, the CPU can access the storage device MEM connected to another CPU. Further, the CPU of each node ND can access the storage device MEM connected to the CPUs of other nodes ND via the crossbar switches LXB and GXB. That is, the information processing system SYS2 functions as a multiprocessor system adopting a cc-NUMA (cache-coherent NonUniform Memory Access) architecture.

クロスバースイッチLXBは、各CPUをクロスバースイッチGXBに接続する。なお、各ノードND内のCPUは、クロスバースイッチLXBを介することなく、データ等の情報を直接送受信可能である。スイッチSWは、例えば、PCIe(Peripheral Component Interconnect express)スイッチ等であり、各CPUをHDDまたはネットワークインタフェースNWIFに接続する。ネットワークインタフェースNWIFは、LAN(Local Area Network)等のネットワークに接続される。   The crossbar switch LXB connects each CPU to the crossbar switch GXB. The CPU in each node ND can directly transmit and receive information such as data without going through the crossbar switch LXB. The switch SW is, for example, a PCIe (Peripheral Component Interconnect express) switch or the like, and connects each CPU to the HDD or the network interface NWIF. The network interface NWIF is connected to a network such as a LAN (Local Area Network).

クロスバースイッチGXBは、各ノードNDから受信するデータを含むパケットを、パケットに含まれる宛先情報により示されるノードNDに出力する。クロスバースイッチGXBは、各ノードNDのハードウェア等の資源を管理するサービスプロセッサSPを有する。   The crossbar switch GXB outputs a packet including data received from each node ND to the node ND indicated by the destination information included in the packet. The crossbar switch GXB has a service processor SP that manages resources such as hardware of each node ND.

例えば、サービスプロセッサSPは、状態管理プログラムを実行することで、CPUに供給される電源電圧、クロック周波数を制御し、ノードND内のCPU等が収納される筐体内の温度に応じて、筐体に取り付けられたファン(図示せず)の回転数を制御する。サービスプロセッサSPは、CPUおよび図4に示すCPUコア10の状態を管理する管理装置の一例である。なお、サービスプロセッサSPは、各ノードNDに搭載されてもよい。   For example, the service processor SP executes a state management program to control the power supply voltage and the clock frequency supplied to the CPU, and according to the temperature in the casing in which the CPU and the like in the node ND are stored. The number of rotations of a fan (not shown) attached to is controlled. The service processor SP is an example of a management device that manages the state of the CPU and the CPU core 10 shown in FIG. The service processor SP may be mounted on each node ND.

図4は、図3に示すCPUの一例を示す。図4は、CPUコア10間で転送されるパケットの処理に関連する要素を示し、CPUと図3に示すスイッチSWとの接続に関連する要素およびCPU間の接続に関連する要素等の記載は省略される。なお、パケットを送信するCPUは、送信装置として機能し、パケットを受信するCPUは、受信装置として機能する。   FIG. 4 shows an example of the CPU shown in FIG. FIG. 4 shows elements related to processing of packets transferred between the CPU cores 10, and description of elements related to connection between the CPU and the switch SW shown in FIG. Omitted. A CPU that transmits a packet functions as a transmitting device, and a CPU that receives a packet functions as a receiving device.

CPUは、システムバスSBUSを介して互いに接続されたCPUコア10(10a、10b、10c、10d)、レジスタ部20、パケット制御部30、レジスタ部60、メモリ制御部70、およびメモリ制御部70に接続されたキャッシュメモリ80を有する。なお、CPUコア10は、メモリ制御部70を介してシステムバスSBUSに接続されてもよい。CPUに搭載されるCPUコア10の数は、4個に限定されない。以下の説明では、CPUコア10は、コア10とも称される。   The CPU is connected to the CPU cores 10 (10a, 10b, 10c, 10d), the register unit 20, the packet control unit 30, the register unit 60, the memory control unit 70, and the memory control unit 70 connected to each other via the system bus SBUS. It has a connected cache memory 80. The CPU core 10 may be connected to the system bus SBUS via the memory control unit 70. The number of CPU cores 10 mounted on the CPU is not limited to four. In the following description, the CPU core 10 is also referred to as the core 10.

各コア10は、メモリバスMBUSを介して接続される記憶装置MEM(図3)に格納されたアプリケーションプログラムを実行する。アプリケーションプログラムは、コア10が実行するソフトウェアの一例である。そして、各コア10は、アプリケーションプログラムの処理に使用するデータ等の情報を、他のコア10に送信し、または、データ等の情報を他のコア10から受信する。すなわち、複数のコア10が実行するアプリケーションプログラム間でデータ等の情報が転送される。なお、データ等の情報を互いに転送するコア10は、1つのノードNDに含まれてもよく、互いに異なるノードNDに含まれてもよい。記憶装置MEMに格納されたアプリケーションプログラム(命令コード)は、コア10にフェッチされたことに基づいてキャッシュメモリ80に保持される。コア10は、アプリケーションプログラムを実行するデータ処理部の一例である。   Each core 10 executes an application program stored in the storage device MEM (FIG. 3) connected via the memory bus MBUS. The application program is an example of software executed by the core 10. Then, each core 10 transmits information such as data used for processing of the application program to the other core 10 or receives information such as data from the other core 10. That is, information such as data is transferred between application programs executed by the plurality of cores 10. The core 10 that transfers information such as data to each other may be included in one node ND or may be included in different nodes ND. The application program (instruction code) stored in the storage device MEM is held in the cache memory 80 based on being fetched by the core 10. The core 10 is an example of a data processing unit that executes an application program.

レジスタ部20は、各コア10から他のコア10に送信するデータと、データの送信処理に使用する情報と、送信したデータに対する他のコア10から応答に含まれる情報とを保持する複数のエントリENTSを有する。エントリENTSは、コア10に対応してそれぞれ設けられる。レジスタ部20は、CPU内の各コア10と、パケット制御部30によりアクセスされる。エントリENTSの例は、図5に示される。   The register unit 20 has a plurality of entries that hold data to be transmitted from each core 10 to other cores 10, information used for data transmission processing, and information included in responses from other cores 10 to the transmitted data Have ENTS. The entries ENTS are provided corresponding to the cores 10, respectively. The register unit 20 is accessed by each core 10 in the CPU and the packet control unit 30. An example of entry ENTS is shown in FIG.

パケット制御部30は、パケット送信制御部40およびパケット受信制御部50を有する。パケット送信制御部40は、データを送信する場合、レジスタ部20のエントリENTSに保持されたデータを含む情報を用いてパケットを生成し、生成したパケットを、クロスバースイッチLXBを介してパケットの送信先のコア10に向けて送信する。また、パケット送信制御部40は、対応するパケット受信制御部50がデータを受信した場合、応答パケットを生成し、生成した応答パケットを、クロスバースイッチLXBを介してデータの送信元のコア10に送信する。   The packet control unit 30 includes a packet transmission control unit 40 and a packet reception control unit 50. When transmitting data, the packet transmission control unit 40 generates a packet using information including data held in the entry ENTS of the register unit 20, and transmits the generated packet via the crossbar switch LXB. Transmit to the previous core 10. Further, when the corresponding packet reception control unit 50 receives data, the packet transmission control unit 40 generates a response packet, and sends the generated response packet to the core 10 that is the data transmission source via the crossbar switch LXB. Send.

パケット受信制御部50は、クロスバースイッチLXBを介してパケットを受信し、受信したパケットに含まれるデータを記憶装置MEM(図3)に割り当てられたメッセージキューMQUE(図9)に格納する。この際、パケット受信制御部50は、パケットに含まれる情報に基づいて、レジスタ部60のエントリENTRのいずれかを参照し、データを格納するメッセージキューMQUEを決定する。また、パケット受信制御部50は、パケット送信制御部40が送信したパケットに対応する応答パケットを受信した場合、以下の動作を実行する。すなわち、パケット受信制御部50は、応答パケットを送信したコア10に割り当てられたメッセージキューMQUEの状態を示す情報を応答パケットから抽出する。そして、パケット受信制御部50は、抽出した情報を、レジスタ部20のエントリENTSのうち、元のパケットの送信の生成に使用されたエントリENTSに格納する。   The packet reception control unit 50 receives the packet via the crossbar switch LXB, and stores the data included in the received packet in the message queue MQUE (FIG. 9) assigned to the storage device MEM (FIG. 3). At this time, the packet reception control unit 50 refers to any of the entries ENTR in the register unit 60 based on information included in the packet, and determines a message queue MQUE for storing data. Further, when receiving a response packet corresponding to the packet transmitted by the packet transmission control unit 40, the packet reception control unit 50 executes the following operation. That is, the packet reception control unit 50 extracts information indicating the state of the message queue MQUE assigned to the core 10 that has transmitted the response packet from the response packet. Then, the packet reception control unit 50 stores the extracted information in the entry ENTS used for generating the transmission of the original packet among the entries ENTS of the register unit 20.

なお、パケットを送信するコア10とパケットを受信するコア10とが1つのノードNDに含まれる場合、パケットは、クロスバースイッチLXBを介することなく、コア10間で直接転送される。パケット送信制御部40およびパケット受信制御部50の例は、図5および図9に示される。   When the core 10 that transmits a packet and the core 10 that receives a packet are included in one node ND, the packet is directly transferred between the cores 10 without going through the crossbar switch LXB. Examples of the packet transmission control unit 40 and the packet reception control unit 50 are shown in FIGS.

レジスタ部60は、パケットの受信処理時にパケット受信制御部50によりアクセスされる情報を保持する複数のエントリENTRを有する。エントリENTRは、データを受信するアプリケーションプログラム毎に割り当てられる。エントリENTRの例は、図9に示される。   The register unit 60 includes a plurality of entries ENTR that hold information accessed by the packet reception control unit 50 during packet reception processing. The entry ENTR is allocated for each application program that receives data. An example of the entry ENTR is shown in FIG.

メモリ制御部70は、システムバスSBUSを介してコア10から受信するメモリアクセス要求に基づいて動作する。ここで、メモリアクセス要求を発行するコア10が、他のCPUに含まれる場合、メモリアクセス要求は、パケット受信制御部50を介して他のCPUのコア10からメモリ制御部70に転送される。メモリ制御部70は、メモリアクセス要求の対象データがキャッシュメモリ80に保持されている場合(キャッシュヒット)、キャッシュメモリ80にアクセスする。メモリ制御部70は、メモリアクセス要求の対象データがキャッシュメモリ80に保持されていない場合(キャッシュミス)、メモリバスMBUSに接続された記憶装置MEMにアクセスし、あるいは、他のCPUにメモリアクセス要求を転送する。   The memory control unit 70 operates based on a memory access request received from the core 10 via the system bus SBUS. Here, when the core 10 issuing the memory access request is included in another CPU, the memory access request is transferred from the core 10 of the other CPU to the memory control unit 70 via the packet reception control unit 50. The memory control unit 70 accesses the cache memory 80 when the target data of the memory access request is held in the cache memory 80 (cache hit). When the target data for the memory access request is not held in the cache memory 80 (cache miss), the memory control unit 70 accesses the storage device MEM connected to the memory bus MBUS, or requests a memory access to another CPU. Forward.

メモリアクセス要求が転送された他のCPUは、メモリバスMBUSに接続された記憶装置MEMにアクセスし、アクセス結果を応答として発行する。なお、メモリ制御部70は、キャッシュメモリ80からデータを追い出す追い出し処理等を実行することで、記憶装置MEMが保持するデータとキャッシュメモリ80が保持するデータとの一貫性(キャッシュコヒーレンシ)を維持する制御を実行する。例えば、キャッシュメモリ80は、2次キャッシュであり、アプリケーションプログラムが実行する命令と、アプリケーションプログラムが処理するデータとを保持する。   The other CPU to which the memory access request has been transferred accesses the storage device MEM connected to the memory bus MBUS and issues an access result as a response. Note that the memory control unit 70 performs consistency processing (cache coherency) between the data held by the storage device MEM and the data held by the cache memory 80 by executing a eviction process or the like that drives data from the cache memory 80. Execute control. For example, the cache memory 80 is a secondary cache, and holds instructions executed by the application program and data processed by the application program.

図5は、図4に示すレジスタ部20と、パケット制御部30においてパケットを送信する場合に動作する要素との一例を示す。図5に示す要素は、パケットを送信する送信装置として機能する。図4に示すパケット送信制御部40は、パケット生成部42およびパケット送信部44を有し、図4に示すパケット受信制御部50は、パケット受信部52および応答格納部54を有する。   FIG. 5 shows an example of the register unit 20 shown in FIG. 4 and elements that operate when the packet control unit 30 transmits a packet. The element illustrated in FIG. 5 functions as a transmission device that transmits a packet. The packet transmission control unit 40 illustrated in FIG. 4 includes a packet generation unit 42 and a packet transmission unit 44, and the packet reception control unit 50 illustrated in FIG. 4 includes a packet reception unit 52 and a response storage unit 54.

レジスタ部20の各エントリENTSは、レジスタMSG−DT、MSGQ−ID(Identification)、SEND−MSG、PK−SP、PK−HV、PK−OS、STを有する。レジスタ部20は、記憶装置MEMが割り当てられるアドレス空間とは別の領域(例えば、I/O空間等)に設けられる。コア10が実行するアプリケーションプログラム(プロセス)は、レジスタMSG−DT、MSGQ−IDに保持させる情報を生成し、生成した情報をレジスタMSG−DT、MSGQ−IDに格納する。   Each entry ENTS of the register unit 20 includes registers MSG-DT, MSGQ-ID (Identification), SEND-MSG, PK-SP, PK-HV, PK-OS, and ST. The register unit 20 is provided in an area (for example, an I / O space) different from the address space to which the storage device MEM is allocated. The application program (process) executed by the core 10 generates information to be held in the registers MSG-DT and MSGQ-ID, and stores the generated information in the registers MSG-DT and MSGQ-ID.

レジスタPK−SPには、サービスプロセッサSPが実行する管理プログラムが生成する鍵情報が格納される。レジスタPK−HVには、ノードND内で起動される仮想マシンを制御する制御プログラムであるハイパーバイザHVが生成する鍵情報が格納される。レジスタPK−OSには、コア10または仮想マシンが実行するOSが生成する鍵情報が格納される。アプリケーションプログラム(プロセス)は、OSの管理下で動作し、OSは、ハイパーバイザHVの管理下で動作する。レジスタPK−SP、PK−HV、PK−OSのアクセス権限については、図8で説明する。以下の説明では、レジスタPK−SPに格納される鍵情報は、鍵情報PK−SPと称され、レジスタPK−HVに格納される鍵情報は、鍵情報PK−HVと称され、レジスタPK−OSに格納される鍵情報は、鍵情報PK−OSと称される。鍵情報PK−SP、PK−HV、PK−OSは、第2の鍵情報の一例である。レジスタ部20は、第1の保持部および第2の保持部の一例である。   The register PK-SP stores key information generated by the management program executed by the service processor SP. The register PK-HV stores key information generated by the hypervisor HV that is a control program for controlling the virtual machine that is activated in the node ND. The register PK-OS stores key information generated by the OS executed by the core 10 or the virtual machine. The application program (process) operates under the management of the OS, and the OS operates under the management of the hypervisor HV. The access authority of the registers PK-SP, PK-HV, and PK-OS will be described with reference to FIG. In the following description, the key information stored in the register PK-SP is referred to as key information PK-SP, the key information stored in the register PK-HV is referred to as key information PK-HV, and the register PK- The key information stored in the OS is referred to as key information PK-OS. Key information PK-SP, PK-HV, and PK-OS are examples of second key information. The register unit 20 is an example of a first holding unit and a second holding unit.

例えば、アプリケーションプログラム(プロセス)を実行する複数のコア10がそれぞれ使用するエントリENTSには、互いに異なる鍵情報PK−SP、互いに異なる鍵情報PK−HVおよび互いに異なる鍵情報PK−OSが格納される。複数のコア10がアプリケーションプログラム(プロセス)をそれぞれ実行する場合、エントリENTSに保持された鍵情報PK−SP、PK−HV、PK−OSを書き替えることなく、プロセスを切り替えることができる。すなわち、互いに異なるコア10がそれぞれ実行するプロセスの切り替え時にコンテキストスイッチは発生しない。一方、1つのコア10が複数のアプリケーションプログラム(プロセス)を実行する場合、複数のプロセスは共通のエントリENTSを使用するため、プロセスの切り替え時にコンテキストスイッチが発生する。   For example, different entry key information PK-SP, different key information PK-HV, and different key information PK-OS are stored in the entry ENTS used by each of the plurality of cores 10 that execute the application program (process). . When the plurality of cores 10 execute application programs (processes), the processes can be switched without rewriting the key information PK-SP, PK-HV, and PK-OS held in the entry ENTS. That is, no context switch occurs when switching processes executed by different cores 10. On the other hand, when one core 10 executes a plurality of application programs (processes), since the plurality of processes use a common entry ENTS, a context switch occurs at the time of process switching.

なお、各エントリENTSは、レジスタPK−SP、PK−HV、PK−OSの少なくとも1つを有してもよい。例えば、各エントリENTSは、レジスタPK−OSのみを有してもよく、レジスタPK−HVのみを有してもよく、レジスタPK−SPのみを有してもよい。あるいは、各エントリENTSは、2つのレジスタPK−OS、PK−HVを有してもよく、2つのレジスタPK−OS、PK−SPを有してもよく、2つのレジスタPK−HF、PK−SPを有してもよい。例えば、仮想マシンが起動されない情報処理システムでは、各エントリENTSは、2つのレジスタPK−OS、PK−HVを有する。   Each entry ENTS may include at least one of registers PK-SP, PK-HV, and PK-OS. For example, each entry ENTS may have only the register PK-OS, may have only the register PK-HV, or may have only the register PK-SP. Alternatively, each entry ENTS may have two registers PK-OS and PK-HV, two registers PK-OS and PK-SP, and two registers PK-HF and PK- You may have SP. For example, in an information processing system in which a virtual machine is not activated, each entry ENTS has two registers PK-OS and PK-HV.

レジスタMSG−DT、MSGQ−ID、PK−SP、PK−HV、PK−OSが保持する情報は、パケット生成部42により読み出される。また、アプリケーションプログラムは、パケット生成部42にパケットを生成させる場合、レジスタSEND−MSGをセットする。レジスタSTが保持する情報は、応答格納部54により書き込まれ、アプリケーションプログラムにより読み出される。   Information stored in the registers MSG-DT, MSGQ-ID, PK-SP, PK-HV, and PK-OS is read by the packet generation unit 42. Further, the application program sets the register SEND-MSG when the packet generation unit 42 generates a packet. Information held in the register ST is written by the response storage unit 54 and read by the application program.

レジスタMSG−DTには、パケットの送信元のアプリケーションプログラムからパケットの送信先のアプリケーションプログラムに転送されるデータ(送信データ)が格納される。以下の説明では、レジスタMSG−DTに格納されるデータは、メッセージデータMSG−DTとも称される。特に限定されないが、メッセージデータMSG−DTは、32バイトまたは64バイトである。   The register MSG-DT stores data (transmission data) transferred from the packet transmission source application program to the packet transmission destination application program. In the following description, the data stored in the register MSG-DT is also referred to as message data MSG-DT. Although not particularly limited, the message data MSG-DT is 32 bytes or 64 bytes.

レジスタMSGQ−IDには、メッセージデータMSG−DTを送信先のプロセスに送信するための管理情報が格納される。以下の説明では、レジスタMSGQ−IDに格納されるデータは、管理情報MSGQ−IDとも称される。レジスタMSGQ−IDに格納される管理情報MSGQ−IDの例は、図6に示される。   The register MSGQ-ID stores management information for transmitting the message data MSG-DT to the destination process. In the following description, data stored in the register MSGQ-ID is also referred to as management information MSGQ-ID. An example of the management information MSGQ-ID stored in the register MSGQ-ID is shown in FIG.

レジスタSEND−MSGには、パケットをパケット生成部42に生成させてパケット送信部44から送信する場合、送信要求情報が格納される。例えば、レジスタSEND−MSGは1ビットであり、送信要求情報は論理1である。アプリケーションプログラムがレジスタSEND−MSGに論理1を書き込んだ場合、レジスタ部20は、送信要求を示す1ショットパルス信号をパケット生成部42に出力する。以下の説明では、レジスタSEND−MSGに格納される論理1およびパケット生成部42に出力される1ショットパルス信号は、送信要求SEND−MSGとも称される。   The register SEND-MSG stores transmission request information when the packet generation unit 42 generates a packet and transmits the packet from the packet transmission unit 44. For example, the register SEND-MSG is 1 bit, and the transmission request information is logic 1. When the application program writes logic 1 to the register SEND-MSG, the register unit 20 outputs a one-shot pulse signal indicating a transmission request to the packet generation unit 42. In the following description, the logic 1 stored in the register SEND-MSG and the one-shot pulse signal output to the packet generator 42 are also referred to as a transmission request SEND-MSG.

レジスタSTには、送信先のプロセスに送信したパケットに対応する応答に含まれる状態情報が格納される。以下の説明では、レジスタSTに格納される状態情報は、状態情報STとも称される。状態情報STの例は、図9で説明される。   The register ST stores state information included in the response corresponding to the packet transmitted to the destination process. In the following description, the state information stored in the register ST is also referred to as state information ST. An example of the state information ST will be described with reference to FIG.

パケット生成部42は、レジスタSEND−MSGを介してプロセスから送信要求SEND−MSGを受信したことに基づいて、パケットを生成し、生成したパケットをパケット送信部44に出力する。すなわち、パケット生成部42は、送信元CPU−IDおよびエントリIDと、エントリENTSに保持された管理情報MSGQ−ID、メッセージデータMSG−DTおよび鍵情報PK−SP、PK−HV、PK−OSとを用いて、パケットを生成する。送信元CPU−IDは、パケット生成部42を含むCPUを識別する番号を示す。エントリIDは、パケットに付加されるシーケンス番号等であり、パケットと応答パケットとの対応を取るために使用される。パケット生成部42が生成するパケットの例は、図6に示される。   The packet generation unit 42 generates a packet based on the reception of the transmission request SEND-MSG from the process via the register SEND-MSG, and outputs the generated packet to the packet transmission unit 44. That is, the packet generation unit 42 includes the transmission source CPU-ID and the entry ID, the management information MSGQ-ID, the message data MSG-DT, and the key information PK-SP, PK-HV, and PK-OS held in the entry ENTS. Is used to generate a packet. The transmission source CPU-ID indicates a number for identifying a CPU including the packet generation unit 42. The entry ID is a sequence number or the like added to the packet, and is used to take a correspondence between the packet and the response packet. An example of a packet generated by the packet generator 42 is shown in FIG.

なお、パケット生成部42は、送信要求SEND−MSGを出力したエントリENTSに保持されたメッセージデータMSG−DT、管理情報MSGQ−IDおよび鍵情報PK−SP、PK−HV、PK−OSを調停により選択する図示しない調停部を有する。   The packet generation unit 42 arbitrates the message data MSG-DT, management information MSGQ-ID, and key information PK-SP, PK-HV, and PK-OS held in the entry ENTS that has output the transmission request SEND-MSG. An arbitration unit (not shown) is selected.

パケット送信部44は、パケット生成部42から受信したパケットを、クロスバースイッチLXBを介して送信先のコア10に向けて送信する。   The packet transmission unit 44 transmits the packet received from the packet generation unit 42 toward the transmission destination core 10 via the crossbar switch LXB.

パケット受信部52は、パケットの送信先のコア10からの状態情報STを含むパケット(応答パケット)を、クロスバースイッチLXBを介して受信し、受信したパケットに含まれる状態情報STを応答格納部54に出力する。応答格納部54は、パケット受信部52から受信した状態情報STを、応答パケットに対応する元のパケットを生成した情報を保持するエントリENTSのレジスタSTに格納する。   The packet receiving unit 52 receives a packet (response packet) including the state information ST from the core 10 that is the destination of the packet via the crossbar switch LXB, and receives the state information ST included in the received packet as a response storage unit To 54. The response storage unit 54 stores the state information ST received from the packet reception unit 52 in the register ST of the entry ENTS that holds information that generated the original packet corresponding to the response packet.

アプリケーションプログラムは、メッセージデータMSG−DTを送信する場合、対応するエントリENTSを使用して、パケットを送信する処理を実行する。パケットの送信後、アプリケーションプログラムは、状態情報STがレジスタSTに書き込まれたことに基づいて、レジスタSTから状態情報STを読み出す。   When transmitting the message data MSG-DT, the application program executes a process of transmitting a packet using the corresponding entry ENTS. After transmitting the packet, the application program reads the state information ST from the register ST based on the state information ST being written to the register ST.

図6は、図5に示すパケット生成部42が生成するパケットの一例を示す。パケットは、送信先CPU−ID、送信元CPU−ID、エントリID、管理情報MSGQ−ID、鍵情報PK−SP、PK−HV、PK−OSおよびメッセージデータMSG−DTを含む。パケットにおいて、送信先CPU−ID、送信元CPU−ID、エントリID、管理情報MSGQ−IDおよび鍵情報PK−SP、PK−HV、PK−OSは、ヘッダ部であり、メッセージデータMSG−DTは、データ部である。送信先CPU−IDは、管理情報MSGQ−IDに含まれるCPU情報CPU−IDが使用される。   FIG. 6 shows an example of a packet generated by the packet generator 42 shown in FIG. The packet includes a destination CPU-ID, a source CPU-ID, an entry ID, management information MSGQ-ID, key information PK-SP, PK-HV, PK-OS, and message data MSG-DT. In the packet, destination CPU-ID, source CPU-ID, entry ID, management information MSGQ-ID and key information PK-SP, PK-HV, PK-OS are header parts, and message data MSG-DT is The data part. As the destination CPU-ID, the CPU information CPU-ID included in the management information MSGQ-ID is used.

管理情報MSGQ−IDは、CPU情報CPU−ID、レジスタセット情報REG−ID、鍵情報AKEY、メッセージサイズM−SIZEを含む。CPU情報CPU−IDは、パケットの送信先のCPUを識別する番号を含む。レジスタセット情報REG−IDは、パケットを受信するCPUが使用するレジスタ部60のエントリENTR(図9)を識別する番号である。鍵情報AKEYは、パケットを送信するコア10とパケットを受信するコア10とが互いの識別に使用する第1の鍵情報の一例であり、パケットが正常か否かを判定するために使用される。レジスタセット情報REG−IDおよび鍵情報AKEYは、パケットを受信するプロセスからパケットを送信するプロセスに予め通知される。   The management information MSGQ-ID includes CPU information CPU-ID, register set information REG-ID, key information AKEY, and message size M-SIZE. The CPU information CPU-ID includes a number that identifies the destination CPU of the packet. The register set information REG-ID is a number for identifying the entry ENTR (FIG. 9) of the register unit 60 used by the CPU that receives the packet. The key information AKEY is an example of first key information used for identification between the core 10 that transmits a packet and the core 10 that receives the packet, and is used to determine whether or not the packet is normal. . The register set information REG-ID and key information KEY are notified in advance from the packet receiving process to the packet transmitting process.

パケットの送受信を鍵情報AKEYだけでなく、アプリケーションプログラムにより書き替えられない鍵情報PK−SP、PK−HV、PK−OSにより管理することで、予め決められたアプリケーションプログラム間でのパケットの送受信を保証することができる。換言すれば、アプリケーションプログラムが誤動作した場合にも、誤ったアプリケーションプログラム間でパケットが送受信されることを抑止することができるため、情報処理システムSYS2の信頼性を向上することができる。なお、鍵情報PK−SP、PK−HV、PK−OSは、管理情報MSGQ−ID内に鍵情報AKEYとともに格納されてもよい。   The packet transmission / reception is managed not only by the key information AKEY but also by the key information PK-SP, PK-HV, and PK-OS that cannot be rewritten by the application program, so that the packet transmission / reception between predetermined application programs can be performed. Can be guaranteed. In other words, even when an application program malfunctions, packets can be prevented from being transmitted and received between erroneous application programs, so that the reliability of the information processing system SYS2 can be improved. The key information PK-SP, PK-HV, and PK-OS may be stored together with the key information KEY in the management information MSGQ-ID.

メッセージサイズM−SIZEは、メッセージデータMSG−DTのサイズ(32バイトまたは64バイト)を示す。なお、メッセージデータMSG−DTのサイズが1種類しかない場合、管理情報MSGQ−IDは、メッセージサイズM−SIZEを含まない。なお、図6に示すパケットは、送信先CPU−IDから順にクロスバースイッチLXBに送出される。   Message size M-SIZE indicates the size (32 bytes or 64 bytes) of message data MSG-DT. When there is only one type of message data MSG-DT, the management information MSGQ-ID does not include the message size M-SIZE. Note that the packets shown in FIG. 6 are sent to the crossbar switch LXB in order from the destination CPU-ID.

図7は、図3に示す情報処理システムSYS2の状態の一例を示す。図7に示す例では、ハイパーバイザHVがノードND0内に起動され、ハイパーバイザHVは、3個の仮想マシンを起動して、仮想マシンにOS(OS0、OS1、OS2)を実行させる。OS2は、CPU0により実行される。そして、3個のプロセスPROC(PROC0、PROC1、PROC2;すなわち、アプリケーションプログラム)がOS2上で動作する。図7に示す破線枠は、ソフトウェアの動作状態を示す。OSは、コア10の動作を管理する管理プログラムの一例であり、ハイパーバイザHVは、仮想マシンを制御する制御プログラムの一例である。   FIG. 7 shows an example of the state of the information processing system SYS2 shown in FIG. In the example illustrated in FIG. 7, the hypervisor HV is activated in the node ND0, and the hypervisor HV activates three virtual machines and causes the virtual machines to execute the OS (OS0, OS1, OS2). OS2 is executed by CPU0. Then, three processes PROC (PROC0, PROC1, PROC2; that is, an application program) operate on the OS2. A broken line frame illustrated in FIG. 7 indicates an operation state of the software. The OS is an example of a management program that manages the operation of the core 10, and the hypervisor HV is an example of a control program that controls a virtual machine.

例えば、プロセスPROC2がデータの送信を開始する前に、サービスプロセッサSPにより実行される状態管理プログラムは、プロセスPROC2で使用するエントリENTSに鍵情報PK−SPを格納する。同様に、ハイパーバイザHVは、プロセスPROC2で使用するエントリENTSに鍵情報PK−HVを格納し、OS2は、プロセスPROC2で使用するエントリENTSに鍵情報PK−OSを格納する。そして、OS2上で動作するプロセスPROC2は、使用するエントリENTSに鍵情報AKEYを格納する。   For example, before the process PROC2 starts transmitting data, the state management program executed by the service processor SP stores the key information PK-SP in the entry ENTS used in the process PROC2. Similarly, the hypervisor HV stores the key information PK-HV in the entry ENTS used in the process PROC2, and the OS2 stores the key information PK-OS in the entry ENTS used in the process PROC2. Then, the process PROC2 operating on the OS2 stores the key information KEY in the entry ENTS to be used.

このように、レジスタPK−SP、PK−HV、PK−OSに鍵情報PK−SP、PK−HV、PK−OSを格納する管理部は、状態管理プログラムと、ハイパーバイザHVと、OSとによりそれぞれ実現される。すなわち、状態管理プログラム、ハイパーバイザHVおよびOSは、コア10の動作を管理するととともに、鍵情報PK−SP、PK−HV、PK−OSを生成する管理部の一例である。なお、図5で説明したように、各エントリENTSは、レジスタPK−SP、PK−HV、PK−OSの少なくとも1つを有してもよい。   As described above, the management unit that stores the key information PK-SP, PK-HV, and PK-OS in the registers PK-SP, PK-HV, and PK-OS includes the state management program, the hypervisor HV, and the OS. Each is realized. That is, the state management program, the hypervisor HV, and the OS are examples of a management unit that manages the operation of the core 10 and generates the key information PK-SP, PK-HV, and PK-OS. As described with reference to FIG. 5, each entry ENTS may include at least one of registers PK-SP, PK-HV, and PK-OS.

図8は、図7に示すレジスタ部20の各エントリENTSに設けられるレジスタAKEY、PK−OS、PK−HV、PK−SPのアクセス権限の一例を示す。レジスタAKEYは、プロセスPROC、OS、ハイパーバイザHVおよびサービスプロセッサSPによりアクセス可能であり、レジスタPK−OSは、OS、ハイパーバイザHVおよびサービスプロセッサSPによりアクセス可能である。レジスタPK−HVは、ハイパーバイザHVおよびサービスプロセッサSPによりアクセス可能であり、レジスタPK−SPは、サービスプロセッサSPのみによりアクセス可能である。すなわち、レジスタPK−OS、PK−HV、PK−SPは、プロセスPROCによるアクセスが禁止されている。   FIG. 8 shows an example of the access authority of the registers AKEY, PK-OS, PK-HV, and PK-SP provided in each entry ENTS of the register unit 20 shown in FIG. The register AKEY can be accessed by the processes PROC, OS, the hypervisor HV, and the service processor SP, and the register PK-OS can be accessed by the OS, the hypervisor HV, and the service processor SP. The register PK-HV can be accessed by the hypervisor HV and the service processor SP, and the register PK-SP can be accessed only by the service processor SP. That is, the registers PK-OS, PK-HV, and PK-SP are prohibited from being accessed by the process PROC.

図9は、図4に示すレジスタ部60と、パケット制御部30においてパケットを受信する場合に動作する要素との一例を示す。図9に示す要素は、パケットを受信する受信装置として機能する。図4に示すパケット制御部30のパケット受信制御部50は、図5に示すパケット受信部52および応答格納部54に加えて、パケット判定部56および書き込み制御部58を有する。図4に示すパケット送信制御部40は、図5に示すパケット生成部42およびパケット送信部44に加えて、応答パケット生成部46を有する。   FIG. 9 shows an example of the register unit 60 shown in FIG. 4 and elements that operate when the packet control unit 30 receives a packet. The element shown in FIG. 9 functions as a receiving device that receives a packet. The packet reception control unit 50 of the packet control unit 30 illustrated in FIG. 4 includes a packet determination unit 56 and a write control unit 58 in addition to the packet reception unit 52 and the response storage unit 54 illustrated in FIG. The packet transmission control unit 40 illustrated in FIG. 4 includes a response packet generation unit 46 in addition to the packet generation unit 42 and the packet transmission unit 44 illustrated in FIG.

レジスタ部60の各エントリENTRは、ベースアドレスBADRS、鍵情報AKEY、PK−OS、PK−HV、PK−SP、ライトポインタWPおよびリードポインタRPをそれぞれ格納する複数のレジスタを有する。レジスタ部60は、記憶装置MEMが割り当てられるアドレス空間とは別の領域(例えば、I/O空間)に設けられる。エントリENTRは、第3の保持部の一例である。   Each entry ENTR of the register unit 60 has a plurality of registers for storing a base address BADRS, key information AKEY, PK-OS, PK-HV, PK-SP, a write pointer WP, and a read pointer RP, respectively. The register unit 60 is provided in an area (for example, an I / O space) different from the address space to which the storage device MEM is allocated. The entry ENTR is an example of a third holding unit.

また、各エントリENTSは、鍵情報PK−OSを有効にするかを示す許可情報OSENと、鍵情報PK−HVを有効にするかを示す許可情報HVENと、鍵情報PK−SPを有効にするかを示す許可情報SPENとを格納する領域を有する。例えば、許可情報OSEN、HVEN、SPENの各々は、1ビットであり、論理0の場合に無効を示し、論理1の場合に有効を示す。許可情報OSEN、HVEN、SPENは、パケット判定部56による鍵情報PK−OS、PK−HV、PK−SPの比較を有効にするか否かを設定する有効フラグの一例である。パケット判定部56は、受信したパケットの管理情報MSGQ−IDに含まれるレジスタセット情報REG−IDにより識別されるエントリENTRを選択して使用する。   Each entry ENTS validates permission information OSEN indicating whether key information PK-OS is valid, permission information HVEN indicating whether key information PK-HV is valid, and key information PK-SP. Has an area for storing permission information SPEN indicating the above. For example, each of the permission information OSEN, HVEN, and SPEN is 1 bit, and indicates invalidity when the logic is 0 and indicates validity when the logic is 1. The permission information OSEN, HVEN, SPEN is an example of a validity flag that sets whether or not the comparison of the key information PK-OS, PK-HV, PK-SP by the packet determination unit 56 is validated. The packet determination unit 56 selects and uses the entry ENTR identified by the register set information REG-ID included in the received packet management information MSGQ-ID.

鍵情報AKEYは、パケットを送受信するアプリケーションプログラム間で予め取り決められ、アプリケーションプログラムがメッセージデータMSG−DTの送信を開始する前に、受信側のプロセスから送信側のプロセスに鍵情報AKEYが通知される。例えば、鍵情報PK−OSは、メッセージデータMSG−DTの送信側のOSがプロセス毎に取り決めた固有の値である。鍵情報PK−HVは、メッセージデータMSG−DTの送信側のハイパーバイザHVがプロセス毎に取り決めた固有の値である。鍵情報PK−SPは、メッセージデータMSG−DTの送信側のサービスプロセッサSPがプロセス毎に取り決めた固有の値である。   The key information AKEY is determined in advance between application programs that transmit and receive packets, and before the application program starts transmitting the message data MSG-DT, the key information AKEY is notified from the receiving process to the transmitting process. . For example, the key information PK-OS is a unique value determined for each process by the OS on the transmission side of the message data MSG-DT. The key information PK-HV is a unique value determined for each process by the hypervisor HV on the transmission side of the message data MSG-DT. The key information PK-SP is a unique value determined for each process by the service processor SP on the transmission side of the message data MSG-DT.

なお、許可情報SPEN、HVEN、OSENにより、鍵情報PK−SP、PK−HV、PK−OSの全てが有効にされる場合、鍵情報PK−SP、PK−HV、PK−OSは、以下に示すように設定されてもよい。すなわち、鍵情報PK−SPは、プロセスが実行されるノードNDの番号に設定され、鍵情報PK−HVは、プロセスが実行されるOSの番号に設定され、鍵情報PK−OSは、プロセス番号に設定されてもよい。   When all of the key information PK-SP, PK-HV, and PK-OS are validated by the permission information SPEN, HVEN, and OSEN, the key information PK-SP, PK-HV, and PK-OS are as follows: It may be set as shown. That is, the key information PK-SP is set to the number of the node ND where the process is executed, the key information PK-HV is set to the number of the OS where the process is executed, and the key information PK-OS is the process number. May be set.

ライトポインタWPは、記憶装置MEMに割り当てられたメッセージキューMQUEにおいて、受信したパケットに含まれるメッセージデータMSG−DTを格納する先頭アドレス(相対値)を示す。リードポインタRPは、メッセージキューMQUEに格納されたメッセージデータMSG−DTのうち、読み出されていないメッセージデータMSG−DTを保持する記憶領域の先頭アドレス(相対値)を示す。   The write pointer WP indicates the head address (relative value) for storing the message data MSG-DT included in the received packet in the message queue MQUE assigned to the storage device MEM. The read pointer RP indicates the head address (relative value) of the storage area that holds the message data MSG-DT that has not been read out of the message data MSG-DT stored in the message queue MQUE.

記憶装置MEMには、レジスタ部60のエントリENTRにそれぞれ対応する複数のメッセージキューMQUEが割り当てられる。メッセージキューMQUEは、記憶部の一例である。各メッセージキューMQUEは、リングバッファとして機能し、ライトポインタWPとリードポインタRPとに挟まれた記憶領域に、有効なメッセージデータMSG−DTが保持される。   A plurality of message queues MQUE corresponding to the entries ENTR of the register unit 60 are allocated to the storage device MEM. The message queue MQUE is an example of a storage unit. Each message queue MQUE functions as a ring buffer, and valid message data MSG-DT is held in a storage area sandwiched between the write pointer WP and the read pointer RP.

ベースアドレスBADRSは、例えば、レジスタ部60の各エントリENTRに対応して記憶装置MEMに割り当てられるメッセージキューMQUEの先頭アドレス(物理アドレス)を示す。そして、ベースアドレスBADRSにライトポインタWPの値を加えることで、メッセージデータMSG−DTを格納する先頭アドレスが算出される。また、ベースアドレスBADRSにリードポインタRPの値を加えることで、メッセージデータMSG−DTを読み出す先頭アドレスが算出される。   The base address BADRS indicates, for example, the head address (physical address) of the message queue MQUE assigned to the storage device MEM corresponding to each entry ENTR of the register unit 60. Then, by adding the value of the write pointer WP to the base address BADRS, the head address for storing the message data MSG-DT is calculated. Further, by adding the value of the read pointer RP to the base address BADRS, the head address for reading the message data MSG-DT is calculated.

なお、ベースアドレスBADRSは、各メッセージキューMQUEの先頭アドレスにおいて所定数の上位ビットで示されてもよい。この場合、ベースアドレスBADRSのビット値とライトポインタWPのビット値とを組み合わせることで、メッセージデータMSG−DTを格納する先頭アドレスが算出される。また、ベースアドレスBADRSのビット値とリードポインタRPのビット値とを組み合わせることで、メッセージデータMSG−DTを読み出す先頭アドレスが算出される。   The base address BADRS may be indicated by a predetermined number of upper bits in the head address of each message queue MQUE. In this case, the head address for storing the message data MSG-DT is calculated by combining the bit value of the base address BADRS and the bit value of the write pointer WP. Further, the head address for reading the message data MSG-DT is calculated by combining the bit value of the base address BADRS and the bit value of the read pointer RP.

パケット判定部56は、パケット受信部52がパケットを受信した場合、パケットに含まれるレジスタセット情報REG−IDで示されるエントリENTRに格納された情報を読み出し、パケットが有効か否かを判定する。すなわち、パケット判定部56は、パケットに含まれる鍵情報AKEYと、エントリENTRから読み出した鍵情報AKEYを比較する。パケット判定部56は、エントリENTRから読み出した許可情報SPENが有効を示す場合、パケットに含まれる鍵情報PK−SPと、エントリENTRから読み出した鍵情報PK−SPとを比較する。パケット判定部56は、エントリENTRから読み出した許可情報HVENが有効を示す場合、パケットに含まれる鍵情報PK−HVと、エントリENTRから読み出した鍵情報PK−HVとを比較する。パケット判定部56は、エントリENTRから読み出した許可情報OSENが有効を示す場合、パケットに含まれる鍵情報PK−OSと、エントリENTRから読み出した鍵情報PK−OSとを比較する。そして、パケット判定部56は、比較結果の全てが一致を示す場合、受信したパケットが有効(正常)であると判定し、比較結果の少なくともいずれかが不一致を示す場合、受信したパケットが無効であると判定する。   When the packet reception unit 52 receives a packet, the packet determination unit 56 reads information stored in the entry ENTR indicated by the register set information REG-ID included in the packet, and determines whether the packet is valid. That is, the packet determination unit 56 compares the key information AKEY included in the packet with the key information AKEY read from the entry ENTR. When the permission information SPEN read from the entry ENTR indicates validity, the packet determination unit 56 compares the key information PK-SP included in the packet with the key information PK-SP read from the entry ENTR. When the permission information HVEN read from the entry ENTR indicates validity, the packet determination unit 56 compares the key information PK-HV included in the packet with the key information PK-HV read from the entry ENTR. When the permission information OSEN read from the entry ENTR indicates validity, the packet determining unit 56 compares the key information PK-OS included in the packet with the key information PK-OS read from the entry ENTR. The packet determination unit 56 determines that the received packet is valid (normal) when all of the comparison results indicate a match, and the received packet is invalid when at least one of the comparison results indicates a mismatch. Judge that there is.

パケット判定部56は、受信したパケットが有効である場合、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRからベースアドレスBADRSとライトポインタWPとを読み出す。そして、パケット判定部56は、パケットに含まれるメッセージデータMSG−DTと、エントリENTRから読み出したベースアドレスBADRSおよびライトポインタWPを、書き込み制御部58に出力する。また、パケット判定部56は、受信したパケットが正常であることを応答パケット生成部46に通知し、パケットに含まれるメッセージサイズM−SIZEに基づいて、ライトポインタWPを更新する。   When the received packet is valid, the packet determination unit 56 reads the base address BADRS and the write pointer WP from the entry ENTR indicated by the register set information REG-ID included in the packet. Then, the packet determination unit 56 outputs the message data MSG-DT included in the packet, the base address BADRS and the write pointer WP read from the entry ENTR to the write control unit 58. Further, the packet determination unit 56 notifies the response packet generation unit 46 that the received packet is normal, and updates the write pointer WP based on the message size M-SIZE included in the packet.

なお、パケット判定部56は、受信したパケットが無効である場合、パケットに含まれるメッセージデータMSG−DTを破棄し、受信したパケットが無効であることを示す情報を応答パケット生成部46に通知する。この場合、ライトポインタWPは、更新されない。   When the received packet is invalid, the packet determination unit 56 discards the message data MSG-DT included in the packet, and notifies the response packet generation unit 46 of information indicating that the received packet is invalid. . In this case, the write pointer WP is not updated.

書き込み制御部58は、パケット判定部56からベースアドレスBADRSとライトポインタWPとを受信した場合、ベースアドレスBADRSとライトポインタWPにより示されるメッセージキューMQUEの記憶領域のアドレスを算出する。そして、書き込み制御部58は、算出したアドレスにより示される記憶領域に、パケット判定部56から受信したメッセージデータMSG−DTを書き込む。メッセージキューMQUEに書き込まれたメッセージデータMSG−DTは、受信したメッセージデータMSG−DTを処理するアプリケーションプログラムにより読み出される。   When the write control unit 58 receives the base address BADRS and the write pointer WP from the packet determination unit 56, the write control unit 58 calculates the address of the storage area of the message queue MQUE indicated by the base address BADRS and the write pointer WP. Then, the write control unit 58 writes the message data MSG-DT received from the packet determination unit 56 in the storage area indicated by the calculated address. The message data MSG-DT written in the message queue MQUE is read by an application program that processes the received message data MSG-DT.

書き込み制御部58は、メッセージキューMQUEにメッセージデータMSG−DTを書き込んだ後、メッセージキューMQUEの状態を示す情報を応答パケット生成部46に通知する。例えば、次に受信するメッセージデータMSG−DTを格納する余裕がメッセージキューMQUEにある場合、書き込み制御部58は、メッセージデータMSG−DTのさらなる受信が可能なことを示す情報を応答パケット生成部46に通知する。また、メッセージキューMQUEが満杯になった場合、書き込み制御部58は、メッセージキューMQUEが満杯であることを示す情報を応答パケット生成部46に通知する。さらに、メッセージキューMQUEが動作を停止しており、メッセージデータMSG−DTがメッセージキューMQUEに書き込めない場合、書き込み制御部58は、メッセージキューMQUEの非動作を示す情報を応答パケット生成部46に通知する。   After writing the message data MSG-DT into the message queue MQUE, the write control unit 58 notifies the response packet generator 46 of information indicating the state of the message queue MQUE. For example, when the message queue MQUE has room to store the message data MSG-DT to be received next, the write control unit 58 sends information indicating that further reception of the message data MSG-DT is possible to the response packet generation unit 46. Notify When the message queue MQUE is full, the write control unit 58 notifies the response packet generation unit 46 of information indicating that the message queue MQUE is full. Further, when the message queue MQUE has stopped operating and the message data MSG-DT cannot be written to the message queue MQUE, the write control unit 58 notifies the response packet generation unit 46 of information indicating the non-operation of the message queue MQUE. To do.

応答パケット生成部46は、パケット判定部56から受信した情報と、書き込み制御部58から受信した情報とに基づいて応答パケットを生成し、生成した応答パケットをパケット送信部44に出力する。応答パケットは、送信先CPU−ID、送信元CPU−ID、エントリIDおよびメッセージキューMQUEの状態を示す状態情報STを含む。応答パケットは、送信先CPU−IDから順にクロスバースイッチLXBに送出される。   The response packet generator 46 generates a response packet based on the information received from the packet determination unit 56 and the information received from the write controller 58, and outputs the generated response packet to the packet transmitter 44. The response packet includes transmission destination CPU-ID, transmission source CPU-ID, entry ID, and state information ST indicating the state of the message queue MQUE. Response packets are sent to the crossbar switch LXB in order from the destination CPU-ID.

送信先CPU−IDは、応答パケットに対応する元のパケットに含まれる送信元CPU−IDであり、送信元CPU−IDは、応答パケットに対応する元のパケットに含まれる送信先CPU−IDである。エントリIDは、応答パケットに対応する元のパケットに含まれるエントリIDである。   The transmission destination CPU-ID is the transmission source CPU-ID included in the original packet corresponding to the response packet, and the transmission source CPU-ID is the transmission destination CPU-ID included in the original packet corresponding to the response packet. is there. The entry ID is an entry ID included in the original packet corresponding to the response packet.

状態情報STは、例えば2ビットであり、ビット値に応じて、”INVALID”、”INACTIVE”、”FULL”、”COMPLETE”のいずれかを示す。”INVALID”は、鍵情報AKEYの不一致が発生したことを示す(エラー応答)。”INACTIVE”は、メッセージキューMQUEが動作を停止しており、メッセージデータMSG−DTが書き込めないことを示す(エラー応答)。”FULL”は、メッセージキューMQUEが満杯であることを示す(エラー応答)。”COMPLETE”は、メッセージキューMQUEにメッセージデータMSG−DTが正常に格納され、メッセージデータMSG−DTのさらなる受信が可能なことを示す(正常応答)。   The status information ST is 2 bits, for example, and indicates one of “INVALID”, “INACTIVE”, “FULL”, and “COMPLETE” according to the bit value. “INVALID” indicates that a mismatch of the key information AKEY has occurred (error response). “INACTIVE” indicates that the message queue MQUE has stopped operating, and the message data MSG-DT cannot be written (error response). “FULL” indicates that the message queue MQUE is full (error response). “COMPLETE” indicates that the message data MSG-DT is normally stored in the message queue MQUE and the message data MSG-DT can be further received (normal response).

パケット送信部44は、応答パケット生成部46から受信した応答パケットを、パケットの送信元のCPUに向けて送信する。   The packet transmission unit 44 transmits the response packet received from the response packet generation unit 46 to the CPU that is the transmission source of the packet.

図10は、図9に示すパケット判定部56の一例を示す。パケット判定部56は、セレクタSEL、鍵情報取り出し部KEYOUT、鍵チェッカAKEYCHK、OSCHK、HVCHK、SPCHKおよびアンド回路ANDを有する。鍵チェッカAKEYCHKは、第1の比較部の一例であり、鍵チェッカOSCHK、HVCHK、SPCHKは、第2の比較部の一例である。   FIG. 10 shows an example of the packet determination unit 56 shown in FIG. The packet determination unit 56 includes a selector SEL, a key information extraction unit KEYOUT, a key checker KEYCHK, OSCHK, HVCHK, SPCHK, and an AND circuit AND. The key checker KEYCHK is an example of a first comparison unit, and the key checkers OSCHK, HVCHK, and SPCHK are examples of a second comparison unit.

セレクタSELは、受信したパケットに含まれるレジスタセット情報REG−IDで示されるエントリENTRを選択し、選択したエントリENTRに保持された情報を出力する。鍵情報取り出し部KEYOUTは、受信したパケットから鍵情報AKEY、PK−OS、PK−HV、PK−SPを取り出す。   The selector SEL selects the entry ENTR indicated by the register set information REG-ID included in the received packet, and outputs the information held in the selected entry ENTR. The key information extraction unit KEYOUT extracts key information AKEY, PK-OS, PK-HV, and PK-SP from the received packet.

鍵チェッカAKEYCHKは、エントリENTRから読み出した鍵情報AKEYと、鍵情報取り出し部KEYOUTがパケットから取り出した鍵情報AKEYとを比較する。鍵チェッカAKEYCHKは、エントリENTRからの鍵情報AKEYと鍵情報取り出し部KEYOUTからの鍵情報AKEYとが一致する場合、一致を示す論理1を出力する。鍵チェッカAKEYCHKは、エントリENTRからの鍵情報AKEYと鍵情報取り出し部KEYOUTからの鍵情報AKEYとが一致しない場合、不一致を示す論理0を出力する。   The key checker KEYCHK compares the key information AKEY read from the entry ENTR with the key information AKEY extracted from the packet by the key information extraction unit KEYOUT. The key checker AKEYCHK outputs a logic 1 indicating a match when the key information AKEY from the entry ENTR matches the key information AKEY from the key information extraction unit KEYOUT. If the key information AKEY from the entry ENTR does not match the key information AKEY from the key information extraction unit KEYOUT, the key checker KEYCHK outputs a logical 0 indicating a mismatch.

鍵チェッカOSCHKは、エントリENTRから読み出した許可情報OSENが有効状態(論理1)を示す場合、エントリENTRから読み出した鍵情報PK−OSと鍵情報取り出し部KEYOUTがパケットから取り出した鍵情報PK−OSとを比較する。鍵チェッカOSCHKは、エントリENTRからの鍵情報PK−OSと鍵情報取り出し部KEYOUTからの鍵情報PK−OSとが一致する場合、一致を示す論理1を出力する。鍵チェッカOSCHKは、エントリENTRからの鍵情報PK−OSと鍵情報取り出し部KEYOUTからの鍵情報PK−OSとが一致しない場合、不一致を示す論理0を出力する。鍵チェッカOSCHKは、エントリENTRからの許可情報OSENが無効状態(論理0)を示す場合、エントリENTRからの鍵情報PK−OSと鍵情報取り出し部KEYOUTからの鍵情報PK−OSとの比較結果に拘わらず、一致を示す論理1を出力する。   In the key checker OSCHK, when the permission information OSEN read from the entry ENTR indicates a valid state (logic 1), the key information PK-OS read from the entry ENTR and the key information PK-OS extracted from the packet by the key information extraction unit KEYOUT And compare. When the key information PK-OS from the entry ENTR matches the key information PK-OS from the key information extraction unit KEYOUT, the key checker OSCHK outputs a logic 1 indicating a match. When the key information PK-OS from the entry ENTR and the key information PK-OS from the key information extraction unit KEYOUT do not match, the key checker OSCHK outputs a logical 0 indicating a mismatch. When the permission information OSEN from the entry ENTR indicates an invalid state (logic 0), the key checker OSCHK shows a comparison result between the key information PK-OS from the entry ENTR and the key information PK-OS from the key information extraction unit KEYOUT. Regardless, it outputs a logic 1 indicating a match.

鍵チェッカHVCHKは、エントリENTRから読み出した許可情報HVENが有効状態(論理1)を示す場合、鍵情報取り出し部KEYOUTがパケットから取り出した鍵情報PK−HVと、エントリENTRから読み出した鍵情報PK−HVとを比較する。鍵チェッカHVCHKは、エントリENTRからの鍵情報PK−HVと鍵情報取り出し部KEYOUTからの鍵情報PK−HVとが一致する場合、一致を示す論理1を出力する。鍵チェッカHVCHKは、エントリENTRからの鍵情報PK−HVと鍵情報取り出し部KEYOUTからの鍵情報PK−HVとが一致しない場合、不一致を示す論理0を出力する。鍵チェッカHVCHKは、エントリENTRからの許可情報HVENが無効状態(論理0)を示す場合、エントリENTRからの鍵情報PK−HVと鍵情報取り出し部KEYOUTからの鍵情報PK−HVとの比較結果に拘わらず、一致を示す論理1を出力する。   In the key checker HVCHK, when the permission information HVEN read from the entry ENTR indicates a valid state (logic 1), the key information PK-HV read from the packet by the key information extraction unit KEYOUT and the key information PK- read from the entry ENTR Compare with HV. When the key information PK-HV from the entry ENTR matches the key information PK-HV from the key information extraction unit KEYOUT, the key checker HVCHK outputs a logic 1 indicating the match. If the key information PK-HV from the entry ENTR does not match the key information PK-HV from the key information extraction unit KEYOUT, the key checker HVCHK outputs a logic 0 indicating a mismatch. When the permission information HVEN from the entry ENTR indicates an invalid state (logic 0), the key checker HVCHK shows the comparison result between the key information PK-HV from the entry ENTR and the key information PK-HV from the key information extraction unit KEYOUT. Regardless, it outputs a logic 1 indicating a match.

鍵チェッカSPCHKは、エントリENTRから読み出した許可情報SPENが有効状態(論理1)を示す場合、鍵情報取り出し部KEYOUTがパケットから取り出した鍵情報PK−SPと、エントリENTRから読み出した鍵情報PK−SPとを比較する。鍵チェッカSPCHKは、エントリENTRからの鍵情報PK−SPと鍵情報取り出し部KEYOUTからの鍵情報PK−SPとが一致する場合、一致を示す論理1を出力する。鍵チェッカSPCHKは、エントリENTRからの鍵情報PK−SPと鍵情報取り出し部KEYOUTからの鍵情報PK−SPとが一致しない場合、不一致を示す論理0を出力する。鍵チェッカSPCHKは、エントリENTRからの許可情報SPENが無効状態(論理0)を示す場合、エントリENTRからの鍵情報PK−SPと鍵情報取り出し部KEYOUTからの鍵情報PK−SPとの比較結果に拘わらず、一致を示す論理1を出力する。   In the key checker SPCHK, when the permission information SPEN read from the entry ENTR indicates a valid state (logic 1), the key information PK-SP extracted from the packet by the key information extraction unit KEYOUT and the key information PK- read from the entry ENTR Compare with SP. When the key information PK-SP from the entry ENTR matches the key information PK-SP from the key information extraction unit KEYOUT, the key checker SPCHK outputs a logic 1 indicating the match. If the key information PK-SP from the entry ENTR and the key information PK-SP from the key information extraction unit KEYOUT do not match, the key checker SPCHK outputs a logical 0 indicating a mismatch. When the permission information SPEN from the entry ENTR indicates an invalid state (logic 0), the key checker SPCHK indicates the comparison result between the key information PK-SP from the entry ENTR and the key information PK-SP from the key information extraction unit KEYOUT. Regardless, it outputs a logic 1 indicating a match.

このように、パケット判定部56は、許可情報OSEN、HVEN、SPENの論理に応じて、各鍵チェッカOSCHK、HVCHK、SPCHKによる比較動作を有効または無効に設定する。これにより、情報処理システムSYS2に要求される信頼度に対応して、比較する鍵情報PK−OS、PK−HV、PK−SPの数を変更することができる。例えば、許可情報PK−OS、PK−HV、PK−SPの論理”PK−OS、PK−HV、PK−SP”は、情報処理システムSYS2に要求される信頼度が高くなるに従い、”000”、”100”、”110”、”111”に順次変更される。   As described above, the packet determination unit 56 sets the comparison operation by each of the key checkers OSCHK, HVCHK, and SPCHK to be valid or invalid according to the logic of the permission information OSEN, HVEN, and SPEN. Thereby, the number of key information PK-OS, PK-HV, and PK-SP to be compared can be changed in accordance with the reliability required for the information processing system SYS2. For example, the logic “PK-OS, PK-HV, PK-SP” of the permission information PK-OS, PK-HV, PK-SP is “000” as the reliability required for the information processing system SYS2 increases. , “100”, “110”, and “111”.

なお、パケット判定部56が判定に使用する鍵情報PK−OS、PK−HV、PK−SPは、パケットの受信装置が設定する許可情報OSEN、HVEN、SPENの論理に応じて決定される。換言すれば、パケットの送信装置が、図5に示すエントリENTSに保持された鍵情報PK−OS、PK−HV、PK−SPを書き替えることなく、パケット判定部56が判定に使用する鍵情報PK−OS、PK−HV、PK−SPを変更することができる。   The key information PK-OS, PK-HV, and PK-SP used by the packet determination unit 56 for determination is determined according to the logic of the permission information OSEN, HVEN, and SPEN set by the packet receiving device. In other words, the key information used by the packet determination unit 56 for the determination without rewriting the key information PK-OS, PK-HV, and PK-SP held in the entry ENTS shown in FIG. PK-OS, PK-HV, and PK-SP can be changed.

アンド回路ANDは、鍵チェッカAKEYCHK、OSCHK、HVCHK、SPCHKの全てから論理1を受けた場合、パケットが有効であることを示す判定結果RSLT(論理1)を出力する。一方、アンド回路ANDは、鍵チェッカAKEYCHK、OSCHK、HVCHK、SPCHKの少なくともいずれかから論理0を受けた場合、パケットが無効であることを示す判定結果RSLT(論理0)を出力する。   The AND circuit AND outputs a determination result RSLT (logic 1) indicating that the packet is valid when it receives logic 1 from all of the key checkers KEYCHK, OSCHK, HVCHK, and SPCHK. On the other hand, the AND circuit AND outputs a determination result RSLT (logic 0) indicating that the packet is invalid when it receives logic 0 from at least one of the key checkers KEYCHK, OSCHK, HVCHK, and SPCHK.

図11は、図3に示す情報処理システムSYS2の動作の一例を示す。図11は、パケットの送信装置からパケットの受信装置にメッセージデータMSG−DTが転送される例を示す。換言すれば、送信装置に対応するコア10のいずれかがアプリケーションプログラム1を実行し、受信装置に対応するコア10のいずれかがアプリケーションプログラム2を実行する。そして、アプリケーションプログラム1とアプリケーションプログラム2との間でメッセージデータMSG−DTが転送される。   FIG. 11 shows an example of the operation of the information processing system SYS2 shown in FIG. FIG. 11 shows an example in which message data MSG-DT is transferred from a packet transmitting device to a packet receiving device. In other words, any one of the cores 10 corresponding to the transmitting device executes the application program 1, and any one of the cores 10 corresponding to the receiving device executes the application program 2. Then, message data MSG-DT is transferred between the application program 1 and the application program 2.

送信装置は、エントリENTSのいずれかを使用し、受信装置は、送信装置から送信されるパケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRのいずれかを使用する。例えば、エントリENTSは、送信装置に対応するコア10毎に割り当てられる。換言すれば、レジスタMSG−DT、MSGQ−ID、SEND−MSG、PK−SP、PK−HV、PK−OS、STは、送信装置において、アプリケーションプログラムを実行するコア10毎に設けられる。エントリENTRは、受信装置に対応するコア10が実行するアプリケーションプログラム毎に割り当てられる。   The transmitting device uses one of the entries ENTS, and the receiving device uses one of the entries ENTR indicated by the register set information REG-ID included in the packet transmitted from the transmitting device. For example, the entry ENTS is assigned to each core 10 corresponding to the transmission device. In other words, the registers MSG-DT, MSGQ-ID, SEND-MSG, PK-SP, PK-HV, PK-OS, and ST are provided for each core 10 that executes an application program in the transmission apparatus. The entry ENTR is allocated for each application program executed by the core 10 corresponding to the receiving device.

送信装置は、受信装置との間でメッセージデータMSG−DTが送受信される前に、使用する鍵情報PK−SP、PK−HV、PK−OSを決定する。すなわち、図7に示すサービスプロセッサSPが実行する状態管理プログラムは、アプリケーションプログラム1で使用する鍵情報PK−SPを決定し、決定した鍵情報PK−SPをエントリENTSのレジスタPK−SPに格納する。図7に示すハイパーバイザHVは、アプリケーションプログラム1で使用する鍵情報PK−HVを決定し、決定した鍵情報PK−HVをエントリENTSのレジスタPK−HVに格納する。アプリケーションプログラム1を管理するOSは、アプリケーションプログラム1で使用する鍵情報PK−OSを決定し、決定した鍵情報PK−OSをエントリENTSのレジスタPK−OSに格納する(図11(a))。なお、鍵情報PK−SP、PK−HV、PK−OSの各々は、送信装置に対応するコア10が実行するアプリケーションプログラム毎に異なる。   The transmitting apparatus determines key information PK-SP, PK-HV, and PK-OS to be used before message data MSG-DT is transmitted / received to / from the receiving apparatus. That is, the state management program executed by the service processor SP shown in FIG. 7 determines the key information PK-SP used in the application program 1, and stores the determined key information PK-SP in the register PK-SP of the entry ENTS. . The hypervisor HV shown in FIG. 7 determines key information PK-HV used in the application program 1, and stores the determined key information PK-HV in the register PK-HV of the entry ENTS. The OS that manages the application program 1 determines the key information PK-OS used in the application program 1, and stores the determined key information PK-OS in the register PK-OS of the entry ENTS (FIG. 11A). Each of the key information PK-SP, PK-HV, and PK-OS is different for each application program executed by the core 10 corresponding to the transmission device.

そして、送信装置のパケット制御部30は、アプリケーションプログラム1で使用するエントリENTSに格納された鍵情報PK−SP、PK−HV、PK−OSを受信装置に通知する(図11(b))。例えば、鍵情報PK−SP、PK−HV、PK−OSは、アプリケーションプログラム毎に受信装置に通知される。鍵情報PK−SP、PK−HV、PK−OSを通知された受信装置のパケット制御部30は、アプリケーションプログラム2で使用するエントリENTRに鍵情報PK−SP、PK−HV、PK−OSを格納する(図11(c))。   Then, the packet control unit 30 of the transmitting apparatus notifies the receiving apparatus of the key information PK-SP, PK-HV, and PK-OS stored in the entry ENTS used in the application program 1 (FIG. 11 (b)). For example, key information PK-SP, PK-HV, and PK-OS are notified to the receiving device for each application program. The packet control unit 30 of the receiving apparatus notified of the key information PK-SP, PK-HV, and PK-OS stores the key information PK-SP, PK-HV, and PK-OS in the entry ENTR used in the application program 2. (FIG. 11C).

なお、図11に示す例では、受信装置のパケット制御部30は、鍵情報PK−SP、PK−HV、PK−OSとともに、有効状態を示す許可情報SPEN、HVEN、OSENをエントリENTRに格納する。このため、受信装置は、送信装置からパケットを受信した場合、鍵情報AKEYとともに、有効を示す許可情報SPEN、HVEN、OSENに対応する鍵情報PK−SP、PK−HV、PK−OSを用いて、パケットの有効性をチェックすることができる。   In the example illustrated in FIG. 11, the packet control unit 30 of the receiving apparatus stores permission information SPEN, HVEN, and OSEN indicating the valid state in the entry ENTR together with the key information PK-SP, PK-HV, and PK-OS. . Therefore, when receiving a packet from the transmitting device, the receiving device uses key information PK-SP, PK-HV, PK-OS corresponding to permission information SPEN, HVEN, OSEN indicating validity together with key information AKEY. The validity of the packet can be checked.

アプリケーションプログラム2は、使用するエントリENTRのライトポインタWPの値とリードポインタRPの値とを所定の頻度で読み出す。そして、アプリケーションプログラム2は、ライトポインタWPの値とリードポインタRPの値とに差がない場合、メッセージデータMSG−DTを受信していないと判定する(図11(d))。   The application program 2 reads the value of the write pointer WP and the value of the read pointer RP of the entry ENTR to be used at a predetermined frequency. If there is no difference between the value of the write pointer WP and the value of the read pointer RP, the application program 2 determines that the message data MSG-DT has not been received (FIG. 11 (d)).

アプリケーションプログラム1は、メッセージデータMSG−DT1をアプリケーションプログラム2に転送する場合、メッセージデータMSG−DT2とともに管理情報MSGQ−IDをエントリENTSに格納する(図11(e))。例えば、管理情報MSGQ−IDの鍵情報AKEYに設定される値CD1は、受信装置から送信装置に予め通知される。アプリケーションプログラム1は、エントリENTSに情報を格納した後、論理1の送信要求SEND−MSGをエントリENTSに格納する(図11(f))。   When transferring the message data MSG-DT1 to the application program 2, the application program 1 stores the management information MSGQ-ID together with the message data MSG-DT2 in the entry ENTS (FIG. 11 (e)). For example, the value CD1 set in the key information AKEY of the management information MSGQ-ID is notified in advance from the receiving apparatus to the transmitting apparatus. After storing the information in the entry ENTS, the application program 1 stores the transmission request SEND-MSG of logic 1 in the entry ENTS (FIG. 11 (f)).

送信装置のパケット制御部30は、送信要求SEND−MSGの論理1に基づいて、アプリケーションプログラム1がエントリENTSに格納したメッセージデータMSG−DT1と管理情報MSGQ−IDとをエントリENTSから読み出す(図11(g))。また、パケット制御部30は、エントリENTSに格納された鍵情報PK−SP、PK−HV、PK−OSを読み出す。そして、パケット制御部30は、エントリENTSから読み出したメッセージデータMSG−DT1、管理情報MSGQ−IDおよび鍵情報PK−SP、PK−HV、PK−OSを含むパケットを生成し、受信装置に向けて送信する(図11(h))。   Based on the logic 1 of the transmission request SEND-MSG, the packet control unit 30 of the transmission device reads the message data MSG-DT1 and the management information MSGQ-ID stored in the entry ENTS from the entry ENTS based on the logic 1 of the transmission request SEND-MSG (FIG. 11). (G)). Further, the packet control unit 30 reads the key information PK-SP, PK-HV, and PK-OS stored in the entry ENTS. Then, the packet control unit 30 generates a packet including the message data MSG-DT1, the management information MSGQ-ID, and the key information PK-SP, PK-HV, and PK-OS read from the entry ENTS, and sends the packet to the receiving device. Transmit (FIG. 11 (h)).

受信装置のパケット制御部30は、パケットを受信し、受信したパケットに含まれる管理情報MSGQ−IDのレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報AKEYを読み出す。パケット制御部30は、受信したパケットに含まれる鍵情報AKEYをエントリENTRから読み出した鍵情報AKEYと比較する。   The packet control unit 30 of the receiving device receives the packet, and reads out the key information AKEY stored in the entry ENTR indicated by the register set information REG-ID of the management information MSGQ-ID included in the received packet. The packet control unit 30 compares the key information AKEY included in the received packet with the key information AKEY read from the entry ENTR.

また、パケット制御部30は、受信したパケットに含まれる鍵情報PK−SP、PK−HV、PK−OSをエントリENTRから読み出した鍵情報PK−SP、PK−HV、PK−OSとそれぞれ比較する。ここで、鍵情報PK−SP、PK−HV、PK−OSを読み出すエントリENTRは、受信したパケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRである。   Further, the packet control unit 30 compares the key information PK-SP, PK-HV, and PK-OS included in the received packet with the key information PK-SP, PK-HV, and PK-OS read from the entry ENTR, respectively. . Here, the entry ENTR for reading the key information PK-SP, PK-HV, and PK-OS is the entry ENTR indicated by the register set information REG-ID included in the received packet.

図11に示す例では、鍵情報AKEYが一致し、鍵情報PK−SPが一致し、鍵情報PK−HVが一致し、鍵情報PK−OSが一致するため、パケット制御部30は、受信したパケットが有効であると判定する(図11(i))。そして、パケット制御部30は、受信したパケットに含まれるメッセージデータMSG−DT1を、エントリENTRのライトポインタWPが示すメッセージキューMQUEの記憶領域に格納する(図11(j))。ここで、パケット制御部30は、受信したパケットに含まれるメッセージサイズM−SIZEに基づいて、メッセージデータMSG−DTのサイズを検出する。   In the example shown in FIG. 11, since the key information AKEY matches, the key information PK-SP matches, the key information PK-HV matches, and the key information PK-OS matches, the packet control unit 30 receives It is determined that the packet is valid (FIG. 11 (i)). Then, the packet control unit 30 stores the message data MSG-DT1 included in the received packet in the storage area of the message queue MQUE indicated by the write pointer WP of the entry ENTR (FIG. 11 (j)). Here, the packet control unit 30 detects the size of the message data MSG-DT based on the message size M-SIZE included in the received packet.

受信装置のパケット制御部30は、メッセージサイズM−SIZEに合わせてライトポインタWPを更新する。そして、パケット制御部30は、メッセージデータMSG−DTを正常に受信したことを示す状態情報STを含む応答パケットを生成し、生成した応答パケットを送信装置に向けて送信する(図11(k))。   The packet control unit 30 of the receiving apparatus updates the write pointer WP according to the message size M-SIZE. Then, the packet control unit 30 generates a response packet including the status information ST indicating that the message data MSG-DT has been normally received, and transmits the generated response packet to the transmission device (FIG. 11 (k)). ).

送信装置のパケット制御部30は、応答パケットを受信し、応答パケットに含まれる状態情報STを、送信したパケットの生成に使用したエントリENTSのレジスタSTに格納する(図11(l))。パケット制御部30は、応答パケットの受信をアプリケーションプログラム1に通知する。応答パケットの受信は、I/O空間等に割り当てられる受信フラグをセットすることでアプリケーションプログラム1に通知されてもよく、割り込みによりアプリケーションプログラム1に通知されてもよい。   The packet control unit 30 of the transmitting apparatus receives the response packet, and stores the status information ST included in the response packet in the register ST of the entry ENTS used for generating the transmitted packet ((l) in FIG. 11). The packet control unit 30 notifies the application program 1 that the response packet has been received. The reception of the response packet may be notified to the application program 1 by setting a reception flag assigned to the I / O space or the like, or may be notified to the application program 1 by an interrupt.

アプリケーションプログラム1は、応答パケットの受信の通知に基づいて、エントリENTSに格納された状態情報STを読み出し、メッセージデータMSG−DT1が正常に受信装置に転送されたことを検出する(図11(m))。そして、アプリケーションプログラム1は、状態情報STを読み出したエントリENTSを開放する。   The application program 1 reads the status information ST stored in the entry ENTS based on the response packet reception notification, and detects that the message data MSG-DT1 has been normally transferred to the receiving device (FIG. 11 (m )). Then, the application program 1 releases the entry ENTS from which the state information ST has been read.

一方、受信装置に対応するコア10が実行するアプリケーションプログラム2は、エントリENTRのライトポインタWPの値とリードポインタRPの値とを読み出す。アプリケーションプログラム2は、ライトポインタWPの値とリードポインタRPの値とに差があるため、新たなメッセージデータMSG−DTを受信したと判定する(図11(n))。   On the other hand, the application program 2 executed by the core 10 corresponding to the receiving device reads the value of the write pointer WP and the value of the read pointer RP of the entry ENTR. Since there is a difference between the value of the write pointer WP and the value of the read pointer RP, the application program 2 determines that new message data MSG-DT has been received (FIG. 11 (n)).

アプリケーションプログラム2は、記憶装置MEMに対して読み出しアクセス要求を発行し、受信したメッセージデータMSG−DT1をメッセージキューMQUEから読み出す(図11(o))。アプリケーションプログラム2は、メッセージデータMSG−DTを読み出した後、読み出したメッセージデータMSG−DT1のサイズに合わせてエントリENTRのリードポインタRPを更新する。なお、リードポインタRPの更新は、アプリケーションプログラム2からの読み出し完了通知に基づいて受信装置のパケット制御部30により実行されてもよい。アプリケーションプログラム2は、メッセージキューMQUEから読み出したメッセージデータMSG−DT1を用いてデータ処理等を実行する。   The application program 2 issues a read access request to the storage device MEM, and reads the received message data MSG-DT1 from the message queue MQUE (FIG. 11 (o)). After reading the message data MSG-DT, the application program 2 updates the read pointer RP of the entry ENTR according to the size of the read message data MSG-DT1. Note that the update of the read pointer RP may be executed by the packet control unit 30 of the receiving device based on a read completion notification from the application program 2. The application program 2 executes data processing and the like using the message data MSG-DT1 read from the message queue MQUE.

図12は、図3に示す情報処理システムSYS2の動作の別の一例を示す。図11と同一または同様の動作については、詳細な説明は省略する。アプリケーションプログラム1がエントリENTSに格納された状態情報STを読み出し、メッセージデータMSG−DTが正常に受信装置に転送されたことを検出するまでの動作(図12(a)から図12(m))は、図11と同一または同様である。   FIG. 12 shows another example of the operation of the information processing system SYS2 shown in FIG. Detailed description of the same or similar operations as in FIG. 11 is omitted. Operation until the application program 1 reads the status information ST stored in the entry ENTS and detects that the message data MSG-DT has been normally transferred to the receiving device (FIG. 12 (a) to FIG. 12 (m)). Is the same as or similar to FIG.

すなわち、受信装置のパケット制御部30は、鍵情報PK−SP、PK−HV、PK−OSとともに、有効状態を示す許可情報SPEN、HVEN、OSENをエントリENTSに格納する。このため、受信装置は、送信装置からパケットを受信した場合、鍵情報AKEYとともに鍵情報PK−SP、PK−HV、PK−OSを用いて、パケットの有効性をチェックする。   That is, the packet control unit 30 of the receiving apparatus stores the permission information SPEN, HVEN, and OSEN indicating the valid state in the entry ENTS together with the key information PK-SP, PK-HV, and PK-OS. Therefore, when receiving a packet from the transmitting apparatus, the receiving apparatus checks the validity of the packet by using the key information PK-SP, PK-HV, and PK-OS together with the key information AKEY.

図12に示す例では、まず、送信装置に対応するコア10が実行するアプリケーションプログラム1が受信装置に対応するコア10が実行するアプリケーションプログラム2に向けてメッセージデータMSG−DT1を送信する。次に、送信装置に対応するコア10が実行するアプリケーションプログラム3が誤った管理情報MSGQ−IDを用いてメッセージデータMSG−DT2を送信する。例えば、アプリケーションプログラム3は、アプリケーションプログラム1が使用する管理情報MSGQ−IDを用いて、メッセージデータMSG−DT2を受信装置に送信する。   In the example shown in FIG. 12, first, the application program 1 executed by the core 10 corresponding to the transmission device transmits the message data MSG-DT1 to the application program 2 executed by the core 10 corresponding to the reception device. Next, the application program 3 executed by the core 10 corresponding to the transmission device transmits the message data MSG-DT2 using the wrong management information MSGQ-ID. For example, the application program 3 transmits the message data MSG-DT2 to the receiving device using the management information MSGQ-ID used by the application program 1.

アプリケーションプログラム3は、メッセージデータMSG−DT2を受信装置に転送する処理を実行する。しかしながら、アプリケーションプログラム3は、メッセージデータMSG−DT2とともに誤った管理情報MSGQ−IDをエントリENTSに格納する(図12(p))。例えば、管理情報MSGQ−IDのレジスタセット情報REG−IDは、アプリケーションプログラム2で使用するエントリENTRを示し、管理情報MSGQ−IDの鍵情報AKEYは、アプリケーションプログラム1、2間で取り決めた値CD1と同じである。例えば、誤った管理情報MSGQ−IDは、アプリケーションプログラム3のバグに起因してエントリENTSに格納される。   The application program 3 executes processing for transferring the message data MSG-DT2 to the receiving device. However, the application program 3 stores the wrong management information MSGQ-ID together with the message data MSG-DT2 in the entry ENTS (FIG. 12 (p)). For example, the register set information REG-ID of the management information MSGQ-ID indicates the entry ENTR used in the application program 2, and the key information KEY of the management information MSGQ-ID is the value CD1 determined between the application programs 1 and 2. The same. For example, incorrect management information MSGQ-ID is stored in the entry ENTS due to a bug in the application program 3.

アプリケーションプログラム3は、エントリENTSに情報を格納した後、論理1の送信要求SEND−MSGをエントリENTSに格納する(図12(q))。送信装置のパケット制御部30は、送信要求SEND−MSGの論理1に基づいて、アプリケーションプログラム3がエントリENTSに格納したメッセージデータMSG−DT2と管理情報MSGQ−IDとをエントリENTSから読み出す(図12(r))。また、パケット制御部30は、エントリENTSに格納された鍵情報PK−SP、PK−HV、PK−OSを読み出す。エントリENTSに格納された鍵情報PK−SP、PK−HV、PK−OSは、アプリケーションプログラム2が使用するエントリENTSに格納された鍵情報PK−SP、PK−HV、PK−OSとはそれぞれ異なる。   After storing the information in the entry ENTS, the application program 3 stores the transmission request SEND-MSG of logic 1 in the entry ENTS (FIG. 12 (q)). Based on the logic 1 of the transmission request SEND-MSG, the packet control unit 30 of the transmission device reads the message data MSG-DT2 and the management information MSGQ-ID stored in the entry ENTS from the entry ENTS based on the logic 1 of the transmission request SEND-MSG (FIG. 12 (R)). Further, the packet control unit 30 reads the key information PK-SP, PK-HV, and PK-OS stored in the entry ENTS. The key information PK-SP, PK-HV, and PK-OS stored in the entry ENTS are different from the key information PK-SP, PK-HV, and PK-OS stored in the entry ENTS used by the application program 2, respectively. .

そして、パケット制御部30は、エントリENTSから読み出したメッセージデータMSG−DT1、管理情報MSGQ−IDおよび鍵情報PK−SP、PK−HV、PK−OSを含むパケットを生成し、受信装置に向けて送信する(図12(s))。   Then, the packet control unit 30 generates a packet including the message data MSG-DT1, the management information MSGQ-ID, and the key information PK-SP, PK-HV, and PK-OS read from the entry ENTS, and sends the packet to the receiving device. Transmit (FIG. 12 (s)).

受信装置のパケット制御部30は、パケットを受信し、受信したパケットに含まれる誤ったレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報AKEYを読み出す。パケット制御部30は、受信したパケットに含まれる鍵情報AKEYをエントリENTRから読み出した鍵情報AKEYと比較し、一致を検出する。   The packet control unit 30 of the receiving device receives the packet, and reads the key information AKEY stored in the entry ENTR indicated by the incorrect register set information REG-ID included in the received packet. The packet control unit 30 compares the key information AKEY included in the received packet with the key information AKEY read from the entry ENTR, and detects a match.

また、パケット制御部30は、受信したパケットに含まれる鍵情報PK−SP、PK−HV、PK−OSをエントリENTRから読み出した鍵情報PK−SP、PK−HV、PK−OSと比較する。ここで、鍵情報PK−SP、PK−HV、PK−OSを読み出すエントリENTRは、受信したパケットに含まれるレジスタセット情報REG−IDにより示されるアプリケーションプログラム2で使用するエントリENTRである。このため、エントリENTRから読み出した鍵情報PK−SP、PK−HV、PK−OSは、アプリケーションプログラム3に対応しておらず、誤った鍵情報PK−SP、PK−HV、PK−OSである。   Further, the packet control unit 30 compares the key information PK-SP, PK-HV, and PK-OS included in the received packet with the key information PK-SP, PK-HV, and PK-OS read from the entry ENTR. Here, the entry ENTR for reading the key information PK-SP, PK-HV, and PK-OS is an entry ENTR used in the application program 2 indicated by the register set information REG-ID included in the received packet. For this reason, the key information PK-SP, PK-HV, and PK-OS read from the entry ENTR do not correspond to the application program 3, and are incorrect key information PK-SP, PK-HV, and PK-OS. .

図12に示す例では、鍵情報AKEYは一致するが、鍵情報PK−SP、PK−HV、PK−OSは、いずれも不一致であるため、パケット制御部30は、受信したパケットが無効であると判定する(図12(t))。このため、パケット制御部30は、受信したパケットに含まれるメッセージデータMSG−DT2をメッセージキューMQUEに格納することなく破棄する。そして、パケット制御部30は、メッセージデータMSG−DTを正常に受信しなかったことを示す状態情報STを含む応答パケット(エラー応答)を生成し、生成した応答パケットを送信装置に向けて送信する(図12(u))。   In the example illustrated in FIG. 12, the key information AKEY matches, but the key information PK-SP, PK-HV, and PK-OS do not match, so the packet control unit 30 invalidates the received packet. (FIG. 12 (t)). Therefore, the packet control unit 30 discards the message data MSG-DT2 included in the received packet without storing it in the message queue MQUE. Then, the packet control unit 30 generates a response packet (error response) including the state information ST indicating that the message data MSG-DT has not been normally received, and transmits the generated response packet to the transmission device. (FIG. 12 (u)).

送信装置のパケット制御部30は、応答パケットを受信し、応答パケットに含まれる状態情報STを、送信したパケットの生成に使用したエントリENTSのレジスタSTに格納する(図12(v))。パケット制御部30は、応答パケットの受信をアプリケーションプログラム3に通知する。   The packet control unit 30 of the transmitting device receives the response packet, and stores the status information ST included in the response packet in the register ST of the entry ENTS used for generating the transmitted packet (FIG. 12 (v)). The packet control unit 30 notifies the application program 3 that the response packet has been received.

アプリケーションプログラム3は、応答パケットの受信の通知に基づいて、エントリENTSに格納された状態情報STを読み出し、メッセージデータMSG−DTが正常に受信装置に転送されなかったことを検出する(図12(w))。そして、アプリケーションプログラム3は、状態情報STを読み出したエントリENTSを開放し、エラー処理等を実行する。   The application program 3 reads the status information ST stored in the entry ENTS based on the notification of reception of the response packet, and detects that the message data MSG-DT has not been normally transferred to the receiving device (FIG. 12 ( w)). Then, the application program 3 releases the entry ENTS from which the status information ST has been read, and executes error processing and the like.

一方、受信装置に対応するコア10が実行するアプリケーションプログラム2は、図11と同様に、エントリENTRのライトポインタWPの値とリードポインタRPの値とを読み出す。アプリケーションプログラム2は、ライトポインタWPの値とリードポインタRPの値とに差があるため、新たなメッセージデータMSG−DTを受信したと判定する(図12(n))。   On the other hand, the application program 2 executed by the core 10 corresponding to the receiving device reads the value of the write pointer WP and the value of the read pointer RP of the entry ENTR, as in FIG. Since there is a difference between the value of the write pointer WP and the value of the read pointer RP, the application program 2 determines that new message data MSG-DT has been received (FIG. 12 (n)).

アプリケーションプログラム2は、記憶装置MEMに対して読み出しアクセス要求を発行し、受信したメッセージデータMSG−DT1をメッセージキューMQUEから読み出す(図12(o))。アプリケーションプログラム2は、メッセージデータMSG−DTを読み出した後、読み出したメッセージデータMSG−DT1のサイズに合わせてエントリENTRのリードポインタRPを更新する。そして、アプリケーションプログラム2は、メッセージキューMQUEから読み出したメッセージデータMSG−DT1を用いてデータ処理等を実行する。   The application program 2 issues a read access request to the storage device MEM, and reads the received message data MSG-DT1 from the message queue MQUE (FIG. 12 (o)). After reading the message data MSG-DT, the application program 2 updates the read pointer RP of the entry ENTR according to the size of the read message data MSG-DT1. Then, the application program 2 executes data processing and the like using the message data MSG-DT1 read from the message queue MQUE.

図13は、他の情報処理システムの動作の一例を示す。図13に示す動作を実現する情報処理システムの構成は、図3に示す情報処理システムSYS2と同様であり、情報処理システムに搭載されるCPUの構成は、図4に示すCPUと同様である。但し、レジスタ部20のエントリENTSは、図5に示すレジスタPK−SP、PK−HV、PK−OSを持たない。すなわち、受信装置のパケット制御部30は、受信したパケットに含まれる鍵情報AKEYのみに基づいて、パケットが有効か否かを判定する。アプリケーションプログラム1がエントリENTSに格納された状態情報STを読み出すまでの動作は、送信装置から受信装置に転送されるパケットが鍵情報PK−SP、PK−HV、PK−OSを含まないことを除き、図12と同様である。   FIG. 13 shows an example of the operation of another information processing system. The configuration of the information processing system that realizes the operation shown in FIG. 13 is the same as that of the information processing system SYS2 shown in FIG. 3, and the configuration of the CPU mounted in the information processing system is the same as the CPU shown in FIG. However, the entry ENTS of the register unit 20 does not have the registers PK-SP, PK-HV, and PK-OS shown in FIG. That is, the packet control unit 30 of the receiving apparatus determines whether the packet is valid based only on the key information AKEY included in the received packet. The operation until the application program 1 reads the status information ST stored in the entry ENTS is that the packet transferred from the transmitting device to the receiving device does not include the key information PK-SP, PK-HV, and PK-OS. This is the same as FIG.

図13においても、図12と同様に、まず、送信装置に対応するコア10が実行するアプリケーションプログラム1がメッセージデータMSG−DT1を送信する。次に、送信装置に対応するコア10が実行するアプリケーションプログラム3が誤った管理情報MSGQ−IDを用いてメッセージデータMSG−DT2を送信する。   Also in FIG. 13, as in FIG. 12, first, the application program 1 executed by the core 10 corresponding to the transmission device transmits the message data MSG-DT1. Next, the application program 3 executed by the core 10 corresponding to the transmission device transmits the message data MSG-DT2 using the wrong management information MSGQ-ID.

例えば、アプリケーションプログラム3は、アプリケーションプログラム1が使用する管理情報MSGQ−IDを用いて、メッセージデータMSG−DT2を受信装置に転送する。管理情報MSGQ−IDのレジスタセット情報REG−IDは、アプリケーションプログラム1で使用するエントリENTRを示し、管理情報MSGQ−IDの鍵情報AKEYは、アプリケーションプログラム1で使用する値CD1と同じである。送信装置のパケット制御部30は、送信要求SEND−MSGの論理1に基づいて、メッセージデータMSG−DT2と管理情報MSGQ−IDとを含むパケットを受信装置に向けて送信する(図13(a))。   For example, the application program 3 uses the management information MSGQ-ID used by the application program 1 to transfer the message data MSG-DT2 to the receiving device. The register set information REG-ID of the management information MSGQ-ID indicates the entry ENTR used in the application program 1, and the key information KEY of the management information MSGQ-ID is the same as the value CD1 used in the application program 1. Based on the logic 1 of the transmission request SEND-MSG, the packet control unit 30 of the transmission device transmits a packet including the message data MSG-DT2 and the management information MSGQ-ID to the reception device (FIG. 13A). ).

受信装置のパケット制御部30は、パケットを受信し、受信したパケットに含まれる誤ったレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報AKEYを読み出す。パケット制御部30は、受信したパケットに含まれる鍵情報AKEYをエントリENTRから読み出した鍵情報AKEYと比較し、鍵情報AKEYが一致するため、受信したパケットが有効であると判定する(図13(b))。   The packet control unit 30 of the receiving device receives the packet, and reads the key information AKEY stored in the entry ENTR indicated by the incorrect register set information REG-ID included in the received packet. The packet control unit 30 compares the key information AKEY included in the received packet with the key information AKEY read from the entry ENTR, and determines that the received packet is valid because the key information AKEY matches (FIG. 13 ( b)).

そして、パケット制御部30は、受信したパケットに含まれるメッセージデータMSG−DT2を、アプリケーションプログラム2で使用するエントリENTRのライトポインタWPが示すメッセージキューMQUEの記憶領域に格納する(図13(c))。受信装置のパケット制御部30は、メッセージサイズM−SIZEに合わせてライトポインタWPを更新する。そして、パケット制御部30は、メッセージデータMSG−DTを正常に受信したことを示す状態情報STを含む応答パケットを生成し、生成した応答パケットを送信装置に向けて送信する(図13(d))。   Then, the packet control unit 30 stores the message data MSG-DT2 included in the received packet in the storage area of the message queue MQUE indicated by the write pointer WP of the entry ENTR used in the application program 2 (FIG. 13 (c)). ). The packet control unit 30 of the receiving apparatus updates the write pointer WP according to the message size M-SIZE. Then, the packet control unit 30 generates a response packet including the status information ST indicating that the message data MSG-DT has been normally received, and transmits the generated response packet to the transmission device (FIG. 13D). ).

送信装置のパケット制御部30は、応答パケットを受信し、応答パケットに含まれる状態情報STを、アプリケーションプログラム3で使用するエントリENTSのレジスタSTに格納する(図13(e))。パケット制御部30は、応答パケットの受信をアプリケーションプログラム3に通知する。アプリケーションプログラム3は、応答パケットの受信の通知に基づいて、エントリENTSに格納された状態情報STを読み出し、メッセージデータMSG−DT2が正常に受信装置に転送されたことを検出する(図13(f))。   The packet control unit 30 of the transmission apparatus receives the response packet, and stores the status information ST included in the response packet in the register ST of the entry ENTS used in the application program 3 (FIG. 13 (e)). The packet control unit 30 notifies the application program 3 that the response packet has been received. Based on the notification of reception of the response packet, the application program 3 reads the status information ST stored in the entry ENTS and detects that the message data MSG-DT2 has been normally transferred to the receiving device (FIG. 13 (f )).

一方、受信装置に対応するコア10が実行するアプリケーションプログラム2は、エントリENTRのライトポインタWPの値とリードポインタRPの値とを読み出す。アプリケーションプログラム2は、ライトポインタWPの値とリードポインタRPの値とに差があるため、新たなメッセージデータMSG−DTを受信したと判定する(図13(g))。   On the other hand, the application program 2 executed by the core 10 corresponding to the receiving device reads the value of the write pointer WP and the value of the read pointer RP of the entry ENTR. Since there is a difference between the value of the write pointer WP and the value of the read pointer RP, the application program 2 determines that new message data MSG-DT has been received (FIG. 13 (g)).

アプリケーションプログラム2は、記憶装置MEMに対して読み出しアクセス要求を発行し、受信したメッセージデータMSG−DT1、MSG−DT2をメッセージキューMQUEから読み出す(図13(h))。但し、メッセージデータMSG−DT2は、アプリケーションプログラム2が処理するデータではない。   The application program 2 issues a read access request to the storage device MEM, and reads the received message data MSG-DT1 and MSG-DT2 from the message queue MQUE (FIG. 13 (h)). However, the message data MSG-DT2 is not data processed by the application program 2.

アプリケーションプログラム2は、メッセージデータMSG−DT1、MSG−DT2を読み出した後、読み出したメッセージデータMSG−DT1、MSG−DT2のサイズに合わせてエントリENTRのリードポインタRPを更新する。この後、アプリケーションプログラム2は、メッセージキューMQUEから読み出したメッセージデータMSG−DT1、MSG−DT2を用いてデータ処理等を実行する。しかしながら、メッセージデータMSG−DT2は、アプリケーションプログラム2で処理するデータでないため、アプリケーションプログラム2は、誤ったデータ処理を実行する。これにより、アプリケーションプログラム2は誤動作するおそれがある。   The application program 2 reads the message data MSG-DT1, MSG-DT2, and then updates the read pointer RP of the entry ENTR according to the size of the read message data MSG-DT1, MSG-DT2. Thereafter, the application program 2 executes data processing and the like using the message data MSG-DT1 and MSG-DT2 read from the message queue MQUE. However, since the message data MSG-DT2 is not data to be processed by the application program 2, the application program 2 executes erroneous data processing. As a result, the application program 2 may malfunction.

図14は、図4に示すパケット制御部30が実行するパケットを送信する処理の一例を示す。図14に示す処理は、所定の頻度で繰り返し実行される。   FIG. 14 shows an example of a process of transmitting a packet executed by the packet control unit 30 shown in FIG. The process shown in FIG. 14 is repeatedly executed at a predetermined frequency.

まず、ステップS10において、図5に示すパケット生成部42は、レジスタ部20のエントリENTSのいずれかのレジスタSEND−MSGが論理1にセットされたか否かを判定する。レジスタSEND−MSGが論理1にセットされた場合、処理はステップS12に移行され、レジスタSEND−MSGが論理1にセットされていない場合、処理はステップS16に移行される。   First, in step S10, the packet generation unit 42 shown in FIG. 5 determines whether any of the registers SEND-MSG of the entry ENTS of the register unit 20 is set to logic 1. If the register SEND-MSG is set to logic 1, the process proceeds to step S12. If the register SEND-MSG is not set to logic 1, the process proceeds to step S16.

ステップS12において、パケット生成部42は、レジスタSEND−MSGが論理1にセットされたエントリENTSに格納されたメッセージデータMSG−DTを用いてパケットを生成し、処理をステップS14に移行する。ステップS14において、図5に示すパケット送信部44は、パケット生成部42が生成したパケットを受信装置に向けて送信する。   In step S12, the packet generator 42 generates a packet using the message data MSG-DT stored in the entry ENTS in which the register SEND-MSG is set to logic 1, and the process proceeds to step S14. In step S14, the packet transmission unit 44 illustrated in FIG. 5 transmits the packet generated by the packet generation unit 42 to the reception device.

次に、ステップS16において、図5に示すパケット受信部52は、応答パケットを受信したか否かを判定する。応答パケットを受信した場合、処理はステップS18に移行され、応答パケットを受信しない場合、処理は終了する。ステップS18において、図5に示す応答格納部54は、応答パケットに含まれる状態情報STを、エントリENTSのレジスタSTに格納し、処理を終了する。   Next, in step S16, the packet receiver 52 shown in FIG. 5 determines whether a response packet has been received. If a response packet is received, the process proceeds to step S18. If no response packet is received, the process ends. In step S18, the response storage unit 54 shown in FIG. 5 stores the status information ST included in the response packet in the register ST of the entry ENTS, and ends the process.

図15は、図4に示すパケット制御部30が実行するパケットを受信する処理の一例を示す。図15に示す処理は、所定の頻度で繰り返し実行される。   FIG. 15 shows an example of a process of receiving a packet executed by the packet control unit 30 shown in FIG. The process shown in FIG. 15 is repeatedly executed at a predetermined frequency.

まず、ステップS20において、図9に示すパケット受信部52は、パケットを受信したか否かを判定する。パケットを受信した場合、処理はステップS22に移行され、パケットを受信しない場合、処理は終了する。   First, in step S20, the packet receiver 52 shown in FIG. 9 determines whether or not a packet has been received. If a packet is received, the process proceeds to step S22. If no packet is received, the process ends.

ステップS22において、図9に示すパケット判定部56は、受信したパケットに含まれる鍵情報AKEYが、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報AKEYと一致するか否かを判定する。鍵情報AKEYが一致する場合、処理はステップS24に移行され、鍵情報AKEYが一致しない場合、処理は図16に示すステップS44に移行される。   In step S22, the packet determination unit 56 shown in FIG. 9 matches the key information AKEY included in the received packet with the key information AKEY stored in the entry ENTR indicated by the register set information REG-ID included in the packet. It is determined whether or not. If the key information AKEY matches, the process proceeds to step S24. If the key information AKEY does not match, the process proceeds to step S44 shown in FIG.

ステップS24において、パケット判定部56は、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された許可情報SPENが有効か否かを判定する。許可情報SPENが有効(論理1)の場合、処理はステップS26に移行され、許可情報SPENが無効(論理0)の場合、処理はステップS28に移行される。   In step S24, the packet determination unit 56 determines whether or not the permission information SPEN stored in the entry ENTR indicated by the register set information REG-ID included in the packet is valid. If the permission information SPEN is valid (logic 1), the process proceeds to step S26, and if the permission information SPEN is invalid (logic 0), the process proceeds to step S28.

ステップS26において、パケット判定部56は、受信したパケットに含まれる鍵情報PK−SPが、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報PK−SPと一致するか否かを判定する。鍵情報PK−SPが一致する場合、処理はステップS28に移行され、鍵情報PK−SPが一致しない場合、処理は図16に示すステップS44に移行される。   In step S26, the packet determination unit 56 matches the key information PK-SP included in the received packet with the key information PK-SP stored in the entry ENTR indicated by the register set information REG-ID included in the packet. It is determined whether or not. If the key information PK-SP matches, the process proceeds to step S28. If the key information PK-SP does not match, the process proceeds to step S44 shown in FIG.

ステップS28において、パケット判定部56は、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された許可情報HVENが有効か否かを判定する。許可情報HVENが有効(論理1)の場合、処理はステップS30に移行され、許可情報HVENが無効(論理0)の場合、処理は図16に示すステップS32に移行される。   In step S28, the packet determination unit 56 determines whether or not the permission information HVEN stored in the entry ENTR indicated by the register set information REG-ID included in the packet is valid. If the permission information HVEN is valid (logic 1), the process proceeds to step S30. If the permission information HVEN is invalid (logic 0), the process proceeds to step S32 shown in FIG.

ステップS30において、パケット判定部56は、受信したパケットに含まれる鍵情報PK−HVが、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報PK−HVと一致するか否かを判定する。鍵情報PK−HVが一致する場合、処理は図16に示すステップS32に移行され、鍵情報PK−HVが一致しない場合、処理は図16に示すステップS44に移行される。   In step S30, the packet determination unit 56 matches the key information PK-HV included in the received packet with the key information PK-HV stored in the entry ENTR indicated by the register set information REG-ID included in the packet. It is determined whether or not. If the key information PK-HV matches, the process proceeds to step S32 shown in FIG. 16, and if the key information PK-HV does not match, the process moves to step S44 shown in FIG.

図16に示すステップS32において、パケット判定部56は、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された許可情報OSENが有効か否かを判定する。許可情報OSENが有効(論理1)の場合、処理はステップS34に移行され、許可情報OSENが無効(論理0)の場合、処理はステップS36に移行される。   In step S32 shown in FIG. 16, the packet determination unit 56 determines whether or not the permission information OSEN stored in the entry ENTR indicated by the register set information REG-ID included in the packet is valid. If the permission information OSEN is valid (logic 1), the process proceeds to step S34. If the permission information OSEN is invalid (logic 0), the process proceeds to step S36.

ステップS34において、パケット判定部56は、受信したパケットに含まれる鍵情報PK−OSが、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報PK−OSと一致するか否かを判定する。鍵情報PK−OSが一致する場合、処理はステップS36に移行され、鍵情報PK−OSが一致しない場合、処理はステップS44に移行される。   In step S34, the packet determination unit 56 matches the key information PK-OS included in the received packet with the key information PK-OS stored in the entry ENTR indicated by the register set information REG-ID included in the packet. It is determined whether or not. If the key information PK-OS matches, the process proceeds to step S36. If the key information PK-OS does not match, the process proceeds to step S44.

ステップS36において、パケット判定部56は、メッセージキューMQUEが正常か否かを判定する。例えば、メッセージキューMQUEが動作を停止している場合、またはメッセージキューMQUEが満杯である場合、メッセージキューMQUEが正常でないと判定される。メッセージキューMQUEが正常な場合、処理はステップS38に移行され、メッセージキューMQUEが正常でない場合、処理はステップS44に移行される。   In step S36, the packet determination unit 56 determines whether or not the message queue MQUE is normal. For example, when the message queue MQUE has stopped operating, or when the message queue MQUE is full, it is determined that the message queue MQUE is not normal. If the message queue MQUE is normal, the process proceeds to step S38. If the message queue MQUE is not normal, the process proceeds to step S44.

ステップS38において、図9に示す書き込み制御部58は、受信したメッセージデータMSG−DTをメッセージキューMQUEに格納する。次に、ステップS40において、パケット判定部56は、ライトポインタWPを更新し、処理をステップS42に移行する。   In step S38, the write control unit 58 shown in FIG. 9 stores the received message data MSG-DT in the message queue MQUE. Next, in step S40, the packet determination unit 56 updates the write pointer WP, and the process proceeds to step S42.

ステップS42において、図9に示す応答パケット生成部46は、受信したパケットを正常に処理したことを示す正常応答パケットを生成し、処理をステップS46に移行する。正常応答パケットに含まれる状態情報STは、図9に示す”COMPLETE”を示す。   In step S42, the response packet generator 46 shown in FIG. 9 generates a normal response packet indicating that the received packet has been processed normally, and the process proceeds to step S46. The status information ST included in the normal response packet indicates “COMPLETE” shown in FIG.

ステップS44において、応答パケット生成部46は、メッセージデータMSG−DTを正常に受信しなかったことを示すエラー応答パケットを生成し、処理をステップS46に移行する。エラー応答パケットに含まれる状態情報STは、図9に示す”INVALID”、”INACTIVE”、”FULL”のいずれかを示す。   In step S44, the response packet generator 46 generates an error response packet indicating that the message data MSG-DT has not been received normally, and the process proceeds to step S46. The status information ST included in the error response packet indicates one of “INVALID”, “INACTIVE”, and “FULL” shown in FIG.

次に、ステップS46において、図9に示すパケット送信部44は、応答パケット生成部46が生成した応答パケットを、パケットの送信装置に向けて送信し、処理を終了する。   Next, in step S46, the packet transmission unit 44 illustrated in FIG. 9 transmits the response packet generated by the response packet generation unit 46 to the packet transmission device, and ends the process.

図17は、図4に示すコア10が実行するアプリケーションプログラムによりパケットを送信する場合の処理の一例を示す。例えば、アプリケーションプログラムは、図11および図12に示すアプリケーションプログラム1である。図17に示す処理は、所定の頻度で繰り返し実行される。   FIG. 17 shows an example of processing when a packet is transmitted by an application program executed by the core 10 shown in FIG. For example, the application program is the application program 1 shown in FIGS. The process shown in FIG. 17 is repeatedly executed at a predetermined frequency.

まず、ステップS50において、アプリケーションプログラムは、メッセージデータMSG−DTを送信する場合、メッセージデータMSG−DTをレジスタ部20のエントリENTSのいずれかに格納する。次に、ステップS52において、アプリケーションプログラムは、管理情報MSGQ−IDをエントリENTSに格納する。次に、ステップS54において、アプリケーションプログラムは、論理1の送信要求SEND−MSGをエントリENTSに格納し、パケット制御部30にパケットを送信させ、処理をステップS56に移行する。   First, in step S50, when transmitting the message data MSG-DT, the application program stores the message data MSG-DT in one of the entries ENTS of the register unit 20. Next, in step S52, the application program stores the management information MSGQ-ID in the entry ENTS. Next, in step S54, the application program stores the transmission request SEND-MSG of logic 1 in the entry ENTS, causes the packet control unit 30 to transmit the packet, and shifts the processing to step S56.

ステップS56において、アプリケーションプログラムは、状態情報STがエントリENTSに格納されたか否かを判定する。すなわち、アプリケーションプログラムは、送信したパケットに対応する応答パケットを受信したか否かを判定する。状態情報STがエントリENTSに格納された場合、処理はステップS58に移行され、状態情報STがエントリENTSに格納されない場合、処理は終了する。ステップS58において、アプリケーションプログラムは、エントリENTSに格納された状態情報STを読み出して、メッセージデータMSG−DTが正常に転送されたか否かを確認し、処理を終了する。   In step S56, the application program determines whether or not the state information ST is stored in the entry ENTS. That is, the application program determines whether or not a response packet corresponding to the transmitted packet has been received. If the state information ST is stored in the entry ENTS, the process proceeds to step S58. If the state information ST is not stored in the entry ENTS, the process ends. In step S58, the application program reads the status information ST stored in the entry ENTS, confirms whether the message data MSG-DT has been normally transferred, and ends the process.

図18は、図4に示すコア10が実行するアプリケーションプログラムによりパケットを受信する場合の処理の一例を示す。例えば、アプリケーションプログラムは、図11および図12に示すアプリケーションプログラム2である。図18に示す処理は、所定の頻度で繰り返し実行される。   FIG. 18 shows an example of processing when a packet is received by an application program executed by the core 10 shown in FIG. For example, the application program is the application program 2 shown in FIGS. The process shown in FIG. 18 is repeatedly executed at a predetermined frequency.

まず、ステップS60において、アプリケーションプログラムは、使用するメッセージキューMQUEに対応するレジスタ部60のエントリENTRからライトポインタWPの値とリードポインタRPの値とを読み出す。ライトポインタWPの値とリードポインタRPの値とを読み出すエントリENTRは、受信したパケットに含まれるレジスタセット情報REG−IDにより示される。   First, in step S60, the application program reads the value of the write pointer WP and the value of the read pointer RP from the entry ENTR of the register unit 60 corresponding to the message queue MQUE to be used. An entry ENTR for reading the value of the write pointer WP and the value of the read pointer RP is indicated by register set information REG-ID included in the received packet.

次に、ステップS62において、アプリケーションプログラムは、ライトポインタWPの値とリードポインタRPの値の差に基づいて、メッセージキューMQUEにメッセージデータMSG−DTが格納されたか否かを判定する。メッセージキューMQUEにメッセージデータMSG−DTが格納されたと判定された場合、処理はステップS64に移行され、メッセージキューMQUEにメッセージデータMSG−DTが格納されていないと判定された場合、処理は終了する。   Next, in step S62, the application program determines whether message data MSG-DT is stored in the message queue MQUE based on the difference between the value of the write pointer WP and the value of the read pointer RP. If it is determined that message data MSG-DT is stored in message queue MQUE, the process proceeds to step S64. If it is determined that message data MSG-DT is not stored in message queue MQUE, the process ends. .

ステップS64において、アプリケーションプログラムは、メッセージキューMQUEからメッセージデータMSG−DTを読み出す。次に、ステップS66において、アプリケーションプログラムは、リードポインタRPを更新し、処理を終了する。   In step S64, the application program reads message data MSG-DT from the message queue MQUE. Next, in step S66, the application program updates the read pointer RP and ends the process.

以上、図3から図18に示す実施形態においても、図1に示す実施形態と同様の効果を得ることができる。すなわち、アプリケーションプログラムによるアクセスが許可されていないレジスタPK−SP、PK−HV、PK−OSに鍵情報PK−SP、PK−HV、PK−OSを格納する。これにより、アプリケーションプログラムの誤動作等により誤った鍵情PK−SP、PK−HV、PK−OSがレジスタに格納されることを抑止することができる。また、アクセス権限が異なるレジスタMSGQ−ID(AKEY)とレジスタPK−SP、PK−HV、PK−OSとに保持された鍵情報を用いて、受信したパケットが正常であるか否かを判定することで、判定の信頼性を向上することができる。   As described above, also in the embodiment shown in FIGS. 3 to 18, the same effect as that of the embodiment shown in FIG. 1 can be obtained. That is, key information PK-SP, PK-HV, and PK-OS are stored in registers PK-SP, PK-HV, and PK-OS that are not permitted to be accessed by application programs. As a result, it is possible to prevent erroneous key information PK-SP, PK-HV, and PK-OS from being stored in the register due to an application program malfunction or the like. Further, it is determined whether or not the received packet is normal by using the key information held in the register MSGQ-ID (AKEY) having different access authority and the registers PK-SP, PK-HV, and PK-OS. Thus, the reliability of determination can be improved.

したがって、送信装置が送信した誤ったパケットが、受信装置に対応するコア10が実行するアプリケーションプログラムにより処理されることを抑止することができる。この結果、受信装置に対応するコア10が実行するアプリケーションプログラムが、誤ったパケットに含まれるデータを用いてデータ処理等を実行することを抑止することができ、情報処理システムSYS2の信頼性を向上することができる。   Therefore, it is possible to prevent an erroneous packet transmitted by the transmission device from being processed by an application program executed by the core 10 corresponding to the reception device. As a result, the application program executed by the core 10 corresponding to the receiving device can be prevented from executing data processing using data included in the wrong packet, and the reliability of the information processing system SYS2 is improved. can do.

アプリケーションプログラムより上位のOS等のプログラムによる鍵情報PK−SP、PK−HV、PK−OSのレジスタPK−SP、PK−HV、PK−OSへの格納は、送信データの転送前に予め実行される。このため、送信データの受信装置への転送時にコンテキストスイッチ等は発生せず、コンテキストスイッチ等により、アプリケーションプログラムの実行効率が低下することを抑止することができる。   Storage of key information PK-SP, PK-HV, and PK-OS in registers PK-SP, PK-HV, and PK-OS by a program such as an OS higher than the application program is executed in advance before transfer of transmission data. The For this reason, a context switch or the like does not occur when transmission data is transferred to the receiving device, and the execution efficiency of the application program can be prevented from being lowered by the context switch or the like.

さらに、図3から図18に示す実施形態では、パケット判定部56が判定に使用する鍵情報PK−OS、PK−HV、PK−SPは、パケットの受信装置が設定する許可情報OSEN、HVEN、SPENの論理に応じて決定される。このため、パケットの送信装置のエントリENTSに保持された鍵情報PK−OS、PK−HV、PK−SPを書き替えることなく、パケット判定部56が判定に使用する鍵情報PK−OS、PK−HV、PK−SPを変更することができる。この結果、パケットの送信装置でコンテキストスイッチ等を発生させることなく、パケット判定部56が判定に使用する鍵情報PK−OS、PK−HV、PK−SPを変更することができる。すなわち、プロセスの実行効率が低下することなく、パケット判定部56が判定に使用する鍵情報PK−OS、PK−HV、PK−SPを変更することができる。   Further, in the embodiment shown in FIGS. 3 to 18, the key information PK-OS, PK-HV, and PK-SP used by the packet determination unit 56 for the determination are the permission information OSEN, HVEN, It is determined according to the logic of SPEN. Therefore, the key information PK-OS, PK- used by the packet determination unit 56 without rewriting the key information PK-OS, PK-HV, PK-SP held in the entry ENTS of the packet transmitting apparatus. HV and PK-SP can be changed. As a result, the key information PK-OS, PK-HV, and PK-SP used by the packet determination unit 56 for determination can be changed without causing a context switch or the like in the packet transmission apparatus. That is, the key information PK-OS, PK-HV, and PK-SP that the packet determination unit 56 uses for determination can be changed without lowering the process execution efficiency.

以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。   From the above detailed description, features and advantages of the embodiments will become apparent. This is intended to cover the features and advantages of the embodiments described above without departing from the spirit and scope of the claims. Also, any improvement and modification should be readily conceivable by those having ordinary knowledge in the art. Therefore, there is no intention to limit the scope of the inventive embodiments to those described above, and appropriate modifications and equivalents included in the scope disclosed in the embodiments can be used.

10…CPUコア;20…レジスタ部;30…パケット制御部;40…パケット送信制御部;42…パケット生成部;44…パケット送信部;46…応答パケット生成部;50…パケット受信制御部;52…パケット受信部;54…応答格納部;56…パケット判定部;58…書き込み制御部;60…レジスタ部;70…メモリ制御部;80…キャッシュメモリ;100…送信装置;110…データ処理部;120…管理部;130、140…保持部;150…パケット生成部;160…パケット送信部;200…受信装置;210…パケット受信部;220…保持部;230、240…比較部;250…書き込み制御部;260…記憶部;AKEY…鍵情報;AKEYCHK…鍵チェッカ;APRG…アプリケーションプログラム;BADRS…ベースアドレス;CPU−ID…CPU情報;DATA…データ;ENTR、ENTS…エントリ;GXB…クロスバースイッチ;HV…ハイパーバイザ;HVCHK…鍵チェッカ;HVEN…許可情報;KEY1、KEY2…鍵情報;KEYOUT…鍵情報取り出し部;LXB…クロスバースイッチ;MBUS…メモリバス;MEM…記憶装置;MQUE…メッセージキュー;MSG−DT…メッセージデータ;MSGQ−ID…管理情報;M−SIZE…メッセージサイズ;ND…ノード;NWIF…ネットワークインタフェース;OSCHK…鍵チェッカ;OSEN…許可情報;PK−HV、PK−OS、PK−SP…鍵情報;REG−ID…レジスタセット情報;RP…リードポインタ;SEL…セレクタ;SEND−MSG…送信要求;SP…サービスプロセッサ;SPCHK…鍵チェッカ;SPEN…許可情報;ST…状態情報;SW…スイッチ;SYS1、SYS2…情報処理システム;WP…ライトポインタ   DESCRIPTION OF SYMBOLS 10 ... CPU core; 20 ... Register part; 30 ... Packet control part; 40 ... Packet transmission control part; 42 ... Packet generation part; 44 ... Packet transmission part; 46 ... Response packet generation part; ... Packet receiver; 54 ... Response storage; 56 ... Packet determination; 58 ... Write controller; 60 ... Register controller; 70 ... Memory controller; 80 ... Cache memory; 120: management unit; 130, 140 ... holding unit; 150 ... packet generating unit; 160 ... packet transmitting unit; 200 ... receiving device; 210 ... packet receiving unit; 220 ... holding unit; 230, 240 ... comparing unit; Control part; 260 ... Storage part; KEY ... Key information; KEYCHK ... Key checker; APRG ... Application program; BAD S ... Base address; CPU-ID ... CPU information; DATA ... Data; ENTR, ENTS ... Entry; GXB ... Crossbar switch; HV ... Hypervisor; HVCHK ... Key checker; HVEN ... Permission information; KEY1, KEY2 ... Key information; KEYOUT: Key information extraction unit; LXB: Crossbar switch; MBUS ... Memory bus; MEM ... Storage device; MQUE ... Message queue; MSG-DT ... Message data; MSGQ-ID ... Management information; M-SIZE ... Message size; ... Node; NWIF ... Network interface; OSCHK ... Key checker; OSEN ... Authorization information; PK-HV, PK-OS, PK-SP ... Key information; REG-ID ... Register set information; RP ... Read pointer; SEND-MSG Transmission request; SP ... service processor; SPCHK ... key checker; SPEN ... permission information; ST ... status information; SW ... switch; SYS1, SYS2 ... information processing system; WP ... write pointer

Claims (8)

データを送信する送信装置と、前記送信装置からデータを受信する受信装置とを有する情報処理システムにおいて、
前記送信装置は、
データを生成するソフトウェアを実行するデータ処理部と、
第1の鍵情報と前記ソフトウェアが生成したデータとを保持する第1の保持部と、
前記データ処理部の動作を管理するとともに第2の鍵情報を生成する管理部と、
前記管理部が生成した第2の鍵情報を保持し、前記ソフトウェアによる書き込みが禁止された第2の保持部と、
前記第1の保持部が保持するデータおよび第1の鍵情報と、前記第2の保持部が保持する第2の鍵情報とを含むパケットを生成するパケット生成部と、
前記パケット生成部が生成したパケットを送信するパケット送信部を有し、
前記受信装置は、
前記送信装置からのパケットを受信するパケット受信部と、
第1の鍵情報と第2の鍵情報とを保持する第3の保持部と、
前記パケット受信部が受信したパケットに含まれる第1の鍵情報と、前記第3の保持部に保持された第1の鍵情報とを比較する第1の比較部と、
前記パケット受信部が受信したパケットに含まれる第2の鍵情報と、前記第3の保持部に保持された第2の鍵情報とを比較する第2の比較部と、
前記第1の比較部による比較結果が一致を示し、かつ、前記第2の比較部による比較結果が一致を示す場合、前記パケット受信部が受信したパケットに含まれるデータを記憶部に書き込む書き込み制御部を有することを特徴とする情報処理システム。
In an information processing system having a transmission device that transmits data and a reception device that receives data from the transmission device,
The transmitter is
A data processing unit that executes software for generating data;
A first holding unit for holding first key information and data generated by the software;
A management unit for managing the operation of the data processing unit and generating second key information;
A second holding unit that holds the second key information generated by the management unit and is prohibited from being written by the software;
A packet generation unit that generates a packet including data and first key information held by the first holding unit, and second key information held by the second holding unit;
A packet transmitter for transmitting the packet generated by the packet generator;
The receiving device is:
A packet receiver for receiving a packet from the transmitter;
A third holding unit for holding the first key information and the second key information;
A first comparison unit that compares the first key information included in the packet received by the packet reception unit with the first key information held in the third holding unit;
A second comparing unit that compares the second key information included in the packet received by the packet receiving unit with the second key information held in the third holding unit;
Write control for writing data included in the packet received by the packet receiving unit to the storage unit when the comparison result by the first comparing unit shows a match and the comparison result by the second comparing unit shows a match An information processing system having a section.
前記管理部は、前記データ処理部の動作を管理する管理プログラムにより実現されることを特徴とする請求項1記載の情報処理システム。   The information processing system according to claim 1, wherein the management unit is realized by a management program that manages an operation of the data processing unit. 前記管理部は、前記データ処理部の動作を管理する管理プログラムを実行する仮想マシンを制御する制御プログラムにより実現されることを特徴とする請求項1または請求項2記載の情報処理システム。   The information processing system according to claim 1, wherein the management unit is realized by a control program that controls a virtual machine that executes a management program that manages an operation of the data processing unit. 前記管理部は、前記データ処理部の状態を管理する管理装置が実行する状態管理プログラムにより実現されることを特徴とする請求項1ないし請求項3のいずれか1項記載の情報処理システム。   The information processing system according to any one of claims 1 to 3, wherein the management unit is realized by a state management program executed by a management device that manages a state of the data processing unit. 前記第3の保持部は、前記第2の比較部による第2の鍵情報の比較を有効にするかを設定する有効フラグを有し、
前記第2の比較部は、前記第3の保持部に保持された有効フラグが無効を示す場合、比較結果に拘わらず、比較結果の一致を示す情報を前記書き込み制御部に出力することを特徴とする請求項1ないし請求項4のいずれか1項記載の情報処理システム。
The third holding unit has an effective flag for setting whether to enable the comparison of the second key information by the second comparing unit,
When the valid flag held in the third holding unit indicates invalidity, the second comparison unit outputs information indicating the comparison result to the write control unit regardless of the comparison result. The information processing system according to any one of claims 1 to 4.
前記送信装置が、複数の前記ソフトウェアを実行する複数の前記データ処理部を有する場合、
前記第1の保持部および前記第2の保持部は、複数の前記データ処理部毎に設けられ、
前記第3の保持部は、複数の前記ソフトウェア毎に設けられることを特徴とする請求項1ないし請求項5のいずれか1項記載の情報処理システム。
When the transmission device has a plurality of the data processing units that execute a plurality of the software,
The first holding unit and the second holding unit are provided for each of the plurality of data processing units,
The information processing system according to any one of claims 1 to 5, wherein the third holding unit is provided for each of the plurality of pieces of software.
受信装置とともに情報処理システムに搭載され、前記受信装置にデータを送信する送信装置において、
データを生成するソフトウェアを実行するデータ処理部と、
第1の鍵情報と前記ソフトウェアが生成したデータとを保持する第1の保持部と、
前記データ処理部の動作を管理するとともに第2の鍵情報を生成する管理部と、
前記管理部が生成した第2の鍵情報を保持し、前記ソフトウェアによる書き込みが禁止された第2の保持部と、
前記第1の保持部が保持するデータおよび第1の鍵情報と、前記第2の保持部が保持する第2の鍵情報とを含むパケットを生成するパケット生成部と、
前記パケット生成部が生成したパケットを送信するパケット送信部を有することを特徴とする送信装置。
In a transmission device that is mounted in an information processing system together with a reception device and transmits data to the reception device,
A data processing unit that executes software for generating data;
A first holding unit for holding first key information and data generated by the software;
A management unit for managing the operation of the data processing unit and generating second key information;
A second holding unit that holds the second key information generated by the management unit and is prohibited from being written by the software;
A packet generation unit that generates a packet including data and first key information held by the first holding unit, and second key information held by the second holding unit;
A transmission apparatus comprising: a packet transmission unit that transmits a packet generated by the packet generation unit.
データを送信する送信装置と、前記送信装置からデータを受信する受信装置とを有する情報処理システムの制御方法において、
前記送信装置が有するデータ処理部が、データを生成し、生成したデータを、第1の鍵情報を保持する第1の保持部に格納するソフトウェアを実行し、
前記送信装置が有する管理部が、前記データ処理部の動作を管理するとともに第2の鍵情報を生成し、生成した第2の鍵情報を前記ソフトウェアによる書き込みが禁止された第2の保持部に格納し、
前記送信装置が有するパケット生成部が、第1の保持部が保持するデータおよび第1の鍵情報と、前記第2の保持部が保持する第2の鍵情報とを含むパケットを生成し、
前記送信装置が有するパケット送信部が、前記パケット生成部が生成したパケットを送信し、
前記受信装置が有するパケット受信部が、前記送信装置からのパケットを受信し、
前記受信装置が有する第1の比較部が、前記パケット受信部が受信したパケットに含まれる第1の鍵情報と、第3の保持部に保持された第1の鍵情報とを比較し、
前記受信装置が有する第2の比較部が、前記パケット受信部が受信したパケットに含まれる第2の鍵情報と、前記第3の保持部に保持された第2の鍵情報とを比較し、
前記受信装置が有する書き込み制御部が、前記第1の比較部による比較結果が一致を示し、かつ、前記第2の比較部による比較結果が一致を示す場合、前記パケット受信部が受信したパケットに含まれるデータを記憶部に書き込むことを特徴とする情報処理システムの制御方法。
In a control method of an information processing system having a transmission device that transmits data and a reception device that receives data from the transmission device,
A data processing unit included in the transmission device generates data, and executes software that stores the generated data in a first holding unit that holds first key information;
The management unit included in the transmission device manages the operation of the data processing unit and generates second key information, and the generated second key information is stored in the second holding unit that is prohibited from writing by the software. Store and
A packet generation unit included in the transmission device generates a packet including data and first key information held by the first holding unit, and second key information held by the second holding unit;
The packet transmission unit of the transmission device transmits the packet generated by the packet generation unit,
A packet receiving unit included in the receiving device receives a packet from the transmitting device;
A first comparison unit included in the reception device compares the first key information included in the packet received by the packet reception unit and the first key information held in the third holding unit;
A second comparison unit included in the reception device compares the second key information included in the packet received by the packet reception unit and the second key information held in the third holding unit;
When the write control unit included in the receiving device indicates that the comparison result by the first comparison unit indicates a match and the comparison result by the second comparison unit indicates a match, the packet reception unit A control method for an information processing system, wherein the data included is written in a storage unit.
JP2016080545A 2016-04-13 2016-04-13 Information processing system, transmitting apparatus, and control method for information processing system Active JP6668908B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016080545A JP6668908B2 (en) 2016-04-13 2016-04-13 Information processing system, transmitting apparatus, and control method for information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016080545A JP6668908B2 (en) 2016-04-13 2016-04-13 Information processing system, transmitting apparatus, and control method for information processing system

Publications (2)

Publication Number Publication Date
JP2017191464A true JP2017191464A (en) 2017-10-19
JP6668908B2 JP6668908B2 (en) 2020-03-18

Family

ID=60084907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016080545A Active JP6668908B2 (en) 2016-04-13 2016-04-13 Information processing system, transmitting apparatus, and control method for information processing system

Country Status (1)

Country Link
JP (1) JP6668908B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020059037A1 (en) * 2018-09-19 2020-03-26 株式会社安川電機 Power conversion system, ip address transmission method for power conversion device and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309252A (en) * 1993-04-05 1994-11-04 Hewlett Packard Co <Hp> Interconnection interface
JP2001043136A (en) * 1999-07-29 2001-02-16 Nec Ic Microcomput Syst Ltd Data protecting device and its protecting method
JP2001515632A (en) * 1998-01-07 2001-09-18 富士通株式会社 Memory protection mechanism for distributed shared memory multiprocessors with integrated message passing support
JP2003316655A (en) * 2002-04-23 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Access control method and system for application and data stored in ic card
JP2013140446A (en) * 2011-12-28 2013-07-18 Fujitsu Ltd Information processing apparatus and unauthorized access prevention method
JP2015073317A (en) * 2014-12-09 2015-04-16 株式会社東芝 Communication device and key management method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309252A (en) * 1993-04-05 1994-11-04 Hewlett Packard Co <Hp> Interconnection interface
JP2001515632A (en) * 1998-01-07 2001-09-18 富士通株式会社 Memory protection mechanism for distributed shared memory multiprocessors with integrated message passing support
JP2001043136A (en) * 1999-07-29 2001-02-16 Nec Ic Microcomput Syst Ltd Data protecting device and its protecting method
JP2003316655A (en) * 2002-04-23 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Access control method and system for application and data stored in ic card
JP2013140446A (en) * 2011-12-28 2013-07-18 Fujitsu Ltd Information processing apparatus and unauthorized access prevention method
JP2015073317A (en) * 2014-12-09 2015-04-16 株式会社東芝 Communication device and key management method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020059037A1 (en) * 2018-09-19 2020-03-26 株式会社安川電機 Power conversion system, ip address transmission method for power conversion device and program
JPWO2020059037A1 (en) * 2018-09-19 2021-08-30 株式会社安川電機 Power conversion system, IP address transmission method of power conversion device, and program
JP7088294B2 (en) 2018-09-19 2022-06-21 株式会社安川電機 Power conversion system, IP address transmission method of power conversion device, and program

Also Published As

Publication number Publication date
JP6668908B2 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
US6449699B2 (en) Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
KR101403233B1 (en) Information processing apparatus and unauthorized access prevention method
US6401174B1 (en) Multiprocessing computer system employing a cluster communication error reporting mechanism
JP3850829B2 (en) Memory port arbitration method
JP4872001B2 (en) Memory access safety management
US7360031B2 (en) Method and apparatus to enable I/O agents to perform atomic operations in shared, coherent memory spaces
EP2634696B1 (en) Information processing apparatus, control method, and control program
US7886199B2 (en) Recovery from a hang condition in a data processing system
JP4474570B2 (en) Cache coherency control method
JP6677806B2 (en) Storage device
US7620954B2 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
US10949292B1 (en) Memory interface having data signal path and tag signal path
JPWO2010097925A1 (en) Information processing device
JP5163220B2 (en) Cache control device, information processing device
JP2020042341A (en) Processing device and software execution control method
JP3550092B2 (en) Cache device and control method
JP6668908B2 (en) Information processing system, transmitting apparatus, and control method for information processing system
JP6620647B2 (en) Information processing system, transmission apparatus, and control method for information processing system
Mak et al. Shared-cache clusters in a system with a fully shared memory
WO2023010975A1 (en) Data processing system having masters that adapt to agents with differing retry behaviors
JP6680973B2 (en) Information processing apparatus, control method of information processing apparatus, and arithmetic processing apparatus
TWI758317B (en) Apparatus and method for providing an atomic set of data accesses
JP6583046B2 (en) Control device, information processing device, and information processing device control method
JP6631317B2 (en) Arithmetic processing device, information processing device, and control method for information processing device
TW201539244A (en) Hardware configuration apparatus

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6668908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150