system
The system automates meeting scheduling by integrating participant information, schedule analysis, and facility availability, reducing manual effort and enhancing efficiency in coordinating meetings.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-16
- Publication Date
- 2026-06-26
AI Technical Summary
Coordinating meetings that accommodate the schedules of multiple participants is a time-consuming and laborious task, requiring manual verification of availability and space, which is inefficient.
A system that automates the process of setting meeting dates, times, and locations by receiving participant information, analyzing schedules, checking facility availability, and sending notifications, utilizing a server and terminal interface with external systems like Google Calendar and meeting room reservation systems.
Significantly reduces the effort required to schedule meetings by automating the process, ensuring efficient and quick coordination of participant schedules and facility bookings.
Smart Images

Figure 2026105385000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0006] "Participant information" refers to the identifying information of each individual invited to or attending the meeting, and typically includes data such as name, email address, and organization name.
[0007] "Schedule information" refers to time management data that shows each participant's available time and already confirmed appointments.
[0008] A "proposed time" refers to a specific date and time that is deemed to be free for all participants, and represents a time slot during which a meeting may be scheduled.
[0009] "Facility" refers to the physical or virtual location where a meeting is scheduled, such as a conference room or an online meeting platform.
[0010] "Availability" is a term that refers to the state in which a particular facility can be used at a desired date and time without prior reservation or other restrictions.
[0011] A "system" refers to an entire computer program or device with a set of functions, an organized configuration designed to achieve a specific purpose.
[0012] "Notification" refers to a means of communication, such as a message or email, used to inform relevant parties of specific information or events. [Brief explanation of the drawing]
[0013] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]
[0014] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0017] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0018] In the following embodiments, the numbered storage is one or more non-volatile storage devices that store various programs, various parameters, and the like. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0019] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0021] [First Embodiment]
[0022] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0023] As shown in Figure 1, the 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.
[0024] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0025] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0026] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0027] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0029] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0031] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0032] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0033] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0034] This invention is a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0035] The user first uses the interface on their device to enter information such as the participant's name and email address. This entered information is then sent to the server.
[0036] Based on the received participant information, the server accesses each participant's time management data and retrieves the schedules of all participants via the Google Calendar API, etc. Here, it identifies each individual's free time and already confirmed appointments.
[0037] The server analyzes the retrieved schedule information and generates potential times when all participants are available. These potential times suggest possible days and times for the meeting to take place.
[0038] Next, the server checks the availability of each facility for the proposed time. The facilities are integrated with a meeting room reservation system and are programmed to identify available spaces for the desired date and time.
[0039] The server then sends these results to the terminal and presents them to the user. The information presented includes possible times when everyone can attend and a list of available meeting rooms.
[0040] The user makes the selection they deem best from their device and sends it back to the server. Based on that selection, the server automatically creates a meeting on Google Calendar and sends a notification email to all participants.
[0041] As a concrete example, consider a project team scheduling a regular meeting. When the user enters the team members' information, the server finds potential dates that everyone can attend and selects an available meeting room. Once the user chooses the most convenient option, the meeting is automatically scheduled and notifications are sent. This entire process significantly reduces the time spent on manual scheduling.
[0042] The following describes the processing flow.
[0043] Step 1:
[0044] The user enters information about the participants they want to include in the meeting on their device. This includes basic information such as the participant's name and email address.
[0045] Step 2:
[0046] The terminal sends the entered participant information to the server. The information is sent in an encrypted format using a secure communication method.
[0047] Step 3:
[0048] The server connects to an external time management system based on the participant information it receives, and retrieves each participant's schedule. It uses services such as the Google Calendar API to obtain individual schedule information.
[0049] Step 4:
[0050] The server analyzes the acquired schedule information to detect common free time slots for all participants. This process evaluates schedule overlaps and extracts available candidate times.
[0051] Step 5:
[0052] The server accesses the reservation management system for facilities matching the proposed time and checks the availability of the meeting place. If multiple facilities are available, it selects the most suitable meeting room.
[0053] Step 6:
[0054] The server sends meeting suggestions to the terminal, including potential times and available facilities. Several optimal options are then displayed to the user on the interface.
[0055] Step 7:
[0056] The user selects the most suitable date, time, and meeting room from the proposed meeting options. This selection is sent as feedback from the terminal to the server.
[0057] Step 8:
[0058] The server creates an event in Google Calendar based on the user's selection. This event is configured to include details such as the date, time, and location of the meeting.
[0059] Step 9:
[0060] The server will send an email to all participants notifying them of the meeting details. This email will include meeting information and links.
[0061] Step 10:
[0062] The user confirms the completion of the meeting setup on their device. The automated process significantly reduces the effort required to set up a meeting.
[0063] (Example 1)
[0064] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0065] In today's busy business environment and society, coordinating meetings that accommodate the schedules of multiple participants is a time-consuming and laborious task. Traditional manual scheduling requires finding everyone's availability and verifying available space, necessitating efficient operation. To address this challenge, a method is needed to automate participant scheduling and efficiently set up meetings.
[0066] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0067] In this invention, the server includes means for receiving participant information, means for acquiring schedule data, means for calculating the common free time of all participants, means for confirming the availability of spatial resources, means for presenting the common free time and the availability of spatial resources, means for defining a meeting based on the selected time, and means for transferring information. This makes it possible to automatically and efficiently set the optimal meeting date and location without requiring manual adjustments from participants.
[0068] "Means for receiving participant information" refers to the function that allows the system to acquire data, including personally identifiable information and contact information, received from users.
[0069] The "means of acquiring schedule data" refer to a function that communicates with an external time management system and extracts schedule information for each participant.
[0070] The "method for calculating shared free time" is an algorithm that analyzes the schedules of all participants and identifies the dates and times when everyone is free.
[0071] "Means for confirming the availability of spatial resources" refers to a function that obtains information on available spaces and facilities at a specified time by interfacing with an external space reservation system.
[0072] "Means of presenting the availability of shared free time and spatial resources" refers to a function in which the system visually provides users with information on possible dates and times and available spaces.
[0073] "Means of defining a meeting based on a selected time" refers to the process of formally determining the meeting date based on the optimal time selected by the user.
[0074] "Means of forwarding information" refers to the function of notifying each participant of the defined meeting details via email or other means of communication.
[0075] To implement this invention, a system consisting of a user, a terminal, and a server is required. The user first uses an interface on the terminal to input participant information (such as name and email address). The terminal then prepares to send this information to the server.
[0076] Upon receiving participant information, the server uses an API to retrieve schedule data in order to communicate with an external time management system. A specific example is the Google Calendar API. The server analyzes the retrieved data to calculate the common free time for all participants. In this process, a data analysis algorithm is used to identify the available dates and times for everyone.
[0077] Furthermore, the server checks for available space resources. It interfaces with external space reservation systems to obtain information such as available meeting rooms for the proposed time slots. This function identifies facilities that are available at the desired date and time.
[0078] The server then sends back shared availability and space availability to the user's device, presenting it visually. The user selects the most suitable date and time based on the information presented and replies to the server via their device. Based on this selection, the server formally defines the meeting and, if necessary, creates the meeting on Google Calendar. Finally, the server sends an email notification to each participant, sharing detailed information about the meeting.
[0079] As a concrete example, this system can be used when a project team is scheduling a meeting. An example of a prompt would be, "Please schedule the project team's regular meeting and find the best time for everyone to attend. Also, please let me know which meeting rooms are available at that time." This prompt allows the system to respond to the user's needs quickly and effectively.
[0080] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0081] Step 1:
[0082] The user uses a terminal to enter information such as the participant's name and email address on the interface. Based on this input, the terminal organizes the participant information into data packets and prepares them for transmission to the server. The output is a data packet containing the collected participant information.
[0083] Step 2:
[0084] The terminal sends the configured data packets to the server. The server receives these packets, parses the information, and obtains individual information for each participant. The input is the data packets containing participant information, and the output is the dataset of parsed participant information.
[0085] Step 3:
[0086] The server communicates with an external time management system and uses an API to retrieve participant schedule data. Specifically, it sends requests to the Google Calendar API and other APIs using participant IDs and receives the returned schedule data. The input is a participant information dataset, and the output is the retrieved schedule data.
[0087] Step 4:
[0088] The server analyzes the acquired schedule data and calculates common free time for all participants. It uses a data analysis algorithm to compare each participant's schedule and identify common free time. The input is schedule data, and the output is a list of potential common free time slots.
[0089] Step 5:
[0090] The server interfaces with the space reservation system and executes queries to check for available meeting rooms within the common free time slots. The input here is a list of common free time slots, and the output is a list of available meeting rooms.
[0091] Step 6:
[0092] The server sends the obtained shared availability and meeting room information back to the terminal. The terminal presents this information to the user, allowing the user to make a selection. The input is a list of shared availability and meeting room information, and the output is a visual presentation to the user.
[0093] Step 7:
[0094] The user selects the most suitable date, time, and meeting room from the presented options. The terminal sends this selection information back to the server. The input is the date, time, and meeting room selected by the user, and the output is the selection information data.
[0095] Step 8:
[0096] The server formally defines the meeting based on the user's selections and creates an entry in Google Calendar. It can also use a generative AI model to fill in any necessary details. Furthermore, the server sends a notification email containing the meeting details to all participants. The input is the selection data, and the output is the calendar entry and notification email.
[0097] (Application Example 1)
[0098] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0099] In modern cities, a wide variety of public services and community events take place, but coordinating their schedules is complex and requires considerable time and effort from all parties involved. In particular, manually checking each participant's availability and venue availability to efficiently schedule meetings and events is difficult.
[0100] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0101] In this invention, the server includes means for receiving participant information, means for obtaining schedule information based on the participant information, and means for analyzing the availability of public service agencies in order to efficiently schedule events in the community. This makes scheduling across the city more efficient and enables the rapid setting of events and meetings and immediate notification to participants.
[0102] "Participant information" refers to information about individual people attending a meeting or event, and typically includes their name and contact information.
[0103] "Schedule information" refers to data about each participant's schedule and available time, and is necessary information for planning meetings and events.
[0104] A "suggested time" is a time slot that all participants are free of, and is proposed for scheduling meetings or events.
[0105] "Facility availability" refers to information indicating the availability of venues and meeting rooms at specific dates and times, and is data necessary for holding meetings and events.
[0106] "Public service institutions" refer to organizations and facilities that provide various services to citizens in cities and regions, and generally include city halls and community centers.
[0107] A "notification" is a message or alert used to communicate information about a scheduled meeting or event to participants, and can be sent via email or application.
[0108] The system that realizes this invention is built through the cooperation of a server and user terminals. The server retrieves each participant's schedule and communicates with an external time management system to coordinate schedules. In this process, it uses the Google Calendar API to obtain the participants' availability. The server then calculates candidate times when all participants are available based on the retrieved schedule information and generates candidate times for meetings and events.
[0109] The server also connects with the facility reservation system API to check facility availability. This connection identifies available facilities for the desired date and time. On the user's terminal, a list of candidate times and facility availability sent from the server is displayed, allowing the user to choose the best option.
[0110] After selection, the server will configure the meeting or event based on the final selected time and location, and send a notification to all participants. This notification will be sent via email or application notification.
[0111] A concrete example is scheduling disaster prevention drills held in the community. A city disaster prevention officer uses this system to input participant information via a terminal, and the server analyzes the data to suggest available dates, times, and locations for everyone. By selecting the most suitable date and location, the event is quickly set up, and notifications are sent to all relevant parties.
[0112] An example of a prompt to input into the generating AI model is: "Please propose a system that automatically sets the optimal date, time, and location for resident events in a smart city. Based on user input, it should calculate the common availability of all participants, suggest available facilities, and automatically notify relevant parties of the approved schedule."
[0113] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0114] Step 1:
[0115] Users enter participant information using their devices. This information includes basic data such as the participant's name and contact information. Based on this, the system sends the data to the server.
[0116] Step 2:
[0117] The server uses the participant information it receives to retrieve each participant's schedule information using the Google Calendar API. The process involves accessing the participant's time management data and processing it to identify whether they have appointments or are free. The output is the availability data for each participant.
[0118] Step 3:
[0119] The server analyzes the schedule data of all participants and generates common free time slots as candidate times. This process compares each participant's schedule list to extract common free slots and outputs the times that fill them as candidates.
[0120] Step 4:
[0121] The server communicates with an external facility reservation system API to check facility availability for the proposed time slots. The input to the process is a list of proposed time slots, and the output is a list of available facilities corresponding to those time slots.
[0122] Step 5:
[0123] The terminal displays a list of suggested times and available facilities provided by the server to the user. The user then selects the most suitable time and facility from this list.
[0124] Step 6:
[0125] The user's selection is sent to the server, which then sets up a meeting in Google Calendar based on that selection. In this step, the selected time and location information is registered as a calendar event. The output is an automatically generated event.
[0126] Step 7:
[0127] Finally, the server sends a notification to all participants regarding the scheduled meeting. The notification will be sent via email or an in-app message. The output will be the notification message sent to the participants.
[0128] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0129] This invention provides a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information, and further incorporates an emotion engine that recognizes the user's emotions. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0130] The user first enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. This information is then sent to the server.
[0131] Based on the participant information received, the server communicates with an external time management system to retrieve individual schedule data for each participant. It uses existing services such as the Google Calendar API to determine the appointments and free time that participants have already registered in their schedules.
[0132] Next, the server analyzes the acquired schedule information to determine a common time slot available to all participants. This time slot becomes the candidate time slot.
[0133] The server then checks facility availability based on these suggested times. The facility is integrated with a meeting room reservation system to identify meeting rooms that are available at the desired date and time.
[0134] To reflect the user's emotional input, the emotion engine analyzes the user's voice and text. The emotion engine senses the user's intentions and emotional state and provides corresponding information to the server.
[0135] The server considers the information received from the emotion engine, prioritizes candidate times and meeting room selections, and presents them to the user.
[0136] The user selects the date and location of the meeting that they deem most suitable from the presented options. The selected information is then sent back to the server.
[0137] Based on the final selection, the server registers the meeting in Google Calendar and sends a meeting notification to all participants. This notification includes meeting details and related information.
[0138] For example, when a project team schedules a regular meeting, this system can automatically find a time and date that works for everyone from the shared schedules of all participants and reserve the most suitable meeting room. Furthermore, by taking into account the team leader's feelings and intentions, it enables smoother and more satisfying meeting scheduling.
[0139] The following describes the processing flow.
[0140] Step 1:
[0141] The user enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. The entered information is sent to the server in real time.
[0142] Step 2:
[0143] Based on the participant information received by the server, it initiates communication with an external time management system. It retrieves each participant's schedule through services such as the Google Calendar API and checks their individual appointments.
[0144] Step 3:
[0145] The server analyzes each participant's schedule information to identify common time slots that are available to everyone. This allows it to extract potential times that all participants can attend.
[0146] Step 4:
[0147] Based on the candidate times extracted by the server, the system accesses the facility's reservation management system. It searches for available meeting rooms for the desired date and time and identifies the most suitable facility.
[0148] Step 5:
[0149] On the device, the user inputs their emotions. The user's emotions are sent to the emotion engine via voice or text input. The emotion engine analyzes the user's emotions and generates emotion data.
[0150] Step 6:
[0151] The server receives emotional data from the emotion engine and uses that information to prioritize suggested times and facilities. The user is then presented with options that reflect the results of the emotional analysis.
[0152] Step 7:
[0153] The user selects the most suitable date, time, and meeting room from the proposed meeting options. The selected information is sent from the terminal to the server as feedback.
[0154] Step 8:
[0155] The server registers meeting details in Google Calendar based on the user's selection. This registration includes specific information such as the meeting's start time, end time, and location.
[0156] Step 9:
[0157] The server will send a notification email to all participants containing meeting details. This notification will include the date, time, and location of the meeting, as well as any other necessary information.
[0158] Step 10:
[0159] Users can confirm the completion of meeting scheduling on their device and send additional instructions or notes to participants as needed. This allows for quick and effective meeting coordination.
[0160] (Example 2)
[0161] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0162] Scheduling a meeting, while considering the schedules of all participants, is a laborious task. Furthermore, reflecting the feelings and intentions of participants in the scheduling is difficult and often leads to meetings not running smoothly. Solving these problems and achieving efficient and harmonious meeting scheduling is essential.
[0163] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0164] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for analyzing the schedule information and extracting common free time slots for all participants. This enables the automatic adjustment of appropriate meeting dates and times based on participants' schedules. Furthermore, by checking facility availability and presenting options that take into account user sentiment information, efficient and harmonious meeting scheduling is achieved.
[0165] "Participant information" refers to identifiable data about individual members attending the meeting, including information such as name, email address, and affiliated organization.
[0166] "Schedule information" refers to data about participants' schedules and available time, obtained from a schedule management system.
[0167] "Candidate time" refers to the common free time slots of all participants calculated by the server, representing the time frame in which a meeting could potentially be held.
[0168] "Facility availability" refers to information indicating the availability of facilities and meeting rooms at the scheduled date and time of the meeting.
[0169] "Emotional information" refers to data about the user's emotional state and intentions, analyzed by the emotion engine based on the user's voice or text input.
[0170] This invention is a system that efficiently and automatically sets the date and location of meetings, and can adjust the schedule while taking user preferences into consideration. The system consists of a terminal, a server, and cooperation with external systems.
[0171] First, the user uses their device to enter necessary participant information, such as the names and email addresses of the members attending the meeting. This information is sent to the server. Based on the received information, the server communicates with an external scheduling management system (e.g., Google Calendar API) to retrieve the participants' schedules and availability. The retrieved schedule information is stored in a database and analyzed.
[0172] The server calculates the common free time of all participants and uses this as a candidate time. It also works with the meeting room reservation system to check which meeting rooms are available at the candidate time. This generates a list of available facilities.
[0173] Next, the user inputs voice or text into the emotion engine via their device. This engine analyzes the user's emotional state and intentions and provides this information to the server. The server considers this information and presents the user with high-priority candidate time and meeting room combinations.
[0174] The user selects the most suitable date, time, and location from the presented options and resends that information to the server. The server registers the selected date, time, and location with an external scheduling management system and sends a notification to all participants including the meeting date, time, and location.
[0175] For example, when a project team schedules regular meetings, this system can automatically identify common free time slots from everyone's schedules and book the most suitable meeting room. Furthermore, by considering the team leader's feelings and intentions, coordination can proceed more smoothly.
[0176] An example of a prompt message is, "I would like to schedule a regular project meeting. Please suggest the best date, time, and meeting room, taking into account the participants' schedules."
[0177] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0178] Step 1:
[0179] The user uses their device to enter participant information, such as the names and email addresses of the members attending the meeting. Based on this input, the device sends this information to the server. The entered data is recorded as digital data once it reaches the server.
[0180] Step 2:
[0181] Based on the received participant information, the server initiates communication with an external scheduling management system. This process uses an API to access the schedule in order to retrieve individual schedule data for each participant. The input is participant identification information, and the output is the schedule information for each participant.
[0182] Step 3:
[0183] The server analyzes the acquired schedule information. This analysis compares the free time of all participants to identify common free time slots. The input is the schedule information of each participant, and the output is a list of candidate common free time slots. These are then grouped together as candidate times.
[0184] Step 4:
[0185] The server integrates with the meeting room reservation system to check facility availability for each candidate time slot. The server uses an API to retrieve a list of available meeting rooms. The input is the candidate time slot, and the output is a list of available meeting rooms.
[0186] Step 5:
[0187] The user inputs voice or text into the device, and the emotion engine analyzes that data. The engine understands the user's emotional state and intentions and provides that information to the server. The input is data about emotions and intentions, and the output is the analyzed emotion information.
[0188] Step 6:
[0189] The server prioritizes candidate times and meeting rooms based on sentiment information. According to this priority, it presents the best option for the user to their terminal. The input is sentiment information and a list of meeting rooms, and the output is a list of high-priority candidates.
[0190] Step 7:
[0191] The user selects the most suitable date, time, and location from the options displayed on the terminal and sends this selection to the server. The input is the selection information from the options, and the output is the details of the confirmed meeting.
[0192] Step 8:
[0193] The server registers the final selected meeting date, time, and location in the scheduling management system and sends meeting notifications to all participants. The input is the confirmed meeting information, and the output is the notification sent to participants.
[0194] (Application Example 2)
[0195] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0196] In modern cities, coordinating community activities and meetings that encourage active participation from residents has become increasingly complex. Especially when there are many participants, finding a time that works for everyone is difficult, and scheduling while considering participants' feelings and intentions is extremely challenging. In this situation, there is a need for a system that can efficiently coordinate participants' schedules and propose the optimal meeting location and time while taking their feelings into consideration.
[0197] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0198] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for prioritizing candidate times and facilities using an emotion engine that analyzes user emotion information. This enables efficient coordination of local activities and meetings that take into account participants' schedules and emotions.
[0199] "Participant information" refers to basic data about each individual attending a meeting or event, and typically includes their name and contact information.
[0200] "Schedule information" refers to data showing the schedules of individual participants, including their free time and appointments.
[0201] A "proposed time" is a time slot that all participants are likely to be available in common, and can be considered as the meeting time.
[0202] "Facility availability" refers to information indicating whether there is a space available for use for meetings or events.
[0203] An "emotion engine" is a technology that analyzes emotions and intentions from participants' voices and texts to provide the system with the necessary information.
[0204] A "server" is a computer device that stores data, performs calculations, and manages the entire system.
[0205] A "notification" is a message sent to inform participants of meeting details and updates.
[0206] The system according to the present invention consists of a terminal used by participants, a server that processes data, and an interface that provides information. This system functions by users inputting information about the people participating in the meeting through the terminal, and the server processing that information.
[0207] The server first uses participant information received from the terminal to communicate with an external time management system and obtain individual schedule information for each participant. Existing services such as the Google Calendar API are used for this purpose. The server then analyzes the obtained schedule information and generates common free time slots for all participants as candidate times.
[0208] Next, the server connects with the facility reservation system to check the availability of the venue where the meeting will be held. This process identifies a meeting room or other facility that is available at the desired date and time.
[0209] Furthermore, the server runs an emotion engine that analyzes voice and text data from users to understand their emotional state and determine the priority of candidate times and facilities. Sentiment analysis tools such as Google Cloud Natural Language API and IBM Watson® Tone Analyzer are used.
[0210] After integrating all the information, the server presents the user with the most suitable candidate time and venue, and then finalizes the meeting details based on the selection. As a result, the server registers the meeting in Google Calendar and sends a notification to all participants. The notification includes detailed meeting information, enabling efficient event management.
[0211] Specifically, when a user plans a local event, the system can automatically adjust the schedules of all participants and provide the optimal date, taking sentiment data into consideration. An example of a prompt might be: "Using participant schedule data, suggest the best date for a local cleanup event in XX city. Please also take participants' sentiment data into consideration."
[0212] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0213] Step 1:
[0214] The terminal receives participant information from the user, such as the participant's name and email address. This information is then sent to the server as input data.
[0215] Step 2:
[0216] Based on participant information received from the terminals, the server collaborates with an external time management system to retrieve individual participant schedule information. In this step, the Google Calendar API is used to obtain scheduled and available time data, which is then integrated on the server.
[0217] Step 3:
[0218] The server analyzes the acquired schedule information. Here, it performs data processing to find common free time slots among all participants and generate candidate times. This analysis result becomes the input for the next step.
[0219] Step 4:
[0220] The server, based on the obtained candidate times, checks facility availability in conjunction with the facility reservation system. The system retrieves information on available facilities and generates a list of facilities for the candidate times.
[0221] Step 5:
[0222] The server uses an emotion engine to analyze the user's emotional state from their voice and text. It utilizes the Google Cloud Natural Language API and IBM Watson Tone Analyzer to analyze user input data. The emotional information obtained from this analysis is then used for prioritizing the next steps.
[0223] Step 6:
[0224] The server prioritizes candidate times and facilities based on emotional information. This generates data that lists the most suitable options for the user.
[0225] Step 7:
[0226] The server generates a list of optimal candidate times and venues for the user and sends it to the terminal. The user selects their preferred meeting content from the presented options.
[0227] Step 8:
[0228] Based on the user's selection, the server registers the meeting in Google Calendar. It then sends meeting notifications to all participants and shares the final settings.
[0229] The above outlines the specific processing steps of this system, enabling efficient meeting scheduling.
[0230] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0231] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0232] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0233] [Second Embodiment]
[0234] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0235] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0236] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0237] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0238] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0239] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0240] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0241] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0242] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0243] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0244] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0245] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0246] This invention is a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0247] The user first uses the interface on their device to enter information such as the participant's name and email address. This entered information is then sent to the server.
[0248] Based on the received participant information, the server accesses each participant's time management data and retrieves the schedules of all participants via the Google Calendar API, etc. Here, it identifies each individual's free time and already confirmed appointments.
[0249] The server analyzes the retrieved schedule information and generates potential times when all participants are available. These potential times suggest possible days and times for the meeting to take place.
[0250] Next, the server checks the availability of each facility for the proposed time. The facilities are integrated with a meeting room reservation system and are programmed to identify available spaces for the desired date and time.
[0251] The server then sends these results to the terminal and presents them to the user. The information presented includes possible times when everyone can attend and a list of available meeting rooms.
[0252] The user makes the selection they deem best from their device and sends it back to the server. Based on that selection, the server automatically creates a meeting on Google Calendar and sends a notification email to all participants.
[0253] As a concrete example, consider a project team scheduling a regular meeting. When the user enters the team members' information, the server finds potential dates that everyone can attend and selects an available meeting room. Once the user chooses the most convenient option, the meeting is automatically scheduled and notifications are sent. This entire process significantly reduces the time spent on manual scheduling.
[0254] The following describes the processing flow.
[0255] Step 1:
[0256] The user enters information about the participants they want to include in the meeting on their device. This includes basic information such as the participant's name and email address.
[0257] Step 2:
[0258] The terminal sends the entered participant information to the server. The information is sent in an encrypted format using a secure communication method.
[0259] Step 3:
[0260] The server connects to an external time management system based on the participant information it receives, and retrieves each participant's schedule. It uses services such as the Google Calendar API to obtain individual schedule information.
[0261] Step 4:
[0262] The server analyzes the acquired schedule information to detect common free time slots for all participants. This process evaluates schedule overlaps and extracts available candidate times.
[0263] Step 5:
[0264] The server accesses the reservation management system for facilities matching the proposed time and checks the availability of the meeting place. If multiple facilities are available, it selects the most suitable meeting room.
[0265] Step 6:
[0266] The server sends meeting suggestions to the terminal, including potential times and available facilities. Several optimal options are then displayed to the user on the interface.
[0267] Step 7:
[0268] The user selects the most suitable date, time, and meeting room from the proposed meeting options. This selection is sent as feedback from the terminal to the server.
[0269] Step 8:
[0270] The server creates an event in Google Calendar based on the user's selection. This event is configured to include details such as the date, time, and location of the meeting.
[0271] Step 9:
[0272] The server will send an email to all participants notifying them of the meeting details. This email will include meeting information and links.
[0273] Step 10:
[0274] The user confirms the completion of the meeting setup on their device. The automated process significantly reduces the effort required to set up a meeting.
[0275] (Example 1)
[0276] Next, we will describe Example 1. 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."
[0277] In today's busy business environment and society, coordinating meetings that accommodate the schedules of multiple participants is a time-consuming and laborious task. Traditional manual scheduling requires finding everyone's availability and verifying available space, necessitating efficient operation. To address this challenge, a method is needed to automate participant scheduling and efficiently set up meetings.
[0278] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0279] In this invention, the server includes means for receiving participant information, means for obtaining schedule data, means for calculating the common free time of all participants, means for checking the availability of space resources, means for presenting the common free time and the availability of space resources, means for defining a meeting based on the selected time, and means for transferring information. As a result, it is possible to automatically and efficiently set the optimal meeting schedule and location without the need for manual adjustment by the participants.
[0280] The "means for receiving participant information" is a function for the system to obtain data including personal identification information and contact information received from the user.
[0281] The "means for obtaining schedule data" is a function for communicating with an external time management system and extracting the schedule information of each participant.
[0282] The "means for calculating the common free time" is an algorithm for analyzing the schedules of all participants and identifying the dates and times when everyone is free.
[0283] The "means for checking the availability of space resources" is a function for obtaining information on available spaces and facilities at the specified time by interfacing with an external space reservation system.
[0284] The "means for presenting the common free time and the availability of space resources" is a function for the system to visually provide the user with information on candidate dates and times and available spaces.
[0285] The "means for defining a meeting based on the selected time" is a process for officially determining the meeting schedule based on the optimal time selected by the user.
[0286] The "means for transferring information" is a function for notifying each participant of the details of the defined meeting by email or another communication method.
[0287] To implement this invention, a system consisting of a user, a terminal, and a server is required. The user first uses an interface on the terminal to input participant information (such as name and email address). The terminal then prepares to send this information to the server.
[0288] Upon receiving participant information, the server uses an API to retrieve schedule data in order to communicate with an external time management system. A specific example is the Google Calendar API. The server analyzes the retrieved data to calculate the common free time for all participants. In this process, a data analysis algorithm is used to identify the available dates and times for everyone.
[0289] Furthermore, the server checks for available space resources. It interfaces with external space reservation systems to obtain information such as available meeting rooms for the proposed time slots. This function identifies facilities that are available at the desired date and time.
[0290] The server then sends back shared availability and space availability to the user's device, presenting it visually. The user selects the most suitable date and time based on the information presented and replies to the server via their device. Based on this selection, the server formally defines the meeting and, if necessary, creates the meeting on Google Calendar. Finally, the server sends an email notification to each participant, sharing detailed information about the meeting.
[0291] As a concrete example, this system can be used when a project team is scheduling a meeting. An example of a prompt would be, "Please schedule the project team's regular meeting and find the best time for everyone to attend. Also, please let me know which meeting rooms are available at that time." This prompt allows the system to respond to the user's needs quickly and effectively.
[0292] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0293] Step 1:
[0294] The user uses a terminal to enter information such as the participant's name and email address on the interface. Based on this input, the terminal organizes the participant information into data packets and prepares them for transmission to the server. The output is a data packet containing the collected participant information.
[0295] Step 2:
[0296] The terminal sends the configured data packets to the server. The server receives these packets, parses the information, and obtains individual information for each participant. The input is the data packets containing participant information, and the output is the dataset of parsed participant information.
[0297] Step 3:
[0298] The server communicates with an external time management system and uses an API to retrieve participant schedule data. Specifically, it sends requests to the Google Calendar API and other APIs using participant IDs and receives the returned schedule data. The input is a participant information dataset, and the output is the retrieved schedule data.
[0299] Step 4:
[0300] The server analyzes the acquired schedule data and calculates common free time for all participants. It uses a data analysis algorithm to compare each participant's schedule and identify common free time. The input is schedule data, and the output is a list of potential common free time slots.
[0301] Step 5:
[0302] The server interfaces with the space reservation system and executes queries to check for available meeting rooms within the common free time slots. The input here is a list of common free time slots, and the output is a list of available meeting rooms.
[0303] Step 6:
[0304] The server sends back the obtained common free time and meeting room information to the terminal. The terminal presents this information to the user so that the user can make a selection. The input is a list of common free time and meeting room information, and the output is a visual presentation to the user.
[0305] Step 7:
[0306] The user selects the optimal date and time and meeting room from the presented options. The terminal sends this selection information back to the server. The input is the date and time and meeting room selected by the user, and the output is selection information data.
[0307] Step 8:
[0308] The server formally defines the meeting based on the user's selection information and creates an entry on Google Calendar. At this time, the necessary details can also be supplemented using the generated AI model. Furthermore, the server sends a notification email containing the meeting details to all participants. The input is selection information data, and the output is a calendar entry and a notification email.
[0309] (Application Example 1)
[0310] Next, Application Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".
[0311] In modern cities, various public service institutions and local events are held, but their schedule adjustments are complex and require a great deal of time and effort for coordination among the relevant parties. In particular, it is difficult to manually check the schedules of each participant and the availability of the venue and efficiently schedule meetings and events.
[0312] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0313] In this invention, the server includes means for receiving participant information, means for obtaining schedule information based on the participant information, and means for analyzing the availability of public service agencies in order to efficiently schedule events in the community. This makes scheduling across the city more efficient and enables the rapid setting of events and meetings and immediate notification to participants.
[0314] "Participant information" refers to information about individual people attending a meeting or event, and typically includes their name and contact information.
[0315] "Schedule information" refers to data about each participant's schedule and available time, and is necessary information for planning meetings and events.
[0316] A "suggested time" is a time slot that all participants are free of, and is proposed for scheduling meetings or events.
[0317] "Facility availability" refers to information indicating the availability of venues and meeting rooms at specific dates and times, and is data necessary for holding meetings and events.
[0318] "Public service institutions" refer to organizations and facilities that provide various services to citizens in cities and regions, and generally include city halls and community centers.
[0319] A "notification" is a message or alert used to communicate information about a scheduled meeting or event to participants, and can be sent via email or application.
[0320] The system that realizes this invention is built through the cooperation of a server and user terminals. The server retrieves each participant's schedule and communicates with an external time management system to coordinate schedules. In this process, it uses the Google Calendar API to obtain the participants' availability. The server then calculates candidate times when all participants are available based on the retrieved schedule information and generates candidate times for meetings and events.
[0321] The server also connects with the facility reservation system API to check facility availability. This connection identifies available facilities for the desired date and time. On the user's terminal, a list of candidate times and facility availability sent from the server is displayed, allowing the user to choose the best option.
[0322] After selection, the server will configure the meeting or event based on the final selected time and location, and send a notification to all participants. This notification will be sent via email or application notification.
[0323] A concrete example is scheduling disaster prevention drills held in the community. A city disaster prevention officer uses this system to input participant information via a terminal, and the server analyzes the data to suggest available dates, times, and locations for everyone. By selecting the most suitable date and location, the event is quickly set up, and notifications are sent to all relevant parties.
[0324] An example of a prompt to input into the generating AI model is: "Please propose a system that automatically sets the optimal date, time, and location for resident events in a smart city. Based on user input, it should calculate the common availability of all participants, suggest available facilities, and automatically notify relevant parties of the approved schedule."
[0325] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0326] Step 1:
[0327] Users enter participant information using their devices. This information includes basic data such as the participant's name and contact information. Based on this, the system sends the data to the server.
[0328] Step 2:
[0329] The server uses the participant information it receives to retrieve each participant's schedule information using the Google Calendar API. The process involves accessing the participant's time management data and processing it to identify whether they have appointments or are free. The output is the availability data for each participant.
[0330] Step 3:
[0331] The server analyzes the schedule data of all participants and generates common free time slots as candidate times. This process compares each participant's schedule list to extract common free slots and outputs the times that fill them as candidates.
[0332] Step 4:
[0333] The server communicates with an external facility reservation system API to check facility availability for the proposed time slots. The input to the process is a list of proposed time slots, and the output is a list of available facilities corresponding to those time slots.
[0334] Step 5:
[0335] The terminal displays a list of suggested times and available facilities provided by the server to the user. The user then selects the most suitable time and facility from this list.
[0336] Step 6:
[0337] The user's selection is sent to the server, which then sets up a meeting in Google Calendar based on that selection. In this step, the selected time and location information is registered as a calendar event. The output is an automatically generated event.
[0338] Step 7:
[0339] Finally, the server sends a notification to all participants regarding the scheduled meeting. The notification will be sent via email or an in-app message. The output will be the notification message sent to the participants.
[0340] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0341] This invention provides a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information, and further incorporates an emotion engine that recognizes the user's emotions. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0342] The user first enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. This information is then sent to the server.
[0343] Based on the participant information received, the server communicates with an external time management system to retrieve individual schedule data for each participant. It uses existing services such as the Google Calendar API to determine the appointments and free time that participants have already registered in their schedules.
[0344] Next, the server analyzes the acquired schedule information to determine a common time slot available to all participants. This time slot becomes the candidate time slot.
[0345] The server then checks facility availability based on these suggested times. The facility is integrated with a meeting room reservation system to identify meeting rooms that are available at the desired date and time.
[0346] To reflect the user's emotional input, the emotion engine analyzes the user's voice and text. The emotion engine senses the user's intentions and emotional state and provides corresponding information to the server.
[0347] The server considers the information received from the emotion engine, prioritizes candidate times and meeting room selections, and presents them to the user.
[0348] The user selects the date and location of the meeting that they deem most suitable from the presented options. The selected information is then sent back to the server.
[0349] Based on the final selection, the server registers the meeting in Google Calendar and sends a meeting notification to all participants. This notification includes meeting details and related information.
[0350] For example, when a project team schedules a regular meeting, this system can automatically find a time and date that works for everyone from the shared schedules of all participants and reserve the most suitable meeting room. Furthermore, by taking into account the team leader's feelings and intentions, it enables smoother and more satisfying meeting scheduling.
[0351] The following describes the processing flow.
[0352] Step 1:
[0353] The user enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. The entered information is sent to the server in real time.
[0354] Step 2:
[0355] Based on the participant information received by the server, it initiates communication with an external time management system. It retrieves each participant's schedule through services such as the Google Calendar API and checks their individual appointments.
[0356] Step 3:
[0357] The server analyzes each participant's schedule information to identify common time slots that are available to everyone. This allows it to extract potential times that all participants can attend.
[0358] Step 4:
[0359] Based on the candidate times extracted by the server, the system accesses the facility's reservation management system. It searches for available meeting rooms for the desired date and time and identifies the most suitable facility.
[0360] Step 5:
[0361] On the device, the user inputs their emotions. The user's emotions are sent to the emotion engine via voice or text input. The emotion engine analyzes the user's emotions and generates emotion data.
[0362] Step 6:
[0363] The server receives emotional data from the emotion engine and uses that information to prioritize suggested times and facilities. The user is then presented with options that reflect the results of the emotional analysis.
[0364] Step 7:
[0365] The user selects the most suitable date, time, and meeting room from the proposed meeting options. The selected information is sent from the terminal to the server as feedback.
[0366] Step 8:
[0367] The server registers meeting details in Google Calendar based on the user's selection. This registration includes specific information such as the meeting's start time, end time, and location.
[0368] Step 9:
[0369] The server will send a notification email to all participants containing meeting details. This notification will include the date, time, and location of the meeting, as well as any other necessary information.
[0370] Step 10:
[0371] Users can confirm the completion of meeting scheduling on their device and send additional instructions or notes to participants as needed. This allows for quick and effective meeting coordination.
[0372] (Example 2)
[0373] Next, we will describe Example 2. 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".
[0374] Scheduling a meeting, while considering the schedules of all participants, is a laborious task. Furthermore, reflecting the feelings and intentions of participants in the scheduling is difficult and often leads to meetings not running smoothly. Solving these problems and achieving efficient and harmonious meeting scheduling is essential.
[0375] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0376] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for analyzing the schedule information and extracting common free time slots for all participants. This enables the automatic adjustment of appropriate meeting dates and times based on participants' schedules. Furthermore, by checking facility availability and presenting options that take into account user sentiment information, efficient and harmonious meeting scheduling is achieved.
[0377] "Participant information" refers to identifiable data about individual members attending the meeting, including information such as name, email address, and affiliated organization.
[0378] "Schedule information" refers to data about participants' schedules and available time, obtained from a schedule management system.
[0379] "Candidate time" refers to the common free time slots of all participants calculated by the server, representing the time frame in which a meeting could potentially be held.
[0380] "Facility availability" refers to information indicating the availability of facilities and meeting rooms at the scheduled date and time of the meeting.
[0381] "Emotional information" refers to data about the user's emotional state and intentions, analyzed by the emotion engine based on the user's voice or text input.
[0382] This invention is a system that efficiently and automatically sets the date and location of meetings, and can adjust the schedule while taking user preferences into consideration. The system consists of a terminal, a server, and cooperation with external systems.
[0383] First, the user uses their device to enter necessary participant information, such as the names and email addresses of the members attending the meeting. This information is sent to the server. Based on the received information, the server communicates with an external scheduling management system (e.g., Google Calendar API) to retrieve the participants' schedules and availability. The retrieved schedule information is stored in a database and analyzed.
[0384] The server calculates the common free time of all participants and uses this as a candidate time. It also works with the meeting room reservation system to check which meeting rooms are available at the candidate time. This generates a list of available facilities.
[0385] Next, the user inputs voice or text into the emotion engine via their device. This engine analyzes the user's emotional state and intentions and provides this information to the server. The server considers this information and presents the user with high-priority candidate time and meeting room combinations.
[0386] The user selects the most suitable date, time, and location from the presented options and resends that information to the server. The server registers the selected date, time, and location with an external scheduling management system and sends a notification to all participants including the meeting date, time, and location.
[0387] For example, when a project team schedules regular meetings, this system can automatically identify common free time slots from everyone's schedules and book the most suitable meeting room. Furthermore, by considering the team leader's feelings and intentions, coordination can proceed more smoothly.
[0388] An example of a prompt message is, "I would like to schedule a regular project meeting. Please suggest the best date, time, and meeting room, taking into account the participants' schedules."
[0389] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0390] Step 1:
[0391] The user uses their device to enter participant information, such as the names and email addresses of the members attending the meeting. Based on this input, the device sends this information to the server. The entered data is recorded as digital data once it reaches the server.
[0392] Step 2:
[0393] Based on the received participant information, the server initiates communication with an external scheduling management system. This process uses an API to access the schedule in order to retrieve individual schedule data for each participant. The input is participant identification information, and the output is the schedule information for each participant.
[0394] Step 3:
[0395] The server analyzes the acquired schedule information. This analysis compares the free time of all participants to identify common free time slots. The input is the schedule information of each participant, and the output is a list of candidate common free time slots. These are then grouped together as candidate times.
[0396] Step 4:
[0397] The server integrates with the meeting room reservation system to check facility availability for each candidate time slot. The server uses an API to retrieve a list of available meeting rooms. The input is the candidate time slot, and the output is a list of available meeting rooms.
[0398] Step 5:
[0399] The user inputs voice or text into the device, and the emotion engine analyzes that data. The engine understands the user's emotional state and intentions and provides that information to the server. The input is data about emotions and intentions, and the output is the analyzed emotion information.
[0400] Step 6:
[0401] The server prioritizes candidate times and meeting rooms based on sentiment information. According to this priority, it presents the best option for the user to their terminal. The input is sentiment information and a list of meeting rooms, and the output is a list of high-priority candidates.
[0402] Step 7:
[0403] The user selects the most suitable date, time, and location from the options displayed on the terminal and sends this selection to the server. The input is the selection information from the options, and the output is the details of the confirmed meeting.
[0404] Step 8:
[0405] The server registers the final selected meeting date, time, and location in the scheduling management system and sends meeting notifications to all participants. The input is the confirmed meeting information, and the output is the notification sent to participants.
[0406] (Application Example 2)
[0407] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0408] In modern cities, coordinating community activities and meetings that encourage active participation from residents has become increasingly complex. Especially when there are many participants, finding a time that works for everyone is difficult, and scheduling while considering participants' feelings and intentions is extremely challenging. In this situation, there is a need for a system that can efficiently coordinate participants' schedules and propose the optimal meeting location and time while taking their feelings into consideration.
[0409] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0410] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for prioritizing candidate times and facilities using an emotion engine that analyzes user emotion information. This enables efficient coordination of local activities and meetings that take into account participants' schedules and emotions.
[0411] "Participant information" refers to basic data about each individual attending a meeting or event, and typically includes their name and contact information.
[0412] "Schedule information" refers to data showing the schedules of individual participants, including their free time and appointments.
[0413] A "proposed time" is a time slot that all participants are likely to be available in common, and can be considered as the meeting time.
[0414] "Facility availability" refers to information indicating whether there is a space available for use for meetings or events.
[0415] An "emotion engine" is a technology that analyzes emotions and intentions from participants' voices and texts to provide the system with the necessary information.
[0416] A "server" is a computer device that stores data, performs calculations, and manages the entire system.
[0417] A "notification" is a message sent to inform participants of meeting details and updates.
[0418] The system according to the present invention consists of a terminal used by participants, a server that processes data, and an interface that provides information. This system functions by users inputting information about the people participating in the meeting through the terminal, and the server processing that information.
[0419] The server first uses participant information received from the terminal to communicate with an external time management system and obtain individual schedule information for each participant. Existing services such as the Google Calendar API are used for this purpose. The server then analyzes the obtained schedule information and generates common free time slots for all participants as candidate times.
[0420] Next, the server connects with the facility reservation system to check the availability of the venue where the meeting will be held. This process identifies a meeting room or other facility that is available at the desired date and time.
[0421] Furthermore, an emotion engine runs on the server, analyzing voice and text data from users to understand their emotional state and determine the priority of candidate times and facilities. Sentiment analysis tools such as Google Cloud Natural Language API and IBM Watson Tone Analyzer are used.
[0422] After integrating all the information, the server presents the user with the most suitable candidate time and venue, and then finalizes the meeting details based on the selection. As a result, the server registers the meeting in Google Calendar and sends a notification to all participants. The notification includes detailed meeting information, enabling efficient event management.
[0423] Specifically, when a user plans a local event, the system can automatically adjust the schedules of all participants and provide the optimal date, taking sentiment data into consideration. An example of a prompt might be: "Using participant schedule data, suggest the best date for a local cleanup event in XX city. Please also take participants' sentiment data into consideration."
[0424] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0425] Step 1:
[0426] The terminal receives participant information from the user, such as the participant's name and email address. This information is then sent to the server as input data.
[0427] Step 2:
[0428] Based on participant information received from the terminals, the server collaborates with an external time management system to retrieve individual participant schedule information. In this step, the Google Calendar API is used to obtain scheduled and available time data, which is then integrated on the server.
[0429] Step 3:
[0430] The server analyzes the acquired schedule information. Here, it performs data processing to find common free time slots among all participants and generate candidate times. This analysis result becomes the input for the next step.
[0431] Step 4:
[0432] The server, based on the obtained candidate times, checks facility availability in conjunction with the facility reservation system. The system retrieves information on available facilities and generates a list of facilities for the candidate times.
[0433] Step 5:
[0434] The server uses an emotion engine to analyze the user's emotional state from their voice and text. It utilizes the Google Cloud Natural Language API and IBM Watson Tone Analyzer to analyze user input data. The emotional information obtained from this analysis is then used for prioritizing the next steps.
[0435] Step 6:
[0436] The server prioritizes candidate times and facilities based on emotional information. This generates data that lists the most suitable options for the user.
[0437] Step 7:
[0438] The server generates a list of optimal candidate times and venues for the user and sends it to the terminal. The user selects their preferred meeting content from the presented options.
[0439] Step 8:
[0440] Based on the user's selection, the server registers the meeting in Google Calendar. It then sends meeting notifications to all participants and shares the final settings.
[0441] The above outlines the specific processing steps of this system, enabling efficient meeting scheduling.
[0442] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0443] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0444] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0445] [Third Embodiment]
[0446] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0447] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0448] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0449] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0450] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0451] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0452] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0453] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0454] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0455] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0456] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0457] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0458] This invention is a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0459] The user first uses the interface on their device to enter information such as the participant's name and email address. This entered information is then sent to the server.
[0460] Based on the received participant information, the server accesses each participant's time management data and retrieves the schedules of all participants via the Google Calendar API, etc. Here, it identifies each individual's free time and already confirmed appointments.
[0461] The server analyzes the retrieved schedule information and generates potential times when all participants are available. These potential times suggest possible days and times for the meeting to take place.
[0462] Next, the server checks the availability of each facility for the proposed time. The facilities are integrated with a meeting room reservation system and are programmed to identify available spaces for the desired date and time.
[0463] The server then sends these results to the terminal and presents them to the user. The information presented includes possible times when everyone can attend and a list of available meeting rooms.
[0464] The user makes the selection they deem best from their device and sends it back to the server. Based on that selection, the server automatically creates a meeting on Google Calendar and sends a notification email to all participants.
[0465] As a concrete example, consider a project team scheduling a regular meeting. When the user enters the team members' information, the server finds potential dates that everyone can attend and selects an available meeting room. Once the user chooses the most convenient option, the meeting is automatically scheduled and notifications are sent. This entire process significantly reduces the time spent on manual scheduling.
[0466] The following describes the processing flow.
[0467] Step 1:
[0468] The user enters information about the participants they want to include in the meeting on their device. This includes basic information such as the participant's name and email address.
[0469] Step 2:
[0470] The terminal sends the entered participant information to the server. The information is sent in an encrypted format using a secure communication method.
[0471] Step 3:
[0472] The server connects to an external time management system based on the participant information it receives, and retrieves each participant's schedule. It uses services such as the Google Calendar API to obtain individual schedule information.
[0473] Step 4:
[0474] The server analyzes the acquired schedule information to detect common free time slots for all participants. This process evaluates schedule overlaps and extracts available candidate times.
[0475] Step 5:
[0476] The server accesses the reservation management system for facilities matching the proposed time and checks the availability of the meeting place. If multiple facilities are available, it selects the most suitable meeting room.
[0477] Step 6:
[0478] The server sends meeting suggestions to the terminal, including potential times and available facilities. Several optimal options are then displayed to the user on the interface.
[0479] Step 7:
[0480] The user selects the most suitable date, time, and meeting room from the proposed meeting options. This selection is sent as feedback from the terminal to the server.
[0481] Step 8:
[0482] The server creates an event in Google Calendar based on the user's selection. This event is configured to include details such as the date, time, and location of the meeting.
[0483] Step 9:
[0484] The server will send an email to all participants notifying them of the meeting details. This email will include meeting information and links.
[0485] Step 10:
[0486] The user confirms the completion of the meeting setup on their device. The automated process significantly reduces the effort required to set up a meeting.
[0487] (Example 1)
[0488] Next, we will describe Example 1. 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."
[0489] In today's busy business environment and society, coordinating meetings that accommodate the schedules of multiple participants is a time-consuming and laborious task. Traditional manual scheduling requires finding everyone's availability and verifying available space, necessitating efficient operation. To address this challenge, a method is needed to automate participant scheduling and efficiently set up meetings.
[0490] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0491] In this invention, the server includes means for receiving participant information, means for acquiring schedule data, means for calculating the common free time of all participants, means for confirming the availability of spatial resources, means for presenting the common free time and the availability of spatial resources, means for defining a meeting based on the selected time, and means for transferring information. This makes it possible to automatically and efficiently set the optimal meeting date and location without requiring manual adjustments from participants.
[0492] "Means for receiving participant information" refers to the function that allows the system to acquire data, including personally identifiable information and contact information, received from users.
[0493] The "means of acquiring schedule data" refer to a function that communicates with an external time management system and extracts schedule information for each participant.
[0494] The "method for calculating shared free time" is an algorithm that analyzes the schedules of all participants and identifies the dates and times when everyone is free.
[0495] "Means for confirming the availability of spatial resources" refers to a function that obtains information on available spaces and facilities at a specified time by interfacing with an external space reservation system.
[0496] "Means of presenting the availability of shared free time and spatial resources" refers to a function in which the system visually provides users with information on possible dates and times and available spaces.
[0497] "Means of defining a meeting based on a selected time" refers to the process of formally determining the meeting date based on the optimal time selected by the user.
[0498] "Means of forwarding information" refers to the function of notifying each participant of the defined meeting details via email or other means of communication.
[0499] To implement this invention, a system consisting of a user, a terminal, and a server is required. The user first uses an interface on the terminal to input participant information (such as name and email address). The terminal then prepares to send this information to the server.
[0500] Upon receiving participant information, the server uses an API to retrieve schedule data in order to communicate with an external time management system. A specific example is the Google Calendar API. The server analyzes the retrieved data to calculate the common free time for all participants. In this process, a data analysis algorithm is used to identify the available dates and times for everyone.
[0501] Furthermore, the server checks for available space resources. It interfaces with external space reservation systems to obtain information such as available meeting rooms for the proposed time slots. This function identifies facilities that are available at the desired date and time.
[0502] The server then sends back shared availability and space availability to the user's device, presenting it visually. The user selects the most suitable date and time based on the information presented and replies to the server via their device. Based on this selection, the server formally defines the meeting and, if necessary, creates the meeting on Google Calendar. Finally, the server sends an email notification to each participant, sharing detailed information about the meeting.
[0503] As a concrete example, this system can be used when a project team is scheduling a meeting. An example of a prompt would be, "Please schedule the project team's regular meeting and find the best time for everyone to attend. Also, please let me know which meeting rooms are available at that time." This prompt allows the system to respond to the user's needs quickly and effectively.
[0504] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0505] Step 1:
[0506] The user uses a terminal to enter information such as the participant's name and email address on the interface. Based on this input, the terminal organizes the participant information into data packets and prepares them for transmission to the server. The output is a data packet containing the collected participant information.
[0507] Step 2:
[0508] The terminal sends the configured data packets to the server. The server receives these packets, parses the information, and obtains individual information for each participant. The input is the data packets containing participant information, and the output is the dataset of parsed participant information.
[0509] Step 3:
[0510] The server communicates with an external time management system and uses an API to retrieve participant schedule data. Specifically, it sends requests to the Google Calendar API and other APIs using participant IDs and receives the returned schedule data. The input is a participant information dataset, and the output is the retrieved schedule data.
[0511] Step 4:
[0512] The server analyzes the acquired schedule data and calculates common free time for all participants. It uses a data analysis algorithm to compare each participant's schedule and identify common free time. The input is schedule data, and the output is a list of potential common free time slots.
[0513] Step 5:
[0514] The server interfaces with the space reservation system and executes queries to check for available meeting rooms within the common free time slots. The input here is a list of common free time slots, and the output is a list of available meeting rooms.
[0515] Step 6:
[0516] The server sends the obtained shared availability and meeting room information back to the terminal. The terminal presents this information to the user, allowing the user to make a selection. The input is a list of shared availability and meeting room information, and the output is a visual presentation to the user.
[0517] Step 7:
[0518] The user selects the most suitable date, time, and meeting room from the presented options. The terminal sends this selection information back to the server. The input is the date, time, and meeting room selected by the user, and the output is the selection information data.
[0519] Step 8:
[0520] The server formally defines the meeting based on the user's selections and creates an entry in Google Calendar. It can also use a generative AI model to fill in any necessary details. Furthermore, the server sends a notification email containing the meeting details to all participants. The input is the selection data, and the output is the calendar entry and notification email.
[0521] (Application Example 1)
[0522] Next, we will explain Application Example 1. In the following explanation, 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."
[0523] In modern cities, a wide variety of public services and community events take place, but coordinating their schedules is complex and requires considerable time and effort from all parties involved. In particular, manually checking each participant's availability and venue availability to efficiently schedule meetings and events is difficult.
[0524] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0525] In this invention, the server includes means for receiving participant information, means for obtaining schedule information based on the participant information, and means for analyzing the availability of public service agencies in order to efficiently schedule events in the community. This makes scheduling across the city more efficient and enables the rapid setting of events and meetings and immediate notification to participants.
[0526] "Participant information" refers to information about individual people attending a meeting or event, and typically includes their name and contact information.
[0527] "Schedule information" refers to data about each participant's schedule and available time, and is necessary information for planning meetings and events.
[0528] A "suggested time" is a time slot that all participants are free of, and is proposed for scheduling meetings or events.
[0529] "Facility availability" refers to information indicating the availability of venues and meeting rooms at specific dates and times, and is data necessary for holding meetings and events.
[0530] "Public service institutions" refer to organizations and facilities that provide various services to citizens in cities and regions, and generally include city halls and community centers.
[0531] A "notification" is a message or alert used to communicate information about a scheduled meeting or event to participants, and can be sent via email or application.
[0532] The system that realizes this invention is built through the cooperation of a server and user terminals. The server retrieves each participant's schedule and communicates with an external time management system to coordinate schedules. In this process, it uses the Google Calendar API to obtain the participants' availability. The server then calculates candidate times when all participants are available based on the retrieved schedule information and generates candidate times for meetings and events.
[0533] The server also connects with the facility reservation system API to check facility availability. This connection identifies available facilities for the desired date and time. On the user's terminal, a list of candidate times and facility availability sent from the server is displayed, allowing the user to choose the best option.
[0534] After selection, the server will configure the meeting or event based on the final selected time and location, and send a notification to all participants. This notification will be sent via email or application notification.
[0535] A concrete example is scheduling disaster prevention drills held in the community. A city disaster prevention officer uses this system to input participant information via a terminal, and the server analyzes the data to suggest available dates, times, and locations for everyone. By selecting the most suitable date and location, the event is quickly set up, and notifications are sent to all relevant parties.
[0536] An example of a prompt to input into the generating AI model is: "Please propose a system that automatically sets the optimal date, time, and location for resident events in a smart city. Based on user input, it should calculate the common availability of all participants, suggest available facilities, and automatically notify relevant parties of the approved schedule."
[0537] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0538] Step 1:
[0539] Users enter participant information using their devices. This information includes basic data such as the participant's name and contact information. Based on this, the system sends the data to the server.
[0540] Step 2:
[0541] The server uses the participant information it receives to retrieve each participant's schedule information using the Google Calendar API. The process involves accessing the participant's time management data and processing it to identify whether they have appointments or are free. The output is the availability data for each participant.
[0542] Step 3:
[0543] The server analyzes the schedule data of all participants and generates common free time slots as candidate times. This process compares each participant's schedule list to extract common free slots and outputs the times that fill them as candidates.
[0544] Step 4:
[0545] The server communicates with an external facility reservation system API to check facility availability for the proposed time slots. The input to the process is a list of proposed time slots, and the output is a list of available facilities corresponding to those time slots.
[0546] Step 5:
[0547] The terminal displays a list of suggested times and available facilities provided by the server to the user. The user then selects the most suitable time and facility from this list.
[0548] Step 6:
[0549] The user's selection is sent to the server, which then sets up a meeting in Google Calendar based on that selection. In this step, the selected time and location information is registered as a calendar event. The output is an automatically generated event.
[0550] Step 7:
[0551] Finally, the server sends a notification to all participants regarding the scheduled meeting. The notification will be sent via email or an in-app message. The output will be the notification message sent to the participants.
[0552] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0553] This invention provides a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information, and further incorporates an emotion engine that recognizes the user's emotions. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0554] The user first enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. This information is then sent to the server.
[0555] Based on the participant information received, the server communicates with an external time management system to retrieve individual schedule data for each participant. It uses existing services such as the Google Calendar API to determine the appointments and free time that participants have already registered in their schedules.
[0556] Next, the server analyzes the acquired schedule information to determine a common time slot available to all participants. This time slot becomes the candidate time slot.
[0557] The server then checks facility availability based on these suggested times. The facility is integrated with a meeting room reservation system to identify meeting rooms that are available at the desired date and time.
[0558] To reflect the user's emotional input, the emotion engine analyzes the user's voice and text. The emotion engine senses the user's intentions and emotional state and provides corresponding information to the server.
[0559] The server considers the information received from the emotion engine, prioritizes candidate times and meeting room selections, and presents them to the user.
[0560] The user selects the date and location of the meeting that they deem most suitable from the presented options. The selected information is then sent back to the server.
[0561] Based on the final selection, the server registers the meeting in Google Calendar and sends a meeting notification to all participants. This notification includes meeting details and related information.
[0562] For example, when a project team schedules a regular meeting, this system can automatically find a time and date that works for everyone from the shared schedules of all participants and reserve the most suitable meeting room. Furthermore, by taking into account the team leader's feelings and intentions, it enables smoother and more satisfying meeting scheduling.
[0563] The following describes the processing flow.
[0564] Step 1:
[0565] The user enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. The entered information is sent to the server in real time.
[0566] Step 2:
[0567] Based on the participant information received by the server, it initiates communication with an external time management system. It retrieves each participant's schedule through services such as the Google Calendar API and checks their individual appointments.
[0568] Step 3:
[0569] The server analyzes each participant's schedule information to identify common time slots that are available to everyone. This allows it to extract potential times that all participants can attend.
[0570] Step 4:
[0571] Based on the candidate times extracted by the server, the system accesses the facility's reservation management system. It searches for available meeting rooms for the desired date and time and identifies the most suitable facility.
[0572] Step 5:
[0573] On the device, the user inputs their emotions. The user's emotions are sent to the emotion engine via voice or text input. The emotion engine analyzes the user's emotions and generates emotion data.
[0574] Step 6:
[0575] The server receives emotional data from the emotion engine and uses that information to prioritize suggested times and facilities. The user is then presented with options that reflect the results of the emotional analysis.
[0576] Step 7:
[0577] The user selects the most suitable date, time, and meeting room from the proposed meeting options. The selected information is sent from the terminal to the server as feedback.
[0578] Step 8:
[0579] The server registers meeting details in Google Calendar based on the user's selection. This registration includes specific information such as the meeting's start time, end time, and location.
[0580] Step 9:
[0581] The server will send a notification email to all participants containing meeting details. This notification will include the date, time, and location of the meeting, as well as any other necessary information.
[0582] Step 10:
[0583] Users can confirm the completion of meeting scheduling on their device and send additional instructions or notes to participants as needed. This allows for quick and effective meeting coordination.
[0584] (Example 2)
[0585] Next, we will describe Example 2. 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."
[0586] Scheduling a meeting, while considering the schedules of all participants, is a laborious task. Furthermore, reflecting the feelings and intentions of participants in the scheduling is difficult and often leads to meetings not running smoothly. Solving these problems and achieving efficient and harmonious meeting scheduling is essential.
[0587] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0588] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for analyzing the schedule information and extracting common free time slots for all participants. This enables the automatic adjustment of appropriate meeting dates and times based on participants' schedules. Furthermore, by checking facility availability and presenting options that take into account user sentiment information, efficient and harmonious meeting scheduling is achieved.
[0589] "Participant information" refers to identifiable data about individual members attending the meeting, including information such as name, email address, and affiliated organization.
[0590] "Schedule information" refers to data about participants' schedules and available time, obtained from a schedule management system.
[0591] "Candidate time" refers to the common free time slots of all participants calculated by the server, representing the time frame in which a meeting could potentially be held.
[0592] "Facility availability" refers to information indicating the availability of facilities and meeting rooms at the scheduled date and time of the meeting.
[0593] "Emotional information" refers to data about the user's emotional state and intentions, analyzed by the emotion engine based on the user's voice or text input.
[0594] This invention is a system that efficiently and automatically sets the date and location of meetings, and can adjust the schedule while taking user preferences into consideration. The system consists of a terminal, a server, and cooperation with external systems.
[0595] First, the user uses their device to enter necessary participant information, such as the names and email addresses of the members attending the meeting. This information is sent to the server. Based on the received information, the server communicates with an external scheduling management system (e.g., Google Calendar API) to retrieve the participants' schedules and availability. The retrieved schedule information is stored in a database and analyzed.
[0596] The server calculates the common free time of all participants and uses this as a candidate time. It also works with the meeting room reservation system to check which meeting rooms are available at the candidate time. This generates a list of available facilities.
[0597] Next, the user inputs voice or text into the emotion engine via their device. This engine analyzes the user's emotional state and intentions and provides this information to the server. The server considers this information and presents the user with high-priority candidate time and meeting room combinations.
[0598] The user selects the most suitable date, time, and location from the presented options and resends that information to the server. The server registers the selected date, time, and location with an external scheduling management system and sends a notification to all participants including the meeting date, time, and location.
[0599] For example, when a project team schedules regular meetings, this system can automatically identify common free time slots from everyone's schedules and book the most suitable meeting room. Furthermore, by considering the team leader's feelings and intentions, coordination can proceed more smoothly.
[0600] An example of a prompt message is, "I would like to schedule a regular project meeting. Please suggest the best date, time, and meeting room, taking into account the participants' schedules."
[0601] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0602] Step 1:
[0603] The user uses their device to enter participant information, such as the names and email addresses of the members attending the meeting. Based on this input, the device sends this information to the server. The entered data is recorded as digital data once it reaches the server.
[0604] Step 2:
[0605] Based on the received participant information, the server initiates communication with an external scheduling management system. This process uses an API to access the schedule in order to retrieve individual schedule data for each participant. The input is participant identification information, and the output is the schedule information for each participant.
[0606] Step 3:
[0607] The server analyzes the acquired schedule information. This analysis compares the free time of all participants to identify common free time slots. The input is the schedule information of each participant, and the output is a list of candidate common free time slots. These are then grouped together as candidate times.
[0608] Step 4:
[0609] The server integrates with the meeting room reservation system to check facility availability for each candidate time slot. The server uses an API to retrieve a list of available meeting rooms. The input is the candidate time slot, and the output is a list of available meeting rooms.
[0610] Step 5:
[0611] The user inputs voice or text into the device, and the emotion engine analyzes that data. The engine understands the user's emotional state and intentions and provides that information to the server. The input is data about emotions and intentions, and the output is the analyzed emotion information.
[0612] Step 6:
[0613] The server prioritizes candidate times and meeting rooms based on sentiment information. According to this priority, it presents the best option for the user to their terminal. The input is sentiment information and a list of meeting rooms, and the output is a list of high-priority candidates.
[0614] Step 7:
[0615] The user selects the most suitable date, time, and location from the options displayed on the terminal and sends this selection to the server. The input is the selection information from the options, and the output is the details of the confirmed meeting.
[0616] Step 8:
[0617] The server registers the final selected meeting date, time, and location in the scheduling management system and sends meeting notifications to all participants. The input is the confirmed meeting information, and the output is the notification sent to participants.
[0618] (Application Example 2)
[0619] Next, we will explain application example 2. In the following explanation, 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."
[0620] In modern cities, coordinating community activities and meetings that encourage active participation from residents has become increasingly complex. Especially when there are many participants, finding a time that works for everyone is difficult, and scheduling while considering participants' feelings and intentions is extremely challenging. In this situation, there is a need for a system that can efficiently coordinate participants' schedules and propose the optimal meeting location and time while taking their feelings into consideration.
[0621] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0622] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for prioritizing candidate times and facilities using an emotion engine that analyzes user emotion information. This enables efficient coordination of local activities and meetings that take into account participants' schedules and emotions.
[0623] "Participant information" refers to basic data about each individual attending a meeting or event, and typically includes their name and contact information.
[0624] "Schedule information" refers to data showing the schedules of individual participants, including their free time and appointments.
[0625] A "proposed time" is a time slot that all participants are likely to be available in common, and can be considered as the meeting time.
[0626] "Facility availability" refers to information indicating whether there is a space available for use for meetings or events.
[0627] An "emotion engine" is a technology that analyzes emotions and intentions from participants' voices and texts to provide the system with the necessary information.
[0628] A "server" is a computer device that stores data, performs calculations, and manages the entire system.
[0629] A "notification" is a message sent to inform participants of meeting details and updates.
[0630] The system according to the present invention consists of a terminal used by participants, a server that processes data, and an interface that provides information. This system functions by users inputting information about the people participating in the meeting through the terminal, and the server processing that information.
[0631] The server first uses participant information received from the terminal to communicate with an external time management system and obtain individual schedule information for each participant. Existing services such as the Google Calendar API are used for this purpose. The server then analyzes the obtained schedule information and generates common free time slots for all participants as candidate times.
[0632] Next, the server connects with the facility reservation system to check the availability of the venue where the meeting will be held. This process identifies a meeting room or other facility that is available at the desired date and time.
[0633] Furthermore, an emotion engine runs on the server, analyzing voice and text data from users to understand their emotional state and determine the priority of candidate times and facilities. Sentiment analysis tools such as Google Cloud Natural Language API and IBM Watson Tone Analyzer are used.
[0634] After integrating all the information, the server presents the user with the most suitable candidate time and venue, and then finalizes the meeting details based on the selection. As a result, the server registers the meeting in Google Calendar and sends a notification to all participants. The notification includes detailed meeting information, enabling efficient event management.
[0635] Specifically, when a user plans a local event, the system can automatically adjust the schedules of all participants and provide the optimal date, taking sentiment data into consideration. An example of a prompt might be: "Using participant schedule data, suggest the best date for a local cleanup event in XX city. Please also take participants' sentiment data into consideration."
[0636] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0637] Step 1:
[0638] The terminal receives participant information from the user, such as the participant's name and email address. This information is then sent to the server as input data.
[0639] Step 2:
[0640] Based on participant information received from the terminals, the server collaborates with an external time management system to retrieve individual participant schedule information. In this step, the Google Calendar API is used to obtain scheduled and available time data, which is then integrated on the server.
[0641] Step 3:
[0642] The server analyzes the acquired schedule information. Here, it performs data processing to find common free time slots among all participants and generate candidate times. This analysis result becomes the input for the next step.
[0643] Step 4:
[0644] The server, based on the obtained candidate times, checks facility availability in conjunction with the facility reservation system. The system retrieves information on available facilities and generates a list of facilities for the candidate times.
[0645] Step 5:
[0646] The server uses an emotion engine to analyze the user's emotional state from their voice and text. It utilizes the Google Cloud Natural Language API and IBM Watson Tone Analyzer to analyze user input data. The emotional information obtained from this analysis is then used for prioritizing the next steps.
[0647] Step 6:
[0648] The server prioritizes candidate times and facilities based on emotional information. This generates data that lists the most suitable options for the user.
[0649] Step 7:
[0650] The server generates a list of optimal candidate times and venues for the user and sends it to the terminal. The user selects their preferred meeting content from the presented options.
[0651] Step 8:
[0652] Based on the user's selection, the server registers the meeting in Google Calendar. It then sends meeting notifications to all participants and shares the final settings.
[0653] The above outlines the specific processing steps of this system, enabling efficient meeting scheduling.
[0654] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0655] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0656] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0657] [Fourth Embodiment]
[0658] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0659] As shown in Figure 7, the 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.
[0660] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0661] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0662] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0663] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0664] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0665] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0666] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0667] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0668] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0669] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0670] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0671] This invention is a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0672] The user first uses the interface on their device to enter information such as the participant's name and email address. This entered information is then sent to the server.
[0673] Based on the received participant information, the server accesses each participant's time management data and retrieves the schedules of all participants via the Google Calendar API, etc. Here, it identifies each individual's free time and already confirmed appointments.
[0674] The server analyzes the retrieved schedule information and generates potential times when all participants are available. These potential times suggest possible days and times for the meeting to take place.
[0675] Next, the server checks the availability of each facility for the proposed time. The facilities are integrated with a meeting room reservation system and are programmed to identify available spaces for the desired date and time.
[0676] The server then sends these results to the terminal and presents them to the user. The information presented includes possible times when everyone can attend and a list of available meeting rooms.
[0677] The user makes the selection they deem best from their device and sends it back to the server. Based on that selection, the server automatically creates a meeting on Google Calendar and sends a notification email to all participants.
[0678] As a concrete example, consider a project team scheduling a regular meeting. When the user enters the team members' information, the server finds potential dates that everyone can attend and selects an available meeting room. Once the user chooses the most convenient option, the meeting is automatically scheduled and notifications are sent. This entire process significantly reduces the time spent on manual scheduling.
[0679] The following describes the processing flow.
[0680] Step 1:
[0681] The user enters information about the participants they want to include in the meeting on their device. This includes basic information such as the participant's name and email address.
[0682] Step 2:
[0683] The terminal sends the entered participant information to the server. The information is sent in an encrypted format using a secure communication method.
[0684] Step 3:
[0685] The server connects to an external time management system based on the participant information it receives, and retrieves each participant's schedule. It uses services such as the Google Calendar API to obtain individual schedule information.
[0686] Step 4:
[0687] The server analyzes the acquired schedule information to detect common free time slots for all participants. This process evaluates schedule overlaps and extracts available candidate times.
[0688] Step 5:
[0689] The server accesses the reservation management system for facilities matching the proposed time and checks the availability of the meeting place. If multiple facilities are available, it selects the most suitable meeting room.
[0690] Step 6:
[0691] The server sends meeting suggestions to the terminal, including potential times and available facilities. Several optimal options are then displayed to the user on the interface.
[0692] Step 7:
[0693] The user selects the most suitable date, time, and meeting room from the proposed meeting options. This selection is sent as feedback from the terminal to the server.
[0694] Step 8:
[0695] The server creates an event in Google Calendar based on the user's selection. This event is configured to include details such as the date, time, and location of the meeting.
[0696] Step 9:
[0697] The server will send an email to all participants notifying them of the meeting details. This email will include meeting information and links.
[0698] Step 10:
[0699] The user confirms the completion of the meeting setup on their device. The automated process significantly reduces the effort required to set up a meeting.
[0700] (Example 1)
[0701] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0702] In today's busy business environment and society, coordinating meetings that accommodate the schedules of multiple participants is a time-consuming and laborious task. Traditional manual scheduling requires finding everyone's availability and verifying available space, necessitating efficient operation. To address this challenge, a method is needed to automate participant scheduling and efficiently set up meetings.
[0703] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0704] In this invention, the server includes means for receiving participant information, means for acquiring schedule data, means for calculating the common free time of all participants, means for confirming the availability of spatial resources, means for presenting the common free time and the availability of spatial resources, means for defining a meeting based on the selected time, and means for transferring information. This makes it possible to automatically and efficiently set the optimal meeting date and location without requiring manual adjustments from participants.
[0705] "Means for receiving participant information" refers to the function that allows the system to acquire data, including personally identifiable information and contact information, received from users.
[0706] The "means of acquiring schedule data" refer to a function that communicates with an external time management system and extracts schedule information for each participant.
[0707] The "method for calculating shared free time" is an algorithm that analyzes the schedules of all participants and identifies the dates and times when everyone is free.
[0708] "Means for confirming the availability of spatial resources" refers to a function that obtains information on available spaces and facilities at a specified time by interfacing with an external space reservation system.
[0709] "Means of presenting the availability of shared free time and spatial resources" refers to a function in which the system visually provides users with information on possible dates and times and available spaces.
[0710] "Means of defining a meeting based on a selected time" refers to the process of formally determining the meeting date based on the optimal time selected by the user.
[0711] "Means of forwarding information" refers to the function of notifying each participant of the defined meeting details via email or other means of communication.
[0712] To implement this invention, a system consisting of a user, a terminal, and a server is required. The user first uses an interface on the terminal to input participant information (such as name and email address). The terminal then prepares to send this information to the server.
[0713] Upon receiving participant information, the server uses an API to retrieve schedule data in order to communicate with an external time management system. A specific example is the Google Calendar API. The server analyzes the retrieved data to calculate the common free time for all participants. In this process, a data analysis algorithm is used to identify the available dates and times for everyone.
[0714] Furthermore, the server checks for available space resources. It interfaces with external space reservation systems to obtain information such as available meeting rooms for the proposed time slots. This function identifies facilities that are available at the desired date and time.
[0715] The server then sends back shared availability and space availability to the user's device, presenting it visually. The user selects the most suitable date and time based on the information presented and replies to the server via their device. Based on this selection, the server formally defines the meeting and, if necessary, creates the meeting on Google Calendar. Finally, the server sends an email notification to each participant, sharing detailed information about the meeting.
[0716] As a concrete example, this system can be used when a project team is scheduling a meeting. An example of a prompt would be, "Please schedule the project team's regular meeting and find the best time for everyone to attend. Also, please let me know which meeting rooms are available at that time." This prompt allows the system to respond to the user's needs quickly and effectively.
[0717] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0718] Step 1:
[0719] The user uses a terminal to enter information such as the participant's name and email address on the interface. Based on this input, the terminal organizes the participant information into data packets and prepares them for transmission to the server. The output is a data packet containing the collected participant information.
[0720] Step 2:
[0721] The terminal sends the configured data packets to the server. The server receives these packets, parses the information, and obtains individual information for each participant. The input is the data packets containing participant information, and the output is the dataset of parsed participant information.
[0722] Step 3:
[0723] The server communicates with an external time management system and uses an API to retrieve participant schedule data. Specifically, it sends requests to the Google Calendar API and other APIs using participant IDs and receives the returned schedule data. The input is a participant information dataset, and the output is the retrieved schedule data.
[0724] Step 4:
[0725] The server analyzes the acquired schedule data and calculates common free time for all participants. It uses a data analysis algorithm to compare each participant's schedule and identify common free time. The input is schedule data, and the output is a list of potential common free time slots.
[0726] Step 5:
[0727] The server interfaces with the space reservation system and executes queries to check for available meeting rooms within the common free time slots. The input here is a list of common free time slots, and the output is a list of available meeting rooms.
[0728] Step 6:
[0729] The server sends the obtained shared availability and meeting room information back to the terminal. The terminal presents this information to the user, allowing the user to make a selection. The input is a list of shared availability and meeting room information, and the output is a visual presentation to the user.
[0730] Step 7:
[0731] The user selects the most suitable date, time, and meeting room from the presented options. The terminal sends this selection information back to the server. The input is the date, time, and meeting room selected by the user, and the output is the selection information data.
[0732] Step 8:
[0733] The server formally defines the meeting based on the user's selections and creates an entry in Google Calendar. It can also use a generative AI model to fill in any necessary details. Furthermore, the server sends a notification email containing the meeting details to all participants. The input is the selection data, and the output is the calendar entry and notification email.
[0734] (Application Example 1)
[0735] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0736] In modern cities, a wide variety of public services and community events take place, but coordinating their schedules is complex and requires considerable time and effort from all parties involved. In particular, manually checking each participant's availability and venue availability to efficiently schedule meetings and events is difficult.
[0737] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0738] In this invention, the server includes means for receiving participant information, means for obtaining schedule information based on the participant information, and means for analyzing the availability of public service agencies in order to efficiently schedule events in the community. This makes scheduling across the city more efficient and enables the rapid setting of events and meetings and immediate notification to participants.
[0739] "Participant information" refers to information about individual people attending a meeting or event, and typically includes their name and contact information.
[0740] "Schedule information" refers to data about each participant's schedule and available time, and is necessary information for planning meetings and events.
[0741] A "suggested time" is a time slot that all participants are free of, and is proposed for scheduling meetings or events.
[0742] "Facility availability" refers to information indicating the availability of venues and meeting rooms at specific dates and times, and is data necessary for holding meetings and events.
[0743] "Public service institutions" refer to organizations and facilities that provide various services to citizens in cities and regions, and generally include city halls and community centers.
[0744] A "notification" is a message or alert used to communicate information about a scheduled meeting or event to participants, and can be sent via email or application.
[0745] The system that realizes this invention is built through the cooperation of a server and user terminals. The server retrieves each participant's schedule and communicates with an external time management system to coordinate schedules. In this process, it uses the Google Calendar API to obtain the participants' availability. The server then calculates candidate times when all participants are available based on the retrieved schedule information and generates candidate times for meetings and events.
[0746] The server also connects with the facility reservation system API to check facility availability. This connection identifies available facilities for the desired date and time. On the user's terminal, a list of candidate times and facility availability sent from the server is displayed, allowing the user to choose the best option.
[0747] After selection, the server will configure the meeting or event based on the final selected time and location, and send a notification to all participants. This notification will be sent via email or application notification.
[0748] A concrete example is scheduling disaster prevention drills held in the community. A city disaster prevention officer uses this system to input participant information via a terminal, and the server analyzes the data to suggest available dates, times, and locations for everyone. By selecting the most suitable date and location, the event is quickly set up, and notifications are sent to all relevant parties.
[0749] An example of a prompt to input into the generating AI model is: "Please propose a system that automatically sets the optimal date, time, and location for resident events in a smart city. Based on user input, it should calculate the common availability of all participants, suggest available facilities, and automatically notify relevant parties of the approved schedule."
[0750] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0751] Step 1:
[0752] Users enter participant information using their devices. This information includes basic data such as the participant's name and contact information. Based on this, the system sends the data to the server.
[0753] Step 2:
[0754] The server uses the participant information it receives to retrieve each participant's schedule information using the Google Calendar API. The process involves accessing the participant's time management data and processing it to identify whether they have appointments or are free. The output is the availability data for each participant.
[0755] Step 3:
[0756] The server analyzes the schedule data of all participants and generates common free time slots as candidate times. This process compares each participant's schedule list to extract common free slots and outputs the times that fill them as candidates.
[0757] Step 4:
[0758] The server communicates with an external facility reservation system API to check facility availability for the proposed time slots. The input to the process is a list of proposed time slots, and the output is a list of available facilities corresponding to those time slots.
[0759] Step 5:
[0760] The terminal displays a list of suggested times and available facilities provided by the server to the user. The user then selects the most suitable time and facility from this list.
[0761] Step 6:
[0762] The user's selection is sent to the server, which then sets up a meeting in Google Calendar based on that selection. In this step, the selected time and location information is registered as a calendar event. The output is an automatically generated event.
[0763] Step 7:
[0764] Finally, the server sends a notification to all participants regarding the scheduled meeting. The notification will be sent via email or an in-app message. The output will be the notification message sent to the participants.
[0765] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0766] This invention provides a system that efficiently and automatically sets the date, time, and location of a meeting based on participant information, and further incorporates an emotion engine that recognizes the user's emotions. This system is implemented by a software program with multiple functions and is specifically carried out as follows.
[0767] The user first enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. This information is then sent to the server.
[0768] Based on the participant information received, the server communicates with an external time management system to retrieve individual schedule data for each participant. It uses existing services such as the Google Calendar API to determine the appointments and free time that participants have already registered in their schedules.
[0769] Next, the server analyzes the acquired schedule information to determine a common time slot available to all participants. This time slot becomes the candidate time slot.
[0770] The server then checks facility availability based on these suggested times. The facility is integrated with a meeting room reservation system to identify meeting rooms that are available at the desired date and time.
[0771] To reflect the user's emotional input, the emotion engine analyzes the user's voice and text. The emotion engine senses the user's intentions and emotional state and provides corresponding information to the server.
[0772] The server considers the information received from the emotion engine, prioritizes candidate times and meeting room selections, and presents them to the user.
[0773] The user selects the date and location of the meeting that they deem most suitable from the presented options. The selected information is then sent back to the server.
[0774] Based on the final selection, the server registers the meeting in Google Calendar and sends a meeting notification to all participants. This notification includes meeting details and related information.
[0775] For example, when a project team schedules a regular meeting, this system can automatically find a time and date that works for everyone from the shared schedules of all participants and reserve the most suitable meeting room. Furthermore, by taking into account the team leader's feelings and intentions, it enables smoother and more satisfying meeting scheduling.
[0776] The following describes the processing flow.
[0777] Step 1:
[0778] The user enters participant information, such as the names and email addresses of the members they want to include in the meeting, on their device. The entered information is sent to the server in real time.
[0779] Step 2:
[0780] Based on the participant information received by the server, it initiates communication with an external time management system. It retrieves each participant's schedule through services such as the Google Calendar API and checks their individual appointments.
[0781] Step 3:
[0782] The server analyzes each participant's schedule information to identify common time slots that are available to everyone. This allows it to extract potential times that all participants can attend.
[0783] Step 4:
[0784] Based on the candidate times extracted by the server, the system accesses the facility's reservation management system. It searches for available meeting rooms for the desired date and time and identifies the most suitable facility.
[0785] Step 5:
[0786] On the device, the user inputs their emotions. The user's emotions are sent to the emotion engine via voice or text input. The emotion engine analyzes the user's emotions and generates emotion data.
[0787] Step 6:
[0788] The server receives emotional data from the emotion engine and uses that information to prioritize suggested times and facilities. The user is then presented with options that reflect the results of the emotional analysis.
[0789] Step 7:
[0790] The user selects the most suitable date, time, and meeting room from the proposed meeting options. The selected information is sent from the terminal to the server as feedback.
[0791] Step 8:
[0792] The server registers meeting details in Google Calendar based on the user's selection. This registration includes specific information such as the meeting's start time, end time, and location.
[0793] Step 9:
[0794] The server will send a notification email to all participants containing meeting details. This notification will include the date, time, and location of the meeting, as well as any other necessary information.
[0795] Step 10:
[0796] Users can confirm the completion of meeting scheduling on their device and send additional instructions or notes to participants as needed. This allows for quick and effective meeting coordination.
[0797] (Example 2)
[0798] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0799] Scheduling a meeting, while considering the schedules of all participants, is a laborious task. Furthermore, reflecting the feelings and intentions of participants in the scheduling is difficult and often leads to meetings not running smoothly. Solving these problems and achieving efficient and harmonious meeting scheduling is essential.
[0800] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0801] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for analyzing the schedule information and extracting common free time slots for all participants. This enables the automatic adjustment of appropriate meeting dates and times based on participants' schedules. Furthermore, by checking facility availability and presenting options that take into account user sentiment information, efficient and harmonious meeting scheduling is achieved.
[0802] "Participant information" refers to identifiable data about individual members attending the meeting, including information such as name, email address, and affiliated organization.
[0803] "Schedule information" refers to data about participants' schedules and available time, obtained from a schedule management system.
[0804] "Candidate time" refers to the common free time slots of all participants calculated by the server, representing the time frame in which a meeting could potentially be held.
[0805] "Facility availability" refers to information indicating the availability of facilities and meeting rooms at the scheduled date and time of the meeting.
[0806] "Emotional information" refers to data about the user's emotional state and intentions, analyzed by the emotion engine based on the user's voice or text input.
[0807] This invention is a system that efficiently and automatically sets the date and location of meetings, and can adjust the schedule while taking user preferences into consideration. The system consists of a terminal, a server, and cooperation with external systems.
[0808] First, the user uses their device to enter necessary participant information, such as the names and email addresses of the members attending the meeting. This information is sent to the server. Based on the received information, the server communicates with an external scheduling management system (e.g., Google Calendar API) to retrieve the participants' schedules and availability. The retrieved schedule information is stored in a database and analyzed.
[0809] The server calculates the common free time of all participants and uses this as a candidate time. It also works with the meeting room reservation system to check which meeting rooms are available at the candidate time. This generates a list of available facilities.
[0810] Next, the user inputs voice or text into the emotion engine via their device. This engine analyzes the user's emotional state and intentions and provides this information to the server. The server considers this information and presents the user with high-priority candidate time and meeting room combinations.
[0811] The user selects the most suitable date, time, and location from the presented options and resends that information to the server. The server registers the selected date, time, and location with an external scheduling management system and sends a notification to all participants including the meeting date, time, and location.
[0812] For example, when a project team schedules regular meetings, this system can automatically identify common free time slots from everyone's schedules and book the most suitable meeting room. Furthermore, by considering the team leader's feelings and intentions, coordination can proceed more smoothly.
[0813] An example of a prompt message is, "I would like to schedule a regular project meeting. Please suggest the best date, time, and meeting room, taking into account the participants' schedules."
[0814] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0815] Step 1:
[0816] The user uses their device to enter participant information, such as the names and email addresses of the members attending the meeting. Based on this input, the device sends this information to the server. The entered data is recorded as digital data once it reaches the server.
[0817] Step 2:
[0818] Based on the received participant information, the server initiates communication with an external scheduling management system. This process uses an API to access the schedule in order to retrieve individual schedule data for each participant. The input is participant identification information, and the output is the schedule information for each participant.
[0819] Step 3:
[0820] The server analyzes the acquired schedule information. This analysis compares the free time of all participants to identify common free time slots. The input is the schedule information of each participant, and the output is a list of candidate common free time slots. These are then grouped together as candidate times.
[0821] Step 4:
[0822] The server integrates with the meeting room reservation system to check facility availability for each candidate time slot. The server uses an API to retrieve a list of available meeting rooms. The input is the candidate time slot, and the output is a list of available meeting rooms.
[0823] Step 5:
[0824] The user inputs voice or text into the device, and the emotion engine analyzes that data. The engine understands the user's emotional state and intentions and provides that information to the server. The input is data about emotions and intentions, and the output is the analyzed emotion information.
[0825] Step 6:
[0826] The server prioritizes candidate times and meeting rooms based on sentiment information. According to this priority, it presents the best option for the user to their terminal. The input is sentiment information and a list of meeting rooms, and the output is a list of high-priority candidates.
[0827] Step 7:
[0828] The user selects the most suitable date, time, and location from the options displayed on the terminal and sends this selection to the server. The input is the selection information from the options, and the output is the details of the confirmed meeting.
[0829] Step 8:
[0830] The server registers the final selected meeting date, time, and location in the scheduling management system and sends meeting notifications to all participants. The input is the confirmed meeting information, and the output is the notification sent to participants.
[0831] (Application Example 2)
[0832] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0833] In modern cities, coordinating community activities and meetings that encourage active participation from residents has become increasingly complex. Especially when there are many participants, finding a time that works for everyone is difficult, and scheduling while considering participants' feelings and intentions is extremely challenging. In this situation, there is a need for a system that can efficiently coordinate participants' schedules and propose the optimal meeting location and time while taking their feelings into consideration.
[0834] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0835] In this invention, the server includes means for receiving participant information, means for acquiring schedule information, and means for prioritizing candidate times and facilities using an emotion engine that analyzes user emotion information. This enables efficient coordination of local activities and meetings that take into account participants' schedules and emotions.
[0836] "Participant information" refers to basic data about each individual attending a meeting or event, and typically includes their name and contact information.
[0837] "Schedule information" refers to data showing the schedules of individual participants, including their free time and appointments.
[0838] A "proposed time" is a time slot that all participants are likely to be available in common, and can be considered as the meeting time.
[0839] "Facility availability" refers to information indicating whether there is a space available for use for meetings or events.
[0840] An "emotion engine" is a technology that analyzes emotions and intentions from participants' voices and texts to provide the system with the necessary information.
[0841] A "server" is a computer device that stores data, performs calculations, and manages the entire system.
[0842] A "notification" is a message sent to inform participants of meeting details and updates.
[0843] The system according to the present invention consists of a terminal used by participants, a server that processes data, and an interface that provides information. This system functions by users inputting information about the people participating in the meeting through the terminal, and the server processing that information.
[0844] The server first uses participant information received from the terminal to communicate with an external time management system and obtain individual schedule information for each participant. Existing services such as the Google Calendar API are used for this purpose. The server then analyzes the obtained schedule information and generates common free time slots for all participants as candidate times.
[0845] Next, the server connects with the facility reservation system to check the availability of the venue where the meeting will be held. This process identifies a meeting room or other facility that is available at the desired date and time.
[0846] Furthermore, an emotion engine runs on the server, analyzing voice and text data from users to understand their emotional state and determine the priority of candidate times and facilities. Sentiment analysis tools such as Google Cloud Natural Language API and IBM Watson Tone Analyzer are used.
[0847] After integrating all the information, the server presents the user with the most suitable candidate time and venue, and then finalizes the meeting details based on the selection. As a result, the server registers the meeting in Google Calendar and sends a notification to all participants. The notification includes detailed meeting information, enabling efficient event management.
[0848] Specifically, when a user plans a local event, the system can automatically adjust the schedules of all participants and provide the optimal date, taking sentiment data into consideration. An example of a prompt might be: "Using participant schedule data, suggest the best date for a local cleanup event in XX city. Please also take participants' sentiment data into consideration."
[0849] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0850] Step 1:
[0851] The terminal receives participant information from the user, such as the participant's name and email address. This information is then sent to the server as input data.
[0852] Step 2:
[0853] Based on participant information received from the terminals, the server collaborates with an external time management system to retrieve individual participant schedule information. In this step, the Google Calendar API is used to obtain scheduled and available time data, which is then integrated on the server.
[0854] Step 3:
[0855] The server analyzes the acquired schedule information. Here, it performs data processing to find common free time slots among all participants and generate candidate times. This analysis result becomes the input for the next step.
[0856] Step 4:
[0857] The server, based on the obtained candidate times, checks facility availability in conjunction with the facility reservation system. The system retrieves information on available facilities and generates a list of facilities for the candidate times.
[0858] Step 5:
[0859] The server uses an emotion engine to analyze the user's emotional state from their voice and text. It utilizes the Google Cloud Natural Language API and IBM Watson Tone Analyzer to analyze user input data. The emotional information obtained from this analysis is then used for prioritizing the next steps.
[0860] Step 6:
[0861] The server prioritizes candidate times and facilities based on emotional information. This generates data that lists the most suitable options for the user.
[0862] Step 7:
[0863] The server generates a list of optimal candidate times and venues for the user and sends it to the terminal. The user selects their preferred meeting content from the presented options.
[0864] Step 8:
[0865] Based on the user's selection, the server registers the meeting in Google Calendar. It then sends meeting notifications to all participants and shares the final settings.
[0866] The above outlines the specific processing steps of this system, enabling efficient meeting scheduling.
[0867] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0868] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0869] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0870] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0871] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0872] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0873] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0874] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0875] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0876] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0877] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0878] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0879] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0880] 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.
[0881] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0882] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0883] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0884] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0885] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0886] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0887] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0888] The following is further disclosed regarding the embodiments described above.
[0889] (Claim 1)
[0890] Means for receiving participant information,
[0891] A means of obtaining schedule information based on the aforementioned participant information,
[0892] A means for generating candidate times when all participants are available based on the aforementioned schedule information,
[0893] A means of checking the availability of facilities corresponding to the candidate time,
[0894] Means for presenting the candidate times and the availability of the facilities,
[0895] A means of setting up a meeting based on a time selected from the presented candidates,
[0896] A means of sending notifications regarding scheduled meetings,
[0897] A system that includes this.
[0898] (Claim 2)
[0899] The system according to claim 1, which communicates with an external time management system when acquiring schedule information.
[0900] (Claim 3)
[0901] The system according to claim 1, which is linked with a facility reservation system when checking the availability of a facility.
[0902] "Example 1"
[0903] (Claim 1)
[0904] Means for receiving participant information,
[0905] A means of obtaining scheduled data based on the aforementioned participant information,
[0906] A means for calculating the common free time of all participants based on the aforementioned schedule data,
[0907] A means of confirming the availability of spatial resources during candidate time periods,
[0908] Means for presenting the availability of the aforementioned common free time and the aforementioned spatial resources,
[0909] A means of defining a meeting based on a time selected from the presented candidates,
[0910] Means for transferring information about defined meetings,
[0911] A system that includes this.
[0912] (Claim 2)
[0913] The system according to claim 1, which communicates with an external time management system when acquiring scheduled data.
[0914] (Claim 3)
[0915] The system according to claim 1, which is linked with a space reservation system when checking the availability of space resources.
[0916] "Application Example 1"
[0917] (Claim 1)
[0918] Means for receiving participant information,
[0919] A means of obtaining schedule information based on the aforementioned participant information,
[0920] A means for generating candidate times when all participants are available based on the aforementioned schedule information,
[0921] A means of checking the availability of facilities corresponding to the candidate time,
[0922] Means for presenting the candidate times and the availability of the facilities,
[0923] A means of analyzing the availability of public service agencies in order to efficiently schedule community events,
[0924] A means of setting up a meeting based on a time selected from the presented candidates,
[0925] A means of sending notifications regarding scheduled meetings,
[0926] A system that includes this.
[0927] (Claim 2)
[0928] The system according to claim 1, which communicates with an external time management system when acquiring schedule information.
[0929] (Claim 3)
[0930] The system according to claim 1, which is linked with a facility reservation system when checking the availability of a facility.
[0931] "Example 2 of combining an emotion engine"
[0932] (Claim 1)
[0933] Means for receiving participant information,
[0934] A means of obtaining schedule information based on the aforementioned participant information,
[0935] A means for analyzing the aforementioned schedule information and extracting common free time slots for all participants,
[0936] A means of checking the availability of facilities corresponding to the candidate time,
[0937] A means of analyzing user sentiment information,
[0938] A means for presenting options considering the aforementioned sentiment information, candidate times, and facility availability,
[0939] A means of setting up a meeting based on the time and place selected from the presented options,
[0940] A means of sending notifications regarding scheduled meetings,
[0941] A system that includes this.
[0942] (Claim 2)
[0943] The system according to claim 1, which communicates with an external schedule management system when acquiring schedule information.
[0944] (Claim 3)
[0945] The system according to claim 1, which is linked with a facility reservation system when checking the availability of a facility.
[0946] "Application example 2 when combining with an emotional engine"
[0947] (Claim 1)
[0948] Means for receiving participant information,
[0949] A means of obtaining schedule information based on the aforementioned participant information,
[0950] A means for generating candidate times when all participants are available based on the aforementioned schedule information,
[0951] A means of checking the availability of facilities corresponding to the candidate time,
[0952] A means for prioritizing the selection of candidate times and facilities using an emotion engine that analyzes user emotion information,
[0953] Means for presenting the candidate times and the availability of the facilities,
[0954] A means of setting up a meeting based on a time selected from the presented candidates,
[0955] A means of sending notifications regarding scheduled meetings,
[0956] A system that includes this.
[0957] (Claim 2)
[0958] The system according to claim 1, which communicates with an external time management system when acquiring schedule information.
[0959] (Claim 3)
[0960] The system according to claim 1, which is linked with a facility reservation system when checking the availability of a facility. [Explanation of Symbols]
[0961] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. Means for receiving participant information, A means of obtaining schedule information based on the aforementioned participant information, A means for generating candidate times when all participants are available based on the aforementioned schedule information, A means of checking the availability of facilities corresponding to the candidate time, Means for presenting the candidate times and the availability of the facilities, A means of analyzing the availability of public service agencies in order to efficiently schedule community events, A means of setting up a meeting based on a time selected from the presented candidates, A means of sending notifications regarding scheduled meetings, A system that includes this.
2. The system according to claim 1, which communicates with an external time management system when acquiring schedule information.
3. The system according to claim 1, which is linked with a facility reservation system when checking the availability of a facility.