Sign In to Follow Application
View All Documents & Correspondence

Handheld Electronic Devices

Abstract: Disclosed herein is a handheld electronic device (100), such as, smart phones optimized to enhance battery life without compromising on processing capabilities. In accordance with one embodiment of the subject matter described herein, a handheld electronic device (100) comprising a plurality of processors (102, 104), a multi-protocol multi-root input output virtualization (MPMRIOV) switch (108) electronically connected to at least one of the plurality of processors (102, 104) and a peripheral and interface virtualization unit (112) connected to the MPMRIOV switch (108) is described. The handheld electronic device (100) optimizes power consumption without compromising on processing power or features. The handheld electronic device (100) also enables simultaneous sharing of peripherals (116) and components among multiple operating systems running on the plurality of processors (102, 104) so as to reduce hardware redundancy.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
19 August 2010
Publication Number
28/2012
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INEDA SYSTEMS PVT. LTD
8-2-120/115/C, SUDHA ENCLAVE, ROAD NO.2, BANJARA HILLS, HYDERABAD-500 034

Inventors

1. BALAJI KANIGICHERLA
PLOT 64, CYBER MEADOWS, MASJID BANDA, NEAR CHIREC PUBLIC SCHOOL, KONDAPUR, HYDERABAD-500 084
2. SIVA RAGHU RAM VOLETI
FLAT #408, SMR VINAY TECHNOPOLIS, KONDAPUR; HYDERABAD 500 084
3. KRISHNA MOHAN TANDABOINA
FLAT S-503, VAMSY SPAN COLLECTIVE HOMES, MAYURI MARG, BEGUMPET, HYDERABAD 500 016
4. DHANUMJAI PASUMARTHY
PLOT-42, AKRUTHI NEST APARTMENTS, FLAT-8, KAMALAPUR COLONY PH-3, HYDERABAD 500 073

Specification

TECHNICAL FIELD

[0001] The present subject matter, in general, relates to electronic devices and in particular to handheld electronic devices.

BACKGROUND

[0002] Progress in the field of semiconductor technology has reduced the size of electronic devices as well as enhanced their processing capabilities. Handheld devices can be classified into various categories, such as mobile phones, smart phones, notebooks, tablets, personal digital assistants (PDAs), multimedia players, and gaming devices. The handheld devices usually have modest power consumption, and are lightweight.

[0003] The handheld devices, such as the smart phones, often integrate functionalities of conventional computing devices and communication devices. The handheld devices may also have various modules like baseband module, blue tooth module, wireless module, and infrared module for facilitating connection with various networks and/or devices. Further the handheld devices may also include an application processor powerful enough to run various applications like e-messengers, electronic mail (e-mail) clients, Office™ tools, audio/video player and recorder, etc., besides basic cellular phone functionalities like voice call, messaging, etc. This makes the handheld device a very convenient and portable 'all-in-one' type of device.

[0004] Still, a common issue with the handheld device is their user input unit, which is in the form of a miniaturized keyboard or touch screen that makes the handheld device less user friendly. Further, certain applications like multimedia editing and processing, gaming, etc., require a sufficiently big display screen; a full size user interaction device like keyboard, mouse etc.; high processing power; and extra storage capacity than what is available in conventional handheld devices

[0005] Sometimes, additional modules may be packaged onto the handheld devices to provide the abovementioned functionalities. However, packing various types modules and applications and addition of multiple external units, for example, camera, into a single hand held device tends to make the handheld device bulky and heavy. Moreover, the additional modules increase the power consumption of the handheld device and thus reduces the battery life of the handheld devices.


SUMMARY

[0006] This summary is provided to introduce concepts related to handheld electronic devices and the concepts are further described below in the detailed description. This summary is neither intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.

[0007] In accordance with one embodiment of the subject matter described herein, a handheld device is disclosed. In said implementation, the handheld device comprises a first processor, a second processor and a multi-protocol multi-root input output virtualization (MPMRIOV) switch communicatively coupled to at least one of the first processor (102) and the second processor (104). The MPMRIOV switch is further configured to communicate with at least one of a Peripheral Component Interconnect (PCI) compliant peripheral device, a Peripheral Component Interconnect express (PCIe) compliant peripheral device, a non PCI compliant peripheral device, and a non PCIe compliant peripheral device.

[0008] In accordance with another embodiment of the subject matter described herein, a smart phone is disclosed. In said implementation, the smart phone comprises a high configuration processor and a personal computer enabler application processor unit (PCEAPU). The PCEAPU further comprises a low configuration processor and a multiprotocol multi-root input output virtualization (MPMRIOV) switch communicatively coupled to at least one of the high configuration processor and the low configuration processor. The MPMRIOV switch is further configured to communicate with at least one of a Peripheral Component Interconnect (PCI) compliant peripheral device, a Peripheral Component Interconnect express (PCIe) compliant peripheral device, a non PCI compliant peripheral device, and a non PCIe compliant peripheral device.

[0009] In accordance with another embodiment of the subject matter described herein, a method for switching operating systems in a multi-processor system is disclosed. In said implementation, the method for switching operating systems comprises receiving an input to operate a second operating system while operating a first operating system and context saving the first operating system. The method further comprises switching the first operating system to an optional low power state and operating the second operating system in a full power state.


[00010] These and other features, aspects, and advantages of the present subject matter will be better understood with reference to the following description.

BRIEF DESCRIPTION OF DRAWINGS

[00011] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components

[00012] Fig. 1 illustrates an exemplary handheld electronic device, according to an embodiment of the present subject matter.

[00013] Fig. 2 illustrates exemplar) components of a multi-processor smart phone, according to another embodiment of the present subject matter.

[00014] Fig. 3 illustrates an exemplary method of switching between operating modes of the multi-processor smart phone, according to an embodiment of the present subject matter.

[00015] Fig. 4 illustrates an exemplary mechanism to operate the multi-processor smart phone using a docking station, according to an embodiment of the present subject matter.

DETAILED DESCRIPTION

[00016] The present subject matter relates to handheld electronic devices. Handheld electronic devices can be classified into various categories based on their functionalities, and may include the following: smort phones, audio/video players, personal digital assistants (PDAs), palmtops, mobile phones, gaming devices, digital cameras, pagers, tablets, note books, net-books, and personal navigation device. Advancement in technology has resulted in the integration of various functionalities of different categories of devices in a single handheld device like a smart phone, thereby increasing its utility.

[00017] Conventional smart phones not only support basic cellular phone features, such as voice calls and messaging, but also provide additional functionalities. For example, the smart phone may also be used as an audio/video player, audio/video recorder, digital camera, gaming unit, navigation device etc. Integration of a powerful processor in a smart phone enables a user to use features like document editor, calculator, creation or editing of multimedia files and .file format converter.

[00018] The smart phone usually includes different modules to connect to other computing and communication devices, for example, in wired mode by using a universal serial bus (USB) cable, IEEE1394 (Firewire) cable, or in wireless mode by using Bluetooth, infra-red, Wi-Fi, general packet radio service (GPRS), etc. The smart phone may also support multiple categories of mobile communication networks, such as, global system for mobile communication (GSM) and code division multiple access (CDMA).

[00019] However, battery life, portability considerations, and form factor impose limitations on the capabilities of the smart phone as a computing or information processing device. Generally the smart phone has a small size keyboard or touch screen with an optional stylus as user input modules. Additionally constraints on the size of the smart phone further limit the size of the display screen leading to the inconvenience of users. Further, integration of a number of modules in a single smart phone tends to make the smart phone bulky and heavy and also results in lower battery life.

[00020] The present subject matter describes a handheld electronic device, hence forth referred to as the device that has enhanced battery life without compromising on processing capabilities and functionalities.

[00021] The device, according to an embodiment of the present subject matter, comprises at least a first host processor, a second host processor and memory coupled to each of the host processors. In one implementation, the second host processor is implemented in a personal computer enabler application processor unit, henceforth referred to as the PCEAPU. In one implementation, the PCEAPU may be electronically connected to the first host processor. In another implementation, the second host processor may be implemented external to the PCEAPU further, the device may also include one or more interfaces to facilitate connection and communication with external systems, peripherals, networks, etc. In one embodiment, at last one of the interfaces facilitates connection of the device with a cellular network.

[00022] In one implementation, a high end operating system is run on the first host processor and a low end operating system is run on the second host processor. In said implementation, the high end operating system running on the first host processor has higher processing ability, more features but has higher power consumption as compared to the low end operating system running on the second host processor. The mode of operation of the high end operating system may be referred to as the high power mode while that of the low end operating system may be referred to as low power mode. However, in another implementation, the low end operating system may be run on the first host processor and the high end operating system may be operated on the second host processor. Yet in another implementation, the same operating system may be run on both the first host processor and the second host processor, without limiting the scope of the present subject matter.

[00023] Any one of the high end operating system or the low end operating system can be designated as the primary operating system i.e. the operating system that is by default loaded onto the device when the device is booted. The device may facilitate the user, through inputs facilitated by hardware, software tools, firmware or a combination thereof, to designate and change the primary operating system as per choice and/or requirement.

[00024] The device may be configured to run either the high end operating system or the low end operating system or run both the high end operating system and the low end operating system concurrently. For example, while running a high end application requiring high hardware support, the high end operating system on the first host processor may be run, whereas in case of a low-end application, the low end operating system on the second host processor may be utilized. To optimize power consumption, the device may be configured to switch from the high end operating system to the low end operating system without any data or work interruption giving the user a seamless switching experience. The switching from the high end operating system to the low end operating system and vice-versa may either be performed by the device automatically or for example in response to an external event like loss of external power source, undocking from a charging unit or a docking station, etc., or be triggered by the user input either through hardware or software or firmware or a combination thereof. However, the device may provide the user to opt for continuing in the high power mode even while running on in-built power source at the cost of reduced battery life.

[00025] In order to reduce hardware redundancy, the device facilitates the sharing of the device's resources and peripherals among the operating systems running on the first host processor and the second host processor simultaneously. The device is configured to be used with various peripherals supporting various interfacing protocols, for example, peripheral component interconnect (PCI) compliant, peripheral component interconnect express (PCIe) compliant, non-PCI compliant and non-PCIe compliant peripherals.

[00026] For example, the device may include or may be connected to various storage controllers, like Serial Advanced Technology Attachments (SATA), NAND flash memory, multimedia cards (MMC), Consumer Electronics Advanced Technology Attachment (CEATA); connectivity modules like baseband interfaces, Serial Peripheral Interfaces (SPI), Inter-integrated Circuit (I2C), Infrared Data Association (IrDA) compliant devices; media controllers like camera, Integrated Inter-chip Sound (I2S); media accelerators like audio encode-decode engines, video encode-decode engines, graphics accelerator; security modules like encryption engines, key generators, etc.

[00027] It will be appreciated that the concepts explained in context of handheld devices may be extended to various other electronic devices, for example a laptop. Though the device has been described as having two processors, it should be appreciated that the present subject matter can be extended to device having more than two processors. These and other features and advantages of the device will be further described in conjunction with the following figures and embodiments.

[00028] Fig. 1 shows the exemplary components of a handheld device 100, according to an embodiment of the present subject matter. The handheld device, henceforth referred to as the device 100 comprises a first host processor 102, a second host processor 104. The first host processor 102 and the second host processor 104 are coupled to a first memory 106-1 and a second memory 106-2, respectively.

[00029] The first host processor 102 and the second host processor 104 can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, or any devices that manipulate signals based on operational instructions. Among other capabilities, the first host processor 102 and the second hort processor 104 can be configured to fetch and execute computer-readable instructions and data stored in either of the first memory 106-1 or the second memory 106-2.

[00030] The first memory 106-1 and the second memory 106-2 can include any computer-readable medium known in the art including, for example, volatile memory (e.g., RAM) and/or non-volatile memory (e.g., flash, etc.). The first memory 106-1 and the second memory 106-2 may include module and data. The module usually includes routines, programs, objects, components, data structure, etc., that perform particular task or implement particular abstract data types.

[00031] When the device 100 is booled, a primary operating system is loaded. In one example, the first operating system, referred to as operating system OS-A, running on the first host processor 102 may be designated as the primary operating system while the second operating system, referred to as operating system OS-B, running on the second host processor 104 is treated as the secondary operating system. If multiple operating systems are present, the device 100 may be configured to facilitate the user to designate any of the operating system as the primary operating system. The user may change the primary operating system according to choice and/or requirement. The device 100 may be further configured to facilitate the user to switch from one operating system to another operating system seamlessly. The device 100 can concurrently run multiple operating systems on the first host processor 102 and the second host processor 104.

[00032] In one implementation, the device 100 includes a multi-protocol multi-root input output virtualization (MPMRIOV) switch 108, which facilitates communication of the device 100 with connected peripherals 116-1, 116-2,.... 116-N, collectively referred to as peripherals 116. It may be mentioned that Peripheral Component Interconnect Special Interest Group (PCI-SIG), an electronics industry consortium responsible for specifying the Peripheral Component Interconnect (PCI) and Peripheral Component Interconnect Express (PCIe) computer buses, states multi-root input output virtualization (MRIOV) as the industry standard for enabling virtualization of peripherals among multiple processors.

[00033] In one implementation, the MPMRIOV switch 108 comprises an adaptation unit 110, which facilitates the communication of the peripherals 116 with at least one of the first processor 102 and the second processor. The peripherals 116 may also include non-PCI or non-PCIe compliant peripherals. A peripheral and interface virtualization unit 112 is coupled to a plurality of peripheral controllers 114-1, 114-2 114-N, collectively referred to as peripheral controllers 114. The peripheral and interface virtualization unit 112 helps in virtualization of the physical devices and facilitates simultaneous sharing of devices, like printers, keyboard, mouse, display unit, et0c, among multiple operating systems or multiple processors. In one embodiment, the device 100 may also include a inter processor communication unit (IPC) ((222) shown in Figure 2) which enables communication between plurality of the processors. The device 100 may also include other components 120 required to provide additional functionalities to the device 100.

[00034] In one embodiment of the device 100, the functionality of MPMROIV switch 108, relating to communication with PCI, PCIe, non-PCI and non-PCIe compliant peripheral devices 116 may be attributed to the PIVU 112. Accordingly, in said embodiment, the device 100 comprises the MPMRIOV switch 108 communicatively coupled to at least one of the first, processor 102 "and the second processor 104 and the PIVU 112 coupled to the MPMRIOV switch 108 wherein the PIVU 112 is configured to communicate with PCI, PCIe, non-PCI and non-PCIe compliant peripheral devices 116. Further, in said embodiment, the device 100 also includes the IPC 222 configured to exchange one or more message between at first processor 102 and the second processor 104.

[00035] The peripherals 116 can be configured to be used exclusively by either of the first host processor 102 or the second host processor 104 or by both the first host processor 102 and the second host processor 104 simultaneously. Additionally the device 100 may also include one or more interfaces 118 to connect to external network, systems, devices, etc.

[00036] In the afore going description, although the device 100 has been depicted as a two processor system, it should be appreciated ».he same can be extended to a system having a plurality of processors.

[00037] Fig. 2 illustrates an exemplary multi-processor smart phone 200, according to an embodiment of the current system. In this embodiment, the device 100 is embodied as the smart phone 200 and it will be appreciated that the concepts explained in context thereof may be extended to such an embodiment.

[00038] In one implementation, the smart phone 200 comprises a high configuration processor 202, a memory 204 coupled to the high configuration processor 202, a low configuration processor 206, various memory units like a static random access memory 208, stacked memory 210 coupled to the low configuration processor 206 via a memory controller 212, the MPMRIOV switch 108, having the adaptation unit 110, one or more hardware accelerators) 214, the peripheral and interface virtualization unit (PIVU) 112. Further a plurality of peripheral controllers 114-1, 114-2 114-N, system related module(s) 216 like encryption engines may also be incorporated in the smart phone 200. In the said embodiment, the smart phone 200 has at least one PCIe expansion port 218.

[00039] The smart phone 200 may include at least one interface 221 to connect to mobile communication networks, a north bridge 220, a first display adapter 224-1 and a second display adapter 224-2 coupled to the high configuration processor 202 and the low configuration processor 206 respectively. The smart phone 200 further includes a display selector 226 to facilitate data flow from the first display adapter 224-1 and the second display adapter 224-2 to a display unit (not shown in figure). The smart phone 200 may include other modules (not shown in figure) that enable the smart phone 200 to connect to other devices or network via Bluetooth, infra-red, wireless local area network (WLAN), Wi-Fi, etc. In other embodiments, the smart phone 200 may connect to a plurality of peripherals 116-1, 116-2, .... 116-N, collectively referred to as peripherals 215 via a plurality of peripheral controllers 114-1, 114-2, .... 114-N, collectively referred to as peripheral controllers 114. For example, peripherals 116 may include other components, like camera, audio/video recorder, global positioning system (GPS), universal serial bus (USB) ports, card reader(s), display units, software tools, etc. In one example, the smart phone 200 may include a display mix to facilitate connection with an external display unit.

[00040] The various components of the smart phone 200 may be integrated in a single chip known as personal computer enabler application unit (PCEAPU) 228. The high configuration processor 202 can be placed on the same board as the PCEAPU 228 or on a different board or on a different unit as an add-on device or as a part of a docking station. The high configuration processor 202 can also be integrated with the PCEAPU 228.

[00041] The high configuration processor 202 runs a high end operating system, operating system OS-C, whereas the low configuration processor 206 runs a low end operating system, namely, operating system OS-D. The operating system OS-D may provide support for the interface(s) 221 facilitating connection of the interface(s) 212 to a cellular network. The smart phone 200 may also include an in-built power source, like rechargeable batteries (not shown in figure), which can be charged using a power adapter, a docking station, etc. The PCEAPU 228 includes an inter processor communication (IPC) unit 222 configured to exchange messages between the first host processor 202 and second host processor 206.


[00042] In one embodiment, when the smart phone 200 is switched on, the low end operating system OS-D is loaded to operate the smart phone 200 in a mobile phone mode. In the mobile phone mode the smart phone 200 possess all the functionalities of a conventional cellular phone like connecting to a cellular network, support for voice calls, messaging, etc. The smart phone 200 may also run various other utilities like alarm clock, calendar, music player, etc., prevalently available in handheld electronic devices. Since the operating system OS-D runs on the low configuration processor 206, power consumption of the smart phone 200is reduced resulting in higher battery life. Further, the operating system OS-D provides support for all conventional cellular phone functions like connecting to at least one mobile communication network, multimedia messaging, short messaging service, voice calls, etc. Additionally, the smart phone 200 may also support applications like metric converters, document editors, electronic mail client, e-messengers, social networking applications, etc. Optionally the high end operating system can also be run, when the smart phone 200 is running on battery at the cost of reduced battery life.

[00043] However, when the smart phone 200 is connected to an external power supply, either through a docking station or by being plugged in to a power supply, the smart phone 200 may configured to boot the high end operating system, OS-C, on the high configuration processor 202. In one embodiment, operating system OS-C is loaded based on a user input. This mode of operation of the smart phone 200 is known as the PC Mode. The PC Mode supports high end applications which require more processing power and higher system resources. In PC Mode the smart phone 200 has the processing power and all the features present in a conventional computing device like laptop, etc. In the PC Mode, the smart phone 200 supports connection to external peripherals, like an external visual display unit, either through in-built ports or through a docking station (not shown in figure).

[00044] While in PC Mode, operating system OS-C renders the cellular phone functionalities dormant so as to use very low power, while at the same time keeping certain pre-configured functionalities like receiving or making voice calls, etc., active. For example, the smart phone 200, while operating in the PC mode, may be connected to one or more mobile communication networks. Examples of such mobile communication networks include but are not limited to, Global System for Mobile Communication (GSM) network, Universal Mobile Telecommunications System (UMTS) network, Personal Communications Service (PCS) network, Time Division Multiple Access (TDMA) network, Code Division Multiple Access (CDMA) network, Next Generation Network (NGN), IP-based network, Public Switched Telephone Network (PSTN), and Integrated Services Digital Network (ISDN). The smart phone 200 also has facility of sharing of components among the high configuration processor 202 and the low configuration processor 206. For example, say the user is watching a video in the PC Mode which uses . the display unit and the audio unit of the smart phone 200. In said example, in case of an incoming call, the mobile phone mode may take over the control of either of the display unit and the audio unit or both the display unit and the audio unit so as to notify the user of the incoming call.

[00045] Further, while in the PC Mode, if the user receives a message or a call, the smart phone 200 can be configured to automatically switch to the mobile phone mode so as to facilitate the user to receive the call or the message. This allows a user greater convenience, for example of disconnecting from the docking station to allow mobility. The switching between the mobile phone mode and the PC mode of the smart phone 200 is elaborated later in the description. However, in one configuration, the smart phone 200, while in the PC Mode, may be configured to ignore events occurring in the mobile phone mode, like an incoming call. The smart phone 200 may also be configured to completely shutdown the mobile phone mode so as to facilitate the use of the smart phone 200 as a conventional computing device like laptop, for instance in areas where usage of a communication device, like cellular phone, is not allowed like during flights.

[00046] In another embodiment, the smart phone 200 can switch off the low configuration processor 206 and configure the high configuration processor 202 to perform the tasks of the low configuration processor 204 as well. In another embodiment the smart phone 200 may have a single high configuration processor, which is run at rated capacity in PC mode and can be throttled down' while operating in the mobile phone mode. In such embodiments, certain components, as shown in Fig. 2, may become redundant and additionally certain components may have to be added. For example, the MPMRIOV Switch 108 may be replaced by a conventional PCIe switch and devices supporting PCIe protocol, etc.

[00047] Fig. 3 illustrates an exemplary method 300 of switching between the two modes of the smart phone 200, according to an embodiment of the present subject matter. The exemplary method may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method 300 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.

[00048] The order in which the method 300 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method, or an alternative method. Additionally, individual blocks may be deleted from the method 300 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method 300 can be implemented in any suitable hardware, software, firmware, or combination thereof. In accordance with one embodiment, the method 300 is explained in context of the smart phone 200 although the method 300 may be implemented in different devices.

[00049] When the smart phone 200 is switched on, by default the mobile phone mode is activated, as shown in block 302. However, this can be changed by the user as per choice and/or requirement. The user has the option of switching the smart phone 200 to the PC Mode at block 304. If the user opts not to power on the PC Mode, the user continues to operate the smart phone 200 in the mobile phone mode until, the user opts to power off the mobile phone, at block 326. Depending on the user response, the smart phone 200 can either continue operating in the mobile phone mode, as shown in block 302 or the user can switch off the smart phone 200, as shown in block 328.

[00050] However, at block 304, if the user input indicates that the PC mode should be initiated, the smart phone 200 powers up the high configuration processor 202, as illustrated at block 306. For example, the user input may be in form of actions like connection to a docking station or through input facilitated by either hardware or software or both.

[00051] The smart phone 200 then starts the PC mode operating system i.e. operating system OS-C at block 308. The smart phone 200 now operates in a PC mode with the mobile phone mode running in a very low powered state so as to keep essential functionalities such as making or receiving voice calls, messages, etc., active as shown at block 310.

[00052] The PC mode is ON until such time that, at block 312, the user chooses to switch off the PC mode. In one embodiment, the smart phone 200 can also be configured to automatically switch off the PC mode in case of certain events like removal from the docking station, loss of external power supply, discharging of in-built power supply (not shown in figure), etc. Once the user chooses to power off the PC Mode, he is provided the option of either hibernating the PC mode operating system or putting the PC mode operating system in a standby mode at blocks 314 and 316 respectively. If the user opts for either of the above options, the smart phone 200 may save context of the PC Mode operating system at block 321 and proceed to hibernate the PC mode operating system at block 322 or put the PC mode operating system in standby mode at block 324 after saving the context of the PC Mode operating system at block 323.. In case the user does not opt for either of the options depicted at blocks 2\2 and 314 the smart phone 200 shuts down the PC mode operating system, as depicted at bock 320. In one embodiment, the context saving may also include context exchange which involves transferring necessary information from one operating system to another, so that the end user can continue his task without any interruption, so as to give a seamless switching experience. Context saving can be implemented by hardware or software or a combination of both.

[00053] After shutting down the PC Mode operating system, at block 320, or hibernating the PC Mode operating system, at block 322, or putting the PC Mode operating system in a standby mode, at block 324, the user runs the smart phone 200 in the mobile phone mode until, at block 326, he decides to switch off the smart phone 200. Upon choosing to switch off the PC Mode, the user can either switch off the smart phone 200, at block 328 or continue to operate the smart phone 200 in the mobile phone mode, at block 302. The user can also switch on the PC mode even when the smart phone 200 is not connected to any external power supply or docking station, etc. In this scenario, the PC mode may be operated in either full capacity at the cost of batter life or in a reduced capacity to save battery life. The PC mode operating system may take control of the in-built display of the smart phone 200.

[00054] In one embodiment, the smart phone 200 is configured to automatically context save the PC mode operating system. Thus, in the case of user exiting the PC mode forcefully, the smart phone 200 can start the PC mode next time in the state it was in at the time of forceful exit.

[00055] Fig. 4 illustrates an exemplary mechanism 400 to operate the smart phone 200 in a PC mode. In one embodiment, the smart phone 200 may be operated in the PC mode using a docking station. 402. For explanatory purposes, the smart phone 200 will be used. However the same concept may be applied to include the various categories of handheld devices. The smart phone 200 is electronically connected to the docking station 402. In general, docking stations provide a way of connecting an electronic device such as a laptop to common peripherals. Docking stations have different connectors, ports, power signaling modes, etc., to connect to various devices and peripherals. Some docking stations have the functionality of a charging unit, wherein the docking station is connected to an external power supply and in turn charges the in-built power source of the docked electronic device.

[00056] When the smart phone 200 is docked in the docking station 402, the smart phone 200 switches from the mobile phone mode to the PC mode. The switching from the mobile phone mode to the PC Mode may be enabled either automatically, for example, in response to events such as being docked in the docking station or be triggered by the user input either through hardware or software. The docking station 402 facilitates the communication of the smart phone 200 with various devices like a display unit 404, I/O devices like keyboard 406 and other peripheral(s) 408 like printers, scanners, etc; The docking station 402 connected to an external power supply 410 so that the inbuilt power source of the smart phone 200 may be charged.

[00057] While in the PC mode, the high configuration processor 202 is operational at full capacity. The user can use any high end application(s). For convenience of the user, the smart phone 200 can be connected with the user's preferred peripherals through the docking station 402. The docking station 402 supports PCIe based connection in addition to other protocols. Additionally the docking station 402 may include an internal storage unit for storage expansion.

[00058] On being undocked, the smart phone 200 switches back to the mobile phone mode. The switching from the PC Mode to the mobile phone mode may occur either automatically , for example, in response to events such as being undocked from the docking station or be triggered by the user input either through hardware or software. Alternatively, the user may continue operating the smart phone 200 in the PC mode either at reduced performance or at rated performance at the cost of low battery life. Thus, the docking station 402 enables the smart phone 200 to be used as a conventional workstation and hence integrates the functionalities of different categories of devices into a single smart phone 200.

[00059] The smart phone 200 integrates the functionalities of a conventional computing device like laptop and a conventional communication device like mobile phone mode without compromising on features. The smart phone 200 can be connected, either through in-built ports or through a docking station, with external peripherals like a full size keyboard, a large screen display unit thus enabling the user to perform all tasks for which he would have normally opted for using a conventional computing device like desktop, workstation, laptop, etc. On the other hand, the user can also use the smart phone 200 for making or receiving voice calls or messages. Thus, the smart phone 200 is a multifunctional device, which has small dimensions and is lightweight, making it very portable. Various modes of operations like mobile phone mode, PC mode optimizes power consumption and processing capability, thus enhancing battery life without compromising on processing power. The smart phone 200 is also economical for the user as he has to invest in one device instead of a plurality of conventional devices to meet his requirements.

[00060] Thus the device 100 in itself and in its various embodiments like smart phone 200, enhances the battery life with cut compromising on the processing power. The device 100 minimizes hardware redundancy by enabling sharing of peripherals among multiple operating systems running on multiple processors simultaneously. This increases the utilization of I/O devices and reduces power consumption by eliminating the need of multiple I/O devices for the same functionalities. Though the device 100 and its embodiments have been described using two processors, the same concept can be applied to systems having more than two processors.

[00061] Although implementations of handheld electronic devices have been described in language specific to structural features and/or methods, it is to be understood that the present subject matter is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary implementations for handheld electronic devices.

I/We Claim:

1. A handheld device (100) comprising:

a first processor (102);

a second processor (104); and

a multi-protocol multi-root input output virtualization (MPMRIOV) switch 108 communicatively coupled to at least one of the first processor (102) and the second processor (104), wherein the MPMRIOV switch (108) is configured to communicate with at least one of a Peripheral Component Interconnect (PCI) compliant peripheral device (116), a Peripheral Component Interconnect express (PCIe) compliant peripheral device (116), a non PCI compliant peripheral device (116), and a non PCIe compliant peripheral device (116).

2. The handheld device (100) as claimed in claim 1, wherein the handheld device (100) is at least one of a smart phone, a tablet, a net-book, and a personal digital assistant.

3. The handheld device (100) as claimed in claim 1, wherein the first processor (102) and the second processor (104) are at least one of homogeneous and heterogeneous processors.

4. The handheld device (100) as claimed in claim 1, wherein the first processor (102) is configured to run a high end operating system (HE-OS) and the second processor (104) is configured to run a low end operating system (LE-OS).

5. The handheld device (100) as claimed in claim 4, wherein the HE-OS and the LE-OS are at least one of homogeneous and heterogeneous operating systems.

6. The handheld device (100) as claimed in claim 4, wherein at least one of the HE-OS and the LE-OS is configured to operate in a low power state based in part on at least one of a trigger and a user input

7. The handheld device (100) as claimed in claim 6, wherein the trigger includes at least one of a power state of the handheld device (100) and a docking status of the handheld device (100).

8. The handheld device (100) as claimed in claim 4, wherein the handheld device (100) is further configured to context save the HE-OS for switching from the HE-OS to the LE-OS on detecting a power level of the handheld device (100) to be below a pre-defined threshold power level.


9. The handheld device (100) as claimed in claim 1, further comprising a root port configured to be communicatively coupled to a docking station (402), wherein the docking station (402) connects the handheld device (100)to at least one of a power source, a display unit and the at least one peripheral device (116).

10. The handheld device (100) as claimed in claim 9, wherein the MPMRIOV switch (108) is further configured to switch from a low end operating system to a high end operating system on detecting a communicative coupling with the docking station (402).

11. The handheld device (100) as claimed in claim 10, wherein the switching further comprises at least enabling sharing of the at least one peripheral device (116).

12. The handheld device (100) as claimed in claim 11, wherein the MPMRIOV switch (108) is further configured to operate of the handheld device (100) in at least one of a personal computer (PC) mode and a mobile mode, and wherein the PC mode of operation supports communication of the handheld device (100) with at least one mobile communication network.

13. The handheld device (100) as claimed in claim 1, wherein at least one of the first processor (102) and the second processor (104) is configured to exclusively control the at least one peripheral device (116).

14. The handheld device (100) as claimed in claim 1, wherein the handheld device (100) is further configured to switch ownership of the at least one peripheral device (116) from the first processor (102) to the second processor (104) based in part on at least one of an user input, a system generated trigger, a request generated by at least one operating system, a request generated by at least one application software and an operation mode.

15. A smart phone (200) comprising:

a high configuration processor (202);

a personal computer enabler application processor unit (PCEAPU) 228, wherein the PCEAPU 228 comprises:

a low configuration processor (206); and

a multi-protocol multi-root input output virtualization (MPMRIOV) switch 108 communicatively coupled to at least one of the high configuration processed (202) and the low configuration processor (206), wherein the MPMRIOV switch (108) is configured to communicate with at least one of a Peripheral Component Interconnect (PCI) compliant peripheral device (116), a Peripheral Component Interconnect express (PCIe) compliant peripheral device (116), a non PCI compliant peripheral device (116), and a non PCIe compliant peripheral device (116).

16. A method for switching operating systems in a multi-processor system comprising:

receiving an input to operate a second operating system while operating a first operating system;

context saving the first operating system; and

operating the second operating system in a full power state.

17. The method as claimed in claim 16 further comprising switching the first operating system to a low power state, wherein the low power state includes at least one of a stand by mode, a hibernation mode and a shutdown mode.

18. The method as claimed in claim 17, wherein the switching further comprises transferring an ownership of at least one peripheral device from the first operating system to the second operating system.

19. The method as claimed in claim 16, wherein the input comprises at least one of a trigger and a user input, wherein the trigger comprises at least one of a power state of the multi-processor system and a docking status of the multi-processor system.

20. The method as claimed in claim 16, wherein the context saving further comprises context exchange, such that the context exchange includes transfer of information from the first operating system: to the second operating system facilitating seamless application migration from the first operating system to the second operating system.

21. A handheld device (100) comprising:

a first processor (102);

a second processor (104); and

a multi protocol multi-root input output virtualization (MPMRIOV) switch (108) communicatively coupled to at least one of the first processor (102) and the second processor (104);


a peripheral and interface virtualization unit (PIVU) (112) coupled to the MPMRIOV switch (108), wherein the PIVU (112) is configured to communicate with at least one of a Peripheral Component Interconnect (PCI) compliant peripheral device (116), a Peripheral Component Interconnect express (PCIe) compliant peripheral device (116), a non PCI compliant peripheral device (116), and a non PCIe compliant peripheral device (116); and

an Inter Processor Communication unit (IPC) 222 coupled to the PIVU (112), wherein the IPC 222 is configured to exchange one or more message between at least the first processor (102) and the second processor (104).

Documents

Application Documents

# Name Date
1 2396-che-2010 form-3 19-08-2010.pdf 2010-08-19
1 abstract2396-CHE-2010.jpg 2012-05-16
2 2396-che-2010 form-2 19-08-2010.pdf 2010-08-19
2 2396-CHE-2010 CORRESPONDENCE OTHERS 22-11-2011.pdf 2011-11-22
3 2396-CHE-2010 FORM-3 22-11-2011.pdf 2011-11-22
3 2396-che-2010 form-1 19-08-2010.pdf 2010-08-19
4 2396-che-2010 drawings 19-08-2010.pdf 2010-08-19
4 2396-CHE-2010 FORM.13 19-08-2011.pdf 2011-08-19
5 2396-che-2010 description (provisional) 19-08-2010.pdf 2010-08-19
5 2396-CHE-2010 ABSTRACT 19-08-2011.pdf 2011-08-19
6 2396-che-2010 correspondence others 19-08-2010.pdf 2010-08-19
6 2396-CHE-2010 CLAIMS 19-08-2011.pdf 2011-08-19
7 2396-CHE-2010 CORRESPONDENCE OTHERS 19-08-2011.pdf 2011-08-19
7 2396-CHE-2010 POWER OF ATTORNEY 14-09-2010.pdf 2010-09-14
8 2396-CHE-2010 DESCRIPTION (COMPLETE) 19-08-2011.pdf 2011-08-19
8 2396-CHE-2010 FORM-1 14-09-2010.pdf 2010-09-14
9 2396-CHE-2010 POWER OF ATTORNEY 19-08-2011.pdf 2011-08-19
9 2396-CHE-2010 DRAWING 19-08-2011.pdf 2011-08-19
10 2396-CHE-2010 FORM -1 19-08-2011.pdf 2011-08-19
10 2396-CHE-2010 FORM -5 19-08-2011.pdf 2011-08-19
11 2396-CHE-2010 FORM -2 19-08-2011.pdf 2011-08-19
11 2396-CHE-2010 FORM -3 19-08-2011.pdf 2011-08-19
12 2396-CHE-2010 FORM -2 19-08-2011.pdf 2011-08-19
12 2396-CHE-2010 FORM -3 19-08-2011.pdf 2011-08-19
13 2396-CHE-2010 FORM -1 19-08-2011.pdf 2011-08-19
13 2396-CHE-2010 FORM -5 19-08-2011.pdf 2011-08-19
14 2396-CHE-2010 DRAWING 19-08-2011.pdf 2011-08-19
14 2396-CHE-2010 POWER OF ATTORNEY 19-08-2011.pdf 2011-08-19
15 2396-CHE-2010 FORM-1 14-09-2010.pdf 2010-09-14
15 2396-CHE-2010 DESCRIPTION (COMPLETE) 19-08-2011.pdf 2011-08-19
16 2396-CHE-2010 POWER OF ATTORNEY 14-09-2010.pdf 2010-09-14
16 2396-CHE-2010 CORRESPONDENCE OTHERS 19-08-2011.pdf 2011-08-19
17 2396-CHE-2010 CLAIMS 19-08-2011.pdf 2011-08-19
17 2396-che-2010 correspondence others 19-08-2010.pdf 2010-08-19
18 2396-CHE-2010 ABSTRACT 19-08-2011.pdf 2011-08-19
18 2396-che-2010 description (provisional) 19-08-2010.pdf 2010-08-19
19 2396-che-2010 drawings 19-08-2010.pdf 2010-08-19
19 2396-CHE-2010 FORM.13 19-08-2011.pdf 2011-08-19
20 2396-CHE-2010 FORM-3 22-11-2011.pdf 2011-11-22
20 2396-che-2010 form-1 19-08-2010.pdf 2010-08-19
21 2396-che-2010 form-2 19-08-2010.pdf 2010-08-19
21 2396-CHE-2010 CORRESPONDENCE OTHERS 22-11-2011.pdf 2011-11-22
22 abstract2396-CHE-2010.jpg 2012-05-16
22 2396-che-2010 form-3 19-08-2010.pdf 2010-08-19