Prediction communication compensation

By measuring and analyzing the network signal strength of user equipment, network casing and switching technology are used to solve the interruption and poor quality caused by signal problems in voice communication, and dynamic seamless communication is achieved.

CN116114380BActive Publication Date: 2025-05-27INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202180061647.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-09-15
Filing Date
2021-08-31
Publication Date
2025-05-27
Estimated Expiration
2041-08-31

AI Technical Summary

Technical Problem

During voice communication, users may encounter communication interruption or poor quality due to network signals availability, congestion in locations, or environmental noise, and it is difficult for the prior art to realize dynamic seamless communication solutions.

Method used

By determining the status of the user equipment, measuring the signal strength of the currently connected network and the signal strength of the backup network, using network stacking technology to generate the total signal strength, and switching to another network if necessary or using voice-to-text conversion to ensure the stability of the communication.

Benefits of technology

When encountering communication problems, it realizes that the compensation measures such as network casing and switching are dynamically implemented to ensure the seamlessness and high quality of voice communication and reduce the needs of user operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116114380B_ABST
    Figure CN116114380B_ABST
Patent Text Reader

Abstract

A method, computer program product, and computer system predictively compensate for expected audio communication problems. The method includes determining a condition of a first device associated with a user. The method includes, based on the conditions, determining a first signal strength to a first network to which the first device is currently connected and in which communication is performed, and a second signal strength to a second network to which the first device is configured to be used in performing communication. As a result of each of the first signal strength and the second signal strength not individually meeting a minimum threshold, the method includes generating a total signal having a total signal strength by stacking the first network on the second network. The total signal strength has a relatively greater signal strength than the first signal strength and the second signal strength. The method includes performing communication using the total signal.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Exemplary embodiments generally relate to communications, and more particularly, to predicting when an audio communication encounters a problem and determining ways to compensate for the problem.

[0002] A user may utilize one or more portable devices to perform a voice communication with another user. Depending on various factors, when the current communication link for the voice communication is in progress, various different types of problems may occur. These problems may involve the availability of network signals from different networks, particularly crowded or noisy locations, surrounding context situations, etc. For example, if a user is traveling and having a phone conversation, due to external noise, the user's current device not receiving an appropriate signal strength, etc., the user may not be able to hear the voice content being received. Under traditional methods, the user may be required to simply end the communication and try again at a later time when the problem has naturally resolved, or the user may continue the communication while struggling to continue the conversation. Summary of the Invention

[0003] Exemplary embodiments disclose methods, computer program products, and computer systems for predictively compensating for expected audio communication problems. The method includes determining the condition of a first device associated with a user. The method includes, based on these conditions, determining a first signal strength to a first network to which the first device is currently connected for performing the communication, and a second signal strength to a second network to which the first device is configured to be used in performing the communication. As a result of each of the first signal strength and the second signal strength not individually meeting a minimum threshold, the method includes generating a total signal having a total signal strength by stacking the first network on the second network. The total signal strength has a relatively greater signal strength than the first signal strength and the second signal strength. The method includes performing the communication using the total signal. Brief Description of the Drawings

[0004] In conjunction with the drawings, the following detailed description will be better understood, which is given by way of example and is not intended to limit the exemplary embodiments thereto, in the drawings:

[0005] Figure 1 An exemplary schematic diagram of a voice compensation system 100 according to an exemplary embodiment is depicted.

[0006] Figure 2 An exemplary flowchart of a method according to an exemplary embodiment is depicted, which shows the operation of the smart device 110 of the voice compensation system 100 when predictively compensating for expected audio communication problems.

[0007] Figure 3 Depicts according to an exemplary embodiment Figure 1Exemplary block diagram of the hardware components of the voice compensation system 100.

[0008] Figure 4 Depicts a cloud computing environment in accordance with an exemplary embodiment.

[0009] Figure 5 Depicts an abstract model layer in accordance with an exemplary embodiment.

[0010] The figures are not necessarily drawn to scale. The figures are merely schematic representations and are not intended to depict the specific parameters of the exemplary embodiments. The figures are intended to depict only typical exemplary embodiments. In the figures, the same numbers represent the same elements. Detailed Description

[0011] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it is to be understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be implemented in various forms. Exemplary embodiments are merely illustrative and may be implemented in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope covered by the exemplary embodiments to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.

[0012] References in the specification to "one embodiment," "an embodiment," "exemplary embodiment," etc., mean that the described embodiment may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, these phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is considered within the knowledge of those skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0013] To avoid obscuring the presentation of the exemplary embodiments, in the following detailed description, for purposes of presentation and illustration, some of the processing steps or operations known in the art may have been combined together and in some cases may not have been described in detail. In other cases, some of the processing steps or operations known in the art may not have been described at all. It should be understood that the following description focuses on the distinguishing features or elements according to the various exemplary embodiments.

[0014] Exemplary embodiments relate to a method, computer program product, and system for predictively compensating for expected audio communication problems through a set of rules that define compensation measures based on expected or existing conditions. Exemplary embodiments may provide an intelligent mechanism through which seamless communication can be achieved through dynamic mode changes, layering of available mechanisms, etc., to improve the communication link in a seamless manner and prevent communication interruptions. Due to various reasons why communication may lack the seamless quality that a user may expect, exemplary embodiments may utilize a dynamic and modular layering of input methods for communication. The main benefits of exemplary embodiments may include providing a seamless mechanism for a user to perform voice communication, thereby receiving incoming voice messages in a predictive manner to minimize the actions required of the user. The detailed implementation of exemplary embodiments is as follows.

[0015] Traditional methods have provided many different solutions so that communication can be performed and problems that may occur during communication can be compensated for. For example, traditional methods manage heterogeneous wireless devices in three or more different types of networks. In another example, traditional methods automatically switch communication that is already being performed using a wireless cellular network to a wireless IP voice (VoIP) network, and vice versa. In another example, traditional methods use a migration probability database to predict the migration of mobile devices between geographical locations of wireless networks. In yet another example, traditional methods offload data from a first cellular wireless communication interface to a second wireless communication interface without affecting the cellular wireless protocol of the cellular wireless communication network. In another example, traditional methods perform a vertical handover of a wireless voice connection. However, these traditional methods do not dynamically layer VoIP and cellular to make the communication stronger and thus enjoy seamless communication based on implicit and explicit feedback as well as context attributes, and these traditional methods also do not describe real-time conversations from voice to text based on signal strength and environmental conditions.

[0016] As those skilled in the art will appreciate, network availability can be unstable, or there may be overcrowding and poor bandwidth due to momentary overload of the signals to be switched. In addition, adverse weather or even software glitches can exist, which will lead to dropped calls, resulting in a poor user experience. Given these problems and the drawbacks of traditional methods, exemplary embodiments provide a mechanism for dynamically planning and / or predicting movement patterns for users and / or populations. Using data derived from location determination methods and based on static and / or dynamic user clustering and density, exemplary embodiments can compile statistical and machine learning inputs for compensating for existing or predicted problems. Based on pattern analysis and other available analytical methods, exemplary embodiments can proactively determine when compensation measures (e.g., between cellular and VoIP communication systems) will be affected and provide predictive inputs for pre-demand bandwidth expansion, enabling providers to gain insights into infrastructure requirements and planned purchasing power, thereby reducing costs for service providers and providing users with a high level of call quality. Additionally, if the signal quality of both cellular and VoIP is relatively weak, exemplary embodiments can utilize compensation measures involving layering of both, while retaining the option to utilize compensation measures based on user preferences across multiple devices associated with the user. Furthermore, exemplary embodiments can provide compensation measures involving voice transcription that transcribes voice to text in real time, especially when surrounding conditions do not allow the user to properly decrypt incoming voice communications.

[0017] Exemplary embodiments are described with specific reference to voice communications and compensation for problems that may occur during voice communications. However, exemplary embodiments can be utilized and / or modified for any type of communication and, more generally, for data exchange. Thus, the mechanisms provided by exemplary embodiments can be utilized and / or modified to proactively compensate for problems that occur or are predicted to occur during communication or data exchange.

[0018] Figure 1 A voice compensation system 100 according to an exemplary embodiment is depicted. According to an exemplary embodiment, the voice compensation system 100 can include a primary intelligent device 110, one or more profile repositories 120, a profiling server 130, and one or more secondary intelligent devices 140, all of which can be interconnected via a network 108. Although the programs and data of exemplary embodiments can be remotely stored and accessed across several servers via the network 108, the programs and data of exemplary embodiments can alternatively or additionally be locally stored on as few as one physical computing device or in other computing devices in addition to those described.

[0019] Exemplary embodiments are described with respect to a user who may have multiple smart devices that can be associated with the user (e.g., accessible and usable by the user). The multiple smart devices may include a primary smart device 110 and one or more secondary smart devices 140. The primary and secondary designations represent perspectives that exemplary embodiments can implement and do not define a priority. For example, the primary smart device 110 may be the device currently in use, while the secondary smart device 140 may be a device currently available for the user (e.g., in the vicinity of the user's availability). Thus, the "primary" designation may refer to the device in use, while the "secondary" designation may refer to a device available for use but not currently in use.

[0020] In an exemplary embodiment, the network 108 may be a communication channel capable of transmitting data between connected devices. Thus, the components of the voice compensation system 100 may represent network components or network devices interconnected via the network 108. In an exemplary embodiment, the network 108 may be the Internet, representing the global collection of networks and gateways that support communication between devices connected to the Internet. Additionally, the network 108 may utilize various types of connections, such as wired, wireless, fiber optic, etc., which may be implemented as an intranet, a local area network (LAN), a wide area network (WAN), or a combination thereof. In a further embodiment, the network 108 may be a Bluetooth network, a WiFi network, or a combination thereof. In another embodiment, the network 108 may be a telecommunications network for facilitating a telephone call between two or more parties, including landline networks, wireless networks, closed networks, satellite networks, or a combination thereof. Generally, the network 108 may represent any combination of connections and protocols that will support communication between connected devices. For example, the network 108 may also represent a direct or indirect wired or wireless connection between components of the voice compensation system 100 that do not utilize the network 108. As will be described in detail below, a connection may be established between one of the primary smart device 110 and the secondary smart device 140, and this connection may or may not utilize the network 108 to exchange information that can be used to determine compensation measures. Another connection may be established between the primary smart device 110 and another smart device (not shown) of another user to perform voice communication via the network 108.

[0021] In an exemplary embodiment, the primary intelligent device 110 may include a voice communication client 112, a situation client 114, and a compensation client 116, and may be an enterprise server, a laptop computer, a notebook, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a server, a personal digital assistant (PDA), a rotary phone, a push-button phone, a smart phone, a mobile phone, a virtual device, a thin client, an Internet of Things (IoT) device, or any other electronic device or computing system capable of receiving data from and sending data to other computing devices. Although the primary intelligent device 110 is shown as a single device, in other embodiments, the primary intelligent device 110 may include a cluster or multiple computing devices that work together or independently in a modular manner, etc. The primary intelligent device 110 is referenced Figure 3 is described in more detail as a hardware implementation, referenced Figure 4 is described as part of a cloud implementation, and / or referenced Figure 5 is described as being processed using a functional abstraction layer.

[0022] One or more secondary intelligent devices 140 may be substantially similar to the primary intelligent device 110. Thus, one or more secondary intelligent devices 140 may include a voice communication client 142, a conditions client 144, and a compensation client 146, which are substantially similar to the corresponding clients of the primary intelligent device 110. For efficiency, the description of the primary intelligent device 110 and its components may apply to one or more secondary intelligent devices 140 and their components. Thus, the following description of the voice communication client 112 may apply to the voice communication client 142, etc. As described above, the primary intelligent device 110 may provide a perspective on the device currently being used by the user, while one or more secondary intelligent devices 140 may be available devices accessible by the user. However, note that including one or more secondary intelligent devices 140 is merely exemplary, and the voice compensation system 100 may include only the primary intelligent device 110 without including any of the one or more secondary intelligent devices 140.

[0023] In an exemplary embodiment, the voice communication client 112 can act as a client in a client-server relationship and can be a software-, hardware-, and / or firmware-based application that enables a user of the primary smart device 110 to communicate with another user via a network 108 via an additional device. In an embodiment, the situation client 114 can receive input of a selected other user and perform subsequent operations to establish a communication link (e.g., as a result of the other user accepting a communication request), exchange voice communications between the user and the other user, and interrupt the communication link when the communication has ended, and utilize various wired and / or wireless connection protocols for data transmission and exchange associated with the data used to perform the communication, including Bluetooth, 2.4 gHz and 5 gHz Internet, near field communication, Z-Wave, Zigbee, etc.

[0024] The voice communication client 112 can be configured to provide a user interface for performing communications. For example, the user interface can store an address book or provide input features to select one or more other users when establishing a communication. In another example, the user interface can provide options where the user can select parameters (e.g., volume control) to perform the communication. The voice communication client 112 can perform various different types of communications involving voice communication. For example, the voice communication client 112 can perform a telephone communication utilizing audio features. In another example, the voice communication client 112 can perform a video communication utilizing video and audio features.

[0025] The voice communication client 112 can also be configured to incorporate features of the exemplary embodiment. In an exemplary implementation, the voice communication client 112 can be configured to receive input from another client or program to present options or alerts of mitigation measures that can be utilized or applied. According to this exemplary implementation, the voice communication client 112 can present features to the user via a user interface (e.g., an overlay). In another exemplary implementation, the voice communication client 112 can be configured to be pre-programmed with features of the exemplary embodiment. Thus, once an instruction is received from another client or program, the voice communication client 112 can present options or alerts via the user interface of the voice communication client 112.

[0026] In an exemplary embodiment, the situation client 114 can act as a client in a client-server relationship and can be a software, hardware, and / or firmware-based application capable of determining the situation that the primary smart device 110 is experiencing, including signal strength, available signals, ambient noise, voice input interpretation, etc., and utilize various wired and / or wireless connection protocols to perform data transmission and exchange associated with data that occurs or is expected to occur during communication, including Bluetooth, 2.4 gHz and 5 gHz Internet, near field communication, Z-Wave, Zigbee, etc.

[0027] The situation client 114 can utilize multiple sensors and / or receive data from available components that have determined information related to the situation experienced by the primary smart device 110. For example, the primary smart device 110 can include a network card or chip and an antenna configured to transmit and / or receive signals. The primary smart device 110 can also include functions related to measuring the signal strength of available signals. The situation client 114 can receive information related to the signal strength, which can be interpreted to determine the relative quality of using the corresponding signal. In another example, the primary smart device 110 can include a microphone or other audio input device configured to receive audio and convert the audio into corresponding audio data. The situation client 114 can receive the audio data and interpret the ambient noise situation (e.g., background noise), user experience (e.g., interpretation of the user's words), etc. In another example, the situation client 114 can utilize a network card or chip to determine the secondary smart device 140 available to the user (e.g., near the user). The situation client 114 can request information from the secondary smart device 140 to determine the situation that the secondary smart device 140 is experiencing (e.g., substantially similar to the situation information determined for the primary smart device 110). In yet another example, the situation client 114 can receive information indicating a possible situation that the user is predicted to experience at a corresponding time. As will be described in further detail below, the situation client 114 can access various types of information (e.g., calendar program, profile server 130, etc.), which can indicate direct and / or indirect information available for inferring possible situations (e.g., the user is scheduled to attend a concert during a given time period on a specific date, which indicates that the user will likely experience a situation of high ambient noise).

[0028] In an exemplary embodiment, the compensation client 116 can act as a client in a client-server relationship and can be a software, hardware, and / or firmware-based application that is capable of determining compensation measures to be used under a given set of conditions that are currently being experienced and / or predicted to occur via the network 108. In an embodiment, the compensation client 116 can utilize a set of rules determined by the profile server 130 to define when and how to utilize the compensation measures, and utilize various wired and / or wireless connection protocols for data transmission and exchange associated with data for compensating problems that occur or are predicted to occur during communication, including Bluetooth, 2.4 gHz and 5 gHz Internet, near field communication, Z-Wave, Zigbee, etc.

[0029] The compensation client 116 can be configured to apply compensation measures based on conditions that the primary smart device 110 and / or the user using the primary smart device 110 is experiencing or is expected to experience. As will be described in further detail below, the compensation client 116 can determine a course of action based on rules set for the user when using the primary smart device 110 and the secondary smart device 140. The compensation client 116 can utilize a variety of different compensation measures, including at least one of determining between the primary smart device 110 and the secondary smart device 140, utilizing a voice-to-text conversion feature, switching from a first network to a second available network, stacking multiple networks to increase signal strength, etc.

[0030] As described above, the voice compensation system 100 can include a primary smart device 110 and one or more secondary smart devices 140 associated with a user, where the primary smart device 110 is currently being used by the user. As will be described below, an exemplary embodiment can utilize a compensation measure where one of the secondary smart devices 140 is used instead. When the user uses one of the secondary smart devices 140 instead, any one of the devices in use can be designated as the primary smart device 110. Thus, the secondary smart device 140 that is being used can be designated as the primary smart device 110, and the primary smart device 110 that is no longer being used can be designated as a secondary smart device 140.

[0031] In an exemplary embodiment, the profile repository 120 may include one or more profiles 122 and may be an enterprise server, a laptop, a notebook, a tablet computer, a netbook computer, a PC, a desktop computer, a server, a PDA, a rotary phone, a push-button phone, a smart phone, a mobile phone, a virtual device, a thin client, an Internet of Things device, or any other electronic device or computing system capable of storing data, receiving data from other computing devices, and sending data to other computing devices. Although the profile repository 120 is shown as a single device, in other embodiments, the profile repository 120 may include a cluster or multiple electronic devices that work together or independently in a modular manner, etc. Although the profile library 120 is also shown as a separate component, in other embodiments, the profile library 120 may be combined with one or more other components of the voice compensation system 100. For example, the profile repository 120 may be incorporated into the profile server 130. Thus, the access of the profile server 130 to the profile repository 120 may be performed locally. In another example, the profiles 122 represented in the profile repository 120 may be incorporated into the main smart device 110 and / or the secondary smart device 140 (e.g., each of the main smart device 110 and the secondary smart device 140 has a profile repository 120 that includes the profiles 122 of the users associated with these devices). Thus, the access to the profile library 120 and the profiles 122 associated with the user may be performed through transmissions from the main smart device 110 and / or the secondary smart device 140. Refer to Figure 3 The profile repository 120 will be described in more detail as a hardware implementation. Refer to Figure 4 Described as part of a cloud implementation, and / or refer to Figure 5 Described as being processed using a functional abstraction layer.

[0032] In an exemplary embodiment, the profiles 122 may each be associated with a user who is associated with the main smart device 110 and the secondary smart device 140. The profiles 122 may be populated with various types of information that may be used to compensate for subsequent operations of problems that occur or may occur during communication. For example, the profiles 122 may include technical information about the main smart device 110 and the secondary smart device 140. The technical information may include information related to components (e.g., microphones) and settings associated with the components (e.g., the sensitivity of receiving audio input). In another example, the profiles 122 may be populated with location information indicating where the user may be at a given time. The location information may be based on direct input such as a calendar application and / or information inferred from historical data or expected criteria.

[0033] In an exemplary embodiment, the profile server 130 may include an identification program 132 and a rules program 134, and act as a server in a client-server relationship with clients 112, 114, 116, 142, 144, 146, and in a communication relationship with a profile repository 120. The profile server 130 may be an enterprise server, a laptop, a notebook, a tablet computer, a netbook computer, a PC, a desktop computer, a server, a PDA, a rotary phone, a push-button phone, a smartphone, a mobile phone, a virtual device, a thin client, an Internet of Things device, or any other electronic device or computing system capable of receiving data from and sending data to other computing devices. Although the profile server 130 is shown as a single device, in other embodiments, the profile server 130 may include a cluster or multiple computing devices that work together or independently. Although the profile server 130 is also shown as a separate component, in other embodiments, the operations and features of the profile server 130 may be combined with one or more other components of the voice compensation system 100. For example, the operations and features of the profile server 130 may be incorporated into the main intelligent device 110 and / or the auxiliary intelligent device 140. Refer to Figure 3 The profile server 130 will be described in more detail as a hardware implementation, refer to Figure 4 described as part of a cloud implementation, and / or refer to Figure 5 described as being processed using a functional abstraction layer.

[0034] Initially, data exchange between components of the voice compensation system 100 can be performed in a variety of ways based on the configuration of the components. The above description of the selected components indicates that a client-server relationship can be established, which may mean that these components can interact with separate components. Thus, according to an exemplary implementation, the primary intelligent device 110, the secondary intelligent device 140, and the profile server 130 can be separate components that utilize the network 108 to exchange data. When implementing the features of the exemplary embodiment, the primary intelligent device 110 can exchange data with the profile server 130 to determine and apply compensation measures. The exemplary embodiment can further utilize different configurations regarding the client associated with the primary intelligent device 110 and the program associated with the profile server 130. For example, the primary intelligent device 110 can include a voice communication client 112 and a status client 114. However, the compensation client 116 can be included in the profile server 130 such that the corresponding client on the primary intelligent device 110 can receive instructions from the profile server 130 via the network 108 to apply compensation measures. According to another exemplary implementation, as described above, the operations of the profile server 130 and the profile repository 120 can be incorporated in the primary intelligent device 110. In this way, the features of the exemplary embodiment can be incorporated in a single component (e.g., the primary intelligent device 110) of the voice compensation system 100. Although the primary intelligent device 110 that performs all operations may require additional resources and processing requirements, problems that may arise may be related to signal strength, where the connection to a separate profile server 130 is unavailable in the implementation. Thus, the mechanisms included in the primary intelligent device 110 can address this situation. For illustrative purposes, the exemplary embodiment is described in the configuration illustrated in Figure 1 the voice compensation system 100 of

[0035] In the exemplary embodiment, the identification program 132 can be a software, hardware, and / or firmware application configured to identify the user associated with the primary intelligent device 110 and one or more secondary intelligent devices 140. Thus, the information determined for the user, the primary intelligent device 110, and the secondary intelligent devices 140 can be associated with the corresponding profile 122 of the user.

[0036] The identification program 132 can also be configured to identify events that may occur. As described above, the exemplary embodiment can be configured to proactively utilize compensation measures based on events that may potentially occur and the corresponding conditions associated with the respective events. For example, the identification program 132 can receive information about the user's schedule, which can indicate where the user may be at a certain time. In another example, the identification program 132 can receive location information and associate the user's location with events that may occur at that location or the general atmosphere of that location. The identification program 132 can also utilize the clustering or population density of the location to determine the overall atmosphere of the location. When identifying these future events, the identification program 132 can update the profile 122 associated with the user with this information.

[0037] In an exemplary embodiment, the rules program 134 can be a software, hardware, and / or firmware application that is configured to generate rules that will be used when utilizing compensation measures. These rules can define the correlation between the compensation measures and the conditions that exist and / or are predicted to exist. These rules can also clarify how the compensation measures are to be executed, including proactive actions to prepare for implementing the compensation measures. The compensation measures that the rules program 134 can establish can include a switch from the primary smart device 110 to one of the secondary smart devices 140, a conversion of voice communication to text that the user of the primary smart device 110 can read, an association from a first network to a second network, where the second network provides sufficient signal to perform communication, or a stacking of multiple networks to provide an improved signal to perform communication.

[0038] The rules program 134 can perform proactive actions for each compensation measure in a corresponding manner. For example, for the switch to one of the secondary smart devices 140, the rules program 134 can define a rule where when the secondary smart device 140 becomes the primary smart device 110, a contact is pre-dialed on the secondary smart device 140 for seamless conversion (e.g., user switch used in the device). In another example, for the conversion of voice communication to text, the rules program 134 can define a rule where the user interface of the voice communication client 112 introduces a view that displays text in real time when a voice communication is received. In another example, for the association with the second network or the stacking of multiple networks, the rules program 134 can perform background operations involving the establishment of new or multiple connections that are being made.

[0039] The rules program 134 can further define rules that correlate compensation measures with the conditions being experienced or likely to be experienced. For example, for switching to one of the secondary intelligent devices 140, the rules program 134 can generate a rule that defines when a secondary intelligent device 140 is available and has a better signal strength to the network for performing communication compared to the signal to the network of the primary intelligent device 140. In another example, for the conversion of voice communication to text, the rules program 134 can generate a rule that defines the conditions when ambient noise prevents the user from correctly decrypting the voice communication sent by another user in the communication. In another example, for the association with a second network, the rules program 134 can generate a rule that defines the conditions when another network is available for the primary intelligent device 110 and has sufficient signal strength that can be used to perform communication, where the other network can be a cellular network, a WiFi network, a hot spot, etc. In yet another example, for the stacking of multiple networks, the rules program 134 can generate a rule that defines the conditions when multiple networks are detected but these networks have insufficient signal strength at the individual level. The rule can indicate which networks will be stacked so that the stacked networks have sufficient signal strength to perform communication. The stacking can be performed in a manner substantially similar to stacking a carrier on top of a base signal.

[0040] The rules program 134 can also incorporate the information from the identification program 132 into the rules and the corresponding compensation measures. For example, the rules program 134 can define a rule when a future event that the user plans to participate in has ambient noise that will likely prevent the user from correctly decrypting incoming voice communication from another user. The rule can indicate the compensation measures to be prepared for the conversion from voice to text. In another example, the rules program 134 can define a rule for when the user can continuously change positions from a starting point to a destination along a planned or possible route. The rule can indicate the compensation measures to be prepared for the association with another network, where the rule can also elaborate on other networks that may provide sufficient signal strength to perform communication based on the location. The rules program 134 can access various databases or crowdsourced information that indicate the various networks available at a selected location and the corresponding signal strengths experienced by devices having technical characteristics substantially similar to the primary intelligent device 110.

[0041] The profile server 130 may update the profile 122 with this information at various times. For example, as new prediction information becomes available (e.g., an update to a calendar application), the rules program 134 may prepare corresponding rules based on the new prediction information and any corresponding changes that may result in a previously determined rule. In another example, when the primary smart device 110 and / or the secondary smart device 140 are able to exchange data with the profile server 130, the profile server 130 may update the profile 122 continuously or at a predetermined time interval.

[0042] The profile server 130 may also be configured to provide the primary smart device 110 and / or the secondary smart device 140 with the most recent form of the profile 122 associated with the user. In this way, the compensation client 116 may have the appropriate rules upon which to determine how and when to utilize the compensation measures. Equipped with the profile 122, the compensation client 116 may utilize the conditions being experienced or likely to be experienced (e.g., according to the condition client 114) and utilize the appropriate compensation measures for the conditions.

[0043] Note that the compensation client 116 may be performed as a background operation, where the features of the exemplary embodiments are provided to the user without the need for manual input. Thus, the rules provided to the compensation client 116 may be implemented as the conditions are specified and any changes that would warrant a warning to the user may be provided, while other changes that do not require the user's attention may be omitted. For example, the compensation client 116 may warn the user that a voice communication will be converted to text so that the user is prepared to change the position in which the primary smart device 110 is held so that the text can be read. In another example, the compensation client 116 may warn the user that an association with a new network will be created to perform or continue communication. Such a feature may require the user to accept the use of the new network, especially if the new network has a cost associated with it (e.g., a financial cost). In another example, when it is known that the association with the new network has been used by the user at a historical time or is a network that the primary smart device 110 has previously been associated with, the compensation client 116 may omit warning the user. However, the use of the automated background method of the features of the exemplary embodiments is merely exemplary. In another exemplary implementation, the compensation client 116 may be used in a semi-automatic method where a selection operation requires manual input. For example, the compensation client 116 may generate a recommendation regarding the compensation measure to be used based on the condition. Thus, the user may accept the compensation measure and the compensation client 116 may proceed with the subsequent corresponding operation, or reject the compensation measure and continue communication under the current parameters. In this way, a manual override option may be presented to the user when utilizing or bypassing the compensation measures.

[0044] As described above, the exemplary embodiments may utilize various compensation measures to address problems that have occurred or may occur in communication. The compensation measures may include connection methods, device methods, or interface methods. If the signal strengths to the corresponding networks are all weak (e.g., below an acceptable threshold for performing communication using a separate network), the voice compensation system 100 may provide a method of stacking cellular and VoIP to improve voice quality. The voice compensation system 100 may also switch between devices associated with the user after checking the corresponding signal strengths received on each individual device. The switching may also be modified based on user preferences, such as using a preference order of various devices associated with the user (e.g., for communication, a smart phone is preferred over a tablet). If the weak signal still exists after stacking, and / or if the ambient noise condition prevents the user from hearing the words from another user during communication, the voice compensation system 100 may transcribe the voice from the other user into text in a real-time voice "free flowing" text display format as an additional method of communication in a low bandwidth environment.

[0045] In an exemplary implementation, the voice compensation system 100 may predict when the compensation measures are applicable. For example, a user may purchase tickets for a concert. In another example, the prediction system (e.g., identification program 132) of the voice compensation system 100 may scan the online event schedules of major venues and incorporate these events into the prediction mode model. In another example, the bandwidth requirements may be predicted based on historical data. In yet another example, spontaneous events (e.g., protests) may be dynamically addressed based on a set of location data from the users participating in the event. Using these inputs, the voice compensation system 100 may predict and / or prepare compensation measures, such as the stacking technology to be implemented, and the provider or IT provider may also prepare for a higher level of data consumption to prevent network saturation. This may be further visualized in a real-time density map, where the artificial intelligence or rule program 134 may monitor network congestion.

[0046] According to an exemplary implementation, the audio engine and / or the signal monitoring engine (e.g., as embodied in the condition client 114) may identify that there are problems or saturation in the network, which results in unclear voice quality. The compensation client 116 may apply compensation measures, where the communication is seamlessly changed to another device of a user with relatively better network signal strength (e.g., becoming one of the secondary smart devices 140 of the primary smart device 110).

[0047] According to this exemplary implementation, a noise engine (e.g., as embodied in the situation client 114) can identify that ambient or environmental noise does not permit a user to listen to the content of a communication. The compensation client 115 can apply a compensation measure where the user's communication mode changes from voice to text, and the user can respond in text form. The situation client 114 can also listen for indications of degradation of service (IoD) based on user preferences and privacy preferences. IoD can define an oral queue from the user to identify when ambient noise is too high or generally indicate when the user cannot understand a voice communication from another user. For example, IoD can include "I can't hear you", "What did you say?", "Please speak louder", etc., which are used to improve communication through voice-to-text conversion. This information can also be used to supplement the communication quality of other nearby users by sharing this context to improve the communication performance of other users.

[0048] According to an exemplary implementation, if the telephone network signal (e.g., a first network such as a cellular network) is not strong enough or insufficient to continue a communication, the compensation client 116 can utilize rules to perform a cost-benefit analysis to determine whether the communication mode or the network being used can be changed to another network, such as a paid WiFi available at the current location of the primary smart device 110, or whether an unencrypted fee-based or free WiFi can be connected. In a feature of the exemplary embodiment, in a case where the network may belong to a competing entity (e.g., a market with competing communication providers), the exemplary embodiment can implement a communication stack with another operator to "piggy-back" on the available bandwidth in the network. For example, if the first network line has limited bandwidth, the second network can share the available bandwidth to better serve the customer base through load balancing between competing networks.

[0049] According to an exemplary implementation, the compensation client 116 can use rules based on historical data analysis from different users such that these rules can predict network interruptions during a voice communication. Thus, based on the priority of the current communication, the compensation client 116 can proactively create parallel networks to ensure seamless communication. For example, a dialing can be pre-executed, and a phone conference can be actively joined with another device, etc.

[0050] According to this exemplary implementation, a signal monitoring engine (e.g., as embodied in the situation client 114) can determine that the above method only provides a signal strength that does not meet the minimum threshold level for having an uninterrupted communication session. Thus, as a result of the signal strength received from the available network being below the minimum threshold level, the compensation client 116 can perform a stack of multiple networks (e.g., cellular and VoIP).

[0051] The following provides an exemplary process that can provide the features of the exemplary embodiment. It will be described below for Figure 1The voice compensation system 100 will be described, and further details may be provided or the above description of the selected components may be extended. The following may also be an implementation where there are multiple secondary intelligent devices 140. The following may also refer to such a configuration where the operation of the profile server 130 is incorporated in the primary intelligent device 110. Thus, the operations of the identification program 132 and the rule program 134 may be executed by the primary intelligent device 110.

[0052] The primary intelligent device 110 and the secondary intelligent device 140 may share with each other the telephone network signal strength measured by the status clients 114, 144 of their respective devices. The primary intelligent device 110 and the secondary intelligent device 140 may provide the signal strength to, for example, the compensation client 116, which determines which device has a relatively better network strength for communication. The primary intelligent device 110 and / or the secondary intelligent device 140 may also check the availability of other networks (such as WiFi networks) near the primary intelligent device 110, and collect cost and social network feedback regarding these other networks. These processes may occur during the preparation, start, and / or during the execution of the communication.

[0053] During a voice communication session (e.g., a telephone communication), the compensation client 116 installed in the primary intelligent device 110 may analyze the audio quality of the incoming voice communication received from another user of the communication session, and may verify whether the audio quality meets the specified threshold limit. The status client 114 may also track any external noise (e.g., the ambient noise condition), and may verify whether the user has difficulty understanding the dictated content (e.g., the words from another user). The compensation client 116 may utilize historical data (e.g., analyzed by a historical data analysis program (not shown)) to identify patterns of reduced network strength. Based on this information, when such compensation measures are to be used, the compensation client 116 may initiate a parallel communication mode in an active manner to ensure seamless communication.

[0054] The compensation client 116 can also utilize rules stored in the profile 122 based on the determination of the profile server 130. The profile 122 can be a dynamic profile created to assist in analyzing and responding to any communication issues. The profile 122 can consider many factors when actively analyzing communication requirements. In performing this operation, the profile server 130 can utilize the identification program 132 and the rules program 134. The identification program 132 together with the compensation client 116 can be configured to perform an analysis of the situation and the status of the situation. The identification program 132 can track and record communications based on many factors. For example, these factors can include location, where the location profile can consider the nature of the surrounding terrain, regional geography, noise history, jitter, availability of other networks, etc. In another example, these factors can include activities such as the type of event, the number and type of expected users, the demographics of the users, etc. In another example, these factors can include considering communications including device type and number, type of call (e.g., business, personal, etc.), data consumption (e.g., video, audio, image, etc.), handover capabilities, call establishment, parties to the communication, etc. In yet another example, the factors can include historical and shared information, including previous data, votes from users on their experiences regarding location and communication, etc. The rules program 134 can be a decision-based engine configured to generate rules that can proactively prepare a set of actions based on the type of communication problem. The rules program 134 can be trained to dynamically respond to communication requirements by comparing various factors such as individual call quality, overall network conditions, and saturation factors, etc. The rules program 134 can generate rules for various types of operations of the compensation measures. The compensation measures can include switching a call session without affecting the call, reminding the user of a recommended channel for completing the communication, communication jump from a first network (e.g., cellular) to a second network (e.g., VOIP), completing an in-region call via a network type (e.g., WiFi), conversion to a voice-to-text mode, etc. In an exemplary use of the above process, a user may want to call another user located in the same area or building. The communication session can be completed by the identification program 132 that identifies both parties, the location, the WiFi availability, etc., while the rules program 134 can be aware of the WiFi availability such that the compensation client 116 can follow the rules that allow switching the communication from the cellular network to WiFi.

[0055] If communication is in progress, the situation client 114 can measure the quality of the incoming voice communication. The compensation client 116 can analyze the appropriate handover mode for the current communication and can proactively create parallel network connections to ensure seamless communication. Additionally, since the signal strengths of the available communication modes (e.g., cellular and VoIP) are relatively weak (e.g., below a sufficient threshold for performing the communication), the compensation client 116 can layer the cellular signal over the VoIP signal and vice versa to bind strong signal strengths that can meet a sufficient threshold for the user to participate in the communication seamlessly.

[0056] Figure 2 Depicts an exemplary flowchart of method 200, which illustrates the operation of the intelligent device 110 of the voice compensation system 100 according to an exemplary embodiment in predictively compensating for expected audio communication problems. Method 200 may involve operations performed by the situation client 114, the compensation client 116, the identification program 132, and the rules program 134 when communication is being or is to be performed via the voice communication client 112. Thus, method 200 is described with respect to an exemplary implementation where the operations of the profile server 130 are incorporated into the main intelligent device 110 that the user is using, while multiple secondary intelligent devices 140 are also available to the user. Method 200 will be described from the perspective of the main intelligent device 110.

[0057] The main intelligent device 110 and the secondary intelligent devices 140 can measure the signal strength of the network (step 202). For example, the network can be a cellular network in which a telephone communication can be performed. However, the use of a cellular network is merely exemplary. In another exemplary embodiment, the network can be a WiFi network or any other type of network in which voice communication can be performed. The main intelligent device 110 and the secondary intelligent devices 140 can measure the signal strengths to other networks, which can be used for subsequent consideration.

[0058] The main intelligent device 110 can determine whether the user can access at least one of the secondary intelligent devices 140 (decision 204). As described above, the user can be associated with multiple devices, and the main intelligent device 110 and at least one secondary intelligent device 140 can be carried on the user. Thus, as a result of the user having the main intelligent device 110 and at least one secondary intelligent device 140 (decision 204, "yes" branch), the main intelligent device 110 can determine which device associated with the user has a relatively better signal strength (i.e., which device has the best signal strength to the network) (step 206). The main intelligent device 110 can send an indication to the user regarding which device will be used for the communication (step 208). Method 200 can incorporate further operations, such as receiving an input from the user a regarding whether the determined device will be used or whether the user will continue to use the currently used main intelligent device 110.

[0059] When only the primary smart device 110 is available (decision 204, "no" branch), or when the user has selected the primary smart device 110 among the primary smart device 110 and the secondary smart device, the primary smart device 110 can determine its current and predicted status as well as that of the user (step 210). For example, the status can be related to available signals from various networks, corresponding signal strengths, ambient noise status, location information, event information, etc. The primary smart device 110 can continue to monitor the status of the primary smart device 110 and the user to prepare for when to perform communication.

[0060] At a subsequent time, the user can choose to perform communication, enabling the primary smart device 110 to determine whether such an action is being performed (decision 212). If communication is not being performed (decision 212, "no" branch), the primary smart device 110 continues to monitor the status. As a result of using the communication function (e.g., via the voice communication client 112) to perform communication (decision 212, "yes" branch), the primary smart device 110 can perform multiple operations based on rules determined using compensation measures. For example, the rules can be determined by the identification program 132 and the rule program 134 such that when a set of statuses for the user and / or the primary smart device 110 is determined, compensation measures can be implemented.

[0061] The primary smart device 110 can determine whether the status includes an ambient or environmental noise condition that prevents the user from understanding incoming voice communication (decision 214). Thus, this determination can occur during communication. Since the ambient noise condition can be considered independently of connectivity, the primary smart device 110 can perform this operation at any time during communication and can further utilize the IoD to determine whether the user is having difficulty understanding another user. As a result of the presence of the ambient noise condition (decision 214, "yes" branch), the primary smart device 110 can utilize a compensation measure where the voice is converted into text so that the user can read the voice communication from the other user (step 216). The primary smart device 110 can also convert the incoming voice communication from the user and convert it into text for transmission to the other user, such as when the ambient noise condition also prevents the other user from understanding the user.

[0062] As a result of the ambient noise condition being within an acceptable limit (Decision 214, "No" branch), the primary intelligent device 110 can determine whether another network that provides sufficient signal strength to perform communication is available (Decision 218). When performing this operation, the primary intelligent device 110 may have determined that the current signal strength to the first network is insufficient to perform communication, thus providing a satisfactory user experience to the user. Therefore, the primary intelligent device 110 can identify other networks that can be used to perform communication, such as a WiFi network or an insecure network. As a result of the poor signal strength to the first network but good signal strength to the second network (Decision 218, "Yes" branch), the primary intelligent device 110 can utilize a compensation measure, where the primary intelligent device 110 associated with the second network performs communication (Step 220).

[0063] As a result of another network also having poor signal strength (Decision 218, "No" branch), the primary intelligent device 110 can utilize a compensation measure, where the networks can be stacked to enhance the total signal strength to perform communication (Step 222). In this case, the signal strength to the first network and the second network may be poor, but stacking can result in a total signal strength that meets the minimum threshold for performing communication. For example, the primary intelligent device 110 can stack a cellular network on top of a WiFi network, and vice versa.

[0064] The above process of utilizing compensation measures is merely exemplary. For example, the ordering of considerations for using compensation measures is shown for illustrative purposes only. As described above, the compensation measure of converting speech to text can be independent of the consideration of signal strength. Therefore, exemplary embodiments can consider each compensation measure as an ordered list according to priority, on an individual basis independent of each other, on a concurrent basis, etc. According to an exemplary implementation, the primary intelligent device 110 can utilize the stacking compensation measure and additionally consider other compensation measures at the same time. For example, the primary intelligent device 110 can choose to stack a cellular network on top of a WiFi network and also utilize the speech-to-text compensation measure.

[0065] Exemplary embodiments are configured to provide a mechanism in which problems that may exist or already exist in communication are resolved, thus providing a seamless way for the user to successfully perform communication. Exemplary embodiments can utilize compensation measures that can overcome problems based on expected or ongoing conditions. The compensation measures can include network stacking to generate a signal strength sufficient to perform communication, where the signal strength of the networks may not individually meet the minimum threshold. The compensation measures can also include a speech-to-text conversion mechanism, a mechanism for switching to another network, and a mechanism for selecting another device that has relatively better signal strength for one or more networks.

[0066] Figure 3 Depicted in accordance with an exemplary embodimentFigure 1 Block diagram of the devices within the voice compensation system 100. It should be understood that Figure 3 only an illustration of one implementation is provided, and it does not imply any limitation on the environment in which different embodiments can be implemented. Many modifications can be made to the described environment.

[0067] The devices used herein can include one or more processors 02, one or more computer-readable RAMs 04, one or more computer-readable ROMs 06, one or more computer-readable storage media 08, device drivers 12, read / write drivers or interfaces 14, network adapters or interfaces 16, all of which are interconnected through a communication structure 18. The communication structure 18 can be implemented with any architecture designed to transfer data and / or control information between processors (such as microprocessors, communication and network processors, etc.), system memory, peripheral devices, and any other hardware components within the system.

[0068] One or more operating systems 10 and one or more application programs 11 are stored on one or more computer-readable storage media 08 for execution by one or more processors 02 through one or more corresponding RAMs 04 (usually including a cache memory). In the illustrated embodiment, each computer-readable storage medium 08 can be an internal hard disk drive, CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk storage device such as a magnetic disk storage device, semiconductor storage device such as RAM, ROM, EPROM, flash memory, or any other computer-readable tangible storage device that can store computer programs and digital information.

[0069] The devices used herein can also include an R / W drive or interface 14 to read from or write to one or more portable computer-readable storage media 26. The application programs 11 on the device can be stored on one or more portable computer-readable storage media 26, read through the corresponding R / W drive or interface 14, and loaded into the corresponding computer-readable storage media 08.

[0070] The devices used herein can also include a network adapter or interface 16, such as a TCP / IP adapter card or a wireless communication adapter (such as a 4G wireless communication adapter using OFDMA technology). The application programs 11 on the computing device can be downloaded to the computing device from an external computer or external storage device through a network (such as the Internet, local area network, or other wide area network or wireless network) and the network adapter or interface 16. From the network adapter or interface 16, the program can be loaded onto the computer-readable storage media 08. The network can include copper wires, optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers.

[0071] The devices used in this document may also include a display screen 20, a keyboard or keypad 22, and a computer mouse or touchpad 24. The device driver 12 is connected to the display screen 20 for imaging, the keyboard or keypad 22, the computer mouse or touchpad 24, and / or the display screen 20 for pressure sensing for alphanumeric character input and user selection. The device driver 12, the R / W driver or interface 14, and the network adapter or interface 16 may include hardware and software (stored on the computer-readable storage medium 08 and / or ROM 06).

[0072] The programs described herein are identified based on the applications in which they are implemented in a particular exemplary embodiment. However, it should be understood that any particular program terms herein are used for convenience only, and thus the exemplary embodiments should not be limited to use in any particular application identified and / or implied by such terms.

[0073] Based on the foregoing, computer systems, methods, and computer program products have been disclosed. However, many modifications and substitutions can be made without departing from the scope of the exemplary embodiments. Therefore, the exemplary embodiments have been disclosed by way of example and not limitation.

[0074] It should be understood that although this disclosure includes a detailed description of cloud computing, the implementation of the teachings described herein is not limited to a cloud computing environment. On the contrary, the exemplary embodiments can be implemented in conjunction with any other type of computing environment now known or later developed.

[0075] 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 devices, 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 can include at least five characteristics, at least three service models, and at least four deployment models.

[0076] The characteristics are as follows:

[0077] On-demand self-service: Cloud consumers can automatically and unilaterally provision computing capabilities, such as server time and network storage, as needed, without human interaction with the service provider.

[0078] Broad network access: The functionality is available over the network and accessed through standard mechanisms that facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0079] Resource pooling: Using a multi-tenant model, the provider's computing resources are pooled to serve multiple consumers, and different physical and virtual resources are dynamically allocated and reallocated according to demand. There is a sense of location independence because consumers generally cannot control or know the exact location of the provided resources, but can specify the location at a higher level of abstraction (e.g., country, state, or data center).

[0080] Rapid elasticity: Functions can be configured quickly and flexibly, and in some cases automatically, to scale out quickly and release quickly to scale in quickly. For consumers, the functions available for configuration seem limitless, and any quantity can be purchased at any time.

[0081] Measured service: The cloud system automatically controls and optimizes resource usage by leveraging metering capabilities at a certain level of abstraction suitable for the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the provider and consumers of the used services.

[0082] The service models are as follows:

[0083] Software as a Service (SaaS): The function provided to consumers is to use the provider's applications running on the cloud infrastructure. These applications can be accessed from various client devices through a thin client interface such as a web browser (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, except for limited user-specific application configuration settings.

[0084] Platform as a Service (PaaS): The function provided to consumers is to deploy the applications created or purchased by consumers onto the cloud infrastructure, and these applications are created using the programming languages and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but can control the deployed applications and possibly the application hosting environment configuration.

[0085] Infrastructure as a Service (IaaS): The function provided to consumers is to provide processing, storage, network, and other basic computing resources in which consumers can deploy and run any software, including operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but have control over the operating systems, storage, deployed applications, and possibly limited control over selected network components such as the host firewall.

[0086] The deployment models are as follows:

[0087] Private Cloud: The cloud infrastructure is operated solely for one organization. It may be managed by the organization or a third party and may exist either on-premises or off-premises.

[0088] Community Cloud: The cloud infrastructure is shared by several organizations and supports a specific community with common concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist either on-premises or off-premises.

[0089] Public Cloud: The cloud infrastructure is available to the general public or large industry groups and is owned by an organization selling cloud services.

[0090] Hybrid Cloud: The cloud infrastructure is composed of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology to enable portability of data and applications (e.g., cloud bursting for load balancing between clouds).

[0091] The cloud computing environment is service-oriented, with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0092] Now referring to Figure 4 , an illustrative cloud computing environment 50 is depicted. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 40, and local computing devices used by cloud consumers, such as a personal digital assistant (PDA) or cellular phone 54A, desktop computer 54B, laptop computer 54C, and / or in-vehicle computer system 54N, can communicate with the cloud computing nodes 40. The nodes 40 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as the private, community, public, or hybrid clouds described above, or combinations thereof. This allows 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 a local computing device. It should be understood that Figure 4 the types of computing devices 54A-N shown in

[0093] Now referring to Figure 5 , a set of functional abstraction layers provided by the cloud computing environment 50 ( Figure 4 ) is shown. It should be understood in advance that Figure 5 the components, layers, and functions shown are only illustrative, and the exemplary embodiments are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0094] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; servers 62 based on RISC (Reduced Instruction Set Computer) architecture; servers 63; blade servers 64; storage devices 65; and network and networking components 66. In some embodiments, the software components include network application server software 67 and database software 68.

[0095] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71; virtual memories 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.

[0096] In one example, the management layer 80 can provide the following functions. Resource provisioning 81 provides dynamic procurement of computing resources and other resources for performing tasks in a cloud computing environment. Metering and pricing 82 provides cost tracking when resources are utilized in a cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources can include application software licenses. Security authenticates cloud consumers and tasks and provides protection for data and other resources. The 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 to meet the required service levels. Service level agreement (SLA) planning and fulfillment 85 provides pre-arrangement and procurement of cloud computing resources and anticipates future demands for cloud computing resources based on SLA expectations.

[0097] The workload layer 90 provides examples of functions that a cloud computing environment can utilize. Examples of workloads and functions that can be provided from this layer include: graphics and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analysis processing 94; transaction processing 95; and seamless communication processing 96.

[0098] The present invention can be a system, method, and / or computer program product at any possible integrated technical detail level. The computer program product can include one or more computer-readable storage media having computer-readable program instructions thereon for causing a processor to execute aspects of the present invention.

[0099] A computer-readable storage medium can be a tangible device that is capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium can be, by way of example and not limitation, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing devices. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or raised structures in a groove record thereon instructions, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be construed to be a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0100] The computer-readable program instructions described herein can be downloaded to a corresponding computing / processing device from a computer-readable storage medium or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the corresponding computing / processing device.

[0101] The computer-readable program instructions for carrying out operations of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including 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 entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network connection, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, an electronic circuit, including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute the computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuit, thereby performing aspects of the present invention.

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

[0103] These computer-readable program instructions can be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing apparatus create means for implementing the functions / acts specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium storing the instructions comprises a manufacture including instructions which implement aspects of the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0104] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0105] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may not occur in the order noted in the figures. For example, two consecutive blocks shown may actually be completed as one step, executed simultaneously, substantially simultaneously, in a partially or fully time-overlapped manner, or these blocks may sometimes be executed in the reverse order, depending on the functions 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, can be implemented by a system based on dedicated hardware that performs the specified functions or actions, or a combination of dedicated hardware and computer instructions.

Claims

1. A computer-implemented method for predictively compensating for expected audio communication problems, the method comprising: Determining a first condition of a first device associated with a user; Determining a second condition of a second device associated with the user; Based on the first condition, determining a first signal strength of the first device to a first network and a second signal strength of the first device to a second network, wherein the first device is currently connected to the first network to perform communication therein, and the first device is configured to be able to perform communication using the second network; Based on the second condition, determining a third signal strength of the second device to the first network, wherein the second device is currently connected to the first network to perform communication therein; Based on a comparison between the first signal strength and the second signal strength respectively and the third signal strength, determining whether the first device or the second device has a relatively better signal strength; In response to determining that the first device has a relatively better signal strength, sending an indication to the user to use the first device to perform the communication, and in the case where each of the first signal strength and the second signal strength individually does not meet a minimum threshold, generating a total signal having a total signal strength by stacking the first network on the second network, and performing communication using the total signal, wherein the total signal strength has a relatively greater signal strength than the first signal strength and the second signal strength; and In response to determining that the second device has a relatively better signal strength, sending an indication to the user to use the second device to perform the communication.

2. The computer-implemented method according to claim 1, wherein, the indication is sent during the communication, and the method further comprises: Actively connecting the second device to the communication.

3. The computer-implemented method according to claim 1, further comprising: Determining an additional condition associated with the user, the additional condition being related to an environmental noise condition that prevents the user from understanding incoming voice communication in the communication; Converting the incoming voice communication from voice to text; and Presenting the converted incoming voice communication to the user.

4. The computer-implemented method according to claim 1, wherein, the second signal strength is greater than the first signal strength, and the method further comprises: Associating the first device with the second network such that the first device is connected to the second network.

5. The computer-implemented method according to claim 1, wherein, the first network is a cellular network and the second network is a WiFi network.

6. A computer program product for predictively compensating for expected audio communication problems, the computer program product comprising: One or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media that are capable of executing a method, the method comprising: Determining a first condition of a first device associated with a user; Determining a second condition of a second device associated with the user; Based on the first condition, determine a first signal strength of the first device to a first network and a second signal strength of the first device to a second network, where the first device is currently connected to the first network to perform communication therein, and the first device is configured to be able to perform communication using the second network; Based on the second condition, determine a third signal strength of the second device to the first network, where the second device is currently connected to the first network to perform communication therein; Based on a comparison between the first signal strength and the second signal strength respectively and the third signal strength, determine whether the first device or the second device has a relatively better signal strength; In response to determining that the first device has a relatively better signal strength, send an indication to the user to perform the communication using the first device, and in the case where each of the first signal strength and the second signal strength individually does not meet a minimum threshold, generate a total signal with a total signal strength by stacking the first network on the second network, and perform communication using the total signal, where the total signal strength has a relatively greater signal strength than the first signal strength and the second signal strength; and In response to determining that the second device has a relatively better signal strength, send an indication to the user to perform the communication using the second device.

7. The computer program product according to claim 6, wherein, the indication is sent during the communication, and the method further includes: actively connecting the second device to the communication.

8. The computer program product according to claim 6, wherein, the method further includes: determining an additional condition associated with the user, the additional condition being related to an environmental noise condition that prevents the user from understanding an incoming voice communication in the communication; converting the incoming voice communication from voice to text; and presenting the converted incoming voice communication to the user.

9. The computer program product according to claim 6, wherein, the second signal strength is greater than the first signal strength, and the method further includes: associating the first device with the second network such that the first device is connected to the second network.

10. The computer program product according to claim 6, wherein, the first network is a cellular network and the second network is a WiFi network.

11. A computer system for predictively compensating for expected audio communication problems, the computer system comprising: one or more computer processors, one or more computer-readable storage media, and program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors capable of performing the method, the method comprising: determining a first condition of a first device associated with a user; determining a second condition of a second device associated with the user; Based on the first condition, determine a first signal strength of the first device to a first network and a second signal strength of the first device to a second network, where the first device is currently connected to the first network to perform communication therein, and the first device is configured to be able to perform communication using the second network; Based on the second condition, determine a third signal strength of the second device to the first network, where the second device is currently connected to the first network to perform communication therein; Based on the comparison between the first signal strength and the second signal strength respectively and the third signal strength, determine whether the first device or the second device has a relatively better signal strength; In response to determining that the first device has a relatively better signal strength, send an indication to the user to perform the communication using the first device, and in the case where each of the first signal strength and the second signal strength individually does not meet a minimum threshold, generate a total signal with a total signal strength by stacking the first network on the second network, and perform communication using the total signal, where the total signal strength has a relatively greater signal strength than the first signal strength and the second signal strength; and In response to determining that the second device has a relatively better signal strength, send an indication to the user to perform the communication using the second device.

12. The computer system according to claim 11, wherein, the indication is sent during the communication, and the method further includes: actively connect the second device to the communication.

13. The computer system according to claim 11, wherein, the method further includes: determine an additional condition associated with the user, the additional condition being related to an environmental noise condition that prevents the user from understanding incoming voice communication in the communication; convert the incoming voice communication from voice to text; and present the converted incoming voice communication to the user.

14. The computer system according to claim 11, wherein, the second signal strength is greater than the first signal strength, and the method further includes: associate the first device with the second network such that the first device is connected to the second network.

Citation Information

Patent Citations

  • Calling method and terminal

    CN106131285A

  • Method and device for automatically transferring call

    CN106453890A

  • Method for switching network cards and electronic device

    CN110072263A

  • Signal transmission method and related device

    WO2019148314A1