Job management system and network devices
The job management system allows agents to prioritize file installations based on their own needs, addressing inefficiencies in existing systems by autonomously managing file installation priorities and interruptions, enhancing efficiency and alignment with user requirements.
Patent Information
- Application Number
- JP2022073429
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-04-27
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2042-04-27
AI Technical Summary
Existing job management systems require administrators to manually manage file installation status across devices, which is time-consuming and inefficient, especially when files are already installed on some agents but not others, and the importance of each device varies.
A job management system where agents determine their own priority for file installation, allowing them to interrupt lower-priority tasks for higher-priority files, independent of manager device assignments, and update the system with their execution status.
Enables efficient file installation according to device-specific priorities without additional administrative effort, aligning with user needs and optimizing resource utilization.
Smart Images

Figure 0007719028000001 
Figure 0007719028000002 
Figure 0007719028000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a job management system and a network device. [Background technology]
[0002] Job management systems have been in use for some time, consisting of multiple devices (network devices such as computers and office automation equipment) with built-in agents and a manager device that manages these multiple devices as assets. In these job management systems, the manager device distributes jobs to each device that download package data containing programs and files used by each device, and each device downloads and installs the package. At this time, the manager device determines the priority of the jobs distributed to each device, and each agent executes the job according to that priority.
[0003] For example, Patent Document 1 discloses a job management system that includes a plurality of job management servers on which a job management manager runs and which executes jobs using subordinate job execution agents. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-76512 Summary of the Invention [Problem to be solved by the invention]
[0005] However, there are cases where a file (package) distributed from a manager device is already installed on some agents and not on others, and depending on the file, the importance of each agent (each device) is not necessarily the same. Therefore, when distributing a file to each agent, the administrator of the manager device must understand the installation status of the file on each device (such as the type of file installed) and decide to which agent the file should be distributed, which can be time-consuming for the administrator, even though it is a simple file distribution process.
[0006] In view of such circumstances, the present disclosure proposes a technique that eliminates the need for a manager device to manage the file installation status of each agent, and enables files (packages) to be installed according to the priority of each agent. [Means for solving the problem]
[0007] In order to solve the above-described problems, the present disclosure provides, as an example, a job management system including a manager device and a plurality of devices, in which a package is distributed from the manager device to the plurality of devices and the plurality of devices installs the package, the manager device includes a processor that generates a plurality of jobs corresponding to the plurality of packages for downloading the packages, and a communication device that transmits the plurality of jobs to a plurality of devices; Each of the plurality of devices has an agent that controls execution and interruption of a plurality of jobs; The processor of the manager device assigns a first priority indicating an execution order to the plurality of jobs; The present invention proposes a job management system in which, when an agent receives information on a second priority different from the first priority from the outside, the agent controls the execution of multiple jobs according to the job execution order indicated by the second priority, regardless of the job execution order indicated by the first priority.
[0008] Further features related to the present disclosure will become apparent from the description of this specification and the accompanying drawings. Furthermore, aspects of the present disclosure are achieved and realized by the elements and combinations of various elements, as well as the following detailed description and the appended claims. It should be understood that the description of this specification is merely exemplary and does not limit the scope or application of the claims of the present disclosure in any way. [Effects of the Invention]
[0009] According to the technology of the present disclosure, it is possible to efficiently install files distributed to each agent according to their respective priorities without requiring the manager device's administrator to take any time and effort. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a diagram illustrating an example of the configuration of a job management system 100 according to the present embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the internal configuration of an asset management database 104 used in the present embodiment. [Figure 3] 10 is a flowchart illustrating a package distribution process performed by the manager device 101. [Figure 4] 4 is a flowchart illustrating a package download process executed by each of agents 1_107a to 1_n (hereinafter simply referred to as "agents" in FIG. 4) of devices 106a to 106n. [Figure 5] FIG. 2 is a diagram for explaining an outline of job distribution by a manager device 101. [Figure 6] FIG. 10 is a diagram for explaining an outline of a process in which each agent downloads a package in accordance with a distribution job. [Figure 7] FIG. 10 is a sequence diagram illustrating a general process flow from job distribution to package installation completion. [Figure 8]FIG. 10 is a diagram for explaining an outline of processing when another job with a higher priority (distribution job 2) is distributed during the execution of a job (distribution job 1). [Figure 9] FIG. 10 is a sequence diagram illustrating the operation of the agent 1_107a in FIG. 8, which shows the flow of processing for interrupting a job being executed and executing another job with a higher priority first. [Figure 10] FIG. 10 is a diagram for explaining an outline of a process for changing the job execution order in response to an instruction from a user of a device. [Figure 11] This is a sequence diagram illustrating the flow of processing (outlined in FIG. 10) in which the agent 1_107a takes the initiative to change the execution order (priority) and execute a job regardless of the priority of the job assigned by the manager device 101. [Figure 12] 12 is a diagram showing an example of the configuration of a packaging GUI (Graphical User Interface) 1200 for generating package information data 104_1, which is output to an input / output device 102 (display device) of a manager device 101. FIG. [Figure 13] FIG. 13 is a diagram showing an example of the configuration of a job execution GUI (Graphical User Interface) 1300 for generating job information data 104_2, which is output to the input / output device 102 (display device) of the manager apparatus 101. [Figure 14] FIG. 14 is a diagram showing an example of the configuration of a package download dialog 1400 displayed by agent 1_107a to agent n_107n (hereinafter, sometimes simply referred to as "agent"). [Figure 15] 15 is a diagram showing an example of the configuration of a processing result display (job execution status display 1500) that shows the execution status of each job distributed from agent 1_107a to agent n_107n, displayed on the input / output device 102 (display device) of the manager device 101. [Figure 16] FIG. 16 is a diagram showing an example of the configuration of a status display (package execution status display 1600) of package download and installation by a job distributed to each agent. DETAILED DESCRIPTION OF THE INVENTION
[0011] This embodiment discloses that the agent takes the initiative in determining the priority of files to be installed on itself, regardless of the priority of the files assigned by the manager, and installs files distributed from the manager accordingly. It also discloses that for files designated by the agent as having a higher priority than a file currently being downloaded, the download of the preceding file is interrupted and the file is installed as a priority.
[0012] The present embodiment will be described below with reference to the drawings. The same components will be denoted by the same reference numerals. Note that the following embodiment does not limit the technology of the present disclosure, and not all of the combinations of features described in the present embodiment are necessarily essential for solving the above-mentioned problems.
[0013] <Example of a job management system configuration> FIG. 1 is a diagram showing an example of the configuration of a job management system 100 according to this embodiment.
[0014] The job management system 100 includes, for example, a manager device 101 and a plurality of devices (network devices) 106a to 106n that are managed by the manager device 101. The manager device 101 and the plurality of devices 106a to 106n are connected via a network (for example, the Internet or a dedicated line).
[0015] The manager device 101 operates in response to, for example, an administrator's command and includes an input / output device 102, a communication device 103, an asset management database 104, and a processor 105. The input / output device 102 is composed of, for example, an input device such as a keyboard or a touch panel and an output device such as a display device or a printer. The input / output device 102 allows the administrator to input package creation commands and package priorities, and displays download completion notifications and installation completion notifications from each of the devices 106a to 106n. The communication device 103 transmits jobs to be distributed via the network to at least one of the devices 106a to 106n and receives download completion notifications and installation completion notifications from each of the devices 106a to 106n. The processor 105 has a job management unit 1051 that manages jobs to be distributed to each of the devices 106a to 106n. The job management unit 1051 assigns priorities to jobs and distributes the jobs to each of the devices 106a to 106n (details will be described later). The asset management database 104 is configured by a storage device (not shown) and holds package information data, job information data, and agent information data (see FIG. 2).
[0016] The devices 106a to 106n each have an agent 1_107a to agent n_107n. Each agent 1_107a to agent n_107n generates and executes a distribution job received from the manager device 101 within the corresponding device 106a to 106n. The job has a function, for example, to download a package from the manager device 101. Each device 106a to 106n is configured to be operated by its respective user and includes an input / output device, a processor, and a communication device (not shown). Each agent 1_107a to agent n_107n is deployed within the corresponding processor. Jobs generated by the agent can also be generated within the processor, for example. Note that when each user of the devices 106a to 106n receives multiple jobs from the manager device 101 (either simultaneously or with a time lag), the user can execute the jobs according to their own priorities, regardless of the priorities assigned by the manager device 101. That is, the devices 106a to 106n are configured so that a user can change the priority given by the manager device 101 and instruct the agents 1_107a to 107n to execute jobs.
[0017] <Example of internal configuration of asset management database 104> 2 is a diagram showing an example of the internal configuration of the asset management database 104 used in this embodiment. The asset management database 104 includes, for example, package information data 104_1, job information data 104_2, and agent information data 104_3.
[0018] The package information data 104_1 is information for managing package files (programs) to be installed on the devices 106a to 106n, and includes, as configuration items, a package ID 201 that uniquely identifies the package, a package name 202 that indicates the name of the package, package data 203 that is the contents of the package file, a priority 204 that indicates the priority for downloading and installation, and an installation destination 205 that indicates the installation destination (address information) within the device's agent. The package data 203 also includes data containing an installer within the file. By managing the information on the installation destination 205, the manager device 101 can determine where in the device (agent) the package is to be installed when creating the package. The priority 204 is assigned by the manager device 101. Therefore, if agents 1_107a to 1_n_107n of the devices 106a to 106n download and install the package according to the priority 204, this is a manager-initiated installation operation similar to the conventional method. However, in this embodiment, as will be described later, packages can be installed according to a priority that is newly assigned (instructed by the device user) on the device 106a to 106n side, rather than the priority 204.
[0019] The job information data 104_2 includes, as configuration items, a job name 211, a job type 212, a destination 213 indicating to which agent the corresponding job should be distributed, a package 214 indicating information about a package to be downloaded and installed by the corresponding job, and an execution date and time 215 indicating the date and time of execution of the job. Here, one job can include multiple packages.
[0020] The agent information data 104_3 is information for managing agents 1_107a to 1_n generated in devices 106a to 106n, and includes as its constituent items an agent ID 221 that uniquely identifies the agent, a host name 222, and an IP address 223 that indicates the address information of the agent.
[0021] 2, the package information data 104_1, job information data 104_2, and agent information data 104_3 that constitute the asset management database 104 can be configured in a table format, but are not limited to a table format as long as they can manage each piece of configuration information. In addition to this information, the asset management database 104 may also hold, for example, job execution status information (not shown) that is updated by each of the agents 107a to 107n in response to a notification from the manager device 101.
[0022] <Package Distribution Process by Manager Device 101> FIG. 3 is a flowchart for explaining the package distribution process by the manager device 101.
[0023] (i) Step 301 The job management unit 1051 generated in the processor 105 of the manager device 101 packages, for example, a file designated by an administrator, and generates package information data 104_1 (see FIG. 2). That is, information on a package ID 201, a package name 202, package data 203, and an installation destination 205 is packaged as a single piece of information.
[0024] (ii) Step 302 The job management unit 1051 creates a job for distributing a package. This job includes information such as job information data 104_2. Here, a job is information that defines what kind of package (including files and programs) is to be sent to where (to which device's agent) and what operation is to be executed by the destination agent. That is, the manager device 101 first transmits a job that defines the contents of the information to be distributed to at least one of agent 1_107a to agent n_107n. Any one of agent 1_107a to agent n_107n that receives the job analyzes the job and determines which package to download from the asset management database 104 and where to install the downloaded package according to the contents of the job.
[0025] (iii) Step 303 The job management unit 1051 executes the following step 304 for each of the target agents among the agents 1_107a to n_107n. Note that the manager device 101 may be configured to determine whether to send the job to all the agents or to some of the agents.
[0026] (iv) Step 304 The job management unit 1051 transmits the job to the agent.
[0027] (v) Step 305 The job management unit 1051 updates the job execution status information (not shown in FIG. 2) managed in the asset management database 104 in response to notifications from the distributed jobs (jobs generated in each agent).
[0028] <Package download process by agent> FIG. 4 is a flowchart for explaining a package download process executed by each of the agents 1_107a to 107n (hereinafter simply referred to as "agents" in FIG. 4) of the devices 106a to 106n.
[0029] (i) Step 401 When an agent receives a new job from the manager device 101, it determines whether another job is currently being executed. If a job is currently being executed (Yes in step 401), the process proceeds to step 402. If no job is currently being executed (No in step 401), the process proceeds to step 405.
[0030] (ii) Step 402 The agent determines whether the download of the package included in the currently running job is almost complete (for example, more than 80% complete). Here, it determines whether it is more efficient to continue the currently running job or to start a new job. If the package download is almost complete (Yes in step 402), the process proceeds to step 408. If the package download has not yet reached a predetermined percentage (No in step 402), the process proceeds to step 403.
[0031] (iii) Step 403 The agent determines whether the package download by the currently running job is being performed by an operation (instruction) from the device user. If it is being performed by an operation from the device user (Yes in step 403), the process proceeds to step 408. In other words, the instruction from the device user takes priority. On the other hand, if it is not being performed by an operation from the device user (No in step 403), the process proceeds to step 404.
[0032] (iv) Step 404 The agent suspends the download of the package corresponding to the running job.
[0033] (v) Step 405 The agent determines whether a package with the highest priority (priority assigned by the manager device 101) among a plurality of packages can be further prioritized. Whether a package can be further prioritized can be determined, for example, based on whether the user has assigned a high priority to the package, whether there is a download history of a related package, whether the package is used more frequently (including download frequency) than other packages, or whether other information held by the agent can be used to determine whether a package can be prioritized.
[0034] If further prioritization is possible (Yes in step 405), the process proceeds to step 406. If further prioritization is not possible (No in step 405), the process proceeds to step 407.
[0035] If the user specifies a job (package) with the highest priority among multiple jobs (package downloads) other than the currently running job (when the priority is changed), the download of the specified package is given the highest priority. If there are multiple jobs with the same priority (priority assigned by the manager device 101) among the remaining jobs, it can be configured to determine whether a further priority can be assigned among them. If the user does not specify a job (package) with the highest priority among the multiple jobs other than the currently running job, the jobs will be executed sequentially in the order of priority assigned by the manager (see step 406).
[0036] (vi) Step 406 The agent further prioritizes the jobs and executes the jobs with the highest priority (downloads the package).
[0037] (vii) Step 407 The agent executes the job with the highest priority (downloads the package) according to the priority given by the manager device 101.
[0038] (viii) Step 408 The agent continues to download and install packages corresponding to the running job.
[0039] (ix) Processing when there are multiple jobs If there are multiple jobs to be executed in addition to the job currently being executed, the agent will complete the processing from steps 401 to 408 for one job, and then execute steps 401 to 408 again for the other jobs.
[0040] <Job distribution overview> FIG. 5 is a diagram for explaining an outline of job distribution by the manager device 101. As shown in FIG.
[0041] As shown in FIG. 5, when the job management unit 1051 generates a distribution job 501, it transmits the distribution job 501 to the distribution destination agents (agent 1_107a to agent 3_107c in FIG. 5).
[0042] The distribution job 501 may be executed immediately upon receipt by the agent, or may be executed at a timing specified by the execution date and time information (execution date and time 215 in FIG. 2) of the distribution job 501. Furthermore, if a job is distributed when the device is not running, the agent may execute the job when the device starts up.
[0043] <Package download overview> FIG. 6 is a diagram for explaining an outline of the process in which each agent downloads a package in accordance with a distribution job.
[0044] As shown in Figure 6, when the job management unit 1051 distributes the distribution job 501 to each agent (in Figure 6, agent 1_107a to agent 3_107c), each agent executes the job and downloads the package specified by the distribution job 501 from the asset management database 104 of the manager device 101.
[0045] FIG. 6 shows, for example, how a normal download process is performed according to a job when each agent has not acquired any other jobs (when there is only one job to be executed).
[0046] <Normal job execution sequence> FIG. 7 is a sequence diagram for explaining a general process flow from job distribution to package installation completion.
[0047] The job management unit 1051 of the manager device 101 generates a job to be distributed to an agent k_107k (k=an integer from 1 to n) (sequence 701) and transmits the job to the destination agent k_107k (sequence 702). Alternatively, the job management unit 1051 transmits a download command for the job to be distributed to the destination agent k_107k, and in response, the agent k_107k downloads the job (sequence 702).
[0048] The agent k_107k that has acquired the job executes the job, that is, generates a job 700 on the agent k_107k (sequence 703).Then, the job 700 transmits a download request for the package specified in the job to the manager device 101 (sequence 704).
[0049] The manager device 101 permits the job 700 of agent k_107k to download the package, and the job 700 downloads the target package to the installation destination 205 (see FIG. 2) specified in the job (sequence 705). When the job 700 completes downloading the target package, it transmits a download completion notification to the manager device 101 (sequence 706). Upon receiving the download completion notification, the manager device 101 updates job execution status information (not shown) held in the asset management database 104.
[0050] The job 700 installs the downloaded package in the device (sequence 707). When the installation of the package is complete, the job transmits an installation completion notification to the manager device 101 (sequence 708). As with the download completion, upon receiving the installation completion notification, the manager device 101 updates job execution status information (not shown) held in the asset management database 104.
[0051] Once the installation completion notification has been sent to the manager device 101, the job is terminated, or the agent k_107k terminates the job (sequence 709).
[0052] <Overview of processing when a high priority job is added> 8 is a diagram for explaining an outline of the processing when another job with a higher priority (distribution job 2) is distributed during job execution (distribution job 1). For example, in FIG. 8, a scenario is assumed in which job 1 for downloading package 1 is distributed with a "medium" priority from agent 1_107a to agent 3_107c of devices 106a to 106c, and job 2 for downloading package 2 additionally (e.g., urgently) is distributed to each agent with a "high" priority. However, since package 2 is already installed in agent 2_107b, job 2 will not be executed even if it is distributed.
[0053] When Job 1 is distributed, Agent 1_107a to Agent 3_107c execute Job 1. The timing of execution of Job 1 can be set by the manager device 101 so that it differs for each agent, so in Fig. 8, Agent 1_107a is in the state of downloading Package 1, Agent 2_107b is in the state before downloading Package 1, and Agent 3_107c is in the state of installing Package 1.
[0054] Since the agent 3_107c is currently installing package 1, even if it acquires job 2, which has a higher priority than job 1, the agent 3_107c will not interrupt the installation of package 1 (step 402 → step 408 in Figure 4).
[0055] On the other hand, since Agent 1_107a is currently downloading Package 1 (assuming the download progress is less than 80%), if Agent 1_107a acquires Job 2, which has a higher priority than Job 1, Agent 1_107a will interrupt the download operation of Package 1, execute Job 2, and start downloading Package 2 (Step 402 → Step 403 → Step 404 → Step 405 → Step 407 in Figure 4).
[0056] Since package 2 has already been installed on agent 2_107b, only job 1 will be executed even if job 2 is distributed to agent 2_107b. Job 1 will then be executed as appropriate.
[0057] <Process sequence for interrupting a running job and running another job with higher priority> FIG. 9 is a sequence diagram illustrating the flow of processing performed by the agent 1_107a in FIG. 8, in which the job being executed is interrupted and another job with a higher priority is executed first.
[0058] The job management unit 1051 of the manager device 101 generates job 1 to be distributed to agent 1_107a (sequence 901) and transmits it to agent 1_107a, the destination of distribution (sequence 902). Alternatively, the job management unit 1051 transmits a download command for job 1 to be distributed to agent 1_107a, the destination of distribution, and in response, agent 1_107a downloads job 1 (sequence 902).
[0059] Agent 1_107a that has acquired Job 1 executes Job 1, i.e., generates Job 1_900 on the agent 1_107a (sequence 903). Then, Job 1_900 transmits a download request for Package 1 specified in Job 1 to the manager device 101 (sequence 904).
[0060] The manager device 101 permits the download of package 1 by job 1_900 of agent 1_107a, and job 1_900 downloads the target package 1 to the installation destination 205 (see FIG. 2) designated by job 1 (sequence 905).
[0061] Meanwhile, the job management unit 1051 of the manager device 101 generates job 2 (having a higher priority than job 1) to be distributed to agent 1_107a (sequence 906) and transmits it to agent 1_107a, the distribution destination (sequence 907). Alternatively, the job management unit 1051 transmits a download command for job 2 to be distributed to agent 1_107a, the distribution destination, and in response, agent 1_107a downloads job 2 (sequence 907).
[0062] Since the acquired job 2 has a higher priority than the currently executing job 1_900 and the download of package 1 is not nearly complete, agent 1_107a suspends the execution of job 1_900 (download of package 1) (sequence 908). Then, agent 1_107a executes job 2, i.e., generates job 2_900' on agent 1_107a (sequence 909). Then, job 2_900' transmits a download request for package 2 specified in job 2_900' to the manager device 101 (sequence 910).
[0063] The manager device 101 permits the download of package 2 by job 2_900' of agent 1_107a, and job 2_900' downloads the target package 2 to the installation destination 205 (see FIG. 2) designated by job 2 (sequence 911).
[0064] When the download of the target package 2 is completed, job 2_900′ transmits a download completion notification to the manager device 101 (sequence 912). Upon receiving the download completion notification, the manager device 101 updates the job execution status information (not shown) held in the asset management database 104.
[0065] Job 2_900' installs package 2 (sequence 913). When the installation of package 2 is complete, job 2_900' transmits an installation completion notification to the manager device 101 (sequence 914). As with the download completion, when the installation completion notification is received, the manager device 101 updates the job execution status information (not shown) held in the asset management database 104. When the installation completion notification has been transmitted to the manager device 101, job 2_900' disappears (autonomously disappears), or agent 1_107a disappears job 2_900' (sequence 915).
[0066] Furthermore, when the installation of package 2 is completed, agent 1_107a resumes the execution of job 1_900 which has been suspended (sequence 916). When job 1_900 completes the download of target package 1, it transmits a download completion notification to the manager device 101 (sequence 917). Upon receiving the download completion notification, the manager device 101 updates job execution status information (not shown) held in the asset management database 104.
[0067] Furthermore, job 1_900 installs package 1 (sequence 918). When the installation of package 1 is completed, job 1_900 transmits an installation completion notification to the manager device 101 (sequence 919). As with the download completion, when the installation completion notification is received, the manager device 101 updates the job execution status information (not shown) held in the asset management database 104. When the installation completion notification has been transmitted to the manager device 101, job 1_900 disappears (autonomously disappears), or agent 1_107a disappears job 1_900 (sequence 920).
[0068] <Overview of the process for changing job execution based on user instructions> Fig. 10 is a diagram for explaining an outline of the process of changing the job execution order based on an instruction from a device user. Fig. 10 shows the process that is executed if the answer to step 403 in Fig. 4 is Yes. Fig. 10 assumes a situation in which, for example, when job 1 for downloading package 1 is distributed to agent 1_107a of device 106a with a "high" priority and then job 2 for downloading package 2 is distributed to agent 1_107a with a "low" priority, the user of device 106a prioritizes downloading package 2 with a "low" priority (agent-led priority change).
[0069] In FIG. 10, the manager device 101 assigns a "high" priority to job 1 and a "low" priority to job 2, and distributes the jobs to the agent 1_107a of the device 106a in the order of job 1 and job 2.
[0070] Agent1_107a receives jobs 1 and 2 in that order, and when it starts executing job 1, if it receives an instruction from the user of device 106a to download package 2 first, it suspends the execution of job 1 (downloading package 1) (respecting the user's intention) even if the manager device 101 has determined that job 1 has a higher priority than job 2, and starts executing job 2. When the download of package 2 by job 2 is complete, the download of package 1 is resumed.
[0071] In this way, by changing the priority of package downloads under the initiative of the agent, it is possible to realize job execution that is suited to the actual usage of the device by the user.
[0072] <Processing sequence for executing jobs by changing the execution order under the initiative of the agent, regardless of the priority assigned by the manager device 101> Figure 11 is a sequence diagram that explains the flow of the process (outlined in Figure 10) in which agent 1_107a takes the initiative to change the execution order (priority) and execute a job regardless of the job priority assigned by the manager device 101.
[0073] The job management unit 1051 of the manager device 101 generates job 1 to be distributed to agent 1_107a (sequence 1101) and transmits it to agent 1_107a, the distribution destination, (sequence 1102). Alternatively, the job management unit 1051 transmits a download command for job 1 to be distributed to agent 1_107a, the distribution destination, and in response, agent 1_107a downloads job 1 (sequence 1102).
[0074] Further, the job management unit 1051 of the manager device 101 generates job 2 to be distributed to agent 1_107a (sequence 1103) and transmits it to agent 1_107a, the distribution destination (sequence 1104). Alternatively, the job management unit 1051 transmits a download command for job 2 to be distributed to agent 1_107a, the distribution destination, and in response, agent 1_107a downloads job 2 (sequence 1104).
[0075] Agent 1_107a executes Job 1, that is, generates Job 1_1100 on the agent 1_107a (sequence 1105). Then, Job 1_1100 transmits a download request for Package 1 specified in Job 1 to the manager device 101 (sequence 1106).
[0076] The manager device 101 permits the download of package 1 by job 1_1100 of agent 1_107a, and job 1_1100 downloads the target package 1 to the installation destination 205 (see FIG. 2) specified in job 1 (sequence 1107).
[0077] When a user of the device 106a instructs the agent 1_106a to request download of package 2 while the job 1_1100 is downloading package 1 (sequence 1108), the agent 1_107a suspends the job 1_1100 that is currently being executed (downloading package 1) (sequence 1109). After suspending job 1_1100, the agent 1_107a executes job 2, i.e., generates job 2_1100' on the agent 1_107a (sequence 1110). Then, job 2_1100' transmits a download request for package 2 specified in the job 2 to the manager device 101 (sequence 1111).
[0078] The manager device 101 permits the download of package 2 by job 2_1100' of agent 1_107a, and job 2_1100' downloads the target package 2 to the installation destination 205 (see FIG. 2) specified in job 2 (sequence 1112).
[0079] When the download of the target package 2 is completed, job 2_1100' transmits a download completion notification to the manager device 101 (sequence 1113). Upon receiving the download completion notification, the manager device 101 updates the job execution status information (not shown) held in the asset management database 104.
[0080] Job 2_1100' installs package 2 (sequence 1114). When the installation of package 2 is complete, job 2_1100' transmits an installation completion notification to the manager device 101 (sequence 1115). As with the download completion, when the installation completion notification is received, the manager device 101 updates the job execution status information (not shown) held in the asset management database 104. When the installation completion notification has been transmitted to the manager device 101, job 2_1100' disappears (autonomously disappears), or agent 1_107a disappears job 2_1100' (sequence 1116).
[0081] Furthermore, when the installation of package 2 is completed, agent 1_107a resumes the execution of suspended job 1_1100 (sequence 1117). When the download of the target package 1 is completed, job 1_1100 transmits a download completion notification to the manager device 101 (sequence 1118). Upon receiving the download completion notification, the manager device 101 updates job execution status information (not shown) held in the asset management database 104.
[0082] Furthermore, job 1_1100 installs package 1 (sequence 1119). When the installation of package 1 is completed, job 1_1100 transmits an installation completion notification to the manager device 101 (sequence 1120). As with the download completion, when the installation completion notification is received, the manager device 101 updates the job execution status information (not shown) held in the asset management database 104. When the installation completion notification has been transmitted to the manager device 101, job 1_1100 disappears (autonomously disappears), or agent 1_107a disappears job 1_1100 (sequence 1121).
[0083] <Example of GUI configuration for generating package information data 104_1> FIG. 12 is a diagram showing an example of the configuration of a packaging GUI (Graphical User Interface) 1200 for generating package information data 104_1, which is output to the input / output device 102 (display device) of the manager device 101. As shown in FIG.
[0084] The packaging GUI 1200 includes, as configuration items, a package ID input field 1201, a package name input field 1202, a package file specification field 1203, an installation destination specification field 1204, and a priority change permission check field 1205 that determines whether or not to allow the agent to change the priority.
[0085] When an administrator of the manager device 101 inputs a command to start generating package information data 104_1 from the input / output device 102 (input device) to the processor 105 of the manager device 101, the processor 105 retrieves drawing data for the packaging GUI 1200 from the storage device, constructs the packaging GUI 1200, and displays it on the input / output device 102 (display device).
[0086] The administrator of the manager device 101 inputs and confirms the necessary information in each of the fields 1201 to 1205 of the packaging GUI 1200 displayed on the display screen. Then, the job management unit 1051 of the processor 105 generates package information data 104_1 based on the information input via the packaging GUI 1200.
[0087] <Example of GUI configuration for generating job information data 104_2> FIG. 13 is a diagram showing an example of the configuration of a job execution GUI (Graphical User Interface) 1300 for generating job information data 104_2 to be output to the input / output device 102 (display device) of the manager apparatus 101. As shown in FIG.
[0088] The job execution GUI 1300 includes, as configuration items, a job name input field 1301, a job type input field 1302, a destination specification field 1303 indicating the distribution destination of the package, a package input field 1304 for inputting a package ID, and a priority specification field 1305 indicating the job priority (low, normal (medium), high). The package input field 1304 is configured so that package IDs corresponding to multiple packages can be input.
[0089] When the administrator of the manager device 101 inputs a command to start generating job information data 104_2 from the input / output device 102 (input device) to the processor 105 of the manager device 101, the processor 105 retrieves drawing data for the job execution GUI 1300 from the storage device, constructs the job execution GUI 1300, and displays it on the input / output device 102 (display device).
[0090] The administrator of the manager device 101 enters and confirms the necessary information in each of the fields 1301 to 1305 of the job execution GUI 1300 displayed on the display screen. Then, the job management unit 1051 of the processor 105 generates job information data 104_2 based on the information entered via the job execution GUI 1300.
[0091] The GUI for generating agent information data 104_3 for managing information on agents 1_107a to n_107n is composed of input and specification fields for inputting each required piece of information, similar to the packaging GUI 1200 and job execution GUI 1300, and therefore illustration and explanation thereof will be omitted.
[0092] <Example of agent dialog configuration> FIG. 14 is a diagram showing an example of the configuration of a package download dialog 1400 displayed by agent 1_107a to agent n_107n (hereinafter, sometimes simply referred to as "agent").
[0093] The package download dialog 1400 includes, as components, a download progress display 1401 and a package content display 1402 that displays the package ID and package name.
[0094] When a job generated by an agent executes a package download, a package download dialog 1400 is displayed on the display unit (not shown) of the device until the package download is complete.
[0095] <Example of manager processing result display configuration> FIG. 15 is a diagram showing an example of the configuration of a processing result display (job execution status display 1500) that shows the execution status of each job distributed from agent 1_107a to agent n_107n, displayed on the input / output device 102 (display device) of the manager device 101.
[0096] The job execution status display 1500 includes, as configuration items, a job name 1501, a destination 1502 indicating the name of the agent to which the job identified by the job name 1501 is distributed, a package name 1503 specifying the package to be downloaded by the job identified by the job name 1501, a job execution status 1504, an execution status 1505, and a job execution date and time 1506.
[0097] The job name 1501 is information corresponding to the job name 211 of the job information data 104_2. The destination 1502 is information in which the agent information data 104_3 is reflected in the destination 213 of the job information data 104_2. The package name 1503 is information corresponding to the package 214 of the job information data 104_2.
[0098] The execution status 1504 is information indicating whether the corresponding job is running or has completed normally. When the manager device 101 receives a download request from the agent, it changes the execution status 1504, for example, from "not running" to "running," and when it receives an installation completion notification from the agent, it changes the execution status 1504, for example, from "running" to "successfully completed." Note that the manager device 101 is not notified of job interruptions in the agent (see FIGS. 8 to 11), so the execution status 1504 at this time remains "running."
[0099] Execution status 1505 indicates the progress of job execution. For example, the execution status can be defined to be displayed as follows: 0% progress when job distribution is complete but downloading has not yet started, 30% progress when downloading has started, 60% progress when a download completion notification is received, and 100% progress when a package installation completion notification is received in the agent.
[0100] <Display of package distributed to agent> FIG. 16 is a diagram showing an example of the configuration of a status display (package execution status GUI 1600) of package download and installation by a job distributed to each agent.
[0101] The package execution status GUI 1600 includes a check box 1601, a package name 1602, a package ID 1603, an installation destination 1604, an execution status 1605, an installation date and time 1606, and a download request button 1607 as configuration items.
[0102] Checkbox 1601 is a field for selecting the target for agent-led download priority. When the device user checks the checkbox 1601 of the package they want to download with priority and presses download request button 1607, the agent suspends any running job, executes a job to download the checked package, and downloads the package.
[0103] The package name 1602 is information indicating the name of the package to be downloaded and installed that is assigned by the manager device 101, and corresponds to the package name 202 in the package information data 104_1. The package ID 1603 is information that uniquely identifies the package to be downloaded and installed that is assigned by the manager device 101, and corresponds to the package ID 201 in the package information data 104_1.
[0104] The installation destination 1604 is information indicating the installation location of the package in the agent, and corresponds to the installation destination 205 of the package information data 104_1.
[0105] The execution status 1605 is information indicating the download status or installation status of a package. For example, "Downloading" is displayed from the start of package download until the download is complete (0% to less than 100%), and "Download Completed" is displayed when the download is complete (100% download). Also, for example, "Installing" is displayed from the start of package installation until the installation is complete (0% to less than 100% installation after download completion), and "Completed Successfully" is displayed when the installation is complete (100% installation).
[0106] The installation date and time 1606 is information indicating the date and time when the installation was completed (normally ended). The download request button 1607 is a button display that the device user can press (touch) to request the manager device 101 to download the desired package.
[0107] <Summary> (i) A job management system 100 according to this embodiment includes a manager device 101 and multiple devices 106a to 106n. The manager device 101 distributes packages to the multiple devices 106a to 106n and installs the packages. The manager device 101 generates multiple jobs for downloading the packages and transmits the multiple jobs to the multiple devices 106a to 106n. Each of the multiple devices 106a to 106n has an agent 107a to 107n that controls the execution and interruption of the jobs. The manager device 101 assigns a first priority to each of the multiple jobs, indicating the order of execution. When the agent receives information about a second priority different from the first priority from the outside (as instructed by a user using an input / output device), the agent controls the execution of the multiple jobs according to the order of execution indicated by the second priority, regardless of the order of execution indicated by the first priority. More specifically, when the manager device 101 transmits a first job and a second job whose first priority is lower than that of the first job to a plurality of devices 106a to 106n, if the agent receives information about the second priority indicating that the second job should be executed with priority over the first job (if a user instructs to change the priority), the agent executes the second job with priority over the first job and completes installation of the package corresponding to the second job first. In this way, job execution can be controlled under the initiative of the agent (network device side), and packages can be efficiently installed in each device while reflecting the package installation status in each network device.
[0108] If the agent receives information about the second priority while the first job is running, it suspends the execution of the first job and resumes the execution of the first job after the second job has finished. This prevents the first job from remaining unexecuted. Note that if the first job has completed downloading a predetermined percentage (e.g., 80%) or more of the packages, the agent continues to execute the first job without executing the second job, regardless of the information about the second priority. In this way, by taking into account the job execution status (package download status) and determining whether to prioritize the execution of the second job, it is possible to improve the overall efficiency of downloading and installing multiple packages.
[0109] If the agent does not receive information about the second priority (if the user has not instructed to change the priority), and there are multiple jobs with the highest priority (high priority) among the multiple jobs assigned the first priority, the agent may further prioritize the jobs based on the attributes of the package corresponding to the highest priority job (for example, the download history of related packages or the frequency of package use, etc.). This makes it possible to install packages taking into account the usage status of the packages in each network device.
[0110] Furthermore, the agent controls the job that executed the download or installation so that, when the download or installation of the package is completed, a download completion notice or an installation completion notice is sent to the manager device 101. The manager device 101 then updates job execution information (stored in a storage device) that manages the execution status of jobs distributed to multiple devices in accordance with the received download completion notice or installation completion notice. This allows the manager device 101 to easily grasp the job execution status of each of the devices 106a to 106n.
[0111] (ii) The functions of the present embodiment can also be realized by software program code. In this case, a storage medium on which the program code is recorded is provided to a system or device, and the computer (or CPU or MPU) of the system or device reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the above-mentioned embodiment, and the program code itself and the storage medium on which it is stored constitute the present disclosure. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, and ROMs.
[0112] In addition, an operating system (OS) running on a computer may perform some or all of the actual processing based on instructions in the program code, and the functions of the above-described embodiments may be realized by this processing. Furthermore, after the program code is read from a storage medium and written to a memory on a computer, a CPU of the computer may perform some or all of the actual processing based on instructions in the program code, and the functions of the above-described embodiments may be realized by this processing.
[0113] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a hard disk or memory of the system or device, or in a storage medium such as a CD-RW or CD-R, so that when in use, the computer (or CPU or MPU) of the system or device reads and executes the program code stored in the storage means or storage medium.
[0114] Finally, the processes and techniques described herein are not inherently related to any particular apparatus and may be implemented by any suitable combination of components. Furthermore, various types of general-purpose devices may be used in the present embodiments. Various techniques may also be formed by suitable combinations of multiple components disclosed in the embodiments. For example, some components may be omitted from all of the components shown in the embodiments, or different components may be combined as appropriate. While the present disclosure has been described with reference to specific examples, these are not limiting in all respects but merely serve to illustrate the techniques of the present disclosure. It is believed that one skilled in the art will be able to identify numerous combinations of hardware, software, and firmware suitable for implementing the present disclosure. For example, the described software may be implemented in a wide variety of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, Java, etc.
[0115] Furthermore, in the above-described embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. All components may be interconnected. [Explanation of symbols]
[0116] 100 Job Management System 101 Manager device 102 Input / Output Devices 103 Communication Devices 104 Asset Management Database 105 processors 1051 Job Management Department 106a to 106n devices (network devices) 107a to 107n Agent 1 to Agent n
Claims
1. A job management system comprising a manager device and a plurality of devices, wherein a package is distributed from the manager device to the plurality of devices, and the plurality of devices install the package, the manager device includes a processor that generates a plurality of jobs corresponding to each of the plurality of packages for downloading the packages, and a communication device that transmits the plurality of jobs to the plurality of devices; each of the plurality of devices has an agent that controls execution and interruption of the plurality of jobs; the processor of the manager device assigns a first priority indicating an execution order to the plurality of jobs; A job management system in which, when the agent receives information of a second priority different from the first priority from the outside, the agent controls the execution of the multiple jobs according to the job execution order indicated by the second priority, regardless of the job execution order indicated by the first priority.
2. In claim 1, the manager device transmits a first job and a second job, the first priority of which is lower than that of the first job, to the plurality of devices using the communication device; When the agent receives the second priority information indicating that the second job is to be executed in priority over the first job, the agent executes the second job in priority over the first job and completes installation of the package corresponding to the second job first.
3. In claim 2, A job management system in which, when the agent receives information about the second priority while executing the first job, the agent suspends execution of the first job and resumes execution of the first job after execution of the second job is completed.
4. In claim 3, A job management system in which, when the first job has completed downloading a predetermined percentage or more of the package, the agent continues to execute the first job without executing the second job, regardless of the second priority information.
5. In claim 1, A job management system in which, when the agent does not receive information about the second priority, if there are multiple jobs with the highest priority among the multiple jobs to which the first priority has been assigned, the agent further prioritizes the jobs based on the attributes of the package corresponding to the job with the highest priority and executes the jobs.
6. In claim 1, A job management system in which the agent controls the job that executed the download or installation so that, when the download or installation of the package is completed, a download completion notice or an installation completion notice is sent to the manager device.
7. In claim 6, The manager device storing job execution information for managing the execution status of the jobs distributed to the plurality of devices in a storage device; The job management system updates the job execution information when the download completion notification or the installation completion notification is received.
8. A network device having an agent that executes a plurality of jobs distributed from a manager device and downloads and installs each package related to each of the plurality of jobs, an input / output device that inputs information from the outside and outputs information to the outside; a processor in which the agent is generated; The agent: Controlling execution and interruption of the plurality of jobs; A network device that, when information on a second priority different from a first priority indicating the execution order of the plurality of jobs assigned by the manager device is input from the input / output device, controls the execution of the plurality of jobs according to the execution order of the jobs indicated by the second priority, regardless of the execution order of the jobs indicated by the first priority.
9. In claim 8, the processor receives, via a communication device, from the manager device, a first job and a second job having a first priority lower than that of the first job; When the agent receives the second priority information indicating that the second job is to be executed in priority over the first job, the agent executes the second job in priority over the first job and completes installation of the package corresponding to the second job first.
10. In claim 9, When the agent receives the information about the second priority during execution of the first job, the agent suspends execution of the first job and resumes execution of the first job after execution of the second job is completed.
11. In claim 10, The agent continues to execute the first job without executing the second job regardless of the second priority information when the first job has completed downloading a predetermined percentage or more of the package.
12. In claim 8, When the agent does not receive information about the second priority, and there are multiple jobs with the highest priority among the multiple jobs to which the first priority has been assigned, the agent further prioritizes the jobs based on the attributes of the package corresponding to the highest priority job and executes the jobs.
13. In claim 8, The agent is a network device that controls the job that executed the download or installation so that, when the download or installation of the package is completed, a download completion notice or an installation completion notice is sent to the manager device.
14. In claim 8, When the installation of the package is completed, the agent deletes a job related to the completion of the installation.
Citation Information
Patent Citations
Entertainment system, server device, delivery method of contents, contents delivery program, and storage medium with contents delivery program stored therein
JP2002202927A
Integrated management system of job management server
JP2011076512A
Program distribution method and operation management device
JP2011095871A
Management and prioritization of media item downloading
US20130290413A1
Control device, program update method, and computer program
WO2018142751A1