![]() method of operating a mobile computing device and mobile computing device
专利摘要:
SYSTEM AND METHOD FOR SWITCHING BETWEEN ENVIRONMENTS IN A MULTIPLE ENVIRONMENTAL OPERATING SYSTEM. various embodiments of the present invention provide a mobile computing device that operates multiple environments of coexisting and independent operating systems in a common kernel. A boot process for starting a multiple operating system environment is also provided. In addition, several modalities of the present invention include processes for managing a switch between an operating system environment and a Second operating system environment. 公开号:BR112012001228B1 申请号:R112012001228-2 申请日:2010-07-20 公开日:2020-11-03 发明作者:Joshua D. Galicia;Jeffrey C. Carlyle;Andrew N. Tzakis 申请人:Google Technology Holdings LLC; IPC主号:
专利说明:
FIELD OF THE INVENTION The present invention generally relates to multiple environment operating systems and methods for switching between different operating environments. BACKGROUND OF THE INVENTION Operating systems are designed and typically optimized based on specific applications and the performance desired by the user. It is often desirable to have features of one type of operating system available on another operating system, as the user's preferred programs may be operating system dependent. General purpose computer operating systems, such as Linux ™ and Windows ™, have an extensive set of features, such as file systems, device drivers, applications, libraries, etc. These operating systems allow concurrent execution of multiple programs, and attempt to optimize the response time (also referred to as latency time), and the CPU usage, or load, associated with running concurrently running programs. Unfortunately, however, these operating systems are generally not suitable for embedded real-time applications, such as for mobile computing devices. Under certain circumstances, it would be desirable for a mobile computing device to have the performance associated with a built-in mobile-specific operating system and features of a general-purpose operating system. Linux, for example, is a well-known general-purpose desktop computer operating system with many desirable features for modern devices, including features of modern operating systems, numerous development tools, network usage, etc. However, Linux was not designed to be an embedded or real-time operating system. Many modern devices such as, without limitation, set top boxes, mobile phones and car navigation systems require not only the features of a general-purpose operating system, such as Linux, but also the features of an embedded operating system or in real time, including real-time performance. Historically, running multiple operating environments on a single device has been accomplished through virtualization techniques, such as, for example, VMware ™, VirtualBox ™, QEMU ™, etc. However, when using virtualization, a complete computer is emulated and one or more stacks of software are operated on the emulated computing device. An emulation is designed with high processing time costs. In view of the foregoing, there is a need for a system implementing a single kernel environment that efficiently and conveniently provides the performance and features of coexisting independent operating systems. BRIEF SUMMARY OF THE INVENTION According to at least one embodiment of the present invention, a method of switching from a first operating environment to a second operating environment of a mobile device is provided. The method includes the initiation of at least two independent, coexisting middleware operating environments coupled to a core kernel, where the middleware operating environments each have a corresponding application component. In addition, the method includes receiving a mode initialization change signal based, at least in part, on device operation, releasing control of the device's first operating environment and initiating control of the second environment operating device. According to at least one embodiment of the present invention, a mobile device operating system having a core kernel configured to interface with a device hardware component and a middleware component is provided. The system includes at least two independent coexisting middleware operating environments coupled to the core kernel, the middleware operating environments each having a corresponding application component. According to yet another modality, a mobile computing device having a first independent operating system and a second independent operating system in a common kernel is provided. The device also includes a processor, based, at least in part, on instructions that can be executed on a computer, configured to switch primary control of the device between a first operating environment and a second operating environment. According to another embodiment, a method of operating a mobile computing device includes initiating the operation of a mobile device having at least two independent operating systems in a common kernel and the identification of a primary and a secondary operating system, the method also includes opening a secondary operating system application while the primary operating system has control of the device. According to another embodiment of the invention, a mobile computing device having a memory storage unit coupled to a computer processor is provided. The memory storage unit includes instructions that can be executed on a computer capable of operating at least two operating system environments on a common kernel. In accordance with yet another alternative modality, a mobile phone having a graphical user interface configured to receive and transmit multimedia information is provided. The phone includes a computing system with a processor attached to a memory storage unit, and a multi-environment operating system that has a common kernel. The memory storage unit includes instructions that can be executed on a computer capable of managing resources shared between at least two coexisting independent operating system environments. According to an alternative embodiment, the present invention includes a mobile computing device with a computer processor coupled to a computer memory having instructions that can be executed on a computer configured to start an operating system. The device also includes an operating system configured to simultaneously run a standard Linux distribution operating system environment and an Android ™ operating system environment in a single kernel. In accordance with yet another alternative embodiment, the invention includes a mobile device operating system that has a core kernel configured to create an interface of a device hardware component and a middleware component. The device also includes a first independent middleware operating environment configured to run applications interpreted by JAVA and attached to the core kernel, and a second independent middleware operating environment configured to run native applications and attached to the core kernel. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is an example perspective view of a mobile device; figure 2 is a block diagram representing an example operating system; figure 3 is a block diagram of an example operating system; figure 4 is a block diagram of a run time coexistence scheme of an example operating system; figure 5 is a block diagram of a communication scheme between environments of an example operating system; figure 6 is a flowchart that identifies steps in a boot sequence for an example operating system; figure 7 is a flowchart that identifies example steps for opening an application in a first operating environment, while an example operating system is controlled by a second operating environment; figure 8 is a message sequence frame identifying the example steps for opening a second operating environment application, while a first operating environment has primary control; figure 9 is a flowchart that identifies the example steps associated with switching from a first operating environment to a second operating environment; Figure 10 is a message sequence table identifying the example steps for switching from a first operating environment to a second operating environment; Figure 11 is a message sequence frame that identifies example steps for switching from a second operating environment to a first operating environment; figure 12 is a flowchart that identifies the example use of an application controlled by a first operating environment, while a second operating environment has primary control over a computing device. DETAILED DESCRIPTION It is noted that it would be advantageous to have an embedded operating system and a Linux-based operating environment communicating directly with a single Linux kernel running directly on computing device hardware. With reference to figure 1, a mobile phone 10 is provided. The phone 10 includes a GUI 12 and a plurality 5 of data entry buttons 14. The mobile device 10 is selected from the group that includes, but is not limited to, a mobile personal computer (PC), a netbook, a telephone mobile, a laptop computer, a laptop computer and a smartphone. Although device 10 is mobile 10, it is intended to have significant computing power, with a processor speed beyond 500 mHz, although slower processors are not excluded. Considering the computing power, a user can connect device 10 to a variety of 15 peripheral devices (not shown). Peripheral devices are selected from the group that includes, but is not limited to, a computer monitor, a laptop computer, a desktop computer, a tablet PC, and a screen projector. Now, with reference to figure 2, a block diagram of an example operating system (OS) 16 in communication with a kernel 18 is provided. OS 16 can be a Linux distribution system, a Linux-based operating system, or a non-Linux 25-based operating system. Device hardware 20 is also in communication with the Linux kernel 18. Operating system 16 includes a first operating system environment 22 and a second operating system environment 24 in communication with the single Linux kernel 18. As of 30 For example, the second middleware operating system environment 24 is a standard Linux distribution and the first middleware operating system environment 22 is an embedded operating system environment intended for use on mobile devices, such as an Android ™ operating system (Open Handset Alliance, www.openhandsetalliance.com). A Linux 16 distribution is communicating with the Linux 18 kernel, which is communicating with device hardware 20. Device hardware 20 can be a memory storage device (not shown) coupled to a processor (not shown) ), which stores instructions that can be executed on a computer which are configured to perform various functions and operations, as described here. An example operating system 16 includes Ubuntu® (Canonical Ltd., www.ubuntu.com) for the Linux 24-based operating system environment. It is specifically intended that multiple middleware operating system environments coexist independently of the other (s) (s). Sample environments that can be included in operating system 16 include Android ™, Ubuntu® (Canonical Ltd., www.ubuntu.com), standardized Linux-based environments, Symbian (Symbian Foundation Ltd., www.symbian.com) and Windows-based environments. In an alternative modality, it is noted that more than two operating system environments are configured to coexist independently in the same kernel 18. With reference to figure 3, a block diagram of an example operating system is provided. In the present example mode, the first OS 22 environment is an operating environment based on Android ™ and the second OS 24 environment is based on Linux. The first operating system environment 22 includes a portal service module 26, a portal activity module 28, an OS services module 30 and an OS 32 application module. The second operating system environment 24 includes a manager feature 34, an Android module in a window (AIW) 36, a second OS 38 application module and a second OS 40 services module. The AIW 36 module is configured to display an application window of the first OS 22 in GUI 12, while the second OS 24 is the primary operating environment. The portal service module 26 contains a set of instructions configured to allow a service for the first OS 22 15 and handles all communication with resource manager 34. While device 10 is operating, the portal service module 26 preferably is running at all times. Additionally, the portal service module 26 is 20 connected to an activity associated with the portal activity module 28, as well as the first OS 22 broadcast events. The portal activity module 28 is an application or a set of instructions that can be run on a computer, which represents a second OS 24 25 application located in the first OS 22 stack. As an example, if the second OS 24 is Ubuntu®, the portal activity module 28 may represent an application specific Ubuntu, and when portal activity module 28 has focus, Ubuntu will be in view through GUI 12. Numerous applications can run simultaneously, also referred to as a stack of applications running, in any given operating environment. Logically speaking, the top app is judged to have the "focus". Kernel 18 includes a set of 42 drivers and an AEV 44 module. 42 drivers are included with the input device drivers for hardware components 20. 0 AEV 44 is a kernel module that takes absolute coordinates and keyboard events from AIW 3 6 and passes them to an event distribution center. The coexisting environments in operating system 16 communicate with each other. The resource manager 34, which is a part of the second OS 24, communicates directly with the portal service module 26, which is part of the first OS 22. Furthermore, the portal service module 26, the which is part of the first OS 22, communicates directly with resource manager 34. Resource manager 34 is a set of instructions configured to manage resources shared by the first OS 22 and the second OS 24. Shared resources include devices displays, input devices, power management services and system status information. Furthermore, resource manager 34 is configured to control OS 22, 24 access to hardware 20. Additionally, resource manager 34 identifies and controls which OS 22, 24 user interface is displayed via GUI 12. According to the present modality, portal service 26 is the source of all communications from the first OS 22 to resource manager 34. Additionally, portal service 26 is a sink for all manager callbacks resource 34 for the first OS 22. The resource manager provides a discoverable status application programming interface (API) for portal service 26. This API is configured to be called by resource manager 34 at any time. Resource manager 34 is configured to obtain and process run time status, which allows the resource manager to maintain a state machine. For the first OS 22, portal service 26 provides round-trip status for processes that require it. Similarly, portal service 26 requests and receives status updates from processes which provide status information. Similar communication for the second OS 24 is controlled by resource manager 34, which provides a run time status for the process that requires it. Resource manager 34 requests and receives status updates from various processes that provide status information. Device drivers 42 logically associated with kernel 18 communicate directly with resource manager 34, as well as processes that provide round-trip status information. As an example, the API arbitrates access to user interface devices, such as displays, touch screens or the GUI 12. Yet as another example, the API arbitrates access to power input devices, such as batteries and / or AC / DC wall outlets. The first OS 22 and the second OS 24 are independent of each other, and coexist with respect to each other. Each OS 22, 24 is a fully functioning operating system environment, and does not need the other operating system environment to function. Both operating system environments exist on the same device 10 with 100% independence from each other. As identified above, the first and second OS 22, 24 do not coexist in a virtualization or emulation scheme, but, in fact, operate in a single kernel 18. Instead, there is a coexistence of round time, in which both OS 22, 24 runs in their respective native environments and none of OS 22, 24 is recompiled, as there is no need to leverage a common C run time environment. Applications can be accessed by a user, which are encrypted purely for either OS 22, 24, without an interruption to a user computing experience. Referring to figure 4, a block diagram provides an example coexistence scheme for an Android® 22 OS and an Ubuntu ™ 24 OS. Each OS 22, 24 operates in a separate run time environment, which provides software services for programs and / or processes, while device 10 is operating. Android 46 processes and Android 48 libraries access a C 50 Bionic Library, which is optimized and modified specifically for the Android environment. The Ubuntu 52 processes and the Ubuntu 54 libraries access a C 56 Glibc Library, which is a GNU library used on many standardized Linux-based systems. Each OS environment runs in its respective C libraries, with no conflicts with another operating environment. With reference to figure 5, a more detailed communication path between the first OS 22 and the second OS 24 described in figure 4 is provided. An inter-process communication system (IPC) is configured to manage the flow of communication between environments between the first OS 22 and the second OS 24. Portal service 26 communicates with a DBUS Link 58, which is a packet software containing a programming language and executable instructions configured to communicate with a DBUS 60 library. The resource manager 34 communicates with a DBUS link from Glib 62, which is also a software package containing a programming language and executable instructions configured to communicate with a DBUS 64 library configured for the second OS 24. Both the DBUS 60 library of the first OS 22 and the 64 library of the second OS 24 communicate via a DBUS 66 Daemon, which is part of logically from the second OS 24, and acts as the link for COTutiniCa.ÇS.O êiAulTê OS two cuíiljIcfitcS give Opêx 5.Ç3.O. With reference to figure 6, a flow chart representing a boot sequence is provided. The actual boot sequence is dependent on rules associated with a predetermined device state that dictates the boot sequence. For example, if the device is connected to a peripheral device, such as a monitor, the device state is considered to be in a connected mode, and the second OS 24 is the default primary environment. Alternatively, if device 10 is not connected to a peripheral device, then it will be in mobile mode, and the first OS 22 will be the default primary operating environment. However, the secondary operating environment is opened simultaneously with the primary environment, and operates in the background in the event that the state of the device 10 changes and the secondary environment is switched to become the primary environment. For example, when device 10 is in connected mode and the peripheral device is unplugged, there is an automatic switch to mobile mode, which results in the secondary environment becoming the primary environment, and vice versa. The boot sequence is started in step 68, followed by opening the Linux kernel kernel 18 in step 70. A boot loader program starts before the kernel opens. After the Linux kernel 18 is booted, the kernel opens user space scripts in step 72. Resource manager 34 opens in step 74, followed by the identification of the mode state in step 76. Once the mode state is identified, a reference library is accessed in step 78, to determine the criteria associated with and / or dictated by the state so that it is identified. In step 80, the services common to both the first OS 22 and the second OS 24 are opened. The mode state determined in step 76 is referenced in step 82. If the mobile state is identified, then the first OS 22 will be the primary operating environment, then the first OS startup scripts will be opened in step 84, followed by the second OS startup scripts opened in step 86. If the connected state is referenced in step 82, then the second OS 24 will be the primary operating environment and the second OS 24 startup scripts will be opened in step 88 followed by opening of the first OS 22 startup scripts in step 90. Regardless of which environment is the primary, both environments are open and are running before device 10 is operational in step 92. Since common services are opened first in step 80, for all intents and purposes, the primary environments and secondary are opened in parallel. However, the primary environment-specific services, based on the state of the device, are opened immediately before the specific secondary environment services. By separating the common open services with the specific environment opening, the device 10 can be quickly operational with multiple coexisting and independent operating environments. With reference to figure 7, there is a flowchart identifying the steps for opening a second OS 24 application while device 10 is in mobile mode 94 and the first OS 22 has primary control. A second OS 24 application, Mobile PC, is selected in step 96. The Mobile PC is an application in the first OS 22, which provides a full PC view, alternatively referred to as a netbook view, while device 10 is operating on mobile mode and the first OS 22 is in primary control. In an alternative mode, individual applications from the second OS 24 onwards can be listed in a menu on the first OS 22 and opened individually, which can be similar to a netbook view. Portal service 26 sends a status update communication to resource manager 34 in step 98 indicating that portal activity 28 has gained focus. After that, resource manager 34 disables the input of the first OS 22 and switches a virtual terminal in step 100. The Mobile PC application is displayed in GUI 12 in step 102. While operating the Mobile PC application, an unsolicited event can occur in step 104, or a user-requested event can occur in step 106. Unsolicited events include time-critical and not time-critical events. For example, a time-critical unsolicited event includes a phone call or a scheduled or unscheduled alarm. Furthermore, for example, an unsolicited time-critical event includes an SMS message, an email message or a device update notification. After an event 104, 106 occurs, portal service 26 sends a communication to resource manager 34 indicating that portal activity 28 has lost or focused on step 108. In step 110, resource manager 34 requests that the first OS 22 allows an incoming event flow and switches the virtual terminal. For example, the present modality includes separate virtual terminals for switching an execution control between the first OS 22 and the second OS 24. Broadly speaking, a virtual terminal is an application for Linux that allows a system user to switch the control controls. display between a Windows-based view and a system console. When an unsolicited event occurs or a user selects the "Home" key in step 112, portal activity 28 is switched to the bottom in step 114, while the unsolicited event continues or the user operates another application from the menu "Home" from GUI 12. Alternatively, if the user selects the "Back" key in step 112, then portal activity 28 will exit the application and device 10 will revert to the inactive main menu in step 94. User-initiated events , such as selecting the Home key, the Back key, or starting a new application, are examples of requested events. When an event occurs, a decision is made at step 118, and the first OS 22 is stopped at step 120, if the event is an unsolicited event. Crash, if the event is a requested event, such as a user selecting the "Home" key, then the device will revert to the inactive main menu in step 94. After the OS interrupts in step 120, the interrupt application will exit and portal activity 28 will regain focus at step 122, and device 10 will revert to step 98. In an alternative modality, the virtual terminal tool is not used. There is a presentation of a second OS 24 application while the mobile mode can be performed through a VNC type application. The second OS 24 application, such as Ubuntu, can be presented remotely to the VNC client. Additionally, this modality does not take control of the physical visox * of the first OS 22. In yet another alternative modality, non-time critical notifications generated by the first OS 22 are identified and listed in a panel with the view of the second OS 24. By listing the notifications in a panel, the status information of the first OS 22 is integrated with the view of the second OS 24, when the second OS 24 is the primary OS. At the user's discretion, the panel is accessed to reveal non-time critical status notifications. When the panel is engaged, the first OS 22 becomes the primary OS and allows notifications to be viewed. For example, the panel can be an opening list on click that scrolls down from the status area with a swipe gesture. With reference to figure 8, a message sequence frame identifying the steps for opening a second OS 24 application while the first OS 22 has primary control is provided. The sequence frame provides a stepwise flow from the top to the bottom of the signals transmitted between the portal activity module 28 and the resource manager 34. Portal activity 28 receives a signal 124 to open the portal and disable input. The first OS 22 has a primary control before signal 126 changes the mode state for the second OS 24 to obtain primary control. Signal 126 is sent from portal activity 28 to resource manager 34, which then generates a response signal 128 sent to portal activity 28 indicating that the second OS 24 is the primary OS. Signal 130 is received by portal activity 28 and allows entry. Signal 13 2 is sent from portal activity 28 to resource manager 34 by changing the mode state from the second OS 24 to the first OS 22. Upon receipt of signal 132, resource manager 34 switches the virtual terminal . Resource manager 34 then sends a status update signal 134 to portal activity 28 indicating that the first OS 22 is primary. Referring to figure 9, a flow chart identifying the steps associated with switching from a first operating environment to a second operating environment is provided. Device 10 is inactive in mobile mode (OS1 22) in step 136. In step 138, device 10 is connected to a connecting station or connected to a peripheral device. For example, an HDMI connection can be established between device 10 and a monitor or a TV. Resource manager 34 is notified of the updated connection status in step 140 and the first OS 22 is disabled in step 142 in response to the change in connection status. The first OS 22 portal switches the shared memory frame buffer in step 144, followed by resource manager 34 to switch the virtual terminal in step 146. If the Mobile PC application is in view in step 14 8, then the activity of portal 26 will exit at step 150. Alternatively, if the Mobile PC application is not in view, then the connected mode will be enabled at step 152. In the event that the device state changes at step 154, then resource manager 34 receives a status status update at step 156. For example, the system state changes when a user removes an HDMI cable, or a similar connector, which is used to connect device 10 to a peripheral device. Following an event status update 156, the first OS 22 is enabled at 158 and the device operates in mobile mode. A frame buffer switch is required in step 160 and a virtual terminal switch is required in step 162, both of which are performed by portal activity 26. Following step 162, the device reverts to an idle state in mode mobile 136. With reference to figure 10, a message sequence frame identifying the steps performed when the device 10 transitions from the mobile mode (OS1) to the connected mode (OS2) is provided. Device 10 is operating in mobile mode and the first OS 22 is the primary OS. A cable signal 164 is received by resource manager 34, which indicates that an HDMI plug or alternate physical wire has been attached to device 10. Cable signal 164 is a sample mode initialization change signal . In an alternative embodiment, the plug may be a wireless communication between the device 10 and a peripheral device, and disabling wireless communication would cause a mode initialization change signal to be generated. A sequence of signals transitioning the device from mobile to connected mode is initiated. A signal 164 is sent from resource manager 34 to portal activity 28 indicating a mode status transition and disabling the main data entry. Portal activity 28 sends signal 168 to resource manager 34 identifying that the second OS 24 is now primary and switching the virtual terminal. Signal 170 is sent from resource manager 34 for portal activity by identifying the second OS 24 as the primary and taking ownership of the frame buffer. A mode change confirmation signal 172 is sent from portal activity 28 to resource manager 34 identifying that the device is now in connected mode and that the second OS 24 is the primary OS. A system mode update signal is sent from resource manager 34 to AIW 36. Referring to figure 11, a message sequence frame identifying the steps taken when device 10 transitions from a connected mode (0S2) to a mobile mode (0S1) is provided. A cable signal 176 is received by resource manager 34, which indicates that an HDMI plug or alternate physical wire has been removed from device 10. A removal of the plug indicates that a peripheral device (not shown) is no longer communicating with the decelerator 10. In an alternative embodiment, the plug can be wireless communication between device 10 and a peripheral or alternative device (not shown). A sequence of signals transitioning the device from connected to mobile mode is initiated. Signal 178 is sent from resource manager 34 to portal activity 28 indicating a mode status transition and enabling main data entry and frame buffer. Portal activity 28 sends a signal 180 to resource manager 34 identifying that the first OS 22 is now primary and switching the virtual terminal. Signal 182 is sent from resource manager 34 to portal activity by identifying the first OS 22 as the primary and taking ownership of the frame buffer. A mode change confirmation signal 184 is sent from portal activity 28 to resource manager 34 identifying that the device is now in mobile mode and that the first OS 22 is the primary OS. A system mode update signal is sent from resource manager 34 to AIW 36. Referring to figure 12, device 10 is inactive in connected mode and the second OS 24 is the primary operating environment in step 188. If an unsolicited event occurs in step 190 or the user selects OS1 22 in a window application in step 192, then, OS1 22 in a window application will open in step 194. For example, if Android is the mobile operating environment 22, then Android in a window application (AIW) will open. The AIW app allows a user to access Android apps while the device is operating in connected mode. Resource manager 34 is also notified of the status update in step 194. An entry for the first OS 22 is enabled in step 196, followed by the transmission of display update notifications from the first OS in step 198. The AIW application is operating and has the focus on step 200. If you leave the AIW application in step 202 or if a user removes the AIW from focus in step 204, then the entry of the first OS 22 will be disabled in step 206. The display of the first OS 22 is stopped in step 208. If the AIW application is exited in step 210, then the system reverts to connected idle mode 188. Alternatively, if the AIW application goes out of focus, then the application will operate in this state in step 212. In the In the event of an unsolicited event in step 214 or a requested interaction with the AIW application in step 216, the AIW will regain focus in step 218. While the AIW is out of focus, a user can select the AIW application and continue an interaction with the window AIW, which de-focuses the AIW and notifies resource manager 34 of the status update. After the AIW regains focus, the first OS 22, which is Android for the present mode, has input enabled in step 220. The display update notifications for the first OS 22 are transmitted to resource manager 34 in step 222, followed by the system revert to and cover 200, where the AIW is enabled and is in focus. When an application is in focus, that application is at the logical top of a running application stack. In an alternative embodiment, it is contemplated that device 10 can make a transition between states of mode based on other events besides a connection or disconnection of device 10. For example, if device 10 has been stationary for a pre- regulated, device 10 may be programmed to operate in the state in the most energy efficient manner, regardless of the status of the device otherwise. In yet another example, a user can transition from connected to mobile state, even if the device has a connection to a peripheral device. In addition, the type of peripheral device connected to device 10 can dictate whether an automatic mode change sequence is initiated or a user is provided with a mode change request. The user in this mode is able to select the mode state in which device 10 operates. In yet another alternative mode, additional mode states are contemplated, based on the use of device 10 in particular and the applications available in device memory. 20. It is specifically intended that the present invention is not limited to the modalities and illustrations contained herein, but includes modified forms of those modalities including portions of the modalities and combinations of elements of different modalities, as they fall within the scope of the following claims.
权利要求:
Claims (11) [0001] 1. Method of operation of a mobile computing device, characterized by the fact that it comprises the following steps: initiation of the operation of a mobile device having at least two independent operating systems in a common kernel; identification of a primary and a secondary operating system; opening a secondary operating system application while the primary operating system has control of the device, the opening step being initiated by an unsolicited event. [0002] 2. Method, according to claim 1, characterized by the fact that the unsolicited event is a telephone call. [0003] 3. Method according to claim 1, characterized by the fact that the primary operating system regains focus after the secondary operating system application is terminated. [0004] 4. Method, according to claim 1, characterized by the fact that the unsolicited event is an instant message. [0005] 5. Method, according to claim 1, characterized by the fact that the unsolicited event is an alarm. [0006] 6. Mobile computing device, characterized by the fact that it comprises: a memory; and a memory-coupled processor, the processor based, at least in part, on instructions that can be executed on a computer, configured to initiate the operation of the mobile computing device to have at least two independent operating systems in a common kernel, identify a primary and secondary operating system, opening a secondary operating system application while the primary operating system has control of the device, in which the opening step is initiated by an unsolicited event. [0007] 7. Mobile device, according to claim 6, characterized by the fact that the first operating system is in the primary control of the device. [0008] 8. Mobile device according to claim 6, characterized by the fact that the device is a mobile phone and the first operating system is a mobile operating system. [0009] 9. Mobile device, according to claim 6, characterized by the fact that the unsolicited event is a telephone call. [0010] 10. Mobile device, according to claim 6, characterized by the fact that the unsolicited event is an instant message. [0011] 11. Mobile device, according to claim 6, characterized by the fact that the unsolicited event is an alarm.
类似技术:
公开号 | 公开日 | 专利标题 BR112012001228B1|2020-11-03|method of operating a mobile computing device and mobile computing device US9348633B2|2016-05-24|Multi-environment operating system US9372711B2|2016-06-21|System and method for initiating a multi-environment operating system US9367331B2|2016-06-14|Multi-environment operating system US9389877B2|2016-07-12|Multi-environment operating system US9317457B2|2016-04-19|Auto-waking of a suspended OS in a dockable system EP2668572B1|2015-12-09|Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input US9063798B2|2015-06-23|Cross-environment communication using application space API US20120173986A1|2012-07-05|Background synchronization within a multi-environment operating system WO2012044557A2|2012-04-05|Auto-configuration of a docked system in a multi-os environment WO2011011368A2|2011-01-27|Multi-environment operating system RU2574205C2|2016-02-10|Multi-environment operating system WO2011011365A2|2011-01-27|Multi-environment operating system
同族专利:
公开号 | 公开日 CN102934085B|2016-06-22| US20110126216A1|2011-05-26| BR112012001228A2|2016-03-01| CN106020829A|2016-10-12| WO2011011362A2|2011-01-27| KR20120030559A|2012-03-28| CN102934085A|2013-02-13| US8868899B2|2014-10-21| MY162244A|2017-05-31| KR20140043168A|2014-04-08| WO2011011362A3|2013-04-18| EP2457161A2|2012-05-30| KR101702729B1|2017-02-06|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 DE19648422C2|1996-11-22|2000-03-30|Hans Beckhoff|Method and device for implementing a real-time capable control program in a non-real-time capable operating program| US6178503B1|1998-09-11|2001-01-23|Powerquest Corporation|Managing multiple operating systems on a single computer| US6691146B1|1999-05-19|2004-02-10|International Business Machines Corporation|Logical partition manager and method| US6460136B1|1999-07-12|2002-10-01|Hewlett-Packard Co.,|Method and apparatus for loading an operating system kernel from a shared disk memory| GB2369959A|2000-12-08|2002-06-12|Ubinetics Ltd|Holder for connecting a mobile communications device to a screen| US7461144B1|2001-02-16|2008-12-02|Swsoft Holdings, Ltd.|Virtual private server with enhanced security| US7231531B2|2001-03-16|2007-06-12|Dualcor Technologies, Inc.|Personal electronics device with a dual core processor| US20020151334A1|2001-04-11|2002-10-17|Motorola, Inc|Communications device with call frequency analyzer| US20030065738A1|2001-10-01|2003-04-03|Thumb Logic, Inc.|Wireless information systems and methods| JP2003196096A|2001-12-07|2003-07-11|Internatl Business Mach Corp <Ibm>|Computer system, its starting control method and program| EP1347373A3|2002-03-20|2005-02-02|Seiko Epson Corporation|Apparatus for processing instructions of different instruction set architectures| US7783665B1|2002-03-27|2010-08-24|Parallels Holdings, Ltd.|Effective file-sharing among virtual environments| US7424623B2|2002-03-28|2008-09-09|O2 Micro International Limited|Personal computer integrated with personal digital assistant| US20030204708A1|2002-04-24|2003-10-30|Colin Hulme|Portable computer having hierarchical operating systems| US20040095388A1|2002-11-15|2004-05-20|Rocchetti Robert J.|Method and apparatus for creating user interfaces for computing devices| US20040207508A1|2003-04-16|2004-10-21|Jyh-Han Lin|Method and apparatus for a dynamically customizable smart phonebook| US7634770B2|2003-05-19|2009-12-15|Hewlett-Packard Development Company, L.P.|Kernel module interface dependencies| JP2007509387A|2003-09-30|2007-04-12|ジャルナエスアー|operating system| US7620667B2|2003-11-17|2009-11-17|Microsoft Corporation|Transfer of user profiles using portable storage devices| GB0407977D0|2004-04-08|2004-05-12|Ibm|Communication between browser windows| US7478204B2|2004-04-29|2009-01-13|International Business Machines Corporation|Efficient sharing of memory between applications running under different operating systems on a shared hardware system| US20060010446A1|2004-07-06|2006-01-12|Desai Rajiv S|Method and system for concurrent execution of multiple kernels| US7424601B2|2004-07-07|2008-09-09|Yongyong Xu|Methods and systems for running multiple operating systems in a single mobile device| US20060046706A1|2004-08-26|2006-03-02|Jiansong Lin|Monitoring and remote control of wireless communication device accessories and functionality| US7529921B2|2004-12-17|2009-05-05|Cardiac Pacemakers, Inc.|Fast initialization of medical device system having multiple operating systems| US8195624B2|2005-06-30|2012-06-05|Phoenix Technologies Ltd.|Shared file system management between independent operating systems| US20070050765A1|2005-08-30|2007-03-01|Geisinger Nile J|Programming language abstractions for creating and controlling virtual computers, operating systems and networks| US7779280B2|2005-09-16|2010-08-17|Gary Stephen Shuster|Low power mode for portable computer system| US7636586B2|2005-10-12|2009-12-22|Nokia Corporation|Mobile communication terminal| US9189291B2|2005-12-12|2015-11-17|International Business Machines Corporation|Sharing a kernel of an operating system among logical partitions| US20070135043A1|2005-12-12|2007-06-14|Motorola, Inc.|Method and system for accessible contact information on a locked electronic device| US7950020B2|2006-03-16|2011-05-24|Ntt Docomo, Inc.|Secure operating system switching| US7536537B2|2006-04-20|2009-05-19|Harris Corporation|Simultaneous dual booting of platforms| US20070266231A1|2006-05-15|2007-11-15|Huey-Tyug Chua|Portable Electronic Device and Method for Loading Resource Data of the Portable Electronic Device| US20070283147A1|2006-05-30|2007-12-06|Fried Eric P|System and method to manage device access in a software partition| US9201703B2|2006-06-07|2015-12-01|International Business Machines Corporation|Sharing kernel services among kernels| US8146089B2|2006-06-14|2012-03-27|Intel Corporation|Sharing resources of a partitioned system| US7689820B2|2006-09-27|2010-03-30|L3 Communications Corporation|Rapid-boot computing device with dual operating systems| US20080100568A1|2006-10-30|2008-05-01|Koch Paul B|Electronic device providing tactile feedback| WO2008137432A2|2007-05-01|2008-11-13|Dyyno|Sharing of information and formatting information for transmission over a communication network| KR101415762B1|2007-07-25|2014-07-08|엘지전자 주식회사|Auxiliary output apparatus, Portable computer having auxiliary output apparatus and Changing method of Operating Systerm thereof| TWI362612B|2007-09-05|2012-04-21|Htc Corp|System and electronic device using multiple operating systems and operating method thereof| TWI352909B|2007-09-05|2011-11-21|Htc Corp|Method and system for supporting network sharing a| US7840186B2|2007-09-25|2010-11-23|Motorola Mobility, Inc.|Wireless SATA/SAS data transfer system| US9003173B2|2007-09-28|2015-04-07|Microsoft Technology Licensing, Llc|Multi-OS boot via mobile device| CN101149685A|2007-11-07|2008-03-26|苏州壹世通科技有限公司|Combined device and method for starting up multiple operation system from mobile memory apparatus| JP2009157802A|2007-12-27|2009-07-16|Kyocera Corp|Portable terminal and information processor| US20090287571A1|2008-03-26|2009-11-19|Robb Fujioka|Hypervisor and virtual machine ware| CN101615123A|2008-06-26|2009-12-30|比亚迪股份有限公司|A kind of bootstrap technique of mobile terminal operating system and portable terminal| US20100211769A1|2009-02-19|2010-08-19|Subramonian Shankar|Concurrent Execution of a Smartphone Operating System and a Desktop Operating System| US9348633B2|2009-07-20|2016-05-24|Google Technology Holdings LLC|Multi-environment operating system| US9372711B2|2009-07-20|2016-06-21|Google Technology Holdings LLC|System and method for initiating a multi-environment operating system| US9389877B2|2009-07-20|2016-07-12|Google Technology Holdings LLC|Multi-environment operating system| US9367331B2|2009-07-20|2016-06-14|Google Technology Holdings LLC|Multi-environment operating system| WO2011060382A1|2009-11-13|2011-05-19|Google Inc.|Live wallpaper| US8589952B2|2010-06-30|2013-11-19|Palm, Inc.|Dual operating system operation and configuration| EP2416546A1|2010-08-03|2012-02-08|Research In Motion Limited|Method for providing indication of communicatively coupled device| TWI520069B|2010-08-11|2016-02-01|緯創資通股份有限公司|Application method for integrating heterogeneous operating systems based on the same system kernel| US9152582B2|2010-10-01|2015-10-06|Z124|Auto-configuration of a docked system in a multi-OS environment| EP2625816B1|2010-10-08|2017-11-29|Lumi Technologies Limited|Scalable synchronization of events among server and clients with varying lag-times| US8983536B2|2010-10-22|2015-03-17|Google Technology Holdings LLC|Resource management in a multi-operating environment| US8874665B2|2010-12-13|2014-10-28|At&T Mobility Ii Llc|Systems, apparatus and methods for facilitating display and management of information for communication devices| US20120173986A1|2011-01-04|2012-07-05|Motorola-Mobility, Inc.|Background synchronization within a multi-environment operating system|US9372711B2|2009-07-20|2016-06-21|Google Technology Holdings LLC|System and method for initiating a multi-environment operating system| US9389877B2|2009-07-20|2016-07-12|Google Technology Holdings LLC|Multi-environment operating system| US9348633B2|2009-07-20|2016-05-24|Google Technology Holdings LLC|Multi-environment operating system| US9367331B2|2009-07-20|2016-06-14|Google Technology Holdings LLC|Multi-environment operating system| US8718611B2|2009-09-30|2014-05-06|Avaya Inc.|Method for the selection of an active software environment of a virtualized telecommunications terminal| US8995630B1|2010-08-01|2015-03-31|Tulsa Holdings, Llc|Telephony and applications communication in a non-mobile telephone system| US8819705B2|2010-10-01|2014-08-26|Z124|User interaction support across cross-environment applications| US9047102B2|2010-10-01|2015-06-02|Z124|Instant remote rendering| US8726294B2|2010-10-01|2014-05-13|Z124|Cross-environment communication using application space API| US9173100B2|2011-11-16|2015-10-27|Autoconnect Holdings Llc|On board vehicle network security| WO2012044539A2|2010-10-01|2012-04-05|Imerj, Llc|Multi-operating system| US8933949B2|2010-10-01|2015-01-13|Z124|User interaction across cross-environment applications through an extended graphics context| US9052800B2|2010-10-01|2015-06-09|Z124|User interface with stacked application management| US9116786B2|2011-11-16|2015-08-25|Flextronics Ap, Llc|On board vehicle networking module| US9152582B2|2010-10-01|2015-10-06|Z124|Auto-configuration of a docked system in a multi-OS environment| US8966379B2|2010-10-01|2015-02-24|Z124|Dynamic cross-environment application configuration/orientation in an active user environment| US8761831B2|2010-10-15|2014-06-24|Z124|Mirrored remote peripheral interface| US8983536B2|2010-10-22|2015-03-17|Google Technology Holdings LLC|Resource management in a multi-operating environment| US9354900B2|2011-04-28|2016-05-31|Google Technology Holdings LLC|Method and apparatus for presenting a window in a system having two operating system environments| US10089093B1|2011-05-24|2018-10-02|BlueStack Systems, Inc.|Apparatuses, systems and methods of switching operating systems| US8924958B1|2011-05-24|2014-12-30|BlueStack Systems, Inc.|Application player| US10791538B1|2011-07-06|2020-09-29|BlueStack Systems, Inc.|Cloud-based data synchronization| US20130024778A1|2011-07-13|2013-01-24|Z124|Dynamic cross-environment application configuration/orientation| US20130024812A1|2011-07-13|2013-01-24|Z124|Foreground/background assortment of hidden windows| TWI496083B|2011-08-30|2015-08-11|Compal Electronics Inc|Operating method for dual operating system, portable device and docking system| US8842057B2|2011-09-27|2014-09-23|Z124|Detail on triggers: transitional states| US8966004B2|2011-09-29|2015-02-24|Comcast Cable Communications, LLC.|Multiple virtual machines in a mobile virtualization platform| US9445392B1|2011-10-07|2016-09-13|BlueStack Systems, Inc.|Method of providing non-native notifications and system thereof| US20130152003A1|2011-11-16|2013-06-13|Flextronics Ap, Llc|Configurable dash display| US8949823B2|2011-11-16|2015-02-03|Flextronics Ap, Llc|On board vehicle installation supervisor| US9396041B2|2012-02-01|2016-07-19|Google Technology Holdings LLC|Optimization of resource usage in a multi-environment computing system| WO2013159289A1|2012-04-25|2013-10-31|Hewlett-Packard Development Company|Switching of operating systems| US20130293573A1|2012-05-02|2013-11-07|Motorola Mobility, Inc.|Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments| US9342325B2|2012-05-17|2016-05-17|Google Technology Holdings LLC|Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device| CN102970413B|2012-10-26|2014-11-12|广东欧珀移动通信有限公司|Operation method of smart phone| CN104123147A|2013-04-25|2014-10-29|深圳市天方信安电子科技有限公司|Electronic device for achieving hot switching between two systems| CN103297614B|2013-05-03|2015-07-08|广东欧珀移动通信有限公司|Method and device for operating two-system intelligent terminal| CN104427097B|2013-08-26|2017-06-27|联想有限公司|Terminal device and changing method| CN105579953B|2013-10-29|2019-03-15|英特尔公司|Flexible boot code framework| WO2015130021A1|2014-02-27|2015-09-03|엘지전자 주식회사|Digital device and method for processing application thereon| KR102277258B1|2014-02-27|2021-07-14|엘지전자 주식회사|Digital device and method of processing application thereof| CN104881381B|2014-02-28|2018-01-26|神讯电脑有限公司|Computer apparatus and its data path switching device and method| WO2015139246A1|2014-03-19|2015-09-24|华为终端有限公司|Method and device for synchronizing application data| US9697010B2|2014-03-25|2017-07-04|Microsoft Technology Licensing, Llc|User selectable operating systems| US9766944B2|2014-03-25|2017-09-19|Microsoft Technology Licensing, Llc|Dynamic partition dual boot mobile phone device| CN103893013A|2014-03-26|2014-07-02|上海武彬包装制品有限公司|Three-chamber infusion bag and production method thereof| US9367332B2|2014-04-18|2016-06-14|Getac Technology Corporation|Sensing data reading device and method| CN104268017A|2014-09-19|2015-01-07|福建升腾资讯有限公司|Method for simultaneously running Android/Linux operating systems| CN105554259B|2015-12-11|2019-07-19|北京元心科技有限公司|Phone collision method and intelligent terminal are prevented based on multisystem| CN105677463B|2015-12-31|2019-06-14|北京元心科技有限公司|It is a kind of to realize the method and apparatus that switching is cooperateed between system| CN108255683B|2016-12-29|2021-06-22|华为技术有限公司|Method for prompting message in terminal and terminal| CN107341407B|2017-07-26|2021-03-23|惠州Tcl移动通信有限公司|Multi-android system implementation method based on terminal, storage medium and terminal| KR20190085402A|2018-01-10|2019-07-18|삼성전자주식회사|Electronic apparatus and control method thereof| CN108829483A|2018-06-21|2018-11-16|肇庆高新区徒瓦科技有限公司|A kind of mobile device operation system switching method and apparatus|
法律状态:
2016-11-16| B25D| Requested change of name of applicant approved|Owner name: MOTOROLA MOBILITY LLC (US) | 2016-11-29| B25G| Requested change of headquarter approved|Owner name: MOTOROLA MOBILITY LLC (US) | 2016-12-13| B25A| Requested transfer of rights approved|Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC (US) | 2019-01-15| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2019-07-23| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2020-04-28| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2020-11-03| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 03/11/2020, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US22695509P| true| 2009-07-20|2009-07-20| US61/226,955|2009-07-20| US12/839,069|2010-07-19| US12/839,069|US8868899B2|2009-07-20|2010-07-19|System and method for switching between environments in a multi-environment operating system| PCT/US2010/042523|WO2011011362A2|2009-07-20|2010-07-20|System and method for switching between environments in a multi-environment operating system| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|