Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
In addition, while several embodiments of the method of the present invention are performed or used by a mobile terminal 10, the method may be employed by other than a mobile terminal. Moreover, the system and method of exemplary embodiments of the present invention will be primarily described in conjunction with mobile communications applications. It should be understood, however, that the system and method of embodiments of the present invention can be utilized in conjunction with a variety of other applications, both in the mobile communications industries and outside of the mobile communications industries.
The mobile terminal 10 includes an antenna 12 in operable communication with a transmitter 14 and a receiver 16. The mobile terminal 10 further includes a controller 20 or other processing element that provides signals to and receives signals from the transmitter 14 and receiver 16, respectively. The signals include signaling information in accordance with the air interface standard of the applicable cellular system, and also user speech and/or user generated data. In this regard, the mobile terminal 10 is capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. By way of illustration, the mobile terminal 10 is capable of operating in accordance with any of a number of first, second and/or third-generation communication protocols or the like. For example, the mobile terminal 10 may be capable of operating in accordance with second-generation (2G) wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA), or with third-generation (3G) wireless communication protocols, such as UMTS, CDMA2000, and TD-SCDMA.
It is understood that the controller 20 includes circuitry required for implementing audio and logic functions of the mobile terminal 10. For example, the controller 20 may be comprised of a digital signal processor device, a microprocessor device, and various analog to digital converters, digital to analog converters, and other support circuits. Control and signal processing functions of the mobile terminal 10 are allocated between these devices according to their respective capabilities. The controller 20 thus may also include the functionality to convolutionally encode and interleave message and data prior to modulation and transmission. The controller 20 can additionally include an internal voice coder, and may include an internal data modem. Further, the controller 20 may include functionality to operate one or more software programs, which may be stored in memory. For example, the controller 20 may be capable of operating a connectivity program, such as a conventional Web browser or a Web server. The connectivity program may then allow the mobile terminal 10 to transmit and receive Web content, such as location-based content, according to a Wireless Application Protocol (WAP), for example. Also, for example, the controller 20 may be capable of operating a software application capable of analyzing text and selecting music appropriate to the text. The music may be stored on the mobile terminal 10 or accessed as Web content.
The mobile terminal 10 also comprises a user interface including an output device such as a conventional earphone or speaker 24, a ringer 22, a microphone 26, a display 28, and a user input interface, all of which are coupled to the controller 20. The user input interface, which allows the mobile terminal 10 to receive data, may include any of a number of devices allowing the mobile terminal 10 to receive data, such as a keypad 30, a touch display (not shown) or other input device. In embodiments including the keypad 30, the keypad 30 may include the conventional numeric (b 0-9) and related keys (#, *), and other keys used for operating the mobile terminal 10. Alternatively, the keypad 30 may include a conventional QWERTY keypad arrangement. The mobile terminal 10 further includes a battery 34, such as a vibrating battery pack, for powering various circuits that are required to operate the mobile terminal 10, as well as optionally providing mechanical vibration as a detectable output.
The mobile terminal 10 may further include a universal identity module (UIM) 38. The UIM 38 is typically a memory device having a processor built in. The UIM 38 may include, for example, a subscriber identity module (SIM), a universal integrated circuit card (UICC), a universal subscriber identity module (USIM), a removable user identity module (R-UIM), etc. The UIM 38 typically stores information elements related to a mobile subscriber. In addition to the UIM 38, the mobile terminal 10 may be equipped with memory. For example, the mobile terminal 10 may include volatile memory 40, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The mobile terminal 10 may also include other non-volatile memory 42, which can be embedded and/or may be removable. The non-volatile memory 42 can additionally or alternatively comprise an EEPROM, flash memory or the like, such as that available from the SanDisk Corporation of Sunnyvale, Calif., or Lexar Media Inc. of Fremont, Calif. The memories can store any of a number of pieces of information, and data, used by the mobile terminal 10 to implement the functions of the mobile terminal 10. For example, the memories can include an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the mobile terminal 10.
Referring now to
The MSC 46 can be coupled to a data network, such as a local area network (LAN), a metropolitan area network (MAN), and/or a wide area network (WAN). The MSC 46 can be directly coupled to the data network. In one typical embodiment, however, the MSC 46 is coupled to a GTW 48, and the GTW 48 is coupled to a WAN, such as the Internet 50. In turn, devices such as processing elements (e.g., personal computers, server computers or the like) can be coupled to the mobile terminal 10 via the Internet 50. For example, as explained below, the processing elements can include one or more processing elements associated with a computing system 52 (two shown in
The BS 44 can also be coupled to a signaling GPRS (General Packet Radio Service) support node (SGSN) 56. As known to those skilled in the art, the SGSN 56 is typically capable of performing functions similar to the MSC 46 for packet switched services. The SGSN 56, like the MSC 46, can be coupled to a data network, such as the Internet 50. The SGSN 56 can be directly coupled to the data network. In a more typical embodiment, however, the SGSN 56 is coupled to a packet-switched core network, such as a GPRS core network 58. The packet-switched core network is then coupled to another GTW 48, such as a GTW GPRS support node (GGSN) 60, and the GGSN 60 is coupled to the Internet 50. In addition to the GGSN 60, the packet-switched core network can also be coupled to a GTW 48. Also, the GGSN 60 can be coupled to a messaging center. In this regard, the GGSN 60 and the SGSN 56, like the MSC 46, may be capable of controlling the forwarding of messages, such as MMS messages. The GGSN 60 and SGSN 56 may also be capable of controlling the forwarding of messages for the mobile terminal 10 to and from the messaging center.
In addition, by coupling the SGSN 56 to the GPRS core network 58 and the GGSN 60, devices such as a computing system 52 and/or origin server 54 may be coupled to the mobile terminal 10 via the Internet 50, SGSN 56 and GGSN 60. In this regard, devices such as the computing system 52 and/or origin server 54 may communicate with the mobile terminal 10 across the SGSN 56, GPRS core network 58 and the GGSN 60. By directly or indirectly connecting mobile terminals 10 and the other devices (e.g., computing system 52, origin server 54, etc.) to the Internet 50, the mobile terminals 10 may communicate with the other devices and with one another, such as according to the Hypertext Transfer Protocol (HTTP), to thereby carry out various functions of the mobile terminals 10.
Although not every element of every possible mobile network is shown and described herein, it should be appreciated that the mobile terminal 10 may be coupled to one or more of any of a number of different networks through the BS 44. In this regard, the network(s) can be capable of supporting communication in accordance with any one or more of a number of first-generation (1G), second-generation (2G), 2.5G and/or third-generation (3G) mobile communication protocols or the like. For example, one or more of the network(s) can be capable of supporting communication in accordance with 2G wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, one or more of the network(s) can be capable of supporting communication in accordance with 2.5G wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. Further, for example, one or more of the network(s) can be capable of supporting communication in accordance with 3G wireless communication protocols such as Universal Mobile Telephone System (UMTS) network employing Wideband Code Division Multiple Access (WCDMA) radio access technology. Some narrow-band AMPS (NAMPS), as well as TACS, network(s) may also benefit from embodiments of the present invention, as should dual or higher mode mobile stations (e.g., digital/analog or TDMA/CDMA/analog phones).
The mobile terminal 10 can further be coupled to one or more wireless access points (APs) 62. The APs 62 may comprise access points configured to communicate with the mobile terminal 10 in accordance with techniques such as, for example, radio frequency (RF), Bluetooth (BT), infrared (IrDA) or any of a number of different wireless networking techniques, including wireless LAN (WLAN) techniques such as IEEE 802.11 (e.g., 802.11a, 802.11b, 802.11g, 802.11n, etc.), WiMAX techniques such as IEEE 802.16, and/or ultra wideband (UWB) techniques such as IEEE 802.15 or the like. The APs 62 may be coupled to the Internet 50. Like with the MSC 46, the APs 62 can be directly coupled to the Internet 50. In one embodiment, however, the APs 62 are indirectly coupled to the Internet 50 via a GTW 48. Furthermore, in one embodiment, the BS 44 may be considered as another AP 62. As will be appreciated, by directly or indirectly connecting the mobile terminals 10 and the computing system 52, the origin server 54, and/or any of a number of other devices, to the Internet 50, the mobile terminals 10 can communicate with one another, the computing system, etc., to thereby carry out various functions of the mobile terminals 10, such as to transmit data, content or the like to, and/or receive content, data or the like from, the computing system 52. As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of the embodiments of the present invention.
Although not shown in
An exemplary embodiment of the invention will now be described with reference to
Referring now to
The input device 74 and the output device 78 may be any information source or drain. Some examples of typical input devices and output devices include computers, hard drives, mobile phones, music players, home stereo systems, etc. However, embodiments of the present invention are not limited to use with the devices listed above. As such, the devices listed above are provided for purposes of example and not of limitation.
In order to perform such conversion, the mobile gateway 70 includes a conversion application 82 as shown in
In an exemplary embodiment, the mobile gateway 70 may implement web based technologies. For example, the mobile gateway 70 may be operated via a browser disposed, for example, at the mobile gateway 70 or at a device in communication with the mobile gateway 70. In other words, in a situation where the mobile gateway 70 is embodied as the mobile terminal 10, the browser may be a browser of the mobile terminal 10. Alternatively, a browser, for example, of a remote user interface device such as a personal computer may be in communication with the mobile gateway 70. In either example above, the browser may enable a user to assign a desired destination format for information received. As such the user may assign a particular destination format based on the user's knowledge of a particular output device or the user's desires. Alternatively, the user may select a destination format from a list of formats supported by a particular output device in communication with the mobile gateway 70. In such a case, the mobile gateway 70 may automatically query the output device to determine which formats the output device supports and display the supported formats to the user to enable user selection of one of the formats supported as the destination format. Alternatively, the mobile gateway 70 may determine capabilities of the output device 78 and automatically assign the desired destination format from among those formats the output device 78 is capable of using. Such an automatic assignment may be made based upon a preference of the mobile gateway 70 to perform conversions between particular formats which may be common or supportable using a minimum of resources.
In an exemplary embodiment, the conversion application 82 may act as a mobile web server which is accessible via the browser, for example, of the mobile terminal 10. The conversion application 82 may be any device or means embodied in either hardware, software, or a combination of hardware and software capable of providing or arranging for conversion between any two file formats. In an exemplary embodiment, the conversion application 82 may be embodied in software as instructions that are stored on a memory (such as a memory of the mobile terminal 10) and executed by a processing element (such as the controller 20). Alternatively, the mobile gateway 70 may itself include a memory device and a processing element. A processing element such as those described above may be embodied in many ways. For example, the processing element may be embodied as a processor, a coprocessor, a controller or various other processing means or devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit).
In an exemplary embodiment, the mobile gateway 70 may include an upload directory 84 and a download directory 86. The upload and download directories 84 and 86 are each in electrical communication with the conversion application 82. The upload and download directories 84 and 86 may each be any means or device capable of storing information such as a file, regardless of a format of the file. As such, the upload and download directories 84 and 86 may each be embodied, for example, as a memory device, register or buffer capable of storing information. The upload directory 84 may be configured to receive the input file 76 to be converted prior to communication of the input file 76 to the conversion application 82. Meanwhile, the download directory 86 may be configured to receive the output file 80, which has been converted, from the conversion application 82. In an exemplary embodiment, communication between the upload and download directories 84 and 86 and the input and output devices 74 and 78, respectively, may be in communication with each other via either a wired or wireless connection using internet protocol (IP) or any other suitable protocol for communication.
The conversion application 82 may include a capability determining element 90 and a local transcode server 92. The capability determining element 90 may be any device or means embodied in either hardware, software, or a combination of hardware and software capable of determining capabilities of devices in communication with the mobile gateway 70, or of the mobile gateway 70 itself. In an exemplary embodiment, the capability determining element 90 may be embodied as instructions stored on a memory device and executed by a processing element. Accordingly, the capability determining element 90 may be configured to determine the capabilities of a particular device to provide or receive information in a particular format. Furthermore, the capability determining element 90 may be configured to determine whether, given a particular format of the input file 76, the local transcode server 92 is capable of converting the input file 76 into a desired format of the output file 80 or if the conversion application 82 should engage the remote transcode server 72 to perform the conversion. The capability determining element 90 may access a capability database 94 in order to determine corresponding capabilities of devices in communication with the mobile gateway 70. In an exemplary embodiment, the capability determining element 90 may communicate with the input and/or output devices 74 and 78 to access the capability database 94, which may be disposed on the input and/or output devices 74 and 78, respectively, which thereby communicates the corresponding capabilities of the input and/or output devices 74 and 78 to the conversion application 82. In another exemplary embodiment, the capability determining element 90 may access the capability database 94 on the mobile gateway 70. In yet another exemplary embodiment, the capability database 94 may be disposed on a network device and accessed by the conversion application 82, for example, via the internet or a wireless connection. Although the preceding description is directed to determining capabilities using a capability database, any other suitable method is also envisioned.
The local transcode server 92 may be any means or device embodied in either hardware, software, or a combination of hardware and software that is capable of providing file format conversions between any of a plurality of formats including proprietary formats and other commonly or uncommonly used formats. In an exemplary embodiment, the local transcode server 92 may include a capability to convert between a number of the most common file formats and codecs. In other words, the local transcode server 92 may be configured to support a number of the most common conversions. If desired, the local transcode server 92 may be a small server capable of supporting a limited number of conversions. Such a small server may be advantageous in certain embodiments of the present invention in which size of the mobile gateway 70 (or size of the mobile terminal 10) is desirably minimized.
It should be noted that although the capability determining element 90 may enable the mobile gateway 70 to determine the capabilities of both the input and output devices 74 and 78, it may not be desirable to determine the capabilities of the input device 74. Instead, only the format of the input file 76 may be determined. As such, processing at the mobile gateway 70 may be minimized since the input file 76 may be taken “as is” and conversion to a desirable format of the output file 80 may be undertaken by the conversion application 82 with minimal processing. Thus, the capability determining element 90 may determine a first format of the input file 76 and then determine the capabilities of the output device 78 and select a second format (or the user may select the second format) with which the output device 78 is compatible. The capability determining element 90 may then determine the capabilities of the mobile gateway 70 to determine if conversion from the first format to the second format is supported by the local transcode server 92 or if conversion must be performed by the remote transcode server 72. It should be noted that, in situations where the output device is compatible with multiple formats, the second format may be selected based on the capabilities of the mobile gateway 70. In other words, the capability determining element 90 may determine that a conversion between the first and second formats is supported by the local transcode server 92, while a conversion into other formats supported by the output device 78 would not be supported by the local transcode server 92. As such, the capability determining element 90 may instruct the conversion application 82 to convert from the first format to the second format in order to maximize conversion efficiency by performing the conversion at the mobile gateway 70 instead of utilizing resources external to the mobile gateway 70 (i.e. the remote transcode server 72).
In exemplary embodiments in which the capabilities of the input device 74 are determined, such determination may be useful in situations in which the input device 74 is capable of providing the input file 76 in numerous alternative formats. As such, the capability determining element 90 may determine the capabilities of the input device 74 in order to determine, based on the conversions supported by the local transcode server 92, which format in which to request the input file 76 to be communicated to the mobile gateway 70. Thus, where conversion from a first format to a second format is supported by the local transcode server 92, the capability determining element may communicate with the input device 74 to request the input file 76 in the first format (from among a number of formats supported by the input device 74) in order to enable conversion from the first format of the input file 76 into the second format at the output file 80.
In operation, according to an exemplary embodiment, the input file 76 is received at the upload directory 84. The conversion application 82 may then access the input file 76 from the upload directory 84 to determine a file format of the input file 76 (for example, the first format). Alternatively, as described above, the upload directory may receive the input file 76 in the first format responsive to a request from the mobile gateway 70 to receive the input file 76 in the first format after the capability determining element 90 has determined the capabilities of the input device 74. Thereafter, based on the determination of the capabilities of the output device 78 a second format is selected (automatically or by the user) for the output file 80 and the capability determining element 90 determines whether the local transcode server 92 is capable of performing the conversion from the first format to the second format. If the local transcode server 92 is capable of performing the conversion from the first format to the second format, then the conversion application 82 employs the local transcode server 92 to perform the conversion. If the local transcode server 92 is not capable of performing the conversion from the first format to the second format, then the conversion application 82 communicates with the remote transcode server 72 to effectuate conversion from the first format to the second format. As stated above, the server look-up service 96 may be employed to locate remote resources for performing the conversion.
If necessary or desired, a third format or other intermediate formats may be employed at either or both of the local or remote transcode servers 92 or 72 in order to effectuate the conversion from the first format to the second format. Following conversion from the first format to the second format, the output file 80, which is in the second format, may be stored in the download directory 86 which is in communication with both the local and remote transcode servers 92 and 72. From the download directory 86, the output file 80 may either be pushed to the output device 78 or pulled from the download directory 86 by the output device 78.
It should be noted that the operations described above may be conducted during a real time conversion or may be conducted asynchronously. As an example of a real time conversion, the mobile gateway 70 may be placed in communication with the input and output devices 74 and 78 via either a wireless connection, a wired connection such as, for example, via universal serial bus (USB) connection using a mass storage profile and the input file 76 may be uploaded to the upload directory 84. Alternatively, file server functionality may be implemented on the input device 74 and the browser described above may be employed to browse various files on the input device 74 to select a particular file as the input file 76, which is then uploaded to the upload directory 84. After upload at the upload directory, the conversion application 82 may be employed to perform conversion using either of the local or remote transcode servers 92 and 72 as described above. The output file 80 may then be stored momentarily at the download directory 86 before the output file 80 is either pushed to the output device 78 or pulled from the download directory 86 by the output device 78. In the above described example, it is assumed that the only delays between input of the input file 76 and output of the output file 80 are due to processing times within the mobile gateway 70 or, if necessary, at the remote transcode server 72. In other words, neither the input file 76 nor the output file 80 is necessarily stored in the mobile gateway 70 beyond the time necessary to perform the conversion and output the output file 80. As such, the upload and download directories 84 and 86 may only be temporary storage devices and the input 76 and output files 80 may be deleted automatically following completion of each conversion process.
A real world example of such an operation may be realized in a situation in which a user wishes to access a music file which is stored in a first format on a mass storage device and play content associated with the music file on the user's home stereo in a second format. As such, the mobile gateway 70 may be placed in electronic communication with both the mass storage device (i.e., the input device 74) and the home stereo (i.e., the output device 78), for example, via USB connection. A browser application on the mobile gateway 70 may be used to access the music file from the mass storage device for immediate conversion to the second format for output at the home stereo.
An example of asynchronous conversion may be any of the following. In one exemplary embodiment, the user may be at a friend's house and wish to receive a copy of a particular music file from the friend's mass storage device in order to enable the user to play the particular music file at the user's home stereo. Accordingly, the user may upload the particular music file into the upload directory 84 for storage, for example, via USB connection. When the user arrives at the user's house, the user may place the mobile gateway 70 in communication with the user's home stereo, for example, via USB connection. Following a determination of the capabilities of the user's home stereo, the second format may be selected and conversion may be performed from the first format to the second format, as described above, using either of the local or remote transcode servers 92 or 72 to produce the output file 80 to be stored in the download directory 86. The output file 80 may then either be pushed from the download directory 86 to the home stereo or the home stereo may pull the output file 80 from the download directory 86. Following output of the output file 80 to the home stereo, copies of the input file 74 and/or the output file 80 may be expunged from the upload and/or download directories 84 and 86, respectively, or stored in either or both of the upload and/or download directories 84 and 86 indefinitely.
In another exemplary embodiment, the process described above is substantially the same except that if the user knows the second format which the home stereo employs, the user may select conversion from the first format to the second format at the time of upload of the input file 76 and the output file 80, which is in the second format 80, may be stored at the download directory 86 indefinitely to enable the user to output the output file 80 to the home stereo at a future time selected by the user. In other words, according to either of the exemplary embodiments above describing asynchronous conversion, the upload and/or download directories 84 and 86 may be used as long term storage devices to store copies of information in the first and/or second formats for either conversion or output of the formats at some future time. Alternatively, the input file 74 and/or the output file 80 may be transferred internally or externally to a memory device for long term storage in either or both of the first and second formats.
Accordingly, blocks or steps of the flowcharts support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that one or more blocks or steps of the flowcharts, and combinations of blocks or steps in the flowcharts, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
In this regard,
The above described functions may be carried out in many ways. For example, any suitable means for carrying out each of the functions described above may be employed to carry out embodiments of the invention. In one embodiment, all or a portion of the elements of embodiments of the invention generally operate under control of a computer program product. The computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which embodiments of these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that embodiments of the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.