Method, computer program, and computer system for timely delivery of text messages using voice and facial biometrics
The system addresses the issue of unwanted notifications by delaying them based on the user's mood and activity status, using advanced analysis techniques to ensure messages are delivered at appropriate times, thereby improving user experience.
Patent Information
- Application Number
- JP2021173552
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-03
- Filing Date
- 2021-10-24
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2041-10-24
AI Technical Summary
Existing notification systems for incoming messages do not consider the user's mood or activity status, leading to unwanted disturbances when the user is busy or not in a suitable mood to receive notifications.
A system that delays notifications of new messages based on the user's mood and activity status, using facial recognition, voice analysis, and natural language processing to determine the user's mood and compare it with the mood of the message content, and automatically adjusts the notification timing or content accordingly.
The system effectively reduces disturbances by delaying notifications when the user is busy or not in a suitable mood, while ensuring that messages are still delivered promptly when the user is receptive, thereby enhancing user experience.
Smart Images

Figure 0007649600000001 
Figure 0007649600000002 
Figure 0007649600000003
Abstract
Description
[Technical field]
[0001] The present invention relates generally to the field of user notifications, and more particularly to delaying notifications of new incoming messages based on user mood or user activity. [Background technology]
[0002] Sending text messages, SMS, emails, or instant messages has become the primary form of communication for people. In the current environment, people are notified about text messages, emails, or instant messages when they arrive at the user computing device or when they are posted on the associated application. Notifications, such as pop-up windows, chimes, etc., occur when a text message, SMS, email, or instant message arrives at the user computing device. Summary of the Invention [Problem to be solved by the invention]
[0003] The present invention provides a method, computer program, and computer system for delaying notification of new incoming messages based on a user's mood or user activity. [Means for solving the problem]
[0004] Additional aspects and / or advantages will be set forth in part in the description that follows, and in part will be obvious from the description, or may be learned by practice of the invention.
[0005] An embodiment of the present invention discloses a method, computer program, and system for delaying a notification of a new message arrival, receiving a message from an originating computing device and determining a first mood of a user receiving the message, determining a second mood of the content of the message and comparing the first mood to the second mood, and delaying sending a notification when the first mood and the second mood differ, where the notification is a sound or a pop-up window indicating the arrival of a message.
[0006] These and other aspects, features, and advantages of certain exemplary embodiments of the present invention will become more apparent from the following description taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a functional block diagram illustrating a messaging environment in accordance with an embodiment of the present invention. [Diagram 2] 2 is a flow chart illustrating the operational steps of automatically delaying notifications and modifying content in the messaging environment of FIG. 1 in accordance with an embodiment of the present invention. [Diagram 3] 2 is a block diagram of components of a computing device in the messaging processing environment of FIG. 1 in accordance with an embodiment of the present invention. [Figure 4] FIG. 1 illustrates a cloud computing environment according to an embodiment of the present invention. [Diagram 5] FIG. 2 illustrates abstraction model layers according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] The following description, which refers to the accompanying drawings, is presented to aid in a comprehensive understanding of exemplary embodiments of the present invention as defined by the claims and their equivalents. It includes various specific details to aid in understanding, but these should be considered merely as examples. Thus, those skilled in the art will appreciate that various modifications and variations of the embodiments described herein may be made without departing from the scope and spirit of the present invention. Furthermore, well-known functions and configurations may be omitted for clarity and conciseness.
[0009] The terms and phrases used in the following description and claims are not limited to their bibliographical meanings, but are used merely to enable a clear and consistent understanding of the present invention. Therefore, it should be clear to those skilled in the art that the following description of exemplary embodiments of the present invention is provided for illustrative purposes only, and is not intended to limit the present invention defined by the appended claims and their equivalents.
[0010] The singular forms "a," "an," and "the" should be understood to include plural references unless the context clearly indicates a different interpretation. Thus, for example, reference to a "component surface" includes reference to one or more of such surfaces unless the context clearly indicates a different interpretation.
[0011] Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. Embodiments of the present invention are generally directed to a system for automatically delaying notification of an incoming text message, SMS, email, or instant message based on the recipient's mood and / or state. Additionally, the system may modify the content of the text message, SMS, email, or instant message based on the recipient's mood.
[0012] When a sender composes and sends a message, he is aware of his own mood and state, but the sender is not always aware of the recipient's mood and state. In most circumstances, the recipient's mood and state are not taken into consideration when a notification is sent, where the notification indicates the arrival of a new text message, SMS, email, or instant message. For example, if the recipient's mood is determined to be happy and a new message containing sad content arrives, the system will delay sending the notification. The recipient computing device analyzes the user's video and / or still images to determine the recipient's mood and receives audio data from the user. The recipient's state refers to the activity the recipient is currently engaged in, for example, the recipient may be in a business meeting or a phone call, or drafting a document. The recipient computing device analyzes the user's video and / or still images to determine the recipient's state and receives audio data from the user.
[0013] Most notification systems have a Do Not Disturb feature that will stop all notifications while the setting is turned on. The problem with this system is that the recipient must manually turn on the Do Not Disturb setting. The key is that the recipient must actively turn on the Do Not Disturb setting, but many people forget to turn on this system when they are busy.
[0014] The system of the present invention determines the status of the recipient and automatically delays notifications when the status of the recipient is determined to be busy. Thus, when a message is received while the recipient is busy, the system delays the notification of the incoming message from being sent to the recipient. The notification is typically a pop-up window, an audio sound, or a combination thereof. However, the system does not delay the delivery of the message, so that if the recipient manually checks the messaging application, the received message will be there. Only the notification of the message is delayed, which prevents the notification window or sound from interrupting or disturbing the recipient. The delay of notifications is an automatic process so that the recipient does not need to turn on a do not disturb setting in the notification system. The system of the present invention considers not only the status of the recipient (e.g., whether or not they are busy) but also the mood of the recipient when determining when the sending of the notification of the message should be delayed.
[0015] The system analyzes the recipient's facial or voice biometrics to determine the recipient's mood when the message was received. The system determines the recipient's mood, e.g., happy, sad, angry, etc., and the system analyzes the content of the received message to determine the mood of the message, e.g., happy news, sad news, humorous, loving, etc. The system compares the recipient's mood to the mood of the message and can delay notification of the message arrival or the system can modify the message. The system can modify the message by changing parts of the message, e.g., emojis or other mood indicating elements (gifs, images, or stickers) in the message to reflect the recipient's mood.
[0016] FIG. 1 is a functional block diagram illustrating a messaging environment 100 in accordance with an embodiment of the present invention.
[0017] The messaging environment 100 includes an originator computing device 110, a recipient computing device 120, a user computing device 140, and a network 105. The network 105 may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and may include wired, wireless, or fiber optic connections. In general, the network 105 may be any combination of connections and protocols that support communication between the originator computing device 110, the recipient computing device 120, and the user computing device 140.
[0018] The originator computing device 110 includes a communication unit 112 and a messaging application 114. The originator computing device 110 can be a laptop computer, a tablet computer, a notebook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating with the recipient computing device 120 or the user computing device 140 through the network 105, and with various components. In other embodiments, the originator computing device 110 can include internal and external hardware components, as shown and described in more detail below in connection with FIG. 3, and can operate in a cloud computing environment, as shown in FIG. 4 and FIG. 5.
[0019] The messaging application 114 is an application that allows a user to compose a message to be transmitted, the message may include text, one or more emojis, one or more pictures, or other. The messaging application 114 may be any type of application that can receive or transmit messages, e.g., text messages, SMS messages, emails, or other types of messages. The communication unit 112 transmits the composed message to the recipient computing device 120 through the network 105.
[0020] The recipient computing device 120 may include a communication unit 122, a camera 124, a microphone 126, a messaging application 128, an application 129, a notification unit 130, a concentration unit 132, a mood unit 134, a delay unit 136, and a change unit 138. The recipient computing device 120 may be a laptop computer, a tablet computer, a notebook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating with the originator computing device 110 or the user computing device 140 and various components through the network 105. In other embodiments, the originator computing device 110 may include internal and external hardware components as shown and described in more detail below in connection with FIG. 3, and may operate in a cloud computing environment as shown in FIG. 4 and FIG. 5.
[0021] The communications unit 122 enables the recipient computing device 120 to send and receive data over the network 105. The camera 124 can take video and / or still images of the user. The microphone 126 captures audio data from the user, which can be, for example, a user talking on the phone, having a conversation with another person, talking to himself, or other audio data.
[0022] Messaging application 128 can be any type of application that can receive or send messages, such as text messages, SMS messages, emails, or other types of messages. Application 129 is a program with which the user can interact, such as a document creator, photo / video editor, game, or any other application with which the user can interact.
[0023] The notification unit 130 receives information from the messaging application 128 that a new message has been received, and the notification unit 130 notifies the recipient that a message has arrived. The notification can be a sound, a pop-up window, or a combination thereof, that indicates to the user that a message has arrived. The notification unit 130 sends a notification when the messaging application 128 receives a message. The notification unit 130 allows the user to manually turn off notifications, and the user can turn off notifications permanently or temporarily.
[0024] The attention unit 132 determines whether the user is engaged in any type of activity. The attention unit 132 detects whether the user is utilizing the application 129 by receiving data from the application 129. The attention unit 132 receives video / still images from the camera 124 and audio data from the microphone 126 to determine whether the user is engaged in an activity. For example, the microphone 126 picks up audio data and the camera 124 takes an image of the user making a phone call, then the attention unit 132 determines that the recipient status is busy. In another example, the microphone 126 picks up audio data of the user and another individual, and the camera 124 takes an image of the user normally sitting in a chair, then the attention unit 132 determines that the recipient status is busy because he is having a conversation with another individual.
[0025] In another example, the dedication unit 132 receives data from another device (e.g., user computing device 140) with which the user is currently interacting. For example, the recipient computing device 120 may be a mobile phone, but the recipient may be able to interact with the user computing device 140 (a laptop or desktop computer). The dedication unit 132 located on the recipient computing device 120 (e.g., mobile phone) receives information that the recipient is working on the user computing device (e.g., laptop), and thus the dedication unit 132 determines that the recipient is busy utilizing the connected device. The user computing device 140 includes a communication unit 142 and at least an application 144. The communication unit 142 enables the user computing device 140 to send and receive data over the network 105. The application 144 is a program with which the user can interact, for example, a document creator, a photo / video editor, a game, or any other application with which the user can interact. The dedication unit 132 receives data (eg, from the user computing device 140) that a user is utilizing the application 144, which causes the dedication unit 132 to determine that the recipient status is busy.
[0026] The delay unit 136 interacts with the notification unit 130 and receives an indication that a notification of the arrival of a message is about to be sent to the recipient. The delay unit 136 receives the recipient's status (i.e., busy or not) from the commitment unit 132. When the recipient has a busy status, the delay unit 136 automatically delays the notification of the arrival of a new message from being sent to the recipient. The delay unit 136 periodically checks the recipient's status to see if it has changed. When the delay unit 136 receives a change in the recipient's status to not busy, the delay unit 136 removes the delay in the notification of the received message caused by the busy status. At this point the notification unit 130 can send out the notification of the arrival of the message, unless another delay is warranted.
[0027] The delay unit 136 may also delay the notification unit 130 from sending a notification to the recipient based on the recipient's mood. The mood unit 134 receives video and still images from the camera 124 and audio data from the microphone 126. The video and still images may be of the recipient's face or the recipient's body or both. The image of the recipient's face may show different facial expressions and the image of the recipient's body may show his body language. The content of the video and still images depends on the field of view of the camera 124. The mood unit 134 utilizes facial recognition to analyze the video and / or still images to identify the recipient's mood. The facial recognition compares multiple faces together to identify different emotions displayed in the images. The emotions displayed on the recipient's face may be, for example, happy, angry, sad, neutral, surprised, disgust, fear, etc. The mood unit 134 utilizes a speech / voice recognition API to analyze the audio data to identify the recipient's emotion. The speech / voice recognition API determines the mood of the recipient from the audio data by analyzing the recipient's tone, pitch, vocabulary, intonation, rate, etc. The mood unit 134 uses natural language processing to analyze the content of the received message to determine the mood of the message. The natural language processing identifies the mood of the content, and any mood indications, e.g., emojis. The mood unit 134 can identify one or more different moods that may be inferred from the content of the message.
[0028] The delay unit 136 receives the mood of the recipient and the mood of the content of the message from the mood unit 134. The delay unit 136 compares the mood of the recipient with the mood of the content of the message to see how the moods relate to each other. The moods can be the same, e.g. both happy and sad, the moods can be different, e.g. the mood of the recipient can be happy but the mood of the message is angry, or the moods can be similar to each other, e.g. the mood of the recipient can be happy but the mood of the message is humorous. The delay unit 136 does not delay the notification of the message being sent to the recipient when the mood of the recipient and the content are the same or similar. The delay unit 136 automatically delays the notification of the arrival of the message from being sent when the mood of the recipient and the mood of the content of the message are different from each other. The delay unit 136 periodically checks the mood of the recipient to see if the mood of the recipient has changed. The delay unit 136 removes the delay for notifications to be sent when the delay unit 136 receives a change in the recipient's mood and that the recipient's mood is the same or similar to the mood of the message, at which point the notification unit 130 can send a notification of the message arrival if no other delay is justified.
[0029] In addition, the modification unit 138 can modify the content of the message when the mood of the message does not match the mood of the recipient. When the content of the message includes at least one emoji, the modification unit 138 can change the emoji to match the mood of the recipient.
[0030] FIG. 2 is a flow chart illustrating the operational steps for automatically delaying notifications and modifying content in messaging environment 100 of FIG. 1, in accordance with an embodiment of the present invention.
[0031] The messaging application 128 on the recipient computing device 120 receives a message from the sender computing device 110 (S205). The attention unit 132 determines whether the recipient is attentioned to perform an activity, and the recipient state is determined from images from the camera 124 and / or audio data from the microphone 126 (S210). When the recipient is given a busy state, the delay unit 136 delays the notification unit 130 from sending a notification to the recipient indicating that a new message has arrived (S215). The delay unit 136 periodically rechecks the recipient state to see if the recipient state has changed (S210). When the recipient state is not busy, the mood unit 134 determines the mood of the recipient and the mood of the content of the received message (S225). The mood unit 134 determines the mood of the recipient by analyzing the image from the camera 124 using face recognition or by analyzing the audio data from the microphone 126 using voice / audio recognition or both (S225). The mood unit 134 uses natural language processing to determine the mood of the content of the message (S225). The delay unit 136 compares the mood of the recipient with the mood of the content of the message (S225). If the mood of the message and the mood of the recipient are the same or similar, the modification unit 138 determines whether the content of the message needs to be modified (S250). If the mood of the recipient and the mood of the content of the message are different, the delay unit 136 delays the notification unit from sending a notification of the arrival of the received message (S235). The mood unit 134 periodically rechecks the mood of the recipient to see if the mood of the recipient has changed (S240). The delay unit 136 compares the mood of the recipient with the mood of the content of the message (S245). When the mood of the recipient and the mood of the message content are different, the delay unit 136 delays the notification unit 130 from sending a notification of the arrival of the received message (S245).When the mood of the message and the mood of the recipient are consistent or similar, the modification unit 138 determines whether the content of the message needs to be modified (S250). The modification unit 138 analyzes the content of the message to determine whether the message contains content that can be modified without changing the message, for example, whether the content contains emojis or other images (S250). When the message does not contain content that will be modified, the notification unit 130 sends a notification to the user that a new message has arrived (S255). When the message contains content that will be modified, the modification unit 138 modifies the content to better reflect the mood of the recipient (S260). After the content of the message is modified, the notification unit 130 sends a notification to the user that a new message has arrived (S260).
[0032] 3 illustrates a block diagram of components of the recipient computing device 120, the sender computing device 110, and the user computing device 140 of the messaging environment 100 of FIG. 1 in accordance with an embodiment of the present invention. It should be understood that FIG. 3 is only an illustration of one implementation and is not intended to suggest any limitation with respect to the environments in which different embodiments may be implemented. Many modifications may be made to the depicted environment.
[0033] The originator computing device 110, the recipient computing device 120, and the user computing device 140 may include one or more processors 902, one or more computer-readable RAMs 904, one or more computer-readable ROMs 906, one or more computer-readable storage media 908, device drivers 912, read / write drives or interfaces 914, and network adapters or interfaces 916, all interconnected through a communications fabric 918. The network adapters 916 communicate with a network 930. The communications fabric 918 may be implemented using any architecture designed to pass data and / or control information between processors (such as microprocessors, communications and network processors), system memory, peripheral devices, and any other hardware components in the system.
[0034] One or more operating systems 910, and one or more application programs 911, e.g., delay unit 136 (FIG. 1), are stored in one or more of the computer-readable storage media 908 for execution by one or more of the processors 902 through one or more of the respective RAMs 904 (which typically include cache memory). In the embodiment shown, each of the computer-readable storage media 908 can be a magnetic disk storage device of an internal hard drive, a CD-ROM, a DVD, a memory stick, a magnetic tape, a magnetic disk, an optical disk, or a semiconductor storage device such as a RAM, a ROM, an EPROM, a flash memory, or any other computer-readable tangible storage device capable of storing computer programs and digital information.
[0035] The originator computing device 110, the recipient computing device 120, and the user computing device 140 may also include a R / W drive or interface 914 for reading from and writing to one or more portable computer readable storage media 926. Application programs 911 on the originator computing device 110, the recipient computing device 120, and the user computing device 140 may be stored on one or more of the portable computer readable storage media 926 and read through the respective R / W drive or interface 914 and loaded into the respective computer readable storage media 908.
[0036] The originator computing device 110, the recipient computing device 120, and the user computing device 140 may also include a network adapter or interface 916, such as a Transmission Control Protocol (TCP) / Internet Protocol (IP) adapter card, or a wireless communication adapter (such as a 4G wireless communication adapter using Orthogonal Frequency Division Multiple Access (OFDMA)). Application programs 911 on the originator computing device 110, the recipient computing device 120, and the user computing device 140 may be downloaded to the computing devices from an external computer or external storage device through a network (e.g., the Internet, a local area network, or other wide area network or wireless network) and the network adapter or interface 916. From the network adapter or interface 916, the programs may be loaded into the computer-readable storage medium 908. The network may include copper wire, optical fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers.
[0037] The caller computing device 110, the recipient computing device 120, and the user computing device 140 may also include a display screen 920, a keyboard or keypad 922, and a computer mouse or touchpad 924. The device driver 912 interfaces with the display screen 920, the keyboard or keypad 922, the computer mouse or touchpad 924 for imaging, or with the display screen 920 for pressure sensing of alphanumeric input and user selection, or a combination thereof. The device driver 912, the R / W drive or interface 914, and the network adapter or interface 916 may comprise hardware and software (stored in the computer readable storage medium 908 or ROM 906, or both).
[0038] The programs described herein are identified based on the application for which they are intended to be implemented in a particular embodiment of the invention. However, it should be understood that any specific program terminology used herein is used merely for convenience, and thus the invention should not be construed as being limited solely to use in any particular application identified and / or suggested by such terminology.
[0039] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of technical detail of integration. A computer program product may include a computer readable storage medium having computer readable program instructions thereon for causing a processor to perform aspects of the present invention.
[0040] A computer readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved ridge structures having instructions recorded thereon, and any suitable combination thereof. As used herein, a computer-readable storage medium is not intended to be interpreted as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or an electrical signal transmitted over a wire.
[0041] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to the respective computing / processing device or to an external computer or storage device through a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions for storage in a computer readable storage medium in the respective computing / processing device.
[0042] The computer readable program instructions for carrying out the operations of the present invention may be source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or object oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed as a stand-alone software package, exclusively on the user's computer, partially on the user's computer, partially on the user's computer and partially on a remote computer, or exclusively on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the invention.
[0043] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0044] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to cause a machine such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams. These computer readable program instructions may also be stored in a computer readable storage medium that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions that implement aspects of the functions / operations defined in one or more blocks of the flowcharts and / or block diagrams.
[0045] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on a computer, other programmable apparatus, or other device, perform the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams, causing a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process.
[0046] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer programs according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, comprising one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the figures. For example, two blocks shown in succession may in fact be executed substantially in parallel, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It will also be noted that each block in the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or executes a combination of dedicated hardware and computer instructions.
[0047] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.
[0048] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0049] Its features are as follows.
[0050] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without the need for human interaction with the service provider.
[0051] Broad network access: Capabilities are available across the network and accessed through standard mechanisms, facilitating use by heterogeneous thin- and thick-client platforms (eg, cell phones, laptops, and PDAs).
[0052] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers generally have no control or knowledge over the exact location of the resources provided, although there is a sense of location independence in that it may be possible to specify a location at a higher level of abstraction (e.g. country, state, or data center).
[0053] Rapid Elasticity: Capacity can be provisioned quickly and elastically, in some cases automatically, to rapidly scale out, and can be quickly released to rapidly scale in. To the consumer, the capacity available for provisioning often appears infinite and can be purchased in any amount at any time.
[0054] Measured Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage is monitored, controlled, and reported, providing transparency to both providers and consumers of the services utilized.
[0055] The service model is as follows:
[0056] Software as a Service (SaaS): The consumer is provided with the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). With the possible exception of limited user-specific application configuration settings, the consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities.
[0057] Platform as a Service (PaaS): The ability given to the consumer is to deploy applications created or acquired by the consumer, created using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the application hosting environment configuration.
[0058] Infrastructure as a Service (IaaS): The capability provided to the consumer is the provision of processing, storage, network, and other basic computing resources, upon which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0059] The deployment model is as follows:
[0060] Private Cloud: The cloud infrastructure is operated exclusively for an organization. It can be managed by the organization or a third party and can be on-premise or off-premise.
[0061] Community Cloud: The cloud infrastructure is shared by several organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can be on-premise or off-premise.
[0062] Public Cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization that sells cloud services.
[0063] Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0064] A cloud computing environment is a service oriented approach focused on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0065] 4, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or combinations thereof, can communicate. The nodes 10 can communicate with each other. They may be physically or virtually grouped in one or more networks (not shown), such as a private, community, public, or hybrid cloud, or combinations thereof, as described herein above. This enables the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which the cloud consumer does not need to maintain resources on the local computing device. It will be understood that the types of computing devices 54A-N shown in FIG. 4 are for illustration purposes only, and that the computing node 10 and cloud computing environment 50 can communicate with any type of computerized device through any type of network or network-addressable connection (e.g., using a web browser) or both.
[0066] Referring now to Figure 5, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 4) is shown. Up front, it should be understood that the components, layers, and functions shown in Figure 5 are for illustrative purposes only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0067] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (reduced instruction set computing) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, the software components include network application server software 67 and database software 68.
[0068] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be derived: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.
[0069] In one example, the management layer 80 can provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to perform tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking and billing or invoicing for consumption of these resources as they are utilized within the cloud computing environment. In one example, these resources can include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-provisioning and procurement of cloud computing resources in anticipation of future requirements according to SLAs.
[0070] The workload layer 90 illustrates examples of functionality for which a cloud computing environment may be utilized. Examples of workloads and functions that may come from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and latency units 96.
[0071] Based on the above, a computer system, a method, and a computer program have been disclosed. However, numerous modifications and substitutions can be made without departing from the scope of the present invention. Thus, the present invention has been disclosed by way of example and not by way of limitation.
[0072] While the present invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.
[0073] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used in this specification is selected to best explain the principles, practical applications, or technical improvements to the technology found in the marketplace of one or more embodiments, or to enable those skilled in the art to understand the embodiments disclosed herein. [Explanation of symbols]
[0074] 10 cloud computing nodes 50 Cloud Computing Environments 54A Personal digital assistant or mobile phone 54B Desktop Computer 54C Laptop Computer 54N Automotive Computer Systems 60 Hardware and Software Layers 61 Mainframe 62 RISC architecture-based servers 63 Server 64 Blade Server 65 Storage Devices 66 Networks and Networked Components 67 Network Application Server Software 68 Database Software 70 Virtualization Layer 71 Virtual Server 72 Virtual Storage 73 Virtual Network 74 Virtual Applications and Operating Systems 75 Virtual Clients 80 Management Layer 81 Resource Supply 82 Measurement and Pricing 83 User Portal 84 Service Level Management 85 Service Level Agreement (SLA) Planning and Implementation 90 Workload Layer 91 Mapping and Navigation 92 Software Development and Lifecycle Management 93 Virtual Classroom Education Delivery 94 Data Analysis Processing 95 Transaction Processing 96 Delay Units 100 messaging environments 105 Network 110 Caller Computing Device 112 Communication unit 114 Messaging Applications 120 recipient computing devices 122 Communication Unit 124 Camera 126 Microphones 128 Messaging Applications 129 Applications 130 Notification Unit 132 Dedicated Unit 134 Mood Unit 136 Delay Unit 138 Change Unit 140 User Computing Devices 142 Communication Unit 144 Applications 902 Processor 904 RAM 906 ROM 908 Computer-readable storage medium 910 Operating System 911 Application Program 912 Device Drivers 914 R / W drive or interface 916 Network Adapter or Interface 918 Communication Fabric 920 display screen 922 Keyboard or Keypad 924 Computer Mouse or Touchpad 926 Portable computer-readable storage medium 930 Network
Claims
1. 1. A method comprising: receiving, by the computer, a message from an originating computing device; determining, by the computer, a first mood of a user receiving the message; analyzing, by the computer, the content of the message to determine a second mood of the content of the message and to identify at least one mood indication within the message; comparing, by the computer, the first mood to the second mood; determining, by the computer, if the first mood does not match the second mood, whether there is a portion of the message that can be changed without changing the content of the message; varying, by the computer, the at least one mood indication included in the message to reflect the first mood; delaying, by the computer, the sending of a notification, which may be a sound or a pop-up window, indicating an incoming message when the first mood and the second mood are different; A method comprising:
2. Determining, by the computer, the first mood of a user receiving the message, receiving, by the computer, image data of the user receiving the message, the image data including a video or a still image; receiving, by said computer, audio data of said user receiving said message; analyzing, by the computer, the image data and the audio data to determine the first mood of the user; The method of claim 1 , comprising:
3. Determining, by the computer, the second mood of the content of the message includes: utilizing natural language processing by the computer to analyze content of the message to determine the second mood. The method of claim 2 , comprising:
4. waiting, by the computer, a period of time and then determining, by the computer, a third mood of the user receiving the message; comparing, by the computer, the first mood to the third mood, thereby determining, by the computer, whether the third mood is different from the first mood; The method of claim 1 further comprising:
5. when the third mood is determined to be different from the first mood, comparing, by the computer, the third mood of the user receiving the message with the second mood of the message; determining, by the computer, that the third mood is the same or similar to the second mood; sending, by said computer, said notification to said user; The method of claim 4 further comprising:
6. determining, by the computer, a first state of the user receiving the message, the state indicating whether the user is engaged in an activity; and delaying, by said computer, the sending of said notification when said first state is a dedicated state; The method of claim 1 further comprising:
7. Determining, by the computer, the first state of the user receiving the message, comprises: receiving, by the computer, image data of the user receiving the message, the image data including a video or a still image; receiving, by said computer, audio data of said user receiving said message; analyzing, by the computer, the image data and the audio data to determine the first state of the user; The method of claim 6, comprising:
8. waiting a period of time by the computer and then determining a second state of the user receiving the message by the computer; determining, by said computer, whether said second state differs from said first state by comparing, by said computer, said first state to said second state; The method of claim 7 further comprising:
9. determining, by the computer, when the second state is determined to be different from the first state, that the second state is a disengaged state; sending, by said computer, said notification to said user; The method of claim 8 further comprising:
10. A computer program product causing a computer to carry out a method according to any one of claims 1 to 9.
11. A storage medium having the computer program according to claim 10 recorded thereon.
12. 1. A computer system comprising: A computer system comprising one or more computer processors, one or more computer readable storage media, and program instructions stored on one or more of the computer readable storage media and executed by at least one of the one or more processors to cause the computer system to perform a method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Service management using user experience metrics
US20120089705A1
Generating alerts based on predicted mood responses to received electronic messages
US20190215290A1