The present invention relates to the field of computing. More specifically, the present invention relates to processing data on a computer having extended mobile access capabilities.
Computers can take an annoyingly long time to boot up—several minutes is not uncommon. So, even when users are not actively using their computers, they often prefer to leave their computers running so they don't have to wait for their machines to boot up every time they want to check email, look at their calendar, or use a variety of other functions, services, and amenities that computers often provide on an on-going basis or in the background.
Listening to music is a good example of the type of amenity to which many users would like to have ready access. With the increased popularity of MP3 (Moving Picture Experts Group, Audio Layer III) and other digital audio formats, computers are often a user's primary device for downloading, managing, and playing audio files. Playing music on a computer, however, usually requires that the computer be in a fully active state. When a computer is in an active state, it can consume a relatively large amount of power and generate a relatively large amount of heat.
Power consumption and heat generation can be especially problematic for mobile computing. For example, a user may like to carry his notebook computer with him throughout the day to have ready access to his music, but playing MP3 files on a notebook computer may consume 10 to 14 watts of power. At that rate, the batteries in a typical notebook computer may only last 3 or 4 hours. And, due to the large amount heat, a user may not be able to carry his computer in a carrying case or bag. This is because a carrying case or bag usually does not permit sufficient air flow around a computer. With the lack of airflow, a fully active computer may overheat and break down in a fairly short period of time.
Examples of the present invention are illustrated in the accompanying drawings. The accompanying drawings, however, do not limit the scope of the present invention. Similar references in the drawings indicate similar elements.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, those skilled in the art will understand that the present invention may be practiced without these specific details, that the present invention is not limited to the depicted embodiments, and that the present invention may be practiced in a variety of alternative embodiments. In other instances, well known methods, procedures, components, and circuits have not been described in detail.
Parts of the description will be presented using terminology commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. Also, parts of the description will be presented in terms of operations performed through the execution of programming instructions. It is well understood by those skilled in the art that these operations often take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through, for instance, electrical components.
Various operations will be described as multiple discrete steps performed in turn in a manner that is helpful for understanding the present invention. However, the order of description should not be construed as to imply that these operations are necessarily performed in the order they are presented, nor even order dependent. Lastly, repeated usage of the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may.
Embodiments of the present invention can make data from a primary system of a computer available to an extended mobile access module embedded in the computer.
An extended mobile access module can include any of a variety of components. In many cases, the modules are built around low power, low heat processors or controllers, such as those commonly used in cellular phones and personal data assistants (PDAs). For example, an ARM (Advanced RISC Machine) processor could be used, such as an Xscale processor available from Intel Corporation of Santa Clara, Calif.
A module using a low power processor can consume a great deal less energy than the primary system of many mobile computers. For example, whereas a typical primary system may consume 10 to 14 watts while playing MP3 audio, and exhaust a fully charged battery pack in three or four hours, an extended mobile access module may consume just 300 milliwatts to play the same MP3 audio, providing almost 40 times the battery life. Furthermore, the heat generated by many of these processors is often so low that they can operate with little or no surrounding air flow. In other words, an extended mobile access module may be fully active without overheating, even while the computer is in a carrying case or bag.
In addition to a. processor or controller, an extended mobile access module may include, or have access to, any of a variety of other devices and components. For example, module 110 could share built-in speakers 150, port 160, and/or antenna 170 with the primary system. Through port 160 or antenna 170, the module may be able to send signals to any number of devices, such as wired headphones 180, wired speaker 185, wireless headphones 190, and wireless speaker 195. Similarly, port 160 or antenna 170 could be used to receive input from any of a variety of devices, such as a mouse or trackball. Alternately, the module could include dedicated devices and components, such as its own flash memory. In alternate embodiments, the user interface could include a touch screen rather than, or in addition to, display 120 and navigation buttons 130. The user interface could also include a number pad, track ball, stylus, and the like.
An extended mobile access module can also be embedded in a wide variety of computers, including various notebook designs as well as desktop and tablet computers. In a desktop computer, for instance, the extended mobile access module could be embedded in a keyboard. In a tablet computer, the user interface components could be used for both the primary system and the extended mobile access module. For example, the primary system may use the entire tablet screen, and the extended mobile access module may use just a portion of the screen.
The type of data made available to an extended mobile access module by embodiments of the present invention may depend on the number and type of functions that the extended mobile access module can provide. The module could be designed for a single, specific function. For example, the module could be a built-in MP3 player. In which case, embodiments of the present invention could provide audio files from the primary system in the appropriate format for the MP3 player. Or, the device could provide multiple functions, such as audio playback, calendar tools, an address book, wireless email, paging, cellular telephone, game play, etc. In which case, embodiments of the present invention could provide the appropriate data in the appropriate format for one or more of these functions.
In which case, prior to placing the primary system into a non-active state, a user can browse the audio files on primary system 210 with user interface 212 and select which files he or she wants to make available for extended mobile access. If one or more of the selected files are not in the data format supported by the extended mobile access module, transcoder 214 can be used to preprocess those files into the supported format prior to transferring the files over data bus 216 to memory 222 of module 220. By preprocessing the data using the primary system, module 220 does not need as much processing power as it otherwise would, allowing module 220 to be simpler and less expensive.
Once the files are loaded into the extended mobile access system's memory 222, primary system 210 can enter a non-active state, if desired. The module's user interface 224 can be updated to list of files in memory 222. The data can be arranged in any number of ways, and user interface 224 can provide access to the data in any number of ways. If a user selects a file, audio decoder 226 can decode the audio signal from the file.
All of the supported files, transcoded files, and data files are transferred to the extended mobile access module at 560. If, back at 530, all of the selected files were supported by the extended mobile access module, it may be possible to skip the transcoding and data record generation and go straight to transferring the files at 560.
If, at 620, any of the selected data is in a format that is not supported by the extended mobile access module, the process can preprocess the data from the unsupported format(s) to the supported format(s) at 630. That is, in order to keep the extended mobile access module simple and inexpensive, it may be designed or licensed to use only certain formats of data. On the primary system, however, a user may use a wide variety of data formats. Any number of approaches can be used to preprocess the data into supported formats. For example, the address book data on the primary system may be HTML and the extended mobile access may not be capable of rendering it. In this case the only the simple text that makes up the address book entry information would be sent to the extended mobile access module. Once the data has been preprocessed at 630, or if no data is in an unsupported state at 620, the process can transfer the data to the extended mobile access module at 640.
Alternate embodiments can combine the processes of
Certain embodiments may include additional components, may not require all of the above components, or may combine one or more components. For instance, temporary memory 920 may be on-chip with processor 910. Alternately, permanent memory 940 may be eliminated and temporary memory 920 may be replaced with an electrically erasable programmable read only memory (EEPROM), wherein software routines are executed in place from the EEPROM. Some implementations may employ a single bus, to which all of the components are coupled, or one or more additional buses and bus bridges to which various additional components can be coupled. Similarly, a variety of alternate internal networks could be used including, for instance, an internal network based on a high speed system bus with a memory controller hub and an I/O controller hub. Additional components may include additional processors, a CD ROM drive, additional memories, and other peripheral components known in the art.
In one embodiment, various functions of the present invention, as described above, can be implemented using one or more hardware systems such as the hardware system of
From whatever source, the instructions may be executed by processor 910. In one implementation, these software routines are written in the C programming language. It is to be appreciated, however, that these routines may be implemented in any of a wide variety of programming languages.
In alternate embodiments, the functions of the present invention described above may be implemented in discrete hardware or firmware. For example, one or more application specific integrated circuits (ASICs) could be programmed with one or more of the above described functions. In another example, one or more functions of the present invention could be implemented in one or more ASICs on additional circuit boards and the circuit boards could be inserted into the computer(s) described above. In another example, one or more programmable gate arrays (PGAs) could be used to implement one or more functions of the present invention. In yet another example, a combination of hardware and software could be used to implement one or more functions of the present invention.
Thus, data processing on an extended mobile access enabled computer is described. Whereas many alterations and modifications of the present invention will be comprehended by a person skilled in the art after having read the foregoing description, it is to be understood that the particular embodiments shown and described by way of illustration are in no way intended to be considered limiting. Therefore, references to details of particular embodiments are not intended to limit the scope of the claims.