KR102339747B1 - Simulator, simulation device, and simulation method - Google Patents

Simulator, simulation device, and simulation method Download PDF

Info

Publication number
KR102339747B1
KR102339747B1 KR1020207004959A KR20207004959A KR102339747B1 KR 102339747 B1 KR102339747 B1 KR 102339747B1 KR 1020207004959 A KR1020207004959 A KR 1020207004959A KR 20207004959 A KR20207004959 A KR 20207004959A KR 102339747 B1 KR102339747 B1 KR 102339747B1
Authority
KR
South Korea
Prior art keywords
service
request
policy
simulation
services
Prior art date
Application number
KR1020207004959A
Other languages
Korean (ko)
Other versions
KR20200029574A (en
Inventor
유 나까따
히로아끼 고노우라
요시끼 마쯔우라
다까시 쯔노
Original Assignee
가부시키가이샤 히타치세이사쿠쇼
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 가부시키가이샤 히타치세이사쿠쇼 filed Critical 가부시키가이샤 히타치세이사쿠쇼
Publication of KR20200029574A publication Critical patent/KR20200029574A/en
Application granted granted Critical
Publication of KR102339747B1 publication Critical patent/KR102339747B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

복수의 서비스로 구성된 서비스 시스템의 가용성을 시스템 구축 전에 추정한다. 문제가 발생한 서비스에 의존하는 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나가 변경된다. 이러한 변경을 시뮬레이션에 있어서 실현하기 위해서, 각 서비스 간의 의존 관계를 기술한 시스템 구성, 의존처 서비스에 관한 처리 상황에 따른 처리 변경을 기술한 타 서비스 리퀘스트 송신 폴리시, 및 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시가 입력된다. 시뮬레이터는, 리퀘스트 생성 폴리시에 기초하여 리퀘스트가 도착했다고 한 경우의 서비스 시스템 거동 시뮬레이션을, 시스템 구성 및 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행한다.The availability of a service system composed of multiple services is estimated before system construction. At least one of the processing content of the service and the request transmission destination depending on the service in which the problem occurred is changed. In order to realize such a change in the simulation, the system configuration describing the dependency relationship between the respective services, the request transmission policy for other services describing the processing change according to the processing status related to the dependent service, and the request describing the request transmission rate A creation policy is entered. The simulator executes a service system behavior simulation when a request arrives based on the request generation policy, based on the system configuration and other service request transmission policies.

Figure R1020207004959
Figure R1020207004959

Description

시뮬레이터, 시뮬레이션 장치, 및 시뮬레이션 방법Simulator, simulation device, and simulation method

본 발명은, 일반적으로 설계된 시스템의 시뮬레이션에 관한 것이다.FIELD OF THE INVENTION The present invention relates generally to the simulation of designed systems.

설계된 시스템의 시뮬레이션에 관한 기술로서, 특허문헌 1에 개시된 기술이 알려져 있다. 특허문헌 1에 개시된 시뮬레이터는, 설계한 시스템에, 입력 부하와, 시스템을 구성하는 하드웨어 고장과 같은 외란을 부여할 때의 시스템의 거동을 출력한다.As a technique related to simulation of a designed system, the technique disclosed in Patent Document 1 is known. The simulator disclosed in Patent Document 1 outputs a system behavior when a disturbance such as an input load and a hardware failure constituting the system is applied to the designed system.

일본 특허공개 제2005-196601호 공보Japanese Patent Laid-Open No. 2005-196601

이하, 「시스템 개발」은, 시스템의 설계와 구축을 포함한다. 즉, 시스템 개발에서는, 시스템의 설계, 설계된 시스템의 구축, 및 구축된 시스템의 검증과 같은 프로세스를 거쳐 시스템의 개발이 완성된다.Hereinafter, "system development" includes design and construction of a system. That is, in system development, system development is completed through processes such as system design, construction of a designed system, and verification of the constructed system.

최근, 클라우드 컴퓨팅의 보급에 의해, 마이크로 서비스 아키텍처에 기초하는 시스템 개발이 일반화되고 있다. 마이크로 서비스 아키텍처에 기초하는 시스템 개발에서는, 서비스 시스템이, 개발자가 개발한 서비스와, 다른 벤더가 개발한 서비스와, 클라우드 컴퓨팅의 제공원이 제공하는 서비스와 같은 복수의 서비스를 조합하여 구축되는 경우가 많다. 이들 서비스는, 분산 환경(예를 들어, 복수의 계산기(예를 들어 범용 계산기)로 구성된 분산형의 계산기 시스템)상에서 분산적으로 디플로이되는 경우가 많다. 그리고, 개개의 서비스에는 API(Application Programming Interface)가 준비되어 있으며, 서비스끼리가 서로 네트워크를 경유하여 처리의 리퀘스트를 서로 송신하고, 서비스 시스템의 처리(예를 들어, 하나 또는 복수의 업무)가 실현된다. 이러한 시스템 개발에 의해, 서비스의 재이용성에 의한 신속한 시스템의 구축이나, 신속한 리소스의 확보에 의한 스케일링 성능의 향상이 가능하게 되어, 개발과 운용의 양면에서 장점이 기대되고 있다.In recent years, with the spread of cloud computing, system development based on a microservice architecture has become common. In system development based on a microservice architecture, a service system is often built by combining a plurality of services such as a service developed by a developer, a service developed by another vendor, and a service provided by a cloud computing provider. many. These services are often deployed distributedly on a distributed environment (eg, a distributed computer system composed of a plurality of calculators (eg, general-purpose calculators)). An API (Application Programming Interface) is prepared for each service, and the services mutually transmit a processing request via a network, and the processing of the service system (for example, one or more tasks) is realized. do. By developing such a system, it is possible to construct a system quickly by reusing services and to improve the scaling performance by securing resources quickly, so advantages are expected from both development and operation.

그러나, 마이크로 서비스 아키텍처에 기초하는 시스템 개발의 결점은, 서비스 시스템의 리스폰스 타임이 변동하는 경우의 원인 구명이나, 서비스의 장애에 대한 대응을 설계하는 것이 곤란한 것이다.However, a drawback of system development based on the microservice architecture is that it is difficult to find out the cause when the response time of the service system fluctuates, or to design a response to service failure.

모놀리식의 시스템 개발, 즉, 단일의 서버상에 전개되는 서비스 시스템의 시스템 개발에서는, 서비스 시스템의 리스폰스 타임이 변동하는 경우의 원인 구명은 비교적 용이하다. 왜냐하면, 서비스 시스템 내의 처리의 흐름을 따라 가기 쉽고, 또한 실행 시의 리소스 소비량 등을 감시하는 일이, 단일의 서버로 완결되기 때문이다. 그 때문에, 미리 장애가 될 수 있는 개소도 추측하기 쉬워, 대응도 설계에 편성시키는 것이 비교적 용이하다.In monolithic system development, that is, system development of a service system deployed on a single server, it is relatively easy to find out the cause of the case where the response time of the service system fluctuates. This is because it is easy to follow the flow of processing in the service system, and monitoring of resource consumption and the like at the time of execution is completed with a single server. Therefore, it is easy to guess in advance the location which may become an obstacle, and it is comparatively easy to coordinate the correspondence design.

이에 반하여, 마이크로 서비스 아키텍처에서는, 소규모의 독립된 처리가 분산 환경으로서의 계산기 시스템에서 실행되고, 서비스 시스템에 대한 하나의 리퀘스트에 관한 처리가, 계산기 시스템을 구성하는 복수의 서비스가 분산된 서버 간에 걸치기 때문에, 개발 시 및 실행 시에 처리의 흐름을 파악하는 것이 어려워진다. 또한, 하나의 리퀘스트에 대한 처리가, 다수의 개소(서버)에서 처리가 실행되기 때문, 서버 간에서 다수의 통신이 발생한다. 그 때문에, 처리의 보틀넥이, 지금까지 존재하기 어려운 네트워크나 메시지 큐에 존재할 가능성이 있다. 또한, 동일한 서비스 시스템 중 적어도 일부의 서비스가 상이한 개발 조직에 의해 개발된 서비스인 경우도 있기 때문에, 서비스 시스템 내에서 이용되는 전체 서비스의 처리 내용이나 특징을 파악할 수 있는 사람(예를 들어 개발자 또는 설계자)은 적다.On the other hand, in the microservice architecture, small-scale independent processing is executed in a computer system as a distributed environment, and processing related to one request to the service system spans between servers in which a plurality of services constituting the computer system are distributed. It becomes difficult to understand the flow of processing at development time and execution time. In addition, since the processing for one request is executed at a plurality of places (servers), a large number of communications occur between the servers. Therefore, there is a possibility that the bottleneck of processing exists in a network or message queue that has hitherto been difficult to exist. In addition, since there are cases in which at least some services in the same service system are services developed by different development organizations, a person (for example, a developer or a designer ) is less.

일반적인 시스템 개발에서는, 설계한 시스템의 가용성의 검증을 위해서, 설계한 시스템을 시험적으로 구축한 후에(즉, 실전 환경과 동등한 시험 환경으로서의 시험용 시스템을 구축한 후에), 부하 시험이나 리스폰스 타임의 측정을 행하고 그 시험 결과를 기초로 설계를 재검토한다는 것을 반복하는 일이 행해진다. 단, 이 방법은, 시험을 위한 시험 환경이 필요해 시간적 비용이 많이 든다.In general system development, in order to verify the availability of the designed system, after the designed system is experimentally built (that is, after the test system is built as a test environment equivalent to the actual environment), load test or response time measurement and repeating the design review based on the test results. However, this method requires a lot of time and cost because a test environment is required for the test.

그래서, 특허문헌 1과 같은 시뮬레이션 기술의 이용을 하고, 서비스 시스템의 구축 전에 당해 서비스 시스템의 가용성을 추정하는 것이 생각된다.Therefore, it is conceivable to use the same simulation technology as in Patent Document 1 and to estimate the availability of the service system before construction of the service system.

그러나, 특허문헌 1에 있어서의 시뮬레이션 대상의 시스템은, 서비스 시스템과는 달리, 복수의 서버로 구성된 시스템(예를 들어 3계층 Web 시스템)이다. 즉, 특허문헌 1에서는, 시뮬레이션 대상의 시스템의 구성 요소는 서버이며, 소위 오토스케일 의해 시스템이 유지된다.However, unlike the service system, the system to be simulated in Patent Document 1 is a system composed of a plurality of servers (for example, a three-tier Web system). That is, in Patent Document 1, a component of a system to be simulated is a server, and the system is maintained by so-called auto-scaling.

한편, 서비스 시스템(전형적으로는, 마이크로 서비스 아키텍처에 기초하는 시스템 개발에 있어서 설계된 서비스 시스템)이 디플로이되는 계산기 시스템(복수의 서버)은, 일반적으로 시스템 개발측(예를 들어, 서비스 시스템을 제공하는 기업)의 관리하에 없는 계산기 시스템(예를 들어, 클라우드 컴퓨팅을 제공하는 기업의 관리하의 계산기 시스템)이다.On the other hand, a computer system (a plurality of servers) in which a service system (typically, a service system designed in system development based on a microservice architecture) is deployed is generally a system development side (eg, providing a service system) It is a calculator system (eg, a calculator system under the control of an enterprise providing cloud computing) that is not under the control of an enterprise that provides cloud computing.

따라서, 시스템 개발측에서, 서비스 시스템의 가용성을 유지하기 위해서 계산기 시스템에 있어서의 오토스케일의 방법을 제어한다고 하는 방법을 취할 수는 없다. 즉, 서비스 시스템의 가용성 검증을 위한 시뮬레이션에, 특허문헌 1에 개시된 기술을 적용할 수는 없다.Therefore, on the system development side, the method of controlling the auto-scaling method in the computer system in order to maintain the availability of the service system cannot be taken. That is, the technique disclosed in Patent Document 1 cannot be applied to a simulation for verifying availability of a service system.

어느 쪽의 서비스에 문제가 발생하여도(예를 들어, 일부의 서비스에서 장애나 리스폰스 타임의 변동과 같은 문제가 발생하여도), 서비스 시스템 전체로서 기대하는 동작(예를 들어, 엔드 유저에 대해서 어떠한 리스폰스를 돌려주는 것)을 보증할 수 있도록 하기 위해서, 문제가 발생한 서비스에 의존하는 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나가 변경된다. 예를 들어, 어떤 서비스로부터 당해 어떤 서비스의 의존처의 서비스에 리퀘스트가 송신되었지만 일정 시간 지나도 의존처의 서비스로부터 당해 어떤 서비스에 리스폰스가 돌아오지 않는 경우에, 당해 어떤 서비스가, 하기 중 어느 것을 실행하는 것이 생각된다.Even if a problem occurs in either service (for example, if a problem such as a failure or a change in response time occurs in some services), the expected behavior of the service system as a whole (for example, for end users In order to ensure that a certain response is returned), at least one of the processing content of the service depending on the service in which the problem occurred and the request transmission destination is changed. For example, when a request is sent from a certain service to a dependent service of the certain service, but no response is returned from the dependent service to the certain service after a certain period of time, the certain service executes any of the following it is thought to do

·당해 어떤 서비스가, 에러 통지를 생성하고, 당해 서비스의 의존원(또는 엔드 유저)으로 에러 통지를 돌려준다(당해 어떤 서비스의 처리 내용의 변경의 일례).- The certain service generates an error notification and returns the error notification to the dependent source (or end user) of the service (an example of changing the processing content of the certain service).

·당해 어떤 서비스가, 리퀘스트 송신처를, 의존처의 서비스로부터, 경고 통지용 서비스나, 대체 서비스로 변경한다(당해 어떤 서비스의 리퀘스트 송신처의 변경 일례).- The certain service changes the request transmission destination from the service of the dependent destination to the warning notification service or alternative service (example of change of the request transmission destination of the certain service).

·당해 어떤 서비스가, 일정 빈도로 송신되는 리퀘스트의 대부분의 리퀘스트를 변경 후의 리퀘스트 송신처에 송신하지만, 일부의 리퀘스트를, 의존처의 서비스의 문제가 해소되어 있을지도 모르기 때문에 의존처의 서비스에 송신한다(당해 어떤 서비스의 처리 내용 및 리퀘스트 송신처의 변경의 일례).- The given service transmits most of the requests transmitted at a certain frequency to the request destination after the change, but sends some requests to the service of the dependent destination because the problem of the service of the dependent destination may be solved ( An example of changing the processing contents of the given service and the destination of the request).

이와 같이 서비스 시스템 내에서 처리 내용 및 리퀘스트 송신처의 적어도 하나를 변경하는 것을 시뮬레이션에 있어서 실현(재현)하기 위해서, 하기의 (a1)과 (a2)와 (a3)의 정보가, 시뮬레이터에 입력된다.In order to realize (reproduce) changing at least one of the processing content and the request transmission destination in the service system in this way in the simulation, the following information (a1), (a2) and (a3) is input to the simulator.

(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성.(a1) A system configuration describing the dependency relationship between services in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services.

(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기를 기술한 타 서비스 리퀘스트 송신 폴리시(policy).(a2) Another service request transmission policy described below for each of at least one service among the plurality of services.

·당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건.- Condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed.

·당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경.・A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change when it is said that the conditions are satisfied.

(a3) 서비스 시스템에 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시.(a3) A request generation policy that describes the contents of a request to be transmitted to the service system as an end user and a transmission rate of the request.

시뮬레이터는, 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 당해 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착했다고 한 경우의 서비스 시스템 거동인 시스템 거동의 시뮬레이션을, 시스템 구성 및 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고, 당해 시뮬레이션의 실행 결과로서의 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력한다.The simulator executes, based on the system configuration and other service request transmission policies, a simulation of a system behavior that is a service system behavior when a request based on the request generation policy arrives at a transmission rate based on the request generation policy; Simulation result information, which is information indicating the system behavior as the execution result of the simulation, is output.

복수의 서비스로 구성된 서비스 시스템, 특히, 마이크로 서비스 아키텍처에 기초하여 설계되고 분산 환경에 디플로이되는 서비스 시스템에 있어서, 리퀘스트 송신처 및 처리 내용 중 적어도 하나를 변경하는 것을, 시뮬레이션에 있어서 실현(재현)할 수 있어, 당해 변경이 행해진 경우의 시스템 거동을 시뮬레이트하여 출력할 수 있다. 이 때문에, 서비스 시스템의 가용성을 추정할 수 있다.In a service system composed of a plurality of services, in particular, in a service system designed based on a microservice architecture and deployed in a distributed environment, changing at least one of the request destination and processing contents can be realized (reproduced) in simulation. Therefore, it is possible to simulate and output the system behavior when the change is made. For this reason, the availability of a service system can be estimated.

본 명세서에 있어서 개시되는 주제의, 적어도 하나의 실시예의 상세는, 첨부되어 있는 도면과 이하의 기술 중에서 설명된다. 개시되는 주제의 기타 특징, 양태, 효과는, 이하의 개시, 도면, 청구항에 의해 밝혀질 것이다.The details of at least one embodiment of the subject matter disclosed in this specification are set forth in the accompanying drawings and the description below. Other features, aspects and effects of the disclosed subject matter will be revealed by the following disclosure, drawings, and claims.

도 1은, 마이크로 서비스 시뮬레이터의 입출력을 예시하는 도면.
도 2는, 마이크로 서비스 시뮬레이터의 이용 플로우를 예시하는 도면.
도 3은, 시뮬레이션 입력 데이터 작성 툴 및 마이크로 서비스 시뮬레이터의 실행에 이용되는 장치의 내부 구성을 나타내는 도면.
도 4는, 시뮬레이션 입력 데이터 작성 툴에 의해 표시되는 시스템 구성 작성 지원 화면을 예시하는 도면.
도 5는, 타 서비스 리퀘스트 송신 폴리시의 일례를 나타내는 도면.
도 6은, 리퀘스트 생성 폴리시의 일례를 나타내는 도면.
도 7은, 마이크로 서비스 시뮬레이터의 시스템 구성을 예시하는 도면.
도 8은, 시뮬레이션 환경 구축 시의 처리 시퀀스를 예시하는 도면.
도 9는, 시뮬레이션 중의 폴리시 변경의 처리 시퀀스를 예시하는 도면.
도 10은, 시스템에의 리퀘스트에 대한 처리 시퀀스를 예시하는 도면.
도 11은, 마이크로 서비스 시뮬레이터에 대한 외란 설정 시의 처리 시퀀스를 예시하는 도면.
도 12는, 외란 발생 시나리오의 일례를 나타내는 도면.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram illustrating input/output of a microservice simulator.
Fig. 2 is a diagram illustrating a flow of use of a microservice simulator;
Fig. 3 is a diagram showing the internal configuration of an apparatus used for execution of a simulation input data creation tool and a microservice simulator;
It is a figure which exemplifies the system configuration creation support screen displayed by the simulation input data creation tool.
Fig. 5 is a diagram showing an example of another service request transmission policy;
Fig. 6 is a diagram showing an example of a request generation policy;
Fig. 7 is a diagram illustrating a system configuration of a microservice simulator;
Fig. 8 is a diagram illustrating a processing sequence at the time of constructing a simulation environment;
Fig. 9 is a diagram illustrating a processing sequence of policy change during simulation;
Fig. 10 is a diagram illustrating a processing sequence for a request to the system;
Fig. 11 is a diagram illustrating a processing sequence at the time of disturbance setting for a microservice simulator;
Fig. 12 is a diagram showing an example of a disturbance occurrence scenario;

이하의 설명에서는, 「인터페이스 디바이스부」는, 1 이상의 인터페이스 디바이스여도 된다. 당해 1 이상의 인터페이스 디바이스는, 하기 중 어느 것이어도 된다.In the following description, the "interface device unit" may be one or more interface devices. The one or more interface devices may be any of the following.

·I/O(Input/Output) 디바이스와 원격의 표시용 계산기 중 적어도 하나에 대한 I/O 인터페이스 디바이스. 표시용 계산기에 대한 I/O 인터페이스 디바이스는, 통신 인터페이스 디바이스여도 된다. 적어도 하나의 I/O 디바이스는, 유저 인터페이스 디바이스, 예를 들어 키보드 및 포인팅 디바이스와 같은 입력 디바이스와, 표시 디바이스와 같은 출력 디바이스 중 어느 것이어도 된다.· An I/O interface device to at least one of an I/O (Input/Output) device and a remote display calculator. The I/O interface device for the display calculator may be a communication interface device. The at least one I/O device may be any of a user interface device, for example, an input device such as a keyboard and pointing device, and an output device such as a display device.

·1 이상의 통신 인터페이스 디바이스. 1 이상의 통신 인터페이스 디바이스는, 1 이상의 동종의 통신 인터페이스 디바이스(예를 들어 1 이상의 NIC(Network Interface Card))여도 되고 2 이상의 이종(異種)의 통신 인터페이스 디바이스(예를 들어 NIC와 HBA(Host Bus Adapter))여도 된다.· One or more communication interface devices. The one or more communication interface devices may be one or more communication interface devices of the same type (eg, one or more NICs (Network Interface Cards)), and two or more different types of communication interface devices (eg, NICs and Host Bus Adapters (HBAs)). )) may be

또한, 이하의 설명에서는, 「메모리부」는, 1 이상의 메모리이며, 전형적으로는 주기억 디바이스여도 된다. 메모리부에 있어서의 적어도 하나의 메모리는, 휘발성 메모리여도 되고 불휘발성 메모리여도 된다.In addition, in the following description, the "memory part" is one or more memories, and typically a main memory device may be sufficient. At least one memory in the memory unit may be a volatile memory or a nonvolatile memory.

또한, 이하의 설명에서는, 「PDEV부」는, 1 이상의 PDEV이며, 전형적으로는 보조 기억 디바이스여도 된다. 「PDEV」는, 물리적인 기억 디바이스(Physical storage DEVice)를 의미하고, 전형적으로는, 불휘발성의 기억 디바이스, 예를 들어 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)이다.In addition, in the following description, the "PDEV unit" is one or more PDEVs, and may typically be an auxiliary storage device. "PDEV" means a physical storage device (Physical storage DEVice), and is typically a nonvolatile storage device, for example, HDD (Hard Disk Drive) or SSD (Solid State Drive).

또한, 이하의 설명에서는, 「기억부」는, 메모리부 및 PDEV부 중 적어도 하나(전형적으로는 적어도 메모리부)이다.In addition, in the following description, the "storage unit" is at least one of a memory unit and a PDEV unit (typically at least a memory unit).

또한, 이하의 설명에서는, 「프로세서부」는, 1 이상의 프로세서이다. 적어도 하나의 프로세서는, 전형적으로는, CPU(Central Processing Unit)와 같은 마이크로프로세서이지만, GPU(Graphics Processing Unit)와 같은 타종(他種)의 프로세서여도 된다. 적어도 하나의 프로세서는, 싱글 코어여도 되고 멀티코어여도 된다. 적어도 하나의 프로세서는, 처리의 일부 또는 전부를 행하는 하드웨어 회로(예를 들어 FPGA(Field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit))와 같은 광의의 프로세서여도 된다.In addition, in the following description, a "processor part" is one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may be a different type of processor such as a GPU (Graphics Processing Unit). At least one processor may be single-core or multi-core. The at least one processor may be a processor in a broad sense such as a hardware circuit (eg, Field-Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC)) that performs a part or all of processing.

또한, 이하의 설명에서는, 「kkk부」(인터페이스 디바이스부, 기억부 및 프로세서부를 제외함)의 표현으로 기능을 설명하는 경우가 있지만, 기능은, 1 이상의 컴퓨터 프로그램이 프로세서부에 의해 실행됨으로써 실현되어도 되고, 1 이상의 하드웨어 회로에 의해 실현되어도 된다. 프로그램이 프로세서부에 의해 실행됨으로써 기능이 실현되는 경우, 정해진 처리가, 적절하게 기억부 및/또는 통신 인터페이스 디바이스부 등을 이용하면서 행해지기 때문에, 기능은 프로세서부의 적어도 일부로 되어도 된다. 기능을 주어로 하여 설명된 처리는, 프로세서부 혹은 그 프로세서부를 갖는 장치가 행하는 처리로 해도 된다. 프로그램은, 프로그램 소스로 인스톨되어도 된다. 프로그램 소스는, 예를 들어 프로그램 배포 계산기 또는 계산기가 판독 가능한 기록 매체(예를 들어 비일시적인 기록 매체)여도 된다. 각 기능의 설명은 일례이며, 복수의 기능이 하나의 기능으로 합쳐지거나, 하나의 기능이 복수의 기능으로 분할되거나 해도 된다.In addition, in the following description, although a function may be demonstrated with the expression of "kkk part" (interface device part, a memory|storage part, and a processor part excluded), a function is realized when one or more computer programs are executed by a processor part. may be used, or may be realized by one or more hardware circuits. When the function is realized by executing the program by the processor unit, the function may be at least a part of the processor unit, since predetermined processing is performed while appropriately using the storage unit and/or the communication interface device unit or the like. The processing described with the function as the subject may be processing performed by the processor unit or an apparatus having the processor unit. The program may be installed as a program source. The program source may be, for example, a program distribution calculator or a computer-readable recording medium (eg, a non-transitory recording medium). The description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.

또한, 이하의 설명에서는, 「데이터 세트」라 함은, 프로그램으로부터 본 하나의 논리적인 전자 데이터의 덩어리이며, 예를 들어 레코드, 파일, 키 밸류 페어 및 튜풀 중 어느 것이어도 된다.In addition, in the following description, a "data set" is one logical chunk of electronic data viewed from the program, and for example, any of a record, a file, a key value pair, and a tuple may be used.

또한, 이하의 설명에서는, 「xxx 데이터 세트」라는 표현으로, 입력에 대해서 출력이 얻어지는 데이터 세트(정보)를 설명하는 경우가 있지만, 데이터 세트는, 어떤 구조의 데이터여도 되고, 입력에 대한 출력을 발생하는 신경 회로망과 같은 학습 모델이어도 된다. 이하의 설명에 있어서, 각 데이터 세트의 구성은 일례이며, 하나의 데이터 세트는, 2 이상의 데이터 세트로 분할되어도 되고, 2 이상의 데이터 세트의 전부 또는 일부가 하나의 데이터 세트여도 된다.In addition, in the following description, the expression "xxx data set" describes a data set (information) from which an output is obtained with respect to an input in some cases. It may be a learning model, such as a neural network that is generated. In the following description, the configuration of each data set is an example, and one data set may be divided into two or more data sets, and all or part of the two or more data sets may be one data set.

또한, 이하의 설명에서는, 장치가 「표시용 정보를 표시한다」라 함은, 장치가 갖는 표시 디바이스에 표시용 정보를 표시하는 것이어도 되고, 장치가 표시용 계산기에 표시용 정보를 송신하는 것이어도 된다(후자의 경우에는 표시용 계산기에 의해 표시용 정보가 표시됨). 표시용 정보의 일례가, 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보이다.Note that, in the following description, the term "displaying information for display" by an apparatus may mean displaying information for display on a display device included in the apparatus, and does not mean that the apparatus transmits information for display to a calculator for display. (in the latter case, the display information is displayed by the display calculator). An example of the information for display is simulation result information, which is information indicating the system behavior.

이하, 본 발명의 적합한 일 실시예에 대하여, 도면을 이용하여 설명한다.Hereinafter, a preferred embodiment of the present invention will be described with reference to the drawings.

본 실시예에 따른 시뮬레이터는, 마이크로 서비스 아키텍처에 기초하여 설계된 서비스 시스템의 가용성을 추정하기 위한 시뮬레이터에 관한 것이다. 그래서, 이하, 본 시뮬레이터를, 「마이크로 서비스 시뮬레이터」라고 칭한다. 또한, 마이크로 서비스 시뮬레이터 내에서 구축한 후술하는 가상 시스템(가상적인 서비스 시스템) 내의 가상 서비스(서비스에 대응한 가상적인 서비스)에 대해서 의도적으로 발생시키는, 과부하 상태나 리스폰스 타임의 장시간화 등을, 「외란」이라고 칭한다.The simulator according to the present embodiment relates to a simulator for estimating availability of a service system designed based on a microservice architecture. So, hereafter, this simulator is called "microservice simulator". In addition, overload conditions and prolonged response times that are intentionally generated for a virtual service (virtual service corresponding to a service) in a virtual system (virtual service system) to be described later built in the microservice simulator are “ It is called 'disruption'.

도 1은, 마이크로 서비스 시뮬레이터의 입출력의 예를 나타낸다.Fig. 1 shows an example of input/output of a microservice simulator.

마이크로 서비스 시뮬레이터(0112)의 입력은, 시스템 구성(0106)과, 리퀘스트 생성 폴리시(0108)와, 타 서비스 리퀘스트 송신 폴리시(0107)다. 이들 입력 데이터는, 입력 데이터 스토리지(0105)에 보존된다.Inputs to the microservice simulator 0112 are the system configuration 0106, the request creation policy 0108, and the other service request transmission policy 0107. These input data are saved in the input data storage 0105 .

시스템 구성(0106)은, 서비스 시스템을 구성하는 서비스와, 서비스 간의 의존 관계를 나타낸 데이터 세트이다. 시스템 구성(0106)의 상세는, 도 4를 기초로 설명은 후술한다.The system configuration 0106 is a data set indicating the services constituting the service system and the dependency relationship between the services. The details of the system configuration 0106 will be described later based on FIG. 4 .

타 서비스 리퀘스트 송신 폴리시(0107)는, 복수의 서비스 중 1 이상의 서비스의 각각에 대하여, (1) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건, 및 (2) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경을 기술한 데이터 세트이다. 타 서비스 리퀘스트 송신 폴리시(0107)는, 예를 들어 각 서비스가, 의존하는 다른 서비스로 리퀘스트를 보낼 때의 폴리시를 나타내는 데이터 세트이다. 타 서비스 리퀘스트 송신 폴리시(0107) 중에서, 의존처의 서비스 상태에 따라서, 리퀘스트의 송신처를 변경하는 것을 기술할 수 있도록 한다. 또한, 자신의 서비스의 처리 내용을 변경하는 것도 기술할 수 있도록 한다. 예를 들어, 어떤 서비스가, 의존처의 서비스에서 리스폰스 타임이 어떤 임계값을 초과한 경우에, 그 의존처의 서비스로 리퀘스트를 송신하지 않고, 자신의 서비스로 리퀘스트를 송신한 리퀘스트원의 서비스에 에러 메시지를 보내는 것을 기술할 수 있다.The other service request transmission policy 0107 is, for each of one or more services among the plurality of services, (1) processing that is at least one of the presence or absence of failure and the processing speed in the service to which the request is sent because it is a dependent destination of the service It is a data set describing the conditions related to the situation and (2) the processing change that is at least one of the processing contents after the change of the service concerned and the request transmission destination after the change in the case that the conditions are satisfied. Other service request transmission policy 0107 is, for example, a data set indicating a policy when each service sends a request to another service it depends on. In the other service request transmission policy 0107, it is possible to describe that the request transmission destination is changed according to the service status of the dependent destination. In addition, it is also possible to describe changes in the processing contents of one's own service. For example, when the response time of a certain service exceeds a certain threshold in the service of the dependent destination, the request is not transmitted to the service of the dependent destination, but to the service of the request source that sent the request to the own service. You can describe sending an error message.

리퀘스트 생성 폴리시(0108)는, 시뮬레이션 중에, 마이크로 서비스 시뮬레이터(0112) 내에 구축한 가상 시스템으로 의사적으로 송신되는 메시지를 작성할 때 이용되는 폴리시다. 리퀘스트 생성 폴리시(0108)에서는, 생성되는 메시지의 내용과, 송신처의 서비스와, 일정 시간 내의 송신 레이트가 지정 가능하다. 또한 송신에 이용되는 프로토콜을 지정하는 것도 가능하게 한다. 프로토콜이 지정됨으로써, 프로토콜 특유의 송신 속도나, 재송 제어나, 동기 통신 또는 비동기 통신 등의 특성을 시뮬레이션 내에서 재현할 수 있다. 또한, 리퀘스트 생성 폴리시(0108)에서는, 생성하는 리퀘스트 수를 지정할 수도 있다. 리퀘스트 수는, 무한을 지정함으로써, 시뮬레이션을 영속적으로 가동시키는 것이 가능하다. 이 경우, 시뮬레이션은, 마이크로 서비스 시뮬레이터(0112)의 유저(예를 들어 시스템 설계자)가, 마이크로 서비스 시뮬레이터(0112)에 대해서 시뮬레이션 종료를 명령함으로써 종료한다.The request generation policy 0108 is a policy used when creating a message pseudo-transmitted to the virtual system built in the microservice simulator 0112 during simulation. In the request generation policy 0108, the contents of the generated message, the service of the transmission destination, and the transmission rate within a certain period of time can be specified. It also makes it possible to specify the protocol used for transmission. By specifying the protocol, characteristics such as transmission speed, retransmission control, synchronous communication, or asynchronous communication peculiar to the protocol can be reproduced in simulation. In the request generation policy 0108, the number of requests to be generated can also be specified. By specifying an infinite number of requests, it is possible to run the simulation permanently. In this case, the simulation ends when the user (for example, a system designer) of the microservice simulator 0112 instructs the microservice simulator 0112 to end the simulation.

이후에는, 시스템 구성(0106)과, 리퀘스트 생성 폴리시(0108)와, 타 서비스 리퀘스트 송신 폴리시(0107)를 총칭하여, 「입력 데이터」라고 칭한다. 또한, 이 이후에 기재하는 유저는, 모두 마이크로 서비스 시뮬레이터(0112)의 유저를 가리키기로 한다. 또한, 「엔드 유저」는, 서비스 시스템의 유저를 가리키기로 하고, 예를 들어 서비스 시스템에 대한 리퀘스트의 발행원이다.Hereinafter, the system configuration 0106, the request generation policy 0108, and the other service request transmission policy 0107 are collectively referred to as "input data". In addition, all users described after this shall point to the user of the microservice simulator 0112. In addition, the "end user" shall indicate the user of the service system, and is, for example, the issuer of the request with respect to a service system.

마이크로 서비스 시뮬레이터(0112)의 외부에는, 시뮬레이션 입력 데이터 작성 툴(0103), 외란 입력 콘솔(0110) 및 폴리시 입력 콘솔(0113)이 존재한다. 이들 요소(0103, 0110 및 0113) 중 어느 것도, 컴퓨터 프로그램이어도 되고 물리적인 장치여도 된다. 예를 들어, 클라우드 기반(복수의 계산 리소스를 갖는 계산기 시스템)에 있어서, 마이크로 서비스 시뮬레이터(0112), 시뮬레이션 입력 데이터 작성 툴(0103), 외란 입력 콘솔(0110) 및 폴리시 입력 콘솔(0113) 중 적어도 하나가 실행되어도 된다.Outside of the microservice simulator 0112 , a simulation input data creation tool 0103 , a disturbance input console 0110 , and a policy input console 0113 exist. Any of these elements 0103, 0110 and 0113 may be a computer program or a physical device. For example, in a cloud-based (a calculator system having a plurality of computational resources), at least one of a microservice simulator 0112, a simulation input data creation tool 0103, a disturbance input console 0110, and a policy input console 0113 One may run.

입력 데이터는, 유저가, 시뮬레이션 입력 데이터 작성 툴(0103)을 이용하여 작성할 수 있다. 시뮬레이션 입력 데이터 작성 툴(0103)은, 시스템 구성(0106), 타 서비스 리퀘스트 송신 폴리시(0107), 및 리퀘스트 생성 폴리시(0108) 중 적어도 하나에 포함하는 정보 요소의 입력을 접수하는 1 이상의 UI(User Interface)를 표시한다. 당해 1 이상의 UI는, 하나 또는 복수의 GUI(Graphical User Interface)에 포함되어 있어도 된다. 당해 1 이상의 UI 경유로 입력된 정보 요소가, 시스템 구성(0106), 타 서비스 리퀘스트 송신 폴리시(0107), 및 리퀘스트 생성 폴리시(0108) 중 적어도 하나에 포함된다. 시뮬레이션 입력 데이터 작성 툴(0103)이 제공하는 1 이상의 UI를 이용하여 효율적으로 입력 데이터를 준비하는 것이 기대된다. 예를 들어, 시뮬레이션 입력 데이터 작성 툴(0103)은, 시뮬레이션 중에 가상 시스템에 투입하는 리퀘스트 메시지의 템플릿을 저장하는 DB(데이터베이스)인 리퀘스트 템플릿 DB(0101)로부터, 메시지의 템플릿을 임포트 가능하다. 또한, 서비스 시스템을 구성하는 서비스의 템플릿을 저장하는 서비스 템플릿 DB(0102)로부터, 서비스의 템플릿을 임포트 가능하다. 또한, 작성한 입력 파일을 입력 데이터 리포지터리(0104)에 보존하고, 다음 번에 작성할 때 임포트하는 것이 가능하다. 또한, 입력 데이터는, 유저가, 임의의 에디터로 작성하는 것은 가능하도록 한다.The input data can be created by the user using the simulation input data creation tool 0103 . The simulation input data creation tool 0103 includes one or more UIs (Users) that receive input of information elements included in at least one of a system configuration 0106, another service request transmission policy 0107, and a request generation policy 0108. interface) is displayed. The one or more UIs may be included in one or a plurality of GUIs (Graphical User Interfaces). The information element input via the one or more UIs is included in at least one of the system configuration (0106), the other service request transmission policy (0107), and the request creation policy (0108). It is expected to efficiently prepare input data using one or more UIs provided by the simulation input data creation tool 0103 . For example, the simulation input data creation tool 0103 can import a message template from a request template DB 0101 that is a DB (database) that stores a template of a request message input to the virtual system during simulation. In addition, it is possible to import a service template from the service template DB 0102 that stores the service template constituting the service system. In addition, it is possible to save the created input file in the input data repository 0104 and import it when creating it next time. In addition, input data makes it possible for a user to create with an arbitrary editor.

마이크로 서비스 시뮬레이터(0112)는, 시스템 거동의 정보의 출력의 일례로서, 각 서비스의 리퀘스트 처리 시간인 리스폰스 타임의 추이나, 어떤 시각에 각 서비스가 소비하는 리소스양을 나타내는 정보를 출력(표시)할 수 있다. 이들 정보의 출력의 일례는, 시스템 거동을 표시하는 UI의 일례인 시스템 거동 출력 화면(예를 들어 GUI)(0111)의 출력이다. 시스템 거동 출력 화면(0111)에 의해, 출력 결과를 그래프화하여 출력하는 것이 가능하다. 즉, 마이크로 서비스 시뮬레이터(0112)는, 마이크로 서비스 아키텍처에 기초하여 설계된 서비스 시스템(IT 시스템이라고 칭해도 됨)에 원하는 가용성이 있음을 확인하기 위해서, 시스템 개발측에 있어서 설계된 서비스 시스템에 대해서 상정되는 리퀘스트가 입력되었을 때의 시스템 거동(예를 들어, 각 서비스의 리스폰스 타임이나 이용 리소스양의 추이)을 추정하고, 당해 시스템 거동을 가시화할 수 있다. 또한, 시뮬레이션 로그 DB(0113)에 로그로서 보존하는 것이 가능하다.As an example of the output of system behavior information, the microservice simulator 0112 outputs (displays) information indicating the transition of the response time, which is the request processing time of each service, and the amount of resources consumed by each service at a certain time. can An example of the output of these information is the output of the system behavior output screen (eg GUI) 0111 which is an example of UI which displays a system behavior. With the system behavior output screen 0111, it is possible to graph and output the output result. That is, in order to confirm that the service system (which may be referred to as an IT system) designed based on the microservice architecture has desired availability, the microservice simulator 0112 is a request assumed for the designed service system on the system development side. It is possible to estimate the system behavior (for example, the transition of response time of each service or the amount of resource used) when is input, and visualize the system behavior. In addition, it is possible to save as a log in the simulation log DB (0113).

서비스 시스템의 가용성을 측정하기 위해서는, 시뮬레이션의 도중에, 특정한 서비스에 의도적으로 외란을 발생시켜, 외란 발생 시의 가용성을 확인하는 것이 바람직하다. 그래서, 유저는, 외란 입력 콘솔(0110)을 사용하여, 시뮬레이션의 실행 중에, 특정한 서비스에 대해서, 외란(예를 들어, 장애, 또는 과부하에 의한 리스폰스 타임의 장시간화)을, 의도적으로 발생시킬 수 있다. 또한, 유저가 외란 입력 콘솔(0110)로 입력한 외란은, 입력 데이터 스토리지(0105) 내에, 외란 발생 시나리오(0109)로서 보존할 수 있도록 한다. 외란 발생 시나리오(0109)는, 서비스 시스템에 포함되는 적어도 하나의 서비스 ID와, 당해 적어도 하나의 서비스에 대하여 지정 시점에서의 외란(의도적인 처리 정지, 처리 속도 향상 또는 처리 속도 저하)을 기술한 데이터 세트이다. 외란 발생 시나리오(0109)는, 시뮬레이션 개시 전에(또는, 시뮬레이션의 실행 중에), 마이크로 서비스 시뮬레이터(0112)에 입력되고, 시뮬레이션 개시 후에 마이크로 서비스 시뮬레이터(0112)가 외란 발생 시나리오(0109)를 따라서 가상 시스템 내의 가상 서비스에 외란을 발생시킬 수 있다.In order to measure the availability of a service system, it is desirable to check availability at the time of disturbance by intentionally generating a disturbance in a specific service during the simulation. Thus, the user can intentionally generate a disturbance (eg, prolonged response time due to failure or overload) for a specific service during execution of the simulation, using the disturbance input console 0110 . have. Also, the disturbance input by the user on the disturbance input console 0110 can be stored as the disturbance occurrence scenario 0109 in the input data storage 0105 . The disturbance occurrence scenario 0109 is data describing at least one service ID included in the service system and disturbance (intentional processing stop, processing speed improvement, or processing speed decrease) at a specified time for the at least one service. is a set The disturbance occurrence scenario 0109 is input to the microservice simulator 0112 before the start of the simulation (or during the execution of the simulation), and after the start of the simulation, the microservice simulator 0112 follows the disturbance scenario 0109 to the virtual system It may cause a disturbance in the virtual service within.

서비스 시스템의 가용성을 측정하기 위해서는, 시뮬레이션의 도중에(예를 들어, 시스템 거동 출력 화면(0111)이 표시하는 리스폰스 타임이나 소비 리소스양의 추이를 기초로), 엔드 유저로서 발행하는 리퀘스트의 내용 또는 송신 레이트나, 적어도 하나의 서비스 처리 내용 또는 리퀘스트 송신처를 변경하는 것이 바람직하다. 그래서, 유저는, 폴리시 입력 콘솔(0113)을 이용하여, 시뮬레이션의 실행 중에, 타 서비스 리퀘스트 송신 폴리시(0107) 및 리퀘스트 생성 폴리시(0108)의 적어도 하나를 변경하고, 마이크로 서비스 시뮬레이터(0112)는, 변경 후의 폴리시를 시뮬레이션 실행 중에 접수하여, 변경 후의 폴리시를, 시뮬레이션을 정지시키지 않고 반영하고, 당해 반영 후의 폴리시에 따라서, 당해 시뮬레이션을 계속한다. 이에 의해, 추정된 시스템 거동의 출력과 당해 출력에 기초하는 폴리시 변경의 반복을, 시뮬레이션을 멈추지 않고 행한다고 하는 효율적인 처리를 기대할 수 있다. 또한, 유저가 폴리시 입력 콘솔(0113)로 입력한 폴리시는, 입력 데이터 스토리지(0105) 내에, 타 서비스 리퀘스트 송신 폴리시(0107) 및 리퀘스트 생성 폴리시(0108) 중 어느 것으로서 보존할 수 있도록 한다.In order to measure the availability of the service system, in the middle of the simulation (for example, based on the response time displayed by the system behavior output screen 0111 or the transition of the consumed resource amount), the content or transmission of a request issued as an end user It is preferable to change the rate, at least one service processing content, or a request transmission destination. Therefore, the user uses the policy input console 0113 to change at least one of the other service request transmission policy 0107 and the request creation policy 0108 during the execution of the simulation, and the microservice simulator 0112, The policy after the change is accepted during simulation execution, the policy after the change is reflected without stopping the simulation, and the simulation is continued according to the policy after the reflection. Thereby, it is possible to expect an efficient process of repeating the output of the estimated system behavior and the policy change based on the output without stopping the simulation. Further, the policy input by the user into the policy input console 0113 can be stored in the input data storage 0105 as either of the other service request transmission policy 0107 and the request creation policy 0108 .

본 실시예에 의하면, 마이크로 서비스 시뮬레이터(0112)는, 상술한 시스템 구성(0106), 타 서비스 리퀘스트 생성 폴리시(0107), 및 리퀘스트 생성 폴리시(0108)를 입력하고, 리퀘스트 생성 폴리시(0108)에 기초하는 리퀘스트가 당해 폴리시(0108)에 기초하는 송신 레이트로 도착했다고 하는 경우의 시스템 거동의 시뮬레이션을, 시스템 구성(0106) 및 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하여 실행하고, 당해 시스템 거동을 나타내는 정보를 표시한다. 이에 의해, 마이크로 서비스 아키텍처에 기초하여 설계되고 분산 환경에 디플로이되는 서비스 시스템에 있어서, 리퀘스트 송신처 및 처리 내용 중 적어도 하나를 변경하는 것을, 시뮬레이션에 있어서 실현(재현)할 수 있어, 당해 변경이 행해진 경우의 시스템 거동을 시뮬레이트하여 출력할 수 있다. 이 때문에, 서비스 시스템의 가용성을 추정할 수 있다.According to the present embodiment, the microservice simulator 0112 inputs the above-described system configuration 0106, other service request creation policy 0107, and request creation policy 0108, and based on the request creation policy 0108 A simulation of system behavior when a request to be made arrives at a transmission rate based on the policy (0108) is performed based on the system configuration (0106) and other service request transmission policies (0107), and the system behavior is Display information. Thereby, in a service system designed based on a microservice architecture and deployed in a distributed environment, changing at least one of a request transmission destination and processing content can be realized (reproduced) in simulation, and In this case, the system behavior can be simulated and output. For this reason, the availability of a service system can be estimated.

구체적으로는, 예를 들어 마이크로 서비스 시뮬레이터(0112)는, 시뮬레이션의 실행 중에, 서비스 시스템에 포함되는 1 이상의 서비스의 각각에 대하여, 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하여, 당해 서비스의 의존처의 서비스의 처리 상황을 변경하고, 그것에 수반하여, 당해 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나를 변경하고, 당해 변경 후의 시스템 거동을 시뮬레이트한다. 마이크로 서비스 시뮬레이터(0112)는, 당해 1 이상의 서비스의 각각에 관한 의존처의 서비스의 처리 상황의 변경 전후의 시스템 거동을 나타내는 정보를 포함한 정보를 표시한다. 이에 의해, 유저는, 의존처 서비스의 처리 상황의 변경(의존원 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나의 변경)의 전후에서의 시스템 거동을 비교할 수 있다.Specifically, for example, during execution of the simulation, the microservice simulator 0112, for each of one or more services included in the service system, based on the other service request transmission policy 0107, the destination of the service dependent. Changes the processing status of the service of , and changes at least one of the processing content of the service and the request transmission destination accordingly, and simulates the system behavior after the change. The microservice simulator 0112 displays information including information indicating the system behavior before and after the change of the processing status of the dependent service for each of the one or more services. Thereby, the user can compare the system behavior before and after the change of the processing status of the dependent destination service (change of at least one of the processing content of a dependent service and a request sending destination).

또한, 입력 데이터 스토리지(0105), 리퀘스트 템플릿 DB(0101), 서비스 템플릿 DB(0102), 입력 데이터 리포지터리(0104), 및 시뮬레이션 로그 DB(0113) 중 적어도 하나는, 1 이상의 계산기가 갖는 기억부에 의해 실현된다.In addition, at least one of the input data storage (0105), the request template DB (0101), the service template DB (0102), the input data repository (0104), and the simulation log DB (0113) is stored in a storage unit of one or more calculators. is realized by

도 2는, 마이크로 서비스 시뮬레이터(0112)를 유저가 이용할 때의 이용 흐름도를 나타낸다.Fig. 2 shows a flow chart when a user uses the microservice simulator 0112.

유저의 이용이 개시되면(0201), 우선, 유저는, 시뮬레이션 입력 데이터 작성 툴(0103)을 사용하여, 입력 데이터를 작성한다(0202). 입력 데이터는, 리퀘스트 템플릿 DB(0101)나 서비스 템플릿 DB(0102)에 저장된 템플릿을 사용하여 작성해도, 입력 데이터 리포지터리(0104)로부터 과거의 입력 데이터를 임포트하여, 그것을 수정하거나, 또는 수정하지 않고 작성해도 된다. 그 후, 유저는, 작성한 입력 데이터를 입력 데이터 스토리지(0105)에 보존한다(0203).When the user's use is started (0201), first, the user creates input data using the simulation input data creation tool 0103 (0202). Even if input data is created using a template stored in the request template DB (0101) or service template DB (0102), past input data is imported from the input data repository (0104) and created with or without modification. also be After that, the user saves the created input data in the input data storage 0105 (0203).

다음으로, 유저는, 마이크로 서비스 시뮬레이터(0112)에 대해서, 입력 데이터 스토리지(0105)에 보존되어 있는 입력 데이터를 로딩하도록 명령한다(0204). 로딩이 왼료되면, 유저는, 마이크로 서비스 시뮬레이터(0112)에 대해서, 시뮬레이션의 개시를 명령한다(0205).Next, the user instructs the microservice simulator 0112 to load the input data stored in the input data storage 0105 (0204). When loading is finished, the user instructs the microservice simulator 0112 to start the simulation (0205).

시뮬레이션이 개시 후, 유저는 외란 입력 콘솔(0110)을 사용하여, 하나 이상의 서비스에 대한 외란의 모의 발생을 지시할 수 있다(0206). 외란의 영향을 시뮬레이션으로 확인할 필요가 없는 경우에는, 이 스텝은 행하지 않아도 된다.After the simulation is initiated, the user can use the disturbance input console 0110 to instruct 0206 to simulate the disturbance for one or more services. If it is not necessary to confirm the effect of disturbance by simulation, this step may not be performed.

또한, 유저는, 시뮬레이션의 실행 중에, 타 서비스 리퀘스트 송신 폴리시(0107)를 변경할 수 있다(0207). 타 서비스 리퀘스트 송신 폴리시를 시뮬레이션 중에 변경하기 위해서는, 예를 들어 먼저 유저가 변경 후의 타 서비스 리퀘스트 송신 폴리시(0107)를 입력 데이터 스토리지(0105) 내에 준비하고, 마이크로 서비스 시뮬레이터(0112)에, 변경 후의 타 서비스 리퀘스트 송신 폴리시(0107)를 임포트하도록 명령한다. 만일 시뮬레이션 중에, 타 서비스 리퀘스트 송신 폴리시(0107)를 수정할 필요가 없는 경우에는, 이 스텝은 행하지 않아도 된다.In addition, the user can change the other service request transmission policy 0107 while the simulation is running (0207). In order to change the other service request transmission policy during simulation, for example, the user first prepares the changed other service request transmission policy 0107 in the input data storage 0105, and sends it to the microservice simulator 0112 in the microservice simulator 0112 after the change. Instructs to import the service request transmission policy (0107). If it is not necessary to modify the other service request transmission policy 0107 during simulation, this step does not need to be performed.

또한, 유저는, 시뮬레이션의 실행 중에, 리퀘스트 생성 폴리시(0108)를 변경 할 수 있다(0208). 리퀘스트 생성 폴리시(0108)를 변경하는 경우에는, 예를 들어 타 서비스 리퀘스트 송신 폴리시(0107)의 변경과 마찬가지로, 유저가 우선 입력 데이터 스토리지(0105)에 변경 후의 리퀘스트 생성 폴리시(0108)를 준비하고, 마이크로 서비스 시뮬레이터(0112)로 변경 후의 리퀘스트 생성 폴리시(0108)를 임포트하도록 명령한다. 만일 시뮬레이션 중에, 리퀘스트 생성 폴리시(0108)를 수정할 필요가 없는 경우에는, 이 스텝은 행하지 않아도 된다.Also, the user can change the request creation policy 0108 (0208) while the simulation is running. When changing the request generation policy 0108, for example, similarly to the change of the other service request transmission policy 0107, the user first prepares the changed request generation policy 0108 in the input data storage 0105, Instructs the microservice simulator (0112) to import the request creation policy (0108) after the change. If it is not necessary to modify the request generation policy 0108 during simulation, this step may not be performed.

시뮬레이션의 종료 조건은, 임의의 조건이어도 된다. 예를 들어, 종료 조건은, 가상 시스템에 대한 리퀘스트가, 리퀘스트 생성 폴리시(0108)에 기재된 메시지 생성 횟수만큼, 가상 시스템에 투입되어, 리퀘스트에 따른 처리가 실행을 끝마치거나, 혹은 시뮬레이션 중에 유저가 마이크로 서비스 시뮬레이터(0112)에, 시뮬레이션 종료 명령을 보내는 것이다. 전술한 어느 쪽의 조건에 적합한 경우에는, 시뮬레이션이 종료되고(0209), 유저의 이용은 종료로 된다(0210).Any conditions may be sufficient as the completion|finish condition of a simulation. For example, the termination condition is that a request to the virtual system is inputted to the virtual system as many times as the number of times of message generation described in the request creation policy 0108, processing according to the request is completed, or the user It sends a simulation end command to the microservice simulator 0112. When any of the above conditions is satisfied, the simulation is finished (0209), and the user's use is ended (0210).

도 3은, 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)의 실행에 이용되는 장치의 내부 구성을 나타낸다. 당해 장치는, 시뮬레이션 장치의 일례이며, 계산기여도 된다. 이하, 도 3에 예시된 장치를, 편의상, 「시뮬레이션 장치」라고 칭한다. 또한, 본 실시예에서는, 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)가 상기 장치에서 실행되지만, 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)는, 서로 다른 2 이상의 계산기에서 실행되어도 된다.3 shows the internal configuration of an apparatus used for execution of the simulation input data creation tool 0103 and the microservice simulator 0112. As shown in FIG. This apparatus is an example of a simulation apparatus, and a computer may be sufficient as it. Hereinafter, the device illustrated in FIG. 3 is referred to as a “simulation device” for convenience. Further, in the present embodiment, the simulation input data creation tool 0103 and the microservice simulator 0112 are executed in the device, but the simulation input data creation tool 0103 and the microservice simulator 0112 are two or more different from each other. It may be run on a calculator.

시뮬레이션 장치(0301)는, 프로세서부(0302)와 I/O 인터페이스 디바이스부(0303)와 기억부(0304)와 통신 인터페이스 디바이스부(0305)로 구성되고, 그들은 내부의 버스로 서로 접속되어 있다. I/O 인터페이스 디바이스부(0303)와 통신 인터페이스 디바이스부(0305)는, 인터페이스 디바이스부이다. I/O 인터페이스 디바이스부(0303)에, 키보드와 같은 입력 디바이스나 액정 디스플레이와 같은 출력 디바이스와 같은 1 이상의 유저 인터페이스 디바이스가 접속된다. 통신 인터페이스 디바이스부(0305)에, 1 이상의 외부 장치(0306)가, 예를 들어 인터넷과 같은 네트워크 경유로 접속된다. 단, 기억부(0304)에 저장되는 데이터는 장치마다 상이하고, 각각의 장치의 기억부(0304)에는, 그 장치의 기능을 실현하기 위한 프로그램과, 이벤트 로그나 이벤트 로그에 대한 처리를 행한 후의 데이터를 저장하는 기억 영역이 존재해도 된다. 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)는, 기억부(0304)로부터 로드되고 프로세서부(0302)에 의해 실행된다.The simulation apparatus 0301 is composed of a processor unit 0302, an I/O interface device unit 0303, a storage unit 0304, and a communication interface device unit 0305, which are connected to each other by an internal bus. The I/O interface device section 0303 and the communication interface device section 0305 are interface device sections. To the I/O interface device portion 0303, one or more user interface devices such as an input device such as a keyboard or an output device such as a liquid crystal display are connected. One or more external devices 0306 are connected to the communication interface device unit 0305 via a network such as the Internet, for example. However, the data stored in the storage unit 0304 is different for each device, and in the storage unit 0304 of each device, a program for realizing the function of the device and an event log or event log after processing is performed. A storage area for storing data may exist. The simulation input data creation tool 0103 and the microservice simulator 0112 are loaded from the storage unit 0304 and executed by the processor unit 0302 .

도 4는, 시뮬레이션 입력 데이터 작성 툴(0103)에 의해 표시되는 시스템 구성 작성 지원 화면을 나타낸다.4 : shows the system configuration creation support screen displayed by the simulation input data creation tool 0103.

시스템 구성 작성 지원 화면(0401)은, 복수의 UI로서, 서비스 템플릿 화면(0404)(제1 UI의 일례), 시스템 구성 설계 화면(0405)(제2 UI의 일례), 및 서비스 상세 화면(0406)(제3 UI의 일례)을 갖는다. 시스템 구성(0106)이 포함하는 1 이상의 정보 요소는, 시스템 구성 작성 지원 화면(0401) 경유로 입력된 정보 요소이다.A system configuration creation support screen 0401 is a plurality of UIs: a service template screen 0404 (an example of a first UI), a system configuration design screen 0405 (an example of a second UI), and a service detail screen 0406 ) (an example of the third UI). One or more information elements included in the system configuration 0106 are information elements input via the system configuration creation support screen 0401 .

서비스 템플릿 화면(0404)은, 서비스 템플 DB(0102)에 저장되어 있는 하나 또는 복수의 서비스 템플릿 중 원하는 1 이상의 서비스 템플릿의 선택을 유저로부터 접수하는 UI이다. 당해 화면(0404)에는, 예를 들어 4개의 서비스 템플릿에 각각 대응한 4개의 템플릿 오브젝트(0407 내지 0410)가 표시되어 있다.The service template screen 0404 is a UI for receiving, from the user, selection of one or more desired service templates among one or a plurality of service templates stored in the service template DB 0102 . On the screen 0404, for example, four template objects 0407 to 0410 respectively corresponding to the four service templates are displayed.

시스템 구성 설계 화면(0405)은, 서비스 템플릿 화면(0404)으로부터 선택된 1 이상의 서비스 템플릿(템플릿 오브젝트)에 각각 대응한 1 이상의 서비스 오브젝트를 표시하고, 당해 1 이상의 서비스 오브젝트의 의존 관계의 지정을 유저로부터 접수하는 UI이다. 도 4의 예에서는, 5개의 서비스에 각각 대응한 5개의 서비스 오브젝트(0411 내지 0415)가 표시되어 있다. 적어도 하나의 서비스 오브젝트가, 서비스 템플릿 화면(0404)으로부터 선택된 서비스 템플릿에 대응한 서비스 오브젝트여도 된다. 또한, 서비스 템플릿 화면(0404)에는, 어느쪽의 서비스 템플릿을 사용 하는 일 없이 작성된 서비스에 대응하는 서비스 오브젝트가 표시되어도 된다. 시스템 구성 설계 화면(0405)에 있어서, 서비스 간의 의존 관계는, 서비스 오브젝트(노드) 간의 화살표(에지)로 표현 가능하지만, 타종의 표현이 채용되어도 된다. 화살표로 연결된 2개의 서비스 오브젝트에 있어서, 화살표의 시점(원)에 있는 서비스 오브젝트는, 의존원의 서비스에 대응한 오브젝트이며, 화살표의 종점(처)에 있는 서비스 오브젝트는, 의존처의 서비스에 대응한 오브젝트이다.The system configuration design screen 0405 displays one or more service objects respectively corresponding to one or more service templates (template objects) selected from the service template screen 0404, and allows the user to specify a dependency relationship of the one or more service objects. This is the receiving UI. In the example of FIG. 4 , five service objects 0411 to 0415 respectively corresponding to the five services are displayed. The at least one service object may be a service object corresponding to the service template selected from the service template screen 0404 . Note that, on the service template screen 0404, a service object corresponding to a service created without using any service template may be displayed. In the system configuration design screen 0405, the dependency relationship between services can be expressed by arrows (edges) between service objects (nodes), but other types of expressions may be employed. In two service objects connected by an arrow, the service object at the starting point (circle) of the arrow is an object corresponding to the service of the dependent source, and the service object at the end point (destination) of the arrow corresponds to the service of the dependent source is one object.

서비스 상세 화면(0406)은, 시스템 구성 설계 화면(0405)에 전개(표시)된 1 이상의 서비스 오브젝트 중 선택된 서비스 오브젝트(예를 들어 서비스 C의 오브젝트(0413))에 대응한 서비스 템플릿에 대한 1 이상의 값의 입력을 접수하는 UI이다.The service detail screen 0406 shows one or more service templates corresponding to the selected service object (for example, the service C object 0413) among the one or more service objects deployed (displayed) on the system configuration design screen 0405. It is a UI that accepts input of values.

서비스 시스템을 구성하는 복수의 서비스의 적어도 하나는, 서비스 상세 화면(0406)을 통해 입력된 1 이상의 값이 설정된 서비스 템플릿에 기초하는 서비스이다. 서비스 템플릿을 이용함으로써, 서비스 시스템의 설계를 효율적으로 행할 수 있다. 적어도 하나의 서비스 템플릿은, 과거에 작성된 서비스 그 자체여도 된다.At least one of the plurality of services constituting the service system is a service based on a service template in which one or more values input through the service detail screen 0406 are set. By using the service template, it is possible to efficiently design the service system. The at least one service template may be a service itself created in the past.

도 4에 예시된 시스템 구성 작성 지원 화면(0401)을 이용하여, 유저는, 예를 들어 다음과 같이 하여, 서비스 시스템을 설계할 수 있다. 또한, 당해 화면(0401)에 대한 유저 조작에 응답한 표시는, 시뮬레이션 입력 데이터 작성 툴(0103)에 의해 제어된다.Using the system configuration creation support screen 0401 illustrated in FIG. 4 , the user can design a service system as follows, for example. In addition, the display in response to a user operation on the screen 0401 is controlled by the simulation input data creation tool 0103 .

유저는, 시스템 구성 설계 화면(0405)에서, 시스템 구성(0106)을 기술한다. 시스템 구성(0106)에는, 시스템 내에서 이용하는 서비스의 전부와, 서비스 간의 의존 관계가 표현된다. 서비스 간을 연결하는 화살표는, 어떤 서비스가 다른 서비스에 리퀘스트를 송신하는 것을 의미하고 있다. 예를 들어, 서비스 A의 의존처는 서비스 B 및 서비스 C이기 때문에, 서비스 A는, 서비스 B와 서비스 C에 리퀘스트를 송신하게 된다.The user describes the system configuration 0106 on the system configuration design screen 0405 . In the system configuration 0106, all of the services used in the system and the dependency relationship between the services are expressed. Arrows connecting services indicate that one service sends a request to another service. For example, since service A depends on service B and service C, service A transmits a request to service B and service C.

유저가, 시스템 구성 설계 화면(0405) 내의 서비스를 선택하면, 선택한 서비스의 상세가, 서비스 상세 화면(0406)에 표시된다. 서비스의 상세예로서, 서비스가 리퀘스트마다의 처리에서 소비하는 리소스양이 표시된다. 소비하는 리소스의 양을 설정하는 항목에 대응한 UI로서, CPU 수의 입력용 UI(0416)와, 메모리양의 입력용 UI(0417)와, 동시에 다수의 리퀘스트가 도착할 때 리소스양을 동적으로 증가시키는 오토스케일의 대응 유무의 설정용 UI(0418)가 표시된다. 이들 값은, 마이크로 서비스 시뮬레이터(0112)의 입력 데이터로서, 유저를 설정할 수 있도록 한다. 오토스케일에 대응하지 않는 경우에는, 각 서비스에 할당되는 리소스양도 설정할 수 있도록 한다. 서비스 상세 화면(0406)의 리스폰스 타임 변동 항목의 UI(0419)에서는, 유저가 서비스의 리스폰스 타임을 설정할 수 있다. 서비스 상세 화면(0406)의, 처리 동기성 항목의 UI(0420)에서는, 그 서비스가 리퀘스트를 받을 때, 리퀘스트원을 리스폰스 대기 상태에서 기다리게 하거나, 기다리게 하지 않고 비동기적으로 처리를 행할지를, 유저가 설정할 수 있다.When the user selects a service in the system configuration design screen 0405 , details of the selected service are displayed on the service detail screen 0406 . As a detailed example of the service, the amount of resources the service consumes in processing for each request is displayed. As a UI corresponding to an item for setting the amount of resources to be consumed, a UI for input of the number of CPUs (0416) and a UI (0417) for input of the amount of memory, and at the same time, when a large number of requests arrive, the amount of resources is dynamically increased A UI 0418 for setting whether or not auto-scale is supported is displayed. These values allow the user to be set as input data of the microservice simulator 0112. If autoscale is not supported, the amount of resources allocated to each service can also be set. In the UI 0419 of the response time change item of the service detail screen 0406, the user can set the response time of the service. In the UI 0420 of the processing synchronization item of the service detail screen 0406, when the service receives a request, the user can select whether to make the request source wait in a response waiting state or perform processing asynchronously without waiting. can be set.

서비스 상세 화면(0406)에 있어서의 리퀘스트의 처리 부하와, 리스폰스 타임 변동과, 처리 동기성의 항목은, 서비스가 처리하는 리퀘스트의 내용마다 개별로 기재하는 것도 가능하도록 한다.The items of request processing load, response time variation, and processing synchronization on the service detail screen 0406 can also be individually written for each request content processed by the service.

서비스 템플릿 화면(0404)에서는, 시스템 구성 설계 화면(0405) 내에 포함하는 서비스의 서비스 템플릿이 전부 또는 부분적으로 일람 표시된다. 유저가, 서비스 템플릿을, 시스템 구성 설계 화면(0405)에 붙이면, 붙여진 서비스 템플릿은 서비스로서 인식된다. 서비스 템플릿으로 만들어진 서비스는, 서비스 상세 화면(0406)에 값이 설정되어 있으며, 유저는 필요하면 어느 항목의 값을 수정한다. 이에 의해, 유저가 시스템 구성(0106)을 작성하는 시간이 단축된다.In the service template screen 0404, all or part of the service templates of the services included in the system configuration design screen 0405 are displayed as a list. When a user pastes a service template on the system configuration design screen 0405, the pasted service template is recognized as a service. In the service created by the service template, a value is set on the service detail screen 0406, and the user corrects the value of a certain item if necessary. Thereby, the time required for the user to create the system configuration 0106 is shortened.

시스템 구성의 설계가 완료된 경우, 유저가 보존 버튼(0403)을 클릭 또는 탭 함으로써, 설계된 시스템 구성을 나타내는 시스템 구성(0106)이, 입력 데이터 리포지터리(0104)와 입력 데이터 스토리지(0105)에 보존된다. 또한, 임포트 버튼(0402)을 클릭함으로써, 입력 데이터 리포지터리(0104)에 보존된 시스템 구성(0106)을, 시스템 구성 설계 화면(0405)에 임포트할 수 있다.When the design of the system configuration is completed, when the user clicks or taps the save button 0403, the system configuration 0106 indicating the designed system configuration is saved in the input data repository 0104 and the input data storage 0105. Also, by clicking the import button 0402, the system configuration 0106 saved in the input data repository 0104 can be imported into the system configuration design screen 0405.

도 4에 예시한 바와 같이, 유저가, 서비스의 선택(작성)과 서비스 간의 의존 관계의 구축을 반복함으로써, 서비스 시스템을 설계할 수 있다. 설계된 서비스 시스템 중 적어도 하나의 서비스는, 유저측(시스템 개발측)과는 상이한 조직이 개발한 서비스일 수 있다. 유저는, 각 서비스 간에서 의존 관계를 갖는 복수의 서비스의 제휴에 의해 하나 또는 복수의 업무를 실현하는 서비스 시스템을 설계한다.As illustrated in FIG. 4 , the user can design a service system by repeating selection (creation) of a service and establishment of a dependency relationship between services. At least one service among the designed service systems may be a service developed by an organization different from the user side (system development side). A user designs a service system for realizing one or a plurality of tasks by cooperating with a plurality of services having a dependency relationship between the respective services.

또한, 시뮬레이션 입력 데이터 작성 툴(0103)에서, 각 서비스의 타 서비스 리퀘스트 송신 폴리시(0107)와, 시스템에의 리퀘스트 생성 폴리시(0108)를, 유저가 설정하는 화면이 있어도 되게 한다.In addition, in the simulation input data creation tool 0103, there may be a screen in which the user sets the other service request transmission policy 0107 for each service and the request generation policy 0108 to the system.

도 5는, 타 서비스 리퀘스트 송신 폴리시(0107)의 일례를 나타낸다. 도 5의 타 서비스 리퀘스트 송신 폴리시(0107)는, JSON(JavaScript(등록상표) Object Notation) 포맷에 따르고 있지만, 포맷은 JSON일 필요는 없다.5 shows an example of another service request transmission policy 0107. The other service request transmission policy 0107 in Fig. 5 conforms to the JSON (JavaScript (registered trademark) Object Notation) format, but the format does not have to be JSON.

0503행째의 기술은, 0502행째부터 0528행째에 기술되어 있는 폴리시의 적용 대상인 서비스를 지정하고 있다. 0504행째의 기술은, 0503행째에 지정된 서비스가, 리퀘스트를 기다리는 서비스의 식별자이다. "{"와 "}"로 둘러싸인 개소는, 변수를 나타내고 있다. 유저는, 변수의 값마다, 서비스에 도달한 리퀘스트의 처리와 전송처를 기술할 수 있다. 0505행째의 기술은, 포트 번호를 나타낸다. 0507행째의 기술은, 서비스에 대한 리퀘스트의 메소드를 나타낸다. 예를 들어, HTTP에 의한 리퀘스트를 기다리는 경우에는, GET, PUT, PUSH, DELETE 중 어느 것이 지정된다. 0509행째와 0510행째의 기술은, 0504행째의 문자열의 변수로서 지정되어 있던 개소의 값을 지정하고 있다. 여기에서의 애스테리스크는, 임의의 문자열을 나타낸다. 특별히 애스테리스크일 필요는 없으며, 엔드 포인트의 기술로서 유효하지 않은 문자 또는 문자열이면 된다. 0511행째부터 0526행째의 기술은, 엔드 포인트가 0504행째와 0509행째와 0510행째의 기술의 조합으로 지정된 리퀘스트에 대한 처리와 전송처를 나타내고 있다.The description in line 0503 specifies the service to which the policy described in lines 0502 to 0528 is applied. The description in the 0504th line is an identifier of the service for which the service specified in the 0503th line is waiting for a request. A location surrounded by "{" and "}" represents a variable. The user can describe, for each variable value, the processing and transfer destination of a request that has reached the service. The description on the 0505th line indicates a port number. The description in line 0507 indicates the method of a request to the service. For example, when waiting for a request by HTTP, any of GET, PUT, PUSH, and DELETE is specified. The description on the 0509th and 0510th lines designates the value of the location designated as the variable of the 0504th line of the character string. An asterisk here represents an arbitrary character string. It does not need to be an asterisk in particular, and any character or character string that is not valid as an endpoint description is sufficient. The descriptions in lines 0511 to 0526 indicate processing and transfer destinations for requests whose endpoints are specified by the combination of descriptions in lines 0504, 0509, and 0510.

0512행째부터 0524행째의 기술은, 리퀘스트의 송신처 서비스와, 송신처 서비스에 리스폰스가 장시간 돌아오지 않는 등의 장애가 발생한 경우의 처리를 나타내고 있다. 0513행째의 기술은, 리퀘스트의 송신처 서비스를 나타내고 있다. 0514행째는, 리퀘스트의 메소드를 나타낸다. 0515행째의 기술은, 리퀘스트 송신처의 엔드 포인트를 나타낸다. 0517행째와 0524행째의 기술은, 송신처의 서비스에 장애가 발생했다고 간주하는 지표와 기준을 나타낸다. 도 5의 예에서는, 서비스 C가 서비스 D에 장애가 발생했다고 간주하는 기준으로서, 서비스 D의 리스폰스 타임이 50㎳ 이상이라고 설정되어 있다. 이 밖의 장애 판정 기준으로서, 서비스 C가 서비스 D에 보내서 아직 리스폰스가 돌아오지 않는 리퀘스트 수가, 일정수를 초과한 경우에 장애로 간주하는 등의 장애의 판정 기준도 지정할 수 있도록 한다. 0518행째의 기술은, 리퀘스트 송신처의 서비스에 장애가 발생했다고 간주한 경우의 처리를 지정하고 있다. 도 5의 예에서는, 서비스 D에서 장애가 발생하였다고 간주하면, 다음에 서비스 D에 송신해야 할 리퀘스트는, 서비스 D로 송신하지 않고, 서비스 C에 리퀘스트를 송신한 서비스에, 에러를 나타내는 리스폰스를 돌려준다. 그 조작은, 시스템 전체의 리스폰스 타임이, 서비스 D의 장애에 의해 장시간화하는 것을 방지한다.The description in the 0512th to the 0524th line shows the processing in the case where a failure occurs, such as a response not returning to the request destination service and the destination service for a long time. The description in the 0513th line indicates the request transmission destination service. Line 0514 shows the request method. The description in line 0515 indicates the end point of the request transmission destination. The descriptions on the 0517th and 0524th lines indicate indicators and standards for considering that a failure has occurred in the service of the sender. In the example of FIG. 5 , as a criterion for the service C to consider that a failure has occurred in the service D, the response time of the service D is set to be 50 ms or more. As another failure determination criterion, it is also possible to specify failure determination standards, such as when the number of requests for which service C has sent to service D and has not yet returned a response exceeds a certain number, it is regarded as a failure. The description in line 0518 specifies processing when it is considered that a failure has occurred in the service of the request destination. In the example of Fig. 5, assuming that a failure has occurred in the service D, the next request to be transmitted to the service D is not transmitted to the service D, but a response indicating an error is returned to the service that transmitted the request to the service C . This operation prevents the overall system response time from being prolonged due to the failure of the service D.

유저는, 0517행째부터 0523행째에 상당하는 개소에, 리퀘스트 송신처에서 장애가 발생했을 때 리퀘스트를 보낼 곳의 서비스를 지정할 수 있다. 예를 들어, 시스템을 감시하는 서비스에 경고 메시지를 송신하는 경우에는, 유저는 시스템을 감시하는 서비스를 지정한다.The user can designate a service to which a request is to be sent when a failure occurs in the request transmission destination at a location corresponding to lines 0517 to 0523. For example, when a warning message is transmitted to a system monitoring service, the user designates a system monitoring service.

0522행째의 기술은, 리퀘스트 송신처의 서비스가 장애로부터 회복되었다고 간주하는 기준을 나타내고 있다. 도 5의 예에서는, 시간으로 하고 있으며, 0523행째의 기술에 의해, 시간이 1초 경과하면, 서비스 D가 장애로부터 복구되었다고 간주하는 것을 의도하고 있다.The description in line 0522 shows the standard for judging that the service of the request transmission destination has recovered from the failure. In the example of Fig. 5, it is set as time, and by the description of line 0523, when the time has elapsed by 1 second, it is intended to consider that the service D has recovered from the failure.

0503행째에서 지정한 서비스가, 복수의 서비스에 리퀘스트를 보내는 경우, 유저는 0512행째부터 0525행째의 기술을, 배열 형식으로 열거한다. 또한, 0503행째에서 지정한 서비스가, 복수의 리퀘스트 메소드를 접수하는 경우, 유저는 0507행째부터 0528행째의 기술을, 메소드를 키로 한 연상 배열로 열거한다. 또한, 유저는 0502행째부터 0530행째의 기술을, 시스템 구성(0106)에 포함되는 전체 서비스마다 배열 형식으로 열거한다.When the service specified in line 0503 sends a request to a plurality of services, the user enumerates the descriptions in lines 0512 to 0525 in an array format. In addition, when the service designated in line 0503 accepts a plurality of request methods, the user enumerates the descriptions in lines 0507 to 0528 in an associative array using the method as a key. In addition, the user enumerates the descriptions of lines 0502 to 0530 in an array form for all services included in the system configuration 0106 .

도 5의 예에 의하면, 타 서비스 리퀘스트 송신 폴리시(0107)는, 1 이상의 서비스의 각각에 대하여, 하나의 서비스를 예로 들면(도 5의 설명에 있어서 「대상 서비스」), 하기 중 적어도 하나,According to the example of Fig. 5, the other service request transmission policy 0107 is, for each of one or more services, one service as an example (“target service” in the description of Fig. 5), at least one of the following:

·대상 서비스의 ID,· ID of the target service;

·대상 서비스의 의존처의 서비스(예를 들어, 대상 서비스가 리퀘스트를 기다리는 서비스)의 ID,· ID of the service on which the target service depends (eg, the service for which the target service is waiting for a request);

·대상 서비스에 도달한 리퀘스트의 통상 시에서의 처리 내용(「통상 시」란, 의뢰처 서비스의 문제 시 이외일 때),・Processing details of requests that have reached the target service in the normal time (“normal time” means other than when there is a problem with the client service);

·의뢰처 서비스에 문제가 있다고 하는 조건(예를 들어, 리스폰스 타임 임계값),・Condition that there is a problem with the requester service (eg, response time threshold);

·당해 조건이 충족된 경우인 문제 시에서의 처리 내용 및 리퀘스트 송신처 중 적어도 하나・At least one of the processing contents and the request destination in the case of a problem when the conditions are satisfied

를 포함한다.includes

도 6은, 리퀘스트 생성 폴리시(0108)의 일례를 나타낸다. 도 6의 리퀘스트 생성 폴리시(0108)는, JSON(JavaScript(등록상표) Object Notation) 포맷에 따르고 있지만, 포맷은 JSON일 필요는 없다.6 shows an example of a request generation policy 0108. Although the request generation policy 0108 in Fig. 6 conforms to the JSON (JavaScript (registered trademark) Object Notation) format, the format does not have to be JSON.

리퀘스트 생성 폴리시(0108)는, 시뮬레이션 중에 시스템에 대한 리퀘스트를 생성할 때의 폴리시다. 0603행째의 기술은, 리퀘스트의 프로토콜을 나타내고 있다. 0604행째의 기술은, 시스템에 대한 리퀘스트 송신처인 엔드 포인트를 나타내고 있다. 0605행째의 기술은, 엔드 포인트의 포트 번호를 나타내고 있다. 0606행째의 기술은, 시뮬레이션 중에 시스템에 송신되는 리퀘스트의 수를 나타내고 있다. 0617행째와 같이, 리퀘스트 수의 항목에 수치 이외의 문자를 입력한 경우에는, 리퀘스트가 시스템에 영구적으로 계속해서 보내진다. 0607행째부터 0611행째의 기술은, 시스템에 대한 리퀘스트의 송신 레이트를 나타내고 있다. 도 6의 0607행째부터 0611행째의 예에서는, 단위 시간당 평균 100 리퀘스트이며, 분산이 10의 정규 분포에 따르는 확률로 리퀘스트가 송신된다.The request creation policy 0108 is a policy for generating a request to the system during simulation. The description of line 0603 shows the protocol of the request. The description on line 0604 indicates an endpoint that is a request destination for the system. The description on the 0605th line indicates the port number of the endpoint. The description in line 0606 indicates the number of requests transmitted to the system during simulation. As shown in line 0617, when a character other than a numeric value is entered in the number of requests, requests are continuously sent to the system permanently. The description in the 0607th to the 0611th line indicates the transmission rate of the request to the system. In the example of lines 0607 to 0611 in Fig. 6, the average is 100 requests per unit time, and the requests are transmitted with a probability that the variance follows a normal distribution of 10.

시스템에 복수 종류의 리퀘스트를 보내는 경우나, 복수의 서비스에 리퀘스트를 송신하는 경우, 0602행째부터 0612행째의 기술과 동등한 기술을, 복수 기재한다. 도 6의 예에서는, 시뮬레이션 중에, 서비스 A의 80번 포트에, HTTP 프로토콜로, 단위 시간당 평균 100개이면서 또한 분산이 10인 정규 분포에 따르는 송신 레이트로 리퀘스트가 도착하고, 또한, 서비스 B의 18181번 포트에, Thrift 프로토콜로, 단위 시간당 100개의 리퀘스트가 고정 레이트로 도착한다.When sending multiple types of requests to the system or sending requests to multiple services, a plurality of descriptions equivalent to those in lines 0602 to 0612 are described. In the example of FIG. 6 , during the simulation, requests arrive at port 80 of service A by the HTTP protocol at a transmission rate according to a normal distribution with an average of 100 pieces per unit time and a variance of 10, and 18181 of service B On port No. 1, with the Thrift protocol, 100 requests per unit time arrive at a fixed rate.

도 7은, 마이크로 서비스 시뮬레이터(0112)의 시스템 구성을 나타낸다.7 shows the system configuration of the microservice simulator 0112.

마이크로 서비스 시뮬레이터(0112)는, 시뮬레이션 제어부(0706)와, 입력 파일 로드부(0703)와, 가상 시스템 구축부(0704)와, 리퀘스트 생성부(0707)와 같은 복수의 모듈(기능)을 갖는다.The microservice simulator 0112 includes a plurality of modules (functions) such as a simulation control unit 0706 , an input file load unit 0703 , a virtual system construction unit 0704 , and a request generation unit 0707 .

시뮬레이션 제어부(0706)는, 유저로부터의 명령에 따라서, 시뮬레이션 환경의 구축, 시뮬레이션의 개시, 시뮬레이션의 일시 정지, 시뮬레이션의 종료, 특정한 서비스에 대한 외란의 입력을 행한다. 또한, 유저로부터의 명령은, 외란 입력 콘솔(0110), 폴리시 입력 콘솔(0113), 및 그 밖의 도시하지 않은 입력 콘솔 중 적어도 하나의 입력 콘솔 경유로 수신할 수 있다.The simulation control unit 0706 constructs the simulation environment, starts the simulation, pauses the simulation, ends the simulation, and inputs disturbance to a specific service according to a command from the user. In addition, the command from the user may be received via at least one of the disturbance input console 0110, the policy input console 0113, and other input consoles not shown.

입력 파일 로드부(0703)는, 시뮬레이션 제어부(0706)로부터의 지시에 따라서, 입력 데이터 스토리지(0105) 내에 존재하는 입력 파일(입력 데이터 세트의 일례)을 판독하고, 가상 시스템 구축부(0704)에 전송한다.The input file load unit 0703 reads an input file (an example of an input data set) existing in the input data storage 0105 according to an instruction from the simulation control unit 0706 , and sends it to the virtual system construction unit 0704 . send.

가상 시스템 구축부(0704)는, 입력 파일 로드부(0703)로부터 수취한 입력 파일을 기초로, 시뮬레이션 대상인 서비스 시스템을 마이크로 서비스 시뮬레이터(0112) 내에서 가상적으로 구축한다. 그 때, 가상 시스템 구축부(0704)는, 시스템 구성에 기초하여, 서비스 시스템에 포함되는 각 서비스의 인스턴스를 생성한다. 즉, 가상 시스템 구축부(0704)가, 복수의 서비스에 각각 대응한 복수의 가상 서비스(0708)로 구성된 가상적인 서비스 시스템인 가상 시스템(0700)을 구축한다. 따라서, 가상 시스템(0700)에 있어서, 각 가상 서비스 간의 의존 관계는, 서비스 시스템에 있어서의 각 서비스 간의 의존 관계와 동일하다. 각 가상 서비스(0708)는, 대응하는 서비스가 가상화된 서비스이며, 구체적으로는, 예를 들어 대응하는 서비스의 인스턴스에 상당한다.The virtual system building unit 0704 virtually builds a service system to be simulated in the microservice simulator 0112 based on the input file received from the input file loading unit 0703 . At that time, the virtual system building unit 0704 creates an instance of each service included in the service system based on the system configuration. That is, the virtual system building unit 0704 constructs a virtual system 0700 that is a virtual service system composed of a plurality of virtual services 0708 respectively corresponding to the plurality of services. Accordingly, in the virtual system 0700, the dependency relationship between the respective virtual services is the same as the dependency relationship between the respective services in the service system. Each virtual service 0708 is a service in which the corresponding service is virtualized, and specifically, corresponds to an instance of the corresponding service, for example.

시뮬레이션 제어부(0706)는, 유저로부터의 시뮬레이션의 제어를 접수한다. 시뮬레이션 제어부(0706)가 접수하는 제어는, 시뮬레이션 내에서의 가상 시스템(0700)의 구축과, 시뮬레이션의 개시와, 시뮬레이션의 일시 정지와, 시뮬레이션의 종료와, 특정한 서비스에 대한 의도적인 외란 발생 중 어느 것이다.The simulation control unit 0706 accepts control of the simulation from the user. The control received by the simulation control unit 0706 is any one of the establishment of the virtual system 0700 in the simulation, the start of the simulation, the pause of the simulation, the end of the simulation, and the intentional disturbance to a specific service. will be.

리퀘스트 생성부(0707)는, 시뮬레이션 중에, 가상 시스템(0700)에 입력하는 리퀘스트를 생성한다. 가상 시스템 구축부(0704)에 의해 생성된 가상 서비스(0708)는, 서비스 제어 수신부(0709)와, 서비스 처리부(0710)와, 타 서비스 리퀘스트부(0711)를 포함한다. 이하, 하나의 가상 서비스(0708)를 예로 든다(도 7의 설명에 있어서 「대상 가상 서비스(0708)」).The request generation unit 0707 generates a request input to the virtual system 0700 during simulation. The virtual service 0708 generated by the virtual system building unit 0704 includes a service control receiving unit 0709 , a service processing unit 0710 , and another service request unit 0711 . Hereinafter, one virtual service 0708 is taken as an example ("target virtual service 0708" in the description of FIG. 7).

서비스 제어 수신부(0709)는, 시뮬레이션 제어부(0706)로부터 대상 가상 서비스(0708)에 대한 제어를 접수한다. 예를 들어, 유저가 시뮬레이션을 일시 정지시키는 경우에는, 유저가 시뮬레이션 제어부(0706)에 대해서 일시 정지를 명령하고, 시뮬레이션 제어부(0706)가 각 가상 서비스(0708)의 서비스 제어 수신부(0709)에, 일시 정지 명령을 송신한다. 서비스 처리부(0710)는, 대상 가상 서비스(0708)가 처리를 행하고 있는 동안, 대상 가상 서비스(0708)의 처리에 필요한 리소스양을 계속해서 소비한다. 대상 가상 서비스(0708)의 처리 시간과 처리 중에 소비하는 리소스양은, 시스템 구성(0106) 내에서 지정된 값에 기초한다. 타 서비스 리퀘스트부(0711)는, 서비스 처리부(0710)에서 처리가 끝난 후에, 다른 가상 서비스(0708)에 리퀘스트를 송신한다. 리퀘스트 송신처는, 타 서비스 리퀘스트 송신 폴리시(0107)에서 지정된 룰에 따른다. 즉, 리퀘스트 송신처는, 원칙적으로 대상 가상 서비스(0708)의 의존처의 가상 서비스(0708)이지만, 의존처의 가상 서비스(0708)에 문제가 발생한 경우에는, 의존처의 가상 서비스(0708)와는 다른 가상 서비스(0708)로 될 수 있다. 바꿔 말하면, 대상 가상 서비스(0708)에 있어서, 통상의 리퀘스트 송신처는, 서비스 구성(0106)이 나타내는 의존 관계에 따르는 의존처의 가상 서비스(0708)이지만, 의존처의 가상 서비스(0708)에 문제가 발생한 경우의 리퀘스트 송신처는, 타 서비스 리퀘스트 송신 폴리시(0107)에 따르는 가상 서비스(0708)로 된다.The service control receiving unit 0709 receives control of the target virtual service 0708 from the simulation control unit 0706 . For example, when the user temporarily stops the simulation, the user instructs the simulation control unit 0706 to pause, and the simulation control unit 0706 sends the service control receiving unit 0709 of each virtual service 0708 to the Send a pause command. The service processing unit 0710 continues to consume the amount of resources required for the processing of the target virtual service 0708 while the target virtual service 0708 is processing. The processing time of the target virtual service 0708 and the amount of resources consumed during processing are based on values specified in the system configuration 0106 . The other service request unit 0711 transmits a request to the other virtual service 0708 after processing in the service processing unit 0710 is completed. The request transmission destination complies with the rule specified by the other service request transmission policy (0107). That is, the request destination is, in principle, the virtual service 0708 of the dependent destination of the target virtual service 0708, but when a problem occurs in the virtual service 0708 of the dependent destination, it is different from the virtual service 0708 of the dependent destination. virtual service 0708 . In other words, in the target virtual service 0708, the normal request transmission destination is the virtual service 0708 of the dependent destination according to the dependency relationship indicated by the service configuration 0106, but there is a problem with the virtual service 0708 of the dependent destination. In the case of occurrence, the request transmission destination is a virtual service 0708 conforming to the other service request transmission policy 0107.

각 서비스는, 전형적으로는 애플리케이션이며, 리퀘스트를 접수하는 입력 인터페이스의 일례로서의 API(Application Programming Interface)나, 다른 서비스의 입력 API에 대한 리퀘스트를 송신하는 출력 인터페이스의 일례로서의 API를 갖는다. 대상 가상 서비스(0708)에 있어서, 서비스 처리부(0710)는, 대상 가상 서비스(0708)에 대응한 서비스의 입력 API에 대응한 부분이며, 서비스 구성(0106)에 기초하는 값이 설정됨으로써 실현된 부분이다. 대상 가상 서비스(0708)에 있어서, 타 서비스 리퀘스트부(0711)는, 대상 가상 서비스(0708)에 대응한 서비스의 출력API에 대응한 부분이며, 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하는 값이 설정됨으로써 실현된 부분이다.Each service is typically an application, and has an API (Application Programming Interface) as an example of an input interface that accepts a request, and an API as an example of an output interface that sends a request to an input API of another service. In the target virtual service 0708 , the service processing unit 0710 is a part corresponding to the input API of the service corresponding to the target virtual service 0708 , and a part realized by setting a value based on the service configuration 0106 . to be. In the target virtual service 0708, the other service request unit 0711 is a part corresponding to the output API of the service corresponding to the target virtual service 0708, and a value based on the other service request transmission policy 0107 is It is a part that has been realized by setting it up.

이상과 같이, 각 가상 서비스(0708)는, 당해 가상 서비스(0708)가 갖는 출력 인터페이스는, 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하는 설정이 된 출력 인터페이스로서의 모듈인 타 서비스 리퀘스트부(0711)이다. 이에 의해, 의존처의 서비스에서 문제가 발생한 경우에 리퀘스트 송신처를 다른 서비스로 전환하는 것을 시뮬레이션에 있어서 실행할 수 있다. 또한, 의존처의 가상 서비스(0708)가 존재하지 않는 가상 서비스(0708)에는, 타 서비스 리퀘스트부(0711)가 마련되지 않아도 된다.As described above, in each virtual service 0708, the output interface included in the virtual service 0708 is a module as an output interface set based on the other service request transmission policy 0107, the other service request unit 0711 to be. Thereby, when a problem arises in the service of the dependent destination, it is possible in simulation to switch the request transmission destination to another service. In addition, in the virtual service 0708 in which the virtual service 0708 of a dependent destination does not exist, the other service request part 0711 does not need to be provided.

또한, 각 가상 서비스(0708)는, 입력 인터페이스로서 리퀘스트를 접수하고 당해 리퀘스트에 따르는 처리를 실행하는 서비스 처리부(0710)에 추가하여, 당해 가상 서비스(0708)에 있어서의 서비스 처리부(0710)(및 타 서비스 리퀘스트부(0711))를 제어하는 서비스 제어 수신부(0709)를 갖는다. 이에 의해, 서비스 처리부(0710)(및 타 서비스 리퀘스트부(0711)) 그 자체에 특별한 설정을 하는 일 없이, 서비스 처리부(0710)(및 타 서비스 리퀘스트부(0711))를 제어할 수 있다. 구체적으로는, 예를 들어 시뮬레이션의 실행 중이며, 가상 시스템(0700)의 구축 후에, 가상 시스템(0700)의 밖에 있는 시뮬레이션 제어부(0706)가, 타 서비스 리퀘스트 송신 폴리시(0107)의 변경 후의 폴리시(0107)를 접수하였다고 하자(본 실시예에 있어서, 유저는, 시뮬레이션 중에 표시되는 시스템 거동을 보아, 적절히 타 서비스 리퀘스트 송신 폴리시(0107) 및 리퀘스트 생성 폴리시(0108) 중 적어도 하나를 변경 가능). 이 경우, 당해 변경 후의 폴리시(0107)에 따르는 변경 대상의 타 서비스 리퀘스트부(0711)를 갖는 가상 서비스(0708)(예를 들어, 변경 후의 폴리시(0107)에서 지정된 서비스에 대응하는 가상 서비스(0708))에 있어서의 서비스 제어 수신부(0709)에, 당해 변경 후의 폴리시(0107)에 따르는 설정의 지시를 송신한다. 당해 지시를 받은 서비스 제어 수신부(0709)는, 당해 서비스 제어 수신부(0709)를 갖는 가상 서비스(0708) 내의 서비스 처리부(0710)를 일시 정지시켜, 당해 일시 정지 중에, 당해 가상 서비스(0708) 내의 타 서비스 리퀘스트부(0711)에 대해서, 당해 지시에 따르는 설정을 행한다. 이와 같이 하여, 시뮬레이션을 멈추는 일 없이, 변경 후의 폴리시(0107)를 반영할 수 있다.Further, each virtual service 0708 receives a request as an input interface and, in addition to the service processing unit 0710 that executes processing according to the request, a service processing unit 0710 in the virtual service 0708 (and It has a service control receiving unit 0709 that controls the other service request unit 0711). Accordingly, it is possible to control the service processing unit 0710 (and the other service request unit 0711) without making special settings in the service processing unit 0710 (and other service requesting unit 0711) itself. Specifically, for example, during simulation execution, after the virtual system 0700 is built, the simulation control unit 0706 outside the virtual system 0700 sets the policy 0107 after changing the other service request transmission policy 0107 ) is accepted (in the present embodiment, the user can change at least one of the other service request transmission policy 0107 and the request generation policy 0108 as appropriate by looking at the system behavior displayed during the simulation). In this case, a virtual service 0708 (for example, a virtual service 0708 corresponding to the service specified by the change policy 0107) having the change target other service request unit 0711 conforming to the change policy 0107. )), to the service control receiving unit 0709, an instruction for setting according to the changed policy 0107 is transmitted. Upon receiving the instruction, the service control receiving unit 0709 temporarily suspends the service processing unit 0710 in the virtual service 0708 having the service control receiving unit 0709, and during the temporary suspension, other users in the virtual service 0708 are suspended. The service request unit 0711 is set according to the instruction. In this way, the changed policy 0107 can be reflected without stopping the simulation.

또한, 본 실시예에서는, 서비스 처리부(0710)가, 능동적으로 규정된 처리를 실행하고 적절히 리퀘스트 송신을 타 서비스 리퀘스트부(0711)에 지시하는 것이 아니라, 리퀘스트를 외부로부터 수신한 것에 응답하여 처리를 실행하게 되어 있다. 구체적으로는, 가상 시스템(0700)의 외부에, 엔드 유저로서 리퀘스트를 송신하는 리퀘스트 생성부(0707)가 마련되어 있다. 리퀘스트 생성부(0707)는, 리퀘스트 생성 폴리시(0108)에 따르는 내용의 리퀘스트를, 당해 폴리시(0108)에 따르는 송신 레이트로 엔드 유저로서 가상 시스템(0700)에 송신하게 되어 있다. 시뮬레이션의 실행 중이며, 가상 시스템(0700)의 구축 후에, 가상 시스템(0700)의 밖에 있는 리퀘스트 생성부(0707)가, 시뮬레이션 제어부(0706) 경유로, 리퀘스트 생성 폴리시(0108)의 변경 후의 폴리시(0108)를 접수하였다고 하자. 이 경우, 리퀘스트 생성부(0707)가, 당해 변경 후의 폴리시(0108)에 따르는 내용의 리퀘스트를, 당해 변경 후의 폴리시(0108)에 따르는 송신 레이트로 엔드 유저로서 가상 시스템(0700)에 송신한다.In addition, in the present embodiment, the service processing unit 0710 does not actively execute the prescribed processing and appropriately instructs the other service requesting unit 0711 to transmit the request, but performs the processing in response to receiving the request from the outside. is to be executed. Specifically, outside the virtual system 0700, a request generating unit 0707 that transmits a request as an end user is provided. The request generation unit 0707 transmits a request with content conforming to the request generation policy 0108 to the virtual system 0700 as an end user at a transmission rate conforming to the policy 0108 . While the simulation is being executed, after the virtual system 0700 is built, the request generating unit 0707 outside the virtual system 0700 sends the request generation policy 0108 to the policy 0108 after the change via the simulation control unit 0706 . ) is received. In this case, the request generation unit 0707 transmits a request for contents conforming to the post-change policy 0108 to the virtual system 0700 as an end user at a transmission rate conforming to the post-change policy 0108 .

도 8은, 시뮬레이션 환경 구축의 처리 시퀀스를 나타낸다.Fig. 8 shows a processing sequence of building a simulation environment.

시뮬레이션 환경의 구축은, 시뮬레이션 개시 전에 실행된다. 유저가, 시뮬레이션 제어부(0706)에, 시뮬레이션 환경의 구축을 명령하면(0801), 시뮬레이션 제어부(0706)는, 입력 파일 로드부(0703)에, 입력 파일의 로드 명령을 송신한다(0802). 입력 파일 로드부(0703)는, 당해 명령에 응답하여, 입력 데이터 스토리지(0105)를 참조하고(0803), 입력 파일(입력 데이터)을 취득(0804)하여 수취한다(0805).Construction of the simulation environment is performed before starting the simulation. When the user instructs the simulation control unit 0706 to build a simulation environment (0801), the simulation control unit 0706 transmits an input file load command to the input file load unit 0703 (0802). In response to the command, the input file loading unit 0703 refers to the input data storage 0105 (0803), and acquires (0804) an input file (input data) and receives (0805).

그 후, 입력 파일 로드부(0703)는, 가상 시스템 구축부(0704)에, 시스템 구성(0106)과 타 서비스 리퀘스트 송신 폴리시(0107)를 전송한다(0806). 가상 시스템 구축부(0704)는, 시스템 구성(0106)과 타 서비스 리퀘스트 송신 폴리시(0107)에 따라서, 가상 시스템(0700)을 구축하는, 예를 들어 시스템 구성(0106)에 포함되는 서비스의 인스턴스를 시뮬레이션 환경 내에 생성한다(0807). 또한, 입력 파일 로드부(0703)는, 리퀘스트 생성부(0707)에 리퀘스트 생성 폴리시(0108)를 송신한다(0808). 리퀘스트 생성부(0707)는, 리퀘스트 생성 폴리시(0108)에 따라서, 서비스 시스템(가상 시스템(0700))으로 입력하는 리퀘스트의 내용과, 리퀘스트의 송신처인 서비스(당해 서비스에 대응한 가상 서비스(0708))와, 리퀘스트 송신 레이트를 설정한다(0809).Thereafter, the input file load unit 0703 transmits the system configuration 0106 and other service request transmission policy 0107 to the virtual system construction unit 0704 (0806). The virtual system building unit 0704 builds the virtual system 0700 according to the system configuration 0106 and other service request transmission policy 0107, for example, an instance of a service included in the system configuration 0106. Create in the simulation environment (0807). Further, the input file loading unit 0703 transmits the request generation policy 0108 to the request generation unit 0707 (0808). The request generation unit 0707, according to the request generation policy 0108, includes the contents of the request input to the service system (virtual system 0700), and the service (virtual service 0708 corresponding to the service) that is the destination of the request. ) and a request transmission rate is set (0809).

리퀘스트 생성 폴리시(0108)와, 타 서비스 리퀘스트 송신 폴리시(0107)는, 상술한 바와 같이, 시뮬레이션 중이어도, 시뮬레이션을 정지시키지 않고 변경하는 것이 가능하다.As described above, the request generation policy 0108 and other service request transmission policy 0107 can be changed even during simulation without stopping the simulation.

도 9는, 시뮬레이션 중의 폴리시 변경의 처리 시퀀스를 나타낸다.Fig. 9 shows a processing sequence of policy change during simulation.

시뮬레이션이 개시(0901)된 후, 유저가 새로운 리퀘스트 생성 폴리시(0108), 또는 타 서비스 리퀘스트 송신 폴리시(0107)를, 입력 데이터 스토리지(0105)에 준비한다.After the simulation is started (0901), the user prepares a new request creation policy (0108) or another service request transmission policy (0107) in the input data storage (0105).

유저가, 시뮬레이션 제어부(0706)에, 리퀘스트 생성 폴리시(0108)의 재로딩을 명령하면(0902), 시뮬레이션 제어부(0706)는, 입력 파일 로드부(0703)에, 새로운 리퀘스트 생성 폴리시(0108)의 취득을 명령한다(0903). 그 후, 입력 파일 로드부(0703)는, 입력 데이터 스토리지(0105)에 리퀘스트 생성 폴리시(0108)를 참조한다(0904). 입력 데이터 스토리지(0105)는, 해당하는 리퀘스트 생성 폴리시(0108)를 취득하고(0905), 입력 파일 로드부(0703)에 당해 폴리시(0108)를 송신한다(0906). 입력 파일 로드부(0703)는, 리퀘스트 생성부(0707)에 리퀘스트 생성 폴리시(0108)를 전송한다(0907). 리퀘스트 생성부(0707)는, 취득한 새로운 리퀘스트 생성 폴리시를 반영하고(0908), 새로운 리퀘스트 생성 폴리시(0108)에 기초하여, 서비스 시스템(가상 시스템(0700))에 리퀘스트를 송신한다.When the user instructs the simulation control unit 0706 to reload the request generation policy 0108 (0902), the simulation control unit 0706 sends the input file loading unit 0703 to the new request generation policy 0108. An acquisition is ordered (0903). Then, the input file load unit 0703 refers to the request creation policy 0108 to the input data storage 0105 (0904). The input data storage 0105 acquires the corresponding request creation policy 0108 (0905), and transmits the policy 0108 to the input file load unit 0703 (0906). The input file load unit 0703 transmits the request generation policy 0108 to the request generation unit 0707 (0907). The request generation unit 0707 reflects the acquired new request generation policy (0908), and transmits a request to the service system (virtual system 0700) based on the new request generation policy 0108.

또한, 유저가, 타 서비스 리퀘스트 송신 폴리시(0107)의 재로딩을 시뮬레이션 제어부(0706)에 명령하면(0909), 시뮬레이션 제어부(0706)는, 입력 파일 로드부(0703)에, 새로운 타 서비스 리퀘스트 송신 폴리시(0107)의 취득을 명령한다(0910). 그 후, 입력 파일 로드부(0703)는, 입력 데이터 스토리지(0105)에 타 서비스 리퀘스트 송신 폴리시(0107)를 참조한다(0911). 입력 데이터 스토리지(0105)는, 해당하는 타 서비스 리퀘스트 송신 폴리시(0107)를 취득하고(0912), 입력 파일 로드부(0703)에 당해 폴리시(0107)를 송신한다(0913). 입력 파일 로드부(0703)는, 타 서비스 리퀘스트 송신 폴리시(0107)에 따르는 수정이 필요한 가상 서비스(0708)의 서비스 제어 수신부(0709)에, 새로운 타 서비스 리퀘스트 송신 폴리시(0107)(또는 그중 외부 부분)를 송신한다(0914). 서비스 제어 수신부(0709)는, 자신의 서비스 내의 타 서비스 리퀘스트부(0711)에, 새로운 타 서비스 리퀘스트 송신 폴리시(0107)를 전송한다(0915). 그 후, 타 서비스 리퀘스트부(0711)는, 수취한 타 서비스 리퀘스트 송신 폴리시(0107)를, 자신의 리퀘스트 송신의 폴리시로서 반영한다(0916). 또한, 0914의 스텝에 있어서, 새로운 타 서비스 리퀘스트 송신 폴리시(0107)의 송신처를, 타 서비스 리퀘스트부(0711)로 하고, 서비스 제어 수신부(0709)가 타 서비스 리퀘스트 송신 폴리시를 중계하지 않아도 되도록 한다.Further, when the user instructs the simulation control unit 0706 to reload the other service request transmission policy 0107 (0909), the simulation control unit 0706 sends a new other service request to the input file loading unit 0703 The acquisition of the policy (0107) is commanded (0910). Thereafter, the input file load unit 0703 refers to the other service request transmission policy 0107 to the input data storage 0105 (0911). The input data storage 0105 acquires the corresponding other service request transmission policy 0107 (0912), and transmits the policy 0107 to the input file load unit 0703 (0913). The input file loading unit 0703 sends a new service request transmission policy 0107 (or an external part thereof) to the service control receiving unit 0709 of the virtual service 0708 that needs to be modified according to the other service request transmission policy 0107. ) is transmitted (0914). The service control receiving unit 0709 transmits a new other service request transmission policy 0107 to the other service request unit 0711 in its own service (0915). Thereafter, the other service request unit 0711 reflects the received other service request transmission policy 0107 as its own request transmission policy (0916). In step 0914, the transmission destination of the new other service request transmission policy 0107 is set to the other service request unit 0711, so that the service control receiving unit 0709 does not have to relay the other service request transmission policy.

도 10은, 시뮬레이션 실행 중에 있어서의, 시스템에 대한 리퀘스트에 대한 처리 시퀀스를 나타낸다.Fig. 10 shows a processing sequence for a request to the system during simulation execution.

유저가, 시뮬레이션 제어부(0706)에 시뮬레이션의 개시를 명령하면(1001), 시뮬레이션 제어부(0706)는, 리퀘스트 생성부(0707)에 대해서 리퀘스트의 생성을 지시한다(1002). 리퀘스트 생성부(0707)는, 리퀘스트 생성 폴리시(0108)에 따라서 리퀘스트를 생성하고(1003), 가상 서비스(0708) 내의 서비스 처리부(0710)에 당해 리퀘스트를 전송한다(1004).When the user instructs the simulation control unit 0706 to start the simulation (1001), the simulation control unit 0706 instructs the request generation unit 0707 to generate a request (1002). The request generation unit 0707 generates a request according to the request generation policy 0108 (1003), and transmits the request to the service processing unit 0710 in the virtual service 0708 (1004).

서비스 처리부(0710)에 리퀘스트가 도착하면, 서비스 처리부(0710)는, 서비스가 소비하는 리소스양을, 1회의 리퀘스트에 대한 서비스의 처리에 필요한 리소스양만큼 증가시켜(1005), 처리에 요하는 시간만큼 처리를 대기한다(1006). 또한, 「1회의 리퀘스트에 대한 서비스의 처리에 필요한 리소스양」 및 「처리에 요하는 시간」은, 서비스 구성(0106)(또는 기타 입력 데이터 세트)에 정의되어 있으며, 서비스 처리부(0710)에 설정되어 있도록 한다. 처리에 요하는 시간이 경과하면, 서비스 처리부(0710)는, 1회의 리퀘스트에 대한 서비스의 처리에 필요한 리소스양만큼 감소시킨다(1007). 가상 서비스(0708)가 다른 가상 서비스(0708)에 리퀘스트를 보내는 경우에는, 서비스 처리부(0710)가, 타 서비스 리퀘스트부(0711)에 리퀘스트를 송신한다(1008). 타 서비스 리퀘스트부(0711)는, 다른 가상 서비스(0708)(전형적으로는 의존처의 가상 서비스(0708))가 규정된 문제 조건에 적합한지 여부에 따라서(예를 들어, 리스폰스 타임, 장애 상황, 또는 리스폰스가 돌아가지 않는 송신 완료 리퀘스트 수와 같은 상황이, 타 서비스 리퀘스트 송신 폴리시(0107)에 규정된 조건을 충족하는지 여부에 따라서), 리퀘스트 송신처의 가상 서비스(0708)를 결정한다(1009). 즉, 리퀘스트 송신처가, 의존처의 가상 서비스(0708)인 채로 될지, 혹은 상이한 가상 서비스(0708)로 될지가 결정된다. 그리고, 타 서비스 리퀘스트부(0711)는, 결정한 리퀘스트 송신처 가상 서비스(0708)의 서비스 처리부(0710)에, 리퀘스트를 송신한다(1010).When a request arrives at the service processing unit 0710, the service processing unit 0710 increases the amount of resources consumed by the service by the amount of resources required to process the service for one request (1005), and the time required for the processing Waits for processing as much as (1006). In addition, "amount of resources required for service processing for one request" and "time required for processing" are defined in the service configuration 0106 (or other input data sets) and set in the service processing unit 0710 make it become When the time required for processing has elapsed, the service processing unit 0710 reduces the amount of resources required for service processing for one request (1007). When the virtual service 0708 sends a request to another virtual service 0708, the service processing unit 0710 transmits the request to the other service request unit 0711 (1008). The other service request unit 0711 is configured according to whether another virtual service 0708 (typically, a virtual service 0708 of a dependent destination) meets a prescribed problem condition (eg, response time, failure situation, Alternatively, the virtual service 0708 of the request transmission destination is determined (1009) according to whether a situation such as the number of transmission completion requests for which no response is returned satisfies the condition prescribed in the other service request transmission policy 0107). That is, it is determined whether the request transmission destination will remain as the dependent destination virtual service 0708 or a different virtual service 0708 . Then, the other service request unit 0711 transmits the request to the service processing unit 0710 of the determined request transmission destination virtual service 0708 (1010).

타 서비스 리퀘스트부(0711)는, 다른 가상 서비스(0708)로부터 리스폰스를 수신하면(1011), 당해 다른 가상 서비스(0708)의 리스폰스 타임을 기억한다(1012). 기억한, 다른 가상 서비스(0708)의 리스폰스 타임은, 서비스 처리부(0710)로부터도 참조할 수 있도록 한다. 다른 가상 서비스(0708)의 리스폰스 타임을 기억함으로써, 서비스 처리부(0710)는, 리퀘스트 송신처의 가상 서비스(0708)의 리스폰스 타임에 따라서 가상 서비스(0708)의 처리 내용을 변경할 수 있다. 또한, 타 서비스 리퀘스트부(0711)는, 출력된 로그에 따라서, 송신처의 가상 서비스(0708)를 변경할 수 있다. 리스폰스를 자신의 가상 서비스(0708)의 서비스 처리부(0710)로 돌려준다(1013). 그 후, 서비스 처리부(0710)는, 다른 가상 서비스(0708)에 대한 리퀘스트에 있어서의 리스폰스 타임을 로그로서 출력한다(1014). 그 후, 서비스 처리부(0710)는, 리퀘스트 생성부(0707)에 리스폰스를 돌려준다(1015).When receiving a response from another virtual service 0708 (1011), the other service request unit 0711 stores the response time of the other virtual service 0708 (1012). The stored response time of the other virtual service 0708 can be referred to from the service processing unit 0710 as well. By storing the response time of the other virtual service 0708, the service processing unit 0710 can change the processing content of the virtual service 0708 according to the response time of the virtual service 0708 of the request transmission destination. In addition, the other service request unit 0711 can change the virtual service 0708 of the transmission destination according to the output log. The response is returned to the service processing unit 0710 of the own virtual service 0708 (1013). Thereafter, the service processing unit 0710 outputs the response time in the request to the other virtual service 0708 as a log (1014). Thereafter, the service processing unit 0710 returns a response to the request generation unit 0707 (1015).

도 11은, 시뮬레이션 중에, 유저가 마이크로 서비스 시뮬레이터(0112)에 외란을 입력할 때의 처리 시퀀스를 나타낸다. 시뮬레이션에 있어서, 의존처의 가상 서비스(0708)의 문제는, 타 서비스 리퀘스트 송신 폴리시(0107)와 외란 발생 시나리오(0109) 중 적어도 하나에 따라서 발생하게 된다.11 shows a processing sequence when a user inputs disturbance to the microservice simulator 0112 during simulation. In the simulation, the problem of the virtual service 0708 of the dependent destination will occur according to at least one of the other service request transmission policy 0107 and the disturbance occurrence scenario 0109.

유저가, 시뮬레이션 중에, 외란 입력 콘솔(0110)을 사용하여, 외란(외란 발생 시나리오(0109))을 입력한다(1101). 1101의 스텝에 있어서, 유저는, 외란을 발생시키는 서비스와, 외란의 내용을 지정한다. 외란의 내용예로서, 서비스의 정지 또는, 서비스의 리스폰스 타임의 증대를 지정할 수 있도록 한다. 외란 입력 콘솔(0110)은, 시뮬레이션 제어부(0706)에, 유저가 입력한 외란을 시뮬레이션 내에서 발생시키도록 지시를 보낸다(1102). 시뮬레이션 제어부(0706)는, 유저에 지정된 서비스에 대응하는 가상 서비스(0708)가 시뮬레이션 중에서 가동 중인 것을 확인하고, 당해 가상 서비스(0708)의 서비스 제어 수신부(0709)에 외란의 발생 지시를 송신한다(1103). 서비스 제어 수신부(0709)가 외란 발생의 지시를 받으면, 당해 서비스 제어 수신부(0709)는, 서비스 처리부(0710)에, 유저에 지정된 외란의 내용에 따른, 처리의 변경을 지시한다(1104). 예를 들어, 유저가 서비스의 정지를 지정 한 경우에는, 서비스 처리부(0710)는, 다른 서비스로부터의 리퀘스트를 접수하지 않고, 또한 실행 중의 처리는, 처리의 리퀘스트원에는 리스폰스를 돌려주지 않고, 처리를 종료한다. 또한, 유저가 서비스의 리스폰스 타임의 증가를 지정한 경우에는, 서비스 처리부(0710)는, 서비스 처리부(0710) 내에서 설정되어 있는 리스폰스 타임을, 유저의 지정량만큼 증가시킨다.A user inputs ( 1101 ) a disturbance (disturbance occurrence scenario 0109 ) using the disturbance input console 0110 during the simulation. In step 1101, the user designates a service causing disturbance and contents of the disturbance. As an example of the content of disturbance, it is possible to designate the suspension of the service or the increase of the response time of the service. The disturbance input console 0110 sends an instruction to the simulation control unit 0706 to generate a disturbance input by the user in the simulation ( 1102 ). The simulation control unit 0706 confirms that the virtual service 0708 corresponding to the service designated by the user is operating during the simulation, and transmits an instruction to generate a disturbance to the service control receiving unit 0709 of the virtual service 0708 ( 1103). When the service control receiving unit 0709 receives an instruction to generate a disturbance, the service control receiving unit 0709 instructs the service processing unit 0710 to change the process according to the content of the disturbance specified by the user (1104). For example, when the user designates to stop the service, the service processing unit 0710 does not accept a request from another service, and the processing during execution does not return a response to the request source of the processing. quit In addition, when the user designates an increase in the response time of the service, the service processing unit 0710 increases the response time set in the service processing unit 0710 by the amount specified by the user.

도 12는, 외란 발생 시나리오(0109)의 일례를 나타낸다.12 shows an example of a disturbance occurrence scenario 0109.

1202행째부터 1209행째까지의 기술은, 단일의 서비스에 대한 단일의 외란 사상을 나타내고 있다. 복수의 외란을 설정하는 경우에는, 1210행째부터 1218행째 과 같이, 배열 형식으로 모든 외란을 열거한다.The descriptions in lines 1202 to 1209 indicate a single disturbance event for a single service. When multiple disturbances are set, all disturbances are listed in an array format as in lines 1210 to 1218.

1203행째의 기술은, 시뮬레이션 개시 후로부터 외란이 발생할 때까지의 시간 또는 시각을 나타낸다. 1204행째의 기술은, 외란의 사상이 종료하는 시각 또는 외란의 계속 시간을 나타낸다. 1205행째의 기술은, 외란이 발생하는 서비스를 나타내고 있다. 1206행째의 기술은, 외란의 내용을 나타내고 있다. 도 12의 1206행째는, 예로서, 서비스가 정지한 것을 나타내고 있으며, 1214행째는, 서비스의 리스폰스 타임이 장시간화한 것을 나타내고 있다. 1207행째부터 1208행째까지의 기술은, 발생하는 외란의 보충 정보를 나타낸다. 예로서, 1215행째부터 1217행째에서는, 리스폰스 타임이 통상의 3배가 되는 것을 나타내고 있다.The description in line 1203 indicates the time or time from the start of the simulation until the disturbance occurs. The description in line 1204 indicates the time at which the event of the disturbance ends or the duration of the disturbance. The description in line 1205 shows a service in which disturbance occurs. The description in line 1206 shows the contents of the disturbance. Line 1206 of Fig. 12 shows, for example, that the service has been stopped, and line 1214 shows that the response time of the service has been lengthened. The descriptions from lines 1207 to 1208 indicate supplementary information on the disturbance that has occurred. For example, in the 1215th to the 1217th lines, it is shown that the response time is tripled normally.

외란 발생 시나리오(0109)는, 시뮬레이션 개시 전에, 마이크로 서비스 시뮬레이터(0112)에 입력되고, 시뮬레이션 개시 후에 마이크로 서비스 시뮬레이터(0112)가 외란 발생 시나리오(0109)를 따라서 시스템 내의 서비스에 외란을 발생시킬 수 있다. 유저는, 외란 입력 콘솔, 또는 시뮬레이션 입력 데이터 작성 툴, 또는 임의의 텍스트 에디터를 사용하여, 외란 발생 시나리오를 작성할 수 있도록 한다.The disturbance occurrence scenario 0109 is input to the microservice simulator 0112 before the start of the simulation, and after the simulation starts, the microservice simulator 0112 follows the disturbance scenario 0109 to generate a disturbance in the service in the system. . A user may create a disturbance occurrence scenario using a disturbance input console, a simulation input data creation tool, or any text editor.

이상, 본 발명의 일 실시예를 설명하였지만, 이들은 본 발명의 설명을 위한 예시이지, 본 발명의 범위를 이 실시예만으로 한정하는 취지는 아니다. 본 발명은, 다른 다양한 형태에서도 실행하는 것이 가능하다.In the above, one embodiment of the present invention has been described, but these are examples for the description of the present invention, and it is not intended to limit the scope of the present invention only to this embodiment. The present invention can also be implemented in other various forms.

0112: 마이크로 서비스 시뮬레이터
0105: 입력 데이터 스토리지
0106: 시스템 구성
0107: 타 서비스 리퀘스트 송신 폴리시
0108: 리퀘스트 생성 폴리시
0109: 외란 발생 시나리오
0103: 시뮬레이션 입력 데이터 작성 툴
0110: 외란 입력 콘솔
0706: 시뮬레이션 제어부
0703: 입력 파일 로드부
0113: 폴리시 입력 콘솔
0112: Microservices Simulator
0105: input data storage
0106: System Configuration
0107: Other service request transmission policy
0108: Request creation policy
0109: Disturbance Occurrence Scenario
0103: Simulation input data creation tool
0110: disturbance input console
0706: Simulation Control
0703: Load input file
0113: Policy input console

Claims (12)

(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
(B)의 시뮬레이션의 실행 중에,
상기 타 서비스 리퀘스트 송신 폴리시 및 상기 리퀘스트 생성 폴리시 중 적어도 하나의 변경 후의 폴리시를 접수하고,
당해 변경 후의 폴리시를, 상기 시뮬레이션을 정지시키지 않고 반영하고,
당해 반영 후의 폴리시에 따라서, 당해 시뮬레이션을 계속하는
것을 상기 컴퓨터에 실행시키는 것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of a system behavior that is a behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
During the execution of the simulation in (B),
Receive a policy after changing at least one of the other service request transmission policy and the request creation policy;
The policy after the change is reflected without stopping the simulation,
According to the policy after the reflection, the simulation continues.
A simulator stored in a computer-readable recording medium, characterized in that the computer is executed.
(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
(B)의 시뮬레이션의 실행 중에, 상기 서비스 시스템에 포함되는 상기 1 이상의 서비스의 각각에 대하여, 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여, 당해 서비스의 의존처의 서비스의 처리 상황을 변경하고, 그것에 수반하여, 당해 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나를 변경하고,
(C)에 있어서, 상기 시뮬레이션 결과 정보로서, 상기 1 이상의 서비스의 각각에 대한 의존처의 서비스의 처리 상황의 변경 전후의 시스템 거동을 나타내는 정보를 포함한 정보를 출력하는
것을 상기 컴퓨터에 실행시키는 것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of system behavior, which is the behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy, is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
During the execution of the simulation of (B), for each of the one or more services included in the service system, the processing status of the service dependent on the service is changed based on the other service request transmission policy, and accompanying it to change at least one of the processing contents of the service and the request transmission destination;
In (C), as the simulation result information, information including information indicating a system behavior before and after a change in the processing status of a dependent service for each of the one or more services is output.
A simulator stored in a computer-readable recording medium, characterized in that the computer is executed.
(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
(B)의 시뮬레이션의 개시 전 또는 실행 중에, 상기 서비스 시스템에 포함되는 적어도 하나의 서비스 ID와, 당해 적어도 하나의 서비스에 대하여 지정 시점에서의 의도적인 처리 정지, 처리 속도 향상 또는 처리 속도 저하인 외란을 기술한 정보인 외란 발생 시나리오를 입력하고,
(B)의 시뮬레이션에 있어서, 상기 외란 발생 시나리오에 따라서, 상기 적어도 하나의 서비스에 대하여 외란을 발생시키고,
(C)에 있어서, 상기 시뮬레이션 결과 정보로서, 상기 적어도 하나의 서비스에 대하여 외란 발생의 전후의 시스템 거동을 나타내는 정보를 포함한 정보를 출력하는
것을 상기 컴퓨터에 실행시키는 것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of system behavior, which is the behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy, is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
At least one service ID included in the service system before or during the execution of the simulation of (B), and the disturbance of the at least one service that is intentional processing stop, processing speed improvement, or processing speed decrease at a specified time point Enter the disturbance scenario, which is information describing
In the simulation of (B), according to the disturbance occurrence scenario, a disturbance is generated for the at least one service,
In (C), as the simulation result information, information including information indicating the system behavior before and after the occurrence of disturbance for the at least one service is output.
A simulator stored in a computer-readable recording medium, characterized in that the computer is executed.
(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
상기 시스템 구성, 상기 타 서비스 리퀘스트 송신 폴리시, 및 상기 리퀘스트 생성 폴리시 중 적어도 하나가 포함하는 정보 요소는, 상기 시스템 구성, 상기 타 서비스 리퀘스트 송신 폴리시, 및 상기 리퀘스트 생성 폴리시 중 적어도 하나에 포함시키는 정보 요소의 입력을 접수하는 1 이상의 UI(User Interface) 경유로 입력된 정보 요소인
것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of a system behavior that is a behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
The information element included in at least one of the system configuration, the other service request transmission policy, and the request creation policy is an information element included in at least one of the system configuration, the other service request transmission policy, and the request creation policy Information elements input through one or more UI (User Interface) that receive input of
The simulator stored in a computer-readable recording medium, characterized in that.
삭제delete (A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
(B)의 시뮬레이션은, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여, 상기 서비스 시스템이 가상화된 시스템인 가상 시스템을 구축하는 것을 포함하고,
상기 가상 시스템은, 상기 복수의 서비스가 가상화된 복수의 서비스인 복수의 가상 서비스로 구성되며,
상기 1 이상의 서비스의 각각은, 출력 인터페이스를 갖고,
상기 복수의 가상 서비스 중, 상기 1 이상의 서비스에 각각 대응하는 1 이상의 가상 서비스의 각각에 대하여, 당해 가상 서비스가 갖는 출력 인터페이스는, 상기 타 서비스 리퀘스트 송신 폴리시에 기초하는 설정이 된 출력 인터페이스로서의 모듈인 타 서비스 리퀘스트부
인 것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of a system behavior that is a behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
The simulation of (B) includes building a virtual system in which the service system is a virtualized system based on the system configuration and the other service request transmission policy,
The virtual system consists of a plurality of virtual services, wherein the plurality of services are virtualized services,
each of the one or more services has an output interface;
Among the plurality of virtual services, for each of one or more virtual services corresponding to the one or more services, the output interface of the virtual service is a module as an output interface set based on the other service request transmission policy. Other service request department
The simulator stored in a computer-readable recording medium, characterized in that.
제6항에 있어서,
상기 1 이상의 서비스의 각각은, 입력 인터페이스를 갖고,
상기 1 이상의 서비스에 각각 대응한 1 이상의 가상 서비스의 각각은,
입력 인터페이스로서 리퀘스트를 접수하고 당해 리퀘스트에 따르는 처리를 실행하는 모듈인 서비스 처리부와,
당해 가상 서비스에 있어서의 상기 서비스 처리부 및 상기 타 서비스 리퀘스트부를 제어하는 모듈인 서비스 제어 수신부
를 더 갖는 것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
7. The method of claim 6,
each of the one or more services has an input interface;
Each of the one or more virtual services respectively corresponding to the one or more services,
a service processing unit which is a module that receives a request as an input interface and executes processing according to the request;
A service control receiving unit, which is a module for controlling the service processing unit and the other service request unit in the virtual service
A simulator stored in a computer-readable recording medium, characterized in that it further has a.
제7항에 있어서,
(B)의 시뮬레이션의 실행 중이며, 상기 가상 시스템의 구축 후에,
상기 타 서비스 리퀘스트 송신 폴리시의 변경 후의 폴리시를 접수하고,
당해 변경 후의 폴리시에 따르는 변경 대상의 타 서비스 리퀘스트부를 갖는 가상 서비스에 있어서의 서비스 제어 수신부에, 당해 변경 후의 폴리시에 따르는 설정의 지시를 송신하는
것을 상기 컴퓨터에 실행시키고,
당해 지시를 받은 서비스 제어 수신부는,
당해 서비스 제어 수신부를 갖는 가상 서비스 내의 서비스 처리부를 일시정지시키고,
당해 일시 정지 중에, 당해 가상 서비스 내의 타 서비스 리퀘스트부에 대해서, 당해 지시에 따르는 설정을 행하는
것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
8. The method of claim 7,
(B) During the execution of the simulation, and after the construction of the virtual system,
Receive the policy after the change of the other service request transmission policy;
sending a setting instruction according to the post-change policy to a service control receiving unit in a virtual service having another service request unit to be changed according to the post-change policy
run on the computer,
The service control receiving unit receiving the instruction,
Temporarily stop the service processing unit in the virtual service having the service control receiving unit;
During the temporary suspension, setting according to the instruction is performed for other service request units in the virtual service.
The simulator stored in a computer-readable recording medium, characterized in that.
(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
(B)의 시뮬레이션에 있어서,
상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여, 상기 서비스 시스템이 가상화된 시스템인 가상 시스템을 구축하고,
상기 리퀘스트 생성 폴리시에 따르는 내용의 리퀘스트를, 상기 리퀘스트 생성 폴리시에 따르는 송신 레이트로 상기 엔드 유저로서 상기 가상 시스템에 송신하고,
(B)의 시뮬레이션의 실행 중이며, 상기 가상 시스템의 구축 후에,
상기 리퀘스트 생성 폴리시의 변경 후의 폴리시를 접수하고,
당해 변경 후의 폴리시에 따르는 내용의 리퀘스트를, 당해 변경 후의 폴리시에 따르는 송신 레이트로 상기 엔드 유저로서 상기 가상 시스템에 송신하는
것을 상기 컴퓨터에 실행시키는 것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of a system behavior that is a behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
In the simulation of (B),
building a virtual system in which the service system is a virtualized system based on the system configuration and the other service request transmission policy;
sending a request of content conforming to the request generating policy to the virtual system as the end user at a transmission rate conforming to the request generating policy;
(B) During the execution of the simulation, and after the construction of the virtual system,
Accept the policy after the change of the request generation policy,
sending a request for content conforming to the policy after the change to the virtual system as the end user at a transmission rate conforming to the policy after the change;
A simulator stored in a computer-readable recording medium, characterized in that the computer is executed.
(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착하였다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
것을 컴퓨터에 실행시키고,
상기 시스템 구성이 포함하는 1 이상의 정보 요소는, 상기 시스템 구성에 포함하는 정보 요소의 입력을 접수하는 1 이상의 UI(User Interface) 경유로 입력된 정보 요소이며,
상기 1 이상의 UI는,
하나 또는 복수의 서비스 템플릿으로부터 1 이상의 서비스 템플릿의 선택을 접수하는 제1 UI와,
상기 제1 UI로부터 선택된 1 이상의 서비스 템플릿에 각각 대응한 1 이상의 오브젝트를 표시하고 당해 1 이상의 오브젝트의 의존 관계의 지정을 접수하는 제2 UI와,
당해 1 이상의 오브젝트 중 선택된 오브젝트에 대응한 서비스 템플릿에 대한 1 이상의 값의 입력을 접수하는 제3 UI
를 포함하고,
상기 복수의 서비스 중 적어도 하나는, 상기 제3 UI를 통해 입력된 1 이상의 값이 설정된 서비스 템플릿에 기초하는 서비스인
것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체에 저장된 시뮬레이터.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of system behavior, which is the behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy, is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
run it on your computer,
The one or more information elements included in the system configuration are information elements input via one or more UI (User Interface) for receiving input of information elements included in the system configuration,
The one or more UIs,
A first UI for receiving selection of one or more service templates from one or a plurality of service templates;
a second UI that displays one or more objects respectively corresponding to one or more service templates selected from the first UI and accepts designation of a dependency relationship of the one or more objects;
A third UI for receiving input of one or more values for a service template corresponding to the selected object among the one or more objects
including,
At least one of the plurality of services is a service based on a service template in which one or more values input through the third UI are set.
The simulator stored in a computer-readable recording medium, characterized in that.
하기의 (a1)과 (a2)와 (a3)의 정보,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시
를 저장한 기억부와,
(A) 상기 시스템 구성, 상기 타 서비스 리퀘스트 송신 폴리시, 및 상기 리퀘스트 생성 폴리시를 입력하고,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착했다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하는
처리를 실행하는 시뮬레이션부
를 구비하고,
상기 시뮬레이션부가 (B)의 시뮬레이션의 실행 중에,
상기 타 서비스 리퀘스트 송신 폴리시 및 상기 리퀘스트 생성 폴리시 중 적어도 하나의 변경 후의 폴리시를 접수하고,
당해 변경 후의 폴리시를, 상기 시뮬레이션을 정지시키지 않고 반영하고,
당해 반영 후의 폴리시에 따라서, 당해 시뮬레이션을 계속하는
시뮬레이션 장치.
Information of (a1), (a2) and (a3) below;
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) Request generation policy describing the contents of a request to be transmitted to the service system as the end user and the transmission rate of the request
a memory unit storing
(A) input the system configuration, the other service request transmission policy, and the request creation policy;
(B) A simulation of a system behavior that is a behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information, which is information indicating the system behavior as a result of executing the simulation
Simulation unit that executes processing
to provide
During the execution of the simulation of the simulation unit (B),
Receive a policy after changing at least one of the other service request transmission policy and the request creation policy;
The policy after the change is reflected without stopping the simulation,
According to the policy after the reflection, the simulation continues.
simulation device.
(A) 하기의 (a1)과 (a2)와 (a3)의 정보를 입력하고,
(a1) 복수의 서비스로 구성되고 서비스 간에서 리퀘스트가 송수신됨으로써 당해 복수의 서비스가 제휴하여 엔드 유저로부터의 리퀘스트에 따르는 처리를 실행하는 서비스 시스템에 있어서의 각 서비스 간의 의존 관계를 기술한 시스템 구성,
(a2) 상기 복수의 서비스 중 1 이상의 서비스의 각각에 대하여 하기의 (a21) 및 (a22)를 기술한 타 서비스 리퀘스트 송신 폴리시,
(a21) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건,
(a22) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경,
(a3) 상기 서비스 시스템에 상기 엔드 유저로서 송신하는 리퀘스트의 내용과 당해 리퀘스트의 송신 레이트를 기술한 리퀘스트 생성 폴리시,
(B) 상기 리퀘스트 생성 폴리시에 기초하는 리퀘스트가 상기 리퀘스트 생성 폴리시에 기초하는 송신 레이트로 도착했다고 한 경우의 상기 서비스 시스템의 거동인 시스템 거동의 시뮬레이션을, 상기 시스템 구성 및 상기 타 서비스 리퀘스트 송신 폴리시에 기초하여 실행하고,
(C) 당해 시뮬레이션의 실행 결과로서의 상기 시스템 거동을 나타내는 정보인 시뮬레이션 결과 정보를 출력하고,
(B)의 시뮬레이션의 실행 중에,
상기 타 서비스 리퀘스트 송신 폴리시 및 상기 리퀘스트 생성 폴리시 중 적어도 하나의 변경 후의 폴리시를 접수하고,
당해 변경 후의 폴리시를, 상기 시뮬레이션을 정지시키지 않고 반영하고,
당해 반영 후의 폴리시에 따라서, 당해 시뮬레이션을 계속하는
시뮬레이션 방법.
(A) Input the information of (a1), (a2) and (a3) below,
(a1) A system configuration describing the dependency relationship between each service in a service system comprising a plurality of services and in which the plurality of services cooperate to perform processing according to a request from an end user by sending and receiving requests between the services;
(a2) another service request transmission policy in which the following (a21) and (a22) are described for each of at least one service among the plurality of services;
(a21) a condition regarding the processing status that is at least one of the presence or absence of a failure in the service to which the request is sent because it is a dependent destination of the service and the processing speed;
(a22) A change in processing that is at least one of the processing contents after the change of the service and the destination of the request after the change, when it is said that the conditions are satisfied;
(a3) a request generation policy in which the contents of a request to be transmitted to the service system as the end user and a transmission rate of the request are described;
(B) A simulation of a system behavior that is a behavior of the service system when a request based on the request generation policy arrives at a transmission rate based on the request generation policy is performed in the system configuration and the other service request transmission policy run on the basis of
(C) outputting simulation result information that is information indicating the system behavior as a result of executing the simulation;
During the execution of the simulation in (B),
Receive a policy after changing at least one of the other service request transmission policy and the request creation policy;
The policy after the change is reflected without stopping the simulation,
According to the policy after the reflection, the simulation continues.
simulation method.
KR1020207004959A 2018-03-01 2018-12-28 Simulator, simulation device, and simulation method KR102339747B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018037006A JP6785810B2 (en) 2018-03-01 2018-03-01 Simulator, simulation equipment, and simulation method
JPJP-P-2018-037006 2018-03-01
PCT/JP2018/048451 WO2019167421A1 (en) 2018-03-01 2018-12-28 Simulator, simulation device, and simulation method

Publications (2)

Publication Number Publication Date
KR20200029574A KR20200029574A (en) 2020-03-18
KR102339747B1 true KR102339747B1 (en) 2021-12-16

Family

ID=67804923

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207004959A KR102339747B1 (en) 2018-03-01 2018-12-28 Simulator, simulation device, and simulation method

Country Status (3)

Country Link
JP (1) JP6785810B2 (en)
KR (1) KR102339747B1 (en)
WO (1) WO2019167421A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740172B (en) * 2019-09-29 2022-04-29 北京淇瑀信息科技有限公司 Routing management method, device and system based on micro-service architecture
US11175947B2 (en) 2019-12-03 2021-11-16 International Business Machines Corporation Microservices change management and analytics
JP7428855B2 (en) * 2020-03-17 2024-02-07 Lineヤフー株式会社 Video analysis system, video analysis device, video analysis method, and program
JP7380504B2 (en) 2020-10-02 2023-11-15 トヨタ自動車株式会社 Service management device
JP7334702B2 (en) 2020-10-02 2023-08-29 トヨタ自動車株式会社 Service management device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004536406A (en) 2001-07-16 2004-12-02 ビーイーエイ システムズ, インコーポレイテッド Method and apparatus for session replication and failover
JP2005196601A (en) * 2004-01-09 2005-07-21 Hitachi Ltd Policy simulator for autonomous management system
KR100609710B1 (en) 2004-11-25 2006-08-08 한국전자통신연구원 Network simulation apparatus and method for abnormal traffic analysis
KR101691245B1 (en) 2012-05-11 2017-01-09 삼성에스디에스 주식회사 System and method for web service monitoring

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4876032B2 (en) * 2007-06-26 2012-02-15 株式会社日立製作所 SOA architecture system design support method and SOA architecture system design support apparatus
WO2011105001A1 (en) * 2010-02-23 2011-09-01 日本電気株式会社 Throughput maintenance support system, device, method, and program
WO2017056238A1 (en) * 2015-09-30 2017-04-06 株式会社日立製作所 Vm assignment management system and vm assignment management method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004536406A (en) 2001-07-16 2004-12-02 ビーイーエイ システムズ, インコーポレイテッド Method and apparatus for session replication and failover
JP2005196601A (en) * 2004-01-09 2005-07-21 Hitachi Ltd Policy simulator for autonomous management system
KR100609710B1 (en) 2004-11-25 2006-08-08 한국전자통신연구원 Network simulation apparatus and method for abnormal traffic analysis
KR101691245B1 (en) 2012-05-11 2017-01-09 삼성에스디에스 주식회사 System and method for web service monitoring

Also Published As

Publication number Publication date
WO2019167421A1 (en) 2019-09-06
JP6785810B2 (en) 2020-11-18
KR20200029574A (en) 2020-03-18
JP2019153017A (en) 2019-09-12

Similar Documents

Publication Publication Date Title
KR102339747B1 (en) Simulator, simulation device, and simulation method
US11487536B2 (en) System for automating user-defined actions for applications executed using virtual machines in a guest system
KR102493449B1 (en) Edge computing test methods, devices, electronic devices and computer-readable media
US11556321B2 (en) Deploying microservices across a service infrastructure
US10324754B2 (en) Managing virtual machine patterns
US11030002B2 (en) Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities
US11194572B2 (en) Managing external feeds in an event-based computing system
US10373072B2 (en) Cognitive-based dynamic tuning
US20170220385A1 (en) Cross-platform workload processing
CN109901985B (en) Distributed test apparatus and method, storage medium, and electronic device
CN112925652A (en) Application resource deployment method, device, electronic equipment and medium
CN111625949A (en) Simulation engine system, simulation processing method, device and medium
CN113377665A (en) Container technology-based testing method and device, electronic equipment and storage medium
CN111782341B (en) Method and device for managing clusters
US9626226B2 (en) Cross-platform workload processing
US9674060B2 (en) Dynamic and selective management of integration points using performance metrics
CN116635834A (en) Coordinating requests executing at extensible applications
CN113641688A (en) Node updating method, related device and computer program product
CN115222041B (en) Graph generation method and device for model training, electronic equipment and storage medium
CN111858234A (en) Task execution method, device, equipment and medium
US11977922B2 (en) Resource reuse for pipeline workloads
US11847046B1 (en) Application functionality testing, resiliency testing, chaos testing, and performance testing in a single platform
WO2023193609A1 (en) Selective privileged container augmentation
CN116774996A (en) Integrated development system, code processing method, electronic device, and storage medium
CN117290014A (en) Overseas server deployment method, device, equipment and medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right