JP7120599B2 - Information processing system and control method - Google Patents

Information processing system and control method Download PDF

Info

Publication number
JP7120599B2
JP7120599B2 JP2018043575A JP2018043575A JP7120599B2 JP 7120599 B2 JP7120599 B2 JP 7120599B2 JP 2018043575 A JP2018043575 A JP 2018043575A JP 2018043575 A JP2018043575 A JP 2018043575A JP 7120599 B2 JP7120599 B2 JP 7120599B2
Authority
JP
Japan
Prior art keywords
information processing
server
information
synchronization
processing devices
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
JP2018043575A
Other languages
Japanese (ja)
Other versions
JP2019159609A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018043575A priority Critical patent/JP7120599B2/en
Publication of JP2019159609A publication Critical patent/JP2019159609A/en
Application granted granted Critical
Publication of JP7120599B2 publication Critical patent/JP7120599B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理システム及び制御方法に関する。 The present invention relates to an information processing system and control method .

プロセッサ、メモリ等を多重化した高可用性サーバが提供されている。例えば、特許文献1には、複数のCPU(central processing unit)モジュールの間で同期をとって、同じタイミングで同一の処理を実行させるロックステップ方式が採用された高可用性サーバにおいて、誤りが検出された場合でもロックステップを外すことなく安定した動作を実現する制御方法が記載されている。特許文献1に記載の制御方法では、1つのCPUモジュールで誤りが検出された場合、その情報を他のCPUモジュールへ送信する。次に全てのCPUモジュールで同期してエラー訂正処理を行う。特許文献1に記載の方法によれば、誤りが検出されたCPUモジュールを切り離すことがなく、エラー訂正処理を行う間も可用性を維持することができる。 High-availability servers are provided that multiplex processors, memory, and the like. For example, Patent Document 1 discloses that an error is detected in a high-availability server that employs a lock-step method in which a plurality of CPU (central processing unit) modules are synchronized to execute the same processing at the same timing. It describes a control method that achieves stable operation without losing lockstep even when the In the control method described in Patent Document 1, when an error is detected in one CPU module, the information is transmitted to other CPU modules. Next, error correction processing is performed synchronously in all CPU modules. According to the method described in Patent Literature 1, availability can be maintained even while error correction processing is being performed without disconnecting the CPU module in which the error has been detected.

特許文献2には、例えば、第1のサーバのデータを、第2のサーバの同期データ領域に保持するようにして複数のサーバ間でデータを同期するデータ同期システムが記載されている。このデータ同期システムでは、第1のサーバに障害が発生すると、第2のサーバを第1のサーバの代替として機能させる。 Patent Literature 2 describes, for example, a data synchronization system that synchronizes data between a plurality of servers by retaining data of a first server in a synchronized data area of a second server. In this data synchronization system, when a failure occurs in the first server, the second server functions as a substitute for the first server.

特開2012-73828号公報JP-A-2012-73828 特開2009-265973号公報JP 2009-265973 A

一般に高可用性が求められるシステムを構築する場合、システムの用途および重要度に応じてサーバ(高可用性サーバや一般的なサーバ)を選定し、これらを組み合わせてシステムを構築する。システムの構築時には、サーバの選定、構築、動作確認等で膨大な作業が発生する。特許文献1~特許文献2には、高可用性システムの構築に必要な作業を軽減し、高可用性システムの構築を容易にする技術が開示されていない。 Generally, when building a system that requires high availability, servers (high-availability servers and general servers) are selected according to the purpose and importance of the system, and these are combined to build the system. When building a system, a huge amount of work occurs in server selection, construction, operation confirmation, and the like. Patent Documents 1 and 2 do not disclose a technique for reducing the work required to build a highly available system and for facilitating the building of a highly available system.

そこでこの発明は、上述の課題を解決する情報処理システム及び制御方法を提供することを目的としている。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an information processing system and a control method that solve the above problems.

本発明の一態様によれば、情報処理システムは、基盤装置と複数の情報処理装置とを備え、前記基盤装置は、複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得する同期グループ情報取得部と、前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するクロック配信部と、一組みの前記情報処理装置の間におけるクロック周期での前記情報処理装置による演算結果の授受を制御するスイッチ部と、複数の前記情報処理装置を収納し、複数の前記情報処理装置の各々と、前記同期グループ情報取得部および前記クロック配信部および前記スイッチ部とを通信可能に接続するバックプレーンと、を備え、前記情報処理装置は、前記スイッチ部を介して授受される前記演算結果を比較して一組みの前記情報処理装置の同期がとれているかどうかを判定するロックステップ制御部と、複数の前記情報処理装置のうち同期が必要な前記情報処理装置を設定した設定情報を取得し、前記設定情報に基づく前記同期グループ情報を前記クロック配信部へ送信するサーバ管理部と、を備える。 According to one aspect of the present invention, an information processing system includes a base device and a plurality of information processing devices, and the base device designates a combination of information processing devices that require synchronization among the plurality of information processing devices. a synchronization group information acquisition unit that acquires synchronized group information, a clock distribution unit that distributes in-phase clock signals to a set of information processing devices that require synchronization based on the synchronization group information; a switch unit for controlling transmission/reception of calculation results by the information processing devices at a clock cycle between a set of the information processing devices; a plurality of the information processing devices; each of the plurality of the information processing devices; a backplane that communicably connects the synchronization group information acquisition unit, the clock distribution unit, and the switch unit; a lockstep control unit for determining whether or not a set of information processing devices are synchronized, and setting information setting the information processing device that needs to be synchronized among the plurality of information processing devices; a server management unit that transmits the synchronization group information based on the setting information to the clock distribution unit.

本発明の一態様によれば、基盤装置と複数の情報処理装置とを備え、前記基盤装置が複数の前記情報処理装置の各々と通信可能に接続される情報システムにおいて、複数の前記情報処理装置のうちの一つが、複数の前記情報処理装置のうち同期が必要な前記情報処理装置を設定した設定情報を取得し、前記設定情報に基づく同期が必要な前記情報処理装置の組み合わせを指定した同期グループ情報を前記基盤装置へ送信するステップと、前記基盤装置が、前記同期グループ情報を取得するステップと、前記基盤装置が、前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するステップと、前記基盤装置が、一組みの前記情報処理装置の間におけるクロック周期での前記情報処理装置による演算結果の授受を制御するステップと、一組みの前記情報処理装置の各々が、授受される前記演算結果を比較して一組みの前記情報処理装置の同期がとれているかどうかを判定するステップと、を有する制御方法である。 According to one aspect of the present invention, in an information system comprising a base device and a plurality of information processing devices, wherein the base device is communicably connected to each of the plurality of information processing devices, the plurality of information processing devices Synchronization in which one of the plurality of information processing apparatuses acquires setting information that sets the information processing apparatuses that require synchronization among the plurality of information processing apparatuses, and specifies a combination of the information processing apparatuses that require synchronization based on the setting information. a step of transmitting group information to the base device; a step of the base device obtaining the synchronized group information; a step of distributing a clock signal of the same phase to a device, a step of the base device controlling transmission and reception of calculation results by the information processing device at a clock cycle between a set of the information processing devices; each of the pair of information processing devices compares the computation results received and received to determine whether or not the pair of information processing devices are synchronized.

本発明の基盤装置によれば、多重化された高可用性サーバを含む情報処理システムの構築を容易に行うことができる。 According to the base device of the present invention, it is possible to easily construct an information processing system including multiplexed high-availability servers.

本発明の一実施形態による基盤装置の最小構成を示す図である。It is a figure which shows the minimum structure of the base device by one Embodiment of this invention. 本発明の一実施形態による情報処理システムの構成を示すブロック図である。1 is a block diagram showing the configuration of an information processing system according to one embodiment of the present invention; FIG. 本発明の一実施形態による情報処理装置の構成を示すブロック図である。1 is a block diagram showing the configuration of an information processing device according to an embodiment of the present invention; FIG. 本発明の一実施形態による同期が必要なサーバの設定情報の一例を示す図である。FIG. 4 is a diagram showing an example of setting information of servers requiring synchronization according to an embodiment of the present invention; 本発明の一実施形態による同期が必要なサーバの設定処理の一例を示す図である。FIG. 4 is a diagram illustrating an example of setting processing for servers that require synchronization according to an embodiment of the present invention; 本発明の一実施形態による同期処理の一例を示す図である。FIG. 4 is a diagram illustrating an example of synchronization processing according to an embodiment of the present invention; 本発明の一実施形態による情報処理システムの一例を示す図である。It is a figure showing an example of an information processing system by one embodiment of the present invention.

<一実施形態>
以下、本発明の一実施形態による情報処理システムについて図1~図7を参照して説明する。
図1は、本発明の一実施形態による基盤装置の最小構成を示す図である。
基盤装置100は、少なくとも1台の高可用性サーバを含む情報処理システムを容易に構築可能とする装置である。1台の高可用性サーバは、複数の情報処理装置を多重化して構成される。基盤装置100を用いると、処理の多重化が要求される高可用性サーバを構築することが可能である。処理の多重化は、例えば、複数の情報処理装置が備えるそれぞれのCPU(central processing unit)の間でロックステップ方式の同期を実行することにより実現する。基盤装置100は、このような要求にこたえる高可用性サーバの構築に必要な機能を提供する。また、基盤装置100によって構成される情報処理システムは、非多重化サーバを含むことができる。基盤装置100を用いると、高可用性サーバと非多重化サーバとが混在する情報処理システムを容易に構築することができる。
<One embodiment>
An information processing system according to an embodiment of the present invention will be described below with reference to FIGS. 1 to 7. FIG.
FIG. 1 is a diagram showing the minimum configuration of a base device according to one embodiment of the present invention.
The base device 100 is a device that makes it possible to easily construct an information processing system that includes at least one high-availability server. A single high-availability server is configured by multiplexing a plurality of information processing devices. By using the base device 100, it is possible to construct a highly available server that requires multiplexing of processing. The multiplexing of processing is realized, for example, by executing lock-step synchronization between CPUs (central processing units) provided in a plurality of information processing apparatuses. The base device 100 provides the functions necessary for constructing a highly available server that meets such demands. Also, the information processing system configured by the base device 100 can include a non-multiplexed server. By using the base device 100, it is possible to easily construct an information processing system in which high-availability servers and non-multiplexed servers coexist.

図示するように基盤装置100は、同期グループ情報取得部110と、クロック配信部101と、を備える。
同期グループ情報取得部110は、情報処理システムに含まれる複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを示す同期グループ情報を取得する。同期グループ情報には、1台の前記情報処理装置に対して2台以上の同期相手となる情報処理装置を設定することが可能である。
クロック配信部101は、同期グループ情報に基づいて、同期が必要な一組みの情報処理装置に対して同位相のクロック信号を送信する。
As illustrated, the base device 100 includes a synchronization group information acquisition section 110 and a clock distribution section 101 .
Synchronization group information acquisition unit 110 acquires synchronization group information indicating a combination of information processing apparatuses requiring synchronization among a plurality of information processing apparatuses included in an information processing system. In the synchronization group information, it is possible to set two or more synchronization partner information processing apparatuses for one information processing apparatus.
The clock distribution unit 101 transmits in-phase clock signals to a set of information processing apparatuses that need to be synchronized based on the synchronization group information.

図2は、本発明の一実施形態による情報処理システムの構成を示すブロック図である。情報処理システム1は、基盤装置100と、基盤装置100に接続される複数の情報処理装置(サーバ201~20N)と、を含む。図2に例示する情報処理システム1は、例えば、ブレードサーバである。
基盤装置100は、クロック配信部101と、スイッチ部102と、バックプレーン103と、を備えている。
クロック配信部101は、CPUを備えたコンピュータである。クロック配信部101は、同期グループ情報取得部110を備える。同期グループ情報取得部110については図1で説明したとおりである。クロック配信部101は、例えば、水晶振動子などの源振を備える。源振は、所定の周期でクロック信号を出力する。クロック配信部101は、このクロック信号を、サーバ201~20Nのうち、同期グループ情報に指定された一組みのサーバ群へ配信する。例えば、同期グループ情報に同期すべきサーバの組み合わせとして、サーバ201とサーバ202の組み合わせが指定されている場合、クロック配信部101は、同期グループ情報に基づいて、サーバ201とサーバ202に対して同位相のクロック信号を配信する。
FIG. 2 is a block diagram showing the configuration of an information processing system according to one embodiment of the present invention. The information processing system 1 includes a base device 100 and a plurality of information processing devices (servers 201 to 20N) connected to the base device 100. FIG. The information processing system 1 illustrated in FIG. 2 is, for example, a blade server.
The base device 100 includes a clock distribution unit 101 , a switch unit 102 and a backplane 103 .
The clock distribution unit 101 is a computer having a CPU. The clock distribution unit 101 has a synchronization group information acquisition unit 110 . Synchronous group information acquisition unit 110 is as described in FIG. The clock distribution unit 101 has a source oscillation such as a crystal oscillator, for example. The source oscillation outputs a clock signal at a predetermined cycle. The clock distribution unit 101 distributes this clock signal to a set of servers designated by the synchronization group information among the servers 201 to 20N. For example, when a combination of the servers 201 and 202 is designated as a combination of servers to be synchronized in the synchronization group information, the clock distribution unit 101 synchronizes the servers 201 and 202 based on the synchronization group information. Distribute phase clock signals.

スイッチ部102は、サーバ201~20Nの間の通信を制御する。例えば、スイッチ部102は、同期が必要な一組みのサーバ201等の間の演算結果の授受を仲介する。例えば、サーバ201とサーバ202を同期させる場合、スイッチ部102は、クロック配信部101が配信するクロック信号の周期(クロック周期)で、サーバ201が出力したサーバ201が備えるCPU241による演算結果を取得し、これをサーバ202へ出力する。また、スイッチ部102は、クロック周期で、サーバ202が出力したサーバ202が備えるCPU242による演算結果を取得し、これをサーバ201へ出力する。 A switch unit 102 controls communication between the servers 201 to 20N. For example, the switch unit 102 mediates transfer of calculation results between a set of servers 201 and the like that require synchronization. For example, when synchronizing the server 201 and the server 202, the switch unit 102 acquires the calculation result by the CPU 241 provided in the server 201 output by the server 201 at the cycle (clock cycle) of the clock signal distributed by the clock distribution unit 101. , and outputs this to the server 202 . Moreover, the switch unit 102 acquires the calculation result by the CPU 242 included in the server 202 output by the server 202 at the clock cycle, and outputs this to the server 201 .

バックプレーン103は、クロック配信部101と、スイッチ部102とを備える。バックプレーン103は、サーバ201~20Nを筐体104に収納するためのスロットを備えている。各スロットには、クロック配信部101およびスイッチ部102と、サーバ201~20Nとを通信可能に接続するインタフェースが設けられている。バックプレーン103には、各インタフェースとクロック配信部101やスイッチ部102とを接続する配線が敷設されている。サーバ201~20Nを、バックプレーン103に接続することにより、クロック配信部101とサーバ201~20Nとの通信、スイッチ部102とサーバ201~20Nとの通信、サーバ201~20Nの間の通信が可能となる。バックプレーン103は、サーバ201~20Nの各々とクロック配信部101とを接続する破線で示された通信線C1~CNを備える。バックプレーン103は、サーバ201~20Nの各々とスイッチ部102とを接続する実線で示された通信線L1~LNを備える。通信線L1~LNのことをロックステップインタフェースとも呼ぶ。バックプレーン103は、サーバ管理部261~26Nの各々とクロック配信部101とを接続する一点鎖線で示された通信線H1~HNを備える。サーバ管理部261~26Nは、通信線L0によって互いが通信可能に接続される。 Backplane 103 includes clock distribution unit 101 and switch unit 102 . The backplane 103 has slots for housing the servers 201 to 20N in the housing 104 . Each slot is provided with an interface for communicably connecting the clock distribution unit 101, the switch unit 102, and the servers 201 to 20N. The backplane 103 is provided with wiring that connects each interface with the clock distribution unit 101 and the switch unit 102 . By connecting the servers 201 to 20N to the backplane 103, communication between the clock distribution unit 101 and the servers 201 to 20N, communication between the switch unit 102 and the servers 201 to 20N, and communication between the servers 201 to 20N are possible. becomes. The backplane 103 includes communication lines C1-CN indicated by dashed lines connecting each of the servers 201-20N and the clock distribution unit 101. FIG. The backplane 103 includes communication lines L1 to LN indicated by solid lines that connect each of the servers 201 to 20N and the switch unit 102. FIG. The communication lines L1 to LN are also called lockstep interfaces. The backplane 103 includes communication lines H1 to HN indicated by dashed-dotted lines that connect each of the server management units 261 to 26N and the clock distribution unit 101. FIG. The server management units 261 to 26N are communicably connected to each other via a communication line L0.

図3は、本発明の一実施形態による情報処理装置の構成を示すブロック図である。図3に情報処理システム1に用いられるサーバ201の構成例を示す。
サーバ201は、メモリ211と、不揮発性ストレージ221と、ネットワークI/F部231と、CPU241と、ロックステップ制御部251と、サーバ管理部261とを備える。サーバ管理部261は、通信ポート271を備えている。図3では、サーバ201を例に説明を行うが、他のサーバ20X(Xは2~N)についても同様である。例えば、サーバ202は、メモリ212と、不揮発性ストレージ222と、ネットワークI/F部232と、CPU242と、ロックステップ制御部252と、サーバ管理部262とを備える。サーバ管理部262は、通信ポート272を備えている。また、各構成は、以下に説明するものと同様の機能を有している。
FIG. 3 is a block diagram showing the configuration of the information processing apparatus according to one embodiment of the present invention. FIG. 3 shows a configuration example of the server 201 used in the information processing system 1. As shown in FIG.
The server 201 includes a memory 211 , a nonvolatile storage 221 , a network I/F section 231 , a CPU 241 , a lockstep control section 251 and a server management section 261 . The server management unit 261 has a communication port 271 . Although the server 201 will be described as an example in FIG. 3, the same applies to the other servers 20X (X is 2 to N). For example, the server 202 includes a memory 212 , a nonvolatile storage 222 , a network I/F section 232 , a CPU 242 , a lockstep control section 252 and a server management section 262 . The server management section 262 has a communication port 272 . Moreover, each configuration has the same function as that described below.

メモリ211、不揮発性ストレージ221、ネットワークI/F部231、CPU241は、一般的なサーバに搭載されたものと同様の部品である。
例えば、メモリ211は、RAM(random access memory)等で構成された主記憶装置である。
不揮発性ストレージ221はHDD(hard disk drive)やROM(read only memory)等で構成される。不揮発性ストレージ221は、例えば、以下に説明する制御プログラムαを記憶する。
ネットワークI/F部231は、LANカード等の通信用モジュールで構成される。
CPU241は、OSや各種ソフトウェアを実行するプロセッサである。サーバ201には、サーバ201を含む複数のサーバ20Xによる多重化構成での運用を実現するために必要な制御プログラムα(図示せず)がインストールされる。例えば、サーバ201とサーバ202が多重化して同期して動作する構成の場合にサーバ201でハードウェアの障害などが生じると、同期ずれが生じる。制御プログラムαは、このような場合にサーバ201を多重化構成から論理的に切り離す縮退制御を行う機能を有している。CPU241は、例えば、制御プログラムαを実行する。また、CPU241は、次に説明するロックステップ制御部251と連携して、他のサーバ20Xが備えるCPU24Xとロックステップ方式による同期状態での動作が可能である。また、CPU241は、他のCPU24Xと同期することなく単独で動作する非同期状態での動作が可能である。
The memory 211, the non-volatile storage 221, the network I/F unit 231, and the CPU 241 are components similar to those installed in a general server.
For example, the memory 211 is a main memory configured by a RAM (random access memory) or the like.
The non-volatile storage 221 is composed of a HDD (hard disk drive), a ROM (read only memory), or the like. The nonvolatile storage 221 stores, for example, a control program α described below.
The network I/F unit 231 is composed of a communication module such as a LAN card.
The CPU 241 is a processor that executes an OS and various software. The server 201 is installed with a control program α (not shown) necessary for realizing operation in a multiplexed configuration by a plurality of servers 20X including the server 201 . For example, in the case of a configuration in which the servers 201 and 202 are multiplexed and operate synchronously, if a hardware failure or the like occurs in the server 201, a synchronization deviation occurs. The control program α has a function of performing degeneracy control to logically separate the server 201 from the multiplexing configuration in such a case. The CPU 241 executes, for example, the control program α. In addition, the CPU 241 can operate in synchronization with the CPU 24X provided in the other server 20X by the lockstep method in cooperation with the lockstep control unit 251 described below. In addition, the CPU 241 can operate in an asynchronous state in which it operates independently without synchronizing with the other CPUs 24X.

ロックステップ制御部251は、ロックステップ方式の同期を実現するための機能を有するハードウェアである。ロックステップ制御部251は、CPU241に接続されている。ロックステップ方式の同期とは、複数のCPUが、クロック周期で同じデータを用いて同じ処理を行うことをいう。ロックステップ制御部251には、ロックステップ方式の同期の実現に必要な機能が実装されている。例えば、ロックステップ制御部251は、クロック周期で、同期が必要な複数のCPU241等が同じ動作を行ったかどうかを確認する判定処理を行う。例えば、サーバ201とサーバ202とが同期する場合、ロックステップ制御部251は、CPU241による演算結果(CPU241のレジスタやメモリ211に記録された情報)と、スイッチ部102を介して取得したCPU242による演算結果(CPU242のレジスタやメモリ212に記録された情報)とをクロック周期で比較して、両者が一致すれば同期が成功していると判定する。同期が成功している場合、サーバ201とサーバ202は、ロックステップ方式の同期を継続する。CPU241による演算結果とCPU242による演算結果とが一致しない場合、ロックステップ制御部251は、同期が失敗している(同期ずれ)と判定する。同期の判定処理は、サーバ202でも行われる。具体的には、ロックステップ制御部252は、CPU242による演算結果と、スイッチ部102を介して取得したCPU241による演算結果とをクロック周期で比較する。両者が一致する場合、ロックステップ制御部252は、同期が成功したと判定する。両者が一致しない場合、ロックステップ制御部252は、同期が失敗し同期ずれが生じたと判定する。 The lockstep control unit 251 is hardware having a function for realizing lockstep synchronization. The lockstep controller 251 is connected to the CPU 241 . Lockstep synchronization means that a plurality of CPUs perform the same processing using the same data in clock cycles. The lockstep control unit 251 is equipped with the functions required to achieve lockstep synchronization. For example, the lockstep control unit 251 performs determination processing for confirming whether or not a plurality of CPUs 241 and the like that need to be synchronized have performed the same operation at a clock cycle. For example, when the server 201 and the server 202 are synchronized, the lockstep control unit 251 combines the calculation result of the CPU 241 (information recorded in the register of the CPU 241 and the memory 211) with the calculation result of the CPU 242 obtained through the switch unit 102. The result (information recorded in the register of the CPU 242 and the memory 212) is compared with the clock cycle, and if the two match, it is determined that the synchronization has succeeded. If synchronization is successful, server 201 and server 202 continue in lockstep synchronization. When the calculation result by the CPU 241 and the calculation result by the CPU 242 do not match, the lockstep control unit 251 determines that synchronization has failed (synchronization deviation). The synchronization determination process is also performed by the server 202 . Specifically, the lockstep control unit 252 compares the calculation result by the CPU 242 and the calculation result by the CPU 241 acquired via the switch unit 102 in clock cycles. If the two match, the lockstep control unit 252 determines that the synchronization has succeeded. If the two do not match, the lockstep control unit 252 determines that synchronization has failed and a synchronization deviation has occurred.

同期が失敗した場合、制御プログラムαが縮退制御を行う。縮退制御を行うと、残りのサーバの間だけでロックステップ方式の同期を継続する。例えば、サーバ205とサーバ206とサーバ207の3台を同期させる場合であって、CPU245の演算結果が、CPU246の演算結果およびCPU247の演算結果と異なる場合、サーバ205のロックステップ制御部255は、CPU245およびメモリ215の同期が失敗したと判定し、その判定結果を、サーバ205の制御プログラムαへ通知する。制御プログラムαは、サーバ205を縮退制御する。サーバ205の縮退後は、サーバ206とサーバ207とが同期した動作を継続する。なお、一般的には2台のサーバで多重化することが多いが、3台のサーバを多重化すると、1台だけ演算結果が異なることに基づいて、同期の成否を判定できるので、同期失敗の原因となるサーバ(上の例ではサーバ205)の特定が容易である。後述するように本実施形態の基盤装置100を用いると、比較的容易に3台のサーバ205~207を多重化し、これら3台が同期するように構成することができる。 If the synchronization fails, the control program α performs degeneracy control. When degeneration control is performed, lockstep synchronization is continued only among the remaining servers. For example, when synchronizing the three servers 205, 206, and 207, and the calculation result of the CPU 245 is different from the calculation result of the CPU 246 and the calculation result of the CPU 247, the lockstep control unit 255 of the server 205 It determines that the synchronization between the CPU 245 and the memory 215 has failed, and notifies the control program α of the server 205 of the determination result. The control program α controls degeneracy of the server 205 . After the degeneration of the server 205, the synchronized operations of the servers 206 and 207 are continued. Generally, two servers are used for multiplexing, but if three servers are used for multiplexing, the success or failure of synchronization can be determined based on the fact that only one server has a different calculation result. It is easy to identify the server (the server 205 in the above example) that is the cause of this. As will be described later, by using the base device 100 of this embodiment, the three servers 205 to 207 can be multiplexed relatively easily, and these three servers can be configured to be synchronized.

また、2台のサーバ201とサーバ202の同期中に、例えば、ロックステップ制御部251が同期の失敗を判定した場合、その判定の前にサーバ201またはサーバ202でハードウェアの故障が生じている可能性が高い。ロックステップ制御部251は、サーバ201に故障が生じた場合、故障を検出してログに記録する機能を有している。ロックステップ制御部251は、同期失敗を判定すると、ログの記録に基づき、サーバ201側の問題であると判定する。サーバ201にインストールされた制御プログラムαは、ロックステップ制御部251の指示により、サーバ201を縮退制御する。 Also, if the lockstep control unit 251 determines that synchronization has failed during synchronization between the two servers 201 and 202, a hardware failure has occurred in the server 201 or the server 202 before the determination. Probability is high. The lockstep control unit 251 has a function of detecting a failure and recording it in a log when a failure occurs in the server 201 . When the lockstep control unit 251 determines that the synchronization has failed, the lockstep control unit 251 determines that the problem is on the server 201 side based on the log record. A control program α installed in the server 201 performs degeneration control on the server 201 according to instructions from the lockstep control unit 251 .

サーバ管理部261は、サーバ201が備える管理用のコンピュータである。サーバ管理部261は、独自にCPU(図示せず)および当該CPUによって実行される管理プログラムを備え、CPU241とは独立して処理を行う。サーバ管理部261には、電源ユニット(図示せず)から電力が供給され、常時稼働している。サーバ管理部261は、サーバ201が起動していない状態でも稼働することができる。例えば、サーバ201の停止中に、サーバ管理部261は、通信ポート271に接続された外部(情報処理システム1に含まれない)のPC(personal computer)等と通信を行って、同期が必要なサーバの設定情報を、そのPC等から取得する。サーバ管理部261は、取得した設定情報を記憶する。
また、サーバ管理部261は、他のサーバ20X(Xは2~N)が備えるサーバ管理部26Xと、通信路L0を介して通信を行う。サーバ管理部261は、同期が必要なサーバの設定情報を他のサーバ管理部26Xへ送信する。これにより、サーバ管理部261~26Nは、設定情報を共有する。
また、サーバ管理部261は、同期が必要なサーバの設定情報から、同期すべきサーバの組み合わせを示す同期グループ情報を生成する。サーバ管理部261は、通信路H1を介して、同期グループ情報をクロック配信部101へ送信する。クロック配信部101は、送信された同期グループ情報に基づいてクロック信号を配信する。
The server management unit 261 is a computer for management provided in the server 201 . The server management unit 261 has its own CPU (not shown) and a management program executed by the CPU, and performs processing independently of the CPU 241 . The server management unit 261 is supplied with power from a power supply unit (not shown) and always operates. The server management unit 261 can operate even when the server 201 is not activated. For example, while the server 201 is stopped, the server management unit 261 communicates with an external (not included in the information processing system 1) PC (personal computer) or the like connected to the communication port 271 to perform synchronization. The setting information of the server is acquired from the PC or the like. The server management unit 261 stores the acquired setting information.
In addition, the server management unit 261 communicates with the server management units 26X of the other servers 20X (where X is 2 to N) via the communication path L0. The server management unit 261 transmits the setting information of the servers requiring synchronization to the other server management units 26X. Thereby, the server management units 261 to 26N share the setting information.
In addition, the server management unit 261 generates synchronization group information indicating a combination of servers to be synchronized from the setting information of the servers requiring synchronization. The server management section 261 transmits the synchronization group information to the clock distribution section 101 via the communication path H1. The clock distribution unit 101 distributes clock signals based on the transmitted synchronization group information.

次に同期が必要なサーバの設定情報について説明する。
図4は、本発明の一実施形態による同期が必要なサーバの設定情報の一例を示す図である。
図4に例示するように設定情報は、「サーバ実装位置」、「2ndCPU」、「2ndIO」、「3rdCPU」、「3rdIO」の各項目を有している。「サーバ実装位置」には、基準となるサーバ201~20Nが収納されるスロットの情報が設定される。「2ndCPU」および「2ndIO」の各項目には、「サーバ実装位置」に設定したスロット位置に収納されたサーバ20x(1~Nのうち何れか)と同期をとる2台目のサーバ20y(yはxを除く1~Nのうち何れか)を収納するスロットのスロット番号が設定される。同期させる2台目のサーバが存在しない場合は0が設定される。「3rdCPU」および「3rdIO」の各項目には、「サーバ実装位置」で設定したスロット位置に収納されたサーバ20xと同期をとる3台目のサーバ20z(zはx、yを除く1~Nのうち何れか)を収納するスロットのスロット番号が設定される。同期させる3台目のサーバが存在しない場合は0が設定される。
Next, the setting information of the server that needs to be synchronized will be explained.
FIG. 4 is a diagram showing an example of setting information of servers requiring synchronization according to an embodiment of the present invention.
As illustrated in FIG. 4, the setting information has items of "server mounting location", "2ndCPU", "2ndIO", "3rdCPU", and "3rdIO". Information on the slots in which the reference servers 201 to 20N are accommodated is set in the "server mounting position". In each item of "2nd CPU" and "2ndIO", a second server 20y (y is any of 1 to N excluding x) is set. If there is no second server to synchronize with, 0 is set. In each item of "3rdCPU" and "3rdIO", a third server 20z (z is 1 to N ) is set. If there is no third server to synchronize with, 0 is set.

図4に例示する設定情報は、バックプレーン103に設けられた例えば7つのスロットにサーバ201~207の何れかを収納する場合の設定例である。一例として、スロットXにサーバ20X(X:1~7)を収納する場合を例に説明を行う。1行目のデータは、サーバ201に同期させる2台目のサーバにサーバ202を設定し、サーバ201に同期させる3台目のサーバを設定しないことを示している。2行目のデータには、1行目の設定と対応するデータが設定されている。つまり、2行目のデータは、サーバ202に同期させる2台目のサーバはサーバ201で、サーバ202に同期させる3台目のサーバは存在しないことを示している。具体的な動作については、図5~図6を用いて説明するが、本実施形態の基盤装置100によれば1~2行目に例示する設定により、2台のサーバを、高い可用性(ロックステップ方式の同期)を実現しつつ、多重化することができる。 The setting information illustrated in FIG. 4 is a setting example when any one of the servers 201 to 207 is accommodated in seven slots provided in the backplane 103, for example. As an example, a case where the server 20X (X: 1 to 7) is accommodated in the slot X will be described. The data in the first row indicates that the server 202 is set as the second server to be synchronized with the server 201 and that the third server to be synchronized with the server 201 is not set. Data corresponding to the setting of the first line is set in the data of the second line. That is, the data in the second row indicates that the second server to be synchronized with the server 202 is the server 201 and that the third server to be synchronized with the server 202 does not exist. Specific operations will be described with reference to FIGS. 5 and 6, but according to the base device 100 of the present embodiment, two servers can be operated with high availability (locked) by the settings illustrated in the first and second lines. It is possible to multiplex while realizing step-wise synchronization).

3行目、4行目のデータは、サーバ203およびサーバ204に対して同期させるサーバが存在しないことを示している。つまり、3行目、4行目のデータの「2ndCPU」~「3rdIO」には、何れも0が設定されている。本実施形態の基盤装置100によれば、1~4行目に例示する設定を行うことで、高可用性サーバ(サーバ201、202)と、稼働能力を重視した非多重化サーバ(サーバ203、204)とが混在する情報処理システム1を構築することができる。 Data on the third and fourth lines indicate that there is no server to be synchronized with the server 203 and the server 204 . That is, "0" is set to "2ndCPU" to "3rdIO" in the data on the third and fourth lines. According to the base device 100 of the present embodiment, by performing the settings illustrated in the first to fourth lines, high-availability servers (servers 201 and 202) and non-multiplexed servers (servers 203 and 204) emphasizing operating capacity ) can be constructed.

5行目のデータは、サーバ205に対し、サーバ206(2台目)とサーバ207(3台目)を同期させることを示している。同様に6行目のデータは、サーバ206に対し、サーバ205(2台目)とサーバ207(3台目)を同期させることを示している。7行目のデータは、サーバ207に対し、サーバ205(2台目)とサーバ206(3台目)を同期させることを示している。このような設定を行うことで3台のサーバを多重化し、3台のサーバをロックステップ方式で同期させることができる。なお、図4に例示する設定情報では、最大3台までを同期するサーバとして設定することができるが、これに限定されない。設定情報には、4台以上同期するサーバを設定することができても良いし、2台のみ設定できてもよい。 The data on the fifth line indicates to the server 205 that the server 206 (second device) and the server 207 (third device) are to be synchronized. Similarly, the data on the sixth line indicates to the server 206 that the server 205 (second device) and the server 207 (third device) are to be synchronized. The data on the seventh line indicates to the server 207 that the server 205 (second device) and the server 206 (third device) are to be synchronized. With these settings, the three servers can be multiplexed and the three servers can be synchronized in lockstep. In addition, in the setting information illustrated in FIG. 4, up to three servers can be set as synchronizing servers, but the present invention is not limited to this. In the setting information, four or more servers to be synchronized may be set, or only two servers may be set.

次に図4の設定情報に基づいて情報処理システム1を構築する場合を例に、情報処理システム1の構成を設定して、少なくとも1台の高可用性サーバを含む情報処理システムを構築する手順や、そのときの情報処理システム1の動作について説明する。
図5は、本発明の一実施形態による同期が必要なサーバの設定処理の一例を示す図である。一例として、サーバ201~207がバックプレーン103に接続されているとする。また、情報処理システム1は通電しているが、システムとしては起動していない状態であるとする。上記の通り、サーバ201~207の起動状態にかかわらず、サーバ管理部261~267は常時稼働している。また、クロック配信部101はクロック信号の配信は行わないが、配信に必要な準備処理を行うことができる。
Next, taking as an example the case of building the information processing system 1 based on the setting information in FIG. , the operation of the information processing system 1 at that time will be described.
FIG. 5 is a diagram illustrating an example of setting processing for servers that require synchronization according to an embodiment of the present invention. As an example, suppose servers 201 - 207 are connected to backplane 103 . It is also assumed that the information processing system 1 is powered on, but is not activated as a system. As described above, the server management units 261-267 are always in operation regardless of the activation states of the servers 201-207. The clock distribution unit 101 does not distribute the clock signal, but can perform preparatory processing necessary for distribution.

まず、ユーザが、例えば、サーバ201のサーバ管理部261の通信ポート271に作業用のPCを接続する。ユーザは、PCを操作することにより、図4で例示した設定情報をサーバ管理部261へ入力する。サーバ管理部261は、設定情報を取得する(ステップS11)。サーバ管理部261は、取得した管理情報を自装置の記憶部(図示せず)に書き込んで記憶する。次にサーバ管理部261は、通信路L0を介して、サーバ管理部262~267へ設定情報を送信する(ステップS12)。サーバ管理部262~267は、設定情報を取得し(ステップS13)、設定情報を記憶する。次に、例えば、サーバ管理部261が、設定情報に基づいて、同期グループ情報を作成する。図4の設定情報の場合、サーバ管理部261は、例えば、同期させるサーバが収納されたスロット番号を組み合わせて(1,2)、(5,6,7)という同期グループ情報を作成する。次にサーバ管理部261は、作成した同期グループ情報(1,2)、(5,6,7)を、通信路H1を介して、クロック配信部101へ送信する(ステップS14)。クロック配信部101では、同期グループ情報取得部110が、同期グループ情報((1,2)、(5,6,7))を取得する(ステップS15)。クロック配信部101は、同期グループ情報に基づいて、クロック信号を配信する配信先を設定する。 First, the user connects a work PC to the communication port 271 of the server management unit 261 of the server 201, for example. The user inputs the setting information illustrated in FIG. 4 to the server management unit 261 by operating the PC. The server management unit 261 acquires setting information (step S11). The server management unit 261 writes and stores the acquired management information in a storage unit (not shown) of its own device. Next, the server management section 261 transmits the setting information to the server management sections 262 to 267 via the communication path L0 (step S12). The server management units 262 to 267 acquire setting information (step S13) and store the setting information. Next, for example, the server management unit 261 creates synchronization group information based on the setting information. In the case of the setting information of FIG. 4, the server management unit 261 creates synchronization group information of (1, 2) and (5, 6, 7) by combining slot numbers in which servers to be synchronized are stored, for example. Next, the server management unit 261 transmits the created synchronization group information (1, 2), (5, 6, 7) to the clock distribution unit 101 via the communication path H1 (step S14). In the clock distribution unit 101, the synchronization group information acquisition unit 110 acquires synchronization group information ((1, 2), (5, 6, 7)) (step S15). The clock distribution unit 101 sets distribution destinations for distributing the clock signal based on the synchronization group information.

図6は、本発明の一実施形態による同期処理の一例を示す図である。図4に示す設定情報では、サーバ201とサーバ202が多重化される。また、サーバ205~サーバ207が多重化される。図6にクロックは配信部101、サーバ201、サーバ202の動作の一例を示す。
ユーザが、情報処理システム1へ起動指示を入力する。情報処理システム1は、起動処理を行って起動状態となる。サーバ201は、起動時にサーバ管理部261へ同期相手の情報を問い合わせる。サーバ管理部261は、サーバ201の同期相手としてサーバ202が存在することをCPU241へ通知する。CPU241は、ロックステップ制御部251へ同期相手の情報を通知する。サーバ202においても同様である。つまり、ロックステップ制御部252は、同期相手としてサーバ201の情報を取得する。
FIG. 6 is a diagram illustrating an example of synchronization processing according to an embodiment of the present invention. In the setting information shown in FIG. 4, the servers 201 and 202 are multiplexed. Also, the servers 205 to 207 are multiplexed. Clocks in FIG.
A user inputs an activation instruction to the information processing system 1 . The information processing system 1 performs start-up processing and enters a start-up state. The server 201 inquires about the information of the synchronization partner to the server management unit 261 when it is activated. The server management unit 261 notifies the CPU 241 that the server 202 exists as a synchronization partner of the server 201 . The CPU 241 notifies the lockstep control unit 251 of the synchronization partner information. The same applies to the server 202 as well. That is, the lockstep control unit 252 acquires information on the server 201 as a synchronization partner.

基盤装置100およびサーバ201~207が起動し、通常の運転状態となると、クロック配信部101は、例えば、水晶振動子の発振周期等、所定の周期でクロック信号を配信する。クロック配信部101は、クロック信号の配信タイミングが到来すると(ステップS21;Yes)、同期グループ情報に示される一組みのサーバに向けて、同時に同位相のクロック信号を配信する。例えば、クロック配信部101は、サーバ201に対して通信路C1を介してクロック信号を配信する(ステップS22)。それと同時にクロック配信部101は、サーバ202に対して通信路C2を介して同位相のクロック信号を配信する(ステップS22´)。CPU241とCPU242は、クロック配信部101から取得したクロック信号に同期して動作する。サーバ201とサーバ202は、CPU241による演算結果とCPU242による演算結果を、スイッチ部102を介して授受する(ステップS23)。例えば、ロックステップ制御部251は、クロック周期ごとにCPU241の演算結果を同期相手の情報と共に、通信路L1を介してスイッチ部102へ出力する。ロックステップ制御部252は、クロック周期ごとにCPU242の演算結果を同期相手の情報と共に、通信路L2を介してスイッチ部102へ出力する。スイッチ部102は、同期相手の情報に基づいて、ロックステップ制御部251から取得した演算結果をサーバ202へ出力する。サーバ202では、ロックステップ制御部252がこれを取得する。スイッチ部102は、同期相手の情報に基づいて、ロックステップ制御部252から取得した演算結果をサーバ201へ出力する。サーバ201では、ロックステップ制御部251がこれを取得する。 When the base device 100 and the servers 201 to 207 are activated and are in a normal operating state, the clock distribution unit 101 distributes a clock signal at a predetermined cycle such as the oscillation cycle of a crystal oscillator. When the clock signal distribution timing arrives (step S21; Yes), the clock distribution unit 101 simultaneously distributes clock signals in phase to a set of servers indicated by the synchronization group information. For example, the clock distribution unit 101 distributes the clock signal to the server 201 via the communication channel C1 (step S22). At the same time, the clock distribution unit 101 distributes the same-phase clock signal to the server 202 via the communication path C2 (step S22'). The CPUs 241 and 242 operate in synchronization with the clock signal obtained from the clock distribution unit 101 . The server 201 and the server 202 exchange the calculation result by the CPU 241 and the calculation result by the CPU 242 via the switch section 102 (step S23). For example, the lockstep control unit 251 outputs the calculation result of the CPU 241 together with the synchronization partner information to the switch unit 102 via the communication path L1 every clock cycle. The lockstep control unit 252 outputs the calculation result of the CPU 242 together with the synchronization partner information to the switch unit 102 via the communication path L2 every clock cycle. The switch unit 102 outputs the calculation result acquired from the lockstep control unit 251 to the server 202 based on the information of the synchronization partner. In the server 202, the lockstep controller 252 acquires this. The switch unit 102 outputs the calculation result acquired from the lockstep control unit 252 to the server 201 based on the information of the synchronization partner. In the server 201, the lockstep control section 251 acquires this.

次にロックステップ制御部251は、CPU241による演算結果とCPU242による演算結果とを比較して同期の判定処理を行う(ステップS24)。それと同時にサーバ202では、ロックステップ制御部252が、CPU242による演算結果とCPU241による演算結果とを比較して同期の判定処理を行う(ステップS24´)。 Next, the lockstep control unit 251 compares the result of calculation by the CPU 241 and the result of calculation by the CPU 242 to perform synchronization determination processing (step S24). At the same time, in the server 202, the lockstep control unit 252 compares the result of calculation by the CPU 242 and the result of calculation by the CPU 241 to perform synchronization determination processing (step S24').

ロックステップ制御部251による判定結果が成功の場合(ステップS25;Yes)、同期動作を継続する。つまり、CPU241は、クロック信号を所定の周期で受信しつつ、クロック信号と同期して動作し、ロックステップ制御部251は、クロック周期ごとに同期判定を行う。ロックステップ制御部252についても同様に、判定結果が成功の場合(ステップS25´;Yes)、同期動作を継続する。 If the result of determination by the lockstep control unit 251 is success (step S25; Yes), the synchronous operation is continued. That is, the CPU 241 operates in synchronization with the clock signal while receiving the clock signal at a predetermined cycle, and the lockstep control section 251 performs synchronization determination for each clock cycle. Similarly, the lockstep control unit 252 continues the synchronous operation when the determination result is successful (step S25'; Yes).

ロックステップ制御部251による判定結果が失敗(同期ずれ)の場合(ステップS25;No)、失敗時の処理を行う。例えば、ロックステップ制御部251がサーバ201のハードウェア障害を検出しているような場合、サーバ201の制御プログラムαはサーバ201の縮退制御を行う(ステップS26)。同様にロックステップ制御部252による判定結果が失敗(同期ずれ)の場合(ステップS25´;No)、失敗時の処理を行う(ステップS26´)。例えば、サーバ201が原因で同期ずれが生じた場合、サーバ201は論理的に切り離された状態となり、サーバ201とサーバ202で多重化されていた高可用性サーバは、サーバ202のみが動作する運転状態となる。 If the result of determination by the lockstep control unit 251 is failure (synchronization deviation) (step S25; No), the failure process is performed. For example, when the lockstep control unit 251 detects a hardware failure of the server 201, the control program α of the server 201 performs degeneracy control of the server 201 (step S26). Similarly, if the determination result by the lockstep control unit 252 is failure (synchronization deviation) (step S25'; No), the failure process is performed (step S26'). For example, if the server 201 causes a synchronization error, the server 201 is logically separated, and the high-availability servers multiplexed by the servers 201 and 202 are put into an operating state in which only the server 202 operates. becomes.

以上の動作は、図4の設定情報で同期するように設定されたサーバ205~207についても同様である。つまり、クロック配信部101は、サーバ205~207に対し、同時に同位相のクロック信号を所定の周期で送信し、サーバ205~207ではCPU245~247が、このクロック信号に同期して動作する。そして、ロックステップ制御部255~257がスイッチ部102を介してクロック周期ごとのCPU245~247による演算結果を授受して、同期の判定を行う。サーバ205~207の3台で多重化されている場合、同期の判定で縮退するサーバを特定できる可能性が高くなる。また、1台で同期ずれが生じた場合でも、残りの2台で処理を二重化したまま運用することができる。 The above operation is the same for the servers 205 to 207 that are set to synchronize with the setting information in FIG. In other words, the clock distribution unit 101 simultaneously transmits in-phase clock signals to the servers 205 to 207 at a predetermined cycle, and the CPUs 245 to 247 of the servers 205 to 207 operate in synchronization with these clock signals. Then, the lockstep control units 255 to 257 transmit and receive the calculation results of the CPUs 245 to 247 for each clock cycle via the switch unit 102 to determine synchronization. If the three servers 205 to 207 are multiplexed, there is a high possibility that the server to be degraded can be identified by judging synchronization. In addition, even if a synchronization error occurs in one device, the remaining two devices can be operated while duplicating the processing.

また、図4の設定情報で同期相手の設定がないサーバ203~204について、CPU233、243は、非同期の状態で動作する。クロック配信部101は、サーバ203~204にはクロック信号を配信しなくてよい。 In addition, the CPUs 233 and 243 of the servers 203 and 204 for which synchronization partners are not set in the setting information of FIG. 4 operate in an asynchronous state. The clock distribution unit 101 does not have to distribute the clock signal to the servers 203-204.

上記説明したように基盤装置100によれば、設定情報にて、同期相手の設定を行うことで、少なくとも1台の高可用性サーバを含む情報処理システム1を構築することができる。例えば、設定情報にて同期相手に2台のサーバを設定することで、3台のサーバによる同期が可能である。さらに基盤装置100によれば、設定情報にて、同期相手の設定を行わない(図4の例では、0を設定する)ことにより、高可用性サーバと非多重化サーバが混在する情報処理システム1を構築することができる。これにより、システム構築時のサーバ選定、システム構築、動作確認等の作業を軽減し、より短時間かつ柔軟にシステム構築を行うことができる。 As described above, according to the base device 100, the information processing system 1 including at least one high-availability server can be constructed by setting a synchronization partner in the setting information. For example, by setting two servers as synchronization partners in the setting information, synchronization by three servers is possible. Furthermore, according to the base device 100, by not setting the synchronization partner in the setting information (0 is set in the example of FIG. 4), the information processing system 1 in which the high-availability server and the non-multiplexed server coexist. can be constructed. As a result, work such as server selection, system construction, and operation confirmation can be reduced during system construction, and the system can be constructed in a shorter time and more flexibly.

図7は、本発明の一実施形態による情報処理システムの一例を示す図である。
図7に情報処理システム1の適用例として、フロント側に多重化したロードバランサを備えたWebシステムの構成例を示す。
Webシステムは、高可用性サーバ300,400A,400Bを含んで構成される。サーバ201Aとサーバ202Aは、同期を行う1台の高可用性サーバ300である。高可用性サーバ300は、ロードバランサである。サーバ203Aは非多重化サーバである。サーバ204A~205Aは、同期を行う1台の高可用性サーバ400Aである。サーバ206A~207Aは、同期を行う1台の高可用性サーバ400Bである。高可用性サーバ400A,400Bは、アプリケーションサーバである。高可用性サーバ300は、負荷に応じて高可用性サーバ400Aと高可用性サーバ400Bの何れかに処理を振り分ける。図7の例のようにロードバランサが同期する2台のサーバで構成されている場合、サーバ1台の故障でシステムが停止することがない。
FIG. 7 is a diagram showing an example of an information processing system according to an embodiment of the present invention.
As an application example of the information processing system 1, FIG. 7 shows a configuration example of a Web system having a multiplexed load balancer on the front side.
The web system includes high availability servers 300, 400A, and 400B. Server 201A and server 202A are one high availability server 300 that performs synchronization. High availability server 300 is a load balancer. Server 203A is a non-multiplexed server. Servers 204A-205A are one high availability server 400A that performs synchronization. Servers 206A-207A are one high availability server 400B that performs synchronization. High availability servers 400A and 400B are application servers. The high availability server 300 distributes processing to either the high availability server 400A or the high availability server 400B according to the load. When the load balancer is composed of two synchronized servers as in the example of FIG. 7, the failure of one server does not stop the system.

また、ロードバランサはシステムの入口にあたり、停止しないシステムを実現するうえで非常に重要である。例えば、サーバ201A、202Aにサーバ203Aを加えた3台を同期させた構成とすることで、サーバ201A、202Aの2台が故障したような場合にも耐えられる非常に堅固なシステムを構築することが可能となる。また、基盤装置100を用いれば、サーバの多重度の変更も容易である。
また、アプリケーションサーバ(高可用性サーバ400A、400B)についても、処理の重要度に応じて、図7に示す例のように2台ずつを同期させた構成とすることができる。
In addition, the load balancer is the entrance of the system and is very important to realize a system that does not stop. For example, by synchronizing the three servers 201A and 202A plus the server 203A, a very robust system that can withstand the failure of two of the servers 201A and 202A can be constructed. becomes possible. Also, if the base device 100 is used, it is easy to change the multiplicity of servers.
Also, application servers (high-availability servers 400A and 400B) can be configured to synchronize two at a time, as in the example shown in FIG. 7, depending on the importance of processing.

本実施形態の基盤装置100によれば、ロックステップ方式で同期動作を実現できるサーバ201等を、バックプレーン103に実装したクロック配信部101を源振として動作させる。また、基盤装置100によれば、バックプレーン103に実装したスイッチ部102により、複数のサーバ201等の同期動作用のデータ通信を行う。また、基盤装置100によれば、各サーバ201~20Nの多重化や非多重化の設定を、運用目的に応じてプログラムすることができる。これにより、ユーザが所望するシステム構成を実現することができる。 According to the base device 100 of the present embodiment, the server 201 and the like capable of achieving synchronous operation by the lockstep method are operated using the clock distribution unit 101 mounted on the backplane 103 as a source. Further, according to the base device 100, the switch unit 102 mounted on the backplane 103 performs data communication for synchronous operation of the plurality of servers 201 and the like. Further, according to the base device 100, the setting of multiplexing or non-multiplexing of each of the servers 201 to 20N can be programmed according to the operational purpose. Thereby, a system configuration desired by the user can be realized.

上述の基盤装置100は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。 The base device 100 described above has a computer system inside. Each process described above is stored in a computer-readable recording medium in the form of a program, and the above process is performed by reading and executing this program by a computer. Here, the computer-readable recording medium refers to magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, semiconductor memories, and the like. Alternatively, the computer program may be distributed to a computer via a communication line, and the computer receiving the distribution may execute the program.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。また、基盤装置100の全ての機能又は一部の機能は、例えば、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field-Programmable Gate Array)、集積回路等で構成されたハードウェアによって実現してもよい。 Further, the program may be for realizing part of the functions described above. Further, it may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system. Further, all or part of the functions of the base device 100 are, for example, LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field-Programmable Gate Array), integration It may be realized by hardware configured by a circuit or the like.

その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。 In addition, it is possible to appropriately replace the components in the above-described embodiments with well-known components without departing from the scope of the present invention. Moreover, the technical scope of the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.

1・・・情報処理システム
100・・・基盤装置
101・・・クロック配信部
102・・・スイッチ部
103・・・バックプレーン
104・・・筐体
110・・・同期グループ情報取得部
201~20N・・・サーバ
211・・・メモリ
221・・・不揮発性ストレージ
231・・・ネットワークI/F部
241・・・CPU
251・・・ロックステップ制御部
261・・・サーバ管理部
271・・・通信ポート
C1~CN、H1~HN、L0、L1~LN・・・通信線
Reference Signs List 1 Information processing system 100 Base device 101 Clock distribution unit 102 Switch unit 103 Backplane 104 Housing 110 Synchronization group information acquisition units 201 to 20N ... server 211 ... memory 221 ... non-volatile storage 231 ... network I/F section 241 ... CPU
251 Lockstep control unit 261 Server management unit 271 Communication ports C1 to CN, H1 to HN, L0, L1 to LN Communication lines

Claims (5)

基盤装置と複数の情報処理装置とを備え、
前記基盤装置は、
複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得する同期グループ情報取得部と、
前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するクロック配信部と、
一組みの前記情報処理装置の間におけるクロック周期での前記情報処理装置による演算結果の授受を制御するスイッチ部と、
複数の前記情報処理装置を収納し、複数の前記情報処理装置の各々と、前記同期グループ情報取得部および前記クロック配信部および前記スイッチ部とを通信可能に接続するバックプレーンと、
を備え、
前記情報処理装置は、
前記スイッチ部を介して授受される前記演算結果を比較して一組みの前記情報処理装置の同期がとれているかどうかを判定するロックステップ制御部と、
複数の前記情報処理装置のうち同期が必要な前記情報処理装置を設定した設定情報を取得し、前記設定情報に基づく前記同期グループ情報を前記クロック配信部へ送信するサーバ管理部と、
を備える情報処理システム。
comprising a base device and a plurality of information processing devices,
The base device is
a synchronization group information acquisition unit that acquires synchronization group information specifying a combination of information processing apparatuses that require synchronization among a plurality of information processing apparatuses;
a clock distribution unit that distributes in-phase clock signals to a set of information processing devices that need to be synchronized, based on the synchronization group information;
a switch unit for controlling transmission/reception of calculation results by the information processing devices at a clock cycle between a set of the information processing devices;
a backplane that accommodates a plurality of the information processing devices and communicatively connects each of the plurality of information processing devices with the synchronization group information acquisition unit, the clock distribution unit, and the switch unit;
with
The information processing device is
a lockstep control unit that compares the calculation results that are transmitted and received through the switch unit and determines whether or not a set of the information processing devices are synchronized;
a server management unit that acquires setting information that sets the information processing apparatus that requires synchronization among the plurality of information processing apparatuses, and that transmits the synchronization group information based on the setting information to the clock distribution unit;
An information processing system comprising
前記同期グループ情報には、1台の前記情報処理装置に対して2台以上の同期相手を含めることが可能である、
請求項1に記載の情報処理システム
The synchronization group information can include two or more synchronization partners for one information processing device.
The information processing system according to claim 1.
複数の前記情報処理装置が備える前記サーバ管理部を互いに接続する通信路、
をさらに備え、
前記設定情報を取得した前記サーバ管理部は、前記通信路を介して、他の前記情報処理装置が備える前記サーバ管理部へ前記設定情報を送信する、
請求項1または請求項2に記載の情報処理システム。
a communication path that connects the server management units provided in the plurality of information processing devices;
further comprising
The server management unit that has acquired the setting information transmits the setting information to the server management unit included in the other information processing device via the communication path.
The information processing system according to claim 1 or 2 .
複数の前記情報処理装置のうち、一組みの前記情報処理装置は同期して動作し、他の情報処理装置は非同期で動作する、
請求項から請求項の何れか1項に記載の情報処理システム。
Among the plurality of information processing devices, one set of the information processing devices operates synchronously, and the other information processing devices operate asynchronously.
The information processing system according to any one of claims 1 to 3 .
基盤装置と複数の情報処理装置とを備え、前記基盤装置が複数の前記情報処理装置の各々と通信可能に接続される情報システムにおいて、
複数の前記情報処理装置のうちの一つが、複数の前記情報処理装置のうち同期が必要な前記情報処理装置を設定した設定情報を取得し、前記設定情報に基づく同期が必要な前記情報処理装置の組み合わせを指定した同期グループ情報を前記基盤装置へ送信するステップと、
前記基盤装置が、前記同期グループ情報を取得するステップと、
前記基盤装置が、前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するステップと、
前記基盤装置が、一組みの前記情報処理装置の間におけるクロック周期での前記情報処理装置による演算結果の授受を制御するステップと、
一組みの前記情報処理装置の各々が、授受される前記演算結果を比較して一組みの前記情報処理装置の同期がとれているかどうかを判定するステップと、
を有する制御方法。
An information system comprising a base device and a plurality of information processing devices, wherein the base device is communicably connected to each of the plurality of information processing devices,
One of the plurality of information processing apparatuses acquires setting information that sets the information processing apparatus that requires synchronization among the plurality of information processing apparatuses, and the information processing apparatus that requires synchronization based on the setting information. a step of transmitting to the base device synchronization group information specifying a combination of
the base device acquiring the synchronization group information;
a step in which the base device distributes in-phase clock signals to a set of information processing devices that need to be synchronized based on the synchronization group information;
a step in which the base device controls transmission and reception of calculation results by the information processing devices at a clock cycle between a set of the information processing devices;
a step in which each of the set of information processing devices compares the computation results received and received to determine whether or not the set of information processing devices is synchronized;
A control method with
JP2018043575A 2018-03-09 2018-03-09 Information processing system and control method Active JP7120599B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018043575A JP7120599B2 (en) 2018-03-09 2018-03-09 Information processing system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018043575A JP7120599B2 (en) 2018-03-09 2018-03-09 Information processing system and control method

Publications (2)

Publication Number Publication Date
JP2019159609A JP2019159609A (en) 2019-09-19
JP7120599B2 true JP7120599B2 (en) 2022-08-17

Family

ID=67993502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018043575A Active JP7120599B2 (en) 2018-03-09 2018-03-09 Information processing system and control method

Country Status (1)

Country Link
JP (1) JP7120599B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101983436B1 (en) * 2015-12-25 2019-05-28 다이요 유덴 가부시키가이샤 Multilayer ceramic electronic component and method of manufacturing the same

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061535A1 (en) 2001-09-21 2003-03-27 Bickel Robert E. Fault tolerant processing architecture
JP2006209490A (en) 2005-01-28 2006-08-10 Fujitsu Ltd Program for synchronization of set information
US20070294561A1 (en) 2006-05-16 2007-12-20 Baker Marcus A Providing independent clock failover for scalable blade servers
JP2008046942A (en) 2006-08-18 2008-02-28 Nec Corp Fault tolerant computer and transaction synchronous control method therefor
WO2012081115A1 (en) 2010-12-16 2012-06-21 三菱電機株式会社 Sequencer system and control method therefor
JP2013206278A (en) 2012-03-29 2013-10-07 Nec Corp Redundant system, redundant method, method for improving availability of redundant system and program
US20130326259A1 (en) 2011-02-03 2013-12-05 Indrani Paul System and method for multiple backplane time synchronization
JP2015194847A (en) 2014-03-31 2015-11-05 日本電気株式会社 Fault-tolerant server, synchronization method, and program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061535A1 (en) 2001-09-21 2003-03-27 Bickel Robert E. Fault tolerant processing architecture
JP2006209490A (en) 2005-01-28 2006-08-10 Fujitsu Ltd Program for synchronization of set information
US20070294561A1 (en) 2006-05-16 2007-12-20 Baker Marcus A Providing independent clock failover for scalable blade servers
JP2008046942A (en) 2006-08-18 2008-02-28 Nec Corp Fault tolerant computer and transaction synchronous control method therefor
WO2012081115A1 (en) 2010-12-16 2012-06-21 三菱電機株式会社 Sequencer system and control method therefor
US20130326259A1 (en) 2011-02-03 2013-12-05 Indrani Paul System and method for multiple backplane time synchronization
JP2013206278A (en) 2012-03-29 2013-10-07 Nec Corp Redundant system, redundant method, method for improving availability of redundant system and program
JP2015194847A (en) 2014-03-31 2015-11-05 日本電気株式会社 Fault-tolerant server, synchronization method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101983436B1 (en) * 2015-12-25 2019-05-28 다이요 유덴 가부시키가이샤 Multilayer ceramic electronic component and method of manufacturing the same

Also Published As

Publication number Publication date
JP2019159609A (en) 2019-09-19

Similar Documents

Publication Publication Date Title
US6378021B1 (en) Switch control method and apparatus in a system having a plurality of processors
KR101992508B1 (en) Split brain resistant failover in high availability clusters
US7487377B2 (en) Method and apparatus for fault tolerant time synchronization mechanism in a scaleable multi-processor computer
US4941087A (en) System for bumpless changeover between active units and backup units by establishing rollback points and logging write and read operations
US7437598B2 (en) System, method and circuit for mirroring data
US8788879B2 (en) Non-volatile memory for checkpoint storage
US20070276983A1 (en) System method and circuit for differential mirroring of data
EP2226700B1 (en) Clock supply method and information processing apparatus
JP5013309B2 (en) Fault tolerant computer and its transaction synchronous control method
JP7120599B2 (en) Information processing system and control method
US10049021B2 (en) Redundant system and redundancy method
WO2010100757A1 (en) Arithmetic processing system, resynchronization method, and firmware program
JPH03182958A (en) Bulk memory transfer at re-synchronization timing
JP2009098988A (en) Fault tolerant computer system
US7694176B2 (en) Fault-tolerant computer and method of controlling same
US9971661B2 (en) Redundant system, method for redundant system, method for controlling node of redundant system and computer readable storage medium
US10996659B2 (en) Method and redundant automation system with a plurality of processor units per hardware unit
KR102221366B1 (en) Method and device for restoring blockchain network with its credibility on backup data maintained and minimizing resource usage by using delayed synchronization recycling nodes
JP2000066913A (en) Program/data non-interruption updating system for optional processor
JP5604799B2 (en) Fault tolerant computer
JP5702651B2 (en) Virtual machine synchronization method and system, and operational virtual machine and program
JP4062251B2 (en) Multiplexing system and processor module
JP2590239B2 (en) Lock circuit lock acquisition method
JP5702652B2 (en) Memory synchronization method, active virtual machine, standby virtual machine, and memory synchronization program
JP2701741B2 (en) Redundant / single switching mode

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220511

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: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220728

R150 Certificate of patent or registration of utility model

Ref document number: 7120599

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150