System
The system addresses project management inefficiencies by collecting and analyzing data from various tools to optimize scheduling and resource allocation, ensuring real-time responsiveness and risk management.
Patent Information
- Application Number
- JP2024116544
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
Existing project management systems struggle to effectively integrate data from multiple tools, manage real-time project situations, perform optimal task scheduling and resource allocation, and respond to changes or risks, leading to inefficiencies and delays.
A system that collects real-time data from document creation, code management, and communication devices, analyzes the data to prioritize tasks, generate schedules, allocate resources, and monitor risks, allowing for immediate adjustments and early problem detection.
Enhances project management efficiency by optimizing task scheduling and resource allocation, enabling real-time responses to changes and early risk detection, thereby improving productivity and responsiveness.
Smart Images

Figure 2026015070000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In project management, it is difficult to effectively integrate data collected from multiple tools, grasp the situation in real time, and perform optimal task scheduling and resource allocation. It is also difficult to respond quickly to changes in information or unexpected risks that occur during the project. This creates challenges that make it difficult to maximize project efficiency and results. [Means for solving the problem]
[0005] The present invention is a system that includes a means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, a means for analyzing the collected data and analyzing the progress of each task, the activity level of members, and the content of communication, a means for setting task priorities and generating an optimal schedule, a means for proposing optimal resource allocation based on available personnel, budget, and facilities, a means for responding to information changes during the project in real time and making necessary adjustments, and a means for monitoring project risks, early detection of potential problems, and implementation of countermeasures. Using this system, project management challenges can be effectively solved.
[0006] "Document creation devices" are electronic tools and software used by project members to create and edit text and documents.
[0007] A "code management device" is a system or software for version control, sharing, and reviewing programming code.
[0008] "Communication devices" are messaging tools and chat applications that support communication between project members.
[0009] The "means for collecting data in real time" refers to a method or technology for instantly acquiring and collecting data from each document creation device, code management device, and communication device.
[0010] "Means of analyzing data" refers to methods and techniques for processing collected data using statistical or computer techniques to extract useful information.
[0011] A "means for setting task priorities" is a method or technology for evaluating the importance and urgency of each task and determining the order in which the tasks are executed.
[0012] A "means for generating an optimal schedule" is a method or technology for automatically creating an efficient task schedule, taking into account the deadlines and dependencies of each task.
[0013] "Means for proposing resource allocation" refers to methods and techniques for optimally allocating the human resources, budget, and equipment required for a project and allocating them appropriately to each task.
[0014] "Means for responding to information changes in real time" refers to methods and techniques for immediately reflecting changes in information that occur during a project and making appropriate adjustments.
[0015] "Means for monitoring project risks, detecting potential problems early, and implementing countermeasures" refers to methods and techniques for constantly monitoring potential risks during the course of a project and quickly implementing solutions as soon as they are detected. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8]FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] This invention is a system for improving the efficiency of project management. It collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. Below, the program processing of this system is explained in natural language, with concrete examples.
[0038] Program processing explanation
[0039] 1. Data Collection
[0040] The server collects real-time data from various document creation devices, code management devices, and communication devices used by project members. For example, the server obtains the latest document update information using APIs such as Google Docs and Microsoft Word, obtains commit history and pull request status from code management devices such as GitHub and GitLab, and obtains message logs and channel activity from messaging tools such as Slack and Microsoft Teams.
[0041] 2. Data Analysis
[0042] The server centralizes the collected data and organizes it by project, analyzing the progress of each task, the activity level of each member, and the content of communication in detail. For example, it can detect when a document in Google Docs is 80% complete or when a pull request in GitHub is 40% reviewed.
[0043] 3. Task Scheduling
[0044] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[0045] 4. Resource Allocation
[0046] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server can assign the task to Engineer B. It can also assign a new task to a member who specializes in creating documentation.
[0047] 5. Real-time support
[0048] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[0049] 6. Risk Management
[0050] The server constantly monitors project risks and detects potential problems early. For example, if there is a risk that a large-scale code change will occur just before release, the server reduces the risk by ensuring additional review time. If a problem is discovered, it promptly implements countermeasures and notifies the device of the details of the countermeasures.
[0051] Specific examples
[0052] Example: Project in progress scenario
[0053] 1. Data Collection
[0054] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[0055] 2. Data Analysis
[0056] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[0057] 3. Task Scheduling
[0058] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[0059] 4. Resource Allocation
[0060] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[0061] 5. Real-time support
[0062] The server monitors the progress of the task and if Engineer A is absent due to illness, it immediately instructs Engineer C to take over the task.
[0063] 6. Risk Management
[0064] The server detects when there is a risk of large code changes occurring just before release and reduces the risk by allowing additional review time upfront.
[0065] Combining these functions maximizes the efficiency and effectiveness of project management. The server is at the center of the system, constantly monitoring and managing the project status in real time, optimizing task scheduling and resource allocation. The terminal also receives necessary information in a timely manner, helping users take appropriate action.
[0066] The processing flow will be explained below.
[0067] Step 1: Data collection
[0068] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0069] Step 2: Data analysis
[0070] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0071] Step 3: Task Scheduling
[0072] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0073] Step 4: Resource allocation
[0074] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0075] Step 5: Real-time response
[0076] The server responds in real time to changes in information that occur during the project. Specifically, if a member takes sick leave or a task is delayed, the server immediately reschedules the project and notifies the device of the changes. The server also reviews the schedule based on the progress of the task and sends appropriate notifications.
[0077] Step 6: Risk Management
[0078] The server constantly monitors project risks and detects potential problems early. Specifically, it analyzes the progress data of each task and identifies tasks that may cause delays or bottlenecks. If a problem is detected, it proposes measures to mitigate the risk and notifies the device of the details.
[0079] In this way, the server can manage the entire project efficiently and effectively through each step. By aggregating and analyzing data from each connected device, it can achieve optimal task scheduling and resource allocation, and perform real-time response and risk management.
[0080] Example 1
[0081] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0082] Conventional project management systems were inadequate for efficiently collecting and analyzing data from the various document creation devices, code management devices, and communication devices used by project members, and for real-time response and optimal resource allocation. As a result, project progress was hindered, with particular problems being task delays and late detection of risks. Furthermore, delays in sharing information with project members sometimes made it difficult to take appropriate action.
[0083] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0084] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for centralizing the collected data and organizing it by project; means for analyzing the collected data and performing detailed analysis of the progress of each task, member activity levels, and communication content; means for prioritizing each task based on the analysis results, generating an optimal schedule, and notifying the terminal; means for proposing optimal resource allocation based on available personnel, budget, and facilities; means for responding to changes in information during the project in real time, making necessary adjustments, and notifying the terminal of the changes; and means for monitoring project risks, early detection of potential problems, implementing countermeasures, and notifying the terminal. This significantly improves the efficiency of project management and enables early detection of task delays and risks. It also promotes appropriate information sharing and rapid action.
[0085] "Project members" refers to people participating in a project, including people in charge of various tasks and collaborators.
[0086] "Document creation device" includes hardware and software for creating and editing documents, examples of which include word processing software and online document creation tools.
[0087] "Code management device" includes hardware and software for managing and versioning source code, examples of which include repository hosting services and version control systems.
[0088] "Communication devices" include hardware and software for communication between project members, such as messaging apps and video conferencing systems.
[0089] "Data collection" refers to the process of obtaining necessary data in real time from document production, code management, and communication devices.
[0090] "Data centralization" refers to the process of organizing collected data and integrating it for each project.
[0091] "Data analysis" refers to the process of using collected and centralized data to conduct detailed analysis of progress, activity levels, communication content, etc.
[0092] "Task priority setting" refers to the process of evaluating the importance and urgency of each task based on the analysis results and determining the order of execution.
[0093] "Schedule generation" refers to the process of creating an optimal schedule by taking into consideration the set task priorities as well as the deadlines and dependencies of each task.
[0094] "Device notification" refers to the process of notifying project members of the generated schedule and changes to their devices.
[0095] "Resource allocation" refers to the process of assigning appropriate resources to each task, taking into account available personnel, budget, and facilities.
[0096] "Real-time response" refers to the process of responding immediately to changes in information that occur during a project and making any necessary adjustments.
[0097] "Risk monitoring" refers to the process of constantly monitoring project risks and detecting potential problems early.
[0098] "Implementation of countermeasures" refers to the process of promptly taking measures to address any discovered issues and notifying the relevant project members of the details.
[0099] This invention is a system for improving the efficiency of project management, which collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. The following describes the details of the program for this system and an example implementation.
[0100] 1. Data Collection
[0101] The server collects data in real time from various document creation devices (e.g., word processing software such as Google Docs and Microsoft Word), code management devices (repository hosting services such as GitHub and GitLab), and communication devices (messaging apps such as Slack and Microsoft Teams) used by project members.
[0102] As a concrete example, the server inputs the following prompt sentence into the generative AI model:
[0103] "Please use the Google Docs API to get the latest updates on Project A documents."
[0104] "Get a list of open pull requests from repository 'Project B' on GitHub"
[0105] 2. Data Analysis
[0106] The server centralizes the collected data and organizes it by project. It then performs detailed analysis of the progress of each task, member activity, and communication content. Specifically, it analyzes whether a Google Docs document is 80% complete or a GitHub pull request is 40% reviewed.
[0107] As an example of the parsing results, the server produces the following:
[0108] "The Google Docs document 'Proposal_Draft' is 80% complete."
[0109] "GitHub repository 'Project B' has 5 open pull requests, 2 of which are in review."
[0110] 3. Task Scheduling
[0111] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[0112] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0113] "Please increase the priority of task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[0114] 4. Resource Allocation
[0115] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server assigns the task to Engineer B. It also assigns a new task to a member who specializes in creating documentation.
[0116] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0117] "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[0118] 5. Real-time support
[0119] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[0120] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0121] "Engineer A is absent due to illness, so please have Engineer C take over his tasks."
[0122] 6. Risk Management
[0123] The server constantly monitors project risks and detects potential problems early. For example, it can detect the risk of large-scale code changes occurring just before release and mitigate the risk by ensuring additional review time. If a problem is discovered, it quickly implements countermeasures and notifies the device of the details of the countermeasures.
[0124] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0125] "Allow additional review time for large code changes at the last minute of release."
[0126] As described above, the server plays a central role in data collection, analysis, task scheduling, resource allocation, real-time response, and risk management, maximizing the efficiency and effectiveness of project management. Furthermore, the terminals provide project members with the necessary information in a timely manner, helping users take appropriate action.
[0127] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0128] Step 1: Data collection
[0129] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. As input, it obtains data from the APIs of Google Docs, Microsoft Word, GitHub, GitLab, Slack, and Microsoft Teams. From these data sources, the server receives the latest document update information, commit history, pull request status, and message logs as input data. The collected data is centralized and organized so that it can be used in subsequent analysis steps.
[0130] Specific working example:
[0131] The server sends a prompt to the generative AI model saying, "Please use the Google Docs API to get the latest updates on the Project A document."
[0132] The server sends a prompt to the generative AI model: "Get a list of open pull requests from GitHub repository 'Project B'."
[0133] Step 2: Data analysis
[0134] The server centralizes the data collected in step 1 and organizes it by project. The centralized data set is used as input. This centralized data is analyzed to perform detailed analysis of the progress of each task, the activity level of members, and the content of communication. The output is a progress report for each task, member activity report, and a summary of communication.
[0135] Specific working example:
[0136] The server generates the analysis result: "Google Docs document 'Proposal_Draft' is 80% complete."
[0137] The server generates the analysis result: "GitHub repository 'Project B' has five open pull requests, two of which are in review."
[0138] Step 3: Task Scheduling
[0139] The server sets the priority of each task based on the analysis results obtained in step 2 and generates an optimal schedule. The progress, dependencies, and priorities of each task are used as input. Data processing involves sorting the tasks according to importance and urgency, and generating a schedule that takes into account the deadlines and dependencies of each task. Schedule data is generated as output and notified to the terminal.
[0140] Specific working example:
[0141] The server sends a prompt to the generative AI model saying, "Please increase the priority of the task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[0142] Step 4: Resource allocation
[0143] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation taking into account each member's skill set and current workload. Member skill sets, workload, and current resource usage are used as input. The optimal resource allocation is calculated as data processing, and a resource allocation plan is generated as output.
[0144] Specific working example:
[0145] The server sends a prompt to the generative AI model saying, "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[0146] Step 5: Real-time response
[0147] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. Project progress and feedback from members are used as input. Data processing involves reallocation of tasks and adjustment of schedules in real time. Updated schedules and task allocations are sent to terminals as output.
[0148] Specific working example:
[0149] The server sends a prompt to the generative AI model saying, "Engineer A is absent due to illness, so please hand over his tasks to Engineer C."
[0150] Step 6: Risk Management
[0151] The server constantly monitors project risks and detects potential problems early. The current project progress and risk factors are used as input. Risk analysis and evaluation are performed as data processing, and risk countermeasures are planned and notified to the terminal as output.
[0152] Specific working example:
[0153] The server sends a prompt to the generative AI model saying, "Please allow additional review time to accommodate major code changes just before release."
[0154] (Application example 1)
[0155] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0156] With conventional project management systems, project members were unable to efficiently manage task progress or allocate resources, which could have a negative impact on productivity and quality. Furthermore, real-time monitoring of the operating status and error information of industrial machinery within factories was insufficient, making optimal task scheduling and resource allocation difficult. This resulted in reduced operational efficiency and made it difficult to respond quickly to unexpected problems.
[0157] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0158] In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity levels of members, and the content of communication, means for setting task priorities and generating an optimal schedule, means for proposing optimal resource allocation based on available human resources, budgets, and facilities, means for responding to information changes during the project in real time and making necessary adjustments, means for monitoring project risks, early detection of potential problems, and implementation of countermeasures, means for collecting operation status data from industrial machines in real time and analyzing operation status and error information, and means for optimizing task scheduling for industrial machines and efficiently allocating resources. This enables efficient task management and resource allocation in real time for both project members and industrial machines.
[0159] "Project members" are people who participate in a project and are engaged in carrying out various tasks.
[0160] A "document creation device" is hardware or software for creating and editing documents.
[0161] A "code management device" is a device for managing versions of source code and performing collaborative editing.
[0162] A "communication device" is a device that facilitates communication between project members.
[0163] "Means of collection" refers to the means of obtaining the necessary data from various devices and tools.
[0164] "Means for analysis" refers to the means for analyzing collected data and extracting necessary information.
[0165] A "means for generating a schedule" is a means for creating an optimal schedule taking into account task priorities and dependencies.
[0166] The "means for proposing resource allocation" is a means for optimally allocating available resources.
[0167] "Means for responding in real time" refers to means for responding immediately to changes in information during a project.
[0168] "Risk monitoring measures" are measures for monitoring potential risks that arise during the course of a project.
[0169] "Industrial machinery" refers to various automated machinery and equipment used in factories.
[0170] "Operation status data" refers to data such as the operating status of industrial machinery, work progress, and error information.
[0171] The "means for optimizing task scheduling" is a means for optimizing the arrangement of tasks in order to increase the operating efficiency of industrial machines.
[0172] This invention is a project management system and a system for improving the efficiency of task scheduling and resource allocation for industrial machinery. This system uses a server as the central point to collect and analyze data, and proposes optimal scheduling and resource allocation based on the results.
[0173] Specifically, the server uses the following hardware and software:
[0174] Hardware:
[0175] Various devices (document creation devices, code management devices, communication devices)
[0176] Industrial machinery (automated machinery)
[0177] Management computers and servers (e.g., Dell PowerEdge series)
[0178] Smartphones and tablets (e.g. iPhone, iPad)
[0179] software:
[0180] Data collection API (e.g., created using RESTful API)
[0181] Database (e.g. MySQL)
[0182] Data analysis engine (e.g. Apache Spark)
[0183] Front-end applications (e.g. React Native)
[0184] The server first collects real-time data from various devices used by project members. This includes document update information from document creation devices, commit history and pull request status from code management devices, and message logs from communication devices. It also collects operational status data from industrial machines in the factory to monitor their status and obtain error information.
[0185] The server then centralizes the collected data in a MySQL database and runs analysis using Apache Spark. This analysis reveals the progress of each task and the operating efficiency of team members and industrial machines. For example, it can detect that a code review is only 40% complete or that a particular industrial machine is frequently producing errors.
[0186] Based on the analysis results, the server sets task priorities and automatically generates a final schedule. This ensures optimal resource allocation for project members and industrial machinery, resulting in highly efficient operation. This schedule is then communicated to project members and factory managers via management computers, smartphones, and tablets.
[0187] In terms of real-time response, the server responds immediately to changes in information or unexpected errors during a project. For example, if a member takes sick leave or an industrial machine stops working, adjustments are made so that the task can be handed over to another member or machine. The risk management function allows potential problems that occur during the progress of a project or factory to be detected early and countermeasures to be implemented promptly.
[0188] Consider the following scenario as a concrete example: Project members commit code through GitHub and communicate via Slack while progressing with tasks. The server collects and analyzes this information in real time, generates an optimal task schedule, and notifies members. Similarly, when robots in a factory assemble parts or package products, the server monitors their operating status and ensures efficient scheduling and resource allocation.
[0189] An example of an input prompt for a generative AI model is as follows:
[0190] Apply a project management efficiency system to factory robots and design an application that optimizes robot task scheduling and resource allocation.
[0191] In this way, project management and in-factory task management can be made more efficient, and productivity is expected to improve. The present invention is an important technology for achieving both smooth project progress and efficient in-factory operations.
[0192] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0193] Step 1:
[0194] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. Specifically, the server obtains document update information (e.g., Google Docs), code commit history (e.g., GitHub), and message logs (e.g., Slack) through each device's API. The input is data from each device, and the output is collected data stored on the server.
[0195] Step 2:
[0196] The server centralizes the collected data in a MySQL database, organizing each data item by project. Specifically, new project data is added to the database, and updates are added to existing project data. The input is the data collected in step 1, and the output is the centralized database entries.
[0197] Step 3:
[0198] The server analyzes the collected data using Apache Spark. Specific analysis details include the progress of each task, the activity level of members, and the frequency of communication. For example, it can detect that a document is 80% complete or that a pull request has been reviewed 40%. The input is the centralized data stored in the database, and the output is the analysis results.
[0199] Step 4:
[0200] The server sets task priorities based on the analysis results and generates an optimal schedule. Specifically, it creates a schedule taking into account the importance, urgency, and dependencies of tasks, and notifies each project member. The input is the analysis results, and the output is the generated schedule and its notification.
[0201] Step 5:
[0202] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Specifically, it allocates tasks taking into account each member's skill set and current workload. For example, if Engineer A is busy, it assigns the task to Engineer B. The input is the analysis results and real-time operating status data, and the output is the proposed resource allocation.
[0203] Step 6:
[0204] The server collects operational status data from industrial machines in real time, monitors their status, and acquires error information. Specific operations include monitoring the operational status, work progress, and error occurrence status of the industrial machines. The input is operational status data from the industrial machines, and the output is operational data stored on the server.
[0205] Step 7:
[0206] The server optimizes task schedules based on the operating status and error information of industrial machines. Specifically, it readjusts the task sequence to improve operating efficiency and notifies the administrator of any necessary changes. The input is the operating data and error information of industrial machines, and the output is an optimized task schedule.
[0207] Step 8:
[0208] The server responds to projects and industrial machines in real time. Specifically, if an unexpected error or change in information occurs, it immediately makes adjustments to accommodate the change. For example, if a member takes sick leave or a machine stops working, the task is handed over to another member or machine. The input is real-time information from the project and industrial machines, and the output is the new schedule and task assignments after the response.
[0209] Step 9:
[0210] The server monitors risks for projects and industrial machines and detects potential problems early. Specifically, it continuously monitors the progress of projects and the operation status of industrial machines and predicts the risk of problems occurring. For example, if there is a risk that a large-scale code change will occur just before release, additional review time will be secured. The input is real-time data from projects and industrial machines, and the output is proposed countermeasures for risks.
[0211] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0212] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system in natural language and provide concrete examples.
[0213] Program processing explanation
[0214] 1. Data Collection
[0215] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. For example, it uses APIs from Google Docs and Microsoft Word to obtain the latest document update information, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0216] 2. Data Analysis
[0217] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0218] 3. Task Scheduling
[0219] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0220] 4. Resource Allocation
[0221] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0222] 5. Emotion Recognition by Emotion Engine
[0223] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[0224] 6. Emotional Data Analysis
[0225] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. For example, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[0226] 7. Reallocation of tasks and resources
[0227] The server reallocates tasks and resources as needed based on the emotional data, for example, reducing tasks for members with high stress levels and providing appropriate support to members with high morale.
[0228] 8. Real-time support
[0229] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[0230] 9. Risk Management
[0231] The server constantly monitors project risks and detects potential problems early. For example, if emotional data indicates that members' motivation is declining, it evaluates how this will affect the progress of the project and takes necessary measures.
[0232] Specific examples
[0233] Example: Project in progress scenario
[0234] 1. Data Collection
[0235] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[0236] 2. Data Analysis
[0237] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[0238] 3. Task Scheduling
[0239] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[0240] 4. Resource Allocation
[0241] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[0242] 5. Emotion Recognition by Emotion Engine
[0243] The server analyzes Slack messages and facial expression data obtained from the video conferencing system to detect that Engineer A is feeling stressed.
[0244] 6. Emotional Data Analysis
[0245] Based on the emotional data, the server determines that Engineer A is in a state of high stress and takes appropriate countermeasures.
[0246] 7. Reallocation of tasks and resources
[0247] The server is configured to reduce Engineer A's tasks and hand over some of the tasks to Engineer C.
[0248] 8. Real-time support
[0249] The server monitors the progress of the task, adjusts the schedule as necessary, and sends a message to the device recommending that Engineer A take a break.
[0250] 9. Risk Management
[0251] If many members are feeling stressed, the server will determine that there is a risk to the progress of the project and will propose revising the overall schedule.
[0252] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[0253] The processing flow will be explained below.
[0254] Step 1: Data collection
[0255] The server collects data in real time via APIs from document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0256] Step 2: Data analysis
[0257] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0258] Step 3: Task Scheduling
[0259] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0260] Step 4: Resource allocation
[0261] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise and assigns appropriate tasks. It also optimally allocates equipment and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0262] Step 5: Emotion Recognition with the Emotion Engine
[0263] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[0264] Step 6: Sentiment Data Analysis
[0265] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. Specifically, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[0266] Step 7: Reallocate tasks and resources
[0267] The server reallocates tasks and resources as needed based on the emotional data, for example by reducing tasks for members with high stress levels and adding new tasks to members with high morale.
[0268] Step 8: Real-time support
[0269] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[0270] Step 9: Risk Management
[0271] The server constantly monitors project risks and detects potential problems early. Specifically, if team members' motivation is declining based on emotional data, it evaluates how this will affect the progress of the project and takes necessary measures.
[0272] In this way, the server can manage the entire project efficiently and effectively through each step. The introduction of the emotion engine enables optimal task scheduling and resource allocation that takes into account the emotional state of members, ensuring the success of the project.
[0273] Example 2
[0274] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0275] While conventional project management systems are effective in managing task progress and allocating resources, they are unable to take into account the emotional state of project members, which can lead to reduced work efficiency and increased risk of project failure. Furthermore, they lack the ability to collect and analyze information in real time, making it difficult to respond quickly.
[0276] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity level of members, and the content of communication, and means for recognizing and analyzing the emotions of members in real time and reallocating tasks and resources based on the results. This improves the accuracy of the project progress and resource allocation, and by taking into account the emotional state of members, it is possible to improve work efficiency and the project success rate.
[0277] A "document creation device" is hardware or software that allows users to create, edit, and share documents.
[0278] A "code management device" is hardware or software for managing the version control and change history of software code.
[0279] A "communication device" is hardware or software for exchanging information between project members.
[0280] "Means for collecting data in real time" refers to a mechanism for instantly obtaining the latest data from various devices.
[0281] "Means for analyzing data" refers to algorithms and software that integrate the collected data and evaluate progress, activity levels, and communication content.
[0282] A "means for setting task priorities" is an algorithm or software that determines the order and priority of work based on the urgency and importance of tasks.
[0283] A "means for generating an optimal schedule" is a mechanism for creating an efficient work schedule, taking into account task dependencies and deadlines.
[0284] A "means for proposing resource allocation" is an algorithm or software that optimally allocates resources based on members' skill sets, workload, budget, and equipment.
[0285] "Means for recognizing and analyzing members' emotions" refers to algorithms and software for assessing the emotional state of project members based on data obtained from communication devices and video conferencing systems.
[0286] "Means for reallocating tasks and resources" refers to algorithms or software for appropriately changing the allocation of tasks and resources based on emotion recognition results.
[0287] "Real-time response measures" are mechanisms for responding immediately to changes in information or delays in progress during a project and making the necessary adjustments.
[0288] "Risk monitoring tools" are algorithms or software that constantly monitor potential risks and problems in a project and detect them early.
[0289] "Measures to implement countermeasures" are mechanisms for taking appropriate countermeasures to identified risks or problems.
[0290] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system, including concrete examples.
[0291] System Configuration
[0292] This system uses the following hardware and software:
[0293] Document creation devices: Google Docs, Microsoft Word
[0294] Code management system: GitHub, GitLab
[0295] Communication devices: Slack, Microsoft Teams
[0296] Emotion engine: Natural language processing algorithm, facial expression analysis algorithm
[0297] Data collection
[0298] The server retrieves the latest document update information from the document creation devices used by project members via APIs. For example, it uses the Google Docs API to collect the latest versions of project plans and requirements specifications. Similarly, it retrieves commit history and pull request status from code management devices, and message logs and channel activity from communication devices.
[0299] Data analysis
[0300] The server consolidates the collected data and stores it in a database for each project. Based on the consolidated data, it analyzes the progress of each task, the activity level of members, and the content of communication. For example, it compares document update information obtained from Google Docs to determine the completion level, evaluates the progress of GitHub pull requests, and analyzes Slack messages to identify problem areas in tasks.
[0301] Task Scheduling
[0302] The server assigns a priority to each task based on the results of the data analysis. For example, it assigns a higher priority to urgent tasks and generates an optimal schedule taking into account deadlines and dependencies. This schedule is then sent to the devices of the project members.
[0303] Resource Allocation
[0304] The server checks the skill sets and current workloads of each member and allocates resources appropriately. For example, if Engineer A is busy, it assigns the pull request review to Engineer B. It also assigns appropriate tasks to members who specialize in documentation tasks.
[0305] Emotion recognition by emotion engine
[0306] The server uses an emotion engine to analyze messages received from communication devices and facial expression data obtained from video conferencing systems, recognizing members' emotional states in real time. For example, it analyzes the content of Slack messages using a natural language processing algorithm to evaluate the frequency of negative words. Based on facial expression data during video conferencing, it uses an expression analysis algorithm to grasp members' emotional changes.
[0307] Emotional data analysis and countermeasures
[0308] The server uses emotional data to detect stress levels and declining morale among members. For example, if there are a lot of negative messages, it determines that the stress level is high and takes appropriate measures. It reduces tasks for members with high stress levels, and provides appropriate support to members with high morale.
[0309] Real-time response and risk management
[0310] The server responds to changes in project information in real time. For example, if a delay occurs in progress, the schedule is immediately readjusted and members are notified. At the same time, it constantly monitors project risks and detects potential problems early. For example, if multiple members are feeling high stress, it proposes revising the project schedule or adding additional resources.
[0311] Specific examples
[0312] Prompt Sentence Examples
[0313] "How can I stay up to date on project management and optimize resource allocation?"
[0314] "Analyze the emotional state of your team members, assess their stress levels, and suggest necessary measures."
[0315] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[0316] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0317] Step 1:
[0318] Data collection
[0319] The server obtains the latest document update information via the API of the document creation device (e.g., Google Docs, Microsoft Word) used by the project members. The input is metadata from each API, and the output is a list of updated document information. Specifically, it uses the Google Docs API to collect the latest versions of the "project plan" and "requirements specification document."
[0320] Similarly, it retrieves commit history and pull request status from code management devices (e.g., GitHub, GitLab). The input is the repository's commit log and pull request information, and the output is a list of the latest commit history and pull request status. Specifically, it uses the GitHub API to retrieve the progress of each feature in the project.
[0321] Finally, it collects message logs and channel activity from communication devices (e.g., Slack, Microsoft Teams). The input is message data from each communication platform, and the output is a list of message logs. Specifically, it collects messages that focus on specific discussions or questions via the Slack API.
[0322] Step 2:
[0323] Data Integration
[0324] The server integrates the collected document update information, commit history, pull request status, and message log into a database. The input is all the data collected in the previous steps, and the output is an integrated dataset. Specifically, the data formats are unified and stored in a database for each project.
[0325] Step 3:
[0326] Data analysis
[0327] The server analyzes the progress of each task, member activity, and communication content based on the integrated data. The input is the integrated dataset, and the output is a progress report for each task, a member activity report, and communication analysis results. Specific operations include, for example, comparing document update information obtained from Google Docs to determine the document's completeness. It also evaluates the progress of pull requests from GitHub and analyzes Slack message logs to identify tasks with concentrated issues.
[0328] Step 4:
[0329] Task Priority Setting
[0330] The server sets the priority of each task based on the analysis results. The input is progress reports and communication analysis results, and the output is a prioritized task list. Specifically, it assigns higher priority to tasks with higher urgency, and determines the priority taking into account the planned release date and dependencies.
[0331] Step 5:
[0332] Schedule Generation
[0333] The server generates an optimal schedule by taking into account the priority and dependencies of each task. The input is a prioritized task list, and the output is a schedule table for the entire project. Specifically, it estimates the amount of work time required for each task and automatically generates a schedule that can be assigned to project members.
[0334] Step 6:
[0335] Resource Allocation
[0336] The server allocates resources by checking the skill sets and current workloads of each member. The input is member profile data and current workload data, and the output is an optimal resource allocation list. Specifically, it allocates tasks to each member and adjusts them to avoid excessive load. For example, if Engineer A is busy, Engineer B is assigned to review the pull request.
[0337] Step 7:
[0338] Emotion Recognition Using an Emotion Engine
[0339] The server uses an emotion engine to analyze messages and facial expression data received from communication devices and video conferencing systems, recognizing the emotional state of members in real time. The input is message data and facial expression data, and the output is an emotional state report. Specifically, it uses a natural language processing algorithm to analyze the content of messages and determine whether they tend to be positive or negative. It also uses a facial expression analysis algorithm to identify emotions from the facial expressions of members during video conferences.
[0340] Step 8:
[0341] Emotional data analysis and countermeasures
[0342] The server detects members' stress levels and declining morale based on emotional data. The input is an emotional state report, and the output is a list of countermeasures. Specifically, if there are many negative messages, it determines that the stress level is high and takes countermeasures such as reducing the tasks of stressed members.
[0343] Step 9:
[0344] Real-time support
[0345] The server responds to changes in information in real time and notifies project members. The input is real-time project data, and the output is an updated task schedule and resource allocation table. Specifically, it constantly monitors the progress of tasks, and if a delay occurs, it immediately readjusts the schedule and notifies members.
[0346] Step 10:
[0347] Risk Management
[0348] The server constantly monitors project risks and detects potential problems early. The input is overall project data and sentiment data, and the output is a risk report and proposed countermeasures. Specific actions include, for example, suggesting schedule revisions or the allocation of additional resources if a member's stress level is high.
[0349] Through these steps, this system can simultaneously improve project management efficiency and member well-being.
[0350] (Application example 2)
[0351] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0352] Traditional project management systems focus on managing task progress and resource allocation, but fail to take into account the emotional state of team members. This often leads to performance declines due to stress and communication problems, resulting in project delays. Furthermore, insufficient real-time data collection and analysis make it difficult to respond quickly. Furthermore, the complex coordination between workers and robots on factory production lines necessitates efficient project management.
[0353] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0354] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for analyzing the collected data and analyzing the progress of each task, member activity levels, and communication content; means for setting task priorities and generating an optimal schedule; means for proposing optimal resource allocation based on available human resources, budget, and facilities; means for responding to information changes during the project in real time and making necessary adjustments; means for monitoring project risks, early detection of potential problems, and implementation of countermeasures; means for recognizing and analyzing the emotional states of members in real time using an emotion engine; and means for detecting member stress levels and declining morale based on emotion data and taking appropriate measures. This enables efficient project management that takes into account the emotional states of team members.
[0355] The system also optimizes collaboration between workers and robots, improving factory production efficiency. Real-time data collection and analysis enables quick responses and smoother project progress.
[0356] "Project members" refers to individual members or groups participating in a project, including those responsible for various tasks and communications.
[0357] "Document creation equipment" refers to the equipment and software used by project members to create, edit, and save documents.
[0358] A "code management system" is a system for version control of source code, which tracks the history of code changes and enables multiple developers to work together.
[0359] "Communication devices" refer to devices and platforms that allow project members to communicate, providing the means for messaging, calling, video conferencing, etc.
[0360] "Means of collecting data in real time" refers to the function of constantly obtaining the latest data from various devices and systems and sending it to a server in real time.
[0361] "Means of analyzing data" refers to the process of integrating collected data and analyzing the information based on certain algorithms or analytical methods.
[0362] "Means for setting task priorities" refers to a function for determining the processing order based on the importance and urgency of tasks.
[0363] "Means for proposing resource allocation" refers to the function of optimally combining available resources (human resources, budget, facilities, etc.) and proposing allocation methods to maximize project efficiency.
[0364] "Means of responding to changes in information in real time" refers to the ability to quickly respond to changes in the situation that occur during the project and update the overall plan and resource allocation.
[0365] "Measures for monitoring risks" refers to the function of constantly monitoring potential risks in a project and taking preventive measures before problems occur.
[0366] "Emotion engine" refers to algorithms and systems for analyzing the emotional state of individual members, and includes technology for recognizing emotions from messages and facial expression data.
[0367] "Means of taking appropriate action based on emotional data" refers to the function of taking appropriate measures regarding members' stress and motivation based on collected and analyzed emotional data.
[0368] To implement this invention, several important means that constitute a project management system are necessary. Details of each means and specific examples will be explained below.
[0369] First, the server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. This involves document creation software (e.g., word processing software and spreadsheet software), code management tools (e.g., version control systems), and communication platforms (e.g., messaging services and video conferencing services). These devices communicate with the server via APIs and send the necessary data.
[0370] The server then analyzes the collected data, analyzing the progress of each task, the activity levels of members, and the content of communication. Data analysis tools such as Python and R are used for the data analysis. Task priorities are set based on the analysis results, and an optimal schedule is generated. The schedule is generated using analytical algorithms and scheduling software.
[0371] The server also proposes optimal resource allocation based on available personnel, budget, and equipment. This is done using resource management software to efficiently allocate resources by taking into account each member's skill set, available time, project budget, and required equipment.
[0372] To respond to changes in information during a project in real time and make necessary adjustments, the server constantly monitors data updates and reconfigures tasks and schedules as needed, using real-time data processing technology and a notification system.
[0373] To monitor project risks and detect potential problems early, the server continuously analyzes data and detects signs of risk. If a problem occurs, it notifies the project manager and suggests countermeasures.
[0374] Furthermore, an emotion engine is used to recognize and analyze members' emotional states in real time. For example, the content of messages is collected from communication platforms, and an emotion analysis algorithm is used to identify stress levels and declining morale. Based on this emotional data, the system detects members' stress levels and declining morale and takes appropriate measures. Specifically, it reduces the tasks of highly stressed members, and if support is needed, it assigns other members to help.
[0375] Specific examples
[0376] For example, if this system is used on a factory production line, it will collect real-time information on worker status and production progress from the HMI and sensors, and obtain performance data from the robots. It also collects message logs and activity data from communication devices. The server integrates this data and evaluates the progress and activity of the robots.
[0377] Below are some example prompts to input to a generative AI model:
[0378] "It collects the latest data on the production progress within the factory and monitors the working status of workers and robots in real time. It provides optimal task scheduling and resource allocation based on the progress and emotion data of each task."
[0379] This system will optimize the performance of the entire team, improving the working environment and increasing production efficiency.
[0380] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0381] Step 1:
[0382] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. It obtains document update information from document creation devices, commit history and pull request status from code management devices, and message logs and channel activity from communication devices. This allows it to collect data to grasp the latest status of each task.
[0383] Input: Real-time data from document creation devices, code management devices, and communication devices
[0384] Output: Store the latest data in the project database
[0385] Step 2:
[0386] The server consolidates the collected data and stores it in a database for each project. To do this, data analysis tools such as Python and R are used to clean and consolidate the data. Task progress, member activity, and communication content are analyzed to determine the completeness of documents and the progress of pull requests.
[0387] Input: Various collected data
[0388] Output: Organized project data
[0389] Step 3:
[0390] The server evaluates the progress and priority of each task based on a database for each project. It sets task priorities based on urgency and importance, and uses scheduling software to generate an optimal schedule. This schedule is then sent to each member's device.
[0391] Input: Organized project data
[0392] Output: Task priorities and the generated schedule
[0393] Step 4:
[0394] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Using resource management software, it takes into account the skill sets of members, current workload, project budget, and facility status to optimally allocate resources.
[0395] Inputs: member skill sets, workload, budget, equipment
[0396] Output: Optimal resource allocation plan
[0397] Step 5:
[0398] Respond to changes in information and new data collection during the project in real time and make necessary adjustments. Use real-time data processing technology to constantly monitor data updates and reschedule tasks. Use a notification system to notify members of changes as needed.
[0399] Input: Data collected in real time
[0400] Output: Adjusted tasks and schedules
[0401] Step 6:
[0402] The server constantly monitors project risks and detects potential problems early. It continuously analyzes data and, if it detects signs of risk, it sends an alert to the project manager and suggests countermeasures.
[0403] Input: Data that is continuously collected and analyzed
[0404] Output: Risk alerts and countermeasures
[0405] Step 7:
[0406] Using an emotion engine, the system analyzes the emotional state of members in real time based on data obtained from communication devices and sensors. Using an emotion analysis algorithm, it evaluates the stress levels and morale of members and stores the results in a database.
[0407] Input: Emotion data obtained from communication devices and sensors
[0408] Output: Parsed emotional state
[0409] Step 8:
[0410] The server uses emotional data to detect stress levels and low morale among team members and responds appropriately, such as by reducing tasks for stressed team members and assigning other members to support them if they need it. This maintains team members' well-being and optimizes overall performance.
[0411] Input: Parsed emotional state data
[0412] Output: Adjusted tasks and resource allocation proposals
[0413] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0414] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0415] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0416] [Second embodiment]
[0417] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0418] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0419] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0420] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0421] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0422] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0423] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0424] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0425] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0426] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0427] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0428] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0429] This invention is a system for improving the efficiency of project management. It collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. Below, the program processing of this system is explained in natural language, with concrete examples.
[0430] Program processing explanation
[0431] 1. Data Collection
[0432] The server collects real-time data from various document creation devices, code management devices, and communication devices used by project members. For example, the server obtains the latest document update information using APIs such as Google Docs and Microsoft Word, obtains commit history and pull request status from code management devices such as GitHub and GitLab, and obtains message logs and channel activity from messaging tools such as Slack and Microsoft Teams.
[0433] 2. Data Analysis
[0434] The server centralizes the collected data and organizes it by project, analyzing the progress of each task, the activity level of each member, and the content of communication in detail. For example, it can detect when a document in Google Docs is 80% complete or when a pull request in GitHub is 40% reviewed.
[0435] 3. Task Scheduling
[0436] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[0437] 4. Resource Allocation
[0438] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server can assign the task to Engineer B. It can also assign a new task to a member who specializes in creating documentation.
[0439] 5. Real-time support
[0440] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[0441] 6. Risk Management
[0442] The server constantly monitors project risks and detects potential problems early. For example, if there is a risk that a large-scale code change will occur just before release, the server reduces the risk by ensuring additional review time. If a problem is discovered, it promptly implements countermeasures and notifies the device of the details of the countermeasures.
[0443] Specific examples
[0444] Example: Project in progress scenario
[0445] 1. Data Collection
[0446] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[0447] 2. Data Analysis
[0448] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[0449] 3. Task Scheduling
[0450] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[0451] 4. Resource Allocation
[0452] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[0453] 5. Real-time support
[0454] The server monitors the progress of the task and if Engineer A is absent due to illness, it immediately instructs Engineer C to take over the task.
[0455] 6. Risk Management
[0456] The server detects when there is a risk of large code changes occurring just before release and reduces the risk by allowing additional review time upfront.
[0457] Combining these functions maximizes the efficiency and effectiveness of project management. The server is at the center of the system, constantly monitoring and managing the project status in real time, optimizing task scheduling and resource allocation. The terminal also receives necessary information in a timely manner, helping users take appropriate action.
[0458] The processing flow will be explained below.
[0459] Step 1: Data collection
[0460] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0461] Step 2: Data analysis
[0462] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0463] Step 3: Task Scheduling
[0464] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0465] Step 4: Resource allocation
[0466] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0467] Step 5: Real-time response
[0468] The server responds in real time to changes in information that occur during the project. Specifically, if a member takes sick leave or a task is delayed, the server immediately reschedules the project and notifies the device of the changes. The server also reviews the schedule based on the progress of the task and sends appropriate notifications.
[0469] Step 6: Risk Management
[0470] The server constantly monitors project risks and detects potential problems early. Specifically, it analyzes the progress data of each task and identifies tasks that may cause delays or bottlenecks. If a problem is detected, it proposes measures to mitigate the risk and notifies the device of the details.
[0471] In this way, the server can manage the entire project efficiently and effectively through each step. By aggregating and analyzing data from each connected device, it can achieve optimal task scheduling and resource allocation, and perform real-time response and risk management.
[0472] Example 1
[0473] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0474] Conventional project management systems were inadequate for efficiently collecting and analyzing data from the various document creation devices, code management devices, and communication devices used by project members, and for real-time response and optimal resource allocation. As a result, project progress was hindered, with particular problems being task delays and late detection of risks. Furthermore, delays in sharing information with project members sometimes made it difficult to take appropriate action.
[0475] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0476] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for centralizing the collected data and organizing it by project; means for analyzing the collected data and performing detailed analysis of the progress of each task, member activity levels, and communication content; means for prioritizing each task based on the analysis results, generating an optimal schedule, and notifying the terminal; means for proposing optimal resource allocation based on available personnel, budget, and facilities; means for responding to changes in information during the project in real time, making necessary adjustments, and notifying the terminal of the changes; and means for monitoring project risks, early detection of potential problems, implementing countermeasures, and notifying the terminal. This significantly improves the efficiency of project management and enables early detection of task delays and risks. It also promotes appropriate information sharing and rapid action.
[0477] "Project members" refers to people participating in a project, including people in charge of various tasks and collaborators.
[0478] "Document creation device" includes hardware and software for creating and editing documents, examples of which include word processing software and online document creation tools.
[0479] "Code management device" includes hardware and software for managing and versioning source code, examples of which include repository hosting services and version control systems.
[0480] "Communication devices" include hardware and software for communication between project members, such as messaging apps and video conferencing systems.
[0481] "Data collection" refers to the process of obtaining necessary data in real time from document production, code management, and communication devices.
[0482] "Data centralization" refers to the process of organizing collected data and integrating it for each project.
[0483] "Data analysis" refers to the process of using collected and centralized data to conduct detailed analysis of progress, activity levels, communication content, etc.
[0484] "Task priority setting" refers to the process of evaluating the importance and urgency of each task based on the analysis results and determining the order of execution.
[0485] "Schedule generation" refers to the process of creating an optimal schedule by taking into consideration the set task priorities as well as the deadlines and dependencies of each task.
[0486] "Device notification" refers to the process of notifying project members of the generated schedule and changes to their devices.
[0487] "Resource allocation" refers to the process of assigning appropriate resources to each task, taking into account available personnel, budget, and facilities.
[0488] "Real-time response" refers to the process of responding immediately to changes in information that occur during a project and making any necessary adjustments.
[0489] "Risk monitoring" refers to the process of constantly monitoring project risks and detecting potential problems early.
[0490] "Implementation of countermeasures" refers to the process of promptly taking measures to address any discovered issues and notifying the relevant project members of the details.
[0491] This invention is a system for improving the efficiency of project management, which collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. The following describes the details of the program for this system and an example implementation.
[0492] 1. Data Collection
[0493] The server collects data in real time from various document creation devices (e.g., word processing software such as Google Docs and Microsoft Word), code management devices (repository hosting services such as GitHub and GitLab), and communication devices (messaging apps such as Slack and Microsoft Teams) used by project members.
[0494] As a concrete example, the server inputs the following prompt sentence into the generative AI model:
[0495] "Please use the Google Docs API to get the latest updates on Project A documents."
[0496] "Get a list of open pull requests from repository 'Project B' on GitHub"
[0497] 2. Data Analysis
[0498] The server centralizes the collected data and organizes it by project. It then performs detailed analysis of the progress of each task, member activity, and communication content. Specifically, it analyzes whether a Google Docs document is 80% complete or a GitHub pull request is 40% reviewed.
[0499] As an example of the parsing results, the server produces the following:
[0500] "The Google Docs document 'Proposal_Draft' is 80% complete."
[0501] "GitHub repository 'Project B' has 5 open pull requests, 2 of which are in review."
[0502] 3. Task Scheduling
[0503] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[0504] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0505] "Please increase the priority of task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[0506] 4. Resource Allocation
[0507] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server assigns the task to Engineer B. It also assigns a new task to a member who specializes in creating documentation.
[0508] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0509] "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[0510] 5. Real-time support
[0511] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[0512] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0513] "Engineer A is absent due to illness, so please have Engineer C take over his tasks."
[0514] 6. Risk Management
[0515] The server constantly monitors project risks and detects potential problems early. For example, it can detect the risk of large-scale code changes occurring just before release and mitigate the risk by ensuring additional review time. If a problem is discovered, it quickly implements countermeasures and notifies the device of the details of the countermeasures.
[0516] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0517] "Allow additional review time for large code changes at the last minute of release."
[0518] As described above, the server plays a central role in data collection, analysis, task scheduling, resource allocation, real-time response, and risk management, maximizing the efficiency and effectiveness of project management. Furthermore, the terminals provide project members with the necessary information in a timely manner, helping users take appropriate action.
[0519] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0520] Step 1: Data collection
[0521] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. As input, it obtains data from the APIs of Google Docs, Microsoft Word, GitHub, GitLab, Slack, and Microsoft Teams. From these data sources, the server receives the latest document update information, commit history, pull request status, and message logs as input data. The collected data is centralized and organized so that it can be used in subsequent analysis steps.
[0522] Specific working example:
[0523] The server sends a prompt to the generative AI model saying, "Please use the Google Docs API to get the latest updates on the Project A document."
[0524] The server sends a prompt to the generative AI model: "Get a list of open pull requests from GitHub repository 'Project B'."
[0525] Step 2: Data analysis
[0526] The server centralizes the data collected in step 1 and organizes it by project. The centralized data set is used as input. This centralized data is analyzed to perform detailed analysis of the progress of each task, the activity level of members, and the content of communication. The output is a progress report for each task, member activity report, and a summary of communication.
[0527] Specific working example:
[0528] The server generates the analysis result: "Google Docs document 'Proposal_Draft' is 80% complete."
[0529] The server generates the analysis result: "GitHub repository 'Project B' has five open pull requests, two of which are in review."
[0530] Step 3: Task Scheduling
[0531] The server sets the priority of each task based on the analysis results obtained in step 2 and generates an optimal schedule. The progress, dependencies, and priorities of each task are used as input. Data processing involves sorting the tasks according to importance and urgency, and generating a schedule that takes into account the deadlines and dependencies of each task. Schedule data is generated as output and notified to the terminal.
[0532] Specific working example:
[0533] The server sends a prompt to the generative AI model saying, "Please increase the priority of the task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[0534] Step 4: Resource allocation
[0535] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation taking into account each member's skill set and current workload. Member skill sets, workload, and current resource usage are used as input. The optimal resource allocation is calculated as data processing, and a resource allocation plan is generated as output.
[0536] Specific working example:
[0537] The server sends a prompt to the generative AI model saying, "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[0538] Step 5: Real-time response
[0539] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. Project progress and feedback from members are used as input. Data processing involves reallocation of tasks and adjustment of schedules in real time. Updated schedules and task allocations are sent to terminals as output.
[0540] Specific working example:
[0541] The server sends a prompt to the generative AI model saying, "Engineer A is absent due to illness, so please hand over his tasks to Engineer C."
[0542] Step 6: Risk Management
[0543] The server constantly monitors project risks and detects potential problems early. The current project progress and risk factors are used as input. Risk analysis and evaluation are performed as data processing, and risk countermeasures are planned and notified to the terminal as output.
[0544] Specific working example:
[0545] The server sends a prompt to the generative AI model saying, "Please allow additional review time to accommodate major code changes just before release."
[0546] (Application example 1)
[0547] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0548] With conventional project management systems, project members were unable to efficiently manage task progress or allocate resources, which could have a negative impact on productivity and quality. Furthermore, real-time monitoring of the operating status and error information of industrial machinery within factories was insufficient, making optimal task scheduling and resource allocation difficult. This resulted in reduced operational efficiency and made it difficult to respond quickly to unexpected problems.
[0549] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0550] In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity levels of members, and the content of communication, means for setting task priorities and generating an optimal schedule, means for proposing optimal resource allocation based on available human resources, budgets, and facilities, means for responding to information changes during the project in real time and making necessary adjustments, means for monitoring project risks, early detection of potential problems, and implementation of countermeasures, means for collecting operation status data from industrial machines in real time and analyzing operation status and error information, and means for optimizing task scheduling for industrial machines and efficiently allocating resources. This enables efficient task management and resource allocation in real time for both project members and industrial machines.
[0551] "Project members" are people who participate in a project and are engaged in carrying out various tasks.
[0552] A "document creation device" is hardware or software for creating and editing documents.
[0553] A "code management device" is a device for managing versions of source code and performing collaborative editing.
[0554] A "communication device" is a device that facilitates communication between project members.
[0555] "Means of collection" refers to the means of obtaining the necessary data from various devices and tools.
[0556] "Means for analysis" refers to the means for analyzing collected data and extracting necessary information.
[0557] A "means for generating a schedule" is a means for creating an optimal schedule taking into account task priorities and dependencies.
[0558] The "means for proposing resource allocation" is a means for optimally allocating available resources.
[0559] "Means for responding in real time" refers to means for responding immediately to changes in information during a project.
[0560] "Risk monitoring measures" are measures for monitoring potential risks that arise during the course of a project.
[0561] "Industrial machinery" refers to various automated machinery and equipment used in factories.
[0562] "Operation status data" refers to data such as the operating status of industrial machinery, work progress, and error information.
[0563] The "means for optimizing task scheduling" is a means for optimizing the arrangement of tasks in order to increase the operating efficiency of industrial machines.
[0564] This invention is a project management system and a system for improving the efficiency of task scheduling and resource allocation for industrial machinery. This system uses a server as the central point to collect and analyze data, and proposes optimal scheduling and resource allocation based on the results.
[0565] Specifically, the server uses the following hardware and software:
[0566] Hardware:
[0567] Various devices (document creation devices, code management devices, communication devices)
[0568] Industrial machinery (automated machinery)
[0569] Management computers and servers (e.g., Dell PowerEdge series)
[0570] Smartphones and tablets (e.g. iPhone, iPad)
[0571] software:
[0572] Data collection API (e.g., created using RESTful API)
[0573] Database (e.g. MySQL)
[0574] Data analysis engine (e.g. Apache Spark)
[0575] Front-end applications (e.g. React Native)
[0576] The server first collects real-time data from various devices used by project members. This includes document update information from document creation devices, commit history and pull request status from code management devices, and message logs from communication devices. It also collects operational status data from industrial machines in the factory to monitor their status and obtain error information.
[0577] The server then centralizes the collected data in a MySQL database and runs analysis using Apache Spark. This analysis reveals the progress of each task and the operating efficiency of team members and industrial machines. For example, it can detect that a code review is only 40% complete or that a particular industrial machine is frequently producing errors.
[0578] Based on the analysis results, the server sets task priorities and automatically generates a final schedule. This ensures optimal resource allocation for project members and industrial machinery, resulting in highly efficient operation. This schedule is then communicated to project members and factory managers via management computers, smartphones, and tablets.
[0579] In terms of real-time response, the server responds immediately to changes in information or unexpected errors during a project. For example, if a member takes sick leave or an industrial machine stops working, adjustments are made so that the task can be handed over to another member or machine. The risk management function allows potential problems that occur during the progress of a project or factory to be detected early and countermeasures to be implemented promptly.
[0580] Consider the following scenario as a concrete example: Project members commit code through GitHub and communicate via Slack while progressing with tasks. The server collects and analyzes this information in real time, generates an optimal task schedule, and notifies members. Similarly, when robots in a factory assemble parts or package products, the server monitors their operating status and ensures efficient scheduling and resource allocation.
[0581] An example of an input prompt for a generative AI model is as follows:
[0582] Apply a project management efficiency system to factory robots and design an application that optimizes robot task scheduling and resource allocation.
[0583] In this way, project management and in-factory task management can be made more efficient, and productivity is expected to improve. The present invention is an important technology for achieving both smooth project progress and efficient in-factory operations.
[0584] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0585] Step 1:
[0586] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. Specifically, the server obtains document update information (e.g., Google Docs), code commit history (e.g., GitHub), and message logs (e.g., Slack) through each device's API. The input is data from each device, and the output is collected data stored on the server.
[0587] Step 2:
[0588] The server centralizes the collected data in a MySQL database, organizing each data item by project. Specifically, new project data is added to the database, and updates are added to existing project data. The input is the data collected in step 1, and the output is the centralized database entries.
[0589] Step 3:
[0590] The server analyzes the collected data using Apache Spark. Specific analysis details include the progress of each task, the activity level of members, and the frequency of communication. For example, it can detect that a document is 80% complete or that a pull request has been reviewed 40%. The input is the centralized data stored in the database, and the output is the analysis results.
[0591] Step 4:
[0592] The server sets task priorities based on the analysis results and generates an optimal schedule. Specifically, it creates a schedule taking into account the importance, urgency, and dependencies of tasks, and notifies each project member. The input is the analysis results, and the output is the generated schedule and its notification.
[0593] Step 5:
[0594] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Specifically, it allocates tasks taking into account each member's skill set and current workload. For example, if Engineer A is busy, it assigns the task to Engineer B. The input is the analysis results and real-time operating status data, and the output is the proposed resource allocation.
[0595] Step 6:
[0596] The server collects operational status data from industrial machines in real time, monitors their status, and acquires error information. Specific operations include monitoring the operational status, work progress, and error occurrence status of the industrial machines. The input is operational status data from the industrial machines, and the output is operational data stored on the server.
[0597] Step 7:
[0598] The server optimizes task schedules based on the operating status and error information of industrial machines. Specifically, it readjusts the task sequence to improve operating efficiency and notifies the administrator of any necessary changes. The input is the operating data and error information of industrial machines, and the output is an optimized task schedule.
[0599] Step 8:
[0600] The server responds to projects and industrial machines in real time. Specifically, if an unexpected error or change in information occurs, it immediately makes adjustments to accommodate the change. For example, if a member takes sick leave or a machine stops working, the task is handed over to another member or machine. The input is real-time information from the project and industrial machines, and the output is the new schedule and task assignments after the response.
[0601] Step 9:
[0602] The server monitors risks for projects and industrial machines and detects potential problems early. Specifically, it continuously monitors the progress of projects and the operation status of industrial machines and predicts the risk of problems occurring. For example, if there is a risk that a large-scale code change will occur just before release, additional review time will be secured. The input is real-time data from projects and industrial machines, and the output is proposed countermeasures for risks.
[0603] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0604] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system in natural language and provide concrete examples.
[0605] Program processing explanation
[0606] 1. Data Collection
[0607] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. For example, it uses APIs from Google Docs and Microsoft Word to obtain the latest document update information, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0608] 2. Data Analysis
[0609] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0610] 3. Task Scheduling
[0611] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0612] 4. Resource Allocation
[0613] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0614] 5. Emotion Recognition by Emotion Engine
[0615] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[0616] 6. Emotional Data Analysis
[0617] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. For example, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[0618] 7. Reallocation of tasks and resources
[0619] The server reallocates tasks and resources as needed based on the emotional data, for example, reducing tasks for members with high stress levels and providing appropriate support to members with high morale.
[0620] 8. Real-time support
[0621] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[0622] 9. Risk Management
[0623] The server constantly monitors project risks and detects potential problems early. For example, if emotional data indicates that members' motivation is declining, it evaluates how this will affect the progress of the project and takes necessary measures.
[0624] Specific examples
[0625] Example: Project in progress scenario
[0626] 1. Data Collection
[0627] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[0628] 2. Data Analysis
[0629] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[0630] 3. Task Scheduling
[0631] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[0632] 4. Resource Allocation
[0633] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[0634] 5. Emotion Recognition by Emotion Engine
[0635] The server analyzes Slack messages and facial expression data obtained from the video conferencing system to detect that Engineer A is feeling stressed.
[0636] 6. Emotional Data Analysis
[0637] Based on the emotional data, the server determines that Engineer A is in a state of high stress and takes appropriate countermeasures.
[0638] 7. Reallocation of tasks and resources
[0639] The server is configured to reduce Engineer A's tasks and hand over some of the tasks to Engineer C.
[0640] 8. Real-time support
[0641] The server monitors the progress of the task, adjusts the schedule as necessary, and sends a message to the device recommending that Engineer A take a break.
[0642] 9. Risk Management
[0643] If many members are feeling stressed, the server will determine that there is a risk to the progress of the project and will propose revising the overall schedule.
[0644] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[0645] The processing flow will be explained below.
[0646] Step 1: Data collection
[0647] The server collects data in real time via APIs from document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0648] Step 2: Data analysis
[0649] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0650] Step 3: Task Scheduling
[0651] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0652] Step 4: Resource allocation
[0653] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise and assigns appropriate tasks. It also optimally allocates equipment and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0654] Step 5: Emotion Recognition with the Emotion Engine
[0655] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[0656] Step 6: Sentiment Data Analysis
[0657] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. Specifically, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[0658] Step 7: Reallocate tasks and resources
[0659] The server reallocates tasks and resources as needed based on the emotional data, for example by reducing tasks for members with high stress levels and adding new tasks to members with high morale.
[0660] Step 8: Real-time support
[0661] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[0662] Step 9: Risk Management
[0663] The server constantly monitors project risks and detects potential problems early. Specifically, if team members' motivation is declining based on emotional data, it evaluates how this will affect the progress of the project and takes necessary measures.
[0664] In this way, the server can manage the entire project efficiently and effectively through each step. The introduction of the emotion engine enables optimal task scheduling and resource allocation that takes into account the emotional state of members, ensuring the success of the project.
[0665] Example 2
[0666] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0667] While conventional project management systems are effective in managing task progress and allocating resources, they are unable to take into account the emotional state of project members, which can lead to reduced work efficiency and increased risk of project failure. Furthermore, they lack the ability to collect and analyze information in real time, making it difficult to respond quickly.
[0668] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity level of members, and the content of communication, and means for recognizing and analyzing the emotions of members in real time and reallocating tasks and resources based on the results. This improves the accuracy of the project progress and resource allocation, and by taking into account the emotional state of members, it is possible to improve work efficiency and the project success rate.
[0669] A "document creation device" is hardware or software that allows users to create, edit, and share documents.
[0670] A "code management device" is hardware or software for managing the version control and change history of software code.
[0671] A "communication device" is hardware or software for exchanging information between project members.
[0672] "Means for collecting data in real time" refers to a mechanism for instantly obtaining the latest data from various devices.
[0673] "Means for analyzing data" refers to algorithms and software that integrate the collected data and evaluate progress, activity levels, and communication content.
[0674] A "means for setting task priorities" is an algorithm or software that determines the order and priority of work based on the urgency and importance of tasks.
[0675] A "means for generating an optimal schedule" is a mechanism for creating an efficient work schedule, taking into account task dependencies and deadlines.
[0676] A "means for proposing resource allocation" is an algorithm or software that optimally allocates resources based on members' skill sets, workload, budget, and equipment.
[0677] "Means for recognizing and analyzing members' emotions" refers to algorithms and software for assessing the emotional state of project members based on data obtained from communication devices and video conferencing systems.
[0678] "Means for reallocating tasks and resources" refers to algorithms or software for appropriately changing the allocation of tasks and resources based on emotion recognition results.
[0679] "Real-time response measures" are mechanisms for responding immediately to changes in information or delays in progress during a project and making the necessary adjustments.
[0680] "Risk monitoring tools" are algorithms or software that constantly monitor potential risks and problems in a project and detect them early.
[0681] "Measures to implement countermeasures" are mechanisms for taking appropriate countermeasures to identified risks or problems.
[0682] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system, including concrete examples.
[0683] System Configuration
[0684] This system uses the following hardware and software:
[0685] Document creation devices: Google Docs, Microsoft Word
[0686] Code management system: GitHub, GitLab
[0687] Communication devices: Slack, Microsoft Teams
[0688] Emotion engine: Natural language processing algorithm, facial expression analysis algorithm
[0689] Data collection
[0690] The server retrieves the latest document update information from the document creation devices used by project members via APIs. For example, it uses the Google Docs API to collect the latest versions of project plans and requirements specifications. Similarly, it retrieves commit history and pull request status from code management devices, and message logs and channel activity from communication devices.
[0691] Data analysis
[0692] The server consolidates the collected data and stores it in a database for each project. Based on the consolidated data, it analyzes the progress of each task, the activity level of members, and the content of communication. For example, it compares document update information obtained from Google Docs to determine the completion level, evaluates the progress of GitHub pull requests, and analyzes Slack messages to identify problem areas in tasks.
[0693] Task Scheduling
[0694] The server assigns a priority to each task based on the results of the data analysis. For example, it assigns a higher priority to urgent tasks and generates an optimal schedule taking into account deadlines and dependencies. This schedule is then sent to the devices of the project members.
[0695] Resource Allocation
[0696] The server checks the skill sets and current workloads of each member and allocates resources appropriately. For example, if Engineer A is busy, it assigns the pull request review to Engineer B. It also assigns appropriate tasks to members who specialize in documentation tasks.
[0697] Emotion recognition by emotion engine
[0698] The server uses an emotion engine to analyze messages received from communication devices and facial expression data obtained from video conferencing systems, recognizing members' emotional states in real time. For example, it analyzes the content of Slack messages using a natural language processing algorithm to evaluate the frequency of negative words. Based on facial expression data during video conferencing, it uses an expression analysis algorithm to grasp members' emotional changes.
[0699] Emotional data analysis and countermeasures
[0700] The server uses emotional data to detect stress levels and declining morale among members. For example, if there are a lot of negative messages, it determines that the stress level is high and takes appropriate measures. It reduces tasks for members with high stress levels, and provides appropriate support to members with high morale.
[0701] Real-time response and risk management
[0702] The server responds to changes in project information in real time. For example, if a delay occurs in progress, the schedule is immediately readjusted and members are notified. At the same time, it constantly monitors project risks and detects potential problems early. For example, if multiple members are feeling high stress, it proposes revising the project schedule or adding additional resources.
[0703] Specific examples
[0704] Prompt Sentence Examples
[0705] "How can I stay up to date on project management and optimize resource allocation?"
[0706] "Analyze the emotional state of your team members, assess their stress levels, and suggest necessary measures."
[0707] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[0708] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0709] Step 1:
[0710] Data collection
[0711] The server obtains the latest document update information via the API of the document creation device (e.g., Google Docs, Microsoft Word) used by the project members. The input is metadata from each API, and the output is a list of updated document information. Specifically, it uses the Google Docs API to collect the latest versions of the "project plan" and "requirements specification document."
[0712] Similarly, it retrieves commit history and pull request status from code management devices (e.g., GitHub, GitLab). The input is the repository's commit log and pull request information, and the output is a list of the latest commit history and pull request status. Specifically, it uses the GitHub API to retrieve the progress of each feature in the project.
[0713] Finally, it collects message logs and channel activity from communication devices (e.g., Slack, Microsoft Teams). The input is message data from each communication platform, and the output is a list of message logs. Specifically, it collects messages that focus on specific discussions or questions via the Slack API.
[0714] Step 2:
[0715] Data Integration
[0716] The server integrates the collected document update information, commit history, pull request status, and message log into a database. The input is all the data collected in the previous steps, and the output is an integrated dataset. Specifically, the data formats are unified and stored in a database for each project.
[0717] Step 3:
[0718] Data analysis
[0719] The server analyzes the progress of each task, member activity, and communication content based on the integrated data. The input is the integrated dataset, and the output is a progress report for each task, a member activity report, and communication analysis results. Specific operations include, for example, comparing document update information obtained from Google Docs to determine the document's completeness. It also evaluates the progress of pull requests from GitHub and analyzes Slack message logs to identify tasks with concentrated issues.
[0720] Step 4:
[0721] Task Priority Setting
[0722] The server sets the priority of each task based on the analysis results. The input is progress reports and communication analysis results, and the output is a prioritized task list. Specifically, it assigns higher priority to tasks with higher urgency, and determines the priority taking into account the planned release date and dependencies.
[0723] Step 5:
[0724] Schedule Generation
[0725] The server generates an optimal schedule by taking into account the priority and dependencies of each task. The input is a prioritized task list, and the output is a schedule table for the entire project. Specifically, it estimates the amount of work time required for each task and automatically generates a schedule that can be assigned to project members.
[0726] Step 6:
[0727] Resource Allocation
[0728] The server allocates resources by checking the skill sets and current workloads of each member. The input is member profile data and current workload data, and the output is an optimal resource allocation list. Specifically, it allocates tasks to each member and adjusts them to avoid excessive load. For example, if Engineer A is busy, Engineer B is assigned to review the pull request.
[0729] Step 7:
[0730] Emotion Recognition Using an Emotion Engine
[0731] The server uses an emotion engine to analyze messages and facial expression data received from communication devices and video conferencing systems, recognizing the emotional state of members in real time. The input is message data and facial expression data, and the output is an emotional state report. Specifically, it uses a natural language processing algorithm to analyze the content of messages and determine whether they tend to be positive or negative. It also uses a facial expression analysis algorithm to identify emotions from the facial expressions of members during video conferences.
[0732] Step 8:
[0733] Emotional data analysis and countermeasures
[0734] The server detects members' stress levels and declining morale based on emotional data. The input is an emotional state report, and the output is a list of countermeasures. Specifically, if there are many negative messages, it determines that the stress level is high and takes countermeasures such as reducing the tasks of stressed members.
[0735] Step 9:
[0736] Real-time support
[0737] The server responds to changes in information in real time and notifies project members. The input is real-time project data, and the output is an updated task schedule and resource allocation table. Specifically, it constantly monitors the progress of tasks, and if a delay occurs, it immediately readjusts the schedule and notifies members.
[0738] Step 10:
[0739] Risk Management
[0740] The server constantly monitors project risks and detects potential problems early. The input is overall project data and sentiment data, and the output is a risk report and proposed countermeasures. Specific actions include, for example, suggesting schedule revisions or the allocation of additional resources if a member's stress level is high.
[0741] Through these steps, this system can simultaneously improve project management efficiency and member well-being.
[0742] (Application example 2)
[0743] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0744] Traditional project management systems focus on managing task progress and resource allocation, but fail to take into account the emotional state of team members. This often leads to performance declines due to stress and communication problems, resulting in project delays. Furthermore, insufficient real-time data collection and analysis make it difficult to respond quickly. Furthermore, the complex coordination between workers and robots on factory production lines necessitates efficient project management.
[0745] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0746] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for analyzing the collected data and analyzing the progress of each task, member activity levels, and communication content; means for setting task priorities and generating an optimal schedule; means for proposing optimal resource allocation based on available human resources, budget, and facilities; means for responding to information changes during the project in real time and making necessary adjustments; means for monitoring project risks, early detection of potential problems, and implementation of countermeasures; means for recognizing and analyzing the emotional states of members in real time using an emotion engine; and means for detecting member stress levels and declining morale based on emotion data and taking appropriate measures. This enables efficient project management that takes into account the emotional states of team members.
[0747] The system also optimizes collaboration between workers and robots, improving factory production efficiency. Real-time data collection and analysis enables quick responses and smoother project progress.
[0748] "Project members" refers to individual members or groups participating in a project, including those responsible for various tasks and communications.
[0749] "Document creation equipment" refers to the equipment and software used by project members to create, edit, and save documents.
[0750] A "code management system" is a system for version control of source code, which tracks the history of code changes and enables multiple developers to work together.
[0751] "Communication devices" refer to devices and platforms that allow project members to communicate, providing the means for messaging, calling, video conferencing, etc.
[0752] "Means of collecting data in real time" refers to the function of constantly obtaining the latest data from various devices and systems and sending it to a server in real time.
[0753] "Means of analyzing data" refers to the process of integrating collected data and analyzing the information based on certain algorithms or analytical methods.
[0754] "Means for setting task priorities" refers to a function for determining the processing order based on the importance and urgency of tasks.
[0755] "Means for proposing resource allocation" refers to the function of optimally combining available resources (human resources, budget, facilities, etc.) and proposing allocation methods to maximize project efficiency.
[0756] "Means of responding to changes in information in real time" refers to the ability to quickly respond to changes in the situation that occur during the project and update the overall plan and resource allocation.
[0757] "Measures for monitoring risks" refers to the function of constantly monitoring potential risks in a project and taking preventive measures before problems occur.
[0758] "Emotion engine" refers to algorithms and systems for analyzing the emotional state of individual members, and includes technology for recognizing emotions from messages and facial expression data.
[0759] "Means of taking appropriate action based on emotional data" refers to the function of taking appropriate measures regarding members' stress and motivation based on collected and analyzed emotional data.
[0760] To implement this invention, several important means that constitute a project management system are necessary. Details of each means and specific examples will be explained below.
[0761] First, the server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. This involves document creation software (e.g., word processing software and spreadsheet software), code management tools (e.g., version control systems), and communication platforms (e.g., messaging services and video conferencing services). These devices communicate with the server via APIs and send the necessary data.
[0762] The server then analyzes the collected data, analyzing the progress of each task, the activity levels of members, and the content of communication. Data analysis tools such as Python and R are used for the data analysis. Task priorities are set based on the analysis results, and an optimal schedule is generated. The schedule is generated using analytical algorithms and scheduling software.
[0763] The server also proposes optimal resource allocation based on available personnel, budget, and equipment. This is done using resource management software to efficiently allocate resources by taking into account each member's skill set, available time, project budget, and required equipment.
[0764] To respond to changes in information during a project in real time and make necessary adjustments, the server constantly monitors data updates and reconfigures tasks and schedules as needed, using real-time data processing technology and a notification system.
[0765] To monitor project risks and detect potential problems early, the server continuously analyzes data and detects signs of risk. If a problem occurs, it notifies the project manager and suggests countermeasures.
[0766] Furthermore, an emotion engine is used to recognize and analyze members' emotional states in real time. For example, the content of messages is collected from communication platforms, and an emotion analysis algorithm is used to identify stress levels and declining morale. Based on this emotional data, the system detects members' stress levels and declining morale and takes appropriate measures. Specifically, it reduces the tasks of highly stressed members, and if support is needed, it assigns other members to help.
[0767] Specific examples
[0768] For example, if this system is used on a factory production line, it will collect real-time information on worker status and production progress from the HMI and sensors, and obtain performance data from the robots. It also collects message logs and activity data from communication devices. The server integrates this data and evaluates the progress and activity of the robots.
[0769] Below are some example prompts to input to a generative AI model:
[0770] "It collects the latest data on the production progress within the factory and monitors the working status of workers and robots in real time. It provides optimal task scheduling and resource allocation based on the progress and emotion data of each task."
[0771] This system will optimize the performance of the entire team, improving the working environment and increasing production efficiency.
[0772] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0773] Step 1:
[0774] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. It obtains document update information from document creation devices, commit history and pull request status from code management devices, and message logs and channel activity from communication devices. This allows it to collect data to grasp the latest status of each task.
[0775] Input: Real-time data from document creation devices, code management devices, and communication devices
[0776] Output: Store the latest data in the project database
[0777] Step 2:
[0778] The server consolidates the collected data and stores it in a database for each project. To do this, data analysis tools such as Python and R are used to clean and consolidate the data. Task progress, member activity, and communication content are analyzed to determine the completeness of documents and the progress of pull requests.
[0779] Input: Various collected data
[0780] Output: Organized project data
[0781] Step 3:
[0782] The server evaluates the progress and priority of each task based on a database for each project. It sets task priorities based on urgency and importance, and uses scheduling software to generate an optimal schedule. This schedule is then sent to each member's device.
[0783] Input: Organized project data
[0784] Output: Task priorities and the generated schedule
[0785] Step 4:
[0786] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Using resource management software, it takes into account the skill sets of members, current workload, project budget, and facility status to optimally allocate resources.
[0787] Inputs: member skill sets, workload, budget, equipment
[0788] Output: Optimal resource allocation plan
[0789] Step 5:
[0790] Respond to changes in information and new data collection during the project in real time and make necessary adjustments. Use real-time data processing technology to constantly monitor data updates and reschedule tasks. Use a notification system to notify members of changes as needed.
[0791] Input: Data collected in real time
[0792] Output: Adjusted tasks and schedules
[0793] Step 6:
[0794] The server constantly monitors project risks and detects potential problems early. It continuously analyzes data and, if it detects signs of risk, it sends an alert to the project manager and suggests countermeasures.
[0795] Input: Data that is continuously collected and analyzed
[0796] Output: Risk alerts and countermeasures
[0797] Step 7:
[0798] Using an emotion engine, the system analyzes the emotional state of members in real time based on data obtained from communication devices and sensors. Using an emotion analysis algorithm, it evaluates the stress levels and morale of members and stores the results in a database.
[0799] Input: Emotion data obtained from communication devices and sensors
[0800] Output: Parsed emotional state
[0801] Step 8:
[0802] The server uses emotional data to detect stress levels and low morale among team members and responds appropriately, such as by reducing tasks for stressed team members and assigning other members to support them if they need it. This maintains team members' well-being and optimizes overall performance.
[0803] Input: Parsed emotional state data
[0804] Output: Adjusted tasks and resource allocation proposals
[0805] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0806] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0807] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0808] [Third embodiment]
[0809] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0810] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0811] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0812] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0813] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0814] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0815] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0816] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0817] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0818] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0819] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0820] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0821] This invention is a system for improving the efficiency of project management. It collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. Below, the program processing of this system is explained in natural language, with concrete examples.
[0822] Program processing explanation
[0823] 1. Data Collection
[0824] The server collects real-time data from various document creation devices, code management devices, and communication devices used by project members. For example, the server obtains the latest document update information using APIs such as Google Docs and Microsoft Word, obtains commit history and pull request status from code management devices such as GitHub and GitLab, and obtains message logs and channel activity from messaging tools such as Slack and Microsoft Teams.
[0825] 2. Data Analysis
[0826] The server centralizes the collected data and organizes it by project, analyzing the progress of each task, the activity level of each member, and the content of communication in detail. For example, it can detect when a document in Google Docs is 80% complete or when a pull request in GitHub is 40% reviewed.
[0827] 3. Task Scheduling
[0828] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[0829] 4. Resource Allocation
[0830] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server can assign the task to Engineer B. It can also assign a new task to a member who specializes in creating documentation.
[0831] 5. Real-time support
[0832] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[0833] 6. Risk Management
[0834] The server constantly monitors project risks and detects potential problems early. For example, if there is a risk that a large-scale code change will occur just before release, the server reduces the risk by ensuring additional review time. If a problem is discovered, it promptly implements countermeasures and notifies the device of the details of the countermeasures.
[0835] Specific examples
[0836] Example: Project in progress scenario
[0837] 1. Data Collection
[0838] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[0839] 2. Data Analysis
[0840] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[0841] 3. Task Scheduling
[0842] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[0843] 4. Resource Allocation
[0844] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[0845] 5. Real-time support
[0846] The server monitors the progress of the task and if Engineer A is absent due to illness, it immediately instructs Engineer C to take over the task.
[0847] 6. Risk Management
[0848] The server detects when there is a risk of large code changes occurring just before release and reduces the risk by allowing additional review time upfront.
[0849] Combining these functions maximizes the efficiency and effectiveness of project management. The server is at the center of the system, constantly monitoring and managing the project status in real time, optimizing task scheduling and resource allocation. The terminal also receives necessary information in a timely manner, helping users take appropriate action.
[0850] The processing flow will be explained below.
[0851] Step 1: Data collection
[0852] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[0853] Step 2: Data analysis
[0854] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[0855] Step 3: Task Scheduling
[0856] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[0857] Step 4: Resource allocation
[0858] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[0859] Step 5: Real-time response
[0860] The server responds in real time to changes in information that occur during the project. Specifically, if a member takes sick leave or a task is delayed, the server immediately reschedules the project and notifies the device of the changes. The server also reviews the schedule based on the progress of the task and sends appropriate notifications.
[0861] Step 6: Risk Management
[0862] The server constantly monitors project risks and detects potential problems early. Specifically, it analyzes the progress data of each task and identifies tasks that may cause delays or bottlenecks. If a problem is detected, it proposes measures to mitigate the risk and notifies the device of the details.
[0863] In this way, the server can manage the entire project efficiently and effectively through each step. By aggregating and analyzing data from each connected device, it can achieve optimal task scheduling and resource allocation, and perform real-time response and risk management.
[0864] Example 1
[0865] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0866] Conventional project management systems were inadequate for efficiently collecting and analyzing data from the various document creation devices, code management devices, and communication devices used by project members, and for real-time response and optimal resource allocation. As a result, project progress was hindered, with particular problems being task delays and late detection of risks. Furthermore, delays in sharing information with project members sometimes made it difficult to take appropriate action.
[0867] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0868] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for centralizing the collected data and organizing it by project; means for analyzing the collected data and performing detailed analysis of the progress of each task, member activity levels, and communication content; means for prioritizing each task based on the analysis results, generating an optimal schedule, and notifying the terminal; means for proposing optimal resource allocation based on available personnel, budget, and facilities; means for responding to changes in information during the project in real time, making necessary adjustments, and notifying the terminal of the changes; and means for monitoring project risks, early detection of potential problems, implementing countermeasures, and notifying the terminal. This significantly improves the efficiency of project management and enables early detection of task delays and risks. It also promotes appropriate information sharing and rapid action.
[0869] "Project members" refers to people participating in a project, including people in charge of various tasks and collaborators.
[0870] "Document creation device" includes hardware and software for creating and editing documents, examples of which include word processing software and online document creation tools.
[0871] "Code management device" includes hardware and software for managing and versioning source code, examples of which include repository hosting services and version control systems.
[0872] "Communication devices" include hardware and software for communication between project members, such as messaging apps and video conferencing systems.
[0873] "Data collection" refers to the process of obtaining necessary data in real time from document production, code management, and communication devices.
[0874] "Data centralization" refers to the process of organizing collected data and integrating it for each project.
[0875] "Data analysis" refers to the process of using collected and centralized data to conduct detailed analysis of progress, activity levels, communication content, etc.
[0876] "Task priority setting" refers to the process of evaluating the importance and urgency of each task based on the analysis results and determining the order of execution.
[0877] "Schedule generation" refers to the process of creating an optimal schedule by taking into consideration the set task priorities as well as the deadlines and dependencies of each task.
[0878] "Device notification" refers to the process of notifying project members of the generated schedule and changes to their devices.
[0879] "Resource allocation" refers to the process of assigning appropriate resources to each task, taking into account available personnel, budget, and facilities.
[0880] "Real-time response" refers to the process of responding immediately to changes in information that occur during a project and making any necessary adjustments.
[0881] "Risk monitoring" refers to the process of constantly monitoring project risks and detecting potential problems early.
[0882] "Implementation of countermeasures" refers to the process of promptly taking measures to address any discovered issues and notifying the relevant project members of the details.
[0883] This invention is a system for improving the efficiency of project management, which collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. The following describes the details of the program for this system and an example implementation.
[0884] 1. Data Collection
[0885] The server collects data in real time from various document creation devices (e.g., word processing software such as Google Docs and Microsoft Word), code management devices (repository hosting services such as GitHub and GitLab), and communication devices (messaging apps such as Slack and Microsoft Teams) used by project members.
[0886] As a concrete example, the server inputs the following prompt sentence into the generative AI model:
[0887] "Please use the Google Docs API to get the latest updates on Project A documents."
[0888] "Get a list of open pull requests from repository 'Project B' on GitHub"
[0889] 2. Data Analysis
[0890] The server centralizes the collected data and organizes it by project. It then performs detailed analysis of the progress of each task, member activity, and communication content. Specifically, it analyzes whether a Google Docs document is 80% complete or a GitHub pull request is 40% reviewed.
[0891] As an example of the parsing results, the server produces the following:
[0892] "The Google Docs document 'Proposal_Draft' is 80% complete."
[0893] "GitHub repository 'Project B' has 5 open pull requests, 2 of which are in review."
[0894] 3. Task Scheduling
[0895] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[0896] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0897] "Please increase the priority of task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[0898] 4. Resource Allocation
[0899] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server assigns the task to Engineer B. It also assigns a new task to a member who specializes in creating documentation.
[0900] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0901] "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[0902] 5. Real-time support
[0903] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[0904] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0905] "Engineer A is absent due to illness, so please have Engineer C take over his tasks."
[0906] 6. Risk Management
[0907] The server constantly monitors project risks and detects potential problems early. For example, it can detect the risk of large-scale code changes occurring just before release and mitigate the risk by ensuring additional review time. If a problem is discovered, it quickly implements countermeasures and notifies the device of the details of the countermeasures.
[0908] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[0909] "Allow additional review time for large code changes at the last minute of release."
[0910] As described above, the server plays a central role in data collection, analysis, task scheduling, resource allocation, real-time response, and risk management, maximizing the efficiency and effectiveness of project management. Furthermore, the terminals provide project members with the necessary information in a timely manner, helping users take appropriate action.
[0911] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0912] Step 1: Data collection
[0913] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. As input, it obtains data from the APIs of Google Docs, Microsoft Word, GitHub, GitLab, Slack, and Microsoft Teams. From these data sources, the server receives the latest document update information, commit history, pull request status, and message logs as input data. The collected data is centralized and organized so that it can be used in subsequent analysis steps.
[0914] Specific working example:
[0915] The server sends a prompt to the generative AI model saying, "Please use the Google Docs API to get the latest updates on the Project A document."
[0916] The server sends a prompt to the generative AI model: "Get a list of open pull requests from GitHub repository 'Project B'."
[0917] Step 2: Data analysis
[0918] The server centralizes the data collected in step 1 and organizes it by project. The centralized data set is used as input. This centralized data is analyzed to perform detailed analysis of the progress of each task, the activity level of members, and the content of communication. The output is a progress report for each task, member activity report, and a summary of communication.
[0919] Specific working example:
[0920] The server generates the analysis result: "Google Docs document 'Proposal_Draft' is 80% complete."
[0921] The server generates the analysis result: "GitHub repository 'Project B' has five open pull requests, two of which are in review."
[0922] Step 3: Task Scheduling
[0923] The server sets the priority of each task based on the analysis results obtained in step 2 and generates an optimal schedule. The progress, dependencies, and priorities of each task are used as input. Data processing involves sorting the tasks according to importance and urgency, and generating a schedule that takes into account the deadlines and dependencies of each task. Schedule data is generated as output and notified to the terminal.
[0924] Specific working example:
[0925] The server sends a prompt to the generative AI model saying, "Please increase the priority of the task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[0926] Step 4: Resource allocation
[0927] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation taking into account each member's skill set and current workload. Member skill sets, workload, and current resource usage are used as input. The optimal resource allocation is calculated as data processing, and a resource allocation plan is generated as output.
[0928] Specific working example:
[0929] The server sends a prompt to the generative AI model saying, "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[0930] Step 5: Real-time response
[0931] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. Project progress and feedback from members are used as input. Data processing involves reallocation of tasks and adjustment of schedules in real time. Updated schedules and task allocations are sent to terminals as output.
[0932] Specific working example:
[0933] The server sends a prompt to the generative AI model saying, "Engineer A is absent due to illness, so please hand over his tasks to Engineer C."
[0934] Step 6: Risk Management
[0935] The server constantly monitors project risks and detects potential problems early. The current project progress and risk factors are used as input. Risk analysis and evaluation are performed as data processing, and risk countermeasures are planned and notified to the terminal as output.
[0936] Specific working example:
[0937] The server sends a prompt to the generative AI model saying, "Please allow additional review time to accommodate major code changes just before release."
[0938] (Application example 1)
[0939] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0940] With conventional project management systems, project members were unable to efficiently manage task progress or allocate resources, which could have a negative impact on productivity and quality. Furthermore, real-time monitoring of the operating status and error information of industrial machinery within factories was insufficient, making optimal task scheduling and resource allocation difficult. This resulted in reduced operational efficiency and made it difficult to respond quickly to unexpected problems.
[0941] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0942] In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity levels of members, and the content of communication, means for setting task priorities and generating an optimal schedule, means for proposing optimal resource allocation based on available human resources, budgets, and facilities, means for responding to information changes during the project in real time and making necessary adjustments, means for monitoring project risks, early detection of potential problems, and implementation of countermeasures, means for collecting operation status data from industrial machines in real time and analyzing operation status and error information, and means for optimizing task scheduling for industrial machines and efficiently allocating resources. This enables efficient task management and resource allocation in real time for both project members and industrial machines.
[0943] "Project members" are people who participate in a project and are engaged in carrying out various tasks.
[0944] A "document creation device" is hardware or software for creating and editing documents.
[0945] A "code management device" is a device for managing versions of source code and performing collaborative editing.
[0946] A "communication device" is a device that facilitates communication between project members.
[0947] "Means of collection" refers to the means of obtaining the necessary data from various devices and tools.
[0948] "Means for analysis" refers to the means for analyzing collected data and extracting necessary information.
[0949] A "means for generating a schedule" is a means for creating an optimal schedule taking into account task priorities and dependencies.
[0950] The "means for proposing resource allocation" is a means for optimally allocating available resources.
[0951] "Means for responding in real time" refers to means for responding immediately to changes in information during a project.
[0952] "Risk monitoring measures" are measures for monitoring potential risks that arise during the course of a project.
[0953] "Industrial machinery" refers to various automated machinery and equipment used in factories.
[0954] "Operation status data" refers to data such as the operating status of industrial machinery, work progress, and error information.
[0955] The "means for optimizing task scheduling" is a means for optimizing the arrangement of tasks in order to increase the operating efficiency of industrial machines.
[0956] This invention is a project management system and a system for improving the efficiency of task scheduling and resource allocation for industrial machinery. This system uses a server as the central point to collect and analyze data, and proposes optimal scheduling and resource allocation based on the results.
[0957] Specifically, the server uses the following hardware and software:
[0958] Hardware:
[0959] Various devices (document creation devices, code management devices, communication devices)
[0960] Industrial machinery (automated machinery)
[0961] Management computers and servers (e.g., Dell PowerEdge series)
[0962] Smartphones and tablets (e.g. iPhone, iPad)
[0963] software:
[0964] Data collection API (e.g., created using RESTful API)
[0965] Database (e.g. MySQL)
[0966] Data analysis engine (e.g. Apache Spark)
[0967] Front-end applications (e.g. React Native)
[0968] The server first collects real-time data from various devices used by project members. This includes document update information from document creation devices, commit history and pull request status from code management devices, and message logs from communication devices. It also collects operational status data from industrial machines in the factory to monitor their status and obtain error information.
[0969] The server then centralizes the collected data in a MySQL database and runs analysis using Apache Spark. This analysis reveals the progress of each task and the operating efficiency of team members and industrial machines. For example, it can detect that a code review is only 40% complete or that a particular industrial machine is frequently producing errors.
[0970] Based on the analysis results, the server sets task priorities and automatically generates a final schedule. This ensures optimal resource allocation for project members and industrial machinery, resulting in highly efficient operation. This schedule is then communicated to project members and factory managers via management computers, smartphones, and tablets.
[0971] In terms of real-time response, the server responds immediately to changes in information or unexpected errors during a project. For example, if a member takes sick leave or an industrial machine stops working, adjustments are made so that the task can be handed over to another member or machine. The risk management function allows potential problems that occur during the progress of a project or factory to be detected early and countermeasures to be implemented promptly.
[0972] Consider the following scenario as a concrete example: Project members commit code through GitHub and communicate via Slack while progressing with tasks. The server collects and analyzes this information in real time, generates an optimal task schedule, and notifies members. Similarly, when robots in a factory assemble parts or package products, the server monitors their operating status and ensures efficient scheduling and resource allocation.
[0973] An example of an input prompt for a generative AI model is as follows:
[0974] Apply a project management efficiency system to factory robots and design an application that optimizes robot task scheduling and resource allocation.
[0975] In this way, project management and in-factory task management can be made more efficient, and productivity is expected to improve. The present invention is an important technology for achieving both smooth project progress and efficient in-factory operations.
[0976] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0977] Step 1:
[0978] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. Specifically, the server obtains document update information (e.g., Google Docs), code commit history (e.g., GitHub), and message logs (e.g., Slack) through each device's API. The input is data from each device, and the output is collected data stored on the server.
[0979] Step 2:
[0980] The server centralizes the collected data in a MySQL database, organizing each data item by project. Specifically, new project data is added to the database, and updates are added to existing project data. The input is the data collected in step 1, and the output is the centralized database entries.
[0981] Step 3:
[0982] The server analyzes the collected data using Apache Spark. Specific analysis details include the progress of each task, the activity level of members, and the frequency of communication. For example, it can detect that a document is 80% complete or that a pull request has been reviewed 40%. The input is the centralized data stored in the database, and the output is the analysis results.
[0983] Step 4:
[0984] The server sets task priorities based on the analysis results and generates an optimal schedule. Specifically, it creates a schedule taking into account the importance, urgency, and dependencies of tasks, and notifies each project member. The input is the analysis results, and the output is the generated schedule and its notification.
[0985] Step 5:
[0986] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Specifically, it allocates tasks taking into account each member's skill set and current workload. For example, if Engineer A is busy, it assigns the task to Engineer B. The input is the analysis results and real-time operating status data, and the output is the proposed resource allocation.
[0987] Step 6:
[0988] The server collects operational status data from industrial machines in real time, monitors their status, and acquires error information. Specific operations include monitoring the operational status, work progress, and error occurrence status of the industrial machines. The input is operational status data from the industrial machines, and the output is operational data stored on the server.
[0989] Step 7:
[0990] The server optimizes task schedules based on the operating status and error information of industrial machines. Specifically, it readjusts the task sequence to improve operating efficiency and notifies the administrator of any necessary changes. The input is the operating data and error information of industrial machines, and the output is an optimized task schedule.
[0991] Step 8:
[0992] The server responds to projects and industrial machines in real time. Specifically, if an unexpected error or change in information occurs, it immediately makes adjustments to accommodate the change. For example, if a member takes sick leave or a machine stops working, the task is handed over to another member or machine. The input is real-time information from the project and industrial machines, and the output is the new schedule and task assignments after the response.
[0993] Step 9:
[0994] The server monitors risks for projects and industrial machines and detects potential problems early. Specifically, it continuously monitors the progress of projects and the operation status of industrial machines and predicts the risk of problems occurring. For example, if there is a risk that a large-scale code change will occur just before release, additional review time will be secured. The input is real-time data from projects and industrial machines, and the output is proposed countermeasures for risks.
[0995] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0996] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system in natural language and provide concrete examples.
[0997] Program processing explanation
[0998] 1. Data Collection
[0999] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. For example, it uses APIs from Google Docs and Microsoft Word to obtain the latest document update information, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[1000] 2. Data Analysis
[1001] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[1002] 3. Task Scheduling
[1003] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[1004] 4. Resource Allocation
[1005] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[1006] 5. Emotion Recognition by Emotion Engine
[1007] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[1008] 6. Emotional Data Analysis
[1009] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. For example, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[1010] 7. Reallocation of tasks and resources
[1011] The server reallocates tasks and resources as needed based on the emotional data, for example, reducing tasks for members with high stress levels and providing appropriate support to members with high morale.
[1012] 8. Real-time support
[1013] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[1014] 9. Risk Management
[1015] The server constantly monitors project risks and detects potential problems early. For example, if emotional data indicates that members' motivation is declining, it evaluates how this will affect the progress of the project and takes necessary measures.
[1016] Specific examples
[1017] Example: Project in progress scenario
[1018] 1. Data Collection
[1019] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[1020] 2. Data Analysis
[1021] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[1022] 3. Task Scheduling
[1023] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[1024] 4. Resource Allocation
[1025] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[1026] 5. Emotion Recognition by Emotion Engine
[1027] The server analyzes Slack messages and facial expression data obtained from the video conferencing system to detect that Engineer A is feeling stressed.
[1028] 6. Emotional Data Analysis
[1029] Based on the emotional data, the server determines that Engineer A is in a state of high stress and takes appropriate countermeasures.
[1030] 7. Reallocation of tasks and resources
[1031] The server is configured to reduce Engineer A's tasks and hand over some of the tasks to Engineer C.
[1032] 8. Real-time support
[1033] The server monitors the progress of the task, adjusts the schedule as necessary, and sends a message to the device recommending that Engineer A take a break.
[1034] 9. Risk Management
[1035] If many members are feeling stressed, the server will determine that there is a risk to the progress of the project and will propose revising the overall schedule.
[1036] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[1037] The processing flow will be explained below.
[1038] Step 1: Data collection
[1039] The server collects data in real time via APIs from document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[1040] Step 2: Data analysis
[1041] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[1042] Step 3: Task Scheduling
[1043] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[1044] Step 4: Resource allocation
[1045] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise and assigns appropriate tasks. It also optimally allocates equipment and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[1046] Step 5: Emotion Recognition with the Emotion Engine
[1047] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[1048] Step 6: Sentiment Data Analysis
[1049] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. Specifically, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[1050] Step 7: Reallocate tasks and resources
[1051] The server reallocates tasks and resources as needed based on the emotional data, for example by reducing tasks for members with high stress levels and adding new tasks to members with high morale.
[1052] Step 8: Real-time support
[1053] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[1054] Step 9: Risk Management
[1055] The server constantly monitors project risks and detects potential problems early. Specifically, if team members' motivation is declining based on emotional data, it evaluates how this will affect the progress of the project and takes necessary measures.
[1056] In this way, the server can manage the entire project efficiently and effectively through each step. The introduction of the emotion engine enables optimal task scheduling and resource allocation that takes into account the emotional state of members, ensuring the success of the project.
[1057] Example 2
[1058] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1059] While conventional project management systems are effective in managing task progress and allocating resources, they are unable to take into account the emotional state of project members, which can lead to reduced work efficiency and increased risk of project failure. Furthermore, they lack the ability to collect and analyze information in real time, making it difficult to respond quickly.
[1060] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity level of members, and the content of communication, and means for recognizing and analyzing the emotions of members in real time and reallocating tasks and resources based on the results. This improves the accuracy of the project progress and resource allocation, and by taking into account the emotional state of members, it is possible to improve work efficiency and the project success rate.
[1061] A "document creation device" is hardware or software that allows users to create, edit, and share documents.
[1062] A "code management device" is hardware or software for managing the version control and change history of software code.
[1063] A "communication device" is hardware or software for exchanging information between project members.
[1064] "Means for collecting data in real time" refers to a mechanism for instantly obtaining the latest data from various devices.
[1065] "Means for analyzing data" refers to algorithms and software that integrate the collected data and evaluate progress, activity levels, and communication content.
[1066] A "means for setting task priorities" is an algorithm or software that determines the order and priority of work based on the urgency and importance of tasks.
[1067] A "means for generating an optimal schedule" is a mechanism for creating an efficient work schedule, taking into account task dependencies and deadlines.
[1068] A "means for proposing resource allocation" is an algorithm or software that optimally allocates resources based on members' skill sets, workload, budget, and equipment.
[1069] "Means for recognizing and analyzing members' emotions" refers to algorithms and software for assessing the emotional state of project members based on data obtained from communication devices and video conferencing systems.
[1070] "Means for reallocating tasks and resources" refers to algorithms or software for appropriately changing the allocation of tasks and resources based on emotion recognition results.
[1071] "Real-time response measures" are mechanisms for responding immediately to changes in information or delays in progress during a project and making the necessary adjustments.
[1072] "Risk monitoring tools" are algorithms or software that constantly monitor potential risks and problems in a project and detect them early.
[1073] "Measures to implement countermeasures" are mechanisms for taking appropriate countermeasures to identified risks or problems.
[1074] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system, including concrete examples.
[1075] System Configuration
[1076] This system uses the following hardware and software:
[1077] Document creation devices: Google Docs, Microsoft Word
[1078] Code management system: GitHub, GitLab
[1079] Communication devices: Slack, Microsoft Teams
[1080] Emotion engine: Natural language processing algorithm, facial expression analysis algorithm
[1081] Data collection
[1082] The server retrieves the latest document update information from the document creation devices used by project members via APIs. For example, it uses the Google Docs API to collect the latest versions of project plans and requirements specifications. Similarly, it retrieves commit history and pull request status from code management devices, and message logs and channel activity from communication devices.
[1083] Data analysis
[1084] The server consolidates the collected data and stores it in a database for each project. Based on the consolidated data, it analyzes the progress of each task, the activity level of members, and the content of communication. For example, it compares document update information obtained from Google Docs to determine the completion level, evaluates the progress of GitHub pull requests, and analyzes Slack messages to identify problem areas in tasks.
[1085] Task Scheduling
[1086] The server assigns a priority to each task based on the results of the data analysis. For example, it assigns a higher priority to urgent tasks and generates an optimal schedule taking into account deadlines and dependencies. This schedule is then sent to the devices of the project members.
[1087] Resource Allocation
[1088] The server checks the skill sets and current workloads of each member and allocates resources appropriately. For example, if Engineer A is busy, it assigns the pull request review to Engineer B. It also assigns appropriate tasks to members who specialize in documentation tasks.
[1089] Emotion recognition by emotion engine
[1090] The server uses an emotion engine to analyze messages received from communication devices and facial expression data obtained from video conferencing systems, recognizing members' emotional states in real time. For example, it analyzes the content of Slack messages using a natural language processing algorithm to evaluate the frequency of negative words. Based on facial expression data during video conferencing, it uses an expression analysis algorithm to grasp members' emotional changes.
[1091] Emotional data analysis and countermeasures
[1092] The server uses emotional data to detect stress levels and declining morale among members. For example, if there are a lot of negative messages, it determines that the stress level is high and takes appropriate measures. It reduces tasks for members with high stress levels, and provides appropriate support to members with high morale.
[1093] Real-time response and risk management
[1094] The server responds to changes in project information in real time. For example, if a delay occurs in progress, the schedule is immediately readjusted and members are notified. At the same time, it constantly monitors project risks and detects potential problems early. For example, if multiple members are feeling high stress, it proposes revising the project schedule or adding additional resources.
[1095] Specific examples
[1096] Prompt Sentence Examples
[1097] "How can I stay up to date on project management and optimize resource allocation?"
[1098] "Analyze the emotional state of your team members, assess their stress levels, and suggest necessary measures."
[1099] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[1100] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1101] Step 1:
[1102] Data collection
[1103] The server obtains the latest document update information via the API of the document creation device (e.g., Google Docs, Microsoft Word) used by the project members. The input is metadata from each API, and the output is a list of updated document information. Specifically, it uses the Google Docs API to collect the latest versions of the "project plan" and "requirements specification document."
[1104] Similarly, it retrieves commit history and pull request status from code management devices (e.g., GitHub, GitLab). The input is the repository's commit log and pull request information, and the output is a list of the latest commit history and pull request status. Specifically, it uses the GitHub API to retrieve the progress of each feature in the project.
[1105] Finally, it collects message logs and channel activity from communication devices (e.g., Slack, Microsoft Teams). The input is message data from each communication platform, and the output is a list of message logs. Specifically, it collects messages that focus on specific discussions or questions via the Slack API.
[1106] Step 2:
[1107] Data Integration
[1108] The server integrates the collected document update information, commit history, pull request status, and message log into a database. The input is all the data collected in the previous steps, and the output is an integrated dataset. Specifically, the data formats are unified and stored in a database for each project.
[1109] Step 3:
[1110] Data analysis
[1111] The server analyzes the progress of each task, member activity, and communication content based on the integrated data. The input is the integrated dataset, and the output is a progress report for each task, a member activity report, and communication analysis results. Specific operations include, for example, comparing document update information obtained from Google Docs to determine the document's completeness. It also evaluates the progress of pull requests from GitHub and analyzes Slack message logs to identify tasks with concentrated issues.
[1112] Step 4:
[1113] Task Priority Setting
[1114] The server sets the priority of each task based on the analysis results. The input is progress reports and communication analysis results, and the output is a prioritized task list. Specifically, it assigns higher priority to tasks with higher urgency, and determines the priority taking into account the planned release date and dependencies.
[1115] Step 5:
[1116] Schedule Generation
[1117] The server generates an optimal schedule by taking into account the priority and dependencies of each task. The input is a prioritized task list, and the output is a schedule table for the entire project. Specifically, it estimates the amount of work time required for each task and automatically generates a schedule that can be assigned to project members.
[1118] Step 6:
[1119] Resource Allocation
[1120] The server allocates resources by checking the skill sets and current workloads of each member. The input is member profile data and current workload data, and the output is an optimal resource allocation list. Specifically, it allocates tasks to each member and adjusts them to avoid excessive load. For example, if Engineer A is busy, Engineer B is assigned to review the pull request.
[1121] Step 7:
[1122] Emotion Recognition Using an Emotion Engine
[1123] The server uses an emotion engine to analyze messages and facial expression data received from communication devices and video conferencing systems, recognizing the emotional state of members in real time. The input is message data and facial expression data, and the output is an emotional state report. Specifically, it uses a natural language processing algorithm to analyze the content of messages and determine whether they tend to be positive or negative. It also uses a facial expression analysis algorithm to identify emotions from the facial expressions of members during video conferences.
[1124] Step 8:
[1125] Emotional data analysis and countermeasures
[1126] The server detects members' stress levels and declining morale based on emotional data. The input is an emotional state report, and the output is a list of countermeasures. Specifically, if there are many negative messages, it determines that the stress level is high and takes countermeasures such as reducing the tasks of stressed members.
[1127] Step 9:
[1128] Real-time support
[1129] The server responds to changes in information in real time and notifies project members. The input is real-time project data, and the output is an updated task schedule and resource allocation table. Specifically, it constantly monitors the progress of tasks, and if a delay occurs, it immediately readjusts the schedule and notifies members.
[1130] Step 10:
[1131] Risk Management
[1132] The server constantly monitors project risks and detects potential problems early. The input is overall project data and sentiment data, and the output is a risk report and proposed countermeasures. Specific actions include, for example, suggesting schedule revisions or the allocation of additional resources if a member's stress level is high.
[1133] Through these steps, this system can simultaneously improve project management efficiency and member well-being.
[1134] (Application example 2)
[1135] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1136] Traditional project management systems focus on managing task progress and resource allocation, but fail to take into account the emotional state of team members. This often leads to performance declines due to stress and communication problems, resulting in project delays. Furthermore, insufficient real-time data collection and analysis make it difficult to respond quickly. Furthermore, the complex coordination between workers and robots on factory production lines necessitates efficient project management.
[1137] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1138] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for analyzing the collected data and analyzing the progress of each task, member activity levels, and communication content; means for setting task priorities and generating an optimal schedule; means for proposing optimal resource allocation based on available human resources, budget, and facilities; means for responding to information changes during the project in real time and making necessary adjustments; means for monitoring project risks, early detection of potential problems, and implementation of countermeasures; means for recognizing and analyzing the emotional states of members in real time using an emotion engine; and means for detecting member stress levels and declining morale based on emotion data and taking appropriate measures. This enables efficient project management that takes into account the emotional states of team members.
[1139] The system also optimizes collaboration between workers and robots, improving factory production efficiency. Real-time data collection and analysis enables quick responses and smoother project progress.
[1140] "Project members" refers to individual members or groups participating in a project, including those responsible for various tasks and communications.
[1141] "Document creation equipment" refers to the equipment and software used by project members to create, edit, and save documents.
[1142] A "code management system" is a system for version control of source code, which tracks the history of code changes and enables multiple developers to work together.
[1143] "Communication devices" refer to devices and platforms that allow project members to communicate, providing the means for messaging, calling, video conferencing, etc.
[1144] "Means of collecting data in real time" refers to the function of constantly obtaining the latest data from various devices and systems and sending it to a server in real time.
[1145] "Means of analyzing data" refers to the process of integrating collected data and analyzing the information based on certain algorithms or analytical methods.
[1146] "Means for setting task priorities" refers to a function for determining the processing order based on the importance and urgency of tasks.
[1147] "Means for proposing resource allocation" refers to the function of optimally combining available resources (human resources, budget, facilities, etc.) and proposing allocation methods to maximize project efficiency.
[1148] "Means of responding to changes in information in real time" refers to the ability to quickly respond to changes in the situation that occur during the project and update the overall plan and resource allocation.
[1149] "Measures for monitoring risks" refers to the function of constantly monitoring potential risks in a project and taking preventive measures before problems occur.
[1150] "Emotion engine" refers to algorithms and systems for analyzing the emotional state of individual members, and includes technology for recognizing emotions from messages and facial expression data.
[1151] "Means of taking appropriate action based on emotional data" refers to the function of taking appropriate measures regarding members' stress and motivation based on collected and analyzed emotional data.
[1152] To implement this invention, several important means that constitute a project management system are necessary. Details of each means and specific examples will be explained below.
[1153] First, the server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. This involves document creation software (e.g., word processing software and spreadsheet software), code management tools (e.g., version control systems), and communication platforms (e.g., messaging services and video conferencing services). These devices communicate with the server via APIs and send the necessary data.
[1154] The server then analyzes the collected data, analyzing the progress of each task, the activity levels of members, and the content of communication. Data analysis tools such as Python and R are used for the data analysis. Task priorities are set based on the analysis results, and an optimal schedule is generated. The schedule is generated using analytical algorithms and scheduling software.
[1155] The server also proposes optimal resource allocation based on available personnel, budget, and equipment. This is done using resource management software to efficiently allocate resources by taking into account each member's skill set, available time, project budget, and required equipment.
[1156] To respond to changes in information during a project in real time and make necessary adjustments, the server constantly monitors data updates and reconfigures tasks and schedules as needed, using real-time data processing technology and a notification system.
[1157] To monitor project risks and detect potential problems early, the server continuously analyzes data and detects signs of risk. If a problem occurs, it notifies the project manager and suggests countermeasures.
[1158] Furthermore, an emotion engine is used to recognize and analyze members' emotional states in real time. For example, the content of messages is collected from communication platforms, and an emotion analysis algorithm is used to identify stress levels and declining morale. Based on this emotional data, the system detects members' stress levels and declining morale and takes appropriate measures. Specifically, it reduces the tasks of highly stressed members, and if support is needed, it assigns other members to help.
[1159] Specific examples
[1160] For example, if this system is used on a factory production line, it will collect real-time information on worker status and production progress from the HMI and sensors, and obtain performance data from the robots. It also collects message logs and activity data from communication devices. The server integrates this data and evaluates the progress and activity of the robots.
[1161] Below are some example prompts to input to a generative AI model:
[1162] "It collects the latest data on the production progress within the factory and monitors the working status of workers and robots in real time. It provides optimal task scheduling and resource allocation based on the progress and emotion data of each task."
[1163] This system will optimize the performance of the entire team, improving the working environment and increasing production efficiency.
[1164] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1165] Step 1:
[1166] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. It obtains document update information from document creation devices, commit history and pull request status from code management devices, and message logs and channel activity from communication devices. This allows it to collect data to grasp the latest status of each task.
[1167] Input: Real-time data from document creation devices, code management devices, and communication devices
[1168] Output: Store the latest data in the project database
[1169] Step 2:
[1170] The server consolidates the collected data and stores it in a database for each project. To do this, data analysis tools such as Python and R are used to clean and consolidate the data. Task progress, member activity, and communication content are analyzed to determine the completeness of documents and the progress of pull requests.
[1171] Input: Various collected data
[1172] Output: Organized project data
[1173] Step 3:
[1174] The server evaluates the progress and priority of each task based on a database for each project. It sets task priorities based on urgency and importance, and uses scheduling software to generate an optimal schedule. This schedule is then sent to each member's device.
[1175] Input: Organized project data
[1176] Output: Task priorities and the generated schedule
[1177] Step 4:
[1178] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Using resource management software, it takes into account the skill sets of members, current workload, project budget, and facility status to optimally allocate resources.
[1179] Inputs: member skill sets, workload, budget, equipment
[1180] Output: Optimal resource allocation plan
[1181] Step 5:
[1182] Respond to changes in information and new data collection during the project in real time and make necessary adjustments. Use real-time data processing technology to constantly monitor data updates and reschedule tasks. Use a notification system to notify members of changes as needed.
[1183] Input: Data collected in real time
[1184] Output: Adjusted tasks and schedules
[1185] Step 6:
[1186] The server constantly monitors project risks and detects potential problems early. It continuously analyzes data and, if it detects signs of risk, it sends an alert to the project manager and suggests countermeasures.
[1187] Input: Data that is continuously collected and analyzed
[1188] Output: Risk alerts and countermeasures
[1189] Step 7:
[1190] Using an emotion engine, the system analyzes the emotional state of members in real time based on data obtained from communication devices and sensors. Using an emotion analysis algorithm, it evaluates the stress levels and morale of members and stores the results in a database.
[1191] Input: Emotion data obtained from communication devices and sensors
[1192] Output: Parsed emotional state
[1193] Step 8:
[1194] The server uses emotional data to detect stress levels and low morale among team members and responds appropriately, such as by reducing tasks for stressed team members and assigning other members to support them if they need it. This maintains team members' well-being and optimizes overall performance.
[1195] Input: Parsed emotional state data
[1196] Output: Adjusted tasks and resource allocation proposals
[1197] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1198] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1199] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1200] [Fourth embodiment]
[1201] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1202] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1203] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1204] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1205] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1206] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1207] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1208] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1209] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1210] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1211] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1212] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1213] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1214] This invention is a system for improving the efficiency of project management. It collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. Below, the program processing of this system is explained in natural language, with concrete examples.
[1215] Program processing explanation
[1216] 1. Data Collection
[1217] The server collects real-time data from various document creation devices, code management devices, and communication devices used by project members. For example, the server obtains the latest document update information using APIs such as Google Docs and Microsoft Word, obtains commit history and pull request status from code management devices such as GitHub and GitLab, and obtains message logs and channel activity from messaging tools such as Slack and Microsoft Teams.
[1218] 2. Data Analysis
[1219] The server centralizes the collected data and organizes it by project, analyzing the progress of each task, the activity level of each member, and the content of communication in detail. For example, it can detect when a document in Google Docs is 80% complete or when a pull request in GitHub is 40% reviewed.
[1220] 3. Task Scheduling
[1221] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[1222] 4. Resource Allocation
[1223] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server can assign the task to Engineer B. It can also assign a new task to a member who specializes in creating documentation.
[1224] 5. Real-time support
[1225] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[1226] 6. Risk Management
[1227] The server constantly monitors project risks and detects potential problems early. For example, if there is a risk that a large-scale code change will occur just before release, the server reduces the risk by ensuring additional review time. If a problem is discovered, it promptly implements countermeasures and notifies the device of the details of the countermeasures.
[1228] Specific examples
[1229] Example: Project in progress scenario
[1230] 1. Data Collection
[1231] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[1232] 2. Data Analysis
[1233] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[1234] 3. Task Scheduling
[1235] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[1236] 4. Resource Allocation
[1237] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[1238] 5. Real-time support
[1239] The server monitors the progress of the task and if Engineer A is absent due to illness, it immediately instructs Engineer C to take over the task.
[1240] 6. Risk Management
[1241] The server detects when there is a risk of large code changes occurring just before release and reduces the risk by allowing additional review time upfront.
[1242] Combining these functions maximizes the efficiency and effectiveness of project management. The server is at the center of the system, constantly monitoring and managing the project status in real time, optimizing task scheduling and resource allocation. The terminal also receives necessary information in a timely manner, helping users take appropriate action.
[1243] The processing flow will be explained below.
[1244] Step 1: Data collection
[1245] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[1246] Step 2: Data analysis
[1247] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[1248] Step 3: Task Scheduling
[1249] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[1250] Step 4: Resource allocation
[1251] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[1252] Step 5: Real-time response
[1253] The server responds in real time to changes in information that occur during the project. Specifically, if a member takes sick leave or a task is delayed, the server immediately reschedules the project and notifies the device of the changes. The server also reviews the schedule based on the progress of the task and sends appropriate notifications.
[1254] Step 6: Risk Management
[1255] The server constantly monitors project risks and detects potential problems early. Specifically, it analyzes the progress data of each task and identifies tasks that may cause delays or bottlenecks. If a problem is detected, it proposes measures to mitigate the risk and notifies the device of the details.
[1256] In this way, the server can manage the entire project efficiently and effectively through each step. By aggregating and analyzing data from each connected device, it can achieve optimal task scheduling and resource allocation, and perform real-time response and risk management.
[1257] Example 1
[1258] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1259] Conventional project management systems were inadequate for efficiently collecting and analyzing data from the various document creation devices, code management devices, and communication devices used by project members, and for real-time response and optimal resource allocation. As a result, project progress was hindered, with particular problems being task delays and late detection of risks. Furthermore, delays in sharing information with project members sometimes made it difficult to take appropriate action.
[1260] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1261] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for centralizing the collected data and organizing it by project; means for analyzing the collected data and performing detailed analysis of the progress of each task, member activity levels, and communication content; means for prioritizing each task based on the analysis results, generating an optimal schedule, and notifying the terminal; means for proposing optimal resource allocation based on available personnel, budget, and facilities; means for responding to changes in information during the project in real time, making necessary adjustments, and notifying the terminal of the changes; and means for monitoring project risks, early detection of potential problems, implementing countermeasures, and notifying the terminal. This significantly improves the efficiency of project management and enables early detection of task delays and risks. It also promotes appropriate information sharing and rapid action.
[1262] "Project members" refers to people participating in a project, including people in charge of various tasks and collaborators.
[1263] "Document creation device" includes hardware and software for creating and editing documents, examples of which include word processing software and online document creation tools.
[1264] "Code management device" includes hardware and software for managing and versioning source code, examples of which include repository hosting services and version control systems.
[1265] "Communication devices" include hardware and software for communication between project members, such as messaging apps and video conferencing systems.
[1266] "Data collection" refers to the process of obtaining necessary data in real time from document production, code management, and communication devices.
[1267] "Data centralization" refers to the process of organizing collected data and integrating it for each project.
[1268] "Data analysis" refers to the process of using collected and centralized data to conduct detailed analysis of progress, activity levels, communication content, etc.
[1269] "Task priority setting" refers to the process of evaluating the importance and urgency of each task based on the analysis results and determining the order of execution.
[1270] "Schedule generation" refers to the process of creating an optimal schedule by taking into consideration the set task priorities as well as the deadlines and dependencies of each task.
[1271] "Device notification" refers to the process of notifying project members of the generated schedule and changes to their devices.
[1272] "Resource allocation" refers to the process of assigning appropriate resources to each task, taking into account available personnel, budget, and facilities.
[1273] "Real-time response" refers to the process of responding immediately to changes in information that occur during a project and making any necessary adjustments.
[1274] "Risk monitoring" refers to the process of constantly monitoring project risks and detecting potential problems early.
[1275] "Implementation of countermeasures" refers to the process of promptly taking measures to address any discovered issues and notifying the relevant project members of the details.
[1276] This invention is a system for improving the efficiency of project management, which collects data in real time from various document creation devices, code management devices, and communication devices used by project members, analyzes the data, and optimizes task scheduling and resource allocation. The following describes the details of the program for this system and an example implementation.
[1277] 1. Data Collection
[1278] The server collects data in real time from various document creation devices (e.g., word processing software such as Google Docs and Microsoft Word), code management devices (repository hosting services such as GitHub and GitLab), and communication devices (messaging apps such as Slack and Microsoft Teams) used by project members.
[1279] As a concrete example, the server inputs the following prompt sentence into the generative AI model:
[1280] "Please use the Google Docs API to get the latest updates on Project A documents."
[1281] "Get a list of open pull requests from repository 'Project B' on GitHub"
[1282] 2. Data Analysis
[1283] The server centralizes the collected data and organizes it by project. It then performs detailed analysis of the progress of each task, member activity, and communication content. Specifically, it analyzes whether a Google Docs document is 80% complete or a GitHub pull request is 40% reviewed.
[1284] As an example of the parsing results, the server produces the following:
[1285] "The Google Docs document 'Proposal_Draft' is 80% complete."
[1286] "GitHub repository 'Project B' has 5 open pull requests, 2 of which are in review."
[1287] 3. Task Scheduling
[1288] The server prioritizes each task based on the analysis results and generates an optimal schedule. Specifically, it sorts tasks according to importance and urgency, and generates a schedule that takes into account each task's deadline and dependencies. This schedule is then sent to the project members' devices.
[1289] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[1290] "Please increase the priority of task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[1291] 4. Resource Allocation
[1292] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation based on each member's skill set and current workload. For example, if Engineer A is busy reviewing a pull request and cannot handle it, the server assigns the task to Engineer B. It also assigns a new task to a member who specializes in creating documentation.
[1293] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[1294] "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[1295] 5. Real-time support
[1296] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. For example, if a member is absent due to illness, the server immediately transfers the task to another member. It also reviews the schedule according to the progress and notifies the terminal of the changes.
[1297] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[1298] "Engineer A is absent due to illness, so please have Engineer C take over his tasks."
[1299] 6. Risk Management
[1300] The server constantly monitors project risks and detects potential problems early. For example, it can detect the risk of large-scale code changes occurring just before release and mitigate the risk by ensuring additional review time. If a problem is discovered, it quickly implements countermeasures and notifies the device of the details of the countermeasures.
[1301] As a concrete example of a prompt, the server sends the following sentence to the generative AI model:
[1302] "Allow additional review time for large code changes at the last minute of release."
[1303] As described above, the server plays a central role in data collection, analysis, task scheduling, resource allocation, real-time response, and risk management, maximizing the efficiency and effectiveness of project management. Furthermore, the terminals provide project members with the necessary information in a timely manner, helping users take appropriate action.
[1304] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1305] Step 1: Data collection
[1306] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. As input, it obtains data from the APIs of Google Docs, Microsoft Word, GitHub, GitLab, Slack, and Microsoft Teams. From these data sources, the server receives the latest document update information, commit history, pull request status, and message logs as input data. The collected data is centralized and organized so that it can be used in subsequent analysis steps.
[1307] Specific working example:
[1308] The server sends a prompt to the generative AI model saying, "Please use the Google Docs API to get the latest updates on the Project A document."
[1309] The server sends a prompt to the generative AI model: "Get a list of open pull requests from GitHub repository 'Project B'."
[1310] Step 2: Data analysis
[1311] The server centralizes the data collected in step 1 and organizes it by project. The centralized data set is used as input. This centralized data is analyzed to perform detailed analysis of the progress of each task, the activity level of members, and the content of communication. The output is a progress report for each task, member activity report, and a summary of communication.
[1312] Specific working example:
[1313] The server generates the analysis result: "Google Docs document 'Proposal_Draft' is 80% complete."
[1314] The server generates the analysis result: "GitHub repository 'Project B' has five open pull requests, two of which are in review."
[1315] Step 3: Task Scheduling
[1316] The server sets the priority of each task based on the analysis results obtained in step 2 and generates an optimal schedule. The progress, dependencies, and priorities of each task are used as input. Data processing involves sorting the tasks according to importance and urgency, and generating a schedule that takes into account the deadlines and dependencies of each task. Schedule data is generated as output and notified to the terminal.
[1317] Specific working example:
[1318] The server sends a prompt to the generative AI model saying, "Please increase the priority of the task 'Code Review' and adjust the schedule of the dependent task 'Unit Testing'."
[1319] Step 4: Resource allocation
[1320] The server checks available personnel, budget, and equipment, and proposes optimal resource allocation taking into account each member's skill set and current workload. Member skill sets, workload, and current resource usage are used as input. The optimal resource allocation is calculated as data processing, and a resource allocation plan is generated as output.
[1321] Specific working example:
[1322] The server sends a prompt to the generative AI model saying, "Considering Engineer A's current workload, please assign the pull request review task to Engineer B."
[1323] Step 5: Real-time response
[1324] The server responds in real time to changes in information that occur during the project and makes the necessary adjustments. Project progress and feedback from members are used as input. Data processing involves reallocation of tasks and adjustment of schedules in real time. Updated schedules and task allocations are sent to terminals as output.
[1325] Specific working example:
[1326] The server sends a prompt to the generative AI model saying, "Engineer A is absent due to illness, so please hand over his tasks to Engineer C."
[1327] Step 6: Risk Management
[1328] The server constantly monitors project risks and detects potential problems early. The current project progress and risk factors are used as input. Risk analysis and evaluation are performed as data processing, and risk countermeasures are planned and notified to the terminal as output.
[1329] Specific working example:
[1330] The server sends a prompt to the generative AI model saying, "Please allow additional review time to accommodate major code changes just before release."
[1331] (Application example 1)
[1332] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1333] With conventional project management systems, project members were unable to efficiently manage task progress or allocate resources, which could have a negative impact on productivity and quality. Furthermore, real-time monitoring of the operating status and error information of industrial machinery within factories was insufficient, making optimal task scheduling and resource allocation difficult. This resulted in reduced operational efficiency and made it difficult to respond quickly to unexpected problems.
[1334] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1335] In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity levels of members, and the content of communication, means for setting task priorities and generating an optimal schedule, means for proposing optimal resource allocation based on available human resources, budgets, and facilities, means for responding to information changes during the project in real time and making necessary adjustments, means for monitoring project risks, early detection of potential problems, and implementation of countermeasures, means for collecting operation status data from industrial machines in real time and analyzing operation status and error information, and means for optimizing task scheduling for industrial machines and efficiently allocating resources. This enables efficient task management and resource allocation in real time for both project members and industrial machines.
[1336] "Project members" are people who participate in a project and are engaged in carrying out various tasks.
[1337] A "document creation device" is hardware or software for creating and editing documents.
[1338] A "code management device" is a device for managing versions of source code and performing collaborative editing.
[1339] A "communication device" is a device that facilitates communication between project members.
[1340] "Means of collection" refers to the means of obtaining the necessary data from various devices and tools.
[1341] "Means for analysis" refers to the means for analyzing collected data and extracting necessary information.
[1342] A "means for generating a schedule" is a means for creating an optimal schedule taking into account task priorities and dependencies.
[1343] The "means for proposing resource allocation" is a means for optimally allocating available resources.
[1344] "Means for responding in real time" refers to means for responding immediately to changes in information during a project.
[1345] "Risk monitoring measures" are measures for monitoring potential risks that arise during the course of a project.
[1346] "Industrial machinery" refers to various automated machinery and equipment used in factories.
[1347] "Operation status data" refers to data such as the operating status of industrial machinery, work progress, and error information.
[1348] The "means for optimizing task scheduling" is a means for optimizing the arrangement of tasks in order to increase the operating efficiency of industrial machines.
[1349] This invention is a project management system and a system for improving the efficiency of task scheduling and resource allocation for industrial machinery. This system uses a server as the central point to collect and analyze data, and proposes optimal scheduling and resource allocation based on the results.
[1350] Specifically, the server uses the following hardware and software:
[1351] Hardware:
[1352] Various devices (document creation devices, code management devices, communication devices)
[1353] Industrial machinery (automated machinery)
[1354] Management computers and servers (e.g., Dell PowerEdge series)
[1355] Smartphones and tablets (e.g. iPhone, iPad)
[1356] software:
[1357] Data collection API (e.g., created using RESTful API)
[1358] Database (e.g. MySQL)
[1359] Data analysis engine (e.g. Apache Spark)
[1360] Front-end applications (e.g. React Native)
[1361] The server first collects real-time data from various devices used by project members. This includes document update information from document creation devices, commit history and pull request status from code management devices, and message logs from communication devices. It also collects operational status data from industrial machines in the factory to monitor their status and obtain error information.
[1362] The server then centralizes the collected data in a MySQL database and runs analysis using Apache Spark. This analysis reveals the progress of each task and the operating efficiency of team members and industrial machines. For example, it can detect that a code review is only 40% complete or that a particular industrial machine is frequently producing errors.
[1363] Based on the analysis results, the server sets task priorities and automatically generates a final schedule. This ensures optimal resource allocation for project members and industrial machinery, resulting in highly efficient operation. This schedule is then communicated to project members and factory managers via management computers, smartphones, and tablets.
[1364] In terms of real-time response, the server responds immediately to changes in information or unexpected errors during a project. For example, if a member takes sick leave or an industrial machine stops working, adjustments are made so that the task can be handed over to another member or machine. The risk management function allows potential problems that occur during the progress of a project or factory to be detected early and countermeasures to be implemented promptly.
[1365] Consider the following scenario as a concrete example: Project members commit code through GitHub and communicate via Slack while progressing with tasks. The server collects and analyzes this information in real time, generates an optimal task schedule, and notifies members. Similarly, when robots in a factory assemble parts or package products, the server monitors their operating status and ensures efficient scheduling and resource allocation.
[1366] An example of an input prompt for a generative AI model is as follows:
[1367] Apply a project management efficiency system to factory robots and design an application that optimizes robot task scheduling and resource allocation.
[1368] In this way, project management and in-factory task management can be made more efficient, and productivity is expected to improve. The present invention is an important technology for achieving both smooth project progress and efficient in-factory operations.
[1369] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1370] Step 1:
[1371] The server collects data in real time from various document creation devices, code management devices, and communication devices used by project members. Specifically, the server obtains document update information (e.g., Google Docs), code commit history (e.g., GitHub), and message logs (e.g., Slack) through each device's API. The input is data from each device, and the output is collected data stored on the server.
[1372] Step 2:
[1373] The server centralizes the collected data in a MySQL database, organizing each data item by project. Specifically, new project data is added to the database, and updates are added to existing project data. The input is the data collected in step 1, and the output is the centralized database entries.
[1374] Step 3:
[1375] The server analyzes the collected data using Apache Spark. Specific analysis details include the progress of each task, the activity level of members, and the frequency of communication. For example, it can detect that a document is 80% complete or that a pull request has been reviewed 40%. The input is the centralized data stored in the database, and the output is the analysis results.
[1376] Step 4:
[1377] The server sets task priorities based on the analysis results and generates an optimal schedule. Specifically, it creates a schedule taking into account the importance, urgency, and dependencies of tasks, and notifies each project member. The input is the analysis results, and the output is the generated schedule and its notification.
[1378] Step 5:
[1379] The server proposes optimal resource allocation based on available personnel, budget, and facilities. Specifically, it allocates tasks taking into account each member's skill set and current workload. For example, if Engineer A is busy, it assigns the task to Engineer B. The input is the analysis results and real-time operating status data, and the output is the proposed resource allocation.
[1380] Step 6:
[1381] The server collects operational status data from industrial machines in real time, monitors their status, and acquires error information. Specific operations include monitoring the operational status, work progress, and error occurrence status of the industrial machines. The input is operational status data from the industrial machines, and the output is operational data stored on the server.
[1382] Step 7:
[1383] The server optimizes task schedules based on the operating status and error information of industrial machines. Specifically, it readjusts the task sequence to improve operating efficiency and notifies the administrator of any necessary changes. The input is the operating data and error information of industrial machines, and the output is an optimized task schedule.
[1384] Step 8:
[1385] The server responds to projects and industrial machines in real time. Specifically, if an unexpected error or change in information occurs, it immediately makes adjustments to accommodate the change. For example, if a member takes sick leave or a machine stops working, the task is handed over to another member or machine. The input is real-time information from the project and industrial machines, and the output is the new schedule and task assignments after the response.
[1386] Step 9:
[1387] The server monitors risks for projects and industrial machines and detects potential problems early. Specifically, it continuously monitors the progress of projects and the operation status of industrial machines and predicts the risk of problems occurring. For example, if there is a risk that a large-scale code change will occur just before release, additional review time will be secured. The input is real-time data from projects and industrial machines, and the output is proposed countermeasures for risks.
[1388] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1389] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system in natural language and provide concrete examples.
[1390] Program processing explanation
[1391] 1. Data Collection
[1392] The server collects data in real time via APIs from various document creation devices, code management devices, and communication devices used by project members. For example, it uses APIs from Google Docs and Microsoft Word to obtain the latest document update information, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[1393] 2. Data Analysis
[1394] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[1395] 3. Task Scheduling
[1396] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[1397] 4. Resource Allocation
[1398] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise, assigns appropriate tasks, and optimally allocates facilities and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[1399] 5. Emotion Recognition by Emotion Engine
[1400] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[1401] 6. Emotional Data Analysis
[1402] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. For example, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[1403] 7. Reallocation of tasks and resources
[1404] The server reallocates tasks and resources as needed based on the emotional data, for example, reducing tasks for members with high stress levels and providing appropriate support to members with high morale.
[1405] 8. Real-time support
[1406] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[1407] 9. Risk Management
[1408] The server constantly monitors project risks and detects potential problems early. For example, if emotional data indicates that members' motivation is declining, it evaluates how this will affect the progress of the project and takes necessary measures.
[1409] Specific examples
[1410] Example: Project in progress scenario
[1411] 1. Data Collection
[1412] The server retrieves the current code pull request status from GitHub, collects member communication logs from Slack, and retrieves the latest document update status from Google Docs.
[1413] 2. Data Analysis
[1414] The server detects that there are many open pull requests on GitHub, many questions about a particular task on Slack, and even sees that a document on Google Docs is incomplete.
[1415] 3. Task Scheduling
[1416] The server may decide to increase the review priority of the pull request and determine that specific questions require more detailed answers, then reevaluate the priority of the documentation and adjust task due dates.
[1417] 4. Resource Allocation
[1418] The server determines that Engineer A is currently busy and assigns the pull request to Engineer B for review. It also assigns the task to a member who specializes in creating documentation.
[1419] 5. Emotion Recognition by Emotion Engine
[1420] The server analyzes Slack messages and facial expression data obtained from the video conferencing system to detect that Engineer A is feeling stressed.
[1421] 6. Emotional Data Analysis
[1422] Based on the emotional data, the server determines that Engineer A is in a state of high stress and takes appropriate countermeasures.
[1423] 7. Reallocation of tasks and resources
[1424] The server is configured to reduce Engineer A's tasks and hand over some of the tasks to Engineer C.
[1425] 8. Real-time support
[1426] The server monitors the progress of the task, adjusts the schedule as necessary, and sends a message to the device recommending that Engineer A take a break.
[1427] 9. Risk Management
[1428] If many members are feeling stressed, the server will determine that there is a risk to the progress of the project and will propose revising the overall schedule.
[1429] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[1430] The processing flow will be explained below.
[1431] Step 1: Data collection
[1432] The server collects data in real time via APIs from document creation devices, code management devices, and communication devices used by project members. Specifically, it obtains the latest document update information using APIs from Google Docs and Microsoft Word, extracts commit history and pull request status from code management devices such as GitHub and GitLab, and collects message logs and channel activity from communication devices such as Slack and Microsoft Teams.
[1433] Step 2: Data analysis
[1434] The server consolidates the collected data and stores it in a database for each project. Based on this database, it analyzes the progress of each task, the activity level of each member, and the content of communication. Specifically, it compares update information obtained from the document creation device to determine the completeness of each document. It also evaluates the progress of pull requests obtained from the code management device and analyzes messages obtained from the communication device to identify which tasks have concentrated problems.
[1435] Step 3: Task Scheduling
[1436] The server then assigns a priority to each task based on the analysis results. Specifically, it prioritizes tasks with high urgency and importance, and generates an optimal schedule taking into account the deadlines and dependencies of each task. This schedule is then sent to the devices of the project members.
[1437] Step 4: Resource allocation
[1438] The server checks each member's skill set and available resources and allocates resources optimally. Specifically, it considers each member's current workload and expertise and assigns appropriate tasks. It also optimally allocates equipment and budgets. For example, if Engineer A is busy, it will assign Engineer B to review pull requests.
[1439] Step 5: Emotion Recognition with the Emotion Engine
[1440] The server uses an emotion engine to recognize the emotions of members in real time. Specifically, it analyzes messages received from communication devices and facial expression data obtained from the video conferencing system to understand the emotional state of members.
[1441] Step 6: Sentiment Data Analysis
[1442] The server detects the stress levels and declining morale of members based on the emotional data provided by the emotion engine. Specifically, if the content of messages is largely negative or if facial expression analysis indicates high levels of stress, it considers appropriate countermeasures.
[1443] Step 7: Reallocate tasks and resources
[1444] The server reallocates tasks and resources as needed based on the emotional data, for example by reducing tasks for members with high stress levels and adding new tasks to members with high morale.
[1445] Step 8: Real-time support
[1446] The server responds to changes in information that occur during the project in real time. Specifically, if changes in a member's emotions are observed, immediate action can be taken. The server also reviews the schedule according to the progress and sends appropriate notifications.
[1447] Step 9: Risk Management
[1448] The server constantly monitors project risks and detects potential problems early. Specifically, if team members' motivation is declining based on emotional data, it evaluates how this will affect the progress of the project and takes necessary measures.
[1449] In this way, the server can manage the entire project efficiently and effectively through each step. The introduction of the emotion engine enables optimal task scheduling and resource allocation that takes into account the emotional state of members, ensuring the success of the project.
[1450] Example 2
[1451] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1452] While conventional project management systems are effective in managing task progress and allocating resources, they are unable to take into account the emotional state of project members, which can lead to reduced work efficiency and increased risk of project failure. Furthermore, they lack the ability to collect and analyze information in real time, making it difficult to respond quickly.
[1453] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members, means for analyzing the collected data and analyzing the progress of each task, the activity level of members, and the content of communication, and means for recognizing and analyzing the emotions of members in real time and reallocating tasks and resources based on the results. This improves the accuracy of the project progress and resource allocation, and by taking into account the emotional state of members, it is possible to improve work efficiency and the project success rate.
[1454] A "document creation device" is hardware or software that allows users to create, edit, and share documents.
[1455] A "code management device" is hardware or software for managing the version control and change history of software code.
[1456] A "communication device" is hardware or software for exchanging information between project members.
[1457] "Means for collecting data in real time" refers to a mechanism for instantly obtaining the latest data from various devices.
[1458] "Means for analyzing data" refers to algorithms and software that integrate the collected data and evaluate progress, activity levels, and communication content.
[1459] A "means for setting task priorities" is an algorithm or software that determines the order and priority of work based on the urgency and importance of tasks.
[1460] A "means for generating an optimal schedule" is a mechanism for creating an efficient work schedule, taking into account task dependencies and deadlines.
[1461] A "means for proposing resource allocation" is an algorithm or software that optimally allocates resources based on members' skill sets, workload, budget, and equipment.
[1462] "Means for recognizing and analyzing members' emotions" refers to algorithms and software for assessing the emotional state of project members based on data obtained from communication devices and video conferencing systems.
[1463] "Means for reallocating tasks and resources" refers to algorithms or software for appropriately changing the allocation of tasks and resources based on emotion recognition results.
[1464] "Real-time response measures" are mechanisms for responding immediately to changes in information or delays in progress during a project and making the necessary adjustments.
[1465] "Risk monitoring tools" are algorithms or software that constantly monitor potential risks and problems in a project and detect them early.
[1466] "Measures to implement countermeasures" are mechanisms for taking appropriate countermeasures to identified risks or problems.
[1467] This invention is a system that streamlines project management and achieves more effective task scheduling and resource allocation by taking into account the emotions of project members. This system collects data in real time from various document creation devices, code management devices, and communication devices, and combines it with an emotion engine to recognize and analyze user emotions. Below, we will explain the program processing of this system, including concrete examples.
[1468] System Configuration
[1469] This system uses the following hardware and software:
[1470] Document creation devices: Google Docs, Microsoft Word
[1471] Code management system: GitHub, GitLab
[1472] Communication devices: Slack, Microsoft Teams
[1473] Emotion engine: Natural language processing algorithm, facial expression analysis algorithm
[1474] Data collection
[1475] The server retrieves the latest document update information from the document creation devices used by project members via APIs. For example, it uses the Google Docs API to collect the latest versions of project plans and requirements specifications. Similarly, it retrieves commit history and pull request status from code management devices, and message logs and channel activity from communication devices.
[1476] Data analysis
[1477] The server consolidates the collected data and stores it in a database for each project. Based on the consolidated data, it analyzes the progress of each task, the activity level of members, and the content of communication. For example, it compares document update information obtained from Google Docs to determine the completion level, evaluates the progress of GitHub pull requests, and analyzes Slack messages to identify problem areas in tasks.
[1478] Task Scheduling
[1479] The server assigns a priority to each task based on the results of the data analysis. For example, it assigns a higher priority to urgent tasks and generates an optimal schedule taking into account deadlines and dependencies. This schedule is then sent to the devices of the project members.
[1480] Resource Allocation
[1481] The server checks the skill sets and current workloads of each member and allocates resources appropriately. For example, if Engineer A is busy, it assigns the pull request review to Engineer B. It also assigns appropriate tasks to members who specialize in documentation tasks.
[1482] Emotion recognition by emotion engine
[1483] The server uses an emotion engine to analyze messages received from communication devices and facial expression data obtained from video conferencing systems, recognizing members' emotional states in real time. For example, it analyzes the content of Slack messages using a natural language processing algorithm to evaluate the frequency of negative words. Based on facial expression data during video conferencing, it uses an expression analysis algorithm to grasp members' emotional changes.
[1484] Emotional data analysis and countermeasures
[1485] The server uses emotional data to detect stress levels and declining morale among members. For example, if there are a lot of negative messages, it determines that the stress level is high and takes appropriate measures. It reduces tasks for members with high stress levels, and provides appropriate support to members with high morale.
[1486] Real-time response and risk management
[1487] The server responds to changes in project information in real time. For example, if a delay occurs in progress, the schedule is immediately readjusted and members are notified. At the same time, it constantly monitors project risks and detects potential problems early. For example, if multiple members are feeling high stress, it proposes revising the project schedule or adding additional resources.
[1488] Specific examples
[1489] Prompt Sentence Examples
[1490] "How can I stay up to date on project management and optimize resource allocation?"
[1491] "Analyze the emotional state of your team members, assess their stress levels, and suggest necessary measures."
[1492] In this way, by using a system that combines an emotion engine, it is possible to simultaneously ensure project efficiency and member well-being. The server constantly monitors and manages the project status in real time, optimizing task scheduling and resource allocation. The emotion engine also grasps the emotional state of members and promptly takes necessary action, supporting the success of the project.
[1493] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1494] Step 1:
[1495] Data collection
[1496] The server obtains the latest document update information via the API of the document creation device (e.g., Google Docs, Microsoft Word) used by the project members. The input is metadata from each API, and the output is a list of updated document information. Specifically, it uses the Google Docs API to collect the latest versions of the "project plan" and "requirements specification document."
[1497] Similarly, it retrieves commit history and pull request status from code management devices (e.g., GitHub, GitLab). The input is the repository's commit log and pull request information, and the output is a list of the latest commit history and pull request status. Specifically, it uses the GitHub API to retrieve the progress of each feature in the project.
[1498] Finally, it collects message logs and channel activity from communication devices (e.g., Slack, Microsoft Teams). The input is message data from each communication platform, and the output is a list of message logs. Specifically, it collects messages that focus on specific discussions or questions via the Slack API.
[1499] Step 2:
[1500] Data Integration
[1501] The server integrates the collected document update information, commit history, pull request status, and message log into a database. The input is all the data collected in the previous steps, and the output is an integrated dataset. Specifically, the data formats are unified and stored in a database for each project.
[1502] Step 3:
[1503] Data analysis
[1504] The server analyzes the progress of each task, member activity, and communication content based on the integrated data. The input is the integrated dataset, and the output is a progress report for each task, a member activity report, and communication analysis results. Specific operations include, for example, comparing document update information obtained from Google Docs to determine the document's completeness. It also evaluates the progress of pull requests from GitHub and analyzes Slack message logs to identify tasks with concentrated issues.
[1505] Step 4:
[1506] Task Priority Setting
[1507] The server sets the priority of each task based on the analysis results. The input is progress reports and communication analysis results, and the output is a prioritized task list. Specifically, it assigns higher priority to tasks with higher urgency, and determines the priority taking into account the planned release date and dependencies.
[1508] Step 5:
[1509] Schedule Generation
[1510] The server generates an optimal schedule by taking into account the priority and dependencies of each task. The input is a prioritized task list, and the output is a schedule table for the entire project. Specifically, it estimates the amount of work time required for each task and automatically generates a schedule that can be assigned to project members.
[1511] Step 6:
[1512] Resource Allocation
[1513] The server allocates resources by checking the skill sets and current workloads of each member. The input is member profile data and current workload data, and the output is an optimal resource allocation list. Specifically, it allocates tasks to each member and adjusts them to avoid excessive load. For example, if Engineer A is busy, Engineer B is assigned to review the pull request.
[1514] Step 7:
[1515] Emotion Recognition Using an Emotion Engine
[1516] The server uses an emotion engine to analyze messages and facial expression data received from communication devices and video conferencing systems, recognizing the emotional state of members in real time. The input is message data and facial expression data, and the output is an emotional state report. Specifically, it uses a natural language processing algorithm to analyze the content of messages and determine whether they tend to be positive or negative. It also uses a facial expression analysis algorithm to identify emotions from the facial expressions of members during video conferences.
[1517] Step 8:
[1518] Emotional data analysis and countermeasures
[1519] The server detects members' stress levels and declining morale based on emotional data. The input is an emotional state report, and the output is a list of countermeasures. Specifically, if there are many negative messages, it determines that the stress level is high and takes countermeasures such as reducing the tasks of stressed members.
[1520] Step 9:
[1521] Real-time support
[1522] The server responds to changes in information in real time and notifies project members. The input is real-time project data, and the output is an updated task schedule and resource allocation table. Specifically, it constantly monitors the progress of tasks, and if a delay occurs, it immediately readjusts the schedule and notifies members.
[1523] Step 10:
[1524] Risk Management
[1525] The server constantly monitors project risks and detects potential problems early. The input is overall project data and sentiment data, and the output is a risk report and proposed countermeasures. Specific actions include, for example, suggesting schedule revisions or the allocation of additional resources if a member's stress level is high.
[1526] Through these steps, this system can simultaneously improve project management efficiency and member well-being.
[1527] (Application example 2)
[1528] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1529] Traditional project management systems focus on managing task progress and resource allocation, but fail to take into account the emotional state of team members. This often leads to performance declines due to stress and communication problems, resulting in project delays. Furthermore, insufficient real-time data collection and analysis make it difficult to respond quickly. Furthermore, the complex coordination between workers and robots on factory production lines necessitates efficient project management.
[1530] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1531] In this invention, the server includes: means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; means for analyzing the collected data and analyzing the progress of each task, member activity levels, and communication content; means for setting task priorities and generating an optimal schedule; means for proposing optimal resource allocation based on available human resources, budget, and facilities; means for responding to information changes during the project in real time and making necessary adjustments; means for monitoring project risks, early detection of potential problems, and implementation of countermeasures; means for recognizing and analyzing the emotional states of members in real time using an emotion engine; and means for detecting member stress levels and declining morale based on emotion data and taking appropriate measures. This enables efficient project management that takes into account the emotional states of team members.
[1532] The system also optimizes collaboration between workers and robots, improving factory production efficiency. Real-time data collection and analysis enables quick responses and smoother project progress.
[1533] "Project members" refers to individual members or groups participating in a project, including those responsible for various tasks and communications.
[1534] "Document creation equipment" refers to the equipment and software used by project members to create, edit, and save documents.
[1535] A "code management system" is a system for version control of source code, which tracks the history of code changes and enables multiple developers to work together.
[1536] "Communication devices" refer to devices and platforms that allow project members to communicate, providing the means for messaging, calling, video conferencing, etc.
[1537] "Means of collecting data in real time" refers to the function of constantly obtaining the latest data from various devices and systems and sending it to a server in real time.
[1538] "Means of analyzing data" refers to the process of integrating collected data and analyzing the information based on certain algorithms or analytical methods.
[1539] "Means for setting task priorities" refers to a function for determining the processing order based on the importance and urgency of tasks.
[1540] "Means for proposing resource allocation" refers to the function of optimally combining available resources (human resources, budget, facilities, etc.) and proposing allocation methods to maximize project efficiency.
[1541] "Means of responding to changes in information in real time" refers to the ability to quickly respond to changes in the situation that occur during the project and update the overall plan and resource allocation.
[1542] "Measures for monitoring risks" refers to the function of constantly monitoring potential risks in a project and taking preventive measures before problems occur.
[1543] "Emotion engine" refers to algorithms and systems for analyzing the emotional state of individual members, and includes technology for recognizing emotions from messages and facial expression data.
[1544] "Means of taking appropriate action based on emotional data" refers to the function of taking appropriate measures regarding members' stress and motivation based on collected and analyzed emotional data.
[1545] To implement this invention, several important means that constitute a project management system are necessary. Details of each means and specific examples will be explained below.
[1546] First, the server collects data in real time from various document creation devices, code management devices, an...
Claims
1. a means for collecting data in real time from various document creation devices, code management devices, and communication devices used by project members; A method for analyzing the collected data to analyze the progress of each task, the activity level of members, and the content of communication. A means of prioritizing tasks and generating an optimal schedule; A means to propose optimal resource allocation based on available personnel, budget, and facilities; A means to respond in real time to changes in information during the project and make necessary adjustments; A means to monitor project risks, detect potential problems early, and implement countermeasures; A system including:
2. The system according to claim 1, further comprising means for unifying the data collected from the project members and organizing it by project.
3. 2. The system according to claim 1, further comprising means for automatically generating a schedule based on the results of the data analysis, taking into consideration deadlines and dependencies of each task, and notifying each member of the tasks.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A