This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-88151, filed on Apr. 27, 2017, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to apparatus and method to support a work by effective grouping of tasks in a workflow.
For example, companies that provide IT-related, electronic, and electric services provide maintenance services for maintaining and inspecting facilities and the like of companies. In the maintenance services, workers execute maintenance work such as maintenance, fine adjustment, test operations, regular inspection, and the like of devices and systems, for example. Advanced technical knowledge may be requested for the maintenance work, for example. Thus, it may take time to develop human resources, and there are concerns about shortages of human resources. For example, a work support technique for supporting work (tasks) that is maintenance work and the like and to be executed in a series of procedures has been developed.
In the work support technique, tasks to be executed in a series of procedures are described as a flow, for example. A terminal supports work by presenting, to a worker, details of a task to be executed next in accordance with the flow, for example.
Examples of related art are Japanese Laid-open Patent Publications Nos. 10-275188, 2008-171423, and 5-143610.
According to an aspect of the invention, an apparatus groups a plurality of tasks included in a workflow into a plurality of groups, based on whether sensor information obtained from a value detected by a sensor satisfies an execution requirement which is set for one or more tasks among the plurality of tasks and defines whether the one or more tasks are to be executed. The apparatus generates display information that is to be used to display the plurality of tasks in association with the plurality of groups, to output the generated display information. A terminal displays, on a display screen, the plurality of tasks in association with the plurality of groups, based on the display information received from the apparatus.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
A procedure of the flow that is presented to the worker, however, has been determined by a designer of the flow or the like, for example. Thus, situations in which the worker executes the work and the like may not be considered, and the worker may not easily execute the work in accordance with the presented procedure.
It is desirable to provide a technique for presenting a flow procedure based on a situation or the like upon the execution of work.
Hereinafter, embodiments are described in detail with reference to the accompanying drawings. Elements illustrated in multiple drawings and corresponding to each other are indicated by the same reference symbol.
It is considered that the tasks of the flow may be grouped and presented to the worker for each of groups, for example. The worker may easily recognize the groups of the work by the grouping, for example. For example, if the tasks are to be grouped, a designer of the flow or the like sets the groups, and the setting may cause a burden to the designer. If the person who groups the tasks is different from the worker who executes the work on a target site, the grouping may not be suitable for the worker. If the groups are determined in advance, the grouping is fixed, and the state of the work is not reflected in the grouping. As a result, a procedure for executing the work may not be suitable for the worker. It is, therefore, desirable to provide a technique for appropriately grouping the tasks of the flow, based on the state of the worker and the state of the work upon the execution of the work and presenting a procedure for the work. An embodiment is described below.
Next, a process of supporting the work according to the embodiment is described. In the embodiment described below, the controller 301 of the information processing device 201 executes grouping based on whether real-world information detected by the sensor 203 satisfies an execution requirement set for one or more tasks included in the flow, for example. The execution requirement may be set for information obtained from a value detected by the sensor 203 installed in the real world and may define whether or not the one or more tasks for which the execution requirement has been set are to be executed, for example. The sensor 203 may sense a physical effect or sense a predetermined state from information abstracted by the work support system 200 based on the physical effect.
The execution requirement may be set for a date and time when the work is executed, a location at which the work is executed, a human behavior, a person with which the worker stays, vital information of the worker, or the like as an example. For example, it is assumed that the execution requirement set for the one or more tasks indicates a date and time after 17:00 on Jan. 13, 2017. In this case, for example, if time acquired from the sensor 203 (for example, a clock) is before 17:00 on Jan. 13, 2017, the execution requirement is not satisfied and the one or more tasks are not executed.
In addition, for example, it is assumed that the execution requirement indicates a location that is a server room set as a location where the one or more tasks are executed. In this case, if a location that has been acquired from the sensor 203 and at which the worker stays is not the server room, the execution requirement is not satisfied and the one or more tasks are not executed.
When the execution requirement indicates a location, the sensor 203 may be any of various devices configured to identify a location. For example, the sensor 203 may be a global positioning system (GPS) device. In this case, the controller 401 of the terminal 202 notifies a position measured by the GPS device to the information processing device 201. Then, the controller 301 of the information processing device 201 may determine that the worker stays at the location specified in the execution requirement when the notified position is in a predetermined region defined by a latitude and a longitude. When the sensor 203 is a wireless local area network (LAN) communication device installed in the terminal 202, the controller 401 of the terminal 202 notifies the intensity, measured by the sensor 203, of a radio wave including a predetermined service set identifier (SSID) to the information processing device 201. Then, when the notified intensity of the radio wave is equal to or higher than a predetermined threshold, the controller 301 of the information processing device 201 may determine that the worker stays at the location specified in the execution requirement. Alternatively, as another example, when an entry and exit management system is used to manage entries and exits into and from a room by reading identifier (ID) cards or the like, the entry and exit management system may operate as the sensor 203. In this case, when the entry and exit management system detects that the worker stays in the room, the entry and exit management system may notify the information processing device 201 that the worker stays in the room. Then, when the information processing device 201 receives the notification from the entry and exit management system, the controller 301 of the information processing device 201 may determine that the worker stays at the location specified in the execution requirement.
In addition, the execution requirement may be set for a behavior (for example, walking, running, or the like) of the person, for example. In this case, when an integrated value of acceleration detected by the sensor 203, which is installed in the terminal 202 and is an acceleration sensor or the like, during a past predetermined time period is in a predetermined range, the controller 401 of the terminal 202 determines that the worker is walking or running. Then, the terminal 202 may notify the detected state of the worker to the information processing device 201. The controller 301 of the information processing device 201 may determine, based on the received notification, whether or not the one or more tasks are to be executed.
In addition, the information processing device 201 may acquire information indicating a person staying with the worker from information entered by the worker since the terminal 202 has prompted the worker to enter the information, or the information processing device 201 may identify the person staying with the worker by acquiring information via near-field wireless communication between the terminal 202 and a terminal carried by the other person staying near the worker, for example. Alternatively, the information processing device 201 may acquire vital information of the worker from a vital sensor worn by the worker, for example.
Then, the controller 301 of the information processing device 201 groups multiple tasks included in the flow based on the execution requirement. For example, upon reading the flow, the controller 301 of the information processing device 201 according to the embodiment may dynamically generate a group based on the structure of the flow, an execution requirement defined in the flow, an execution state of the flow, and a real-world state (real-world information) detected by the sensor. For example, the controller 301 of the information processing device 201 may group, into different groups, tasks between which an execution requirement is changed. Specifically, for example, the controller 301 may group a certain task for which an execution requirement has been set and a task to be executed immediately before the certain task into different groups, respectively. In addition, when an execution requirement set for a certain task is already satisfied, the controller 301 may group the certain task into a group to which a task to be executed immediately before the certain task belongs. For example, when a real-world state or the execution state of the flow changes, the controller 301 of the information processing device 201 may regenerate a group.
In addition, as another execution requirement, an execution requirement for setting groups so that a certain group is separated from the other groups may be set. For example, it is assumed that, in the case where an execution requirement for starting maintenance work at 2:00 is already set, the maintenance work has been started after 2:00 due to a delay of the preparation of maintenance. Since details of the maintenance work are significantly different from details of work of preparing the maintenance, an execution requirement for separating a group of the maintenance work from a group of the preparation work may be set for the last task of the preparation work. The execution requirement for separating groups from each other is referred to as second execution requirement in some cases, for example. The grouping is described below in more detail.
In addition,
For example, when the worker moves into the server room, the execution requirement, which indicates the server room and causes the grouping of the tasks into the group 1 and the group 2, is satisfied. In this case, the controller 301 of the information processing device 201 may combine the group 1 and the group 2 into a single group and cause the terminal 202 to display the single group on the display screen. In this case, a display screen illustrated in
As described above, according to the embodiment, multiple tasks that are included in the flow are separated from each other at a boundary where an execution requirement is changed and are displayed for each of groups together with the execution requirement. For example, in the case where an execution requirement is changed, the execution requirement is treated as a boundary, and tasks that are to be executed before the execution requirement is changed are already completed in many cases. By grouping tasks into groups at the boundary where the execution requirement is changed, the worker may easily plan the work. In addition, by displaying an execution requirement on the display screen, the worker may easily recognize work that is able to be executed by the worker in the current state of the worker, work that is not able to be executed by the worker in the current state of the worker, and how to execute succeeding work in the current state of the worker. In addition, in the embodiment, when an execution requirement is satisfied, a certain group for which the execution requirement has been set is combined with a group to be executed immediately before the certain group. By dynamically determining the grouping based on the state of the work or the like, the display screen for supporting the work, which enables the worker to easily execute the work, may be presented. The embodiment is described in detail below.
In step 1001 (step is hereinafter expressed by S, and, for example, step 1001 is hereinafter expressed by S1001), the controller 301 of the information processing device 201 waits for the occurrence of an event. In S1002, the controller 301 branches the operational flow based on the event that has occurred, where the event may be the input of a request from the terminal 202, the sensor 203, or another device.
For example, when a request to update real-world information is input from the terminal 202 or the sensor 203 to the information processing device 201, the controller 301 of the information processing device 201 causes the flow to proceed to S1003 in S1002. In S1003, the controller 301 registers, in the real-world state information 900, the real-world information included in the request to update the real-world information and updates the real-world information. Then, the flow proceeds to S1005.
In addition, for example, when a request to update the execution state of the flow is input from the terminal 202 to the information processing device 201 in S1001, the controller 301 of the information processing device 201 causes the flow to proceed to S1004 in S1002. The request to update the execution state includes the flow ID identifying the flow whose execution state is to be updated and information of a task being executed, which indicates a task that is currently being executed in the terminal 202 from which the request to update the execution state has been input, for example. Then, in S1004, the controller 301 updates, to the task that is being executed and is included in the request to update the execution state, a task being executed that has been registered in an entry included in the task execution state information 700 and including the flow ID included in the request to update the execution state. Then, the flow proceeds to S1005.
When a request to assign a new flow is input from the terminal 202 to the information processing device 201 in S1001, the controller 301 of the information processing device 201 causes the flow to proceed to S1007 in S1002. In S1007, the controller 301 registers an entry including a flow ID of the flow requested to be assigned in the task execution state information 700. Then, the flow proceeds to S1005. A task being executed that is indicated in the registered entry may be set at a first task of the flow which is positioned at a head of the flow.
When a request to add a new flow is input from the terminal 202 or another device to the information processing device 201 in S1002, the controller 301 of the information processing device 201 causes the flow to proceed to S1008 in S1002. In S1008, the controller 301 assigns a flow ID to the flow instructed to be added in accordance with the request to add the flow, generates the flow information 800, and causes the generated flow information 800 to be stored in the storage unit 302. Then, the flow returns to S1001.
In S1005, the controller 301 generates a group for the flow that is to be processed and for which a request such as the request to update the real-world information, the request to update the execution state, or the request to assign the flow has been notified. For example, the controller 301 executes an operational flow illustrated in
In S1006, the controller 301 generates display information based on the grouping. Then, the controller 301 transmits the generated display information to the terminal 202 executing the work support on the flow that is to be processed and for which the request such as the request to update the real-world information, the request to update the execution state, or the request to assign the flow has been notified. Then, the flow returns to S1001.
In S1005 of the operational flow illustrated in
Next, a grouping process according to the embodiment is described with reference to
In S1101, the controller 301 reads the flow information 800 of the flow to be processed in S1003, S1004, or S1007, which is a calling process of the process of S1005, and acquires the structure of the flow based on the flow information 800. The flow to be processed in S1003, S1004, or S1007, which is a calling process of the process of S1005, is hereinafter referred to as the flow to be processed in some cases.
In S1102, the controller 301 references an entry that includes the flow ID of the flow to be processed and is included in the task execution state information 700, thereby acquiring a task being executed.
In S1103, the controller 301 acquires real-world information by referencing the real-world state information 900 identified by the flow ID of the flow to be processed. In the real-world state information 900, the latest real-world information, which is notified by the sensor 203 or the terminal 202 including the sensor 203 at a predetermined timing, may be registered.
In S1104, the controller 301 generates a group for storing the task and uses the generated group as a group targeted to store the task. In S1105, the controller 301 reads the top task from the flow information 800 of the flow to be processed. In S1106, the controller 301 adds the read task to the group generated in S1104.
In S1107, the controller 301 determines whether or not the task added to the group in S1106 is the last task indicated in the flow information 800 of the process to be processed. When the task added to the group is the last task indicated in the flow information 800 of the process to be processed (YES in S1107), the operational flow illustrated in
When the task added to the group is not the last task indicated in the flow information 800 of the flow to be processed (NO in S1107), the flow proceeds to 51108. In S1108, the controller 301 reads a next task indicated in the flow information 800 and determines whether or not an execution requirement that is different from an execution requirement set for the current task has been set for the next task. The next task may be a task set in the dependent task item of the flow information 800, for example. When the execution requirement is not changed between the current task and the next task (NO in S1108), the flow proceeds to S1111. As an example, when an execution requirement has not been set for the next task in the flow information 800, the controller 301 may determine that the execution requirement is not changed between the current task and the next task. Then, in S1111, the controller 301 acquires the next task as a task to be processed and registers the next task in the group to which the previous task has been added in S1106.
On the other hand, when the execution requirement is changed between the current task and the next task (YES in S1108), the flow proceeds to S1109. Then, in S1109, the controller 301 determines whether or not the real-world information acquired from the real-world state information 900 satisfies the execution requirement set for the next task. For example, when the execution requirement indicates time (after 17:00), the controller 301 may determine whether the current date and time, which have been acquired from the sensor 203, such as a clock, configured to measure time, and have been registered in the real-world state information 900, are after 17:00. In addition, for example, when the execution requirement indicates the location (server room), the controller 301 may determine whether or not the terminal 202 is in the server room, based on real-world information indicating the position of the terminal 202 and acquired from the real-world state information 900.
When the real-world information acquired from the real-world state information 900 satisfies the execution requirement set for the next task (YES in S1109), the flow proceeds to S1111. In this case, although the execution requirement set for the next task is different from the execution requirement set for the current task, the execution requirement set for the next task is already satisfied, and the current task and the next task are grouped into the same group.
On the other hand, when the real-world information acquired from the real-world state information 900 does not satisfy the execution requirement for the next task (NO in S1109), the flow proceeds to S1110. In S1110, the controller 301 terminates the assignment of tasks to the current group, generates a new group, and uses the generated group as a group targeted to store tasks. Then, the flow proceeds to S1111. Specifically, in this case, since the execution requirement set for the next task is different from the execution requirement set for the current task, the execution requirement set for the next task has yet to be satisfied, and the next task is not executed, the next task is grouped into a group different from the group of the current task.
As described above, according to the operational flow illustrated in
In the aforementioned operational flow illustrated in
On the other hand, in
Next, a process of displaying the display screen for the work support in the terminal 202 is described.
In S1301, the controller 401 determines whether or not the terminal 202 has received the display information 1200 from the information processing device 201. When the terminal 202 has not received the display information 1200 (NO in S1301), the flow repeats the process of S1301. On the other hand, when the terminal 202 has received the display information 1200 (YES in S1301), the flow proceeds to S1302. In S1302, the controller 401 displays the display screen for the work support based on the received display information 1200. For example, the controller 401 displays the display screen for the work support so that tasks included in a group including a task being executed are individually displayed and that tasks included in groups preceding and succeeding the group including the task being executed are displayed collectively as the groups. In addition, for example, when an execution requirement is set between a first group including the task being executed and a second group immediately succeeding the first group, the controller 401 may display the display screen for the work support so that the execution requirement is displayed between the first group and the second group. When the display screen for the work support is displayed, the flow returns to S1301 and repeats the process.
Tasks included in the other groups preceding and succeeding the first group including the task being executed are organized and a single representative task that represents each of the other groups is displayed. As an example, a representative task of each of the groups may be a task that is among tasks of each group and to be executed at a time closest to the execution time of the task T2 that is being executed. When the display screen is displayed in this manner, works related to the task executed by the worker is displayed as tasks organized in the first group, and the worker may easily recognize details of the work. Since the tasks of the groups other than the first group including the task being executed by the worker are organized and displayed as the groups, the worker may easily plan the entire work. In addition, in the example illustrated in
As described in the embodiment, grouping tasks and displaying the tasks as groups save a display region and are convenient in a case where the terminal 202 is a smartphone having a small display screen or the like and the worker confirms the tasks by using the terminal 202.
In the aforementioned embodiment, the controller 301 of the information processing device 201 may execute the grouping based on the structure of the flow, for example. As examples of the structure of the flow, branch structures such as a conditional branch and a parallel branch are known. The conditional branch is a branch in which any of processes is selected conditionally and executed. The parallel branch is a branch in which two or more branched processes are executed.
The embodiment describes the example in which the representative tasks are displayed for the groups that do not include an active task to be executed and the other tasks of the groups are not displayed. The embodiment, however, is not limited to this.
In another embodiment, multiple workers corresponding to multiple terminals 202 execute a single flow. For example, it is assumed that a worker enters information indicating the completion of certain work in a certain terminal 202 and that the certain terminal 202 inputs a request to update an execution state to the information processing device 201. In this case, the information processing device 201 may update the task execution state information 700, notify the completion of the certain work to another terminal 202, and synchronize the execution state of the single flow between the multiple terminals 202.
Although the embodiment is exemplified above, the embodiment is not limited to this. For example, the aforementioned operational flows are examples, and the embodiment is not limited to this. In the operational flows, the orders of the processes may be changed and the processes may be executed in the changed orders. Another process may be added to one or more of the operational flows, or a part of the processes may be omitted. For example, the order of the processes of S1101 to S1104 illustrated in
In addition, the embodiment describes the example in which the terminal 202 generates, from the display information 1200, the display screen for the work support that is exemplified in
In addition, the aforementioned embodiment is applicable to work in various fields. For example, the aforementioned embodiment may be applied to work executed on a patient by a doctor or a nurse in a medical site.
The processor 1701 may be a single processor, a multiprocessor, or a multi-core processor. The processor 1701 provides a part or all of the functions of the aforementioned controller 301 by using the memory 1702 to execute a program in which the procedures for the aforementioned operational flows are described, or the processor 1701 provides a part or all of the functions of the aforementioned controller 401 by using the memory 1702 to execute a program in which the procedures for the aforementioned operational flows are described. For example, the processor 1701 of the information processing device 201 operates as the grouping unit 311 and the output unit 312 by reading and executing a program stored in the storage device 1703. In addition, the storage unit 302 or the storage unit 402 includes the memory 1702, the storage device 1703, and a removable storage medium 1705, for example. In the storage device 1703 of the information processing device 201, the task execution state information 700, the flow information 800, the real-world state information 900, and the like are stored, for example. In addition, in the storage device 1703 of the terminal 202, the task execution state information 700, the flow information 800, and the like are stored, for example.
The memory 1702 is, for example, a semiconductor memory and may include a RAM region and a ROM region. The storage device 1703 is, for example, a semiconductor memory such as a hard disk or a flash memory or an external storage device. RAM stands for Random Access Memory. ROM stands for Read Only Memory.
The reading device 1704 accesses the removable storage medium 1705 in accordance with an instruction from the processor 1701. The removable storage medium 1705 is achieved by a semiconductor device (USB memory, SD card, or the like), for example. USB stands for Universal Serial Bus.
The communication interface 1706 transmits and receives data via a network in accordance with an instruction from the processor 1701. The communication interface 1706 may be a cellular communication device to be coupled to a cellular communication network, a Wi-Fi communication device to be coupled to a Wi-Fi base station, or the like. Each of the aforementioned communication unit 303 and the aforementioned communication unit 403 is, for example, the communication interface 1706. The input and output interface 1707 may be an interface between an input device and an output device. The input device is configured to receive an instruction from a user and is a keyboard, a mouse, or the like, for example. The output device may be the display device 1711 such as a display or may be an audio device such as a speaker, for example. The display device 1711 may be implemented as a touch panel integrated with the input device. The display device 1711 is an example of the aforementioned display device 404, for example. In addition, the sensor 203 may be any of various sensors such as a GPS device, an acceleration sensor, a clock, and a vital sensor, depending on real-world information to be acquired.
The programs according to the embodiment may be provided to the information processing device 201 and the terminal 202 in one or more of the following methods.
(1) The programs are installed in the storage device 1703 in advance.
(2) The programs are provided from the removable storage medium 1705.
(3) The programs are provided from a server such as a program server.
The hardware configuration of the computer 1700 that is described with reference to in
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2017-088151 | Apr 2017 | JP | national |