JP6696927B2 - Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program - Google Patents

Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program Download PDF

Info

Publication number
JP6696927B2
JP6696927B2 JP2017054564A JP2017054564A JP6696927B2 JP 6696927 B2 JP6696927 B2 JP 6696927B2 JP 2017054564 A JP2017054564 A JP 2017054564A JP 2017054564 A JP2017054564 A JP 2017054564A JP 6696927 B2 JP6696927 B2 JP 6696927B2
Authority
JP
Japan
Prior art keywords
server
update
distribution
software
processing request
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
JP2017054564A
Other languages
Japanese (ja)
Other versions
JP2018156555A (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.)
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone West Corp
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 Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2017054564A priority Critical patent/JP6696927B2/en
Publication of JP2018156555A publication Critical patent/JP2018156555A/en
Application granted granted Critical
Publication of JP6696927B2 publication Critical patent/JP6696927B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアのアップデートの技術に関する。   The present invention relates to a software update technique.

従来、Webサーバホスティング等の分野では、データセンタのようなサーバ管理事業者が一括して複数のサーバを管理し、サービス提供事業者をホスティングするIaaS(Infrastructure as a Service)等と呼ばれる形態が知られている(例えば、非特許文献1参照)。一方、電話のようなライフラインサービスでは、二重化により高可用性を実現していた。電話サービスをIaaS上で実現するために、サーバをN台クラスタリングしたN−Active構成により可用性及び設備利用効率を高める技術が利用されている。(例えば、非特許文献2、特許文献1及び特許文献2参照)。   2. Description of the Related Art In the field of Web server hosting and the like, a form called IaaS (Infrastructure as a Service) in which a server management company such as a data center collectively manages a plurality of servers and hosts a service provider has been known. (See, for example, Non-Patent Document 1). On the other hand, in lifeline services such as telephones, high availability was realized by duplication. In order to realize a telephone service on IaaS, a technique of increasing availability and facility utilization efficiency by an N-Active configuration in which N servers are clustered is used. (See, for example, Non-Patent Document 2, Patent Document 1 and Patent Document 2).

特開2012−230638号公報JP, 2012-230638, A 特開2011−096161号公報JP, 2011-096161, A

“Amazon EC2”、[online]、[平成29年2月21日検索]、インターネット<URL:http://aws.amazon.com/ec2/>"Amazon EC2", [online], [Search on February 21, 2017], Internet <URL: http://aws.amazon.com/ec2/> “Infinispan”、[online]、[平成29年2月21日検索]、インターネット<URL:http://infinispan.org/>"Infinispan", [online], [February 21, 2017 search], Internet <URL: http://infinispan.org/>

しかしながら、サービス無停止でソフトウェアのアップデートを行う場合、通常はアップデート先へのデータ引き継ぎ処理が必要となる。データ引継処理を行うためには、アップデート先へデータの同期に加えて、アップデート前のデータ形式をアップデート後のデータ形式に変換をする必要がある。   However, when software is updated without stopping the service, it is usually necessary to carry out data transfer processing to the update destination. In order to perform the data transfer processing, it is necessary to convert the data format before the update to the data format after the update in addition to synchronizing the data to the update destination.

上記事情に鑑み、本発明は、クラスタシステムにおいて、ソフトウェアのアップデートを行う際に要する開発コストを削減することができる技術の提供を目的としている。   In view of the above circumstances, it is an object of the present invention to provide a technique capable of reducing the development cost required when updating software in a cluster system.

本発明の一態様は、N−Active構成のサーバのソフトウェアのアップデートを行うアップデート管理装置と、前記サーバに対する処理要求をいずれかのサーバへ振り分けるアップデート振分装置とを備えるクラスタシステムであって、前記アップデート管理装置は、前記ソフトウェアのアップデートの指示がなされた場合に、前記ソフトウェアのアップデートの対象となるサーバが提供しているサービスの終了に応じて、前記サーバが用いているソフトウェアをアップデートするサーバ管理部、を備え、前記アップデート振分装置は、前記ソフトウェアのアップデート中のサーバに対する処理要求を、前記処理要求に基づいて、ソフトウェアのアップデートがなされた新サーバ、又は、ソフトウェアのアップデートがなされていない旧サーバのいずれで処理すべきかを判定し、いずれかのサーバに振り分ける振分部を、を備えるクラスタシステムである。   An aspect of the present invention is a cluster system including an update management device that updates software of a server having an N-Active configuration, and an update distribution device that distributes a processing request to the server to any of the servers. The update management device updates the software used by the server according to the end of the service provided by the server that is the target of the software update when an instruction to update the software is issued. The update distribution device transmits a processing request to the server that is updating the software to a new server for which the software is updated based on the processing request, or an old server for which the software is not updated. This is a cluster system that includes a distribution unit that determines which of the servers should be processed and distributes it to any of the servers.

本発明の一態様は、N−Active構成のサーバのソフトウェアのアップデートの指示がなされた場合に、前記ソフトウェアのアップデートの対象となるサーバが提供しているサービスの終了に応じて、前記サーバが用いているソフトウェアをアップデートするサーバ管理部、を備え、前記サーバ管理部は、前記サーバの負荷を監視し、前記サーバの負荷が所定の閾値以下になったサーバのサービス提供を停止し、停止したサーバが用いているソフトウェアをアップデートするアップデート管理装置である。   According to an aspect of the present invention, when an instruction to update software of a server having an N-Active configuration is given, the server is used in response to the end of the service provided by the server that is the target of the software update. A server management unit for updating the software, the server management unit monitors the load of the server, stops the service provision of the server in which the load of the server becomes equal to or less than a predetermined threshold, and stops the server. Is an update management device for updating software used by.

本発明の一態様は、N−Active構成のサーバのソフトウェアのアップデートを行うアップデート管理装置と、前記サーバに対する処理要求をいずれかのサーバへ振り分けるアップデート振分装置とを備えるクラスタシステムにおけるアップデート振分装置であって、前記ソフトウェアのアップデート中のサーバに対する処理要求を、前記処理要求に基づいて、ソフトウェアのアップデートがなされた新サーバ、又は、ソフトウェアのアップデートがなされていない旧サーバのいずれで処理すべきかを判定し、いずれかのサーバに振り分ける振分部、を備え、前記振分部は、前記処理要求が、一貫性が必要な一連の処理のうち最初の要求である場合には、前記処理要求を、新サーバで処理すべきと判定し、前記新サーバに振り分けるアップデート振分装置である。   One aspect of the present invention is an update distribution device in a cluster system including an update management device that updates software of a server having an N-Active configuration, and an update distribution device that distributes a processing request to the server to one of the servers. However, whether the processing request to the server during the software update should be processed by the new server where the software is updated or the old server where the software is not updated based on the processing request. A distribution unit that determines and distributes to one of the servers, the distribution unit, when the processing request is the first request in a series of processing that requires consistency, The update distribution device determines that processing should be performed by the new server and distributes it to the new server.

本発明の一態様は、上記のアップデート振分装置であって、前記振分部は、前記処理要求が、セッション維持が不要な処理要求ではなく、かつ、破棄してよい要求である場合、前記処理要求を新サーバで処理すべきと判定し、前記新サーバに振り分ける。   One aspect of the present invention is the update distribution device described above, wherein when the processing request is not a processing request that does not require session maintenance and is a request that may be discarded, It is determined that the processing request should be processed by the new server, and the processing request is distributed to the new server.

本発明の一態様は、N−Active構成のサーバのソフトウェアのアップデートを行うアップデート管理装置と、前記サーバに対する処理要求をいずれかのサーバへ振り分けるアップデート振分装置とを備えるクラスタシステムが行うアップデート方法であって、前記アップデート管理装置が、前記ソフトウェアのアップデートの指示がなされた場合に、前記ソフトウェアのアップデートの対象となるサーバが提供しているサービスの終了に応じて、前記サーバが用いているソフトウェアをアップデートするサーバ管理ステップ、前記アップデート振分装置が、前記ソフトウェアのアップデート中のサーバに対する処理要求を、前記処理要求に基づいて、ソフトウェアのアップデートがなされた新サーバ、又は、ソフトウェアのアップデートがなされていない旧サーバのいずれで処理すべきかを判定し、いずれかのサーバに振り分ける振分ステップを有するアップデート管理方法である。   One aspect of the present invention is an update method performed by a cluster system including an update management device that updates software of a server having an N-Active configuration, and an update distribution device that distributes a processing request to the server to any of the servers. Therefore, when the update management device is instructed to update the software, the software used by the server is updated according to the end of the service provided by the server that is the target of the software update. A server management step of updating, the update distribution device issues a processing request to the server that is updating the software, based on the processing request, a new server for which the software has been updated, or the software has not been updated. This is an update management method having a distribution step of determining which of the old servers should be processed and distributing it to any of the servers.

本発明の一態様は、N−Active構成のサーバのソフトウェアのアップデートの指示がなされた場合に、前記ソフトウェアのアップデートの対象となるサーバが提供しているサービスの終了に応じて、前記サーバが用いているソフトウェアをアップデートするサーバ管理ステップ、を有し、前記サーバ管理ステップにおいて、前記サーバの負荷を監視し、前記サーバの負荷が所定の閾値以下になったサーバのサービス提供を停止し、停止したサーバが用いているソフトウェアをアップデートするアップデート管理方法である。   According to an aspect of the present invention, when an instruction to update software of a server having an N-Active configuration is given, the server is used in response to the end of the service provided by the server that is the target of the software update. A server management step of updating the software, which monitors the load of the server in the server management step, and stops and stops the service provision of the server when the load of the server becomes a predetermined threshold value or less. This is an update management method for updating the software used by the server.

本発明の一態様は、N−Active構成のサーバのソフトウェアのアップデートを行うアップデート管理装置と、前記サーバに対する処理要求をいずれかのサーバへ振り分けるアップデート振分装置とを備えるクラスタシステムにおけるアップデート振分装置が行うアップデート振分方法であって、前記ソフトウェアのアップデート中のサーバに対する処理要求を、前記処理要求に基づいて、ソフトウェアのアップデートがなされた新サーバ、又は、ソフトウェアのアップデートがなされていない旧サーバのいずれで処理すべきかを判定し、いずれかのサーバに振り分ける振分ステップを、を有し、前記振分ステップにおいて、前記処理要求が、一貫性が必要な一連の処理のうち最初の要求である場合には、前記処理要求を、新サーバで処理すべきと判定し、前記新サーバに振り分けるアップデート振分方法である。   One aspect of the present invention is an update distribution device in a cluster system including an update management device that updates software of a server having an N-Active configuration, and an update distribution device that distributes a processing request to the server to one of the servers. In the update distribution method performed by, the processing request to the server during the software update, based on the processing request, the new server for which the software has been updated, or the old server for which the software has not been updated. A distribution step of determining which is to be processed and distributing to one of the servers, and in the distribution step, the processing request is the first request in a series of processing requiring consistency. In this case, the update distribution method determines that the processing request should be processed by the new server and distributes it to the new server.

本発明の一態様は、上記の装置としてコンピュータを機能させるためのプログラムである。   One embodiment of the present invention is a program for causing a computer to function as the above device.

本発明により、クラスタシステムにおいて、ソフトウェアのアップデートを行う際に要する開発コストを削減することが可能となる。   According to the present invention, it is possible to reduce the development cost required for updating software in a cluster system.

本発明におけるクラスタシステム100のシステム構成を表す構成図である。It is a block diagram showing the system configuration of the cluster system 100 in the present invention. アップデート振分装置20の機能構成を表す概略ブロック図である。3 is a schematic block diagram showing a functional configuration of an update distribution device 20. FIG. アップデート管理装置40の機能構成を表す概略ブロック図である。3 is a schematic block diagram showing a functional configuration of an update management device 40. FIG. サーバ情報ファイルの具体例を示す図である。It is a figure which shows the specific example of a server information file. 本実施形態におけるソフトウェアのアップデートの方法について説明するための図である。It is a figure for demonstrating the method of the software update in this embodiment. 本実施形態におけるアップデート振分装置20の振分処理の流れを示すフローチャートである。It is a flow chart which shows a flow of distribution processing of update distribution device 20 in this embodiment. 本実施形態におけるアップデート振分装置20の振分処理の流れを示すフローチャートである。It is a flow chart which shows a flow of distribution processing of update distribution device 20 in this embodiment. 本実施形態におけるアップデート振分装置20の振分処理の流れを示すフローチャートである。It is a flow chart which shows a flow of distribution processing of update distribution device 20 in this embodiment. 本実施形態におけるアップデート振分装置20の振分処理の流れを示すフローチャートである。It is a flow chart which shows a flow of distribution processing of update distribution device 20 in this embodiment. 追加でN台のサーバを用意した場合のアップデート方法の方法について説明するための図である。It is a figure for demonstrating the method of the update method when N servers are additionally prepared.

以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明におけるクラスタシステム100のシステム構成を表す構成図である。クラスタシステム100には、外部ネットワーク1を介してクライアント装置10が接続される。外部ネットワーク1は、例えば、インターネットを用いて構成されてもよい。クライアント装置10は、パーソナルコンピュータ等の情報処理装置を用いて構成される。クライアント装置10は、クラスタシステム100が提供するサービスを利用するユーザが所有する通信装置である。クライアント装置10は、クラスタシステム100に対してサービスに対する処理要求を送信する。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a configuration diagram showing a system configuration of a cluster system 100 according to the present invention. The client device 10 is connected to the cluster system 100 via the external network 1. The external network 1 may be configured using the Internet, for example. The client device 10 is configured using an information processing device such as a personal computer. The client device 10 is a communication device owned by a user who uses a service provided by the cluster system 100. The client device 10 sends a processing request for a service to the cluster system 100.

クラスタシステム100は、複数のアップデート振分装置20−1〜20−M(Mは2以上の整数)、複数のサーバ30−1〜30−N(Nは2以上の整数)及びアップデート管理装置40を備える。クラスタシステム100は、いわゆるN−Active構成のサーバである。以下の説明において、アップデート振分装置20−1〜20−Mを区別しない場合にはアップデート振分装置20と記載する。また、以下の説明において、サーバ30−1〜30−Nを区別しない場合にはサーバ30と記載する。アップデート振分装置20と、サーバ30は、内部ネットワーク50を介して通信可能に接続される。   The cluster system 100 includes a plurality of update distribution devices 20-1 to 20-M (M is an integer of 2 or more), a plurality of servers 30-1 to 30-N (N is an integer of 2 or more), and an update management device 40. Equipped with. The cluster system 100 is a server having a so-called N-Active configuration. In the following description, the update distribution devices 20-1 to 20-M are referred to as the update distribution device 20 when they are not distinguished. In the following description, the servers 30-1 to 30-N will be referred to as the server 30 if they are not distinguished. The update distribution device 20 and the server 30 are communicably connected via the internal network 50.

また、アップデート振分装置20及びサーバ30と、アップデート管理装置40とは、ネットワーク60を介して通信可能に接続される。内部ネットワーク50及びネットワーク60は、どのようなネットワークを用いて構成されてもよい。例えば、内部ネットワーク50及びネットワーク60は、LAN(Local Area Network)を用いて構成されてもよい。   The update distribution device 20, the server 30, and the update management device 40 are communicably connected via the network 60. The internal network 50 and the network 60 may be configured using any network. For example, the internal network 50 and the network 60 may be configured using a LAN (Local Area Network).

アップデート振分装置20は、クライアント装置10からの処理要求を該当するサーバ30に振り分ける。例えば、アップデート振分装置20は、処理要求を、ソフトウェアアップデート前のサーバ30(以下「旧サーバ」という。)、又は、ソフトウェアアップデート後のサーバ30(以下「新サーバ」という。)に振り分ける。アップデート振分装置20による処理要求の振分処理についての具体的な方法については後述する。   The update distribution device 20 distributes the processing request from the client device 10 to the corresponding server 30. For example, the update distribution device 20 distributes the processing request to the server 30 before software update (hereinafter referred to as “old server”) or the server 30 after software update (hereinafter referred to as “new server”). A specific method for distribution processing of processing requests by the update distribution device 20 will be described later.

サーバ30は、パーソナルコンピュータ等の情報処理装置を用いて構成される。サーバ30は、クライアント装置10に対してサービスを提供する。サービスとは、例えば、電話のようなライフラインサービス等である。本実施形態では、全てのサーバ30が同一のサービス(例えば、ライフラインサービス)を提供するサーバである場合を例に説明するが、クラスタ毎に異なるサービスを提供するサーバ30であってもよい。なお、N−Active構成のサーバは、セッション維持に必要なデータがサーバ間で共有されている。   The server 30 is configured using an information processing device such as a personal computer. The server 30 provides a service to the client device 10. The service is, for example, a lifeline service such as a telephone. In the present embodiment, a case will be described as an example where all the servers 30 provide the same service (for example, lifeline service), but the servers 30 may provide different services for each cluster. In addition, in a server having an N-Active configuration, data necessary for maintaining a session is shared between the servers.

アップデート管理装置40は、パーソナルコンピュータ等の情報処理装置を用いて構成される。アップデート管理装置40は、アップデート振分装置20及びサーバ30を管理する。例えば、アップデート管理装置40は、サーバ30で用いるソフトウェアのアップデート指示が入力されると、ソフトウェアのアップデートを行う。この際、アップデート管理装置40は、アップデートの対象となるサーバ30で処理中のサービスが終了した時点で、該当サーバ30で用いるソフトウェアをアップデートする。アップデートの具体的な方法については後述する。   The update management device 40 is configured using an information processing device such as a personal computer. The update management device 40 manages the update distribution device 20 and the server 30. For example, when the update management device 40 receives an instruction to update the software used by the server 30, the update management device 40 updates the software. At this time, the update management device 40 updates the software used by the server 30 when the service being processed by the server 30 to be updated ends. The specific method of updating will be described later.

図2は、アップデート振分装置20の機能構成を表す概略ブロック図である。
アップデート振分装置20は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、負荷分散処理プログラムを実行する。負荷分散処理プログラムの実行によって、アップデート振分装置20は、振分情報記憶部201、更新部202、振分部203を備える装置として機能する。なお、アップデート振分装置20の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、負荷分散処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、負荷分散処理プログラムは、電気通信回線を介して送受信されてもよい。
FIG. 2 is a schematic block diagram showing the functional configuration of the update distribution device 20.
The update distribution device 20 includes a CPU (Central Processing Unit), a memory, and an auxiliary storage device that are connected by a bus, and executes a load distribution processing program. By executing the load distribution processing program, the update distribution device 20 functions as a device including the distribution information storage unit 201, the update unit 202, and the distribution unit 203. Note that all or some of the functions of the update distribution device 20 may be realized using hardware such as an ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), and FPGA (Field Programmable Gate Array). Good. The load distribution processing program may be recorded in a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system. Further, the load distribution processing program may be transmitted / received via an electric communication line.

振分情報記憶部201は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。振分情報記憶部201は、振分情報ファイルを記憶する。振分情報ファイルとは、クライアント装置10からの処理要求を振り分ける際に用いられるファイルである。振分情報ファイルには、サーバ名と、ファイル新旧表示とが対応付けられている。サーバ名は、サーバ30を特定するための情報である。ファイル新旧表示は、ソフトウェアのアップデートが必要となった場合において、サーバ30が新サーバであるか旧サーバであるかを示す情報が登録される。振分情報ファイルにおいて、サーバ30が新サーバである場合にはファイル新旧表示の項目に“新”が登録され、サーバ30が旧サーバである場合にはファイル新旧表示の項目に“旧”が登録される。なお、ソフトウェアのアップデートが必要ない場合には、ファイル新旧表示の項目には“−”が登録される。   The distribution information storage unit 201 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The distribution information storage unit 201 stores a distribution information file. The distribution information file is a file used when distributing a processing request from the client device 10. The distribution information file is associated with the server name and the file old / new display. The server name is information for identifying the server 30. In the file new / old display, information indicating whether the server 30 is a new server or an old server when software update is necessary is registered. In the distribution information file, if the server 30 is the new server, "new" is registered in the file new / old display item, and if the server 30 is the old server, "old" is registered in the file new / old display item. To be done. If software update is not necessary, "-" is registered in the item of file old / new display.

更新部202は、アップデート管理装置40からの指示に従って振分情報ファイルを更新する。例えば、更新部202は、振分情報ファイル内へのサーバ30の登録、削除及びファイル新旧表示の項目内の変更を行う。
振分部203は、クライアント装置10から処理要求が受信された場合に、振分情報ファイルを参照して、処理要求を該当するサーバ30に振り分ける。
The update unit 202 updates the distribution information file according to the instruction from the update management device 40. For example, the updating unit 202 registers or deletes the server 30 in the distribution information file and changes the items of the file old / new display.
When a processing request is received from the client device 10, the distribution unit 203 refers to the distribution information file and distributes the processing request to the corresponding server 30.

図3は、アップデート管理装置40の機能構成を表す概略ブロック図である。
アップデート管理装置40は、バスで接続されたCPUやメモリや補助記憶装置などを備え、管理プログラムを実行する。管理プログラムの実行によって、アップデート管理装置40は、コマンド処理部401、サーバ情報記憶部402、サーバ管理部403を備える装置として機能する。なお、アップデート管理装置40の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、管理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、管理プログラムは、電気通信回線を介して送受信されてもよい。
FIG. 3 is a schematic block diagram showing the functional configuration of the update management device 40.
The update management device 40 includes a CPU, a memory, an auxiliary storage device, and the like connected by a bus, and executes a management program. By executing the management program, the update management device 40 functions as a device including the command processing unit 401, the server information storage unit 402, and the server management unit 403. Note that all or part of each function of the update management device 40 may be realized using hardware such as ASIC, PLD, and FPGA. Further, the management program may be recorded in a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system. Further, the management program may be transmitted / received via an electric communication line.

コマンド処理部401は、クラスタシステム100に対するサーバの追加又は削除のコマンド、ソフトウェアのアップデートのコマンド及びサーバ30のサービス開始又はサービス終了のコマンドを受け付け、受け付けたコマンドに応じた処理を行う。
サーバ情報記憶部402は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。サーバ情報記憶部402は、サーバ情報ファイルを記憶する。サーバ情報ファイルとは、クラスタシステム100に備えられるサーバ30に関する情報が登録されたファイルである。
The command processing unit 401 receives a command for adding or deleting a server to the cluster system 100, a command for updating software, and a command for starting or ending a service of the server 30, and performs processing according to the received command.
The server information storage unit 402 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The server information storage unit 402 stores a server information file. The server information file is a file in which information about the server 30 included in the cluster system 100 is registered.

図4は、サーバ情報ファイルの具体例を示す図である。
サーバ情報ファイルは、複数のレコードを複数有する。レコードは、サーバ名、サービス及びサーバ負荷の各値を有する。サーバ名の値は、サーバ30を特定するための情報である。サービスの値は、サーバ30が提供しているサービス名を表す。サーバ負荷の値は、サーバ30の負荷の状況を表す。
FIG. 4 is a diagram showing a specific example of the server information file.
The server information file has a plurality of records. The record has the values of server name, service, and server load. The value of the server name is information for identifying the server 30. The service value represents the service name provided by the server 30. The value of the server load represents the load status of the server 30.

図4に示される例では、サーバ情報ファイルには4つのサーバ名が登録されている。これらのサーバ名は、“サーバA”、“サーバB”、“サーバC”及び“サーバD”である。図4において、サーバ情報ファイルの最上段に記録されているレコードは、サーバ名の値が“サーバA”、サービスの値が“ライフラインサービス”、サーバ負荷の値が“○○”である。すなわち、サーバ名“サーバA”が、“ライフラインサービス”を提供していて、現在のサーバの負荷が“○○”であることが表されている。なお、サーバ情報ファイルの構成は、図4に示す構成に限られず、適宜必要な情報が追加されてもよい。   In the example shown in FIG. 4, four server names are registered in the server information file. These server names are "Server A", "Server B", "Server C", and "Server D". In FIG. 4, in the record recorded at the top of the server information file, the value of the server name is "Server A", the value of the service is "Lifeline Service", and the value of the server load is "○○". That is, it is indicated that the server name "Server A" provides "lifeline service" and the current load of the server is "XX". The configuration of the server information file is not limited to the configuration shown in FIG. 4, and necessary information may be added as appropriate.

図3に戻って、アップデート管理装置40の説明を続ける。
サーバ管理部403は、サーバ30を管理する。例えば、サーバ管理部403は、コマンド処理部401に入力されたコマンドに従って、サーバ30の追加又は削除、サーバ30のサービス開始又はサービス終了、サーバ30が提供するサービスの変更等を行う。また、サーバ管理部403は、所定のタイミングで、サーバ30の稼働状態を監視し、サーバ30の負荷を取得する。サーバ管理部403は、取得した負荷を、サーバ情報ファイルに登録する。所定のタイミングとは、予め設定されたタイミングであってもよいし、コマンドが入力されたタイミングであってもよいし、その他のタイミングであってもよい。
Returning to FIG. 3, the description of the update management device 40 will be continued.
The server management unit 403 manages the server 30. For example, the server management unit 403 performs addition or deletion of the server 30, start or end of service of the server 30, change of service provided by the server 30, and the like according to a command input to the command processing unit 401. In addition, the server management unit 403 monitors the operating state of the server 30 and acquires the load of the server 30 at a predetermined timing. The server management unit 403 registers the acquired load in the server information file. The predetermined timing may be a preset timing, a timing when a command is input, or another timing.

次に、図5を用いて、本実施形態におけるソフトウェアのアップデートの方法について説明する。図5は、本実施形態におけるソフトウェアのアップデートの方法について説明するための図である。なお、図5では、ソフトウェアのアップデートの方法について、振分情報ファイルを用いて説明する。図5において、振分情報ファイルには4台のサーバ30(サーバ名:“A”サーバ、“B”サーバ、“C”サーバ及び“D”サーバ)を示す情報が登録されている。   Next, a method of updating software according to this embodiment will be described with reference to FIG. FIG. 5 is a diagram for explaining the software update method according to the present embodiment. Note that, in FIG. 5, a method of updating software will be described using a distribution information file. In FIG. 5, information indicating four servers 30 (server names: “A” server, “B” server, “C” server, and “D” server) is registered in the distribution information file.

図5(A)は、振分情報ファイルのソフトウェアのアップデート前の状態を示す。例えば、図5(A)の状態を初期状態とする。図5(A)に示す例では、ソフトウェアのアップデートが必要となってしない状態であるため、4台全てのサーバ30に対してファイル新旧表示の項目には“−”が登録されている。   FIG. 5A shows a state before updating the software of the distribution information file. For example, the state of FIG. 5A is set as the initial state. In the example shown in FIG. 5A, since the software update is not required, “-” is registered in the file new / old display item for all four servers 30.

ソフトウェアのアップデートが必要になった場合、すなわちソフトウェアのアップデートのコマンドがアップデート管理装置40に入力された場合、コマンド処理部401はソフトウェアのアップデートが必要である旨を示す通知(以下「アップデート要求」という。)をアップデート振分装置20に送信する。また、コマンド処理部401は、ソフトウェアのアップデートを実行する旨を示す通知(以下「アップデート実行要求」という。)をサーバ管理部403に送信する。アップデート要求には、アップデートの対象となるソフトウェアを用いているサーバ30のサーバ名が含まれる。図5では、アップデート要求に、4台のサーバ30(サーバ名:“A”サーバ、“B”サーバ、“C”サーバ及び“D”サーバ)のサーバ名が含まれているとする。アップデート実行要求には、アップデートの対象となるソフトウェアを用いているサーバ30のサーバ名と、アップデートするためのソフトウェアが含まれる。
更新部202は、アップデート管理装置40からアップデート要求を受信すると、振分情報ファイルを参照し、アップデート要求に含まれるサーバ名に該当するサーバ30のファイル新旧表示の項目を“旧”に更新する。この処理後の振分情報ファイルの一例が図5(B)である。
When the software update is required, that is, when the software update command is input to the update management device 40, the command processing unit 401 notifies that the software update is required (hereinafter referred to as “update request”). .) To the update distribution device 20. Further, the command processing unit 401 transmits a notification indicating that software update is to be executed (hereinafter referred to as “update execution request”) to the server management unit 403. The update request includes the server name of the server 30 that uses the software to be updated. In FIG. 5, it is assumed that the update request includes the server names of the four servers 30 (server names: “A” server, “B” server, “C” server, and “D” server). The update execution request includes the server name of the server 30 that uses the software to be updated and the software for updating.
Upon receiving the update request from the update management device 40, the update unit 202 refers to the distribution information file and updates the file old / new display item of the server 30 corresponding to the server name included in the update request to “old”. An example of the distribution information file after this processing is shown in FIG.

次に、サーバ管理部403は、アップデート実行要求に含まれるサーバ名に該当するサーバ30の負荷を監視し、負荷が所定の閾値以下になったサーバ30を停止する。ここでは、“D”サーバが閾値以下であったとする。この場合、サーバ管理部403は、“D”サーバを停止する。その後、サーバ管理部403は、コマンド処理部401を介して、サーバ30を停止したことを示す通知(以下「停止要求」という。)をアップデート振分装置20に送信する。停止要求には、停止したサーバ30のサーバ名が含まれる。図5では、停止要求に、“D”サーバを示す情報が含まれているとする。
更新部202は、アップデート管理装置40から停止要求を受信すると、振分情報ファイルを参照し、停止要求に含まれるサーバ名に該当するサーバ30を振分情報ファイルから削除する。例えば、更新部202は、“D”サーバに関する情報を含むレコードを振分情報ファイルから削除する。この処理後の振分情報ファイルの一例が図5(C)である。
Next, the server management unit 403 monitors the load of the server 30 corresponding to the server name included in the update execution request, and stops the server 30 having the load equal to or less than the predetermined threshold. Here, it is assumed that the "D" server is below the threshold. In this case, the server management unit 403 stops the "D" server. After that, the server management unit 403 transmits, via the command processing unit 401, a notification indicating that the server 30 has been stopped (hereinafter referred to as “stop request”) to the update distribution device 20. The stop request includes the server name of the stopped server 30. In FIG. 5, the stop request includes information indicating the “D” server.
Upon receiving the stop request from the update management device 40, the update unit 202 refers to the distribution information file and deletes the server 30 corresponding to the server name included in the stop request from the distribution information file. For example, the update unit 202 deletes the record including the information about the “D” server from the distribution information file. An example of the distribution information file after this processing is shown in FIG.

次に、サーバ管理部403は、アップデート実行要求に含まれるソフトウェアを用いて、停止したサーバが用いているソフトウェアをアップデートする。例えば、サーバ管理部403は、“D”サーバが用いているソフトウェアをアップデートする。アップデートが完了した後、サーバ管理部403は、コマンド処理部401を介して、サーバ30が用いているソフトウェアのアップデートが完了したことを示す通知(以下「完了通知」という。)をアップデート振分装置20に送信する。完了通知には、アップデートが完了したサーバ30のサーバ名が含まれる。図5では、完了通知に、“D”サーバを示す情報が含まれているとする。   Next, the server management unit 403 updates the software used by the stopped server using the software included in the update execution request. For example, the server management unit 403 updates the software used by the “D” server. After the update is completed, the server management unit 403 issues a notification (hereinafter referred to as “completion notification”) indicating that the update of the software used by the server 30 is completed via the command processing unit 401. Send to 20. The completion notification includes the server name of the server 30 that has completed the update. In FIG. 5, it is assumed that the completion notification includes information indicating the “D” server.

更新部202は、アップデート管理装置40から完了通知を受信すると、振分情報ファイルに、完了通知に含まれるサーバ名を新たに登録する。この際、更新部202は、新たに登録したサーバ30のファイル新旧表示の項目に“新”を登録する。この処理では、更新部202は、振分情報ファイルのサーバ名に“D”サーバ、ファイル新旧表示の項目に“新”を登録する。この処理後の振分情報ファイルの一例が図5(D)である。このとき以降にアップデート振分装置20で受信したクライアントからの処理要求は、後述する振り分け方法に従いサーバ30に処理を振り分ける。   Upon receiving the completion notice from the update management device 40, the update unit 202 newly registers the server name included in the completion notice in the distribution information file. At this time, the updating unit 202 registers “new” in the file new / old display item of the newly registered server 30. In this process, the update unit 202 registers "D" server in the server name of the distribution information file and "new" in the item of file old / new display. An example of the distribution information file after this processing is shown in FIG. A processing request from the client received by the update distribution device 20 after this time is distributed to the server 30 according to a distribution method described later.

サーバ管理部403は、上記のように、サーバ30の負荷の低下に伴い順次サーバ30を停止したのち、ソフトウェアのアップデートを行う。この処理を繰り返すことによって、最後に最低1台以上のサーバ30のファイル新旧表示の項目が“旧”の状態となる。図5(E)の例では、“A”サーバのみがファイル新旧表示の項目が“旧”である。ファイル新旧表示の項目が“旧”のサーバでの処理が終了した時点、もしくは、手動等により強制的にファイル新旧表示の項目が“旧”のサーバでの処理を終了させた時点で、サーバ管理部403は最後に残った“A”サーバを停止する。その後、サーバ管理部403は、コマンド処理部401を介して、停止要求をアップデート振分装置20に送信する。この処理における停止要求には、“A”サーバを示す情報が含まれている。
更新部202は、アップデート管理装置40から停止要求を受信すると、振分情報ファイルを参照し、停止要求に含まれるサーバ名に該当するサーバ30を振分情報ファイルから削除する。例えば、更新部202は、“A”サーバに関する情報を含むレコードを振分情報ファイルから削除する。この処理後の振分情報ファイルの一例が図5(F)である。
As described above, the server management unit 403 sequentially stops the servers 30 as the load on the servers 30 decreases, and then updates the software. By repeating this process, the file old / new display item of at least one server 30 finally becomes the "old" state. In the example of FIG. 5E, only the “A” server has the item “old” in the file old / new display. Server management when processing on the server whose file old / new display item is "old" is completed, or when processing is forcibly ended manually on the server whose file old / new display item is "old" The unit 403 stops the last remaining "A" server. After that, the server management unit 403 transmits a stop request to the update distribution device 20 via the command processing unit 401. The stop request in this process includes information indicating the "A" server.
Upon receiving the stop request from the update management device 40, the update unit 202 refers to the distribution information file and deletes the server 30 corresponding to the server name included in the stop request from the distribution information file. For example, the update unit 202 deletes the record including the information about the “A” server from the distribution information file. An example of the distribution information file after this processing is shown in FIG.

次に、サーバ管理部403は、アップデート実行要求に含まれるソフトウェアを用いて、停止したサーバが用いているソフトウェアをアップデートする。例えば、サーバ管理部403は、“A”サーバが用いているソフトウェアをアップデートする。アップデートが完了した後、サーバ管理部403は、コマンド処理部401を介して、完了通知をアップデート振分装置20に送信する。この処理における完了通知には、“A”サーバを示す情報が含まれているとする。
更新部202は、アップデート管理装置40から完了通知を受信すると、振分情報ファイルに、完了通知に含まれるサーバ名を新たに登録する。この際、更新部202は、新たに登録したサーバ30のファイル新旧表示の項目に“新”を登録する。この処理では、更新部202は、振分情報ファイルのサーバ名に“A”サーバ、ファイル新旧表示の項目に“新”を登録する。この処理後の振分情報ファイルの一例が図5(G)である。
以上の処理により、振分情報ファイルのファイル新旧表示の項目が全て“新”となる。これでアップロードが終了する。その後、振分情報記憶部201は、振分情報ファイルを初期状態に更新する。この処理後の振分情報ファイルの一例が図5(H)である。
Next, the server management unit 403 updates the software used by the stopped server using the software included in the update execution request. For example, the server management unit 403 updates the software used by the “A” server. After the update is completed, the server management unit 403 transmits a completion notification to the update distribution device 20 via the command processing unit 401. It is assumed that the completion notification in this processing includes information indicating the "A" server.
Upon receiving the completion notice from the update management device 40, the update unit 202 newly registers the server name included in the completion notice in the distribution information file. At this time, the updating unit 202 registers “new” in the file new / old display item of the newly registered server 30. In this process, the updating unit 202 registers "A" server in the server name of the distribution information file and "new" in the item of file old / new display. An example of the distribution information file after this processing is shown in FIG.
By the above processing, all the items of the file old and new display of the distribution information file become "new". This completes the upload. After that, the distribution information storage unit 201 updates the distribution information file to the initial state. An example of the distribution information file after this processing is shown in FIG.

図6〜9は、本実施形態におけるアップデート振分装置20の振分処理の流れを示すフローチャートである。
振分部203は、クライアント装置10から処理要求が受信されると、振分情報ファイルを参照し、ファイル新旧表示の項目が“−”もしくは全て“旧”であるか否か判定する(ステップS101)。ファイル新旧表示の項目が“−”もしくは全て“旧”である場合(ステップS101−YES)、振分部203は通常の負荷分散処理(ラウンドロビン等)を行う(ステップS102)。その後、アップデート振分装置20は図6の処理を終了する。
6 to 9 are flowcharts showing the flow of the distribution process of the update distribution device 20 in this embodiment.
When the processing request is received from the client device 10, the distribution unit 203 refers to the distribution information file and determines whether the file new / old display item is "-" or all "old" (step S101). ). When the file new / old display item is "-" or all "old" (step S101-YES), the distribution unit 203 performs a normal load balancing process (round robin or the like) (step S102). After that, the update distribution device 20 ends the processing of FIG.

一方、ファイル新旧表示の項目が“−”、又は、一部が“旧”、又は、全てが“新”である場合(ステップS101−NO)、振分部203は処理要求が、一貫性が必要な一連の処理(例えば、セッション維持が必要な処理要求)のうち最初の要求(例えば、SIP(Session Initiation Protocol)プロトコルのinvite)であるか否か判定する(ステップS103)。処理要求が最初の要求である場合(ステップS103−YES)、振分部203はファイル新旧表示の項目が“新”のサーバ30(新サーバ)に対して通常の負荷分散処理を行う(ステップS104)。   On the other hand, when the file new / old display item is "-", or some of them are "old" or all of them are "new" (step S101-NO), the distribution unit 203 determines that the processing requests are consistent. It is determined whether or not the request is the first request (for example, an invitation of the SIP (Session Initiation Protocol) protocol) of the required series of processing (for example, a processing request that requires session maintenance) (step S103). When the processing request is the first request (step S103-YES), the distribution unit 203 performs normal load balancing processing on the server 30 (new server) whose file new / old display item is "new" (step S104). ).

一方、処理要求が最初の要求ではない場合(ステップS103−NO)、振分部203は処理要求が、セッション維持が不要な処理の要求であるか否か判定する(ステップS105)。セッション維持が不要な処理の要求である場合(ステップS105−YES)、振分部203はステップS104の処理を行う。
一方、セッション維持が不要な処理の要求ではない場合、すなわちセッション維持が必要な処理の要求である場合(ステップS105−NO)、振分部203は処理要求を破棄してよい場合か否かを判定する(ステップS106)処理要求を破棄してよい場合(ステップS106−YES)、振分部203は処理要求を新サーバに負荷分散処理を行う(ステップS107)。ここで、セッション維持が必要な処理の要求だが、処理要求を破棄してよい場合とは、例えばSIPプロトコルのConfirmed Daialogを呼救済とした場合でのACK以前の処理要求である。
On the other hand, if the processing request is not the first request (step S103-NO), the distribution unit 203 determines whether the processing request is a request for processing that does not require session maintenance (step S105). If the request is for a process that does not require session maintenance (step S105-YES), the distribution unit 203 performs the process of step S104.
On the other hand, when the session maintenance is not an unnecessary processing request, that is, when the session maintenance is required (step S105-NO), the distribution unit 203 determines whether or not the processing request may be discarded. When it is determined (step S106) that the processing request may be discarded (step S106-YES), the distribution unit 203 performs load distribution processing on the processing request to the new server (step S107). Here, a request for processing that requires session maintenance, but the processing request may be discarded is, for example, a processing request before ACK when Confirmed Dialog of the SIP protocol is used as call relief.

また、ステップS106の処理において、処理要求を破棄してはならない場合(ステップS106−NO)、振分部203は前回の処理要求時に処理したサーバ30の情報(例えば、SIPプロトコルのRecord-Routeヘッダ)と一致するサーバ30があるか否か判定する(ステップS108)。前回の処理要求時に処理したサーバ30がある場合(ステップS108−YES)、振分部203は前回処理したサーバ30に処理要求を振り分ける(ステップS109)。その後、振分部203は、前回処理したサーバ30に前回処理した情報があるか否か判定する(ステップS110)。前回処理したサーバ30に前回処理した情報がある場合(ステップS110−YES)、アップデート振分装置20は振分処理を終了する。例えば、振分部203は、前回処理したサーバ30から処理要求を処理することができない旨の通知を取得しなかった場合に前回処理したサーバ30に前回処理した情報があると判定する。
一方、前回処理したサーバ30に前回処理した情報がない場合(ステップS110−NO)、振分部203はファイル新旧表示の項目が異なる内容のサーバ30に負荷分散処理する(ステップS111)。例えば、振分部203は、前回処理したサーバ30から処理要求を処理することができない旨の通知を取得した場合に前回処理したサーバ30に前回処理した情報がないと判定する。
Further, in the processing of step S106, when the processing request should not be discarded (step S106-NO), the distribution unit 203 receives information about the server 30 processed at the time of the previous processing request (for example, the Record-Route header of the SIP protocol). It is determined whether or not there is a server 30 that matches () (step S108). When there is the server 30 processed at the time of the previous processing request (step S108-YES), the distribution unit 203 distributes the processing request to the server 30 processed last time (step S109). Then, the distribution unit 203 determines whether the previously processed server 30 has the previously processed information (step S110). If the previously processed server 30 has the previously processed information (step S110-YES), the update distribution device 20 ends the distribution process. For example, when the distribution unit 203 does not receive the notification that the processing request cannot be processed from the previously processed server 30, the distribution unit 203 determines that the previously processed server 30 has the previously processed information.
On the other hand, when there is no previously processed information in the previously processed server 30 (step S110-NO), the distribution unit 203 performs load distribution processing on the servers 30 having different file old and new file display items (step S111). For example, the distribution unit 203 determines that there is no previously processed information in the previously processed server 30 when a notification that the processing request cannot be processed is acquired from the previously processed server 30.

次に、振分部203は、ファイル新旧表示の項目が異なる内容のサーバ30に前回処理した情報があるか否か判定する(ステップS112)。ファイル新旧表示の項目が異なる内容のサーバ30に前回処理した情報がある場合(ステップS112−YES)、アップデート振分装置20は振分処理を終了する。
一方、ファイル新旧表示の項目が異なる内容のサーバ30に前回処理した情報がない場合(ステップS112−NO)、振分部203は処理要求を破棄する(ステップS113)。その後、アップデート振分装置20は振分処理を終了する。
Next, the distribution unit 203 determines whether or not there is previously processed information in the server 30 having different file new / old display items (step S112). If the server 30 having different file old / new display items has the previously processed information (step S112-YES), the update distribution device 20 ends the distribution process.
On the other hand, when there is no previously processed information in the server 30 having different file old / new display items (step S112-NO), the distribution unit 203 discards the processing request (step S113). After that, the update distribution device 20 ends the distribution process.

また、ステップS108の処理において、前回の処理要求時に処理したサーバ30がない場合(ステップS108−NO)、振分部203は旧サーバに負荷分散処理を行う(ステップS114)。その後、振分部203は、ファイル新旧表示の項目が“旧”のサーバ30に前回処理した情報があるか否か判定する(ステップS115)。ファイル新旧表示の項目が“旧”のサーバ30に前回処理した情報がある場合(ステップS115−YES)、アップデート振分装置20は振分処理を終了する。
一方、ファイル新旧表示の項目が“旧”のサーバ30に前回処理した情報がない場合(ステップS115−NO)、振分部203は新サーバ30に負荷分散処理する(ステップS116)。
Further, in the process of step S108, when there is no server 30 processed at the time of the previous process request (step S108-NO), the distribution unit 203 performs the load distribution process on the old server (step S114). After that, the distribution unit 203 determines whether or not there is information processed last time in the server 30 whose file new / old display item is "old" (step S115). When the server 30 whose file new / old display item is “old” has the previously processed information (step S115-YES), the update distribution device 20 ends the distribution process.
On the other hand, when there is no previously processed information in the server 30 whose file new / old display item is "old" (step S115-NO), the distribution unit 203 performs load distribution processing on the new server 30 (step S116).

その後、振分部203は、ファイル新旧表示の項目が“新”のサーバ30に前回処理した情報があるか否か判定する(ステップS117)。ファイル新旧表示の項目が“新”のサーバ30に前回処理した情報がある場合(ステップS117−YES)、アップデート振分装置20は振分処理を終了する。
一方、ファイル新旧表示の項目が“新”のサーバ30に前回処理した情報がない場合(ステップS117−NO)、振分部203は処理要求を破棄する(ステップS118)。その後、アップデート振分装置20は振分処理を終了する。
After that, the distribution unit 203 determines whether or not there is the previously processed information in the server 30 whose file new / old display item is "new" (step S117). When the server 30 whose file new / old display item is “new” has the previously processed information (step S117-YES), the update distribution device 20 ends the distribution process.
On the other hand, when there is no previously processed information in the server 30 whose file new / old display item is "new" (step S117-NO), the distribution unit 203 discards the processing request (step S118). After that, the update distribution device 20 ends the distribution process.

以上のように構成されたクラスタシステム100では、アップデート管理装置40が、アップデート前のサーバ30で処理中のサービスが終了した時点で、該当サーバ30をアップデートする。これにより、データ引継処理を削減することができる。また、アップデート振分装置20が、アップデート中のサーバ30に対する処理要求を新サーバ又は旧サーバのいずれで処理すべきかを判断し、該当するサーバ30に振り分ける。したがって、データ引継処理に要するコストを削減することができる。そのため、クラスタシステムにおいて、ソフトウェアのアップデートを行う際に要する開発コストを削減することが可能となる。   In the cluster system 100 configured as described above, the update management device 40 updates the server 30 when the service being processed by the server 30 before the update ends. As a result, the data transfer process can be reduced. Further, the update distribution device 20 determines whether the processing request for the server 30 being updated should be processed by the new server or the old server, and distributes it to the corresponding server 30. Therefore, the cost required for the data transfer processing can be reduced. Therefore, in the cluster system, it is possible to reduce the development cost required when updating the software.

振分部203は、処理要求が破棄してよい要求ではなく、処理要求を処理したサーバ30がある場合には、処理要求を処理したサーバ30に処理要求を振り分け、処理要求が破棄してよい要求ではなく、処理要求を処理したサーバ30がない場合には、処理要求を旧サーバに振り分ける。   If the processing request is not a request that the processing request may be abandoned and there is the server 30 that processed the processing request, the distribution unit 203 may distribute the processing request to the server 30 that processed the processing request and discard the processing request. If there is no server 30 that processed the request, not the request, the process request is distributed to the old server.

<変形例>
本実施形態におけるクラスタシステム100において、IaaS等でサーバプールにリソースの余裕がある場合は、ソフトウェアのアップデートを行う際に別のサーバリソースを用いてもよい。その場合は、運用中のサーバ台数をN台とした場合、アップデート用として追加で1〜N台のサーバ30が必要となる。アップデート用として追加でN台のサーバを用意した場合のアップデート方法について図10を用いて説明する。なお、図10では、ソフトウェアのアップデートの方法について、振分情報ファイルを用いて説明する。図10において、処理開始時には振分情報ファイルには4台のサーバ30(サーバ名:“A”サーバ、“B”サーバ、“C”サーバ及び“D”サーバ)を示す情報が登録されている。
<Modification>
In the cluster system 100 according to the present embodiment, if the server pool has sufficient resources for IaaS or the like, another server resource may be used when updating the software. In that case, if the number of operating servers is N, 1 to N additional servers 30 are required for updating. An updating method when N servers are additionally prepared for updating will be described with reference to FIG. Note that, in FIG. 10, a method of updating software will be described using a distribution information file. In FIG. 10, at the start of processing, information indicating four servers 30 (server names: “A” server, “B” server, “C” server, and “D” server) is registered in the distribution information file. .

図10(A)は、振分情報ファイルのソフトウェアのアップデート前の状態を示す。例えば、図10(A)の状態を初期状態とする。図10(A)に示す例では、ソフトウェアのアップデートが必要となってしない状態であるため、4台全てのサーバ30に対してファイル新旧表示の項目には“−”が登録されている。   FIG. 10A shows a state before updating the software of the distribution information file. For example, the state of FIG. 10A is set as the initial state. In the example shown in FIG. 10A, since the software update is not required, "-" is registered in the file new / old display item for all four servers 30.

ソフトウェアのアップデートが必要になった場合、すなわちソフトウェアのアップデートのコマンドがアップデート管理装置40に入力された場合、コマンド処理部401はアップデート要求をアップデート振分装置20に送信する。また、コマンド処理部401は、アップデート実行要求をサーバ管理部403に送信する。アップデート要求には、アップデートの対象となるソフトウェアを用いているサーバ30のサーバ名が含まれる。図10では、アップデート要求に、4台のサーバ30(サーバ名:“A”サーバ、“B”サーバ、“C”サーバ及び“D”サーバ)のサーバ名が含まれているとする。アップデート実行要求には、アップデートの対象となるソフトウェアを用いているサーバ30のサーバ名と、アップデートするためのソフトウェアが含まれる。
更新部202は、アップデート管理装置40からアップデート要求を受信すると、振分情報ファイルを参照し、アップデート要求に含まれるサーバ名に該当するサーバ30のファイル新旧表示の項目を“旧”に更新する。この処理後の振分情報ファイルの一例が図10(B)である。
When software update is required, that is, when a software update command is input to the update management device 40, the command processing unit 401 sends an update request to the update distribution device 20. The command processing unit 401 also sends an update execution request to the server management unit 403. The update request includes the server name of the server 30 that uses the software to be updated. In FIG. 10, it is assumed that the update request includes the server names of the four servers 30 (server names: “A” server, “B” server, “C” server, and “D” server). The update execution request includes the server name of the server 30 that uses the software to be updated and the software for updating.
Upon receiving the update request from the update management device 40, the update unit 202 refers to the distribution information file and updates the file old / new display item of the server 30 corresponding to the server name included in the update request to “old”. An example of the distribution information file after this processing is shown in FIG.

次に、サーバ管理部403は、サーバプールから新しいサーバ(例えば、“E”サーバ)を用意し、新しいサーバ(例えば、“E”サーバ)に新しいソフトウェアをインストールする。サーバ管理部403は、コマンド処理部401を介して、新たなサーバ30にソフトウェアをインストールしたことを示す通知(以下「追加要求」という。)をアップデート振分装置20に送信する。追加要求には、新たにソフトウェアをインストールしたサーバ30のサーバ名(例えば、“E”サーバ)が含まれる。   Next, the server management unit 403 prepares a new server (for example, “E” server) from the server pool, and installs new software on the new server (for example, “E” server). The server management unit 403 transmits a notification indicating that the software is installed in the new server 30 (hereinafter, referred to as “addition request”) to the update distribution device 20 via the command processing unit 401. The addition request includes the server name (for example, "E" server) of the server 30 in which the software is newly installed.

更新部202は、アップデート管理装置40から追加要求を受信すると、振分情報ファイルを参照し、追加要求に含まれるサーバ名を振分情報ファイルに新たに登録する。この際、更新部202は、新たに登録したサーバ30のファイル新旧表示の項目に“新”を登録する。この処理では、更新部202は、振分情報ファイルのサーバ名に“E”サーバ、ファイル新旧表示の項目に“新”を登録する。この処理後の振分情報ファイルの一例が図10(C)である。アップデート振分装置20及びアップデート管理装置40は、上記の処理を旧のソフトウェアの運用台数分(図10では、4台分)行う。この処理後の振分情報ファイルの一例が図10(D)である。このとき以降にアップデート振分装置20で受信したクライアントからの処理要求は、後述する振り分け方法に従いサーバ30に処理を振り分ける。   Upon receiving the addition request from the update management device 40, the update unit 202 refers to the distribution information file and newly registers the server name included in the addition request in the distribution information file. At this time, the updating unit 202 registers “new” in the file new / old display item of the newly registered server 30. In this process, the updating unit 202 registers "E" server in the server name of the distribution information file and "new" in the item of file old / new display. An example of the distribution information file after this processing is shown in FIG. The update distribution device 20 and the update management device 40 perform the above processing for the number of operating old softwares (four in FIG. 10). An example of the distribution information file after this processing is shown in FIG. A processing request from the client received by the update distribution device 20 after this time is distributed to the server 30 according to a distribution method described later.

次に、サーバ管理部403は、アップデート実行要求に含まれるサーバ名に該当するサーバ30の負荷を監視し、負荷が所定の閾値以下になったサーバ30を停止する。ここでは、“D”サーバが閾値以下であったとする。この場合、サーバ管理部403は、“D”サーバを停止する。その後、サーバ管理部403は、コマンド処理部401を介して、停止要求をアップデート振分装置20に送信する。停止要求には、停止したサーバ30のサーバ名が含まれる。この処理では、停止要求に、“D”サーバを示す情報が含まれているとする。
更新部202は、アップデート管理装置40から停止要求を受信すると、振分情報ファイルを参照し、停止要求に含まれるサーバ名に該当するサーバ30を振分情報ファイルから削除する。例えば、更新部202は、“D”サーバに関する情報を含むレコードを振分情報ファイルから削除する。この処理後の振分情報ファイルの一例が図10(E)である。
Next, the server management unit 403 monitors the load of the server 30 corresponding to the server name included in the update execution request, and stops the server 30 having the load equal to or less than the predetermined threshold. Here, it is assumed that the "D" server is below the threshold. In this case, the server management unit 403 stops the "D" server. After that, the server management unit 403 transmits a stop request to the update distribution device 20 via the command processing unit 401. The stop request includes the server name of the stopped server 30. In this process, it is assumed that the stop request includes information indicating the "D" server.
Upon receiving the stop request from the update management device 40, the update unit 202 refers to the distribution information file and deletes the server 30 corresponding to the server name included in the stop request from the distribution information file. For example, the update unit 202 deletes the record including the information about the “D” server from the distribution information file. An example of the distribution information file after this processing is shown in FIG.

サーバ管理部403は、上記のように、サーバ30の負荷の低下に伴い順次サーバ30を停止したのち、ソフトウェアのアップデートを行う。この処理を繰り返すことによって、最後に最低1台以上のサーバ30のファイル新旧表示の項目が“旧”の状態となる。図10(F)の例では、“A”サーバのみがファイル新旧表示の項目が“旧”である。ファイル新旧表示の項目が“旧”のサーバでの処理が終了した時点、もしくは、手動等により強制的にファイル新旧表示の項目が“旧”のサーバでの処理を終了させた時点で、サーバ管理部403は最後に残った“A”サーバを停止する。その後、サーバ管理部403は、コマンド処理部401を介して、停止要求をアップデート振分装置20に送信する。この処理における停止要求には、“A”サーバを示す情報が含まれている。
更新部202は、アップデート管理装置40から停止要求を受信すると、振分情報ファイルを参照し、停止要求に含まれるサーバ名に該当するサーバ30を振分情報ファイルから削除する。例えば、更新部202は、“A”サーバに関する情報を含むレコードを振分情報ファイルから削除する。この処理後の振分情報ファイルの一例が図10(G)である。
以上の処理により、振分情報ファイルのファイル新旧表示の項目が新たに追加されたサーバ30となり、全て“新”となる。これでアップロードが終了する。その後、振分情報記憶部201は、振分情報ファイルを初期状態に更新する。この処理後の振分情報ファイルの一例が図10(H)である。
As described above, the server management unit 403 sequentially stops the servers 30 as the load on the servers 30 decreases, and then updates the software. By repeating this process, the file old / new display item of at least one server 30 finally becomes the "old" state. In the example of FIG. 10 (F), only the “A” server has the item “old” in the file new / old display. Server management when processing on the server whose file old / new display item is "old" is completed, or when processing is forcibly ended manually on the server whose file old / new display item is "old" The unit 403 stops the last remaining "A" server. After that, the server management unit 403 transmits a stop request to the update distribution device 20 via the command processing unit 401. The stop request in this process includes information indicating the "A" server.
Upon receiving the stop request from the update management device 40, the update unit 202 refers to the distribution information file and deletes the server 30 corresponding to the server name included in the stop request from the distribution information file. For example, the update unit 202 deletes the record including the information about the “A” server from the distribution information file. An example of the distribution information file after this processing is shown in FIG.
By the above processing, the file old and new display items of the distribution information file become the newly added server 30, and all become "new". This completes the upload. After that, the distribution information storage unit 201 updates the distribution information file to the initial state. An example of the distribution information file after this processing is shown in FIG.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   Although the embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and includes a design and the like within a range not departing from the gist of the present invention.

10…クライアント装置, 20、20−1〜20−M…アップデート振分装置, 30、30−1〜30−N…サーバ, 40…アップデート管理装置, 50…内部ネットワーク, 60…ネットワーク, 201…振分情報記憶部, 202…更新部, 203…振分部, 401…コマンド処理部, 402…サーバ情報記憶部, 403…サーバ管理部 10 ... Client device, 20, 20-1 to 20-M ... Update distribution device, 30, 30-1 to 30-N ... Server, 40 ... Update management device, 50 ... Internal network, 60 ... Network, 201 ... Distribution Minute information storage unit, 202 ... update unit, 203 ... distribution unit, 401 ... command processing unit, 402 ... server information storage unit, 403 ... server management unit

Claims (3)

サーバ間でセッション維持に必要なデータを共有しているN−Active構成のサーバのソフトウェアのアップデートを行うアップデート管理装置と、前記サーバに対する処理要求をいずれかのサーバへ振り分けるアップデート振分装置とを備えるクラスタシステムであって、
前記アップデート管理装置は、
前記ソフトウェアのアップデートの指示がなされた場合に、前記ソフトウェアのアップデートの対象となるサーバが提供しているサービスの終了に応じて、前記サーバが用いているソフトウェアをアップデートするサーバ管理部、
を備え、
前記アップデート振分装置は、
前記ソフトウェアのアップデート中のサーバに対する処理要求を、前記処理要求に基づいて、ソフトウェアのアップデートがなされた新サーバ、又は、ソフトウェアのアップデートがなされていない旧サーバのいずれで処理すべきかを判定し、いずれかのサーバに振り分ける振分部、
を備え
前記振分部は、前記処理要求が破棄してはならない要求であり、前記処理要求を処理したサーバがある場合には、前記処理要求を処理したサーバに前記処理要求を振り分け、前記処理要求が破棄してはならない要求であり、前記処理要求を処理したサーバがない場合には、前記処理要求を旧サーバに振り分けるクラスタシステム。
An update management device that updates the software of the server of the N-Active configuration that shares data required for maintaining a session between the servers, and an update distribution device that distributes the processing request to the server to any of the servers A cluster system,
The update management device,
When an instruction to update the software is given, a server management unit that updates the software used by the server according to the end of the service provided by the server that is the target of the software update,
Equipped with
The update distribution device,
Based on the processing request, the processing request to the server during the software update is determined by which of the new server for which the software has been updated or the old server for which the software has not been updated. Distribution unit that distributes to that server,
Equipped with
The distribution unit is a request that the processing request must not be discarded, and when there is a server that processed the processing request, the processing request is distributed to the server that processed the processing request, and the processing request is discarded and a request not, if there is no server that processes the processing request, distributing Ru cluster system the processing request to the old server.
サーバ間でセッション維持に必要なデータを共有しているN−Active構成のサーバのソフトウェアのアップデートを行うアップデート管理装置と、前記サーバに対する処理要求をいずれかのサーバへ振り分けるアップデート振分装置とを備えるクラスタシステムが行うアップデート方法であって、
前記アップデート管理装置が、前記ソフトウェアのアップデートの指示がなされた場合に、前記ソフトウェアのアップデートの対象となるサーバが提供しているサービスの終了に応じて、前記サーバが用いているソフトウェアをアップデートするサーバ管理ステップ、
前記アップデート振分装置が、前記ソフトウェアのアップデート中のサーバに対する処理要求を、前記処理要求に基づいて、ソフトウェアのアップデートがなされた新サーバ、又は、ソフトウェアのアップデートがなされていない旧サーバのいずれで処理すべきかを判定し、いずれかのサーバに振り分ける振分ステップを有し、
前記振分ステップにおいて、前記処理要求が破棄してはならない要求であり、前記処理要求を処理したサーバがある場合には、前記処理要求を処理したサーバに前記処理要求を振り分け、前記処理要求が破棄してはならない要求であり、前記処理要求を処理したサーバがない場合には、前記処理要求を旧サーバに振り分けるアップデート管理方法。
An update management device that updates the software of the server of the N-Active configuration that shares data required for maintaining a session between the servers, and an update distribution device that distributes the processing request to the server to any of the servers The update method performed by the cluster system,
A server that updates the software used by the server when the update management device issues an instruction to update the software, according to the end of the service provided by the server that is the target of the software update. Management steps,
Based on the processing request, the update distribution device processes a processing request for the server that is updating the software, by a new server where the software is updated or an old server where the software is not updated. It has a sorting step that determines whether it should be done and assigns it to one of the servers,
In the distribution step, if the processing request is a request that must not be discarded and there is a server that processed the processing request, the processing request is distributed to the server that processed the processing request, and the processing request is discarded and a request not, if there is no server that processes the processing request, distributing Ru update management method the processing request to the old server.
請求項に記載の装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the device according to claim 1 .
JP2017054564A 2017-03-21 2017-03-21 Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program Active JP6696927B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017054564A JP6696927B2 (en) 2017-03-21 2017-03-21 Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017054564A JP6696927B2 (en) 2017-03-21 2017-03-21 Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program

Publications (2)

Publication Number Publication Date
JP2018156555A JP2018156555A (en) 2018-10-04
JP6696927B2 true JP6696927B2 (en) 2020-05-20

Family

ID=63717276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017054564A Active JP6696927B2 (en) 2017-03-21 2017-03-21 Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program

Country Status (1)

Country Link
JP (1) JP6696927B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149461A (en) 2020-03-18 2021-09-27 富士フイルムビジネスイノベーション株式会社 Information processor, information processing system, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164236A (en) * 2002-11-12 2004-06-10 Canon Inc Data updating method
JP5033455B2 (en) * 2007-03-29 2012-09-26 株式会社日本総合研究所 Information processing system and program for upgrading information processing system
JP4984169B2 (en) * 2008-03-28 2012-07-25 富士通株式会社 Load distribution program, load distribution method, load distribution apparatus, and system including the same
JP5659894B2 (en) * 2011-03-17 2015-01-28 日本電気株式会社 Software update device, software update method, and software update program
JP6148129B2 (en) * 2013-09-10 2017-06-14 Necプラットフォームズ株式会社 Information processing apparatus, firmware update method, and firmware update program

Also Published As

Publication number Publication date
JP2018156555A (en) 2018-10-04

Similar Documents

Publication Publication Date Title
US20210311781A1 (en) Method and system for scalable job processing
US10129152B2 (en) Setting method, server device and service chain system
US9749401B2 (en) Intelligent load balancer selection in a multi-load balancer environment
WO2019237594A1 (en) Session persistence method and apparatus, and computer device and storage medium
JP2016526732A (en) Endpoint data center with different tenancy set
US11314545B2 (en) Predicting transaction outcome based on artifacts in a transaction processing environment
JPWO2018220708A1 (en) Resource allocation system, management device, method and program
US11706298B2 (en) Multichannel virtual internet protocol address affinity
JPWO2012133300A1 (en) Virtual desktop system, network processing apparatus, management method, and management program
US11743319B2 (en) Implementing a queuing system in a distributed network
US11444998B2 (en) Bit rate reduction processing method for data file, and server
EP3948589A1 (en) Managing a sso session by an identity provider
US11102139B1 (en) Shared queue management utilizing shuffle sharding
JP6540063B2 (en) Communication information control apparatus, relay system, communication information control method, and communication information control program
JP5154313B2 (en) SIP message distribution method and SIP message distribution apparatus
JP6696927B2 (en) Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program
CN104852964A (en) Multifunctional server scheduling method
US11750559B2 (en) Edge switching system, edge switching device, edge switching method, and program
WO2018032499A1 (en) Load balancing method and associated device
EP3266151A1 (en) Methods and systems for requesting access to limited service instances
US9742927B2 (en) Online charging method for always on IP connectivity
JP2017033234A (en) Request reception system, request reception method and program
JP6522490B2 (en) Network system, control device, and program
JP6129698B2 (en) Software distribution system and software distribution method
WO2018000617A1 (en) Method for updating database, and scheduling server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170321

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190207

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200423

R150 Certificate of patent or registration of utility model

Ref document number: 6696927

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250