System

The system automates schedule coordination by collecting data, analyzing free times, proposing optimal dates, and updating calendars, addressing inefficiencies and errors in multi-participant scheduling.

JP2026025546APending Publication Date: 2026-02-16SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024128355
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-02
Publication Date
2026-02-16

AI Technical Summary

Technical Problem

Coordinating schedules for multiple participants is complex, time-consuming, and prone to errors, especially in large organizations, leading to inefficiencies in scheduling and notification processes.

Method used

A system that automatically collects participant schedule data, analyzes free time, proposes optimal meeting dates and times, notifies participants, collects feedback, and updates calendars using APIs to ensure efficient and accurate schedule adjustments.

Benefits of technology

Significantly improves schedule coordination efficiency by minimizing user effort and reducing errors, ensuring all participants' calendars are updated accurately and promptly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026025546000001_ABST
    Figure 2026025546000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for automatically collecting schedule data of participants via a network; means for analyzing the collected schedule data to identify free time of each participant; means for proposing an optimal meeting date and time based on the identified free time; means for notifying the proposed meeting date and time and collecting feedback from the participants; and means for determining a final meeting date and time and automatically reflecting the date and time on calendars of all participants.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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] When coordinating schedules, the task of matching multiple participants' schedules and finding available times for everyone is extremely complex and time-consuming. This task becomes even more difficult when large organizations or a large number of participants are involved. Furthermore, the manual process of coordinating schedules can lead to errors, resulting in reduced efficiency. Furthermore, the process of notifying and confirming meeting dates to participants is time-consuming, which can delay coordination. It is necessary to solve these issues and improve the efficiency of schedule coordination. [Means for solving the problem]

[0005] The present invention provides a means for automatically collecting participant schedule data via a network and identifying each participant's free time by analyzing that data. It also includes a means for proposing the optimal meeting date and time based on the identified free time. It also includes a means for notifying participants of the proposed meeting date and time and automatically collecting feedback from them. It also includes a means for finalizing the meeting date and time and automatically updating the calendars of all participants. It also includes a means for setting meeting priorities and scheduling options, and a means for using an API to retrieve data from participants' calendars, thereby providing a system that enables efficient and accurate schedule adjustments.

[0006] "Participant" means any person or organization that plans to attend a conference or event.

[0007] "Schedule data" refers to information about appointments and free time recorded in a calendar application or schedule management tool.

[0008] "Network" refers to the infrastructure for communicating data between computers and devices, including communications networks such as the Internet.

[0009] "Automatic collection methods" refers to methods of obtaining data without user intervention using programs or algorithms.

[0010] "Analysis" refers to the process of examining collected data in detail to understand and evaluate it.

[0011] "Available time" refers to available time slots with no scheduled appointments in a Participant's schedule.

[0012] "Means for proposing specific meeting dates and times" refers to methods and mechanisms for selecting and presenting the optimal meeting time based on analyzed data.

[0013] "Feedback" refers to responses and comments from participants regarding the proposed meeting date and time.

[0014] "Confirming" refers to the act of deciding on the final meeting date and time based on the suggestions and feedback.

[0015] "Means for automatically updating calendars" refers to a method for automatically adding or updating the finalized meeting date and time to each participant's calendar tool.

[0016] "Priority" refers to an indicator of the importance or urgency of a meeting.

[0017] "Adjustment options" refers to various settings and conditions regarding the date, time, and participants of a meeting.

[0018] "API" stands for Application Programming Interface, and refers to a means of enabling communication and data exchange between different software programs. [Brief explanation of the drawings]

[0019] [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

[0020] 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.

[0021] First, the terms used in the following description will be explained.

[0022] 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).

[0023] 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.

[0024] 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.

[0025] 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.

[0026] 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."

[0027] [First embodiment]

[0028] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0029] 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.

[0030] 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).

[0031] 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.

[0032] 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.

[0033] 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.

[0034] 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.

[0035] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0036] 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.

[0037] 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.

[0038] 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.

[0039] 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."

[0040] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule data, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[0041] Collecting participant schedule data

[0042] The device inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service used by each participant (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data via API. This makes it possible to obtain schedule information for all participants without user assistance.

[0043] Free time analysis

[0044] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[0045] Suggesting the best meeting date and time

[0046] The server then creates a list of common free times for all participants based on the analysis results and suggests the most suitable time and date from that list. This process takes into account the meeting priorities and scheduling options set by the user. The suggested time and date are automatically saved by the server.

[0047] Automatic email notifications and confirmations

[0048] The server automatically generates an email containing the proposed date and time and notifies all participants. The email includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[0049] Confirmation of dates and reflection on the calendar

[0050] The server collects feedback from participants and determines the final meeting date and time, which is then automatically updated in each participant's calendar service, ensuring everyone has the latest schedule information.

[0051] Specific examples

[0052] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0053] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0054] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment and minimizes the user's effort.

[0055] The processing flow will be explained below.

[0056] Step 1:

[0057] Collecting participant schedule data

[0058] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0059] Step 2:

[0060] Free time analysis

[0061] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0062] Step 3:

[0063] Suggesting the best meeting date and time

[0064] The server identifies the common free time of all participants based on the analyzed free time, and selects the most suitable meeting date and time from this common free time. The server also takes into account the meeting priority and other adjustment options previously set by the user to determine the best date and time.

[0065] Step 4:

[0066] Generate automatic email notifications

[0067] The server automatically generates an email containing the proposed meeting date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[0068] Step 5:

[0069] Sending emails

[0070] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[0071] Step 6:

[0072] Gathering feedback

[0073] Users (each participant) click on a link in the email they receive and provide feedback on the proposed date and time. The server collects and stores this feedback in real time.

[0074] Step 7:

[0075] Final meeting date and time determined

[0076] The server recalculates the optimal meeting time based on the collected feedback and determines the final time, and may ask for more feedback if necessary.

[0077] Step 8:

[0078] Reflection on the calendar

[0079] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0080] This allows the user to efficiently adjust the schedule with minimal operations.

[0081] Example 1

[0082] 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."

[0083] In today's work environment, coordinating the schedules of multiple participants to schedule meetings is a time-consuming and labor-intensive process. This is especially true when participants use different calendars or time zones. Manually coordinating schedules becomes even more complicated and inefficient. Furthermore, the process of collecting feedback after deciding on a meeting date and time, confirming the final date and time, and updating each participant's calendar is also cumbersome and prone to human error. It is necessary to resolve these issues and improve the efficiency and accuracy of scheduling tasks.

[0084] 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.

[0085] In this invention, the server includes means for automatically collecting schedule information of participants via a network, means for analyzing the collected schedule information to identify free time for each participant, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting responses from participants, and means for finalizing the meeting date and time and automatically updating the calendars of all participants. This allows for automated, efficient, and accurate scheduling of multiple participants.

[0086] "Participant Appointment Information" means appointments recorded in the schedules of meeting or event participants, including events or appointments that individual participants have entered into calendar applications or other scheduling tools.

[0087] "Network-based" refers to the method of sending and receiving data over the Internet, a local network, etc. This allows communication between multiple devices or systems in remote locations.

[0088] "Automatic collection means" refers to the function of the system to autonomously acquire data without requiring manual operation by the user. This is mainly achieved using APIs and crawlers.

[0089] "Analysis" is the act of processing collected data to extract useful information, which includes shaping, filtering, aggregating, and categorizing the data.

[0090] "Available times" are times when participants have no other plans, providing everyone with the information they need to find a time that works for them.

[0091] The "optimal meeting date and time" is the most suitable time period that allows all participants to attend and satisfies the set conditions and constraints.

[0092] "Notification" refers to the act of the system transmitting some information to participants, primarily via email or message notification.

[0093] "Means for collecting responses" refers to functions for obtaining feedback and confirmation information from participants. This includes mechanisms for collecting clicks on confirmation links, reply emails, etc.

[0094] The "final meeting time" is the final meeting or event start time determined based on feedback from all participants.

[0095] "Automatically reflecting on calendars" refers to the function of automatically registering or updating the decided event in the participants' calendar applications. This is often achieved using an API.

[0096] "Priority of meetings" refers to the importance and priority of the meetings or events being held. This means that events with higher urgency will be given priority.

[0097] "Saving options" refers to the various options and conditions that can be set when arranging the date, time, and location of a meeting or event.

[0098] An "Application Programming Interface (API)" is an interface that allows software applications to communicate with each other and use each other's functions. Data is mainly exchanged via HTTP.

[0099] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule information, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[0100] First, a user uses an application on their device to create a list of people attending a meeting or event, and sends it to the server. This list includes the names and email addresses of the participants.

[0101] Next, the server connects to the calendar services of each participant based on the participant list received from the user. This is often done using the APIs of calendar applications such as Google Calendar or Microsoft Outlook. The server automatically collects the schedule data of participants through these APIs. For example, it uses the Google Calendar API to obtain the schedule information of participants in JSON format.

[0102] The server uses Python data analysis libraries (e.g., Pandas, Numpy) to analyze the collected schedule data, accurately identifying free time slots for each participant. The analysis process takes into account each participant's time zone and overlaps with already scheduled events to derive free slots.

[0103] Next, the server creates a list of available times for all participants based on the analysis results, and proposes the optimal meeting date and time from that list. The proposed date and time is selected taking into account the meeting priority and scheduling options set by the user. The server then saves the proposed date and time in a database.

[0104] The server then uses the SMTP protocol to send an email containing the proposed date and time to all participants, with a link that participants can click to confirm the date and time and provide feedback. Feedback is also collected automatically, and the final meeting date and time are determined.

[0105] After the final meeting date and time is determined, the server again uses the API to automatically update each participant's calendar with that date and time, allowing all participants to share the latest schedule information.

[0106] Specific examples

[0107] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0108] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0109] Prompt Sentence Examples

[0110] Below are some example prompts to input to the generative AI model:

[0111] "I'd like to adjust the schedules of five team members: Employee A, Employee B, Employee C, Employee D, and Employee E. Please suggest a date and time next week when all members are available."

[0112] By inputting this prompt into a generative AI model, optimal meeting date and time suggestions are automatically generated.

[0113] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0114] Program processing flow

[0115] Step 1: Enter and submit the participant list

[0116] A user opens an application on their device, creates a list of people to attend a meeting or event, and clicks the "Send" button. This list includes the names and email addresses of the participants.

[0117] Input: Participant's name, email address

[0118] Output: Participant list sent to the server (HTTP POST request)

[0119] Step 2: Automatic collection of schedule data

[0120] The server connects to each participant's calendar service based on the participant list received from the user. Specifically, it automatically collects participants' schedule data using APIs such as Google Calendar and Microsoft Outlook. The server sends an API request to each calendar service to obtain the schedule data.

[0121] Input: Participant list (name, email address)

[0122] Output: Schedule data for each participant (JSON format)

[0123] Step 3: Free time analysis

[0124] The server analyzes the collected schedule data and identifies free time slots for each participant. It uses Python data analysis libraries (e.g., Pandas, Numpy) to format and analyze the data. The server considers each participant's time zone and any events already set, and extracts free time slots while avoiding overlaps.

[0125] Input: Schedule data (JSON format)

[0126] Output: Free / busy list for each participant

[0127] Step 4: Propose the best meeting date and time

[0128] The server then creates a list of all participants' common free times based on the analysis results and selects the best meeting time from that list. The selection process takes into account the meeting priority and scheduling options set by the user. For example, meetings with a higher priority will take precedence over other events.

[0129] Input: Free / busy list, meeting priority, scheduling options

[0130] Output: Best meeting time

[0131] Step 5: Automatic email notification and confirmation

[0132] The server automatically generates an email containing the best meeting date and time and notifies all participants. The server uses the SMTP protocol to send emails containing the proposed meeting date and time. The email contains a link that participants can click to confirm the date and time and provide feedback.

[0133] Input: Best time and date for the meeting, participant email addresses

[0134] Output: Confirmation email sent to participants

[0135] Step 6: Confirm the date and add it to your calendar

[0136] The server collects feedback from each participant and determines the final meeting date and time. After all feedback has been collected, the server automatically updates each participant's calendar service with the final date and time. The server uses an API to update each participant's calendar.

[0137] Input: Participant feedback, final meeting date and time

[0138] Output: Updated calendar for each participant

[0139] (Application example 1)

[0140] 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."

[0141] In modern factories, numerous robots operate with various work and maintenance schedules, and it is necessary to coordinate their operating times efficiently. However, currently, schedule coordination between robots is often done manually, which requires a great deal of time and effort. This can lead to overlapping operating times and unnecessary waiting time, which can reduce production efficiency. Furthermore, coordinating maintenance schedules is complicated, and it can sometimes be difficult to ensure planned maintenance. To solve these issues, an automated schedule adjustment system is needed.

[0142] 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.

[0143] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for optimizing robot operation schedules and maintenance schedules. This automates the adjustment of robot operation schedules and maintenance schedules in a factory, reducing overlaps and unnecessary waiting time and improving production efficiency.

[0144] The term "participant" refers to a person about whom schedule data is collected in the automatic schedule adjustment system, and is a concept that includes factory robots and their managers.

[0145] "Schedule data" refers to information about schedules and free time recorded in the calendar service used by each participant.

[0146] A "network" is an infrastructure for transmitting and receiving data over the Internet or other communications medium.

[0147] "Means of collection" refers to the technical methods and processes by which the server automatically obtains schedule data from each participant's calendar service.

[0148] The "means of analysis" refers to data processing algorithms and software that determine available time and optimal meeting dates and times based on the collected schedule data.

[0149] The "means of identification" is the process of finding available time or optimal dates and times obtained as a result of the analysis.

[0150] The "means of suggestion" is a system that presents optimal meeting and working dates and times to all participants based on the analysis results.

[0151] "Means of Notification" means email, messaging application, or other means of communication used to notify Participants of the proposed date and time.

[0152] "Means for collecting feedback" refers to the system or process for receiving and compiling responses and comments from participants regarding the proposed date and time.

[0153] The "method to determine the final meeting date and time" is the algorithm or rules that take all feedback into account to determine the optimal date and time.

[0154] The "means of reflection" is the process by which the confirmed date and time are automatically incorporated into each participant's calendar or scheduling system.

[0155] An "operation schedule" is a schedule of tasks that a factory robot will perform during a specific time period.

[0156] The "maintenance schedule" is a schedule for maintenance activities such as maintenance and inspection of factory robots.

[0157] "Optimization means" refers to algorithms and software that efficiently adjust the operating and maintenance times of robots based on collected data.

[0158] This invention relates to a system for optimizing the operation and maintenance schedules of robots in a factory. This system automatically collects and analyzes schedule data from the participating factory robots and their managers, and proposes optimal operation and maintenance times. This system operates in cooperation with three parties: a server, a terminal, and a user.

[0159] Schedule data collection

[0160] The terminal inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service (e.g., a general calendar service API) used by each participant (in this case, the factory robots and administrators) and automatically collects schedule data via the API. This makes it possible to obtain schedule information for all participants without user assistance.

[0161] Free time analysis

[0162] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[0163] Proposal of optimal operation and maintenance times

[0164] The server then creates a list of common free times for all participants based on the analysis results, and proposes the most suitable operating and maintenance times from among them. This process takes into account the priorities and adjustment options set by the user. The proposed times are automatically saved by the server.

[0165] Automatic notification and confirmation

[0166] The server automatically generates a notification containing the proposed time and sends it to all participants. The notification includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the notification and click the link to provide feedback on the proposed time.

[0167] Finalize operation and maintenance times and reflect them on the calendar

[0168] The server collects feedback from participants and determines the final operation and maintenance times. These final times are automatically updated in each participant's calendar service by the server, allowing everyone to share the latest schedule information.

[0169] Specific examples

[0170] For example, say a factory has 10 robots, each with its own unique work and maintenance schedule. The manager wants to optimize the robots' daily operating hours to avoid overlapping. The system collects schedule data from each robot's calendar service and checks whether specific time slots are optimized.

[0171] Example prompts for generative AI models

[0172] Analyze the schedule data of 10 robots and propose the optimal common operating time. Each robot's schedule can be obtained through a calendar service API. You need to identify the time period when all robots operate together. For example, if the optimal operating time is from 10:00 AM to 2:00 PM next Wednesday, propose that time.

[0173] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0174] Step 1: The terminal inputs a list of participants according to the user's instructions and transmits it to the server.

[0175] Input: Participant list from user

[0176] Output: Participant list sent to the server

[0177] Specific operation: The user enters information about the factory robot and the administrator through the terminal interface. The entered information is converted into JSON format and sent to the server via an HTTP request.

[0178] Step 2: The server calls the API of the calendar service used by each participant and automatically collects schedule data.

[0179] Input: Participant list

[0180] Output: Schedule data for each participant

[0181] Specific operation: The server sends requests to the API endpoints of each calendar service based on the attendee list to obtain the event data, which is then formatted into a standardized format.

[0182] Step 3: The server analyzes the collected schedule data to identify the free time of each participant.

[0183] Input: Schedule data

[0184] Output: A list of available times for each participant

[0185] Specific operation: The server analyzes the acquired schedule data in chronological order and calculates the free time slots for each participant, including overlapping start and end times of events and combining consecutive free times.

[0186] Step 4: Based on the analysis results, the server creates a list of common free times for all participants and proposes the most suitable operation and maintenance times from among them.

[0187] Input: A list of available times for each participant

[0188] Output: Proposed operation and maintenance times

[0189] What it does: The server compares the free times of all participants, lists the time slots that match, and then selects the best time, taking into account the priorities and scheduling options set by the user.

[0190] Step 5: The server automatically generates a notification including the proposed time and notifies all participants.

[0191] Input: Proposed operating and maintenance times

[0192] Output: Notification to participants

[0193] Specific behavior: The server generates a notification message containing the proposed time slot and sends it to all participants via email or messaging service, including a confirmation link and the ability to add comments.

[0194] Step 6: Participants (users) receive a notification and click a link to provide feedback on the proposed time.

[0195] Input: Feedback on proposed operation and maintenance times

[0196] Output: Feedback information

[0197] Specific operation: Participants click the link in the notification message they received and enter their feedback through the web interface, which is then sent to the server.

[0198] Step 7: The server collects feedback from participants and determines the final operation and maintenance times.

[0199] Input: Feedback information

[0200] Output: Final operating and maintenance hours

[0201] What happens: The server aggregates feedback from all participants and reselects the best time based on that, proposing a new time slot if necessary.

[0202] Step 8: The server automatically updates each participant's calendar service with the final time.

[0203] Input: Final operation and maintenance hours

[0204] Output: Updated calendar for each participant

[0205] Specific operation: The server adds the final time determined to the calendars of the participants through the API of each calendar service, allowing everyone to share the latest schedule information.

[0206] 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.

[0207] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[0208] Collecting participant schedule data

[0209] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0210] Free time analysis

[0211] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0212] Suggesting the best meeting date and time

[0213] The server then uses the analyzed free time to identify the common free time of all participants and selects the most suitable meeting time from among those. This process also takes into account the meeting priority and other scheduling options set by the user. Furthermore, using an emotion engine, it can take into account the user's emotional data and select a time when stress levels are low. The proposed time is automatically saved by the server.

[0214] Automatic email notifications and confirmations

[0215] The server automatically generates an email containing the proposed date and time and notifies all participants. The email contains a link to confirm the date and time and provide feedback. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[0216] Collecting and analyzing feedback

[0217] Feedback from users is sent to the server via their devices. The server collects and stores the feedback in real time. The emotion engine analyzes the user's emotions from the text and voice contained in the feedback and determines their level of stress or dissatisfaction.

[0218] Final meeting date and time determined

[0219] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[0220] Reflection on the calendar

[0221] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0222] Specific examples

[0223] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0224] As a result, 2:00 PM on Wednesday of next week is suggested as the optimal date and time. This suggested date and time is notified to all members via an automatically generated email by the server. The emotion engine analyzes emotions from comments and voice in the user's email and determines that employee B is feeling stressed about this date and time. The server then uses this feedback to determine the next optimal date and time as 3:00 PM the following day, and automatically updates this on all members' calendars.

[0225] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment, and further makes it possible to increase the satisfaction of all participants by making suggestions that take into account the user's feelings.

[0226] The processing flow will be explained below.

[0227] Step 1:

[0228] Collecting participant schedule data

[0229] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0230] Step 2:

[0231] Free time analysis

[0232] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0233] Step 3:

[0234] Suggesting the best meeting date and time

[0235] The server identifies the common free time of all participants based on the analyzed free time. It then selects the most suitable meeting date and time from this common free time. The server considers the meeting priority and other adjustment options previously set by the user to determine the best date and time. It also uses an emotion engine to consider the user's emotional data and select a time slot with a low stress level. The proposed date and time are automatically saved by the server.

[0236] Step 4:

[0237] Generate automatic email notifications

[0238] The server automatically generates an email containing the proposed date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[0239] Step 5:

[0240] Sending emails

[0241] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[0242] Step 6:

[0243] Gathering feedback

[0244] Users (each participant) click on the link in the email they received and provide feedback on the proposed date and time. The server collects and stores this feedback in real time. The emotion engine analyzes the user's emotions from the text and voice included in the feedback and determines their level of stress or dissatisfaction.

[0245] Step 7:

[0246] Final meeting date and time determined

[0247] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[0248] Step 8:

[0249] Reflection on the calendar

[0250] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0251] This allows users to efficiently adjust schedules with minimal operations. Utilizing the emotion engine, schedule adjustments take into account participants' stress and frustration, improving everyone's satisfaction.

[0252] Example 2

[0253] 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."

[0254] Currently, adjusting the schedules of all participants takes a lot of time and effort, and it is very difficult to consider everyone's satisfaction. In addition, schedule adjustments do not reflect the emotions and stress levels of participants, so a system that is efficient yet takes participants' emotions into consideration is needed.

[0255] 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.

[0256] In this invention, the server includes means for automatically collecting participants' schedule information via a network, means for analyzing the collected schedule information to identify each participant's free time, means for proposing an optimal meeting time based on the identified free time, means for notifying participants of the proposed meeting time and collecting opinions from them, means for determining the final meeting time and automatically updating the time in all participants' schedule management systems, means for setting meeting priorities and adjustment options, means for using a program interface to acquire data from the participants' schedule management systems, emotion analysis means for analyzing participants' emotions and taking their stress levels into account at the proposed meeting time, and means for analyzing emotions from opinions regarding the proposed meeting time and re-proposing a meeting time based on the analysis results. This significantly reduces the effort and time required for schedule adjustment and enables efficient schedule adjustment that takes into account the emotions and stress levels of all participants.

[0257] "Participant" means a person or group of people being scheduled.

[0258] "Schedule information" refers to information about events and tasks that participants have entered into the schedule management system.

[0259] "Via a network" refers to a method of exchanging data using communication means such as the Internet or a local area network.

[0260] "Automatic collection means" refers to a system in which a program automatically acquires data without requiring manual operation by the user.

[0261] "Means for analyzing collected schedule information" refers to algorithms or processes for analyzing collected schedule information and identifying available time slots.

[0262] "Free time" refers to the time when participants are not tied down to other events or tasks.

[0263] "Gathering time" refers to the time when participants gather together.

[0264] "Means of notification" refers to the email or message sending system used to convey information to participants.

[0265] "Feedback" refers to the feedback provided by participants on the proposed meeting time.

[0266] "Final meeting time" refers to the time that is finally decided after taking into consideration the opinions and conditions of all participants.

[0267] A "schedule management system" refers to an application or service that allows participants to manage their schedules.

[0268] "Program interface" refers to a standardized means of exchanging data between pieces of software.

[0269] "Emotion analysis means" refers to technology for analyzing participants' emotions from text or audio data.

[0270] "Stress level" refers to the degree of stress participants feel at a particular time.

[0271] "Means for re-proposing" refers to a mechanism that takes into account feedback on the initial proposed time and proposes new candidate times.

[0272] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[0273] Collecting participant schedule data

[0274] The server receives the participant list entered by the user through the device. In this system, the server calls the API of calendar services such as Google Calendar and Microsoft Outlook based on the participant list entered by the device, and automatically collects the schedule data of each participant. The collected data is temporarily stored in a database on the server.

[0275] Free time analysis

[0276] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks and identifies free time slots that avoid those. The analysis results are output as a list of free time slots for each participant.

[0277] Suggesting the best meeting date and time

[0278] The server identifies the common free times of all participants based on the analyzed free times, and then selects the most suitable meeting time from among them. This process takes into account the meeting priority set by the user and other scheduling options. Furthermore, it can use an emotion engine to evaluate the user's emotional data and select a time slot that is less stressful. The proposed meeting time is automatically saved by the server.

[0279] Automatic email notifications and confirmations

[0280] The server automatically generates an email containing the proposed meeting date and time and sends it to all participants. The email includes a link to confirm the date and time and provide feedback. Users can click the link to provide feedback on the proposed date and time.

[0281] Collecting and analyzing feedback

[0282] Feedback from users is sent to the server via their devices. The server collects the user feedback in real time and stores it in a database. The emotion engine analyzes the text and voice data contained in the feedback, evaluates the user's emotions, and reflects this emotional information in the schedule adjustment process.

[0283] Final meeting date and time determined

[0284] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. It is also possible to request feedback again if necessary. The determined final date and time is saved in the schedule database by the server and automatically updated in each participant's calendar service.

[0285] Reflection on the calendar

[0286] The server automatically updates each participant's calendar with the final meeting date and time. Specifically, it calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed.

[0287] Specific examples

[0288] For example, when a user adjusts the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E), the user sends the participant list from the device to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0289] As a result, the server suggests 2:00 PM next Wednesday as the optimal date and time, and notifies all members via an automatically generated email. The emotion engine analyzes emotions from comments and voice in this email and determines that certain participants are feeling stressed about this date and time. The server then takes this feedback into consideration and determines the next optimal date and time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0290] Example prompts to input to the generative AI model

[0291] "How can I use the emotion engine to analyze the emotions from each participant's feedback and re-suggest meeting dates and times that minimize stress?"

[0292] As described above, the present invention can significantly improve the efficiency of schedule adjustment and increase satisfaction by making proposals that take into account the feelings of all participants.

[0293] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0294] Step 1: Collect participant schedule data

[0295] Input: A participant list where users input through their terminals.

[0296] Processing: The device sends this participant list to the server. The server receives the list and calls the API of each participant's calendar service, such as Google Calendar or Microsoft Outlook. Specifically, it authenticates using the API key and requests the schedule data of the specified user.

[0297] Output: Schedule data for each participant. For example, "Get schedule data from employee A's Google Calendar" is logged.

[0298] Step 2: Free time analysis

[0299] Input: Schedule data stored in the server.

[0300] Processing: The server analyzes the collected schedule data. It checks each participant's schedule and identifies available times. For example, it uses an algorithm to scan the event information stored in a database and extract non-overlapping time slots.

[0301] Output: A list of available times for each participant. For example, a specific list such as "Employee A's available times: Wednesday 2:00 PM - 4:00 PM."

[0302] Step 3: Propose the best meeting date and time

[0303] Input: A list of free times.

[0304] Processing: The server analyzes the free / busy lists to identify common free times for all participants, taking into account meeting priorities set by users and additional scheduling options. It uses an emotion engine to evaluate the emotion data and select a time slot with low stress levels. For example, the algorithm calculates the optimal time based on each user's feedback and the results of emotion analysis.

[0305] Output: Best time and date for a meeting. For example, "Best time and date for a meeting: Wednesday, 2-3 PM."

[0306] Step 4: Automatic email notification and confirmation

[0307] Input: Best time and date to meet.

[0308] Processing: The server automatically generates an email containing the proposed meeting date and time, the meeting date and location, and a link for confirmation and feedback. The server then sends this email to all participants.

[0309] Output: Email sent. For example, "Meeting date and time proposal email sent to all participants" is logged.

[0310] Step 5: Collect and analyze feedback

[0311] Input: User feedback.

[0312] Processing: The device sends the user's feedback to a server, which then collects the feedback in real time and stores it in a database. An emotion engine is used to analyze emotions from the text and voice data of the feedback to determine the level of stress or frustration. For example, natural language processing algorithms are used to analyze the text data.

[0313] Output: Analyzed emotional data. For example, a specific result such as "Employee B's stress level: High."

[0314] Step 6: Finalize the meeting date and time

[0315] Input: Feedback and analysis results.

[0316] Processing: The server recalculates the optimal meeting date and time based on the collected feedback and the emotion engine analysis results. It is also possible to request feedback again if necessary. For example, the server may recalculate the optimal date and time using an algorithm based on the emotion analysis results.

[0317] Output: Final meeting date and time. For example, a specific date and time such as "Final meeting date and time: 3:00 PM the next day."

[0318] Step 7: Update your calendar

[0319] Input: Final meeting date and time.

[0320] Processing: The server automatically updates each participant's calendar with the final confirmed meeting date and time. It calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed. For example, it uses the API to execute a command such as "Add an event to employee A's Google Calendar."

[0321] Output: Updated calendars and notifications. For example, specific logs and notifications such as "Meeting date and time confirmed and reflected on all calendars."

[0322] (Application example 2)

[0323] 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."

[0324] Conventional methods for adjusting maintenance schedules for robots and staff in factories require manually checking each individual's operating data and maintenance history to select the appropriate date and time, which is time-consuming and does not take into account emotions or fatigue levels, resulting in problems such as reduced efficiency and participant satisfaction.There is also a need for a method that combines emotion analysis to achieve more stress-free scheduling.

[0325] 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.

[0326] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for analyzing participants' emotions using an emotion engine and selecting a time period when stress levels are low. This makes it possible to efficiently adjust maintenance schedules for robots and staff in a factory and achieve stress-free maintenance scheduling that takes emotions and fatigue levels into consideration.

[0327] "Participants" are robots or staff members who are the subject of maintenance or meetings in the schedule adjustment system.

[0328] "Schedule data" refers to information such as schedules registered in the participant's calendar, operation status, and maintenance history.

[0329] A "network" is a communication infrastructure for data communication, such as the Internet or a local network.

[0330] The "emotion engine" is a software engine that analyzes participants' emotions from data such as text and voice, and determines their stress and fatigue levels.

[0331] "Feedback" is data about participants' opinions, impressions, and feelings about the proposed date and time.

[0332] A "calendar" is a tool or application for schedule management, such as Google Calendar or Microsoft Outlook.

[0333] "API" stands for Application Programming Interface, an interface for exchanging data between different software programs.

[0334] "Stress level" is an indicator that shows the participant's stress level as analyzed by the emotion engine.

[0335] "Notification" refers to the act of informing participants of the proposed date and time and decisions via email, message, etc.

[0336] To implement this invention, a system is required to collect schedule data of participants, propose optimal dates and times for meetings and maintenance, and finalize the dates and times. This system has a server, a terminal, and an emotion engine as its main components, and operates in the following manner.

[0337] First, the schedule data of participants is sent from the terminal to the server. To collect calendar information of robots and staff registered as participants, APIs such as Google Calendar and Microsoft Outlook are used. Specific API calls and data acquisition processes are performed by programs on the server. At this time, the schedule data is automatically collected via the network.

[0338] The server then analyzes the collected schedule data to identify free time slots for each participant. This analysis involves running an algorithm to identify common free time slots based on the collected events and tasks. Once free time slots have been identified, an emotion engine is used to analyze participants' emotional data and select times when stress levels are low. This emotion analysis uses software (such as IBM Watson or Google Cloud Natural Language API) to read emotions from text and speech.

[0339] The server then proposes the optimal date and time for a meeting or maintenance based on the identified free time and the results of sentiment analysis. The proposed date and time are automatically notified to all participants via their devices. The notification is sent via email or message, and includes a link to collect feedback from participants. Participants can click this link to provide feedback on the proposed date and time.

[0340] Feedback is collected in real time on the server and analyzed using the emotion engine. Based on the analysis results, the optimal date and time are recalculated and the final date and time are confirmed. This confirmed date and time is automatically reflected on all participants' calendars, again using the calendar API.

[0341] As a concrete example, consider the case of adjusting the maintenance schedules for 10 robots and 5 staff members in a factory. The participant list is sent from the device to the server, and each participant's operating status and maintenance history are collected via the Google Calendar API. Free time is identified based on the collected data, and the emotion engine analyzes stress levels to suggest the optimal date and time. This suggested date and time is notified to all participants, and feedback is collected and analyzed. The final date and time is confirmed and automatically reflected on all participants' calendars.

[0342] The following prompt sentences can be used as example inputs to a generative AI model:

[0343] "Design an application that collects operational data and past maintenance history to adjust the maintenance schedules of each robot and staff member in a factory, and suggests the optimal time and date for maintenance. Also, include a process where this system analyzes each participant's stress level and fatigue state using an emotion engine, and then suggests the optimal time and date."

[0344] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0345] Step 1:

[0346] The terminal creates a list of robots and staff members that require maintenance and sends it to the server. The input includes information about the specific robots and staff members that require maintenance. The server receives this information and prepares to collect calendar information for each robot and staff member.

[0347] Step 2:

[0348] Based on the received participant list, the server calls the API of a calendar service such as Google Calendar or Microsoft Outlook to collect schedule data for each participant. The input includes the participant list and calendar API call information. The output is the schedule data for each participant stored on the server.

[0349] Step 3:

[0350] The server analyzes the collected schedule data and identifies the free time of each participant. The input includes the collected schedule data. The server calculates the free time from the event and task data and creates a free time list for each participant. The output is a free time list for each participant.

[0351] Step 4:

[0352] The server proposes the optimal date and time for meetings or maintenance based on the identified free time. The input includes the free time list and priority information for meetings or maintenance. The server selects the optimal time based on the priority and decides on the proposed date and time. The output is the optimal proposed date and time.

[0353] Step 5:

[0354] The server notifies all participants of the proposed date and time. The input includes the proposed date and time and the participants' contact information. The server generates an email or message to send to each participant. The output is the notification sent to the participants.

[0355] Step 6:

[0356] Participants (users) receive a notification and provide feedback on the proposed date and time. The input includes participants' opinions and thoughts about the proposed date and time. Participants click a link in the email to send their feedback to the server. The output is the collected feedback data.

[0357] Step 7:

[0358] The server collects feedback from participants in real time and analyzes the emotional data contained in the feedback using an emotion engine. The inputs include the feedback data and emotion analysis software. The server analyzes the text and audio data to determine the participants' stress levels. The output is the analyzed emotional data.

[0359] Step 8:

[0360] The server recalculates the optimal meeting or maintenance date and time based on the emotion engine's analysis results and feedback, and determines the final date and time. The input includes emotion data and feedback information. The server selects and determines the new optimal date and time. The output is the confirmed final date and time.

[0361] Step 9:

[0362] The server automatically updates all participants' calendars with the finalized date and time. The input includes the final date and time and a calendar API. The server calls the API to add or update the event and update it on all participants' calendars. The output is the updated calendar information.

[0363] Step 10:

[0364] The terminal notifies the participants that the updated date and time has been confirmed. The input includes notification information of the confirmed date and time. The terminal creates a notification and sends it to all participants. The output is the notification of the confirmed date and time sent to all participants.

[0365] 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.

[0366] 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.

[0367] 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.

[0368] [Second embodiment]

[0369] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0370] 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.

[0371] 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).

[0372] 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.

[0373] 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.

[0374] 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).

[0375] 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.

[0376] 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.

[0377] 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.

[0378] 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.

[0379] 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.

[0380] 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."

[0381] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule data, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[0382] Collecting participant schedule data

[0383] The device inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service used by each participant (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data via API. This makes it possible to obtain schedule information for all participants without user assistance.

[0384] Free time analysis

[0385] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[0386] Suggesting the best meeting date and time

[0387] The server then creates a list of common free times for all participants based on the analysis results and suggests the most suitable time and date from that list. This process takes into account the meeting priorities and scheduling options set by the user. The suggested time and date are automatically saved by the server.

[0388] Automatic email notifications and confirmations

[0389] The server automatically generates an email containing the proposed date and time and notifies all participants. The email includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[0390] Confirmation of dates and reflection on the calendar

[0391] The server collects feedback from participants and determines the final meeting date and time, which is then automatically updated in each participant's calendar service, ensuring everyone has the latest schedule information.

[0392] Specific examples

[0393] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0394] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0395] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment and minimizes the user's effort.

[0396] The processing flow will be explained below.

[0397] Step 1:

[0398] Collecting participant schedule data

[0399] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0400] Step 2:

[0401] Free time analysis

[0402] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0403] Step 3:

[0404] Suggesting the best meeting date and time

[0405] The server identifies the common free time of all participants based on the analyzed free time, and selects the most suitable meeting date and time from this common free time. The server also takes into account the meeting priority and other adjustment options previously set by the user to determine the best date and time.

[0406] Step 4:

[0407] Generate automatic email notifications

[0408] The server automatically generates an email containing the proposed meeting date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[0409] Step 5:

[0410] Sending emails

[0411] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[0412] Step 6:

[0413] Gathering feedback

[0414] Users (each participant) click on a link in the email they receive and provide feedback on the proposed date and time. The server collects and stores this feedback in real time.

[0415] Step 7:

[0416] Final meeting date and time determined

[0417] The server recalculates the optimal meeting time based on the collected feedback and determines the final time, and may ask for more feedback if necessary.

[0418] Step 8:

[0419] Reflection on the calendar

[0420] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0421] This allows the user to efficiently adjust the schedule with minimal operations.

[0422] Example 1

[0423] 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."

[0424] In today's work environment, coordinating the schedules of multiple participants to schedule meetings is a time-consuming and labor-intensive process. This is especially true when participants use different calendars or time zones. Manually coordinating schedules becomes even more complicated and inefficient. Furthermore, the process of collecting feedback after deciding on a meeting date and time, confirming the final date and time, and updating each participant's calendar is also cumbersome and prone to human error. It is necessary to resolve these issues and improve the efficiency and accuracy of scheduling tasks.

[0425] 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.

[0426] In this invention, the server includes means for automatically collecting schedule information of participants via a network, means for analyzing the collected schedule information to identify free time for each participant, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting responses from participants, and means for finalizing the meeting date and time and automatically updating the calendars of all participants. This allows for automated, efficient, and accurate scheduling of multiple participants.

[0427] "Participant Appointment Information" means appointments recorded in the schedules of meeting or event participants, including events or appointments that individual participants have entered into calendar applications or other scheduling tools.

[0428] "Network-based" refers to the method of sending and receiving data over the Internet, a local network, etc. This allows communication between multiple devices or systems in remote locations.

[0429] "Automatic collection means" refers to the function of the system to autonomously acquire data without requiring manual operation by the user. This is mainly achieved using APIs and crawlers.

[0430] "Analysis" is the act of processing collected data to extract useful information, which includes shaping, filtering, aggregating, and categorizing the data.

[0431] "Available times" are times when participants have no other plans, providing everyone with the information they need to find a time that works for them.

[0432] The "optimal meeting date and time" is the most suitable time period that allows all participants to attend and satisfies the set conditions and constraints.

[0433] "Notification" refers to the act of the system transmitting some information to participants, primarily via email or message notification.

[0434] "Means for collecting responses" refers to functions for obtaining feedback and confirmation information from participants. This includes mechanisms for collecting clicks on confirmation links, reply emails, etc.

[0435] The "final meeting time" is the final meeting or event start time determined based on feedback from all participants.

[0436] "Automatically reflecting on calendars" refers to the function of automatically registering or updating the decided event in the participants' calendar applications. This is often achieved using an API.

[0437] "Priority of meetings" refers to the importance and priority of the meetings or events being held. This means that events with higher urgency will be given priority.

[0438] "Saving options" refers to the various options and conditions that can be set when arranging the date, time, and location of a meeting or event.

[0439] An "Application Programming Interface (API)" is an interface that allows software applications to communicate with each other and use each other's functions. Data is mainly exchanged via HTTP.

[0440] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule information, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[0441] First, a user uses an application on their device to create a list of people attending a meeting or event, and sends it to the server. This list includes the names and email addresses of the participants.

[0442] Next, the server connects to the calendar services of each participant based on the participant list received from the user. This is often done using the APIs of calendar applications such as Google Calendar or Microsoft Outlook. The server automatically collects the schedule data of participants through these APIs. For example, it uses the Google Calendar API to obtain the schedule information of participants in JSON format.

[0443] The server uses Python data analysis libraries (e.g., Pandas, Numpy) to analyze the collected schedule data, accurately identifying free time slots for each participant. The analysis process takes into account each participant's time zone and overlaps with already scheduled events to derive free slots.

[0444] Next, the server creates a list of available times for all participants based on the analysis results, and proposes the best meeting date and time from that list. The proposed date and time is selected taking into account the meeting priority and scheduling options set by the user. The server then saves the proposed date and time in a database.

[0445] The server then uses the SMTP protocol to send an email containing the proposed date and time to all participants, with a link that participants can click to confirm the date and time and provide feedback. Feedback is also collected automatically, and the final meeting date and time are determined.

[0446] After the final meeting date and time is determined, the server again uses the API to automatically update each participant's calendar with that date and time, allowing all participants to share the latest schedule information.

[0447] Specific examples

[0448] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0449] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0450] Prompt Sentence Examples

[0451] Below are some example prompts to input to the generative AI model:

[0452] "I'd like to adjust the schedules of five team members: Employee A, Employee B, Employee C, Employee D, and Employee E. Please suggest a date and time next week when all members are available."

[0453] By inputting this prompt into a generative AI model, optimal meeting date and time suggestions are automatically generated.

[0454] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0455] Program processing flow

[0456] Step 1: Enter and submit the participant list

[0457] A user opens an application on their device, creates a list of people to attend a meeting or event, and clicks the "Send" button. This list includes the names and email addresses of the participants.

[0458] Input: Participant's name, email address

[0459] Output: Participant list sent to the server (HTTP POST request)

[0460] Step 2: Automatic collection of schedule data

[0461] The server connects to each participant's calendar service based on the participant list received from the user. Specifically, it automatically collects participants' schedule data using APIs such as Google Calendar and Microsoft Outlook. The server sends an API request to each calendar service to obtain the schedule data.

[0462] Input: Participant list (name, email address)

[0463] Output: Schedule data for each participant (JSON format)

[0464] Step 3: Free time analysis

[0465] The server analyzes the collected schedule data and identifies free time slots for each participant. It uses Python data analysis libraries (e.g., Pandas, Numpy) to format and analyze the data. The server considers each participant's time zone and any events already set, and extracts free time slots while avoiding overlaps.

[0466] Input: Schedule data (JSON format)

[0467] Output: Free / busy list for each participant

[0468] Step 4: Propose the best meeting date and time

[0469] The server then creates a list of all participants' common free times based on the analysis results and selects the best meeting time from that list. The selection process takes into account the meeting priority and scheduling options set by the user. For example, meetings with a higher priority will take precedence over other events.

[0470] Input: Free / busy list, meeting priority, scheduling options

[0471] Output: Best meeting time

[0472] Step 5: Automatic email notification and confirmation

[0473] The server automatically generates an email containing the best meeting date and time and notifies all participants. The server uses the SMTP protocol to send emails containing the proposed meeting date and time. The email contains a link that participants can click to confirm the date and time and provide feedback.

[0474] Input: Best time and date for the meeting, participant email addresses

[0475] Output: Confirmation email sent to participants

[0476] Step 6: Confirm the date and add it to your calendar

[0477] The server collects feedback from each participant and determines the final meeting date and time. After all feedback has been collected, the server automatically updates each participant's calendar service with the final date and time. The server uses an API to update each participant's calendar.

[0478] Input: Participant feedback, final meeting date and time

[0479] Output: Updated calendar for each participant

[0480] (Application example 1)

[0481] 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."

[0482] In modern factories, numerous robots operate with various work and maintenance schedules, and it is necessary to coordinate their operating times efficiently. However, currently, schedule coordination between robots is often done manually, which requires a great deal of time and effort. This can lead to overlapping operating times and unnecessary waiting time, which can reduce production efficiency. Furthermore, coordinating maintenance schedules is complicated, and it can sometimes be difficult to ensure planned maintenance. To solve these issues, an automated schedule adjustment system is needed.

[0483] 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.

[0484] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for optimizing robot operation schedules and maintenance schedules. This automates the adjustment of robot operation schedules and maintenance schedules in a factory, reducing overlaps and unnecessary waiting time and improving production efficiency.

[0485] The term "participant" refers to a person about whom schedule data is collected in the automatic schedule adjustment system, and is a concept that includes factory robots and their managers.

[0486] "Schedule data" refers to information about schedules and free time recorded in the calendar service used by each participant.

[0487] A "network" is an infrastructure for transmitting and receiving data over the Internet or other communications medium.

[0488] "Means of collection" refers to the technical methods and processes by which the server automatically obtains schedule data from each participant's calendar service.

[0489] The "means of analysis" refers to data processing algorithms and software that determine available time and optimal meeting dates and times based on the collected schedule data.

[0490] The "means of identification" is the process of finding available time or optimal dates and times obtained as a result of the analysis.

[0491] The "means of suggestion" is a system that presents optimal meeting and working dates and times to all participants based on the analysis results.

[0492] "Means of Notification" means email, messaging application, or other means of communication used to notify Participants of the proposed date and time.

[0493] "Means for collecting feedback" refers to the system or process for receiving and compiling responses and comments from participants regarding the proposed date and time.

[0494] The "method to determine the final meeting date and time" is the algorithm or rules that take all feedback into account to determine the optimal date and time.

[0495] The "means of reflection" is the process by which the confirmed date and time are automatically incorporated into each participant's calendar or scheduling system.

[0496] An "operation schedule" is a schedule of tasks that a factory robot will perform during a specific time period.

[0497] The "maintenance schedule" is a schedule for maintenance activities such as maintenance and inspection of factory robots.

[0498] "Optimization means" refers to algorithms and software that efficiently adjust the operating and maintenance times of robots based on collected data.

[0499] This invention relates to a system for optimizing the operation and maintenance schedules of robots in a factory. This system automatically collects and analyzes schedule data from the participating factory robots and their managers, and proposes optimal operation and maintenance times. This system operates in cooperation with three parties: a server, a terminal, and a user.

[0500] Schedule data collection

[0501] The terminal inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service (e.g., a general calendar service API) used by each participant (in this case, the factory robots and administrators) and automatically collects schedule data via the API. This makes it possible to obtain schedule information for all participants without user assistance.

[0502] Free time analysis

[0503] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[0504] Proposal of optimal operation and maintenance times

[0505] The server then creates a list of common free times for all participants based on the analysis results, and proposes the most suitable operating and maintenance times from among them. This process takes into account the priorities and adjustment options set by the user. The proposed times are automatically saved by the server.

[0506] Automatic notification and confirmation

[0507] The server automatically generates a notification containing the proposed time and sends it to all participants. The notification includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the notification and click the link to provide feedback on the proposed time.

[0508] Finalize operation and maintenance times and reflect them on the calendar

[0509] The server collects feedback from participants and determines the final operation and maintenance times. These final times are automatically updated in each participant's calendar service by the server, allowing everyone to share the latest schedule information.

[0510] Specific examples

[0511] For example, say a factory has 10 robots, each with its own unique work and maintenance schedule. The manager wants to optimize the robots' daily operating hours to avoid overlapping. The system collects schedule data from each robot's calendar service and checks whether specific time slots are optimized.

[0512] Example prompts for generative AI models

[0513] Analyze the schedule data of 10 robots and propose the optimal common operating time. Each robot's schedule can be obtained through a calendar service API. You need to identify the time period when all robots operate together. For example, if the optimal operating time is from 10:00 AM to 2:00 PM next Wednesday, propose that time.

[0514] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0515] Step 1: The terminal inputs a list of participants according to the user's instructions and transmits it to the server.

[0516] Input: Participant list from user

[0517] Output: Participant list sent to the server

[0518] Specific operation: The user enters information about the factory robot and the administrator through the terminal interface. The entered information is converted into JSON format and sent to the server via an HTTP request.

[0519] Step 2: The server calls the API of the calendar service used by each participant and automatically collects schedule data.

[0520] Input: Participant list

[0521] Output: Schedule data for each participant

[0522] Specific operation: The server sends requests to the API endpoints of each calendar service based on the attendee list to obtain the event data, which is then formatted into a standardized format.

[0523] Step 3: The server analyzes the collected schedule data to identify the free time of each participant.

[0524] Input: Schedule data

[0525] Output: A list of available times for each participant

[0526] Specific operation: The server analyzes the acquired schedule data in chronological order and calculates the free time slots for each participant, including overlapping start and end times of events and combining consecutive free times.

[0527] Step 4: Based on the analysis results, the server creates a list of common free times for all participants and proposes the most suitable operation and maintenance times from among them.

[0528] Input: A list of available times for each participant

[0529] Output: Proposed operation and maintenance times

[0530] What it does: The server compares the free times of all participants, lists the time slots that match, and then selects the best time, taking into account the priorities and scheduling options set by the user.

[0531] Step 5: The server automatically generates a notification including the proposed time and notifies all participants.

[0532] Input: Proposed operating and maintenance times

[0533] Output: Notification to participants

[0534] Specific behavior: The server generates a notification message containing the proposed time slot and sends it to all participants via email or messaging service, including a confirmation link and the ability to add comments.

[0535] Step 6: Participants (users) receive a notification and click a link to provide feedback on the proposed time.

[0536] Input: Feedback on proposed operation and maintenance times

[0537] Output: Feedback information

[0538] Specific operation: Participants click the link in the notification message they received and enter their feedback through the web interface, which is then sent to the server.

[0539] Step 7: The server collects feedback from participants and determines the final operation and maintenance times.

[0540] Input: Feedback information

[0541] Output: Final operating and maintenance hours

[0542] What happens: The server aggregates feedback from all participants and reselects the best time based on that, proposing a new time slot if necessary.

[0543] Step 8: The server automatically updates each participant's calendar service with the final time.

[0544] Input: Final operation and maintenance hours

[0545] Output: Updated calendar for each participant

[0546] Specific operation: The server adds the final time determined to the calendars of the participants through the API of each calendar service, allowing everyone to share the latest schedule information.

[0547] 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.

[0548] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[0549] Collecting participant schedule data

[0550] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0551] Free time analysis

[0552] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0553] Suggesting the best meeting date and time

[0554] The server then uses the analyzed free time to identify the common free time of all participants and selects the most suitable meeting time from among those. This process also takes into account the meeting priority and other scheduling options set by the user. Furthermore, using an emotion engine, it can take into account the user's emotional data and select a time when stress levels are low. The proposed time is automatically saved by the server.

[0555] Automatic email notifications and confirmations

[0556] The server automatically generates an email containing the proposed date and time and notifies all participants. The email contains a link to confirm the date and time and provide feedback. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[0557] Collecting and analyzing feedback

[0558] Feedback from users is sent to the server via their devices. The server collects and stores the feedback in real time. The emotion engine analyzes the user's emotions from the text and voice contained in the feedback and determines their level of stress or dissatisfaction.

[0559] Final meeting date and time determined

[0560] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[0561] Reflection on the calendar

[0562] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0563] Specific examples

[0564] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0565] As a result, 2:00 PM on Wednesday of next week is suggested as the optimal date and time. This suggested date and time is notified to all members via an automatically generated email by the server. The emotion engine analyzes emotions from comments and voice in the user's email and determines that employee B is feeling stressed about this date and time. The server then uses this feedback to determine the next optimal date and time as 3:00 PM the following day, and automatically updates this on all members' calendars.

[0566] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment, and further makes it possible to increase the satisfaction of all participants by making suggestions that take into account the user's feelings.

[0567] The processing flow will be explained below.

[0568] Step 1:

[0569] Collecting participant schedule data

[0570] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0571] Step 2:

[0572] Free time analysis

[0573] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0574] Step 3:

[0575] Suggesting the best meeting date and time

[0576] The server identifies the common free time of all participants based on the analyzed free time. It then selects the most suitable meeting date and time from this common free time. The server considers the meeting priority and other adjustment options previously set by the user to determine the best date and time. It also uses an emotion engine to consider the user's emotional data and select a time slot with a low stress level. The proposed date and time are automatically saved by the server.

[0577] Step 4:

[0578] Generate automatic email notifications

[0579] The server automatically generates an email containing the proposed date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[0580] Step 5:

[0581] Sending emails

[0582] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[0583] Step 6:

[0584] Gathering feedback

[0585] Users (each participant) click on the link in the email they received and provide feedback on the proposed date and time. The server collects and stores this feedback in real time. The emotion engine analyzes the user's emotions from the text and voice included in the feedback and determines their level of stress or dissatisfaction.

[0586] Step 7:

[0587] Final meeting date and time determined

[0588] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[0589] Step 8:

[0590] Reflection on the calendar

[0591] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0592] This allows users to efficiently adjust schedules with minimal operations. Utilizing the emotion engine, schedule adjustments take into account participants' stress and frustration, improving everyone's satisfaction.

[0593] Example 2

[0594] 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."

[0595] Currently, adjusting the schedules of all participants takes a lot of time and effort, and it is very difficult to consider everyone's satisfaction. In addition, schedule adjustments do not reflect the emotions and stress levels of participants, so a system that is efficient yet takes participants' emotions into consideration is needed.

[0596] 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.

[0597] In this invention, the server includes means for automatically collecting participants' schedule information via a network, means for analyzing the collected schedule information to identify each participant's free time, means for proposing an optimal meeting time based on the identified free time, means for notifying participants of the proposed meeting time and collecting opinions from them, means for determining the final meeting time and automatically updating the time in all participants' schedule management systems, means for setting meeting priorities and adjustment options, means for using a program interface to acquire data from the participants' schedule management systems, emotion analysis means for analyzing participants' emotions and taking their stress levels into account at the proposed meeting time, and means for analyzing emotions from opinions regarding the proposed meeting time and re-proposing a meeting time based on the analysis results. This significantly reduces the effort and time required for schedule adjustment and enables efficient schedule adjustment that takes into account the emotions and stress levels of all participants.

[0598] "Participant" means a person or group of people being scheduled.

[0599] "Schedule information" refers to information about events and tasks that participants have entered into the schedule management system.

[0600] "Via a network" refers to a method of exchanging data using communication means such as the Internet or a local area network.

[0601] "Automatic collection means" refers to a system in which a program automatically acquires data without requiring manual operation by the user.

[0602] "Means for analyzing collected schedule information" refers to algorithms or processes for analyzing collected schedule information and identifying available time slots.

[0603] "Free time" refers to the time when participants are not tied down to other events or tasks.

[0604] "Gathering time" refers to the time when participants gather together.

[0605] "Means of notification" refers to the email or message sending system used to convey information to participants.

[0606] "Feedback" refers to the feedback provided by participants on the proposed meeting time.

[0607] "Final meeting time" refers to the time that is finally decided after taking into consideration the opinions and conditions of all participants.

[0608] A "schedule management system" refers to an application or service that allows participants to manage their schedules.

[0609] "Program interface" refers to a standardized means of exchanging data between pieces of software.

[0610] "Emotion analysis means" refers to technology for analyzing participants' emotions from text or audio data.

[0611] "Stress level" refers to the degree of stress participants feel at a particular time.

[0612] "Means for re-proposing" refers to a mechanism that takes into account feedback on the initial proposed time and proposes new candidate times.

[0613] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[0614] Collecting participant schedule data

[0615] The server receives the participant list entered by the user through the device. In this system, the server calls the API of calendar services such as Google Calendar and Microsoft Outlook based on the participant list entered by the device, and automatically collects the schedule data of each participant. The collected data is temporarily stored in a database on the server.

[0616] Free time analysis

[0617] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks and identifies free time slots that avoid those. The analysis results are output as a list of free time slots for each participant.

[0618] Suggesting the best meeting date and time

[0619] The server identifies the common free times of all participants based on the analyzed free times, and then selects the most suitable meeting time from among them. This process takes into account the meeting priority set by the user and other scheduling options. Furthermore, it can use an emotion engine to evaluate the user's emotional data and select a time slot that is less stressful. The proposed meeting time is automatically saved by the server.

[0620] Automatic email notifications and confirmations

[0621] The server automatically generates an email containing the proposed meeting date and time and sends it to all participants. The email includes a link to confirm the date and time and provide feedback. Users can click the link to provide feedback on the proposed date and time.

[0622] Collecting and analyzing feedback

[0623] Feedback from users is sent to the server via their devices. The server collects the user feedback in real time and stores it in a database. The emotion engine analyzes the text and voice data contained in the feedback, evaluates the user's emotions, and reflects this emotional information in the schedule adjustment process.

[0624] Final meeting date and time determined

[0625] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. It is also possible to request feedback again if necessary. The determined final date and time is saved in the schedule database by the server and automatically updated in each participant's calendar service.

[0626] Reflection on the calendar

[0627] The server automatically updates each participant's calendar with the final meeting date and time. Specifically, it calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed.

[0628] Specific examples

[0629] For example, when a user adjusts the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E), the user sends the participant list from the device to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0630] As a result, the server suggests 2:00 PM next Wednesday as the optimal date and time, and notifies all members via an automatically generated email. The emotion engine analyzes emotions from comments and voice in this email and determines that certain participants are feeling stressed about this date and time. The server then takes this feedback into consideration and determines the next optimal date and time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0631] Example prompts to input to the generative AI model

[0632] "How can I use the emotion engine to analyze the emotions from each participant's feedback and re-suggest meeting dates and times that minimize stress?"

[0633] As described above, the present invention can significantly improve the efficiency of schedule adjustment and increase satisfaction by making proposals that take into account the feelings of all participants.

[0634] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0635] Step 1: Collect participant schedule data

[0636] Input: A participant list where users input through their terminals.

[0637] Processing: The device sends this participant list to the server. The server receives the list and calls the API of each participant's calendar service, such as Google Calendar or Microsoft Outlook. Specifically, it authenticates using the API key and requests the schedule data of the specified user.

[0638] Output: Schedule data for each participant. For example, "Get schedule data from employee A's Google Calendar" is logged.

[0639] Step 2: Free time analysis

[0640] Input: Schedule data stored in the server.

[0641] Processing: The server analyzes the collected schedule data. It checks each participant's schedule and identifies available times. For example, it uses an algorithm to scan the event information stored in a database and extract non-overlapping time slots.

[0642] Output: A list of available times for each participant. For example, a specific list such as "Employee A's available times: Wednesday 2:00 PM - 4:00 PM."

[0643] Step 3: Propose the best meeting date and time

[0644] Input: A list of free times.

[0645] Processing: The server analyzes the free / busy lists to identify common free times for all participants, taking into account meeting priorities set by users and additional scheduling options. It uses an emotion engine to evaluate the emotion data and select a time slot with low stress levels. For example, the algorithm calculates the optimal time based on each user's feedback and the results of emotion analysis.

[0646] Output: Best time and date for a meeting. For example, "Best time and date for a meeting: Wednesday, 2-3 PM."

[0647] Step 4: Automatic email notification and confirmation

[0648] Input: Best time and date to meet.

[0649] Processing: The server automatically generates an email containing the proposed meeting date and time, the meeting date and location, and a link for confirmation and feedback. The server then sends this email to all participants.

[0650] Output: Email sent. For example, "Meeting date and time proposal email sent to all participants" is logged.

[0651] Step 5: Collect and analyze feedback

[0652] Input: User feedback.

[0653] Processing: The device sends the user's feedback to a server, which then collects the feedback in real time and stores it in a database. An emotion engine is used to analyze emotions from the text and voice data of the feedback to determine the level of stress or frustration. For example, natural language processing algorithms are used to analyze the text data.

[0654] Output: Analyzed emotional data. For example, a specific result such as "Employee B's stress level: High."

[0655] Step 6: Finalize the meeting date and time

[0656] Input: Feedback and analysis results.

[0657] Processing: The server recalculates the optimal meeting date and time based on the collected feedback and the emotion engine analysis results. It is also possible to request feedback again if necessary. For example, the server may recalculate the optimal date and time using an algorithm based on the emotion analysis results.

[0658] Output: Final meeting date and time. For example, a specific date and time such as "Final meeting date and time: 3:00 PM the next day."

[0659] Step 7: Update your calendar

[0660] Input: Final meeting date and time.

[0661] Processing: The server automatically updates each participant's calendar with the final confirmed meeting date and time. It calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed. For example, it uses the API to execute a command such as "Add an event to employee A's Google Calendar."

[0662] Output: Updated calendars and notifications. For example, specific logs and notifications such as "Meeting date and time confirmed and reflected on all calendars."

[0663] (Application example 2)

[0664] 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."

[0665] Conventional methods for adjusting maintenance schedules for robots and staff in factories require manually checking each individual's operating data and maintenance history to select the appropriate date and time, which is time-consuming and does not take into account emotions or fatigue levels, resulting in problems such as reduced efficiency and participant satisfaction.There is also a need for a method that combines emotion analysis to achieve more stress-free scheduling.

[0666] 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.

[0667] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for analyzing participants' emotions using an emotion engine and selecting a time period when stress levels are low. This makes it possible to efficiently adjust maintenance schedules for robots and staff in a factory and achieve stress-free maintenance scheduling that takes emotions and fatigue levels into consideration.

[0668] "Participants" are robots or staff members who are the subject of maintenance or meetings in the schedule adjustment system.

[0669] "Schedule data" refers to information such as schedules registered in the participant's calendar, operation status, and maintenance history.

[0670] A "network" is a communication infrastructure for data communication, such as the Internet or a local network.

[0671] The "emotion engine" is a software engine that analyzes participants' emotions from data such as text and voice, and determines their stress and fatigue levels.

[0672] "Feedback" is data about participants' opinions, impressions, and feelings about the proposed date and time.

[0673] A "calendar" is a tool or application for schedule management, such as Google Calendar or Microsoft Outlook.

[0674] "API" stands for Application Programming Interface, an interface for exchanging data between different software programs.

[0675] "Stress level" is an indicator that shows the participant's stress level as analyzed by the emotion engine.

[0676] "Notification" refers to the act of informing participants of the proposed date and time and decisions via email, message, etc.

[0677] To implement this invention, a system is required to collect schedule data of participants, propose optimal dates and times for meetings and maintenance, and finalize the dates and times. This system has a server, a terminal, and an emotion engine as its main components, and operates in the following manner.

[0678] First, the schedule data of participants is sent from the terminal to the server. To collect calendar information of robots and staff registered as participants, APIs such as Google Calendar and Microsoft Outlook are used. Specific API calls and data acquisition processes are performed by programs on the server. At this time, the schedule data is automatically collected via the network.

[0679] The server then analyzes the collected schedule data to identify free time slots for each participant. This analysis involves running an algorithm to identify common free time slots based on the collected events and tasks. Once free time slots have been identified, an emotion engine is used to analyze participants' emotional data and select times when stress levels are low. This emotion analysis uses software (such as IBM Watson or Google Cloud Natural Language API) to read emotions from text and speech.

[0680] The server then proposes the optimal date and time for a meeting or maintenance based on the identified free time and the results of sentiment analysis. The proposed date and time are automatically notified to all participants via their devices. The notification is sent via email or message, and includes a link to collect feedback from participants. Participants can click this link to provide feedback on the proposed date and time.

[0681] Feedback is collected in real time on the server and analyzed using the emotion engine. Based on the analysis results, the optimal date and time are recalculated and the final date and time are confirmed. This confirmed date and time is automatically reflected on all participants' calendars, again using the calendar API.

[0682] As a concrete example, consider the case of adjusting the maintenance schedules for 10 robots and 5 staff members in a factory. The participant list is sent from the device to the server, and each participant's operating status and maintenance history are collected via the Google Calendar API. Free time is identified based on the collected data, and the emotion engine analyzes stress levels to suggest the optimal date and time. This suggested date and time is notified to all participants, and feedback is collected and analyzed. The final date and time is confirmed and automatically reflected on all participants' calendars.

[0683] The following prompt sentences can be used as example inputs to a generative AI model:

[0684] "Design an application that collects operational data and past maintenance history to adjust the maintenance schedules of each robot and staff member in a factory, and suggests the optimal time and date for maintenance. Also, include a process where this system analyzes each participant's stress level and fatigue state using an emotion engine, and then suggests the optimal time and date."

[0685] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0686] Step 1:

[0687] The terminal creates a list of robots and staff members that require maintenance and sends it to the server. The input includes information about the specific robots and staff members that require maintenance. The server receives this information and prepares to collect calendar information for each robot and staff member.

[0688] Step 2:

[0689] Based on the received participant list, the server calls the API of a calendar service such as Google Calendar or Microsoft Outlook to collect schedule data for each participant. The input includes the participant list and calendar API call information. The output is the schedule data for each participant stored on the server.

[0690] Step 3:

[0691] The server analyzes the collected schedule data and identifies the free time of each participant. The input includes the collected schedule data. The server calculates the free time from the event and task data and creates a free time list for each participant. The output is a free time list for each participant.

[0692] Step 4:

[0693] The server proposes the optimal date and time for meetings or maintenance based on the identified free time. The input includes the free time list and priority information for meetings or maintenance. The server selects the optimal time based on the priority and decides on the proposed date and time. The output is the optimal proposed date and time.

[0694] Step 5:

[0695] The server notifies all participants of the proposed date and time. The input includes the proposed date and time and the participants' contact information. The server generates an email or message to send to each participant. The output is the notification sent to the participants.

[0696] Step 6:

[0697] Participants (users) receive a notification and provide feedback on the proposed date and time. The input includes participants' opinions and thoughts about the proposed date and time. Participants click a link in the email to send their feedback to the server. The output is the collected feedback data.

[0698] Step 7:

[0699] The server collects feedback from participants in real time and analyzes the emotional data contained in the feedback using an emotion engine. The inputs include the feedback data and emotion analysis software. The server analyzes the text and audio data to determine the participants' stress levels. The output is the analyzed emotional data.

[0700] Step 8:

[0701] The server recalculates the optimal meeting or maintenance date and time based on the emotion engine's analysis results and feedback, and determines the final date and time. The input includes emotion data and feedback information. The server selects and determines the new optimal date and time. The output is the confirmed final date and time.

[0702] Step 9:

[0703] The server automatically updates all participants' calendars with the finalized date and time. The input includes the final date and time and a calendar API. The server calls the API to add or update the event and update it on all participants' calendars. The output is the updated calendar information.

[0704] Step 10:

[0705] The terminal notifies the participants that the updated date and time has been confirmed. The input includes notification information of the confirmed date and time. The terminal creates a notification and sends it to all participants. The output is the notification of the confirmed date and time sent to all participants.

[0706] 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.

[0707] 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.

[0708] 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.

[0709] [Third embodiment]

[0710] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0711] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[0712] 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).

[0713] 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.

[0714] 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.

[0715] 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).

[0716] 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.

[0717] 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.

[0718] 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.

[0719] 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.

[0720] 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.

[0721] 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."

[0722] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule data, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[0723] Collecting participant schedule data

[0724] The device inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service used by each participant (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data via API. This makes it possible to obtain schedule information for all participants without user assistance.

[0725] Free time analysis

[0726] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[0727] Suggesting the best meeting date and time

[0728] The server then creates a list of common free times for all participants based on the analysis results and suggests the most suitable time and date from that list. This process takes into account the meeting priorities and scheduling options set by the user. The suggested time and date are automatically saved by the server.

[0729] Automatic email notifications and confirmations

[0730] The server automatically generates an email containing the proposed date and time and notifies all participants. The email includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[0731] Confirmation of dates and reflection on the calendar

[0732] The server collects feedback from participants and determines the final meeting date and time, which is then automatically updated in each participant's calendar service, ensuring everyone has the latest schedule information.

[0733] Specific examples

[0734] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0735] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0736] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment and minimizes the user's effort.

[0737] The processing flow will be explained below.

[0738] Step 1:

[0739] Collecting participant schedule data

[0740] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0741] Step 2:

[0742] Free time analysis

[0743] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0744] Step 3:

[0745] Suggesting the best meeting date and time

[0746] The server identifies the common free time of all participants based on the analyzed free time, and selects the most suitable meeting date and time from this common free time. The server also takes into account the meeting priority and other adjustment options previously set by the user to determine the best date and time.

[0747] Step 4:

[0748] Generate automatic email notifications

[0749] The server automatically generates an email containing the proposed meeting date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[0750] Step 5:

[0751] Sending emails

[0752] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[0753] Step 6:

[0754] Gathering feedback

[0755] Users (each participant) click on a link in the email they receive and provide feedback on the proposed date and time. The server collects and stores this feedback in real time.

[0756] Step 7:

[0757] Final meeting date and time determined

[0758] The server recalculates the optimal meeting time based on the collected feedback and determines the final time, and may ask for more feedback if necessary.

[0759] Step 8:

[0760] Reflection on the calendar

[0761] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0762] This allows the user to efficiently adjust the schedule with minimal operations.

[0763] Example 1

[0764] 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."

[0765] In today's work environment, coordinating the schedules of multiple participants to schedule meetings is a time-consuming and labor-intensive process. This is especially true when participants use different calendars or time zones. Manually coordinating schedules becomes even more complicated and inefficient. Furthermore, the process of collecting feedback after deciding on a meeting date and time, confirming the final date and time, and updating each participant's calendar is also cumbersome and prone to human error. It is necessary to resolve these issues and improve the efficiency and accuracy of scheduling tasks.

[0766] 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.

[0767] In this invention, the server includes means for automatically collecting schedule information of participants via a network, means for analyzing the collected schedule information to identify free time for each participant, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting responses from participants, and means for finalizing the meeting date and time and automatically updating the calendars of all participants. This allows for automated, efficient, and accurate scheduling of multiple participants.

[0768] "Participant Appointment Information" means appointments recorded in the schedules of meeting or event participants, including events or appointments that individual participants have entered into calendar applications or other scheduling tools.

[0769] "Network-based" refers to the method of sending and receiving data over the Internet, a local network, etc. This allows communication between multiple devices or systems in remote locations.

[0770] "Automatic collection means" refers to the function of the system to autonomously acquire data without requiring manual operation by the user. This is mainly achieved using APIs and crawlers.

[0771] "Analysis" is the act of processing collected data to extract useful information, which includes shaping, filtering, aggregating, and categorizing the data.

[0772] "Available times" are times when participants have no other plans, providing everyone with the information they need to find a time that works for them.

[0773] The "optimal meeting date and time" is the most suitable time period that allows all participants to attend and satisfies the set conditions and constraints.

[0774] "Notification" refers to the act of the system transmitting some information to participants, primarily via email or message notification.

[0775] "Means for collecting responses" refers to functions for obtaining feedback and confirmation information from participants. This includes mechanisms for collecting clicks on confirmation links, reply emails, etc.

[0776] The "final meeting time" is the final meeting or event start time determined based on feedback from all participants.

[0777] "Automatically reflecting on calendars" refers to the function of automatically registering or updating the decided event in the participants' calendar applications. This is often achieved using an API.

[0778] "Priority of meetings" refers to the importance and priority of the meetings or events being held. This means that events with higher urgency will be given priority.

[0779] "Saving options" refers to the various options and conditions that can be set when arranging the date, time, and location of a meeting or event.

[0780] An "Application Programming Interface (API)" is an interface that allows software applications to communicate with each other and use each other's functions. Data is mainly exchanged via HTTP.

[0781] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule information, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[0782] First, a user uses an application on their device to create a list of people attending a meeting or event, and sends it to the server. This list includes the names and email addresses of the participants.

[0783] Next, the server connects to the calendar services of each participant based on the participant list received from the user. This is often done using the APIs of calendar applications such as Google Calendar or Microsoft Outlook. The server automatically collects the schedule data of participants through these APIs. For example, it uses the Google Calendar API to obtain the schedule information of participants in JSON format.

[0784] The server uses Python data analysis libraries (e.g., Pandas, Numpy) to analyze the collected schedule data, accurately identifying free time slots for each participant. The analysis process takes into account each participant's time zone and overlaps with already scheduled events to derive free slots.

[0785] Next, the server creates a list of available times for all participants based on the analysis results, and proposes the best meeting date and time from that list. The proposed date and time is selected taking into account the meeting priority and scheduling options set by the user. The server then saves the proposed date and time in a database.

[0786] The server then uses the SMTP protocol to send an email containing the proposed date and time to all participants, with a link that participants can click to confirm the date and time and provide feedback. Feedback is also collected automatically, and the final meeting date and time are determined.

[0787] After the final meeting date and time is determined, the server again uses the API to automatically update each participant's calendar with that date and time, allowing all participants to share the latest schedule information.

[0788] Specific examples

[0789] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0790] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0791] Prompt Sentence Examples

[0792] Below are some example prompts to input to the generative AI model:

[0793] "I'd like to adjust the schedules of five team members: Employee A, Employee B, Employee C, Employee D, and Employee E. Please suggest a date and time next week when all members are available."

[0794] By inputting this prompt into a generative AI model, optimal meeting date and time suggestions are automatically generated.

[0795] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0796] Program processing flow

[0797] Step 1: Enter and submit the participant list

[0798] A user opens an application on their device, creates a list of people to attend a meeting or event, and clicks the "Send" button. This list includes the names and email addresses of the participants.

[0799] Input: Participant's name, email address

[0800] Output: Participant list sent to the server (HTTP POST request)

[0801] Step 2: Automatic collection of schedule data

[0802] The server connects to each participant's calendar service based on the participant list received from the user. Specifically, it automatically collects participants' schedule data using APIs such as Google Calendar and Microsoft Outlook. The server sends an API request to each calendar service to obtain the schedule data.

[0803] Input: Participant list (name, email address)

[0804] Output: Schedule data for each participant (JSON format)

[0805] Step 3: Free time analysis

[0806] The server analyzes the collected schedule data and identifies free time slots for each participant. It uses Python data analysis libraries (e.g., Pandas, Numpy) to format and analyze the data. The server considers each participant's time zone and any events already set, and extracts free time slots while avoiding overlaps.

[0807] Input: Schedule data (JSON format)

[0808] Output: Free / busy list for each participant

[0809] Step 4: Propose the best meeting date and time

[0810] The server then creates a list of all participants' common free times based on the analysis results and selects the best meeting time from that list. The selection process takes into account the meeting priority and scheduling options set by the user. For example, meetings with a higher priority will take precedence over other events.

[0811] Input: Free / busy list, meeting priority, scheduling options

[0812] Output: Best meeting time

[0813] Step 5: Automatic email notification and confirmation

[0814] The server automatically generates an email containing the best meeting date and time and notifies all participants. The server uses the SMTP protocol to send emails containing the proposed meeting date and time. The email contains a link that participants can click to confirm the date and time and provide feedback.

[0815] Input: Best time and date for the meeting, participant email addresses

[0816] Output: Confirmation email sent to participants

[0817] Step 6: Confirm the date and add it to your calendar

[0818] The server collects feedback from each participant and determines the final meeting date and time. After all feedback has been collected, the server automatically updates each participant's calendar service with the final date and time. The server uses an API to update each participant's calendar.

[0819] Input: Participant feedback, final meeting date and time

[0820] Output: Updated calendar for each participant

[0821] (Application example 1)

[0822] 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."

[0823] In modern factories, numerous robots operate with various work and maintenance schedules, and it is necessary to coordinate their operating times efficiently. However, currently, schedule coordination between robots is often done manually, which requires a great deal of time and effort. This can lead to overlapping operating times and unnecessary waiting time, which can reduce production efficiency. Furthermore, coordinating maintenance schedules is complicated, and it can sometimes be difficult to ensure planned maintenance. To solve these issues, an automated schedule adjustment system is needed.

[0824] 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.

[0825] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for optimizing robot operation schedules and maintenance schedules. This automates the adjustment of robot operation schedules and maintenance schedules in a factory, reducing overlaps and unnecessary waiting time and improving production efficiency.

[0826] The term "participant" refers to a person about whom schedule data is collected in the automatic schedule adjustment system, and is a concept that includes factory robots and their managers.

[0827] "Schedule data" refers to information about schedules and free time recorded in the calendar service used by each participant.

[0828] A "network" is an infrastructure for transmitting and receiving data over the Internet or other communications medium.

[0829] "Means of collection" refers to the technical methods and processes by which the server automatically obtains schedule data from each participant's calendar service.

[0830] The "means of analysis" refers to data processing algorithms and software that determine available time and optimal meeting dates and times based on the collected schedule data.

[0831] The "means of identification" is the process of finding available time or optimal dates and times obtained as a result of the analysis.

[0832] The "means of suggestion" is a system that presents optimal meeting and working dates and times to all participants based on the analysis results.

[0833] "Means of Notification" means email, messaging application, or other means of communication used to notify Participants of the proposed date and time.

[0834] "Means for collecting feedback" refers to the system or process for receiving and compiling responses and comments from participants regarding the proposed date and time.

[0835] The "method to determine the final meeting date and time" is the algorithm or rules that take all feedback into account to determine the optimal date and time.

[0836] The "means of reflection" is the process by which the confirmed date and time are automatically incorporated into each participant's calendar or scheduling system.

[0837] An "operation schedule" is a schedule of tasks that a factory robot will perform during a specific time period.

[0838] The "maintenance schedule" is a schedule for maintenance activities such as maintenance and inspection of factory robots.

[0839] "Optimization means" refers to algorithms and software that efficiently adjust the operating and maintenance times of robots based on collected data.

[0840] This invention relates to a system for optimizing the operation and maintenance schedules of robots in a factory. This system automatically collects and analyzes schedule data from the participating factory robots and their managers, and proposes optimal operation and maintenance times. This system operates in cooperation with three parties: a server, a terminal, and a user.

[0841] Schedule data collection

[0842] The terminal inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service (e.g., a general calendar service API) used by each participant (in this case, the factory robots and administrators) and automatically collects schedule data via the API. This makes it possible to obtain schedule information for all participants without user assistance.

[0843] Free time analysis

[0844] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[0845] Proposal of optimal operation and maintenance times

[0846] The server then creates a list of common free times for all participants based on the analysis results, and proposes the most suitable operating and maintenance times from among them. This process takes into account the priorities and adjustment options set by the user. The proposed times are automatically saved by the server.

[0847] Automatic notification and confirmation

[0848] The server automatically generates a notification containing the proposed time and sends it to all participants. The notification includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the notification and click the link to provide feedback on the proposed time.

[0849] Finalize operation and maintenance times and reflect them on the calendar

[0850] The server collects feedback from participants and determines the final operation and maintenance times. These final times are automatically updated in each participant's calendar service by the server, allowing everyone to share the latest schedule information.

[0851] Specific examples

[0852] For example, say a factory has 10 robots, each with its own unique work and maintenance schedule. The manager wants to optimize the robots' daily operating hours to avoid overlapping. The system collects schedule data from each robot's calendar service and checks whether specific time slots are optimized.

[0853] Example prompts for generative AI models

[0854] Analyze the schedule data of 10 robots and propose the optimal common operating time. Each robot's schedule can be obtained through a calendar service API. You need to identify the time period when all robots operate together. For example, if the optimal operating time is from 10:00 AM to 2:00 PM next Wednesday, propose that time.

[0855] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0856] Step 1: The terminal inputs a list of participants according to the user's instructions and transmits it to the server.

[0857] Input: Participant list from user

[0858] Output: Participant list sent to the server

[0859] Specific operation: The user enters information about the factory robot and the administrator through the terminal interface. The entered information is converted into JSON format and sent to the server via an HTTP request.

[0860] Step 2: The server calls the API of the calendar service used by each participant and automatically collects schedule data.

[0861] Input: Participant list

[0862] Output: Schedule data for each participant

[0863] Specific operation: The server sends requests to the API endpoints of each calendar service based on the attendee list to obtain the event data, which is then formatted into a standardized format.

[0864] Step 3: The server analyzes the collected schedule data to identify the free time of each participant.

[0865] Input: Schedule data

[0866] Output: A list of available times for each participant

[0867] Specific operation: The server analyzes the acquired schedule data in chronological order and calculates the free time slots for each participant, including overlapping start and end times of events and combining consecutive free times.

[0868] Step 4: Based on the analysis results, the server creates a list of common free times for all participants and proposes the most suitable operation and maintenance times from among them.

[0869] Input: A list of available times for each participant

[0870] Output: Proposed operation and maintenance times

[0871] What it does: The server compares the free times of all participants, lists the time slots that match, and then selects the best time, taking into account the priorities and scheduling options set by the user.

[0872] Step 5: The server automatically generates a notification including the proposed time and notifies all participants.

[0873] Input: Proposed operating and maintenance times

[0874] Output: Notification to participants

[0875] Specific behavior: The server generates a notification message containing the proposed time slot and sends it to all participants via email or messaging service, including a confirmation link and the ability to add comments.

[0876] Step 6: Participants (users) receive a notification and click a link to provide feedback on the proposed time.

[0877] Input: Feedback on proposed operation and maintenance times

[0878] Output: Feedback information

[0879] Specific operation: Participants click the link in the notification message they received and enter their feedback through the web interface, which is then sent to the server.

[0880] Step 7: The server collects feedback from participants and determines the final operation and maintenance times.

[0881] Input: Feedback information

[0882] Output: Final operating and maintenance hours

[0883] What happens: The server aggregates feedback from all participants and reselects the best time based on that, proposing a new time slot if necessary.

[0884] Step 8: The server automatically updates each participant's calendar service with the final time.

[0885] Input: Final operation and maintenance hours

[0886] Output: Updated calendar for each participant

[0887] Specific operation: The server adds the final time determined to the calendars of the participants through the API of each calendar service, allowing everyone to share the latest schedule information.

[0888] 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.

[0889] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[0890] Collecting participant schedule data

[0891] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0892] Free time analysis

[0893] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0894] Suggesting the best meeting date and time

[0895] The server then uses the analyzed free time to identify the common free time of all participants and selects the most suitable meeting time from among those. This process also takes into account the meeting priority and other scheduling options set by the user. Furthermore, using an emotion engine, it can take into account the user's emotional data and select a time when stress levels are low. The proposed time is automatically saved by the server.

[0896] Automatic email notifications and confirmations

[0897] The server automatically generates an email containing the proposed date and time and notifies all participants. The email contains a link to confirm the date and time and provide feedback. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[0898] Collecting and analyzing feedback

[0899] Feedback from users is sent to the server via their devices. The server collects and stores the feedback in real time. The emotion engine analyzes the user's emotions from the text and voice contained in the feedback and determines their level of stress or dissatisfaction.

[0900] Final meeting date and time determined

[0901] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[0902] Reflection on the calendar

[0903] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0904] Specific examples

[0905] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0906] As a result, 2:00 PM on Wednesday of next week is suggested as the optimal date and time. This suggested date and time is notified to all members via an automatically generated email by the server. The emotion engine analyzes emotions from comments and voice in the user's email and determines that employee B is feeling stressed about this date and time. The server then uses this feedback to determine the next optimal date and time as 3:00 PM the following day, and automatically updates this on all members' calendars.

[0907] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment, and further makes it possible to increase the satisfaction of all participants by making suggestions that take into account the user's feelings.

[0908] The processing flow will be explained below.

[0909] Step 1:

[0910] Collecting participant schedule data

[0911] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[0912] Step 2:

[0913] Free time analysis

[0914] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[0915] Step 3:

[0916] Suggesting the best meeting date and time

[0917] The server identifies the common free time of all participants based on the analyzed free time. It then selects the most suitable meeting date and time from this common free time. The server considers the meeting priority and other adjustment options previously set by the user to determine the best date and time. It also uses an emotion engine to consider the user's emotional data and select a time slot with a low stress level. The proposed date and time are automatically saved by the server.

[0918] Step 4:

[0919] Generate automatic email notifications

[0920] The server automatically generates an email containing the proposed date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[0921] Step 5:

[0922] Sending emails

[0923] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[0924] Step 6:

[0925] Gathering feedback

[0926] Users (each participant) click on the link in the email they received and provide feedback on the proposed date and time. The server collects and stores this feedback in real time. The emotion engine analyzes the user's emotions from the text and voice included in the feedback and determines their level of stress or dissatisfaction.

[0927] Step 7:

[0928] Final meeting date and time determined

[0929] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[0930] Step 8:

[0931] Reflection on the calendar

[0932] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[0933] This allows users to efficiently adjust schedules with minimal operations. Utilizing the emotion engine, schedule adjustments take into account participants' stress and frustration, improving everyone's satisfaction.

[0934] Example 2

[0935] 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."

[0936] Currently, adjusting the schedules of all participants takes a lot of time and effort, and it is very difficult to consider everyone's satisfaction. In addition, schedule adjustments do not reflect the emotions and stress levels of participants, so a system that is efficient yet takes participants' emotions into consideration is needed.

[0937] 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.

[0938] In this invention, the server includes means for automatically collecting participants' schedule information via a network, means for analyzing the collected schedule information to identify each participant's free time, means for proposing an optimal meeting time based on the identified free time, means for notifying participants of the proposed meeting time and collecting opinions from them, means for determining the final meeting time and automatically updating the time in all participants' schedule management systems, means for setting meeting priorities and adjustment options, means for using a program interface to acquire data from the participants' schedule management systems, emotion analysis means for analyzing participants' emotions and taking their stress levels into account at the proposed meeting time, and means for analyzing emotions from opinions regarding the proposed meeting time and re-proposing a meeting time based on the analysis results. This significantly reduces the effort and time required for schedule adjustment and enables efficient schedule adjustment that takes into account the emotions and stress levels of all participants.

[0939] "Participant" means a person or group of people being scheduled.

[0940] "Schedule information" refers to information about events and tasks that participants have entered into the schedule management system.

[0941] "Via a network" refers to a method of exchanging data using communication means such as the Internet or a local area network.

[0942] "Automatic collection means" refers to a system in which a program automatically acquires data without requiring manual operation by the user.

[0943] "Means for analyzing collected schedule information" refers to algorithms or processes for analyzing collected schedule information and identifying available time slots.

[0944] "Free time" refers to the time when participants are not tied down to other events or tasks.

[0945] "Gathering time" refers to the time when participants gather together.

[0946] "Means of notification" refers to the email or message sending system used to convey information to participants.

[0947] "Feedback" refers to the feedback provided by participants on the proposed meeting time.

[0948] "Final meeting time" refers to the time that is finally decided after taking into consideration the opinions and conditions of all participants.

[0949] A "schedule management system" refers to an application or service that allows participants to manage their schedules.

[0950] "Program interface" refers to a standardized means of exchanging data between pieces of software.

[0951] "Emotion analysis means" refers to technology for analyzing participants' emotions from text or audio data.

[0952] "Stress level" refers to the degree of stress participants feel at a particular time.

[0953] "Means for re-proposing" refers to a mechanism that takes into account feedback on the initial proposed time and proposes new candidate times.

[0954] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[0955] Collecting participant schedule data

[0956] The server receives the participant list entered by the user through the device. In this system, the server calls the API of calendar services such as Google Calendar and Microsoft Outlook based on the participant list entered by the device, and automatically collects the schedule data of each participant. The collected data is temporarily stored in a database on the server.

[0957] Free time analysis

[0958] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks and identifies free time slots that avoid those. The analysis results are output as a list of free time slots for each participant.

[0959] Suggesting the best meeting date and time

[0960] The server identifies the common free times of all participants based on the analyzed free times, and then selects the most suitable meeting time from among them. This process takes into account the meeting priority set by the user and other scheduling options. Furthermore, it can use an emotion engine to evaluate the user's emotional data and select a time slot that is less stressful. The proposed meeting time is automatically saved by the server.

[0961] Automatic email notifications and confirmations

[0962] The server automatically generates an email containing the proposed meeting date and time and sends it to all participants. The email includes a link to confirm the date and time and provide feedback. Users can click the link to provide feedback on the proposed date and time.

[0963] Collecting and analyzing feedback

[0964] Feedback from users is sent to the server via their devices. The server collects the user feedback in real time and stores it in a database. The emotion engine analyzes the text and voice data contained in the feedback, evaluates the user's emotions, and reflects this emotional information in the schedule adjustment process.

[0965] Final meeting date and time determined

[0966] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. It is also possible to request feedback again if necessary. The determined final date and time is saved in the schedule database by the server and automatically updated in each participant's calendar service.

[0967] Reflection on the calendar

[0968] The server automatically updates each participant's calendar with the final meeting date and time. Specifically, it calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed.

[0969] Specific examples

[0970] For example, when a user adjusts the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E), the user sends the participant list from the device to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[0971] As a result, the server suggests 2:00 PM next Wednesday as the optimal date and time, and notifies all members via an automatically generated email. The emotion engine analyzes emotions from comments and voice in this email and determines that certain participants are feeling stressed about this date and time. The server then takes this feedback into consideration and determines the next optimal date and time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[0972] Example prompts to input to the generative AI model

[0973] "How can I use the emotion engine to analyze the emotions from each participant's feedback and re-suggest meeting dates and times that minimize stress?"

[0974] As described above, the present invention can significantly improve the efficiency of schedule adjustment and increase satisfaction by making proposals that take into account the feelings of all participants.

[0975] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0976] Step 1: Collect participant schedule data

[0977] Input: A participant list where users input through their terminals.

[0978] Processing: The device sends this participant list to the server. The server receives the list and calls the API of each participant's calendar service, such as Google Calendar or Microsoft Outlook. Specifically, it authenticates using the API key and requests the schedule data of the specified user.

[0979] Output: Schedule data for each participant. For example, "Get schedule data from employee A's Google Calendar" is logged.

[0980] Step 2: Free time analysis

[0981] Input: Schedule data stored in the server.

[0982] Processing: The server analyzes the collected schedule data. It checks each participant's schedule and identifies available times. For example, it uses an algorithm to scan the event information stored in a database and extract non-overlapping time slots.

[0983] Output: A list of available times for each participant. For example, a specific list such as "Employee A's available times: Wednesday 2:00 PM - 4:00 PM."

[0984] Step 3: Propose the best meeting date and time

[0985] Input: A list of free times.

[0986] Processing: The server analyzes the free / busy lists to identify common free times for all participants, taking into account meeting priorities set by users and additional scheduling options. It uses an emotion engine to evaluate the emotion data and select a time slot with low stress levels. For example, the algorithm calculates the optimal time based on each user's feedback and the results of emotion analysis.

[0987] Output: Best time and date for a meeting. For example, "Best time and date for a meeting: Wednesday, 2-3 PM."

[0988] Step 4: Automatic email notification and confirmation

[0989] Input: Best time and date to meet.

[0990] Processing: The server automatically generates an email containing the proposed meeting date and time, the meeting date and location, and a link for confirmation and feedback. The server then sends this email to all participants.

[0991] Output: Email sent. For example, "Meeting date and time proposal email sent to all participants" is logged.

[0992] Step 5: Collect and analyze feedback

[0993] Input: User feedback.

[0994] Processing: The device sends the user's feedback to a server, which then collects the feedback in real time and stores it in a database. An emotion engine is used to analyze emotions from the text and voice data of the feedback to determine the level of stress or frustration. For example, natural language processing algorithms are used to analyze the text data.

[0995] Output: Analyzed emotional data. For example, a specific result such as "Employee B's stress level: High."

[0996] Step 6: Finalize the meeting date and time

[0997] Input: Feedback and analysis results.

[0998] Processing: The server recalculates the optimal meeting date and time based on the collected feedback and the emotion engine analysis results. It is also possible to request feedback again if necessary. For example, the server may recalculate the optimal date and time based on the emotion analysis results using an algorithm.

[0999] Output: Final meeting date and time. For example, a specific date and time such as "Final meeting date and time: 3:00 PM the next day."

[1000] Step 7: Update your calendar

[1001] Input: Final meeting date and time.

[1002] Processing: The server automatically updates each participant's calendar with the final confirmed meeting date and time. It calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed. For example, it uses the API to execute a command such as "Add an event to employee A's Google Calendar."

[1003] Output: Updated calendars and notifications. For example, specific logs and notifications such as "Meeting date and time confirmed and reflected on all calendars."

[1004] (Application example 2)

[1005] 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."

[1006] Conventional methods for adjusting maintenance schedules for robots and staff in factories require manually checking each individual's operating data and maintenance history to select the appropriate date and time, which is time-consuming and does not take into account emotions or fatigue levels, resulting in problems such as reduced efficiency and participant satisfaction.There is also a need for a method that combines emotion analysis to achieve more stress-free scheduling.

[1007] 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.

[1008] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for analyzing participants' emotions using an emotion engine and selecting a time period when stress levels are low. This makes it possible to efficiently adjust maintenance schedules for robots and staff in a factory and achieve stress-free maintenance scheduling that takes emotions and fatigue levels into consideration.

[1009] "Participants" are robots or staff members who are the subject of maintenance or meetings in the schedule adjustment system.

[1010] "Schedule data" refers to information such as schedules registered in the participant's calendar, operation status, and maintenance history.

[1011] A "network" is a communication infrastructure for data communication, such as the Internet or a local network.

[1012] The "emotion engine" is a software engine that analyzes participants' emotions from data such as text and voice, and determines their stress and fatigue levels.

[1013] "Feedback" is data about participants' opinions, impressions, and feelings about the proposed date and time.

[1014] A "calendar" is a tool or application for schedule management, such as Google Calendar or Microsoft Outlook.

[1015] "API" stands for Application Programming Interface, an interface for exchanging data between different software programs.

[1016] "Stress level" is an indicator that shows the participant's stress level as analyzed by the emotion engine.

[1017] "Notification" refers to the act of informing participants of the proposed date and time and decisions via email, message, etc.

[1018] To implement this invention, a system is required to collect schedule data of participants, propose optimal dates and times for meetings and maintenance, and finalize the dates and times. This system has a server, a terminal, and an emotion engine as its main components, and operates in the following manner.

[1019] First, the schedule data of participants is sent from the terminal to the server. To collect calendar information of robots and staff registered as participants, APIs such as Google Calendar and Microsoft Outlook are used. Specific API calls and data acquisition processes are performed by programs on the server. At this time, the schedule data is automatically collected via the network.

[1020] The server then analyzes the collected schedule data to identify free time slots for each participant. This analysis involves running an algorithm to identify common free time slots based on the collected events and tasks. Once free time slots have been identified, an emotion engine is used to analyze participants' emotional data and select times when stress levels are low. This emotion analysis uses software (such as IBM Watson or Google Cloud Natural Language API) to read emotions from text and speech.

[1021] The server then proposes the optimal date and time for a meeting or maintenance based on the identified free time and the results of sentiment analysis. The proposed date and time are automatically notified to all participants via their devices. The notification is sent via email or message, and includes a link to collect feedback from participants. Participants can click this link to provide feedback on the proposed date and time.

[1022] Feedback is collected in real time on the server and analyzed using the emotion engine. Based on the analysis results, the optimal date and time are recalculated and the final date and time are confirmed. This confirmed date and time is automatically reflected on all participants' calendars, again using the calendar API.

[1023] As a concrete example, consider the case of adjusting the maintenance schedules for 10 robots and 5 staff members in a factory. The participant list is sent from the device to the server, and each participant's operating status and maintenance history are collected via the Google Calendar API. Free time is identified based on the collected data, and the emotion engine analyzes stress levels to suggest the optimal date and time. This suggested date and time is notified to all participants, and feedback is collected and analyzed. The final date and time is confirmed and automatically reflected on all participants' calendars.

[1024] The following prompt sentences can be used as example inputs to a generative AI model:

[1025] "Design an application that collects operational data and past maintenance history to adjust the maintenance schedules of each robot and staff member in a factory, and suggests the optimal time and date for maintenance. Also, include a process where this system analyzes each participant's stress level and fatigue state using an emotion engine, and then suggests the optimal time and date."

[1026] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1027] Step 1:

[1028] The terminal creates a list of robots and staff members that require maintenance and sends it to the server. The input includes information about the specific robots and staff members that require maintenance. The server receives this information and prepares to collect calendar information for each robot and staff member.

[1029] Step 2:

[1030] Based on the received participant list, the server calls the API of a calendar service such as Google Calendar or Microsoft Outlook to collect schedule data for each participant. The input includes the participant list and calendar API call information. The output is the schedule data for each participant stored on the server.

[1031] Step 3:

[1032] The server analyzes the collected schedule data and identifies the free time of each participant. The input includes the collected schedule data. The server calculates the free time from the event and task data and creates a free time list for each participant. The output is a free time list for each participant.

[1033] Step 4:

[1034] The server proposes the optimal date and time for meetings or maintenance based on the identified free time. The input includes the free time list and priority information for meetings or maintenance. The server selects the optimal time based on the priority and decides on the proposed date and time. The output is the optimal proposed date and time.

[1035] Step 5:

[1036] The server notifies all participants of the proposed date and time. The input includes the proposed date and time and the participants' contact information. The server generates an email or message to send to each participant. The output is the notification sent to the participants.

[1037] Step 6:

[1038] Participants (users) receive a notification and provide feedback on the proposed date and time. The input includes participants' opinions and thoughts about the proposed date and time. Participants click a link in the email to send their feedback to the server. The output is the collected feedback data.

[1039] Step 7:

[1040] The server collects feedback from participants in real time and analyzes the emotional data contained in the feedback using an emotion engine. The inputs include the feedback data and emotion analysis software. The server analyzes the text and audio data to determine the participants' stress levels. The output is the analyzed emotional data.

[1041] Step 8:

[1042] The server recalculates the optimal meeting or maintenance date and time based on the emotion engine's analysis results and feedback, and determines the final date and time. The input includes emotion data and feedback information. The server selects and determines the new optimal date and time. The output is the confirmed final date and time.

[1043] Step 9:

[1044] The server automatically updates all participants' calendars with the finalized date and time. The input includes the final date and time and a calendar API. The server calls the API to add or update the event and update it on all participants' calendars. The output is the updated calendar information.

[1045] Step 10:

[1046] The terminal notifies the participants that the updated date and time has been confirmed. The input includes notification information of the confirmed date and time. The terminal creates a notification and sends it to all participants. The output is the notification of the confirmed date and time sent to all participants.

[1047] 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.

[1048] 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.

[1049] 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.

[1050] [Fourth embodiment]

[1051] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1052] 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.

[1053] 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).

[1054] 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.

[1055] 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.

[1056] 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).

[1057] 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.

[1058] 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.

[1059] 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.

[1060] 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.

[1061] 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.

[1062] 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.

[1063] 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."

[1064] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule data, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[1065] Collecting participant schedule data

[1066] The device inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service used by each participant (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data via API. This makes it possible to obtain schedule information for all participants without user assistance.

[1067] Free time analysis

[1068] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[1069] Suggesting the best meeting date and time

[1070] The server then creates a list of common free times for all participants based on the analysis results and suggests the most suitable time and date from that list. This process takes into account the meeting priorities and scheduling options set by the user. The suggested time and date are automatically saved by the server.

[1071] Automatic email notifications and confirmations

[1072] The server automatically generates an email containing the proposed date and time and notifies all participants. The email includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[1073] Confirmation of dates and reflection on the calendar

[1074] The server collects feedback from participants and determines the final meeting date and time, which is then automatically updated in each participant's calendar service, ensuring everyone has the latest schedule information.

[1075] Specific examples

[1076] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[1077] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[1078] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment and minimizes the user's effort.

[1079] The processing flow will be explained below.

[1080] Step 1:

[1081] Collecting participant schedule data

[1082] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[1083] Step 2:

[1084] Free time analysis

[1085] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[1086] Step 3:

[1087] Suggesting the best meeting date and time

[1088] The server identifies the common free time of all participants based on the analyzed free time, and selects the most suitable meeting date and time from this common free time. The server also takes into account the meeting priority and other adjustment options previously set by the user to determine the best date and time.

[1089] Step 4:

[1090] Generate automatic email notifications

[1091] The server automatically generates an email containing the proposed meeting date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[1092] Step 5:

[1093] Sending emails

[1094] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[1095] Step 6:

[1096] Gathering feedback

[1097] Users (each participant) click on a link in the email they receive and provide feedback on the proposed date and time. The server collects and stores this feedback in real time.

[1098] Step 7:

[1099] Final meeting date and time determined

[1100] The server recalculates the optimal meeting time based on the collected feedback and determines the final time, and may ask for more feedback if necessary.

[1101] Step 8:

[1102] Reflection on the calendar

[1103] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[1104] This allows the user to efficiently adjust the schedule with minimal operations.

[1105] Example 1

[1106] 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."

[1107] In today's work environment, coordinating the schedules of multiple participants to schedule meetings is a time-consuming and labor-intensive process. This is especially true when participants use different calendars or time zones. Manually coordinating schedules becomes even more complicated and inefficient. Furthermore, the process of collecting feedback after deciding on a meeting date and time, confirming the final date and time, and updating each participant's calendar is also cumbersome and prone to human error. It is necessary to resolve these issues and improve the efficiency and accuracy of scheduling tasks.

[1108] 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.

[1109] In this invention, the server includes means for automatically collecting schedule information of participants via a network, means for analyzing the collected schedule information to identify free time for each participant, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting responses from participants, and means for finalizing the meeting date and time and automatically updating the calendars of all participants. This allows for automated, efficient, and accurate scheduling of multiple participants.

[1110] "Participant Appointment Information" means appointments recorded in the schedules of meeting or event participants, including events or appointments that individual participants have entered into calendar applications or other scheduling tools.

[1111] "Network-based" refers to the method of sending and receiving data over the Internet, a local network, etc. This allows communication between multiple devices or systems in remote locations.

[1112] "Automatic collection means" refers to the function of the system to autonomously acquire data without requiring manual operation by the user. This is mainly achieved using APIs and crawlers.

[1113] "Analysis" is the act of processing collected data to extract useful information, which includes shaping, filtering, aggregating, and categorizing the data.

[1114] "Available times" are times when participants have no other plans, providing everyone with the information they need to find a time that works for them.

[1115] The "optimal meeting date and time" is the most suitable time period that allows all participants to attend and satisfies the set conditions and constraints.

[1116] "Notification" refers to the act of the system transmitting some information to participants, primarily via email or message notification.

[1117] "Means for collecting responses" refers to functions for obtaining feedback and confirmation information from participants. This includes mechanisms for collecting clicks on confirmation links, reply emails, etc.

[1118] The "final meeting time" is the final meeting or event start time determined based on feedback from all participants.

[1119] "Automatically reflecting on calendars" refers to the function of automatically registering or updating the decided event in the participants' calendar applications. This is often achieved using an API.

[1120] "Priority of meetings" refers to the importance and priority of the meetings or events being held. This means that events with higher urgency will be given priority.

[1121] "Saving options" refers to the various options and conditions that can be set when arranging the date, time, and location of a meeting or event.

[1122] An "Application Programming Interface (API)" is an interface that allows software applications to communicate with each other and use each other's functions. Data is mainly exchanged via HTTP.

[1123] This system improves the efficiency of schedule adjustment by automatically collecting and analyzing participants' schedule information, proposing optimal meeting dates and times, and finalizing the dates and times. This system operates in cooperation with a server, terminals, and users.

[1124] First, a user uses an application on their device to create a list of people attending a meeting or event, and sends it to the server. This list includes the names and email addresses of the participants.

[1125] Next, the server connects to the calendar services of each participant based on the participant list received from the user. This is often done using the APIs of calendar applications such as Google Calendar or Microsoft Outlook. The server automatically collects the schedule data of participants through these APIs. For example, it uses the Google Calendar API to obtain the schedule information of participants in JSON format.

[1126] The server uses Python data analysis libraries (e.g., Pandas, Numpy) to analyze the collected schedule data, accurately identifying free time slots for each participant. The analysis process takes into account each participant's time zone and overlaps with already scheduled events to derive free slots.

[1127] Next, the server creates a list of available times for all participants based on the analysis results, and proposes the best meeting date and time from that list. The proposed date and time is selected taking into account the meeting priority and scheduling options set by the user. The server then saves the proposed date and time in a database.

[1128] The server then uses the SMTP protocol to send an email containing the proposed date and time to all participants, with a link that participants can click to confirm the date and time and provide feedback. Feedback is also collected automatically, and the final meeting date and time are determined.

[1129] After the final meeting date and time is determined, the server again uses the API to automatically update each participant's calendar with that date and time, allowing all participants to share the latest schedule information.

[1130] Specific examples

[1131] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[1132] As a result, 2:00 PM on Wednesday of next week is suggested as the best time. This suggested time is notified to all members via an automatically generated email by the server. Employee B cannot attend at this time, so he notifies them through feedback. The server collects the feedback and determines the next best time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[1133] Prompt Sentence Examples

[1134] Below are some example prompts to input to the generative AI model:

[1135] "I'd like to adjust the schedules of five team members: Employee A, Employee B, Employee C, Employee D, and Employee E. Please suggest a date and time next week when all members are available."

[1136] By inputting this prompt into a generative AI model, optimal meeting date and time suggestions are automatically generated.

[1137] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1138] Program processing flow

[1139] Step 1: Enter and submit the participant list

[1140] A user opens an application on their device, creates a list of people to attend a meeting or event, and clicks the "Send" button. This list includes the names and email addresses of the participants.

[1141] Input: Participant's name, email address

[1142] Output: Participant list sent to the server (HTTP POST request)

[1143] Step 2: Automatic collection of schedule data

[1144] The server connects to each participant's calendar service based on the participant list received from the user. Specifically, it automatically collects participants' schedule data using APIs such as Google Calendar and Microsoft Outlook. The server sends an API request to each calendar service to obtain the schedule data.

[1145] Input: Participant list (name, email address)

[1146] Output: Schedule data for each participant (JSON format)

[1147] Step 3: Free time analysis

[1148] The server analyzes the collected schedule data and identifies free time slots for each participant. It uses Python data analysis libraries (e.g., Pandas, Numpy) to format and analyze the data. The server considers each participant's time zone and any events already set, and extracts free time slots while avoiding overlaps.

[1149] Input: Schedule data (JSON format)

[1150] Output: Free / busy list for each participant

[1151] Step 4: Propose the best meeting date and time

[1152] The server then creates a list of all participants' common free times based on the analysis results and selects the best meeting time from that list. The selection process takes into account the meeting priority and scheduling options set by the user. For example, meetings with a higher priority will take precedence over other events.

[1153] Input: Free / busy list, meeting priority, scheduling options

[1154] Output: Best meeting time

[1155] Step 5: Automatic email notification and confirmation

[1156] The server automatically generates an email containing the best meeting date and time and notifies all participants. The server uses the SMTP protocol to send emails containing the proposed meeting date and time. The email contains a link that participants can click to confirm the date and time and provide feedback.

[1157] Input: Best time and date for the meeting, participant email addresses

[1158] Output: Confirmation email sent to participants

[1159] Step 6: Confirm the date and add it to your calendar

[1160] The server collects feedback from each participant and determines the final meeting date and time. After all feedback has been collected, the server automatically updates each participant's calendar service with the final date and time. The server uses an API to update each participant's calendar.

[1161] Input: Participant feedback, final meeting date and time

[1162] Output: Updated calendar for each participant

[1163] (Application example 1)

[1164] 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."

[1165] In modern factories, numerous robots operate with various work and maintenance schedules, and it is necessary to coordinate their operating times efficiently. However, currently, schedule coordination between robots is often done manually, which requires a great deal of time and effort. This can lead to overlapping operating times and unnecessary waiting time, which can reduce production efficiency. Furthermore, coordinating maintenance schedules is complicated, and it can sometimes be difficult to ensure planned maintenance. To solve these issues, an automated schedule adjustment system is needed.

[1166] 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.

[1167] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for optimizing robot operation schedules and maintenance schedules. This automates the adjustment of robot operation schedules and maintenance schedules in a factory, reducing overlaps and unnecessary waiting time and improving production efficiency.

[1168] The term "participant" refers to a person about whom schedule data is collected in the automatic schedule adjustment system, and is a concept that includes factory robots and their managers.

[1169] "Schedule data" refers to information about schedules and free time recorded in the calendar service used by each participant.

[1170] A "network" is an infrastructure for transmitting and receiving data over the Internet or other communications medium.

[1171] "Means of collection" refers to the technical methods and processes by which the server automatically obtains schedule data from each participant's calendar service.

[1172] The "means of analysis" refers to data processing algorithms and software that determine available time and optimal meeting dates and times based on the collected schedule data.

[1173] The "means of identification" is the process of finding available time or optimal dates and times obtained as a result of the analysis.

[1174] The "means of suggestion" is a system that presents optimal meeting and working dates and times to all participants based on the analysis results.

[1175] "Means of Notification" means email, messaging application, or other means of communication used to notify Participants of the proposed date and time.

[1176] "Means for collecting feedback" refers to the system or process for receiving and compiling responses and comments from participants regarding the proposed date and time.

[1177] The "method to determine the final meeting date and time" is the algorithm or rules that take all feedback into account to determine the optimal date and time.

[1178] The "means of reflection" is the process by which the confirmed date and time are automatically incorporated into each participant's calendar or scheduling system.

[1179] An "operation schedule" is a schedule of tasks that a factory robot will perform during a specific time period.

[1180] The "maintenance schedule" is a schedule for maintenance activities such as maintenance and inspection of factory robots.

[1181] "Optimization means" refers to algorithms and software that efficiently adjust the operating and maintenance times of robots based on collected data.

[1182] This invention relates to a system for optimizing the operation and maintenance schedules of robots in a factory. This system automatically collects and analyzes schedule data from the participating factory robots and their managers, and proposes optimal operation and maintenance times. This system operates in cooperation with three parties: a server, a terminal, and a user.

[1183] Schedule data collection

[1184] The terminal inputs a list of participants according to the user's instructions and sends it to the server. The server then connects to the calendar service (e.g., a general calendar service API) used by each participant (in this case, the factory robots and administrators) and automatically collects schedule data via the API. This makes it possible to obtain schedule information for all participants without user assistance.

[1185] Free time analysis

[1186] The server analyzes the collected schedule data to identify each participant's free time, taking into account each participant's scheduled events and tasks and avoiding overlaps to accurately calculate free time.

[1187] Proposal of optimal operation and maintenance times

[1188] The server then creates a list of common free times for all participants based on the analysis results, and proposes the most suitable operating and maintenance times from among them. This process takes into account the priorities and adjustment options set by the user. The proposed times are automatically saved by the server.

[1189] Automatic notification and confirmation

[1190] The server automatically generates a notification containing the proposed time and sends it to all participants. The notification includes a feedback function with a confirmation link and additional comments. Participants (users) can receive the notification and click the link to provide feedback on the proposed time.

[1191] Finalize operation and maintenance times and reflect them on the calendar

[1192] The server collects feedback from participants and determines the final operation and maintenance times. These final times are automatically updated in each participant's calendar service by the server, allowing everyone to share the latest schedule information.

[1193] Specific examples

[1194] For example, say a factory has 10 robots, each with its own unique work and maintenance schedule. The manager wants to optimize the robots' daily operating hours to avoid overlapping. The system collects schedule data from each robot's calendar service and checks whether specific time slots are optimized.

[1195] Example prompts for generative AI models

[1196] Analyze the schedule data of 10 robots and propose the optimal common operating time. Each robot's schedule can be obtained through a calendar service API. You need to identify the time period when all robots operate together. For example, if the optimal operating time is from 10:00 AM to 2:00 PM next Wednesday, propose that time.

[1197] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1198] Step 1: The terminal inputs a list of participants according to the user's instructions and transmits it to the server.

[1199] Input: Participant list from user

[1200] Output: Participant list sent to the server

[1201] Specific operation: The user enters information about the factory robot and the administrator through the terminal interface. The entered information is converted into JSON format and sent to the server via an HTTP request.

[1202] Step 2: The server calls the API of the calendar service used by each participant and automatically collects schedule data.

[1203] Input: Participant list

[1204] Output: Schedule data for each participant

[1205] Specific operation: The server sends requests to the API endpoints of each calendar service based on the attendee list to obtain the event data, which is then formatted into a standardized format.

[1206] Step 3: The server analyzes the collected schedule data to identify the free time of each participant.

[1207] Input: Schedule data

[1208] Output: A list of available times for each participant

[1209] Specific operation: The server analyzes the acquired schedule data in chronological order and calculates the free time slots for each participant, including overlapping start and end times of events and combining consecutive free times.

[1210] Step 4: Based on the analysis results, the server creates a list of common free times for all participants and proposes the most suitable operation and maintenance times from among them.

[1211] Input: A list of available times for each participant

[1212] Output: Proposed operation and maintenance times

[1213] What it does: The server compares the free times of all participants, lists the time slots that match, and then selects the best time, taking into account the priorities and scheduling options set by the user.

[1214] Step 5: The server automatically generates a notification including the proposed time and notifies all participants.

[1215] Input: Proposed operating and maintenance times

[1216] Output: Notification to participants

[1217] Specific behavior: The server generates a notification message containing the proposed time slot and sends it to all participants via email or messaging service, including a confirmation link and the ability to add comments.

[1218] Step 6: Participants (users) receive a notification and click a link to provide feedback on the proposed time.

[1219] Input: Feedback on proposed operation and maintenance times

[1220] Output: Feedback information

[1221] Specific operation: Participants click the link in the notification message they received and enter their feedback through the web interface, which is then sent to the server.

[1222] Step 7: The server collects feedback from participants and determines the final operation and maintenance times.

[1223] Input: Feedback information

[1224] Output: Final operating and maintenance hours

[1225] What happens: The server aggregates feedback from all participants and reselects the best time based on that, proposing a new time slot if necessary.

[1226] Step 8: The server automatically updates each participant's calendar service with the final time.

[1227] Input: Final operation and maintenance hours

[1228] Output: Updated calendar for each participant

[1229] Specific operation: The server adds the final time determined to the calendars of the participants through the API of each calendar service, allowing everyone to share the latest schedule information.

[1230] 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.

[1231] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[1232] Collecting participant schedule data

[1233] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[1234] Free time analysis

[1235] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[1236] Suggesting the best meeting date and time

[1237] The server then uses the analyzed free time to identify the common free time of all participants and selects the most suitable meeting time from among those. This process also takes into account the meeting priority and other scheduling options set by the user. Furthermore, using an emotion engine, it can take into account the user's emotional data and select a time when stress levels are low. The proposed time is automatically saved by the server.

[1238] Automatic email notifications and confirmations

[1239] The server automatically generates an email containing the proposed date and time and notifies all participants. The email contains a link to confirm the date and time and provide feedback. Participants (users) can receive the email and click the link to provide feedback on the proposed date and time.

[1240] Collecting and analyzing feedback

[1241] Feedback from users is sent to the server via their devices. The server collects and stores the feedback in real time. The emotion engine analyzes the user's emotions from the text and voice contained in the feedback and determines their level of stress or dissatisfaction.

[1242] Final meeting date and time determined

[1243] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[1244] Reflection on the calendar

[1245] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[1246] Specific examples

[1247] For example, suppose a user wants to coordinate the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E). The user creates a list of participants on their device and sends it to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[1248] As a result, 2:00 PM on Wednesday of next week is suggested as the optimal date and time. This suggested date and time is notified to all members via an automatically generated email by the server. The emotion engine analyzes emotions from comments and voice in the user's email and determines that employee B is feeling stressed about this date and time. The server then uses this feedback to determine the next optimal date and time as 3:00 PM the following day, and automatically updates this on all members' calendars.

[1249] In this way, the system of the present invention significantly improves the efficiency of schedule adjustment, and further makes it possible to increase the satisfaction of all participants by making suggestions that take into account the user's feelings.

[1250] The processing flow will be explained below.

[1251] Step 1:

[1252] Collecting participant schedule data

[1253] The device sends the participant list entered by the user to the server. The server then uses this list to call the API of each participant's calendar service (e.g., Google Calendar, Microsoft Outlook) and automatically collects schedule data. The collected data is temporarily stored on the server.

[1254] Step 2:

[1255] Free time analysis

[1256] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks, and identifies free time that avoids them. As a result of the analysis, it lists each participant's free time.

[1257] Step 3:

[1258] Suggesting the best meeting date and time

[1259] The server identifies the common free time of all participants based on the analyzed free time. It then selects the most suitable meeting date and time from this common free time. The server considers the meeting priority and other adjustment options previously set by the user to determine the best date and time. It also uses an emotion engine to consider the user's emotional data and select a time slot with a low stress level. The proposed date and time are automatically saved by the server.

[1260] Step 4:

[1261] Generate automatic email notifications

[1262] The server automatically generates an email containing the proposed date and time, a link to confirm the date and time, and a link to provide feedback. The generated email is stored on the server.

[1263] Step 5:

[1264] Sending emails

[1265] The server sends an automatically generated email to all participants containing the proposed meeting date and time and a confirmation link. The device displays a notification email to the user.

[1266] Step 6:

[1267] Gathering feedback

[1268] Users (each participant) click on the link in the email they received and provide feedback on the proposed date and time. The server collects and stores this feedback in real time. The emotion engine analyzes the user's emotions from the text and voice included in the feedback and determines their level of stress or dissatisfaction.

[1269] Step 7:

[1270] Final meeting date and time determined

[1271] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. If necessary, it may ask for feedback again. This final date and time is automatically updated in each participant's calendar service by the server.

[1272] Step 8:

[1273] Reflection on the calendar

[1274] The server automatically updates the calendars of all participants with the final meeting date and time, calling the API of each calendar service to add or update the event, and the device notifies the user that the date and time have been confirmed.

[1275] This allows users to efficiently adjust schedules with minimal operations. Utilizing the emotion engine, schedule adjustments take into account participants' stress and frustration, improving everyone's satisfaction.

[1276] Example 2

[1277] 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."

[1278] Currently, adjusting the schedules of all participants takes a lot of time and effort, and it is very difficult to consider everyone's satisfaction. In addition, schedule adjustments do not reflect the emotions and stress levels of participants, so a system that is efficient yet takes participants' emotions into consideration is needed.

[1279] 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.

[1280] In this invention, the server includes means for automatically collecting participants' schedule information via a network, means for analyzing the collected schedule information to identify each participant's free time, means for proposing an optimal meeting time based on the identified free time, means for notifying participants of the proposed meeting time and collecting opinions from them, means for determining the final meeting time and automatically updating the time in all participants' schedule management systems, means for setting meeting priorities and adjustment options, means for using a program interface to acquire data from the participants' schedule management systems, emotion analysis means for analyzing participants' emotions and taking their stress levels into account at the proposed meeting time, and means for analyzing emotions from opinions regarding the proposed meeting time and re-proposing a meeting time based on the analysis results. This significantly reduces the effort and time required for schedule adjustment and enables efficient schedule adjustment that takes into account the emotions and stress levels of all participants.

[1281] "Participant" means a person or group of people being scheduled.

[1282] "Schedule information" refers to information about events and tasks that participants have entered into the schedule management system.

[1283] "Via a network" refers to a method of exchanging data using communication means such as the Internet or a local area network.

[1284] "Automatic collection means" refers to a system in which a program automatically acquires data without requiring manual operation by the user.

[1285] "Means for analyzing collected schedule information" refers to algorithms or processes for analyzing collected schedule information and identifying available time slots.

[1286] "Free time" refers to the time when participants are not tied down to other events or tasks.

[1287] "Gathering time" refers to the time when participants gather together.

[1288] "Means of notification" refers to the email or message sending system used to convey information to participants.

[1289] "Feedback" refers to the feedback provided by participants on the proposed meeting time.

[1290] "Final meeting time" refers to the time that is finally decided after taking into consideration the opinions and conditions of all participants.

[1291] A "schedule management system" refers to an application or service that allows participants to manage their schedules.

[1292] "Program interface" refers to a standardized means of exchanging data between pieces of software.

[1293] "Emotion analysis means" refers to technology for analyzing participants' emotions from text or audio data.

[1294] "Stress level" refers to the degree of stress participants feel at a particular time.

[1295] "Means for re-proposing" refers to a mechanism that takes into account feedback on the initial proposed time and proposes new candidate times.

[1296] This invention combines a system for efficiently adjusting schedules for participants with an emotion engine that recognizes the emotions of users. This system operates in cooperation with a server, a terminal, and a user.

[1297] Collecting participant schedule data

[1298] The server receives the participant list entered by the user through the device. In this system, the server calls the API of calendar services such as Google Calendar and Microsoft Outlook based on the participant list entered by the device, and automatically collects the schedule data of each participant. The collected data is temporarily stored in a database on the server.

[1299] Free time analysis

[1300] The server analyzes the collected schedule data. Specifically, it checks each participant's scheduled events and tasks and identifies free time slots that avoid those. The analysis results are output as a list of free time slots for each participant.

[1301] Suggesting the best meeting date and time

[1302] The server identifies the common free times of all participants based on the analyzed free times, and then selects the most suitable meeting time from among them. This process takes into account the meeting priority set by the user and other scheduling options. Furthermore, it can use an emotion engine to evaluate the user's emotional data and select a time slot that is less stressful. The proposed meeting time is automatically saved by the server.

[1303] Automatic email notifications and confirmations

[1304] The server automatically generates an email containing the proposed meeting date and time and sends it to all participants. The email includes a link to confirm the date and time and provide feedback. Users can click the link to provide feedback on the proposed date and time.

[1305] Collecting and analyzing feedback

[1306] Feedback from users is sent to the server via their devices. The server collects the user feedback in real time and stores it in a database. The emotion engine analyzes the text and voice data contained in the feedback, evaluates the user's emotions, and reflects this emotional information in the schedule adjustment process.

[1307] Final meeting date and time determined

[1308] The server recalculates the optimal meeting date and time based on the collected feedback and the analysis results of the emotion engine, and determines the final date and time. It is also possible to request feedback again if necessary. The determined final date and time is saved in the schedule database by the server and automatically updated in each participant's calendar service.

[1309] Reflection on the calendar

[1310] The server automatically updates each participant's calendar with the final meeting date and time. Specifically, it calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed.

[1311] Specific examples

[1312] For example, when a user adjusts the schedules of five team members (Employee A, Employee B, Employee C, Employee D, and Employee E), the user sends the participant list from the device to the server. The server collects schedule data from each member's Google Calendar and analyzes it to identify common free time.

[1313] As a result, the server suggests 2:00 PM next Wednesday as the optimal date and time, and notifies all members via an automatically generated email. The emotion engine analyzes emotions from comments and voice in this email and determines that certain participants are feeling stressed about this date and time. The server then takes this feedback into consideration and determines the next optimal date and time to be 3:00 PM the following day, which is automatically reflected on all members' calendars.

[1314] Example prompts to input to the generative AI model

[1315] "How can I use the emotion engine to analyze the emotions from each participant's feedback and re-suggest meeting dates and times that minimize stress?"

[1316] As described above, the present invention can significantly improve the efficiency of schedule adjustment and increase satisfaction by making proposals that take into account the feelings of all participants.

[1317] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1318] Step 1: Collect participant schedule data

[1319] Input: A participant list where users input through their terminals.

[1320] Processing: The device sends this participant list to the server. The server receives the list and calls the API of each participant's calendar service, such as Google Calendar or Microsoft Outlook. Specifically, it authenticates using the API key and requests the schedule data of the specified user.

[1321] Output: Schedule data for each participant. For example, "Get schedule data from employee A's Google Calendar" is logged.

[1322] Step 2: Free time analysis

[1323] Input: Schedule data stored in the server.

[1324] Processing: The server analyzes the collected schedule data. It checks each participant's schedule and identifies available times. For example, it uses an algorithm to scan the event information stored in a database and extract non-overlapping time slots.

[1325] Output: A list of available times for each participant. For example, a specific list such as "Employee A's available times: Wednesday 2:00 PM - 4:00 PM."

[1326] Step 3: Propose the best meeting date and time

[1327] Input: A list of free times.

[1328] Processing: The server analyzes the free / busy lists to identify common free times for all participants, taking into account meeting priorities set by users and additional scheduling options. It uses an emotion engine to evaluate the emotion data and select a time slot with low stress levels. For example, the algorithm calculates the optimal time based on each user's feedback and the results of emotion analysis.

[1329] Output: Best time and date for a meeting. For example, "Best time and date for a meeting: Wednesday, 2-3 PM."

[1330] Step 4: Automatic email notification and confirmation

[1331] Input: Best time and date to meet.

[1332] Processing: The server automatically generates an email containing the proposed meeting date and time, the meeting date and location, and a link for confirmation and feedback. The server then sends this email to all participants.

[1333] Output: Email sent. For example, "Meeting date and time proposal email sent to all participants" is logged.

[1334] Step 5: Collect and analyze feedback

[1335] Input: User feedback.

[1336] Processing: The device sends the user's feedback to a server, which then collects the feedback in real time and stores it in a database. An emotion engine is used to analyze emotions from the text and voice data of the feedback to determine the level of stress or frustration. For example, natural language processing algorithms are used to analyze the text data.

[1337] Output: Analyzed emotional data. For example, a specific result such as "Employee B's stress level: High."

[1338] Step 6: Finalize the meeting date and time

[1339] Input: Feedback and analysis results.

[1340] Processing: The server recalculates the optimal meeting date and time based on the collected feedback and the emotion engine analysis results. It is also possible to request feedback again if necessary. For example, the server may recalculate the optimal date and time using an algorithm based on the emotion analysis results.

[1341] Output: Final meeting date and time. For example, a specific date and time such as "Final meeting date and time: 3:00 PM the next day."

[1342] Step 7: Update your calendar

[1343] Input: Final meeting date and time.

[1344] Processing: The server automatically updates each participant's calendar with the final confirmed meeting date and time. It calls the API of each calendar service to add or update the event. The device notifies the user that the date and time have been confirmed. For example, it uses the API to execute a command such as "Add an event to employee A's Google Calendar."

[1345] Output: Updated calendars and notifications. For example, specific logs and notifications such as "Meeting date and time confirmed and reflected on all calendars."

[1346] (Application example 2)

[1347] 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."

[1348] Conventional methods for adjusting maintenance schedules for robots and staff in factories require manually checking each individual's operating data and maintenance history to select the appropriate date and time, which is time-consuming and does not take into account emotions or fatigue levels, resulting in problems such as reduced efficiency and participant satisfaction.There is also a need for a method that combines emotion analysis to achieve more stress-free scheduling.

[1349] 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.

[1350] In this invention, the server includes means for automatically collecting participants' schedule data via a network, means for analyzing the collected schedule data to identify each participant's free time, means for proposing an optimal meeting date and time based on the identified free time, means for notifying participants of the proposed meeting date and time and collecting feedback from them, means for finalizing the meeting date and time and automatically updating the calendars of all participants, and means for analyzing participants' emotions using an emotion engine and selecting a time period when stress levels are low. This makes it possible to efficiently adjust maintenance schedules for robots and staff in a factory and achieve stress-free maintenance scheduling that takes emotions and fatigue levels into consideration.

[1351] "Participants" are robots or staff members who are the subject of maintenance or meetings in the schedule adjustment system.

[1352] "Schedule data" refers to information such as schedules registered in the participant's calendar, operation status, and maintenance history.

[1353] A "network" is a communication infrastructure for data communication, such as the Internet or a local network.

[1354] The "emotion engine" is a software engine that analyzes participants' emotions from data such as text and voice, and determines their stress and fatigue levels.

[1355] "Feedback" is data about participants' opinions, impressions, and feelings about the proposed date and time.

[1356] A "calendar" is a tool or application for schedule management, such as Google Calendar or Microsoft Outlook.

[1357] "API" stands for Application Programming Interface, an interface for exchanging data between different software programs.

[1358] "Stress level" is an indicator that shows the participant's stress level as analyzed by the emotion engine.

[1359] "Notification" refers to the act of informing participants of the proposed date and time and decisions via email, message, etc.

[1360] To implement this invention, a system is required to collect schedule data of participants, propose optimal dates and times for meetings and maintenance, and finalize the dates and times. This system has a server, a terminal, and an emotion engine as its main components, and operates in the following manner.

[1361] First, the schedule data of participants is sent from the terminal to the server. To collect calendar information of robots and staff registered as participants, APIs such as Google Calendar and Microsoft Outlook are used. Specific API calls and data acquisition processes are performed by programs on the server. At this time, the schedule data is automatically collected via the network.

[1362] The server then analyzes the collected schedule data to identify free time slots for each participant. This analysis involves running an algorithm to identify common free time slots based on the collected events and tasks. Once free time slots have been identified, an emotion engine is used to analyze participants' emotional data and select times when stress levels are low. This emotion analysis uses software (such as IBM Watson or Google Cloud Natural Language API) to read emotions from text and speech.

[1363] The server then proposes the optimal date and time for a meeting or maintenance based on the identified free time and the results of sentiment analysis. The proposed date and time are automatically notified to all participants via their devices. The notification is sent via email or message, and includes a link to collect feedback from participants. Participants can click this link to provide feedback on the proposed date and time.

[1364] Feedback is collected in real time on the server and analyzed using the emotion engine. Based on the analysis results, the optimal date and time are recalculated and the final date and time are confirmed. This confirmed date and time is automatically reflected on all participants' calendars, again using the calendar API.

[1365] As a concrete example, consider the case of adjusting the maintenance schedules for 10 robots and 5 staff members in a factory. The participant list is sent from the device to the server, and each participant's operating status and maintenance history are collected via the Google Calendar API. Free time is identified based on the collected data, and the emotion engine analyzes stress levels to suggest the optimal date and time. This suggested date and time is notified to all participants, and feedback is collected and analyzed. The final date and time is confirmed and automatically reflected on all participants' calendars.

[1366] The following prompt sentences can be used as example inputs to a generative AI model:

[1367] "Design an application that collects operational data and past maintenance history to adjust the maintenance schedules of each robot and staff member in a factory, and suggests the optimal time and date for maintenance. Also, include a process where this system analyzes each participant's stress level and fatigue state using an emotion engine, and then suggests the optimal time and date."

[1368] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1369] Step 1:

[1370] The terminal creates a list of robots and staff members that require maintenance and sends it to the server. The input includes information about the specific robots and staff members that require maintenance. The server receives this information and prepares to collect calendar information for each robot and staff member.

[1371] Step 2:

[1372] Based on the received participant list, the server calls the API of a calendar service such as Google Calendar or Microsoft Outlook to collect schedule data for each participant. The input includes the participant list and calendar API call information. The output is the schedule data for each participant stored on the server.

[1373] Step 3:

[1374] The server analyzes the collected schedule data and identifies the free time of each participant. The input includes the collected schedule data. The server calculates the free time from the event and task data and creates a free time list for each participant. The output is a free time list for each participant.

[1375] Step 4:

[1376] The server proposes the optimal date and time for meetings or maintenance based on the identified free time. The input includes the free time list and priority information for meetings or maintenance. The server selects the optimal time based on the priority and decides on the proposed date and time. The output is the optimal proposed date and time.

[1377] Step 5:

[1378] The server notifies all participants of the proposed date and time. The input includes the proposed date and time and the participants' contact information. The server generates an email or message to send to each participant. The output is the notification sent to the participants.

[1379] Step 6:

[1380] Participants (users) receive a notification and provide feedback on the proposed date and time. The input includes participants' opinions and thoughts about the proposed date and time. Participants click a link in the email to send their feedback to the server. The output is the collected feedback data.

[1381] Step 7:

[1382] The server collects feedback from participants in real time and analyzes the emotional data contained in the feedback using an emotion engine. The inputs include the feedback data and emotion analysis software. The server analyzes the text and audio data to determine the participants' stress levels. The output is the analyzed emotional data.

[1383] Step 8:

[1384] The server recalculates the optimal meeting or maintenance date and time based on the emotion engine's analysis results and feedback, and determines the final date and time. The input includes emotion data and feedback information. The server selects and determines the new optimal date and time. The output is the confirmed final date and time.

[1385] Step 9:

[1386] The server automatically updates all participants' calendars with the finalized date and time. The input includes the final date and time and a calendar API. The server calls the API to add or update the event and update it on all participants' calendars. The output is the updated calendar information.

[1387] Step 10:

[1388] The terminal notifies the participants that the updated date and time has been confirmed. The input includes notification information of the confirmed date and time. The terminal creates a notification and sends it to all participants. The output is the notification of the confirmed date and time sent to all participants.

[1389] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice 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 voice data.

[1390] 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.

[1391] 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 robot 414.

[1392] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1393] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1394] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1395] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1396] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1397] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1398] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1399] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1400] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1401] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1402] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[1403] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1404] The hardware resource for executing a specific process can be any of the following processors: A CPU is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. A dedicated electrical circuit, such as a field-programmable gate array (FPGA), a programmable logic device (PLD), or an application-specific integrated circuit (ASIC), is a processor with a circuit configuration specifically designed to execute a specific process. Each processor has built-in or connected memory, and uses the memory to execute the specific process.

[1405] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1406] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1407] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1408] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1409] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1410] The following is further disclosed regarding the above embodiment.

[1411] (Claim 1)

[1412] A means for automatically collecting participant schedule data via a network;

[1413] A means for analyzing the collected schedule data to identify each participant's available time;

[1414] A means for proposing optimal meeting dates and times based on the identified free time;

[1415] A means of announcing proposed meeting dates and times and gathering feedback from participants;

[1416] A way to confirm the final meeting date and time and automatically update the calendars of all participants.

[1417] A system including:

[1418] (Claim 2)

[1419] 10. The system of claim 1, further comprising means for setting meeting priority and scheduling options.

[1420] (Claim 3)

[1421] 10. The system of claim 1, further comprising means for utilizing an API to retrieve data from the participant's calendar.

[1422] "Example 1"

[1423] (Claim 1)

[1424] A means for automatically collecting participant schedule information via a network;

[1425] A means for analyzing the collected schedule information to identify the free time of each participant;

[1426] A means for proposing an optimal meeting date and time based on the identified free time;

[1427] a means for announcing the proposed meeting date and time and collecting responses from participants;

[1428] A means to confirm the final meeting date and time and automatically update the calendars of all participants.

[1429] A system including:

[1430] (Claim 2)

[1431] 10. The system of claim 1, further comprising means for setting collection priorities and coordination options.

[1432] (Claim 3)

[1433] 10. The system of claim 1, further comprising means for utilizing an application programming interface to retrieve data from the participant's calendar.

[1434] "Application Example 1"

[1435] (Claim 1)

[1436] A means for automatically collecting participant schedule data via a network;

[1437] A means for analyzing the collected schedule data to identify each participant's available time;

[1438] A means for proposing optimal meeting dates and times based on the identified free time;

[1439] A means of announcing proposed meeting dates and times and gathering feedback from participants;

[1440] A way to confirm the final meeting date and time and automatically update the calendars of all participants.

[1441] A means of optimizing robot operation and maintenance schedules;

[1442] A system including:

[1443] (Claim 2)

[1444] 10. The system of claim 1, further comprising means for setting meeting priority and scheduling options.

[1445] (Claim 3)

[1446] 10. The system of claim 1, further comprising means for utilizing an API to retrieve data from the participant's calendar.

[1447] "Example 2: Combining Emotion Engines"

[1448] (Claim 1)

[1449] A means for automatically collecting participant schedule information via a network;

[1450] A means for analyzing the collected schedule information to identify the available time of each participant;

[1451] A means for proposing an optimal meeting time based on the identified available time;

[1452] A means of announcing the proposed meeting time and gathering feedback from participants;

[1453] A means of determining the final meeting time and automatically updating the time in the schedule management systems of all participants;

[1454] A system including:

[1455] (Claim 2)

[1456] 10. The system of claim 1, further comprising means for setting collection priorities and coordination options.

[1457] (Claim 3)

[1458] 10. The system of claim 1, further comprising means for utilizing a program interface to obtain data from a participant scheduling system.

[1459] (Claim 4)

[1460] 10. The system of claim 1, further comprising emotion analysis means for analyzing emotions of participants and taking into account stress levels at the proposed meeting time.

[1461] (Claim 5)

[1462] 5. The system according to claim 4, further comprising means for analyzing sentiment from opinions regarding the proposed meeting time and re-proposing a meeting time based on the analysis results.

[1463] "Application example 2 when combining emotion engines"

[1464] (Claim 1)

[1465] A means for automatically collecting participant schedule data via a network;

[1466] A means for analyzing the collected schedule data to identify each participant's available time;

[1467] A means for proposing optimal meeting dates and times based on the identified free time;

[1468] A means of announcing proposed meeting dates and times and gathering feedback from participants;

[1469] A way to confirm the final meeting date and time and automatically update the calendars of all participants.

[1470] A means for analyzing participants' emotions using an emotion engine to select times when stress levels are low;

[1471] A system including:

[1472] (Claim 2)

[1473] 10. The system of claim 1, further comprising means for setting meeting priority and scheduling options.

[1474] (Claim 3)

[1475] 10. The system of claim 1, further comprising means for utilizing an API to retrieve data from the participant's calendar. [Explanation of symbols]

[1476] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for automatically collecting participant schedule data via a network; A means for analyzing the collected schedule data to identify each participant's available time; A means for proposing optimal meeting dates and times based on the identified free time; A means of announcing proposed meeting dates and times and gathering feedback from participants; A way to confirm the final meeting date and time and automatically update the calendars of all participants. A system including:

2. 10. The system of claim 1, further comprising means for setting conference priority and scheduling options.

3. The system of claim 1 , further comprising means for utilizing an API to retrieve data from a participant's calendar.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A