Prediction communication compensation
The method addresses the challenge of predicting and compensating for audio communication issues by layering networks to enhance signal strength, ensuring seamless communication and improving user experience.
Patent Information
- Application Number
- JP2023516645
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-15
- Filing Date
- 2021-08-31
- Publication Date
- 2025-06-18
- Estimated Expiration
- 2041-08-31
AI Technical Summary
Existing communication technologies do not effectively predict and compensate for audio communication issues caused by varying network signal strengths, noise, and ambient conditions, leading to poor user experience and frequent disruptions.
A method that determines the state of a user's device, assesses signal strengths for multiple networks, and generates an overall signal by layering networks when individual signal strengths fall below a minimum threshold, ensuring seamless communication.
This solution provides a predictive and proactive mechanism to maintain seamless audio communication by enhancing signal strength and adapting to changing environmental conditions, thereby minimizing user intervention and ensuring high-quality communication.
Smart Images

Figure 0007695020000001 
Figure 0007695020000002 
Figure 0007695020000003
Abstract
Description
Technical Field
[0001] Exemplary embodiments generally relate to communications, and more particularly, to predicting when audio communications experience problems and determining a manner for compensating for the problems.
Background Art
[0002] A user may perform voice communication with another user using one or more portable devices. Depending on various factors, when the current communication link for voice communication is in progress, a plurality of different types of problems may occur. The problems may be related to the availability of network signals from different networks, whether the location is particularly congested or noisy, the surrounding contextual situation, etc. For example, when the user is moving and talking on the phone, the user may not be able to hear the received voice content due to external noise, or the user's current device may not be receiving an appropriate signal strength, etc. Under conventional approaches, the user simply has to end the communication and then retry at a later date when the problem has naturally resolved, or the user may continue the communication while being tense to continue the conversation.
Summary of the Invention
Means for Solving the Problems
[0003] The exemplary embodiment discloses a method, a computer program product, and a computer system for predictively compensating for expected audio communication issues. The method includes determining a state of a first device associated with a user. The method includes determining, based on the state, a first signal strength for a first network to which the first device is currently connected and through which communication is being performed, and a second signal strength for a second network that the first device is configured to utilize when performing the communication. As a result of each of the first signal strength and the second signal strength individually not meeting a minimum threshold value, the method includes generating an overall signal having an overall signal strength by layering the first network over the second network. The overall 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 overall signal.
[0004] The following detailed description of the invention is given by way of example only and is not intended to limit the exemplary embodiments thereto, and will be best understood in conjunction with the accompanying drawings.
Brief Description of the Drawings
[0005]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
[0006] The drawings are not necessarily to scale. The drawings are merely schematic representations and are not intended to depict specific parameters of exemplary embodiments. The drawings are intended to depict only typical exemplary embodiments. In the drawings, like numbering represents like elements.
[0007] Detailed embodiments of the structures and methods recited in the claims are disclosed herein. However, it can be understood that the disclosed embodiments are merely examples of the structures and methods recited in the claims that can be embodied in various forms. However, the present invention may be embodied in various forms and should not be construed as being limited to the exemplary embodiments described herein. In the detailed description of the invention, well-known features and techniques may be omitted in order to avoid unnecessarily obscuring the presented embodiments.
[0008] References herein to "one embodiment," "an embodiment," "exemplary embodiment," etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may or may not include that particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is presented that it is within the knowledge of those skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0009] To avoid obscuring the presentation of the exemplary embodiments, in the following detailed description of the invention, some processing steps or operations known in the art may be combined together for presentation and explanation purposes, and in some cases, may not be described in the detailed description of the invention. In other examples, some processing steps or operations known in the art may not be described at all. It should be understood that the following description focuses on the specific features or elements according to various exemplary embodiments.
[0010] The exemplary embodiment is directed to a method, computer program product, and system for predictively compensating for expected audio communication problems through a set of rules that define compensation means based on an expected state or an existing state. The exemplary embodiment can provide an intelligent mechanism where seamless communication can be achieved through dynamic mode changes, layering of available mechanisms, etc. to improve the communication link and prevent interruptions in the communication in a seamless manner. Due to the various reasons why communication may lack the seamless quality that a user may expect, the exemplary embodiment can utilize a dynamic and modular layering of input methods for the communication to proceed. The main advantage of the exemplary embodiment may include providing a seamless mechanism for a user to perform voice communication in order to receive incoming voice messages in a predictive manner to minimize the actions required from the user. The detailed implementation of the exemplary embodiment is as follows.
[0011] Conventional approaches have provided a wide variety of solutions to enable communication and to compensate for problems that can occur during communication. For example, conventional approaches manage heterogeneous wireless devices across three or more different types of networks. In another example, conventional approaches use a wireless cellular network to automatically switch an ongoing communication to a wireless voice over IP (VoIP) network or vice versa. In a further example, conventional approaches use a migration probability database to predict the movement of mobile devices between geographical locations of wireless networks. In yet another example, conventional approaches 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 an additional example, conventional approaches perform a vertical handover of a wireless voice connection. However, these conventional approaches do not enhance communication to enjoy seamless communication based on implicit and explicit feedback along context attributes by dynamically layering VoIP and cellular, and these conventional approaches do not describe real-time conversations from speech to text based on signal strength and ambient conditions.
[0012] As would be understood by those skilled in the art, the availability of the network can be unstable, or there can be poor bandwidth through excessive congestion and momentary overload of signals for switching. Moreover, there can be severe weather and software malfunctions, which can result in dropped calls and a poor user experience. In view of these problems and the drawbacks of conventional approaches, the exemplary embodiments provide a mechanism for dynamically projecting or predicting or projecting and predicting the movement patterns for a user or group of people or combinations thereof. Using data derived from and based on static or dynamic or static and dynamic user clustering and density from a positioning method, the exemplary embodiments can compile statistical and machine learning inputs used to compensate for existing or predicted problems. Based on pattern analysis and other available analytical approaches, the exemplary embodiments may proactively determine when compensation means are affected (e.g., between a cellular communication system and a VoIP communication system), and also provide forecasting input for proactive bandwidth expansion, enabling the provider to gain insight into infrastructure needs and planned purchasing power, thereby reducing costs for the vendor service provider and providing a high level of call quality for the user. Moreover, the exemplary embodiments may utilize compensation means including both cellular and VoIP layering when both signal qualities are relatively weak in themselves, while reserving the option to utilize compensation means based on user preferences across multiple devices associated with the user. Still further, the exemplary embodiments may provide compensation means including real-time voice transcription to text, particularly due to ambient conditions that do not allow the user to properly decode incoming voice communications.
[0013] The exemplary embodiments are described with particular reference to voice communications and compensation for problems that may occur during such voice communications. However, the exemplary embodiments may be utilized or modified or utilized and modified for use in any type of communication, more generally data exchange. Accordingly, the mechanisms provided by the exemplary embodiments may be utilized or modified or utilized and modified for use in proactively compensating for problems that occur or are predicted to occur during communication or data exchange.
[0014] FIG. 1 shows a voice compensation system 100 according to an exemplary embodiment. According to the exemplary embodiment, the voice compensation system 100 may include a primary smart device 110, one or more profile repositories 120, a profiling server 130, and one or more secondary smart devices 140, all of which may be interconnected via a network 108. The programming and data of the exemplary embodiment may be remotely stored and accessed across multiple servers via the network 108, or alternatively or additionally, the programming and data of the exemplary embodiment may be stored locally on one physical computing device or between other computing devices other than those shown.
[0015] The exemplary embodiment is described with respect to a user who may have a plurality of smart devices that may be associated with the user (e.g., accessible and usable by the user). The plurality of smart devices may include a primary smart device 110 and one or more secondary smart devices 140. The primary and secondary designations represent the perspective from which the exemplary embodiment may be implemented and do not define a priority. For example, the primary smart device 110 may be the currently used device, while the secondary smart device 140 may be a device that is currently available to the user (e.g., within the user's usable proximity). Thus, the designation of "primary" may refer to the device in use, and the designation of "secondary" may refer to a device that is usable but not currently in use.
[0016] In an exemplary embodiment, network 108 can be a communication channel capable of transferring data between a plurality of connected devices. Thus, the components of the voice compensation system 100 can represent network components or network devices interconnected via network 108. In an exemplary embodiment, network 108 can be the Internet, representing a worldwide collection of networks and gateways that support communication between a plurality of devices connected to the Internet. Moreover, network 108 can utilize various types of connections, such as wired, wireless, fiber optic, etc., which can be implemented as an intranet network, a local area network (LAN), a wide area network (WAN), or a combination thereof. In a further embodiment, network 108 can be a Bluetooth network, a WiFi network, or a combination thereof. In yet a further embodiment, network 108 can be a telecommunications network used to facilitate telephone calls between two or more parties consisting of a fixed telephone network, a wireless network, a closed network, a satellite network, or a combination thereof. Generally, network 108 can represent any combination of connections and protocols that will support communication between the connected devices. For example, network 108 can also represent a direct or indirect wired or wireless connection between components of the voice compensation system 100 that do not utilize network 108. As will be described in detail below, a connection may be established between the primary smart device 110 and one of the secondary smart devices 140, which may or may not utilize network 108, when exchanging information that can be used to determine the compensation means. A further connection may be established between the primary smart device 110 and a further smart device (not shown) of a further user for voice communication via network 108.
[0017] In an exemplary embodiment, the primary smart device 110 may include a voice communication client 112, a status 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 touch-tone phone, a smartphone, a mobile phone, a virtual device, a sync client, an Internet of Things (IoT) device, or any other electronic device or computing system capable of receiving and transmitting data between other devices. Although the primary smart device 110 is shown as a single device, in other embodiments, the primary smart device 110 may be a cluster or multiple computing devices that operate together or independently and may be configured in a modular manner or the like. The primary smart device 110 is described in more detail with reference to FIG. 3 as a hardware implementation, with reference to FIG. 4 as part of a cloud implementation, or with reference to FIG. 5 as utilizing a functional abstraction layer for processing, or a combination thereof.
[0018] One or more secondary smart devices 140 may be substantially similar to the primary smart device 110. Thus, one or more secondary smart devices 140 may include a voice communication client 142, a status client 144, and a compensation client 146 that are substantially similar to the corresponding clients of the primary smart device 110. For efficiency, the description of the primary smart device 110 and its components may be applicable to one or more secondary smart devices 140 and their components. Thus, the following description for the voice communication client 112 may also be applicable to the voice communication client 142 and the like. As described above, the primary smart device 110 provides a perspective on the device currently being used by the user, while one or more secondary smart devices 140 may be available devices that the user can access. However, it should be noted that having one or more secondary smart devices 140 is merely exemplary, and the voice compensation system 100 may also include only the primary smart device 110 without any of the one or more secondary smart devices 140.
[0019] In an exemplary embodiment, the voice communication client 112 may function as a client in a client-server relationship and may be software, hardware, or firmware-based application or a combination thereof that enables a user of the primary smart device 110 to communicate with a further user via a network 108 through a further device. In an embodiment, the status client 114 receives input for a selected further user and establishes a communication link (e.g., as a result of the further user accepting a communication request) to exchange voice communication between the user and the further user and performs subsequent operations to release the communication link when the communication is terminated, and uses various wired connection protocols or wireless connection protocols or combinations thereof for data transmission and exchange associated with data used to perform communication, such as the above-mentioned communication including Bluetooth, 2.4 gHz and 5 gHz Internet, near field communication, Z-Wave, Zigbee, etc.
[0020] The voice communication client 112 may be configured to provide a user interface for performing communication. For example, the user interface may store an address book or may provide an input function for selecting one or more further users when establishing the communication. In another example, the user interface may provide options for the user to select parameters (e.g., volume control) for performing the communication. The voice communication client 112 may perform various different types of communication involving voice communication. For example, the voice communication client 112 may perform telephone communication using audio functions. In another example, the voice communication client 112 may perform video communication using video and audio functions.
[0021] The voice communication client 112 may also be configured to incorporate the features of the exemplary embodiment. In an exemplary implementation, the voice communication client 112 may be configured to receive input from a further client or program to present options or alerts of compensation means that may be utilized or applied. According to this exemplary implementation, the voice communication client 112 may present functions to the user via a user interface (e.g., an overlay). In another exemplary embodiment, the voice communication client 112 may be configured to be pre-programmed with the features of the exemplary embodiment. Thus, in response to receiving an instruction from a further client or program, the voice communication client 112 may present options or alerts via the user interface of the voice communication client 112.
[0022] In an exemplary embodiment, the status client 114 may function as a client in a client-server relationship, and may be software, hardware, or firmware-based applications or combinations thereof that can determine the status experienced by the primary smart device 110, such as signal strength, available signals, ambient noise, voice input interpretation, etc., and the above-mentioned status, and may also utilize various wired connection protocols, wireless connection protocols, or combinations thereof for data transmission and exchange associated with data used for compensation that occurs or is predicted to occur during communication, such as during the above-mentioned communication including Bluetooth, 2.4 gHz and 5 gHz Internet, near-field communication, Z-Wave, Zigbee, etc.
[0023] The state client 114 may utilize a plurality of sensors, or may receive data from available components that have determined information related to the state being experienced by the primary smart device 110, or may do both utilize and receive. For example, the primary smart device 110 may include a network card or chip along with an antenna configured to transmit or receive or both transmit and receive signals. The primary smart device 110 may also include functionality related to measuring the signal strength of available signals. The state client 114 may receive information related to signal strength that can be interpreted to determine the relative quality when using the corresponding signal. In another example, the primary smart device 110 may include a microphone or other audio input device configured to receive audio and convert the audio to corresponding audio data. The state client 114 may receive the audio data and interpret the ambient noise state (e.g., background noise), user experience (e.g., interpretation of speech from the user), etc. In a further example, the state client 114 may utilize the network card or chip to determine a secondary smart device 140 that is available for use by the user (e.g., within the proximity of the user). The state client 114 may request information from the secondary smart device 140 to determine the state being experienced by the secondary smart device 140 (e.g., a state substantially similar to that determined for the primary smart device 110). In yet another example, the state client 114 may receive information indicating probable conditions that are predicted to be experienced by the user at the corresponding time.As will be described in more detail below, the state client 114 may have access to various types of information (e.g., calendar programs, profiling server 130, etc.) that may indicate direct or indirect or direct and indirect information that can be used in inferring likely states (e.g., if a user is scheduled to attend a concert during a given time period on a given day, that indicates a state where the user is likely to experience high ambient noise).
[0024] In an exemplary embodiment, the compensation client 116 may function as a client in a client - server relationship and may be software, hardware, or firmware - based application or a combination thereof that can determine compensation means for utilization under a given set of currently experienced states or a given set of states predicted to occur or a combination of those sets of states via network 108. In an embodiment, the compensation client 116 may utilize a set of rules determined by the profiling server 130 to define when and how to utilize the compensation means and may utilize various wired connection protocols or wireless connection protocols or a combination thereof for data transmission and exchange associated with data used to compensate for problems that occur or are predicted to occur during communication, e.g., during communication including Bluetooth, 2.4gHz and 5gHz Internet, near - field communication, Z - Wave, Zigbee, etc.
[0025] The compensation client 116 may be configured to apply compensation means based on a state experienced or predicted by the primary smart device 110 or by a user utilizing the primary smart device 110. As will be described in more detail below, the compensation client 116 may 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 may utilize various different compensation means including at least one of a determination between the primary smart device 110 and the secondary smart device 140, utilization of a function for converting speech to text, switching to an available network from a first network to a second network, layering of multiple networks for improved signal strength, etc.
[0026] As described above, the voice compensation system 100 may include the primary smart device 110 and one or more secondary smart devices 140 that are currently being used by the user and are associated with the user. As will be described later, this exemplary embodiment may utilize compensation means in which one of the secondary smart devices 140 will be used instead. When the user utilizes one of the secondary smart devices 140 instead, any device in use may be designated as the primary smart device 110. Accordingly, a secondary smart device 140 in use may be designated as the primary smart device 110, and a primary smart device 110 that has become unused may be designated as a secondary smart device 140.
[0027] In an exemplary embodiment, the profile repository 120 may comprise one or more profiles 122, and may also be any other electronic device or computing system capable of storing, receiving, and transmitting data with an enterprise server, laptop computer, notebook, tablet computer, netbook computer, PC, desktop computer, server, PDA, rotary phone, touch-tone phone, smartphone, mobile phone, virtual device, sync client, IoT device, or other computing device. Although the profile repository 120 is shown as a single device, in other embodiments, the profile repository 120 may be a cluster or multiple electronic devices that operate together or independently and are configured in a modular manner or the like. Although the profile repository 120 is also shown as a separate component, in other embodiments, the profile repository 120 may be incorporated with one or more of the other components of the voice compensation system 100. For example, the profile repository 120 may be incorporated within the profiling server 130. Thus, access to the profile repository 120 by the profiling server 130 may be executed locally. In another example, the profiles 122 represented in the profile repository 120 may be incorporated within the primary smart device 110 or the secondary smart device 140 or a combination thereof (e.g., each of the primary smart device 110 and the secondary smart device 140 has a profile repository 120 that includes a user profile 122 associated with these devices). Thus, access to the profile repository 120 and access to the profile 122 associated with the user may be executed through transmission from the primary smart device 110 or the secondary smart device 140 or a combination thereof.The profile repository 120 will be described in more detail as a hardware implementation with reference to FIG. 3, as part of a cloud implementation with reference to FIG. 4, or as utilizing a functional abstraction layer for processing with reference to FIG. 5, or a combination thereof.
[0028] In an exemplary embodiment, each of the profiles 122 may be associated with a user associated with the primary smart device 110 and the secondary smart device 140. The profile 122 may be input with various types of information that may be used for subsequent operations used to compensate for problems that occur or may occur during communication. For example, the profile 122 may include technical information about the primary smart device 110 and the secondary smart device 140. The technical information may include information associated with components (e.g., a microphone) and settings associated with the components (e.g., sensitivity for receiving audio input). In another example, the profile 122 may incorporate location information indicating where the user may be located at a given time. The location information may be based on direct input, such as a calendar application, or based on historical data or inferential information from expected criteria, or a combination thereof.
[0029] In an exemplary embodiment, the profiling server 130 may comprise an identification program 132 and a rule program 134, and may function as a server in a client-server relationship with clients 112, 114, 116, 142, 144, 146, and may be in a communicable relationship with the profile repository 120. The profiling server 130 may be an enterprise server, a laptop computer, a notebook, a tablet computer, a netbook computer, a PC, a desktop computer, a server, a PDA, a rotary phone, a touch-tone phone, a smartphone, a mobile phone, a virtual device, a sync client, an IoT device, or any other electronic device or computing system capable of receiving and transmitting data between other devices. The profiling server 130 is shown as a single device, but in other embodiments, the profiling server 130 may be composed of a cluster or multiple computing devices that operate together or independently. The profiling server 130 is also shown as a separate component, but in other embodiments, the operations and features of the profiling server 130 may be incorporated with one or more of the other components of the voice compensation system 100. For example, the operations and functions of the profiling server 130 may be incorporated into the primary smart device 110 or the secondary smart device 140 or a combination thereof. The profiling server 130 will be described in more detail as a hardware implementation with reference to FIG. 3, as part of a cloud implementation with reference to FIG. 4, or as utilizing a functional abstraction layer for processing with reference to FIG. 5, or a combination thereof.
[0030] First, the exchange of data between the components of the voice compensation system 100 may be performed in various manners based on the configuration of the components. The above description of the selected components indicates that a client-server relationship may be established that may mean that the components can interact with separate components. Therefore, according to an exemplary implementation, the primary smart device 110 and the secondary smart device 140 together with the profiling server 130 may be separate components that utilize the network 108 to exchange data. When implementing the features of the exemplary embodiment, the primary smart device 110 may exchange data with the profiling server 130, and determine and apply compensation means. The exemplary embodiment may further utilize different configurations with respect to the client incorporated in the primary smart device 110 and the program incorporated in the profiling server 130. For example, the primary smart device 110 may include a voice communication client 112 and a status client 114. However, the compensation client 116 may be included in the profiling server 130 such that the corresponding client on the primary smart device 110 can receive instructions from the profiling server 130 for applying compensation means via the network 108. According to another exemplary implementation, as described above, the operations of the profiling server 130 and the profile repository 120 may be incorporated in the primary smart device 110. Thus, the features of the exemplary embodiment may be incorporated within a single component (e.g., the primary smart device 110) of the voice compensation system 100. The primary smart device 110 that performs all operations may require additional resources and processing requirements, but the problems that may arise may be related to signal strength where the connection in an embodiment with another profiling server 130 is not available. Therefore, some incorporated mechanism within the primary smart device 110 may be able to handle such scenarios. For purposes of illustration, the exemplary embodiment is described in the configuration illustrated within the voice compensation system 100 of FIG. 1.Accordingly, the profiling server 130 may determine rules that define when and how to apply the compensation means. While the primary smart device 110 has a connection with the profiling server 130 via the network 108, the primary smart device 110 may receive the rules. Subsequent operations involved in determining when and how to apply the compensation means may be performed by the primary smart device 110.
[0031] In an exemplary embodiment, the identification program 132 may be software, hardware, firmware application, or a combination thereof configured to identify a user associated with the primary smart device 110 and one or more secondary smart devices 140. Accordingly, the information known about the user, the primary smart device 110, and the secondary smart device 140 may be associated in a corresponding profile 122 for the user.
[0032] The identification program 132 may further be configured to identify possible events. As described above, the exemplary embodiment may be configured to proactively utilize the compensation means based on possible events and corresponding states associated with each event. For example, the identification program 132 may receive schedule information of the user that may indicate where the user will be at a certain time. In another example, the identification program 132 may receive location information and associate the user's location with possible events that may occur at that location or the general atmosphere of that location. The identification program 132 may also use location clustering or population density to determine the general atmosphere of the location. When identifying these future events, the identification program 132 may update the profile 122 associated with the user with this information.
[0033] In an exemplary embodiment, the rule program 134 may be software, hardware, firmware application, or a combination thereof configured to generate rules to be used when utilizing compensation means. The rules may define a correlation between the compensation means and the existing state or a state predicted to exist or a combination thereof. The rules may further set how the compensation means, including proactive actions in preparation for effectuating the compensation means, should be executed. To provide an improved signal for performing the communication, the compensation means that the rule program 134 may formulate may include switching from the primary smart device 110 to one of a plurality of secondary smart devices 140, converting voice communication to text that can be read by the user of the primary smart device 110, associating from a first network to a second network where the second network provides a sufficient signal for performing the communication, or layering of a plurality of networks.
[0034] The rule program 134 may execute proactive actions in a corresponding manner for each compensation means. For example, in the case of switching to one of a plurality of secondary smart devices 140, the rule program 134 may define a rule in which contacts are pre-dialed on the secondary smart device 140 to seamlessly transition when the secondary smart device 140 becomes the primary smart device 110 (e.g., when the user switches usage on the device). In another example, in the case of converting voice communication to text, the rule program 134 may define a rule in which the user interface for the voice communication client 112 introduces a view that displays text in real time when the voice communication is received. In a further example, in the case of association with a second network or layering of a plurality of networks, the rule program 134 may execute background operations involved in establishing new or multiple connections.
[0035] The rule program 134 may further define rules based on the correlation between the compensation means and the state being experienced or likely to be experienced. For example, in the case of switching to one of the plurality of secondary smart devices 140, the rule program 134 may generate a rule that defines the state when the secondary smart device 140 is available and the signal strength to the network for executing the communication is better than the signal to the network of the primary smart device 140. In another example, in the case of converting voice communication to text, the rule program 134 may generate a rule that defines the state when the ambient noise cannot appropriately decode the voice communication spoken by the additional user in the communication. In a further example, in the case of association with a second network, the rule program 134 may generate a rule that defines the state when the additional network is available to the primary smart device 110 having sufficient signal strength that can be used to execute a communication that may be a cellular network, a WiFi network, a hotspot, etc. In yet another example, for layering of a plurality of networks, the rule program 134 may generate a rule that defines the state when a plurality of networks are detected but the networks have insufficient signal strength at individual levels. The rule may indicate which network should be layered so that the layered network has sufficient signal strength to execute the communication. The layering may be performed in a manner substantially similar to layering a carrier wave on a base signal.
[0036] The rule program 134 can also incorporate the information from the identification program 132 into rules and corresponding compensation means. For example, the rule program 134 may define a rule when a future event that the user is scheduled to attend has ambient noise that is likely to prevent the user from properly decoding incoming voice communications from a further user. The rule may indicate that compensation means for the conversion from voice to text are to be prepared. In another example, the rule program 134 may define a rule when the user can continuously change position from a starting point to a destination along a planned route or a likely route. The rule may indicate that compensation means for association with a further network should be prepared, where the rule may set the possibility of a further network where sufficient signal strength can be provided to execute the communication based on the position. The rule program 134 may have access to various databases or cloud-sourced information indicating various networks available at a selected position and the corresponding signal strengths experienced by a device having substantially the same technical characteristics as the primary smart device 110.
[0037] The profiling server 130 may update the profile 122 using this information at various times. For example, when new prediction information becomes available (e.g., an update to the calendar application), the rule program 134 may prepare corresponding rules based on the new prediction information and any corresponding changes for previously determined rules. In another example, the profiling server 130 may update the profile 122 continuously or at predetermined time intervals while the primary smart device 110 or the secondary smart device 140 or a combination thereof can exchange data with the profiling server 130.
[0038] The profiling server 130 may also be configured to provide the latest form of the profile 122 associated with the user to the primary smart device 110 or the secondary smart device 140 or a combination thereof. In this manner, the compensation client 116 may have appropriate rules based on when and how to utilize the compensation means. Armed with the profile 122, the compensation client 116 may utilize the experienced or likely-to-be-experienced state (e.g., in accordance with the state client 114) and the appropriate compensation means for that state.
[0039] Note that the compensation client 116 may be executed as a background operation where the features of the exemplary embodiment are provided to the user without the need for manual input. Thus, the rules provided to the compensation client 116 may act as indicated by the state, and some change that requires 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 voice communication is being converted to text and prepare the user to change the position where 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 to a new network will be created to execute or continue communication. Such a feature may, in particular, require the user to accept the use of the new network if the new network has an associated cost (e.g., monetary). In a further example, the compensation client 116 may omit the warning to the user if the association to the new network is known to have been used by the user at a past point in time or if it is a network previously associated by the primary smart device 110. However, the use of the automated background approach for the features of the exemplary embodiment is merely exemplary. In another exemplary implementation, the compensation client 116 may be utilized in a semi-automated approach where the selected operation requires manual input. For example, the compensation client 116 may generate recommendations regarding the compensation means to be used based on the state. Thus, the user may accept the compensation means, and the compensation client 116 may proceed with the subsequent corresponding operation, or the user may reject the compensation means and continue communication under the current parameters. In this manner, a manual override option may be presented to the user when utilizing or avoiding the compensation means.
[0040] As described above, the exemplary embodiments may utilize various compensation means to address problems that occur or may occur for communication. The compensation means may comprise connectivity approaches, device approaches, or interface approaches. The voice compensation system 100 may provide a way to layer both cellular and VoIP when the signal strength to each network is weak (e.g., below an acceptable threshold for performing communication using an individual network) in order to improve voice quality. The voice compensation system 100 may also provide a switch between devices associated with the user such that it occurs after examining the respective signal strengths received at the individual devices. The switch may also be changed based on user preferences, e.g., an order of preference for using various devices associated with the user (e.g., in the case of communication, a smartphone is preferred over a tablet). When a weak signal persists even after layering, or when the ambient noise condition prevents hearing further speech from other users in the communication, or in a combination thereof, the voice compensation system 100 may write the speech from the other users in text form in a real-time voice "free flowing" text display format as an additional method for communication in a low bandwidth environment.
[0041] In an exemplary implementation, the voice compensation system 100 can predict when compensation means can be applied. For example, the user may purchase tickets for a concert. In another example, the prediction system (e.g., the identification program 132) of the voice compensation system 100 can scan the main venues for an online event schedule and incorporate those events into a prediction pattern model. In a further example, the bandwidth needs may be anticipated based on past data. In yet another example, spontaneous events (e.g., protest activities) may be dynamically addressed based on the aggregation of location data from users participating in the event. Using these inputs, the voice compensation system 100 may predict or prepare or predict and prepare for the compensation means, such as layering techniques, to be effective, and the vendor or IT provider may also prepare for higher levels of data consumption to prevent network saturation. This may also be visualized in a real-time density map where the artificial intelligence or rule program 134 can monitor network congestion.
[0042] According to this exemplary implementation, an audio engine or a signal monitoring engine or a combination thereof (such as embodied within the state client 114) can identify that there are problems or saturation in the network resulting in non-clear voice quality. The compensation client 116 may apply compensation means where the communication is seamlessly changed to another device of the user with relatively good network signal strength (e.g., one of the secondary smart devices 140 that becomes the primary smart device 110).
[0043] According to the exemplary implementation, a noise engine (such as embodied within the state client 114) may identify that ambient or surrounding noise makes it impossible for the user to hear the content of the communication. The compensation client 116 may apply compensation means such that the mode of communication for the user is changed from voice to text, and the user may reply with the same in text form. The state client 114 may further listen for indicators of degradation (IoD) based on user preferences and privacy preferences. The IoD may define language cues from the user to identify when the ambient noise is too high or generally to indicate when the user cannot understand the voice communication from the other user. For example, the IoD may include "I can't hear you", "What did you say?", "Please speak up", etc., which are used to improve communication via the conversion from voice to text. This information may also be used to complement the communication quality of other nearby users through the sharing of its context and improve the communication performance for such other users.
[0044] According to the exemplary implementation, if the telephone network signal (e.g., a first network, e.g., a cellular network) is not strong enough or not sufficiently satisfactory to continue communication, the compensation client 116 may use rules to determine whether the communication mode or the network in use should be changed to a further network available at the current location of the primary smart device 110, such as a paid WiFi, or whether an unsecured fee or free WiFi may be connected, and may perform a cost - benefit analysis for this purpose. In the features of the exemplary embodiment, in the event that the network may belong to a competing entity (e.g., a marketplace having competing communication providers), the exemplary embodiment may allow layering of communication with another carrier to "piggy - back" from the available bandwidth between the networks. For example, if the first network line has a limited bandwidth, the second network may share the available bandwidth to provide better service to the customer base through load distribution between competing networks.
[0045] According to the exemplary implementation, the compensation client 116 may use the rules based on the analysis of historical data from different users such that the rules can predict network outages during voice communication. Thus, based on the current communication priorities, the compensation client 116 may proactively create parallel networks to ensure seamless communication. For example, dialing may be performed in advance, or may proactively participate in a conference call with other devices, etc.
[0046] According to the exemplary implementation, a signal monitoring engine (such as may be embodied within the status client 114) may determine the above approach that only provides a signal strength that does not meet the minimum threshold level of an uninterrupted communication session. Accordingly, the compensation client 116 may perform layering of multiple networks (e.g., cellular and VoIP) as a result of the signal strength received from the available network being below the minimum threshold level.
[0047] The following provides an exemplary process by which features of an exemplary embodiment may be provided. The following is described with respect to the voice compensation system 100 of FIG. 1 and may provide further details for selected components or may expand on the above description. The following may also be an embodiment in which multiple secondary smart devices 140 exist. The following may also be an embodiment in which the operation of the profiling server 130 is in a configuration incorporated into the primary smart device 110. Accordingly, the operations of the identification program 132 and the rule program 134 may be executed by the primary smart device 110.
[0048] The primary smart device 110 and the secondary smart device 140 may share with each other the telephone network signal strength measured through the status clients 114 and 144 of their respective devices. The primary smart device 110 and the secondary smart device 140 may provide the signal strength to the compensation client 116, which determines, for example, which of the devices has a relatively good network strength for performing communication. The primary smart device 110 or the secondary smart device 140 or a combination thereof may also check the availability of additional networks in the vicinity of the primary smart device 110, such as a WiFi network, and collect the cost and social network feedback regarding these additional networks. These processes may occur during the preparation for communication, at the start of communication, while communication is being performed, or a combination thereof.
[0049] During a voice communication session (e.g., a telephone call), the compensation client 116 installed within the primary smart device 110 may analyze the received audio quality of incoming voice communications from additional users of the communication session and verify whether the audio quality meets certain threshold limits. The status client 114 may also track any external noise (e.g., the ambient noise condition) and verify whether the user has difficulty understanding the content spoken (e.g., the utterance from the additional user). The compensation client 116 may utilize historical data (e.g., that analyzed by a historical data analysis program (not shown)) to identify patterns of network strength degradation. Based on this information, the compensation client 116 may initiate the parallel mode of communication in a proactive manner to ensure seamless communication if such compensation means should be used.
[0050] The compensation client 116 may also utilize rules that can be stored within the profile 122 from the determination by the profiling server 130. The profile 122 may be a dynamic profile that is created to assist in analyzing and addressing any communication problems. The profile 122 may consider many factors when proactively analyzing communication needs. In performing this operation, the profiling server 130 may utilize the identification program 132 and the rule program 134. The identification program 132 that cooperates with the compensation client 116 may be configured to perform an analysis of the situation and status. The identification program 132 may track and record communication based on many factors. For example, the factors may include a location where the location profile may consider the nature of the surrounding terrain, the geography of the area, the noise history, jitter, further network availability, etc. In another example, the factors may include activities, such as the type of event, the expected number and type of users, the user demographics, etc. In a further example, the factors may include communication considerations that include the type and number of devices, the type of call (e.g., business, personal, etc.), data consumption (e.g., video, audio, image, etc.), handover ability, call settings, parties to the communication, etc. In yet another example, the factors may include history including previous data and shared information, votes from users regarding experience with location and communication, etc. The rule program 134 may 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 rule program 134 may be trained to dynamically respond to communication needs by comparing various factors, such as individual call quality, overall network situation, and saturation factor, etc. The rule program 134 may generate rules for various types of operations for the compensation means.The compensation means may include switching of a call session, warning the user about the recommended channel for completing the communication without affecting the call, hopping of communication from a first network (e.g., cellular) to a second network (e.g., VoIP), completion of an in-area call through a network type (e.g., WiFi), conversion from speech to text mode, etc. In an exemplary use of the above process, the user may want to co-call additional users located in the same area or building. The communication session may be completed by the identification program 132 identifying two parties, location, WiFi availability, etc., while the rule program 134 may be able to recognize the WiFi availability so that the compensation client 116 follows the rules where it permits switching of communication from the cellular network to WiFi.
[0051] When the communication is in progress, the status client 114 may measure the quality of the incoming voice communication. The compensation client 116 may analyze the appropriate switching mode for the current communication and may also proactively create parallel network connections to ensure seamless communication. Moreover, when 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 may layer the cellular signal over the VoIP signal or vice versa, or combine strong signal strengths that can meet a sufficient threshold for the user to engage in the communication seamlessly.
[0052] FIG. 2 illustrates an exemplary flowchart diagram of a method for predicting compensation for expected audio communication problems in a smart device 110 of an audio compensation system 100, according to an exemplary embodiment. Method 200 may be associated with operations performed by a state client 114, a compensation client 116, an identification program 132, and a rule program 134 while or as communication is being performed via an audio communication client 112. Accordingly, method 200 is described with respect to an exemplary embodiment where the operations of a profiling server 130 are incorporated within a primary smart device 110 used by a user, while a plurality of secondary smart devices 140 are also available for use by the user. Method 200 will be described from the perspective of the primary smart device 110.
[0053] The primary smart device 110 and the secondary smart devices 140 may measure the signal strength of the network (operation 202). For example, the network may be a cellular network over which telephone communication may be performed. However, the use of the cellular network is merely exemplary. In another exemplary embodiment, the network may be a WiFi network, or any other type of network over which audio communication may be performed. The primary smart device 110 and the secondary smart devices 140 may measure the signal strength for other networks that may be available for subsequent consideration.
[0054] The primary smart device 110 can determine whether the user has access to at least one of the plurality of secondary smart devices 140 (determination 204). As described above, the user may be associated with a plurality of devices and may have the primary smart device 110 and at least one of the plurality of secondary smart devices 140 in the vicinity of the user. Accordingly, as a result of the user having the primary smart device 110 and at least one of the plurality of secondary smart devices 140 (determination 204, "yes" branch), the primary smart device 110 can determine which of the plurality of devices associated with the user has a relatively good signal strength (i.e., which device has the highest signal strength for the network) (step 206). The primary smart device 110 can send an instruction to the user regarding which device is to be used for communication (step 208). The method 200 may incorporate further operations, such as receiving an input from the user regarding whether the determined device is to be used or whether the user is to continue using the primary smart device 110 that the user is currently using.
[0055] If only the primary smart device 110 is available (determination 204, "no" branch), or if the user selects the primary smart device 110 out of the primary smart device 110 and the plurality of secondary smart devices, the primary smart device 110 can determine its current and predicted states and the state for the user (step 210). For example, the state may be related to available signals from respective networks, corresponding signal strengths, ambient noise states, location information, event information, etc. The primary smart device 110 may continue to monitor the state of the primary smart device 110 and the state of the user in preparation for when communication is to be performed.
[0056] At a later time, the user may choose to perform communication (decision 212) so that the primary smart device 110 can determine whether such an action is being performed. If communication is not being performed (decision 212, "no" branch), the primary smart device 110 continues to monitor the state. As a result of the communication function (e.g., via the voice communication client 112) being used to perform communication (decision 212, "yes" branch), the primary smart device 110 may perform a plurality of operations based on rules determined when using the compensation means. For example, the rules may be determined by the identification program 132 and the rule program 134 such that compensation measures can be taken in response to determining that a set of states exists in the user or the primary smart device 110 or a combination thereof.
[0057] The primary smart device 110 may determine whether the state includes a surrounding or ambient noise condition that prevents the user from understanding incoming voice communication (decision 214). Thus, this determination may occur during the communication. The ambient noise condition may be independent of connectivity considerations, and the primary smart device 110 may perform this operation at any time during the communication, and may also further utilize the IoD to determine whether the user has difficulty understanding a further user. As a result of the presence of an ambient noise condition (decision 214, "yes" branch), the primary smart device 110 may utilize compensation means by which the voice is converted to text so that the user can read the voice communication from the further user (step 216). If the ambient noise condition also prevents the further user from understanding the user, the primary smart device 110 may also convert the incoming voice communication from the user into text to be transferred to the further user.
[0058] As a result that the surrounding noise state is within the allowable range (branch of determination 214, "No"), the primary smart device 110 can determine whether there is an available additional network that provides sufficient signal strength to perform the communication (determination 218). When performing this operation, the primary smart device 110 may determine that the current signal strength for the first network is not sufficient to perform the communication, and thus the user may not be provided with a satisfactory user experience. Therefore, the primary smart device 110 can identify an additional network that can be used when performing the communication, for example, a WiFi network or an unsecured network. As a result when the signal strength for the first network is poor but the signal strength for the second network is good (branch of determination 218, "Yes"), the primary smart device 110 can utilize a compensation means where the primary smart device 110 is associated with the second network to perform the communication (step 220).
[0059] As a result that the additional network also has a poor signal strength (branch of determination 218, "No"), the primary smart device 110 can utilize a compensation means where the network can be layered to enhance the overall signal strength to perform the communication (step 222). In such a scenario, the signal strength for the first network and the signal strength for the second network may be poor, but the layering can result in an overall signal strength that may meet the minimum threshold for performing the communication. For example, the primary smart device 110 may layer the cellular network over the WiFi network, or vice versa.
[0060] The above-described process using compensation means is merely exemplary. For example, the order of considerations for using the compensation means is only shown for illustration purposes. As already stated, the compensation means for converting speech to text may be independent of signal strength considerations. Thus, the exemplary embodiments may consider each compensation means as an ordered list, such as according to priority, or on an individual basis independent of each other, or on a concurrent basis. According to an exemplary implementation, the primary smart device 110 may utilize layering compensation means and may additionally consider other compensation means simultaneously. For example, the primary smart device 110 may choose to layer a cellular network over a WiFi network and may also utilize compensation means for converting speech to text.
[0061] The exemplary embodiments are configured to provide a mechanism to address problems that may exist for or already exist for communication such that a seamless method of successfully performing the communication is provided to the user. The exemplary embodiments may utilize compensation means that can overcome problems based on expected or experienced states. The compensation means may include layering of the network to generate a signal strength sufficient to perform communication where the signal strength for the network may not individually meet a minimum threshold. The compensation means may further include a conversion mechanism from speech to text, a switch to additional network mechanisms, and a selection of additional devices that may have a relatively good signal strength for one or more networks.
[0062] FIG. 3 illustrates a block diagram of the devices within the voice compensation system 100 of FIG. 1 according to an exemplary embodiment. It should be understood that FIG. 3 provides only an example of one implementation and does not imply any limitation with respect to the environment where different embodiments may be implemented. Many changes may be made to the illustrated environment.
[0063] The devices used in this specification may 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, a read / write drive or interface 14, and a network adapter or interface 16, all of which are interconnected on a communication fabric 18. The communication fabric 18 can be implemented in any architecture designed to pass data or control information or a combination thereof between processors (e.g., microprocessors, communication and network processors), system memory, peripheral devices, and any other hardware components within the system.
[0064] One or more operating systems 10 and one or more application programs 11 are stored on the computer-readable storage media 08 for execution by one or more processors 02 via one or more of their respective RAMs 04 (typically including cache memory). In the illustrated embodiment, each of the computer-readable storage media 08 can be a magnetic disk storage device of an internal hard drive, a CD-ROM, a DVD, a memory stick, a magnetic tape, a magnetic disk, an optical disk, a semiconductor storage device (e.g., RAM, ROM, EPROM, flash memory), or any other computer-readable tangible storage device capable of storing computer programs and digital information.
[0065] The devices used in this specification may also include an R / W drive or interface 14 for reading from and writing to one or more portable computer-readable storage media 26. The application programs 11 on the device may be stored on one or more portable computer-readable storage media 26, read via their respective R / W drives or interfaces 14, and loaded into their respective computer-readable storage media 08.
[0066] The devices used in this specification may also include a network adapter or interface 16, such as a TCP / IP adapter card or a wireless communication adapter (e.g., a 4G wireless communication adapter using OFDMA technology). An application program 11 on the computing device may be downloaded to the computing device from an external computer or external storage device via a network (such as the Internet, a 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 may be loaded onto the computer-readable storage medium 08. The network may be composed of copper wires, optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers or edge servers, or combinations thereof.
[0067] The devices used in this specification may also include a display screen 20, a keyboard or keypad 22, and a computer mouse or touchpad 24. The device driver 12 interfaces with the display screen 20 for imaging, with the keyboard or keypad 22, with the computer mouse or touchpad 24, or with the display screen 20 for alphanumeric character input and pressure sensing of user selection, or in combinations thereof. The device driver 12, the R / W drive or interface 14, and the network adapter or interface 16 may include hardware and software (stored on the computer-readable storage medium 08 or ROM 06 or combinations thereof).
[0068] The programs described herein are identified based on the uses in which the program is implemented in a particular embodiment of the present invention. However, any particular program names herein are used for convenience only, and thus, it should be understood that the present invention should not be limited to being identified or implied by such names or used only in any particular uses so identified and implied.
[0069] Based on the above, a computer system, method, and computer program product are disclosed. However, numerous modifications and substitutions can be made without departing from the scope of the exemplary embodiments. Therefore, the exemplary embodiments are disclosed by way of example and not by way of limitation.
[0070] This disclosure includes a detailed description regarding cloud computing, but it should be understood in advance that the implementation of the teachings recited herein is not limited to a cloud computing environment. Rather, embodiments of the present invention can be implemented in combination with any other type of computing environment now known or later developed.
[0071] Cloud computing is a service - delivery model that enables convenient on - demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0072] The characteristics are as follows.
[0073] On-demand self-service: A cloud consumer can provision computing capabilities, such as server time and network storage, unilaterally and as needed, without the need for human interaction with the service provider.
[0074] Broad network access: The capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin client platforms or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0075] Resource pooling: The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, and various physical and virtual resources are dynamically assigned and re-assigned according to demand. Consumers generally have no control over or knowledge of the exact location of the provided resources, but can be said to be location-independent in that they can specify a location at a higher level of abstraction (e.g., country, state, or data center).
[0076] Rapid elasticity: The capabilities are provisioned rapidly and elastically, and in some cases automatically, can scale out quickly, be released quickly, and scale in quickly. For the consumer, the capabilities available for provisioning are often unlimited and can be purchased in any quantity at any time.
[0077] Measured service: The cloud system automatically controls and optimizes resource usage by using a metering function at some level of abstraction suitable for the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the services utilized.
[0078] The service model is as follows.
[0079] Software as a Service (SaaS): A function provided to consumers to use the provider's applications running in the cloud infrastructure. The applications are accessible from various client devices through a thin-client interface, such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including, with the possible exception of limited user-specific application configuration settings, the underlying cloud infrastructure such as networks, servers, operating systems, storage, or even individual application functionality.
[0080] Platform as a Service (PaaS): A function provided to consumers to deploy consumer-generated or acquired applications, created using programming languages and tools supported by the provider, onto the cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the deployed applications and, in some cases, the application-hosting environment configuration.
[0081] Infrastructure as a Service (IaaS) as a service: A function provided to a consumer to provision processing, storage, networking, and other basic computing resources for deploying and running any software that can include an operating system and applications. The consumer does not manage or control the underlying cloud infrastructure but has limited control over the operating system, storage, control of deployed applications, and, in some cases, selection of network components (e.g., host firewalls).
[0082] Deployment Models are as follows.
[0083] Private Cloud: The cloud infrastructure is operated solely for an organization. The cloud infrastructure can be managed by the organization or a third party and can exist on-premises or off-premises.
[0084] Community Cloud: The cloud infrastructure is shared by several organizations and supports a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). The cloud infrastructure can be managed by the organization or a third party and can exist on-premises or off-premises.
[0085] Public Cloud: The cloud infrastructure is available to the general public or a large industry group and is owned by an organization that sells cloud services.
[0086] Hybrid Cloud: A cloud infrastructure that remains a distinct entity but is combined by standardized or proprietary technologies (e.g., cloud bursting for load distribution between clouds) that enable the portability of data and applications, and is a hybrid of two or more clouds (private, community, or public).
[0087] Cloud computing environments are oriented services that focus on statelessness, low coupling, modularity, and semantic interoperability. The heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0088] Referring now to FIG. 4, an exemplary cloud computing environment 50 is illustrated. As shown, cloud computing environment 50 includes one or more cloud computing nodes 40 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or cellular phone 54A, desktop computer 54B, laptop computer 54C, or automotive computer system 54N, or combinations thereof, may communicate. Nodes 40 are capable of communicating with one another. They may be physically or virtually grouped in one or more networks, such as, for example, private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, described herein (not shown). Thus, cloud computing environment 50 can provide infrastructure, platforms, software, or combinations thereof, as services such that a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices 54A-N shown are intended only as examples, and that cloud computing nodes 40 and cloud computing environment 50 can communicate with any type of computerized device via any type of network or network addressable connection or combinations thereof (e.g., using a web browser).
[0089] Referring now to FIG. 5, a set of functional abstractions provided by cloud computing environment 50 (FIG. 4) is shown. It should be understood that the components, layers, and functions shown in FIG. 5 are intended only as examples, and that embodiments of the present invention are not limited thereto. As shown, the following multiple layers and corresponding multiple functions are provided.
[0090] The hardware and software layer 60 includes hardware components and software components. Examples of hardware components include mainframe 61, RISC (Reduced Instruction Set Computer) architecture-based server 62; server 63; blade server 64; storage device 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0091] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: namely, virtual server 71; virtual storage 72; virtual network 73; the virtual network 73 including, for example, a virtual private network; virtual applications and operating systems 74; and virtual client 75.
[0092] In one example, the management layer 80 can provide a plurality of functions described below. Resource provisioning 81 provides for the dynamic procurement of computing resources and other resources utilized to execute tasks within a cloud computing environment. Metering and pricing 82 provides for cost tracking when resources are utilized within a cloud computing environment and for billing or charging for the consumption of these resources. In one example, these resources can include application software licenses. Security provides for authentication of cloud consumers and tasks and for protection of 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 for the allocation and management of cloud computing resources such that the required service levels are met. Planning and fulfillment of service level agreements (SLAs) 85 provides for the pre - placement and procurement of cloud computing resources for which future requirements are predicted to conform to the SLA.
[0093] The workload layer 90 provides examples of a plurality of functions that the cloud computing environment can be utilized for. Examples of the plurality of workloads and functions that can be provided from this layer include mapping and navigation 91; software development and life cycle management 92; provision of virtual classroom education 93; data analysis processing 94; transaction processing 95; and seamless communication processing 96.
[0094] The present invention can be a system, method, or computer program product or a combination thereof at any technically detailed level of integration. The computer program product can include one or more computer - readable storage media having computer - readable program instructions for causing a processor to execute aspects of the present invention.
[0095] The computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium can be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof, but is not limited thereto. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: portable computer diskette (registered trademark), hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded device, such as a punched card or raised structures in grooves in which instructions are recorded, or any suitable combination thereof. As used herein, a computer-readable storage medium should not be construed to be a transient 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 passing through an optical fiber cable), or an electrical signal transmitted through a wire.
[0096] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to individual computing devices / processing devices, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network can be composed of copper wire transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing device / processing device receives the computer-readable program instructions from the network and transmits the computer-readable program instructions for storage in a computer-readable storage medium within the individual computing devices / processing devices.
[0097] Computer-readable program instructions for performing the operations of the present invention can be any combination of 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, such as object-oriented programming languages, such as Smalltalk, C++, etc., conventional procedural programming languages (e.g., the "C" programming language or similar programming languages). The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, partially as a stand-alone software package on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, such as a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), can execute the computer-readable program instructions by utilizing the state information of the computer-readable program instructions, by personalizing the electronic circuit, from the perspective of the present invention.
[0098] Aspects of the present invention are described herein with reference to methods, apparatus (systems), and computer program products or flowcharts or block diagrams of computer programs or combinations thereof according to embodiments of the present invention. It will be understood that each block of the flowchart or block diagram or combinations thereof, as well as combinations of multiple blocks in the flowchart or block diagram or combinations thereof, can be implemented by computer-readable program instructions.
[0099] These computer-readable program instructions are provided to a computer processor or other programmable data processing apparatus to create means for implementing the functions / operations specified in one or more blocks of the flowchart or block diagram or combinations thereof, such that instructions executed via the processor of the computer or other programmable data processing apparatus implement the functions / operations specified in one or more blocks of the flowchart or block diagram or combinations thereof, thereby creating a machine. These computer-readable program instructions may also be stored in a computer-readable storage medium that includes a manufactured article that includes instructions for implementing the functions / operations specified in one or more blocks of the flowchart or block diagram or combinations thereof, such that the computer-readable program instructions direct a computer programmable data processing apparatus or other device or combinations thereof to function in a particular manner.
[0100] These computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device such that instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / operations specified in one or more blocks of the flowchart or block diagram or combinations thereof, thereby causing a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a process implemented on the computer.
[0101] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of a possible implementation of a system, method, and computer program product or computer program 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 a specified logical function. In some alternative implementations, the functions shown in the block may occur in a different order than shown in the drawings. For example, two blocks shown in succession may, in fact, be accomplished as one step executed simultaneously, substantially simultaneously, partially, or wholly in a temporally overlapping manner, depending on the functions involved, or the blocks may be executed in the reverse order. It should be noted that each block of the block diagram or flowchart or combination thereof, and combinations of multiple blocks of the block diagram or flowchart or combination thereof, can be implemented by a special purpose hardware-based system that performs the specified functions or operations, or by a combination of special purpose hardware and computer instructions.
Claims
1. A computer-implemented method for predictively compensating for expected audio communication problems, comprising: determining a state of a first device associated with a user; determining a further state of a second device associated with the user; determining, based on the state, a first signal strength for a first network to which the first device is currently connected and through which communication is to be performed, and a second signal strength for a second network configured to be used by the first device when performing the communication; determining, based on the further state, a third signal strength for the first network to which the second device is currently connected and through which the communication is to be performed; generating an overall signal having an overall signal strength by layer-ing the first network on top of the second network as a result of each of the first signal strength and the second signal strength individually not meeting a minimum threshold, where the overall signal strength has a relatively larger signal strength than the first signal strength and the second signal strength; and determining whether to perform the communication using the first device or the second device, performing the communication using the overall signal in response to the first device being selected; sending an instruction to the user to utilize the second device to perform the communication in response to the second device being selected. The method as described above.
2. The instruction is sent during the communication, and the method further comprises: pre-connecting the second device to the communication preemptively. The computer-implemented method according to claim 1.
3. Determining an additional state associated with the user, where the additional state is related to an ambient noise state that impedes the user from understanding incoming voice communications in the communication; Converting the incoming voice communication from voice to text; and, Presenting the converted incoming voice communication to the user The computer-implemented method according to claim 1, further comprising.
4. The second signal strength is greater than the first signal strength, and the method comprises Associating the first device with the second network such that the first device is connected to the second network The computer-implemented method according to claim 1, further comprising.
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 for predictively compensating for expected audio communication problems, comprising Determining a state of a first device associated with a user; Determining a further state of a second device associated with the user; Determining, based on the state, a first signal strength for a first network to which the first device is currently connected and through which communication is being performed, and a second signal strength for a second network in which the first device is configured to operate when performing the communication; Determining, based on the further state, a third signal strength for the first network to which the second device is currently connected and through which the communication is being performed; As a result that each of the first signal strength and the second signal strength does not individually satisfy a minimum threshold value, generating an overall signal having an overall signal strength by layer - ing the first network on the second network, where the overall signal strength has a relatively larger signal strength than the first signal strength and the second signal strength; and, Regarding whether to perform the communication using the first device or the second device, In response to the first device being selected, performing the communication using the overall signal; In response to the second device being selected, transmitting an instruction to the user to utilize the second device to perform the communication A computer program that causes one or more processors to execute each step of the method including.
7. The instruction is transmitted during the communication, and the method Further includes pre - adaptively connecting the second device to the communication The computer program according to claim 6.
8. The method Determining an additional state associated with the user, where the additional state is related to an ambient noise state 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 The computer program according to claim 6, further including.
9. The second signal strength is greater than the first signal strength, and the method Associating the first device with the second network so that the first device is connected to the second network The computer program according to claim 6, further comprising
10. The computer program 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 a plurality of 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 executing the following method, the method comprising: Determining a state of a first device associated with a user; Determining a further state of a second device associated with the user; Based on the state, determining a first signal strength for a first network to which the first device is currently connected and communicating, and a second signal strength for a second network configured to be used by the first device when executing the communication; Based on the further state, determining a third signal strength for the first network to which the second device is currently connected and communicating; As a result that each of the first signal strength and the second signal strength does not individually meet a minimum threshold, generating an overall signal having an overall signal strength by layering the first network on the second network, wherein the overall signal strength has a relatively larger signal strength than the first signal strength and the second signal strength; and Regarding whether to execute the communication using the first device or the second device, In response to the first device being selected, executing the communication using the overall signal; Sending an instruction to the user to use the second device for the communication in response to the selection of the second device The computer system comprising the same. **Claim 12** The instruction is sent during the communication, and the method Further includes pre-actively connecting the second device to the communication The computer system according to claim 11, further comprising the same. **Claim 13** The method Determining an additional state associated with the user, where the additional state is related to the ambient noise state that prevents the user from understanding the 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 The computer system according to claim 11, further comprising the same. **Claim 14** The second signal strength is greater than the first signal strength, and the method Associating the first device with the second network so that the first device is connected to the second network The computer system according to claim 11, further comprising the same. **Claim 15** The computer system according to claim 11, wherein the first network is a cellular network and the second network is a WiFi network.
Citation Information
Patent Citations
A device, system, and method for selecting the mobility mode of a user equipment (UE).
JP2017537568A
Apparatus, system and method of cellular network communications corresponding to a non-cellular network
US20140161103A1
Signal transmission method and related device
WO2019148314A1