MULTI-OPERATING SYSTEM MOBILE AND OTHER COMPUTING DEVICES WITH PROXY APPLICATIONS RUNNING UNDER A BROWSER
First Claim
1. A computing device, comprisingA. a central processing unit that is coupled to a hardware interface including at least a display and that executes a native operating system including one or more native runtime environments within which one or more native software applications—
- including at least a browser—
are executing, where each such native software application has instructions for execution under the native operating system,B. the central processing unit additionally executes one or more applications and/or processes (collectively, “
processes”
) providing services that make up one or more hosted runtime environments, or portions thereof, within which one or more hosted software applications are executing, where each such hosted software application has instructions for execution under a hosted operating system that differs from the application execution environment defined within the browser and that may also differ from the native operating system,C. one or more applications (“
proxies”
) executing within the browser, each corresponding to a respective one of the hosted software applications and each associated with an icon or other identifier that is presented on the hardware interface for selection by the user of the browser, responds to notification of such selection by activating the respective hosted software application.
7 Assignments
0 Petitions
Accused Products
Abstract
The invention provides, in some aspects, a computing device that includes a central processing unit that is coupled to a hardware interface and that executes a native operating system including one or more native runtime environments within which native software applications are executing. A first native software application executing within the one or more native runtime environments defines one or more hosted runtime environments within which hosted software applications are executing. One or more further native software applications (“IO proxies”), each executing within the one or more native runtime environments and each corresponding to a respective one of the one or more hosted software applications, receives the graphics generated by the respective hosted software application and effects writing of those graphics to the video frame buffer for presentation on the display of the computing device.
37 Citations
5 Claims
-
1. A computing device, comprising
A. a central processing unit that is coupled to a hardware interface including at least a display and that executes a native operating system including one or more native runtime environments within which one or more native software applications— - including at least a browser—
are executing, where each such native software application has instructions for execution under the native operating system,B. the central processing unit additionally executes one or more applications and/or processes (collectively, “
processes”
) providing services that make up one or more hosted runtime environments, or portions thereof, within which one or more hosted software applications are executing, where each such hosted software application has instructions for execution under a hosted operating system that differs from the application execution environment defined within the browser and that may also differ from the native operating system,C. one or more applications (“
proxies”
) executing within the browser, each corresponding to a respective one of the hosted software applications and each associated with an icon or other identifier that is presented on the hardware interface for selection by the user of the browser, responds to notification of such selection by activating the respective hosted software application.
- including at least a browser—
-
2. A computing device, comprising:
-
A. a central processing unit that is coupled to a hardware interface that includes at least a display and that executes a native operating system including one or more native runtime environments within which one or more native software applications—
including at least a browser—
are executing, where each such native software application has instructions for execution under the native operating system,B. the central processing unit additionally executes one or more applications and/or processes (collectively, “
processes”
) providing services that make up one or more hosted runtime environments, or portions thereof, within which one or more hosted software applications are executing, where each such hosted software application has instructions for execution under a hosted operating system that differs from the application execution environment defined within the browser and that may also differ from the native operating system,C. one or more of the hosted software applications executing within the hosted runtime environments each executes instructions to interact with a user of the computing device via graphics generated by the respective hosted software application using a hosted windowing subsystem that is common to the one or more hosted runtime environments, where that windowing subsystem is coupled to, and loads, one or more buffers with those graphics, D. one or more applications (“
proxies”
) executing within the browser, each corresponding to a respective one of the one or more hosted software applications, receives the graphics generated by the respective hosted software application and effects writing of those graphics to the video frame buffer for presentation on the display of the computing device.
-
-
3. A computing device, comprising:
-
A. a central processing unit that is coupled to a hardware interface that includes at least a display and that executes a native operating system including one or more native runtime environments within which one or more native software applications—
including at least a browser—
are executing, where each such native software application has instructions for execution under the native operating system,B. the central processing unit additionally executes one or more applications and/or processes (collectively, “
processes”
) providing services that make up one or more hosted runtime environments, or portions thereof, within which one or more hosted software applications are executing, where each such hosted software application has instructions for execution under a hosted operating system that differs from the application execution environment defined within the browser and that may also differ from the native operating system,C. one or more of the hosted software applications executing within the hosted runtime environments receive notifications of events from a hosted event handler subsystem that forms part of the one or more hosted runtime environments and that is common to the one or more hosted software applications, D. one or more applications (“
proxies”
) executing within the browser, each corresponding to a respective one of the one or more hosted software applications, receive notification of user input made with respect to them from the one or more native runtime environments and/or from the browser,E. each proxy responds to notification of user input by transmitting information with respect thereto received from the one or more native runtime environments to the hosted event handler, which notifies the hosted software application corresponding to the proxy that received that notification of that user input.
-
-
4. A computing device, comprising:
-
A. a central processing unit that is coupled to a hardware interface that includes at least a display and that executes a native operating system including one or more native runtime environments within which one or more native software applications—
including at least a browser—
are executing, where each such native software application has instructions for execution under the native operating system,B. the central processing unit additionally executes one or more applications and/or processes (collectively, “
processes”
) providing services that make up one or more hosted runtime environments, or portions thereof, within which one or more hosted software applications are executing, where each such hosted software application has instructions for execution under a hosted operating system that differs from the application execution environment defined within the browser and that may also differ from the native operating system,C. the native operating system and/or the one or more native runtime environments responds to user selection of an executing one of the native software applications by bringing a graphical window representing execution of that application to a foreground of the display and making it “
active”
within the one or more native runtime environments,D. one or more applications (“
proxies”
) executing within the browser, each corresponding to a respective one of the hosted software applications, responds to begin brought to the foreground and/or being made active, by making the corresponding hosted software application active within the one or more hosted runtime environments as if it had been brought to the foreground in them.
-
-
5. A computing device, comprising
A. a central processing unit that is coupled to a hardware interface including at least a display and that executes a native operating system including one or more native runtime environments within which one or more native software applications— - including at least a browser—
are executing, where each such native software application has instructions for execution under the native operating system,B. the central processing unit additionally executes one or more applications and/or processes (collectively, “
processes”
) providing services that make up one or more hosted runtime environments, or portions thereof, within which one or more hosted software applications are executing, where each such hosted software application has instructions for execution under a hosted operating system that differs from the application execution environment defined within the browser and that may also differ from the native operating system,C. the one or more native runtime environments and/or the browser include a common native notification subsystem that is in communications coupling with applications executing under the browser and that marshals notifications generated by them for presentation to the user via the hardware interface, D. the one or more hosted runtime environments include a common hosted notification subsystem that is in communications coupling with the hosted software applications and that marshals notifications generated by them for presentation to the user via the hardware interface, E. a plurality of hosted software applications that each comprise instructions for execution under that hosted operating system execute on the central processing unit within one of more of the hosted runtime environments, F. one or more of those applications generate notifications for presentation to a user of the device and transmit those notifications to the hosted notification subsystem, which is in communications coupling with an adaptation layer that adapts notifications received from the one or more hosted software applications for, and transmits them to, the common native notification subsystem, which effects their presentation on the hardware interface of notifications from the hosted software applications.
- including at least a browser—
Specification