Patent Publication Number: US-10313425-B2

Title: Computer-implemented method, mobile device, computer network system, and computer product for optimized audio data provision

Description:
RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 13/768,822, filed Feb. 15, 2013 (now U.S. Pat. No. 9,509,755), which claims priority to European Patent Application No. 12425041.6 filed on Feb. 27, 2012, the contents of which are incorporated herein by reference. 
    
    
     TECHNICAL FIELD 
     The description is directed generally to mobile applications, so-called apps, for tablet computers and/or smartphones and, in particular, to a computer-implemented method, a mobile device, a computer network system, and a computer-program product for optimized audio data provision. 
     BACKGROUND 
     Mobile applications, also called mobile apps or apps, are software applications usually designed to run on mobile devices such as smartphones and/or tablet computers. Mobile apps are usually available through application distribution platforms typically operated by a producer and/or owner of a mobile operating system such as Apple App Store, Android Market, and/or BlackBerry App World. 
     Audio apps for playing, to a user of a mobile device, audio news and/or other audio data which include textual information are becoming popular, recently. However, quality and/or operability of audio apps is often limited due to problems of the network connection of the mobile device such as a low network speed when broadcasting, communicating, and/or downloading audio data from a server (host) to the mobile device via a (wireless) network, in particular, when the audio data is intended to be played (e.g. read out) directly to the user of the mobile device. 
     Hence, there is a need to provide improved and optimized functionality when communicating and/or downloading audio data to a mobile device. 
     SUMMARY 
     According to one general aspect, a computer-implemented method for optimized audio data provision on mobile devices is provided. The method may comprise:
         evaluating one or more parameters of a (one or more) network connection of a mobile device; and
           depending on said evaluation, automatically switching between   downloading audio data in an audio file from a server in real-time and   downloading audio data in a text file from the server and performing a text-to-speech application of audio data on the mobile device.   
               

     In other words, audio data (or data for short) can be downloaded as an audio file from a server or as a text file from the server. Audio data hence refers to the content of a file such as an audio file or a text file. 
     Audio files may be stored on a server in a file format for storing digital auto data. Audio files may be compressed or uncompressed, raw bitstreams or a container format with a defined storage layer. Audio file formats may be for example WAV, WavPAck, Apple Lossless, MPEG, Windows Media Audio Lossless, MP3, ATRAC, and/or Windows Media Audio Lossy. 
     Contrary to audio files, text files may be stored on the server in a text file format such as ASCII, MIME, and/or .txt files (having various different endings such as for example, .rtf, .doc, .xml, .txt, .xslt, etc.). A text file may be a kind of computer file that is structured as a sequence of lines of electronic text. A text file can exist within a computer file system which may be stored on a server. 
     Audio data or data, i.e. content of a file which may relate to audio content having textual information such as news can be stored in an audio file and in a text file so that the audio file and the text file may have the substantially the same textual content. 
     In order to play (e.g. read out) the content, i.e. the audio data of a text file to a user on a computer device such as a mobile device, the audio data in the text file can be transformed using a common text-to-speech application. 
     A network connection, i.e. a connection of a mobile device such as a smartphone or a tablet computer to a network for access of a remote server of the mobile device  1  is automatically evaluated or analyzed. During evaluation of the network connection, one or more parameters of the network connection are considered. The one or more parameters may comprise a connectivity type (e.g. Bluetooth, WiFi, 3g/UMTS, Edge, LTE) of the network connection, a signal strength, a signal quality (also referred to as link quality), and/or a download speed with regard to downloading a pre-defined file (e.g. a test file having a predefined size, for example between 200 and 1000 kbit/s, preferably 600 kbit/s). 
     Parameters of one or more different network connections of the mobile device can be evaluated according to the described method. 
     Switching between the two download modes according to the described method can be performed either in that the server is requested to send the audio file or the text file depending on the evaluation or in that the audio file or the text file is provided by the server based on the performed evaluation. 
     A fast network connection may be a network connection with an acceptable network speed, for example a network speed of 100 kbit/s or higher. An acceptable signal strength may be a signal strength of 40 dBp/m or higher and an acceptable signal quality may be a signal quality of a BER of 1e06 (i.e. 1 error bit per 1 million bits transferred). 
     Said automatic analysis and/or evaluation is performed to determine whether to download the audio data directly in an audio file from the server in real-time or to download the audio data in a corresponding text file from the server and transform the downloaded text file using a text-to speech application (also referred to as text-to-speed transformation or a text-to-speed functionality) supported by the mobile device. 
     The method allows performing an automatic up-front decision whether to download an audio file (e.g. an MP3 file or an MPEG file) for audio data such as audio news and/or other audio data including textual information directly from a server in real-time or to download the corresponding text file and then to transform the text into speech using a text-to-speech application on the mobile device optimized audio data provision on mobile devices. On the one hand, an efficient data download from the server can be guaranteed in case the evaluation of the parameters results in downloading the text file. On the other hand, audio data is played in high quality to the user of the mobile device when the audio file is downloaded from the server. In other words, an efficient and flexible solution for facing the trade-off between high quality of audio data played to users of mobile devices and fast audio data download from a server is provided even if only a slow network connection is available. The evaluation of the network connection parameters is efficient since built-in technology of the mobile device can be used and a flexible, automatic switch between the two download modes based on the automatic network connection analysis is provided. The switching is flexible and effective since the evaluation automatically registers changes to a signal strength and/or in a connectivity type of the network connection. 
     In an aspect, evaluating the parameters is performed by a mobile application (or mobile app) installable on the mobile device. 
     In another aspect, evaluating the parameters is performed by the server. 
     The server can be a single server or a distributed server environment comprising one or more distributed servers such as a server cloud. The server may be part of or referred to as a cloud or cloud environment. 
     In another aspect, evaluating one or more parameters of a network connection of a mobile device may comprise: downloading a test file from the server; and checking whether a download speed of the downloaded test file is greater than a threshold. In yet another aspect, if the download speed of the downloaded test file is greater than the threshold, the audio data may be downloaded in the audio file from the server In real-time. 
     In yet another aspect, evaluating one or more parameters of a network connection of a mobile device may comprise: analyzing a signal strength of the network connection; and setting the threshold depending on the signal strength of the network connection. 
     In yet another aspect, evaluating one or more parameters of a network connection of a mobile device may comprise: analyzing a signal quality of the network connection. 
     In yet another aspect, evaluating one or more parameters of a network connection of a mobile device may comprise: notifying a change to a signal strength of the network connection; and checking whether the changed signal strength is greater than a pre-defined value for a network connection signal strength. 
     In yet another aspect, evaluating one or more parameters of a network connection of a mobile device may comprise: checking a connectivity type of the network connection. 
     In yet another aspect, if the connectivity type is a connectivity type having a slow network speed (i.e. not a fast network speed, for example a network speed of less than 100 kbit/s), the audio data may be downloaded In the text file from the server and performing a text-to-speech transformation of the audio data on the mobile device. 
     For example, in case the connectivity type is not WiFi-based, the audio data may be downloaded in the text file from the server and a text-to-speech transformation of the audio data is performed on the mobile device by the built-in text-to-speech application (or functionality) supported by the mobile device. Otherwise, if the connectivity type is a WiFi-based connection, evaluation of the one or more parameters according to the described method may be performed. 
     In yet another aspect, the method as described may be implemented as a mobile application installable on a mobile device. According to another general aspect, a mobile device for optimized audio data provision is provided. The mobile device may comprise:
         a mobile application installed on the mobile device, wherein the mobile application is operable to perform the method as described.       

     According to another general aspect, a computer network system for optimized audio data provision is provided, the computer network system may comprise:
         a mobile device having installed thereon a mobile application;   a server storing audio data in an audio file and in a corresponding text file executable by a text-to-speech application; and   a network operable to connect the mobile device with the server, wherein either the server or the mobile application is operable to perform the method as described.       

     In another general aspect there is provided a computer-program product comprising computer readable instructions, which when loaded and run in a computer system and/or computer network system, cause the computer system and/or the computer network system to perform a method as described. 
     The subject matter described in this specification can be implemented as a method or as a system or using computer program products, tangibly embodied in Information carriers, such as a CD-ROM, a DVD-ROM, a semiconductor memory, signal and/or data stream, and a hard disk. Such computer program products may cause a data processing apparatus to conduct one or more operations described in this specification. 
     In addition, the subject matter described in this specification can also be implemented as a system including a processor and a memory coupled to the processor. The memory may encode one or more programs that cause the processor to perform one or more of the method steps or actions described in this specification. Further the subject matter described In this specification can be implemented using various MRI machines. 
     Details of one or more implementations are set forth in the accompanying exemplary drawings and exemplary description below. Other features will be apparent from the description and drawings, and from the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows an exemplary block diagram of a computer network system for optimized audio data streaming. 
         FIG. 2  shows an exemplary flow diagram of a computer-implemented method for optimized audio data streaming when starting an associated audio app. 
         FIG. 3  shows an exemplary flow diagram a computer-implemented method for optimized audio data streaming when running an associated audio app. 
         FIG. 4  shows an exemplary computer system and/or computer network system for implementing a computer network, a computer system, and a computer-implemented method as shown in  FIGS. 1 to 3 . 
     
    
    
     In the following, a detailed description of examples will be given with reference to the In the following, a detailed description of examples will be given with reference to the drawings. It should be understood that various modifications to the examples may be made. In particular, elements of one example may be combined and used in other examples to form new examples. 
       FIG. 1  shows an exemplary computer network system within which optimized audio data provision on mobile devices can be provided and implemented. Audio data include audio news and/or other audio data which include textual information. Audio data can be played (e.g. read out) to a user of a mobile device which supports an audio interface. Contrary to data such as music, data such as audio news (referred to herein as audio data) frequently change due to actuality and are usually directly downloaded from a server (e.g. a news server) and the user downloading such audio data is usually interested in immediately listening to the downloaded file. However, due to bandwidth problems of the network connection of a mobile device such as a weak signal strength, a low download speed, a rather unacceptable signal or link quality, and/or a connectivity type with a slow download speed, quality of audio data listening is often unsatisfied. 
     Optimized audio data provision as described below with reference to  FIGS. 2 and 3 , may be implemented as a mobile app  10 . The terms “mobile app” and “app” are used interchangeable in the present application. The app  10  can be downloaded, installed and/or run on a mobile device  1  such as a tablet computer and/or a smartphone. The app  10  can be downloaded and installed from an application distribution platform. 
     The app  10  may be referred to as a switch app  10  associated with an audio app  12  so that the switch app  10  automatically starts when the audio app  12  is started, runs while the audio app  12  is running and/or is automatically finished when the audio app  12  is finished. The switch app  10  can be implemented as part of an audio app  12  or separate from but connect to the audio app  12  so that the switch app  10  automatically starts when the audio app  12  is started, runs while the audio app  12  is running and/or is automatically finished when the audio app  12  is finished. 
     The mobile device  1  supports Internet-connected applications and/or browser-based access to the Internet and/or the World Wide Web and can be connected to a network  2  (preferably, a wireless network) through a network connection. The network connection may be, for example WiFi based, UMTS/3G based, LTE based, and/or Edge based. In one example, the mobile device  1  is connected over the network  2  with a server (or host)  3 . The mobile device  1  may have installed thereon one or more mobile apps  10 ,  12 . 
     One app  12  of the apps  10 ,  12  installed on the mobile device  1  may be an audio app  12  for audio news listing of news data which can be downloaded from the server  3  to the mobile device  1  via the network  2 , i.e. over a network connection. Audio data which can be consumed by a user of the mobile device  1  through the audio app  12  may be audio news and/or other audio data including textual information, wherein the text of the audio data can be read out to the user through the audio app  12  on the mobile device  1 . 
     Another app  10  of the apps  10 ,  12  is associated with the audio app  12  for optimizing audio data provision on the mobile device  1  when accessing the server  3  to download audio data which include textual information from the server  3  to the mobile device  1  over the network  2 . 
     The server  3  may be a news server storing audio data. Audio data may be stored on the server  3  in an audio file  30  and in a corresponding text file  32 . In other words, content of news (audio data) can be stored in a text file  32  and in a corresponding audio file  30 . 
     Text files  32  may be stored on the server  3 . To play (e.g. read out) audio data stored in the text file  32  in an electronic manner to a user of the mobile device  1 , a transformation of the content or data (the audio data as stored in the text file) using available text-to-speech functionality such as the text-to-speech transformation tools (also referred to as text-to-speech applications) supported and/or provided by different mobile operating systems including Android, iOS, Windows Mobile/Phone, Symbian, BlackBerry BBX, BlackBerry 6 OS, BlackBerry 7 OS, etc is used. Text-to-speech applications convert normal language text (e.g. audio data stored in a text file  32 ) into speech. 
     Audio files  30  may be stored on the server in a file format for storing digital auto data. Audio files may be compressed or uncompressed, raw bitstreams or a container format with a defined storage layer. Audio file formats may be for example WAV, WavPAck, Apple Lossless, MPEG, Windows Media Audio Lossless, MP3, ATRAC, and/or Windows Media Audio Lossy. 
     In operation, when a user activates the audio app  12  on the mobile device  1 , the switch app  10  may automatically start. Alternatively or additionally, the switch app  10  may periodically check the network connection of the mobile device  1  so that when the audio app  12  is started, audio data is downloaded based on the analysis of the network connection as performed by the switch app  10  according to a method as described below with reference to  FIGS. 2 and 3 . 
     Basically, the switch app  10  is operable to analyze the network connection of the mobile device  1  by evaluating one or more parameters of the network connection. Said automatic analysis and/or evaluation is performed to determine whether to download the audio data directly in an audio file  30  from the server  3  in real-time or to download the audio data in a corresponding text file  32  form the server and transform the downloaded text file using text-to speech transformation supported by the mobile device  1 . 
     The audio file  30  can be directly played to the user, for example through the audio app  12 , and the text file  32  is converted into speech and played to the user using a text-to-speech transformation provided with the mobile device  1 . 
     The one or more parameters may comprise a connectivity type (e.g. WiFi, 3g/UMTS, Edge, LTE) of the network connection, a signal strength, a signal quality (also referred to as link quality), and/or a download speed with regard to downloading a pre-defined file (e.g. a test file having a predefined size, for example between 100 and 2000 kbit or 200 and 1000 kbit, preferably 600 kbit). 
     A signal strength may be a measure of the amplitude of the signal that is received at the mobile device  1  over the network connection. A signal (or link) quality may measure the number of packet errors that occur during a data download. For example, the closer a mobile device  1  is to an access point of a WiFi network connection, the higher will be the signal strength, however, the mobile device  1  might have a low signal quality due to a microwave oven and/or a mobile phone in the area causing interference. Conversely, a mobile device  1  may be far away from an access point in a WiFi network connection and therefore receive a low signal strength, but a high signal quality due to the absence of any radio frequency inference, for example. 
       FIG. 2  shows an exemplary implementation of a method for checking a network connection of a mobile device to a network. The method may be implemented as part of a mobile app such as the switch app  10 . The mobile app  10  may be activated when a user of the mobile device  1  requests a download of audio data including textual information such as audio news using an audio app  12 , when a user activates the mobile  10 , for example, by clicking on an icon identifying the app  10 , and/or the mobile app  10  automatically, e.g. periodically, evaluates, checks, and/or analysis the network connection of the mobile device  1  having installed the app  10 . 
     At S 1 , a connectivity type check of a network connection of a mobile device  1  having installed thereon the switch app  10  is performed. The connectivity type check determines the current (wireless) network available for the mobile device  1 . An available network may include a WiFi-based network, a 3G/UMTS-based network, an Edge-based network, a LTE-based network etc. It is determined, whether the currently available connectivity type can be determined. Built-in functionality of the mobile operating system implemented on the mobile device  1  can be used to check the connectivity type of the mobile device  1 . For example, in case the mobile operating system of the mobile device is Android, Android&#39;s NetworkInfo class, which describes the status of a network interface of a given type (e.g. “mobile” or “WiFi”) can be implemented to check for the connectivity type. 
     If, at S 1 , the connectivity type cannot be determined, a customization check is performed by downloading a test file which may, for example, have a size between 400 and 1000 kbit/s, preferably 600 kbit/s, S 2 . Having downloaded the test file from a server  3  over the network  2 , the switch app  10  determines whether the download speed of the test file is greater than a predefined threshold, S 3 . In an example implementation, the threshold is defined as a download speed of 100 kbit/s. The threshold may have another value, such as a value between 50 kbit/s to 300 kbit/s, or between 80 kbit/s to 200 kbit/s. In particular the threshold may be one of 90 kbit/s, 120 kbit/s, 140 kbit/s, 180 kbit/s, 200 kbit/s. 
     In case the download speed with which the test file is downloaded is greater than the pre-defined threshold, audio data requested by a user, for example via an audio app  12 , is directly downloaded as an audio file  30  from the server  3 , S 3 . Otherwise, if the download speed with which the test file is downloaded is less than or equal to the pre-defined threshold, an audio file requested by a user, for example via an audio app  12 , is downloaded as a text file  32  from the server and the audio data is played to the user from the text file  32  using a text-to-speech functionality supported by the mobile operating system of the mobile device  1 . 
     If, at S 1 , the connectivity type can be determined, it is determined, whether the connectivity type of the network connection of the mobile device  1  relates to a fast network connection having a good network speed, e.g. a network speed of at least 100 kbit/s such as a WiFi-based network, S 5 . 
     At S 5 , in case the connectivity type is a fast network connection, a signal strength analysis of the network connection is performed. Functionality supported and/or provided by the underlying mobile operating system of the mobile device  1  can be used to execute and/or perform a signal strength analysis of the detected network connection. For example, if a WiFi-based network connectivity type is determined at S 5  and if the mobile operating system of the mobile device  1  is Android, Android&#39;s WifiManager and WifiInfo classes can be implemented to check a signal strength of the determined connectivity type. The WifiManager class provides a primary API for managing several aspects of WI-FI connectivity. Basically, the WifiManager class provides an API for managing access point scan. The WifiInfo class describes the state of a WiFi connection that is active or is in the process of being active. Basically, the WifiInfo class may allow determining the link speed of the connection in Mbps. 
     In addition to an analysis of the signal strength of the determined connectivity type, the switch app  10  may also download a test file from the server  3  at S 5 . Similar to step S 3 , the test file may have a pre-defined size and a test is performed whether the test file is downloaded with a download speed greater than a pre-defined threshold. The threshold may be set depending on a signal strength of the network connection. For example, in case of a high or acceptable signal strength (e.g. 40 dBμ/m or higher), the threshold is lowered (e.g. from 120 kbit/s to 100 kbit/s). 
     If an outcome of the signal strength analysis and/or the test of the test file download compared to the pre-defined threshold value is positive, the requested audio data is downloaded directly as an audio file  30  from the server  3  in real-time, S 3 . Otherwise, the requested audio data is downloaded as a text file  32  from the server  3  and played to the user through a built-in text-to-speech functionality of the mobile operating system running on the mobile device  1 , S 4  and S 6 . 
       FIG. 3  shows an exemplary implementation of the switch app  10  when a signal strength change with regard to a network connection of a mobile device  1  to a network  2  is detected. The switch app  10  may support automatic monitoring of a change in specific telephony states on the mobile device  1 , including a service state and/or a signal strength. 
     The switch app  10  automatically notifies (or detects) a change to a previously determined signal strength of the network connect of the mobile device  1 , S 10 . In an exemplary implementation, the underlying mobile operating system of the mobile device  1  is Android, Android&#39;s PhoneStateListner class for monitoring changes in specific telephony states on the mobile device  1  including service state, signal strength, and/or message waiting indicator (voicemail) may be implemented to automatically determine and/or notify a change to the signal strength. It is checked, whether the changed or new signal strength is still acceptable to directly download audio data as audio files  30  from the server  3  via the network  2 . An acceptable signal strength may be a signal strength of a network of at least 40 dBp/m. 
     In case the new signal strength is still acceptable, a connectivity type check is performed, S 20  in order to determine a final quality of the network connection  2  of the mobile device  1  to the server  3 , S 30 . Checking the connectivity type of the notified new signal strength may comprise performing one or more or all steps S 1  to S 6  as described with reference to  FIG. 2 . Having checked the connectivity type, at S 30 , it is checked whether a signal quality (also referred to as a link quality) of the network connection is acceptable. The signal quality may be a signal-to-noise ratio and/or expressed in terms of a bit error rate (BER). An acceptable signal quality may relate to a BER of 1e06 (i.e. 1 bit per 1 million bits transmitted). 
     In case the signal quality is acceptable, audio data can be downloaded directly as an audio file  30  from the server  3  via the network  2 , S 30 . Otherwise, if the quality of the notified new signal strength is determined not to meet the criteria to download an audio file, audio data can be downloaded as a text file  32  from the server  3  via the network  2  to the mobile device  1  and played to the user using a built-in text-to-speech functionality. 
     In case the new notified signal strength is no longer acceptable, for example, if the notified signal strength is below a pre-defined threshold value, $40, the switch app determines whether the available network  2  is a fast network  2  (e.g. a network connection with a network speed of at least 100 kbit/s, for example a WiFi based network, a LTE based network, and/or a 3G/UMTS based network), S 40 . At S 40 , in case the determined network connection is a fast network connection, the fast network connection is analyzed, preferably in combination with a download of a test file from the server  3 . At S 40 , one or more or all of the steps relating to S 5  of  FIG. 2  can be implemented at S 40 . 
     At S 50 , a signal quality of the network connection is evaluated. If the quality of the signal is acceptable (e.g. a BER of 1e06 or less), audio data is downloaded in a audio file  30  from the server  3  in real-time. Otherwise, audio data is downloaded in a corresponding text file  32  and played to the user using a built-in text-to-speech transformation functionality of the mobile device  1 . 
     In case no fast network connection is determined, S 60 , audio data is downloaded In a corresponding text file  32  and played to the user using a built-in text-to-speech of the mobile device  1 . 
     The methods described with reference to  FIGS. 2 and 3  can be implemented in alternatively and/or in combination as a mobile app installable on a mobile device. 
       FIG. 4  shows an exemplary system for implementing the invention including a general purpose computing device in the form of a conventional computing environment  920  (e.g. a personal computer). The conventional computing environment includes a processing unit  922 , a system memory  924 , and a system bus  926 . The system bus couples various system components including the system memory  924  to the processing unit  922 . The processing unit  922  may perform arithmetic, logic and/or control operations by accessing the system memory  924 . The system memory  924  may store information and/or instructions for use in combination with the processing unit  922 . The system memory  924  may include volatile and non-volatile memory, such as a random access memory (RAM)  928  and a read only memory (ROM)  930 . A basic input/output system (BIOS) containing the basic routines that helps to transfer information between elements within the personal computer  920 , such as during start-up, may be stored in the ROM  930 . The system bus  926  may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. 
     The personal computer  920  may further include a hard disk drive  932  for reading from and writing to a hard disk (not shown), and an external disk drive  934  for reading from or writing to a removable disk  936 . The removable disk may be a magnetic disk for a magnetic disk driver or an optical disk such as a CD ROM for an optical disk drive. The hard disk drive  932  and the external disk drive  934  are connected to the system bus  926  by a hard disk drive interface  938  and an external disk drive interface  940 , respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer  920 . The data structures may include relevant data for the implementation of the method for optimized audio data streaming, as described above. The relevant data may be organized in a database, for example a relational database management system or an object-oriented database management system. 
     Although the exemplary environment described herein employs a hard disk (not shown) and an external disk  936 , it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories, read only memories, and the like, may also be used in the exemplary operating environment. 
     A number of program modules may be stored on the hard disk, external disk  936 , ROM  930  or RAM  928 , including an operating system (not shown), one or more application programs  944 , other program modules (not shown), and program data  946 . The application programs may include at least a part of the functionality as depicted in  FIGS. 1 to 3 . 
     A user may enter commands and information, as discussed below, into the personal computer  920  through input devices such as keyboard  948  and mouse  950 . Other input devices (not shown) may include a microphone (or other sensors), joystick, game pad, scanner, or the like. These and other input devices may be connected to the processing unit  922  through a serial port interface  952  that is coupled to the system bus  926 , or may be collected by other interfaces, such as a parallel port interface  954 , game port or a universal serial bus (USB). Further, information may be printed using printer  956 . The printer  956  and other parallel input/output devices may be connected to the processing unit  922  through parallel port interface  954 . A monitor  958  or other type of display device is also connected to the system bus  926  via an interface, such as a video input/output  960 . In addition to the monitor, computing environment  920  may include other peripheral output devices (not shown), such as speakers or other audible output. 
     The computing environment  920  may communicate with other electronic devices such as a computer, telephone (wired or wireless), personal digital assistant, television, or the like. To communicate, the computer environment  920  may operate in a networked environment using connections to one or more electronic devices.  FIG. 4  depicts the computer environment networked with remote computer  962 . The remote computer  962  may be another computing environment such as a server, a router, a network PC, a peer device or other common network node, and may include many or all of the elements described above relative to the computing environment  920 . The logical connections depicted In  FIG. 4  include a local area network (LAN)  964  and a wide area network (WAN)  966 . Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet and may particularly be encrypted. 
     When used in a LAN networking environment, the computing environment  920  may be connected to the LAN  964  through a network I/O  968 . When used in a WAN networking environment, the computing environment  920  may include a modem  970  or other means for establishing communications over the WAN  966 . The modem  970 , which may be internal or external to computing environment  920 , is connected to the system bus  926  via the serial port interface  952 . In a networked environment, program modules depicted relative to the computing environment  920 , or portions thereof, may be stored in a remote memory storage device resident on or accessible to remote computer  962 . Furthermore other data relevant to the method for optimization of evaluation of a policy (described above) may be resident on or accessible via the remote computer  962 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the electronic devices may be used. The above-described computing system is only one example of the type of computing system that may be used to implement the method for optimizing audio data streaming. 
     LIST OF REFERENCE NUMERALS 
     
         
           1  mobile device 
           2  network 
           3  server 
           10  switch app 
           12  audio app 
           30  mp3 file 
           32  text file 
         S 1 -S 6  connectivity check 
         S 10 -S 60  notification of change in a signal strength 
           920  conventional computing environment 
           922  processing unit 
           924  system memory 
           926  system bus 
           928  random access memory (RAM) 
           930  read only memory (ROM) 
           932  hard disk drive 
           934  external disk drive 
           936  removable disk 
           938  hard disk drive interface 
           940  external disk drive interface 
           944  one or more application programs 
           946  program data 
           948  keyboard 
           950  mouse 
           952  serial port interface 
           954  parallel port interface 
           956  printer 
           958  monitor 
           960  video input/output 
           962  remote computer 
           964  local area network (LAN) 
           966  wide area network (WAN) 
           968  network I/O 
           970  a modem