Multi-environment operating system

US9389877B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9389877-B2
Application numberUS-83898410-A
CountryUS
Kind codeB2
Filing dateJul 19, 2010
Priority dateJul 20, 2009
Publication dateJul 12, 2016
Grant dateJul 12, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A device with multiple, co-existing, and independent environments interacting with a common kernel, and related methods of operation, are disclosed herein. In at least one embodiment, the device is a mobile device on which a run-time method is performed. The run-time method includes interpreting a first software application on a register-based virtual machine coupled to a kernel. The method additionally includes concurrently executing a second software application also coupled to the kernel, where the second software application is a compiled software application. The interpreting of the first software application is performed using a first library, and the executing of the second software application is performed using a second library.

First claim

Opening claim text (preview).

The invention claimed is: 1. A run-time method performed by mobile device, the method comprising: interpreting a first software application on a register-based virtual machine coupled to a kernel; and concurrently executing a second software application also coupled to the kernel, wherein the second software application is a compiled software application, wherein the interpreting of the first software application is performed using a first library, wherein the executing of the second software application is performed using a second library, wherein the first library is comprised of first middleware of a first environment established on the device, wherein the second library is comprised of a second middleware of a second environment established on the device, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment, wherein each one of the first and second environment is configured to communicate directly with the kernel, wherein each one of the first and second environments is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein the first and second environments are configured to operate concurrently directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment. 2. The method of claim 1 , wherein the first library is smaller than the second library. 3. The method of claim 2 , wherein the second library is substantially POSIX compliant. 4. The method of claim 2 , wherein the first library is bionic and the second library is glibc. 5. The method of claim 1 , wherein the second software application includes C code or C++ code, and wherein the first software application is interpreted using a byte-code-interpreter. 6. A run-time method performed by a mobile device, the method comprising: interpreting at least one first software application on a register-based virtual machine coupled to a kernel, wherein the at least one first software application and the register-based virtual machine are comprised in a first environment; and concurrently executing at least one second software application also coupled to the kernel, wherein the second software application is a compiled software application and is comprised in a second environment, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of first middleware of the first environment and second middleware of the second environment, wherein each one of the first and second environments is configured to communicate directly with the kernel, wherein each one of the first and second environment is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein each one of the first and second environments is capable of operation directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment. 7. A device comprising: at least one processing device; and at least one storage device that stores computer executable instructions, wherein the computer executable instructions include: first instructions that when performed by the at least one processing device establish a first environment that interacts with a kernel, wherein the first environment includes a first library and is configured for interpreting run-time interpreted code on a register-based virtual machine by way of the first library; second instructions that when performed by the at least one processing device establish a second environment that interacts with the kernel, wherein the second environment includes a second library and is configured for executing pre-run-time compiled C/C++ code by way of the second library; and third instructions that when performed by the at least one processing device establish the kernel, wherein the first environment includes first middleware and the second environment includes second middleware, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment, wherein each one of the first and second environments is configured to communicate directly with the kernel, wherein each one of the first and second environment is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein each one of the first and second environments is capable of operation directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment. 8. The device of claim 7 , wherein each of the first and second middleware includes a respective application framework, wherein the first middleware includes the first library, and wherein the second middleware includes the second library. 9. The device of claim 8 , wherein the first library includes a bionic library and the second library includes a glibc library, wherein the kernel is a Linux based kernel, and wherein the kernel interfaces between at least one hardware device and each of the first and second middleware. 10. The device of claim 7 , wherein the second environment includes one of the following desktop environments: GNOME, Enlightenment, Xfce, Fluxbox, LXDE or KDE. 11. The device of claim 7 , wherein the second environment includes an X11 Window manager. 12. The device of claim 7 , wherein the second environment supports a multiplicity of logical memory partitions while the first environment is limited to only a single data partition in addition to a system area. 13. The device of claim 7 , wherein the second environment includes a Gstreamer multimedia framework. 14. The device of claim 7 , wherein the device is a mobile device, and wherein the second environment supports either a greater number of display resolutions or higher-level display resolutions than the first environment. 15. The device of claim 7 , wherein the first environment includes one or more of (a) includes a radio interface layer, (b) allows for the performing of GPS functioning, and (c) is released under an Apache license. 16. The device of claim 7 , further comprising a display, wherein the second instructions enable a first showing of a plurality of windows on the display but the first instructions only allow for a second showing of only a single window on the display. 17. A method for operating a device having a kernel,

Assignees

Inventors

Classifications

  • G06F9/441Primary

    Multiboot arrangements, i.e. selecting an operating system to be loaded · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9389877B2 cover?
A device with multiple, co-existing, and independent environments interacting with a common kernel, and related methods of operation, are disclosed herein. In at least one embodiment, the device is a mobile device on which a run-time method is performed. The run-time method includes interpreting a first software application on a register-based virtual machine coupled to a kernel. The method add…
Who is the assignee on this patent?
Galicia Joshua D, Carlyle Jeffrey C, Tzakis Andrew N, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/441. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 12 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).