JP6668908B2 - Information processing system, transmitting apparatus, and control method for information processing system - Google Patents

Information processing system, transmitting apparatus, and control method for information processing system Download PDF

Info

Publication number
JP6668908B2
JP6668908B2 JP2016080545A JP2016080545A JP6668908B2 JP 6668908 B2 JP6668908 B2 JP 6668908B2 JP 2016080545 A JP2016080545 A JP 2016080545A JP 2016080545 A JP2016080545 A JP 2016080545A JP 6668908 B2 JP6668908 B2 JP 6668908B2
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.)
Active
Application number
JP2016080545A
Other languages
Japanese (ja)
Other versions
JP2017191464A (en
Inventor
威 大脇
威 大脇
淳 川原
淳 川原
仁 ▲高▼橋
仁 ▲高▼橋
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

Description

本発明は、情報処理システム、送信装置および情報処理システムの制御方法に関する。   The present invention relates to an information processing system, a transmission device, and a method for controlling an 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 receiving node has a plurality of pointer sets that store a write pointer and a read pointer that indicate a storage position of received data in a queue that stores received data. Have 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 a reception node in a transmission register. The transmitting node generates a packet including the transmission data stored in the transmission register and information indicating the pointer set, and transmits the generated packet to the receiving node. The receiving node selects a pointer set indicated by information included in the received packet, and stores the received data in an area indicated by the write pointer of the selected pointer set (for example, see 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 method of processing a packet using the information obtained. If the protection key included in the received packet matches the protection key held in the slot identified by the slot identification value, the receiving terminal determines that the received packet is normal and accepts the packet. (See Patent Document 2, for example).

特開2013−214168号公報JP 2013-214168 A 特開平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 does not even match the protection key. If it does, it will accept the packet. In this case, the receiving terminal device may malfunction due to the processing of the erroneously received packet.

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

1つの側面では、本件開示の情報処理システム、送信装置および情報処理システムの制御方法は、送信装置が送信した誤ったパケットが、受信装置により処理されることを抑止することによりシステムが誤動作することを防止することを目的とする。   In one aspect, the information processing system, the transmission device, and the control method of the information processing system according to the present disclosure can prevent the erroneous packet transmitted by the transmission device from being processed by the reception device, thereby causing the system to malfunction. 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 transmitting device that transmits data and a receiving device that receives data from the transmitting device, the transmitting device includes a data processing unit that executes software for generating data, A first holding unit for holding key information and data generated by software, a management unit for managing operation of the data processing unit and generating 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 generating unit that generates a packet including: a packet transmitting unit that transmits the packet generated by the packet generating unit, wherein the receiving device receives a packet from the transmitting device; A third holding unit that holds the first key information and the second key information, a first key information included in the packet received by the packet receiving unit, and a first holding unit that holds the first key information and the second key information. And 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. If the comparison result of the second comparison unit and the comparison result of the first comparison unit indicate a match, and the comparison result of the second comparison unit indicates a match, the data included in the packet received by the packet reception unit is stored in the storage unit. It has a writing control unit for writing.

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

さらなる別の観点によれば、データを送信する送信装置と、送信装置からデータを受信する受信装置とを有する情報処理システムの制御方法は、送信装置が有するデータ処理部が、データを生成し、生成したデータを、第1の鍵情報を保持する第1の保持部に格納するソフトウェアを実行し、送信装置が有する管理部が、データ処理部の動作を管理するとともに第2の鍵情報を生成し、生成した第2の鍵情報をソフトウェアによる書き込みが禁止された第2の保持部に格納し、送信装置が有するパケット生成部が、第1の保持部が保持するデータおよび第1の鍵情報と、第2の保持部が保持する第2の鍵情報とを含むパケットを生成し、送信装置が有するパケット送信部が、パケット生成部が生成したパケットを送信し、受信装置が有するパケット受信部が、送信装置からのパケットを受信し、受信装置が有する第1の比較部が、パケット受信部が受信したパケットに含まれる第1の鍵情報と、第3の保持部に保持された第1の鍵情報とを比較し、受信装置が有する第2の比較部が、パケット受信部が受信したパケットに含まれる第2の鍵情報と、第3の保持部に保持された第2の鍵情報とを比較し、受信装置が有する書き込み制御部が、第1の比較部による比較結果が一致を示し、かつ、第2の比較部による比較結果が一致を示す場合、パケット受信部が受信したパケットに含まれるデータを記憶部に書き込む。   According to yet another aspect, a control method of an information processing system including a transmitting device that transmits data and a receiving device that receives data from the transmitting device, the data processing unit of the transmitting device generates data, A software for storing the generated data in a first holding unit for holding the first key information is executed, and a 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 for which writing by software is prohibited, and the packet generation unit of the transmitting apparatus transmits the data and the first key information held by the first holding unit. And a second key information held by the second holding unit, and a packet transmitting unit of the transmitting device transmits the packet generated by the packet generating unit and a packet of the receiving device. The packet receiving unit receives the packet from the transmitting device, and the first comparing unit of the receiving device stores the first key information included in the packet received by the packet receiving unit and the third key information in the third holding unit. The second comparing unit included in the receiving device 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. And the write control unit included in the receiving apparatus determines that the comparison result by the first comparison unit indicates a match and the comparison result by the second comparison unit indicates a match. Writes the data included in the received packet into the storage unit.

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

情報処理システム、送信装置および情報処理システムの制御方法の一実施形態を示す図である。FIG. 2 is a diagram illustrating an embodiment of an information processing system, a transmission device, and a control method of the information processing system. 図1に示す情報処理システムの動作の一例を示す図である。FIG. 2 is a diagram illustrating an example of an operation of the information processing system illustrated in FIG. 1. 情報処理システム、送信装置および情報処理システムの制御方法の別の実施形態を示す図である。FIG. 11 is a diagram illustrating another embodiment of the information processing system, the transmission device, and the control method of the information processing system. 図3に示すCPUの一例を示す図である。FIG. 4 is a diagram illustrating an example of a CPU illustrated in FIG. 3. 図4に示すレジスタ部20と、パケット制御部においてパケットを送信する場合に動作する要素との一例を示す図である。FIG. 5 is a diagram illustrating an example of a register unit illustrated in FIG. 4 and elements that operate when a packet is transmitted in a packet control unit. 図5に示すパケット生成部が生成するパケットの一例を示す図である。FIG. 6 is a diagram illustrating an example of a packet generated by a packet generator illustrated in FIG. 5. 図3に示す情報処理システムの状態の一例を示す図である。FIG. 4 is a diagram illustrating an example of a state of the information processing system illustrated in FIG. 3. 図7に示すレジスタ部の各エントリに設けられるレジスタのアクセス権限の一例を示す図である。FIG. 8 is a diagram illustrating an example of an access right of a register provided in each entry of the register unit illustrated in FIG. 7. 図4に示すレジスタ部60と、パケット制御部においてパケットを受信する場合に動作する要素との一例を示す図である。FIG. 5 is a diagram illustrating an example of a register unit illustrated in FIG. 4 and elements that operate when a packet is received in a packet control unit. 図9に示すパケット判定部の一例を示す図である。FIG. 10 is a diagram illustrating an example of a packet determination unit illustrated in FIG. 9. 図3に示す情報処理システムの動作の一例を示す図である。FIG. 4 is a diagram illustrating an example of an operation of the information processing system illustrated in FIG. 3. 図3に示す情報処理システムの動作の別の例を示す図である。FIG. 4 is a diagram illustrating another example of the operation of the information processing system illustrated in FIG. 3. 他の情報処理システムの動作の一例を示す図である。FIG. 11 is a diagram illustrating an example of an operation of another information processing system. 図4に示すパケット制御部が実行するパケットを送信する処理の一例を示す図である。FIG. 5 is a diagram illustrating an example of a process of transmitting a packet executed by the packet control unit illustrated in FIG. 4. 図4に示すパケット制御部が実行するパケットを受信する処理の一例を示す図である。FIG. 5 is a diagram illustrating an example of a process of receiving a packet executed by the packet control unit illustrated in FIG. 4. 図15に示す処理の続きを示す図である。FIG. 16 is a view illustrating a continuation of the processing illustrated in FIG. 15. 図4に示すコアが実行するアプリケーションプログラムによりパケットを送信する場合の処理の一例を示す図である。FIG. 5 is a diagram illustrating an example of processing when a packet is transmitted by an application program executed by a core illustrated in FIG. 4; 図4に示すコアが実行するアプリケーションプログラムによりパケットを受信する場合の処理の一例を示す図である。FIG. 5 is a diagram illustrating an example of processing when a packet is received by an application program executed by a core illustrated in FIG. 4;

以下、図面を用いて実施形態を説明する。   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 transmitting device, and a control method of the information processing system. The information processing system SYS1 illustrated in FIG. 1 includes a transmitting device 100 that transmits data, and a receiving device 200 that receives data from the transmitting device 100. The transmission device 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 device 200 includes a packet receiving unit 210, a holding unit 220, comparing units 230 and 240, a writing 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 the 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 of 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 device 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 writing by the application program APRG. That is, the holding unit 130 and the holding unit 140 have different access rights. For this reason, it is possible to prevent the erroneous key information KEY2 from being stored in the holding unit 140 due to a malfunction or the like of the application program APRG. In other words, the key information KEY2 held in the holding unit 140 is not accidentally 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 the key information KEY1 stored in the storage unit 130 and the key information KEY2 stored in the storage unit 140. That is, the packet generation unit 150 generates a packet including the key information KEY1 and KEY2 stored in the plurality of storage units 130 and 140 having different access rights. The packet transmitting section 160 transmits the packet generated by the packet generating section 150 to the receiving device 200.

パケット受信部210は、送信装置100からのパケットを受信する。また、パケット受信部210は、送信装置100がデータDATAを送信する前に生成する鍵情報KEY1、KEY2を予め受信し、受信した鍵情報KEY1、KEY2を保持部220に格納する。すなわち、保持部220は、送信装置100が生成する鍵情報KEY1、KEY2を、データDATAが送信装置100から転送される前に予め保持する。   Packet receiving section 210 receives a packet from transmitting apparatus 100. Further, the packet receiving unit 210 previously receives the key information KEY1 and KEY2 generated before the transmitting device 100 transmits the 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 transmitting device 100 before the data DATA is transferred from the transmitting device 100.

比較部230は、パケット受信部210が受信したパケットに含まれる鍵情報KEY1と、保持部220に保持された鍵情報KEY1とを比較し、比較結果を書き込み制御部250に出力する。比較部240は、パケット受信部210が受信したパケットに含まれる鍵情報KEY2と、保持部220に保持された鍵情報KEY2とを比較し、比較結果を書き込み制御部250に出力する。比較部230は、第1の比較部の一例であり、比較部240は、第2の比較部の一例である。   The comparing unit 230 compares the key information KEY1 included in the packet received by the packet receiving unit 210 with the key information KEY1 held in the holding unit 220, and outputs the comparison result to the writing control unit 250. The comparing unit 240 compares the key information KEY2 included in the packet received by the packet receiving 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 includes the packet in the packet. The data to be written is written to 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 the data to 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 device 200 determines whether 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 rights. Therefore, as compared with the case where it is determined whether or not a 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 right, Reliability can be improved. As a result, it is possible to prevent the receiving device 200 from executing data processing or the like using erroneous data included in an abnormal packet, and improve the reliability of the information processing system SYS1.

図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 illustrates 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の実行効率が低下することを抑止することができる。   Before the transmission of the data DATA to the receiving device 200 is started, the management unit 120 stores the key information KEY2 in the holding unit 140 and transfers the key information KEY2 to the receiving device 200 (FIG. 2A). That is, the 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 transfer of the data DATA. For this reason, when data DATA is transferred to the receiving device 200, switching of the process for accessing the holding unit 140 does not occur, and context switching for saving the state of the process does not occur at the time of switching the process. Therefore, it is possible to prevent the execution efficiency of the application program APRG from being reduced by 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. 2B). The receiving device 200 stores the key information KEY1 and KEY2 transferred from the transmitting device 100 in the holding unit 220 (FIG. 2C).

アプリケーションプログラム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 AKEY1 in the holding unit 130 (FIG. 2D). Thereafter, as indicated by the broken arrow in FIG. 2, the application program APRG instructs the packet generator 150 to generate a packet (FIG. 2 (e)).

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

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

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

図2に示す例では、比較部230による比較結果が一致を示し、かつ、比較部240による比較結果が一致を示すため、書き込み制御部250は、パケット受信部210が受信したパケットが正常であると判定する。そして、書き込み制御部250は、パケットに含まれるデータDATAを記憶部260に書き込む(図2(k))。   In the example illustrated in FIG. 2, since 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. 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 illustrated 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 access the application program APRG. Accordingly, 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. In addition, by using the key information KEY1 and KEY2 held in the plurality of holding units 130 and 140 having different access rights, it is determined whether or not the received packet is normal, thereby improving the reliability of the determination. Can be.

したがって、送信装置100が送信した誤ったパケットが、受信装置200により処理されることを抑止することができ、受信装置200が、誤ったパケットに含まれるデータを用いてデータ処理等を実行することを抑止することができる。この結果、情報処理システムSYS1の信頼性を向上することができる。   Therefore, it is possible to prevent the erroneous packet transmitted by the transmitting device 100 from being processed by the receiving device 200, and the receiving device 200 performs 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の実行効率が低下することを抑止することができる。   The 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 transfer of the data DATA. Therefore, a context switch or the like does not occur when the data DATA is transferred to the receiving device 200, and it is possible to suppress a decrease in the execution efficiency of the application program APRG due to the context switch or the like.

図3は、情報処理システム、送信装置および情報処理システムの制御方法の別の実施形態を示す。図3に示す情報処理システムSYS2は、クロスバースイッチGXBにより相互に接続された複数のノードND(ND0、ND1、ND2、ND3)を有する。各ノードNDは、サーバ等の情報処理装置により構築される。なお、情報処理システムSYS2に搭載されるノードNDの数は、4個に限定されない。ノードND0−ND3は、互いに同一または同様の構成であるため、以下ではノードND0の構成が説明される。   FIG. 3 illustrates another embodiment of the information processing system, the transmitting device, 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) interconnected by a crossbar switch GXB. Each node ND is constructed by an information processing device 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 to each other, 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 has 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) on which a plurality of SDRAMs are mounted. Note that each node ND may have an SSD instead of the HDD, or may have both the HDD and the 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 CPU of another node ND via the crossbar switches LXB and GXB. That is, the information processing system SYS2 functions as a multiprocessor system employing a cc-NUMA (cache-coherent Non-Uniform 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 passing 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 controls the power supply voltage and the clock frequency supplied to the CPU by executing the state management program, and changes the temperature of the housing according to the temperature in the housing in which the CPU and the like in the node ND are housed. To control the number of revolutions of a fan (not shown) attached to the controller. The service processor SP is an example of a management device that manages the states of the CPU and the CPU core 10 shown in FIG. Note that 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 illustrates an example of the CPU illustrated in FIG. FIG. 4 shows elements related to the processing of a packet transferred between the CPU cores 10. Elements related to the connection between the CPU and the switch SW shown in FIG. Omitted. Note that the CPU that transmits the packet functions as a transmitting device, and the CPU that receives the 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 controls the CPU cores 10 (10a, 10b, 10c, and 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, which are connected to each other via the system bus SBUS. It has a cache memory 80 connected. Note that 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, CPU core 10 is also referred to as 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 another 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 the fact that it has been 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 includes a plurality of entries holding data to be transmitted from each core 10 to another core 10, information used for data transmission processing, and information included in a response from the other core 10 to the transmitted data. Has 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 the 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 the information including the data held in the entry ENTS of the register unit 20, and transmits the generated packet via the crossbar switch LXB. The data is transmitted to the core 10. Further, when the corresponding packet reception control unit 50 receives the data, the packet transmission control unit 40 generates a response packet, and transmits the generated response packet to the data transmission source core 10 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 a packet via the crossbar switch LXB, and stores data included in the received packet in a message queue MQUE (FIG. 9) allocated to the storage device MEM (FIG. 3). At this time, the packet reception control unit 50 refers to one of the entries ENTR of the register unit 60 based on the information included in the packet, and determines a message queue MQUE in which to store data. When receiving a response packet corresponding to the packet transmitted by the packet transmission control unit 40, the packet reception control unit 50 performs the following operation. That is, the packet reception control unit 50 extracts, from the response packet, information indicating the state of the message queue MQUE assigned to the core 10 that has transmitted 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 transmitting the packet and the core 10 receiving the packet are included in one node ND, the packet is directly transferred between the cores 10 without passing 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 has 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 that issues 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. When the target data of the memory access request is held in the cache memory 80 (cache hit), the memory control unit 70 accesses the cache memory 80. When the target data of 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 the other CPU for the memory access request. To transfer.

メモリアクセス要求が転送された他の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. In addition, the memory control unit 70 maintains the consistency (cache coherency) between the data held by the storage device MEM and the data held by the cache memory 80 by executing an eviction process or the like for eviction of data from the cache memory 80. Execute control. For example, the cache memory 80 is a secondary cache, and holds instructions to be executed by the application program and data to be processed by the application program.

図5は、図4に示すレジスタ部20と、パケット制御部30においてパケットを送信する場合に動作する要素との一例を示す。図5に示す要素は、パケットを送信する送信装置として機能する。図4に示すパケット送信制御部40は、パケット生成部42およびパケット送信部44を有し、図4に示すパケット受信制御部50は、パケット受信部52および応答格納部54を有する。   FIG. 5 illustrates an example of the register unit 20 illustrated 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 transmitting 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 section 20 has 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 or the like) different from the address space to which the storage device MEM is assigned. 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 a management program executed by the service processor SP. The register PK-HV stores key information generated by the hypervisor HV, which is a control program for controlling a virtual machine started 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, and the key information stored in the register PK-HV is referred to as key information PK-HV. The key information stored in the OS is called key information PK-OS. The key information PK-SP, PK-HV, and PK-OS are examples of the 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 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 executing the application program (process). . When each of the plurality of cores 10 executes an application program (process), the process can be switched without rewriting the key information PK-SP, PK-HV, and PK-OS held in the entry ENTS. That is, a context switch does not occur when the processes executed by the different cores 10 are switched. On the other hand, when one core 10 executes a plurality of application programs (processes), a plurality of processes use a common entry ENTS, and thus a context switch occurs when the processes are switched.

なお、各エントリ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を有する。   Note that 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, PK-HV, two registers PK-OS, PK-SP, and two registers PK-HF, PK-SP. It may have an SP. For example, in an information processing system in which a virtual machine is not started, 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により書き込まれ、アプリケーションプログラムにより読み出される。   The information held by the registers MSG-DT, MSGQ-ID, PK-SP, PK-HV, and PK-OS is read by the packet generation unit 42. When the application program causes the packet generator 42 to generate a packet, the application program sets the register SEND-MSG. The information held by 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 source application program to the packet destination application program. In the following description, data stored in 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. FIG. 6 shows an example of the management information MSGQ-ID stored in the register MSGQ-ID.

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

レジスタSTには、送信先のプロセスに送信したパケットに対応する応答に含まれる状態情報が格納される。以下の説明では、レジスタSTに格納される状態情報は、状態情報STとも称される。状態情報STの例は、図9で説明される。   The register ST stores state information included in a response corresponding to the packet transmitted to the destination process. In the following description, the status information stored in the register ST is also referred to as status 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 generator 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 transmitter 44. That is, the packet generation unit 42 transmits the 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. 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 associate a packet with a 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. It has an arbitration unit (not shown) to be selected.

パケット送信部44は、パケット生成部42から受信したパケットを、クロスバースイッチLXBを介して送信先のコア10に向けて送信する。   The packet transmission unit 44 transmits the packet received from the packet generation unit 42 to 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 to which the packet is transmitted via the crossbar switch LXB, and stores the state information ST included in the received packet in the response storage unit. Output to 54. The response storage unit 54 stores the state information ST received from the packet receiving unit 52 in the register ST of the entry ENTS that holds the 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 status information ST from the register ST based on the fact that the status information ST has been 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, the destination CPU-ID, the source CPU-ID, the entry ID, the management information MSGQ-ID, and the key information PK-SP, PK-HV, PK-OS are a header part, and the message data MSG-DT is , The data section. As the transmission 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 for identifying a CPU to which a packet is to be transmitted. 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 receiving the packet. The key information AKEY is an example of first key information used by the core 10 transmitting the packet and the core 10 receiving the packet to identify each other, and is used to determine whether the packet is normal or not. . The register set information REG-ID and the key information AKEY 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とともに格納されてもよい。   By managing the transmission and reception of the packet not only by the key information AKEY but also by the key information PK-SP, PK-HV and PK-OS which cannot be rewritten by the application program, the transmission and reception of the packet between predetermined application programs can be performed. Can be guaranteed. In other words, even when an application program malfunctions, transmission and reception of packets between erroneous application programs can be suppressed, 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 in the management information MSGQ-ID together with the key information AKEY.

メッセージサイズM−SIZEは、メッセージデータMSG−DTのサイズ(32バイトまたは64バイト)を示す。なお、メッセージデータMSG−DTのサイズが1種類しかない場合、管理情報MSGQ−IDは、メッセージサイズM−SIZEを含まない。なお、図6に示すパケットは、送信先CPU−IDから順にクロスバースイッチLXBに送出される。   The message size M-SIZE indicates the size (32 bytes or 64 bytes) of the 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. The packets shown in FIG. 6 are transmitted 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 illustrates an example of a state of the information processing system SYS2 illustrated 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 OSs (OS0, OS1, and OS2). OS2 is executed by CPU0. Then, three processes PROC (PROC0, PROC1, PROC2; that is, application programs) operate on the OS2. A broken line frame shown 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 AKEY 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 is based on the state management program, the hypervisor HV, and the OS. Realized respectively. 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 key information PK-SP, PK-HV, and PK-OS. As described in FIG. 5, each entry ENTS may include at least one of the 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 section 20 shown in FIG. The register AKEY is accessible by the process PROC, the OS, the hypervisor HV, and the service processor SP, and the register PK-OS is accessible by the OS, the hypervisor HV, and the service processor SP. The register PK-HV is accessible by the hypervisor HV and the service processor SP, and the register PK-SP is accessible only by the service processor SP. That is, access to the registers PK-OS, PK-HV, and PK-SP by the process PROC is prohibited.

図9は、図4に示すレジスタ部60と、パケット制御部30においてパケットを受信する場合に動作する要素との一例を示す。図9に示す要素は、パケットを受信する受信装置として機能する。図4に示すパケット制御部30のパケット受信制御部50は、図5に示すパケット受信部52および応答格納部54に加えて、パケット判定部56および書き込み制御部58を有する。図4に示すパケット送信制御部40は、図5に示すパケット生成部42およびパケット送信部44に加えて、応答パケット生成部46を有する。   FIG. 9 illustrates an example of the register unit 60 illustrated in FIG. 4 and elements that operate when the packet control unit 30 receives a packet. The element illustrated 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 section 60 has a plurality of registers for respectively storing a base address BADRS, key information AKEY, PK-OS, PK-HV, PK-SP, a write pointer WP, and a read pointer RP. 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 assigned. 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を選択して使用する。   Also, each entry ENTS has permission information OSEN indicating whether to validate the key information PK-OS, permission information HVEN indicating whether to validate the key information PK-HV, and validates the key information PK-SP. And an area for storing permission information SPEN indicating whether or not the permission information SPEN is provided. For example, each of the permission information OSEN, HVEN, and SPEN is 1 bit, and indicates logical 0 when invalid and logical 1 when valid. The permission information OSEN, HVEN, and SPEN are an example of a valid flag that sets whether or not the comparison of the key information PK-OS, PK-HV, and PK-SP by the packet determination unit 56 is valid. The packet determination unit 56 selects and uses the entry ENTR identified by the register set information REG-ID included in the management information MSGQ-ID of the received packet.

鍵情報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 the key information AKEY is notified from the receiving process to the transmitting process before the application program starts transmitting the message data MSG-DT. . For example, the key information PK-OS is a unique value determined by the OS on the transmission side of the message data MSG-DT for each process. 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 set to 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 start address (relative value) of a storage area that holds the unread message data MSG-DT among the message data MSG-DT stored in the message queue MQUE.

記憶装置MEMには、レジスタ部60のエントリENTRにそれぞれ対応する複数のメッセージキューMQUEが割り当てられる。メッセージキューMQUEは、記憶部の一例である。各メッセージキューMQUEは、リングバッファとして機能し、ライトポインタWPとリードポインタRPとに挟まれた記憶領域に、有効なメッセージデータMSG−DTが保持される。   The storage device MEM is assigned a plurality of message queues MQUE respectively corresponding to the entries ENTR of the register unit 60. 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 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, a 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 from which the message data MSG-DT is read 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, by combining the bit value of the base address BADRS and the bit value of the read pointer RP, the head address from which the message data MSG-DT is read is calculated.

パケット判定部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 receiving unit 52 receives the packet, the packet determining unit 56 reads the 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. If 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 determination 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 the comparison results indicate a match, and determines that the received packet is invalid when at least one of the comparison results indicates a mismatch. It is determined 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 receiving 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 into 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 to the message queue MQUE, the write control unit 58 notifies the response packet generation unit 46 of information indicating the state of the message queue MQUE. For example, if there is room in the message queue MQUE for storing 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 becomes 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. I 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 determiner 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 a destination CPU-ID, a source CPU-ID, an entry ID, and status information ST indicating the status of the message queue MQUE. The response packet is sent to the crossbar switch LXB in order from the destination CPU-ID.

送信先CPU−IDは、応答パケットに対応する元のパケットに含まれる送信元CPU−IDであり、送信元CPU−IDは、応答パケットに対応する元のパケットに含まれる送信先CPU−IDである。エントリIDは、応答パケットに対応する元のパケットに含まれるエントリIDである。   The destination CPU-ID is the source CPU-ID included in the original packet corresponding to the response packet, and the source CPU-ID is the 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, for example, 2 bits, 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 MQUEUE is full (error response). "COMPLETE" indicates that the message data MSG-DT is normally stored in the message queue MQUE, and that 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 packet transmission source CPU.

図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, key checkers AKEYCHK, OSCHK, HVCHK, SPCHK, and an AND circuit AND. The key checker AKEYCHK 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 an entry ENTR indicated by the register set information REG-ID included in the received packet, and outputs information held in the selected entry ENTR. The key information extracting 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 AKEYCHK 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. When the key information AKEY from the entry ENTR matches the key information AKEY from the key information extraction unit KEYOUT, the key checker AKEYCHK outputs a logical 1 indicating a match. When 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 AKEYCHK 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を出力する。   When the permission information OSEN read from the entry ENTR indicates a valid state (logic 1), the key checker OSCHK reads 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. Compare with 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 logical 1 indicating a match. When the key information PK-OS from the entry ENTR does not match the key information PK-OS from the key information extraction unit KEYOUT, 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 compares the key information PK-OS from the entry ENTR with the key information PK-OS from the key information extraction unit KEYOUT. Regardless, a logic 1 indicating a match is output.

鍵チェッカ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を出力する。   When the permission information HVEN read from the entry ENTR indicates a valid state (logic 1), the key checker HVCHK extracts the key information PK-HV extracted from the packet by the key information extraction unit KEYOUT and the key information PK- 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 logical 1 indicating a match. When 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 compares the key information PK-HV from the entry ENTR with the key information PK-HV from the key information extraction unit KEYOUT. Regardless, a logic 1 indicating a match is output.

鍵チェッカ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を出力する。   When the permission information SPEN read from the entry ENTR indicates a valid state (logic 1), the key checker SPCHK extracts the key information PK-SP extracted from the packet by the key information extraction unit KEYOUT and the key information PK-SP 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 logical 1 indicating a match. When the key information PK-SP from the entry ENTR does not match the key information PK-SP from the key information extraction unit KEYOUT, 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 adds the key information PK-SP from the entry ENTR to the key information PK-SP from the key information extraction unit KEYOUT. Regardless, a logic 1 indicating a match is output.

このように、パケット判定部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 enables or disables the comparison operation by each of the key checkers OSCHK, HVCHK, and SPCHK according to the logic of the permission information OSEN, HVEN, and SPEN. Thus, the number of pieces of key information PK-OS, PK-HV, and PK-SP to be compared can be changed in accordance with the degree of 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 becomes “000” as the reliability required of 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 for the determination by the packet determination unit 56 are determined according to the logic of the permission information OSEN, HVEN, and SPEN set by the packet receiving device. In other words, the packet transmitting apparatus does not rewrite the key information PK-OS, PK-HV, and PK-SP held in the entry ENTS shown in FIG. PK-OS, PK-HV, PK-SP can be changed.

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

図11は、図3に示す情報処理システムSYS2の動作の一例を示す。図11は、パケットの送信装置からパケットの受信装置にメッセージデータMSG−DTが転送される例を示す。換言すれば、送信装置に対応するコア10のいずれかがアプリケーションプログラム1を実行し、受信装置に対応するコア10のいずれかがアプリケーションプログラム2を実行する。そして、アプリケーションプログラム1とアプリケーションプログラム2との間でメッセージデータMSG−DTが転送される。   FIG. 11 illustrates an example of an operation of the information processing system SYS2 illustrated 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, one of the cores 10 corresponding to the transmitting device executes the application program 1, and one of the cores 10 corresponding to the receiving device executes the application program 2. Then, the 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 allocated 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 the application program in the transmission device. The entry ENTR is allocated to 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 device determines key information PK-SP, PK-HV, and PK-OS to be used before the message data MSG-DT is transmitted / received to / from the receiving device. That is, the state management program executed by the service processor SP illustrated 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 illustrated in FIG. 7 determines the 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). Note that 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 device notifies the receiving device of the key information PK-SP, PK-HV, and PK-OS stored in the entry ENTS used in the application program 1 (FIG. 11B). For example, the 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 device 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 by 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を用いて、パケットの有効性をチェックすることができる。   Note that, in the example illustrated in FIG. 11, the packet control unit 30 of the reception device stores the 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 the packet from the transmitting device, the receiving device uses the key information AKEY and the key information PK-SP, PK-HV, and PK-OS corresponding to the permission information SPEN, HVEN, and OSEN indicating validity. , 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. When 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. 11D).

アプリケーションプログラム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 from the receiving device to the transmitting device in advance. 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))。   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 by the application program 1 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. It is transmitted (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である。   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 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, the key information AKEY matches, the key information PK-SP matches, the key information PK-HV matches, and the key information PK-OS matches. 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 device 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 transmitting device (FIG. 11 (k)). ).

送信装置のパケット制御部30は、応答パケットを受信し、応答パケットに含まれる状態情報STを、送信したパケットの生成に使用したエントリENTSのレジスタSTに格納する(図11(l))。パケット制御部30は、応答パケットの受信をアプリケーションプログラム1に通知する。応答パケットの受信は、I/O空間等に割り当てられる受信フラグをセットすることでアプリケーションプログラム1に通知されてもよく、割り込みによりアプリケーションプログラム1に通知されてもよい。   The packet control unit 30 of the transmitting device receives the response packet, and stores the state information ST included in the response packet in the register ST of the entry ENTS used for generating the transmitted packet (FIG. 11 (l)). 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 interruption.

アプリケーションプログラム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 notification of the reception of the response packet, and detects that the message data MSG-DT1 has been normally transferred to the receiving device (see FIG. 11 (m )). Then, the application program 1 releases the entry ENTS from which the status 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. The update of the read pointer RP may be executed by the packet control unit 30 of the receiving device based on the 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 application program 1 reads out state information ST stored in entry ENTS and detects that message data MSG-DT has been normally transferred to the receiving device (FIGS. 12A to 12M). 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 device stores the permission information SPEN, HVEN, and OSEN indicating the valid state in the entry ENT along with the key information PK-SP, PK-HV, and PK-OS. For this reason, when receiving a packet from the transmitting device, the receiving device checks the validity of the packet 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 illustrated in FIG. 12, first, the application program 1 executed by the core 10 corresponding to the transmitting device transmits the message data MSG-DT1 to the application program 2 executed by the core 10 corresponding to the receiving device. Next, the application program 3 executed by the core 10 corresponding to the transmitting device transmits the message data MSG-DT2 using the incorrect 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 a process of transferring the message data MSG-DT2 to the receiving device. However, the application program 3 stores the incorrect management information MSGQ-ID in the entry ENTS together with the message data MSG-DT2 (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 AKEY of the management information MSGQ-ID is the value CD1 agreed between the application programs 1 and 2. Is 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)). The packet control unit 30 of the transmitting device reads out the message data MSG-DT2 and the management information MSGQ-ID stored in the entry ENTS by the application program 3 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. .

そして、パケット制御部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. It is transmitted (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. Therefore, 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 shown 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 determines that the received packet is invalid. (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 status information ST indicating that the message data MSG-DT has not been normally received, and transmits the generated response packet to the transmitting 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 state 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 state information ST stored in the entry ENTS based on the notification of the 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 state 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 performs 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 illustrated in FIG. 13 is the same as the information processing system SYS2 illustrated in FIG. 3, and the configuration of the CPU mounted on the information processing system is similar to the CPU illustrated in FIG. However, the entry ENTS of the register section 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 device 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 state information ST stored in the entry ENTS is performed except 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. , And FIG.

図13においても、図12と同様に、まず、送信装置に対応するコア10が実行するアプリケーションプログラム1がメッセージデータMSG−DT1を送信する。次に、送信装置に対応するコア10が実行するアプリケーションプログラム3が誤った管理情報MSGQ−IDを用いてメッセージデータMSG−DT2を送信する。   13, similarly to 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 transmitting device transmits the message data MSG-DT2 using the incorrect 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 transfers the message data MSG-DT2 to the receiving device using the management information MSGQ-ID used by the application program 1. The register set information REG-ID of the management information MSGQ-ID indicates an entry ENTR used in the application program 1, and the key information AKEY of the management information MSGQ-ID is the same as the value CD1 used in the application program 1. The packet control unit 30 of the transmitting device transmits a packet including the message data MSG-DT2 and the management information MSGQ-ID to the receiving device based on the logic 1 of the transmission request SEND-MSG (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. 13C). ). The packet control unit 30 of the receiving device 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 transmitting 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 transmitting device receives the response packet, and stores the state information ST included in the response packet in the register ST of the entry ENTS used in the application program 3 (FIG. 13E). The packet control unit 30 notifies the application program 3 that the response packet has been received. The application program 3 reads the status information ST stored in the entry ENTS based on the notification of the reception of the response packet, 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 out 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は誤動作するおそれがある。   After reading the message data MSG-DT1 and MSG-DT2, the application program 2 updates the read pointer RP of the entry ENTR according to the size of the read message data MSG-DT1 and MSG-DT2. Thereafter, the application program 2 performs 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 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 illustrates an example of a process of transmitting a packet executed by the packet control unit 30 illustrated 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 illustrated in FIG. 5 determines whether any of the registers SEND-MSG of the entry ENTS of the register unit 20 has been set to logic 1. If the register SEND-MSG has been set to logic 1, the process proceeds to step S12. If the register SEND-MSG has not been 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 generation unit 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 shifts the processing to step S14. In step S14, the packet transmitting unit 44 illustrated in FIG. 5 transmits the packet generated by the packet generating unit 42 to the receiving device.

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

図15は、図4に示すパケット制御部30が実行するパケットを受信する処理の一例を示す。図15に示す処理は、所定の頻度で繰り返し実行される。   FIG. 15 illustrates an example of a process of receiving a packet executed by the packet control unit 30 illustrated 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 receiving unit 52 illustrated in FIG. 9 determines whether a packet has been received. If a packet has been received, the process proceeds to step S22; otherwise, the process ends.

ステップS22において、図9に示すパケット判定部56は、受信したパケットに含まれる鍵情報AKEYが、パケットに含まれるレジスタセット情報REG−IDにより示されるエントリENTRに格納された鍵情報AKEYと一致するか否かを判定する。鍵情報AKEYが一致する場合、処理はステップS24に移行され、鍵情報AKEYが一致しない場合、処理は図16に示すステップS44に移行される。   In step S22, the packet determination unit 56 illustrated in FIG. 9 determines that the key information AKEY included in the received packet matches 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 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. 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 determines that the key information PK-SP included in the received packet matches 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 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 proceeds 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 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 determines that the key information PK-OS included in the received packet matches 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-OSs match, the process proceeds to step S36. If the key information PK-OSs do 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 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 illustrated 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 shifts the processing 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 shifts the processing 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 normally received, and shifts the processing 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 transmitting unit 44 illustrated in FIG. 9 transmits the response packet generated by the response packet generating unit 46 to the packet transmitting device, and ends the processing.

図17は、図4に示すコア10が実行するアプリケーションプログラムによりパケットを送信する場合の処理の一例を示す。例えば、アプリケーションプログラムは、図11および図12に示すアプリケーションプログラム1である。図17に示す処理は、所定の頻度で繰り返し実行される。   FIG. 17 illustrates an example of a process when a packet is transmitted by the application program executed by the core 10 illustrated in FIG. For example, the application program is the application program 1 shown in FIG. 11 and FIG. The processing 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 has been stored in the entry ENTS. That is, the application program determines whether a response packet corresponding to the transmitted packet has been received. If the status information ST is stored in the entry ENTS, the process proceeds to step S58. If the status information ST is not stored in the entry ENTS, the process ends. In step S58, the application program reads the state information ST stored in the entry ENTS, checks whether the message data MSG-DT has been normally transferred, and ends the processing.

図18は、図4に示すコア10が実行するアプリケーションプログラムによりパケットを受信する場合の処理の一例を示す。例えば、アプリケーションプログラムは、図11および図12に示すアプリケーションプログラム2である。図18に示す処理は、所定の頻度で繰り返し実行される。   FIG. 18 illustrates an example of a process when a packet is received by the application program executed by the core 10 illustrated in FIG. For example, the application program is the application program 2 shown in FIG. 11 and FIG. 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. The 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 or not the message data MSG-DT has been 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 out the message data MSG-DT from the message queue MQUE. Next, in step S66, the application program updates the read pointer RP, and ends the processing.

以上、図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, the same effects as those of the embodiment shown in FIG. 1 can be obtained in the embodiments shown in FIGS. That is, the key information PK-SP, PK-HV, and PK-OS are stored in the registers PK-SP, PK-HV, and PK-OS that are not permitted to be accessed by the application program. Thus, it is possible to prevent erroneous key information PK-SP, PK-HV, and PK-OS from being stored in the register due to a malfunction of the application program or the like. Also, it is determined whether the received packet is normal using the key information held in the registers MSGQ-ID (AKEY) having different access authorities and the registers PK-SP, PK-HV, and PK-OS. Thereby, the reliability of the determination can be improved.

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

アプリケーションプログラムより上位のOS等のプログラムによる鍵情報PK−SP、PK−HV、PK−OSのレジスタPK−SP、PK−HV、PK−OSへの格納は、送信データの転送前に予め実行される。このため、送信データの受信装置への転送時にコンテキストスイッチ等は発生せず、コンテキストスイッチ等により、アプリケーションプログラムの実行効率が低下することを抑止することができる。   The storage of the key information PK-SP, PK-HV, and PK-OS in the 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 transmission of the transmission data. You. Therefore, a context switch or the like does not occur when the transmission data is transferred to the receiving device, and it is possible to prevent the execution efficiency of the application program from being reduced 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 for the determination by the packet determination unit 56 are the permission information OSEN, HVEN, It is determined according to the logic of SPEN. Therefore, the key information PK-OS, PK-OS, PK-OS used for the determination by the packet determination unit 56 can be used without rewriting the key information PK-OS, PK-HV, and PK-SP held in the entry ENTS of the packet transmitting device. HV, PK-SP can be changed. As a result, the key information PK-OS, PK-HV, and PK-SP used for the determination by the packet determination unit 56 can be changed without causing a context switch or the like in the packet transmitting device. That is, the key information PK-OS, PK-HV, and PK-SP used for the determination by the packet determination unit 56 can be changed without lowering the execution efficiency of the process.

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

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…ライトポインタ   10 CPU core; 20 register unit; 30 packet control unit; 40 packet transmission control unit; 42 packet generation unit; 44 packet transmission unit; 46 response packet generation unit; 50 packet reception control unit; ... Packet receiving unit; 54 ... Response storage unit; 56 ... Packet judging unit; 58 ... Writing control unit; 60 ... Register unit; 70 ... Memory control unit; 80 ... Cache memory; 120 management unit; 130, 140 storage unit; 150 packet generation unit; 160 packet transmission unit; 200 reception unit; 210 packet reception unit; 220 storage unit; 230, 240 comparison unit; Control unit; 260 storage unit; AKEY key information; AKEYCHK key checker; APRG application program; 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 extracting 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 transmitting device that transmits data and a receiving device that receives data from the transmitting device,
The transmission device,
A data processing unit that executes software for generating data,
A first holding unit that holds first key information and data generated by the software;
A management unit that manages the operation of the data processing unit and generates 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 the data and the first key information held by the first holding unit and the second key information held by the second holding unit;
A packet transmitting unit that transmits the packet generated by the packet generating unit,
The receiving device,
A packet receiving unit that receives a packet from the transmitting device;
A third holding unit that holds the first key information and the second key information,
A first comparing unit that compares first key information included in the packet received by the packet receiving unit with 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;
When the comparison result by the first comparison unit indicates a match and the comparison result by the second comparison unit indicates a match, write control for writing data included in the packet received by the packet receiving unit to a storage unit An information processing system comprising a unit.
前記管理部は、前記データ処理部の動作を管理する管理プログラムにより実現されることを特徴とする請求項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記載の情報処理システム。 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 the operation of the data processing unit. 前記管理部は、前記データ処理部の状態を管理する管理装置が実行する状態管理プログラムにより実現されることを特徴とする請求項1記載の情報処理システム。 The information processing system according to claim 1 , 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 a validity flag for setting whether to enable comparison of the second key information by the second comparing unit,
When the validity flag held in the third holding unit indicates invalid, the second comparing unit outputs information indicating a match of the comparison result to the writing control unit regardless of the comparison result. The information processing system according to any one of claims 1 to 4, wherein
前記送信装置が、複数の前記ソフトウェアを実行する複数の前記データ処理部を有する場合、
前記第1の保持部および前記第2の保持部は、複数の前記データ処理部毎に設けられ、
前記第3の保持部は、複数の前記ソフトウェア毎に設けられることを特徴とする請求項1ないし請求項5のいずれか1項記載の情報処理システム。
When the transmitting apparatus 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 claim 1, 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の鍵情報とを含むパケットを生成するパケット生成部と、
前記パケット生成部が生成したパケットを送信するパケット送信部を有することを特徴とする送信装置。
A transmitting device mounted on the information processing system together with the receiving device and transmitting data to the receiving device,
A data processing unit that executes software for generating data,
A first holding unit that holds first key information and data generated by the software;
A management unit that manages the operation of the data processing unit and generates 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 the data and the first key information held by the first holding unit and the second key information held by the second holding unit;
A transmission device 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 transmitting device for transmitting data and a receiving device for receiving data from the transmitting device,
A data processing unit of the transmitting device executes software that generates data and stores the generated data in a first holding unit that holds first key information;
A management unit of the transmission device manages the operation of the data processing unit and generates second key information, and stores the generated second key information in a second holding unit in which writing by the software is prohibited. Store,
A packet generation unit of the transmission device generates a packet including data and first key information held by a first holding unit, and second key information held by the second holding unit;
A packet transmission unit of the transmission device transmits the packet generated by the packet generation unit,
A packet receiving unit of the receiving device receives a packet from the transmitting device,
A first comparing unit included in the receiving device compares first key information included in the packet received by the packet receiving unit with first key information held in a third holding unit;
A second comparing unit included in the receiving device compares second key information included in the packet received by the packet receiving unit with second key information held in the third holding unit,
When the write control unit of 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 write control unit includes a packet received by the packet reception unit. A method for controlling an information processing system, comprising writing contained data to 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 JP2017191464A (en) 2017-10-19
JP6668908B2 true 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)

Families Citing this family (1)

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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448698A (en) * 1993-04-05 1995-09-05 Hewlett-Packard Company Inter-processor communication system in which messages are stored at locations specified by the sender
JP3983820B2 (en) * 1998-01-07 2007-09-26 富士通株式会社 Computer system and memory protection method
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
JP5541275B2 (en) * 2011-12-28 2014-07-09 富士通株式会社 Information processing apparatus and unauthorized access prevention method
JP5826910B2 (en) * 2014-12-09 2015-12-02 株式会社東芝 Communication apparatus and key management method

Also Published As

Publication number Publication date
JP2017191464A (en) 2017-10-19

Similar Documents

Publication Publication Date Title
KR101403233B1 (en) Information processing apparatus and unauthorized access prevention method
US6449699B2 (en) Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
JP4872001B2 (en) Memory access safety management
JP5784677B2 (en) Extending the processor for secure embedded container execution
US8171230B2 (en) PCI express address translation services invalidation synchronization with TCE invalidation
TW202018495A (en) System and method for managing software-defined persistent memory
JP4474570B2 (en) Cache coherency control method
KR20120061938A (en) Providing state storage in a processor for system management mode
US20090172806A1 (en) Security management in multi-node, multi-processor platforms
JP4945053B2 (en) Semiconductor device, bus interface device, and computer system
JP2020004108A (en) Semiconductor device, control system, and semiconductor device controlling method
US20110161644A1 (en) Information processor
US20220414020A1 (en) Software interface to xpu address translation cache
JP2014081819A (en) Information processing apparatus
JP2009237722A (en) Cache controller and information processing apparatus
JP6668908B2 (en) Information processing system, transmitting apparatus, and control method for information processing system
JP3970705B2 (en) Address translator, address translation method, and two-layer address translator
WO2011158441A1 (en) Data processing device and method, and processor unit of same
JP6620647B2 (en) Information processing system, transmission apparatus, and control method for information processing system
JP5440419B2 (en) Information processing system
JP6680973B2 (en) Information processing apparatus, control method of information processing apparatus, and arithmetic processing apparatus
JP6235088B2 (en) Information processing device
JP6613874B2 (en) Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method
WO2012098812A1 (en) Multiprocessor system, multiprocessor control method, and processor
JP2005515543A (en) Interdomain data transfer

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 Written amendment

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 Written amendment

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