Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VOICE-ENHANCED AWARENESS MODE
Document Type and Number:
WIPO Patent Application WO/2017/117288
Kind Code:
A1
Abstract:
Systems and methods for providing ambient awareness are provided. An example method includes receiving an acoustic signal representing at least one captured ambient sound and determining that at least one triggering event has occurred based at least on the acoustic signal, a user profile, and a user context. In response to the determination, the method proceeds to modify, based on the at least one triggering event, the acoustic signal which represents the at least one captured ambient sound. The modified acoustic signal is provided to at least one ear canal of a user. In an exemplary embodiment, ambient sounds are selectively passed through automatically to a user based on certain triggering events, allowing a user to be able to hear sounds outside of headset while the user is wearing the headset. The triggering events may be selected by the user, for example, using a smartphone application.

Inventors:
MILLER THOMAS E (US)
GADONNIEX SHARON (US)
Application Number:
PCT/US2016/069012
Publication Date:
July 06, 2017
Filing Date:
December 28, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KNOWLES ELECTRONICS LLC (US)
International Classes:
G10K11/178; H04R1/10
Domestic Patent References:
WO2015103578A12015-07-09
WO2014022359A22014-02-06
Foreign References:
US20010046304A12001-11-29
EP2661097A22013-11-06
US20140270200A12014-09-18
Other References:
None
Attorney, Agent or Firm:
DANIELSON, Mark J. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method for providing ambient awareness, the method comprising:

receiving an acoustic signal, the acoustic signal representing at least one captured ambient sound;

determining that at least one triggering event has occurred based at least on one of the acoustic signal, a user profile, and a user context;

in response to the determination, modifying, based on the at least one triggering event, the acoustic signal; and

providing the modified acoustic signal to at least one ear canal of a user.

2. The method of claim 1 , wherein the modifying includes adjusting an amount of noise suppression performed on the acoustic signal based on the user profile.

3. The method of claim 1 , wherein the at least one triggering event includes detection of a moving object.

4. The method of claim 1 , wherein the at least one triggering event includes detection of a specific sound present in the acoustic signal.

5. The method of claim 4, wherein the specific sound includes one or more of the following: a voice of a person, a voice sound including a person's name, at least one predefined word being spoken, a sound of a car horn, a sound of a siren, and a sound of a baby crying.

6. The method of claim 1 , wherein the modifying the acoustic signal includes: separating the acoustic signal into a voice component and a noise component; and

keeping the voice component in the acoustic signal while suppressing the noise component.

7. The method of claim 1 , further comprising providing to the user at least one of the following: an alert signal and a warning message based on the at least one triggering event.

8. The method of claim 1, wherein the user context includes one or more of the following: a schedule in a user calendar, a user location, a day of week, a time of day, a current user location, and a current user movement.

9. The method of claim 1, wherein the user profile includes at least one definition of the at least one triggering event and at least one rule for the modifying the acoustic signal in response to an occurrence of the at least one triggering event.

10. The method of claim 9, further comprising providing an application for customizing the user profile.

11. The method of claim 1 , wherein the at least one triggering event is based on a combination of at least two of the acoustic signal, the user profile, and the user context.

12. A system for providing ambient awareness, the system comprising: a processor; and

a memory communicatively coupled with the processor, the memory storing instructions which, when executed by the processor, perform a method comprising:

receiving an acoustic signal, the acoustic signal including at least one captured ambient sound;

determining that at least one triggering event has occurred based at least on one of the acoustic signal, a user profile, and a user context;

in response to the determination, modifying, based on the at least one triggering event, the acoustic signal; and

providing the modified acoustic signal to at least one ear canal of a user.

13. The system of claim 12, wherein the modifying includes adjusting an amount of noise suppression performed on the acoustic signal based on the user profile.

14. The system of claim 12, wherein the at least one triggering event includes detection of a moving object.

15. The system of claim 12, wherein the at least one triggering event includes detection that a specific sound is present in the acoustic signal, the specific sound including one or more of the following: a voice of a person, a voice sound including a person's name, at least one pre-defined word being spoken, a sound of a car horn, a sound of a siren, and a sound of baby crying.

16. The system of claim 12, wherein the modifying the acoustic signal includes: separating the acoustic signal into a voice component and a noise component; and

keeping the voice component in the acoustic signal while suppressing the noise component.

17. The system of claim 12, further comprising providing to the user one of an alert signal and a warning message based on the at least one triggering event.

18. The system of claim 12, wherein the user context includes one or more of the following: a schedule in a user calendar, a user location, a day of week, a time of day, a current user location, a current user movement, and a current position taken by the user.

19. The system of claim 12, wherein the user profile includes at least one definition of the at least one triggering event and at least one rule for the modifying the acoustic signal when the at least one triggering event occurs.

20. The system of claim 19, further comprising providing an application for customizing the user profile.

21. A non-transitory computer-readable storage medium having embodied thereon instructions, which, when executed by at least one processor, perform steps of a method, the method comprising:

receiving an acoustic signal, the acoustic signal including at least one captured ambient sound;

determining that at least one triggering event has occurred based at least on one of the acoustic signal, a user profile, and a user context;

in response to the determination, modifying, based on the at least one triggering event, the acoustic signal; and

providing the modified acoustic signal to at least one ear canal of a user.

Description:
VOICE-ENHANCED AWARENESS MODE

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of and priority to U.S. Patent Application No. 14/985,112, filed December 30, 2015, the entire contents of which are incorporated herein by reference.

FIELD

[0002] The present application relates generally to audio processing and, more specifically, to systems and methods for ambient awareness.

BACKGROUND

[0003] Noise isolating headsets are designed to provide high isolation from sounds, including voices and other noise, in the environment outside (ambient) of the headset.

However, there are many situations in which a user wearing a noise isolating headset may want or need to hear sounds coming from the ambient environment. Typical noise isolating headsets may provide simple manual solutions for allowing in outside noises, for example, a button to turn off noise suppression or noise cancellation. However, it may be difficult to find the button when needed. Additionally, in some situations, a noise isolating headset wearer (user) may not hear alarm sounds warning him or her of a danger, for example. Thus, better control of noise suppression and noise cancellation in noise isolating headsets is desired.

SUMMARY

[0004] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. [0005] Systems and methods for ambient awareness are provided. An example method includes receiving an acoustic signal. The acoustic signal may include at least one captured ambient sound. The example method includes determining that at least one triggering event has occurred based at least on one of the following: the acoustic signal, a user profile, and a user context. In response to the determination, the example method modifies, based on the at least one triggering event, the acoustic signal which includes the at least one captured ambient sound. The example method allows providing the modified acoustic signal to at least one ear canal of a user.

[0006] In some embodiments, the modification includes adjustment of noise suppression performed on the acoustic signal based on the user profile. In certain embodiments, the triggering event includes detection of a moving object. In some embodiments, the triggering event includes detection of a specific sound in the acoustic signal. The specific sound can include one or more of the following: a voice of a person, a voice sound including a person's name, at least one pre-determined word being spoken, a sound of a car horn, a sound of a siren, and a sound of a baby crying, according to some embodiments.

[0007] In certain embodiments, the modification of the acoustic signal includes separating the acoustic signal into a voice component and a noise component. The voice component can be preserved in the acoustic signal while the noise component is suppressed.

[0008] In some embodiments, the method includes providing to the user at least one of the following: an alert signal and a warning message based on the triggering event.

[0009] In other embodiments, the user context includes one or more of the following: a schedule in a user calendar, a user location, a day of week, a time of day, a current user location, and a current user movement.

[0010] In some embodiments, the user profile includes at least one definition of the at least one triggering event and at least one rule for modifying the acoustic signal when the at least one triggering event occurs. In certain embodiments, the method provides an application, for a smartphone for instance, for customizing the user profile. The at least one triggering event may be based on a combination of at least two of the acoustic signal, the user profile, and the user context.

[0011] According to another example embodiment of the present disclosure, the steps of the method for ambient awareness are stored on a non-transitory machine-readable medium comprising instructions, which, when implemented by one or more processors, perform the recited steps.

[0012] Other example embodiments of the disclosure and aspects will become apparent from the following description taken in conjunction with the following drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements.

[0014] FIG. 1 is a block diagram of a system and an environment in which systems and methods described herein can be used.

[0015] FIG. 2 is a block diagram of a headset suitable for implementing the present technology, according to an example embodiment.

[0016] FIG. 3 is a block diagram illustrating a system for providing ambient awareness, according to an example embodiment.

[0017] FIG. 4 is a flow chart showing steps of a method for providing ambient awareness, according to an example embodiment.

[0018] FIG. 5 illustrates an example of a computer system that may be used to implement embodiments of the disclosed technology.

DETAILED DESCRIPTION

[0019] The present technology provides systems and methods for ambient awareness, which can overcome or substantially alleviate problems associated with using noise isolating headsets when some ambient sounds are desired to be heard by a user. Various embodiments of the present technology may be practiced with any earpiece- based audio device configured to receive and/or provide audio such as, but not limited to, cellular phones, MP3 players, phone handsets, and headsets. While some embodiments of the present technology are described in reference to operation of a cellular phone, the present technology may be practiced with any audio device.

[0020] While wearing a noise isolating headset, it may be useful for the wearer to turn off or decrease the noise isolation and allow some ambient sound to pass through. Various embodiments facilitate controlling the amount of ambient sounds passing through the headset by configuring noise suppression based on certain triggering events. The triggering events may be determined based on an analysis of the ambient sounds, user profile, and user's context. Further, the triggering events may utilize voice detection, proximity detection of moving objects, events in the user's calendar, location of the user, and so forth.

[0021] An example method for ambient awareness includes receiving an acoustic signal. The acoustic signal includes at least one captured ambient sound. The method includes determining that at least one triggering event has occurred based at least on one of the following: the acoustic signal, a user profile, and a user context. In response to the determination, the method includes modifying, based on the at least one triggering event, the acoustic signal (which includes the at least one captured ambient sound).

[0022] Referring now to FIG. 1, a block diagram of an example system 100 suitable for implementation of methods for providing ambient awareness and environment thereof are shown. The example system 100 includes at least an internal microphone 106, an external microphone 108, a digital signal processor (DSP) 1 12, and a radio or wired interface 1 14. The internal microphone 106 is located inside a user's ear canal 104 and is relatively shielded from the outside acoustic environment 102. The external microphone 108 is located outside of the user's ear canal 104 and is exposed to the outside (ambient) acoustic environment 102.

[0023] In various embodiments, the microphones 106 and 108 are either analog or digital. In either case, the outputs from the microphones are converted into synchronized pulse code modulation (PCM) format at a suitable sampling frequency and connected to the input port of the DSP 112. The signals Xi„ and x ex denote signals representing sounds captured by the internal microphone 106 and external microphone 108, respectively.

[0024] The DSP 112 performs appropriate signal processing tasks to improve the quality of microphone signals Xi„ and x ex , according to some embodiments. The output of DSP 112, referred to as the send-out signal (s ou t), is transmitted to the desired destination, for example, to a network or host device 116 (see signal identified as s ou t uplink), through a radio or wired interface 114.

[0025] In certain embodiments, if a two-way voice communication is needed, a signal is received by the network or host device 116 from a suitable source (e.g., via the radio or wired interface 114). This can be referred to as the receive-in signal (r ln ) (identified as ¾ downlink at the network or host device 116). The receive-in signal can be coupled via the radio or wired interface 114 to the DSP 112 for necessary processing. The resulting signal, referred to as the receive-out signal (r out ), is converted into an analog signal through a digital-to-analog converter (DAC) 110 and then connected to a loudspeaker 118 in order to be presented to the user. In some embodiments, the loudspeaker 118 is located in the same ear canal 104 as the internal microphone 106. In other embodiments, the loudspeaker 118 is located in the ear canal opposite the ear canal 104. In example of FIG. 1, the loudspeaker 118 is found in the same ear canal 104 as the internal microphone 106, therefore, an acoustic echo canceller (AEC) may be needed to prevent the feedback of the received signal to the other end.

Optionally, in some embodiments, if no further processing on the received signal is necessary, the receive-in signal (r ln ) can be coupled to the loudspeaker without going through the DSP 112.

[0026] In some embodiments, the receive-in signal ¾ includes an audio content for playing back to a user. The audio content can be stored on a host device or received by the network or host device 116 from a communication network.

[0027] FIG. 2 shows an example headset 200 suitable for implementing methods of the present disclosure. The headset 200 includes example in-the-ear (ITE) module(s) 202 and behind-the-ear (BTE) modules 204 and 206 for each ear of a user. The ITE module(s) 202 are configured to be inserted into the user's ear canals. The BTE modules 204 and 206 are configured to be placed behind the user's ears. In some embodiments, the headset 200 communicates with host devices through a Bluetooth radio link. The Bluetooth radio link may conform to a Bluetooth Low Energy (BLE) or other Bluetooth standard and may be variously encrypted for privacy.

[0028] In various embodiments, ITE module(s) 202 include internal microphone(s) 106 and the loudspeaker(s) 118 (shown in FIG. 1), all facing inward with respect to the ear canal. The ITE module(s) 202 can provide acoustic isolation between the ear canal(s) 104 and the outside acoustic environment 102 (also shown in FIG. 1).

[0029] In some embodiments, each of the BTE modules 204 and 206 includes at least one external microphone. The BTE module 204 may include a DSP, control button(s), and Bluetooth radio link to host devices. The BTE module 206 can include a suitable battery with charging circuitry.

[0030] The external microphone signal x ex may be used to perform a noise suppression (for example, an active noise cancellation) to cancel outside ambient noise inside the ITE module(s) 202. In other embodiments, processing of the external microphone signal x ex is performed by DSP 112 (shown in FIG. 1). In certain embodiments, processing of the external microphone signal x ex is performed by network or host device 116.

[0031] In some embodiments, BTE modules 204 and 206 include one or more sensors, including but not limited to an accelerometer, magnetometer, gyroscope, Inertial

Measurement Unit (IMU), temperature sensor, altitude sensor, proximity sensor, barometer, humidity sensor, color sensor, light sensor, pressure sensor, Global Positioning System (GPS) module, beacon, WiFi sensor, ultrasound sensor, infrared sensor, and touch sensor. In certain embodiment, the BTE modules 204 and 206 are operable to receive a sensor data and a user data from an audio device the headset 200 is coupled to.

[0032] FIG. 3 is a block diagram illustrating system 300 for providing ambient awareness, according to an example embodiment. In some embodiments, the system 300 is operable to control noise suppression of ambient sound inside earpieces of a headset, for example, the ITE module(s) 202. The system 300 can include a trigger determination module 310 and a signal modification module 320. The modules 310 and 320 of system 300 can be implemented within the DSP 112 and/or network or host device 116 (as shown in the example in FIG. 1).

[0033] In some embodiments, the signal modification module 320 is operable to receive external microphone signal x ex . A feedforwarding signal is generated based on the external microphone signal x ex . When played back by loudspeaker inside an earpiece, the acoustic signal corresponding to the feedforward signal cancels outside ambient noise leaking into the earpiece. In certain embodiments, a feedback signal is generated based on internal microphone signal x ln . The feedback signal can be played inside an earpiece to cancel some of the unwanted noise inside the earpiece. In some embodiments, both the internal microphone signals and external microphone signals are used for noise cancellation. In some other embodiments, only one of the internal or external microphone signal is used for the noise cancellation. In other embodiments, the amount of the noise suppression or cancellation of outside ambient sounds is controlled in response to a determination that a specific triggering event has occurred.

[0034] An example audio processing system suitable for performing noise suppression is discussed in more detail in U.S. Patent Application No. 12/832,901 (now U.S. Patent No. 8,473,287), entitled "Method for Jointly Optimizing Noise Reduction and Voice Quality in a Mono or Multi-Microphone System," filed July 8, 2010, the disclosure of which is incorporated herein by reference for all purposes. By way of example and not limitation, noise suppression methods are described in U.S. Patent Application No. 12/215,980 (now U.S. Patent No. 9,185,487), entitled "System and Method for Providing Noise Suppression Utilizing Null Processing Noise Subtraction," filed June 30, 2008, and in U.S. Patent Application No. 11/699,732 (now U.S. Patent No. 8,194,880), entitled "System and Method for Utilizing Omni-Directional Microphones for Speech Enhancement," filed January 29, 2007, which are incorporated herein by reference in their entireties.

[0035] In some embodiments, the trigger determination module 310 is operable to determine that at least one triggering event (also referred to as a trigger) has occurred and, in response to the determination, control modification of outside ambient sound performed by the signal modification module 320 (e.g., the amount of noise suppression or ambient sound passing through). The ambient awareness refers to a state of minimal noise suppression, where ambient (outside) sounds are passed through so that the user can hear them. A certain amount of processing of ambient sounds during the ambient awareness mode may still be performed, e.g., compression or equalization (EQ) balancing. In some embodiments, noise suppression is varied so that little or no ambient sounds are passed through. In other embodiments, in response to a triggering event, a voice enhancement is applied to ambient sound captured by an external microphone. The ambient sound can be selectively filtered to pass a voice component, while reducing an amount of noise present in the ambient sound. The voice enhancement may be helpful during a conversation in a noisy environment. For example, the noisy environment can include an airplane sound. When a flight attendant speaks, the airplane sound can be sufficiently reduced in a user's headset, such that the user can hear mostly the flight attendant's voice. Similarly, in other noisy environments, for example, a street environment, other important sounds can be emphasized, while reducing street noise in a user's headset. In yet other embodiments, a modification of ambient sound includes equalization, level modification, time and frequency alternations, and other appropriate changes (modifications). Multiple microphones (e.g., external microphone(s) and internal microphone(s)) may be used for the noise suppression. An example system suitable for performing noise suppression using multiple microphones is discussed in more detail in U. S. Patent Application No. 12/832,901 (now U.S. Patent No. 8,473,287).

[0036] In some embodiments, the number of triggers and effects of triggers on the noise suppression is configured using an application run on a device (for example, a smartphone or a computer) communicatively coupled to the headset. The triggering events may be selected by a user using a smartphone app, for example, triggering by the sound of a baby crying, a siren, certain contexts such as the user speaking and not being on a phone call, or some other selected sound.

[0037] The trigger determination may include proximity detection. In certain

embodiments, the system 300 includes a proximity detector module 332. The proximity detector module 332 may be operable to identify an obj ect (for example, a vehicle) moving towards a user of headset 200 at a speed exceeding a predetermined threshold value. Detection of the object may be made utilizing a proximity sensor included with the headset which may be variously an infrared proximity sensor, ultrasound proximity sensor, and other suitable proximity sensor. Upon detection of the moving object, audio content of the ¾ can be muted and the noise suppression of ambient sounds can be turned off to pass the ambient sounds through earpieces of the headset. Instead of being turned off, in some embodiments, an audio content is equalized or the volume of the audio content is lowered to make the audio content less distractive to ambient sounds. If an approaching object is moving faster than the predetermined threshold value, an alarm can be issued, for example, a warning sound can be played.

[0038] In some embodiments, the system 300 includes an audio scene analysis module 334. In other embodiments, the system 300 is operable to turn noise suppression up and down, based on the results of audio scene analysis. In certain embodiments, the audio scene analysis includes voice activity detection. The voice detection may be provided by a microphone that includes voice activity detection. An exemplary microphone is discussed in more detail in U.S. Patent Application No. 14/797,310, entitled "Microphone Apparatus and Method with Catch-up Buffer", filed July 13, 2015, the disclosure of which is incorporated herein by reference for all purposes.

[0039] Voice detection may be performed by sound processing that distinguishes various sounds. An exemplary system for sound processing is discussed in more detail in U.S. Patent Application No. 12/832,901 (now U.S. Patent No. 8,473,287), entitled "Method for Jointly Optimizing Noise Reduction and Voice Quality in a Mono or Multi- Microphone System," filed July 8, 2010, the disclosure of which is incorporated herein by reference for all purposes. The voice activity detection may be utilized with voice recognition. For example, if someone pronounces the name of a user of the headset 200 or the user utters a voice command, trigger determination module 310 can issue a control command to signal modification module 320 to pass ambient sounds through earpieces of the headset 200. In various embodiments, the audio scene analysis includes recognition of other sounds, such as detection of horns beeping, pre-determined spoken words, someone calling the name of the user, a baby crying, and so forth. [0040] In certain embodiments, the system 300 includes voice detection of the user. The system 300 can be operable to turn on ambient awareness when the user starts speaking while there is no detection of a phone call being in progress.

[0041] In some embodiments, the system 300 includes a context awareness module 336. The context awareness can be used to control noise suppression. For instance, when a user is participating in a telephone conference call, ambient sounds can be kept suppressed. If the user is at home outside working hours, noise suppression can be turned down. In various embodiments, context awareness module 336 is operable to generate triggering events based on a day of a week, time of a day, meetings in user's calendar, location of user (for example, determined by the global positioning system (GPS), identifiers associated with wireless network or cellular phone network), and so forth. In other embodiments, the context awareness can include motion awareness for context. For example, motion awareness can include determination as to whether user is driving, walking, sitting, and so forth. An exemplary system including voice recognition, context awareness, and filtering is discussed in more detail in U. S. Patent Application No. 14/749,425, entitled "Context Aware False Acceptance Rate Reduction," filed June 24, 2015, the disclosure of which is incorporated herein by reference for all purposes.

[0042] In various embodiments, processing of ambient sound results in allowing only voice to pass through the noise isolating headset. Voice activity detection with filtering may be used to limit the ambient sounds passing through to the voice band. In certain embodiments, more complex processing for example, based on direction of sound sources, is applied to ambient sounds to allow only voice to pass though. Exemplary systems and methods for voice activity detection with filtering are also discussed in more detail in U. S. Patent Application No. 14/749,425 referenced above.

[0043] In some embodiments, the determination as to whether a trigger event has occurred in order to turn on ambient awareness is based on a user profile and preferences 330. The user profile and preferences 330 may include a default configuration including definitions of triggering events and rules for actions to be taken when the triggering events occur. In other embodiments, the user is allowed to customize the user profile and references using an application running on a network or a host device 1 16 (shown in FIG. 1). In some embodiments, the customization includes setting the amount of ambient sounds passing through the noise suppression, determining what type of ambient sounds are allowed to pass through the noise suppression, and which events trigger ambient awareness mode.

[0044] FIG. 4 is a flow chart showing steps of method 400 for providing ambient awareness mode, according to various example embodiments. Method 400 may commence, in operation 402, with receiving an acoustic signal. In this example, the acoustic signal represents at least one captured ambient sound. In block 404, method 400 includes determining that at least one triggering event has occurred based at least on one of the acoustic signal, a user profile, and a user context. In some embodiments, all or various combinations of the acoustic signal, a user profile, and a user context is the basis for the triggering event. In block 406, in response to the determination, method 400 proceeds with, based on the at least one triggering event, modifying the acoustic signal which represents the at least one captured ambient sound. In block 408, the modified acoustic signal can be provided to at least one ear canal of a user.

[0045] FIG. 5 illustrates an exemplary computer system 500 that may be used to implement some embodiments of the present invention. The computer system 500 of FIG. 5 may be implemented in the contexts of the likes of computing systems, networks, servers, or combinations thereof. The computer system 500 of FIG. 5 includes one or more processor units 510 and main memory 520. Main memory 520 stores, in part, instructions and data for execution by processor unit(s) 510. Main memory 520 stores the executable code when in operation, in this example. The computer system 500 of FIG. 5 further includes a mass data storage 530, portable storage device 540, output devices 550, user input devices 560, a graphics display system 570, and peripheral devices 580.

[0046] The components shown in FIG. 5 are depicted as being connected via a single bus 590. The components may be connected through one or more data transport means.

Processor unit(s) 510 and main memory 520 are connected via a local microprocessor bus, and the mass data storage 530, peripheral device(s) 580, portable storage device 540, and graphics display system 570 are connected via one or more input/output (I/O) buses. [0047] Mass data storage 530, which can be implemented with a magnetic disk drive, solid state drive, or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit(s) 510. Mass data storage 530 stores the system software for implementing embodiments of the present disclosure for purposes of loading that software into main memory 520.

[0048] Portable storage device 540 operates in conjunction with a portable non-volatile storage medium, such as a flash drive, floppy disk, compact disk, digital video disc, or Universal Serial Bus (USB) storage device, to input and output data and code to and from the computer system 500 of FIG. 5. The system software for implementing embodiments of the present disclosure is stored on such a portable medium and input to the computer system 500 via the portable storage device 540.

[0049] User input devices 560 can provide a portion of a user interface. User input devices 560 may include one or more microphones, an alphanumeric keypad, such as a keyboard, for inputting alphanumeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. User input devices 560 can also include a touchscreen. Additionally, the computer system 500 as shown in FIG. 5 includes output devices 550. Suitable output devices 550 include speakers, printers, network interfaces, and monitors.

[0050] Graphics display system 570 include a liquid crystal display (LCD) or other suitable display device. Graphics display system 570 is configurable to receive textual and graphical information and processes the information for output to the display device.

[0051] Peripheral devices 580 may include any type of computer support device to add additional functionality to the computer system.

[0052] The components provided in the computer system 500 of FIG. 5 are those typically found in computer systems that may be suitable for use with embodiments of the present disclosure and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system 500 of FIG. 5 can be a personal computer (PC), hand held computer system, telephone, mobile computer system, workstation, tablet, phablet, mobile phone, server, minicomputer, mainframe computer, wearable, or any other computer system. The computer may also include different bus configurations, networked platforms, multi-processor platforms, and the like. Various operating systems may be used including UNIX, LINUX, WINDOWS, MAC OS, PALM OS, QNX

ANDROID, IOS, CHROME, TIZEN, and other suitable operating systems.

[0053] The processing for various embodiments may be implemented in software that is cloud-based. In some embodiments, the computer system 500 is implemented as a cloud- based computing environment, such as a virtual machine operating within a computing cloud. In other embodiments, the computer system 500 may itself include a cloud-based computing environment, where the functionalities of the computer system 500 are executed in a distributed fashion. Thus, the computer system 500, when configured as a computing cloud, may include pluralities of computing devices in various forms, as will be described in greater detail below.

[0054] In general, a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors (such as within web servers) and/or that combines the storage capacity of a large grouping of computer memories or storage devices. Systems that provide cloud-based resources may be utilized exclusively by their owners or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.

[0055] The cloud may be formed, for example, by a network of web servers that comprise a plurality of computing systems, such as the computer system 500, with each server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depends on the type of business associated with the user. [0056] The present technology is described above with reference to example embodiments. Therefore, other variations upon the example embodiments are intended to be covered by the present disclosure.