Information processing device, information processing method, and program

The information processing device optimizes job scheduling in distributed systems by integrating job acquisition, allocation, and display control units, enhancing convenience and efficiency in managing job schedules across diverse server environments.

JP7813958B2Active Publication Date: 2026-02-13MORGENROT INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025502792
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-02-24
Filing Date
2024-02-22
Publication Date
2026-02-13
Estimated Expiration
2044-02-22

AI Technical Summary

Technical Problem

Conventional distributed processing systems lack convenience in managing job schedules, failing to optimize job allocation across multiple servers effectively.

Method used

An information processing device and method that includes a job acquisition unit, job allocation unit, and display control units to manage job distribution and display server utilization rates, allowing flexible server selection and efficient job scheduling based on various indicators.

Benefits of technology

Improves the convenience and efficiency of job schedule management in distributed processing by optimizing job allocation and providing intuitive visualizations of server utilization, enabling seamless integration of on-premise and cloud resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007813958000001
    Figure 0007813958000001
  • Figure 0007813958000002
    Figure 0007813958000002
  • Figure 0007813958000003
    Figure 0007813958000003
Patent Text Reader

Abstract

The present invention improves the convenience of job schedule management in distributed processing. A master server 1 comprises a job acquisition unit 21, a job assignment unit 22, and a time band display control unit 25. The job acquisition unit 21 acquires at least one job from each of performer terminals 3-1 to 3-m. The job assignment unit 22 implements processing for assigning at least one job as a job assignment to at least one assignee, which is at least one of job execution servers 2-1 to 2-n, in each of a plurality of predetermined time bands. The time band display control unit 25 performs control to display a heat map in which a plurality of time band areas respectively indicating the plurality of predetermined time bands are displayed in display modes that are varied in accordance with the operating ratio of the job execution server 2 that may vary in nature or degree depending on the time band for each group or job, for example.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] Conventionally, distributed processing has been performed in which a large number of jobs are distributed and executed by a plurality of servers (for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2020-095340 Summary of the Invention [Problem to be solved by the invention]

[0004] In recent years, there has been a demand for improved convenience in managing job schedules in distributed processing. However, the above-mentioned conventional techniques alone have not been able to fully meet these demands.

[0005] The present invention has been made in view of the above circumstances, and has as its object to improve the convenience of job schedule management in distributed processing. [Means for solving the problem]

[0006] In order to achieve the above object, an information processing device according to one aspect of the present invention comprises: a job acquisition means for acquiring one or more jobs from one or more client devices on a client side that make a calculation request for the job; a job allocation unit that allocates the one or more jobs to at least some of the plurality of computation execution devices as allocation destinations for each of a plurality of predetermined time slots; a first display control means for controlling the display of a plurality of time zone regions each representing a predetermined time zone in a variable manner in accordance with a predetermined element whose content or degree varies depending on the time zone, for a predetermined unit including at least one of the plurality of calculation execution devices; and Equipped with.

[0007] An information processing method and a program according to one aspect of the present invention are respectively a method and a program corresponding to the information processing system according to one aspect of the present invention described above. [Effects of the Invention]

[0008] According to the present invention, it is possible to improve the convenience of job schedule management in distributed processing. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a diagram illustrating an example of the configuration of a distributed processing system including a master server that is an embodiment of an information processing device of the present invention. [Figure 2] 2 is a block diagram showing an example of a hardware configuration of a master server in the distributed processing system of FIG. 1. FIG. [Figure 3] 3 is a functional block diagram showing an example of the functional configuration of the master server of FIG. 2. FIG. [Figure 4] 4 is a flowchart showing an example of the operation of a master server having the functional configuration of FIG. 3. [Figure 5] FIG. 4 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, in which the utilization rate (operating rate) of the job execution server is displayed in a heat map by different colors. [Figure 6] FIG. 4 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, on which the display of a heat map can be switched by specifying a job execution server. [Figure 7] FIG. 4 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of the availability of job execution servers in specific groups on a specific day. [Figure 8] FIG. 4 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of the operating rates for each specific job execution server on a specific day. [Figure 9] FIG. 4 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of job execution status (operation rate) for each specific user group on a specific day. [Figure 10] FIG. 4 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of job execution status (operation rate) for each specific user on a specific day. FIG. [Figure 11] FIG. 4 is a diagram showing an example of a job calendar screen provided by the master server of FIGS. 2 and 3. [Figure 12] 4 is a diagram showing an example of a screen displaying a job calendar displayed on a weekly basis among the job calendar screens provided by the master server of FIGS. 2 and 3. FIG. [Figure 13] 4 is a diagram showing an example of a job calendar screen provided by the master server of FIGS. 2 and 3, in which jobs are grouped by time period. FIG. [Figure 14] FIG. 14 is a diagram showing detailed information displayed when a mouse is placed over a job column displayed on the job calendar of FIG. 13. [Figure 15] 4 is a diagram showing information displayed by checking a check box arranged on a job calendar on the screen of the job calendar provided by the master server of FIGS. 2 and 3. FIG. [Figure 16] FIG. 16 is a diagram showing a job calendar screen in which the weekly job calendar of FIG. 15 has been changed to a daily job calendar. [Figure 17] FIG. 17 is a diagram showing a job input screen that is displayed as a pop-up on the job calendar of FIG. 16. [Figure 18] FIG. 18 is a diagram showing a new job registration screen displayed by a new job registration operation on the job input screen of FIG. 17. [Figure 19]FIG. 4 is a diagram showing menu items of functions provided by the master server of FIGS. 2 and 3. [Figure 20] FIG. 20 is a diagram showing a server management screen for the currently subscribed cloud server, which is displayed by operating the cloud collaboration function item (the "M:Cloud" button) among the menu items in FIG. 19. [Figure 21] 21 is a diagram showing a details screen of a cloud server selected on the server management screen of FIG. 20. FIG. [Figure 22] 22 is a diagram showing a server shutdown pop-up screen displayed by a shutdown operation on the details screen of FIG. 21. FIG. [Figure 23] 22 is a diagram showing an error pop-up screen that is displayed when the server is stopped by performing a stop operation on the details screen of FIG. 21. FIG. [Figure 24] FIG. 21 is a diagram showing a server group selection screen that is displayed when an “Add Server” button for adding a new cloud server is operated on the server management screen of FIG. 20. [Figure 25] 25 is a diagram showing a server group details screen that displays detailed information about a server group selected on the server group selection screen of FIG. 24. FIG. [Figure 26] FIG. 26 is a diagram showing a selection screen for an additional server selected on the server group detail screen of FIG. 25. [Figure 27] FIG. 27 is a diagram showing an additional setting screen for an additional server selected on the additional server selection screen of FIG. 26. [Figure 28] FIG. 28 is a diagram showing an addition confirmation screen for the additional server set on the addition setting screen of FIG. 27. [Figure 29] FIG. 29 is a diagram showing an error pop-up screen that is displayed when there is an error in the conditions on the addition confirmation screen of FIG. 28. [Figure 30] FIG. 29 is a diagram showing a final confirmation pop-up screen that is displayed when a server that meets the conditions on the additional confirmation screen of FIG. 28 is started. [Figure 31] FIG. 4 is a diagram showing a "Price History" button under the item of the fee management function among the menu items of the functions provided by the master server of FIGS. 2 and 3. [Figure 32] FIG. 32 is a diagram showing a price group selection screen that is displayed when the "Price History" button in FIG. 31 is clicked. [Figure 33] FIG. 33 is a diagram showing a details screen on which detailed information of a server group selected on the fee group selection screen of FIG. 32 is displayed. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0011] FIG. 1 is a diagram showing an example of the configuration of a distributed processing system including a master server that is an embodiment of an information processing device of the present invention.

[0012] The distributed processing system shown in Figure 1 is configured by a master server 1 managed by an administrator mu, n (n is an integer value of 1 or greater) job execution servers 2-1 to 2-n, and m (m is an integer value of 1 or greater) calculation executors eu1 to eum, each of which manages one of the executor terminals 3-1 to 3-m, all of which are connected to each other via a predetermined network NW so that they can communicate with each other.

[0013] In the following, when there is no need to distinguish between multiple devices or multiple people, the terms will be referred to as follows: That is, the job execution servers 2-1 to 2-n are collectively called the "distributed processing master server 2." The executor terminals 3-1 to 3-m are collectively called the "executor terminal 3." The computation executors eu1 to eum are collectively called the "computation executor eu."

[0014] The distributed processing system of Figure 1, configured as described above, can distribute jobs provided by the calculation executor eu efficiently and optimally across multiple calculation resources and execute calculations fairly when submitted. Here, a job refers to, for example, a computation process or a series of processes in rendering, machine learning including deep learning, fluid or structural simulation scientific calculations, etc.

[0015] The computational resources to which each job distributed by the distributed processing system of FIG. 1 is assigned are job execution servers 2, a plurality of which are installed in physically separate spaces.

[0016] The multiple job execution servers 2 can be installed anywhere as long as IP communication is possible, such as by installing them on a LAN and connecting them to a VPN, or by publishing the servers on a DMZ. In other words, the job execution servers 2 can be flexibly installed on-premise or in the cloud. Furthermore, the job execution servers 2 can also be machines provided by a third party. In addition, the job execution server 2 may be a combination of these machines. For example, the job execution server 2 may be an execution server configured only on-premise and managed by an administrator mu, an execution server configured only in an environment installed on the cloud, or an execution server configured only with machines provided by a third party. Furthermore, the job execution server 2 may be an execution server consisting of on-premise and cloud machines, an execution server consisting of on-premise and machines provided by a third party, or an execution server consisting of the cloud and machines provided by a third party. The job execution server 2 may also be an execution server configured from on-premise, cloud, and third-party provided machines. On-premise and cloud computing have different management costs, and the optimal configuration varies depending on the administrator's needs. Whether or not to use a server provided by a third party also depends on the administrator's security policy, budget, and other factors. The present invention makes it possible to combine such complex requests and environments into a job execution server 2 without placing a burden on the user. This is realized by a master server or the like, which will be explained below. The present invention allows use regardless of the installation status, such as on-premise or cloud, thereby simplifying or eliminating the process of server selection that has traditionally been performed by the calculation executor eu to select a server to perform the calculation. The job execution server 2 is connected to a storage device (not shown) directly (via InfiniBand, PCIE connection, or external) or via VPN, and temporarily stores data.

[0017] In the distributed processing system of FIG. 1, the master server 1 monitors the status of a plurality of job execution servers 2. 1, there is one master server 1, but this is not a limitation, and there may be one or more master servers 1 in the network NW. When there is one or a small number of master servers 1 per management unit, capital investment can be reduced, and all monitoring related to calculation executors, each job, etc. can be easily performed. When there are multiple or many master servers 1 per management unit, this is effective for maintaining functionality in the event of a stoppage or failure of some master servers 1, or in the event of an increase in access load due to a large number of calculation executors eu. When there are multiple master servers 1, the priority is determined among the master servers 1 based on a preset algorithm, and a master server 1 with a lower priority can follow the instructions of a master server 1 with a higher priority. The priority may be fixed from the time of installation, or may change over time. This allows jobs to be appropriately assigned to job execution servers 2 when, for example, the suitability of the job execution servers 2 managed by the master server 1 is predicted in advance from the perspective of N types of indicators (described later), or when suitability can be determined during the process of job submission, execution, completion, etc.

[0018] In the distributed processing system of Fig. 1, the computation executor eu can operate the executor terminal 3 to access the master server 1 and request the execution of a predetermined job. In other words, when the executor terminal 3 requests the execution of a job, it is sufficient to access the master server 1 via IP communication such as the Internet. This eliminates the need for the computation executor eu to issue a distribution instruction operation himself, and the execution of a job involving distributed processing can be started in the distributed processing system of Fig. 1.

[0019] The master server 1 cooperates with the executor terminal 3 and the job execution server 2 via IP communication, and in response to a request from the executor terminal 3, assigns a job sent from the executor terminal 3 to a job execution server 2 suitable for executing the job from among a plurality of job execution servers 2 on the network NW, and executes the job. In other words, the master server 1 acquires the job sent from the executor terminal 3, sets one or more of the multiple job execution servers 2 as the allocation destination, allocates the job, transfers it to the one or more allocation destinations, and executes the job. The master server 1 can naturally set one job execution server 2 in a group as the allocation destination, as in the conventional case, and can also set a job execution server 2 belonging to a different group as the allocation destination, if necessary. Each of the plurality of job execution servers 2 set as allocation destinations by the master server 1 executes the job assigned by the master server 1.

[0020] FIG. 2 is a block diagram showing an example of the hardware configuration of the master server in the distributed processing system of FIG.

[0021] The master server 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a bus 14, an input / output interface 15, an input unit 16, an output unit 17, a memory unit 18, a communication unit 19, and a drive 20.

[0022] The CPU 11 executes various processes according to a program recorded in the ROM 12 or a program loaded from the storage unit 18 into the RAM 13 . The RAM 13 also stores data and the like necessary for the CPU 11 to execute various processes.

[0023] The CPU 11, ROM 12, and RAM 13 are connected to one another via a bus 14. An input / output interface 15 is also connected to this bus 14. An input unit 16, an output unit 17, a storage unit 18, a communication unit 19, and a drive 20 are connected to the input / output interface 15.

[0024] The input unit 16 is composed of various hardware buttons and the like, and inputs various information in response to instructions and operations by the operator. The output unit 17 is configured with a display such as a liquid crystal display, and displays various images.

[0025] The storage unit 18 is configured with a DRAM (Dynamic Random Access Memory) or the like, and stores various data. The communication unit 19 controls communication with other devices (for example, the job execution server 2 and the executer terminal 3) via a network NW including the Internet.

[0026] The drive 20 is provided as needed. Removable media 31, such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, is appropriately attached to the drive 20. Programs read from the removable media 31 by the drive 20 are installed in the storage unit 18 as needed. The removable media 31 can also store various data stored in the storage unit 18 in the same way as the storage unit 18.

[0027] Although not shown, the job execution server 2 and the job executor terminal 3 in the distributed processing system of FIG. 2 also have the hardware configuration shown in FIG. The job execution server 2 basically has the same hardware configuration as that shown in FIG. 2, but may also have one or more GPUs (Graphics Processing Units) in addition to one or more CPUs 11. Furthermore, the job execution server 2 may have any computing unit such as an NPU (Neural Network Processing Unit), a TPU (Tensor Processing Unit), or a QPU (Quantum Processing Unit).

[0028] FIG. 3 is a functional block diagram illustrating an example of the functional configuration of the master server of FIG. As shown in FIG. 3, the storage unit 18 of the master server 1 stores a user DB 41 and a job management DB 42.

[0029] The user DB 41 stores information about the administrator mu and the calculation executor em (for example, name, account information (login ID and password), group to which they belong, etc.). The job management DB 42 stores information including one or more jobs acquired by the job acquisition unit 21, the destination (job execution server 2) of the job assigned by the job allocation unit 22, the job execution schedule (including job execution reservations), and the job execution results. In addition, the job management DB 42 stores information about all job execution servers 2 under the control of the master server 1 (device names, device IDs, specifications, operation information for each device (CPU and memory utilization rates, operation rates calculated from the utilization rates of each device, heat map display information (relationship between operation rates and cell background colors, etc.), flags indicating whether a job is in progress or has finished)). The status of a job can be confirmed by checking the flag.

[0030] 3, when executing distributed processing, the CPU 11 of the master server 1 functions as follows: a job acquisition unit 21, a job allocation unit 22, a job transfer unit 23, a job execution control unit 24, a time period display control unit 25, an availability calculation unit 26, a group setting unit 27, and an area display control unit 28. When executing distributed processing, these units write and / or read information to and from a user DB 41 and a job management DB 42 in the storage unit 18 while executing the processing.

[0031] The job acquisition unit 21 acquires one or more jobs from each of the executer terminals 3-1 to 3-m. Specifically, the job acquisition unit 21 acquires one or more jobs transmitted from one or more respective user terminals 3, and stores the one or more jobs in the job management DB 42 of the storage unit 18 or the like.

[0032] The job allocation unit 22 allocates one or more jobs to at least some of the job execution servers 2-1 to 2-n as allocation destinations for each of a plurality of predetermined time slots as job allocation. The job allocation unit 22 optimizes jobs by allocating jobs to one or more jobs stored in the job management DB 42 at a predetermined timing, such as when a job allocation request is received, using various indicators such as information on the job execution server 2 to which the jobs are to be allocated as constraints. Here, "job allocation" means setting a destination to which a job is to be allocated from among multiple job execution servers 2.

[0033] The job transfer unit 23 distributes and transfers one or more jobs to the plurality of job execution servers 2 set as allocation destinations in accordance with the job allocation. Specifically, the job transfer unit 23 reads the target job from the job management DB 42 in accordance with the job allocation assigned by the job allocation unit 22, and transfers the job to the job execution server 2 set as the allocation destination.

[0034] The job execution control unit 24 controls the execution of one or more jobs by the multiple job execution servers 2 set as allocation destinations.

[0035] The above-mentioned job allocation unit 22 may perform job allocation such that jobs are immediately submitted (transferred) in the order in which they are received, taking into consideration the indexes described below. Also, the job allocation unit 22 may perform job allocation such that jobs are received within a set time period and optimization is performed for multiple jobs received at any time. In addition, the job allocation unit 22 may set interrupt constraints and immediately execute jobs that satisfy the constraints, even if a scheduled job is already in progress.

[0036] Further details of job allocation by the job allocation unit 22 will be described below. The job allocation unit 22 can optimize jobs by allocating jobs based on M types of indicators (M is an integer value equal to or less than N) out of N types of predetermined indicators (N is an integer value equal to or greater than 2).

[0037] Here, the N types of indices are not particularly limited, but the following indices can be adopted. For example, the specifications (CPU, GPU, memory, etc.) of the job execution server 2 that is a candidate for allocation can be used as an index. For example, the communication speed of the network to which the job execution server 2 is connected can be used as an index. For example, information relating to the device settings of the job execution server 2 (security information, OS, implemented compiler, etc.) can be used as the index. For example, information on the power supply to the job execution server 2 (such as the stability of the power supply, whether the power is renewable energy, etc.) can be used as an index. For example, geographical information about the location where the job execution server 2 is installed (policies of data handling by local governments and management organizations, climate and air conditioning environment that affect the server operating temperature) can be used as an index. For example, the efficiency and speed of job execution can be used as the index. For example, the operational performance of the job execution server 2 can be used as an index. For example, the type of the owner (administrator mu, etc.) of the job execution server 2 can be used as an index. For example, the type of job owner (such as the calculation executor eu) can be used as an index. For example, the index may be the date and time at the location where the job execution server 2 is installed. Specifically, for example, the calculation executor eu may be presented with an input field for date and time (calendar or number input format), and the job allocation unit 22 may allocate jobs using the date and time specified by the calculation executor eu (for example, the date and time of the start or end of the job) as an index.

[0038] The M types of indices used for optimization (job allocation) may be a specific one of the N types of indices described above, or multiple types may be used. When multiple types of indices are used, the job allocation unit 22 can combine the multiple types with arbitrary weighting to optimize jobs (job allocation). The weighting may be determined automatically using an arbitrary algorithm. Also, some or all of the M types may be determined by arbitrary input.

[0039] The time zone display control unit 25 executes control to display a heat map (see, for example, FIG. 5) for each unit of multiple time zone areas (cells) in the job calendar according to the operation rate (elements) of the job execution server 2. FIG. 5 shows a heat map according to the operation rate of a single selected job execution server 2. The operation rate of a job execution server 2 can also be said to be the utilization rate from the user's perspective. Elements include the operation rate as well as the job content, etc. Specifically, the time zone display control unit 25 controls the display of cells representing each of a plurality of predetermined time zones by varying the display format in accordance with the operating rate of the job execution server 2, the content or degree of which may vary depending on the time zone, for each unit, for example, for each group or job. Varying the display mode specifically refers to the process of changing the background color of the cells, for example, changing the background color of cells with high utilization rates to red and cells with low utilization rates to green. Here, the background color is varied, but other factors such as the text color may also be varied, as long as the change in utilization rate for each time period is visually apparent. The time zone display control unit 25 uses, for example, the availability rate calculated by the availability rate calculation unit 26 as the predetermined element, and executes control to vary and display the display form of multiple cells indicating each of multiple predetermined time zones. The heat map can be displayed in units of selected groups according to the check contents of the check items (see, for example, FIG. 5). FIG. 5 shows a heat map in units of server groups each made up of a plurality of job execution servers 2. Furthermore, heat maps for all users, user groups containing multiple users, and specific users can all be displayed or hidden by operating the screen. For example, with a single click of the mouse, you can switch from a heat map for all users to a heat map for a user group containing multiple users (see Figures 7 and 9). Furthermore, the time period display control unit 25 uses the contents of jobs assigned to predetermined units as predetermined elements and executes control to vary and display the display format of a plurality of cells indicating each of a plurality of predetermined time periods (see, for example, Figures 11 and 12). In Figure 11, the contents of a job are written in each cell. In Figure 12, today, when a job is being executed, is displayed in a different color (for example, cream color) from other days, and a horizontal line (also called a solid line or bar) is displayed at the current time. The time zone display control unit 25 executes control to display a plurality of time zone areas side by side for each of a plurality of groups (predetermined units) (see, for example, FIGS. 7 and 8). In FIG. 7, the availability rates of two different server groups are displayed side by side. In FIG. 8, the availability rates of individual servers included in each server group are displayed by selecting a desired server group from the server groups in FIG. 7. The multiple time zone areas are obtained by dividing one day into predetermined time periods (for example, one hour), and the time zone display control unit 25 can arrange and display the multiple time zone areas for N days (N is a variable integer value equal to or greater than 1). Specifically, the multiple time zone areas can be arranged and displayed for, for example, seven days (one week), or for one day.

[0040] The availability calculation unit 26 calculates the availability for each predetermined unit such as each group or each job for each of a plurality of predetermined time periods in accordance with the job allocation. A known calculation method is used to calculate the availability. For example, by referring to the logs of the server's OS or middleware, or the logs of a publicly known job management tool installed on the server, or the logs of various software running on the server, the execution status of the job can be understood, and the operating rate can be calculated by determining the rate at which the server's hardware configuration (CPU, GPU, memory, power supply, storage, data transmission / reception equipment, etc.) is operating. The calculation target here is not necessarily limited to the utilization rate mentioned above, but can be replaced with anything else that is useful for understanding the server status. For example, in the case of a CPU, the calculation target can be any one or more of the following: the number of active CPU cores relative to the total number of CPU cores; the number of active CPU threads relative to the total number of CPU threads; the utilization rate of a CPU core (single core) with a given ID (defined, for example, as 0-100%); the average number of active CPU cores (and utilization rate) or the average number of active CPU threads (and utilization rate) or the average utilization rate of a CPU core with a given ID over a given time unit (e.g., one minute or one hour); and the startup rate of a CPU core with a given ID (whether monitoring is difficult due to a failure, etc.). Being able to handle the desired calculation results allows for detailed understanding of the server status, enabling efficient operation of the entire hardware and smoother cause analysis when a failure occurs.

[0041] The group setting unit 27 sets one or more groups obtained by grouping a plurality of job execution servers 2-1 to 2-n and calculation executors eu according to, for example, base, performance, purpose, etc. (predetermined method) as group units (predetermined units) (see, for example, Figs. 9, 10, and 15). Fig. 9 shows an example of a display resulting from a setting to display availability rates by user group, Fig. 10 shows an example of a display resulting from a setting to display availability rates by user, and Fig. 15 shows an example of a display resulting from a setting that allows switching between user group units and server group units by operating a check box. Note that a group can also be defined as a group that has only one job execution server 2. In other words, a group can also have only one job execution server 2.

[0042] When a predetermined time zone area is selected from among a plurality of time zone areas, the area display control unit 28 executes control to display another area displaying information related to the predetermined time zone area (see, for example, FIGS. 13, 14, 17, and 18). Fig. 13 shows an example of a job calendar in which a plurality of jobs are displayed together, Fig. 14 shows an example of detailed job information displayed in a separate area when the mouse is placed over a desired time zone in the job calendar in Fig. 13, Fig. 17 shows an example of a job submission screen for setting a job, and Fig. 18 shows an example of a new job registration screen (reserving a new job) displayed after transitioning from Fig. 17.

[0043] Various display examples (display formats) of the job calendar display function by the master server will be described below with reference to FIGS. First, a display format in which the utilization rate (operating rate) of the job execution server is displayed in different colors as a heat map will be described with reference to FIGS. FIG. 5 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, in which the utilization rates (operating rates) of job execution servers are displayed in different colors as a heat map. FIG. 6 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, on which the heat map display can be switched by specifying a job execution server. FIG. 7 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of the availability of job execution servers in specific groups on a specific day. FIG. 8 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays the operating rates of specific job execution servers on a specific day in a heat map format. FIG. 9 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of job execution status (operating rate) for each specific user group on a specific day. FIG. 10 is a diagram showing an example of a screen provided by the master server of FIGS. 2 and 3, which displays a heat map of job execution status (operating rate) for each specific user on a specific day.

[0044] The top screen 51 shown in Figure 5 has a heat map that displays the utilization rate (operating rate) of job execution servers in a color-coded table format, a column of menu items located to the left of the heat map, and a small calendar located in the upper left corner of the screen. The menu item column contains function items such as Dashboard, Server Usage, Job Calendar, Settings, and Help. In addition, other items (such as cloud collaboration function (M:Cloud)) can be displayed using the pull-down menu. By selecting the desired menu item, information for the selected function is displayed in the center of the screen. In this example of the top screen 51, for example, by selecting the Server Usage item, the heat map display function (mainly a function of the time zone display control unit 25) is activated, and the information necessary for creating the heat map (such as the utilization rate (operation rate) of the job execution server) is read from the job management DB 42, and a heat map corresponding to the utilization rate (operation rate) of the job execution server is displayed in the center of the screen.

[0045] The top screen 51 allows an operator to select a desired date from a small calendar, and displays the utilization rate (operation rate) of the job execution server 2 on that day or around that day in the form of a table, with the vertical axis representing the time of day (time) and the horizontal axis representing the date (day of the week), with cells located where the axes intersect. This top screen 51 is provided to each operator, such as the administrator mu and the calculation executor eu. On the top screen 51, information such as the availability rate and job execution time of the calculation executor eu (user) can be displayed for the server administrator mu in chronological order, such as by month, day, or hour. Statistical information that is not time-series can also be displayed on the top screen 51. The administrator mu of the master server 1 can arbitrarily select the information to be displayed.

[0046] The heat map displayed in the center of the top screen 51 can be switched between various display formats, such as by hour, day of the week, date and time, etc. The heat map is displayed by changing the background color of the cells so that the change in the utilization rate (operating rate) of the job execution server over time can be visually seen. The colors of the heat map (cell background colors) are set so that the utilization rate increases from green to red, for example, with colors corresponding to utilization rates, where green is 0% and red is 100%, and the colors change in sequence between green and red as the utilization rate changes. In this example, the cell background color is set to change in 10 stages. If you set it to distribute evenly, the background color will change every time the utilization rate increases by 10%. The server status may be various indicators that indicate the status of the server itself, such as the operating rate of the job execution server 2 itself, the amount of power supplied and consumed, indicators related to the elements that make up the job execution server 2, such as the internal temperature of the job execution server 2 and semiconductor components such as the CPU and GPU, and indicators related to the environment, such as the air temperature. The server status display is dynamically updated every few seconds or minutes. Updating at a specified interval displays the latest information on jobs and server status. The specified interval can be specified as every minute, every hour, every half day, or any other interval of your choice. When expressing the server status in this way in a calendar format (table format) with colors that change for each time period, in addition to changing the background color of the cells as in this example, the color of the cell frame or the colors of the characters and symbols may also be changed.

[0047] A table showing the utilization rate (operating rate) for each time slot for one week is displayed in the center of the top screen 51, a calendar is arranged in the upper left, and checkbox fields are arranged below the calendar. The check box column has a check box for each group of job execution servers 2 and for each individual job execution server 2 in each group, allowing individual selection. In this example, there are groups such as "Site-BC250" and "Tokyo DC," and "Site-BC250" has a job execution server 2 called "bc250-s-001." "Tokyo DC" has job execution servers 2 called "lab-fnd-a1hp-003" and "lab-fnd-a1hp-004." In this example, all check boxes for groups and job execution servers 2 are checked, and a heat map is displayed showing the availability of the entire server system, including all groups.

[0048] When the administrator mu clicks a desired date on the calendar using a mouse or the like on this top screen 51, data on the job execution status including the availability rate of the job execution server 2 on that day is displayed. On this top screen 51, the heat map display makes it easy to understand how much each job execution server 2 is operating. From the administrator's perspective, mu knows that no jobs are being executed during the grayed-out times, and that the utilization rate can be improved by implementing an operation method that fills in these areas. By checking the contents of the jobs before and after those times and the status of the calculation executor eu, it is possible to consider more specific measures.

[0049] From the viewpoint of the computation executor eu, it is possible to grasp how many jobs are being executed at the current time and in the future, and to estimate how long one's own job will have to wait.

[0050] The top screen 51 also displays submitted jobs in a calendar format by time, day of the week, and date and time for the user who submitted the job. The calendar for a user displays jobs submitted by multiple users other than the user. If a submitted job changes to a status such as canceled, an error, or completed, the user who submitted the job is notified by a pop-up notification, email, etc.

[0051] If a job finishes earlier than scheduled, the next scheduled job can be moved up and executed. If a job is delayed, the start time of the next scheduled job can be pushed back, and the next job can be executed as soon as the previous job finishes. If the start and end times or processing time change due to jobs being moved forward or backward, this will be reflected in the calendar each time.

[0052] If a job goes into an error state, the calendar will display the error. Hovering the mouse over the error message will display the specific details of the error related to the job execution. If a job goes into an error state, it is possible to bring forward the execution of subsequent scheduled jobs, or to accept corrections to the input file or other aspects of the job in error and re-execute it. When a job goes into an error state, the administrator mu or the calculation executor eu can set which process to perform next by performing settings operations on the settings screen.

[0053] Depending on the group to which the job submitting user belongs, jobs can be reserved with priority, and other jobs can be postponed. Information about the server status is displayed according to the permissions of the user group and server group. Jobs can be displayed in multiple forms depending on their status; for example, jobs can be displayed in three types: jobs that are ready or have completed successfully, jobs in which an error has occurred, and jobs for which a time slot has been reserved but input files, etc., are not yet ready.

[0054] If you uncheck any checkbox in the checkbox column on the top screen 51 in Figure 5 other than, for example, "lab-fnd-a1hp-003," a heat map screen 52 for the job execution server 2 alone, "lab-fnd-a1hp-003," as shown in Figure 6, will be displayed.

[0055] The heat map screen 52 shows a one-week job schedule for the job execution server 2, with the color of the cells for each time period indicating the operating status of the job execution server 2. In this example, the color of the cells for each time period between the 3rd and 5th days is mostly red, indicating that the operating rate of the target job execution server 2, "lab-fnd-a1hp-003," is high.

[0056] A screen 52 shown in FIG. 6 shows an example of a detailed screen of a user group or individual users among the screens showing the operating rate (utilization rate) of the job execution server 2. The calendar-style heat map can be displayed for multiple job execution servers 2, either for the entire job execution server 2, for a server group containing multiple job execution servers 2, or for a specific individual server, and the content displayed can also be changed.

[0057] The display / hide state of each heat map for the entire job execution server 2, a server group containing multiple job execution servers 2, and a specific individual job execution server 2 can be switched by operating the screen. For example, with a single mouse click, from the display screen for the entire job execution server 2, a display screen for a server group containing multiple job execution servers 2 can be displayed. The display transitions are controlled by clicking, tapping, etc. on the day of the week or date on the calendar or on the heat map.

[0058] By providing check boxes for group selection and job execution server 2 selection on the top screen 51 in this way, the administrator mu or calculation executor eu can switch the display to the desired heat map display by checking the check boxes in a certain way. The heat map can be displayed by switching between server group and user group, allowing the administrator mu or calculation executor eu to check the operating status of the job execution server 2 by desired group. Groups can easily be classified into different server clusters or different bases.

[0059] From the administrator's perspective, it is easy to see which job execution server 2 at which location is congested. By checking this together with statistical information, it is possible to take measures such as increasing the number of job execution servers 2 or changing the operating method.

[0060] From the viewpoint of the calculation executor eu, for example, the congestion status of the job execution server 2 at each location can be checked, and it can be determined which cluster the job should be executed on in order to execute the job most quickly. Clicking on any time slot on the top screen 51 displays a job submission screen 67 (see FIG. 17), allowing you to easily submit a job to an available server group. Furthermore, selecting a desired date in the job schedule transitions to screen 53 (see FIG. 7), which displays a heat map for each server group for the selected date (one day). The user can check the operating status of the job execution servers 2 for each server group from the heat map displayed on screen 53, and take measures such as changing the job execution instruction to a job execution server 2 with a low operating rate.

[0061] On the screen 53 shown in FIG. 7, when the display shifts to show each date, the operating rate for each server group is displayed in a heat map. The background color definition in the heat map is inherited from the one-week display. The availability rate for each server group is recalculated for each server group. This heat map display allows the administrator mu and the calculation executor eu to easily grasp the availability rate per day for each server group. By clicking the calendar in the upper left, you can change the date while still viewing this display.

[0062] On screen 53 shown in FIG. 7, the administrator mu or the calculation executor eu can change the display format between server groups and user groups by clicking either the "Server" button or the "User" button located in the upper right corner of the screen. For example, if the operator clicks the "User" button, the screen display switches from server group units to user group units. In this way, by operating the buttons, the operator can easily check which specific user is executing a job. When switching from user group units to server group units, the operator can return the screen to the original server group unit display format (each job execution server 2 in the group) by clicking the "Server" button.

[0063] On screen 53 in Figure 7, if you click on the name column of one of the two server groups, you will be redirected to screen 54, which displays a heat map of job execution servers 2 within that server group, as shown in Figure 8. On the screen 54 shown in FIG. 8, the operation rates of the job execution servers 2 whose checkboxes are checked are displayed in a heat map for each server group. In the example in Figure 8, the checkbox for the server group "Site-BC250" is checked, the checkbox for the server group "Tokyo DC" is not checked, and the checkbox for job execution server 2 "lab-fnd-a1hp-003" within "Tokyo DC" is checked. However, the heat map displays the server groups "Site-BC250" and "Tokyo DC" and compares them on a server group basis. It can be seen that the "Tokyo DC" server group has an uptime of 100% as a group, with only "lab-fnd-a1hp-003" being uptime. From the administrator's perspective, it is possible to check whether jobs are being distributed evenly to the job execution servers 2 within the server group. If there is a faulty job execution server 2, it is possible to identify the faulty job execution server 2 based on factors such as low availability. From the viewpoint of the calculation executor eu, the ratio at which jobs are distributed to each job execution server 2 can be appropriately set based on the heat map situation displayed on the screen 54.

[0064] When the administrator mu or the calculation executor eu clicks on the "User" button on the screen 53 of FIG. 7 or the screen 54 of FIG. 8, the screen transitions to a screen displaying a heat map for each user group. Specifically, when the transition is made from the server group to the user group, a screen 55 shown in FIG. 9 is displayed. 9, a heat map for each time period is displayed in the center of the screen 55, and a check box field for a user group called "XXUsers" is displayed on the left side of the screen. This user group check box field has a check box for each individual user in the user group, and those that do not fit on the screen can be displayed by lowering the check box field using the slide bar on the left side of the check box field. When the checkboxes of the users provided in the checkbox column are unchecked, the job execution rates of the remaining users excluding the unchecked users are recalculated, and a heat map for only the remaining users is displayed. The job execution rate does not necessarily have to be calculated when the check box is checked, but can be displayed by switching to a job execution rate calculated at a predetermined timing. This reduces the calculation load regardless of the frequency of check box checking. On this screen 55, clicking on the user group name "XXUsers" at the top of the heat map will take you to a screen displaying a list of the job execution rates and utilization rates of all users in the group. Note that the job execution rate of a user can also be expressed as utilization rate.

[0065] A screen 56 shown in FIG. 10 is a screen for displaying a list of job execution rates and operation rates of all users in a group. This screen 56 makes it easier to manage which users are executing how many jobs. In this example screen 56, it can be seen that only one user, the fifth column from the left, has a job execution rate of 100% throughout the time period from midnight to 11pm (all day).

[0066] From the administrator mu's perspective, he can easily grasp which users are using the job execution server 2 and how much, and based on this information, he can make a plan to ensure that all users who are members of the same group use the job execution server 2 fairly.

[0067] In this way, the heat map job calendar display function of the master server 1 acquires one or more jobs from each of one or more executor terminals 3-1 to 3-m on the side of the calculation executor eu that makes a calculation request for a specified job, and performs a process of assigning one or more jobs to at least some of the job execution servers 2-1 to 2-n as the assignment destinations, for each of a plurality of predetermined time periods, and executes control to display a plurality of time period areas (cells) indicating each of the plurality of predetermined time periods in a variable display format (for example, a heat map display) according to the operation rate of each job execution server 2 or user for each job, and each group, thereby improving the convenience of job schedule management in distributed processing. Specifically, by displaying a heat map on an information processing device (master server 1, administrator terminal, etc.) operated by the administrator mu, the administrator mu can easily grasp the operating status of the job execution server 2 and the execution status of jobs by date, day, day of the week, hour, etc. Furthermore, by displaying the status of one or more desired job execution servers 2 in the form of a heat map, users such as the administrator mu or the calculation executor eu can obtain information about the operating status of the job execution servers 2 in a more visually understandable manner than with a text display.

[0068] Next, the job calendar display function by the master server will be described with reference to FIGS. FIG. 11 is a diagram showing an example of a job calendar screen provided by the master server of FIGS. 11, on the job calendar screen 61, a tabular job calendar is placed in the center of the screen, with time periods on the vertical axis and dates on the horizontal axis, with cells arranged at the intersections of the two. Also, on this screen 61, a small calendar is placed in the upper left of the screen (upper left of the job calendar). Furthermore, on this screen 61, a check box column is placed to the left of the job calendar (below the small calendar).

[0069] Here, when the operator clicks on the desired date on the small calendar in the upper left of screen 61, the operation rate data for each time period on that date (the job content for that time period and the background color indicating the operation rate) are displayed on the large job calendar in the center. Buttons such as "<", ">", "<<", and ">>" are arranged on this screen 61 (at the top of the job calendar). The "<" and ">" buttons are buttons that change the screen every week. The "<<" and ">>" buttons are buttons that change the screen every month.

[0070] The check box column located on the left side of the job calendar (left side of the screen) has check boxes for specifying server groups and check boxes for specifying user groups, and data for groups whose check boxes are checked can be displayed on the job calendar. When the operator clicks on a cell of a desired time slot on the job calendar, the screen transitions to a job submission screen 67 shown in Fig. 17. The job submission screen 67 will be described later.

[0071] The job calendar screen 61 can provide the following effects. That is, from the viewpoint of the computation executor eu, a job can be submitted at any time. By sorting and filtering the utilization rate data by server group or user group, you can predict the waiting time for your job in each group. The color of the job varies for each user and job execution server, making it easy to distinguish between jobs submitted by other users and your own job.

[0072] FIG. 12 is a diagram showing an example of a screen displaying a job calendar displayed on a weekly basis among the job calendar screens provided by the master server of FIGS. 12, on the job calendar screen 62, the column (vertical row of cells) for today's date (the 5th in this example) is filled in a color different from the other date columns, for example, cream color. Also, the current time is indicated by a solid red line (horizontal line). The color on the calendar varies depending on the job status. For example, the display method differs depending on whether the job completed successfully or failed. If the job failed, it will be displayed as "Failed," and if it completed successfully, it will be displayed as "Finished." In addition, jobs that are currently running will be displayed as "Running." Jobs that are forcibly terminated due to Wall Time are displayed as "Time out." Wall Time is the maximum time that a submitted job can be executed. For example, if the Wall Time for a job is 24 hours, the job will be terminated at the 24-hour mark even if the required time for the job is 30 hours. This color display allows the calculation executor eu to easily understand the status of his / her job. It also makes it easier for the administrator mu to understand the job status and isolate problems in the operation of the job execution server.

[0073] Next, a display example of a job in the job calendar function will be described with reference to FIGS. 13 and 14. Next, a display example of a job in the job calendar function will be described with reference to FIGS. FIG. 13 is a diagram showing an example of a job calendar in which jobs are grouped by time period among the job calendar screens provided by the master servers of FIGS. Fig. 14 is a diagram showing detailed information that is displayed when the mouse is hovered over a job column displayed on the job calendar in Fig. 13. As shown in the detailed display screen 64 when the mouse is hovered, by displaying detailed information when the mouse is hovered, the minimum necessary information can be easily grasped on the job calendar, and detailed information that does not fit in the display area on the job calendar can also be easily grasped.

[0074] 13 and 14, multiple jobs may be submitted at the same time (time period) in the job calendar 63. (Although they may not necessarily be submitted at exactly the same time, if they are close enough to be indistinguishable on the display, this will be described as multiple jobs being displayed at the same time.) In this case, the contents of multiple jobs for the same time period are grouped together and displayed in one cell. At this time, the number of jobs grouped together is displayed by a gray button 63a located to the side of the date column of the job calendar 63. For example, when an operator such as the calculation executor eu clicks on this button 63a, a list screen of job details is displayed as shown near the center of Fig. 13. By providing button 63a, the minimum necessary information can be easily grasped on the job calendar, and detailed information that does not fit on the display area of ​​the job calendar can also be easily grasped by clicking on it. For example, if a job has ended with an error, the information displayed on the job details list screen will be the calculated period, job status, and job name. This job details list screen can be extended downwards by scrolling the mouse wheel. By displaying this list screen of job details, an operator (e.g., the calculation executor eu) can check whether an error occurred or whether the job was completed successfully if it finished in a shorter time than expected. In the example of screen 64, one job, "113.lab-fnd-a1hp003" on job execution server 2, is displayed as "FINISHED" with a round check mark, indicating that the job has been completed successfully. In this example, a button 63a is provided to display a list screen of job details, but other information such as the job name may be displayed by, for example, moving the cursor with the mouse to the position of the desired time period, i.e., by hovering the mouse over it. This display method allows the calculation executor eu to check the minimum necessary information in a separate window without switching screens by operating buttons, etc.

[0075] For example, when there are a large number of user groups and server groups and the calculation executor eu displays the job calendar 63 in Figure 13, even if the visibility of the jobs in a time period is poor, by displaying the job details list screen as described above, the user can check the detailed execution status of the jobs submitted in the time period (time) that the user wants to check.

[0076] Changing the display unit will be described with reference to FIG. FIG. 15 is a diagram showing information displayed by checking check boxes arranged on the job calendar on the screen of the job calendar provided by the master server of FIGS. As shown in FIG. 15, a job calendar 65a is arranged over the entire screen of a screen 65, and a check box column 65b is arranged on the left side of the job calendar 65a.

[0077] Checkbox column 65b contains checkboxes for user groups and server groups. The checkboxes are operation buttons for changing the display unit, such as user groups or server groups. On this screen 65, by checking or unchecking the checkboxes for user groups and server groups in the checkbox column 65b, only the information (necessary information) for the checked groups can be displayed on the job calendar 65a.

[0078] A different color is assigned to each user and each server on this screen 65, allowing the operator to see at a glance which user has submitted the job information displayed on the job calendar 65a and what the status of the server is. Also, on this screen 65, it is possible to check on a daily basis how each job is being run on which server and what the status is.

[0079] Another example of changing the display unit will be described with reference to FIGS. FIG. 16 is a diagram showing the job calendar screen changed from the weekly job calendar of FIG. 15 to a daily job calendar. FIG. 17 is a diagram showing a job input screen that is displayed as a pop-up on the job calendar of FIG. FIG. 18 is a diagram showing a new job registration screen displayed by a new job registration operation on the job input screen of FIG.

[0080] As shown in Fig. 16, a screen 66 displays a job calendar 66a for one day (e.g., Thursday, December 7, 2023). In the job calendar 66a, multiple jobs are submitted to multiple server groups (i.e., multiple job execution servers 2). These jobs are also displayed for each calculation executor eu.

[0081] Clicking on the date portion of the job calendar 65a on screen 65 to screen 66 will change the screen from a weekly display to a daily display (job calendar 66a). The vertical size is basically the execution time of the job, but for momentary jobs, the width is kept large enough to make the font legible. When multiple job execution servers 2 or calculation executors eu (users) are selected, jobs are added that are displayed horizontally. To change the screen to another date while keeping this screen 66 displayed, simply click on any date in the month calendar on the left side. In the display mode of this screen 66, by clicking on an empty space at any time in the job calendar 66a or by clicking on the “Add Schedule” button 66b in the upper left corner of the screen, a job submission screen 67 (see Figure 17) will pop up.

[0082] 17, it is possible to specify a separate date and time, specify the job execution server 2, etc. When executing a job on this job submission screen 67, it is necessary to register the job in advance on the job registration screen. This mechanism allows the calculation executor eu to perform more detailed settings and job submission separately, and to check only the necessary information on one screen. When the "New Job" button 67a located in the upper right corner of the popped-up job input screen 67 is clicked, a job registration screen (see FIG. 18) for registering a new job is displayed.

[0083] The job registration screen 68 shown in FIG. 18 has input fields for inputting information such as the name of the job, the estimated time required to execute the job (referred to as the "estimated processing time"), and the executable file of the job. On the job registration screen 68, the name of the job to be submitted, the executable file, and the estimated processing time are entered in the respective input fields. Any name can be entered as the job name. The exact execution time of the job is unknown until the job is actually completed, but by entering the estimated processing time before the job is executed, the job schedule can be recorded on the calendar. This allows other users to easily understand how much waiting time is occurring due to jobs that have already been scheduled. Here, the estimated processing time can also be calculated using other methods, such as calculating it from the results of similar jobs. When the estimated processing time is displayed on the calendar, if the execution time is shorter than the estimated processing time, the estimated processing time can be corrected and displayed as the net execution time when execution is complete. For example, if a job with an estimated processing time of 120 minutes finishes after 100 minutes, the estimated processing time is displayed as 120 minutes from the start of job execution until 100 minutes have elapsed, and after 100 minutes, the display of the job can be switched to the net execution time of 100 minutes. If the execution time is longer than the estimated processing time, the estimated processing time can be extended until execution is complete, and then displayed as the net execution time when execution is complete. For example, if a job with an estimated processing time of 120 minutes has not finished even after 125 minutes of execution, the end time of the estimated processing time for that job can be displayed as the current time until the job is completed. If the job finishes after 140 minutes of execution, the execution time is confirmed as 140 minutes at that point, and the job can be displayed. At this time, the display may be updated at a predetermined interval, such as every five minutes, or may be updated to the latest information at that time by accepting an operation to update the screen by the user or the like. These changes to the display of estimated processing times can be adjusted at any time based on the latest information obtained along the way, such as the job log. For example, in the example above, if the job progress is 50% 50 minutes after it started, the display of the job, which initially had an estimated processing time of 120 minutes, can be updated to show an estimated processing time of 100 minutes at that point. This allows for more accurate information to be obtained. In addition, the actual execution time of a job can be managed in a different way as Wall Time. A job that reaches its Wall Time can be forcibly terminated. By being able to set the estimated processing time and Wall Time separately, the estimated processing time can be used to understand the future availability of the server, and Wall Time can be used for strict time management of the server. Furthermore, by having the user enter the same value for the estimated processing time and Wall Time, which can be set separately, the future availability of the server can also be understood under strict time management. The administrator mu can set various conditions to ensure fair use of the job execution server 2. For jobs of high importance, a higher priority can be set or a longer Wall Time can be set. For jobs of low importance, a shorter Wall Time can be set, allowing jobs from multiple users to be executed.

[0084] The job registration screen 68 shown here is an example, and other information may be input. For example, input items may include the job content, the start or end date and time of the job, the estimated processing time, the job execution server 2 that will execute the job, and processing conditions such as the number of parallel jobs, and the information input into these input items may be accepted. Also, it is not necessary to accept all of the items listed above. For example, the job execution server 2 that will execute the job and the number of parallel jobs can be determined based on the availability of the job execution servers 2 at the time of job registration, such as by allocating one node from the available arbitrary job execution servers 2 to execute the job in parallel. In particular, by preparing past job registration history, job registration information specified by the administrator, and separate algorithms (such as distributed processing optimization algorithms), and accepting this information to supplement some or all of the information required for job registration, jobs can be scheduled or executed immediately. The information used for job registration, such as the job content, can be saved, and the information can be called up when a similar job is to be executed again.

[0085] In this way, with the job calendar display function of the master server 1, the contents of the jobs submitted by the calculation executor eu on the master server 1 and assigned to one of the job execution servers 2 are displayed in color on the job calendar as shown in Figure 11, so that the operator can see at a glance who submitted what job to which server, when, and how the job execution results were obtained. Furthermore, in the job calendar, even if the jobs have the same content, the display color of the date column or cell changes (the representation changes) depending on the status of the calculation executor eu who submitted the job, such as the ID, group, and date, as shown in Figure 11, so that the differences between each job can be recognized at a glance. Furthermore, in the job calendar, when multiple jobs are assigned to the same time period, as shown in Figure 13, the time area is displayed in a form that indicates this, and in response to a specified instruction, the contents of the multiple jobs are displayed in separate areas, making it easy to check the contents of the jobs, execution results, etc. In the job calendar, when a specific operation (e.g., mouse over) is performed to select a specific time area, information about the job content is displayed in a separate area as shown in Figure 14, so the operator does not have to open and close separate screens each time, thereby improving operability. By checking or unchecking the checkboxes on the side of the job calendar as shown in Figure 15, the units displayed on the job calendar can be easily changed to user groups, server groups, individual users, individual servers, etc. Also, by setting the number of columns of multiple time zone areas (for example, vertical bands of one day) (setting the number to 7 for one week and 1 for one day), the screen size remains the same, as shown in Figure 16, and when changing from one week display to one day display, the size of the time zone area increases, allowing more information to be displayed in the time zone area. Similarly, although not shown, by displaying the date (day of the week) on the vertical axis and the time zone (time) on the horizontal axis, detailed information for each time zone can be grasped on a screen display that is wider than it is tall. In the job calendar, when a specific future time zone area (cell) is selected, a separate area with the function of reserving a job for that time zone area, such as the job submission screen 67 in FIG. 17, is displayed. Furthermore, by operating the "New Job" button 67a, a screen for reserving execution of a future job, that is, the job registration screen 68 in FIG. 18, is displayed, allowing the operator to easily reserve the submission of a job.

[0086] Next, the cloud cooperation function of the master server will be described with reference to FIGS. FIG. 19 is a diagram showing menu items of functions provided by the master servers of FIGS. FIG. 20 is a diagram showing a server management screen for the currently contracted cloud server, which is displayed by operating the cloud collaboration function item (the "M:Cloud" button) among the menu items in FIG. FIG. 21 is a diagram showing a details screen of a cloud server selected on the server management screen of FIG. FIG. 22 is a diagram showing a server shutdown pop-up screen displayed by the shutdown operation on the details screen of FIG. FIG. 23 is a diagram showing an error pop-up screen that is displayed when the server is stopped by performing a stop operation on the details screen of FIG. FIG. 24 is a diagram showing a server group selection screen that is displayed when the "Add Server" button for adding a new cloud server is operated on the server management screen of FIG. FIG. 25 is a diagram showing a server group details screen that displays detailed information about a server group selected on the server group selection screen of FIG. FIG. 26 is a diagram showing a selection screen for an additional server selected on the server group detail screen of FIG. FIG. 27 is a diagram showing an additional setting screen for an additional server selected on the additional server selection screen of FIG. FIG. 28 is a diagram showing an addition confirmation screen for the additional server set on the addition setting screen of FIG. FIG. 29 is a diagram showing an error pop-up screen that is displayed when there is an error in the conditions on the addition confirmation screen of FIG. FIG. 30 shows a final confirmation pop-up screen that is displayed when a server that meets the conditions on the additional confirmation screen of FIG. 28 is started.

[0087] Generally, there are two types of server environments: on-premise (servers owned by the customer (hereinafter referred to as "on-premise servers")) and using external cloud services (hereinafter referred to as "cloud servers"). Although two types of servers are used here, as explained in Figure 1, there may be three types of servers: on-premise, cloud, and a machine provided by a third party. Therefore, in the following, a description will be given assuming that a machine provided by a third party can be used in the same way as a cloud. In this embodiment, for example, if the machine provided by a third party is physically loaned, the usage method is the same as on-premise, and if the machine provided by a third party is loaned in exchange for the provision of communication means or methods, the usage method can be the same as a cloud.

[0088] The master server 1 of the distributed processing system of the embodiment has a cloud collaboration function, and can manage on-premise servers and cloud servers, which are installed in different locations and managed using different methods, in collaboration with each other on the same browser via a network. Cloud servers are primarily provided by service providers on a pay-as-you-go basis. The user and administrator select the required specifications and start the cloud server. Cloud server usage fees are determined based on the amount of time used, and the amount is charged accordingly.

[0089] The cloud collaboration function of the master server 1 will be described below. As shown in FIG. 19, the above-mentioned top screen 51 (see FIG. 5) and screen 61 (see FIG. 11) have an “M:Cloud” button 71 for adding a cloud server among the menu items on the left side of the screen.

[0090] When the operator clicks on the "M:Cloud" button 71 (item) located in the menu items of Fig. 19, a server management screen 72 shown in Fig. 20 is displayed. The server management screen 72 has an information list 72a of currently subscribed cloud servers and an "Add Server" button 72b located in the upper right corner of the screen. A new cloud server can be added by clicking on the "Add Server" button 72b.

[0091] On the server management screen 72, the information column 72a for currently contracted cloud servers displays the cloud server name, operating status (Status), machine specifications (CPU, Memory, Storage, etc.), usage information (User Group, etc.), a "Details" button, etc., allowing you to check information about each cloud server. In this server management screen 72, cloud servers whose Status is set to "Finished" by default are not displayed in the information column 72a, and only cloud servers that are active at the time of display are displayed in the information list 72a. Thereafter, when the job execution is completed, the Status is set to "Finished," so that changes in the status of the cloud servers that were running can be confirmed. The information in each item of the information column 72a can be filtered, allowing the user and administrator to extract the information they require. The server management screen 72 makes it easy to notice cloud servers that remain running even though their planned usage period has expired, allowing users to immediately shut them down themselves or administrators to prompt users to shut them down.

[0092] Here, when the operator presses the "Detail" button in the row of the desired cloud server in the information column 72a on the screen, a details screen 73 of the cloud server is displayed, as shown in FIG. From the details screen 73, the specifications, operation period, usage fees, etc. of the cloud server under contract can be confirmed. On this details screen 73, when the operator presses the "Terminate" button 73a located at the bottom of the screen, the operating status (whether it is running or stopped) of the target cloud server is determined from the operating status flag of the job execution server 2 stored in the job management DB 42, and a pop-up screen (see Figures 22 and 23) is displayed according to the determined operating status, and the target cloud server can be stopped by following the message on the displayed pop-up screen. Specifically, if the target cloud server is in an operational state, a pop-up screen 74 in FIG. 22 is displayed, and if the target cloud server is already stopped, a pop-up screen 75 in FIG. 23 is displayed. When the operator presses the "Back" button 73b located in the upper right corner of the details screen 73, the screen transitions (returns) to the server management screen 72 of FIG.

[0093] If the operating status of the target cloud server is in an operational state, a pop-up screen 74 shown in Fig. 22 is displayed. This pop-up screen 74 is a pop-up screen for prompting the operator to confirm that the server is to be stopped, and serves as a final confirmation screen for the operator when stopping use of the cloud server. Here, if the operator presses the "Execute" button arranged on the pop-up screen 74, the server stop process is executed. If the operator presses the "Cancel" button, the pop-up screen 74 is closed and the screen display returns to the previous detail screen 73 in FIG. 21. In this way, by prompting the operator to confirm using the pop-up screen 74 and then having the operator perform the shutdown process, the risk of accidentally shutting down the cloud server unintentionally can be reduced.

[0094] Furthermore, if the result of determining the operating status of the target cloud server indicates that the target cloud server has already been stopped, a pop-up screen 75 shown in Fig. 23 is displayed. This pop-up screen 75 is a pop-up screen for notifying a stop error, informing the operator that the target server has already been stopped. When the operator checks the pop-up screen 75 and presses the "Close Screen" button located on the pop-up screen 75, the pop-up screen 75 disappears and the screen display returns to the previous detail screen 73 in Figure 21. This allows the operator to confirm that the target cloud server has already been shut down.

[0095] When the "Add Server" button 72a is pressed on the server management screen 72 shown in Fig. 20, a screen 76 shown in Fig. 24 is displayed. This screen 76 is a screen for selecting a server group when adding a new server, and displays a server group information column 76a. Since server groups are linked to user groups or users, only server groups that can be selected by the logged-in user are displayed in the information field 76a. For example, a calculation executor can display and select server groups that he or she can use, and an administrator can display and select all server groups, which makes it easier to manage authority for each department in an organization such as a company that has introduced this system. For example, the operator may select the name of any server group in the information field 76a to display a heat map or job calendar screen (see FIGS. 5 and 11) for the target server group. This allows the operator to add a new server while checking the latest server status, making it easy to set the desired server specifications and operating times.

[0096] When the operator presses the "Detail" button for the desired server group among the "Detail" buttons located in each information row of the server group in the information column 76a, detailed information about the server group is displayed on the server group details screen 77 (see Figure 25).

[0097] 25 shows a list of cloud servers registered as the server group. The list of cloud servers also shows detailed information such as the number of CPUs / GPUs installed and the number of slots for each cloud server. By pressing the "Detail" button located on the information row of each cloud server on the server group details screen 77, the screen transitions to the details screen 73 of the individual cloud server shown in FIG. 21 described above.

[0098] Available servers, including third-party servers and cloud servers, are listed on this server group details screen 77. By registering your own servers with low utilization rates in this system, you can allow third parties to use the servers and improve their utilization rates. In addition, by presenting the operator with the prices of already contracted cloud servers on the server group details screen 77 and the availability rates of those servers on the calendar screen, a psychological deterrent effect can be expected, such as preventing the operator from making a large number of new contracts. By displaying the usage status of each cloud server on the server group details screen 77, the operator can also understand the specifications that are in demand.

[0099] On screen 76 of Figure 24 above, when the operator presses the "Select" button for the desired server group from the "Select" buttons located in each information row of the server group, a selection screen 78 for adding a server to the server group (see Figure 26) is displayed, showing the next step.

[0100] 26, the operator can select a cloud server with the specifications he or she desires. Selection items include basic elements such as CPU model number, number of installed units, number of cores, memory size, GPU model number, number of installed units, and OS type, and the operator can select the desired element to select a cloud server.

[0101] The selection screen 78 allows the operator to filter each of the above elements when selecting a cloud server, making it easier to search for and select the desired cloud server when there are many types of cloud servers to choose from. Furthermore, the selection screen 78 allows detailed specification of CPU and GPU model numbers, memory size, OS, etc., making it easier for the operator to select a cloud server that suits the calculation content they are trying to execute.

[0102] When the operator presses the "Select" button located on the information line of the cloud server that he or she wishes to use on the selection screen 78, a server setting screen 79 (see FIG. 27) showing the next step is displayed. The server setting screen 79 shown in FIG. 27 allows additional settings to be made for parts other than the basic elements of the selected cloud server. Specifically, the server setting screen 79 has input fields for, for example, Server Name, Remarks, Storage, Login Node, OS, etc., and the operator can set whether or not to use storage, the storage capacity, the host name, the Login Node for access, etc. In the Remarks input field, notes such as the purpose can be registered by entering any text. After the storage capacity is confirmed, the hourly usage fee is displayed at the bottom of the screen. The usage fee does not necessarily have to be per hour; by having the user enter the number of hours they want to estimate, the usage fee according to that time can be displayed. The information entered on this server setting screen 79 can be input into a predetermined format of estimate template by operating the estimate creation button (not shown) and downloaded as an estimate file. This quotation generation function allows you to check the costs before signing a contract, so if the costs exceed your budget, you can adjust the conditions of the cloud server you are contracting for, such as lowering the specifications slightly.

[0103] After entering information in the above input fields, the operator presses the "Confirm" button 79a located at the bottom of the server setting screen 79 in Figure 27, which displays the server confirmation screen 80 (see Figure 28). A server confirmation screen 80 shown in FIG. 28 presents cloud server conditions that reflect the content entered on the server setting screen 79. The operator can make a final check before starting use by viewing and checking the contents of the server confirmation screen 80, and if the operator finds any errors in the condition settings, they can return to the previous server setting screen 79 and correct the conditions by pressing the "Back" button located in the upper right corner of the server confirmation screen 80.

[0104] If, after final confirmation of the contents of the server confirmation screen 80, the operator finds that the cloud server setting conditions are correct, the operator can press the "Launch" button 80a located at the bottom of the server confirmation screen 80, which will check the consistency between the cloud server setting conditions and the cloud server information stored in the job management DB 42, as well as the availability of stock for the corresponding cloud server, and determine whether the cloud server can be contracted.A pop-up screen (see Figures 29 and 30) will then be displayed based on the determination result, and the operator can create (contract for) a new cloud server by following the messages on the displayed pop-up screen.

[0105] If the determination result shows that the conditions are inconsistent and a cloud server cannot be created (contracted), for example, if a cloud server cannot be created (prepared) with the cloud server specifications set as conditions, a pop-up screen 81 (see FIG. 29) is displayed. Note that this pop-up screen 81 is also displayed if there is no machine with the specifications set by the operator in stock or if it is already in use. The pop-up screen 81 shown in FIG. 29 displays a message such as "You cannot create a server with the currently selected specifications. Please select other server specifications from the server selection screen," along with a "Close screen" button. When the operator confirms this message and presses the "Close Screen" button, the screen returns to the previous server confirmation screen 80 in FIG. 28, where the operator can select the specifications of another cloud server.

[0106] Furthermore, if the determination result shows that the conditions are consistent, there is inventory, and a cloud server can be created (prepared), a pop-up screen 82 (see FIG. 30) is displayed. The pop-up screen 82 is a screen that prompts the operator for a final confirmation when starting up the cloud server. A pop-up screen 82 shown in FIG. 30 displays a message such as "Do you really want to start the server? Please check the following...", as well as a button to "Execute" to start the server and a button to "Cancel". When the operator checks the message on the pop-up screen 82 and presses the "Execute" button, the master server 1 starts up the target cloud server and starts pay-per-use billing. Note that the process for adding this cloud server can be canceled by pressing the "Cancel" button on the pop-up screen 82.

[0107] Next, the fee management function in cloud cooperation will be described with reference to FIGS. FIG. 31 is a diagram showing the "Price History" button in the fee management function item among the menu items of the functions provided by the master server of FIGS. FIG. 32 is a diagram showing a price group selection screen that is displayed when the "Price History" button in FIG. 31 is clicked. FIG. 33 is a diagram showing a details screen on which detailed information of the server group selected on the fee group selection screen of FIG. 32 is displayed.

[0108] As shown in FIG. 31, the above-mentioned top screen 51 (see FIG. 5) and screen 61 (see FIG. 11) have a “Price History” button 83 (function selection button) among the menu items on the left side of the screen for checking (managing) server usage fees.

[0109] When the operator clicks on the "Price History" button 83 located in the menu items in Fig. 31, a price group selection screen 84 shown in Fig. 32 is displayed. The price group selection screen 84 displays a list of cloud usage fees by server group. The total amount for all groups is displayed in the upper right corner of the fee group selection screen 84. In this example, "Total Price: $3220" is displayed. The displayed content can be changed on a monthly basis. Filtering by user group is also possible. The displayed content does not necessarily have to be on a monthly basis; by entering the period the user wishes to display, the usage charges for that period can be displayed. This fee group selection screen 84 displays a list of only the information on the server groups linked to the user group. The operator can download this list by pressing the "CSV download" button 84a located at the bottom right of the fee group selection screen 84. From the fee group selection screen 84, you can download the list in CSV format, as well as download bills and process credit card payments.

[0110] In addition, when the operator presses the "Detail" button for the desired group from among the "Detail" buttons located in the information column (column) of each group on the fee group selection screen 84, the fee group details screen 85 (see Figure 33) is displayed. A list of cloud servers contracted as the server group designated as the desired group is displayed on the fee group details screen 85 shown in Fig. 33. The list of cloud servers includes the Name, User (name of the person who invoked the cloud server), Target mouth (target month), Unit Price, Operating Time, and Price (billed amount) of each cloud server. On the fee group details screen 85, it is possible to check the usage status of each cloud server in the specified target month for all cloud servers within the server group specified as the desired group on the fee group selection screen 84 of FIG. Specifically, an operator (e.g., a cloud server administrator) can view the contents of the fee group details screen 85 to check the list of contracted cloud servers, as well as the activator, unit price, activation time, and billing amount for each cloud server. This allows the cloud server administrator to collectively perform everything from fee management to invoice issuance on the fee group details screen 85, thereby reducing the operational burden of accounting processing.

[0111] Although one embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and modifications, improvements, etc. within the scope of achieving the object of the present invention are included in the present invention.

[0112] Furthermore, for example, the above-described series of processes can be executed by hardware or software. In other words, the functional configuration of FIG. 3 is merely an example and is not particularly limited. That is, it is sufficient if the information processing device is provided with a function that can execute the above-described series of processes as a whole, and the type of functional block used to realize this function is not particularly limited to the example of Figure 3. Furthermore, the locations of the functional blocks and databases are not particularly limited to those of Figure 3 and may be arbitrary. For example, at least some of the functional blocks and databases required to execute various processes may be transferred to a user terminal or the like. Conversely, the functional blocks and databases of the user terminal may be transferred to a server or the like. Furthermore, one functional block may be configured as a single piece of hardware, a single piece of software, or a combination thereof.

[0113] When a series of processes is executed by software, the programs that make up the software are installed into a computer or the like from a network or a recording medium. The computer may be a computer built on dedicated hardware. The computer may also be a computer capable of executing various functions by installing various programs, such as a server, a general-purpose smartphone, or a personal computer.

[0114] The recording medium containing such a program may be composed not only of a removable medium (not shown) that is distributed separately from the device main body in order to provide the program to users, etc., but also of a recording medium that is provided to users, etc. in a state that it is pre-installed in the device main body.

[0115] In this specification, the steps describing the program to be recorded on the recording medium include not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are performed in parallel or individually. In addition, in this specification, the term "system" refers to an overall device that is made up of a plurality of devices, a plurality of means, etc.

[0116] In other words, the information processing device to which the present invention is applied is sufficient as long as it has the following configuration, and can take on a variety of different embodiments. (1) That is, an information processing device to which the present invention is applied (for example, the master server 1 in FIG. 3) a job acquisition unit (e.g., the job acquisition unit 21 in FIG. 3) that acquires one or more jobs from one or more client devices (e.g., the executor terminals 3-1 to 3-m) on the client side that make a calculation request for the job; a job allocation unit (e.g., the job allocation unit 22 in FIG. 3) that allocates the one or more jobs to at least some of a plurality of computation execution devices (e.g., job execution servers 2-1 to 2-n) as allocation destinations, for each of a plurality of predetermined time slots as job allocation; a first display control means (e.g., time zone display control unit 25 in FIG. 3) that controls the display of a plurality of time zone areas indicating each of the plurality of predetermined time zones by varying the display format (e.g., heat map display) in accordance with a predetermined element (e.g., the availability rate of the job execution server 2 or the content of the job) whose content or degree can vary depending on the time zone for a predetermined unit (e.g., group unit, individual device unit, or job unit) including at least one of the plurality of calculation execution devices (e.g., job execution servers 2-1 to 2-n); Equipped with. This allows the user to visually see at a glance on the job calendar which time periods have high and low utilization rates for the job execution servers, improving the convenience of job schedule management in distributed processing.

[0117] (2) In the information processing device (for example, the master server 1 in FIG. 3), further comprising an operation rate calculation unit (for example, the operation rate calculation unit 26 in FIG. 3) that calculates an operation rate for the predetermined unit for each of the plurality of predetermined time periods in accordance with the job allocation, The first display control means (for example, the time period display control unit 25 in FIG. 3) employs the operating rate as the predetermined element to execute the control. This allows a heat map display according to the operating rate of the job execution server 2.

[0118] (3) In the information processing device (for example, the master server 1 in FIG. 3), The first display control means (for example, the time period display control unit 25 in FIG. 3) performs the control by adopting the content of the job assigned to the predetermined unit as the predetermined element. This allows a heat map display to be performed according to the content of the job assigned to the job execution server 2.

[0119] (4) In the information processing device (for example, the master server 1 in FIG. 3), a predetermined unit setting means (e.g., the group setting unit 27 in FIG. 3) for setting one or more groups (including a group having only one job execution server 2) obtained by grouping the plurality of calculation execution devices (e.g., the job execution servers 2-1 to 2-n in FIG. 3) according to a predetermined method as the predetermined unit; Further provided are: This allows one or more groups to be set as a predetermined unit, making it possible to control the display of the time zone area on a group-by-group basis.

[0120] (5) In the information processing device (for example, the master server 1 in FIG. 3), a second display control means (e.g., the area display control unit 28 in FIG. 3) that, when a predetermined time area is selected from the plurality of time zone areas, executes control to display another area in which information about the predetermined time area is displayed; Further provided are: By displaying a separate area in which information relating to a specific time area selected from multiple time zone areas is displayed in this manner, the user can check detailed information about the job execution server during the specific time zone (for example, the detailed operating status of job execution server 2).

[0121] (6) In the information processing device (for example, the master server 1 in FIG. 3), The first display control means (for example, the time zone display control unit 25 in FIG. 3) executes control to display the plurality of time zone areas side by side for each of the plurality of predetermined units. It is possible.

[0122] (7) In the information processing device (for example, the master server 1 in FIG. 3), the plurality of time zone regions are obtained by dividing a day into predetermined time periods, The first display control means (for example, the time zone display control unit 25 in FIG. 3) displays the plurality of time zone areas in a line for N days (N is an integer value of 1 or more and is a variable value). It is possible.

[0123] (8) In the information processing device (for example, the master server 1 in FIG. 3), The first display control means (e.g., the time zone display control unit 25 in FIG. 3) executes control to display the plurality of time zone areas by varying colors (e.g., character color and background color) according to the predetermined element for the predetermined unit. It is possible.

[0124] (9) An information processing method executed by an information processing device (for example, the master server 1 in FIG. 3), a job acquisition step (e.g., job acquisition step S1 in FIG. 4) of acquiring one or more jobs from one or more client devices (e.g., executor terminals 3-1 to 3-m) on the client side that make a calculation request for the job; a job allocation step (e.g., job allocation step S2 in FIG. 4) of assigning the one or more jobs to at least some of a plurality of computation execution devices (e.g., job execution servers 2-1 to 2-n) as assignment destinations, for each of a plurality of predetermined time slots as job allocation; a first display control step (e.g., element display control step S3 in FIG. 4) for controlling the display of a plurality of time zone areas each representing a plurality of predetermined time zones by varying the display format (e.g., a heat map) according to a predetermined element (e.g., the availability rate of each job execution server 2 or each group, or the content of a job) whose content or degree can vary depending on the time zone for a predetermined unit (e.g., a group unit, an individual device unit, or a job unit) including at least one of the plurality of calculation execution devices (e.g., job execution servers 2-1 to 2-n); Including, It is possible.

[0125] (10) To the computer, a job acquisition step (e.g., job acquisition step S1 in FIG. 4) of acquiring one or more jobs from one or more client devices (e.g., executor terminals 3-1 to 3-m) on the client side that make a calculation request for the job; a job allocation step (e.g., job allocation step S2 in FIG. 4) of assigning the one or more jobs to at least some of a plurality of computation execution devices (e.g., job execution servers 2-1 to 2-n) as assignment destinations, for each of a plurality of predetermined time slots as job allocation; a first display control step (e.g., element display control step S3 in FIG. 4) for controlling the display of a plurality of time zone areas each representing a plurality of predetermined time zones by varying the display format (e.g., a heat map) according to a predetermined element (e.g., the availability rate of each job execution server 2 or each group, or the content of a job) whose content or degree can vary depending on the time zone for a predetermined unit (e.g., a group unit, an individual device unit, or a job unit) including at least one of the plurality of calculation execution devices (e.g., job execution servers 2-1 to 2-n); Execute a control process including It is possible. [Explanation of symbols]

[0126] 1: Master server, 2: Job execution server, 3: Executor terminal, 11: CPU, 12: ROM, 13: RAM, 14: Bus, 15: Input / output interface, 16: Input unit, 17: Output unit, 18: Storage unit, 19: Communication unit, 20: Drive, 31: Removable media, 21: Job acquisition unit, 22: Job allocation unit, 23: Job transfer unit, 24: Job execution control unit, 25: Time zone display control unit, 26: Availability calculation unit, 27: Group setting unit, 28: Area display control unit, eu: Calculation execution Pilgrim, mu: Administrator, NW: Network, 41: User DB, 42: Job Management DB, S1: Job Acquisition Step, S2: Job Allocation Step, S3: Element Display Control Step, 51: Screen, 52: Screen, 53: Screen, 54: Screen, 55: Screen, 56: Screen, 61: Screen, 62: Screen, 63: Job Calendar, 63a: Button, 64: Screen, 65: Screen, 65a: Job Calendar, 65b: Checkbox Field, 66: Screen, 66a: Job Calendar, 66b: “Add Schedule button, 67: Job submission screen, 67a: New Job button, 68: Job registration screen, 71: M: Cloud button, 72: Server management screen, 72a: Information list, 72b: Add Server button, 73: Screen, 73a: Terminate button, 73b: Back button, 74: Pop-up screen, 75: Pop-up screen, 76: Screen, 76a: Information column, 77: Server group details screen, 78: Selection screen, 79: Server settings screen, 79a: Confirm button, 80: Server confirmation screen, 80a: Launch button, 81: Pop-up screen, 82: Pop-up screen, 83: Price History button, 84: Price group selection screen, 84a: CSV download button, 85: Price group details screen

Claims

1. a job acquisition means for acquiring one or more jobs from each of one or more client devices on a client side that make a calculation request for the job; a job allocation unit that allocates the one or more jobs to at least some of the plurality of computation execution devices as allocation destinations for each of a plurality of predetermined time slots; a first display control means for controlling a dynamic visualization of a plurality of time zone regions representing the plurality of predetermined time zones by varying the display format of the plurality of time zone regions in accordance with a predetermined element whose content or degree may vary depending on the time zone and the passage of time; and Equipped with Information processing device.

2. further comprising an operation rate calculation means for calculating an operation rate for the predetermined unit for each of the plurality of predetermined time periods in accordance with the job allocation; the first display control means executes the control by adopting the availability rate as the predetermined element. The information processing device according to claim 1 .

3. the first display control means executes the control by adopting the content of the job assigned to the predetermined unit as the predetermined element. The information processing device according to claim 1 .

4. a predetermined unit setting means for setting one or more groups (including a group having only one calculation execution device) obtained by grouping the plurality of calculation execution devices according to a predetermined method as the predetermined unit; The information processing device according to claim 1 , further comprising:

5. a second display control means for executing control to display another area in which information relating to a predetermined time area is displayed when a predetermined time area is selected from the plurality of time zone areas; The information processing device according to claim 1 , further comprising:

6. the first display control means executes control to display the plurality of time zone areas side by side for each of the plurality of predetermined units; The information processing device according to claim 1 .

7. the plurality of time zone regions are obtained by dividing one day into predetermined time periods, the first display control means displays the plurality of time zone regions in a line for N days (N is an integer value of 1 or more and is a variable value); The information processing device according to claim 1 .

8. the first display control means executes control to display the plurality of time zone areas by changing colors according to the predetermined elements for the predetermined units. The information processing device according to claim 1 .

9. An information processing method executed by an information processing device, a job acquisition step of acquiring one or more jobs from one or more client devices on a client side that make a calculation request for the predetermined job; a job allocation step of assigning the one or more jobs to at least some of the plurality of computation execution devices as assignment destinations, for each of a plurality of predetermined time slots as job allocation; a first display control step for controlling a dynamic visualization display of a plurality of time zone regions representing the plurality of predetermined time zones by varying the display format of the plurality of time zone regions in accordance with a predetermined element whose content or degree may vary depending on the time zone and the passage of time; and An information processing method including:

10. On the computer, a job acquisition step of acquiring one or more jobs from one or more client devices on a client side that make a calculation request for the predetermined job; a job allocation step of assigning the one or more jobs to at least some of the plurality of computation execution devices as assignment destinations, for each of a plurality of predetermined time slots as job allocation; a first display control step for controlling a dynamic visualization display of a plurality of time zone regions representing the plurality of predetermined time zones by varying the display format of the plurality of time zone regions in accordance with a predetermined element whose content or degree may vary depending on the time zone and the passage of time; and A program that executes control processing including:

Citation Information

Patent Citations

  • Virtual machine operation support system and virtual machine operation support method

    JP2016212609A

  • Method and system for monitoring virtual machine cluster

    JP2017084333A

  • SYSTEM AND METHOD FOR MANAGING CLOUD COMPUTING RESOURCES FOR INFORMATION SYSTEMS - Patent application

    JP2019507932A

  • Resource reservation management device, resource reservation management method, and resource reservation management program

    JP2020024646A

  • Information processing system, load balancing processing device, and load balancing processing program

    JP2020095340A