Abstract:
A multi-context mobile unit includes a processor, a user interface coupled to the processor and configured to accept user input, a storage component coupled to the processor, and an input/output module coupled to the processor and configured to interact with at least one external network, wherein the processor is configured to selectively execute a plurality of virtual devices stored within the storage component in response to the user input, and wherein the plurality of virtual devices includes a first virtual device and a second virtual device having separate and isolated data access.

Description:
TECHNICAL FIELD 
       [0001]    The present invention generally relates to mobile units such as mobile computing devices, cellular phones, personal data assistants (PDAs), and the like, and more particularly relates to device virtualization in the context of such devices. 
       BACKGROUND 
       [0002]    In recent years the use of cellular phones, smart phones, global positioning systems (GPS), personal data assistants (PDAs), laptop computers, and other such mobile units has increased dramatically. As a result, individuals have become more and more dependent upon such devices. 
         [0003]    Unfortunately, it is rare for a single device to fulfill all the requirements a user may have during a typical day. Thus, an individual may carry around a PDA or cellular phone for work, another cellular phone for personal use, a laptop computer or portable game machine for entertainment, and so on. The need to carry around multiple devices is a significant inconvenience that will only increase as we become more and more dependent on portable devices and any networks associated therewith. 
         [0004]    Accordingly, it is desirable to provide improved systems and methods for mobile devices that can be used in multiple contexts. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]    A more complete understanding of the present invention may be derived by referring to the detailed description and claims when considered in conjunction with the following figures, wherein like reference numbers refer to similar elements throughout the figures. 
           [0006]      FIG. 1  is a conceptual overview of a mobile unit in accordance with an exemplary embodiment of the present invention; 
           [0007]      FIG. 2  is a conceptual high-level block diagram of an exemplary embodiment of the present invention; 
           [0008]      FIG. 3  is a flow chart of a method in accordance with embodiment; and 
           [0009]      FIG. 4  illustrates an exemplary environment in which the present invention may be practiced 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    The present invention generally relates to a multi-context mobile unit that incorporates a plurality of secure virtual devices. In this regard, the following detailed description is merely illustrative in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any express or implied theory presented in the preceding technical field, background, brief summary or the following detailed description. 
         [0011]    The invention may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. For example, an embodiment of the invention may employ various integrated circuit components, e.g., radio-frequency (RF) devices, memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that the present invention may be practiced in conjunction with any number of data transmission protocols and that the system described herein is merely one exemplary application for the invention. 
         [0012]    For the sake of brevity, conventional techniques related to signal processing, data transmission, signaling, network control, the 802.11 family of specifications, wireless networks, cellular networks, and other functional aspects of the system (and the individual operating components of the system) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent example functional relationships and/or physical couplings between the various elements. Many alternative or additional functional relationships or physical connections may be present in a practical embodiment. 
         [0013]    Referring now to  FIG. 1 , a mobile unit  100  in accordance with one embodiment generally includes one or more processors (e.g., microprocessor or microcontroller)  104 , one or more storage components (e.g., RAM, ROM, disk storage, etc.)  106 , a user interface  102 , and an I/O module  108 , all suitably interconnected via a bus or other connection means. 
         [0014]    Processor  104  is configured to carry out software and/or firmware instructions stored within storage  106 , in the conventional manner, while interfacing with user interface  102  and I/O  108 , as described in further detail below. 
         [0015]    User interface  102  may include any combination of hardware and software components configured to provide an interface with a human user, including, but not limited to, touch screens (e.g., capacitive and resistive screens), keyboards, buttons, dials, displays (e.g., LCDs, LEDs, etc.), and the like. 
         [0016]    I/O module  108  provides, among other things, wireless communication with any number of external devices and networks in accordance with the appropriate physical transmission types and protocols ( 110 ). In this regard, I/O  108  may be configured, for example, to communicate via WiFi (IEEE 802.11), IrDA (infrared), Bluetooth, ZigBee (and other variants of the IEEE 802.15 protocol), IEEE 802.16 (WiMAX or any other variation), Direct Sequence Spread Spectrum, Frequency Hopping Spread Spectrum, cellular/wireless/cordless telecommunication protocols (e.g., 3G), wireless home network communication protocols, paging network protocols, GPS, magnetic induction, satellite data communication protocols, wireless hospital or health care facility network protocols such as those operating in the WMTS bands, GPRS, and proprietary wireless data communication protocols such as variants of Wireless USB. 
         [0017]    Mobile unit  100  may take a variety of forms and have any desired physical dimensions. For example, mobile unit  100  may be the size of a cellular phone, PDA, or the like, or may be the size of a conventional laptop or sub-notebook. Indeed, mobile unit  100  may in fact be a general purpose computer configured to provide the functionality detailed below. 
         [0018]    In accordance with one aspect of the present invention, mobile unit  100  is configured to execute any number of virtual devices in a secure manner. More particularly,  FIG. 2  shows a logical, high-level block diagram of a virtualization system  200  in accordance with one embodiment of the present invention, which is implemented via the various components of mobile unit  100  shown in  FIG. 1 . 
         [0019]    Virtualization system  200  generally includes a virtual machine execution engine (or simply “engine”)  204 , a hardware layer  202 , and a plurality of virtual devices  201 . Engine  204  is configured to securely execute each of the virtual devices  201  such that they can be individually selected and operated (via user interface  102 ) by a user, all within a single mobile unit  100 . Virtual devices  201 , when selected and executed, can then interact with external networks via I/O  108 . Hardware  202  refers to the physical hardware layer corresponding to the various components of mobile unit  100  that implement the virtual devices  201  (e.g., I/O  108 , processor  104 , user interface  102 , etc.). 
         [0020]    Each of the virtual devices  201  may emulate any type of component, software program, or device, including, without limitation, a cellular telephone, a personal data assistant, a remote control device, a web browser, an instant messaging application, a digital camera, a video game platform, a multimedia player, a radio band tuner, a kiosk, an automotive key fob, automotive computer, a television monitor, or any other device now known or later developed. 
         [0021]    Each virtual device  201  is preferably securely isolated such that, for example, they do not have access to each others data and storage. Each is preferably also independent as seen by the various wireless carriers associated therewith (e.g., separate billing, features, lock-down policies, carrier features, etc.) 
         [0022]    In accordance with another aspect, forensic snapshots and/or back-ups of each virtual device  201  can be periodically stored to a backup archive or re-enabled. If a virtual device  201  is lost or damaged it can be restored using such a snapshot. Further, if a law enforcement agency requires review of the data associated with a particular virtual device  201 , that agency can then execute the saved snapshot previously-captured in order to complete their review. 
         [0023]    Virtual devices  201  are preferably portable such that they can be loaded onto other host emulators (e.g., hardware configurations other than mobile unit  100 ). For example, a virtual device  201  may be moved to a laptop computer, a set-top box, or the like. In this way, as new and faster hardware becomes available, the user may maintain his or her favorite virtual device settings. 
         [0024]    In accordance with another aspect, the host emulator or mobile unit  100  is configured to favor performance of one virtual machine  201  over another virtual machine  201  based on, among other things, usage profiles. For example, during work hours, a virtual device  201  associated with a work phone may be given priority (with respect to clock speed, transmission rate, etc.) over a virtual device  201  associated with the user&#39;s personal phone. 
         [0025]    Virtual devices  201  can be provisioned or activated based on the location of mobile unit  100 . For example, retailers may provide a virtual phone to customers for their personal use while shopping within the site. As an incentive, shoppers may talk to friends for free as long as they continue to shop within the store, or they may be given phone time or WiFi credits based on their purchases in real time. This may be combined with affinity marketing—i.e., targeted ads are pushed to mobile unit  100  based on such purchases. In such a model, the retailer owns and controls uploading of the virtual phone, pays the carriers, and may disable the phone at any time. Similarly, employers may issue virtual phones that are active only during business hours. 
         [0026]      FIG. 3  depicts a provisioning method  300  in accordance with one example embodiment, and is referenced in conjunction with the environment illustrated in  FIG. 4 . As shown, one or more users  410  enters the premises  402  (step  302 ) (e.g., a retail site, a school, a business, etc.) with an associated mobile unit  100 . Premises  402  may of course have any arbitrary shape and structure, and may be defined by a “virtual fence,” i.e., a system of GPS, RFID, or other such components capable of providing locationing of items within the environment such as indoor location-based services. 
         [0027]    After entering the premises  402 , a user  410  is notified, on mobile unit  100 , that a virtual device (such as a cell phone) is available for provisioning (step  304 ). In  FIG. 4 , such a virtual device  201  may be provided on a server  404  coupled to suitable network components, such as an access point  406  configured to wirelessly communicate with mobile unit  100  (e.g., via a  802 . 11  protocol). The user then may reject or accept the provisioning through any suitable user interface (step  306 ). When accepted, the virtual device  201  is downloaded and installed on mobile unit  100  (step  308 ). Additional authentication, identification, or other steps may be required, depending upon the context. 
         [0028]    During the time that virtual device  201  is provisioned on mobile unit  100 , it may be used for its intended purpose until the virtual device expires or experiences another terminating condition (step  310 ). At that time, the virtual device is disabled, removed, deleted, and/or de-installed from mobile unit  100  (step  312 ). The terminating event may, for example, relate to the mobile unit being removed from premises  402 , the passing of a predetermined elapsed time of use, the manual removal of the virtual device from the mobile unit by the user, or the like. In one embodiment, in a retail context, the user may extend the use of the virtual device by purchasing certain items or through other aspects of affinity marketing. 
         [0029]    Each virtual device  201  may be implemented using any suitable software code—e.g., a scripting language such as Python, Ruby, etc., a compiled language such as C, C++, C#, etc., or a platform independent bytecode-producing language such as Java, etc. Those skilled in the art will recognize that the functionality described herein may be implemented in a variety of ways, and is thus not limited to any particular software model. 
         [0030]    It should be appreciated that the example embodiment or embodiments described herein are not intended to limit the scope, applicability, or configuration of the invention in any way. For example, these methods may be used in connection with standard barcode readers and the like. In general, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the described embodiment or embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the invention as set forth in the appended claims and the legal equivalents thereof.