[go: up one dir, main page]

JP2018049471A - Pseudo server control device, pseudo server control method, and pseudo server control program - Google Patents

Pseudo server control device, pseudo server control method, and pseudo server control program Download PDF

Info

Publication number
JP2018049471A
JP2018049471A JP2016184611A JP2016184611A JP2018049471A JP 2018049471 A JP2018049471 A JP 2018049471A JP 2016184611 A JP2016184611 A JP 2016184611A JP 2016184611 A JP2016184611 A JP 2016184611A JP 2018049471 A JP2018049471 A JP 2018049471A
Authority
JP
Japan
Prior art keywords
request
pseudo
server
pseudo server
production
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016184611A
Other languages
Japanese (ja)
Other versions
JP6903888B2 (en
Inventor
順平 宮内
Junpei Miyauchi
順平 宮内
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2016184611A priority Critical patent/JP6903888B2/en
Publication of JP2018049471A publication Critical patent/JP2018049471A/en
Application granted granted Critical
Publication of JP6903888B2 publication Critical patent/JP6903888B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】サービス可用性を維持するための状況把握や状況改善に向けた計画立案を確実且つ容易に実施することを可能とする。【解決手段】疑似サーバ制御装置は、処理のリクエストを発生する機器から受け付けたリクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送モジュールと、疑似系ネットワークに転送されたリクエストを一時的に蓄積し、疑似サーバの負荷状態に応じて、リクエストの疑似サーバへの送信タイミングを制御するリクエスト蓄積モジュールと、を備える。【選択図】 図1PROBLEM TO BE SOLVED: To surely and easily carry out planning for grasping a situation and improving a situation for maintaining service availability. A pseudo server control device includes a request transfer module that transfers a request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server. It is provided with a request storage module that temporarily stores the requests transferred to the pseudo system network and controls the transmission timing of the requests to the pseudo server according to the load status of the pseudo server. [Selection diagram] Fig. 1

Description

本発明は、主に、ウェブサービスを提供するウェブサービスシステムに用いられる疑似サーバ制御装置、疑似サーバ制御方法、および疑似サーバ制御プログラムに関する。   The present invention mainly relates to a pseudo server control device, a pseudo server control method, and a pseudo server control program used in a web service system that provides web services.

ウェブサービスを提供する場合、サービス提供者にとって、特にサービス可用性(Availabilityとも呼ばれる/システムなどが使用できる状態を維持し続ける能力)の維持は重要なミッションである。可用性を維持するために、例えば、リクエストの集中アクセス等によってサーバが高負荷状態になってもダウンせずに正常に動作するシステム設計が求められる。通常、これらのシステム設計は、製品出荷前(例えば、設計段階)に十分検討されるので、多くの場合、問題は発生しない。   When providing a web service, maintenance of service availability (also called availability / ability to keep a system or the like usable) is an important mission for a service provider. In order to maintain the availability, for example, a system design that operates normally without being down even if the server is in a high load state due to centralized access of requests or the like is required. Usually, these system designs are thoroughly considered before the product is shipped (for example, at the design stage), and in many cases, problems do not occur.

しかしながら、客先にて実際の運用が開始されてから、想定外の数のリクエストがサーバに集中することが判明する場合がある。サーバの負荷が所定のレベルを超えた場合、最悪、サーバがダウンする虞がある。   However, it may be found that an unexpected number of requests are concentrated on the server after the actual operation is started at the customer. When the load on the server exceeds a predetermined level, there is a possibility that the server may go down in the worst case.

そこで、サービス提供者は、上記の如き状況にならないようにサービス可用性の観点から、実際の運用が開始された後でも予め状況把握や可用性管理に向けた計画を立ててそれを実施する必要がある。   Therefore, from the viewpoint of service availability, the service provider needs to make a plan for grasping the situation and managing availability in advance even after the actual operation is started so that the above situation does not occur. .

例えば、実際にユーザにウェブサービスを提供するための環境である本番環境にて、本来の運用サービスを実行しながら並行して実際に運用される本番サーバ自身がその状況の把握および問題解消に向けた計画の立案等を実行する方法が考えられる。   For example, in a production environment, which is an environment for actually providing web services to users, the production server itself that is actually operated in parallel while executing the original operation service aims to grasp the situation and solve the problem. A method for executing the planning of a new plan can be considered.

また、例えば、ウェブサービスが実際にユーザに提供する本番環境とは別に、本番環境と同等のリクエスト状況が再現可能な疑似環境を作り出し、この疑似環境上で本番環境の性能チューニング(可用性を維持可能なシステム規模への変更)を行う手法が考えられる。   In addition, for example, apart from the production environment that the web service actually provides to the user, a pseudo environment that can reproduce the request status equivalent to the production environment is created, and the performance tuning of the production environment can be maintained on this pseudo environment (the availability can be maintained) To change the system scale).

なお、特許文献1には、リクエストを一旦キューに格納し、システムで決定した待機時間だけ待機した後本番サーバに送信する技術が記載されている。   Patent Document 1 describes a technique in which a request is temporarily stored in a queue and transmitted to a production server after waiting for a waiting time determined by the system.

特許文献2には、パケット交換型ネットワークにおいて、ネットワーク負荷分散を行うことにより、通常だと破棄せざるを得なかったパケットを別経路で転送するなどして救済する技術についての記載がある。   Japanese Patent Application Laid-Open No. 2004-228688 describes a technique for relieving a packet exchanged network by distributing the network load and transferring the packet, which normally had to be discarded, by another route.

特許文献3には、ウェブサーバからの処理要求(リクエスト)を、本番系サーバへ送信するとともに処理待ちキューに登録する処理要求転送装置についての記載がある。この処理要求転送装置により、リクエストを試験系サーバに転送することができ、且つそのリクエストの転送間隔も制御することが可能となる。   Patent Document 3 describes a processing request transfer apparatus that transmits a processing request (request) from a web server to a production server and registers the processing request in a processing queue. With this processing request transfer device, it is possible to transfer a request to a test server and to control the transfer interval of the request.

特開2004−348491号公報JP 2004-348491 A 特開2003−078555号公報Japanese Patent Laid-Open No. 2003-077855 特開2015−102951号公報Japanese Patent Laying-Open No. 2015-10951

しかしながら、近年、ウェブサービスシステム(特に、クライアントやウェブ利用回数の増加に伴う本番環境のサーバの数)の大規模化が顕著になっている。従って、本番環境上にて本来サービスと並行して状況把握や計画立案を実施する手法の場合、それら可用性対応処理の負荷自体が本番サーバ全体の負荷を高めることになり、結果として、本来サービスの処理能力が低下する虞もある。   However, in recent years, the scale of web service systems (especially the number of clients and servers in the production environment accompanying an increase in the number of web usages) has become significant. Therefore, in the case of a method that grasps the situation and plans in parallel with the original service in the production environment, the load of the availability handling process itself increases the load of the entire production server. There is also a risk that the processing capacity is reduced.

一方、疑似環境上で本番環境の性能チューニングを行う構成の場合、本番環境を再現するとの宿命上、本番環境の大規模化につれて、どうしても、疑似環境のコストの増大化および装置構成の複雑化が懸念される。   On the other hand, in the case of a configuration that performs performance tuning of the production environment on the simulated environment, the production environment is fatefully reproduced, and as the scale of the production environment increases, the cost of the simulated environment and the complexity of the device configuration inevitably increase. Concerned.

特許文献1や特許文献2の技術は、いずれも本番サーバにおけるデータ(特にリクエスト)の取りこぼしを防ぐための技術であり、サービス可用性を維持するための状況把握や状況改善に向けた計画立案のための技術ではない。   The techniques of Patent Document 1 and Patent Document 2 are techniques for preventing data (especially requests) from being missed on the production server, and for the purpose of grasping the situation to maintain service availability and making plans for improving the situation. Is not a technology.

また、特許文献3の処理要求転送装置は、ウェブサーバと実際に処理を行うアプリケーションサーバとの間に配置されている。従って、ウェブサーバだけで処理が完結する静的コンテンツのリクエストなどは対象とならない。すなわち、特許文献3の技術ではシステム全体を行き交うリクエストの全てを把握できないため、状況把握や状況改善に向けた計画立案を確実に実施することはできない。   Further, the processing request transfer apparatus of Patent Document 3 is arranged between a web server and an application server that actually performs processing. Therefore, a request for static content whose processing is completed only by the web server is not a target. That is, since the technique of Patent Document 3 cannot grasp all requests that go through the entire system, it cannot reliably carry out planning for situation grasp or situation improvement.

本発明は、上記課題を解決するためになされたものであり、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を確実且つ容易に実施することが可能な疑似サーバ制御装置、疑似サーバ制御方法、および疑似サーバ制御プログラムを提供することを目的とする。   The present invention has been made to solve the above-described problem, and is a pseudo server control device capable of reliably and easily implementing a plan for situation grasp and situation improvement for maintaining service availability, An object is to provide a pseudo server control method and a pseudo server control program.

本発明の疑似サーバ制御装置は、処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送モジュールと、前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御するリクエスト蓄積モジュールと、を備える。   The pseudo server control device of the present invention, the request transfer module for transferring the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server, A request storage module that temporarily stores the request transferred to the pseudo network and controls transmission timing of the request to the pseudo server according to a load state of the pseudo server.

本発明の疑似サーバ制御方法は、処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送し、前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御することを特徴とする。   The pseudo server control method of the present invention transfers the request received from a device that generates a processing request to a production system network including at least a production server and a pseudo system network including at least a pseudo server, and the pseudo system network. The request transferred to the server is temporarily stored, and the transmission timing of the request to the pseudo server is controlled according to the load state of the pseudo server.

本発明の疑似サーバ制御プログラムは、処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送処理と、前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御するリクエスト蓄積処理と、をコンピュータに実行させるためのプログラムである。   The pseudo server control program of the present invention is a request transfer process for transferring the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server; Temporarily storing the request transferred to the pseudo network and causing a computer to execute a request accumulation process for controlling a transmission timing of the request to the pseudo server according to a load state of the pseudo server. It is a program for.

本発明によれば、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を確実且つ容易に実施することが可能となる。   According to the present invention, it is possible to surely and easily implement a plan for grasping a situation for maintaining service availability and improving the situation.

本発明の第1の実施形態の疑似サーバ制御装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the pseudo | simulation server control apparatus of the 1st Embodiment of this invention. 図1に示す疑似サーバ制御装置の動作例を説明するためのフローチャートである。It is a flowchart for demonstrating the operation example of the pseudo | simulation server control apparatus shown in FIG. 本発明の第2の実施形態の疑似サーバ制御装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the pseudo | simulation server control apparatus of the 2nd Embodiment of this invention. 本発明の第3の実施形態の疑似サーバ制御装置を含むウェブサービスシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the web service system containing the pseudo | simulation server control apparatus of the 3rd Embodiment of this invention. 図4に示すリクエスト転送モジュールとその周辺のモジュールを含むシステムの構成例を示すブロック図である。FIG. 5 is a block diagram illustrating a configuration example of a system including the request transfer module illustrated in FIG. 4 and peripheral modules. 図4に示すリクエスト蓄積モジュールを含む疑似系ネットワークのシステムの構成例を示すブロック図である。FIG. 5 is a block diagram illustrating a configuration example of a system of a pseudo network including the request accumulation module illustrated in FIG. 4. リクエストデータベースに構築されるリクエスト管理テーブルの構成例を示すデータ構成図である。It is a data block diagram which shows the structural example of the request management table constructed | assembled in a request database. リクエスト転送モジュールの動作例を説明するためのフローチャートである。It is a flowchart for demonstrating the operation example of a request transfer module. リクエスト蓄積モジュールの第1の動作例(リクエストをリクエストデータベースに格納するまでの動作)を説明するためのフローチャートである。It is a flowchart for demonstrating the 1st operation example (operation | movement until it stores a request in a request database) of a request storage module. リクエスト蓄積モジュールの第2の動作例(リクエストをリクエストデータベースから読み出して疑似サーバに転送するまでの動作)を説明するためのフローチャートである。It is a flowchart for demonstrating the 2nd operation example (operation | movement until it reads a request from a request database and it transfers to a pseudo | simulation server) of a request storage module.

[第1の実施形態]
(構成の説明)
図1は、本発明の第1の実施形態の疑似サーバ制御装置10の構成例を示すブロック図である。疑似サーバ制御装置10は、リクエスト転送モジュール12と、リクエスト蓄積モジュール14と、を備える。リクエスト転送モジュール12は、処理のリクエストを発生する機器(例えば、エンドユーザ機器)から受け付けたリクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送する。ここで、本番サーバとは、例えば、ウェブサービスが実際にユーザに提供する本番環境に用いられる実運用サーバのことである。リクエスト蓄積モジュール14は、疑似系ネットワークに転送されたリクエストを一時的に蓄積し、疑似サーバの負荷状態に応じて、リクエストの疑似サーバへの送信タイミングを制御する。
(動作の説明)
図2は、図1に示す疑似サーバ制御装置10の動作例を説明するためのフローチャートである。リクエスト転送モジュール12は、エンドユーザ機器から受け付けたリクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送する(ステップS1)。リクエスト蓄積モジュール14は、疑似系ネットワークに転送されたリクエストを一時的に蓄積し、疑似サーバの負荷状態に応じて、例えば、サーバが高負荷状態とならないように、リクエストの疑似サーバへの送信タイミングを制御する(ステップS2)。
(効果の説明)
以上説明した第1の実施形態において、エンドユーザ機器からのリクエストは、リクエスト転送モジュール12によって疑似系ネットワークに転送(ミラーリング)された後、リクエスト蓄積モジュール14に一時的に蓄積される。そして、蓄積されたリクエストは、リクエスト蓄積モジュール14によって、疑似サーバの負荷状態に応じて疑似サーバへ送信される。
[First Embodiment]
(Description of configuration)
FIG. 1 is a block diagram illustrating a configuration example of the pseudo server control apparatus 10 according to the first embodiment of this invention. The pseudo server control device 10 includes a request transfer module 12 and a request storage module 14. The request transfer module 12 transfers a request received from a device (for example, an end user device) that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server. Here, the production server is, for example, an actual operation server used in a production environment that a web service actually provides to a user. The request accumulation module 14 temporarily accumulates the request transferred to the pseudo network, and controls the transmission timing of the request to the pseudo server according to the load state of the pseudo server.
(Description of operation)
FIG. 2 is a flowchart for explaining an operation example of the pseudo server control apparatus 10 shown in FIG. The request transfer module 12 transfers the request received from the end user device to the production network including at least the production server and the pseudo network including at least the pseudo server (step S1). The request accumulation module 14 temporarily accumulates the requests transferred to the pseudo network, and according to the load state of the pseudo server, for example, the transmission timing of the request to the pseudo server so that the server does not enter a high load state. Is controlled (step S2).
(Explanation of effect)
In the first embodiment described above, a request from an end user device is transferred (mirrored) to the pseudo network by the request transfer module 12 and then temporarily stored in the request storage module 14. The accumulated requests are transmitted to the pseudo server by the request accumulation module 14 according to the load state of the pseudo server.

第1の実施形態により、疑似系ネットワーク(特に、疑似サーバ)上で本番系ネットワーク(特に、本番サーバ)と同等のリクエスト状況を再現することが可能となる。従って、本番系ネットワークへの処理負荷に影響を与えることなく、しかも確実に、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を実施することが可能となる。   According to the first embodiment, it is possible to reproduce a request situation equivalent to that of a production system network (particularly a production server) on a pseudo system network (particularly, a pseudo server). Therefore, it is possible to execute a plan for grasping the situation and improving the situation in order to maintain the service availability without affecting the processing load on the production network.

さらに、第1の実施形態の場合、リクエストはリクエスト蓄積モジュール14に一時的に蓄積され、且つその送信タイミングは疑似サーバが高負荷状態とならないように調整することができる。すなわち、第1の実施形態によれば、疑似系ネットワークを、ロードバランサや多数の本番サーバから成る本番系ネットワークに比して簡素且つ低コストに構築することが可能となる。   Furthermore, in the case of the first embodiment, the request is temporarily stored in the request storage module 14, and the transmission timing can be adjusted so that the pseudo server does not enter a high load state. That is, according to the first embodiment, it is possible to construct a pseudo system network more simply and at a lower cost than a production system network including a load balancer and a large number of production servers.

以上を纏めると、第1の実施形態によれば、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を確実且つ容易に実施することが可能となる。
[第2の実施形態]
図3は、本発明の第2の実施形態の疑似サーバ制御装置30の構成例を示すブロック図である。疑似サーバ制御装置30は、記憶部32と、制御部34と、を備える。記憶部32は、コンピュータ読み取り可能な記録媒体であり、疑似サーバ制御プログラム40を記憶する。疑似サーバ制御プログラム40は、図2に示される処理を制御部34に実行させるためのプログラムである。
Summarizing the above, according to the first embodiment, it is possible to reliably and easily carry out planning for grasping the situation and maintaining the situation for maintaining service availability.
[Second Embodiment]
FIG. 3 is a block diagram illustrating a configuration example of the pseudo server control device 30 according to the second embodiment of this invention. The pseudo server control device 30 includes a storage unit 32 and a control unit 34. The storage unit 32 is a computer-readable recording medium and stores the pseudo server control program 40. The pseudo server control program 40 is a program for causing the control unit 34 to execute the processing shown in FIG.

以上説明した第2の実施形態によれば、第1の実施形態と同様に、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を確実且つ容易に実施することが可能となる。   According to the second embodiment described above, as in the first embodiment, it is possible to reliably and easily carry out a plan for grasping a situation for maintaining service availability and improving the situation. .

なお、制御部34の例としては、例えば、CPU(Central Processing Unit)とCPUが実行する命令を記憶するメモリを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、例えば、非一時的な記憶装置である。非一時的な記憶装置の例としては、例えば、光磁気ディスク、ROM(Read Only Memory)、不揮発性半導体メモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスクを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、一時的な記憶装置を含んでももよい。一時的な記憶装置の例としては、例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線、あるいは、コンピュータシステム内部の揮発性メモリを挙げることができる。
[第3の実施形態]
(構成の説明)
図4は、本発明の第3の実施形態に係る疑似サーバ制御装置150を含むウェブサービスシステム100の構成例を示すブロック図である。
Examples of the control unit 34 include a CPU (Central Processing Unit) and a memory that stores instructions executed by the CPU. The computer-readable recording medium is, for example, a non-transitory storage device. Examples of non-temporary storage devices include a magneto-optical disk, a ROM (Read Only Memory), a portable medium such as a nonvolatile semiconductor memory, and a hard disk built in a computer system. The computer-readable recording medium may include a temporary storage device. As an example of a temporary storage device, for example, a communication line in the case of transmitting a program via a network such as the Internet or a communication line such as a telephone line, or a volatile memory inside a computer system can be cited.
[Third Embodiment]
(Description of configuration)
FIG. 4 is a block diagram illustrating a configuration example of the web service system 100 including the pseudo server control device 150 according to the third embodiment of the present invention.

ウェブサービスシステム100は、1つ以上のエンドユーザ機器102−1〜102−n(nは自然数)と、ロードバランサパッケージ104と、1つ以上の本番サーバ106−1〜106−nと、リクエスト蓄積モジュール108と、疑似サーバ110と、を含む。   The web service system 100 includes one or more end user devices 102-1 to 102-n (n is a natural number), a load balancer package 104, one or more production servers 106-1 to 106-n, and request accumulation. The module 108 and the pseudo server 110 are included.

エンドユーザ機器102−1〜102−nは、所望のウェブサービスを受けるために、本番サーバ106−1〜106−nに対して、リクエスト(処理要求)を送信する。   The end user devices 102-1 to 102-n transmit requests (processing requests) to the production servers 106-1 to 106-n in order to receive a desired web service.

本番サーバ106−1〜106−nは、エンドユーザ機器102−1〜102−nから受信したリクエストに対応したサービスを提供する。   The production servers 106-1 to 106-n provide services corresponding to the requests received from the end user devices 102-1 to 102-n.

エンドユーザ機器102−1〜102−nから送信されたリクエストは、一旦、ロードバランサパッケージ104に入力する。ロードバランサパッケージ104は、ロードバランサモジュール120と、リクエスト転送モジュール122とを含む。   The requests transmitted from the end user devices 102-1 to 102-n are once input to the load balancer package 104. The load balancer package 104 includes a load balancer module 120 and a request transfer module 122.

リクエスト転送モジュール122は、エンドユーザ機器102−1〜102−nから受け付けたリクエストを、本番サーバ106−1〜106−nを少なくとも含む本番系ネットワークと、疑似サーバ110を少なくとも含む疑似系ネットワークとに転送する。具体的には、リクエスト転送モジュール122は、リクエストを、本番系ネットワークを構成する要素の1つであるロードバランサモジュール120に転送するとともに、疑似系ネットワークを構成するリクエスト蓄積モジュール108へ転送(この転送をミラーリングと呼ぶ場合がある)する。   The request transfer module 122 transfers the requests received from the end user devices 102-1 to 102-n to the production network including at least the production servers 106-1 to 106-n and the pseudo network including at least the pseudo server 110. Forward. Specifically, the request transfer module 122 transfers the request to the load balancer module 120, which is one of the elements constituting the production network, and forwards the request to the request storage module 108 that constitutes the pseudo network (this transfer). May be called mirroring).

ロードバランサモジュール120は、受信したリクエストを、本番サーバ106−1〜106−nの負荷が分散されるように考慮しながら送信する。   The load balancer module 120 transmits the received request while considering the load of the production servers 106-1 to 106-n to be distributed.

本実施形態の疑似サーバ制御装置150(図4において、一点鎖線で示す)は、リクエスト転送モジュール122と、リクエスト蓄積モジュール108と、を備える。疑似サーバ制御装置150は、第1の実施形態の疑似サーバ制御装置10の一例であり、また、第2の実施形態の疑似サーバ制御装置30のようなプロセッサを含むコンピュータによって構成されてもよい。   The pseudo server control device 150 (shown by a one-dot chain line in FIG. 4) of the present embodiment includes a request transfer module 122 and a request storage module 108. The pseudo server control device 150 is an example of the pseudo server control device 10 of the first embodiment, and may be configured by a computer including a processor like the pseudo server control device 30 of the second embodiment.

図5は、図4に示すリクエスト転送モジュール122とその周辺のモジュールを含むシステムの構成例を示すブロック図である。リクエスト転送モジュール122は、リクエスト受付部200(リクエスト受付手段の一例)と、リクエスト転送部202(リクエスト転送手段の一例)と、を備える。   FIG. 5 is a block diagram illustrating a configuration example of a system including the request transfer module 122 illustrated in FIG. 4 and peripheral modules. The request transfer module 122 includes a request reception unit 200 (an example of a request reception unit) and a request transfer unit 202 (an example of a request transfer unit).

リクエスト受付部200は、エンドユーザ機器102−1〜102−nからのリクエストを受け付け、受け付けたリクエストを、ロードバランサモジュール120(本番系ネットワークを構成する要素の一つ)へ転送する。さらに、リクエスト受付部200は、受け付けたリクエストをリクエスト転送部202(疑似系ネットワークを構成する要素の一つ)へミラーリングする。   The request reception unit 200 receives requests from the end user devices 102-1 to 102-n, and transfers the received requests to the load balancer module 120 (one of the elements constituting the production network). Further, the request reception unit 200 mirrors the received request to the request transfer unit 202 (one of the elements constituting the pseudo system network).

リクエスト転送部202は、リクエスト受付部200によってミラーリングされたリクエストをリクエスト蓄積モジュール108へ転送する。   The request transfer unit 202 transfers the request mirrored by the request reception unit 200 to the request storage module 108.

なお、リクエスト転送モジュール122は、ロードバランサモジュール120を少なくとも含むロードバランサパッケージ104内に配置されてもよい。   Note that the request transfer module 122 may be disposed in the load balancer package 104 including at least the load balancer module 120.

図6は、図4に示すリクエスト蓄積モジュール108を含む疑似系ネットワークのシステムの構成例を示すブロック図である。リクエスト蓄積モジュール108は、リクエストデータベース300と、リクエスト蓄積制御部302(リクエスト蓄積制御手段)と、リクエスト送信制御部304(リクエスト送信制御手段)と、を備える。   FIG. 6 is a block diagram showing a configuration example of a pseudo network system including the request accumulation module 108 shown in FIG. The request accumulation module 108 includes a request database 300, a request accumulation control unit 302 (request accumulation control unit), and a request transmission control unit 304 (request transmission control unit).

リクエストデータベース300は、リクエスト転送モジュール122から転送されたリクエストを一時的に保持する。そして、少なくとも、リクエスト転送モジュール122からリクエストを受信してそのリクエストが疑似サーバ110に転送されるまでの間、リクエストデータベース300には、リクエストの送信を管理するためのリクエスト管理テーブル330が作成される。   The request database 300 temporarily holds the request transferred from the request transfer module 122. At least until the request is received from the request transfer module 122 and the request is transferred to the pseudo server 110, a request management table 330 for managing the transmission of the request is created in the request database 300. .

図7は、リクエストデータベース300に構築されるリクエスト管理テーブル330の構成例を示すデータ構成図である。リクエスト管理テーブル330は、リクエスト自体とこのリクエストの送信を管理するための少なくとも1つのフィールド情報とからなる、少なくとも1つのレコード情報を含む。   FIG. 7 is a data configuration diagram showing a configuration example of the request management table 330 constructed in the request database 300. The request management table 330 includes at least one record information including the request itself and at least one field information for managing transmission of the request.

フィールド情報とは、図7において、列方向のデータ(例えば、Index、Method、Request等)のことである。レコード情報とは、図7において、行方向のデータ(例えば、Index=1についての各フィールド情報およびリクエスト(request)の集まり)である。   The field information is data in the column direction (for example, Index, Method, Request, etc.) in FIG. In FIG. 7, the record information is data in the row direction (for example, a collection of field information and a request for Index = 1).

なお、図7において、Indexは、レコード情報を識別するために割り振られる数字であり、通常、そのレコード情報に含まれるリクエストの受信順に割り振られる(つまり、先に受信されたリクエストを含むレコード情報のIndexほど小さい値になる)。   In FIG. 7, Index is a number assigned to identify record information, and is normally assigned in the order of reception of the requests included in the record information (that is, the record information including the request received earlier). The smaller the index, the smaller the value).

Methodは、ウェブサイト(=ウェブサーバ、本実施形態の本番サーバ106−1〜106−nに相当)にデータを受け渡すときに用いる方法のことである。Methodには、例えば、GETメソッドとPOSTメソッドがある。一般的に、リクエストは、URL(Uniform Resource Locator)を含むヘッダ部とボディ部とで構成される。GETメソッドは、URLの後にフォーム入力などのユーザデータを付加するメソッドである。これに対して、POSTメソッドは、ボディ部にユーザデータを収容するメソッドである。   Method is a method used when transferring data to a website (= web server, corresponding to the production servers 106-1 to 106-n in the present embodiment). Methods include, for example, a GET method and a POST method. Generally, a request is composed of a header part including a URL (Uniform Resource Locator) and a body part. The GET method is a method for adding user data such as form input after a URL. On the other hand, the POST method is a method for storing user data in the body part.

Requestは、本実施形態等で使用しているリクエストそのものである。Hostは、ウェブサーバ(例えば、本番サーバ106−1〜106−n)の名前である。Cookieは、ウェブブラウザ(例えば、エンドユーザ機器102−1〜102−n)でウェブサイト(例えば、本番サーバ106−1〜106−n)にアクセスした際に、そのサイトから送信されるファイル(情報)である。Cookieには、例えば、ウェブサイト(ウェブサーバ)側が指定したデータを保存しておくことができる。Content-Lengthは、データの長さ、例えば、レコード情報のデータの長さ、あるいはリクエストのデータの長さを示す。   Request is the request itself used in the present embodiment. Host is the name of a web server (for example, production servers 106-1 to 106-n). A cookie is a file (information) transmitted from a web browser (for example, the end user devices 102-1 to 102-n) when the website (for example, the production server 106-1 to 106-n) is accessed. ). For example, data specified by the website (web server) can be stored in the cookie. Content-Length indicates the length of data, for example, the length of data of record information, or the length of data of request.

リクエスト蓄積制御部302は、リクエストのリクエストデータベース300への蓄積、より詳細にはリクエスト管理テーブル330への書き込みを制御する。リクエスト蓄積制御部302は、リクエストをリクエスト管理テーブル330に書き込む際、リクエストの宛先情報を疑似サーバ110の宛先情報に書き換える。   The request accumulation control unit 302 controls accumulation of requests in the request database 300, more specifically, writing to the request management table 330. The request accumulation control unit 302 rewrites the request destination information to the destination information of the pseudo server 110 when writing the request to the request management table 330.

リクエスト送信制御部304は、疑似サーバ110の負荷状態に応じてリクエストの疑似サーバ110への送信タイミングを制御する。本実施形態では、負荷状態に応じた制御の一例として、疑似サーバ110が高負荷状態とならないように制御する場合を例に挙げる。例えば、リクエスト送信制御部304は、所定のリクエストを送信する際、その所定のリクエストの前に送信された別のリクエストのTAT(Turn Around Time)の値が所定の閾値を下回っている場合、疑似サーバ110が高負荷状態ではないと判断し、所定のリクエストを疑似サーバ110へ送信する。   The request transmission control unit 304 controls the transmission timing of the request to the pseudo server 110 according to the load state of the pseudo server 110. In the present embodiment, as an example of control according to the load state, a case where the pseudo server 110 is controlled so as not to be in a high load state is taken as an example. For example, when the request transmission control unit 304 transmits a predetermined request, if the TAT (Turn Around Time) value of another request transmitted before the predetermined request is below a predetermined threshold, It is determined that the server 110 is not in a high load state, and a predetermined request is transmitted to the pseudo server 110.

すなわち、リクエスト送信制御部304は、ただ単に、リクエスト管理テーブル330のリクエストを送信するのではなく、疑似サーバ110が高負荷にならないように疑似サーバ110への単位時間当たりのリクエスト送信数を制御し、必要があればリクエストの送信を遅延させる。   That is, the request transmission control unit 304 does not simply transmit the request of the request management table 330 but controls the number of request transmissions per unit time to the pseudo server 110 so that the pseudo server 110 does not become a high load. If necessary, delay sending the request.

これによりリクエストの取りこぼしが回避される。すなわち、疑似サーバ110は、本番サーバ106−1〜106−nと同数のリクエストを受信することができる。このことは、疑似サーバ110上に本番サーバ106−1〜106−nと同一の環境が再現されたことを意味する。
(動作の説明)
以下、疑似サーバ制御装置150の動作について説明する。なお、図4における疑似サーバ制御装置150と直接関係の無い装置の動作(例えば、ロードバランサモジュール120や本番サーバ106−1〜106−n等の動作)についての説明は、省略する。
This avoids missing requests. That is, the pseudo server 110 can receive the same number of requests as the production servers 106-1 to 106-n. This means that the same environment as that of the production servers 106-1 to 106-n is reproduced on the pseudo server 110.
(Description of operation)
Hereinafter, the operation of the pseudo server control apparatus 150 will be described. Note that the description of the operation of the device not directly related to the pseudo server control device 150 in FIG. 4 (for example, the operation of the load balancer module 120 and the production servers 106-1 to 106-n) will be omitted.

図8は、リクエスト転送モジュール122の動作例を説明するためのフローチャートである。リクエスト転送モジュール122のリクエスト受付部200は、エンドユーザ機器102−1〜102−nからのリクエストを受け付け、受け付けたリクエストを、ロードバランサモジュール120へ転送する(ステップS10)。さらに、リクエスト受付部200は、受け付けたリクエストをリクエスト転送部202へミラーリングする(ステップS11)。リクエスト転送モジュール122のリクエスト転送部202は、リクエスト受付部200によってミラーリングされたリクエストをリクエスト蓄積モジュール108へ転送する(ステップS12)。   FIG. 8 is a flowchart for explaining an operation example of the request transfer module 122. The request reception unit 200 of the request transfer module 122 receives requests from the end user devices 102-1 to 102-n, and transfers the received requests to the load balancer module 120 (step S10). Furthermore, the request reception unit 200 mirrors the received request to the request transfer unit 202 (step S11). The request transfer unit 202 of the request transfer module 122 transfers the request mirrored by the request reception unit 200 to the request accumulation module 108 (step S12).

図9は、リクエスト蓄積モジュール108の第1の動作例(リクエストをリクエストデータベース300に格納するまでの動作)を説明するためのフローチャートである。リクエスト蓄積モジュール108のリクエスト蓄積制御部302は、リクエスト転送モジュール122から転送されたリクエストの宛先情報を疑似サーバ110の宛先情報に書き換える(ステップS20)。宛先情報は、例えば、FQDN(Fully Qualified Domain Name)やホスト(例えば、本番サーバ106−1〜106−n)の名前である。リクエスト蓄積制御部302は、このリクエストをリクエスト管理テーブル330へ登録する(ステップS21)。   FIG. 9 is a flowchart for explaining a first operation example (operation until a request is stored in the request database 300) of the request accumulation module 108. The request accumulation control unit 302 of the request accumulation module 108 rewrites the destination information of the request transferred from the request transfer module 122 with the destination information of the pseudo server 110 (step S20). The destination information is, for example, the name of an FQDN (Fully Qualified Domain Name) or a host (for example, the production servers 106-1 to 106-n). The request accumulation control unit 302 registers this request in the request management table 330 (step S21).

図10は、リクエスト蓄積モジュール108の第2の動作例(リクエストをリクエストデータベース300から読み出して疑似サーバ110に転送するまでの動作)を説明するためのフローチャートである。   FIG. 10 is a flowchart for explaining a second operation example (operation until a request is read from the request database 300 and transferred to the pseudo server 110) of the request accumulation module 108.

リクエスト蓄積モジュール108のリクエスト送信制御部304は、リクエスト管理テーブル330に送信すべきリクエストが存在するか否か判定する(ステップS30)。送信すべきリクエストが存在しない場合(ステップS30においてNo)、リクエスト送信制御部304は、ステップS30の処理を再度実行する。   The request transmission control unit 304 of the request accumulation module 108 determines whether there is a request to be transmitted in the request management table 330 (step S30). When there is no request to be transmitted (No in step S30), the request transmission control unit 304 executes the process of step S30 again.

リクエスト管理テーブル330に送信すべきリクエストが存在する場合、リクエスト送信制御部304は、疑似サーバ110が高負荷状態にあるか否かを判定する(ステップS31)。ここで、高負荷状態とは、例えば、負荷を示すある物理量の値が所定の閾値を上回っている状態のことを指す。例えば、リクエスト送信制御部304は、送信しようとするリクエストの前に送信された別のリクエストのTAT(時間)に基づいて疑似サーバ110の負荷状態を判定することができる。   When there is a request to be transmitted in the request management table 330, the request transmission control unit 304 determines whether or not the pseudo server 110 is in a high load state (step S31). Here, the high load state refers to, for example, a state in which a value of a certain physical quantity indicating a load exceeds a predetermined threshold value. For example, the request transmission control unit 304 can determine the load state of the pseudo server 110 based on the TAT (time) of another request transmitted before the request to be transmitted.

疑似サーバ110が高負荷状態にある場合(ステップS31においてYes)、リクエスト送信制御部304は、当該リクエストの送信を行わず、ステップS31の処理を再度実行する。すなわち、この場合、リクエストは、疑似サーバ110が低負荷状態になるまでウェイトされて送信されることはない。   When the pseudo server 110 is in a high load state (Yes in step S31), the request transmission control unit 304 does not transmit the request and executes the process of step S31 again. That is, in this case, the request is not waited until the pseudo server 110 is in a low load state and transmitted.

疑似サーバ110が低負荷状態にある場合(ステップS31においてNo)、リクエスト送信制御部304は、リクエスト管理テーブル330からIndexが最も小さいレコード情報に含まれるリクエストを抽出する(ステップS32)。リクエスト送信制御部304は、抽出したリクエストを、疑似サーバ110へ送信する(ステップS33)。
(効果の説明)
以上説明した第3の実施形態において、エンドユーザ機器102−1〜102−nからのリクエストは、リクエスト転送モジュール122によってミラーリングされた後、リクエスト蓄積モジュール108に一時的に蓄積される。そして、蓄積されたリクエストは、リクエスト蓄積モジュール108によって、疑似サーバ110が高負荷状態とならないように疑似サーバ110へ送信される。
When the pseudo server 110 is in a low load state (No in Step S31), the request transmission control unit 304 extracts a request included in the record information with the smallest Index from the request management table 330 (Step S32). The request transmission control unit 304 transmits the extracted request to the pseudo server 110 (step S33).
(Explanation of effect)
In the third embodiment described above, requests from the end user devices 102-1 to 102-n are mirrored by the request transfer module 122 and then temporarily stored in the request storage module 108. The accumulated requests are transmitted to the pseudo server 110 by the request accumulation module 108 so that the pseudo server 110 does not enter a high load state.

第3の実施形態により、疑似系ネットワーク(特に、疑似サーバ110)上で本番系ネットワーク(特に、本番サーバ106−1〜106−n)と同等のリクエスト状況を再現することが可能となる。従って、本番系ネットワークへの処理負荷に影響を与えることなく、しかも確実に、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を実施することが可能となる。   According to the third embodiment, it is possible to reproduce a request situation equivalent to that of the production network (particularly, the production servers 106-1 to 106-n) on the pseudo system network (particularly, the pseudo server 110). Therefore, it is possible to execute a plan for grasping the situation and improving the situation in order to maintain the service availability without affecting the processing load on the production network.

さらに、第3の実施形態の場合、リクエストはリクエスト蓄積モジュール108に一時的に蓄積され且つその送信タイミングは疑似サーバ110が高負荷状態とならないように調整されている。すなわち、第3の実施形態によれば、疑似系ネットワークを、ロードバランサモジュール120や多数の本番サーバ106−1〜106−nから成る本番系ネットワークに比して簡素且つ低コストに構築することが可能となる。   Furthermore, in the case of the third embodiment, the request is temporarily stored in the request storage module 108 and the transmission timing is adjusted so that the pseudo server 110 does not enter a high load state. That is, according to the third embodiment, it is possible to construct a pseudo system network at a simpler and lower cost than a production system network including the load balancer module 120 and a large number of production servers 106-1 to 106-n. It becomes possible.

以上を纏めると、第3の実施形態によれば、サービス可用性を維持するための状況把握や状況改善に向けた計画立案を確実且つ容易に実施することが可能となる。
(変形例の説明)
以上説明した第3の実施形態において、リクエスト管理テーブル330(図7参照)を複数(例えば、さらにもう一つ追加する)設けることができる。これにより、疑似サーバ110を複数作成することが可能となる。
Summarizing the above, according to the third embodiment, it is possible to reliably and easily carry out planning for grasping the situation for maintaining service availability and improving the situation.
(Description of modification)
In the third embodiment described above, a plurality of request management tables 330 (see FIG. 7) can be provided (for example, another one is added). Thereby, a plurality of pseudo servers 110 can be created.

そして、この追加されたリクエスト管理テーブル330にリクエストを登録する際、例えば、特定のリクエストのみを格納するとのルールが設けられてもよい。このことにより、通常の疑似サーバ110に加え、ある特定のリクエストのみを集中させた別の疑似サーバ110を追加することができる。このことは、現在の本番環境をスケールアウト(本番サーバ106−1〜106−nの追加)させる場合の調査分析等にとって極めて有用である。   When a request is registered in the added request management table 330, for example, a rule that stores only a specific request may be provided. Thus, in addition to the normal pseudo server 110, another pseudo server 110 in which only a specific request is concentrated can be added. This is extremely useful for survey analysis and the like when the current production environment is scaled out (addition of production servers 106-1 to 106-n).

また、以上説明した第3の実施形態において、疑似サーバ制御装置150と疑似サーバ110との間を専用線で結び、セキュアな通信を約束することが可能である。これにより、漏洩が許されない本番環境の情報を、サービス運用者側のクローズドな社内網に構築することが可能となる。   Further, in the third embodiment described above, the pseudo server control device 150 and the pseudo server 110 can be connected by a dedicated line to ensure secure communication. This makes it possible to build production environment information that is not allowed to be leaked in a closed in-house network on the service operator side.

さらに、以上説明した第3の実施形態において、リクエスト蓄積制御部302は、リクエストのメソッドを解析し、GETリクエストおよびPOSTリクエストそれぞれに対してメソッドに応じた処理を追加することができる。例えば、「GETリクエストについては疑似サーバ110からのレスポンスは受け取らない」や「POSTリクエストについては応答を拾い、httpレスポンスに従った処理分岐を設ける」等の処理を追加することができる。これにより、疑似サーバ制御装置150は、疑似サーバ110の状態を任意に制御することが可能となる。   Furthermore, in the third embodiment described above, the request accumulation control unit 302 can analyze the request method and add processing corresponding to the method to each of the GET request and the POST request. For example, processing such as “no response is received from the pseudo server 110 for a GET request” or “a response is picked up for a POST request and a processing branch according to an http response is provided” can be added. As a result, the pseudo server control device 150 can arbitrarily control the state of the pseudo server 110.

また、以上説明した第3の実施形態は、例えば、第2の実施形態のように、図8〜10に示す動作がプログラムとして記述されてコンピュータ読み取り可能な記録媒体に記憶され、そのプログラムがCPU等の演算装置により実行される構成とすることもできる。なお、図8〜図10の動作を一つのコンピュータで実行できない場合、複数のコンピュータが分担してこれらの動作を実行してもよい。   Further, in the third embodiment described above, for example, as in the second embodiment, the operations shown in FIGS. 8 to 10 are described as a program and stored in a computer-readable recording medium, and the program is stored in a CPU. It can also be set as the structure performed by arithmetic units, such as. If the operations shown in FIGS. 8 to 10 cannot be executed by a single computer, a plurality of computers may share these operations.

以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。   As mentioned above, although this invention was demonstrated using each embodiment, the technical scope of this invention is not limited to description of said each embodiment. It is obvious to those skilled in the art that various modifications or improvements can be added to the above embodiments. Therefore, it is needless to say that embodiments with such changes or improvements are also included in the technical scope of the present invention. The numerical values and names of the components used in the embodiments described above are illustrative and can be changed as appropriate.

また、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。
(付記1)
処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送モジュールと、
前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御するリクエスト蓄積モジュールと、
を備えることを特徴とする疑似サーバ制御装置。
(付記2)
前記リクエスト蓄積モジュールは、
前記リクエスト転送モジュールから転送された前記リクエストを一時的に保持するリクエストデータベースと、
前記リクエストの前記リクエストデータベースへの蓄積を制御するリクエスト蓄積制御手段と、
前記リクエストの前記送信タイミングを制御するリクエスト送信制御手段と
を備えることを特徴とする付記1記載の疑似サーバ制御装置。
(付記3)
前記リクエスト送信制御手段は、所定の前記リクエストを送信する前に送信された別の前記リクエストのTAT(Turn Around Time)の値が所定の閾値を下回っている場合に、所定の前記リクエストを前記疑似サーバへ送信することを特徴とする付記2記載の疑似サーバ制御装置。
(付記4)
少なくとも、前記リクエスト転送モジュールから前記リクエストを受信してその前記リクエストが前記疑似サーバに転送されるまでの間、前記リクエストデータベースには、前記リクエストの送信を管理するためのテーブルであり、前記リクエスト自体とこの前記リクエストの送信を管理するための少なくとも1つのフィールド情報とからなる、少なくとも1つのリクエストレコード情報を備えるリクエスト管理テーブルが構築されることを特徴とする付記2または3記載の疑似サーバ制御装置。
(付記5)
前記リクエスト蓄積制御手段は、前記リクエストを前記リクエスト管理テーブルに蓄積する際、前記リクエストの宛先情報を前記疑似サーバの宛先情報に書き換えることを特徴とする付記4記載の疑似サーバ制御装置。
(付記6)
前記リクエスト転送モジュールは、
前記エンドユーザ機器からの前記リクエストを受け付け、受け付けた前記リクエストを、前記本番系ネットワークへ転送するとともに、前記疑似系ネットワークへミラーリングするリクエスト受付手段と、
前記リクエスト受付手段によってミラーリングされた前記リクエストを前記リクエスト蓄積モジュールへ転送するリクエスト転送手段と、
を含むことを特徴とする付記1−5のいずれか1項に記載の疑似サーバ制御装置。
(付記7)
前記リクエスト受付手段は、受け付けた前記リクエストを、前記本番サーバへの負荷分散を行うロードバランサモジュールへ転送することを特徴とする付記6記載の疑似サーバ制御装置。
(付記8)
前記リクエスト転送モジュールは、前記ロードバランサモジュールを少なくとも含むロードバランサパッケージ内に配置されることを特徴とする付記7記載の疑似サーバ制御装置。
(付記9)
処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送し、
前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御する
ことを特徴とする疑似サーバ制御方法。
(付記10)
前記疑似系ネットワークに転送された前記リクエストを、リクエストデータベースに一時的に保持し、
前記リクエストの前記リクエストデータベースへの蓄積を制御し、
前記リクエストの前記送信タイミングを制御する
ことを特徴とする付記9記載の疑似サーバ制御方法。
(付記11)
処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送処理と、
前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御するリクエスト蓄積処理と、
をコンピュータに実行させるための疑似サーバ制御プログラム。
(付記12)
前記リクエスト蓄積処理は、
前記疑似系ネットワークに転送された前記リクエストを、リクエストデータベースに一時的に保持する保持処理と、
前記リクエストの前記リクエストデータベースへの蓄積を制御するリクエスト蓄積制御処理と、
前記リクエストの前記送信タイミングを制御するリクエスト送信制御処理と
を含むことを特徴とする付記11記載の疑似サーバ制御プログラム。
Moreover, a part or all of each embodiment mentioned above can be described also as the following additional remarks.
(Appendix 1)
A request transfer module that transfers the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server;
A request storage module that temporarily stores the request transferred to the pseudo network and controls transmission timing of the request to the pseudo server according to a load state of the pseudo server;
A pseudo server control device comprising:
(Appendix 2)
The request accumulation module includes:
A request database that temporarily holds the request transferred from the request transfer module;
Request accumulation control means for controlling accumulation of the request in the request database;
The pseudo server control device according to claim 1, further comprising request transmission control means for controlling the transmission timing of the request.
(Appendix 3)
The request transmission control means, when a TAT (Turn Around Time) value of another request transmitted before transmitting the predetermined request is below a predetermined threshold, The pseudo server control device according to appendix 2, which is transmitted to a server.
(Appendix 4)
The request database is a table for managing the transmission of the request until at least the request is received from the request transfer module and the request is transferred to the pseudo server. And a request management table comprising at least one piece of request record information, and the pseudo server control device according to claim 2 or 3, characterized in that a request management table comprising at least one piece of request record information is constructed. .
(Appendix 5)
5. The pseudo server control device according to appendix 4, wherein the request accumulation control means rewrites the destination information of the request with the destination information of the pseudo server when the request is accumulated in the request management table.
(Appendix 6)
The request transfer module includes:
A request receiving means for receiving the request from the end user device, transferring the received request to the production network, and mirroring the pseudo network;
Request transfer means for transferring the request mirrored by the request reception means to the request storage module;
The pseudo server control device according to any one of appendix 1-5, including:
(Appendix 7)
The pseudo server control device according to appendix 6, wherein the request receiving means transfers the received request to a load balancer module that distributes a load to the production server.
(Appendix 8)
The pseudo server control device according to appendix 7, wherein the request transfer module is arranged in a load balancer package including at least the load balancer module.
(Appendix 9)
Transfer the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server,
The pseudo server control method, wherein the request transferred to the pseudo network is temporarily stored, and the transmission timing of the request to the pseudo server is controlled according to a load state of the pseudo server.
(Appendix 10)
The request transferred to the pseudo network is temporarily stored in a request database,
Control the accumulation of the request in the request database;
The pseudo server control method according to appendix 9, wherein the transmission timing of the request is controlled.
(Appendix 11)
A request transfer process for transferring the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server;
A request accumulation process for temporarily accumulating the request transferred to the pseudo network and controlling a transmission timing of the request to the pseudo server according to a load state of the pseudo server;
A pseudo server control program for causing a computer to execute.
(Appendix 12)
The request accumulation process includes:
A holding process for temporarily holding the request transferred to the pseudo network in a request database;
A request accumulation control process for controlling accumulation of the request in the request database;
The pseudo server control program according to appendix 11, further comprising: a request transmission control process for controlling the transmission timing of the request.

10 疑似サーバ制御装置
12 リクエスト転送モジュール
14 リクエスト蓄積モジュール
30 疑似サーバ制御装置
32 記憶部
34 制御部
40 疑似サーバ制御プログラム
100 ウェブサービスシステム
102−1〜102−n エンドユーザ機器
104 ロードバランサパッケージ
106−1〜106−n 本番サーバ
108 リクエスト蓄積モジュール
110 疑似サーバ
120 ロードバランサモジュール
122 リクエスト転送モジュール
150 疑似サーバ制御装置
200 リクエスト受付部
202 リクエスト転送部
300 リクエストデータベース
302 リクエスト蓄積制御部
304 リクエスト送信制御部
330 リクエスト管理テーブル
DESCRIPTION OF SYMBOLS 10 Pseudo server control apparatus 12 Request transfer module 14 Request accumulation module 30 Pseudo server control apparatus 32 Memory | storage part 34 Control part 40 Pseudo server control program 100 Web service system 102-1 to 102-n End user apparatus 104 Load balancer package 106-1 106-n Production server 108 Request accumulation module 110 Pseudo server 120 Load balancer module 122 Request transfer module 150 Pseudo server control device 200 Request reception unit 202 Request transfer unit 300 Request database 302 Request accumulation control unit 304 Request transmission control unit 330 Request management table

Claims (10)

処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送モジュールと、
前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御するリクエスト蓄積モジュールと、
を備えることを特徴とする疑似サーバ制御装置。
A request transfer module that transfers the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server;
A request storage module that temporarily stores the request transferred to the pseudo network and controls transmission timing of the request to the pseudo server according to a load state of the pseudo server;
A pseudo server control device comprising:
前記リクエスト蓄積モジュールは、
前記リクエスト転送モジュールから転送された前記リクエストを一時的に保持するリクエストデータベースと、
前記リクエストの前記リクエストデータベースへの蓄積を制御するリクエスト蓄積制御手段と、
前記リクエストの前記送信タイミングを制御するリクエスト送信制御手段と
を備えることを特徴とする請求項1記載の疑似サーバ制御装置。
The request accumulation module includes:
A request database that temporarily holds the request transferred from the request transfer module;
Request accumulation control means for controlling accumulation of the request in the request database;
The pseudo server control device according to claim 1, further comprising request transmission control means for controlling the transmission timing of the request.
前記リクエスト送信制御手段は、所定の前記リクエストを送信する前に送信された別の前記リクエストのTAT(Turn Around Time)の値が所定の閾値を下回っている場合に、所定の前記リクエストを前記疑似サーバへ送信することを特徴とする請求項2記載の疑似サーバ制御装置。   The request transmission control means, when a TAT (Turn Around Time) value of another request transmitted before transmitting the predetermined request is below a predetermined threshold, The pseudo server control apparatus according to claim 2, wherein the pseudo server control apparatus transmits to a server. 少なくとも、前記リクエスト転送モジュールから前記リクエストを受信してその前記リクエストが前記疑似サーバに転送されるまでの間、前記リクエストデータベースには、前記リクエストの送信を管理するためのテーブルであり、前記リクエスト自体とこの前記リクエストの送信を管理するための少なくとも1つのフィールド情報とからなる、少なくとも1つのリクエストレコード情報を備えるリクエスト管理テーブルが構築されることを特徴とする請求項2または3記載の疑似サーバ制御装置。   The request database is a table for managing the transmission of the request until at least the request is received from the request transfer module and the request is transferred to the pseudo server. 4. The pseudo server control according to claim 2 or 3, wherein a request management table comprising at least one request record information is constructed, comprising at least one field information for managing transmission of the request. apparatus. 前記リクエスト蓄積制御手段は、前記リクエストを前記リクエスト管理テーブルに蓄積する際、前記リクエストの宛先情報を前記疑似サーバの宛先情報に書き換えることを特徴とする請求項4記載の疑似サーバ制御装置。   5. The pseudo server control apparatus according to claim 4, wherein the request accumulation control means rewrites the request destination information to the pseudo server destination information when the request is accumulated in the request management table. 前記リクエスト転送モジュールは、
前記エンドユーザ機器からの前記リクエストを受け付け、受け付けた前記リクエストを、前記本番系ネットワークへ転送するとともに、前記疑似系ネットワークへミラーリングするリクエスト受付手段と、
前記リクエスト受付手段によってミラーリングされた前記リクエストを前記リクエスト蓄積モジュールへ転送するリクエスト転送手段と、
を含むことを特徴とする請求項1−5のいずれか1項に記載の疑似サーバ制御装置。
The request transfer module includes:
A request receiving means for receiving the request from the end user device, transferring the received request to the production network, and mirroring the pseudo network;
Request transfer means for transferring the request mirrored by the request reception means to the request storage module;
The pseudo server control apparatus according to claim 1, wherein the pseudo server control apparatus includes:
前記リクエスト受付手段は、受け付けた前記リクエストを、前記本番サーバへの負荷分散を行うロードバランサモジュールへ転送することを特徴とする請求項6記載の疑似サーバ制御装置。   The pseudo server control apparatus according to claim 6, wherein the request reception unit transfers the received request to a load balancer module that performs load distribution to the production server. 前記リクエスト転送モジュールは、前記ロードバランサモジュールを少なくとも含むロードバランサパッケージ内に配置されることを特徴とする請求項7記載の疑似サーバ制御装置。   The pseudo server control apparatus according to claim 7, wherein the request transfer module is arranged in a load balancer package including at least the load balancer module. 処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送し、
前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御する
ことを特徴とする疑似サーバ制御方法。
Transfer the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server,
The pseudo server control method, wherein the request transferred to the pseudo network is temporarily stored, and the transmission timing of the request to the pseudo server is controlled according to a load state of the pseudo server.
処理のリクエストを発生する機器から受け付けた前記リクエストを、本番サーバを少なくとも含む本番系ネットワークと、疑似サーバを少なくとも含む疑似系ネットワークとに転送するリクエスト転送処理と、
前記疑似系ネットワークに転送された前記リクエストを一時的に蓄積し、前記疑似サーバの負荷状態に応じて、前記リクエストの前記疑似サーバへの送信タイミングを制御するリクエスト蓄積処理と、
をコンピュータに実行させるための疑似サーバ制御プログラム。
A request transfer process for transferring the request received from a device that generates a processing request to a production network including at least a production server and a pseudo network including at least a pseudo server;
A request accumulation process for temporarily accumulating the request transferred to the pseudo network and controlling a transmission timing of the request to the pseudo server according to a load state of the pseudo server;
A pseudo server control program for causing a computer to execute.
JP2016184611A 2016-09-21 2016-09-21 Pseudo-server controller, pseudo-server control method, and pseudo-server control program Active JP6903888B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016184611A JP6903888B2 (en) 2016-09-21 2016-09-21 Pseudo-server controller, pseudo-server control method, and pseudo-server control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016184611A JP6903888B2 (en) 2016-09-21 2016-09-21 Pseudo-server controller, pseudo-server control method, and pseudo-server control program

Publications (2)

Publication Number Publication Date
JP2018049471A true JP2018049471A (en) 2018-03-29
JP6903888B2 JP6903888B2 (en) 2021-07-14

Family

ID=61767675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016184611A Active JP6903888B2 (en) 2016-09-21 2016-09-21 Pseudo-server controller, pseudo-server control method, and pseudo-server control program

Country Status (1)

Country Link
JP (1) JP6903888B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125942A1 (en) * 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation Load control device and its method
JP2015102951A (en) * 2013-11-22 2015-06-04 株式会社日立製作所 Processing request reading/transferring device and processing request transferring method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125942A1 (en) * 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation Load control device and its method
JP2015102951A (en) * 2013-11-22 2015-06-04 株式会社日立製作所 Processing request reading/transferring device and processing request transferring method

Also Published As

Publication number Publication date
JP6903888B2 (en) 2021-07-14

Similar Documents

Publication Publication Date Title
US9705800B2 (en) Load distribution in data networks
US10148617B2 (en) Enhanced thread handling in security handshakingdomain name system bypass in user applications
US10192179B1 (en) Session transfer in a customer service environment
US9160791B2 (en) Managing connection failover in a load balancer
US20130067024A1 (en) Distributing multi-source push notifications to multiple targets
EP2251800A2 (en) Client server systems and methods for accessing metadata information across a network using proxies
US20170289294A1 (en) Proxy application with dynamic filter updating
JP5724687B2 (en) Information processing apparatus, server selection method, and program
US20180139269A1 (en) Dynamic load balancing among data centers
CN103209223A (en) Distributed application conversation information sharing method and system and application server
WO2013023306A1 (en) Stream processing using a client-server architecture
CN109510878B (en) Long connection session keeping method and device
US20180139273A1 (en) Entity based routing
CN103391312A (en) Resource offline downloading method and device
US8854977B2 (en) Relay node
EP2939105B1 (en) Data purge distribution and coherency
CN110413846A (en) For the data processing method of webpage mirror image, device and computer readable storage medium
US10445136B1 (en) Randomized subrequest selection using request-specific nonce
JP2013182509A (en) Virtualization system, load distribution device, load distribution method and load distribution program
US9736082B2 (en) Intelligent high-volume cloud application programming interface request caching
JP6364727B2 (en) Information processing system, distributed processing method, and program
Zhou et al. TAP: Timeliness‐aware predication‐based replica selection algorithm for key‐value stores
CN111078975B (en) Multi-node incremental data acquisition system and acquisition method
JP2018049471A (en) Pseudo server control device, pseudo server control method, and pseudo server control program
JP6193078B2 (en) Message transfer system and queue management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6903888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150