Job Execution System and Job Execution Method
The job execution system uses relay servers and DNS-based name resolution to securely manage logical names and IP addresses, addressing the challenges of job scheduler communication in multi-agent environments, ensuring efficient and accurate job execution across cloud and on-premises setups.
Patent Information
- Application Number
- JP2021082830
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-14
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2041-05-14
AI Technical Summary
Existing job scheduler systems face challenges in securely transferring job execution requests and notifications between cloud and on-premises environments, particularly in multi-agent setups, due to overlapping logical names and performance issues with IP address checks.
A job execution system utilizing relay servers on both cloud and on-premises sides with DNS servers for name resolution, enabling secure two-way communication by managing logical names and IP addresses through logical name management tables and tables, ensuring job execution requests and notifications are routed correctly.
Enables secure and efficient job execution over the Internet by ensuring job execution requests, start notifications, and completion notifications are accurately transferred to the appropriate agents or managers, even in multi-on-premises environments, without performance degradation.
Smart Images

Figure 0007705733000001 
Figure 0007705733000002 
Figure 0007705733000003
Abstract
Description
Technical Field
[0001] The present invention relates to a job execution system and a job execution method.
Background Art
[0002] With the trend of cloud drift, job schedulers are also required to be SaaSified. In order to succeed existing products and SaaSify them, it is necessary to open ports on the on-premises side where agents are deployed. Although it can be solved by VPN or dedicated lines, since it is possible to reach customer servers that do not require access from malicious SaaS administrators, the customer threshold is high from a security perspective.
[0003] To solve this problem, a method of transferring job scheduler communication using a relay server connected from the on-premises side to the cloud side with WebSocket, GRPC, etc. can be considered.
[0004] Patent Document 1 discloses a method of connecting the cloud and on-premises with WebSocket and transferring requests.
[0005] Also, in a multi-on-premises environment, the logical names of job scheduler agents may overlap and cannot be uniquely identified. Even when the logical names overlap, a method for securely communicating from the manager to the agent is required.
[0006] Patent Document 2 discloses a method that enables communication between hosts with overlapping names by setting the IP address included in the communication content to a dummy address even when there are overlapping names (virtual IP addresses).
Prior Art Documents
Patent Documents
[0007]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0008] In Patent Document 1, the transfer destination on the on-premises side is fixed, and in a job scheduler where there are multiple agents, there is a problem that it is impossible to determine which agent to transfer to.
[0009] In Patent Document 2, in the communication to be transferred, it is necessary to check every time whether the IP addresses included in the communication content overlap, and if they overlap, set them to dummy addresses. Therefore, when applying it to the SaaS of a job scheduler with a large number of job executions, it is necessary to check whether there is a logical name change and perform the process of logical name change every time a job is executed, resulting in a decrease in transfer performance.
[0010] An object of the present invention is to enable safe two-way communication between the cloud side and the on-premises side in a job execution system.
Means for Solving the Problems
[0011] The job execution system according to one aspect of the present invention is a job execution system in which an on-premises side and a cloud side are connected via the Internet. The on-premises side includes an on-premises DNS server that performs name resolution, at least one job execution server that executes a job, at least one job management agent server that instructs the job execution server to execute the job, and an on-premises relay server that transfers a job execution registration notice, a job start notice, or a job completion notice. The cloud side includes a cloud DNS server that performs name resolution, a portal server that accepts agent registration or job net registration, a job management manager server that manages the execution schedule of the job and sends the job execution registration notice, the job start notice, or the job completion notice to the job management agent server, and a cloud side relay server that transfers the job execution registration notice, the job start notice, or the job completion notice. At the time of job execution registration, a connection is established between the on-premises relay server and the cloud side relay server. The job management manager server changes the communication destination to the cloud side relay server by changing name resolution using the cloud DNS server, and sends the job execution registration notice to the cloud side relay server. The cloud side relay server transfers the job execution registration notice to the on-premises relay server. The on-premises relay server manages the agent IP address of the job management agent server and transfers the job execution registration notice to the agent IP address. At the time of job start and job completion, a connection is established between the on-premises relay server and the cloud side relay server. By changing name resolution using the on-premises DNS server, the communication destination to the job management manager server is changed to the on-premises relay server, and the job start notice and the job completion notice are sent to the on-premises relay server. The on-premises relay server transfers the job start notice and the job completion notice to the cloud side relay server. The cloud side relay server manages the manager IP address of the job management manager server,Transferring the job start notification and the job completion notification to the manager IP address.
[0012] A job execution method according to an aspect of the present invention is a job execution method for executing a job via the Internet, and includes steps of setting the IP address of a job management agent server to the IP address of a cloud-side relay server by name resolution, setting the IP address of a job management manager server to the IP address of an on-premises-side relay server, setting a constant connection environment from the on-premises-side relay server to the cloud-side relay server, selecting, in the cloud-side relay server, the logical name of the job management manager server included in a job execution start notification or a job execution completion notification and the IP address of the job management manager server as the transfer destination from a logical name management table, transferring the job execution start notification or the job execution completion notification to the job management manager server, selecting, in the on-premises-side relay server, the logical name of the job management agent server included in a job execution registration request and the IP address of the job management agent server as the transfer destination from the logical name management table, and transferring the job execution registration request to the job management agent server.
Advantages of the Invention
[0013] According to an aspect of the present invention, in a job execution system, it is possible to securely realize two-way communication between the cloud side and the on-premises side.
Brief Description of the Drawings
[0014]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Modes for Carrying Out the Invention
[0015] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
Embodiment
[0016] FIG. 1 is a schematic diagram of a job scheduler system to which Embodiment 1 of the present invention is applied. As shown in the figure, the job scheduler system of this Embodiment 1 includes a DNS server 1110 for name resolution installed in the on-premises 1010, at least one job execution server 1120 for executing jobs, at least one job management agent server 1130 for instructing the execution of jobs of the job execution server, and an on-premises-side relay server 1140 for transferring job execution registration requests, job execution start notifications, and job execution completion notifications. The DNS server 1110, the job execution server 1120, the job management agent server 1130, and the on-premises-side relay server 1140 are connected by a management network 1150.
[0017] It is composed of a DNS server 1210 for name resolution installed in the cloud 1020, a portal server 1220 that accepts agent registration and job network registration from an on-premises administrator, a job management manager server 1230 that manages the execution schedule of a job network and sends a job execution registration request to a job management agent server 1130, and a cloud-side relay server 1240 that forwards a job execution registration request, a job execution start notification, and a job execution completion notification. The DNS server 1210, the portal server 1220, the job management manager server 1230, and the cloud-side relay server 1240 are connected by a management network 1250.
[0018] The on-premises relay server 1140 and the cloud-side relay server 1240 are connected via the Internet 1030 using protocols such as WebSocket and gRPC connected from the on-premises relay server 1140.
[0019] Figure 2 is a diagram showing the configuration of the portal server 1220. The portal server 1220 includes a CPU 2010, a memory 2020, a storage device 2030, an input device 2040, an output device 2050, and a communication port 2060. The storage device 2030 holds a database 2100 and an agent management unit 2210, and loads and executes them in the memory 2020 at the time of execution. The database 2100 holds a logical name management table 2110 that holds the logical names of the job management manager server and the job management agent server.
[0020] The logical name management table 2110 will be described with reference to Figure 3. The logical name management table 2110 is composed of a column for logical names 3010 that holds the logical names of the job management manager server and job management agent server, a column for host names 3020 that holds the host names of the job management manager server and job management agent server, a column for customer registered IP addresses 3030 that holds the IP addresses registered by the customer at the time of agent registration, and a column for DNS registered IP addresses 3040 that holds the IP addresses registered with the DNS server.
[0021] Figure 4 is a flowchart showing the processing performed at the time of agent registration in the agent management unit 2210. The agent management unit 2210 receives a request for agent registration from the customer (4010). The request for agent registration includes the agent logical name, host name, and IP address.
[0022] The agent management unit 2210 saves the agent logical name included in the request in the column for logical names 3010 of the logical name management table 2110, the host name in the column for host names 3020, the IP address in the column for customer registered IP addresses 3030, and saves the IP address of the cloud-side relay server 1240 in the column for DNS registered IP addresses (4020).
[0023] The above is the explanation of the processing performed at the time of agent registration in the agent management unit 2210.
[0024] Figure 5 is an example of the GUI 5000 of the agent registration screen of the portal server. The agent registration screen includes an input form 5010 for the agent logical name to input the agent logical name, an input form 5020 for the agent host name to input the host name of the agent, an input form 5030 for the agent IP address to input the IP address of the agent, a registration button 5040 to register the agent with the input content, and a cancel button 5050 to cancel the input.
[0025] FIG. 6 is a diagram showing the configuration of the cloud-side relay server 1240. The cloud-side relay server 1240 includes a CPU 6010, a memory 6020, a storage device 6030, an input device 6040, an output device 6050, and a communication port 6060. The storage device 6030 holds a database 6100, a job execution registration processing unit 6210, a job start notification processing unit 6220, and a job completion notification processing unit 6230, and loads them into the memory 6020 for execution during runtime. The database 6100 holds a logical name management table 6110 that holds the logical names of the job management manager server and the job management agent server.
[0026] The logical name management table 6110 will be described with reference to FIG. 7. The logical name management table 6110 is composed of a column of logical names 7010 that holds the logical names of the job management manager server and the job management agent server, and a column of IP addresses 7020 that holds the actual IP addresses of the job management manager server and the job management agent server.
[0027] When the cloud-side relay server 1240 receives a logical name and a customer registration IP address from the portal server, it registers the logical name in the logical name 7010 and the customer registration IP address in the IP address 7020.
[0028] When the job execution registration processing unit 6210 receives a job execution registration request from the job management manager server 1230, it transfers it directly to the on-premises side relay server 1140.
[0029] FIG. 8 is a flowchart showing the processing performed when the job start notification processing unit 6220 receives a job start notification from the on-premises side relay server. First, the job start notification processing unit 6210 receives a job start notification from the on-premises side relay server (8010). Next, it searches for the location of the manager logical name from the notification content (8020). Next, search for the manager logical name in the logical name management table 6110 and obtain the IP address corresponding to the manager logical name (8030). Finally, transfer the job start notification to the obtained IP address (8040).
[0030] The above is the description of the processing performed when the job start notification is received in the job start notification processing unit 6220.
[0031] The job completion notification processing unit 6230 performs the same processing as the job start notification processing unit 6220. The difference is that the job start notification processing unit 6220 processes the job start notification, while the job completion notification processing unit 6230 processes the job completion notification.
[0032] Figure 9 is a diagram showing the configuration of the on-premises relay server 1140. The on-premises relay server 1140 includes a CPU 9010, a memory 9020, a storage device 9030, an input device 9040, an output device 9050, and a communication port 9060. The storage device 9030 holds a database 9100, a job execution registration processing unit 9210, a job start notification processing unit 9220, and a job completion notification processing unit 9230, and loads them into the memory 9020 for execution during operation. The database 9100 holds a logical name management table 9110 that holds the logical names of the job management manager server and the job management agent server.
[0033] The logical name management table 9110 will be described with reference to Figure 10. The logical name management table 9110 is composed of a column for the logical name 10010 that holds the logical names of the job management manager server and the job management agent server, and a column for the IP address 10020 that holds the actual IP addresses of the job management manager server and the job management agent server. When the on-premises relay server receives a logical name and an IP address from the cloud-side relay server, it saves them in the logical name management table 9110.
[0034] FIG. 11 is a flowchart showing the processing performed when the job execution registration processing unit 9210 receives a job execution registration request from the cloud-side relay server. First, the job execution registration processing unit 9210 receives a job execution registration request from the cloud-side relay server (11010). Next, the agent logical name part is searched from the content of the request (11020). Next, the agent logical name is searched from the logical name management table 9110, and the IP address corresponding to the agent logical name is acquired (11030). Finally, the job execution registration request is transferred to the acquired IP address (11040).
[0035] The above is the explanation of the processing performed when the job execution registration processing unit 9210 receives a job execution registration request.
[0036] When the job start notification processing unit 9220 receives a job execution start notification from the job management agent server 1130, it transfers it as it is to the cloud-side relay server 1240.
[0037] When the job completion notification processing unit 9230 receives a job execution completion notification from the job management agent server 1130, it transfers it as it is to the cloud-side relay server 1240.
[0038] According to the first embodiment, the job execution registration request, the job execution start notification, and the job execution completion notification can be securely transferred via the Internet using the relay server, and can be transferred to an appropriate agent or manager by checking the agent logical name and the manager logical name. As a result, job execution can be securely performed via the Internet.
Embodiment
[0039] The configuration of the job scheduler system in the second embodiment is substantially the same as that in the first embodiment, except that the portal server is provided with a logical name mapping table, and the processing during agent registration and the processing during job net import are different. Also, the cloud-side relay server is provided with a logical name mapping table, and the processing of the job execution registration processing unit in the cloud-side relay server is different. Furthermore, the on-premises side relay server is provided with a logical name mapping table, and the processing of the job execution start notification processing unit and the job execution completion notification processing unit is different.
[0040] Using FIG. 12, the logical name mapping table 12000 in the portal server 1220 will be described. The logical name mapping table 12000 is composed of a column of site name 12010 that holds the site name of the on-premises environment, a column of old logical name 12020 that holds the agent logical name when the customer registers the agent, and a column of new logical name 12030 that is a different logical name for registration in the job management manager server.
[0041] FIG. 13 is a flowchart showing the agent registration process in the agent management unit 2210 in the portal server 1220. The agent management unit 2110 receives an agent registration request from the customer (13010). The agent registration request includes the site name, agent logical name, host name, and IP address.
[0042] The agent management unit 2110 saves the agent logical name included in the request in the column of logical name 3010 in the logical name management table 2110, the host name in the column of host name 3020, the IP address in the column of customer registered IP address 3030, and saves the IP address of the cloud-side relay server 1240 in the column of DNS registered IP address (13020).
[0043] Next, a logical name for the new agent is created by combining the site name and agent name included in the request, and registered in the logical name mapping table 12000 (13030). Finally, the information registered in the logical name mapping table 12000 is transmitted to the cloud-side relay server 1240 (13040).
[0044] The above is the description of the processing performed at the time of agent registration in the agent management unit 2210.
[0045] FIG. 14 is a flowchart showing the processing at the time of job net import in the agent management unit 2210 in the portal server 1220. The agent management unit 2110 receives a job net import request from a customer (13010).
[0046] Next, the agent management unit 2110 searches for the job net to be imported and obtains the agent logical name of the agent that executes the job (14020). Next, the agent management unit 2110 searches the logical name mapping table 12000 for a record in which the site name 12010 and the old logical name 12020 match, and obtains the new logical name 12030 of that record (14030). Finally, the agent logical name in the job net is changed to the obtained new logical name (14040).
[0047] The above is the description of the processing performed at the time of job net import in the agent management unit 2210.
[0048] The logical name mapping table 15000 in the cloud-side relay server 1240 will be described with reference to FIG. 15. The logical name mapping table 15000 is composed of a column for the site name 15010 that holds the site name in the on-premises environment, a column for the old logical name 15020 that holds the agent logical name when the customer registers an agent, and a column for the new logical name 15030 that is a different logical name for registration in the job management manager server.
[0049] Figure 16 is a flowchart showing the processing when a job execution registration request is received by the job execution registration processing unit 6210 of the cloud-side relay server 1240. First, the job execution registration processing unit 6210 receives a job execution registration request from the job management manager server 1230 (16010).
[0050] Next, it searches for the agent logical name part in the request content (16020). Next, it searches for the agent logical name in the new logical name 15030 column of the logical name mapping table 15000, and obtains the site name 15010 and the old logical name 15020 of that record (16030). Next, it changes the agent logical name in the job execution registration request to the obtained old logical name (16040). Finally, it transfers the job execution registration request to the on-premises side relay server 1140 that matches the site name (16050).
[0051] The above is the explanation of the processing when a job execution registration request is received by the job execution registration processing unit 6210 of the cloud-side relay server 1240.
[0052] Using Figure 17, the logical name mapping table 17000 in the on-premises side relay server 1140 will be explained. The logical name mapping table 17000 is composed of a column of the old logical name 17010 that holds the agent logical name when the customer registers the agent, and a column of the new logical name 17020 that is set to a different logical name for registration in the job management manager server.
[0053] Figure 18 is a flowchart showing the processing when a job execution start notification is received by the job start notification processing unit 9220 of the on-premises side relay server 1140. First, the job start notification processing unit 9220 receives a job execution start notification from the job management agent server 1130 (18010).
[0054] Next, search for the agent logical name part in the request content (18020). Next, search for the agent logical name in the column of the old logical name 17010 in the logical name mapping table 17000, and obtain the new logical name 17020 of that record (18030). Next, change the agent logical name in the job execution start notification to the obtained new logical name. Finally, transfer the job execution start notification to the cloud-side relay server 1240 (18050).
[0055] The above is the explanation of the processing when the job execution registration request is received by the job execution start notification processing unit 9220 of the on-premises relay server 1140.
[0056] The processing of the job execution completion notification processing unit 9230 of the on-premises relay server 1140 is almost the same as the operation of the job execution start notification processing unit 9220, and the only difference is whether the notification to be processed is a job execution start notification or a job execution completion notification.
[0057] According to the second embodiment, even in a multi-on-premises environment, the relay server can be used to securely transfer job execution registration requests, job execution start notifications, and job execution completion notifications over the Internet, and the agent logical name and manager logical name can be confirmed and transferred to the appropriate agent and manager. As a result, job execution can be securely performed over the Internet.
Embodiment
[0058] The configuration of the job scheduler system of the third embodiment is almost the same as that of the second embodiment, but the portal server is provided with a required performance management table, and the processing at the time of agent registration is different. Also, the processing of the job execution registration processing unit in the cloud-side relay server is different. Furthermore, the processing of the job execution start notification processing unit and the job execution completion notification processing unit in the on-premises relay server is different.
[0059] Using FIG. 19, the required performance management table 19000 in the portal server 1220 will be described. The required performance management table 19000 is composed of a column for site name 19010 that holds the site name of the on-premises environment, a column for agent logical name 19020 that holds the agent logical name when the customer registers an agent, and a column for required performance (number of jobs / h) 19030 that holds the transfer performance (number of jobs / h) required for the agent.
[0060] Figure 20 is a flowchart showing the agent registration process in the agent management section 2210 of the portal server 1220. First, when receiving an agent registration request from a customer, the agent management section 2210 searches the logical name mapping table 12000 to check for duplicate logical names. If there is a duplicate, it proceeds to the next step (20010).
[0061] Next, referring to the required performance management table 19000, it obtains the required performance of the agent from the agent logical name and obtains the required performance of the agents with duplicate agent logical names (20020). Among the obtained ones, it searches for the agent with the highest required performance (20030).
[0062] The agent with the highest required performance is registered with the old logical name (20040).
[0063] For agents whose required performance is not the highest in 20030, the following processing is performed. A new logical name formed by combining the site name and the agent logical name is registered in the logical name mapping table 12000 (20050). It registers the agent logical name as the old logical name and the new logical name as the new logical name with the cloud-side relay server 1240 (20060). Finally, the relationship between the logical name and the IP address is registered in the logical name management table 2110 (20070).
[0064] The above is the explanation of the agent registration process of the portal server 1220.
[0065] FIG. 21 is a flowchart showing the operation when a job execution registration request is received by the job execution registration processing unit of the cloud-side relay server 1240. First, the job execution registration processing unit 6210 receives a job execution registration request from the job management manager server 1130 (21010).
[0066] Next, it searches the logical name mapping table from the site name and agent logical name included in the request, and checks whether there is an alias registration (21020). If there is an alias registration, the logical name of the execution agent in the job execution registration request is changed to the old logical name described in the logical name mapping table (21040). Otherwise, do nothing. Finally, the job execution registration request is transferred to the on-premises side relay server 1140.
[0067] The above is the explanation of the process when a job execution registration request is received by the job execution registration processing unit of the cloud relay server 1240.
[0068] FIG. 22 is a flowchart showing the operation when a job execution start notification is received by the job execution start notification processing unit 9220 of the on-premises side relay server 1140. First, the job execution start notification processing unit 9220 receives a job execution start notification from the job management agent server 1130 (22010).
[0069] Next, refer to the logical name mapping table 17000 and check whether there is an alias registration (22020). If it exists, change the agent logical name in the job execution start notification to the new logical name (22040). Otherwise, do nothing. Finally, transfer the job execution start notification to the cloud relay server 1240.
[0070] The above is the explanation of the process when a job execution start notification is received by the job execution start notification processing unit of the cloud relay server 1240.
[0071] The operation of receiving a job execution completion notice in the job execution completion notice processing unit 9230 of the on-premises relay server 1140 is almost the same as that of the job execution start notice processing unit 9220. The difference lies in whether to process the job execution start notice or the job execution completion notice.
[0072] Figure 23 is a flowchart showing a method for creating a request performance management table 19000 performed by the portal server 1120. The portal server 1120 acquires the job execution log of the job management manager server (23010). Next, filtering is performed by the agent logical name and the job name, and the job start time and job completion time are acquired (23020). Finally, the number of job executions per hour is counted for each agent and registered in the request performance management table 19000 (23030).
[0073] The above is the description of the process for creating the request performance management table of the portal server 1220.
[0074] Also, when creating the request performance management table, if there is no past record, initially, the estimated value of the number of job executions per hour by the administrator may be used, and after the start of operation, it may be overwritten with the number of job executions per hour calculated by the process of Figure 23.
[0075] According to this Example 3, even in a multi-on-premises environment, a relay server can be used to securely transfer job execution registration requests, job execution start notifications, and job execution completion notifications over the Internet, and can transfer them to an appropriate agent or manager by checking the agent logical name and manager logical name. As a result, job execution can be securely performed over the Internet. Furthermore, in the case of an agent with high request performance, it is not necessary to rewrite the agent logical name by the relay server, and the performance requirements can be satisfied.
Example
[0076] The configuration of the job scheduler system in this Example 4 is almost the same as that in Example 3, but the portal server is provided with a job net schedule management table and a job execution time management table. Further, there is a required performance table creation processing section in the portal server. Also, the processing of the agent management section is different.
[0077] Using FIG. 24, the job net schedule management table 24000 in the portal server 1220 will be described. The job net schedule management table 24000 is composed of a column for start time 24010 that holds the start time of the job net, and a column for job net name 24020 that holds the job net name of the job net to be executed.
[0078] Using FIG. 25, the job execution time management table 25000 in the portal server 1220 will be described. The job execution time management table 25000 is composed of a column for execution agent logical name 25010 that holds the logical name of the agent that executes the job, a column for job name 25020 that holds the job name of the job executed by the agent, and a column for execution time 25030 that holds the execution time of the job.
[0079] FIG. 26 is a flowchart showing a method for creating the job execution time management table 25000 performed by the portal server 1120. The portal server 1120 acquires the job execution log of the job management manager server 1230 (26010). Next, filtering is performed by the agent logical name and the job name, and the job start time and the job completion time are acquired (26020). Finally, the job execution time is calculated from the job start time and the job end time for each job, and registered in the job execution time management table 25000 (26030).
[0080] The above is the description of the process for creating the job execution time management table of the portal server 1220.
[0081] FIG. 27 is a flowchart showing agent registration processing performed by the agent management unit 2210 of the portal server 1120. First, when the agent management unit 2210 receives an agent registration request, it checks the logical name management table 2110 to see if the same logical name exists (27010).
[0082] If an agent with the same logical name exists, it checks the required performance (27020, 27030). If the required performance of the newly registered agent is higher than that of the existing agent, it checks whether the existing agent is executing a job (27040).
[0083] If the existing agent is executing a job, it checks the job end time in the job execution time management table, waits until the job ends, and returns to the process of checking whether the existing agent is executing a job (27040).
[0084] If it is determined that the existing agent is not executing a job (27040), it checks from the job network schedule management table 24000 and the job execution time management table 25000 that no job is executed for a while (e.g., 5 minutes) (27060).
[0085] If no job is executed for a while, it changes the existing registered agent to an alias combining the site name and the agent logical name (27070). Further, the newly registered agent is registered with the agent logical name (27080).
[0086] On the contrary, if the required performance of the existing agent is higher in the comparison of required performance (27030), the new agent is registered as an alias combining the site name and the agent logical name (27090). Also, on the contrary, if no agent with the same logical name exists in the comparison of agents with the same logical name (27010), the new agent is registered with the agent logical name as it is (27100).
[0087] The above is the description of the agent registration process performed by the agent management unit 2210 of the portal server 1220.
[0088] According to the fourth embodiment, even in a multi-on-premises environment, the relay server can be used to securely transfer job execution registration requests, job execution start notifications, and job execution completion notifications over the Internet, and can transfer them to an appropriate agent or manager by checking the agent logical name and the manager logical name. As a result, jobs can be securely executed over the Internet.
[0089] Furthermore, in the case of an agent with high required performance, it is not necessary to rewrite the agent logical name by the relay server, and the performance requirements can be satisfied. Furthermore, by changing the agent logical name during job execution, errors caused by the mismatch of the agent name in the job execution start notification and the job execution completion notification in the manager server can be eliminated.
Embodiment
[0090] The configuration of the job scheduler system of the fifth embodiment is almost the same as that of the fourth embodiment, but the processing of the agent management unit of the portal server is different.
[0091] FIG. 28 is a flowchart showing the agent registration process performed by the agent management unit 2210 of the portal server 1120. First, when the agent management unit 2210 receives an agent registration request, it checks the logical name management table 2110 to see if there is an agent with the same logical name (28010). If there is an agent with the same logical name, it checks the required performance (28020, 28030). If the required performance of the newly registered agent is higher than that of the existing agent, it checks whether the newly registered agent or the existing agent is in the middle of job execution (28040).
[0092] If both agents are executing a job, register the agent to be newly registered under an alias that combines the site name and the agent logical name (28050).
[0093] If it is determined that an existing agent is not executing a job (28040), confirm that the jobs of the existing agent and the new agent will not be executed for a while (e.g., 5 minutes) from the job net schedule management table 24000 and the job execution time management table 25000 (28060).
[0094] If the job is not executed for a while, change the existing registered agent to an alias that combines the site name and the agent logical name (27070). Further, change the agent to be newly registered from the agent logical name registered under the alias to the original agent logical name (28080).
[0095] Conversely, if the required performance of the existing agent is higher in the comparison of required performance (28030), register the new agent under an alias that combines the site name and the agent logical name (28090).
[0096] Also, conversely, if there is no agent with the same logical name in the comparison of agents with the same logical name (27010), register the new agent with the agent logical name as it is (28100).
[0097] The above is the explanation of the agent registration process performed by the agent management unit 2210 of the portal server 1220.
[0098] According to the fifth embodiment, even in a multi-on-premise environment, it is possible to securely transfer a job execution registration request, a job execution start notification, and a job execution completion notification via the Internet using a relay server, and to transfer them to an appropriate agent or manager by checking the agent logical name and the manager logical name. As a result, it becomes possible to securely execute a job via the Internet.
[0099] Furthermore, in the case of an agent with high required performance, the agent logical name rewriting by the relay server becomes unnecessary, and the performance requirements can be satisfied. Further, during job execution, by changing the logical name of the new agent, agent registration can be promptly carried out, and the agent logical name can be optimized so as to ensure performance at an appropriate timing.
Description of Signs
[0100] 1010 On-premises 1110 DNS Server 1120 Job Execution Server 1130 Job Management Agent Server 1140 On-premises Relay Server 1150 Management Network 1020 Cloud 1210 DNS Server 1220 Portal Server 1230 Job Management Manager Server 1240 Cloud-side Relay Server 1250 Management Network
Claims
1. A job execution system in which the on-premises side and the cloud side are connected via the Internet, wherein the on-premises side includes: an on-premises DNS server for name resolution; at least one job execution server for executing a job; at least one job management agent server for instructing execution of the job of the job execution server; an on-premises relay server for relaying a job execution registration notice, a job start notice, or a job completion notice; and wherein the cloud side includes: a cloud DNS server for name resolution; a portal server for accepting agent registration or job network registration; a job management manager server for managing the execution schedule of the job; a cloud relay server for relaying the job execution registration notice, the job start notice, or the job completion notice; and at the time of job execution registration, a connection between the on-premises relay server and the cloud relay server is established via the Internet; the job management manager server changes the communication destination to the cloud relay server by changing the name resolution in the cloud DNS server, and transmits the job execution registration notice to the cloud relay server; the cloud relay server transfers the job execution registration notice to the on-premises relay server; the on-premises relay server manages the agent IP address of the job management agent server, and transfers the job execution registration notice to the agent IP address; at the time of job start and job completion, a connection between the on-premises relay server and the cloud relay server is established via the Internet; the job management agent server changes the communication destination to the on-premises relay server by changing the name resolution by the on-premises DNS server, and transmits the job start notice and the job completion notice to the on-premises relay server; the on-premises relay server transfers the job start notice and the job completion notice to the cloud relay server; the cloud relay server A job execution system characterized by managing the manager IP address of the job management manager server and transferring the job start notification and job completion notification to the manager IP address.
2. The on-premises relay server has an on-premises logical name management table that holds the logical names of the job management manager server and the job management agent server, the manager IP address, and the agent IP address, The cloud-side relay server has a cloud-side logical name management table that holds the logical names of the job management manager server and the job management agent server, the manager IP address, and the agent IP address, The portal server has a portal logical name management table that holds the logical name of the job management agent server, the agent IP address, the IP address of the cloud-side relay server, and the IP address of the on-premises relay server, The on-premises relay server or the cloud-side relay server transfers the job execution registration notification, the job start notification, or the job completion notification using the on-premises logical name management table, the cloud-side logical name management table, and the portal logical name management table. The job execution system according to claim 1, characterized in that.
3. The on-premises side has a plurality of sites, each of the plurality of sites has an on-premises DNS server, a job execution server, a job management agent server, and an on-premises relay server, The cloud-side relay server has a cloud-side logical name mapping table that holds the site name of the site, the old logical names of the job management manager server and the job management agent server, and the new logical names of the job management manager server and the job management agent server, The new logical name of the job management agent server is composed of a combination of the old logical name of the job management agent server and the site name, The on-premises relay server It has an on-premises logical name mapping table that holds the old logical names of the job management manager server and the job management agent server, and the new logical names of the job management manager server and the job management agent server. The portal server has a portal logical name mapping table that holds the site name of the site, the old logical names of the job management manager server and the job management agent server, and the new logical names of the job management manager server and the job management agent server. The on-premises relay server or the cloud-side relay server The job execution system according to claim 1, wherein the job execution registration notice, the job start notice, or the job completion notice is transferred using the cloud-side logical name mapping table, the on-premises logical name mapping table, and the portal logical name mapping table.
4. At the time of job execution registration, the cloud-side relay server changes the new logical name to the old logical name and transfers the job execution registration notice to the on-premises relay server. At the time of the job start notice and the job completion notice, the on-premises relay server The job execution system according to claim 3, wherein the old logical name is changed to the new logical name and the job start notice and the job completion notice are transferred to the cloud-side relay server.
5. The portal server further has a required performance management table that holds the site name of the site, the old logical name of the job management agent server, and the required performance required by the job management agent server. The portal server checks whether the old logical names of the job management agent servers overlap. If they overlap, it checks the required performance of the job management agent servers. The job management agent server with the most required performance is registered in the portal logical name mapping table with the old logical name, and the other job management agent servers are registered with the new logical name. The on-premises relay server or the cloud-side relay server The job execution system according to claim 3, wherein the job execution registration notice, the job start notice, or the job completion notice is transferred using the required performance management table.
6. The portal server acquires the job execution logs of the job management manager server, counts the number of job executions per hour for each job management agent server based on the job execution logs, and registers the number of job executions in the required performance management table as the required performance. The job execution system according to claim 5, characterized in that **Claim 7** A job execution method for executing a job via the Internet, comprising: setting the IP address of the job management agent server to the IP address of the cloud-side relay server in name resolution; setting the IP address of the job management manager server to the IP address of the on-premises relay server in name resolution; setting a constant connection environment from the on-premises relay server to the cloud-side relay server via the Internet; selecting, by the cloud-side relay server, the logical name of the job management manager server included in the job execution start notification or the job execution completion notification and the IP address of the job management manager server to be the transfer destination from the logical name management table of the cloud-side relay server; transferring the job execution start notification or the job execution completion notification to the job management manager server; selecting, by the on-premises relay server, the logical name of the job management agent server included in the job execution registration request and the IP address of the job management agent server to be the transfer destination from the logical name management table of the on-premises relay server; transferring the job execution registration request to the job management agent server; A job execution method, characterized by comprising the above steps. **Claim 8** registering, in the portal server, a new logical name configured by combining the site name and the agent logical name at the time of agent registration; changing, at the time of job net import, the agent logical name included in the job net to the new logical name included in the logical name mapping table; changing, by the cloud-side relay server, the agent logical name included in the job execution registration request to the old logical name; changing, by the on-premises relay server, the agent logical name included in the job execution start notification or the job execution completion notification to the new logical name; The job execution method according to claim 7, further comprising
9. When registering the agent at the portal server, if an agent with the same logical name exists, a step of confirming the required performance of the agent; A step of registering the logical name of the agent with the highest required performance without changing it; A step of registering the logical names of the agents other than the agent with the highest required performance with the new logical name; The job execution method according to claim 8, further comprising
10. When processing the job execution registration request at the cloud-side relay server, a step of confirming whether there is an alias registration for the agent logical name; When the alias registration exists, a step of changing the agent logical name in the job execution registration request from the new logical name to the old logical name; The job execution method according to claim 8, further comprising
11. When processing the job execution start notification and the job execution completion notification at the on-premises side relay server, a step of confirming whether there is an alias registration for the agent logical name; When the alias registration exists, a step of changing the agent logical name included in the job execution start notification and the job execution completion notification from the old logical name to the new logical name; The job execution method according to claim 8, further comprising
12. When creating the required performance, a step of obtaining a past job execution log from the job management manager server; A step of filtering by the agent logical name and the job name to extract the job execution start time and the job execution completion time; A step of counting the number of job executions per agent; The job execution method according to claim 9, further comprising
13. A step of calculating the job execution time from the job execution log of the job management manager server by the portal server; A step of confirming whether an agent with the same logical name exists, and if not, registering a new agent with the same logical name as it is; When an agent with the same logical name exists, a step of confirming the required performance, and if the required performance of the existing agent is higher than that of the new agent, registering the new agent with the new logical name; If the new agent has higher required performance than the existing agent, a step of checking whether the existing agent is executing a job; Even if the job is not being executed, a step of checking whether there is no scheduled job execution within a predetermined period; If the job is not being executed and there is no scheduled job execution within the predetermined period, a step of changing the existing agent to the new logical name and registering the new agent with the same logical name; The job execution method according to claim 9, further comprising the above.
14. A step of calculating the job execution time from the job execution log of the job management server by the portal server; A step of checking whether there is an agent with the same logical name, and if not, registering the new agent with the same logical name; If there is an agent with the same logical name, a step of checking the required performance, and if the existing agent has higher required performance than the new agent, registering the new agent with the new logical name; If the new agent has higher required performance than the existing agent, a step of checking whether either the existing agent or the new agent is executing a job; Even if the job is not being executed, a step of checking whether there is no scheduled job execution within a predetermined period; If the job is being executed or there is a scheduled job execution within the predetermined period, a step of registering the new agent with the new logical name; If the job is not being executed and there is no scheduled job execution within the predetermined period, a step of changing the existing agent to the new logical name and changing the new agent from the new logical name to the old logical name; The job execution method according to claim 9, further comprising the above.
Citation Information
Patent Citations
Module control method
JP1991164934A
Gateway apparatus, communication method and communication program
JP2011188448A
On-Premise Agent for Mobile Cloud Services
JP2017506387A
Connection management system, connection management method and connection management device
WO2015092876A1
Virtual local presence based on l3 virtual mapping of remote network nodes
WO2021037358A1