KR102339747B1 - Simulator, simulation device, and simulation method - Google Patents
Simulator, simulation device, and simulation method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; 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.
Description
본 발명은, 일반적으로 설계된 시스템의 시뮬레이션에 관한 것이다.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
이하, 「시스템 개발」은, 시스템의 설계와 구축을 포함한다. 즉, 시스템 개발에서는, 시스템의 설계, 설계된 시스템의 구축, 및 구축된 시스템의 검증과 같은 프로세스를 거쳐 시스템의 개발이 완성된다.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
그러나, 특허문헌 1에 있어서의 시뮬레이션 대상의 시스템은, 서비스 시스템과는 달리, 복수의 서버로 구성된 시스템(예를 들어 3계층 Web 시스템)이다. 즉, 특허문헌 1에서는, 시뮬레이션 대상의 시스템의 구성 요소는 서버이며, 소위 오토스케일 의해 시스템이 유지된다.However, unlike the service system, the system to be simulated in
한편, 서비스 시스템(전형적으로는, 마이크로 서비스 아키텍처에 기초하는 시스템 개발에 있어서 설계된 서비스 시스템)이 디플로이되는 계산기 시스템(복수의 서버)은, 일반적으로 시스템 개발측(예를 들어, 서비스 시스템을 제공하는 기업)의 관리하에 없는 계산기 시스템(예를 들어, 클라우드 컴퓨팅을 제공하는 기업의 관리하의 계산기 시스템)이다.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
어느 쪽의 서비스에 문제가 발생하여도(예를 들어, 일부의 서비스에서 장애나 리스폰스 타임의 변동과 같은 문제가 발생하여도), 서비스 시스템 전체로서 기대하는 동작(예를 들어, 엔드 유저에 대해서 어떠한 리스폰스를 돌려주는 것)을 보증할 수 있도록 하기 위해서, 문제가 발생한 서비스에 의존하는 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나가 변경된다. 예를 들어, 어떤 서비스로부터 당해 어떤 서비스의 의존처의 서비스에 리퀘스트가 송신되었지만 일정 시간 지나도 의존처의 서비스로부터 당해 어떤 서비스에 리스폰스가 돌아오지 않는 경우에, 당해 어떤 서비스가, 하기 중 어느 것을 실행하는 것이 생각된다.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
시스템 구성(0106)은, 서비스 시스템을 구성하는 서비스와, 서비스 간의 의존 관계를 나타낸 데이터 세트이다. 시스템 구성(0106)의 상세는, 도 4를 기초로 설명은 후술한다.The
타 서비스 리퀘스트 송신 폴리시(0107)는, 복수의 서비스 중 1 이상의 서비스의 각각에 대하여, (1) 당해 서비스의 의존처이기 때문에 리퀘스트 송신처로 되는 서비스에 있어서의 장애 유무와 처리 속도 중 적어도 하나인 처리 상황에 관한 조건, 및 (2) 당해 조건이 충족되었다고 한 경우의 당해 서비스의 변경 후의 처리 내용과 변경 후의 리퀘스트 송신처 중 적어도 하나인 처리 변경을 기술한 데이터 세트이다. 타 서비스 리퀘스트 송신 폴리시(0107)는, 예를 들어 각 서비스가, 의존하는 다른 서비스로 리퀘스트를 보낼 때의 폴리시를 나타내는 데이터 세트이다. 타 서비스 리퀘스트 송신 폴리시(0107) 중에서, 의존처의 서비스 상태에 따라서, 리퀘스트의 송신처를 변경하는 것을 기술할 수 있도록 한다. 또한, 자신의 서비스의 처리 내용을 변경하는 것도 기술할 수 있도록 한다. 예를 들어, 어떤 서비스가, 의존처의 서비스에서 리스폰스 타임이 어떤 임계값을 초과한 경우에, 그 의존처의 서비스로 리퀘스트를 송신하지 않고, 자신의 서비스로 리퀘스트를 송신한 리퀘스트원의 서비스에 에러 메시지를 보내는 것을 기술할 수 있다.The other service
리퀘스트 생성 폴리시(0108)는, 시뮬레이션 중에, 마이크로 서비스 시뮬레이터(0112) 내에 구축한 가상 시스템으로 의사적으로 송신되는 메시지를 작성할 때 이용되는 폴리시다. 리퀘스트 생성 폴리시(0108)에서는, 생성되는 메시지의 내용과, 송신처의 서비스와, 일정 시간 내의 송신 레이트가 지정 가능하다. 또한 송신에 이용되는 프로토콜을 지정하는 것도 가능하게 한다. 프로토콜이 지정됨으로써, 프로토콜 특유의 송신 속도나, 재송 제어나, 동기 통신 또는 비동기 통신 등의 특성을 시뮬레이션 내에서 재현할 수 있다. 또한, 리퀘스트 생성 폴리시(0108)에서는, 생성하는 리퀘스트 수를 지정할 수도 있다. 리퀘스트 수는, 무한을 지정함으로써, 시뮬레이션을 영속적으로 가동시키는 것이 가능하다. 이 경우, 시뮬레이션은, 마이크로 서비스 시뮬레이터(0112)의 유저(예를 들어 시스템 설계자)가, 마이크로 서비스 시뮬레이터(0112)에 대해서 시뮬레이션 종료를 명령함으로써 종료한다.The
이후에는, 시스템 구성(0106)과, 리퀘스트 생성 폴리시(0108)와, 타 서비스 리퀘스트 송신 폴리시(0107)를 총칭하여, 「입력 데이터」라고 칭한다. 또한, 이 이후에 기재하는 유저는, 모두 마이크로 서비스 시뮬레이터(0112)의 유저를 가리키기로 한다. 또한, 「엔드 유저」는, 서비스 시스템의 유저를 가리키기로 하고, 예를 들어 서비스 시스템에 대한 리퀘스트의 발행원이다.Hereinafter, the
마이크로 서비스 시뮬레이터(0112)의 외부에는, 시뮬레이션 입력 데이터 작성 툴(0103), 외란 입력 콘솔(0110) 및 폴리시 입력 콘솔(0113)이 존재한다. 이들 요소(0103, 0110 및 0113) 중 어느 것도, 컴퓨터 프로그램이어도 되고 물리적인 장치여도 된다. 예를 들어, 클라우드 기반(복수의 계산 리소스를 갖는 계산기 시스템)에 있어서, 마이크로 서비스 시뮬레이터(0112), 시뮬레이션 입력 데이터 작성 툴(0103), 외란 입력 콘솔(0110) 및 폴리시 입력 콘솔(0113) 중 적어도 하나가 실행되어도 된다.Outside of the
입력 데이터는, 유저가, 시뮬레이션 입력 데이터 작성 툴(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
마이크로 서비스 시뮬레이터(0112)는, 시스템 거동의 정보의 출력의 일례로서, 각 서비스의 리퀘스트 처리 시간인 리스폰스 타임의 추이나, 어떤 시각에 각 서비스가 소비하는 리소스양을 나타내는 정보를 출력(표시)할 수 있다. 이들 정보의 출력의 일례는, 시스템 거동을 표시하는 UI의 일례인 시스템 거동 출력 화면(예를 들어 GUI)(0111)의 출력이다. 시스템 거동 출력 화면(0111)에 의해, 출력 결과를 그래프화하여 출력하는 것이 가능하다. 즉, 마이크로 서비스 시뮬레이터(0112)는, 마이크로 서비스 아키텍처에 기초하여 설계된 서비스 시스템(IT 시스템이라고 칭해도 됨)에 원하는 가용성이 있음을 확인하기 위해서, 시스템 개발측에 있어서 설계된 서비스 시스템에 대해서 상정되는 리퀘스트가 입력되었을 때의 시스템 거동(예를 들어, 각 서비스의 리스폰스 타임이나 이용 리소스양의 추이)을 추정하고, 당해 시스템 거동을 가시화할 수 있다. 또한, 시뮬레이션 로그 DB(0113)에 로그로서 보존하는 것이 가능하다.As an example of the output of system behavior information, the
서비스 시스템의 가용성을 측정하기 위해서는, 시뮬레이션의 도중에, 특정한 서비스에 의도적으로 외란을 발생시켜, 외란 발생 시의 가용성을 확인하는 것이 바람직하다. 그래서, 유저는, 외란 입력 콘솔(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
서비스 시스템의 가용성을 측정하기 위해서는, 시뮬레이션의 도중에(예를 들어, 시스템 거동 출력 화면(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
본 실시예에 의하면, 마이크로 서비스 시뮬레이터(0112)는, 상술한 시스템 구성(0106), 타 서비스 리퀘스트 생성 폴리시(0107), 및 리퀘스트 생성 폴리시(0108)를 입력하고, 리퀘스트 생성 폴리시(0108)에 기초하는 리퀘스트가 당해 폴리시(0108)에 기초하는 송신 레이트로 도착했다고 하는 경우의 시스템 거동의 시뮬레이션을, 시스템 구성(0106) 및 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하여 실행하고, 당해 시스템 거동을 나타내는 정보를 표시한다. 이에 의해, 마이크로 서비스 아키텍처에 기초하여 설계되고 분산 환경에 디플로이되는 서비스 시스템에 있어서, 리퀘스트 송신처 및 처리 내용 중 적어도 하나를 변경하는 것을, 시뮬레이션에 있어서 실현(재현)할 수 있어, 당해 변경이 행해진 경우의 시스템 거동을 시뮬레이트하여 출력할 수 있다. 이 때문에, 서비스 시스템의 가용성을 추정할 수 있다.According to the present embodiment, the
구체적으로는, 예를 들어 마이크로 서비스 시뮬레이터(0112)는, 시뮬레이션의 실행 중에, 서비스 시스템에 포함되는 1 이상의 서비스의 각각에 대하여, 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하여, 당해 서비스의 의존처의 서비스의 처리 상황을 변경하고, 그것에 수반하여, 당해 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나를 변경하고, 당해 변경 후의 시스템 거동을 시뮬레이트한다. 마이크로 서비스 시뮬레이터(0112)는, 당해 1 이상의 서비스의 각각에 관한 의존처의 서비스의 처리 상황의 변경 전후의 시스템 거동을 나타내는 정보를 포함한 정보를 표시한다. 이에 의해, 유저는, 의존처 서비스의 처리 상황의 변경(의존원 서비스의 처리 내용 및 리퀘스트 송신처 중 적어도 하나의 변경)의 전후에서의 시스템 거동을 비교할 수 있다.Specifically, for example, during execution of the simulation, the
또한, 입력 데이터 스토리지(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
유저의 이용이 개시되면(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
시뮬레이션이 개시 후, 유저는 외란 입력 콘솔(0110)을 사용하여, 하나 이상의 서비스에 대한 외란의 모의 발생을 지시할 수 있다(0206). 외란의 영향을 시뮬레이션으로 확인할 필요가 없는 경우에는, 이 스텝은 행하지 않아도 된다.After the simulation is initiated, the user can use the
또한, 유저는, 시뮬레이션의 실행 중에, 타 서비스 리퀘스트 송신 폴리시(0107)를 변경할 수 있다(0207). 타 서비스 리퀘스트 송신 폴리시를 시뮬레이션 중에 변경하기 위해서는, 예를 들어 먼저 유저가 변경 후의 타 서비스 리퀘스트 송신 폴리시(0107)를 입력 데이터 스토리지(0105) 내에 준비하고, 마이크로 서비스 시뮬레이터(0112)에, 변경 후의 타 서비스 리퀘스트 송신 폴리시(0107)를 임포트하도록 명령한다. 만일 시뮬레이션 중에, 타 서비스 리퀘스트 송신 폴리시(0107)를 수정할 필요가 없는 경우에는, 이 스텝은 행하지 않아도 된다.In addition, the user can change the other service
또한, 유저는, 시뮬레이션의 실행 중에, 리퀘스트 생성 폴리시(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
시뮬레이션의 종료 조건은, 임의의 조건이어도 된다. 예를 들어, 종료 조건은, 가상 시스템에 대한 리퀘스트가, 리퀘스트 생성 폴리시(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
도 3은, 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)의 실행에 이용되는 장치의 내부 구성을 나타낸다. 당해 장치는, 시뮬레이션 장치의 일례이며, 계산기여도 된다. 이하, 도 3에 예시된 장치를, 편의상, 「시뮬레이션 장치」라고 칭한다. 또한, 본 실시예에서는, 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)가 상기 장치에서 실행되지만, 시뮬레이션 입력 데이터 작성 툴(0103) 및 마이크로 서비스 시뮬레이터(0112)는, 서로 다른 2 이상의 계산기에서 실행되어도 된다.3 shows the internal configuration of an apparatus used for execution of the simulation input
시뮬레이션 장치(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
도 4는, 시뮬레이션 입력 데이터 작성 툴(0103)에 의해 표시되는 시스템 구성 작성 지원 화면을 나타낸다.4 : shows the system configuration creation support screen displayed by the simulation input
시스템 구성 작성 지원 화면(0401)은, 복수의 UI로서, 서비스 템플릿 화면(0404)(제1 UI의 일례), 시스템 구성 설계 화면(0405)(제2 UI의 일례), 및 서비스 상세 화면(0406)(제3 UI의 일례)을 갖는다. 시스템 구성(0106)이 포함하는 1 이상의 정보 요소는, 시스템 구성 작성 지원 화면(0401) 경유로 입력된 정보 요소이다.A system configuration
서비스 템플릿 화면(0404)은, 서비스 템플 DB(0102)에 저장되어 있는 하나 또는 복수의 서비스 템플릿 중 원하는 1 이상의 서비스 템플릿의 선택을 유저로부터 접수하는 UI이다. 당해 화면(0404)에는, 예를 들어 4개의 서비스 템플릿에 각각 대응한 4개의 템플릿 오브젝트(0407 내지 0410)가 표시되어 있다.The
시스템 구성 설계 화면(0405)은, 서비스 템플릿 화면(0404)으로부터 선택된 1 이상의 서비스 템플릿(템플릿 오브젝트)에 각각 대응한 1 이상의 서비스 오브젝트를 표시하고, 당해 1 이상의 서비스 오브젝트의 의존 관계의 지정을 유저로부터 접수하는 UI이다. 도 4의 예에서는, 5개의 서비스에 각각 대응한 5개의 서비스 오브젝트(0411 내지 0415)가 표시되어 있다. 적어도 하나의 서비스 오브젝트가, 서비스 템플릿 화면(0404)으로부터 선택된 서비스 템플릿에 대응한 서비스 오브젝트여도 된다. 또한, 서비스 템플릿 화면(0404)에는, 어느쪽의 서비스 템플릿을 사용 하는 일 없이 작성된 서비스에 대응하는 서비스 오브젝트가 표시되어도 된다. 시스템 구성 설계 화면(0405)에 있어서, 서비스 간의 의존 관계는, 서비스 오브젝트(노드) 간의 화살표(에지)로 표현 가능하지만, 타종의 표현이 채용되어도 된다. 화살표로 연결된 2개의 서비스 오브젝트에 있어서, 화살표의 시점(원)에 있는 서비스 오브젝트는, 의존원의 서비스에 대응한 오브젝트이며, 화살표의 종점(처)에 있는 서비스 오브젝트는, 의존처의 서비스에 대응한 오브젝트이다.The system
서비스 상세 화면(0406)은, 시스템 구성 설계 화면(0405)에 전개(표시)된 1 이상의 서비스 오브젝트 중 선택된 서비스 오브젝트(예를 들어 서비스 C의 오브젝트(0413))에 대응한 서비스 템플릿에 대한 1 이상의 값의 입력을 접수하는 UI이다.The
서비스 시스템을 구성하는 복수의 서비스의 적어도 하나는, 서비스 상세 화면(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
도 4에 예시된 시스템 구성 작성 지원 화면(0401)을 이용하여, 유저는, 예를 들어 다음과 같이 하여, 서비스 시스템을 설계할 수 있다. 또한, 당해 화면(0401)에 대한 유저 조작에 응답한 표시는, 시뮬레이션 입력 데이터 작성 툴(0103)에 의해 제어된다.Using the system configuration
유저는, 시스템 구성 설계 화면(0405)에서, 시스템 구성(0106)을 기술한다. 시스템 구성(0106)에는, 시스템 내에서 이용하는 서비스의 전부와, 서비스 간의 의존 관계가 표현된다. 서비스 간을 연결하는 화살표는, 어떤 서비스가 다른 서비스에 리퀘스트를 송신하는 것을 의미하고 있다. 예를 들어, 서비스 A의 의존처는 서비스 B 및 서비스 C이기 때문에, 서비스 A는, 서비스 B와 서비스 C에 리퀘스트를 송신하게 된다.The user describes the
유저가, 시스템 구성 설계 화면(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
서비스 상세 화면(0406)에 있어서의 리퀘스트의 처리 부하와, 리스폰스 타임 변동과, 처리 동기성의 항목은, 서비스가 처리하는 리퀘스트의 내용마다 개별로 기재하는 것도 가능하도록 한다.The items of request processing load, response time variation, and processing synchronization on the
서비스 템플릿 화면(0404)에서는, 시스템 구성 설계 화면(0405) 내에 포함하는 서비스의 서비스 템플릿이 전부 또는 부분적으로 일람 표시된다. 유저가, 서비스 템플릿을, 시스템 구성 설계 화면(0405)에 붙이면, 붙여진 서비스 템플릿은 서비스로서 인식된다. 서비스 템플릿으로 만들어진 서비스는, 서비스 상세 화면(0406)에 값이 설정되어 있으며, 유저는 필요하면 어느 항목의 값을 수정한다. 이에 의해, 유저가 시스템 구성(0106)을 작성하는 시간이 단축된다.In the
시스템 구성의 설계가 완료된 경우, 유저가 보존 버튼(0403)을 클릭 또는 탭 함으로써, 설계된 시스템 구성을 나타내는 시스템 구성(0106)이, 입력 데이터 리포지터리(0104)와 입력 데이터 스토리지(0105)에 보존된다. 또한, 임포트 버튼(0402)을 클릭함으로써, 입력 데이터 리포지터리(0104)에 보존된 시스템 구성(0106)을, 시스템 구성 설계 화면(0405)에 임포트할 수 있다.When the design of the system configuration is completed, when the user clicks or taps the
도 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
도 5는, 타 서비스 리퀘스트 송신 폴리시(0107)의 일례를 나타낸다. 도 5의 타 서비스 리퀘스트 송신 폴리시(0107)는, JSON(JavaScript(등록상표) Object Notation) 포맷에 따르고 있지만, 포맷은 JSON일 필요는 없다.5 shows an example of another service
0503행째의 기술은, 0502행째부터 0528행째에 기술되어 있는 폴리시의 적용 대상인 서비스를 지정하고 있다. 0504행째의 기술은, 0503행째에 지정된 서비스가, 리퀘스트를 기다리는 서비스의 식별자이다. "{"와 "}"로 둘러싸인 개소는, 변수를 나타내고 있다. 유저는, 변수의 값마다, 서비스에 도달한 리퀘스트의 처리와 전송처를 기술할 수 있다. 0505행째의 기술은, 포트 번호를 나타낸다. 0507행째의 기술은, 서비스에 대한 리퀘스트의 메소드를 나타낸다. 예를 들어, HTTP에 의한 리퀘스트를 기다리는 경우에는, GET, PUT, PUSH, DELETE 중 어느 것이 지정된다. 0509행째와 0510행째의 기술은, 0504행째의 문자열의 변수로서 지정되어 있던 개소의 값을 지정하고 있다. 여기에서의 애스테리스크는, 임의의 문자열을 나타낸다. 특별히 애스테리스크일 필요는 없으며, 엔드 포인트의 기술로서 유효하지 않은 문자 또는 문자열이면 된다. 0511행째부터 0526행째의 기술은, 엔드 포인트가 0504행째와 0509행째와 0510행째의 기술의 조합으로 지정된 리퀘스트에 대한 처리와 전송처를 나타내고 있다.The description in
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.
유저는, 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
0522행째의 기술은, 리퀘스트 송신처의 서비스가 장애로부터 회복되었다고 간주하는 기준을 나타내고 있다. 도 5의 예에서는, 시간으로 하고 있으며, 0523행째의 기술에 의해, 시간이 1초 경과하면, 서비스 D가 장애로부터 복구되었다고 간주하는 것을 의도하고 있다.The description in
0503행째에서 지정한 서비스가, 복수의 서비스에 리퀘스트를 보내는 경우, 유저는 0512행째부터 0525행째의 기술을, 배열 형식으로 열거한다. 또한, 0503행째에서 지정한 서비스가, 복수의 리퀘스트 메소드를 접수하는 경우, 유저는 0507행째부터 0528행째의 기술을, 메소드를 키로 한 연상 배열로 열거한다. 또한, 유저는 0502행째부터 0530행째의 기술을, 시스템 구성(0106)에 포함되는 전체 서비스마다 배열 형식으로 열거한다.When the service specified in
도 5의 예에 의하면, 타 서비스 리퀘스트 송신 폴리시(0107)는, 1 이상의 서비스의 각각에 대하여, 하나의 서비스를 예로 들면(도 5의 설명에 있어서 「대상 서비스」), 하기 중 적어도 하나,According to the example of Fig. 5, the other service
·대상 서비스의 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
리퀘스트 생성 폴리시(0108)는, 시뮬레이션 중에 시스템에 대한 리퀘스트를 생성할 때의 폴리시다. 0603행째의 기술은, 리퀘스트의 프로토콜을 나타내고 있다. 0604행째의 기술은, 시스템에 대한 리퀘스트 송신처인 엔드 포인트를 나타내고 있다. 0605행째의 기술은, 엔드 포인트의 포트 번호를 나타내고 있다. 0606행째의 기술은, 시뮬레이션 중에 시스템에 송신되는 리퀘스트의 수를 나타내고 있다. 0617행째와 같이, 리퀘스트 수의 항목에 수치 이외의 문자를 입력한 경우에는, 리퀘스트가 시스템에 영구적으로 계속해서 보내진다. 0607행째부터 0611행째의 기술은, 시스템에 대한 리퀘스트의 송신 레이트를 나타내고 있다. 도 6의 0607행째부터 0611행째의 예에서는, 단위 시간당 평균 100 리퀘스트이며, 분산이 10의 정규 분포에 따르는 확률로 리퀘스트가 송신된다.The
시스템에 복수 종류의 리퀘스트를 보내는 경우나, 복수의 서비스에 리퀘스트를 송신하는 경우, 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
도 7은, 마이크로 서비스 시뮬레이터(0112)의 시스템 구성을 나타낸다.7 shows the system configuration of the
마이크로 서비스 시뮬레이터(0112)는, 시뮬레이션 제어부(0706)와, 입력 파일 로드부(0703)와, 가상 시스템 구축부(0704)와, 리퀘스트 생성부(0707)와 같은 복수의 모듈(기능)을 갖는다.The
시뮬레이션 제어부(0706)는, 유저로부터의 명령에 따라서, 시뮬레이션 환경의 구축, 시뮬레이션의 개시, 시뮬레이션의 일시 정지, 시뮬레이션의 종료, 특정한 서비스에 대한 외란의 입력을 행한다. 또한, 유저로부터의 명령은, 외란 입력 콘솔(0110), 폴리시 입력 콘솔(0113), 및 그 밖의 도시하지 않은 입력 콘솔 중 적어도 하나의 입력 콘솔 경유로 수신할 수 있다.The
입력 파일 로드부(0703)는, 시뮬레이션 제어부(0706)로부터의 지시에 따라서, 입력 데이터 스토리지(0105) 내에 존재하는 입력 파일(입력 데이터 세트의 일례)을 판독하고, 가상 시스템 구축부(0704)에 전송한다.The input
가상 시스템 구축부(0704)는, 입력 파일 로드부(0703)로부터 수취한 입력 파일을 기초로, 시뮬레이션 대상인 서비스 시스템을 마이크로 서비스 시뮬레이터(0112) 내에서 가상적으로 구축한다. 그 때, 가상 시스템 구축부(0704)는, 시스템 구성에 기초하여, 서비스 시스템에 포함되는 각 서비스의 인스턴스를 생성한다. 즉, 가상 시스템 구축부(0704)가, 복수의 서비스에 각각 대응한 복수의 가상 서비스(0708)로 구성된 가상적인 서비스 시스템인 가상 시스템(0700)을 구축한다. 따라서, 가상 시스템(0700)에 있어서, 각 가상 서비스 간의 의존 관계는, 서비스 시스템에 있어서의 각 서비스 간의 의존 관계와 동일하다. 각 가상 서비스(0708)는, 대응하는 서비스가 가상화된 서비스이며, 구체적으로는, 예를 들어 대응하는 서비스의 인스턴스에 상당한다.The virtual
시뮬레이션 제어부(0706)는, 유저로부터의 시뮬레이션의 제어를 접수한다. 시뮬레이션 제어부(0706)가 접수하는 제어는, 시뮬레이션 내에서의 가상 시스템(0700)의 구축과, 시뮬레이션의 개시와, 시뮬레이션의 일시 정지와, 시뮬레이션의 종료와, 특정한 서비스에 대한 의도적인 외란 발생 중 어느 것이다.The
리퀘스트 생성부(0707)는, 시뮬레이션 중에, 가상 시스템(0700)에 입력하는 리퀘스트를 생성한다. 가상 시스템 구축부(0704)에 의해 생성된 가상 서비스(0708)는, 서비스 제어 수신부(0709)와, 서비스 처리부(0710)와, 타 서비스 리퀘스트부(0711)를 포함한다. 이하, 하나의 가상 서비스(0708)를 예로 든다(도 7의 설명에 있어서 「대상 가상 서비스(0708)」).The
서비스 제어 수신부(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
각 서비스는, 전형적으로는 애플리케이션이며, 리퀘스트를 접수하는 입력 인터페이스의 일례로서의 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
이상과 같이, 각 가상 서비스(0708)는, 당해 가상 서비스(0708)가 갖는 출력 인터페이스는, 타 서비스 리퀘스트 송신 폴리시(0107)에 기초하는 설정이 된 출력 인터페이스로서의 모듈인 타 서비스 리퀘스트부(0711)이다. 이에 의해, 의존처의 서비스에서 문제가 발생한 경우에 리퀘스트 송신처를 다른 서비스로 전환하는 것을 시뮬레이션에 있어서 실행할 수 있다. 또한, 의존처의 가상 서비스(0708)가 존재하지 않는 가상 서비스(0708)에는, 타 서비스 리퀘스트부(0711)가 마련되지 않아도 된다.As described above, in each
또한, 각 가상 서비스(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
또한, 본 실시예에서는, 서비스 처리부(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
도 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
그 후, 입력 파일 로드부(0703)는, 가상 시스템 구축부(0704)에, 시스템 구성(0106)과 타 서비스 리퀘스트 송신 폴리시(0107)를 전송한다(0806). 가상 시스템 구축부(0704)는, 시스템 구성(0106)과 타 서비스 리퀘스트 송신 폴리시(0107)에 따라서, 가상 시스템(0700)을 구축하는, 예를 들어 시스템 구성(0106)에 포함되는 서비스의 인스턴스를 시뮬레이션 환경 내에 생성한다(0807). 또한, 입력 파일 로드부(0703)는, 리퀘스트 생성부(0707)에 리퀘스트 생성 폴리시(0108)를 송신한다(0808). 리퀘스트 생성부(0707)는, 리퀘스트 생성 폴리시(0108)에 따라서, 서비스 시스템(가상 시스템(0700))으로 입력하는 리퀘스트의 내용과, 리퀘스트의 송신처인 서비스(당해 서비스에 대응한 가상 서비스(0708))와, 리퀘스트 송신 레이트를 설정한다(0809).Thereafter, the input
리퀘스트 생성 폴리시(0108)와, 타 서비스 리퀘스트 송신 폴리시(0107)는, 상술한 바와 같이, 시뮬레이션 중이어도, 시뮬레이션을 정지시키지 않고 변경하는 것이 가능하다.As described above, the
도 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
또한, 유저가, 타 서비스 리퀘스트 송신 폴리시(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
도 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
서비스 처리부(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
타 서비스 리퀘스트부(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
도 11은, 시뮬레이션 중에, 유저가 마이크로 서비스 시뮬레이터(0112)에 외란을 입력할 때의 처리 시퀀스를 나타낸다. 시뮬레이션에 있어서, 의존처의 가상 서비스(0708)의 문제는, 타 서비스 리퀘스트 송신 폴리시(0107)와 외란 발생 시나리오(0109) 중 적어도 하나에 따라서 발생하게 된다.11 shows a processing sequence when a user inputs disturbance to the
유저가, 시뮬레이션 중에, 외란 입력 콘솔(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
도 12는, 외란 발생 시나리오(0109)의 일례를 나타낸다.12 shows an example of a
1202행째부터 1209행째까지의 기술은, 단일의 서비스에 대한 단일의 외란 사상을 나타내고 있다. 복수의 외란을 설정하는 경우에는, 1210행째부터 1218행째 과 같이, 배열 형식으로 모든 외란을 열거한다.The descriptions in
1203행째의 기술은, 시뮬레이션 개시 후로부터 외란이 발생할 때까지의 시간 또는 시각을 나타낸다. 1204행째의 기술은, 외란의 사상이 종료하는 시각 또는 외란의 계속 시간을 나타낸다. 1205행째의 기술은, 외란이 발생하는 서비스를 나타내고 있다. 1206행째의 기술은, 외란의 내용을 나타내고 있다. 도 12의 1206행째는, 예로서, 서비스가 정지한 것을 나타내고 있으며, 1214행째는, 서비스의 리스폰스 타임이 장시간화한 것을 나타내고 있다. 1207행째부터 1208행째까지의 기술은, 발생하는 외란의 보충 정보를 나타낸다. 예로서, 1215행째부터 1217행째에서는, 리스폰스 타임이 통상의 3배가 되는 것을 나타내고 있다.The description in
외란 발생 시나리오(0109)는, 시뮬레이션 개시 전에, 마이크로 서비스 시뮬레이터(0112)에 입력되고, 시뮬레이션 개시 후에 마이크로 서비스 시뮬레이터(0112)가 외란 발생 시나리오(0109)를 따라서 시스템 내의 서비스에 외란을 발생시킬 수 있다. 유저는, 외란 입력 콘솔, 또는 시뮬레이션 입력 데이터 작성 툴, 또는 임의의 텍스트 에디터를 사용하여, 외란 발생 시나리오를 작성할 수 있도록 한다.The
이상, 본 발명의 일 실시예를 설명하였지만, 이들은 본 발명의 설명을 위한 예시이지, 본 발명의 범위를 이 실시예만으로 한정하는 취지는 아니다. 본 발명은, 다른 다양한 형태에서도 실행하는 것이 가능하다.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)
(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.
(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.
(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.
(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.
(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.
상기 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.
(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.
(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.
(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) 상기 복수의 서비스 중 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.
(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.
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)
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 |
JP7334702B2 (en) | 2020-10-02 | 2023-08-29 | トヨタ自動車株式会社 | Service management device |
JP7380504B2 (en) | 2020-10-02 | 2023-11-15 | トヨタ自動車株式会社 | Service management device |
Citations (4)
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)
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 |
US20120317069A1 (en) * | 2010-02-23 | 2012-12-13 | Nec Corporation | Throughput sustaining support system, device, method, and program |
WO2017056238A1 (en) * | 2015-09-30 | 2017-04-06 | 株式会社日立製作所 | Vm assignment management system and vm assignment management method |
-
2018
- 2018-03-01 JP JP2018037006A patent/JP6785810B2/en active Active
- 2018-12-28 KR KR1020207004959A patent/KR102339747B1/en active IP Right Grant
- 2018-12-28 WO PCT/JP2018/048451 patent/WO2019167421A1/en active Application Filing
Patent Citations (4)
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 |
---|---|
KR20200029574A (en) | 2020-03-18 |
WO2019167421A1 (en) | 2019-09-06 |
JP6785810B2 (en) | 2020-11-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 | |
US10373072B2 (en) | Cognitive-based dynamic tuning | |
US11194572B2 (en) | Managing external feeds in an event-based computing system | |
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 | |
CN113377665B (en) | Container technology-based testing method and device, electronic equipment and storage medium | |
CN111782341B (en) | Method and device for managing clusters | |
CN111625949B (en) | Simulation engine system, simulation processing method, device and medium | |
CN116635834A (en) | Coordinating requests executing at extensible applications | |
US20210011947A1 (en) | Graphical rendering of automata status | |
US20150150012A1 (en) | Cross-platform workload processing | |
US20140101309A1 (en) | Dynamic and selective management of integration points using performance metrics | |
CN115222041B (en) | Graph generation method and device for model training, electronic equipment and storage medium | |
CN111858234A (en) | Task execution method, device, equipment and medium | |
US11847046B1 (en) | Application functionality testing, resiliency testing, chaos testing, and performance testing in a single platform | |
US11977922B2 (en) | Resource reuse for pipeline workloads | |
WO2023193609A1 (en) | Selective privileged container augmentation | |
CN116774996A (en) | Integrated development system, code processing method, electronic device, and storage medium | |
CN114911494A (en) | Application deployment method, apparatus, electronic device and medium for distributed system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |